System Design
Software Engineering Process
A process used to create an IS
Consists of:
Methodologies
A sequence of step-by-step
approaches that help develop
the IS
Techniques
Processes that the analyst
follows to ensure thorough,
complete and comprehensive
analysis and design
Tools
Computer programs that aid in
applying techniques
Data and Processes
Three key components of an IS
Data
Data Flows
Processing Logic
Data vs. Information
Data
Raw facts about people, objects, and events in an
organization such as customer’s account number
Information
Data that have been processed and presented in a form
that humans can understand
Data and Processes
Data
Understanding the source and kind of
data a system uses is key to good IS
design
Various techniques are used to
describe data and the relationship
among data
Data Flow
Groups of data that move and flow
through the system from one place to
another
Include description of sources and
destination for each data flow
Processing Logic
Describe steps in the transformation
of data and events that trigger these
steps
Systems Thinking
Characteristics of a
Systems Thinking
System
Components
An irreducible part
or aggregation of
parts that make up a
system, also called a
subsystem
Interrelated
Components
Dependence of one
subsystem on one or
more subsystems
A Boundary
The line that marks
the inside and
outside of a system
and that separates
the system from its
environment
Systems Thinking
Characteristics of
a System
A Purpose
The overall
goal or
function of a
system
An Environment
Everything
outside the
system’s
boundary that
interacts with
the system
Systems Thinking
Interfaces
Point of contact at
which the system
meets its
environment or
where subsystems
meet each other
Input
Whatever a system
takes from its
environment in
order to fulfill its
purpose
Systems Thinking
Output
Whatever a system
returns to its
environment in
order to fulfill its
purpose
Constraints
Limits to what it
can do and how it
can achieve its
purpose within an
environment
(capacity, speed or
capabilities)
Systems Thinking
Important System Concepts
Open Systems
Interact freely with their
environments, taking in input and
returning output
As environment changes, systems
much adapt to changes or suffer
consequences
Closed Systems
Does not interact with environments
Adaptability are not issues for closed
systems
Business Information Systems are open
Systems
Systems Thinking
Important System Concepts (Continued)
Logical System Description
Portrays the purpose and function of the
system
Does not tie the description to a specific
physical implementation
Physical System Description
Focuses on how the system will be materially
constructed
2.12
2.12
Data flow diagrams
Traditional Waterfall SDLC
One phase begins
when another
completes, little
organization’s IS needs are identified,
analyzed, prioritized, and arranged
backtracking and
looping
IS requirements are studied and structured
all functional features of the IS chosen
for development in analysis are described
independently of any computer platform
the logical specifications +logical design are
a description of the transformed into the technology-specific
recommended solution is details from which all programming and system
converted into : construction can be accomplished
logical and then
physical system IS coded, tested, installed and
specifications supported in the organization
IS systematically repaired
and improved
System development life cycle
Learning Objectives
Understand logical process modeling via data
flow diagrams (DFDs).
Draw DFDs of well structured process models.
Decompose DFDs into lower-level diagrams.
Balance high-level and low-level DFDs.
Approaches to Systems Development
Process-Oriented Approach
Focus is on how and when data are moved and
transformation of data in an IS
Involves creating graphical representations
such as data flow diagrams and charts
Data are tracked from sources, through
intermediate steps and to final destinations
Natural structure of data is not specified
1.17
1.17
Approaches to Systems Development
Disadvantage:
existence of several data files each
locked within different applications.
To change a single data element all
files has to be updated
1.18
1.18
Approaches to Systems Development
Data-Oriented Approach
Depicts ideal organization of data,
independent of where and how data are
used
Data model describes kinds of data and
business relationships among the data
Business rules depict how organization
captures and processes the data
Process Modeling
Graphically represent processes that
capture,
manipulate,
store,
distribute data
between
(system + environment)
among system components
Utilize information gathered during
requirements determination
Process Modeling (cont.)
Deliverables and Outcomes
Context data flow diagram (DFD)
Scope of system
DFDs of current physical and logical system
Enables analysts to understand current system
DFDs of new logical system
Technology independent
Show data flows + structure +functional requirements
Thorough description of each DFD component
Systems Thinking
Important System Concepts (Continued)
Decomposition
The process of breaking down a system into smaller
components which can be further broken down
Allows the systems analyst to:
Break a system into small, manageable subsystems
Focus on one area at a time
Concentrate on component relating to one group
of users
Build different components at independent times
2.22
2.22
Decomposition
The process of breaking down a system into smaller components
which allows the systems analyst to:
Break a system into small, manageable subsystems
Focus on one area at a time
Concentrate on component
pertinent to one group of users
Build different components at independent times
Systems Thinking
Important System Concepts (Continued)
Modularity
Process of dividing a system into modules of a
relatively uniform size
Direct result of decomposition
Modules simplify system design
Coupling
The extent to which the subsystems depend on each
other
Subsystems should be as independent as possible else
failure of one subsystem fails the entire system.
Cohesion
Extent to which a system or a subsystem performs a
single function
2.24
2.24
Functional Decomposition
An iterative process of breaking a system
description down into finer and finer detail
High-level process lower-level sub-process
DFD charts created for each level of detail
DFD Levels
Context DFD
Overview of the organizational system
Level-0 DFD
Representation of system’s major processes at high
level of abstraction
Level-1 DFD
Results from decomposition of Level 0 diagram
Level-n DFD
Results from decomposition of Level (n-1) diagram
Data Flow Diagram (DFD)
A picture of the movement of data within a
system between
external entities
processes
data stores
Difference from system flowcharts:
DFDs depict logical data flow independent of
technology
Flowcharts depict details of physical systems
DFD Symbols
Process: work or actions
performed on data (inside the
system)
Data store: data at rest (inside
the system)
Source/sink: external entity that
is origin or destination of data
(outside the system)
Data flow: arrows depicting
movement of data
Context Diagram
Context diagram
shows
1 )system
boundaries,
2) external
entities
that interact with
the system,
and
3) major info
flows between
entities and
the system.
1) Process =1
2) Data stores =0
3) Data flows =4.
4) Source=1 +Sink =2
Level-0 DFD
Level-0 DFD
shows the
system’s
1) major
processes,
2) data flows,
and
3) data stores
at a high
level of
abstraction.
Processes are labeled 1.0, 2.0, etc.
Level-1 DFD
Level-1 DFD
shows
the sub-processes
of one of the
processes in the
Level-0 DFD.
Level-1 DFD
for Process
4.0.
Processes are labeled 4.1, 4.2, etc.
Level-n DFD
Level-n DFD
shows
the sub-
processes of
one of the
processes in the
Level (n-1)
DFD.
Level-2 DFD for Process 4.3.
Processes are labeled 4.3.1, 4.3.2, etc. If this is the lowest
level of the hierarchy, it is called a primitive DFD.
DFD Diagramming Rules
Process
No process can
have only outputs
or only inputs…
processes must
have both
outputs and
inputs.
Process labels should be verb phrases.
DFD Diagramming Rules
Data Store
All flows to or from a data store
must move through a process.
Data store labels should be noun phrases.
DFD Diagramming Rules
Source/Sink
No data moves directly between external
entities without going through a process.
Interactions between external entities without
intervening processes are outside the system
and therefore not represented in the DFD.
Source and sink labels should be noun phrases.
DFD Diagramming Rules
Data Flow
Bidirectional flow update
between process
and data store is
represented by retrieve
two separate
arrows.
Forked data flow
must refer to
exact same data
item (not
different data
items) from a
common location
to multiple
destinations.
DFD Diagramming Rules
Data Flow (cont.)
Joined data flow
must refer to
exact same data
item (not
different data
items) from
multiple sources to
a common location.
X
Data flow cannot
go directly from
a process to
itself, must go
through
intervening
processes.
DFD Diagramming Rules
Data Flow (cont.)
Data flow from a
process to a data
store means update
(insert, delete or
change). update
Data flow from a
data store to a
process means retrieve
retrieve or use.
Data flow labels
should be noun
phrases.
DFD Balancing
The conservation of inputs and outputs to a
data flow process when that process is
decomposed to a lower level
Balanced DFD means:
lower level Number of inputs =higher level Number of inputs
lower level Number of outputs =higher level Number of outputs
Unbalanced DFD
This is
1 input unbalanced
1 output because the
process of the
context
diagram has
only 1 input
but Level-0
diagram has 2
2 inputs inputs.
1 output
Balanced DFD
Input =1
Output =3
These are balanced because the
numbers of inputs and outputs of
context diagram process equal the
number of inputs and outputs of
Level-0 diagram.
Balanced DFD (cont.)
These are balanced because the
numbers of inputs and outputs to
Process 1.0 of the Level-0
diagram equals the number of
inputs and outputs to the Level-1
diagram.
1 input
4 outputs
Data Flow Splitting
A composite data flow
at a higher level may be
split if different parts
go to different
processes in the lower
level DFD.
This remains balanced because the same data is involved,
but split into two parts.
More DFD Rules
Summary
Understand logical process modeling via
data flow diagrams (DFDs).
Draw DFDs of well structured process
models.
Decompose DFDs into lower-level
diagrams.
Balance high-level and low-level DFDs.