Top Banner
1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005
78

1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

Dec 15, 2015

Download

Documents

Jimena Hackney
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

1

Chapter 25

Introduction to Object DBMSs

Transparencies

© Pearson Education Limited 1995, 2005

Page 2: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

2

Chapter 25 - Objectives

Advanced database applications.

Unsuitability of RDBMSs for advanced database

applications.

Object-oriented concepts.

Problems of storing objects in relational database.

The next generation of database systems.

Basics of object-oriented database analysis and

design.

© Pearson Education Limited 1995, 2005

Page 3: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

3

Advanced Database Applications

Computer-Aided Design/Manufacturing (CAD/CAM) Computer-Aided Software Engineering (CASE) Network Management Systems Office Information Systems (OIS) and Multimedia

Systems Digital Publishing Geographic Information Systems (GIS) Interactive and Dynamic Web sites Other applications with complex and interrelated

objects and procedural data.

© Pearson Education Limited 1995, 2005

Page 4: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

4

Computer-Aided Design (CAD)

Stores data relating to mechanical and electrical design, for example, buildings, airplanes, and integrated circuit chips.

Designs of this type have some common characteristics:– Data has many types, each with a small

number of instances.– Designs may be very large.

© Pearson Education Limited 1995, 2005

Page 5: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

5

Computer-Aided Design (CAD)

– Design is not static but evolves through time. – Updates are far-reaching.– Involves version control and configuration

management. – Cooperative engineering.

© Pearson Education Limited 1995, 2005

Page 6: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

6

Advanced Database Applications

Computer-Aided Manufacturing (CAM)– Stores similar data to CAD, plus data

about discrete production. Computer-Aided Software Engineering (CASE)

– Stores data about stages of software development lifecycle.

© Pearson Education Limited 1995, 2005

Page 7: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

7

Network Management Systems

Coordinate delivery of communication services across a computer network.

Perform such tasks as network path management, problem management, and network planning.

Systems handle complex data and require real-time performance and continuous operation.

To route connections, diagnose problems, and balance loadings, systems have to be able to move through this complex graph in real-time.

© Pearson Education Limited 1995, 2005

Page 8: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

8

Office Information Systems (OIS) and Multimedia Systems

Stores data relating to computer control of information in a business, including electronic mail, documents, invoices, and so on.

Modern systems now handle free-form text, photographs, diagrams, audio and video sequences.

Documents may have specific structure, perhaps described using mark-up language such as SGML, HTML, or XML.

© Pearson Education Limited 1995, 2005

Page 9: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

9

Digital Publishing

Becoming possible to store books, journals, papers, and articles electronically and deliver them over high-speed networks to consumers.

As with OIS, digital publishing is being extended to handle multimedia documents consisting of text, audio, image, and video data and animation.

Amount of information available to be put online is in the order of petabytes (1015 bytes), making them largest databases DBMS has ever had to manage.

© Pearson Education Limited 1995, 2005

Page 10: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

10

Geographic Information Systems (GIS)

GIS database stores spatial and temporal information, such as that used in land management and underwater exploration.

Much of data is derived from survey and satellite photographs, and tends to be very large.

Searches may involve identifying features based, for example, on shape, color, or texture, using advanced pattern-recognition techniques.

© Pearson Education Limited 1995, 2005

Page 11: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

11

Interactive and Dynamic Web Sites

Consider online catalog for selling clothes. Web site maintains a set of preferences for previous visitors and allows a visitor to:– obtain 3D rendering of any item based on color, size,

fabric, etc.;– modify rendering to account for movement,

illumination, backdrop, occasion, etc.;– select accessories to go with the outfit, from items

presented in a sidebar; Need to handle multimedia content and to

interactively modify display based on user preferences and user selections. Added complexity of providing 3D rendering.

© Pearson Education Limited 1995, 2005

Page 12: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

12

Weaknesses of RDBMSs

Poor Representation of “Real World” Entities– Normalization leads to relations that do not

correspond to entities in “real world”.

Semantic Overloading– Relational model has only one construct for

representing data and data relationships: the relation.

– Relational model is semantically overloaded.

© Pearson Education Limited 1995, 2005

Page 13: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

13

Weaknesses of RDBMSs

Poor Support for Integrity and Enterprise Constraints

Homogeneous Data Structure– Relational model assumes both horizontal

and vertical homogeneity. – Many RDBMSs now allow Binary Large

Objects (BLOBs).

© Pearson Education Limited 1995, 2005

Page 14: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

14

Weaknesses of RDBMSs

Limited Operations– RDBMs only have a fixed set of operations

which cannot be extended.

Difficulty Handling Recursive Queries– Extremely difficult to produce recursive

queries.– Extension proposed to relational algebra to

handle this type of query is unary transitive (recursive) closure operation.

© Pearson Education Limited 1995, 2005

Page 15: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

15

Example - Recursive Query

© Pearson Education Limited 1995, 2005

Page 16: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

16

Weaknesses of RDBMSs

Impedance Mismatch– Most DMLs lack computational completeness. – To overcome this, SQL can be embedded in a

high-level 3GL.– This produces an impedance mismatch -

mixing different programming paradigms.– Estimated that as much as 30% of

programming effort and code space is expended on this type of conversion.

© Pearson Education Limited 1995, 2005

Page 17: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

17

Weaknesses of RDBMSs

Other Problems with RDBMSs– Transactions are generally short-lived and

concurrency control protocols not suited for long-lived transactions.

– Schema changes are difficult. – RDBMSs are poor at navigational access.

© Pearson Education Limited 1995, 2005

Page 18: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

18

Object-Oriented Concepts

Abstraction, encapsulation, information hiding. Objects and attributes. Object identity. Methods and messages. Classes, subclasses, superclasses, and inheritance. Overloading. Polymorphism and dynamic binding.

© Pearson Education Limited 1995, 2005

Page 19: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

19

Abstraction

Process of identifying essential aspects of an entity and ignoring unimportant properties.

Concentrate on what an object is and what it does, before deciding how to implement it.

© Pearson Education Limited 1995, 2005

Page 20: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

20

Encapsulation and Information Hiding

Encapsulation – Object contains both data structure and set of

operations used to manipulate it.

Information Hiding– Separate external aspects of an object from its

internal details, which are hidden from outside.

Allows internal details of an object to be changed without affecting applications that use it, provided external details remain same.

Provides data independence.

© Pearson Education Limited 1995, 2005

Page 21: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

21

Object

Uniquely identifiable entity that contains both the attributes that describe the state of a real-world object and the actions associated with it.

– Definition very similar to that of an entity, however, object encapsulates both state and behavior; an entity only models state.

© Pearson Education Limited 1995, 2005

Page 22: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

22

Attributes

Contain current state of an object.

Attributes can be classified as simple or complex. Simple attribute can be a primitive type such as

integer, string, etc., which takes on literal values. Complex attribute can contain collections and/or

references. Reference attribute represents relationship. An object that contains one or more complex

attributes is called a complex object.

© Pearson Education Limited 1995, 2005

Page 23: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

23

Object Identity

Object identifier (OID) assigned to object when it is created that is:

– System-generated.– Unique to that object.– Invariant.– Independent of the values of its attributes (that

is, its state).– Invisible to the user (ideally).

© Pearson Education Limited 1995, 2005

Page 24: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

24

Object Identity - Implementation

In RDBMS, object identity is value-based: primary key is used to provide uniqueness.

Primary keys do not provide type of object identity required in OO systems:– key only unique within a relation, not across

entire system; – key generally chosen from attributes of

relation, making it dependent on object state.

© Pearson Education Limited 1995, 2005

Page 25: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

25

Object Identity - Implementation

Programming languages use variable names and pointers/virtual memory addresses, which also compromise object identity.

In C/C++, OID is physical address in process memory space, which is too small - scalability requires that OIDs be valid across storage volumes, possibly across different computers.

Further, when object is deleted, memory is reused, which may cause problems.

© Pearson Education Limited 1995, 2005

Page 26: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

26

Advantages of OIDs

They are efficient. They are fast. They cannot be modified by the user. They are independent of content.

© Pearson Education Limited 1995, 2005

Page 27: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

27

Methods and Messages

Method – Defines behavior of an object, as a set of

encapsulated functions.

Message – Request from one object to another asking

second object to execute one of its methods.

© Pearson Education Limited 1995, 2005

Page 28: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

28

Object Showing Attributes and Methods

© Pearson Education Limited 1995, 2005

Page 29: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

29

Example of a Method

© Pearson Education Limited 1995, 2005

Page 30: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

30

Class

Blueprint for defining a set of similar objects.

Objects in a class are called instances. Class is also an object with own class attributes

and class methods.

© Pearson Education Limited 1995, 2005

Page 31: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

31

Class Instance Share Attributes and Methods

© Pearson Education Limited 1995, 2005

Page 32: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

32

Subclasses, Superclasses, and Inheritance

Inheritance allows one class of objects to be defined as a special case of a more general class.

Special cases are subclasses and more general cases are superclasses.

Process of forming a superclass is generalization; forming a subclass is specialization.

Subclass inherits all properties of its superclass and can define its own unique properties.

Subclass can redefine inherited methods.

© Pearson Education Limited 1995, 2005

Page 33: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

33

Subclasses, Superclasses, and Inheritance

All instances of subclass are also instances of superclass.

Principle of substitutability states that instance of subclass can be used whenever method/construct expects instance of superclass.

Relationship between subclass and superclass known as A KIND OF (AKO) relationship.

Four types of inheritance: single, multiple, repeated, and selective.

© Pearson Education Limited 1995, 2005

Page 34: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

34

Single Inheritance

© Pearson Education Limited 1995, 2005

Page 35: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

35

Multiple Inheritance

© Pearson Education Limited 1995, 2005

Page 36: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

36

Repeated Inheritance

© Pearson Education Limited 1995, 2005

Page 37: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

37

Overriding, Overloading, and Polymorphism

Overriding – Process of redefining a property within a subclass.

Overloading– Allows name of a method to be reused with a class or

across classes.

Polymorphism– Means ‘many forms’. Three types: operation,

inclusion, and parametric.

© Pearson Education Limited 1995, 2005

Page 38: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

38

Example of Overriding

Might define method in Staff class to increment salary based on commission:

method void giveCommission(float branchProfit) {

salary = salary + 0.02 * branchProfit; }

May wish to perform different calculation for commission in Manager subclass:

method void giveCommission(float branchProfit) {

salary = salary + 0.05 * branchProfit; }

© Pearson Education Limited 1995, 2005

Page 39: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

39

Overloading Print Method

© Pearson Education Limited 1995, 2005

Page 40: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

40

Dynamic Binding

Runtime process of selecting appropriate method based on an object’s type.

With list consisting of an arbitrary number of objects from the Staff hierarchy, we can write:

list[i]. print

and runtime system will determine which print() method to invoke depending on the object’s (sub)type.

© Pearson Education Limited 1995, 2005

Page 41: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

41

Complex Objects

An object that consists of subobjects but is viewed as a single object.

Objects participate in a A-PART-OF (APO) relationship.

Contained object can be encapsulated within complex object, accessed by complex object’s methods.

Or have its own independent existence, and only an OID is stored in complex object.

© Pearson Education Limited 1995, 2005

Page 42: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

42

Storing Objects in Relational Databases

One approach to achieving persistence with an OOPL is to use an RDBMS as the underlying storage engine.

Requires mapping class instances (i.e. objects) to one or more tuples distributed over one or more relations.

To handle class hierarchy, have two basics tasks to perform:(1) design relations to represent class hierarchy;(2) design how objects will be accessed.

© Pearson Education Limited 1995, 2005

Page 43: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

43

Storing Objects in Relational Databases

© Pearson Education Limited 1995, 2005

Page 44: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

44

Mapping Classes to Relations

Number of strategies for mapping classes to relations, although each results in a loss of semantic information.

(1) Map each class or subclass to a relation:

Staff (staffNo, fName, lName, position, sex, DOB, salary)

Manager (staffNo, bonus, mgrStartDate)

SalesPersonnel (staffNo, salesArea, carAllowance)

Secretary (staffNo, typingSpeed)

© Pearson Education Limited 1995, 2005

Page 45: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

45

Mapping Classes to Relations

(2) Map each subclass to a relationManager (staffNo, fName, lName, position, sex, DOB, salary, bonus, mgrStartDate)SalesPersonnel (staffNo, fName, lName, position, sex, DOB, salary, salesArea, carAllowance)Secretary (staffNo, fName, lName, position, sex, DOB, salary, typingSpeed)

(3) Map the hierarchy to a single relationStaff (staffNo, fName, lName, position, sex, DOB, salary, bonus, mgrStartDate, salesArea, carAllowance, typingSpeed, typeFlag)

© Pearson Education Limited 1995, 2005

Page 46: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

46

Next Generation Database Systems

First Generation DBMS: Network and Hierarchical – Required complex programs for even simple

queries.

– Minimal data independence.

– No widely accepted theoretical foundation.

Second Generation DBMS: Relational DBMS– Helped overcome these problems.

Third Generation DBMS: OODBMS and ORDBMS.

© Pearson Education Limited 1995, 2005

Page 47: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

47

History of Data Models

© Pearson Education Limited 1995, 2005

Page 48: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

48

Object-Oriented Database Design

© Pearson Education Limited 1995, 2005

Page 49: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

49

Relationships

Relationships represented using reference attributes, typically implemented using OIDs.

Consider how to represent following binary relationships according to their cardinality:– 1:1– 1:*– *:*.

© Pearson Education Limited 1995, 2005

Page 50: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

50

1:1 Relationship Between Objects A and B

Add reference attribute to A and, to maintain referential integrity, reference attribute to B.

© Pearson Education Limited 1995, 2005

Page 51: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

51

1:* Relationship Between Objects A and B Add reference attribute to B and attribute

containing set of references to A.

© Pearson Education Limited 1995, 2005

Page 52: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

52

*:* Relationship Between Objects A and B

Add attribute containing set of references to each object.

For relational database design, would decompose *:N into two 1:* relationships linked by intermediate entity. Can also represent this model in an ODBMS.

© Pearson Education Limited 1995, 2005

Page 53: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

53

*:* Relationships

© Pearson Education Limited 1995, 2005

Page 54: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

54

Alternative Design for *:* Relationships

© Pearson Education Limited 1995, 2005

Page 55: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

55

Referential Integrity

Several techniques to handle referential integrity:

Do not allow user to explicitly delete objects. – System is responsible for “garbage collection”.

Allow user to delete objects when they are no longer required. – System may detect invalid references

automatically and set reference to NULL or disallow the deletion.

© Pearson Education Limited 1995, 2005

Page 56: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

56

Referential Integrity

Allow user to modify and delete objects and relationships when they are no longer required.– System automatically maintains the integrity

of objects. – Inverse attributes can be used to maintain

referential integrity.

© Pearson Education Limited 1995, 2005

Page 57: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

57

Behavioral Design

EER approach must be supported with technique that identifies behavior of each class.

Involves identifying:– public methods: visible to all users– private methods: internal to class.

Three types of methods:– constructors and destructors– access– transform.

© Pearson Education Limited 1995, 2005

Page 58: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

58

Behavioral Design - Methods

Constructor - creates new instance of class. Destructor - deletes class instance no longer

required. Access - returns value of one or more attributes

(Get). Transform - changes state of class instance (Put).

© Pearson Education Limited 1995, 2005

Page 59: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

59

Identifying Methods

Several methodologies for identifying methods, typically combine following approaches:– Identify classes and determine methods that

may be usefully provided for each class.– Decompose application in top-down fashion

and determine methods required to provide required functionality.

© Pearson Education Limited 1995, 2005

Page 60: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

60

UML

Represents unification and evolution of several OOAD methods, particularly:– Booch method,

– Object Modeling Technique (OMT),

– Object-Oriented Software Engineering (OOSE).

Adopted as a standard by OMG and accepted by software community as primary notation for modeling objects and components.

© Pearson Education Limited 1995, 2005

Page 61: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

61

UML

Defined as “a standard language for specifying, constructing, visualizing, and documenting the artifacts of a software system”.

The UML does not prescribe any particular methodology, but instead is flexible and customizable to fit any approach and can be used in conjunction with a wide range of software lifecycles and development processes.

© Pearson Education Limited 1995, 2005

Page 62: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

62

UML – Design Goals

Provide ready-to-use, expressive visual modeling language so users can develop and exchange meaningful models.

Provide extensibility and specialization mechanisms to extend core concepts.

Be independent of particular programming languages and development processes.

Provide a formal basis for understanding the modeling language.

Encourage growth of object-oriented tools market. Support higher-level development concepts such as

collaborations, frameworks, patterns, and components. Integrate best practices.

© Pearson Education Limited 1995, 2005

Page 63: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

63

UML - Diagrams

Structural:– class diagrams– object diagrams– component diagrams– deployment diagrams.

Behavioral:– use case diagrams– sequence diagrams– collaboration diagrams– statechart diagrams– activity diagrams.

© Pearson Education Limited 1995, 2005

Page 64: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

64

UML – Object Diagrams Model instances of classes and used to describe

system at a particular point in time. Can be used to validate class diagram with

“real world” data and record test cases.

© Pearson Education Limited 1995, 2005

Page 65: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

65

UML – Component Diagrams

Describe organization and dependencies among physical software components, such as source code, run-time (binary) code, and executables.

© Pearson Education Limited 1995, 2005

Page 66: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

66

UML – Deployment Diagrams

Depict configuration of run-time system, showing hardware nodes, components that run on these nodes, and connections between nodes.

© Pearson Education Limited 1995, 2005

Page 67: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

67

UML – Use Case Diagrams

Model functionality provided by system (use cases), users who interact with system (actors), and association between users and the functionality.

Used in requirements collection and analysis phase to represent high-level requirements of system.

More specifically, specifies a sequence of actions, including variants, that system can perform and that yields an observable result of value to a particular actor.

© Pearson Education Limited 1995, 2005

Page 68: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

68

UML – Use Case Diagrams

© Pearson Education Limited 1995, 2005

Page 69: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

69

UML – Use Case Diagrams

© Pearson Education Limited 1995, 2005

Page 70: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

70

UML – Sequence Diagrams

Model interactions between objects over time, capturing behavior of an individual use case.

Show the objects and the messages that are passed between these objects in the use case.

© Pearson Education Limited 1995, 2005

Page 71: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

71

UML – Sequence Diagrams

© Pearson Education Limited 1995, 2005

Page 72: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

72

UML – Collaboration Diagrams

Show interactions between objects as a series of sequenced messages.

Cross between an object diagram and a sequence diagram.

Unlike sequence diagram, which has column/row format, collaboration diagram uses free-form arrangement, which makes it easier to see all interactions involving a particular object.

© Pearson Education Limited 1995, 2005

Page 73: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

73

UML – Collaboration Diagrams

© Pearson Education Limited 1995, 2005

Page 74: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

74

UML – Statechart Diagrams

Show how objects can change in response to external events.

Usually model transitions of a specific object.

© Pearson Education Limited 1995, 2005

Page 75: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

75

UML – Activity Diagrams

Model flow of control from one activity to another. Typically represent invocation of an operation, a

step in a business process, or an entire business process.

Consist of activity states and transitions between them.

© Pearson Education Limited 1995, 2005

Page 76: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

76

UML – Activity Diagrams

© Pearson Education Limited 1995, 2005

Page 77: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

77

UML – Usage in Database Design Methodology

Produce use case diagrams from requirements specification or while producing requirements specification to depict main functions required of system. Can be augmented with use case descriptions.

Produce first cut class diagram (ER model). Produce a sequence diagram for each use case or

group of related use cases. May be useful to add a control class to class

diagram to represent interface between the actors and the system.

© Pearson Education Limited 1995, 2005

Page 78: 1 Chapter 25 Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.

78

UML – Usage in Database Design Methodology

Update class diagram to show required methods in each class.

Create state diagram for each class to show how class changes state in response to messages. Messages are identified from sequence diagrams.

Revise earlier diagrams based on new knowledge gained during this process.

© Pearson Education Limited 1995, 2005