1 / 19

Software Life-Cycle Models

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)

Télécharger la présentation

Software Life-Cycle Models

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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)

  2. 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?

  3. 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), …

  4. Build and Fix Model • Problems • No specifications • No design • Totally unsatisfactory • Need life-cycle model • “Game plan” • Phases • Milestones

  5. 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 systems

  6. 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

  7. Evolutionary Prototyping • Process not visible (need deliverables) • Need highly skilled team • Appropriate • Small teams • Part of system not well understood • Short lifecycle system Problem description (outline) • Specification • Development • Validation Concurrent activities • Initial version • Intermediate version • Final version

  8. 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

  9. Incremental Model (Variation) • More risky version—pieces may not fit

  10. 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) Reusable components Decisions, rationale and trans. rules Formal specifications (lower level) Requirements Requirements analysis and specification Transformation /optimization Formal specifications Development history

  11. 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

  12. 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

  13. Full Spiral Model (contd)

  14. 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.

  15. 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

  16. 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?

  17. 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

  18. Feature Driven Development (FDD)

  19. Exam Questions • What is Extreme Programming? • What are the advantages and disadvantages of using Extreme Programming as development model?

More Related