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
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.
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.
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.
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.
Hinweis der Redaktion
Initial (chaotic, ad hoc, individual heroics) - the starting point for use of a new or undocumented repeat process.Repeatable - the process is at least documented sufficiently such that repeating the same steps may be attempted.Defined - the process is defined/confirmed as a standard business process, and decomposed to levels 0, 1 and 2 (the last being Work Instructions).Managed - the process is quantitatively managed in accordance with agreed-upon metrics.Optimizing - process management includes deliberate process optimization/improvement.