Inss101 17032025
Inss101 17032025
Systems 1
Module code: INSS101
Topic: Software
Development Life Cycle
(SDLC)
Lecturer: Dr LS Mncube
Email: siphamandlaM8@dut.ac.za
Date: 17 March 2025
Presentation
overview
• Phases of Software Development Life Cycle (SDLC).
• Benefits of System Development Life Cycle.
• Planning: Define project goals and feasibility.
• Analysis: Gather and document
requirements.
• Design: Create system architecture and
UI/UX.
• Implementation: Develop, test, and deploy
the system.
• Maintenance: Provide support, fixes, and
updates.
Introduction
• What is SDLC?
Software Development Life Cycle (SDLC) is a
systematic process for developing software.
It ensures high-quality software that meets customer
requirements.
• Reduces risks and errors
• Improves project management and efficiency
Benefits of System Development Life
Cycle
• Clear Goal Descriptions: Developers clearly know the goals they need to
meet and the deliverables they must achieve by a set timeline, lowering the
risk of time and resources being wasted.
• Proper Testing Before Installation: SDLC models implement checks and
balances to ensure that all software is tested before being installed in greater
source code.
• Clear Stage Progression: Developers cannot move on to the next age until
the prior one is completed and signed off by a manager.
• Member Flexibility: Since SDLCs have well-structured documents for project
goals and methodologies, team members can leave and be replaced by new
members relatively painlessly.
• Perfection Is Achievable: All SDLC stages are meant to feed back into one
another. SDLC models can therefore help projects to iterate and improve upon
themselves over and over until essentially perfect.
• Breaks the Project: Again, since SDLCs utilize extensive paperwork and
guideline documents, it is a team effort, and losing one even a major member
will not jeopardize the project timeline.
SDLC Develop?
• Software Development Life Cycle (SDLC) can be used to
develop or engineer software, systems, and even
information systems.
• It can also be used to develop hardware or a
combination of both software and hardware at the same
time.
• There are new seven phases of SDLC include planning,
analysis, design, development, testing, implementation,
and maintenance:
Phase 1: Planning
• Define project scope and objectives.
• Identify stakeholders and risks.
• Create a project plan and timeline.
• The planning stage (also called the feasibility stage) is exactly what it sounds
like the phase in which developers will plan for the upcoming project.
• It helps to define the problem and scope of any existing systems, as well as
determine the objectives for their new systems.
• And help to secure the funding and resources they need to make their plan
happen.
• Perhaps most importantly, the planning stage sets the project schedule, which
can be of key importance if development is for a commercial product that
must be sent to market by a certain time.
Phase 2: Analysis
• Gather business and user requirements.
• Document functional and non-functional requirements.
• Identify constraints and potential issues.
Developers may:
• Define any prototype system requirements
• Evaluate alternatives to existing prototypes
• Perform research and analysis to determine the needs of end-users
• Furthermore, developers will often create a software requirement specification
document.
• This includes all the specifications for software, hardware, and network
requirements for the system they plan to build.
• This will prevent them from overdrawing funding or resources when working at
the same place as other development teams.
Phase 3: Design
Developers will first outline the details for the overall application, alongside specific
aspects, such as its:
• User interfaces
• System interfaces
• Specify hardware, software, and network requirements.
• Network and network requirements
• Databases
They will typically turn the SRS document they created into a more logical structure
that can later be implemented in a programming language.
Operation, training, and maintenance plans will all be drawn up so that developers
know what they need to do throughout every stage of the cycle moving forward.
• This is where Static Application Security Testing (SAST) tools come into play.
Product program code is built per the design document specifications.
• In theory, all of the prior planning and outlining should make the actual
development phase relatively straightforward.
• Programming languages can include staples such as C++, PHP, and more.
• Developers will choose the right programming code to use based on the
Stage 5: Testing Stage
• Building software is not the end. Now it must be tested to make
sure that there are not any bugs and that the end-user experience
will not negatively be affected at any point.
• During the testing stage, developers will go over their software to
find if are there any bugs or defects that need to be tracked, fixed,
and later retested.
• It is important that the software overall ends up meeting the quality
standards that were previously defined in the SRS document.
• Depending on the skill of the developers, the complexity of the
software, and the requirements for the end-user, testing can either
be an extremely short phase or take a very long time
Phase 6: Implementation
• Develop and test the system.
• Integrate system components.
• Conduct initial user training and deployment.
• After testing, the overall design for the software will come together.
• Different modules or designs will be integrated into the primary
source code through developer efforts, usually by leveraging
training environments to detect further errors or defects.
• The information system will be integrated into its environment and
eventually installed. After passing this stage, the software is
theoretically ready for market and may be provided to any end-
users.
Phase 7: Maintenance
• Provide user support and bug fixes.
• Implement software updates and enhancements.
• Optimize system performance.
• The SDLC does not end when software reaches the market.
• Developers must now move into maintenance mode and begin practicing
any activities required to handle issues reported by end-users.
• Furthermore, developers are responsible for implementing any changes
that the software might need after deployment.
• This can include handling residual bugs that were not able to be patched
before launch or resolving new issues that crop up due to user reports.
• Larger systems may require longer maintenance stages compared to
smaller systems
Conclusion
• Ultimately, any development team in both the IT and
other industries can benefit from implementing system
development life cycles into their projects.
• Use the above guide to identify which methodology you
want to use in conjunction with your SDLC for the best
results.
Thank you!!