1 / 23

Prescriptive Process Models

Prescriptive Process Models. Prescriptive Models. Prescriptive process models advocate an orderly approach to software engineering. The Waterfall Model. Pro : the most widely used model; a template for use Con : inflexible to changing customer requirements

lucindaf
Download Presentation

Prescriptive Process 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. Prescriptive Process Models

  2. Prescriptive Models • Prescriptive process models advocate an orderly approach to software engineering

  3. The Waterfall Model Pro: the most widely used model; a template for use Con: inflexible to changing customer requirements This is a good model to use when requirements are well understood

  4. Incremental Models Incremental Model: delivers software in small but usable pieces, each piece builds on pieces already delivered Rapid Application and Development (RAD) Model: makes heavy use of reusable software components with an extremely short development cycle

  5. The Incremental Model delivers software in small but usable pieces, each piece builds on pieces already delivered

  6. A software project has significant functionality but big pressure on short time-to-market….. How does the incremental model help to deliver this software by the business deadline? Example: A word-processing software I: basic file management, editing, document production II: more sophisticated editing and document production III: spelling and grammar checking IV: advanced page layout capability

  7. The RAD Model The RAD model is a high-speed adaptation of the linear sequential model. Project requirements must be well understood and the project scope tightly constrained Developers can use component-based construction techniques to build a fully functional system in a short time period Pro: may shorten development time significantly Con: the system may not be modularized for use; performance issue; risk issue

  8. The RAD Model makes heavy use of reusable software components with an extremely short development cycle

  9. Assumptions of using RAD model for software project development: • A project can be modularized • Major functionality could be delivered in short time • Sufficient human resources will be available

  10. Evolutionary Models Prototyping Model: good first step when customer has a legitimate need, but is clueless about the details, developer needs to resist pressure to extend a rough prototype into a production product Spiral Model: couples iterative nature of prototyping with the controlled and systematic aspects of the linear sequential model Concurrent Development Model: similar to spiral model often used in development of client/server applications

  11. Evolutionary Models: Prototyping Quick plan communication Modeling Quick design Deployment delivery & feedback Construction of prototype

  12. The PrototypingModel This model is good to use when the customer has legitimate needs, but is not able to articulate the details at the start of the project. A small mock-up of a working system is developed and presented to the customer. Pro: evaluated by user and used to refine requirements Con: the first system built is barely usable; unrealistic expectations from the customer; the performance issue

  13. Which software projectsare easy to prototype? Human-machine interaction Computer graphics Mathematical algorithms Command-driven systems Control functions Real-time applications Embedded software

  14. Evolutionary Models: The Spiral Each loop in the spiral shows a phase of the SW process Each loop will be split into few sections, the task regions Each region conducts a set of work tasks, the task set

  15. A Spiral Model (II) • The loops in the spiral could be identified as: • concept development, product development, product enhancement and product maintenance OR • product specification, prototype development, software versions updated OR • system feasibility, requirements definition, system design, etc.

  16. A Spiral Model (III) • The task regions in each spiral loop could contain: • customer communication, planning, risk analysis, engineering, construction & release, customer evaluation OR • objective setting, risk assessment and reduction, development and validation, planning Points: when to trigger a new phase of the spiral and what to do?

  17. A Spiral Model (IV) • It combines the iterative nature of prototyping with the systematic control found in the linear sequential model • Assessment of both management and technical risks is performed as each incremental release is completed • It demands risk assessment expertise and relies on this expertise for success.

  18. Evolutionary Models: Concurrent different parts(stages) of a project will be performed at different places (activities) concurrently in the process

  19. Still Other Process Models • Component based development—the process to apply when reuse is a development objective • Formal methods—emphasizes the mathematical specification of requirements • Unified Process—a “use-case driven, architecture-centric, iterative and incremental” software process closely aligned with the Unified Modeling Language (UML)

  20. The Unified Process (UP) inception elaboration inception

  21. The Unified Process (UP) • Use-case driven, architecture centric, iterative, and incremental software process • Phases • Inception phase (customer communication and planning) • Elaboration phase (communication and modeling) • Construction phase • Transition phase (customer delivery and feedback) • Production phase (software monitoring and support)

  22. UP Phases

  23. UP and UML UML is a modeling notation and language to support OO software engineering practice UP is a process framework in which UML may be applied as part of software engineering activities In UP, what’s the meaning of a workflow? A task set Does the UP phase occur in a sequence? No. UP phases could be with staggered concurrency.

More Related