Upload
hadley-franco
View
62
Download
1
Tags:
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
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
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