Structured Design and Modeling - PowerPoint PPT Presentation

About This Presentation
Title:

Structured Design and Modeling

Description:

Used to produce a data model for an enterprise ... Comparison of DeMarco & Yourdon and Gane & Sarson DFD Symbol Sets. Illegal Data Flows ... – PowerPoint PPT presentation

Number of Views:49
Avg rating:3.0/5.0
Slides: 49
Provided by: elizabe185
Category:

less

Transcript and Presenter's Notes

Title: Structured Design and Modeling


1
Structured Designand Modeling
  • CS 123/CS 231

2
Design Models Revisited
  • UML Modeling Language for OO Systems
  • For the Procedural (Structured) Paradigm
  • Data and processes are separately considered
  • Data Model Entity-Relationship Diagram
  • Process Model Data-Flow Diagram
  • Some modeling techniques apply to both paradigms

3
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

4
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

5
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

6
The Notation
  • Rectangles - Entities
  • Ellipses - Attributes
  • Diamonds - Relationships
  • Links
  • Labels
  • Other models omit the diamonds and use the
    lines and other notation to denote relationships

7
Sample Notation
8
Example
9
Example The University Setting
  • Description
  • Students enroll in classes. Each class is a
    section of a particular course.
  • Entities
  • Student, Section, Course

10
address
name
year
id number
qca
Student
11
room
index
sched
M
M
Student
enrolls
Section
M
grade
1
Course
has
cat num
desc
title
12
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

13
M
M
Student
borrows
Book
14
M
M
Student
borrows
Copy
M
1
Book
has
Exercise Complete Diagram by filling in
attributes
15
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

16
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 1M 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

17
ERD to Tables, continued
  • For each 11 relationship
  • add primary key of one table plus intersection
    data to the other table
  • For each MM relationship
  • create a new table
  • attributes are the primary keys of the
    participants plus intersection data

18
University Setting Example
  • Student
  • id number, name, address, year, qca
  • Section
  • index, room, sched, cat num
  • Course
  • cat num, title, desc
  • Enroll
  • id number, index, grade

19
DFDs
  • Data Flow Diagrams
  • Models Operations (Processes)
  • Also used in analysis and design

20
Traditional approach
  • System is a collection of processes
  • Processes interact with data entities
  • Processes accept inputs and produce outputs

21
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

22
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

23
Notation
  • Circle (Bubble) or Square with rounded corners -
    Process
  • Arrows - Data Flows
  • Rectangles Stores and Entities (Sources and
    Sinks)
  • Labels

24
1 Borrow Book
id num, copy num
borrow confirmation
Student
Borrow
Copy
25
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 -
Verb-Adjective-Noun
Repository of data or data store which could be
manual or computerized - Noun
26
(No Transcript)
27
Comparison of DeMarco Yourdon and Gane Sarson
DFD Symbol Sets
28
Illegal Data Flows
29
DFD Levels
  • A process may involve sub-processes
  • provides detail about the process
  • DFD levels emerge
  • Process hierarchy also depicted using a structure
    chart

30
1.1 Check Student Status
id num
borrower status
Student
1.2 Check Book Copy Status
copy num
copy status
Copy
31
borrower status, copy status
1.3 Record Borrow
borrow confirmation
id num, copy num
Borrow
Copy
32
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

33
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

34
Context Diagram
  • Highest level and contains only one process
    representing the entire system
  • Broadest possible conceptualization of the system
    - birds eye view of data movement
  • Contains the external entities and data flow to
    and from the system
  • No data stores
  • Numbered 0

35
Context Diagram
  • Top-level view of an information system that
    shows the systems boundaries and scope.
  • Start by placing the process symbol at the
    center place external entities at the perimeter

36
Context Diagram of Hoosier Burgers Food Ordering
System
37
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

38
Level 0 DFD of Hoosier Burgers Food Ordering
System
Diagram 0 Food Ordering System
39
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

40
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

41
Level 1 Diagram Showing Decomposition of Process
1.0 from the Level 0 Diagram
Diagram 1 Receive and Transform Customer Order
42
Level 1 Diagram Showing the Decomposition of
Process 4.0 from the Level 0 Diagram
Diagram 4 Produce Management Reports
43
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
44
About DFDs
  • 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

45
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

46
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

47
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

48
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...
  • Structured vs OO Paradigm
  • some techniques specific to the paradigm
Write a Comment
User Comments (0)
About PowerShow.com