19
Software Life-Cycle Models Hans Van Vliet, Software Engineering: Principles and Practices, 3rd edition, Wiley 2008. (Chapter 3) Eric J. Braude, Software Engineering, An Object-Oriented Perspective, Wiley, 2001. (Section 2.4. Identifying and retiring risks) Roger S. Pressman, Software Engineering, A Practitioner’s Approach, 6th edition, McGraw Hill, 2005. (Chapter 25. Risk Management)

Software Life-Cycle Models

Embed Size (px)

DESCRIPTION

Software Life-Cycle Models. Hans Van Vliet, Software Engineering: Principles and Practices, 3rd edition, Wiley 2008. (Chapter 3) Eric J. Braude, Software Engineering, An Object-Oriented Perspective, Wiley, 2001. (Section 2.4. Identifying and retiring risks) - PowerPoint PPT Presentation

Citation preview

Software Life-Cycle Models

Hans Van Vliet, Software Engineering: Principles and Practices, 3rd edition, Wiley 2008. (Chapter 3)

Eric J. Braude, Software Engineering, An Object-Oriented Perspective, Wiley, 2001. (Section 2.4. Identifying and retiring risks)

Roger S. Pressman, Software Engineering, A Practitioner’s Approach, 6th edition, McGraw Hill, 2005. (Chapter 25. Risk Management)

Software Life-Cycle Models

• Life-cycle model (formerly, process model)• The steps through which the product

progresses– Requirements phase– Specification phase– Design phase– Implementation phase– Integration phase– Maintenance phase– Retirement

• Q: In what order to perform these steps?

2

Many Life-Cycle Models

• Several dimensions– Sequential vs. iterative– Whole vs. incremental– Elaborative vs. transformational– Use of prototype– …

• Examples– Waterfall, Rapid prototyping, Incremental, Spiral,

Model-driven, Feature-driven, Unified Process (UP), Extreme Programming (XP), …

3

Build and Fix Model

• Problems– No specifications– No design

• Totally unsatisfactory• Need life-cycle model

– “Game plan” – Phases– Milestones

4

Waterfall Model• Characterized by

– Feedback loops– Documentation-driven– Operational product at end

• Advantages – Documentation– Maintenance may be easier

• Disadvantages– Customer may not be aware of

what getting– Costly when discrepancy found

in later stages– Sometimes freezes part of

development– May lead to badly structured

systems5

Rapid Prototyping Model (Throwaway)

• Determine needs of customer

• Refine with interaction of customers

• Experiment with parts not understood

• Prototype system poorly structured

• Operational product at end

6

Evolutionary Prototyping

• Process not visible (need deliverables)

• Need highly skilled team• Appropriate

– Small teams– Part of system not well

understood– Short lifecycle system

7

Problem description(outline)

• Specification• Development• Validation

• Initial version• Intermediate version• Final version

Concurrentactivities

Incremental Model

• Divide project into builds• Operational quality portion

of product within weeks• Smaller capital outlay,

rapid return on investment• Need open architecture—

maintenance implications• Requires skilled

developers

8

Incremental Model (Variation)

• More risky version—pieces may not fit

9

Transformation Model• Viewed as a sequence of steps that transforms a specification

into an implementation• Use of formal specifications/models and transformation rules• Correctness by construction <-> program correctness proof• E.g., Model-driven development (MDD)

10

Transformation/optimization

Requirementsanalysis and specification

Developmenthistory

Reusablecomponents

RequirementsFormal

specifications

Formal specifications(lower level)

Decisions, rationaleand trans. rules

Spiral Model

• Keys: risk analysis and evaluation• Simplified form: Waterfall model

plus risk analysis• Precede each phase by

– Alternatives– Risk analysis

• Follow each phase by– Evaluation– Planning of next phase

11

Simplified Spiral Model

• Focus on eliminating errors early• Examines level of effort• Accommodates growth and

change (evolution)• Restrictions

– In-house development (not contracted)

– Good for large-scale systems– Requires training in risk

analysis and resolution

12

Full Spiral Model (contd)

13

Risk• A risk is something that may occur in the course of a

project, and which, under the worst outcome, would affect it negatively and significantly [Braude 2001, Section 2.4].

• Two types:– Those that can be avoided or worked around– Those cannot be avoided

• Problems are those risks that have not been identified. Risks must be managed!

• Risk retirement is process whereby risks are reduced or eliminated.

14

Risk Management Activities Identification

– Mindset: try to continually identify risks– Write down concerns and press all team members to think of

more Retirement planning

– Outline the steps that can be taken to retire the risk. Prioritization

– Options: likelihood (10 most likely), impact (10 most impact), retirement cost (10 highest cost)

– Formula: (11 - l) (11 - i) rc– Lowest is first to address

Retirement or mitigation

15

Types of Risks (Pressman 2005, Chapter 25)

• Generic (every project)– Product size– Business impact (constraints imposed by mgm’t)– Customer characteristics– Process definition– Development environment– Technology to be built– Staff size and experience

• Product-specific (characteristics of product)– Examples?

16

Example Risks Underestimation of size Time lag in learning new tools Lack of top management commitment Personnel resign Changing scope and/or objectives Technical breakthroughs—change in product Unrealistic schedule Personnel lack required knowledge or skills

17

Feature Driven Development (FDD)

Develop an Overall Model

Build a Feature List Plan by

Feature

Design by Feature Build by

Feature

1) Selection of domain experts and development

teams2) Completion of

requirements definition by guidance team

Entry Criteria

Completion of:

a) the object model (class, sequence diagrams and explanatory notes)b) Interview Reportc) Feasibility Reportd) Use case scenarios

Exit Criteria

Completion of the develop an overall

model process

Entry Criteria

Completion of the build a feature list

process

Completion of the plan by feature

process

Completion of the design by feature for each of the selected

features

Entry CriteriaEntry Criteria

Entry Criteria

Completion of:

a) feature list, including a list of major feature sets and a list of features within each feature setb) GUIc) Modelsd) Requirements

Completion of:

a) development plan, consisting feature sets with completion dates

Completion of:

a) design package, comprising a design document, referenced requirements in the form of documents, memos, supporting documentation, design alternatives, latest object model, class and method prologues, to do task list on affected classes for each team members

Completion of:

a) development of one or more features (client-valued functions)

Exit CriteriaExit Criteria

Exit CriteriaExit Criteria

18

Exam Questions

• What is Extreme Programming?• What are the advantages and disadvantages

of using Extreme Programming as development model?

19