CONCEPTUAL DESIGN OBJECT TECHNOLOGY CONCEPTS and UML CLASS DIAGRAMS

Reviews
CONCEPTUAL DESIGN: OBJECT TECHNOLOGY CONCEPTS and UML CLASS DIAGRAMS 176 A Simplified Object-Oriented Systems Analysis & Conceptual Design Methodology Activities 1. Identify the information system’s purpose 2. Identify the information system’s actors and features 3. Identify Use Cases and create a Use Case Diagram 4. Identify Objects and their Classes and create a Class Diagram 5. Create Interaction/Scenario Diagrams 6. Create Detail Logic for Operations 7. Repeat activities 1-6 as required to refine the “blueprints” 177 Object-Oriented Technology Concepts • Object • Class • Attributes • Operations • Relationships • Messages • Persistence • State 178 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” 179 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 180 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) 181 •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 Class • lastName • etc... • operations Objects 182 Class “template” 8 Object Examples With Attribute Values studentName Susan McIntyre Greg Fisher Minder Chen Sally Athey Laura Applegate Margie Heltne Bill Martz Anna Easton StudentInformation studentName address shoeSize eyeColor weight dateOfBirth etc... An example of a Class showing Attribute Names and their Values operations shoeSize eyeColor 11 10 9.5 6 5 5.5 10.5 6 Blue Brown Brown Brown Blue Brown Blue Brown address 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 weight dateOfBirth 175 170 140 125 110 105 190 120 4-12-74 12-2-73 10-5-76 6-28-75 3-15-74 5-22-75 1-26-70 8-14-74 183 StudentInformation attributes operations 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... What are the necessary attributes? Necessary Attributes studentSocialSecurityNumber studentFirstName studentMiddleInitial studentLastName studentAddress studentCity studentState studentZipcode studentTelephone yearGradFromHighSchool highSchoolGradePointAvg sATScore ANALYSIS religiousPreference medicalCondition gender etc... 184 Single-Valued Attributes Example studentName Susan McIntyre Bill Martz studentIDNumber 559-46-0912 371-38-7640 eyeColor Blue Brown height 5ft 9in 5ft 6in weight dateOfBirth 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 Susan McIntyre Bill Martz employeeNumber 559-46-0912 371-38-7640 hourlyRate $9.75 weeklySalary $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) 185 Multi-Valued Attributes Example studentName Susan McIntyre studentIDNumber 559-46-0912 collegeAttended Grossmont C.C. Point Loma NY Univ. Golden Gate Georgia State U of San Diego collegeGradePointAvg 2.9 2.7 3.2 2.2 2.9 3.1 Bill Martz Maria Carey 371-38-7640 270-73-9815 multi-valued attributes with values studentName Susan McIntyre Susan McIntyre Bill Martz Maria Carey Maria Carey Maria Carey studentIDNumber 559-46-0912 559-46-0912 371-38-7640 270-73-9815 270-73-9815 270-73-9815 collegeAttended Grossmont C.C. Point Loma NY Univ. Golden Gate Georgia State U of San Diego collegeGradePointAvg 2.9 2.7 3.2 2.2 2.9 3.1 Notice the redundancy of data values for these two attributes 186 (original model) StudentInformation studentName studentIDNumber collegeAttended collegeGradePointAvg studentName studentIDNumber (revised model) StudentInformation 0,m CollegeAttended collegeAttended collegeGradePointAvg 1 operations studentName Susan McIntyre Bill Martz Maria Carey operations operations studentIDNumber 559-46-0912 371-38-7640 270-73-9815 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 187 •Operations (aka: methods, services, behavior) An OPERATION is a procedure that an object can perform. HealthClubMember • attributes • firstName • lastName Class • etc... • operations • joinClub • payFees • monitorWorkout • etc... An object’s “motto”: “I do it myself” Objects 188 • 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 189 • Relationships Exist to: 1) show relationships 2) enforce integrity 3) help produce results In this example: UniversityCourse • 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. 190 StudentInformation 1 0,m 1 0,m StudentInCourse • 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 Message: getFrozenYogurt operation: getFrozenYogurt($$) “The operation is the message.” 191 T.V. Object VCR Example VCR Object Play Message Universal Remote Control VCR Class Definition 192 • 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) 193 Getting Started! Getting Started! Getting Started! Getting Started! Getting Started! Getting Started! 194 GETTING STARTED with the CLASS DIAGRAM    Features? OBJECTS! Data? (CLASSES) User Behavior? 195 UML Class Diagram Notation Class attributes { { Member memberNumber firstName lastName telephone address city etc... checkOutVideo checkInVideo buyItem etc... Expanded view of a Class into its three sections: Top: Class Name Middle: attributes Bottom: operations operations 196 Playing Card Illustration of Class Symbol Class Deck of 52 Playing Cards . . . . . card #52 card #4 card #3 card #2 card #1 Object #n Object #3 Object #2 Object #1 Class 197 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… 198  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 199 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 200 WIRFS-BROCK NOUN PHRASE STRATEGY Security Issue Automated System Customer Sales/Rental Check-out Candidate List of Classes Membership Database Membership Information Membership Information Report Inventory Database Sales And Rental Item Inventory Information Inventory Information Report Sales Report 201  Look for tangible things • people, places, things  Consider roles played • student, faculty, clerk, manager, salesperson, race car driver, etc... Other Strategies To Find Objects  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... 202 CHALLENGE CLASSES/OBJECTS BASED ON:      Needed remembrance (persistence) No Attributes No Operations Only one Object Avoid derived (computed) results 203 BECK & CUNNINGHAM’s CRC STRATEGY (low-fidelity/tech way of documenting classes) (CRC = Class-Responsibility-Collaboration) Class Name Responsibilities Collaborations (attributes and (relationships) operations) 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... 204 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 205 Video Store Information System List of Classes – Final Pass • Inventory * • Video • Game • ConcessionItem • VCR • RentalTransaction • Member • Employee • StoreLocation • Supplier • Purchase Order • Transaction * • SaleTransaction • SaleItem* • RentalItem* • Purchase Order Line Item • SaleRentalLineItem Note: * denotes an Abstract Class (no Objects) 206 Class Member Attributes memberNumber memberName memberAddress memberCity memberState memberZipCode memberPhone creditCardNumber creditCardExpireDate depositAmount barCodeNumber description qtyOnOrder price cost taxCode timesRented dueDate memberNumber quantitySold qtyOnHand 207 Video Store Classes showing Attributes Part 1 of 3 Video Class Game ConcessionItem Attributes (same as Video) barCodeNumber description qtyOnOrder price cost taxCode quantitySold qtyOnHand barCodeNumber description qtyOnOrder price cost taxCode timesRented dueDate memberNumber transactionNumber employeeNumber transactionDate transactionTime barCodeNumber price salesTax quantitySold 208 Video Store Classes showing Attributes Part 2 of 3 VCR SalesTransaction Class RentalTransaction Attributes transactionNumber employeeNumber transactionDate transactionTime barCodeNumber price salesTax memberNumber employeeNumber employeeName employeePhone positionCode storeNumber address city state zipcode telephone vendorNumber vendorName vendorAddress vendorCity vendorState vendorZipCode vendorPhone vendorFaxNumber purchaseOrderNumber purchaseOrderDate purchaseOrderDueDate purchaseOrderCancelDate barCodeNumber quantityOrdered vendorNumber itemCost Employee Video Store Classes showing Attributes Part 3 of 3 StoreLocation Vendor PurchaseOrder 209 Video Store Attribute Data Dictionary (partial) Attribute barCodeNumber Class Inventory Transaction Definition/Rules Up to 12 characters Up to 12 characters MM/YY (month, year) Up to 19 characters range: 0 to 999.99 min: $25; max: $200 40 characters 6 digits creditCardExpireDate Member creditCardNumber cost depositAmount description employeeNumber Member Inventory Member Inventory Transaction memberAddress memberCity memberName etc..... Member Member Member 30 characters (no P.O. Box) 30 characters 30 characters 210 Video Store – UML Class Diagram 1 1 Inventory SaleItem RentalItem Video Game 0..* 1 ConcessionItem 0..* VCR Transaction Employee 1 StoreLocation SaleTransaction 1 0..* RentalTransaction 0..* 1 0..1 1 Member Suplier 1 0..* PurchaseOrder 1 0..* 1..* 1..* SaleRentalLineItem 1..* PurchaseOrderLineItem 0..* 211 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 212 QUITTING TIME 213

Related docs
UML Class Diagrams advanced concepts
Views: 18  |  Downloads: 10
UML Diagrams
Views: 573  |  Downloads: 101
UML CLASS DIAGRAMS
Views: 68  |  Downloads: 24
UML Class Diagrams
Views: 93  |  Downloads: 4
From UML Diagrams to Object Oriented Code
Views: 0  |  Downloads: 0
UML class diagrams
Views: 49  |  Downloads: 13
Domain Models UML Class, Object Diagrams
Views: 166  |  Downloads: 5
Class Diagrams
Views: 24  |  Downloads: 0
Ontology Extraction from UML Diagrams
Views: 0  |  Downloads: 0
premium docs
Other docs by Dave Buster
Company Memorandum Re Sick Time Available
Views: 209  |  Downloads: 0
Equipment lease checklist
Views: 400  |  Downloads: 8
2006 Inst CT-1 (PDF) Instructions
Views: 251  |  Downloads: 1
Learning 1
Views: 420  |  Downloads: 4
RSVP LIST
Views: 413  |  Downloads: 9
CorpDocs- Notice of Annual Shareholders Meeting
Views: 243  |  Downloads: 14
Remedies Outline
Views: 839  |  Downloads: 85
Termination Notice
Views: 1771  |  Downloads: 73