Prescriptive Models Incremental model Evolutionary Spiral Model by pharmphresh26

VIEWS: 56 PAGES: 2

									              Prescriptive Models                                         Incremental model
• Waterfall – sequential order of plan                       • Apply iteration to the waterfall method
    – Oldest structured approach to software                 • + core product
    – Most used (historically)
                                                             • + add features on subsequent versions
    – Still alive
                                                                 – Time consuming
• Disadvantages
                                                                 – Requires massive management
    – No feedback or iteration
    – Must have all requirements up front,                   • + low staff
      unchanging                                             • + makes management more simple
    – Deployment late, if bugs are found, project
      fails




             RAD- rapid application
                                                                               Evolutionary
                development
•   Incremental model but with very short cycles             •   Prototyping (rapid prototyping)
•   “high speed” waterfall
                                                             •   + fuzzy requirements
•   60 – 90 days (2 – 3 months)
                                                             •   + provides huge flexibility
•   * must have clear requirements
•   * must have constrained project scope                    •   + early products
    –   Must have resources                                  •   “always build one to throw away”
    –   Need buy -in by customer and team
    –   Non-modular system cannot be built with RAD
                                                             •   + highly regarded
    –   Very high technical risks                                – Customer sees a “working” product early and wants it
    –   Not useful for high performance software (requires       – Choose poor OS, programming languages,
        fine tuning)                                               algorithms can reduce quality




            Spiral Model (Boehm)                                    Concurrent Development
• Bend the waterfall into a spiral                           •   Not a sequence
• Complete a spiral for any product                          •   More of a network
• Use prototyping                                            •   + very flexible
    – Requires buy-in                                        •   - it requires good management
    – Must have massive risk management                          – “under development”, “awaiting change”
• Very good for sophisticated large projects                     – “under review ”, “under revision”
                                                                 – “baselined”, “done”
                                                             • Get early product




                                                                                                                          1
           General Drawbacks
                                                      Component Based Development
          (evolutionary models)
• Prototyping has no clear end                    • Build software from pre-packaged
  – Plan, manage, assess costs                      products
                                                      – COTS – commercial off-the-shelf
• Evolution itself is hard to predict
                                                  • Steps
• Focus on speed, flexibility, at the expense
                                                      – Research what is available
  of quality
                                                      – Analyze integration issues
                                                      – Build software architectures
                                                      – Do the integration (the hardest part?)
                                                      – Comprehensive testing




      Aspect Oriented Software
                                                            Unified Process (UP)
           Development
• Focus on customer concerns (security,           • Focus on the user         • Relies heavily on
  accuracy, fault tolerance, etc)                     – Use cases               communication
• “cross-cutting” – the concerns have to be       •   Inception               • Achieved through
                                                  •   Elaboration               UML – unified
  addressed across several components of                                        modeling language
  the software project                            •   Construction
                                                  •   Transition              • Rational Corporation
                                                  •   Production




          Agile Development
• Flexibility, adaptability
  – Change is guaranteed, expected, inevitable
     • Requirements, technology, people, market
       demands, competition, risks, schedules




                                                                                                       2

								
To top