Professional Documents
Culture Documents
WK-2-Lecture 4-5-6
Software Development Life Cycle (SDLC)
1. Analysis
2. Design
3. Code/ Implementation
4. Software Testing
5. Software Deployment and Maintenance
Software Process Models
1. Waterfall Model
2. Prototype Model
The system architecture and design are planned based on the gathered
requirements.
This phase includes designing the software components, databases,
interfaces, and other system elements.
Architects define the overall structure of the system, considering
factors like scalability, performance, and security.
3. Implementation or Coding:
During this phase, the actual coding and programming of the software
take place based on the design specifications.
Developers write the code following the coding standards and
guidelines established for the project.
Multiple programming languages and frameworks may be used
depending on the project requirements.
4. Testing:
The software undergoes rigorous testing to identify defects and ensure
its functionality, performance, and security.
Different types of testing, including unit testing, integration testing,
system testing, and acceptance testing, are performed.
Testers verify that the software meets the specified requirements and
report any identified defects for resolution.
5. Deployment & Maintenance
In this phase, the individual software components and modules are
integrated to form a complete and functional system.
The integrated system is deployed in the production environment or
on the client's servers for use.
After deployment, the software enters the maintenance phase, where
updates, enhancements, and fixes are made based on feedback and
changing requirements.
Software Engineering (CSC-205)
The Waterfall Model was the first Process Model to be introduced. It is also
referred to as a linear-sequential life cycle model. It is very simple to understand
and use. In a waterfall model, each phase must be completed before the next phase
can begin and there is no overlapping in the phases.
The Waterfall model is the earliest SDLC approach that was used for software
development.
Waterfall Model -
phase. Each unit is developed and tested for its functionality, which is
referred to as Unit Testing.
Integration and Testing − All the units developed in the implementation
phase are integrated into a system after testing of each unit. Post integration
the entire system is tested for any faults and failures.
Deployment of system − Once the functional and non-functional testing 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 fix those issues, patches are released. Also to enhance the
product some better versions are released. Maintenance is done to deliver
these changes in the customer environment.
All these phases are cascaded to each other in which progress is seen as flowing
steadily downwards (like a waterfall) through the phases. The next phase is started
only after the defined set of goals are achieved for previous phase and it is signed
off, so the name "Waterfall Model". In this model, phases do not overlap.
This model works best in scenarios where not all the project requirements are
known in detail ahead of time. It is an iterative, trial-and-error process that takes
place between the developers and the users.
1. The new system requirements are defined in as much detail as possible. This
usually involves interviewing a number of users representing all the
departments or aspects of the existing system.
2. A preliminary, simple design is created for the new system.
3. The first prototype of the new system is constructed from the preliminary
design. This is usually a scaled-down system and represents an approximation
of the characteristics of the final product.
4. The users thoroughly evaluate the first prototype and note its strengths and
weaknesses, what needs to be added and what should be removed. The
developer collects and analyzes the remarks from the users.
5. The first prototype is modified, based on the comments supplied by the users
and a second prototype of the new system is constructed.
6. The second prototype is evaluated in the same manner as the first prototype.
7. The preceding steps are iterated as many times as necessary, until the users are
satisfied that the prototype represents the final product desired.
Software Engineering (CSC-205)
Customers get a say in the product early on, increasing customer satisfaction.
Missing functionality and errors are detected easily.
Software Engineering (CSC-205)
Step 2: Quick Design: This is the second step in Prototyping Model. This model
covers the basic design of the requirement through which a quick overview can be
easily described.
Step 3: Build a Prototype: This step helps in building an actual prototype from the
knowledge gained from prototype design.
Step 4: Initial User Evaluation: This step describes the preliminary testing where
the investigation of the performance model occurs, as the customer will tell the
strength and weaknesses of the design, which was sent to the developer.
Step 5: Refining Prototype: If any feedback is given by the user, then improving
the client’s response to feedback and suggestions, the final system is approved.
Step 6: Implement Product and Maintain: This is the final step in the phase of the
Prototyping Model where the final system is tested and distributed to production,
here program is run regularly to prevent failures.
Software Engineering (CSC-205)