You are on page 1of 5

Life cycle model

SOFTWARE PROCESS AND PROCESS  To Describes the steps followed by the project team to
ITERATION produce a tangible software product that fully meets the
requirements of the component or the part that the project
set forth to build.

BY,
ILAKIYASELVAN N

Software Process Contd..


 A set of activities, together with ordering constraints among  A set of activities that leads to the production of a software
them, such that if the activities are performed properly and product.
in accordance with the ordering constraints.  There are many software processes, some fundamental
 The process that deals with the technical and management activities are common to all software processes:
issues of software development is called SWP.  Software Specification
 Successful project talks about Cost, schedule and quality.  Software design and Implementation
 Software Validation
 Software evolution.

ETVX Approach for process


Software process
specification
 Product Engineering process(produce desired product)
Development process
Project Management process  Entry Criteria

Software Configuration Management  Task


 Verification

 Process Management process  Exit Criteria


A step in Development process SDLC
Predictability.  A software development process, also known as a software
development life cycle (SDLC), is a structure imposed on the
development of a software product.

Input Output
Process V&V

Waterfall Model Life cycle model


 Linear Sequential Model
 Water – tight phases
 One phase is Completed before the next phase starts

Waterfall model problems Limitations of Waterfall model


 Inflexible partitioning of the project into distinct stages makes it  It assumes that the requirements of a system can be frozen
difficult to respond to changing customer requirements. before the design begins.
 Therefore, this model is only appropriate when the requirements are  Freezing the requirements usually requires choosing the
well-understood and changes will be fairly limited during the design
hardware(because it forms a part of the requirements
process.
specification). A large project might take a few years to
 Few business systems have stable requirements.
complete.
 The waterfall model is mostly used for large systems engineering
projects where a system is developed at several sites.  “Big bang approach” – an entire software is delivered in one
shot at the end.
 It encourages “requirements bloating”.
 It is a document-driven process that requires formal
documents at each phase.
Prototyping Model Contd..
• Attractive idea for complicated and large systems for which there
 Horizontal Prototype
is no manual process or existing system to help determine the
 A common term for a user interface prototype is
requirements..
the horizontal prototype
• Based on Currently known requirements.
 It provides a broad view of an entire system or subsystem,
• Customer can get actual feel of the system.
focusing on user interaction more than low-level system
Types: functionality, such as database access
1. Throwaway Prototype  Vertical Prototype
2. Evolutionary Prototype  A vertical prototype is a more complete elaboration of a
single subsystem or function.

Contd..
 Types of prototyping
Major types: first two..
 Throwaway prototyping
 Evolutionary prototyping
 Incremental prototyping
 Extreme prototyping

Adv and Dis-Adv RAD Model


 Advantages
Reduced time and costs:  Combines the features of waterfall model and prototyping
model.
Improved and increased user involvement
 Rapid application development (RAD) is a software
 Disadvantages of prototyping
dev.methodology that uses minimal planning in favor of rapid
Insufficient analysis prototyping.
User confusion of prototype and finished system  WYSIWYG manner
Developer misunderstanding of user objectives  The "planning" of software developed using RAD is interleaved
Expense of implementing prototyping: with writing the software itself.
Excessive development time of the prototype  Each units Developed in a short time.
 Developments, using modelling tools and CASE, translates to
product.
Contd.. Iterative Development
 Speed and Responsiveness.
 Loop continually, Changes and feedback reflected.
 Key to the success of RAD lies in application decomposition,
automatic generation and effective re-use.
 DisAdv: Modelling tools add expenses and Place
restrictions(decompose, re-use..)
 Not applicable in little or no customer involvement, Co-
existence of new application in legacy system.

Iterative Development Spiral Model


 Counters the Third and fourth limitation of waterfall model,
 Each cycle in the spiral begins with the identification of
tries to combine the benefits of prototyping and Waterfall.
objectives for that cycle.
 Based on incrementing and add some functional capability to
 Next step is to evaluate the different alternatives based on
system until it satisfies.
objectives and constraints.
 Project control list, gives an idea of how far the projects
 Resolve uncertainties and risks
moves.
 Software developed
 Final stage Planned.

Time Boxing Model

 The Timeboxing model for iterative software development in


which each iteration is done in a time box of fixed duration,
and the functionality to be built is adjusted to fit the time
box.
RUP RUP Phases
 Rational Unified Process  Inception: Goals and scope of project(life cycle objectives
 Designed for Object Oriented Development using UML. milestone)
 Divided into Cycles, each cycle delivering a fully working  Elaboration: Architecture of the system is designed, based on the
system. detailed requirement analysis (lifecycle Architecture milestone).
 Each cycle have four phases:  Construction: software is built and tested(Initial operational
 Inception
capability milestone)
 Transition: To move the software from development environment
 Elaboration
to client’s environment(product release milestone).
 Construction
 Transition

Agile processes Principles of agile processes


 Extreme Programming  Working software is the key measure of progress
 Extreme Programming is successful because it stresses customer  Software should be developed and delivered in small
satisfaction. increments.
 Extreme Programming emphasizes teamwork.
 Late changes in requirements should be entertained.
 Extreme Programming improves a software project in five  Face to face communication over documentation.
essential ways;  Continuous feedback and involvement of customer.
1. Communication
2. Simplicity  Simple design is better than elaborate design upfront.
3. Feedback  Delivery dates are decided by the empowered teams.
4. Respect
5. Courage.

THANK YOU

You might also like