Upload
oakes
View
87
Download
10
Embed Size (px)
DESCRIPTION
Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich. Chapter 9 Structuring System Data Requirements. Learning Objectives. Define key data modeling terms. - PowerPoint PPT Presentation
Citation preview
© 2005 by Prentice Hall© 2005 by Prentice Hall
Chapter 9 Structuring System Data
Requirements
Modern Systems Analysisand Design
Fourth Edition
Jeffrey A. Hoffer Joey F. George
Joseph S. Valacich
© 2005 by Prentice Hall© 2005 by Prentice Hall9-2
Learning Objectives 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.
© 2005 by Prentice Hall© 2005 by Prentice Hall9-3
© 2005 by Prentice Hall© 2005 by Prentice Hall9-4
© 2005 by Prentice Hall© 2005 by Prentice Hall9-5
Conceptual Data Modeling
A detailed model that captures the overall structure of data in an organizationIndependent of any database management system (DBMS) or other implementation considerations
© 2005 by Prentice Hall© 2005 by Prentice Hall9-6
Process of Conceptual Data Modeling
Develop a data model for the current systemDevelop a new conceptual data model that includes all requirements of the new systemIn the design stage, the conceptual data model is translated into a physical designProject repository links all design and data modeling steps performed during SDLC
© 2005 by Prentice Hall© 2005 by Prentice Hall9-7
Deliverables and Outcome
Primary deliverable is an entity-relationship (E-R) diagram or class diagramAs 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 (not produced if the proposed system supports a completely new business function)
E-R diagram for the whole database from which the new application’s data are extracted (show how the new application shares the contents of more widely used DBs)
E-R diagram for the whole database from which data for the application system being replaced is drawn
© 2005 by Prentice Hall© 2005 by Prentice Hall9-8
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.
© 2005 by Prentice Hall© 2005 by Prentice Hall9-9
© 2005 by Prentice Hall© 2005 by Prentice Hall9-10
A SUPPLIER sometimes supplies ITEMs to the company.An ITEM is always supplied by one to four SUPPLIERs.A SHIPMENT is sent by one and only one SUPPLIER.A SUPPLIER sends zero or many SHIPMENTS.
© 2005 by Prentice Hall© 2005 by Prentice Hall9-11
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.
© 2005 by Prentice Hall© 2005 by Prentice Hall9-12
Requirements Determination Questions for Data ModelingWhat 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
© 2005 by Prentice Hall© 2005 by Prentice Hall9-13
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? Can the associations change over time? (an employee change department?) Integrity rules, min & max cardinalities, time
dimensions of data
© 2005 by Prentice Hall© 2005 by Prentice Hall9-14
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
© 2005 by Prentice Hall© 2005 by Prentice Hall9-15
Person, place, object, event or concept about which data is to be maintainedEntity type: collection of entities with common characteristicsEntity instance: single entity
named property or characteristic of an entity
Association between the instances of one or more entity types
© 2005 by Prentice Hall© 2005 by Prentice Hall9-16
Identifier Attributes
Candidate key Attribute (or combination of attributes) that
uniquely identifies each instance of an entity type
Identifier A candidate key that has been selected as
the unique identifying characteristic for an entity type
© 2005 by Prentice Hall© 2005 by Prentice Hall9-17
Identifier Attributes(cont.)
Selection rules for an identifier1. Choose a candidate key that will not
change its value.2. Choose a candidate key that will never be
null.3. Avoid using intelligent keys.4. Consider substituting single value
surrogate keys for large composite keys.
© 2005 by Prentice Hall© 2005 by Prentice Hall9-18
Multivalued Attributes
An attribute that may take on more than one value for each entity instanceShowing multi-valued attributes: double-lined ellipse in ERD Separating the repeating data into another
entity: called a weak (or attribute) entity
© 2005 by Prentice Hall© 2005 by Prentice Hall9-19
Entity and Attribute Example
Simple attributes
Identifier attribute… each employee has a unique ID.
Multivalued attribute… an employee may have more than one skill.
© 2005 by Prentice Hall© 2005 by Prentice Hall9-20
Repeating Group
Employee
Dep_Name, Dep_Age,Dep_Relation
Employee-ID
© 2005 by Prentice Hall© 2005 by Prentice Hall9-21
Weak entity
DependentEmployee
© 2005 by Prentice Hall© 2005 by Prentice Hall9-22
Degree of RelationshipDegree: number of entity types that participate in a relationshipThree cases Unary: between two instances of one entity type Binary: between the instances of two entity types Ternary: among the instances of three entity types
© 2005 by Prentice Hall© 2005 by Prentice Hall9-23
© 2005 by Prentice Hall© 2005 by Prentice Hall9-24
CardinalityThe number of instances of entity B that can or must be associated with each instance of entity AMinimum Cardinality
The minimum number of instances of entity B that may be associated with each instance of entity A
Maximum Cardinality The maximum number of instances of entity B that may be
associated with each instance of entity AMandatory vs. Optional Cardinalities
Specifies whether an instance must exist or can be absent in the relationship
© 2005 by Prentice Hall© 2005 by Prentice Hall9-25
Cardinality Symbols
© 2005 by Prentice Hall© 2005 by Prentice Hall9-26
Unary Relationship Example
© 2005 by Prentice Hall© 2005 by Prentice Hall9-27
Binary Relationship Examples
© 2005 by Prentice Hall© 2005 by Prentice Hall9-28
Associative Entities
An entity type that associates the instances of one or more entity types and contains attributes that are peculiar to the relationship between those entity instancesAn associative entity is: An entity A relationship
This is the preferred way of illustrating a relationship with attributes
© 2005 by Prentice Hall© 2005 by Prentice Hall9-29
A relationship with an attribute
…as an associative entity
© 2005 by Prentice Hall© 2005 by Prentice Hall9-30
Ternary relationship
…as an associative entity
© 2005 by Prentice Hall© 2005 by Prentice Hall9-31
A relationship that itself is related to other entities via another relationship must be represented as an associative entity. (it is not a ternary relationship)
© 2005 by Prentice Hall© 2005 by Prentice Hall9-32
Supertypes and Subtypes
Subtype: a subgrouping of the entities in an entity type that shares common attributes or relationships distinct from other subtypesSupertype: a generic entity type that has a relationship with one or more subtype
© 2005 by Prentice Hall© 2005 by Prentice Hall9-33
Rules for Supertype/Subtypes Relationships
Total specialization: an entity instance of the supertype must be an instance of one of the subtypesPartial specialization: an entity instance of the supertype may or may not be an instance of one of the subtypesDisjoint: an entity instance of the supertype can be an instance of only one subtypeOverlap: an entity instance of the supertype may be an instance of multiple subtypes
© 2005 by Prentice Hall© 2005 by Prentice Hall9-34
© 2005 by Prentice Hall© 2005 by Prentice Hall9-35
Business Rules
Specifications that preserve the integrity of the logical data modelFour types Entity integrity: unique, non-null identifiers Referential integrity constraints: rules governing
relationships Domains: valid values for attributes Triggering operations: other business rules protect
the validity of attribute values
© 2005 by Prentice Hall© 2005 by Prentice Hall9-36
Domains
The set of all data types and ranges of values that an attribute can assumeSeveral advantages
1. Verify that the values for an attribute are valid
2. Ensure that various data manipulation operations are logical
3. Help conserve effort in describing attribute characteristics
© 2005 by Prentice Hall© 2005 by Prentice Hall9-37
Triggering OperationsAn assertion or rule that governs the validity of data manipulation operations such as insert, update and deleteComponents:
User rule: statement of the business rule to be enforced by the trigger
Event: data manipulation operation that initiates the operation
Entity Name: name of entity being accessed or modified Condition: condition that causes the operation to be
triggered Action: action taken when the operation is triggered
© 2005 by Prentice Hall© 2005 by Prentice Hall9-38
© 2005 by Prentice Hall© 2005 by Prentice Hall9-39
Packaged Data Models
Generic data models that can be applied and modified for an organizationTwo categories Universal Industry-specific
Benefits Reduced implementation time and cost High-quality modeling
© 2005 by Prentice Hall© 2005 by Prentice Hall9-40
Packaged data models provide generic models that can be customized for a particular organization’s business rules
© 2005 by Prentice Hall© 2005 by Prentice Hall9-41
Object Modeling Using Class Diagrams
Object-oriented approachBased on Unified Modeling Language (UML)Features Objects and classes Encapsulation of attributes and operations Polymorphism Inheritance
© 2005 by Prentice Hall© 2005 by Prentice Hall9-42
ObjectsObject: an entity with a well-defined role in an applicationEach object has: State: encompasses the attributes, their
values, and relationships of an object Behavior: represents how an object acts
and reacts Identity: uniqueness, no two objects are
the same
© 2005 by Prentice Hall© 2005 by Prentice Hall9-43
Classes
Class: a logical grouping of objects with similar attributes and behaviorsOperation: a function or service provided by all instances of a classEncapsulation: the technique of hiding internal implementation details of an object from external view
© 2005 by Prentice Hall© 2005 by Prentice Hall9-44
Class DiagramA diagram showing the static structure of an object-oriented model
UML classes are analogous to E-R entities
© 2005 by Prentice Hall© 2005 by Prentice Hall9-45
Types of OperationsConstructor Creates a new instance of a class
Query Accesses the state of an object
Update Alters the state of an object
Scope Applies to a full class rather than an
individual instance
© 2005 by Prentice Hall© 2005 by Prentice Hall9-46
Representing Associations
Association: a relationship among instances of object classesAssociation role: the end of an association where it connects to a classMultiplicity: indicates how many objects participate in a give relationship
© 2005 by Prentice Hall© 2005 by Prentice Hall9-47
UML associations are analogous to E-R relationships.
UML multiplicities are analogous to E-R cardinalities.
© 2005 by Prentice Hall© 2005 by Prentice Hall9-48
Multiplicity notation: 0..10 means minimum of 0 and maximum of 101, 2 means can be either 1 or 2* means any number
rolesmultiplicities
© 2005 by Prentice Hall© 2005 by Prentice Hall9-49
Association ClassAn association with its own attributes, operations, or relationships
UML association classes are analogous to E-R associative entities.
© 2005 by Prentice Hall© 2005 by Prentice Hall9-50
Derived Attributes, Associations, and Roles
Derived items are represented with a slash (/).
Derived attributes are calculated based on other attributes
© 2005 by Prentice Hall© 2005 by Prentice Hall9-51
Generalization
Superclass-subclass relationshipsSubclass inherits attributes, operations, and associations of the superclassTypes of superclasses Abstract: cannot have any direct instances Concrete: can have direct instances
© 2005 by Prentice Hall© 2005 by Prentice Hall9-52
Generalization and inheritance implemented via superclass/subclasses in UML, supertypes/subtypes in E-R
© 2005 by Prentice Hall© 2005 by Prentice Hall9-53
Polymorphic Operations
The same operation may apply to two or more classes in different waysAbstract operations defined in abstract classes defined the protocol, but not the
implementation of an operationMethods the implementation of an operation
© 2005 by Prentice Hall© 2005 by Prentice Hall9-54
Polymorphism:Here, each type of student has its own version of calc-tuition()
Abstraction:Student is an abstract class and calc-tuition() is an abstract operation (italicized)
Class scope:tuitionPerCred is a class-wide attribute
© 2005 by Prentice Hall© 2005 by Prentice Hall9-55
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
© 2005 by Prentice Hall© 2005 by Prentice Hall9-56
Aggregation is represented with open diamonds
Composition is represented with filled diamonds
© 2005 by Prentice Hall© 2005 by Prentice Hall9-57
SummaryIn this chapter you learned how to: 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.