This presentation slide is purposely for our Software Quality course. You will notice less words, as we had been given only 10 minutes to present. All information is taken through our research on internet. Thanks to all worldwide SE Experts for your valuable knowledge.
- 1. Software Development Life Cycle Model Presenters: Nabila Sharudin (GS35566) Siti Hanisah Majid (GS35569) Nur Syazanna Jamaludin (GS36862)
2. Introduction Software life cycle models describe phases of the software cycle and the order in which those phases are executed. Basically, all have very similar patterns. Every SDLC model has the same objective, to ensure the right products are delivered as scheduled and meets the cost estimation. 3. A typical Software Development life cycle consists of the following stages: Stage 1: Planning and Requirement Analysis Stage 2: Defining Requirements Stage 3: Designing the product architecture Stage 4: Developing or Coding the Product Stage 5: Testing the Product Stage 6: Deployment in the Market and Maintenance 4. Software Development Life Cycle (SDLC) 5. Types of SDLC Waterfall Model Iterative Model Spiral Model V-Model Agile Model RAD Model 6. Agile Model Combination of iterative and incremental process models with focus on process adaptability and customer satisfaction by rapid delivery of working software product. Break the product into small incremental builds. These builds are provided in iterations. Each iteration typically lasts from about one to three weeks. Every iteration involves cross functional teams working simultaneously on various areas like planning, requirements analysis, design, coding, unit testing, and acceptance testing. At the end of the iteration a working product is displayed to the customer and important stakeholders. 7. Agile Model 8. Agile Manifesto principles Individuals and interactions . in agile development, self- organization and motivation are important, as are interactions like co-location and pair programming. Working software . Demo working software is considered the best means of communication with the customer to understand their requirement, instead of just depending on documentation. Customer collaboration . As the requirements cannot be gathered completely in the beginning of the project due to various factors, continuous customer interaction is very important to get proper product requirements. Responding to change . agile development is focused on quick responses to change and continuous development. 9. Agile model Agile uses adaptive approach where there is no detailed planning and there is clearness on future tasks only in respect of what features need to be developed. There is feature driven development and the team adapts to the changing product requirements dynamically. The product is tested very frequently, through the release iterations, minimizing the risk of any major failures in future. Customer interaction is the backbone of Agile methodology, and open communication with minimum documentation are the typical features of Agile development environment. The agile teams work in close collaboration with each other and are most often located in the same geographical location. 10. Pros and Cons 11. CMM AND CMMI 12. CMM - Introduction developed and released in August of 1990 to illustrate the best practices regarding engineering and management, specifically in software development. is a model of a mature organization and how it works as a developer or a manufacturer. made for software companies, overall rules for the structure of the final program code, interfaces, components, and others are described in the CMM model. 13. 5 levels in the model i) Initial - undocumented and in a state of dynamic change, tending to be driven in an ad hoc, uncontrolled and reactive manner by users or events ii) Repeatable - some processes are repeatable, possibly with consistent results iii) Defined - sets of defined and documented standard processes established and subject to some degree of improvement over time. 14. iv) Managed- management can identify ways to adjust and adapt the process to particular projects without measurable losses of quality or deviations from specifications v) Optimizing - the focus is on continually improving process performance through both incremental and innovative technological changes/improvements. 15. CMM Model 16. CMMI- Introduction developed to integrate current and upcoming models upgrade from the CMM model and describes process improvements for organizations especially in software development Includes: gathering (data and requirement), project planning/tracking, configuration management, training, quality assurance, collaboration and peer reviews. 17. CMM VS CMMI CMMI takes a more result-oriented approach when defining and measuring Key Performance Areas while CMM measures the maturity level of an organization by determining if an organization completes the specific activities listed in the Key Performance Areas (KPA) 18. CMM is however concerned at recording processes whereas CMMI documentation and meetings focus on strategic goals of the organizations CMM has focused attention on processes, but the new CMMI goes a step further and focus attention on result- oriented processes.