1 / 31

UML and Classes, Objects and Relationships [2]

Defining Domain Models Using Class Diagrams. UML and Classes, Objects and Relationships [2]. Agenda. Class Relationships and UML Notations Association - DONE Generalization Realization Dependency Class Diagram Object Diagram Summary. Association - Multiplicity.

baeddan
Download Presentation

UML and Classes, Objects and Relationships [2]

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Defining Domain Models Using Class Diagrams UML and Classes, Objects and Relationships [2]

  2. Agenda • Class Relationships and UML Notations • Association - DONE • Generalization • Realization • Dependency • Class Diagram • Object Diagram • Summary

  3. Association - Multiplicity • A Student can take manyCourses and many Students can be enrolled in one Course. Student Course takes * * 254: Course Alice: Student 253: Course Jill: Student

  4. Notes • One class can be relate to another in a • One-to-one • One-to-many • One-to-one or more • One-to-zero or one • One-to-a bounded interval (one-to-two through twenty) • One-to-exactly n • One-to-a set of choices (one-to-five or eight)

  5. Notes • Multiplicity can be expressed as, • Exactly one - 1 • Zero or one - 0..1 • Many - 0..* or * • One or more - 1..* • Exact Number - e.g. 3..4 or 6 • Or a complex relationship – e.g. 0..1, 3..4,6..* would mean any number of objects other than 2 or 5

  6. Association - Self • An association that connects a class to itself is called a self association.

  7. Association - Self • A Company has Employees. • A singlemanager is responsible for up to 10 workers. Employee 1 manager Responsible for worker 0..10

  8. Association - Multiplicity • A cricket team has 11 players. One of them is the captain. • A player can play only forone Team. • The captain leads the team members. Captain Team Team Member Player 1 0..1 10 member of 1 11 Captain 1 Leads

  9. Class Relationships • Association • Generalization • Realization • Dependency

  10. Generalization (Inheritance) • Child class is a special case of the parent class SuperClass SubClass1 SubClass2

  11. Generalization (Inheritance) e.g. Circle GraphicCircle

  12. Inheritance - Implementation public class Circle { } public class GraphicCircle extends Circle { }

  13. Shape Circle Rectangle Abstract Class

  14. Abstract Methods (Operations) Shape draw() Circle Rectangle draw() draw()

  15. Abstract class and method Implementation public abstract class Shape { public abstract draw(); //declare without implementation ……… } public class Circle { public draw(){ ……. } ….. }

  16. Class Relationships • Association • Generalization • Realization • Dependency

  17. Keyboard Keyboard <<interface>> TypeWriter brandName numOfKeys brandName numOfKeys TypeWriter keyStroke() ctl() pageDown() ctl() pageDown() Realization- Interface • Interface is a set of operation the class carries out OR

  18. Realization - Implementation public interface TypeWriter { void keyStroke() } public class KeyBoard implements TypeWriter { public void keyStroke(){ ……… } }

  19. Class Relationships • Association • Generalization • Realization • Dependency

  20. Change in specification of one class can change the other class. This can happen when one class is using another class. Dependency Circle Point Move(p:Point)

  21. Dependency relationship can be used to show relationships between classes and objects. Dependency cont circleA:Circle <<instanceOf>> Circle circleB:Circle <<instanceOf>>

  22. Class Diagrams • The UML class diagram consists of several Classes, connected with Relationships.

  23. Class Diagram - Example • Draw a class diagram for a information modeling system for a school. • School has one or more Departments. • Department offers one or more Subjects. • A particular subject will be offered by only one department. • Department has instructors and instructors can work for one or more departments. • Student can enrol in upto 5 subjects in a School. • Instructors can teach upto 3 subjects. • The same subject can be taught by different instructors. • Students can be enrolled in more than one school.

  24. Class Diagram - Example School has one or more Departments. School Department has 1..* 1 Department Subject offers 1..* 1 • Department offers one or more Subjects. • A particular subject will be offered by only one department.

  25. Class Diagram - Example Department has Instructors and instructors can work for one or more departments. Instructor Department 1..* assigned to 1..* Student Subject takes 0..5 * • Student can enrol in upto 5 Subjects.

  26. Class Diagram - Example Instructors can teach up to 3 subjects. The same subject can be taught by different instructors. 1..* Instructor Subjects 1..3 teaches

  27. Class Diagram - Example Students can be enrolled in more than one school. * Student School 1..* member

  28. Department Instructor Subject Student School Class Diagram Example has 1 1..* 1..* 1…* 1 offeres assignedTo member 1..* 1..* * attends teaches * 1..5 1..* 1..3

  29. Object Diagram • Object Diagram shows the relationship between objects. • Unlike classes objects have a state.

  30. c1: Company name=“UniMelb” Object Diagram - Example c1: Company d1: Department d2: Department name=“Sales” name=”CSSE” manager employee p2: Person p1: Persont name=“Raj” name=“Rao”

  31. Summary • We have discussed the following concepts and UML notations related: • Association • Generalization • Realization • Dependency • How to create a Class Diagram that contains all the above relationships • Object Diagram for Uni.Dept.system.

More Related