SlideServe
Menu
Préférences
© SlideServe · v2026

Software Life-Cycle Models

roosevelt-erling avatar
19 diapositives · 468 Views · Nov 19, 2014

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)

Software Life-Cycle Models - slide 1
01 / 19Software Life-Cycle Models
1 / 17

Télécharger la présentation

Software Life-Cycle Models
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  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?