0% found this document useful (0 votes)
27 views9 pages

Approaches To System Development

Uploaded by

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

Approaches To System Development

Uploaded by

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

APPROACHES TO SYSTEM DEVELOPMENT

System development life cycle (SDLC)


-It is the process of planning, creating, testing, and deploying an information
system that can support business needs.
-The SDLC has different phases that help it to perform its task to reach its
goal.
-These phases are: Planning, Analysis, Design, Development, Testing,
Implementation, and Maintenance.
PHASES OF SDLC
PLANNING PHASE
-It is the first phase and one of the most fundamental phases in the SDLC
Process.
-It is at this phase where the system developer defines the main objectives
for the system to be developed.
-The planning stage helps to secure funding/financing and resources that are
needed to make the development of the new system a success.
-Also helps to achieve the user requirements.
ANALYSIS PHASE
-It involves a careful study of the current manual and computerized systems
that may be replaced or improved within the project.
-Also analysts study the structural requirements according to the
components interrelationships and eliminate redundancies.
-This phase answers some questions like who will use the system, the
function of the system, where and when the system will be used.
-During analysis the following steps are followed:
1. An analysis strategy is developed to guide the development project by
the system developers. This includes an analysis of the current system
and its disadvantages.
2. Gathering the requirements to help in the development of a new
system. Information can be gathered through; interviews or
questionnaires.
3. A system proposal is developed in alignment with the information
gathered in order to decide on whether to proceed with the
development of a new system.
DESIGNING PHASE
-During the design phase, lead system developers and technical architects
create the initial high-level design plan for the software and system.
-A designed strategy is developed to clarify whether the system will be
developed by the company’s own programmers or the company will buy an
existing software package.
-An architecture design is developed to describe the hardware, software and
network infrastructure to be used. Then an analyst team
-Development managers will prepare a design document to be referenced
throughout the next phases of the SDLC.
DEVELOPMENT STAGE
-At this stage is where developers actually write code and build the
application according to the earlier design documents and outlined
specifications.
-Also the programmers converts the program specifications into computer
instructions (programs). For this to be made possible programmers use
different programming languages according to the needs to write the
programs. These programing languages include; Python, C++, PHP and
others.
- Developers will choose the right programming code to use based on the
project specifications and requirements.
- Developers need to be open-minded and flexible if any changes are
introduced by the business analyst.
-Also known as the coding phase.
TESTING PHASE
- During the testing stage, developers will go over their software to ensure
that it meets the requirements to make sure that the software is solving the
needs addressed and outlined during the planning phase. All tests are
conducted as functional testing, including unit testing, integration testing,
system testing, acceptance testing, and non-functional testing.
-The software is tested to make sure that there aren’t any bugs and that the
end-user experience will not negatively be affected at any point.

IMPLEMENTATION STAGE
-It is at this stage where the system is installed that is the old system is
turned off and the developed system is now put into use.
-Also a training plan is put into place so as to teach the users on how to use
the new system, by doing this it helps to manage the changes caused by the
new system.
-After passing this stage, the software is theoretically ready for market and
may be provided to any end-user.

MAINTENANCE STAGE
-This is the final stage of the SDLC.
-Developers now practice activities required to handle issues reported by the
end users. They are also responsible for implementing any changes that the
software might need when it is already in use.

MODELS OF SYSTEM DEVELOPMENT


-Models are representations of some important aspect of the real world. A
collection of different types of models is needed to depict the requirements
for an information system or the design of an information system.
-Some of the models are;
1. Waterfall model
2. Iterative model
3. Spiral model
4. V-model
5. Agile model

1. WATERFALL MODEL
-It is the oldest of all SDLC methodologies, here the requirements are
precisely documented and no obscure requirements are made.
-It is given the name waterfall because it moves forward from one stage of
the SDLC to another stage and also it is impossible to move backwards in the
SDLC that is from the last stage to the first stage just like it is hard for a
swimmer to swim upstream against a waterfall.
-Waterfall implies strict documentation. The features expected of each phase
of this SDLC model are predefined in advance. This is because one has to full
complete one stage in order to proceed to the next stage.
Advantages of waterfall model
a) Simple to understand.
b) Management simplicity that is every phase has a defined result and
process review.
c) Easy to determine the key points in the development cycle.
d) Easy to classify and prioritize tasks.
Disadvantages of waterfall model
a) The software is ready only after the final stage.
b) High risk and uncertainty.
c) Inappropriate for long term projects because it takes more time to
complete.
d) Integration is done at the very end, which does not give the option of
identifying the problem in advance.
e) The progress of the stages is hard to measure while it is still in the
development since they rely on each other.
2. ITERATIVE MODEL
-In the iterative model the whole process is divided into a particular number
of iterations, and during each of them, developers build a limited number of
features.
-So, the Iterative SDLC model does not require a complete list of
requirements before the project starts
-It focuses on repetition and repeat testing that is new versions of the
software project are generated at the end of each phase to catch up on
potential errors this allows developers to constantly improve the end product
by the time it is ready to be released to the market.
- Developers can create a working version of the project relatively early in
their development life cycle, so implement the changes are often less
expensive.
-This approach results in constant learning, meaning that during each stage,
the team makes observations and brings new ideas to the next stage.

Advantages of iterative model


a) Some features are quickly developed at the beginning of the
development lifecycle.
b) Paralleled development can be applied.
c) Progress is measurable.
d) Easier to control the risks as higher risk tasks are completed first.
e) Flexibility and readiness to the changes in the requirements.
Disadvantages of iterative model
a) It requires more resources than the waterfall model.
b) Constant management is required and difficult to manage.
c) Risks may not be completely determined even at the final phase.
d) Bad choice for small projects.
e) Issues with architecture or design may occur because not all the
requirements are foreseen during the short planning stage.
3. SPIRAL MODEL
-It is a combination of the Iterative and Waterfall SDLC models with a
significant accent on the risk analysis.
- Projects pass through the main phases again and again in a metaphorically
spiral motion bringing up the name spiral model.
-The major concern in spiral model is defining the right moment to take the
next step into the next phase.
-In most cases the customer is not sure about the requirements.
-It is divided into four major parts
-These are;
1. Determine objectives
2. Identify and resolve risks
3. Development and test
4. Plan the next iteration

Advantages of spiral model


a) Can be used for large projects since development teams can create
customized products and incorporate any received feedback relatively
early in the life cycle.
b) It is scalable. The development process is precisely documented yet
scalable to the changes.
c) The scalability allows to make changes and add new functionality even
at the relatively late stages.
d) It is divided into small parts, and if the risk concentration is higher, the
phase can be finished earlier to address the threats.
Disadvantages of spiral model
a) Can be quite expensive.
b) Can be ineffective for small projects.
c) It requires excessive documentation due to the big number of
intermediate stages.
d) Risk control requires involvement of high skilled professionals.

3. V-SHAPED MODEL
-This model differs from the other models by the work approach and the
architecture.
-It is called the v-model because of the models appearance and also its
primary priorities which are verification and validation.
- The goal of verification is to determine whether the software is consistent
with the initial technical requirements while the goal of validation is to
confirm whether the product corresponds to the business needs, whether it
serves its intended purpose, whether it acts as planned.
-Used for the small and mid-sized projects, where requirements are strictly
predefined.
- A testing phase is incorporated into each development stage to catch
potential bugs and defects.
-This model is an expansion of the waterfall model and it is based on the
associated test stage for every development stage. The next stage kicks off
after the previous stage is over.
Advantages of v-shaped model
a) Testing and verification takes place in the early stages.
b) Good for small projects, where requirements are static and clear.
c) Easy to control since every stage has strict results.
d) Preventing larger bugs from spiraling out of control.
Disadvantages of v-shaped model
a) Lack of flexibility
b) Has relatively big risks

5. AGILE MODEL
-Its first peculiarity is that all work is split into iterations like the iterative
model. -These iterations are named sprints. The team initially defines what
actions they’ll need to perform in a particular timeframe. The main
difference with the iterative approach is that this amount of work is not strict
and can be changed in the middle of the process.
-Each stage in Agile should be analyzed and accepted by all sides before the
development team can move on to the next one.
Advantages of agile model
a) Risks are minimized thanks to the flexible change process
b) Resource requirements are minimum
c) Minimal documentation.
d) Easy to manage.
e) Is a very realistic approach to software development
f) Corrections of functional requirements are implemented into the
development process to provide the competitiveness
Disadvantages of agile model
a) Difficulties with measuring the final cost because of permanent
changes
b) New requirements may conflict with the existing architecture
c) With all the corrections and changes there is possibility that the project
will exceed expected time
d) Transfer of technology to new team members may be quite
challenging due to lack of documentation
EXTREME PROGRAMMING (XP)
-Extreme programming is a software development methodology that’s part
of what’s collectively known as agile methodologies.
-It is an agile software development framework that aims to produce higher
quality software, and higher quality of life for the development team.
-XP is the most specific of the agile frameworks regarding appropriate
engineering practices for software development.
-It was developed to address the specific needs of software development by
small teams in the face of vague and changing requirements.
-It is founded on four main values: communication, simplicity, feedback and
courage which provide a foundation that developers use to create any
system.
-XP uses some key principals to create successful systems are continuous
testing, simple coding performed by pairs of developers, and close
interactions with end users to build systems very quickly
-XP also supports team members in developing their own skills.
RAD MODEL
-Rapid Application Development model (RAD) is a software development
process based on prototyping without any specific planning.
-There is less attention paid to the planning and more priority is given to the
development tasks. It targets at developing software in a short span of time.
-The following are the different phases of the RAD model:

1. Business modeling
2. Data modeling
3. Process modeling
4. Application generation
5. Testing and turnover
Advantages
-flexible and adaptable to changes
- Due to prototyping in nature, there is a possibility of lesser defects
- Each phase in RAD delivers highest priority functionality to client
- Due to code generators and code reuse, there is a reduction of manual
coding
Disadvantages
- It cannot be used for smaller projects
- Requires highly skilled designers or developers
- Reduced scalability occurs because a RAD developed application begins as
a prototype and evolves into a finished application
- Not all application is compatible with RAD
UNIFIED PROCESS
- Unified process model is an architecture centric, use case driven, iterative
and incremental development process.
-This process is divided into different development process, these are
1. Inception- Encompasses both customer communication and the
planning activities.
2. Elaboration-Encompasses the communication and modeling activities
of the main process model
3. Construction-Develops and acquires the software components that
make each use case operational for end users. The necessary features
and functions for the software increment are implemented in the
source code
4. Transition-Encompasses the latter stages of the generic construction
activity and the first part for delivery and feedback activity
5. Production-Ongoing use of the software is monitored and defect
reports and requests for changes are submitted and evaluated
EVOLUTIONARY SOFTWARE PROCESS MODEL
1. INCREMENTAL MODEL
-Is a process of software development where requirements are divided
into multiple modules of SDLC?
-Has the following phases:
1. Analysis –identifies the system requirements
2. Design and development
3. Testing –checks the performance of each existing function and
the additional function
4. Implementation –involves the final coding that design in the
designing phase and tests the functionality in the testing phase.
The system is upgraded up to the final system product.
Advantages
a) Errors are easy to be recognized
b) Easier to test and debug
c) Client gets important functionality early
Disadvantages
a) Cost of development is high
b) Well defined module interfaces are needed
c) Need for good planning
CONCURRENT DEVELOPMENT MODEL
-It is also known as concurrent engineering.
-It maintains information about each phase at the activity level
- Shows the current state of activities, tasks and their associated states that
remain in different phases.
-In concurrent development model all activities are performed parallel with
each other and in each activity a state transition diagram is made.
-All events of an activity are shown as states and there are transitions among
them.

REFERENCES
1. https://www.charterglobal.com/what-are-the-5-phases-in-the-software-
development-life-cycle-sdlc/
2. https://existek.com/blog/sdlc-models/
3. https://www.clouddefense.ai/blog/system-development-life-cycle
4. https://www.tutorialspoint.com/sdlc/sdlc_rad_model.htm
5. https://www.tutorialspoint.com/extreme_programming/
extreme_programming_introduction.htm
6. https://www.guru99.com/what-is-rad-rapid-software-development-
model-advantages-disadvantages.html
7. https://theteche.com/the-unified-process-in-software-engineering/
8. https://www.javatpoint.com/software-engineering-incremental-model

You might also like