WIH3001 - Lecture Slides Week 3 - 2024 - Extended
WIH3001 - Lecture Slides Week 3 - 2024 - Extended
WIH3001 - Lecture Slides Week 3 - 2024 - Extended
(WIH3001)
Systems Analysis & Design
Dr Bukelwa Ngoqo
E-mail : bukelwa.ngoqo@mandela.ac.za
Office number : R253
Outline
SDLC (Recap)
SDLC – Models/Types (Recap)
Project documentation
What is the SDLC?
The software development lifecycle (SDLC) is a framework that development
teams use to produce high-quality software in a systematic and cost-
effective way.
SDLC provides a well-structured flow of phases that help an organization to
quickly produce high-quality software which is well-tested and ready for
production use.
It is also called as Software Development Process
What is a process?
https://echoua.com/sdlc-models-full-guide
Waterfall…continued
Pros
The Waterfall development cycle is highly structured, which means that
everyone understands their duties at any given time. With detailed
documentation, it’s also easier to train fresh team members.
Easy to manage. Each SDLC stage has transparent and stable schedules,
checkpoints, and deliverables.
Cons
Initial uncertainty. It is challenging to set up complete business requirements far
in advance.
The Waterfall model leaves very little room for addressing modifications and
adapting to changing requirements.
Cost of error. Being highly-structured and regulated, the Waterfall software
development process makes it tough to correct a fundamental defect in time.
Iterative
https://echoua.com/sdlc-models-full-guide
Iterative…continued
Pros
You can adjust the requirements and the technical specs of the project on the fly
and at lower costs.
Flaw detection. With the iterative method, you get an early working prototype,
which helps to minimize the cost of bug fixing.
Customer evaluation. Since working software is delivered early, you can gain
important insights from the customer and adjust it as needed.
Cons
Management complexity. The whole process requires more management efforts
compared to the linear model.
The Iterative SDLC Model is a resource-consuming system life cycle model. In
addition, it requires risk analysis expertise.
Spiral
https://echoua.com/sdlc-models-full-guide
Spiral…continued
Pros
Risk mitigation. Workflow is separated into smaller bits. If some risk arises, the
team can close the current phase earlier to take care of it.
You can make adjustments and throw in new features even in the late phase.
V-shaped
https://echoua.com/sdlc-models-full-guide
V-shaped…continued
Pros
Easy to control. Each phase delivers clear and concrete results, making it easy to
control and measure success.
Flaw detection. Product verification and testing take place at an early stage.
Cons
In case of any adjustment, you must review and update the requirements along
with the test documentation.
The V-shaped model doesn’t produce an early-stage software prototype.
Technical resources. This approach requires more technical resources and high
testing expertise.
Agile
https://echoua.com/sdlc-models-full-guide
Agile…continued
Pros
Great flexibility. Agile system development life cycle is welcoming to the
improvement of functional requirements at any stage of development.
Agile software development phases divide the development process into short
iterations with clear deliverables.
Fast release. Agile methodology phases enable early software prototype
release.
Flaw detection. Versatile change process allows minimizing the cost of error.
Cons
Product completion time is uncertain. Frequent adjustments and changes
may drag out product deployment significantly.
Constant changes and improvements complicate the final cost estimation.
New requirements may be contrary to the existing architecture.
Big Bang
https://echoua.com/sdlc-models-full-guide
Big Bang…continued
Pros
Big Bang is a straightforward and easy-to-manage approach.
This model provides the developers with great freedom to act on their ideas.
Cons
Significant risks and uncertainty.
Doesn’t suit well for complex and long-term projects.
Can become very pricey if the IT team misunderstands the requirements.
Rapid Application Development (RAD)
https://echoua.com/sdlc-models-full-guide
Rapid Application Development…continued
Pros
Better quality. Early user access helps to define and address critical design and
technical flaws.
RAD model enables improvement of the prototypes to shape them into the
desired product.
Cons
Continuous interaction between users and devs consumes time and resources.
Lack of attention to the non-functional requirements.
Software Prototype
https://echoua.com/sdlc-models-full-guide
Software Prototype…continued
Pros
User involvement and feedback before the implementation of the solution.
The team can detect missing functionality, system, and design flaws at an early
stage.
Cons
Building prototypes may consume too much time and resources.
End-users may confuse a rough prototype with a completed product, thus
threatening to reputation loss.
SDLC - Documentation
Terminology:
• BRS (Business Requirements Specifications)
• SRS (Systems Requirements Specifications)
• HLD (High Level Design)
• DLD (Detailed Level Design)
• UTCs (User Test Cases)
Project Documentation Uses
Any Qs?