SDLC #2
SDLC #2
weaknesses.
Conclusion.
SDLC
The Software Development Life Cycle (SDLC), or
System Development Life Cycle in systems engineering,
information systems and software engineering, is the
entire process of formal, logical steps taken to develop a
software product. The concept generally refers to
computer or information systems.
Phases of SDLC
1. Problem Definition.
2. Program Design.
3. Coding.
4. Debugging.
5. Testing.
6. Documentation.
7. Maintenance.
8. Extension and Redesign
Problem Definition:
Problem definition is the basic and
primary step of software development life cycle. It
includes the goal of system analysis and to determine
where the problem is in an attempt to fix the system.
This step involves "breaking down" the system in
different pieces to analyze the situation.
Requirements Gathering is also a step to
be taken in this stage. Requirements Gathering
sometimes requires individuals/teams from client
as well as service provider sides to get detailed and
accurate requirements.
Program Design:
In systems, design functions and
operations are described in detail, including screen
layouts, business rules, process diagrams and other
documentation. The output of this stage will describe
the new system as a collection of modules or
subsystems. The design stage takes as its initial input
the requirements identified in the approved
requirements document. Design elements describe
the desired software features in detail, and generally
include functional hierarchy diagrams, screen layout
diagrams, tables of business rules,
business process diagrams, pseudo code, and a
complete entity-
Coding:
Modular and subsystem programming code
will be accomplished during this stage. Coding
includes the application of various logic and internal
work done by various specialists. This stage is
intermingled with the next in that individual modules
will need testing before integration to the main
project
Debugging:
Debugging is the process of removing the
errors that occurs during the coding part. Debugging
is essential for this stage establishes the platform
for further stages of development.
Testing:
The code is tested at various levels in software
testing. Unit, system and user acceptance testing’s
are often performed. This is a grey area as many
different opinions exist as to what the stages of
testing are and how much if any iteration occurs.
Documentation:
Documentation is the process of writing down
every stages and each and every details of the
process of life cycle development so that anyone
who follows this process may be able to do it in the
real sense. Documenting the internal design of
software for the purpose of future maintenance and
enhancement is done throughout development.
Maintenance:
Maintaining the system is an important aspect
of SDLC. As key personnel change positions in the
organization, new changes will be implemented,
which will require system updates. Maintenance is
the process of keeping the software in its fully
functional form and see to that nothing goes wrong.
Maintaining and enhancing software to cope with
newly discovered problems or new requirements can
take far more time than the initial development of the
software
Extension and Redesign:
This is the last step of system design where there
is always scope for extension and redesign
whenever required. This stage allows for the
extension of any part for the advancement of the
software or so that the developed software does not
become useless.
This stage allows further designing and
following all the steps again.
Different types of SDLC models:
Several models exist to streamline the development
process. Each one has its pros and cons, and it's up to the
development team to adopt the most appropriate one for the
project. Sometimes a combination of the models may be
more suitable.
1.Waterfall Model
2.Software Prototyping
3.Joint Applications Design (JAD)
4.Rapid Application Development (RAD)
5.Extreme Programming (XP); extension of earlier work in
6.Prototyping and RAD.
7.Open Source Development
8.End-user development
9.Object Oriented Programming
Strengths and weaknesses:
Some people will argue that the SDLC no
longer applies to models like Agile computing, but it
is still a term widely in use in Technology circles.
The SDLC practice has advantages in
traditional models of software development that
lends itself more to a structured environment. The
disadvantages to using the SDLC methodology is
when there is need for iterative development or (i.e.
web development or e-commerce) where
stakeholders need to review on a regular basis the
software being designed..
Conclusion:
Systems and Development Life Cycle
(SDLC) is a process used by a systems analyst to
develop an information system, including
requirements, validation, training, and user
(stakeholder) ownership. Any SDLC should result in
a high quality system that meets or exceeds customer
expectations, reaches completion within time and
cost estimates, works effectively and efficiently in
the current and planned Information Technology
infrastructure, and is inexpensive to maintain and
cost-effective to enhance.