Download
class diagram n.
Skip this Video
Loading SlideShow in 5 Seconds..
Class diagram PowerPoint Presentation
Download Presentation
Class diagram

Class diagram

39 Vues Download Presentation
Télécharger la présentation

Class diagram

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Class diagram

  2. Purpose of Structural Models • Class diagrams represent • Generic Categories (classes) of things (objects) • Define relationships among Generic Categories (classes) of things (objects)

  3. Classes • Generic type of thing • Objects are the individual things • Classes are templates for creating instances or objects • Concrete • Abstract • Typical examples: • Application domain, user interface, data structure, file structure, operating environment, document, and multimedia classes

  4. Attributes • Facts related to a type of thing • Attributes of a class • Class – Car Attribute may include: Make, Model, Engine size, etc • Only attributes important to the task should be included

  5. Operations • Behavior types of things do • Class – Car, Operation – accelerate(), break(), etc • Action that instances/objects can take – defined by the class • Focus on relevant problem-specific operations (at this point) • Quick Exercise – in 1 minute

  6. Exercise 1 - Classes • A Cinema shows films. Each film has a title, a producer, a director, a length, certificate and a genre. Patrons watch films at the cinema. Patrons are either adults or children and have a name and an age. To see a film a patron has to buy a ticket. A ticket has a price, a time and is for a film.

  7. Exercise 1 – Solution Template

  8. Class Diagram • Mechanism for visualising classes • Became truly central within all object oriented methods • A Class Diagram shows • Classes • Attributes • Operations • Relationships • Which are consistent over time • Shows the structure of things and ideas in a system

  9. Basic Diagram • Identify Classes • Draw a rectangle for each class • Name it

  10. Add attributes and operations • For each class identified • Identify attributes • Facts associated with classes • Identify operations/methods • Actions objects of the classes do • Re-factor • Are the attributes in the right class? • Are the operations in the right class?

  11. Simple Class Diagram Class Attributes Operations

  12. Relationships • Some Classes can be related • Relationships have difference types • Generalization / Specialization • Aggregation • Composition • Association

  13. Relationships • Classes do not exist in isolation • It is important to consider how they • Interact • Relate • Tend to be VERBS • Five principal types of relationships

  14. Type One - Dependency • Where one class must know about another • Example: • Prospective student knows of a course • Not commonly used • Used more commonly in design / implementation • Java – import javax.swing.*; Car Wheel

  15. Type Two - Association • Classes associated with / related to one another • Example • Student studies a course • Very Commonly used • “Default” type of relationship studies► Student Course

  16. Type Three - Aggregation • Classes made up of other classes • “Part of” relationship • Objects of classes that can exist in their own right • Example • Student is a member of a seminar group memberOf ► Seminar Student

  17. Type Four - Composition • Class is an integral part of another • “Integral part of” relationship • Object of classes that cannot exist without the other • Example: • Seminar is delivered for a Module deliveredFor ► Seminar Module

  18. PartTimeStudent Student Type Five Inheritance • Specialisation / generalisation between two classes • Example • Part Time Student is a type of Student

  19. Visibility

  20. Association Classes • Sometimes the way in which objects of a class are associated is just as important as the objects of a class themselves • Consider the association between Student and Module. Where should our system record the student’s marks on for each student on each module? 1..* is taking  6 Student Module association class is taking mark : Integer

  21. Constraints • a constraint is a condition that has to be satisfied • Use with care • Too much text on a diagram • Can be over used

  22. Recursive Association- is allowed, and can be useful ! • an employee, as a manager, may manage other employees; each employee may be managed by another employee 0..* employee  manages 0..1

  23. Class v. Object Diagram Staff • full symbol for an object is a box with 3 compartments • class name • attributes • operations staffName staffID staffstartdate staffdept an instance symbol shows both instance and class name underlined with a colon to separate AkhtarAli:Staff staffName=Akhtar Ali staffID=313 staffstartdate=140800 staffdept=SDE in an instance symbol, both attribute names and values are given

  24. ที่มา • IS0514, Business Systems Development Tools and Techniques, Northumbria University: Dr. M. Akhtar Ali