SYSTEMS DEVELOPMENT
LIFE CYCLE (SDLC)
Murchhana Tripathy
TAPMI
SDLC (Systems Development
Life Cycle)
SDLC: Overall process of developing an information
system (planning, creating, testing, and deploying).
Reasons to create/modify an IS
To correct problem To improve
in existing system existing system
Outside group may Competition can
mandate change lead to change
Phases in SDLC
Planning phase
Project goals are determined
Improve operational efficiency, Enhance customer engagement, automate xyz
process
Project scope
Who will use
Will system interact with other systems?
Which problems will it solve?
In which locations will it be implemented?
Project Schedule (Time required)
Budget
Feasibility study
Feasibility Study
Technical feasibility: Technology & Expertise
Operational feasibility : Refers to the extent to which a
proposed project can be successfully implemented and
integrated into an organization's existing operations and
processes.
Feasibility Study
Economic feasibility : Determines the total cost of
ownership (TOC), ROI
Planning phase (Contd.)
Project manager is selected
Project team is formed
Technique used: Brainstorming
Outcome: Project plan (a formal, approved document
that manages and controls the entire project)
Project plan : Roadmap of the Project with Scope,
Objectives, Initial Project Estimates and key success
indicators
Analysis Phase
Capturing and gathering user requirements : Requirement
Analysis
Requirement Elicitation: Data collection through interviews,
questionnaires, examination of documents, observations
What are the Processes and workflows – Existing system (AS-IS)
What should the new system do? (TO-BE)
Inputs, Outputs, Processes of the new system
Tools: Flowcharts, Data flow diagrams, Use case diagram,
Class diagram, for Requirement representation
Outcome: Requirements specification document
Design Phase
• Database Design
• Process diagrams
• User Interface (UX/UI)
• Report layouts
Tools : Flowcharts, ER Diagrams
Outcome: Design Document/ Blueprint of the new system
Development
Design documents are transformed into the actual system
The project team defines the programming language it will use
to build the system
Coding is done
The company purchases the hardware or software necessary to
support the system development
Testing
Helps in eliminating errors
Verifies that the system meets all the business requirements defined in the
analysis phase
Types of Testing
Alpha Testing: Performed by the development team
with a group of internal users. It focuses on identifying
bugs, usability issues, and functionality gaps before
releasing the product to external users.
Beta Testing: The product is released to a selected
group of external users to evaluate its performance. It
focuses on user feedback and identifying issues, if any.
Helps assess user satisfaction and readiness for
launch.
Unit Testing : Testing individual component/ piece of
code/modules.
Integration Testing: Individual modules or
components are combined and tested as a group to
ensure they work together correctly.
System Testing: Complete system is evaluated to
ensure it meets specified requirements.
User Acceptance Testing (UAT): Final phase of
software testing. End users validate if the system meets
their requirements and is ready for deployment.
Implementation phase
The system is put into actual use
Actual business operations are performed
Conversion to new system
Training of users
User manual is prepared
A help desk is set up
Implementation methods
Support/Maintenance
Provides ongoing assistance after system is
implemented
Corrective: Bug fixing, repair design flaws
Adaptive: Updating a payroll software to integrate
with a new tax system introduced by the government
Perfective: Improving the system, accuracy, add new
feature according to customer needs
Preventive: Reducing chances of future failure
(Updating OS to avoid vulnerabilities)
Traditional Systems development
methods (Waterfall model)
Advantages & Disadvantages of
waterfall model
Advantages
A structured approach of system development
Has lower probability of missing important issues in collecting
user requirements.
Works well for small, well-defined project
Milestones are easy to track.
Disadvantages
May produce excessive documentation.
Takes too long to progress from the original ideas to a working
system.
Users have trouble describing requirements for a proposed
system in the beginning itself.
Prototype model
A prototype is a working version of an information
system
An iterative process of system development that
consists of building an experimental system rapidly
and evaluate its performance by users
User-involvement is high
20
Prototype model
Advantages & Disadvantages of
Prototype approach
Advantages
Better requirement understanding.
User feedback incorporated early.
Reduces risk of failure.
Improves system usability.
Facilitates early testing and adjustments..
Works well for ill-defined problems.
Disadvantages
Can lead to scope creep
Is not practical with large number of users.
User may not want to give up the prototype when the system is completed.
System may be built quickly, which can result in lower quality.
Other System development
approaches
Component-based development
Object-oriented development
Component-based development
Components are reusable modules with specific functionalities
Example: A shopping cart, a user authentication, or a product
catalog
The method involves less programming and more assembly
Object- oriented development
An object-oriented (OO) systems design the aspects of
the real world that must be modeled to perform a task.
Can use class diagram to represent OO design
Some OO concepts: Class and
Inheritance
Attributes
operations
Alternative Methods and Tools for Systems Development
Joint Application Design (JAD)
Rapid Application Development
End-user Development
Agile Development
JAD (Joint Application Design)
Developed by IBM
Tool for collecting user requirements and creating system designs and
hence used in systems analysis and design phases
Involves a group meeting/session
A variety of participants (analysts, users, executives) attend the
meeting
The session leader should not be an expert in systems analysis and
design.
Someone who has excellent communication skills to facilitate
appropriate interactions becomes the session leader
Held off-site
Saves time & efforts of requirement gathering
Rapid Application Development
End-user development
An approach in which the organization’s end users develop
their own applications with little or no formal assistance from
the IT department.
Referred to as Shadow IT (also known as Stealth IT or Rogue
IT).
Easy to work with the tools
Bypasses the security measures that the IT Department is trying
to enforce
Can make systems vulnerable and create avenues for data
breach
If your Shadow IT creates a vulnerability that allows a breach,
you will probably lose your job!
THANK YOU