Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Project Management

Similar presentations


Presentation on theme: "Software Project Management"— Presentation transcript:

1 Software Project Management
Lecture 2 Software Development Models

2 Overview Introduction Technical plan Software process models
Selecting process model(s) Software project management

3 Definitions Software Process Software Process Model (Humphrey 1990)
the set of activities, methods, and practices that are used in the production and evolution of software Software Process Model one specific embodiment of a software process architecture (Humphrey 1990) Software project management

4 Why Modelling? To provide a common understanding
To locate any inconsistencies, redundancies and omissions To reflect the development goals and provide early evaluation To assist the development team to understand any special situation Software project management

5 Project Analysis Methodologies Technologies
Object-Oriented Development (OOD) Structured System Analysis and Design Method (SSADM) Jackson Structured Programming (JSP) Technologies application-building environments knowledge-based system tools Software project management

6 Project Characteristics
data oriented or control oriented system? general package or application specific? a particular type of system for which specific tools have been developed? safety-critical system? nature of the hardware/software environment? Software project management

7 Project Risks Product uncertainty Process uncertainty
Resource uncertainty Software project management

8 Considerations for Project Approach
Control systems Information systems General applications Specialized techniques Hardware environment Safety-critical systems Imprecise requirements Software project management

9 Technical Plan Contents Constraints Approach Implementation
Implications Software project management

10 Technical Plan - Constraints
Character of the system to be developed Risks and uncertainties of the project User requirements concerning implementation Software project management

11 Technical Plan - Approach
Software Project Management Technical Plan - Approach Selected methodology or process model(s) Development methods Required software tools Target hardware/software environment The technical plan is typically a mixture of models. Eg prototyping to resolve some requirements plus V-model for production. Software project management

12 Technical Plan - Implementation
Development environment Maintenance environment Training Software project management

13 Technical Plan - Implications
Software Project Management Technical Plan - Implications Project products and activities effect on schedule duration and overall project effort Financial report used to produce costings Software project management

14 Software Process Models
Waterfall Model V Model Spiral Model Prototyping Model Software project management

15 Software Process Models (cont’d)
Phased Development Model incremental development model iterative development model Operational Specification Model Transformation Model Software project management

16 Waterfall Model Requirements Analysis System Design Coding Testing
Maintenance Software project management

17 Waterfall Model (cont’d)
classical one-shot approach effective control limited scope of iteration long cycle time not suitable for system of high uncertainty Software project management

18 V Model Maintenance Requirements Analysis User Acceptance Testing
System Design System Testing Unit and Integration Testing Program Design Coding Software project management

19 V Model (cont’d) Additional validation process introduced
Relate testing to analysis and design Loop back in case of discrepancy Software project management

20 Spiral Model (adapted from Boehm 1987)
Cumulative cost Progress through steps Determine objectives, alternatives and constraints Evaluate alternatives; identify and resolve risks Risk analysis Risk analysis Risk analysis Prototype Prototype Prototype Requirements plan Concept of operation Software requirements System product design Detailed design Development plan Requirements validation Coding Integration and Test plan Design validation Unit testing Develop and verify next-level product Plan next phases Integration and Test Acceptance test Software project management

21 Spiral Model (cont’d) Evolutionary approach
Iterative development combined with risk management Risk analysis results in “go, re-do, no-go” decision Software project management

22 Spiral Model (cont’d) Four major activities Planning Risk analysis
Software Project Management Spiral Model (cont’d) Four major activities Planning Risk analysis Engineering Evaluation Software project management

23 Prototyping Model Goals
meet (some) user requirements at an early stage reduce risk and uncertainty verify a design or implementation approach Should always answer specific questions; goals must be identified Software project management

24 Classification of Prototype
Software Project Management Classification of Prototype Throw-away After users agree the requirements of the system, the prototype will be discarded. Evolutionary Modifications are based on the existing prototype. Incremental Functions will be arranged and built accordingly. Software project management

25 Prototyping Model User YES satisfaction Build prototype NO
User feedback Software project management

26 Benefits of Prototyping
Learning by doing Improved communication Improved user involvement Clarification of partially-known requirements Software project management

27 Prototyping Sequences
Requirements gathering Quick design Prototype construction Customer evaluation Refinement Loop back to quick design for fine tuning Product engineering Software project management

28 Benefits of Prototyping
Software Project Management Benefits of Prototyping Demonstration of the consistency and completeness of a specification Reduced need for documentation Reduced maintenance costs Feature constraint Production of expected results for testing real system Reduced maintenance costs in the sense that users are less likely to ask for changes after the system goes into its operation. However, when asked for changes, the system is difficult to maintain because the software is usually not well structured. Software project management

29 Drawbacks of Prototyping
Users sometimes misunderstand the role of the prototype Lack of project standards possible Lack of control Additional expense Machine efficiency Close proximity of developers Software project management

30 Forms of Prototypes Mock-ups Simulated interaction
Partial working model Software project management

31 Prototype Products Human-computer interface System functionality
Software project management

32 Prototype Changes Three categories Cosmetic (35%) Local (60%)
Software Project Management Prototype Changes Three categories Cosmetic (35%) screen layout Local (60%) screen processing Global (5%) multi-parts processing design review Software project management

33 Phased Development Reduce cycle time Two parallel systems:
operational system (Release n) development system (Release n+1) Two approaches incremental iterative Software project management

34 Incremental Model Break system into small components
Implement and deliver small components in sequence Every delivered component provides extra functionality to user Software project management

35 Incremental Model (cont’d)
Arrange requirements in increments Design and develop increment Requirements Analysis NO System OK? Validate increment Integrate increment YES Software project management

36 Iterative Model Deliver full system in the beginning
Enhance functionality in new releases Software project management

37 Iterative Model (cont’d)
Design system version n n = n+1 NO System complete Develop system version n Validate system version n YES Software project management

38 Combined Incremental and Iterative Model
Every new release includes extra functionality enhancement of existing functionality Popularly used in software industry Software project management

39 Ranking the Increments
Rank by value to cost ratio V = value to customer (score 1 -10) C = cost (score 1- 10) Value to cost ratio = V/C Example: Table 4.1 Software project management

40 Advantages of Phased Development
Early feedback Less possible requirement changes Early benefits for users Improved cash flow Easier to control and manage Software project management

41 Advantages of Phased Development (cont’d)
Capture early market Facilitate early training Can be temporarily abandoned Increase job satisfaction Software project management

42 Disadvantages of Phased Development
‘Software breakage’ Reduced productivity Software project management

43 Operational Specification Model
Executable or translatable specification Use executables to demonstrate system behaviour Resolve requirement uncertainties in early stage Merging functionality and system design Software project management

44 Transformational Model
Transform a specification into delivered system Requires automated support Relies on formal specification method Software project management

45 Software Project Management
References Boehm, B. (1987) A sprial model of software development and enhancement, Software Engineering Project Management, p.128–142. Hughes, B. and Cotterell, M. (1999) Software Project Management, 2nd ed., McGraw Hill. Humphrey, W. (1990) Managing the Software Process, Addison-Wesley. Pfleeger, S.L. (1998) Software Engineering Theory and Practice, Prentice Hall Software project management


Download ppt "Software Project Management"

Similar presentations


Ads by Google