1 / 43

Class Diagrams

This UML class diagram showcases the attributes, operations, and associations of a washing machine, allowing for better understanding of its functionalities and components.

lindao
Download Presentation

Class Diagrams

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. Class Diagrams Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang University

  2. CLASS in UML

  3. WashingMachine CLASS in UML • Class name • First letter is upper-case • No empty space in a class name. • with package name? package_name::class_name Ex) HouseholdAppliances::WashingMashine

  4. CLASS in UML • Attribute • Attribute Names • Additional information (attribute vale) can be specified. Ex) capacity:Integer = 8 WashingMachine brandName modeName serialNumber capacity • Instance ofWashingMachine

  5. WashingMachine brandName modeName serialNumber capacity addClothes() removeClothes() addDetergent() turnOn() CLASS in UML • Operation • class methods • first letter is lower-case • Additional information (e.g. signature) can be specified. Ex) addClothes( C:String )

  6. WashingMachine brandName modelName serialNumber capacity addClothes( C:String ) removeClothes( C:String ) addDetergent( D:Integer) turnOn( ):Boolean Additional information (signature) in operations - Parameter name and type - Return type

  7. WashingMachine WashingMachine WashingMachine <<id info>> brandName modelName serialNumber <<machine info>> capacity brandName . . . addClothes() . . . <<clothes-related>> addClothes() removeClothes() addDetergent() <<machine-related>> turnOn() Stereotype • If the lists of class attributes and operations are long, stereotype can be used to separate the list for better understanding. • stereotype • one or extensibility machanisms in UML • allow designers to extend the vocabulary of UML in order to create new model elements Notation :<<stereotype_name>>

  8. Responsibility and Constraints • Constraints • Use when inserting constraints a class has to follow. • Notation : text in ‘{ }’ {capacity =5 or 8 or 10 Kg} • Explain what class has to do

  9. Refer to Government Standard EV5-2241 on generating serial numbers Note {capacity =5 or 8 or 10 Kg} • Note • Use when inserting additional information.

  10. Class Modeling Nouns during conversation with clients Nouns during conversation with clients , which are related to class name. Verbs during conversation with clients의뢰

  11. Example : modeling basketball game

  12. Example : modeling basketball game

  13. Basketball Game • Conversation with coach noun ball, basket, team, players, guards, forwards, cener, shot, shot clock, three-point line, free throw, foul, free-throw line, court, game clock verb Shoot, advance, dribble, pass, foul, rebound Initial Class Diagram

  14. Ball Player Guard Forward center diameter volume name height weight dribble() shoot() pass() advance() dribbleBall() passBall() shootBall() rebound() foulOpponent() does most of the dribbling and passing does most of the intermediate range shooting and rebounding stays near basket, shoots from close range Initial class diagram Team Basket ShotClock {pro = 24 sec college = 35sec Int’l = 30 sec} Foul Shot Court GameClock {pro = 4 12-minute quarters college and Int’l=2 20-minute halves} ThreePointLine FreeThrow Duration {pro = 48minutes college and Int’l = 40 minutes FreeThrowLine

  15. Association • When classes are connected together conceptually, that connection is called association

  16. Association

  17. Constraints on Association

  18. Association Classes • Association can have attributes and operations, just like a class.

  19. Link • An association may have instances, just as an object is an instance of a class

  20. Multiplicity • The number of objects from one class that relate with a single object in an associated class. • One – to – one • One – to – many(*) • One – to – one or more(*) • 1..* • One – to – zero or one • One – to – a bounded interval • ex. one – to – 5 through(..) 10 • One – to exactly n • ex. One – to – 10 • One – to – a set of choices • ex. One – to – 5 or(,) 10

  21. Multiplicity Possible multiplicities and how to represent them in UML

  22. Reflexive Association • Association with itself

  23. Inheritance and Generalization • Is a kind of • inheritance, • Generalization • subclass , superclass • root class, leaf class

  24. abstract class • Class that does not have an instance • italic font

  25. Dependencies • one class may use another. • The most common usage of dependency is to show that the signature of one class’s operation uses another class

  26. More about class diagrams 집합연관(Aggregation) 복합연관(Composition) 문맥(Contexts) 인터페이스(Interface) 실체화(Realization) 가시성(Visibility)

  27. Aggregations • A class consists of a number of component classes

  28. Constraints on Aggregations • Constraint to show that one component or another is part of whole

  29. Composite • A strong type of aggregation • Each component in a composite can belong to just one whole

  30. composite structure diagram • Show class’s internal structure Show components of a class

  31. Interface and Realization • One entity (interface) defines a set of functionalities as a contract, and the other (class) realizes the contract by implementing the functionality defined in the contract.

  32. Visibility + : public # : protected - : private

  33. Ex) Class Diagram

  34. Object Diagram

  35. Object Diagram • Similar to classes, objects can have multiple representations

  36. Object Diagram (= Instance Diagram) • Object Diagram shows the static relationship between objects • A snapshot of the objects in a system at a specific time • Object diagrams are • more concrete than class diagrams • often used to provide examples, or act as test cases for the class diagrams • Only those aspects of a model that are of current interest need be shown on an object diagram.

  37. Classes, Objects, and Packages • Package is a way of grouping classes into common categories • When modeling classes and objects, UML allows the package also to be shown

  38. Package Diagram

  39. Package Diagram • logical hierarchical decomposition of a system • Packages are usually organized to maximize internal coherence within each package and to minimize external coupling among packages. • With these guidelines in place, the packages are good management elements. Each package can be assigned to an individual or team, and the dependencies among them indicate the required development order. • The most common uses for package is to use them to organize Use-Case diagrams and class diagrams.

  40. Package Diagram • Group related UML elements and scope their names • Packages may be nested within other packages. • Both model elements and diagrams may appear in a package

  41. Goal of Package • Group diagram components (e.g. class , use case, …) into a package • Similar to Namespace in C++ (e.g. Tools::Hammer)

  42. Relationship Between Packages • Generalization • Dependency • Refinement • One package refines another if it contains the same element but with more detail.

  43. Package Diagram Example

More Related