CONCEPTUAL DESIGN: OBJECT TECHNOLOGY CONCEPTS and UML CLASS DIAGRAMS

1 / 38
About This Presentation
Title:

CONCEPTUAL DESIGN: OBJECT TECHNOLOGY CONCEPTS and UML CLASS DIAGRAMS

Description:

Mary Smith. Susan Jones. Jeff Norman. etc... 183. An example of. a ... Maria Carey. 559-46-0912. 371-38-7640. 270-73-9815. Grossmont C.C. Point Loma. NY Univ. ... – PowerPoint PPT presentation

Number of Views:855
Avg rating:3.0/5.0
Slides: 39
Provided by: ronaldj3

less

Transcript and Presenter's Notes

Title: CONCEPTUAL DESIGN: OBJECT TECHNOLOGY CONCEPTS and UML CLASS DIAGRAMS


1
CONCEPTUAL DESIGN OBJECT TECHNOLOGY CONCEPTS
andUML CLASS DIAGRAMS
2
A Simplified Object-Oriented Systems Analysis
Conceptual Design Methodology
Activities
  • Identify the information systems purpose
  • Identify the information systems 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

3
Object-Oriented Technology Concepts
  • Object
  • Class
  • Attributes
  • Operations
  • Relationships
  • Messages
  • Persistence
  • State

4
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
5
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
6
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)

7
  • Attributes (aka properties, characteristics)

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
8
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 dateO
fBirth 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 Brow
n
175 170 140 125 110 105 190 120
9
StudentInformation
What are the necessary attributes?
attributes
operations
Necessary Attributes
Candidate Attributes
studentSocialSecurityNumber studentFirstName stude
ntMiddleInitial studentLastName studentAddress stu
dentCity studentState studentZipcode studentTeleph
one yearGradFromHighSchool highSchoolGradePointAvg
sATScore hobbies sports religiousPreference medic
alCondition height weight shoeSize hairColor eyeCo
lor gender etc...
studentSocialSecurityNumber studentFirstName stude
ntMiddleInitial studentLastName studentAddress stu
dentCity studentState studentZipcode studentTeleph
one yearGradFromHighSchool highSchoolGradePointAvg
sATScore religiousPreference medicalCondition
gender etc...
ANALYSIS
10
Single-Valued Attributes Example
studentName studentIDNumber eyeColor
height weight dateOfBirth
Susan McIntyre Bill Martz
Blue Brown
155 118
4-12-74 12-2-73
559-46-0912 371-38-7640
5ft 9in 5ft 6in
(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
9.75
559-46-0912 371-38-7640
Susan McIntyre Bill Martz
475.00
mutually exclusive attributes with values
(the presence of an objects attribute value
necessitates the absence of a value for another
attribute value for the same object)
11
Multi-Valued Attributes Example
studentName studentIDNumber
collegeAttended collegeGradePointAvg
Grossmont C.C. Point Loma NY Univ. Golden
Gate Georgia State U of San Diego
559-46-0912 371-38-7640 270-73-9815
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
12
(revised model)
(original model)
StudentInformation
CollegeAttended
StudentInformation
studentName studentIDNumber
collegeAttended collegeGradePointAvg
studentName studentIDNumber collegeAttended colleg
eGradePointAvg
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
13
  • Operations (aka methods, services, behavior)

An OPERATION is a procedure that an object can
perform.
HealthClubMember
  • attributes
  • firstName
  • lastName
  • etc...
  • operations
  • joinClub
  • payFees
  • monitorWorkout
  • etc...

An objects motto
I do it myself
Class Objects
14
  • Relationships

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
15
  • Relationships

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
16
  • Messages

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()
17
VCR Example
T.V. Object
VCR Object
Play
Message
Universal Remote Control
VCR Class Definition
18
  • Persistence

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 600pm
2,500 605pm 2,200
(something changed its state)
19
Getting Started!
Getting Started!
Getting Started!
Getting Started!
Getting Started!
Getting Started!
20
GETTING STARTED with the CLASS DIAGRAM
  • Features?
  • Data?
  • User Behavior?
  • OBJECTS!
  • (CLASSES)

21
UML Class Diagram Notation
Class
22
Playing Card Illustration of Class Symbol
Deck of 52 Playing Cards
Object n
Object 3
Object 2
Object 1
23
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

24
  • 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
25
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
26
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
27
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...

28
CHALLENGE CLASSES/OBJECTS BASED ON
  • Needed remembrance (persistence)
  • No Attributes
  • No Operations
  • Only one Object
  • Avoid derived (computed) results

29
BECK CUNNINGHAMs CRC STRATEGY (low-fidelity/tec
h 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...
30
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

31
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)
32
Class Attributes
Video Store Classes showing Attributes - Part 1
of 3
Member memberNumber memberName memberAddre
ss memberCity memberState memberZipCode
memberPhone creditCardNumber creditCardExp
ireDate depositAmount Video barCodeNumber
description qtyOnOrder price cost
taxCode timesRented dueDate memberNumber
quantitySold qtyOnHand
33
Class Attributes
Game (same as Video) ConcessionItem barCodeNumbe
r description qtyOnOrder price cost
taxCode quantitySold qtyOnHand VCR bar
CodeNumber description qtyOnOrder price
cost taxCode timesRented dueDate mem
berNumber SalesTransaction transactionNumber e
mployeeNumber transactionDate transactionTime
barCodeNumber price salesTax
quantitySold
Video Store Classes showing Attributes - Part 2
of 3
34
Class Attributes
RentalTransaction transactionNumber employeeNum
ber transactionDate transactionTime barCodeN
umber price salesTax memberNumber Employee
employeeNumber employeeName employeePhone
positionCode StoreLocation storeNumber addr
ess city state zipcode telephone Vendor
vendorNumber vendorName vendorAddress ve
ndorCity vendorState vendorZipCode vendorPho
ne vendorFaxNumber PurchaseOrder purchaseOrder
Number purchaseOrderDate
purchaseOrderDueDate purchaseOrderCancelDate
barCodeNumber quantityOrdered vendorNumber
itemCost
Video Store Classes showing Attributes - Part 3
of 3
35
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.....
36
Video Store UML Class Diagram
1
1
Inventory
RentalItem
SaleItem
Video
Game
ConcessionItem
VCR
0..
0..
Transaction
Employee
StoreLocation
1
1
SaleTransaction
RentalTransaction
Suplier
0..
1
1
0..
1
1
0..1
0..
Member
PurchaseOrder
1
1..
1..
1..
SaleRentalLineItem
0..
0..
PurchaseOrderLineItem
37
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
38
TIME
QUITTING
Write a Comment
User Comments (0)