Академический Документы
Профессиональный Документы
Культура Документы
Design
Waterfall approach was fi rst SDLC Model to be used widely in Soft ware Engineering to
ensure success of the project. In "The Waterfall" approach, the whole process of soft ware
development is divided into separate phases. In this Waterfall model, typically, the
outcome of one phase acts as the input for the next phase sequenti ally.
The following illustrati on is a representati on of the diff erent phases of the Waterfall
Model.
System Design − The requirement specifi cati ons from fi rst phase are studied in this phase
and the system design is prepared. This system design helps in specifying hardware and
system requirements and helps in defi ning the overall system architecture.
Implementati on − With inputs from the system design, the system is fi rst developed in
small programs called units, which are integrated in the next phase. Each unit is
developed and tested for its functi onality, which is referred to as Unit Testi ng.
Integrati on and Testi ng − All the units developed in the implementati on phase are
integrated into a system aft er testi ng of each unit. Post integrati on the enti re system is
tested for any faults and failures.
Deployment of system − Once the functi onal and non-functi onal testi ng is done; the
product is deployed in the customer environment or released into the market.
Maintenance − There are some issues which come up in the client environment. To fi x
those issues, patches are released. Also to enhance the product some bett er versions are
released. Maintenance is done to deliver these changes in the customer environment.
5. Ample resources with required experti se are available to support the product.
2. Easy to manage due to the rigidity of the model. Each phase has specifi c
deliverables and a review process.
4. Works well for smaller projects where requirements are very well understood.
2. No working soft ware is produced unti l late during the life cycle.
6. Not suitable for the projects where requirements are at a moderate to high risk of
changing. So, risk and uncertainty is high with this process model.
10. Integrati on is done as a "big-bang. at the very end, which doesn't allow identi fying
any technological or business bott leneck or challenges early.
========================================================================
Iterati ve process starts with a simple implementati on of a subset of the soft ware
requirements and iterati vely enhances the evolving versions unti l the full system is
implemented. At each iterati on, design modifi cati ons are made and new functi onal
capabiliti es are added. The basic idea behind this method is to develop a system through
repeated cycles (iterati ve) and in smaller porti ons at a ti me (incremental).
In this incremental model, the whole requirement is divided into various builds. During
each iterati on, the development module goes through the requirements, design,
implementati on and testi ng phases. Each subsequent release of the module adds functi on
to the previous release. The process conti nues ti ll the complete system is ready as per
the requirement.
The key to a successful use of an iterati ve soft ware development lifecycle is rigorous
validati on of requirements, and verifi cati on & testi ng of each version of the soft ware
against those requirements within each cycle of the model. As the soft ware evolves
through successive cycles, tests must be repeated and extended to verify each version of
the soft ware.
1. Requirements of the complete system are clearly defi ned and understood.
2. Major requirements must be defi ned; however, some functi onaliti es or requested
enhancements may evolve with ti me.
4. A new technology is being used and is being learnt by the development team while
working on the project.
5. Resources with needed skill sets are not available and are planned to be used on
contract basis for specifi c iterati ons.
6. There are some high-risk features and goals which may change in the future.
The advantages of the Iterati ve and Incremental SDLC Model are as follows −
1. Some working functi onality can be developed quickly and early in the life cycle.
7. Risks are identi fi ed and resolved during iterati on; and each iterati on is an easily
managed milestone.
10. Issues, challenges and risks identi fi ed from each increment can be uti lized/applied
to the next increment.
15. During the life cycle, soft ware is produced early which facilitates customer
evaluati on and feedback.
The disadvantages of the Iterati ve and Incremental SDLC Model are as follows −
2. Although cost of change is lesser, but it is not very suitable for changing
requirements.
4. System architecture or design issues may arise because not all requirements are
gathered in the beginning of the enti re life cycle.
5. Defi ning increments may require defi niti on of the complete system.
10. Projects progress is highly dependent upon the risk analysis phase.
========================================================================
The spiral model combines the idea of iterati ve development with the systemati c,
controlled aspects of the waterfall model. This Spiral model is a combinati on of iterati ve
development process model and sequenti al linear development model i.e. the waterfall
model with a very high emphasis on risk analysis. It allows incremental releases of the
product or incremental refi nement through each iterati on around the spiral.
The spiral model has four phases. A soft ware project repeatedly passes through these
phases in iterati ons called Spirals.
Identi fi cati on
This phase starts with gathering the business requirements in the baseline spiral. In the
subsequent spirals as the product matures, identi fi cati on of system requirements,
subsystem requirements and unit requirements are all done in this phase.
This phase also includes understanding the system requirements by conti nuous
communicati on between the customer and the system analyst. At the end of the spiral,
the product is deployed in the identi fi ed market.
Design
The Design phase starts with the conceptual design in the baseline spiral and involves
architectural design, logical design of modules, physical product design and the fi nal
design in the subsequent spirals.
Construct or Build
The Construct phase refers to producti on of the actual soft ware product at every spiral.
In the baseline spiral, when the product is just thought of and the design is being
developed a POC (Proof of Concept) is developed in this phase to get customer feedback.
Then in the subsequent spirals with higher clarity on requirements and design details a
working model of the soft ware called build is produced with a version number. These
builds are sent to the customer for feedback.
Risk Analysis includes identi fying, esti mati ng and monitoring the technical feasibility and
management risks, such as schedule slippage and cost overrun. Aft er testi ng the build, at
the end of fi rst iterati on, the customer evaluates the soft ware and provides feedback.
The following illustrati on is a representati on of the Spiral Model, listi ng the acti viti es in
each phase.
Based on the customer evaluati on, the soft ware development process enters the next
iterati on and subsequently follows the linear approach to implement the feedback
suggested by the customer. The process of iterati ons along the spiral conti nues
throughout the life of the soft ware.
Spiral Model Applicati on
6. New product line which should be released in phases to get enough customer
feedback.
7. Signifi cant changes are expected in the product during the development cycle.
5. Development can be divided into smaller parts and the risky parts can be
developed earlier which helps in bett er risk management.
3. Not suitable for small or low risk projects and could be expensive for small
projects.
4. Process is complex
========================================================================
Functi onal Requirements: Functi onal requirements are those requirements which deal
with what the system should do or provide for users.
1. Describes the behavior of the system as it relates to the system's functi onality.
2. Includes the descripti on of the required functi ons, outlines of associated reports
or online queries, and details of data to be held in the system.
Non Functi onal Requirements: Non-functi onal requirements are those requirements
which elaborate the performance characteristi c of the system and defi ne the constraints
on how the system will do so.
1. Defi nes the constraints, targets or control mechanisms for the new system.
3. Specifi ed by technical peoples e.g. Architect, Technical leaders and soft ware
developers.
4. They are someti mes defi ned in terms of metrics (something that can be measured
about the system) to make them more tangible.
===========================================================================
soft ware requirements specifi cati on (SRS) is a document that captures complete
descripti on about how the system is expected to perform. It is usually signed off at the
end of requirements engineering phase.
Qualiti es of SRS:
1. Correct
2. Unambiguous
3. Complete
4. Consistent
6. Verifi able
7. Modifi able
8. Traceable
Types of Requirements:
The below diagram depicts the various types of requirements that are captured during
SRS.
===========================================================================