Name: Dharshini S Course: Mba College: Sri Krishna College of Technology Topic: It

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 26

NAME : DHARSHINI S

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.

Drawbacks of the V model


It is considered an inflexible model, making it difficult to adjust the project’s scope, which can ultimately
become expensive. There are no early prototypes of the software and no clear path for issues discovered during the
testing phases.
This summary of some of the most prominent SDLC methodologies paints an illustrative description of what each
solution entails and which one is best suited for specific project needs and requirements, thus making it easier to
select the right methodology. Next, we are going to talk about some of the most popular SDLC models.
UNIFIED MODELING LANGUAGE (UML)

The Unified Modeling Language (UML) is a general-purpose modeling language that is intended to


provide a standard way to visualize the design of a system.
UML provides a standard notation for many types of diagrams which can be roughly divided into 3 main
groups: behavior diagrams, interaction diagrams, and structure diagrams.
The creation of UML was originally motivated by the desire to standardize the disparate notational systems
and approaches to software design. It was developed at Rational Software in 1994–1995, with further
development led by them through 1996.
It’s a rich language to model software solutions, application structures, system behavior and 
business processes. There are 14 UML diagram types to help you model these behaviors.
Class Diagram
Class diagrams are the main building block of any object-oriented solution. It shows the classes
in a system, attributes, and operations of each class and the relationship between each class.
 
In most modeling tools, a class has three parts. Name at the top, attributes in the middle and
operations or methods at the bottom. In a large system with many related classes, classes are
grouped together to create class diagrams. Different relationships between classes are shown by
different types of arrows.
 
Below is an image of a class diagram
Component Diagram
A component diagram displays the structural relationship of components of a software system. These are mostly used
when working with complex systems with many components. Components communicate with each other using interfaces.
The interfaces are linked using connectors. The image below shows a component diagram.
Deployment Diagram
A deployment diagram shows the hardware of your system and the software in that hardware. Deployment diagrams
are useful when your software solution is deployed across multiple machines with each having a unique configuration.
Below is an example deployment diagram.
Object Diagram
Object Diagrams, sometimes referred to as Instance diagrams are very similar to class diagrams. Like class diagrams, they
also show the relationship between objects but they use real-world examples.
They show what a system will look like at a given time. Because there is data available in the objects, they are used to explain
complex relationships between objects.
Package Diagram
As the name suggests, a package diagram shows the dependencies
between different packages in a system.
Profile Diagram
Profile diagram is a new diagram type introduced in UML 2. This is a diagram type that is very rarely
used in any specification. For more profile diagram templates, visit our diagram community.
Composite Structure Diagram
Composite structure diagrams are used to show the internal structure of a class. Some of the common 
composite structure diagrams.
Sequence Diagram
Sequence diagrams in UML show how objects interact with each other and the order those
interactions occur. It’s important to note that they show the interactions for a particular scenario. The
processes are represented vertically and interactions are shown as arrows.

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.

You might also like