Transcript
Page 1: Software development life cycle model

Software Development Life

Cycle Model

Presenters:

Nabila Sharudin (GS35566)

Siti Hanisah Majid (GS35569)

Nur Syazanna Jamaludin (GS36862)

Page 2: Software development life cycle model

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.

Page 3: Software development life cycle model

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

Page 4: Software development life cycle model

Software Development Life Cycle (SDLC)

Page 5: Software development life cycle model

Types of SDLC• Waterfall Model• Iterative Model• Spiral Model• V-Model• Agile Model• RAD Model

Page 6: Software development life cycle 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.

Page 7: Software development life cycle model

Agile Model

Page 8: Software development life cycle 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.

Page 9: Software development life cycle model

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.

Page 10: Software development life cycle model

Pros and Cons

Page 11: Software development life cycle model

CMM AND CMMI

Page 12: Software development life cycle model

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.

Page 13: Software development life cycle 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.

Page 14: Software development life cycle model

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.

Page 15: Software development life cycle model

CMM Model

Page 16: Software development life cycle 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.

Page 17: Software development life cycle model

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)

Page 18: Software development life cycle model

• 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.