Class10

580 views

Published on

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
580
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
2
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Class10

  1. 1. Analyzing system data: Class diagram Asper School of Business University of Manitoba Systems Analysis & Design Instructor: Bob Travica Updated: October 2009
  2. 2. Outline <ul><li>Problem domain classes </li></ul><ul><li>Identifying things to be represented in system </li></ul><ul><li>Associations among things </li></ul><ul><li>Multiplicity </li></ul><ul><li>Attributes </li></ul><ul><li>Generalization/Specialization association </li></ul><ul><li>Part-Whole association </li></ul><ul><li>Associations between class objects </li></ul>3510 Systems Analysis & Design * Bob Travica of 16
  3. 3. Problem domain classes <ul><li>Problem domain </li></ul><ul><ul><li>Area of business a system supports </li></ul></ul><ul><ul><li>Classes & objects are the way to represent things that make business (products, orders, invoices, customers, employees…) </li></ul></ul><ul><li>Identifying and analyzing things in problem domain = essential to defining systems requirements </li></ul>3510 Systems Analysis & Design * Bob Travica of 16
  4. 4. Identifying things to be represented in system 3510 Systems Analysis & Design * Bob Travica of 16 Physical reality - Person who is a customer customerNumber customerName customerAddress … Customer addNew() change() … System - a class Customer
  5. 5. Identifying things to be represented in system (cont.) 3510 Systems Analysis & Design * Bob Travica of 16 PEOPLE, OPERATIONS, CONCEPTS,
  6. 6. Identifying things to be represented in system (cont.) <ul><li>List nouns users mention when discussing system </li></ul><ul><li>Event table/use cases as source of potential things: - Use cases (Create new sale) - Actors ( salesperson , customer ) - Triggers, data input (customer’s order ) </li></ul><ul><li>Responses ( invoice returned) </li></ul>3510 Systems Analysis & Design * Bob Travica of 16
  7. 7. Identifying things to be represented in system – Master and Transaction Data <ul><li>Useful way of thinking: </li></ul><ul><ul><li>“ Static, permanent things” that make business foundations (employee, department, task, job, inventory, supplier, customer…)  master data </li></ul></ul><ul><ul><li>versus </li></ul></ul><ul><ul><li>“ Dynamic, changing things” that make business operations (sales transactions, purchasing transactions, employees’ pay & education, execution of tasks, inventory)  transaction data </li></ul></ul>3510 Systems Analysis & Design * Bob Travica of 16
  8. 8. Associations among things <ul><li>Association = relationship between things </li></ul><ul><ul><li>Example: Customer places Order </li></ul></ul><ul><li>Associations apply in both directions </li></ul><ul><ul><li>Order is placed by Customer </li></ul></ul>3510 Systems Analysis & Design * Bob Travica of 16
  9. 9. Associations among things (cont.) 3510 Systems Analysis & Design * Bob Travica of 16 <ul><li>Arrowheads are used only if reading violates usual direction </li></ul><ul><li>of reading, which is left-to-right and top-down. </li></ul><ul><li>Arrange symbols to support usual direction of reading. </li></ul>“ PLACES ” “ WORKS IN ” CUSTOMER EMPLOYEE
  10. 10. Associations between Master and Transaction Data <ul><li>A rule of thumb in modeling class diagrams: </li></ul><ul><li>Master data usually do not connect directly to each other but through transaction data </li></ul>3510 Systems Analysis & Design * Bob Travica of 16 3510 Systems Analysis & Design * Bob Travica of 16 Customer Order Order Product X Master Data Transaction Data orders places contains
  11. 11. Multiplicity (basic idea) 3510 Systems Analysis & Design * Bob Travica of 16 <ul><li>Multiplicity: the number of classes or objects </li></ul><ul><li>allowed on each side of a relationship </li></ul><ul><li>(one to many, many to many, one to one) </li></ul>Places 1 order, and can place more. But each order is placed by just one person. Works in 1 dept., while this dept. has other workers as well. CUSTOMER EMPLOYEE “ WORKS IN ” Contains 2 items or more
  12. 12. Understanding things -attributes <ul><li>Think of a database record </li></ul><ul><li>Specific details of things (pieces of data) are called attributes </li></ul><ul><li>Understanding attributes is part of system analysis </li></ul><ul><li>Key attribute: uniquely identifies a thing: </li></ul><ul><ul><li>Social insurance number , product ID , vehicle identification number </li></ul></ul>3510 Systems Analysis & Design * Bob Travica of 16
  13. 13. Attributes 3510 Systems Analysis & Design * Bob Travica of 16 Attributes <ul><li>By providing values to attributes, class is instantiated </li></ul><ul><li>in objects (objects “carved” out of classes) </li></ul><ul><li>Classes have attribute names (“skeleton”), objects </li></ul><ul><li>have attributes specified – values </li></ul>Values
  14. 14. Class elements <ul><ul><li>Class name </li></ul></ul><ul><ul><li>Class attributes </li></ul></ul><ul><ul><li>Class behaviors (methods, processes/functions working with data) </li></ul></ul>3510 Systems Analysis & Design * Bob Travica of 16 Class courseNumber courseTitle creditHours Course addCourse()
  15. 15. Associations between classes: Generalization/Specialization 3510 Systems Analysis & Design * Bob Travica of 16 Class (Superclass) Subclasses of MotorVehicle Subclasses of Car
  16. 16. Associations between classes: Part-Whole 3510 Systems Analysis & Design * Bob Travica of 16 Part classes Whole class
  17. 17. Associations between class objects 3510 Systems Analysis & Design * Bob Travica of 16 1 * has <ul><li>Typical relationship involving objects from </li></ul><ul><li>two classes. </li></ul><ul><li>Read: A course has sections, and a section </li></ul><ul><li>belongs to a course. </li></ul>courseNumber courseTitle creditHours Course addCourse() sectionNumber startTime roomNumber Section openSection() closeSection()

×