Software Development Life
Cycle Model
Presenters:
Nabila Sharudin (GS35566)
Siti Hanisah Majid (GS35569)
Nur Syazanna Jamaludin (GS36862)
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.
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
Software Development Life Cycle (SDLC)
Types of SDLC• Waterfall Model• Iterative Model• Spiral Model• V-Model• Agile Model• RAD Model
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.
Agile Model
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.
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.
Pros and Cons
CMM AND CMMI
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.
• 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.
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.
CMM Model
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.
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)
• 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.