03 Modeling Process and Life Cycle


Published on

Software Engineering

Published in: Education, Technology
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

03 Modeling Process and Life Cycle

  1. 1. In this Module, we look at • what we mean by a “process” • software development products, processes & resources • several models of the software development process • tools & techniques for process modeling Back Next
  2. 2. -- Process is a series of steps involving activities - constraints and resources that produce an - intended output of some kind. -- in building a software product, process is refer to a - life cycle -- software development process is sometimes called - software life cycle -- a process is more than a procedure -- a process may require design to occur before - coding, many different design may be used
  3. 3. -- Process guides our actions by allowing use - examine, control and improve that comprise the - process. -Characteristics of a Process -- The process prescribes all of the major process - activities. -- The process uses resources, subject to a set of - constraints (such schedule) and produces - intermediate and final product. -- The process may be composed that are linked in - some way. The process may be defined as - hierarchy of process, organized so that each sub- - process has its own process models
  4. 4. -- Each process activity has entry and exit criteria, so - that when the activity begins and ends. -- The activities are organized in sequence, so that it - is clear when one activity is performed relative to - the other activities. -- Every process has a guiding principles that explain - the goals of each activity. -- Constraints or controls may apply to an activity, - resource or product.
  5. 5. - Reasons for Modeling Process -- It forms common understanding of the activities, - resources and constraints involved in software - development. -- It helps the development team find - inconsistencies, redundancies and omissions in the - process and in its constituent parts. -- It reflects the goals of development such as - building high-quality software, finding faults in - early development and meeting required budget - and schedule constraints.
  6. 6. -- It helps the development team understand where - tailoring is to occur for the special situation.
  7. 7. -- The waterfall model is a sequential software - development model (a process for the creation of - software) in which development is seen as flowing - steadily downwards (like a waterfall) through the - phases of software developmet. -- Winston W. Royce (1929–1995), present this - model cited in his article published in 1970. -- It is very useful in helping the developers lay out - what they need to do. -- The biggest problem with the waterfall model is - does not reflect the way the code is really - developed.
  8. 8. In Royce's original waterfall model, the following phases are followed in order: 3.Requirements specification 4.Design 5.Construction (AKA implementation or coding) 6.Integration 7.Testing and debugging (AKA validation) 8.Installation 9.Maintenance
  9. 9. Requirement Analysis System Design Program Design Coding Unit & Integration Testing System Testing Acceptance Testing Operation & The Waterfall Model Maintenance
  10. 10. The software development process in reality.
  11. 11. -- The sashimi model (so called because it features - overlapping phases, like the overlapping fish of - Japanese sashimi) was originated by Peter - DeGrace. -- also referred as the waterfall model with - overlapping phases or with feedback
  12. 12. Instructor’s idea about the Sashimi Model Requirement System Analysis DesignProgram Design Coding Unit & Integration TestingSystem Testing Acceptance Testing Operation & Maintenance The Waterfall Model with overlapping phases / The Waterfall Model with feedback
  13. 13. -- Prototyping is a partially developed product that - enables customers and developers to examine - some aspect of the proposed system and decide if - it is suitable or appropriate for the finished - product. -- Design prototyping helps developers assess - alternative design strategies and decide which is - the best for a particular project.
  14. 14. Validation Requirement Analysis System Design Verify Program Design Coding Unit & Integration Testing Prototyping System Testing Acceptance Testing Operation & The Waterfall Model Maintenance
  15. 15. -- The V-Model (or VEE model) is a systems - development model designed to simplify the - understanding of the complexity associated with - developing systems -- a variation of the waterfall model that demonstrate - how the activities are related to analysis and -- design the focus of the V-Model is on activity and - - correctness
  16. 16. The V-Model
  17. 17. -- It requires investigation to ensure that the - developer, user and customer have a common - understanding both of what is needed and what is - proposed. -- it reduce risk and uncertainty in development -- The process of prototyping involves the following - steps: 1. Identify basic requirements -2. Develop initial prototype -3. Review -4. Revise and enhancing prototype
  18. 18. The Prototyping Model.
  19. 19. -- The system requirments are evaluated or executed - in a way that demonstrates the behavior of the -- system. Once the requirements are specified, it can be - - enacted using the software package, so that their - implication can be assess before design begins.
  20. 20. The Operational Specification Model
  21. 21. -- It tries to reduce the opportunity for error by - eliminating several major development steps. -- It uses automated support -- Sample transformation can include: (1) changing - the data representation; (2) selecting algorithms; - (3) optimizing; (4) Compiling.
  22. 22. The Transformational Model
  23. 23. -- Cycle time is the time the documents are written - and the time for the system was delivered. -- To reduce the cycle time is to use development - phase , where two systems functioning in parallel. -- The Operational or Production System being used - by the customer or user -- The Development System is the next version that - is being prepared to replace the current production - system.
  24. 24. The Phased Development Model
  25. 25. -- The system as specified in the requirements - documents are partitioned into subsystems by - functionality. -- The releases are defined by beginning with one - small, functional subsystem and then adding with - each new releases.
  26. 26. -- It delivers the full system at the very beginning - and it changes the functionality of each subsystem - with each new releases.
  27. 27. -- The spiral model is a software development - process combining elements of both design and - prototyping-in-stages, in an effort to combine - advantages of top-down and bottom-up concepts -- also known as the spiral life cycle model -- it is a systems development method (SDM) used in -- Information technology (IT) Prototyping Model - a combination of features of - and Waterfall Model defined by Barry Boehm (1988) -- The spiral model is intended for large, expensive - and complicated projects
  28. 28. The Spiral Model.
  29. 29. -- It depicts the process, showing the inputs are - transformed to outputs. -- See… A Toolset for Supporting Static and Dynamic - Model Checking
  30. 30. -- It can enact the process, so that the user can see - how intermediate and final products are - transformed over time. -- See… A Toolset for Supporting Static and Dynamic - Model Checking
  31. 31. -- Model Driven Development -- User Experience -- Top-Down to Bottom Design -- Chaos Model -- Evolutionary Prototyping -- ICONIX Process -- Unified Process -- Extreme Programming (XP)