0% found this document useful (0 votes)
4 views

lecture02

The document outlines the Systems Development Life Cycle (SDLC), which is a structured process for developing information systems through defined phases including planning, analysis, design, development, testing, implementation, and maintenance. It emphasizes the importance of integrating user requirements and ensuring high-quality outcomes that meet organizational goals. Various methodologies for SDLC, such as Waterfall and Rapid Application Development, are also discussed, highlighting their approaches to system development.

Uploaded by

Jabir Bakar
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

lecture02

The document outlines the Systems Development Life Cycle (SDLC), which is a structured process for developing information systems through defined phases including planning, analysis, design, development, testing, implementation, and maintenance. It emphasizes the importance of integrating user requirements and ensuring high-quality outcomes that meet organizational goals. Various methodologies for SDLC, such as Waterfall and Rapid Application Development, are also discussed, highlighting their approaches to system development.

Uploaded by

Jabir Bakar
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 62

SYSTEMS ANALYSIS AND DESIGN

Lecture two
The System Development Life Cycle (SDLC)

What is an information system (IS)?

Hardware, software, data, System—Set of components


people, and procedures that that interact to achieve
work together to produce common goal
quality information

Businesses use many types of


systems
Why SDLC?
 Information systems (ISs) to be developed for an
organization uses Systems Development Life Cycle
(SDLC)
 Through DSLC integration of various aspects of input
and output of the IS becomes possible.
 SDLC defines the steps of life cycle of development
of any IS so that all of its components are integrated
properly and also goal of organization is achieved at
the same time.
What is SDLC?
 The Systems Development Life Cycle (SDLC) is a
step by step iterative process of developing an
information system that can be used to develop the
information the information system.
 The aim of SDLC is a to develop high quality system
that matches the customer requirements, in terms of
time, cost, effectiveness and efficiency.
What is SDLC?
 The Systems Development Life Cycle (SDLC) is a
step by step iterative process of developing an
information system that can be used to develop the
information the information system.
 The aim of SDLC is a to develop high quality system
that matches the customer requirements, in terms of
time, cost, effectiveness and efficiency.
The System Development Life Cycle
What are guidelines for system development?

Arrange tasks into phases


Involve(groups of activities)
users (anyone for whom
system is being built)

Develop clearly defined standards (procedures


company expects employees to follow)
The System Development Life Cycle
Who participates
in the system
development life
cycle?
The System Development Life Cycle
What is the project team?

Formed to work on project from beginning to end

Consists of users, systems analyst, and other IT professionals

Project leader—one member of the team who


manages and controls project budget and schedule
The System Development Life Cycle
What is documentation?

Collection and summarization


of data and information

Includes reports, diagrams,


programs, and other deliverables
The System Development Life Cycle
What are some reasons to create or modify an
information system?

To correct problem To improve


in existing system existing system

Outside group may Competition can


mandate change lead to change
The System Development Life Cycle
What is a request for system services?
 Formal request for
new or modified
information system
 Also called
project request
SDLC

 SDLC has a number of clearly defined phases and in


each phase and in each phase a set of activities for
system development. Each phase of SDLC uses the
outcome of the previous phase.
 SDLC is used by systems engineers and systems
developers to plan. Design, build, test, and deliver
information systems.
 SDLC aims to produce high-quality systems that meet
or exceed customer expectations, based on customer
requirements, by delivering systems which move
through each clearly defined phase, within scheduled
time frames and cost estimates.
SDLC

 Typical activities include:


 Determine budgets
 Gathering business requirements
 Determining customer requirements
 Designing appropriate models
 Writing user documentation
7 phased of SDLC
SDLC
SN. SDL Phase Activities
1 Planning • Define the system to develop
• Set the project scope by conducting the feasibility study
• Develop the project plan
2 Analysis • Gather business functional requirements
3 Design • Design the technical architecture
• Design system models
4 Development • Build technical architecture
• Build databases and programs
5 Testing • Write test conditions
• Perform testing
6 Integration • Write user documentation/user manual
• Provide training
7 Maintenance • Build a help desk
• Support system changes
Phase 1: Planning Phase
Planning phase
Begins when steering committee receives project request

Steering
committee—
decision-making
body for the
company

Function of committee:

Form project
Review and development
Prioritize Allocate
approve project team for each
project requests resources
requests approved
project
Phase 1: Planning Phase
Planning phase: A concrete plan is made for developing an
information system.
 Planning is important to find out the scope of the problem and
its various possible solutions.
 Planning is important at initial stage to determine the costs,
benefits, resource requirements, and specific user needs
required for completion of the project.
 All activities related to achieve the desired goal are listed in the
form of a document called as PROJECT PLAN.
 The project plan becomes the baseline of development process.
This is developed on the basis of feasibility study.
 The development process is stated only after the feasibility
study report is approved by the management.
The System Development Life Cycle
What is feasibility study?
Operational
Measure of feasibility
how suitable
system Four feasibility
development tests/
will be to the components:
Schedule
company feasibility

Economic
feasibility
(also called Technical
Has to be conducted to feasibility
cost/benefit
check if creating a new feasibility)
or improved version of
system is a viable
solution
Phase 1: Planning Phase
• The feasibility study components/tests:
1. Operational feasibility: if the system can work in user’s
environment.
2. Schedule feasibility: if the project can be developed within the
proposed timeline.
3. Technical feasibility: if the solution is possible in the available
resources and existing technology.
4. Financial feasibility / Economic feasibility: a cost/benefit
analysis i.e. the system can be developed within the proposed
cost.
Important Activities:
- Conduct feasibility study
- Create project plan
Phase 2: Analysis Phase
What is the analysis phase?

Conduct preliminary Perform detailed


investigation analysis
Phase 2: Analysis Phase
What is the preliminary investigation?
 Determine exact nature of problem or improvement
and whether it is worth pursuing
 Findings are presented in feasibility report, also known as a feasibility study
Phase 2: Analysis Phase
What is detailed analysis?
1. Study how current system
works

2. Determine user’s wants, needs,


and requirements

3. Recommend solution

Sometimes called logical design


Phase 2: Analysis Phase
What is the
system proposal? Assesses
feasibility
of each
alternative
solution

Presented to
Recommends
steering
the most
committee,
feasible
which decides
solution for
how system will
the project
be developed
Phase 2: Analysis Phase
What are possible solutions? Horizontal market
software—meets
needs of many
companies
Buy packaged software—prewritten
software available for purchase
Vertical market
software—designed
for particular industry
Write own custom software—software
developed at user’s request

Outsource—have outside source


develop software
Phase 2: Analysis Phase
• Aims at finding the operational and functional requirements of
an intended project or IS by involving the stakeholders.
• Teams involve IT specialists for gathering, understanding,
analyzing and documenting the business requirements for the
proposed system.
• In addition, stakeholders are approached to gather and analyze
all stakeholder requirements to make customer satisfied.
• Several techniques can be used to gather requirements. Such
techniques are Review documentation, Observe, Questionnaire,
Interview, Joint-application design (JAD) session, Research.
Phase 2: Analysis Phase
• Analysis of existing hardware/software
• Aims at finding the operational and functional requirements of an intended
project or IS by involving the stakeholders.
• Teams involve IT specialists for gathering, understanding, analyzing and
documenting the business requirements for the proposed system.
• In addition, stakeholders are approached to gather and analyze all
stakeholder requirements to make customer satisfied.
• Several techniques can be used to gather requirements. Such techniques are
Review documentation, Observe, Questionnaire, Interview, Joint-application
design (JAD) session, Research.
Important activities:
1. Gathering functional requirements
2. Creating system requirement specifications (SRS) OR requirement definition
document (RDD). SRS becomes baseline for agreement between end user and
developers on what the system is to do. It is a complete description of the
functions.
Phase 3: Design Phase
What is the design phase?

Acquire hardware and software

Develop all details of new or


modified information system
Phase 3: Design Phase
What is needed to acquire new hardware and software?
 Identify all hardware and software requirements of new or
modified system

Talk with other


Surf Web
systems analysts

Read print and online


Visit vendors’ stores trade journals,
newspapers, and
magazines
Phase 3: Design Phase
What are three basic documents used to summarize
technical specifications?
Vendor quotes
Identifies Request for quotation (RFQ) price(s) for
product(s) listed
you want product(s)

Vendor selects Request for proposal (RFP)


product(s) that
meet(s) your
requirements and
then quotes Less formal method
price(s) that uses standard
form to request
information about
Request for information (RFI) product or service
Phase 3: Design Phase
How do systems analysts test software products?
 References from vendor
 Talk to current users of product
 Product demonstrations
 Trial version of software
 Benchmark test measures performance
Phase 3: Design Phase
• Relational database model and data dictionary (sometimes
included in systems analysis phase)
• Detailed description of application inputs and outputs
• Detailed conceptual design of forms, reports, application
programs and other application components.
• In general, design phase aims at developing the technical
blueprint of how the proposed system will work.
• As per SRS and various requirements defined in analysis –
screen layouts (GUI), business rules, process diagrams, and
other documentation is prepared in design phase.
• Various diagrams like DFD, ERD, use cases (Unified modeling
language, Decision tables etc are prepared.
Phase 4: Development Phase
• This phase all of your detailed design documents from the
design phase and transform them into an actual system.
• Each component of the design is implemented ad a program
module.
• The end product of this phase if a set of program modules that
can be integrated and implemented after testing them.
Important activities:
1. Building the technical architecture
2. Building the database and programs
• Both of these activities are performed by IT specialists – a
programmer, network engineer, database developer, or any
combination to write the source code.
Phase 5: Integration and Testing Phase
• This phase involves system integration and system testing
normally carried out by Quality Assurance (QA) Professionals
to determine if the proposed system meets the business goals.
• In this phase, we verify that the system works and meets all of the
business requirements defined in the SRS of analysis phase.
• System testing is normally carried out in a planned manner according
to the system test plan document to debug the errors completely.
• Each and every module is tested in isolation and later as an integrated
system also after being integrated.
Phase 5: Integration and Testing Phase
1. Unit testing – tests individual units of code or module.
2. System testing – verifies that the units of code function correctly as
per the requirements.
3. Integration testing – verifies that separate sub systems work together
in integrated manner properly or not.
4. User acceptance testing (UAT) – determine if the system satisfies the
end user requirements.
5. Black box testing – where the functionality of the system is tested
without peering into its internal structures.
6. White box testing – where all internal structures of complete system
are tested in detail.
7. Volume testing – how system behaves in an increased volume.
8. Performance testing – system is tested in terms of responsiveness and
stability
Phase 6: Implementation Phase
• Distribute the actual finished system to all of the knowledge
workers and they begin using the system to perform their
everyday jobs.
• Application/system installation
Important Activities:
1. Write detailed user documentation / user manual
• User documentation – clearly defines all steps to use the system which is
developed to a new user even from scratch.
2. Provide training to the system users
• It is very important to give training to employees and end users.
• It can be online training or offline conducted by an instructor to all
members.
• This explains how to use the new implemented system properly and
optimally to take maximum benefit out of it.
Phase 6: Implementation Phase
Important Activities:
3. Choose the right implementation method
i. Parallel implementation – use both the old and new system
simultaneously for a short time to ensure the new system works
correctly.
ii. Plunge implementation – discard the old system completely and use
the new one
iii. Pilot implementation – start with small groups of people on the new
system and gradually add more users e.g. introducing the system in
only a limited area of the organization such as a division or
department.
iv. Phased implementation – implement the new system in phases i.e. as
each module of the system is converted, the corresponding part of the
old system is retired.
Phase 7: Maintenance Phase
• Aims at monitoring and supporting the new system to ensure it
continues to meet the business goals.
• Maintenance requires much more than the efforts necessary to
develop the product itself.
• Maintenance involves performing any one or more of the
following three kinds of activities:
• Corrective maintenance – correcting errors that were not discovered during the
product development phase.
• Perfective maintenance - improving the implementation of the system and
enhancing the functionalities of the system according to the customer’s
requirements.
• Adaptive maintenance – porting the software to work in a new environment. For
example, porting may be required to get the software to work on a new
computer paltform or with a new operating system.
Phase 7: Maintenance Phase
Important activities
1. Build a help desk to support the system users
• Help desk – a group of people who responds to queries of end
users or knowledge workers.
• Provide an environment to support system changes as per need.
2. Assessment
• The maintenance team assesses how the system is working and takes
steps to keep the system up and running.
3. Objectives
• If the system objectives are not being met, the team must take
corrective actions.
NB: Maintenance can lead to starting the cycle over at the planning phase
if the team discovers the system is not working correctly.
Types of SDLC Methodologiee

1. Waterfall Development methodology


2. Parallel Development Methodology
3. V– Model Methodology
4. Iterative Development Methodology
5. System Prototyping Methodology
6. Throw-away Prototyping Methodology
Waterfall Development Methodology

• Based upon SDLC; assumes a project phase is


complete before moving to the next phase.

• Goal: Doing each phase thoroughly before


moving forward ensures correct and high-
quality outcomes.
Types of SDLC Methodologies/ Models
1. Waterfall Development methodology
Waterfall Methodology Assessment
Waterfall Development Methodology

• Variations of the traditional waterfall


development
• Parallel Development
• V - model

• Again, the goal is to complete each phase


thoroughly before moving forward ensures
correct and high-quality outcomes.
Parallel Development Methodology
Parallel Development Assessment
V – Model or Methodology
V – Model Methodology Assessment
Rapid Application Development Methodology

• Incorporate special techniques and tools in order to


overcome the weakness of waterfall methodology
that seem to take long time.
• CASE tools : tools to automate some or all of the
development processes e.g. visible analyst tool.
• JAD sessions: sessions where users, analysts and
designers sit together in one meeting to discuss
requirements and design of the system.
• Visual programming languages and visual editors of
traditional programming languages e.g. Microsoft
Visual Studio. Study more on
https://en.wikipedia.org/wiki/Visual_programming_l
anguage
Three RAD Approaches

• Iterative development
• A series of versions developed sequentially.
• System prototyping
• Create prototype (model) of system and “grow” it
into the final system.
• Throw-away prototyping
• Prototype alternative designs in an experimental
way
• Build system following prototype design but
discard the actual prototype.
Three RAD Approaches

• Iterative development
• A series of versions developed sequentially.
• System prototyping
• Create prototype (model) of system and “grow” it
into the final system.
• Throw-away prototyping
• Prototype alternative designs in an experimental
way
• Build system following prototype design but
discard the actual prototype.
Iterative Development Methodology
Iterative Development Methodology Assessment
System Prototyping Development Methodology
System Prototyping Development Methodology

• A series of analysis, design and implementation


that goes iteratively while the prototype is
developed.
• First prototype might have the most critical
elements of the system ready for users.
System Prototyping Development Methodology
Assessment
Throw-away Development Prototyping Methodology
Throw-away Development Prototyping Methodology
Assessment
Agile Development Methodology

• Several iterations of full “mini – SDLC” over a


period of time.
• Little of formal design happens in Agile
• Developed to overcome limitations of
traditional and even RAD methodologies;
formal modeling and documentation are
eliminated in favor of face-to-face
communication.
• Goal: Early customer satisfaction; priority
change; priority of communication over
documentation.
Agile Development Methodology
Agile Development Methodology
Selection Summary
Home Assignment

 From the systems you asked in assignments 1, ask the


type of methodology that the system was developed.
 Ask about the benefits/drawbacks of using that
methodology, specific to that organization.

You might also like