0% found this document useful (0 votes)
26 views31 pages

IFT 103 Module 8 and 9

Uploaded by

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

IFT 103 Module 8 and 9

Uploaded by

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

IFT103:

SYSTEM DEVELOPMENT LIFE CYCLE(SDLC) I


Visuals / Videos
LESSON OBJECTIVES

• The term “SDLC”


• Describe the key factors of
SDLC
• Common SDLC Models
The software development lifecycle (SDLC)
is the cost-effective and time-efficient
process that development teams use to
design and build high-quality software.

The goal of SDLC is to minimize project


risks through forward planning so that
software meets customer expectations
during production and beyond.
MAIN
CLASS
ACTIVITY

STUDENT
RESPONSE
Waterfall Model

The oldest and best known is the waterfall


model, which uses a linear sequence of
steps. Waterfall has different varieties.
• Mention some of the key factors here:
What are the 7 stages of an SDLC -
(Software Development Life Cycle)

Stage 1: Project Planning. The first stage of SDLC is


all about “What do we want?”
Stage 2: Gathering Requirements & Analysis.
Stage 3: Design.
Stage 4: Coding or Implementation.
Stage 5: Testing.
Stage 6: Deployment.
Stage 7: Maintenance.
System Lifecycle
The system lifecycle is a view of
a system or proposed system
that addresses all phases of its
existence to include system
conception, design and
development, production and/or
construction, distribution,
operation, maintenance and
support, retirement, phase-out,
and disposal.
Preliminary analysis
Conduct with a preliminary analysis, consider alternative solutions, estimate
costs and benefits, and submit a preliminary plan with recommendations.

Conduct preliminary analysis: Identify the organization's objectives and define


the nature and scope of the project. Ensure that the project fits with the
objectives.

Consider alternative solutions: Alternatives may come from interviewing


employees, clients, suppliers, and consultants, as well as competitive analysis.
Cost-benefit analysis: Analyze the costs and benefits of the project.
Systems Analysis, Requirements Definition
Decompose project goals[clarification needed] into defined functions
and operations.

This involves gathering and interpreting facts, diagnosing problems,


and recommending changes. Analyze end-user information needs
and resolve inconsistencies and incompleteness

Collect facts: Obtain end-user requirements by document review,


client interviews, observation, and questionnaires.

Scrutinize existing system(s): Identify pros and cons.


Analyze the proposed system: Find solutions to issues and prepare
specifications, incorporating appropriate user proposals.
Systems design
At this step, desired features and operations are detailed, including screen layouts,
business rules, process diagrams, pseudo code, and other deliverables.

Development
Write the code.

Integration and testing


Assemble the modules in a testing environment. Check for errors, bugs, and
interoperability.

Acceptance, installation, deployment


Put the system into production. This may involve training users, deploying hardware,
and loading information from the prior system.
Evaluation
 The system and the process are reviewed.
Relevant questions include whether the newly
implemented system meets requirements and
achieves project goals, whether the system is
usable, reliable/available, properly scaled and
fault-tolerant.

 Process checks include review of timelines and


expenses, as well as user acceptance.
Systems Analysis and Design

Systems analysis and design (SAD) can be considered a meta-development


activity, which serves to set the stage and bound the problem. SAD can help
balance competing high-level requirements. SAD interacts with distributed
enterprise architecture, enterprise I.T. Architecture, and business
architecture, and relies heavily on concepts such as partitioning, interfaces,
personae and roles, and deployment/operational modeling to arrive at a
high-level system description.

This high-level description is then broken down into the components and
modules which can be analyzed, designed, and constructed separately and
integrated to accomplish the business goal. SDLC and SAD are
cornerstones of full life cycle product and system planning.
System Investigation
 During this step, current priorities that would be affected
and how they should be handled are considered. A
feasibility study determines whether creating a new or
improved system is appropriate.

 This helps to estimate costs, benefits, resource


requirements, and specific user needs.

 The feasibility study should address operational,


financial, technical, human factors, and legal/political
concerns.
Analysis
 The goal of analysis is to determine where the
problem is.

 This step involves decomposing the system


into pieces, analyzing project goals, breaking
down what needs to be created, and
engaging users to define requirements.
Design
 In systems design, functions and operations are described in detail, including
screen layouts, business rules, process diagrams, and other documentation.
Modular design reduces complexity and allows the outputs to describe the
system as a collection of subsystems.

 The design stage takes as its input the requirements already defined. For each
requirement, a set of design elements is produced.

 Design documents typically include functional hierarchy diagrams, screen


layouts, business rules, process diagrams, pseudo-code, and a complete data
model with a data dictionary.

 These elements describe the system in sufficient detail that developers and
engineers can develop and deliver the system with minimal additional input.
Testing
The code is tested at various levels in software testing. Unit, system, and user
acceptance tests are typically performed. Many approaches to testing have been
adopted.

The following types of testing may be relevant:

 Path testing Data set testing


 Unit testing System testing
 Integration testing Black-box testing
 White-box testing Regression testing
 Automation testing User acceptance testing
 Software performance testing
Key Benefits of Utilizing the SDLC Include:
 Improved quality control and testing

 Enhanced collaboration between teams

 Streamlined requirements gathering

 More accurate budget and timeline estimates

 Reduced risk throughout development

 Increased customer satisfaction


Maintenance
Monitor the system to assess its ongoing fitness. Make modest changes and
fixes as needed. To maintain the quality of the system. Even after deployment,
development teams continue maintaining and enhancing the software. Updates
and patches fix issues and add new capabilities.

Post-deployment maintenance activities include:


 Providing technical support
 Managing configuration changes
 Monitoring performance
 Addressing security vulnerabilities
 Adding new features
 Optimizing speed and scalability
The Key Players in the SDLC: Roles and Responsibilities Explained
Delivering quality software requires careful coordination between many roles. Here
are the key players and their responsibilities in the SDLC process:

Project Managers: Oversee the entire project lifecycle. They plan tasks, set timelines,
and manage resources.
Business Analysts: Document requirements based on input from clients and
stakeholders.
Software Architects: design the software framework and infrastructure.
Developers write, debug, and review the source code.
QA Testers: verify the software works by identifying bugs and defects.
Release Engineers: automate and facilitate the build, test, and deployment
processes.
Security Professionals: perform risk assessments and ensure the software is secure.
Product Managers: drive the business objectives and prioritize features.
Technical Writers: create user documentation and training materials.
Strengths and Weaknesses of SDLC
Fundamentally, SDLC trades flexibility for control by imposing structure. It is more commonly
used for large scale projects with many developers.
Alternative Methodologies
Alternative software development methods to systems development life
cycle are:

 Software prototyping
 Joint applications development (JAD)
 Rapid application development (RAD)
 Extreme programming (XP);
 Open-source development
 End-user development
 Object-oriented programming
1.
List in hierarchy order the phases
of system development lifecycles
(SDLC)

2.
Draw and label the phases explained
in the above question.
1. Kindly read up on the previous
terminologies of SDLC.
What are the
relevant IT
skills
Needed here?
END OF LESSON

You might also like