Abstract
This paper contributes
to the literature in system development life cycle (SDLC). It presents two
enhanced SDLC models named seven-step SDLC model and four-step SDLC model. They
are two integrated, independent, and complementary but different SDLC models. The
paper is based on the systematic integration of the traditional four-step SDLC
model with a well-established modern seven-step SDLC model.
The difference in
names shows the numerous changes SDLC has undergone. However, the model has
maintained its reliability and steadfastness for the development of software.
Although there is a debate on the suitable numbers of steps in an SDLC process,
this paper does not aim at deciding for the system developers and analysts.
Introduction
System
development lifecycle is an old method that comes in many forms. However, it is
widely used in the process of system development and acquisition in the field
of information technology (IT). SDLC has evolved over the period it has existed
being a necessity for changing environments and shifting of the paradigm
regarding development and acquiring of software and systems. SDLC phases have
gone through a change of names and number of phases. However, its core has been
similar to the early application in that it is still applicable to various
industries such as business and government among others. SDLC is one of the
dominant system development models making it a must-learn for today’s and
tomorrow’s student. However, there are some types of SDLC models that work for
specific systems while others don’t. They depend on the number of steps
involved.
Seven-step SDLC Model
The
seven-step SDLC model derives its name from the involvement of seven steps of
system development. The seven steps of the model follow one another in
chronological order. It means that the proceeding of a step depends on the
outcomes of the previous step. The system developers and analysts cannot skip a
step as it will cause disaster in the later stages. The seven-step model is a
composition of seven steps through which system development passes. They follow
one another as follows (Highsmith, 1999).
Planning
and Feasibility Study
Project
planning also called feasibility study, helps the system developers and
analysts in establishing a view of the proposed project at a high level. They
also establish goals and objectives of the project. The system developers
achieve planning by problem definition and analysis because it would have been
difficult to plan for a solution to a problem without analysis. There is
collaboration between developers and stakeholders to conduct a feasibility
study. A feasibility study is broken into technical, economic, and operational.
Each of them serves and answers a different question regarding the intended
project (Highsmith, 1999).
System
Analysis and Definition of Requirements
The
second step enables the developers and analysts to refine the objectives of the
intended project into comprehensive functions. The step helps in analysis of
the needs of the end users. Developers and analysts take great care during this
step to ensure the intended system meets the goals of the management too.
Developers meet the stakeholders to identify and determine system requirements
the new system needs. Requirements are documented to ease the process of
inspection (Highsmith, 1999).
System
Design
Developers
and analysts base their system design on the detailed analysis of the user
requirements. System design is one of the most important steps the development
lifecycle. They design the system logically and then physically. The phase
moves the system from "what" descriptions to "how"
descriptions of the system. The step also discusses input and output, database,
system forms, and processing specifications. System designing can get done with
a pen and paper only (Nunes & Cunha, 2000).
Development
Development
is also the programming phase where the system developer builds the system
through programming using computer language. The step helps to turn procedures
into control specifications using specific programming language according to
the needs and specifications of the system. Implementation divides the program
into modules to help in faster implementation, maintenance, and revision where
necessary. The developers use tools such as compilers, interpreters, and
various programming languages (Nunes & Cunha, 2000).
Integration
and Testing
The
developers leave the new system to the testers before implementation to conduct
a test run to remove bugs and errors if there are any. Every successful system
requires passing through the step. The testers develop a test plan through
which the coded program will pass. The plan should have expectations that the
program should meet. Some developers consider testing part of the
implementation, but it is an independent phase. Testing involves program and
system testing (Avison & Fitzgerald, 2006).
Implementation
The
above is the sixth and final stage of the initial stage of system development.
However, the implementation should begin with the user accepting the
development system. The implementation brings the developed system into
production meaning that it turns theory into actual practice. Implementation
goes through user acceptance, installation, and deployment. There may also be
the training of the user and documentation to ease the process using the
system. All the system programs are loaded into the computer of the user during
implementation to enable usage after which user training make begin where
necessary (Avison & Fitzgerald, 2006).
Maintenance
Maintenance
is the explanation of the activities that take place after system
implementation. There may be corrections and additions to the system to make it
better or suitable to the user environment. It is a very important step since
it eliminates errors and bugs during the system life. The system must be made
to meet the requirements of future improvements, functionalities, and other
added functionalities. Maintenance also means regular system review to
determine full system capabilities, determine changes requirements, and study
the system performance (Avison & Fitzgerald, 2006).
Four-step SDLC Model
The
four-step model is the alternative SDLC model to the seven-step model. It is
not simply an SDLC model but a development framework that can be extended and
customized to meet needs of a particular project or client. The SDLC model has
four steps with different names but almost similar activities with the
seven-step SDLC model as seen below (Cockburn, 2000).
System
Inception
Inception
is the smallest phase among all the phases in the model. Additionally, it is
quite short. However, there are instances where the phase is long which
indicate excessive up-front specification. Excessive-up front specification
goes against the requirements of the four-step SDLC model. Inception serves to
meet goals such as the establishment of justification of project, determination
of scope, risks identification, and feasibility. Others are determining whether
the company should buy or develop the system, preparation of the project
schedule, and determining use cases and key system requirements.
System
Elaboration
The
step enables the system developers to determine and capture most of the system
requirements. However, the step serves to address likely system risks as well
as the validating architecture of the system. The developers also undertake to
develop use case diagrams, conceptual diagrams, and package diagrams. The
developers validate system architecture by implementing an executable architecture
baseline. Validation sees the partial implementation of the system. The end of
elaboration step sees a stabilization of the system architecture and a
demonstration that the architecture has the capability to support critical
functionalities of the system. It should also show desirable system behavior
regarding system performance, cost, and scalability. The step delivers
development plan with the inclusion of cost and project schedule (Cockburn,
2000).
System
Construction
System
construction is the most involving and largest step in the development of the
project. System developers build the system based on the outcomes of system
elaboration. The step implements system features in systematic, short, and
timeboxed iterations where each of the iterations enables the system developers
to release executable software. The developers may also create full-text use
cases during the step where each one of the cases enables beginning of a new
iteration. System developers also use several UML diagrams during the step such
activity diagrams, sequence diagrams, interaction diagrams, collaboration
diagrams, and state diagrams (Lindvall & Rus, 2000).
System
Transition
System
transition is the fourth and final step of the four-step SDLC model. The developers
deploy the system to the end users. They release the system in phases where
they encourage feedback from the users. Feedback received from the users after
the initial release may be used to refine the system and incorporate the
changes in the rest of iterative transition phases. Besides releasing the
system to the people, the transition may include user training, conversions of
the system, documentation, and maintenance (Lindvall & Rus, 2000).
Comparison between Seven-step and
Four-step SDLC Models
Seven-step SDLC model is a cut from the
four-step SDLC model. The four-step model is a traditional model of system
development. Therefore, the seven-step model is an enhanced and improved model.
It has better outcomes than the four-step model because of the long process it
takes to develop a system. The seven-step model has more steps of system
development than the four-step model. It means that the four-step model
addresses many details of system development from where the system gains
completeness (Sims, 1997).
The
two models are system development models. Being system development models means
that they have similar goals and objectives of system development. A system
developer may argue that there is no criterion that a developer uses to choose one
model over the other. Therefore, choice of one model over the other depends on
the system requirements and goals and objectives of the whole system. It also
depends on the availability of resources.
Most
system developers strive to reduce time-to-market of a new system. Therefore,
they end up shrinking the steps of SDLC because they will produce a lot of
products in the same out of time and need to gain competitive advantage. It is
the case with the four-step SDLC model. However, shrinking of the cycle times
may lead to compromising of cost, quality, and features of the system. Such a
proceeding is a negative on the side of the four-step model that makes it less
popular system development model than the seven-step model that is more
involving and comprehensive (Sims, 1997).
References
Avison, D. E., &
Fitzgerald, G. (2006). Information
systems development: methodologies, techniques,
and tools. New York: McGraw-Hill.
Cockburn, A. (2000). Selecting a project's methodology. IEEE Software,
17 (4), 64-72.
Highsmith, J. (1999). Adaptive software development. New York:
Dorset House Publishing.
Lindvall, M., &
Rus, I. (2000). Process diversity in software development. IEEE Software, 17 (4),
14-18.
Nunes, N., & Cunha,
J. (2000). Wisdom: A software engineering method for small software development companies. IEEE Software, 17 (4), 113-119.
Sims, D. (1997).
Vendors struggle with costs, benefits of shrinking cycle times. IEEE Computer, 30 (9), 12-14.
Sherry Roberts is the author of this paper. A senior editor at MeldaResearch.Com in legitimate paper writing services if you need a similar paper you can place your order from best custom research papers.
No comments:
Post a Comment