Download

Introduction to Entity-Relationship Diagrams, Data Flow Diagrams, and UML






Advertisement
/ 34 []
Download Presentation
Comments
paul
From:
|  
(4196) |   (0) |   (0)
Views: 260 | Added:
Rate Presentation: 0 0
Description:
Introduction to Entity-Relationship Diagrams, Data Flow Diagrams, and UML. Todd Bacastow Penn State University Geography 583 Geospatial System Analysis & Design. Data modeling – a technique for organizing and documenting a system’s data. Sometimes called database modeling .
Introduction to Entity-Relationship Diagrams, Data Flow Diagrams, and UML

An Image/Link below is provided (as is) to

Download Policy: Content on the Website is provided to you AS IS for your information and personal use only and may not be sold or licensed nor shared on other sites. SlideServe reserves the right to change this policy at anytime. While downloading, If for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.











- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -




Introduction to entity relationship diagrams data flow diagrams and uml l.jpgSlide 1

Introduction to Entity-Relationship Diagrams, Data Flow Diagrams, and UML

Todd BacastowPenn State UniversityGeography 583Geospatial System Analysis & Design

Data modeling l.jpgSlide 2

Data modeling – a technique for organizing and documenting a system’s data. Sometimes called database modeling.

Entity relationship diagram (ERD) – a data model utilizing several notations to depict data in terms of the entities and relationships described by that data.

Data Modeling

Data modeling concepts entity l.jpgSlide 3

Entity – a class of persons, places, objects, events, or concepts about which we need to capture and store data.

Named by a singular noun

Data Modeling Concepts: Entity

  • Persons: agency, contractor, customer, department, division, employee, instructor, student, supplier.

  • Places: sales region, building, room, branch office, campus.

  • Objects: book, machine, part, product, raw material, software license, software package, tool, vehicle model, vehicle.

  • Events: application, award, cancellation, class, flight, invoice, order, registration, renewal, requisition, reservation, sale, trip.

  • Concepts: account, block of time, bond, course, fund, qualification, stock.

Data modeling concepts attributes l.jpgSlide 4

Attribute – a descriptive property or characteristic of an entity. Synonyms include element, property, and field.

Just as a physical student can have attributes, such as hair color, height, etc., data entity has data attributes

Compound attribute – an attribute that consists of other attributes. Synonyms in different data modeling languages are numerous: concatenated attribute, composite attribute, and data structure.

Data Modeling Concepts: Attributes

Data modeling concepts identification l.jpgSlide 5

Key – an attribute, or a group of attributes, that assumes a unique value for each entity instance. It is sometimes called an identifier.

Concatenated key - group of attributes that uniquely identifies an instance. Synonyms: composite key, compound key.

Candidate key – one of a number of keys that may serve as the primary key. Synonym: candidate identifier.

Primary key – a candidate key used to uniquely identify a single entity instance.

Alternate key – a candidate key not selected to become the primary key. Synonym: secondary key.

Data Modeling Concepts: Identification

Data modeling concepts relationships l.jpgSlide 6

Relationship – a natural business association that exists between one or more entities.

The relationship may represent an event that links the entities or merely a logical affinity that exists between the entities.

Data Modeling Concepts: Relationships

Data modeling concepts cardinality l.jpgSlide 7

Cardinality – the minimum and maximum number of occurrences of one entity that may be related to a single occurrence of the other entity.

Because all relationships are bidirectional, cardinality must be defined in both directions for every relationship.

Data Modeling Concepts: Cardinality

bidirectional

Data modeling concepts degree l.jpgSlide 8

Degree – the number of entities that participate in the relationship.

A relationship between two entities is called a binary relationship.

A relationship between three entities is called a 3-ary or ternary relationship.

A relationship between different instances of the same entity is called a recursive relationship.

Data Modeling Concepts: Degree

Why logical system models l.jpgSlide 9

Logical models remove biases that are the result of the way the system is currently implemented, or the way that any one person thinks the system might be implemented.

Logical models reduce the risk of missing business requirements because we are too preoccupied with technical results.

Logical models allow us to communicate with end-users in nontechnical or less technical languages.

Why Logical System Models

Process modeling and dfds l.jpgSlide 10

Process modeling – a technique used to organize and document a system’s processes.

Flow of data through processes

Logic

Policies

Procedures

Data flow diagram (DFD) – a process model used to depict the flow of data through a system and the work or processing performed by the system. Synonyms are bubble chart, transformation graph, and process model.

The DFD has also become a popular tool for business process redesign.

Process Modeling and DFDs

Differences between dfds and flowcharts l.jpgSlide 11

Processes on DFDs can operate in parallel (at-the-same-time)

Processes on flowcharts execute one at a time

DFDs show the flow of data through a system

Flowcharts show the flow of control (sequence and transfer of control)

Processes on a DFD can have dramatically different timing (daily, weekly, on demand)

Processes on flowcharts are part of a single program with consistent timing

Differences Between DFDs and Flowcharts

What is the uml l.jpgSlide 12

What is the UML?

  • Unified Modeling Language

  • It is a modeling language, not a process

  • In 1996, work on the UML was begun by Rational.

Uml diagrams l.jpgSlide 13

UML Diagrams

  • Class Diagrams

  • Use Case Diagrams

  • Collaboration Diagrams

  • Sequence Diagrams

  • Package Diagrams

  • Component Diagrams

  • Deployment Diagrams

  • Activity Diagrams

  • State Diagrams

Class diagrams l.jpgSlide 14

Class Diagrams

  • Are the most fundamental UML Diagram.

  • Describe the classes in the system, and the static relationships between classes.

  • Class diagrams are used during Analysis, Design and Development.

Uml class diagram l.jpgSlide 15

UML Class Diagram

Customer

1

Rental Invoice

1..*

Rental Item

1

0..1

1

Checkout Screen

DVD Movie

VHS Movie

Video Game

Uml class diagram16 l.jpgSlide 16

UML Class Diagram

Multiplicity

Customer

Simple

Aggregation

1

Class

Abstract

Class

Rental Invoice

1..*

Rental Item

{abstract}

1

0..1

Composition

(Dependency)

Simple

Association

Generalization

Checkout Screen

DVD Movie

VHS Movie

Video Game

Parts of a class l.jpgSlide 17

MyClassName

+SomePublicAttribute : SomeType

-SomePrivateAttribute : SomeType

#SomeProtectedAttribute : SomeType

+ClassMethodOne()

+ClassMethodTwo()

Responsibilities

-- can optionally be described here.

Parts of a Class

  • Classes can have four parts

    • Name

    • Attributes

    • Operations

    • Responsibilities

  • Classes can show visibility and types.

  • All parts but the Name are optional.

Object diagrams l.jpgSlide 18

ThisOne : MyClassName

+SomePublicAttribute : SomeType

-SomePrivateAttribute : SomeType

#SomeProtectedAttribute : SomeType

+ClassMethodOne()

+ClassMethodTwo()

Object Diagrams

  • An Object is an instance of a class.

  • Object names are underlined.

  • Object diagrams are similar to class diagrams. Many of the same notations are used.

  • Object diagrams capture instances of classes, and allow the dynamic relationships to be shown.

Class and object diagrams l.jpgSlide 19

Class and Object Diagrams

Class Name

Association Name

Customer

Rental Item

Rents

+id:integer

+id:integer

0..n

+name:string

+released:date

0..1

Class Diagram

Attributes

Object Name

Joe: Customer

Casablanca: Movie

+id:1667

+id:22340

+name:Joe Smith

+released:1942

Object Diagram

Use cases l.jpgSlide 20

Use Cases

  • Describe interactions between users and computer systems (both called actors) .

  • Capture user-visible functions.

  • Achieve discrete measurable goals.

  • Are typically used during Analysis and Design.

Use case diagram l.jpgSlide 21

Use Case Diagram

Use Case

Actor

Identify Movie

Open Account

Customer

Clerk

Return Movie

Review

In-Store

Telephone

Account Status

Customer

Customer

Use case report l.jpgSlide 22

Use Case Report

  • The Use Case Report provides documentation for the Use Case.

  • A Use Case is not complete without the report.

  • The elements of the Use Case Report are shown on the right.

  • Brief description

  • Precondition

  • Flow of events

    • Main flow

    • Subflows

    • Alternate flows

  • Postcondition

  • Special Requirements

  • Enclosures

    • Diagrams

    • Pictures of the UI

Collaboration diagrams l.jpgSlide 23

Collaboration Diagrams

  • Collaboration diagrams describe interactions and links

  • Focus on exchange of messages between objects

  • Appears during Analysis phase

  • Enhanced during Design phase

Collaboration diagram rent movie l.jpgSlide 24

Collaboration Diagram - Rent Movie

:Rented Items

Object

5: add(customer, movies)

1: enter_customer()

8: generateRentalTotal()

3: enter_movies()

2: IsValidCust(CustId)

7: print invoice()

:Check-out Manager

:Customer

:Clerk

4:GetMovieByBarcode()

:Inventory

Message

Sequence diagrams l.jpgSlide 25

Sequence Diagrams

  • Can be “morphed” from Collaboration Diagrams.

  • Describe interactions between objects arranged in time sequence

  • Focus on objects and classes involved in the scenario and the sequence of messages exchanged

  • Associated with use cases

  • Used heavily during Analysis phase and are enhanced and refined during Design phase

Sequence diagram rent movie l.jpgSlide 26

Sequence Diagram - Rent Movie

:CheckoutMgr

Cust:Customer

:Inventory

:RentedItems

:Employee

1: find customer()

2: search (string)

Object

3: enter movie()

4: search (string)

Activation

Message

5: rent (movie)

6: add(Cust, item)

Lifeline

7: printInvoice()

8: generateRentalTotal()

Package diagram l.jpgSlide 27

Package Diagram

Class

Package

Component diagram l.jpgSlide 28

Component Diagram

Component

Interface

Dependency

Note

Deployment diagram l.jpgSlide 29

Deployment Diagram

Node

Communication

Association

Activity diagram l.jpgSlide 30

Activity Diagram

Start State

Identify

Caller

Action State

Obtain Name

& Address

Decision

Open

Account?

Current

Customer?

[no]

[no]

[yes]

[yes]

End State

Create

Account

Swimlanes and fork join points l.jpgSlide 31

Swimlanes and Fork/Join Points

Customer

Manager

Walking Clerk

Identify

Movie

Fork Point

Place

Order

Place

Order

Fill

Order

Pay

Collect

Money

Pickup

Movie

Deliver

Movie

Join Point

State diagram l.jpgSlide 32

State Diagram

Guard

Event

Transition

Action

Activity

State

Uml diagram usage l.jpgSlide 33

UML Diagram Usage

Conclusion l.jpgSlide 34

Conclusion

  • UML is a robust notation that can express information gathered throughout a project’s lifecycle.

  • Adopting standard use of UML can improve communication between clients and developers.

  • UML can be used as an effective data modeling tool as well as an object modeling tool.


Copyright © 2014 SlideServe. All rights reserved | Powered By DigitalOfficePro