Soft lifecycle
- 2. Life cycle model
To Describes the steps followed by the project team to
produce a tangible software product that fully meets the
requirements of the component or the part that the project
set forth to build.
- 3. Software Process
A set of activities, together with ordering constraints among
them, such that if the activities are performed properly and
in accordance with the ordering constraints.
The process that deals with the technical and management
issues of software development is called SWP.
Successful project talks about Cost, schedule and quality.
- 4. Contd..
A set of activities that leads to the production of a software
product.
There are many software processes, some fundamental
activities are common to all software processes:
Software Specification
Software design and Implementation
Software Validation
Software evolution.
- 6. ETVX Approach for process
specification
Entry Criteria
Task
Verification
Exit Criteria
- 7. A step in Development process
Predictability.
Input Output
Process V&V
- 8. SDLC
A software development process, also known as a software
development life cycle (SDLC), is a structure imposed on the
development of a software product.
- 11. Waterfall model problems
Inflexible partitioning of the project into distinct stages makes it difficult
to respond to changing customer requirements.
Therefore, this model is only appropriate when the requirements are
well-understood and changes will be fairly limited during the design
process.
Few business systems have stable requirements.
The waterfall model is mostly used for large systems engineering
projects where a system is developed at several sites.
- 12. Limitations of Waterfall model
It assumes that the requirements of a system can be frozen
before the design begins.
Freezing the requirements usually requires choosing the
hardware(because it forms a part of the requirements
specification). A large project might take a few years to
complete.
“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.
- 13. Prototyping Model
• Attractive idea for complicated and large systems for which there
is no manual process or existing system to help determine the
requirements..
• Based on Currently known requirements.
• Customer can get actual feel of the system.
Types:
1. Throwaway Prototype
2. Evolutionary Prototype
- 14. Contd..
Horizontal Prototype
A common term for a user interface prototype is
the horizontal prototype
It provides a broad view of an entire system or subsystem,
focusing on user interaction more than low-level system
functionality, such as database access
Vertical Prototype
A vertical prototype is a more complete elaboration of a
single subsystem or function.
- 17. Adv and Dis-Adv
Advantages
Reduced time and costs:
Improved and increased user involvement
Disadvantages of prototyping
Insufficient analysis
User confusion of prototype and finished system
Developer misunderstanding of user objectives
Expense of implementing prototyping:
Excessive development time of the prototype
- 18. RAD Model
Combines the features of waterfall model and prototyping
model.
Rapid application development (RAD) is a software
dev.methodology that uses minimal planning in favor of rapid
prototyping.
WYSIWYG manner
The "planning" of software developed using RAD is interleaved
with writing the software itself.
Each units Developed in a short time.
Developments, using modelling tools and CASE, translates to
product.
- 19. Contd..
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.
- 21. Iterative Development
Counters the Third and fourth limitation of waterfall model,
tries to combine the benefits of prototyping and Waterfall.
Based on incrementing and add some functional capability to
system until it satisfies.
Project control list, gives an idea of how far the projects
moves.
- 22. Spiral Model
Each cycle in the spiral begins with the identification of
objectives for that cycle.
Next step is to evaluate the different alternatives based on
objectives and constraints.
Resolve uncertainties and risks
Software developed
Final stage Planned.
- 24. 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.
- 25. RUP
Rational Unified Process
Designed for Object Oriented Development using UML.
Divided into Cycles, each cycle delivering a fully working
system.
Each cycle have four phases:
Inception
Elaboration
Construction
Transition
- 26. RUP Phases
Inception: Goals and scope of project(life cycle objectives
milestone)
Elaboration: Architecture of the system is designed, based on the
detailed requirement analysis (lifecycle Architecture milestone).
Construction: software is built and tested(Initial operational
capability milestone)
Transition: To move the software from development
environment to client’s environment(product release milestone).
- 27. Agile processes
Extreme Programming
Extreme Programming is successful because it stresses customer
satisfaction.
Extreme Programming emphasizes teamwork.
Extreme Programming improves a software project in five
essential ways;
1. Communication
2. Simplicity
3. Feedback
4. Respect
5. Courage.
- 28. Principles of agile processes
Working software is the key measure of progress
Software should be developed and delivered in small
increments.
Late changes in requirements should be entertained.
Face to face communication over documentation.
Continuous feedback and involvement of customer.
Simple design is better than elaborate design upfront.
Delivery dates are decided by the empowered teams.