Chapter 9 Structuring System Data Requirements. Objectives:  Define key data modeling terms.  Draw entity-relationship (E-R) and class diagrams to represent.

Slides:



Advertisements
Similar presentations
Chapter 9 Structuring System Data Requirements
Advertisements

Chapters 7 & 9 System Scope
Object-Oriented Analysis and Design: Object Modeling – Class Diagrams
Modern Systems Analysis and Design Third Edition
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 7.1.
System Analysis - Data Modeling
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 10 Structuring.
Systems Analysis Requirements structuring Process Modeling Logic Modeling Data Modeling  Represents the contents and structure of the DFD’s data flows.
Entity Relationship Diagrams Basic Elements and Rules.
Chapter 14 (Web): Object-Oriented Data Modeling
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Chapter 10 Structuring System Requirements: Conceptual Data Modeling.
Copyright 2006 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Third Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Chapter.
Data Modeling Advanced Concepts.
Entity Relationship Diagrams
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 7.1.
Chapter 8 Structuring System Data Requirements
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Chapter.
Chapter 14: Object-Oriented Data Modeling
Modern Systems Analysis and Design Third Edition
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 10 Structuring.
Entity Relationship Modeling Objectives: To illustrate how relationships between entities are defined and refined. To know how relationships are incorporated.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Chapter.
Computer System Analysis Chapter 10 Structuring System Requirements: Conceptual Data Modeling Dr. Sana’a Wafa Al-Sayegh 1 st quadmaster University of Palestine.
Segment 5 Database Review International Islamic University Chittagong Campus.
Data Modeling ERM ERD.
Chapter 8 Structuring System Data Requirements
Chapter 8 Structuring System Data Requirements
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Chapter 6 Structuring.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 8 Slide 1 Chapter 9 Structuring System Data Requirements.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Essentials of Systems Analysis and Design Fourth Edition Joseph S. Valacich Joey F.
Chapter 9 Structuring System Data Requirements Modern Systems Analysis and Design Fifth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Copyright 2006 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Third Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Chapter.
Chapter 8 Structuring System Data Requirements
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Chapter 7 Structuring System Requirements: Conceptual Data Modeling 7.1.
Conceptual Data Modeling. What Is a Conceptual Data Model? A detailed model that shows the overall structure of organizational data A detailed model.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
CHAPTER 13 (ONLINE): OBJECT-ORIENTED DATA MODELING © 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 Modern Database Management 11 th Edition.
1 © Prentice Hall, 2002 Chapter 14: Object-Oriented Data Modeling Modern Database Management 6 th Edition Jeffrey A. Hoffer, Mary B. Prescott, Fred R.
7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 15: Object-Oriented Data Modeling Modern Database Management 9 h Edition Jeffrey A.
Unit 3 Conceptual Data Modeling. Key Concepts Conceptual data modeling process Classes and objects Attributes Identifiers, candidate keys, and primary.
7-1 © Prentice Hall, 2007 Week 5: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,
© 2011 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 13 (Online): Object-Oriented Data Modeling Modern Database Management 10 th Edition.
CHAPTER 13: OBJECT-ORIENTED DATA MODELING (OVERVIEW) © 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 Modern Database Management 11 th Edition.
Lecture 4 Conceptual Data Modeling. Objectives Define terms related to entity relationship modeling, including entity, entity instance, attribute, relationship,
Object-Oriented Data Modeling
Entity Relationship Modeling
Chapter 9 Structuring System Data Requirements Modern Systems Analysis and Design Fifth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
CIS 210 Systems Analysis and Development Week 6 Part I Structuring Systems Data Requirements,
Modern Systems Analysis and Design Third Edition
CHAPTER 13: OBJECT-ORIENTED DATA MODELING (OVERVIEW) Modern Database Management 11 th Edition Jeffrey A. Hoffer, V. Ramesh, Heikki Topi © 2013 Pearson.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 10 Structuring.
Chapter 10 Structuring System Requirements: Conceptual Data Modeling
Business System Development
Business System Development
Modern Systems Analysis and Design Third Edition
Chapter 6 Structuring System Requirements: Conceptual Data Modeling
Chapter 10 Structuring System Requirements: Conceptual Data Modeling
Lec 3: Object-Oriented Data Modeling
Entity Relationship Diagrams
Chapter 9 Structuring System Data Requirements
Chapter 10 Structuring System Requirements: Conceptual Data Modeling
Chapter 20 Object-Oriented Analysis and Design
Modern Systems Analysis and Design Third Edition
Modern Systems Analysis and Design Third Edition
Modern Systems Analysis and Design Third Edition
Chapter 7 Structuring System Requirements: Conceptual Data Modeling
Chapter 10 Structuring System Requirements: Conceptual Data Modeling
Lecture 10 Structuring System Requirements: Conceptual Data Modeling
Presentation transcript:

Chapter 9 Structuring System Data Requirements

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.

Structuring System Data Requirements  DFDs show data at rest  Structured English, decision tables and decision trees show the decision logic of processing data  The above techniques do not show the definition, structure and relationships within the data  Structural information about data is essential for automatic program generation  Most common format for data modeling: entity- relationship (E-R) diagrams

Conceptual Data Modeling  A detailed model that captures the overall structure of data in an organization Done in parallel with other requirements analysis and structuring steps Work of all team members is shared through the project repository – consistency and completeness is paramount!  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 Conceptual data models are suitable for the planning and analysis phases  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 Trace field from a physical data record back to an attribute on a data model diagram

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: 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  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.

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  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 graphical representation of an E-R model E-R model: A detailed, logical representation of the entities within a business environment, the associations among those entities and the attributes or properties of both the entities and their relationships  Notation uses three main constructs: Data entities Relationships Attributes

Person, place, object, event or concept about which data is to be maintained (NOUN, CAPS, inside rectangle) Entity type: collection of entities with common characteristics Entity instance: single entity of an entity type named property or characteristic of an entity (for entity STUDENT: Student_Id, Student_Name, Home_Address) Note formatting! Association between the instances of one or more entity types

Naming and Defining Entity Types  Singular noun (Customer, Student)  Descriptive and specific (customer order vs. purchase order)  Concise  What’s included and not included  When an instance might change into an instance of another entity type (quote  order)

Naming and Defining Attributes  A named property or characteristic of an entity  Unique noun that follows a standard format  Similar attributes of different entity types should use similar but distinguishing names: Faculty_Phone; Student_Phone  Attribute definition: What’s included and not included: Salary excludes benefits, bonuses, etc. Required or optional  May not appear on CASE diagram; will be in repository

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

Identifier Attributes  Selection rules for an identifier 1.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. first two digits of a key for a PART entity may indicate warehouse location which can change 4.Consider substituting single value surrogate keys for large composite keys. Game_ID is a better choice for the entity GAME than Home_Team and Visiting_Team combination

Multivalued Attributes  An attribute that may take on more than one value for each entity instance  Represented on E-R Diagram in two ways: double-lined ellipse – may state attribute names within ellipse weak entity – create another entity of the repeating data and then use a relationship to link the weak/repeating entity to its associated regular entity

Entity and Attribute Example

Degree of Relationship  Relationship: an association between instances of one or more entity types  Degree: number of entity types that participate in a relationship  Three 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

Cardinality  The number of instances of entity B that can or must be associated with each instance of entity A  Minimum 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 A  Mandatory vs. Optional Cardinalities Specifies whether an instance must exist or can be absent in the relationship

Cardinality Symbols

Binary Relationship Examples

Naming and Defining Relationships  Verb Phrase  Avoid vague names – use “action” verbs  Definition should: Give examples to clarify the action – relationship Registered_for covers both in-person and online registration Explain optional participation Explain reason for any explicit maximum cardinality – company policy that a sales rep can only carry 10 accounts Explain any restrictions: An employee cannot supervise him or herself Transferable – “places order” cannot be transferred to another customer

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 instances  An associative entity is: An entity A relationship  This is the preferred way of illustrating a relationship with attributes  The data modeler chooses to model the relationship as an entity type to clarify the relationship

Ternary relationship …as an associative entity

When the associative entity has other relationships with entities besides the relationship that caused its creation then it must be represented as an associative entity.

Supertypes and Subtypes  Subtype: a subgrouping of the entities in an entity type that shares common attributes or relationships distinct from other subtypes  Supertype: a generic entity type that has a relationship with one or more subtype  Patient (line with a circle) is connected to two subtypes, Outpatient and Resident Patient  U-shaped symbol by the subtype indicates that it is a subset of the supertype Outpatient, inpatient  Attributes shared by all patients are associated with the supertype  Attributes unique to a particular subtype are associated with that subtype

Rules for Supertype/Subtypes Relationships  Total specialization: an entity instance of the supertype must be an instance of one of the subtypes  Partial specialization: an entity instance of the supertype may or may not be an instance of one of the subtypes  Disjoint: an entity instance of the supertype can be an instance of only one subtype  Overlap: an entity instance of the supertype may be an instance of multiple subtypes

Business Rules  Specifications that preserve the integrity of the logical data model  Four types Entity integrity: unique, non-null identifiers Referential integrity constraints: rules governing relationships Domains: valid values for attributes Triggering operations: other business rules regarding attribute values

Domains  The set of all data types and ranges of values that an attribute can assume  Several 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 Characteristics for all types of accounts are the same (checking, savings, loan) Associate each of these accounts with the domain Account_Number (define once, same format)

Triggering Operations  An assertion or rule that governs the validity of data manipulation operations such as insert, update and delete  Components: 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

Packaged Data Models  Generic data models that can be applied and modified for an organization  Two categories Universal Industry-specific  Benefits Reduced implementation time and cost High-quality modeling

Object Modeling Using Class Diagrams  Object-oriented approach  Based on Unified Modeling Language (UML)  Features Objects and classes Encapsulation of attributes and operations Polymorphism Inheritance

Objects  Object: an entity with a well-defined role in an application  Each 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

Classes  Class: a logical grouping of objects with similar attributes and behaviors  Operation: a function or service provided by all instances of a class  Encapsulation: the technique of hiding internal implementation details of an object from external view

Class Diagram  A diagram showing the static structure of an object-oriented model

Types of Operations  Constructor 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

Representing Associations  Association: a relationship among instances of object classes  Association role: the end of an association where it connects to a class  Multiplicity: indicates how many objects participate in a give relationship

UML associations are analogous to E-R relationships. UML multiplicities are analogous to E-R cardinalities.

Multiplicity notation: 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

Derived Attributes, Associations, and Roles Derived items are represented with a slash (/). Derived attributes are calculated based on other attributes

Generalization  Superclass-subclass relationships  Subclass inherits attributes, operations, and associations of the superclass  Types of superclasses Abstract: cannot have any direct instances Concrete: can have direct instances

Generalization and inheritance implemented via superclass/subclasses in UML, supertypes/subtypes in E-R

Polymorphic Operations  The same operation may apply to two or more classes in different ways  Abstract operations defined in abstract classes defined the protocol, but not the implementation of an operation  Methods the implementation of an operation

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

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 Composition is represented with filled diamonds