L3-5d-S1 Class Diagrams © M.E. Fayad SJSU -- CmpE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College of Engineering San José State University One Washington Square San José, CA
L3-5d-S2 Class Diagrams © M.E. Fayad SJSU – CmpE --- M.E. Fayad 2 Lesson 17: Class Diagrams
L3-5d-S3 Class Diagrams © M.E. Fayad SJSU – CmpE --- M.E. Fayad Lesson Objectives 3 Understand How to put together a class diagram Explore sample of classes and relationships Explore classes and association’s notation Understand the guidelines for putting together a class diagram
L3-5d-S4 Class Diagrams © M.E. Fayad SJSU – CmpE --- M.E. Fayad The most common diagram found in modeling object-oriented system Model the static design view of a system The foundation for –component diagrams –deployment diagrams 4 Class Diagrams (1)
L3-5d-S5 Class Diagrams © M.E. Fayad SJSU – CmpE --- M.E. Fayad Class diagrams commonly contain the following –classes –interfaces –collaborations –dependency, generalization, and association relationship –notes and constraints 5 Class Diagrams (2)
L3-5d-S6 Class Diagrams © M.E. Fayad SJSU – CmpE --- M.E. Fayad Captures the vocabulary of a system Built and refined throughout development Purpose –To model the vocabulary of a system –To model simple collaborations –To model a logical database scheme 6 Class Diagram
L3-5d-S7 Class Diagrams © M.E. Fayad SJSU – CmpE --- M.E. Fayad 11 Symbols for Class And Association
L3-5d-S8 Class Diagrams © M.E. Fayad SJSU – CmpE --- M.E. Fayad 8 Class and Association’s Notation
L3-5d-S9 Class Diagrams © M.E. Fayad SJSU – CmpE --- M.E. Fayad 9 Class Diagram: Example (1)
L3-5d-S10 Class Diagrams © M.E. Fayad SJSU – CmpE --- M.E. Fayad 10 Class Diagram: Example (2)
L3-5d-S11 Class Diagrams © M.E. Fayad SJSU – CmpE --- M.E. Fayad Class Diagram: Example (3)
L3-5d-S12 Class Diagrams © M.E. Fayad SJSU – CmpE --- M.E. Fayad 12 Class Diagram: Example (4)
L3-5d-S13 Class Diagrams © M.E. Fayad SJSU – CmpE --- M.E. Fayad 13 Class Diagram: Example (5)
L3-5d-S14 Class Diagrams © M.E. Fayad SJSU – CmpE --- M.E. Fayad 14 Class Diagram: Example (6)
L3-5d-S15 Class Diagrams © M.E. Fayad SJSU – CmpE --- M.E. Fayad 15 Class Diagram: Example (7)
L3-5d-S16 Class Diagrams © M.E. Fayad SJSU – CmpE --- M.E. Fayad 16 Class Diagram: Example (8)
L3-5d-S17 Class Diagrams © M.E. Fayad SJSU – CmpE --- M.E. Fayad A well-structured class diagram –is focused on communicating one aspect of a system’s static design view –contains only elements that are essential to understanding that aspect –provides detail consistent with its level of abstraction –is not so minimalist that it misinforms the reader about important semantics 17 Guidelines
L3-5d-S18 Class Diagrams © M.E. Fayad SJSU – CmpE --- M.E. Fayad T/F 1. Multiplicity defines how many instances of one class can be associated with the instance of the other class. 2. Bi-directional - The fact that associations are read in both directions 3. For one to one there are three possibilities: A B A B A B 4. Multiplicity is the number of associations of instances of each class. 5. Class diagrams model the dynamic design view of a system. 18 Discussion Questions