You are on page 1of 39

System Development Life Cycle

• Presentation-4
INTRODUCTION
• Information systems  the support
structure for meeting the company’s
strategies and goals
• New systems are created
– --- employees request it
– --- to obtain a competitive advantage
Need ???
• Billions of dollars spent yearly on acquisition,
design, development, implementation, and
maintenance of IT systems
• Companies depend on information more than
ever
• ----- Leads to the need of systematic and
strategic approach for development of new
systems
SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)

• Systems development life cycle (SDLC) - a


structured step-by-step approach for
developing information systems
• Typical activities include:
• Determining budgets
• Gathering business requirements
• Designing models
• Writing user documentation
SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)

• The SDLC has 6 phases:


1. Recognition of need
2. Feasibility study and planning
3. Analysis
4. Design
4.1 Development (coding)
4.2 Testing
5. Implementation
6. Maintenance
SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)
SDLC ACTIVITIES
PHASE
1. Recognition of •Preliminary survey/ initial investigation ---
need statement of scope and objectives

2. Feasibility •Evaluation of existing system and procedures


study •Analysis of alternative candidate systems
•Cost estimates

3. Analysis •Data collection --- Gather business


requirements
•Detailed evaluation of present system
SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)
SDLC PHASE ACTIVITIES
4. Design •Design the technical architecture --- general design
specifications (general solution)
•Design system models
•Detailed design specifications---- output, input, files,
procedures, interface, testing technique and criteria,
documentation, user training
4.1 Program •Build technical architecture
Development and •Build databases and programs
Testing •Write test conditions
•Perform testing
•Unit testing
•Combined module testing
•User acceptance testing
SYSTEMS DEVELOPMENT LIFE CYCLE
(SDLC)
SDLC PHASE ACTIVITIES

5. Implementation •Write user documentation


•Provide training
•File/system conversion
6. Post- •Build a help desk
implementation •Evaluation
& Maintenance •Maintenance
•Enhancement---Support system changes
SYSTEMS DEVELOPMENT LIFE CYCLE
(SDLC)
Phase 1: Planning/initial
investigation
• Planning phase –
– What is the problem or opportunity
– involves determining a solid plan for
developing your information system
• Three primary planning activities:
1. Define the system to be developed
• Critical success factor (CSF) - a factor simply
critical to your organization’s success
Phase 1: Planning
2. Set the project scope
• Project scope - clearly defines the high-level system
requirements
• Scope creep - occurs when the scope of the project
increases
• Feature creep - occurs when developers add extra
features that were not part of the initial requirements
• Project scope document - a written definition of the
project scope and is usually no longer than a
paragraph
Phase 1: Planning
3. Develop the project plan including tasks,
resources, and timeframes
• Project plan - defines the what, when, and who
questions of system development
• Project manager - an individual who is an expert in
project planning and management, defines and
develops the project plan and tracks the plan to
ensure all key project milestones are completed on
time
• Project milestones - represent key dates for which you
need a certain group of activities performed
Phase 1: Planning
Phase 2: Feasibility Study
• What are the user’s demonstrable needs?
• Is the problem worth solving?
• How can the problem be redefined?
• Results--- Technical/behavioral feasibility, cost
benefit analysis, statement of new system
scope and Objectives
Phase 3: Analysis
• Analysis phase - involves end users and IT
specialists working together to gather,
understand, and document the business
requirements for the proposed system
– What must be done to solve the problem
– What are the facts
Phase 3: Analysis
• Two primary analysis activities:
1. Gather the business requirements
• Business requirements - the detailed set of knowledge
worker requests that the system must meet in order to
be successful
• Joint application development (JAD) - knowledge
workers and IT specialists meet, sometimes for several
days, to define or review the business requirements for
the system
Phase 3: Analysis
2. Prioritize the requirements
• Requirements definition document – prioritizes the
business requirements and places them in a formal
comprehensive document
– Results---- logical model of system e.g. data
dictionary, data flow diagram, databases (pertinent
data).
Phase 3: Analysis
Phase 4: Design
• Design phase - build a technical blueprint of how the
proposed system will work
• In general, what is the solution? (output and its format)
• Specifically, what is the solution (input and files
specifications, databases)
• Processing/ flow of system
• Does the user approve the system
• How well individual programs/modules test out
• Are programs ready for acceptance test
Phase 4: Design
• Design phase - build a technical blueprint of how the
proposed system will work,
– alternative solutions design,
– cost/benefit analysis,
– hardware, cost, implementation schedule and specifications,
– test plans, formal system test, user approval of system ,
– security audit and operating procedures

• Two primary design activities:


1. Design the technical architecture
• Technical architecture - defines the hardware, software, and
telecommunications equipment required to run the system
Phase 4: Design
2. Design system models
• Modeling - the activity of drawing a graphical
representation of a design
• Graphical user interface (GUI) - the interface to an
information system
Phase 4.1: Development
• Development phase - take all of your detailed
design documents from the design phase and
transform them into an actual system
• Two primary development activities:
1. Build the technical architecture
2. Build the database and programs
• Both of these activities are mostly performed by IT
specialists
Phase 4.2: Testing
• Testing phase - verifies that the system works
and meets all of the business requirements
defined in the analysis phase
• Two primary testing activities:
1. Write the test conditions
• Test conditions - the detailed steps the system must
perform along with the expected results of each step
Phase 4.2: Testing
2. Perform the testing of the system
• Unit testing – tests individual units of code
• System testing – verifies that the units of code function
correctly when integrated
• Integration testing – verifies that separate systems
work together
• User acceptance testing (UAT) – determines if the
system satisfies the business requirements
Phase 5: Implementation
• Implementation phase - distribute the system
to all of the knowledge workers and they
begin using the system to perform their
everyday jobs
• Actual operation?, user manuals ready?, any
delays?
Phase 5: Implementation
• Two primary implementation activities
1. Write detailed user documentation
• User documentation - highlights how to use the system
2. Provide training for the system users
• Online training - runs over the Internet or off a CD-ROM
• Workshop training - is held in a classroom environment
and lead by an instructor
Phase 5: Implementation
• Choose the right implementation method
– Parallel implementation – use both the old and new
system simultaneously
– Plunge implementation – discard the old system
completely and use the new
– Pilot implementation – start with small groups of
people on the new system and gradually add more
users
– Phased implementation – implement the new
system in phases
Phase 6: Maintenance
• Maintenance phase - monitor and support the
new system to ensure it continues to meet the
business goals --- system running well?, require
modification?
• Two primary maintenance activities:
1. Build a help desk to support the system users
• Help desk - a group of people who responds to knowledge
workers’ questions
2. Provide an environment to support system changes
Project termination
• Changing objectives or requirements of the user cannot be met
by existing project
– Requirements are not clearly defined or understood
– Non- involvement of users
– Inexperienced analysts/programmers
– Feasibility study is poor
– User training is poor
– Hardware is not properly planned
– New system has drastic change
– New system was not user-friendly
• Benefits realized are not justified
• Sudden change in user’s budget as compared to estimated
budget
• Project has cost as well as time creep
SYSTEMS DEVELOPMENT METHODOLOGIES

• Developers have different development


methodologies:
– Waterfall methodology
– prototyping
Waterfall Methodology
• Waterfall methodology - a sequential, activity-
based process in which each phase in the SDLC is
performed sequentially from planning through
implementation
Waterfall Model - Application
• Requirements are very well documented, clear
and fixed.
• Product definition is stable.
• Technology is understood and is not dynamic.
• There are no ambiguous requirements.
• Ample resources with required expertise are
available to support the product.
• The project is short.
Waterfall Model - Advantages
• Simple and easy to understand and use
• Easy to manage due to the rigidity of the model. Each phase has
specific deliverables and a review process.
• A schedule can be set with deadlines for each stage of development
and a product can proceed through the development process model
phases one by one
• Works well for smaller projects where requirements are very well
understood.
• Clearly defined stages.
• Well understood milestones.
• Easy to arrange tasks.
• Process and results are well documented.
Waterfall Model – Disadvantages
• No working software is produced until late during the life cycle.
• High amounts of risk and uncertainty.
• Not a good model for complex and object-oriented projects.
• Poor model for long and ongoing projects.
• Not suitable for the projects where requirements are at a moderate
to high risk of changing. So, risk and uncertainty is high with this
process model.
• It is difficult to measure progress within stages.
• Cannot accommodate changing requirements.
• Adjusting scope during the life cycle can end a project.
• Integration is done as a "big-bang”. At the very end, which doesn't
allow identifying any technological or business bottleneck or
challenges early.
PROTOTYPING
• Prototyping - the process of building a model
that demonstrates the features of a proposed
product, service, or system
– Proof-of-concept prototype - used to prove the
technical feasibility of a proposed system
– Selling prototype - used to convince people of the
worth of a proposed system
The Prototyping Process
• The prototyping process involves four steps:
1. Identify basic requirements
2. Develop initial prototype
3. User review
4. Revise and enhance the prototype
The Prototyping Process
Advantages of Prototyping
• Encourages --Active User Participation
• Helps-- Resolve Discrepancies Among Users
• Gives --Users a Feel for the Final System
• Helps-- Determine Technical Feasibility
• Helps-- Sell the Idea of a Proposed System
Disadvantages of Prototyping
• Leads-- People to Believe the Final System Will
Follow
• Gives --No Indication of Performance under
Operational Conditions
• Leads --the Project Team to Forgo Proper
Testing and Documentation

You might also like