systems analysis and design

King Saud University
College of Computer and Information Sciences – Almuzahmiyah Branch
systems analysis and
design
Chapter 1
INTRODUCTION
Dr Maddeh Mohamed 2016-2017
1
Learning Objectives

Recall the basic types of computer-based systems that a systems analyst
needs to address.

Realize what the many roles of a systems analyst are.

Understand what CASE tools are and how they help a systems analyst.

Introduce three development methodologies: SDLC, the Agile approach, and
Object-oriented systems analysis and design.
Dr Maddeh Mohamed 2016-2017
2
Basic Concepts
Systems analysis and design is a systematic approach
to:
1. Identifying problems, opportunities, and objectives.
2. Analyzing the information flows in organizations,
such as:

data input or data flow

processing or transforming data

data storage and information
3. Designing computerized information systems to solve
a problem.

Dr Maddeh Mohamed 2016-2017
3
Basic Concepts
FIGURE 1-1 An organizational approach to systems analysis and
design is driven by methodologies, techniques, and tools
Dr Maddeh Mohamed 2016-2017
4
System Analyst
5

System analyst is a person who can start
from a complex problem, break it down
logically, and identify the reasonable
solutions.

The system analyst views a systems
situation in terms of its scope, objectives,
and the organizational framework. She/he
plays many roles, balancing several at
same time.
Find the problem
Dr Maddeh Mohamed 2016-2017
Analysis the problem
Solve the problem
5
Data, Information, Knowledge

Data... data is raw. It can exist in any form, usable or not.
In computer parlance, a spreadsheet generally starts out
by holding data.

Information... information is data that has been given
meaning by way of relational connection.

Knowledge... knowledge is the appropriate collection of
information, such that it's intent is to be useful.
Knowledge is a deterministic process.
Dr Maddeh Mohamed 2016-2017
6
Data, Information, Knowledge

Data represents a fact or statement of event without relation
to other things.
Ex: It is raining.

Information embodies the understanding of a relationship of
some sort, possibly cause and effect.
Ex: The temperature dropped 15 degrees and then it started
raining.

Knowledge represents a pattern that connects and generally
provides a high level of predictability as to what is described
or what will happen next.
Ex: If the humidity is very high and the temperature drops so it
rains.
Dr Maddeh Mohamed 2016-2017
7
Hardware and Software
•
Hardware refers to
the physical layer of
the information. The
component includes
computers, networks,
communications
equipment, scanners,
printers, digital
capture devices and
other technologybased infrastructure.
Dr Maddeh Mohamed 2016-2017
•
System software
• Application software
controls the hardware consists of programs that
and software
process data to produce
environment and
information needed by
includes the
user. (Ex. Word
operation system,
processors, DBMS)
communications
• It is also designed to
software and utility
support specific
programs.
organizational functions or
processes.
8
Business Information System

An information system is the effective use of hardware, software, database,
procedures, and interface to achieve specific results that support the
company’s business objectives.
Dr Maddeh Mohamed 2016-2017
9
Fundamentals of different types of
Information systems

Information systems are developed for different purpose,
depending on the needs of human users and the business.

A systems analyst may be involved with any or all of these systems.
Dr Maddeh Mohamed 2016-2017
10
Fundamentals of different kinds of
Information systems (cont.)
Operational level: perform routine functions.
 Transaction processing systems (TPS).
 Knowledge level: develop day-to-day plans & supervise operational personnel.
 Knowledge work systems (KWS).
 higher level: develop short-range goals, and plans.
 Management information systems (MIS).
 Decision support systems (DSS).
 Expert systems (ES)
 Strategic level: develop long-range goals, plans, and strategies.
 Group decision support systems (GDSS)
 Executive support systems (ESS).
 Computer-supported collaborative work systems (CSCWS).

Dr Maddeh Mohamed 2016-2017
11
Roles of Systems Analyst
 The system analyst is responsible for a wide range of
activities such as :
• Selecting hardware and software packages.
• Designing computer files.
• Training users.
• Recommending improvements to business procedures.
• Building a new Web site.
• Plans project , Develop schedules, Estimate costs.
Dr Maddeh Mohamed 2016-2017
12
Roles of Systems Analyst
(cont.)

Systems analysts act as:
1.
Outside Consultants to businesses
The systems analyst may be hired to address
information systems issues within a business.
2.
Change agents



Dr Maddeh Mohamed 2016-2017
Acting as an a agent of change.
Develops a plan for change.
Works with others in facilitating that change.
13
Roles of Systems Analyst
(cont.)

Systems analysts act as:
3. Supporting Experts within a business



Dr Maddeh Mohamed 2016-2017
The analyst draws on professional expertise
concerning computer hardware and software and
their uses in the business.
He serves as a resource for those who are
managing a systems project.
He supports business decision making.
14
Qualities of the System
Analyst

To be a successful systems analyst, analytical,
technical, management, communication skills are
necessary.
A.
B.
C.
D.
E.
Dr Maddeh Mohamed 2016-2017
Problem solving abilities -- Problem
solver.
Communication skills -- Be a communicator capable of relating
meaningfully to other people. Get information requirements
from users.
Computer experience -- Can systematically handle the situation,
through application of tools, techniques and experience.
Need enough computer experience to program. Understand
the capabilities of computers.
Self-discipline and self-motivation -- is able to manage and coordinate
project resources, including other people.
Project management capabilities -- Communicate what is needed to
programmers. Need to posses strong personal and
professional ethics.
15
A Modern Approach to Systems
Analysis and Design

1950s: focus on efficient automation of existing processes (computer
programmers created, edited and stored their programs line by line
on punched cards)

1960s: advent of procedural third generation languages (3GL) faster and more
reliable computers

1980s: major breakthrough with 4GL, CASE tools, object-oriented methods

1990s: focus on system integration, GUI applications, client/server platforms,
Internet

The new century: Web application development, wireless PDAs and smart
phones, component-based applications, application service providers (ASP)
Dr Maddeh Mohamed 2016-2017
16
Developing Information Systems

System Development Methodology is a standard process followed in an
organization to conduct all the steps necessary to analyze, design,
implement, and maintain information systems.

The Systems Development Life Cycle (SDLC) is a systematic approach to
solving business problems

SDLC is the overall process of developing information systems through a multi
step process from investigation of initial requirements through analysis,
design, implementation and maintenance.

The SDLC is a complete set of steps. The steps are not purely linear: steps
overlap in time.
Dr Maddeh Mohamed 2016-2017
17
Systems Development Life Cycle (SDLC)
Traditional methodology used to develop,
maintain, and replace information systems
 Phases in SDLC:

 Planning
 Analysis
 Design
 Implementation
 Maintenance
Dr Maddeh Mohamed 2016-2017
18
Standard and Evolutionary Views of
SDLC
FIGURE 1
Systems development life cycle
Dr Maddeh Mohamed 2016-2017
FIGURE 2 Evolutionary model
19
Systems Development Life Cycle
(SDLC) (Cont.)

Planning – an organization’s total information system needs are identified,
analyzed, prioritized, and arranged

Analysis – system requirements are studied and structured

Design – a description of the recommended solution is converted into
logical and then physical system specifications
Dr Maddeh Mohamed 2016-2017
20
Systems Development Life Cycle
(SDLC) (Cont.)

Logical design – all functional features of the system chosen for
development in analysis are described independently of any computer
platform

Physical design – the logical specifications of the system from logical
design are transformed into the technology-specific details from which all
programming and system construction can be accomplished
Dr Maddeh Mohamed 2016-2017
21
Systems Development Life Cycle
(SDLC) (Cont.)

Implementation – the information system is coded, tested, installed and
supported in the organization

Maintenance – an information system is systematically repaired and improved
Dr Maddeh Mohamed 2016-2017
22
Systems Development Life Cycle (SDLC)
(Cont.)
SDLC Model : A framework that describes the activities
performed at each stage of a software development project.

Waterfall Model

V-Shaped Model

Prototyping

Rapid Application Development

Spiral Model
Dr Maddeh Mohamed 2016-2017
23
Waterfall Model Winston W. Royce 1970
Requirements – defines needed
information, function, behavior,
performance and interfaces.
 Analysis: In this phase we
analyze all the gathered
requirements whether the
requirements are valid or invalid.
 Design – data structures,
software architecture, interface
representations, algorithmic
details.
 Implementation – source code,
database, user documentation,
testing.

Dr Maddeh Mohamed 2016-2017
24
Waterfall Model

Test – check if all code
modules work together and if
the system as a whole behaves
as per the specifications.

Installation – deployment of
system, user-training.

Maintenance – bug fixes,
added functionality (an ongoing process).
Dr Maddeh Mohamed 2016-2017
25
Waterfall Strengths

Easy to understand, easy to use

Provides structure to inexperienced staff

Milestones are well understood

Sets requirements stability

Good for management control (plan, staff, track)
Dr Maddeh Mohamed 2016-2017
26
Waterfall Deficiencies
All requirements must be known upfront
 Deliverables created for each phase are
considered frozen – inhibits flexibility
 Does not reflect problem-solving nature of
software development – iterations of phases
 Integration is one big bang at the end
 Little opportunity for customer to preview the
system (until it may be too late)

Dr Maddeh Mohamed 2016-2017
27
When to use the Waterfall Model
Requirements are very well known
 When it is possible to produce a stable design
 E.g. a new version of an existing product
 E.g. porting an existing product to a new
platform.

Dr Maddeh Mohamed 2016-2017
28
V-Shaped SDLC Model Kevin John Forsberg et Harold
Mooz 1990
Dr Maddeh Mohamed 2016-2017

A variant of the Waterfall
that emphasizes the
verification and
validation of the
product.

Testing of the product is
planned in parallel with
a corresponding phase of
development
29
V-Shaped Steps

Project and Requirements Planning
– allocate resources

Coding – transform algorithms into
software

Product Requirements and
Specification Analysis – complete
specification of the software
system

Unit testing – check that each
module acts as expected

Architecture or High-Level Design –
defines how software functions
fulfill the design
Integration and Testing – check that
modules interconnect correctly

Detailed Design – develop
algorithms for each architectural
component
System and acceptance testing –
check the entire software system in
its environment

Production, operation and
maintenance – provide for
enhancement and corrections


Dr Maddeh Mohamed 2016-2017
30
V-Shaped Strengths

Emphasize planning for verification and validation of the product in early
stages of product development

Each deliverable must be testable

Project management can track progress by milestones

Easy to use
Dr Maddeh Mohamed 2016-2017
31
V-Shaped Weaknesses

Does not easily handle concurrent events

Does not handle iterations or phases

Does not easily handle dynamic changes in requirements
Dr Maddeh Mohamed 2016-2017
32
When to use the V-Shaped Model

Excellent choice for systems requiring high reliability – hospital patient
control applications

All requirements are known up-front

When design is stable

Solution and technology are known
Dr Maddeh Mohamed 2016-2017
33
Prototyping Model

Developers build a prototype during the requirements phase

Prototype is evaluated by end users

Users give corrective feedback

Developers further refine the prototype

When the user is satisfied, the prototype code is brought up to the standards
needed for a final product.
Dr Maddeh Mohamed 2016-2017
34
Prototyping Steps





A preliminary project plan is developed
An partial high-level paper model is created
The model is source for a partial requirements specification
A prototype is built with basic and critical functions
The designer builds
the database
 user interface
 algorithmic functions

The designer demonstrates the prototype, the user evaluates
for problems and suggests improvements.
 This loop continues until the user is satisfied

Dr Maddeh Mohamed 2016-2017
35
Prototyping Strengths







Customers can “see” the system requirements as they
are being gathered
Developers learn from customers
A more accurate end product
Unexpected requirements accommodated
Allows for flexible design and development
Steady, visible signs of progress produced
Interaction with the prototype stimulates awareness
of additional needed functionality
Dr Maddeh Mohamed 2016-2017
36
Prototyping Weaknesses

Tendency to abandon structured program
development for “code-and-fix” development

Bad reputation for “quick-and-dirty” methods

Overall maintainability may be overlooked

Process may continue forever (scope creep)
Dr Maddeh Mohamed 2016-2017
37
When to use Prototyping

Requirements are unstable or have to be clarified

As the requirements clarification stage of a
waterfall model

Develop user interfaces

New, original development
Dr Maddeh Mohamed 2016-2017
38
Rapid Application Development Model
(RAD)
Requirements planning phase (a workshop
utilizing structured discussion of business
problems)
 User design phase – users to participate in the
nontechnical design of the system
 Construction phase – productivity tools, such as
code generators, screen generators.
 Cutover phase -- installation of the system, user
acceptance testing and user training

Dr Maddeh Mohamed 2016-2017
39
Rapid Application Development Model
(RAD)
Requirements planning
phase
Construction phase
Dr Maddeh Mohamed 2016-2017
Prototyping
User design phase
Cutover phase
40
RAD Strengths
Reduced cycle time and improved productivity
with fewer people means lower costs
 Customer involved throughout the complete cycle
minimizes risk of not achieving customer
satisfaction and business needs
 Focus moves from documentation to code
 Uses modeling concepts to capture information
about business, data, and processes.

Dr Maddeh Mohamed 2016-2017
41
RAD Weaknesses






Accelerated development process must give quick
responses to the user
Risk of never achieving closure
Hard to use with legacy systems
Requires a system that can be modularized
Developers and customers must be committed to
rapid-fire activities in an abbreviated time frame.
May compromises functionality and performance in
exchange for faster development and better
application maintenance
Dr Maddeh Mohamed 2016-2017
42
When to use RAD

When requirements are not fully understood.

User involved throughout the life cycle

Functionality delivered in increments

High performance not required

System can be modularized
Dr Maddeh Mohamed 2016-2017
43
Spiral SDLC Model Barry Boehm en 1988
Dr Maddeh Mohamed 2016-2017

Adds risk analysis,
prototyping to the
waterfall model

Each cycle involves
the same sequence of
steps as the waterfall
process model
44
Spiral
Determine objectives, alternatives and constraints

Objectives: functionality, performance,
hardware/software interface, critical success factors,
etc.

Alternatives: build, reuse, buy, sub-contract, etc.

Constraints: cost, schedule, man-power, experience
etc.
Dr Maddeh Mohamed 2016-2017
45
Spiral
Evaluate alternatives, identify and resolve risks

Study alternatives relative to objectives and constraints

Identify risks (lack of experience, new technology, tight
schedules, etc.)

Resolve risks
Dr Maddeh Mohamed 2016-2017
46
Spiral Quadrant
Develop next-level product

Typical activites:
 Create
a design
 Review
design
 Develop
 Inspect
 Test
code
code
product
Dr Maddeh Mohamed 2016-2017
47
Spiral
Plan next phase

Typical activities
 Develop
project plan
 Develop
a test plan
 Develop
an installation plan
Dr Maddeh Mohamed 2016-2017
48
Spiral Model Strengths

Provides early indication of insurmountable risks,
without much cost

Users see the system early because of rapid
prototyping tools

Critical high-risk functions are developed first

Early and frequent feedback from users
Dr Maddeh Mohamed 2016-2017
49
Spiral Model Weaknesses
Time spent for evaluating risks too large for
small or low-risk projects
 Time spent planning, resetting objectives,
doing risk analysis and prototyping may be
excessive
 The model is complex
 Risk assessment expertise is required
 Spiral may continue indefinitely

Dr Maddeh Mohamed 2016-2017
50
When to use Spiral Model
When creation of a prototype is appropriate
 When costs and risk evaluation is important
 For medium to high-risk projects
 Users are unsure of their needs
 Requirements are complex
 New product line

Dr Maddeh Mohamed 2016-2017
51
The Computer-Aided Software
Engineering (CASE):


The Computer-Aided Software Engineering
(CASE): is the application of tools, methods, and
disciplines to produce and maintain an automatic
solution to a real-world problem.
CASE tools are automated, microcomputer-based software packages for systems
analysis and design.
Dr Maddeh Mohamed 2016-2017
52
The Computer-Aided Software
Engineering (CASE):

Four reasons for using CASE tools are:
1.
2.
3.
4.

To increase analyst productivity.
Facilitate communication among analysts and
users.
Providing continuity between life cycle phases.
To assess the impact of maintenance.
CASE tools divided into:



Dr Maddeh Mohamed 2016-2017
Upper CASE tools
Lower CASE tools
Integrated CASE
53

Upper CASE tools:
allows the analyst to
create and modify the
system design. All the
information about
project is stored in
CASE repository. The
repository is a collection of
records, elements, diagrams,
screens, reports, and other project
information.
Dr Maddeh Mohamed 2016-2017
54
The Approaches to SDLC (cont.)

Lower CASE tools: are used to generate computer
language source code.

Advantages of code generation:
Dr Maddeh Mohamed 2016-2017

Time to develop new systems decreases.

The time to maintain generated code is less than to maintain traditional
systems.

Computer programs may be generated in more than one language.

Generated code is free from program coding errors.
55
The Approaches to SDLC (cont.)

The Object-oriented Analysis and Design: is an
approach that is intended to facilitate the
development of systems that must change rapidly
in response to dynamic business environments.

It consists of the objects, inheritance and object
class and using Unified Modeling Language UML, to
break down a system into a use case model.
Dr Maddeh Mohamed 2016-2017
56
The Approaches to SDLC (cont.)

Object-oriented (O-O) analysis and design is used
to build object-oriented programs.

Object-oriented (O-O) programming examines the
objects of a system.

Objects are grouped into classes for optimal reuse
and maintainability.
Dr Maddeh Mohamed 2016-2017
57
The Approaches to SDLC (cont.)

Dr Maddeh Mohamed 2016-2017
There are three types of object-oriented analysis and design:

Object-oriented analysis (OOA)

Object-oriented design (OOD)

The Unified Modeling Language (UML), a standardized object-oriented
modeling language
58
The Approaches to SDLC (cont.)

The Agile Approach: is an incremental model. System is developed in
incremental, rapid cycles. This results in small incremental releases with
each release building on previous functionality. Each release is thoroughly
tested to ensure system quality is maintained.

Two words characterize a project done with an
agile approach are interactive and incremental.
Dr Maddeh Mohamed 2016-2017
59
Rational Unified Process (RUP)

An object-oriented systems development methodology

Establishes four phase of development: inception, elaboration, construction,
and transition

Each phase is organized into a number of separate iterations.
Dr Maddeh Mohamed 2016-2017
60
FIGURE 1-13
Phases of OOSAD-based development
Dr Maddeh Mohamed 2016-2017
61
Vertically
Phases
Ativities
Dr Maddeh Mohamed 2016-2017
62
Summary

In this chapter you learned how to:

Define information systems analysis and design.
Describe the information Systems Development Life
Cycle (SDLC).
Explain Rapid Application Development (RAD),
prototyping, Computer Aided Software Engineering
(CASE).
Describe agile methodologies.
Explain Object-Oriented Analysis and Design (OOAD)
and the Rational Unified Process (RUP).




Dr Maddeh Mohamed 2016-2017
63
Dr Maddeh Mohamed 2016-2017
64

http://argouml.tigris.org/
Dr Maddeh Mohamed 2016-2017
65