Systems Analysis and Design

Similar documents
Modern Systems Analysis and Design

Chapter 8 The Enhanced Entity- Relationship (EER) Model

CSC 742 Database Management Systems

Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model

2. Conceptual Modeling using the Entity-Relationship Model

Systems Analysis and Design

s от Systems Analysis and Design

How To Write A Diagram

Chapter 2: Entity-Relationship Model. Entity Sets. " Example: specific person, company, event, plant

Chapter 2: Entity-Relationship Model. E-R R Diagrams

Object-Oriented Data Modeling

DATABASE MANAGEMENT SYSTEMS. Question Bank:

Database Design Methodology

IV. The (Extended) Entity-Relationship Model

three Entity-Relationship Modeling chapter OVERVIEW CHAPTER

Database Design Overview. Conceptual Design ER Model. Entities and Entity Sets. Entity Set Representation. Keys

Concepts of Database Management Seventh Edition. Chapter 6 Database Design 2: Design Method

Systems Analysis and Design

Chapter 2: Entity-Relationship Model

DATABASE DESIGN. - Developing database and information systems is performed using a development lifecycle, which consists of a series of steps.

THE ENTITY- RELATIONSHIP (ER) MODEL CHAPTER 7 (6/E) CHAPTER 3 (5/E)

Lecture 12: Entity Relationship Modelling

Conceptual Design: Entity Relationship Models. Objectives. Overview

Data Modeling Basics

Database Design Process

Database Design Process

IT2305 Database Systems I (Compulsory)

ER modelling, Weak Entities, Class Hierarchies, Aggregation

IT2304: Database Systems 1 (DBS 1)

Concepts of Database Management Seventh Edition. Chapter 9 Database Management Approaches

The Relational Model. Why Study the Relational Model? Relational Database: Definitions. Chapter 3

A brief overview of developing a conceptual data model as the first step in creating a relational database.

Lesson 8: Introduction to Databases E-R Data Modeling

not necessarily strictly sequential feedback loops exist, i.e. may need to revisit earlier stages during a later stage

7.1 The Information system

Review: Participation Constraints


Data Modeling. Database Systems: The Complete Book Ch ,

CS 487. Week 8. Reference: 1. Software engineering, roger s. pressman. Reading: 1. Ian Sommerville, Chapter 3. Objective:

Systems Analysis and Design

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

XV. The Entity-Relationship Model

The Entity-Relationship Model

Databases and BigData

Lecture Notes INFORMATION RESOURCES

COMP 378 Database Systems Notes for Chapter 7 of Database System Concepts Database Design and the Entity-Relationship Model

Unit 2.1. Data Analysis 1 - V Data Analysis 1. Dr Gordon Russell, Napier University

LAB 3: Introduction to Domain Modeling and Class Diagram

Outline. Data Modeling. Conceptual Design. ER Model Basics: Entities. ER Model Basics: Relationships. Ternary Relationships. Yanlei Diao UMass Amherst

Software Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville

We know how to query a database using SQL. A set of tables and their schemas are given Data are properly loaded

The Relational Model. Ramakrishnan&Gehrke, Chapter 3 CS4320 1

Databases What the Specification Says

Database Design. Marta Jakubowska-Sobczak IT/ADC based on slides prepared by Paula Figueiredo, IT/DB

How To Design Software

TIM 50 - Business Information Systems

æ A collection of interrelated and persistent data èusually referred to as the database èdbèè.

BCA. Database Management System

The E-R èentity-relationshipè data model views the real world as a set of basic objects èentitiesè and

Chapter 10 Practical Database Design Methodology and Use of UML Diagrams

Data Analysis 1. SET08104 Database Systems. Napier University

Announcements. SE 1: Software Requirements Specification and Analysis. Review: Use Case Descriptions

Entity-Relationship Model

Chapter 10 Practical Database Design Methodology and Use of UML Diagrams

The Entity-Relationship Model

Conceptual Design Using the Entity-Relationship (ER) Model

Foundations of Information Management

CHAPTER 6 DATABASE MANAGEMENT SYSTEMS. Learning Objectives

Why & How: Business Data Modelling. It should be a requirement of the job that business analysts document process AND data requirements

Fundamentals of Database Design

USING UML FOR OBJECT-RELATIONAL DATABASE SYSTEMS DEVELOPMENT: A FRAMEWORK

Week 1: Introduction. Transcript of Week 1 Podcast

Chapter 15 Basics of Functional Dependencies and Normalization for Relational Databases

11 November

The Entity-Relationship Model

Lecture 6. SQL, Logical DB Design

Glossary of Object Oriented Terms

MIS630 Data and Knowledge Management Course Syllabus

Using Entity-Relationship Diagrams To Count Data Functions Ian Brown, CFPS Booz Allen Hamilton 8283 Greensboro Dr. McLean, VA USA

Umbrello UML Modeller Handbook

Chapter 1 The Systems Development Environment

Chapter 5: Logical Database Design and the Relational Model Part 2: Normalization. Introduction to Normalization. Normal Forms.

Object Oriented Databases. OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar

Java (12 Weeks) Introduction to Java Programming Language

Entity - Relationship Modelling

Using UML Part One Structural Modeling Diagrams

LECTURE 11: PROCESS MODELING

B.Sc. (Computer Science) First Year

Rose Data Modeler (logical)

Quotes from Object-Oriented Software Construction

Database Design Methodology

Chap 1. Introduction to Software Architecture

GEM: A GENERAL E-COMMERCE DATA MODEL FOR STRATEGIC ADVANTAGE

INFORMATION TECHNOLOGY

A Tool for Generating Relational Database Schema from EER Diagram

Database Design Process. Databases - Entity-Relationship Modelling. Requirements Analysis. Database Design

Database Design. Database Design I: The Entity-Relationship Model. Entity Type (con t) Chapter 4. Entity: an object that is involved in the enterprise

Databases Model the Real World. The Entity- Relationship Model. Conceptual Design. Steps in Database Design. ER Model Basics. ER Model Basics (Contd.

Data Modeling: Part 1. Entity Relationship (ER) Model

Transcription:

Systems Analysis and Design Slides adapted from Jeffrey A. Hoffer, University of Dayton Joey F. George, Florida State University Joseph S. Valacich, Washington State University Modern Systems Analysis and Design, 4,5,6/E, Pearson Prentice Hall, 2004-2010 Chapter 9 Structuring System Data Requirements

Data Modeling and SDLC 9-2

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 9-3

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 9-4

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. 9-5

9-6

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. 9-7

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? Are you the source, modify or destroy the data, Security controls and user access privileges 9-8

Requirements Determination Questions for Data Modeling (cont.) Over what period of time are you interested in the data? Do you need historical trends? 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 9-9

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 9-10

Association between the instances of one or more entity types 9-11 Person, place, object, event or concept about which data is to be maintained Entity type: collection of entities with common characteristics Entity instance: single entity named property or characteristic of an entity

9-12

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 9-13

Identifier Attributes (cont.) 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 (composite) keys. 4. Consider substituting single value surrogate keys for large composite keys. 9-14

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 weak entity 9-15

Repeating group: a set of two or more multivalued attributes that are logically related 9-16

Other Attribute Types Required attribute: an attribute that must have a value for every entity instance Optional attribute: an attribute that may not have a value for every entity instance Composite attribute: an attribute that has meaningful component parts Derived attribute: an attribute whose value can be computed from related attribute values 9-17

Entity and Attribute Example Simple attributes Identifier attribute each employee has a unique ID. Multivalued attribute an employee may have more than one skill. 9-18

Degree of Relationship 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 9-19

Relationships of Different Degrees 9-20

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 9-21

Cardinality Symbols 9-22

Unary Relationship Example 9-23

Binary Relationship Examples 9-24

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 9-25

A relationship with an attribute as an associative entity 9-26

Ternary relationship as an associative entity 9-27

A relationship that itself is related to other entities via another relationship must be represented as an associative entity. 9-28

Supertypes and Subtypes Subtype: a more specific entity that inherits attributes of a supertype. It is usually provided by distinct attributes or relationships from other subtypes Supertype: a more generic entity for one or more subtype 9-29

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 9-30

9-31

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 operation rules: other business rules regarding attribute values 9-32

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 9-33

Triggering Operation Rules 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 9-34

Typical Domain Definition Typical Triggering Operation Rule 9-35

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 9-36

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 9-37

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 (internal and external): uniqueness, no two objects are the same 9-38

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 9-39

Class Diagram A diagram showing the static structure of an object-oriented model UML classes are analogous to E-R entities 9-40

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 9-41

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 9-42

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

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 9-44

Association Class An association with its own attributes, operations, or relationships UML association classes are analogous to E-R associative entities. 9-45

Derived Attributes and Associations Derived items are represented with a slash (/). Derived attributes are calculated based on other attributes 9-46

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 9-47

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

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 9-49

Abstraction: Student is an abstract class and calctuition() is an abstract operation (italicized) Polymorphism: Here, each type of student has its own version of calc-tuition() Class scope: tuitionpercred is a class-wide attribute 9-50

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 9-51

Aggregation and Composition Aggregation is represented with open diamonds Composition is represented with filled diamonds 9-52

Summary In 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. 9-53