Name: Dharshini S Course: Mba College: Sri Krishna College of Technology Topic: It
Name: Dharshini S Course: Mba College: Sri Krishna College of Technology Topic: It
Name: Dharshini S Course: Mba College: Sri Krishna College of Technology Topic: It
COURSE: MBA
COLLEGE: SRI KRISHNA COLLEGE OF TECHNOLOGY
TOPIC : IT
SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)
The software development life cycle (SDLC) is the process of planning, writing, and modifying
software. It encompasses a set of procedures, methods, and techniques used in software development.
Developers use the approach as they design and write modern software for computers, cloud deployment,
mobile phones, video games, and more.
In IT, the term "life cycle" was first used in the 1950s and 1960s to describe the stages involved in
developing a new computer system, but it is now commonly used to refer to all stages in the production of
any piece of software.
The SDLC is important because it helps ensure that the right people are involved in the right activities
at the right times. A well-defined SDLC also allows you to measure your progress relative to your goals and
gives you a way to ensure everything is on track. Using a structured approach to developing software helps
ensure that your project will be successful by allowing you to:
•Understand your requirements and how you want your software to work
•Identify risks at an early stage
•Plan how you will deliver your solution in stages, such as building prototypes or writing functional
specifications
•Be sure that each stage of development fits with what has gone before and what comes next
SDLC methodology for a project
Software development lifecycle methodologies show how the chosen software development method and the
SDLC phases match up. Depending on the method, the stage length, and the stage order, a global SDLC and a local
SDLC are built for the software as a whole and each iteration in SCRUM, respectively.. You can see how your
development stages match the SDLC stages and try to keep them as close to the same as possible and pay attention
to each stage. In this section, we are going to cover some of the most prominent types of SDLC methodologies.
Waterfall
Known as the traditional methodology, Waterfall is a sequential and linear flow for developing a software
application. The process is outlined by a series of finite stages, each of which must be fully completed before
moving on to the next one. The Waterfall approach follows this order: requirements, design, execution, testing, and
release.
Advantages of Waterfall
It is structured and easy to follow. The activities are well defined and foster careful planning of the project.
Additionally, it has specific deliverables at each stage of the process.
Drawbacks of Waterfall
It is unyielding and complex to go back to any stage after it is finished. It has little flexibility to adjust to
changing scopes. Additionally, it is relatively more expensive than other methodologies and is more time-consuming.
Prototyping
This methodology creates software application prototypes to simulate the functional aspects of a desired final
product. Prototyping is mainly used to visualize software solution components and match them with customer
requirements.
There are several variants of prototyping, but they are primarily categorized into throwaway and evolutionary.
Throwaway prototyping creates a model that will eventually be discarded, and evolutionary prototyping refers to a robust
prototype that will be constantly refined to reach its final version.
Advantages of Prototyping
A functioning version of the software solution can help identify potential risks and threats that can be dealt with on
time, reducing costs and time investment. Additionally, the user is involved and can visualize a working version of the
software.
Drawbacks of Prototyping
A working prototype may cause confusion with the finished version of the system. Often, developers waste a significant
amount of time creating a prototype, and their time could have been t used more helpfully. Additionally, it can be costly to
implement functioning prototypes.
Another drawback of prototypes is the fact that client audiences tend to assume a good-looking prototype means the
software is almost done, when in reality, that’s not typically the case. An additional drawback to consider is how software
design goes on at the same time as development, resulting in many last-minute coding changes.
Spiral
The Spiral methodology can be considered a combination of the waterfall and prototyping methodology. It is
typically the methodology for large and complex projects because it uses the same stages as the Waterfall methodology.
Still, it separates them into planning, risk assessment, and prototype building.
Advantages of Spiral
It provides more realistic estimates of workloads, budgets, and schedules as it discovers challenges and issues in its
early stages. It involves developers right from the get-go and manages both risks and the system’s development in small
phases of segments.
Drawbacks of Spiral
It is a costly methodology that consumes significant time to reach the desired solution. Additionally, it requires a
team of highly-skilled specialists who help evaluate risks and assumptions.
Agile
The iterative and incremental methodology known for excellence, Agile is a framework that evolves through
collaboration between teams. It is a dynamic and interactive methodology that works in sprints with a defined duration
and lightweight deliverables that help reduce the time in which software is released. It advocates for adaptive planning,
evolutionary development, early delivery, continuous improvement, and rapid and flexible responsiveness to changes.
Advantages of Agile
High-quality software, which can be further built upon with successive iterations, is delivered in the least possible
time. It includes a deep involvement from the client, but it remains a very flexible methodology as changes can be
introduced at any project stage. Additionally, Agile fosters a high degree of collaboration between cross-functional teams
and all the involved parties.
Drawbacks of Agile
It requires a team of specialized developers who focus solely on the project at hand and have specific skills. Agile
can be challenging when scaling projects. It also presents constant refactoring as changes are frequent and even more so if
the scope is not adequately defined from the early stages of the project.
V model
The V model methodology is considered an extension of the Waterfall methodology, but instead of flowing down in a
linear way, the steps are designed upward to form a V shape. In many ways, the V model can also be considered a
predecessor to Agile thanks to its sprint-like iterations.
In the V-model methodology, the relationships between each phase of the development lifecycle are associated with a
testing phase. The horizontal and vertical axes display the time or project completeness (left to right) and abstraction level
(coarsest-grain abstraction).
Advantages of the V model
It is relatively easy to use and understand as it has specific deliverables throughout each process phase. It carries
out test plans early in the lifecycle, which helps verify and validate the product.
This article explains the purpose and the basics of Sequence diagrams. Also, check out this complete
Sequence Diagram Tutorial to learn more about sequence diagrams.
Communication Diagram
In UML 1 they were called collaboration diagrams. Communication diagrams are similar to sequence
diagrams, but the focus is on messages passed between objects. The same information can be represented
using a sequence diagram and different object.
Interaction Overview Diagram
Interaction overview diagrams are very similar to activity diagrams. While activity diagrams
show a sequence of processes, Interaction overview diagrams show a sequence of interaction
diagrams.
They are a collection of interaction diagrams and the order they happen. As mentioned before,
there are seven types of interaction diagrams, so any one of them can be a node in an
interaction overview diagram.
CONCLUSION
The UML is non- proprietary and open to all. It addresses the needs of the user and scientific
communities, as established by experience with the underlying methods on which it is based.
Many methodologists, organizations, and tool vendors have committed to using it. Since the
UML builds upon similar semantics and notation from Booch, OMT, OOSE, and other leading
methods and has incorporated input from the UML partners and feedback from the general
public, widespread adoption of the UML should be straightforward.