Entity-Relationship Diagrams Elements, Syntax Guidelines Dictionary.

Slides:



Advertisements
Similar presentations
Entity Relationship (E-R) Modeling
Advertisements

Developing ER-Diagram
Alternative Approach to Systems Analysis Structured analysis
Chapters 7 & 9 System Scope
Entity Relationship (ER) Modeling
Analysis Modeling.
4 1 Chapter 4 Entity Relationship (ER) Modeling Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
Entity-Relation Modeling Hun Myoung Park, Ph.D., Public Management and Policy Analysis Program Graduate School of International Relations International.
Entity Relationship (E-R) Modeling
Entity-Relationship Diagrams Elements, Syntax Guidelines Dictionary.
System Analysis - Data Modeling
UML Class Diagram and Packages Written by Zvika Gutterman Adam Carmi.
Communication Notation Part V Chapter 15, 16, 18 and 19.
Entity Relationship Diagrams Basic Elements and Rules.
Chapter 14 (Web): Object-Oriented Data Modeling
Ch5: Software Specification. 1 Descriptive specifications  Describe desired properties of system  Three types:
Entity Relationship Diagrams
Chapter 3: Modeling Data in the Organization
Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good.
חוזים – Contracts 1. Larman – Chapter 10 – SSDs 10.2 What are System Sequence Diagrams? (introduction) Use cases describe how external actors interact.
Chapter 14: Object-Oriented 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.
3 Chapter 3 Entity Relationship (E-R) Modeling Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel.
Computer System Analysis Chapter 10 Structuring System Requirements: Conceptual Data Modeling Dr. Sana’a Wafa Al-Sayegh 1 st quadmaster University of Palestine.
DeSiamorewww.desiamore.com/ifm1 Database Management Systems (DBMS)  B. Computer Science and BSc IT Year 1.
Data Modeling ERM ERD.
Entity Relationship Diagrams
Slide 12.1 © The McGraw-Hill Companies, CS 4310: Software Engineering Lecture 7 Systems Analysis Object-Oriented Design.
Systems Analysis and Design in a Changing World, Fifth Edition
1 ER Modeling BUAD/American University Entity Relationship (ER) Modeling.
9/10/2012ISC 329 Isabelle Bichindaritz1 Entity Relationship (E-R) Modeling.
4 1 Chapter 4 Entity Relationship (ER) Modeling Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
R McFadyen Chapter 7 Conceptual Data Modeling.
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 15: Object-Oriented Data Modeling Modern Database Management 9 h Edition Jeffrey A.
Databases : Data Modeling 2007, Fall Pusan National University Ki-Joune Li.
CHAPTER 13: OBJECT-ORIENTED DATA MODELING (OVERVIEW) © 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 Modern Database Management 11 th Edition.
1 Entity-Relationship Diagram. 2 Components of ERD: –Entity –Relationship –Cardinality –Attributes.
DOMAIN MODEL- VISUALIZING CONCEPTS Identify conceptual classes related to the current iteration requirements. Create an initial domain model. Distinguish.
UML Class Diagram Trisha Cummings. What we will be covering What is a Class Diagram? Essential Elements of a UML Class Diagram UML Packages Logical Distribution.
DeSiamorePowered by DeSiaMore1 Database Management Systems (DBMS)  B. Computer Science and BSc IT Year 1.
5 Systems Analysis and Design in a Changing World, Fifth Edition.
Msigwaemhttp//:msigwaem.ueuo.com/1 Database Management Systems (DBMS)  B. Computer Science and BSc IT Year 1.
Week III  Recap from Last Week Review Classes Review Domain Model for EU-Bid & EU-Lease Aggregation Example (Reservation) Attribute Properties.
Design Model Lecture p6 T120B pavasario sem.
Repetition af Domæne model. Artifact influence emphasizing the Domain Model.
Databases Illuminated Chapter 3 The Entity Relationship Model.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
CIS 210 Systems Analysis and Development Week 6 Part I Structuring Systems Data Requirements,
1 Database Systems Entity Relationship (E-R) 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.
Kyung Hee University Class Diagramming Notation OOSD 담당조교 석사과정 이정환.
Department of Mathematics Computer and Information Science1 CS 351: Database Management Systems Christopher I. G. Lanclos Chapter 4.
Chapter 3: Modeling Data in the Organization
Modeling data in the Organization
Chapter 10 Structuring System Requirements: Conceptual Data Modeling
Cmpe 589 Spring 2006.
Entity Relationship (E-R) Modeling
Entity Relationship (E-R) Modeling
Use Case Model.
Object Oriented Concepts -I
Data Dictionaries ER Diagram.
Object-Oriented Analysis
Lec 3: Object-Oriented Data Modeling
Entity Relationship Diagrams
Chapter 4 Entity Relationship (ER) Modeling
Chapter 10 Structuring System Requirements: Conceptual Data Modeling
Chapter 10 Structuring System Requirements: Conceptual Data Modeling
Entity Relationship (ER) Modeling
Lecture 10 Structuring System Requirements: Conceptual Data Modeling
Presentation transcript:

Entity-Relationship Diagrams Elements, Syntax Guidelines Dictionary

Aim of part III The subject domain of a software system is the part of the world talked about by the messages that cross the system interface.

TIS

Juice Factory

E-tickets

Entity type Represented by a rectangle. Extension –All possible instances of entity type. Extent –All existing instances of entity type. Intension –All properties shared by all possible instances. Defining intension –Properties used to define the entity type. This is an abstraction of the full, informal meaning.

Attributes Properties of entities. Can be listed in a compartment directly below the type name compartment.

Relationships A set of tuples of entities. Arity is the number of related entities. Binary, ternary, etc. We only describe a relationship if we want to express relative cardinality properties: How many entities of one type can exist for each entity of another type.

Elevator system To find a cardinality property, imagine looking at an arbitrary state of the domain and ask how many instances of some entity type can exist in that state.

Inconsistent cardinality properties Path expressions

Association entities

Generalization Instance of a subtype is instance of a supertype

Dynamic vs. Static specialization Subtype extensions are disjoint and cover supertype extension. Subtype extents are disjoint and cover supertype extent. d: disjoint subtypes c: covers supertype

ERD Modeling Guidelines ERDs can be used to declare any set of entity types and their cardinality properties. We use ERDs only to represent the structure of the subject domain. Guidelines to determine the boundary of the subject domain are relevant for this kind of use of ERDs only. All the other guidelines are relevant for all possible uses of ERDs.

Subject domain boundary Entities and events: –What entities and events do the service descriptions refer to? –What are the messages entering and leaving the system about? Physical bodies, Devices, (Parts of) organizations, Conceptual entities, Lexical items Events involving these entities

External/unobservable events

Entities vs. attributes Entities are the things that the system talks about. Attributes are the things said about entities. –So if you want to store information about it, it is an entity. –If information about it can change, it is an entity

Entity or attribute??? - Counting - Creation

Entities or relationships Relationships are identified by their components. They are counted differently from the way entities are counted.

Specialization attributes

Static or dynamic specialization?

Classification and identification A type definition should provide a recognition criterion and an identification criterion. –“Is this a car?” –“How many cars do we have here?” –Subtype….

Subtypes or roles?

Validation Four suggestions: –Consistency –Elementary Sentences –Snapshots –Identification

Consistency of cardinality properties

Elementary Sentences At each moment: –A batch of juice has exactly one recipe. –A recipe may be applicable to any number of batches. –At any point in time, a heating tank has at most one batch allocated to it. –At any point in time, a batch is allocated to either 1 or 2 heating tanks. –Each heating tank has exactly one heater.

Snapshots Examples of problems in the model: - Ticket cannot be used before bought! - No usage and refund for the same segment! - Return must be on the same day!

Identification Messages entering and leaving the system. Service descriptions

History

Event

Dictionary A dictionary should contain: –Words used in service descriptions –Words used in messages that cross the external interface –Domain-specific jargon The subject domain ERD is a visual supplement to the dictionary

Domain ontology Domain is part of the world treated as a whole. Ontology is a metaclassification.

Syntactic categories Identifier -- Unique proper name. Predicate name. –Entity type name. –Relationship name. –State predicate name. Boolean property. Attribute name. Event name.

An elevator control specification Planned direction (c: Elevator cage). Attribute. The preferred direction in which c will depart after closing its doors. If there are requests to be served higher and lower than the current floor of the elevator cage, then it will depart in the planned direction. Round trip time. The time in seconds for a single car trip around a building from the time the cage doors open at the main terminal until the doors reopen when the cage has returned to the main terminal floor after its trip. At_floor(b: Request button, c: Elevator cage). Predicate. c –current floor = b.floor. continue (c: Elevator cage). Action. Term is applicable only if c –planned direction <> none. –If c.planned direction = up then start up (c.motor). –If c.planned direction = down then start down (c.motor). The motor of c is started in the planned direction of c.

Defining Concepts Extensional definitions list a few instances of the concept. –Easy to give. But do not define an intension. Intensional definition lists the defining properties shared by all instance of the concept. –Difficult Advice: –Give a few examples, a sketch of the intent, and indicate the procedure that determines whether an instances falls under the concept.

Define a term To clarify a term. To indicate that the term is open-textured. To indicate that we attach little meaning to it. The term is absolutely obvious to all stakeholders -- but they attach different meanings to it.

Do not define a term To raise a cloud of obscurity. –Bad idea, but frequent practice. Definitions can also be found in technical documentation of devices. –Don't repeat these. The term is absolutely obvious to all stakeholders –They understand the same by it.

Genus and difference Identificationrecognition

Operational definitions Example - Heating tank: –Entity type. A tank with a heater and thermometer attached. The heater can be recognized by red, blue and black wires leading up to it, and the thermometer by its rectangular shape

Abbreviations versus correspondence rules Abbreviation: –To determine whether an individual is an instance of the defined concept, you do not need new observations but simply look up words in the dictionary. Correspondence rules: –To determine whether an individual is an instance of the defined concept, you must make observations.