Summary SEII-Lecture 32

32
Summary SEII-Lecture 32 Dr. Muzafar Khan Assistant Professor Department of Computer Science CIIT, Islamabad.

description

Summary SEII-Lecture 32. Dr. Muzafar Khan Assistant Professor Department of Computer Science CIIT, Islamabad. Lecture 1 - Introduction. Chapter 1, SE (Pressman) and Chapter 1, IT Project Management ( Schwalbe ) Software / software engineering IT project failure / investment - PowerPoint PPT Presentation

Transcript of Summary SEII-Lecture 32

Page 1: Summary SEII-Lecture  32

SummarySEII-Lecture 32

Dr. Muzafar KhanAssistant ProfessorDepartment of Computer ScienceCIIT, Islamabad.

Page 2: Summary SEII-Lecture  32

2

Lecture 1 - Introduction

• Chapter 1, SE (Pressman) and Chapter 1, IT Project Management (Schwalbe)

• Software/ software engineering• IT project failure / investment• Project / program• Project and portfolio management• Project management framework• Project success factors• Successful organizations and managers• Suggested skills for project managers

Page 3: Summary SEII-Lecture  32

3

Lecture 2 – Project Management and Information Technology Context

• Chapter 2, IT Project Management (Schwalbe)• Systems Philosophy– Business, organization, technology

• Organization frames– Structure, HR, political, symbolic

• Project life cycle– Concept, development, implementation, close-out

Page 4: Summary SEII-Lecture  32

4

Lecture 3 – Project Integration Management

• Chapter 4, IT Project Management (Schwalbe)• Recent trends in IT projects– Globalization, outsourcing, and virtual teams

• Project management process groups– Initiating, planning, executing, monitoring and

control, and closing processes• Project integration management– Key processes and the relevant discussion

Page 5: Summary SEII-Lecture  32

5

Lecture 4 – Project Scope Management

• Chapter 5, IT Project Management (Schwalbe)• Collecting requirements– Different methods

• Defining scope– Estimates for all resources

• Creating the WBS– Different approaches

• Verifying scope– Formal acceptance

• Controlling scope– Change control

Page 6: Summary SEII-Lecture  32

6

Lecture 5 & 6 – Project Time Management [1/2]• Chapter 6, IT Project Management (Schwalbe)• Defining activities

– Activity list containing activity name, identifier, attributes, and brief description• Sequencing activities

– determining the dependencies – Mandatory, discretionary, external– evaluating the reasons for dependencies

• Estimating activity resources– list of activity resource requirements, resource breakdown structure, project document

updates• Estimating activity durations

– Duration VS effort, activity duration estimates– Three point estimates

• Developing the schedule– Project schedule, Gantt charts

Page 7: Summary SEII-Lecture  32

7

Lecture 5 & 6 – Project Time Management [2/2]• Developing the schedule

– Tracking Gantt charts• Critical path method

– Longest path, earliest time• Schedule trade-offs using CPM

– Free slack, total slack• Shortening the schedule

– Crashing, fast tracking• Critical chain scheduling

– Availability of critical resources, project and feeding buffer• Controlling the schedule

Page 8: Summary SEII-Lecture  32

8

Lecture 7 – Project Cost Management

• Chapter 7, IT Project Management (Schwalbe)• Basic Concepts

– Cost, profit, profit margin, direct and indirect costs, sunk cost, learning curve theory

• Estimating costs– Rough Order of Magnitude, budgetary, and definitive cost estimates

• Cost estimation tools and techniques– Top-down and bottom-up estimates, and parametric modeling– Problems related to IT project costs estimates

• Determining and controlling budget– Earned Value Management

Page 9: Summary SEII-Lecture  32

9

Lecture 8 – Project Quality ManagementProject Communication Management

• Chapter 8 & 10, IT Project Management (Schwalbe)• Project quality management– Planning quality– Performing quality assurance– Performing quality control

• Project communication management– Identifying stakeholders– Planning communications– Distributing information– Managing stakeholder expectations– Reporting performance

Page 10: Summary SEII-Lecture  32

10

Lecture 9 – Project Risk Management

• Chapter 11, IT Project Management (Schwalbe)• Basic concepts

– Risk, positive/negative risk management, Risk utility / tolerance (risk averse, risk seeking, risk neutral)

• Planning risk management– Risk management plan, contingency and fallback plans

• Identifying risks– Brainstorming, Delphi technique, interviewing, SWOT analysis, checklists, risk

registers• Performing qualitative and quantitative risk analysis• Planning risk responses

– Risk avoidance, risk acceptance, risk transference, risk mitigation, Risk exploitation, Risk sharing

• Monitoring and controlling risks

Page 11: Summary SEII-Lecture  32

11

Lecture 10 – Software Design

• Chapter 8, SE (Pressman)• Design, goal of design, design process in SE context, • Process of design– Quality guidelines and attributes

• Evolution of software design process– Procedural, object-oriented, aspect-oriented

• Design concepts– Abstraction, architecture, pattern, information hiding,

separation of concerns, refactoring, design classes

Page 12: Summary SEII-Lecture  32

12

Lecture 11 & 12 – User Interface Design [1/2]• Chapter 11, SE (Pressman)• Importance of user interface design

– Useful, useable, used• Three golden rules

– Place the user in control– Reduce the user’s memory load– Make the interface consistent

• Analysis and design process– Interface analysis and modeling – Interface design– Interface construction – Interface validation

Page 13: Summary SEII-Lecture  32

13

Lecture 11 & 12 – User Interface Design [2/2]• Interface analysis

– User analysis, task analysis and modeling, analysis of display content and work environment

• Interface design steps• Design issues

– System response time, user help facilities, error information handling, menu and command labeling, application accessibility, internationalization

• Web application design interface guidelines– Anticipation, communication, consistency, controlled autonomy,

efficiency, flexibility, focus, Fitt’s law, learnability, readability, metaphors• Design Evaluation

Page 14: Summary SEII-Lecture  32

14

Lecture 13 – Pattern-Based Design

• Chapter 12, SE (Pressman)• Patterns, effective design patterns• Describing patterns• Types of patterns– Architecture, data, component, interface design, and

webapp patterns– Creational, structural, and behavioral patterns

• Design tasks• User interface design patterns

Page 15: Summary SEII-Lecture  32

15

Lecture 14 – Web Application Design

• Chapter 13, SE (Pressman)• WebApp quality– Usability, functionality, reliability, efficiency, maintainability,

security, availability, scalability, time-to-market• Content quality– Scope, depth, background, authority, currency, stability,

• Design goals of WebApp– Simplicity, consistency, identity, robustness, navigability, visual

appeal, compatibility • WebApp design– Interface, aesthetic, navigation, and architecture design

Page 16: Summary SEII-Lecture  32

16

Lecture 15 – Software Quality• Chapter 14, SE (Pressman)• Multi-aspects concept

– Transcendental view, user view, manufacturer’s view, product view, value-based view

• Software quality– Effective software process, useful product, add value for producer

and user of a software product• Software quality models

– Garvin’s quality dimensions, McCall’s quality factors, ISO 9126 quality model

• Software quality dilemma• Achieving software quality

Page 17: Summary SEII-Lecture  32

17

Lecture 16 – Review Techniques

• Chapter 15, SE (Pressman)• Software reviews• Cost impact of software defects• Defect amplification model• Review metrics and their use– Preparation effort (Ep), assessment effort (Ep), Rework effort (Er),

work product size (WPS), minor errors found (Errminor), major errors found (Errmajor)

• Formal and informal reviews– Review meeting, review reporting and record keeping, review

guidelines

Page 18: Summary SEII-Lecture  32

18

Lecture 17 – Software Quality Assurance• Chapter 16, SE (Pressman)• Elements of software quality assurance– Standards, reviews and audits, testing, error collection and

analysis, change management, education, vendor management, security management, safety, risk management

• SQA tasks• Goals, attributes, metrics– Requirements quality, design quality, code quality, quality

control effectiveness• Statistical quality assurance• Software reliability

Page 19: Summary SEII-Lecture  32

19

Lecture 18 & 19 – Testing Web Applications [1/2]

• Chapter 20, SE (Pressman)• Quality dimensions– Content, function, structure, usability, navigability,

performance, compatibility, interoperability, security• Testing strategy• Content testing• Database testing• User interface testing– Testing interface mechanisms, usability tests, compatibility

tests

Page 20: Summary SEII-Lecture  32

20

Lecture 18 & 19 – Testing Web Applications [2/2]• Component-level testing– Equivalence partitioning, boundary value analysis, path testing

• Navigation testing– Testing navigation syntax and semantics

• Configuration testing– Server-side and client-side issues

• Security testing– Firewall, authentication, encryption, authorization

• Performance testing– Load and stress testing

Page 21: Summary SEII-Lecture  32

21

Lecture 20 & 21 – Software Configuration Management [1/2]

• Chapter 22, SE (Pressman)• Change management• Software configuration management• SCM scenario• Elements of SCM– Component, process, construction, and human elements

• SCM repository• SCM process– Identification of objects

Page 22: Summary SEII-Lecture  32

22

Lecture 20 & 21 – Software Configuration Management [2/2]

• Version control– Project repository, version management capability,

make facility, issue/bug tracking• Change control• Configuration audit– compliments technical reviews

• Status reporting• Configuration management for WebApp– Content, people, scalability, politics

Page 23: Summary SEII-Lecture  32

23

Lecture 22 & 23 – Product Metrics [1/2]• Chapter 23, SE (Pressman)• Measurement and quality assessment• Framework for product metrics

– Measure, measurement, and metrics– Formulation, collection, analysis, interpretation, feedback– Principles for metrics characterization and validation

• Metrics for requirements model– Function-based metrics– Metrics for specification quality

• Metric for design model– Architectural design metrics– Metric for object-oriented design

Page 24: Summary SEII-Lecture  32

24

Lecture 22 & 23 – Product Metrics [2/2]• Class-oriented metrics

– Weighted methods per class, depth of the inheritance tree, number of children, coupling, response for class, lack of cohesion

• Component-level design metrics– Cohesion, coupling, and complexity

• Operation-oriented metrics– Average operation size, operation complexity average number of

parameters per operation• Design metrics for WebApps• Metrics for source code• Metrics for object-oriented testing• Metrics for maintenance

Page 25: Summary SEII-Lecture  32

25

Lecture 24 & 25 – Software Process Improvement [1/2]• Chapter 30, SE (Pressman)• Software process improvement• Framework for SPI• SPI support groups, maturity and immaturity models• Assessment and gap analysis• Education and training• Selection and justification• Installation / migration• Evaluation• Risk management• Critical success factors

Page 26: Summary SEII-Lecture  32

26

Lecture 24 & 25 – Software Process Improvement [2/2]• CMMI– Continuous as well as staged model

• CMMI capability levels– Incomplete, performed, managed, defined, quantitatively

managed, optimized• Example – process area– Specific goals and practices, general goals and practices

• Other SPI frameworks– SPICE, Bootstrap, TickIT, PSP, TSP

• SPI return on investment• SPI trends

Page 27: Summary SEII-Lecture  32

27

Lecture 26 & 27 – Software Reengineering [1/2]• Chapter 29, SE (Pressman)• Unified theory of software evolution• Reengineering

– Business process reengineering and software reengineering• BPR model

– Business definition, process identification, Process evaluation, process specification and design, prototyping, refinement and instantiation

• Software reengineering process model– Inventory analysis, document restructuring, reverse engineering,

code restructuring, data restructuring, forward engineering• Reverse engineering

Page 28: Summary SEII-Lecture  32

28

Lecture 26 & 27 – Software Reengineering [2/2]

• Restructuring– Code restructuring, data restructuring

• Forward engineering– Client-server architectures, object-oriented

architectures• Economics of reengineering– Cost benefit analysis

• Software reuse– Benefits of reuse

Page 29: Summary SEII-Lecture  32

29

Lecture 28 & 29 – Software Reuse [1/2]• Chapter 16, SE (Sommerville)• Problems with reuse

– Increased maintenance costs; lack of tool support; not-invented-here syndrome; creating, maintaining, and using a component library

• The reuse landscape– Application frameworks, legacy system wrapping, service-oriented

systems, software product lines, COTS product reuse• Key factors for reuse

– Development schedule, expected software lifetime, background, skills, and experience of development team, criticality of software and its non-functional requirements, application domain, system platform

• Application frameworks• Software Product lines

Page 30: Summary SEII-Lecture  32

30

Lecture 28 & 29 – Software Reuse [2/2]

• COTS product reuse• Benefits of COTS product reuse• Problems with COTS product reuse• COTS-solution systems• ERP systems– Architecture of ERP systems– Limitations of reuse

• Configuration of COTS-solution systems• COTS-integrated systems– Problems with COTS-integrated systems

Page 31: Summary SEII-Lecture  32

31

Lecture 30 & 31 – Component-Based Software Engineering [1/2]• Chapter 17, SE (Sommerville)• Component-based software engineering• Essentials of CBSE

– Independent components, component standards, middleware, development process

• Characteristics of components– Standardized, independent, composable, deployable, documented

• Elements of component model– Interfaces, usage, deployment

• CBSE processes– Development for reuse, development with reuse– Component acquisition, management, and certification

Page 32: Summary SEII-Lecture  32

32

Lecture 30 & 31 – Component-Based Software Engineering [2/2]

• CBSE for reuse• Possible Changes and other factors• Software Process• Component composition– Sequential, hierarchical, and additive composition

• Components incompatibility– Parameter and operational incompatibility,

operational incompleteness• Trade-offs