SE-Layered Approach SDLC
SE-Layered Approach SDLC
-A Layered Technology
Software Engineering-A Layered Technology
● All the layers are connected and each layer demands the fulfillment of the previous layer.
Benefits of Software Engineering as a Layered Technology
Since software demands are getting more complex, the layered approach offers some important
● Better decision-making. The decisions outlined in each layer provide a structure for the
● Early error detection. The layered approach lends itself to identifying and solving errors
● Ease of configuration and maintenance. Helpful feedback, timely testing, and constant
communication help to make the end project easy to configure and maintain.
Layer 1 — Tools
The first layer involves choosing the semi-automated and automated tools that will become the
The second layer establishes the methods of developing the software. This includes any technical
knowledge and resources required for development. Some tasks include choosing methods for:
● Communication
● Analysis
● Modeling
● Program construction
● Communication. Various facts of communication are needed at this point, and in fact, they are
critical to success. First, communication with the client is required to understand the needs,
demands, criteria, and parameters of the project. Team communication disseminates this knowledge
so that everyone is on the same page. Ongoing communication prevents misunderstanding and wasted
man-hours.
● Planning. This sub-layer involves making a map or blueprint to break down the process of development
and document goals, milestones, and plans.
● Modeling. For this part of the process, developers create a model so the client can visualize the
finished product.
● Construction. This sub-layer refers to the actual coding and testing of the product.
● Deployment. This differs from modeling. Rather than just providing the client with a model, the
team delivers an actual version of the software for testing, evaluation, and feedback
Layer 4 — A Quality Focus
At this point, the software is developed and refined to a point, but
➔ Proper planning and execution are the key components of a successful software development process.
➔ The entire software development process includes 6 stages.
Following are the most important and popular SDLC models followed in the industry −
● Waterfall Model
● Iterative Model
● Spiral Model
● V-Model
● Big Bang Model
Goals:
● Financially and technically feasible to
develop the software.
● Understanding the problem and then
determining the various possible
strategies.
● Arrived Solutions analysed:
Benefits
Drawbacks
● Best solution is chosen.
2. REQUIREMENT ANALYSIS AND SPECIFICATIONS
● Requirement Specification:
○ Analyzed requirements are documented in a
software requirement specification (SRS)
document.
○ SRS document serves as a contract
between the development team and
customers.
○ Any future dispute between the customers
and the developers can be settled by
examining the SRS document.
3. DESIGN
Goals:
● Convert SRS to format that can be coded.
● Includes high-level and detailed design of
software architecture.
● A Software Design Document is used to
document all of this effort (SDD)
4. CODING AND UNIT TESTING:
Goals:
● Software design translated to source code.
● Each design module is coded
● Unit testing, check each module working.
5. INTEGRATION AND SYSTEM TESTING
Goals:
● Integration of various modules
incrementally in numerous steps.
● Ater integration it is tested.
● Three kinds of testing:
○ Alpha testing
○ Beta testing
○ Acceptance testing
6. MAINTENANCE
Goals:
● Most important phase of a software life cycle.
● The effort spent on maintenance is 60% of the total
effort spent to develop a full software.
● There are basically three types of maintenance.
○ Corrective Maintenance: carried out to
correct errors that were not discovered
during the product development phase
○ Perfective Maintenance: enhance the
functionalities of the system on customer
request.
○ Adaptive Maintenance: required for
porting the software to work in a new
environment such as working on a new
computer platform or with a new operating
system.
ADVANTAGES:
● No Feedback Path
● Difficult to accommodate Change Requests
● No overlapping of phases
● Limited Stakeholder Involvement
● Lengthy Development Cycle
● Not Suitable for Complex Projects
APPLICATION OF CLASSIC WATERFALL MODEL:
Design Phase:
Testing is initiated in the cycle to identify and locate any potential bugs or
issues that may have been in the software.
Evaluation Phase:
The entire team along with the client, examine the status of the project and
validate whether it is as per the suggested requirements.
Advantages
● Feedback Path
● Cost-Effective - It is highly cost effective to change the plan or
requirements.
● Well-organised - Team can work more on developing rather than
documentation.
● Risk Reduction - Early Identification of risks.
● Higher-quality end product.
● Gaining Customer Satisfaction.
Disadvantages