Presentation is loading. Please wait.

Presentation is loading. Please wait.

Similar presentations


Presentation on theme: ""— Presentation transcript:

176 CONCEPTUAL DESIGN: OBJECT TECHNOLOGY CONCEPTS and UML CLASS DIAGRAMS

177 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”

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

179 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”

180 Defining Class Class Objects
A CLASS is a template (specification, blueprint) for a collection of objects that share a common set of attributes and operations. HealthClubMember Class Objects attributes operations

181 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)

182 An ATTRIBUTE is data that further describes an object instance.
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

183 An example of Class “template” a Class showing Attribute Names
StudentInformation Class “template” 8 Object Examples With Attribute Values An example of a Class showing Attribute Names and their Values studentName address shoeSize eyeColor weight dateOfBirth etc... operations studentName address shoeSize eyeColor weight dateOfBirth 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. 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 Blue Brown 175 170 140 125 110 105 190 120

184 What are the necessary attributes?
StudentInformation What are the necessary attributes? attributes operations Candidate Attributes Necessary 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

185 Single-Valued Attributes Example
studentName studentIDNumber eyeColor height weight dateOfBirth Susan McIntyre Bill Martz Blue Brown 5ft 9in 5ft 6in 155 118 (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 Susan McIntyre Bill Martz $9.75 $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)

186 Multi-Valued Attributes Example
studentName studentIDNumber collegeAttended collegeGradePointAvg Susan McIntyre Bill Martz Maria Carey Grossmont C.C. Point Loma NY Univ. Golden Gate Georgia State U of San Diego 2.9 2.7 3.2 2.2 3.1 multi-valued attributes with values studentName studentIDNumber collegeAttended collegeGradePointAvg Susan McIntyre Bill Martz Maria Carey Grossmont C.C. Point Loma NY Univ. Golden Gate Georgia State U of San Diego 2.9 2.7 3.2 2.2 3.1 Notice the redundancy of data values for these two attributes

187 (revised model) (original model) StudentInformation StudentInformation
CollegeAttended studentName studentIDNumber collegeAttended collegeGradePointAvg studentName studentIDNumber 0,m collegeAttended collegeGradePointAvg 1 operations operations operations studentName studentIDNumber 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 3.1

188 An OPERATION is a procedure that an object can perform.
Operations (aka: methods, services, behavior) An OPERATION is a procedure that an object can perform. HealthClubMember attributes firstName lastName etc... operations joinClub payFees monitorWorkout An object’s “motto”: “I do it myself” Class Objects

189 Relationships Generalization[-Specialization] (Superclass/Subclass)
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

190 Relationships Exist to: In this example:
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 StudentInformation 1 0,m 1 StudentInCourse 0,m

191 “The operation is the message.”
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($$)

192 Universal Remote Control
VCR Example T.V. Object VCR Object Play Message Universal Remote Control VCR Class Definition

193 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 6:00pm $2,500 6:05pm $2,200 (something changed its state)

194 Getting Started! Getting Started! Getting Started! Getting Started! Getting Started! Getting Started!

195 GETTING STARTED with the CLASS DIAGRAM
Features? Data? User Behavior? OBJECTS! (CLASSES)

196 { UML Class Diagram Notation Class attributes operations Member
memberNumber firstName lastName telephone address city etc... checkOutVideo checkInVideo buyItem attributes operations { Expanded view of a Class into its three sections: Top: Class Name Middle: attributes Bottom: operations

197 Playing Card Illustration of Class Symbol
Deck of 52 Playing Cards . card #1 card #2 card #3 card #4 card #52 Object #n Object #3 Object #2 Object #1 Class

198 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…

199 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

200 F i n d g O b j e c t s 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 g O b j e c t s

201 Candidate List of Classes
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

202 Look for tangible things Consider roles played
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... Other Strategies To Find Objects

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

204 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 Customer etc...

205 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

206 Video Store Information System
List of Classes – Final Pass Inventory * Video Game ConcessionItem VCR Transaction * SaleTransaction SaleItem* RentalItem* RentalTransaction Member Employee StoreLocation Supplier Purchase Order Purchase Order Line Item SaleRentalLineItem Note: * denotes an Abstract Class (no Objects)

207 Video Store Classes showing Attributes - Part 1 of 3
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

208 Video Store Classes showing Attributes - Part 2 of 3
Class Attributes Game (same as Video) ConcessionItem barCodeNumber description qtyOnOrder price cost taxCode quantitySold qtyOnHand VCR barCodeNumber timesRented dueDate memberNumber SalesTransaction transactionNumber employeeNumber transactionDate transactionTime barCodeNumber salesTax Video Store Classes showing Attributes - Part 2 of 3

209 Video Store Classes showing Attributes - Part 3 of 3
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 quantityOrdered vendorNumber itemCost Video Store Classes showing Attributes - Part 3 of 3

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

211 Video Store – UML Class Diagram
1 1 Inventory SaleItem RentalItem 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

212 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

213 QUITTING TIME


Download ppt ""

Similar presentations


Ads by Google