Structuring System Data Requirements
Structuring System Data Requirements
Structuring system
data requirements
Lesson learning objective
Define key data modeling terms.
Draw entity-relationship (E-R) and class diagrams to represent
common business situations.
Explain the role of conceptual data modeling in IS analysis and
design.
Distinguish between unary, binary, and ternary relationships.
Define four types of business rules.
Compare the capabilities of class diagrams vs. E-R diagrams.
Relate data modeling to process and logic modeling.
Conceptual Data Modeling
A detailed model that captures the overall structure of
data in an organization
Independent of any database management system
(DBMS) or other implementation considerations
Process of Conceptual Data Modeling
Develop a data model for the current system
Develop a new conceptual data model that
includes all requirements of the new system
In the design stage, the conceptual data model is
translated into a physical design
Project repository links all design and data
modeling steps performed during SDLC
Deliverables and Outcome
• Primary deliverable is an entity-relationship (E-
R) diagram or class diagram
• As many as 4 E-R or class diagrams are
produced and analyzed
– E-R diagram that covers data needed in the project’s
application
– E-R diagram for the application being replaced
– E-R diagram for the whole database from which the
new application’s data are extracted
– E-R diagram for the whole database from which data
for the application system being replaced is drawn
Deliverables and Outcome (cont.)
Second deliverable is a set of entries about data
objects to be stored in repository or project
dictionary.
Repository links data, process, and logic models of an
information system.
Data elements included in the DFD must appear in the
data model and vice versa.
Each data store in a process model must relate to
business objects represented in the data model.
Gathering Information for Conceptual Data
Modeling
Two perspectives
Top-down
Data model is derived from an intimate understanding of the
business.
Bottom-up
Data model is derived by reviewing specifications and
business documents.
Requirements Determination Questions for
Data Modeling
What are subjects/objects of the business?
Data entities and descriptions
What unique characteristics distinguish between
subjects/objects of the same type?
Primary keys
What characteristics describe each subject/object?
Attributes and secondary keys
How do you use the data?
Security controls and user access privileges
Requirements Determination Questions for
Data Modeling (cont.)
Over what period of time are you interested in the data?
Cardinality and time dimensions
Are all instances of each object the same?
Supertypes, subtypes, and aggregations
What events occur that imply associations between
objects?
Relationships and cardinalities
Are there special circumstances that affect the way
events are handled?
Integrity rules, cardinalities, time dimensions
Introduction to Entity-Relationship (E-R)
Modeling
Entity-Relationship (E-R) Diagram
A detailed, logical representation of the entities,
associations and data elements for an organization or
business
Notation uses three main constructs
Data entities
Relationships
Attributes
Association
between the
instances of one or
more entity types
UML multiplicities
are analogous to
E-R cardinalities.
roles
multiplicities
Multiplicity notation:
0..10 means minimum of 0 and maximum of 10
1, 2 means can be either 1 or 2
* means any number
Association Class
An association with its own attributes, operations,
or relationships
UML
association
classes are
analogous
to E-R
associative
entities.
Derived Attributes, Associations, and Roles
Derived attributes are calculated
based on other attributes
Polymorphism:
Here, each type of student has
its own version of calc-tuition()
Class scope:
tuitionPerCred is a class-wide attribute
Aggregation and Composition
Aggregation
A part-of relationship between a component and an
aggregate object
Composition
An aggregation in which the part object belongs to only
one aggregate object and lives and dies with the
aggregate object
Aggregation is represented with
open diamonds