# SDM

Document Sample

```					Structured Design
and Modeling

CS 123/CS 231
Design Models Revisited

UML: Modeling Language for OO Systems
Data and processes are separately
considered
Data Model: Entity-Relationship Diagram
Process Model: Data-Flow Diagram
Some modeling techniques apply to both
ERDs

Entity-Relationship Diagrams
Used to produce a data model for an
enterprise
Models data entities, their attributes, and
relationship among data entities
Database Design
Entities and Attributes

Entity
thing, person, place
examples: Book, Sales Invoice, Student,
Customer, Employee, Department, Airport
Attribute
feature of an entity
examples: Name, Address, Age, QCA, Title,
Author, Amount, City
Relationships

Relationship
an association between (at least) two
entities
examples: student borrows a book
Cardinality
One-to-one, one-to-many, many-to-many
Intersection Data
attribute resulting from relationship
example: date-borrowed
The Notation

Rectangles - Entities
Ellipses - Attributes
Diamonds - Relationships
Labels
* Other models omit the diamonds and use
the lines and other notation to denote
relationships
Sample Notation
Example
Example: The University
Setting

Description
Students enroll in classes. Each class is a
section of a particular course.
Entities
Student, Section, Course
name
year

id number
qca

Student
room
index                sched

M                            M
Student               enrolls              Section

M

1
Course                 has

cat num               desc
title
Example 2: Library

Student borrows book
many to many relationship between students
and books
see first diagram
Further analysis reveals there could be
several copies of a book
student borrows copy, book has copy
see second diagram
M             M
Student       borrows       Book
M                            M
Student               borrows                   Copy

M

1
Book                     has

Exercise: Complete Diagram by filling in attributes
ERDs and the
Software Life Cycle

Used at the design phase of the
software life cycle for database
systems, although it is often used as
early as the analysis phase
In design, it precedes table definition
From ERD to Tables

Create a table for each entity
attributes associated to entity are columns
of the table (a primary key should exist per
table)
For each 1:M relationship
add the primary key of the “1” participant as
an attribute of the “M” participant (foreign
key); intersection data is also added to the
“M” participant
ERD to Tables, continued

For each 1:1 relationship
add primary key of one table plus
intersection data to the other table
For each M:M relationship
create a new table
attributes are the primary keys of the
participants plus intersection data
University Setting Example

Student
id number, name, address, year, qca
Section
index, room, sched, cat num
Course
cat num, title, desc
Enroll
DFDs

Data Flow Diagrams
Models Operations (Processes)
Also used in analysis and design

System is a collection of processes
Processes interact with data entities
Processes accept inputs and produce
outputs
DFD Definition

A graphical representation of data
processes in the organization
Depicts the broad overview of system
inputs, processes and outputs
Dataflow approach emphasizes the logic
underlying the system
A tool for system analysis - aid to
conceptualization
Processes

An operation or function in a system
example: Borrow Book
Involves
data flow (input and results)
Data stores, sources and sinks
Example: student and book-copy info are data
that flow into the process; results stored in
borrow table
Notation

Circle (Bubble) or Square with rounded
corners - Process
Arrows - Data Flows
Rectangles – Stores and Entities
(Sources and Sinks)
Labels
id num, copy num       1          borrow confirmation
Borrow
Book

Student   Copy     Borrow
Conventions - Symbols
External entity that can send data or receive data
Source/Origin or Sink/Destination
- Noun
Movement of data from one point to another
- Noun
Transforming process representing work being
performed within the system

Repository of data or data store which could
be manual or computerized
- Noun
Comparison of DeMarco & Yourdon
and Gane & Sarson DFD Symbol Sets
Illegal Data Flows
Illegal                        Corrected
data                            data
flows                           flows

a process is
needed to
B1             B2      B1   exchange data       B1
flows between
boundaries

a process is
needed to
B1              DS1    B1     update (or         DS1
use) a data
store

a process is
needed to
DS1             B1     DS1   present data        B1
from a data
store

a process is
needed to
move data
DS1              DS2   DS1                        DS2
from one data
store to
another
DFD Levels

A process may involve sub-processes
DFD levels emerge
Process hierarchy also depicted using a
structure chart
1.1
id num       Check       borrower status
Student
Status

Student

1.2
copy num       Check     copy status
Book Copy
Status

Copy
borrower status, copy status

id num, copy num        1.3            borrow confirmation
Record
Borrow

Borrow
Copy
Developing DFDs
- Top Down Approach

1. List business activities and determine
external entities
data flows
processes
data stores
2. Create context diagram
show external entities and data flows in and out of
the system
no detailed processes or data stores
Developing DFDs

3. Draw Diagram 0
show processes, keep them general
show data stores at this level
4. Create the Child Diagram/s for all
processes of Diagram 0, as necessary
5. Check for errors and make sure labels
are meaningful
Context Diagram

Highest level and contains only one process
representing the entire system
system - bird’s eye view of data movement
Contains the external entities and data flow
to and from the system
No data stores
Numbered 0
Context Diagram

Top-level view of an information system
that shows the system’s boundaries and
scope.
Start by placing the process symbol at the
center; place external entities at the
perimeter
Context Diagram of Hoosier
Burger’s Food Ordering System
Diagram 0 - Next Level

Context diagram explosion into sub-
processes; entities and data flows intact
Contains new lower level data flows and
data stores; shows details inside black box
Handling of exceptions is ignored
 Up to 9 processes in single sheet
Numbered by integers, left to right
Data stores numbered sequentially - “D#”
Level 0 DFD of Hoosier Burger’s Food
Ordering System

Diagram 0: Food Ordering System
Child Diagram - Low Level

Parent Process in Diagram 0 is exploded
to one or more Child Diagrams
Vertical balancing - Diagram 0 data flows
intact; called “interface data flow”
New data flows; error line included
No external entities
New data stores; Diagram 0 data stores
are optional
Child Diagram - Low Level

Numbering follows Parent Process - “3.1”
Primitive Process
If Parent Process is not exploded and is
functionally primitive
If Child Diagram Process cannot be further
broken down
Logic is written as Process Specifications
Level 1 Diagram Showing Decomposition of
Process 1.0 from the Level 0 Diagram

Diagram 1:   Receive and Transform Customer Order
Level 1 Diagram Showing the Decomposition
of Process 4.0 from the Level 0 Diagram

Diagram 4:     Produce Management Reports
Level 2 Diagram Showing the Decomposition
of Process 4.3 from the Level 1 Diagram for
Process 4.0

Diagram 4.3:     Prepare Management Reports

Data flows should “balance” between
levels
Number label format X.X.X provides level
information
Context Diagram
Level 0 (or system-level) DFD
Notational Variations
Checking for Errors

Forgetting to include a data flow or
pointing the arrow in the wrong direction
shows all inputs and no outputs or vice
versa
Connecting data stores and entities directly -
should only connect to a process
Incorrect label for process and data flow
Not too many processes in a diagram
cluttered diagram and hinders
communication
Checking for Errors

Omitting data flow; linear flows with
single input and single output are rare
and may indicate missing data
Creating unbalanced decomposition in
child diagrams; interface data flows
should be same as parent
Exception - error lines only in child
diagram
DFD Summary

DFDs are structured analysis tools for
better understanding of the logical
movement of data and its transformation
presented in visual form
DFDs are used to document systems
independent of its analyst
Summary

Modeling techniques and notation
needed in analysis and design
models data and processes of a system
Other techniques and notation
state diagrams, structure charts, flowcharts,
document flow diagrams, more...
some techniques specific to the paradigm

```
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
 views: 27 posted: 11/11/2011 language: English pages: 48
How are you planning on using Docstoc?