2. The software development life cycle (SDLC)
is the process for planning, creating,
testing, and deploying an information
system.
Intro
3. •
summarize the software development life cycle (SDLC);
•
compare and contrast categories of life cycle models, such as
waterfall, incremental, and iterative models;
•
describe the differences between software development phases,
activities, and deliverables;
•
list different roles that professionals such as system analysts,
developers, and project managers play in software development
processes; and
•
explain the major methodologies and processes in software
engineering, such as Agile, Lean, Spiral, and Unified.
Learning Outcomes
4. The software-development life-cycle (SDLC) is used to facilitate the
development of a large software product in a systematic, well-defined, and
cost-effective way.
Software Development Life Cycle
12. 12
Traditional System Development life Cycle (SDLC)
•Project planning – initiate, ensure feasibility, plan
schedule, obtain approval for project
•Analysis – understand business needs and processing
requirements
•Design – define solution system based on
requirements and analysis decisions
•Implementation – construct, test, train users, and
install new system
•Support – keep system running and improve it
13. Each of the phases include a set of
steps, which rely on techniques that
produce specific deliverables that
provide understanding about the project.
14. 1 - 14
To Understand the SDLC:
Each phase consists of steps that lead to
specific deliverables
The system evolves through gradual refinement
15. 1 - 15
This phase is the fundamental
process of understanding why an
information system should be built.
The Planning phase will also
determine how the project team will
go about building the information
system.
The Planning phase is composed of
two planning steps.
Planning
16. 1 - 16
1. During project initiation, the system’s business
value to the organization is identified (How will it lower
costs or increase revenues?) as well as the feasibility
of the project from different point of views
2. During project management, the project manager
creates a work plan, staffs the project, and puts
techniques in place to help the project team control
and direct the project through the entire SDLC.
Planning
17. 1 - 17
The analysis phase answers the questions of
who will use the system, what the system
will do, and where and when it will be used.
During this phase the project team
investigates any current system(s), identifies
improvement opportunities, and develops a
concept for the new system.
This phase has three analysis steps.
Analysis
18. 1 - 18
Analysis
1. Analysis strategy: This is developed to guide the
projects team’s efforts. This includes an analysis of
the current system.
2. Requirements gathering: The analysis of this
information leads to the development of a concept for
a new system. This concept is used to build a set of
analysis models.
3. System proposal: The proposal is presented to the
project sponsor and other key individuals who decide
whether the project should continue to move forward.
19. 1 - 19
The system proposal is the initial
deliverable that describes what
business requirements the new
system should meet.
The deliverable from this phase is
both an analysis and a high-level
initial design for the new system.
Analysis
20. 1 - 20
In this phases it is decided how the system
will operate, in terms of the hardware,
software, and network infrastructure; the
user interface, forms, and reports that will
be used; and the specific programs,
databases, and files that will be needed.
Design
21. 1 - 21
Design
1. Design Strategy: This clarifies whether the system
will be developed by the company or outside the
company.
2. Architecture Design: This describes the hardware,
software, and network infrastructure that will be used.
3. Database and File Specifications: These
documents define what and where the data will be
stored.
4. Program Design: Defines what programs need to be
written and what they will do.
5. UI/UX Design: Defines the interface layout and
interaction for a user-friendly experience.
22. 1 - 22
During this phase, the system is
either developed or purchased (in
the case of packaged software).
This phase is usually the longest
and most expensive part of the
process.
The phase has three steps.
Implementation (Trad)
23. 1 - 23
System Construction: The system is
built and tested to make sure it performs
as designed.
Installation: Prepare to support the
installed system.
Support Plan: Includes a post-
implementation review.
Implementation (Trad)
24. 1 - 24
During this phase, the system is
either developed or purchased (in
the case of packaged software).
This phase is usually the longest
and most expensive part of the
process.
The phase has three steps.
Development
25. 1 - 25
1. Programming: Writing and
testing code.
2. System Integration: Combining
all system components.
3. Testing: Ensuring functionality
and fixing issues.
Development
26. 1 - 26
Testing
Testing is a critical step in the development
phase, ensuring the system meets its
requirements and functions correctly.
It involves systematically identifying and fixing
defects to guarantee a reliable and high-quality
system. Testing also evaluates the system's
performance, usability, and compliance with
user needs.
27. 1 - 27
Testing
Key types of testing:
• Unit Testing: Tests individual components or
modules.
• Integration Testing: Verifies interaction between
modules.
• System Testing: Checks the entire system's
functionality.
• User Acceptance Testing (UAT): Confirms the
system meets user requirements.
28. 1 - 28
Deployment
This is the final phase of system development,
where the completed system is delivered and
made operational for end users. It ensures that
the system is installed, configured, and ready
for use in its intended environment.
29. 1 - 29
Deployment
Key steps in the deployment phase:
Installation: Setting up the system on production hardware and
software.
Data Migration: Transferring existing data into the new system.
User Training: Educating users on how to operate the system.
System Monitoring: Observing performance and addressing any
issues post-deployment.
30. 1 - 30
Maintenance
The final and ongoing phase of the
system development lifecycle, where
the system is monitored, updated, and
improved to ensure it continues to
meet user needs and operates
efficiently over time.
31. 1 - 31
Maintenance
Key activities in the maintenance phase:
Bug Fixing: Resolving errors or issues discovered after
deployment.
System Updates: Enhancing functionality or adapting to
changes in requirements or technology.
Performance Monitoring: Ensuring the system operates
optimally.
User Support: Addressing user concerns and providing
assistance.
33. PROBLEM DEFINITION
▶Problem definition phase = Intelligence phase
▶Purpose: To recognize problems or new opportunities that the
existing information system cannot handle
▶Three activities are involved:
▶Establishing the true nature of the problem
▶Establishing the scope of the proposed project
▶Establishing the objectives of the proposed project.
34. FEASIBILITY STUDY
▶Feasibility study is the preliminary study done to investigate the
information needs of perspective users and to determine the
feasibility of the proposed project.
▶Five aspects of feasibility:
▶Economic feasibility
▶Technical feasibility
▶Operational feasibility
▶Organizational feasibility
▶Social feasibility.
35. ECONOMIC FEASIBILITY
▶Economic feasibility is concerned with whether increased revenue, decreased
investment and increased profit will exceed the cost of developing and
operating the proposed system.
▶Budget 10k , sell 30k , generate the profit about 20k. > 70%
TECHNICAL FEASIBILITY
▶To determine the availability of required hardware and software to develop
information systems.
▶Resources – staffs , software / hardware.
▶Power bi, tableau (software)
36. OPERATIONAL FEASIBILITY
▶To determine the willingness and ability of the management and other
end-users to operate, use and support the proposed information system.
ORGANIZATIONAL FEASIBILITY
▶To determine whether the proposed information system is able to support
the objectives of the organization and its strategic plans.
SOCIAL FEASIBILITY
▶To analyze whether the new system would change the way the end-users
socialize among themselves.
37. PROJECT CHARTER
What is a Project Charter?
A Project Charter is a formal document that
authorizes the initiation of a project. It defines the
project’s objectives, scope, stakeholders, and
resources.
It serves as an official agreement between the
project sponsor, stakeholders, and the project team.
38. PURPOSE OF A PROJECT CHARTER
• Defines the Project: Clearly outlines the project’s
purpose, goals, and scope.
• Authorizes the Project: Officially authorizes the project
manager to use resources and begin work.
• Aligns Stakeholders: Ensures all stakeholders are on the
same page regarding expectations and objectives.
• Guides the Project: Provides a reference point for
decision-making throughout the project lifecycle.
39. KEY COMPONENTS OF A PROJECT CHARTER
1. Project Title and Description: The name and a brief
overview of the project.
2. Project Objectives: Clear, measurable goals the project aims
to achieve.
3. Scope: Defines the boundaries of the project, including what
is and isn’t included.
4. Stakeholders: Lists the project sponsor, key stakeholders,
and team members.
5. Resources: Identifies the resources (time, budget, personnel)
allocated to the project.
6. Timeline: High-level schedule with key milestones.
7. Assumptions and Risks: Highlights any assumptions and risks
that could impact the project.
40. IMPORTANCE OF A PROJECT CHARTER
• Clarity and Focus: Helps prevent scope creep by providing a clear
direction.
• Authority and Accountability: Grants the project manager authority
to execute the project and ensures accountability.
• Communication Tool: Serves as a communication tool between
stakeholders, ensuring alignment.
• Risk Management: Helps in identifying potential risks and
assumptions early on.
41. SYSTEMS ANALYSIS
Purpose: To understand the current system and establish the systems
requirement.
It involves activities like data gathering, data analysis, systems requirements and
logical system design.
Funtional Requirements – list of requirements based on functional user needs.
System requirement –list of requirement, uml, activity diagram, use case,
flowchart
System Documentations – FSR, Project charter, PMP
, Proposal, FRS, SRS, SDD and
Contract
42. ACTIVITIES
▶Data gathering: It is done through interviews, questionnaires, observations,
reviewing policies and procedures, collecting sample forms and written
documents. It consumes a lot of energy, time and money.
▶Data analysis: The gathered data is organized into logical flow models.
▶Logical flow models show the flow of data in an information system. They describe the
processes that change data into information. They focus on where data originates, where
and how it is processed and where it goes. By studying the logical flow models, the cause
and effects of the problems and the opportunities for improvement can be identified.
▶Logical system design: The blueprints for the proposed information system. The
proposed information system is constructed using the same logical flow models
method used when analyzing data.
▶Project Management Plan: A comprehensive document that outlines how a project
will be executed, monitored, and closed.
▶ Proposal: A proposal is meant to persuade the recipient to approve or fund the
project or solution. It clearly defines the scope, objectives, timeline, and costs
associated with the proposed work. Provides a roadmap for how the project will be
executed and delivered.
▶Functional Requirements Specification (FRS): The detailed information of the
functional activities should the system have, based on the end-users information needs.
▶Systems Requirements Specification (SRS) The detailed list of things the proposed
information system must be able to do, based on the end-users information needs.
43. SYSTEMS DESIGN
▶Purpose: To convert the systems blueprint formulated during systems analysis into
specific hardware and computer programs.
▶It consists of four activities:
▶ User-Interface design
▶ Data design – data dictionary
▶ Process design – refer activity diagram, flowchart
▶ Systems specification – list of requuirements
44. SYSTEMS DESIGN ACTIVITIES
▶User-Interface design: Focuses on designing the interactive user and
computer dialogues, audio responses, forms, documents and reports.
▶Data design: Focuses on providing detailed specifications regarding
subject matter or
contents, structure, delivery, maintenance and storing of data.
▶Process design: Involved with designing the programs and procedures
needed by the new information system. This activity provides precise
descriptions for the software that will either be purchased or developed
by a commissioned team of developers.
▶Systems specifications: Defines the hardware, communication media and
network to be
used and also the responsibilities of the persons who will operate the
information system.
45. DEVELOPMENT
Overview of Development:
Focus: Transforming design blueprints into functional systems.
Key Activities:
• User-interface design: Interaction elements (dialogues, forms, reports).
• Data design: Data dictionary, data storage, and access specifications.
• Process design: Procedure and software descriptions based on flowcharts and activity
diagrams.
Importance:
• Establishes the foundation for a functional system.
• Ensures compatibility with user requirements.
46. DEVELOPMENT
System Specifications:
• Detailed list of hardware, software, and network needs.
• Defines operational roles and responsibilities.
• Tools and technologies used: e.g., Power BI, Tableau,
programming languages.
Deliverables
• Fully coded system modules.
• System specifications document.
• Prototypes or partial working systems for review.
47. TESTING
Overview of Testing
Ensures all components function as expected.
Key Steps:
• Unit testing: Testing individual components.
• Integration testing: Ensuring components work together.
Debugging
• Identifying and resolving code errors.
• Includes functionality testing and performance optimization.
48. TESTING
File Conversion
• Converting old system data into new formats.
• Examples: CSV to SQL or manual data entry when conversion
isn’t possible.
• Measures for data accuracy and completeness.
Testing Techniques
• System testing: Complete system evaluation.
• User testing: Feedback from end-users to ensure usability.
49. TESTING
User Acceptance Testing (UAT)
Purpose: Confirms the system meets business requirements
and is ready for deployment.
Key Steps:
• Conducted in the user’s environment (pilot or live site).
• Involves end-users performing real-world tasks on the system.
• Tests usability, functionality, and user experience.
Outcomes:
• Provides final approval for deployment.
• Identifies any last-minute issues or user concerns.
50. DEPLOYMENT
Systems Changeover
Methods:
• Direct: Immediate replacement (fast, but risky).
• Parallel: Run both systems together temporarily (safe but
costly).
• Phased: Gradual introduction (low risk, slower).
• Pilot: Test deployment in selected areas (controlled and safe).
Preparation Steps
• Office/site renovation to accommodate the system.
• Testing hardware and infrastructure.
51. DEPLOYMENT
Hardware Acquisition and Installation
• Selection criteria: Cost, quality, warranty, after-sales
support.
• Installation and initial testing.
Software Deployment
• Installation of finalized software on live systems.
• Training sessions for end-users.
• Transitioning files and operations to the new system.
52. MAINTENANCE
Types of Maintenance
1. Corrective: Debugging errors identified during
operations.
2. Adaptive: Modifications due to organizational
changes.
3. Perfective: Improving speed, performance, or
security.
Continuous Support: Regular updates to address
emerging issues or improvements.
53. MAINTENANCE
System Evaluation
• Assessing system performance against objectives.
• Efficiency metrics: Processing speed, response time.
• Effectiveness: How well it supports organizational
goals.
Testing During Maintenance
• End-user testing: Usability evaluations.
• Expert/heuristic testing: Functionality assessments.
54. IMPLEMENTATION (TRAD)
▶Activities:
▶ Site preparation
▶ Hardware acquisition & installation
▶ Software development
▶ Software testing and debugging
▶ File conversion
▶ Systems changeover
55. SITE PREPARATION
▶Office sites need to be renovated to suit the complexity of the new information system.
▶A complex task.
56. HARDWARE ACQUISITION & INSTALLATION
▶The hardware criteria must be identified. (eg: quality, cost, after-sales services, warranty, technical
matters- IT staffs, training, compatibility with the software)
▶The quotations must be requested from potential hardware suppliers.
▶The warranty period is also an important criteria in selecting hardware
▶Then, the hardware they will be installed; minor or major renovations might be necessary.
The installed hardware must also be tested.
▶Eg:
▶Power bi, sas, tableau
57. SOFTWARE DEVELOPMENT
▶If software is not purchased off the shelf, it must be written by programmers.
▶Systems analysts will provide documents to help programmers understand what must be done.
▶The system blueprints provide the guide for the programmers in writing the software programs.
58. SOFTWARE TESTING
▶Software testing and debugging is done to see if they work the way they're supposed to.
▶The individual programs are also tested to see if they work properly together.
59. FILE CONVERSION
▶If data in the files of the current information system can be
converted into the file format of the new information system,
then the file conversion (convert the csv file to sql; sql to csv)
process would be a relatively simple process.
▶However, if data files of the current information system is not
compatible and cannot be converted into the new system, then
data from the current system must be keyed-into the new files.
Measures have to be made to make sure that data keyed in are
accurate.
60. SYSTEMS CHANGEOVER
▶A process of physically replacing the existing information system with the new
information system.
▶A challenging task.
▶Four different methods of carrying out systems changeover:
▶ Direct changeover: Immediate replacement of the current system with the new system.
▶ Parallel changeover: The new and old systems work parallel together for a certain period of time before the old
system is discarded.
▶ Phase changeover: The new system is introduced in portions or phases to replace parts of the old system.
▶ Pilot changeover. The introduction of the system in one of the many sites scheduled to receive this new system.
The system is tested in selected sites that play the role of an experimental guinea pig.
(pilot test site, live site, developer site)
61. MAINTENANCE
▶Three types of maintenance:
▶Corrective maintenance: When errors are detected, then
debugging must
be done quickly to correct the situation.
▶Adaptive maintenance: It is done when an information
system would be directly affected by the changes in
organizational strategies, policies or standards.
▶Perfective maintenance: It is an effort to improve the
speed of processing or response time or to strengthen
security features.
62. SYSTEMS EVALUATION
▶To determine whether the new information
system is fulfilling its objectives or the actions
that need to be done so that it will meet these objectives.
▶Three aspects that require evaluation:
▶Efficiency: To determine whether the quality of
information generated has improved in comparison to
the previous information system. It concerned about
efficiency, they would be concerned about the speed
of processing information or whether the response time has improved with
the new information system.
▶Effectiveness: It can be measured by how well the
information system is contributing to help the
organization achieve its objectives. The evaluation
exercise shows the contribution of the new
information system in improving the response time to customers' orders.
▶Future concern
63. System evaluation
▶ End users testing – test on usability,
▶ Heuristics testing / experts – functionality, what to be improved.
▶ In house testing by IT teams (save budget, functionality, speed…time
response…)
64. Questions
▶ For example, the company eg: HR manager intent to migrate the old version
of the payroll software / system to a new version. While at the same time, he
don’t want the migration process affect the on end-users activity (company
staffs). What types of the system changeover suitable for this scenario.
#64:Parallel Changeover
Why Parallel Changeover is Suitable:
Simultaneous Operation: The old and new systems run concurrently for a defined period. This ensures that if issues arise in the new system, the old system can still handle payroll processing without interruptions.
Minimized Risk: Since the old system remains operational, the company can rely on it as a backup while testing the new system’s functionality and accuracy.
Data Validation: It allows the HR team to compare results from the old and new systems to ensure the new system is functioning correctly before fully switching over.
Gradual Transition: Gives time for employees and administrators to adapt to the new system without affecting ongoing tasks.
Additional Considerations:
Testing: Conduct thorough User Acceptance Testing (UAT) before migration to reduce the chance of issues.
Training: Train staff on the new system during the parallel operation period.
Monitoring: Regularly monitor outputs from both systems to ensure consistency and accuracy.