1. What are the different types ofSoftware Process Model?
2. SW Process Models Waterfall model Evolutionary or Progressive models Component-based development model Iterative Model Agile Methodology 2
3. Types of Agile Methodology Extreme Programming (XP) Scrum Agile Modeling Agile Unified Process (AUP) Dynamic Systems Development Method (DSDM) Essential Unified Process (EssUP) Exia Process (ExP) Feature Driven Development (FDD) Open Unified Process (OpenUP) Crystal Clear Velocity tracking
4. Waterfall model History Characteristic Advantages Disadvantages
5. The Waterfall Model Oldest model, its been around since 1970. Called Linear Sequential Model. Most widely used model for SW engineering Documentation is produced at each stage. 5
6. Phases1. Requirements analysis and definition2. System and software design3. Implementation and unit testing4. Integration and system testing5. Operation and maintenance 6
7. Waterfall model diagram
8. Disadvantages Inflexible partitioning of the project into distinct stages makes it difficult to respond to changing customer requirements. Only appropriate when the requirements are well- understood and changes will be fairly limited during the design process. The waterfall model is mostly used for large systems engineering projects. 8
9. What are Evolutionary Models
10. Evolutionary Models 10
11. What are Exploratory Models Features Advantages Disadvantages
12. The Exploratory Model Objective is to work with customers and evolve a final system from an initial outline specification. Should start with well-understood requirements and add new features as proposed by the customer.
13. The Exploratory Model Concurr ent activities Initial Specification version Outline Intermedia te description Development versions Final Valida tion version 13
14. The Exploratory Model Problems Lack of process visibility; Systems are often poorly structured; Applicability For small or medium-size interactive systems; For parts of large systems (e.g. the user interface); For short-lifetime systems. 14
15. What are Prototyping Models Features Advantages Disadvantages
16. The Prototyping ModelWhen a customer defines a set of general objectives for a software but does not identify detailed input, processing, or output requirement.It consists of the iterating phases: 1. Requirements gathering 2. Design and build SW prototype 3. Evaluate prototype with customer 4. Refine requirements 16
17. The Prototyping Model 17
18. The Prototyping Model Advantages Users get a feel for the actual system Developers get to build something immediately Specifications can be developed incrementally Disadvantages The developer may make implementation compromises in order to get a prototype working quickly. The process in not visible (few documents that reflect every version of the system) Systems poorly structured 18
19. What is Component BasedSoftware Engineering (CBSE) Features Advantages Disadvantages
20. Component Based SoftwareEngineering (CBSE) Based on systematic reuse where systems are integrated from existing components. Process stages Component analysis; Requirements modification; System design with reuse; Development and integration. This approach is becoming increasingly used as component standards have emerged. 20
21. Component Based SoftwareEngineering (CBSE) Requirements Component Requirements System design specification analy sis modification with reuse Development Sy stem and integ ration validation 21
22. Component Based SoftwareEngineering (CBSE) Advantages: Reduce amount of software to be developed Reduce costs and risks Faster delivery Disadvantages: Requirements compromises, system does not meet real needs of users Limited features 22
23. Iterative Model and its Types
24. Iterative Models 24
25. Advantages and Disadvanates Incremental Model Spiral Model Agile Model
26. The Incremental ModelRather than deliver the system as a single delivery, the development and delivery is broken down into increments with each increment delivering part of the required functionality.User requirements are prioritised and the highest priority requirements are included in early increments.Once the development of an increment is started, the requirements are frozen though requirements for later increments can continue to evolve.
27. The Incremental Model Define outline Assign requirements Design sy stem requirements to increments architectur e Develop sy stem Valida te Integ rate Validate increment increment increment sy stem Final sy stem Sy stem incomplete 27
28. The Incremental ModelAdvantages: Customer value can be delivered with each increment so system functionality is available earlier. Early increments act as a prototype to help elicit requirements for later increments. Lower risk of overall project failure. The highest priority system services tend to receive the most testing. 28
29. The Incremental ModelDisadvantages: Increments should be relatively small (20,000 lines of code) Can be difficult to map the customers requirements onto increments of the right size Hard to identify common functions 29
30. The Spiral Model Defined by Barry Boehm in his 1988 article A Spiral Model of Software Development and Enhancement. Process is represented as a spiral rather than as a sequence of activities with backtracking. Each loop in the spiral represents a phase in the process. Suitable for large, expensive and complicated projects 30
31. The Spiral Model Deter mine objecti ves, Evalua te alterna tives, alterna tives and identify, resolv e risks constr aints Risk anal ysis Risk anal ysis Risk Oper a- anal ysis Pr ototype 3 tional Prototype 2 protoype Risk REVIEW anal ysis Proto- type 1 Requir ements plan Simula tions , models , benchmar ks Life-cy cle plan Concept of Oper a tion S/W requir ements Product design Detailed Requir ement design De velopment plan valida tion Code Unit test Integ ra tion Design V&V Integ ra tion and test plan Plan ne xt phase test Acceptance 31 Service test De velop , verify ne xt-le vel pr oduct
32. The Spiral ModelAdvantages: Risks are explicitly assessed and resolved throughout the process. Software engineers can start working on the project earlier rather than wading through a lengthy early design process. 32
33. The Spiral ModelDisadvantages: Requires highly skilled people in risk analysis and planning Requires more time, and is more expensive Estimates of budget and time are harder to judge at the beginning of the project since the requirements evolve through the process 33
34. Latest Techniques of Software Process Management (SPM) AGILE & EXTREME PROGRAMMING
35. Covered Topics What is Agile Programming What is Extreme Programming (XP) Why would I use Extreme Programming? Values of XP Principals of XP Activities of XP Dangers of XP
36. What is Agility?
37. What is Agility? Effective (rapid and adaptive) response to change Effective communication among all stakeholders Drawing the customer onto the team Yielding Rapid, incremental delivery of softwareSWE 418 (062) Agile Software Processes-XP 37
38. Agile properties
39. The Agile Manifestoa statement ofvaluesIndividuals and Individuals and over Process and tools Process and toolsinteractions interactions Comprehensive ComprehensiveWorking softwareWorking software over documentation documentationCustomer collaborationCustomer collaboration over Contract negotiation Contract negotiationResponding to changeResponding to change over Follow...