Conceptual design object technology concepts and uml class diagrams
Download
1 / 38

- PowerPoint PPT Presentation


  • 259 Views
  • Uploaded on

CONCEPTUAL DESIGN: OBJECT TECHNOLOGY CONCEPTS and UML CLASS DIAGRAMS. A Simplified Object-Oriented Systems Analysis & Conceptual Design Methodology. Activities. Identify the information system’s purpose Identify the information system’s actors and features

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '' - libitha


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

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.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 - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Slide2 l.jpg

A Simplified Object-Oriented

Systems Analysis & Conceptual Design Methodology

Activities

  • Identify the information system’s purpose

  • Identify the information system’s actors and features

  • Identify Use Cases and create a Use Case Diagram

  • Identify Objects and their Classes and create a Class Diagram

  • Create Interaction/Scenario Diagrams

  • Create Detail Logic for Operations

  • Repeat activities 1-6 as required to refine the “blueprints”


Slide3 l.jpg

Object-Oriented Technology Concepts

  • Object

  • Class

  • Attributes

  • Operations

  • Relationships

  • Messages

  • Persistence

  • State


Slide4 l.jpg

Defining Objects

An OBJECT is an abstraction of a person, place,

thing, or concept within the problem domain that

the information system must be aware of.

...Objects are “instantiated” (created)

...the term “instance” is interchangeable with “object”


Slide5 l.jpg

Defining Class

A CLASS is a template (specification, blueprint)

for a collection of objects that share a common

set of attributes and operations.

HealthClubMember

attributes

operations

Class

Objects


Slide6 l.jpg

Objects

  • Objects have three responsibilities:

  • What they know about themselves – (e.g., Attributes)

  • What they do – (e.g., Operations)

  • What they know about other objects – (e.g., Relationships)


Slide7 l.jpg

An ATTRIBUTE is data that further describes an object instance.

firstName lastName

Mary Smith

Susan Jones

Jeff Norman

etc...

HealthClubMember

  • attributes

    • firstName

    • lastName

    • etc...

  • operations

Class

Objects


Slide8 l.jpg

StudentInformation

An example of

a Class showing

Attribute Names

and their Values

Class “template”

8 Object Examples

With

Attribute Values

studentName

address

shoeSize

eyeColor

weight

dateOfBirth

etc...

operations

studentName address shoeSize eyeColor weight dateOfBirth

4-12-74

12-2-73

10-5-76

6-28-75

3-15-74

5-22-75

1-26-70

8-14-74

Susan McIntyre

Greg Fisher

Minder Chen

Sally Athey

Laura Applegate

Margie Heltne

Bill Martz

Anna Easton

123 Franklin St.

San Diego CA

765 Park Ave.

San Diego CA

222 Dallas St.

La Mesa CA

862 Grand Ave.

Pacific Beach CA

914 Garnett

La Jolla CA

479 55th St.

El Cajon CA

876 Balboa

Mission Beach CA

309 Del Mar Hts.

Del Mar CA

11

10

9.5

6

5

5.5

10.5

6

Blue

Brown

Brown

Brown

Blue

Brown

Blue

Brown

175

170

140

125

110

105

190

120


Slide9 l.jpg

StudentInformation

What are the necessary attributes?

attributes

operations

Necessary Attributes

Candidate Attributes

studentSocialSecurityNumber

studentFirstName

studentMiddleInitial

studentLastName

studentAddress

studentCity

studentState

studentZipcode

studentTelephone

yearGradFromHighSchool

highSchoolGradePointAvg

sATScore

hobbies

sports

religiousPreference

medicalCondition

height

weight

shoeSize

hairColor

eyeColor

gender

etc...

studentSocialSecurityNumber

studentFirstName

studentMiddleInitial

studentLastName

studentAddress

studentCity

studentState

studentZipcode

studentTelephone

yearGradFromHighSchool

highSchoolGradePointAvg

sATScore

religiousPreference

medicalCondition

gender

etc...

ANALYSIS


Slide10 l.jpg

Single-Valued Attributes Example

studentName studentIDNumber eyeColor height weight dateOfBirth

Susan McIntyre

Bill Martz

559-46-0912

371-38-7640

Blue

Brown

5ft 9in

5ft 6in

155

118

4-12-74

12-2-73

(each object has one and only one value for each attribute at any moment in time)

Mutually Exclusive Attribute Values Example

employeeName employeeNumber hourlyRate weeklySalary

559-46-0912

371-38-7640

$9.75

Susan McIntyre

Bill Martz

$475.00

mutually exclusive attributes with values

(the presence of an object’s attribute value necessitates the absence of a value for another attribute value for the same object)


Slide11 l.jpg

Multi-Valued Attributes Example

studentName studentIDNumber collegeAttended collegeGradePointAvg

559-46-0912

371-38-7640

270-73-9815

Grossmont C.C.

Point Loma

NY Univ.

Golden Gate

Georgia State

U of San Diego

2.9

2.7

3.2

2.2

2.9

3.1

Susan McIntyre

Bill Martz

Maria Carey

multi-valued attributes with values

studentName studentIDNumber collegeAttended collegeGradePointAvg

2.9

2.7

3.2

2.2

2.9

3.1

Susan McIntyre

Susan McIntyre

Bill Martz

Maria Carey

Maria Carey

Maria Carey

Grossmont C.C.

Point Loma

NY Univ.

Golden Gate

Georgia State

U of San Diego

559-46-0912

559-46-0912

371-38-7640

270-73-9815

270-73-9815

270-73-9815

Notice the redundancy of data values for these two attributes


Slide12 l.jpg

(revised model)

(original model)

StudentInformation

CollegeAttended

StudentInformation

studentName

studentIDNumber

collegeAttended

collegeGradePointAvg

studentName

studentIDNumber

collegeAttended

collegeGradePointAvg

0,m

1

operations

operations

operations

studentName studentIDNumber

559-46-0912

371-38-7640

270-73-9815

Susan McIntyre

Bill Martz

Maria Carey

collegeAttended gradePointAvg

Grossmont C.C.

Point Loma

NY Univ.

Golden Gate

Georgia State

U of San Diego

2.9

2.7

3.2

2.2

2.9

3.1


Slide13 l.jpg

An OPERATION is a procedure that an object can perform.

HealthClubMember

An object’s “motto”:

  • attributes

    • firstName

    • lastName

    • etc...

  • operations

    • joinClub

    • payFees

    • monitorWorkout

    • etc...

“I do it myself”

Class

Objects


Slide14 l.jpg

A RELATIONSHIP is what a class or an object knows about another class or object.

  • Generalization[-Specialization](Superclass/Subclass)

    • Inheritance

    • Ex: Person - FacultyPerson, StudentPerson, Staff...

    • Ex: ModesOfTravel - Airplane, Train, Auto, Cycle, Boat...

  • [Object] Associations

    • FacultyInformation - CourseInformation

    • StudentInformation - CourseInformation

  • [Object]Aggregations & Composition(Whole-Part)

    • Assembly - Parts

    • Group - Members

    • Container - Contents

T h r e e T y p e s


Slide15 l.jpg

Exist to:

1) show relationships 2) enforce integrity 3) help produce results

In this example:

  • Removal of a course should also remove students that are in the course but not student information.

  • Removal of a student should also remove students that are in courses but not course information.

  • Removal of a student in a course should not affect either course or student information.

UniversityCourse

1

StudentInformation

0,m

1

StudentInCourse

0,m


Slide16 l.jpg

A MESSAGE is a signal from one object to another that requests the receiving object to carry out one of its operations.

Three parts to a Message:

1. The name of the receiver object

2. The operation to carry out

3. Any parameters the operation may

require to fulfill its duties

“The operation is the message.”

Message:

getFrozenYogurt

operation:

getFrozenYogurt($$)


Slide17 l.jpg

VCR Example

T.V. Object

VCR Object

Play

Message

Universal Remote Control

VCR Class Definition


Slide18 l.jpg

PERSISTENCE is the equivalent of more permanent, long-term data storage.

  • State

STATE represents the condition of an object at a specific moment in time.

Time Account Balance

6:00pm $2,500

6:05pm $2,200

(something changed its state)


Slide19 l.jpg

Getting Started!

Getting Started!

Getting Started!

Getting Started!

Getting Started!

Getting Started!


Getting started with the class diagram l.jpg
GETTING STARTED with the CLASS DIAGRAM

  • Features?

  • Data?

  • User Behavior?

OBJECTS!

(CLASSES)


Slide21 l.jpg

{

Member

memberNumber

firstName

lastName

telephone

address

city

etc...

Expanded view of a

Class into its three

sections:

Top: Class Name

Middle: attributes

Bottom: operations

attributes

{

checkOutVideo

checkInVideo

buyItem

etc...

operations

UML Class Diagram Notation

Class


Slide22 l.jpg

Class

Class

.

.

.

card #52

.

.

card #4

card #3

card #2

card #1

Playing Card Illustration of Class Symbol

Deck

of 52

Playing

Cards

Object #n

Object #3

Object #2

Object #1


Strategies for finding objects classes l.jpg
STRATEGIES for FINDING OBJECTS (Classes)

  • Wirfs-Brock Noun Phrase

  • Conglomeration of others:

    • Look for tangible things

    • Consider roles played

    • Identify incidents/interactions which are often transaction-like

    • Find any specifications (table-like)

    • Other…


Slide24 l.jpg

  • Wirfs-Brock Noun Phrase (also Wilkerson, Wiener)

    • Circle or underline nouns and noun phrases that occur in the requirements document(s); these become candidate classes (objects)

    • Put candidate classes on a separate list

    • Challenge each one; look for synonyms

Examples:

The system will keep track of membership information

The system will manage inventory

The system will facilitate the selling of bicycles


Slide25 l.jpg

INFORMATION SYSTEMS OBJECTIVES

GENERAL OBJECTIVES:

A. Provide Just-in-Time (JIT) training

B. The systems we implement must be friendly and easy to learn and use

C. The systems we implement must give considerations to security issues

SPECIFIC OBJECTIVES:

1.1.1 Provide an automated system to assist with customer sales/rental

check-outs

2.1.1 Provide and maintain an automated membership database

a. provide current (up to date) membership information on demand

b. capability to add, change, and delete (remove) membership info.

2.1.2 Provide membership information reports such as (not limited to):

a. least used memberships

b. most used memberships

c. delinquent memberships (both money owing and outstanding rentals)

4.1.1 Provide and maintain an inventory database for both sales and rental items

a. provide current (up to date) inventory information on demand

b. capability to add, change, and delete (remove) inventory information

(sales and rental)

4.1.2 Provide inventory information reports such as (not limited to):

a. least popular rentals

b. most popular rentals

c. delinquent tape rentals outstanding

d. products “on order” (purchasing report) for sale and for rent items

5.1.1 Provide Sales Reports such as (not limited to):

a. sales for a time period (day, days, week, weeks, month, etc.) by

product code

b. rentals for a time period (same as above)

F

i

n

d

i

n

g

O

b

j

e

c

t

s


Slide26 l.jpg

WIRFS-BROCK NOUN PHRASE STRATEGY

Security Issue

Automated System

Customer Sales/Rental Check-out

Membership Database

Membership Information

Membership Information Report

Inventory Database

Sales And Rental Item

Inventory Information

Inventory Information Report

Sales Report

Candidate List of Classes


Slide27 l.jpg

Other

Strategies

To

Find

Objects

  • Look for tangible things

    • people, places, things

  • Consider roles played

    • student, faculty, clerk, manager, salesperson, race car driver, etc...

  • Identify incidents/interactions which are often transaction-like

    • sales, purchases, reservations, etc...

  • Find any specifications (table-like)

    • state tables, tax rate tables, zipcode table, shipping region table, etc...


Challenge classes objects based on l.jpg
CHALLENGE CLASSES/OBJECTS BASED ON:

  • Needed remembrance (persistence)

  • No Attributes

  • No Operations

  • Only one Object

  • Avoid derived (computed) results


Slide29 l.jpg

BECK & CUNNINGHAM’s CRC STRATEGY

(low-fidelity/tech way of documenting classes)

(CRC = Class-Responsibility-Collaboration)

Class Name

Responsibilities

(attributes and

operations)

Collaborations

(relationships)

4x6 Card

Order

orderNumber

orderDate

check if items in stock

determine price

check for valid payment

dispatch to delivery address

etc...

Order Line

Order Line

Customer

etc...


Slide30 l.jpg

Video Store Information System

Candidate List of Classes - Pass One

  • Members

  • Customers

  • Movies

  • Reports

  • Concessions

  • Sales

  • Games

  • Inventory

  • VCR Rentals

  • Movie Rental

  • Employees

  • Automated System

  • Hardware

  • Software

  • Back-up System

  • Bonus Plan

  • P.O.S. Terminal

  • Clothing

  • Transaction

  • Marketing

  • Popcorn

  • Prices

  • Physical Environment

  • Scheduling

  • Location

  • Accounting

  • Advertising

  • Overhead

  • Database

  • Payroll


Slide31 l.jpg

Video Store Information System

List of Classes – Final Pass

  • RentalTransaction

  • Member

  • Employee

  • StoreLocation

  • Supplier

  • Purchase Order

  • Purchase Order Line Item

  • SaleRentalLineItem

  • Inventory *

  • Video

  • Game

  • ConcessionItem

  • VCR

  • Transaction *

  • SaleTransaction

  • SaleItem*

  • RentalItem*

Note: * denotes an Abstract Class (no Objects)


Slide32 l.jpg

Class Attributes

Video Store

Classes

showing Attributes -

Part 1 of 3

Member memberNumber

memberName

memberAddress

memberCity

memberState

memberZipCode

memberPhone

creditCardNumber

creditCardExpireDate

depositAmount

Video barCodeNumber

description

qtyOnOrder

price

cost

taxCode

timesRented

dueDate

memberNumber

quantitySold

qtyOnHand


Slide33 l.jpg

Class Attributes

Game (same as Video)

ConcessionItem barCodeNumber

description

qtyOnOrder

price

cost

taxCode

quantitySold

qtyOnHand

VCR barCodeNumber

description

qtyOnOrder

price

cost

taxCode

timesRented

dueDate

memberNumber

SalesTransaction transactionNumber

employeeNumber

transactionDate

transactionTime

barCodeNumber

price

salesTax

quantitySold

Video Store

Classes

showing Attributes -

Part 2 of 3


Slide34 l.jpg

Class Attributes

  • RentalTransaction transactionNumber

  • employeeNumber

  • transactionDate

  • transactionTime

  • barCodeNumber

  • price

  • salesTax

  • memberNumber

  • Employee employeeNumber

  • employeeName

  • employeePhone

  • positionCode

  • StoreLocation storeNumber

  • address

  • city

  • state

  • zipcode

  • telephone

  • Vendor vendorNumber

  • vendorName

  • vendorAddress

  • vendorCity

  • vendorState

  • vendorZipCode

    • vendorPhone

  • vendorFaxNumber

  • PurchaseOrder purchaseOrderNumber

  • purchaseOrderDate

  • purchaseOrderDueDate

  • purchaseOrderCancelDate

  • barCodeNumber

  • quantityOrdered

  • vendorNumber

  • itemCost

  • Video Store

    Classes

    showing Attributes -

    Part 3 of 3


    Slide35 l.jpg

    Video Store Attribute Data Dictionary (partial)

    Attribute Class Definition/Rules

    • barCodeNumber Inventory Up to 12 characters

      • Transaction Up to 12 characters

  • creditCardExpireDate Member MM/YY (month, year)

  • creditCardNumber Member Up to 19 characters

  • cost Inventory range: 0 to 999.99

  • depositAmount Member min: $25; max: $200

  • description Inventory 40 characters

  • employeeNumber Transaction 6 digits

  • memberAddress Member 30 characters (no P.O. Box)

  • memberCity Member 30 characters

  • memberName Member 30 characters

  • etc.....


  • Slide36 l.jpg

    Video Store – UML Class Diagram

    1

    1

    Inventory

    RentalItem

    SaleItem

    Video

    ConcessionItem

    Game

    VCR

    0..*

    0..*

    StoreLocation

    Transaction

    Employee

    1

    1

    SaleTransaction

    RentalTransaction

    Suplier

    0..*

    1

    1

    0..*

    1

    1

    0..1

    0..*

    Member

    PurchaseOrder

    1

    1..*

    1..*

    1..*

    SaleRentalLineItem

    0..*

    0..*

    PurchaseOrderLineItem


    Slide37 l.jpg

    Video Store Future Enhancements List - Final Pass

    1. Open-ended memberships (indefinite; ie: no cancellations) with C.C. or $50 deposit (P)

    2. Establish Bonus Point System for rentals (ie: rent 9 get one rental free, etc.) (E)

    3. Handle special orders for videos (E)

    4. Ability to reserve a movie ahead of time (E)

    5. Automatic billing to credit card at end of month for month's charges (E)

    6. Establish a membership DEBIT card (E)

    7. Allow a monthly "tab" to be paid at the end of the month (see #5) (E)

    8. No physical security devices on videos (P)

    9. System will not include Payroll system, Accts. Payable, or Financial systems

    such as General Ledger and Income Statements (P)

    10. The system will not keep information on non-member customer sales (P)

    11. Game inventory can be for sale or rent (but only one of these at a time) (P)

    12. The system will NOT include any work shift scheduling of employees (P)

    13. The Video Store will rent VCRs

    14. Payment for Rental transactions will be at time of transaction (not when item returned)

    NOTE: (P) = Policy decision (E) = Potential Future Enhancement


    Slide38 l.jpg

    TIME

    QUITTING


    ad