Professional Documents
Culture Documents
Attock Campus
ASSIGNMENT#1
SUBMITTED BY:
Basla Azhar
FA18-BSE-057
SUBMITTED TO:
Sir Fahad
SDLC MODELS
Table of Contents
Software Development life cycle: ................................................................................................................. 3
Waterfall Model: ........................................................................................................................................... 3
Advantages of the Waterfall Model:......................................................................................................... 4
Disadvantage of Waterfall model: ............................................................................................................ 5
V-Model: ....................................................................................................................................................... 5
Advantages of the V-Model: ..................................................................................................................... 6
Disadvantages of the V-Model:................................................................................................................. 7
Spiral Model: ................................................................................................................................................. 7
Advantages of the Spiral Model:............................................................................................................... 7
Disadvantages of the Spiral Model: .......................................................................................................... 8
Iterative Model: ............................................................................................................................................ 8
Advantages of the Iterative Model: .......................................................................................................... 9
Disadvantages of the Iterative Model: ..................................................................................................... 9
Agile Model: .................................................................................................................................................. 9
Advantages of the Agile Model: .............................................................................................................. 10
Disadvantages of the Agile Model: ......................................................................................................... 10
FYP Project:.................................................................................................................................................. 10
2
SDLC MODELS
SDLC Models
Software Development life cycle:
Software Development life cycle (SDLC) is a spiritual model used in project management that defines the
stages include in an information system development project, from an initial feasibility study to the
maintenance of the completed application.
There are different software development life cycle models specify and design, which are followed
during the software development phase. These models are also called "Software Development
Process Models." Each process model follows a series of phase unique to its type to ensure success in
the step of software development.
Waterfall Model:
The waterfall model is a linear, sequential approach to the software development life cycle (SDLC) that is
popular in software engineering and product development. The waterfall model emphasizes a
logical progression of steps.
3
SDLC MODELS
Requirements: Potential requirements, deadlines and guidelines for the project are analyzed and
placed into a functional specification. This stage handles the defining and planning of the project
without mentioning specific processes.
Design: A design specification document is created to outline technical design requirements such as
programming language, hardware, data sources, architecture and services.
Implementation: The source code is developed using the models, logic and requirements designated
in the prior stages. Typically, the system is designed in smaller components, or units, before being
implemented together.
Testing: This is when quality assurance, unit, system and beta tests take place to report issues that
may need to be resolved. This may cause a forced repeat of the coding stage for debugging. If the
system passes the tests, the waterfall continues forward.
Deployment: The product or application is deemed fully functional and is deployed to a live
environment.
Maintenance: Corrective, adaptive and perfective maintenance is carried out indefinitely to improve,
update and enhance the final product. This could include releasing patch updates or releasing new
versions.
4
SDLC MODELS
V-Model:
V-Model also referred to as the Verification and Validation Model. In this, each phase of SDLC must
complete before the next phase starts. It follows a sequential design process same as the waterfall
model. Testing of the device is planned in parallel with a corresponding stage of development.
Requirements: During this initial phase, system requirements and analysis are performed to
determine the feature set and needs of users. Just as with the same phase from the waterfall model or
other similar methods, spending enough time and creating thorough user requirement documentation is
critical during this phase, as it only occurs once. Another component unique to the V-Model is that
during each design stage, the corresponding tests are also designed to be implemented later during
the testing stages. Thus, during the requirements phase, acceptance tests are designed.
5
SDLC MODELS
System Design: Utilizing feedback and user requirement documents created during
the requirements phase, this next stage is used to generate a specification document that will outline all
technical components such as the data layers, business logic, and so on.
System Tests are also designed during this stage for later use.
Architecture Design: During this stage, specifications are drawn up that detail how the application
will link up all its various components, either internally or via outside integrations. Often this is referred
to as high-level design. Integration tests are also developed during this time.
Module Design: This phase consists of all the low-level design for the system, including detailed
specifications for how all functional, coded business logic will be implemented, such as models,
components, interfaces, and so forth. Unit tests should also be created during the module design phase.
Coding: At this point, halfway through the stages along the process, the actual coding and
implementation occur. This period should allot for as much time as is necessary to convert all previously
generated design and specification docs into a coded, functional system. This stage should be fully
complete once the testing phases begin.
Unit Testing: Now the process moves back up the far side of the V-Model with inverse testing,
starting with the unit tests developed during the module design phase. Ideally, this phase should
eliminate the vast majority of potential bugs and issues, and thus will be the lengthiest testing phase of
the project.
That said, just as when performing unit testing with other development models, unit tests cannot (or
should not) cover every possible issue that can occur in the system, so the less granular testing phases
to follow should fill in these gaps.
Integration Testing: Testing devised during the architecture design phase are executed here,
ensuring that the system functions across all components and third-party integrations.
System Testing: The tests created during system design are next executed, largely focusing on
performance and regression testing.
Acceptance Testing: Lastly, acceptance testing is the process of implementing all tests created
during the initial requirements phase and should ensure that the system is functional in a live
environment with actual data, ready for deployment.
6
SDLC MODELS
Easy to manage due to the rigidity of the model. Each phase has specific deliverables and a
review process.
Spiral Model:
Spiral model – is SDLC model, which combines architecture and prototyping by stages. It is a
combination of the Iterative and Waterfall SDLC models with the significant accent on the risk analysis.
The main issue of the spiral model – is defining the right moment to make a step into the next stage. The
preliminary set time frames are recommended as the solution to this issue. The shift to the next stage is
done according to the plan, even if the work on the previous stage isn’t done yet. The plan is introduced
basing on the statistical data, received during the previous projects even from the personal developer’s
experience.
7
SDLC MODELS
Iterative Model:
Iterative process starts with a simple implementation of a subset of the software requirements and
iteratively enhances the evolving versions until the full system is implemented. At each iteration, design
modifications are made and new functional capabilities are added. The basic idea behind this method is
to develop a system through repeated cycles (iterative) and in smaller portions at a time (incremental).
Iterative and Incremental development is a combination of both iterative design or iterative method and
incremental build model for development. "During software development, more than one iteration of
8
SDLC MODELS
the software development cycle may be in progress at the same time." This process may be described as
an "evolutionary acquisition" or "incremental build" approach."
In this incremental model, the whole requirement is divided into various builds. During each iteration,
the development module goes through the requirements, design, implementation and testing phases.
Each subsequent release of the module adds function to the previous release. The process continues till
the complete system is ready as per the requirement.
Agile Model:
Agile SDLC model is a combination of iterative and incremental process models with focus on process
adaptability and customer satisfaction by rapid delivery of working software product. Agile Methods
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.
9
SDLC MODELS
At the end of the iteration, a working product is displayed to the customer and important stakeholders.
The Agile thought process had started early in the software development and started becoming popular
with time due to its flexibility and adaptability.
FYP Project:
Reason: We will develop this application and our supervisor and evaluator will check it’s working.
They will ask us how we have developed the different modules of this application. After this we will
defend it. Then it is possible that they can suggest us some changes which can improve the functionality
of our application.
To make late changes in our project we will use agile model. On the bases of supervisor and evaluator
opinion we will make some changes.
In real agile approach we allow stockholder or user to suggest some changes. Here instead of user we
will ask supervisor and evaluator.
11