0% found this document useful (0 votes)
106 views92 pages

System Design: Data Flow Diagrams Guide

Here are the ER diagram notations for the requested concepts: Entity: Rectangle Attribute: Oval inside the entity Relationship: Diamond Key Attribute: Underlined attribute Multivalued Attribute: Crow's foot on the attribute Derived Attribute: Attribute name in italics Weak Entity: Rectangle with double outline
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
106 views92 pages

System Design: Data Flow Diagrams Guide

Here are the ER diagram notations for the requested concepts: Entity: Rectangle Attribute: Oval inside the entity Relationship: Diamond Key Attribute: Underlined attribute Multivalued Attribute: Crow's foot on the attribute Derived Attribute: Attribute name in italics Weak Entity: Rectangle with double outline
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 92

IT2005

System Analysis &


Design

Week 10 -System Design

1
Model
• Model is a presentation of reality.
Just a picture is worth a thousand of words,
most system models are pictorial
representations of reality.

2
Modelling Methods
A set of techniques used to implement a
Methodology
• Data Flow Diagrams -
– A process model
– Depict the flow of data through a system and the work
performed by the system
• Entity Relationship Diagrams –
– A data model
– Depict data in terms of entities and relationships
described by the data
– Consists of several notations
• Structure Charts etc.
3
Logical and physical data flow design
• Logical DFDs-
– that illustrate what occurs without showing how
it occurs are known as logical DFDs.

• Physical DFDs-
– DFDs that show how things happen, or the
physical components are called physical DFDs

4
Process Modeling
Is a technique for organizing and documenting
the Process Requirements and Design for a
system.
• Data Flow Diagram : Popular Process
Modeling Technique.
Shows the flow of data through the system and
the processing performed by the system.

5
Data Flow Diagrams
• Systems Analyst (SA)
- may first draw Data Flow Diagram
- may first draw Document Flow Diagram
- Depends on the Methodology

6
7
8
9
10
11
ATI System

12
13
4. Data Flows
• Data flow model the passage of data in the
system and are represented by lines joining
system components.
• Flows of data in the system can take place:
– Between two processes
– From a data store to a process
– From a process to a data store
– From entities to a process
– From process to a entities

14
15
16
Context diagram
• A common way to begin is to model, the
whole system by one process.
• It shows all the external entities that interact
with the system and the data flow between
these external entities and the system.

17
Context Diagram
• defines the scope of the system by
identifying the system boundary
• contains:
– one process (which represents the
entire system)
– all sources/sinks (external
entities)
– data flows linking the process to
the sources and sinks (external
entities)
18
Constructing a Context Diagram

• identify and list sources/sinks


(external entities)
• identify and list inputs to and outputs
from sources/sinks (external entities)
• create context diagram

19
20
21
22
23
24
25
26
27
28
29
30
31
32
Library System

33
34
35
36
Level-0 Diagram
• describes the overall processing of the
system
• show one process for each major
processing step or functional
requirement

• can draw duplicate sources, sinks and


data stores to increase legibility

37
Drawing a Level-0 Diagram

• list the major data stores


• list major business steps
• draw a segment for each business
step
• assemble into single DFD
• re-organize until satisfied
• number processes

38
DFD context level diagram

39
DFD level 0 diagram

40
DFD level 1 diagram

41
Other Questions about Lower level
diagrams
1. How deep? (how many levels?)
– if the process has only one input or one
output, probably cannot partition further;
– can you describe the process in English in
about 1/2 page?
2. How broad? (how many processes on a
level?)
– 7 ± two is a reasonable
– may temporarily place much of the system
on a single diagram then re-draw into
separate levels
42
Quality Guidelines
• Completeness
– all components included & in project
dictionary
• Consistency
– between levels: balancing, leveling
• Timing considerations
– assume system never starts and never
stops
• Iterative nature
– revisions are common
• Drawing primitives (lowest level)
– when to stop?

43
Budget monitoring system

44
Top-level DFD diagram

45
Expansion of classify expenditure
process

46
DFD Example: Bus Garage Repairs

• Buses come to a garage for repairs.


• A mechanic and helper perform the repair, record
the reason for the repair and record the total cost of
all parts used on a Shop Repair Order.
• Information on labor, parts and repair outcome is
used for billing by the Accounting Department, parts
monitoring by the inventory management computer
system and a performance review by the supervisor.
DFD Example: Bus Garage Repairs (cont’d)
• External Entities: Bus, Mechanic, Helper, Supervisor,
Inventory Management System, Accounting
Department, etc.
• Key process (“the system”): performing repairs and
storing information related to repairs
• Processes:
– Record Bus ID and reason for repair
– Determine parts needed
– Perform repair
– Calculate parts extended and total cost
– Record labor hours, cost
DFD Example: Bus Garage Repairs (cont’d)

• Data stores:
– Personnel file
– Repairs file
– Bus master list
– Parts list
• Data flows:
– Repair order
– Bus record
– Parts record
– Employee timecard
– Invoices
Bus Garage Context Diagram

Bus

Mechanical Fixed
problem mechanical
to be repaired problems

Repair Supervisor
Helper Labor Bus summary
Repair
Process List of
System parts used Inventory
Labor Management
Labor, System
parts cost
details
Mechanic

Accounting
Logical and physical data flow design
• Logical DFDs-
– that illustrate what occurs without showing how
it occurs are known as logical DFDs.

• Physical DFDs-
– DFDs that show how things happen, or the
physical components are called physical DFDs

51
What is a good data flow diagram?
• The absence of flowchart structures
• protection of data
• Good naming conventions

52
Differences between flowcharts and
data flow diagrams
• DFDs are not program flow chats and should
not include control elements. A good DFD
should;
1. Have no data flows that split up into a number of
other data flows.
2. Have no crossing lines

53
3. Not include flowchart loops of control elements
Control Signals From a process

(process “compare” has outgoing data flows that are


labeled by the conditions under which a data flow
Loops occurs, rather than by the contents of the data
flow.)

54
4) Not include data flows that act as signals to
activate processes

Input signal ( end of month)

55
Method of describing the process
• Structured English
• Decision tree
• Decision Table

56
SUMMARY OF ER-DIAGRAM
NOTATION FOR ER
Symbol
SCHEMAS
Meaning

ENTITY TYPE

WEAK ENTITY TYPE

RELATIONSHIP TYPE

IDENTIFYING RELATIONSHIP TYPE

ATTRIBUTE

KEY ATTRIBUTE

MULTIVALUED ATTRIBUTE

COMPOSITE ATTRIBUTE

DERIVED ATTRIBUTE

E1 R E2 TOTAL PARTICIPATION OF E2 IN R

N
E1 R E2 CARDINALITY RATIO 1:N FOR E1:E2 IN R

(min,max) STRUCTURAL CONSTRAINT (min, max) ON PARTICIPATION OF E IN R


R E
Chapter 3-57
Questions
1. What is the different between super key and
candidate key

1. Explain the distinctions among the terms


primary key, candidate key, and super key.
answer
• A super key is a set of columns that uniquely
identifies a row. A Candidate key would be a
MINIMAL set of columns that uniquely
identifies a row.
• So essentially a Super key is a Candidate key
with extra unnecessary columns in it.
Draw notation to the followings
• Entity
• Attribute
• Relationship
• Key Attribute
• Multivalued attributes
• Derived Attribute
• Weak Entity
• Identifying Relationship
Conceptual Design
Notations

Entity

Relationship

Attribute

62
Conceptual Design
Attribute

Key Attribute

Multivalued attributes

Derived Attribute

Weak Entity

Identifying Relationship
63
Explain the term ‘Degree’
Number of participating entity types.
• Unary Relationship
– A relationship between the instances of a single entity
type
e.g. Person is married to a Person manages
Employee manages Employees

• Binary Relationship Employee


– A relationship between the instances of two entity types
e.g. An employee works for a department

Employee Works-for Department


64
Degree of Relationship Type
• Ternary Relationship
A simultaneous relationship among the instances
of three entity types
– Supplier s supplies part p to project j
Part

Supplier Supplies

Project 65
Explain term ‘Cardinality’

• Cardinality Ratios for Binary Relationships


Specify the number of instances of one entity
that can (or must) be associated with each
instance of another entity.
The possible cardinality ratios for binary
relationship types are
– 1:1
– 1:N
– M:N
66
Phases of Database Miniworld
Design
Requirements collection
and Analysis
Functional Requirements Data Requirements

Functional Analysis Conceptual design

High-level transaction Specification Conceptual Schema


DBMS-independent
Logical design
DBMS-specific
Logical (Conceptual) Schema
Application Program design
Physical Design
Transaction Implementation Internal Schema
67
Application Programs
Entity Types

 Strong (Regular) Entity


– An entity that exists independently of other
entity types
Employee

 Weak Entity
– An entity types whose existence depends on
some other entity
Dependent
68
Entity Types
 Identifying Owner
– The entity type on which the weak entity type
depends
e.g. Employee is the Owner of Dependent

 Identifying Relationship
– A relationship between a weak entity type and
its owner
has

69
Attributes
• Multi-valued Attribute
– An attribute that may take on more than one
value for a given entity instance
e.g. Employee Skills, Qualifications
• Composite Attribute
– An attribute that can be broken down into
component parts
e.g. Address (Street, City, State, Postal Code)
Name (First Name, Middle Initials, Last Name)

70
Key Attribute
(Identifier)
• Identifier
– An attribute (or combination of attributes) that uniquely
identifiers individual instances of an entity type
e.g. Emp No

• Composite Identifier
– An identifier that consists of a composite attribute
e.g. Flight Id (Flight No, Date)

71
Explain ‘Associative entities’
• The presence of one or more attributes on a relationship
suggests that the relationship may be represented as an entity
type.
• An associative entity is an entity type that associates the
instances of one or more entity types and contains attributes
that are relevant to the relationship between those entity
instances.
• The associative entity type CERTIFICATE is represented with
the diamond relationship symbol enclosed within the entity
rectangle.

72
Attributes on relationships

Date Completed
Emp id Emp Name Course id Course Title

Employee Completes Course

73
A university registrar's office maintains data about the following entities:
(a) courses, including number, title, credits, syllabus, and prerequisites;
(b) Course offerings, including course number, year, semester, section
number, instructor(s), timings, and classroom;
(c) students, including student-id, name, and program;
(d) instructors, including identification number, name, department, and
title.
Further, the enrollment of students in courses and grades awarded to
students in each course they are enrolled for must be appropriately
modeled.
Construct an E-R diagram for the registrar’s office. Document all assumptions
that you make about the mapping constraints.
• Consider a university database for the scheduling of
classrooms for final exams.
• This database could be modeled as the single entity set exam,
with attributes course-name, section-number, room-number,
and time.
• Alternatively, one or more additional entity sets could be
modeled, along with relationship sets to replace some of the
attributes of the exam entity set, as course with attributes
name, department, and c-number
• section with attributes s-number and enrollment, and
dependent as a weak entity set on course room with
attributes r-number, capacity, and building
• a. Show an E-R diagram illustrating the use of all three
additional entity sets listed.
University registrar’s tables:

• student (student-id, name, program)


• course (courseno, title, syllabus, credits)
• course-offering (courseno, secno, year, semester,
time, room)
• instructor (instructor-id, name, dept, title)
• enrolls (student-id, courseno, secno, semester,
year, grade)
• teaches (courseno, secno, semester, year,
instructor-id)
• Construct an E-R diagram for a car-insurance
company whose customers own one or more
cars each. Each car has associated with it zero
to any number of recorded accidents.
1 m

0..*
• person (driver-id, name, address)
• car (license, year, model)
• accident (report-number, date, location)
• participated(driver-id, license, report-number,
damage-amount)
• Construct an E-R diagram for a hospital with a
set of patients and a set of medical doctors.
Associate with each patient a log of the
various tests and examinations conducted.
• Hospital tables:
• patients (patient-id, name, insurance, date-
admitted, date-checked-out)
• doctors (doctor-id, name, specialization)
• test (testid, testname, date, time, result)
• doctor-patient (patient-id, doctor-id)
• test-log (testid, patient-id) performed-by
(testid, doctor-id)
• Explain the difference between a weak and a
strong entity set.
• Answer: A strong entity set has a primary
key. All tuples in the set are distinguishable
by that key. A weak entity set has no primary
key unless attributes of the strong entity set
on which it depends are included.
86
ER DIAGRAM – Entity Types are:
EMPLOYEE, DEPARTMENT, PROJECT, DEPENDENT
Designing an ER Diagram

Consider the following set of requirements for a University database. Design an ER diagram
for this application:

• The university keeps track of each student's name, student number, social security
number, current address and phone number, permanent address and phone number,
birthdate, sex, class (freshman, graduate), major department, minor department (if
any), degree program (B.A., B.S., ... Ph.D.). Some user applications need to refer to the
city, state, and zip code of the student's permanent address and to the student's last
name. Both social security number and student number are unique for each student.
All students will have at least a major department.
• Each department is described by a name, department code, office number, office
phone, and college. Both the name and code have unique values for each department.
• Each course has a course name, description, course number, number of credits, level
and offering department. The course number is unique for each course.
• Each section has an instructor, semester, year, course, and section number. The section
number distinguishes sections of the same course that are taught during the same
semester/year; its value is an integer (1, 2, 3, ... up to the number of sections taught
during each semester).
• A grade report must be generated for each student that lists the section, letter grade,
and numeric grade (0,1,2,3, or 4) for each student and calculates his or her average
GPA.
University ER Diagram
Degree DName DCode OfficeNumber
Name StudentID SSN
Major In
Birth date
OfficePhone
Department
Sex Student
College
Class Minor In

Address

City State Zip


Offer

CName

Grade_Report
CourseDesc
Letter Grade Instructor Year Course
CNumber
GPA
Credits
Numeric Grade Section Belong_To

SectionNumber Semester
Structured English
IF credit limit exceeded
THEN
IF customer has bad payment history
THEN refuse credit
ELSE
IF purchase above Rs. 1000/=
THEN refuse credit
ELSE refer to manager
ELSE allow credit
90
• Structured English used to
– Explain the conditions which occurs in a process.
– Identify the decisions which makes these conditions
occur.
– Find alternative actions to be taken
• The process is defined by using three types of
statements
– Sequence structure
– Decision structure
– Iteration structure

91
System design Approaches
• Modern structured design
• Information engineering
• Prototyping
• JAD
• RAD
• Object-oriented

92

You might also like