Structured Analysis

advertisement
Structured Analysis
Infsy 570
Dr. R. Ocker
What is structured analysis?





It focuses on specifying what the
system or application is required to do.
Elements of structured analysis
. Graphical description
. Data Flow Diagrams
. Data Dictionary: definitions of
elements in the system
What is structured Design?


Focus on the development of
software specifications
Three primary modules in SDLC
(1) Analysis
(2) Design
(3) Implementation

various phases within each module
Systems Analysis
A. Objectives of System Analysis

determine if current system is in trouble

determine appropriate alternatives

make recommendation
To establish in detail what the
system is to do







objectives
costs
benefits
implementation process
organizational changes required
defines who the USERS are
Their input and output
Phase 1 Identify problems,
opportunities, and objectives




analyst looks at what is occurring in the
business
look for problems and opportunities
People involved:
users, analysts, systems managers
Phase 1







Activities include:
interviewing user management
summarizing knowledge obtained
estimating scope of project
documenting results
Output of this phase:
feasibility study (report) containing a
problem definition and summarizing the
objectives
Feasibility Study: The Basic
Tasks





Problem Orientation
. Define the problem
. Establish system objectives
. Identify the users
. Establish functional scope
Feasibility Study

Alternative Specification
–
–
–
–
Propose options
Cost-Benefit analysis
Assess project risk
Recommend
Feasibility Study




Technical
Do we have the capability to develop
the
system?
Does the necessary technology exist?
Does the proposed system have the
right:
– response time, interface,

Can the system be expanded?
Feasibility Study





Economic
Is there an economic payoff?
cost of hardware/software/ other
benefits in terms of reduced costs
opportunity costs
Phase 2 Determining Requirements
Phase 3 Analyzing System Needs

goal - determine the requirements of the
new system -- must obtain a consensus
from the user community on the ideal
information system
Requirements
Analyst must understand:
a. the CURRENT SYSTEM
b. what information users need to
perform their jobs
c. why and how current system is no
longer effective
 analyst derives new system
requirements from an analysis and
synthesis of a,b,& c

Requirements

People involved in this phase:

analysts, users - operations managers
and workers
Major steps in determining
requirements for new system
1. Requirements capture and
analysis



The process of deriving system
requirements
accomplished through observation of
existing systems, discussions with
potential users and task analysis.
very time consuming step
Analyst needs to know details of
current system functions





who - the people who are involved
what - the business activity
where - the environment in which the
work occurs
when - the timing of the activity
how - how the current procedures are
performed
2. Requirements definition




document containing an abstract
description of:
- user functions the new system is
expected to provide
- constraints under which the system
must operate.
only specifies the external behavior of
the system - does not cover any
implementation considerations.
2. Requirements definition

written without using any specialized
notations so that it is understandable by
non-systems
professionals
(e.g.,
potential users, system procurers).

becomes the focus for much of the work
involved in developing system
requirements.
3. Requirements specification



document that details the functions that
the system is to include - sometimes
called a functional specification
written using a formal systems
specification language
more precise than the requirements
definition - for use by the technical staff
3. Requirements specification

creation of this document might be
carried out in parallel with some highlevel design (this may be essential) as
the design and requirements activities
influence each other as they develop.
Tools used to determine
requirements

sampling and investigating hard data,
interviewing, questionnaires,
observation, and prototyping
CASE tools


DFD - data flow diagram - used to chart
the input, processes, and output of the
business's functions in a structured
graphical form
data dictionary - developed from the
DFDs; lists all of the data items used in
the system along with their
specifications
Analysts use CASE tools to



1. Increase productivity - draw and
modify diagrams easily
2. Improve analyst-user communication
- same - draw and modify diagrams
easily
CASE tools integrate activities within
the SDLC
types of CASE


1. Upper CASE - used by analysts to
create and modify system design
2. Lower CASE - used to generate
computer source code
Using Data Flow Diagrams





structured approach - take a top-down
approach to system development
system is defined first at a general level overview
successive refinement occurs until the bottom
(primitive) levels are defined.
primitive level - point where specifications can
be translated into lines of code
So...system is decomposed into small
modules that perform simple tasks
Structured Development

the systematic and integrated use of
tools and techniques to aid the analysis
and design of information systems

structured methodologies use one or
more tools to define information flow
and processes.
Structured Development
definition is from top to bottom in
increasing levels of detail.
1.major flows and processes identified
2.these are exploded into subprocesses
3.subprocesses are exploded into more
detail.
 this process can continue to the
primitive level, where programming
begins directly from the exploded

Structured terms






data elements - lowest level of information on
which a process can act
i.e. DB attributes/record fields - e.g. unit price
data stores - places where data are stored;
e.g. files; microfiche, filing cabinets
data flows - represent movement of data in a
system; consist of data input and data output
e.g. forms, reports, invoices, letters
show movement of data about a physical
“thing”
Structured terms

process specifications - definitions of
how processes work

data dictionary - document containing
definitions of all system data; includes
data elements, data structures, data
stores, data flows, and process
specifications
Tools
I.





Hierarchy Chart
graphic tool to represent all the tasks or
processes in a system
groups them into hierarchical levels
one-to-many relationship between
upper and lower levels of the chart
node has single parent and >=0 children
nodes
all sibling nodes have same level of
detail
I.



Hierarchy Chart
functional primitives - bottommost
nodes; get translated into programming
code
control modules - any node above the
functional primitives
topmost node - always single node, ties
whole system together
II. Data Flow Diagrams


DFDs - graphic representation of the
flow of data through a system;
can be physical DFDs or logical DFDs
Logical DFDs






shows sources and sinks (destinations) of
data
identifies and names the logical functions
(processes) of the system
identifies and names the groups of data
elements that connect one process to another
identifies the data stores
each function broken down into more detailed
DFD (levels)
descriptions of processes, flows, stores,
elements recorded in data dictionary
Logical DFDs

All of the above documentation
comprises a logical functional
specification for an existing or new
system.
 a detailed statement of what the system
does/is to do
 free from physical considerations of how it
will be implemented
DFD components (Gane &
Sarson Methodology)

contains combinations of only four
symbols
1. External entities





also called sources or sinks
people or groups of people who interact with
the current system but are not internal to the
system;
outside of boundary of our system
square is symbol for an external entity
to identity an external entity - place a unique,
lower-case alphabetic character in upper-lefthand corner of square. Then give entity a
single, descriptive noun as a name.
2. Processes





processes=functions
actions performed on data flowing
through the system
rounded rectangle - symbol for process
each process is identified by a number
corresponding to the level of the
process on the hierarchy chart.
each process is named with a simple
verb-object pair, i.e. enter transaction
3. Data Stores



repository for data
can be as simple as an in/out box or as
complex as a database
open-ended rectangle - symbol of a
data store; open end on right side
3. Data Stores

identified by upper-case alphabetic
character and a digit:
– each data store within the same system
has the same alphabetic characters with
different digits.





when a process stores data
data flow arrow goes into data store
when process accesses data
data flow arrow goes into process
avoid crossed data flow lines by
repeating the data stores on the DFD as
needed
4. Data flows




represents the movement of data
through the system
data often moves through the system as
a form or a report
solid line with arrowhead - symbol for a
data flow
each data flow must be identified with a
descriptive name
5. Exploding DFDs into levels


diagrams move from general to specific
similar to levels in a menu-driven
system; top-level node is analogous to
the main menu
Context-level


highest level in a DFD
lays out sources and sinks and a single
process representing the entire system
Diagram 0. first-level explosion


contains all the options on the main
menu
a leveled set of DFDs has a 1-to-1
correspondence with the levels on the
hierarchy chart
Developing DFDs





Diagram 0 - explosion of context
diagram
may include from 3 to 9 processes
ignore exception handling processes for
the first 2-3 levels of a DFD
each process numbered with an integer
includes major data stores and all
external entities
Creating child diagrams




each process on diagram 0 can be
exploded to create a more detailed child
diagram
parent - process on diagram 0 that is
exploded
child - resulting diagram
vertical balancing - a child diagram
cannot produce output or receive input
that the parent process does not also
produce or receive
Creating child diagrams



all data flow in or out of the parent
process must be shown flowing in or out
of the child diagram
child diagram given the same number
as its parent process in Diagram 0 (e.g.,
process 3 would explode to diagram 3)
processes on the child diagram are
numbered using the parent process
number, a decimal point, and a unique
number for each child process
Creating child diagrams




external entities - not shown on child
diagrams below Diagram 0
child diagram may include data stores
not shown on the parent process
processes may or may not be exploded,
depending on level of complexity
primitive process - when a process is
shown at its lowest level of detail,
cannot be exploded any further
Some general rules
1.a DFD level should contain from 3-9
processes
2.data flows should not split into two or
more different flows
3.all data flows must EITHER originate or
terminate at a process
4.processes need to have at least one
input data flow and one output data flow
Some general rules
5.
each child diagram should have the
same input and output data flow as the
parent process
6. avoid crossing data flow lines by
repeating data stores and external
entities
7. do not show exception handling
processes until the lower levels of the
DFD
Physical DFDs vs. Logical DFDs



physical DFDs - contain both what
processes are in the system and how
the processes operate; show movement
of things
allow us to understand how the current
system works
can be restrictive in the design process
logical DFDs


contains only the minimal data that flow
through the system, independent of any
devices, persons, forms, or specific
physical implementations;
implementation-free
Download