Software Project Management
description
Transcript of Software Project Management
![Page 1: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/1.jpg)
Software Project Management
Lecture 2Software Development Models
![Page 2: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/2.jpg)
Software project management 2
Overview Introduction Technical plan Software process models Selecting process model(s)
![Page 3: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/3.jpg)
Software project management 3
Definitions Software Process
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)
![Page 4: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/4.jpg)
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
![Page 5: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/5.jpg)
Software project management 5
Project Analysis Methodologies
Object-Oriented Development (OOD) Structured System Analysis and
Design Method (SSADM) Jackson Structured Programming (JSP)
Technologies application-building environments knowledge-based system tools
![Page 6: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/6.jpg)
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?
![Page 7: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/7.jpg)
Software project management 7
Project Risks Product uncertainty Process uncertainty Resource uncertainty
![Page 8: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/8.jpg)
Software project management 8
Considerations for Project Approach Control systems Information systems General applications Specialized techniques Hardware environment Safety-critical systems Imprecise requirements
![Page 9: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/9.jpg)
Software project management 9
Technical Plan Contents
Constraints Approach Implementation Implications
![Page 10: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/10.jpg)
Software project management 10
Technical Plan - Constraints Character of the system to be
developed Risks and uncertainties of the
project User requirements concerning
implementation
![Page 11: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/11.jpg)
Software project management 11
Technical Plan - Approach Selected methodology or process
model(s) Development methods Required software tools Target hardware/software
environment
![Page 12: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/12.jpg)
Software project management 12
Technical Plan - Implementation Development environment Maintenance environment Training
![Page 13: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/13.jpg)
Software project management 13
Technical Plan - Implications Project products and activities
effect on schedule duration and overall project effort
Financial report used to produce costings
![Page 14: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/14.jpg)
Software project management 14
Software Process Models Waterfall Model V Model Spiral Model Prototyping Model
![Page 15: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/15.jpg)
Software project management 15
Software Process Models (cont’d) Phased Development Model
incremental development model iterative development model
Operational Specification Model Transformation Model
![Page 16: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/16.jpg)
Software project management 16
Waterfall ModelRequiremen
tsAnalysis
SystemDesign
Coding
TestingMaintenanc
e
![Page 17: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/17.jpg)
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
![Page 18: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/18.jpg)
Software project management 18
V ModelRequirements Analysis
System Design
Program Design
Coding
Unit andIntegration
Testing
System Testing
Maintenance
User Acceptance
Testing
![Page 19: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/19.jpg)
Software project management 19
V Model (cont’d) Additional validation process
introduced Relate testing to analysis and
design Loop back in case of discrepancy
![Page 20: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/20.jpg)
Software project management 20
Spiral Model (adapted from Boehm 1987)
Plan next phases
Determine objectives, alternatives and constraints
Evaluate alternatives; identify and resolve risks
Develop and verify next-level
product
Requirements plan
Development plan
Integration and Test
plan
Concept of operation
Risk analysis
Risk analysis
Risk analysis
PrototypePrototypePrototype
Software requirements
Requirements validation
System product design
Design validationAcceptance test
Integration and Test
Unit testing
Coding
Detailed design
Cumulative costProgress through steps
![Page 21: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/21.jpg)
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
![Page 22: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/22.jpg)
Software project management 22
Spiral Model (cont’d) Four major activities
Planning Risk analysis Engineering Evaluation
![Page 23: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/23.jpg)
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
![Page 24: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/24.jpg)
Software project management 24
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.
![Page 25: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/25.jpg)
Software project management 25
Prototyping Model
Build prototype Usersatisfaction
YES
NOUser feedback
![Page 26: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/26.jpg)
Software project management 26
Benefits of Prototyping Learning by doing Improved communication Improved user involvement Clarification of partially-known
requirements
![Page 27: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/27.jpg)
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
![Page 28: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/28.jpg)
Software project management 28
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
![Page 29: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/29.jpg)
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
![Page 30: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/30.jpg)
Software project management 30
Forms of Prototypes Mock-ups Simulated interaction Partial working model
![Page 31: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/31.jpg)
Software project management 31
Prototype Products Human-computer interface System functionality
![Page 32: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/32.jpg)
Software project management 32
Prototype Changes Three categories
Cosmetic (35%) screen layout
Local (60%) screen processing
Global (5%) multi-parts processing design review
![Page 33: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/33.jpg)
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
![Page 34: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/34.jpg)
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
![Page 35: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/35.jpg)
Software project management 35
Incremental Model (cont’d)Requirements Analysis
Arrange requiremen
ts in increments
Validate increme
nt
Design and develop
increment
Integrate incremen
tYES
NOSystem
OK?
![Page 36: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/36.jpg)
Software project management 36
Iterative Model Deliver full system in the
beginning Enhance functionality in new
releases
![Page 37: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/37.jpg)
Software project management 37
Iterative Model (cont’d)
Develop system
version n
Validate system
version n
YES
NODesign system
version n
Systemcomplete
n = n+1
![Page 38: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/38.jpg)
Software project management 38
Combined Incremental and Iterative Model Every new release includes
extra functionality enhancement of existing functionality
Popularly used in software industry
![Page 39: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/39.jpg)
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
![Page 40: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/40.jpg)
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
![Page 41: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/41.jpg)
Software project management 41
Advantages of Phased Development (cont’d) Capture early market Facilitate early training Can be temporarily abandoned Increase job satisfaction
![Page 42: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/42.jpg)
Software project management 42
Disadvantages of Phased Development ‘Software breakage’ Reduced productivity
![Page 43: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/43.jpg)
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
![Page 44: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/44.jpg)
Software project management 44
Transformational Model Transform a specification into
delivered system Requires automated support Relies on formal specification
method
![Page 45: Software Project Management](https://reader035.fdocuments.net/reader035/viewer/2022062521/5681680d550346895ddd96f9/html5/thumbnails/45.jpg)
Software project management 45
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