KEMBAR78
Lect2 Software Engineering 1 | PDF | Software Development Process | Agile Software Development
0% found this document useful (0 votes)
11 views16 pages

Lect2 Software Engineering 1

The document provides an overview of the Software Development Life Cycle (SDLC), detailing its stages including requirement analysis, design, development, testing, deployment, and maintenance. It emphasizes the importance of SDLC in delivering high-quality software that meets user requirements and outlines various SDLC models and factors to consider when choosing an appropriate model. The conclusion highlights the significance of SDLC in structured software development amidst rapid technological changes.

Uploaded by

ceoofblackmagic
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views16 pages

Lect2 Software Engineering 1

The document provides an overview of the Software Development Life Cycle (SDLC), detailing its stages including requirement analysis, design, development, testing, deployment, and maintenance. It emphasizes the importance of SDLC in delivering high-quality software that meets user requirements and outlines various SDLC models and factors to consider when choosing an appropriate model. The conclusion highlights the significance of SDLC in structured software development amidst rapid technological changes.

Uploaded by

ceoofblackmagic
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

Introduction to Software

Engineering

Anand Kumar
Assistant Professor
Department of Computer Science and Engineering,
SEC, Sasaram
Planning and Requirement Analysis
Requirement analysis is also performed by the developers of the organization. This is
obtained from customer inputs, and sales department/market surveys.
The information from this analysis forms the building blocks of a basic project. The quality
of the project is a result of planning.
Software Development Life Cycle
Software development life cycle (SDLC) is a structured process that is used to design,
develop, and test good-quality software. SDLC, or software development life cycle, is a
methodology that defines the entire procedure of software development step-by-step. The
goal of the SDLC life cycle model is to deliver high-quality, maintainable software that
meets the user’s requirements.
Stages of the Software Development Life Cycle
Defining Requirements
All the requirements for the target software are specified. These requirements get approval
from customers, market analysts, and stakeholders.

SRS (Software Requirement Specification) document is finalized in this stage which then
refers as the backbone of the entire project cycle.
Designing Architecture
SRS is a reference for software designers to come up with the best architecture for the
software. With the requirements defined in SRS, multiple designs for the product
architecture are present in the Design Document Specification (DDS).
Developing Product
Developers use a specific programming code as per the design in the DDS. It is important
for the coders to follow the protocols set by the association. Conventional programming
tools like compilers, interpreters, debuggers, etc. are also put into use at this stage. Some
popular languages like C/C++, Python, Java, etc. are put into use as per the software
regulations
Product Testing and Integration
After the development of the product, testing of the software is necessary to ensure its
smooth execution. Minimal testing is conducted at every stage of SDLC, but at this stage, all
the probable flaws are tracked, fixed, and retested. This ensures that the product confronts
the quality requirements of SRS.
Deployment and Maintenance of Products
After detailed testing, the conclusive product is released in phases as per the organization’s
strategy. Then it is tested in a real industrial environment. It is important to ensure its
smooth performance. If it performs well, the organization sends out the product as a
whole.After retrieving beneficial feedback, the company releases it as it is or with auxiliary
improvements to make it further helpful for the customers.
What is the need for SDLC?
SDLC is a method, approach, or process that is followed by a software development organization
while developing any software. SDLC models were introduced to follow a disciplined and systematic
method while designing software. With the software development life cycle, the process of software
design is divided into small parts, which makes the problem more understandable and easier to solve.
SDLC comprises a detailed description or step-by-step plan for designing, developing, testing, and
maintaining the software.
Software Development Life Cycle Models
● Waterfall Model
○ Classical Waterfall Model
○ Iterative Waterfall Model
○ V-Process Model
○ Prototype Model
○ Incremental Development Model
○ Evolutionary Model
● Rapid Application Development(RAD)
● Spiral Model
● Agile Model
How to Choose an SDLC Model?
1. Project Requirements:
● Clear Requirements: Use Waterfall or V-Model if requirements are well-defined and
unlikely to change.
● Changing Requirements: Use Agile or Iterative models if requirements are unclear
or likely to evolve.
2. Project Size and Complexity:
● Small Projects: Use Waterfall or RAD for small, simple projects.
● Large Projects: Use Agile, Spiral, or DevOps for large, complex projects that need
flexibility.
3. Team Expertise:
● Experienced Teams: Use Agile or Scrum if the team is familiar with iterative
development.
● Less Experienced Teams: Use Waterfall or V-Model for teams needing structured
guidance.
How to Choose an SDLC Model? ……Cont.
4. Client Involvement:
● Frequent Client Feedback: Use Agile, Scrum, or RAD if regular client interaction is
needed.
● Minimal Client Involvement: Use Waterfall or V-Model if client involvement is low
after initial planning.
5. Time and Budget Constraints:
● Fixed Time and Budget: Use Waterfall or V-Model if you have strict time and budget
limits.
● Flexible Time and Budget: Use Agile or Spiral if you can adjust time and budget as
needed.
6. Risk Management:
● High-Risk Projects: Use Spiral for projects with significant risks and
uncertainties.
How to Choose an SDLC Model? ……Cont.
7. Product Release Timeline:
● Quick Release Needed: Use Agile or RAD to deliver products quickly.
● Longer Development Time: Use Waterfall or V-Model for projects with no urgent
deadlines.
8. Maintenance and Support:
● Long-Term Maintenance: Use Agile or DevOps for projects needing continuous
updates and support.
● Minimal Maintenance: Use Waterfall or V-Model if little future maintenance is
expected.
9. Stakeholder Expectations:
● High Stakeholder Engagement: Use Agile or Scrum if stakeholders want ongoing
involvement.
● Low Stakeholder Engagement: Use Waterfall or V-Model if stakeholders prefer
involvement only at major milestones.
Different Model Application
● Waterfall: Best for clear, stable projects with minimal changes.
● V-Model: Good for projects with clear requirements and a strong focus on testing.
● Agile/Scrum: Ideal for projects with changing requirements and frequent client
interaction.
● Spiral: Suitable for high-risk projects with evolving requirements.
● RAD: Useful for projects needing rapid development.
● DevOps: Best for continuous integration and ongoing support
Conclusion
Software Development Life Cycle (SDLC) in software engineering is an important
framework for the better and more structured development of optimized software
programs. In a world full of rapid evolution in technology, SDLC phases plays a crucial role
in enabling some good and innovative solutions for helping users and organizations. Also,
it’s better to adapt SDLC principles to achieve software development goals effectively.

You might also like