UML Notations Activity diagrams State diagrams Class diagrams
- Slides: 51
UML Notations Activity diagrams State diagrams Class diagrams Use-case diagrams
Background UML • Unified Modeling Language (UML) is a standard language for specifying, visualizing , and constructing, and documenting the artifacts of software systems. – http: //www. uml. org/ • UML represents the collection of best engineering practices, mainly used for object oriented software development • UML uses graphical notations to express the design of software projects. UML notations 2
Goals of UML • Provide users with a ready-to-use visual modeling language to exchange meaningful models • Provide extensibility and specialization mechanisms to extend the core concepts • Be independent of particular programming languages and development processes. • The development of UML began in 1994 by Grady Booch and Jim Rumbaugh from Rational Software Corporation
UML Diagrams • Activity diagram – combined function/control view • State diagram – highly interactive control • Class diagram – static information structure (“data”) • Use-case diagram – high level view of system services (functional) UML notations 4
Activity diagram • Model control and information flow of a procedure or process • It describes the state of activities by showing the sequence of activities performed. UML notations 5
Action state • State in which some work is being done – activity, task • State terminates when the work is finished – difference with state diagrams • After termination the action state can lead to another action state – “state transition” • Special symbols for being and end of a procedure or process UML notations 6
Basic notation for activity diagram UML notations 7
Decision • State transition is deterministic • If transition depends on outcome of the work, then introduces a decision UML notations 8
Introducing concurrency UML notations 9
Swim lanes • Process can sometimes be distributed over several agents or organizational units • Notation: use compartments • Use to model a business process (e. g. in organization model) UML notations 10
Notation for swim lanes UML notations 11
Object flow UML notations 12
Business process “Housing” UML notations 13
State diagrams • Synonyms: “state chart”, “state-transition diagram” • Purpose: model of dynamic behavior • Use if control is heavily influenced by “external” events UML notations 14
State UML notations 15
State transition • Event: comes from outside the object modeled • Message: generates event for another object • Guard: outcome of internal object computation UML notations 16
Actions and activities • Action: instantaneous, not interruptible – on transition – on state entry = action on all incoming transitions – on state exit = action on all outgoing transitions – on event • Activity: takes time, interruptible UML notations 17
State diagram of ticket machine UML notations 18
State concurrency UML notations 19
State diagram “Housing” UML notations 20
Class diagram • Describe the types of objects in a system and their relationships • Model class structure and contents • Class has three things: a name, attribute, and operations UML notations 21
Objects and classes UML notations 22
Object class • Describes a group of objects with similar properties – Abbreviation: "class" • Rationale for introducing classes: – it provides a means for abstraction • Terminology: “object” is often used in an ambiguous way, pointing to both objects (in the strict sense) and object classes. UML notations 23
Attributes • An attribute describes a value held by objects belonging to the class. • Attribute specification consists of: – Class it is defined on (student) – Attribute name (name) – Admissible values (string) – Optional: default value UML notations 24
Values and Value Sets • Values are the primitive things with no internal structure from the viewpoint of the application • Admissible values are defined through a value set • Typical predefined value-sets: – string, number, integer, real, range, boolean, …. • User-defined: – set or list of strings UML notations 25
Object Identifiers • In O-O modeling you assume that every object has an identity. • Consequence: introduce only attributes that act as identifiers, iff the identifier is something that exists in the real world. • Examples: student card number, social security number. UML notations 26
Operations • Definition: – operation is "a function or a transformation that can be applied to objects of a class". • Objects in a class share the same operations. • Method: implementation of an operation UML notations 27
Class notation UML notations 28
Associations • Associations are used to link objects to other objects • Majority of associations: – binary (between two objects) – directional (should be read in a particular direction • Ternary associations come up occasionally. • Associations between more than three objects are rare. UML notations 29
Association notation UML notations 30
Multiplicity examples UML notations 31
Multiplicity • Also called: "cardinality". • Always connected to one of the classes involved. • Typical types of multiplicity: – 0 -1 – 0+ – 1+ UML notations Zero or one (optional). Precisely one. Zero or more, One or more. 32
Association class • Modeling an association as a class if the association has an internal information structure • Advantage: associations become first-class objects. • Attributes and methods can be defined for the association class. UML notations 33
Notation association class UML notations 34
Use of an association class UML notations 35
Associations with specific semantics • Associations provide a general, "neutral", way of connecting object classes. • Semantics of the association are defined through argument typing, multiplicity and (implicitly) the name of the association. • Class diagrams provide specific types of associations, with predefined semantics: – generalization ("is a"). – aggregation ("part of"). UML notations 36
Generalization • Purpose: sharing similarities while preserving differences • Is an association between a class that acts as super-class and one or more classes called the sub-classes. • Super-classes show the features that the subclasses have in common. • Each sub-class inherits the attributes and operations defined on its super-class(es). UML notations 37
Notation for generalization UML notations 38
Aggregation • Aggregation denotes a binary association in which one side is an "assembly" and the other side a "part". • "Assembly" and "part" act as predefined roles involved in the aggregation association. • Cardinality of a part can be defined – precisely one; optional (0 -1); many, . . . UML notations 39
Notation for aggregation UML notations 40
Composition • Sub-type of aggregation • Existence of part depends on aggregate UML notations 41
Aggregation and generalization • Similarities: – Tree-like structure • Differences: – AND-tree (aggregation) vs. OR-tree (generalization) – instance tree (aggregation) vs. class tree (generalization) UML notations 42
Combined aggregation and generalization UML notations 43
Use-case diagram • shows services that can be expected from a system • provides outsider view (customer) • terminology use case service provided by system actor agent using a system service • used in early phases of system analysis UML notations 44
Use cases for a library UML notations 45
A small case study • Course administration system (CAS) • Context: university department • Required services: STUDENT: update personal data, inspect exam results, inspect course info, enroll in course TUTOR: inspect exam results, update course info, inspect enrollments ADMIN STAFF: enter exam results, inspect exam results, update personal data students, inspect enrollments UML notations 46
Use cases UML notations 47
Class diagram exam date: date result: [0. . 10] requires 0+ course-exam 1 enrollment student 0+ date: date student-card#: string name: string 0+ address: string date-of-birth: data major: Major. . course 0+ course-code: string year: integer trimester: 1 -3 study-points: integer learning-goals: string description: text literature: text maximum-#students: integer 0+ university staff member title: string position: string 1+ department: string telephone: string room: string e-mail: string UML notations tutor 48
Activity diagram for course enrollment procedure UML notations 49
State diagram: “update student data” UML notations 50
Tools to draw UML • Powerpoint • MS Visio: http: //www. youtube. com/watch? v=FPB 0 Tw 9 j FE 8 • Online: – http: //creately. com/Draw-UML-and-Class. Diagrams-Online – http: //www. gliffy. com/uses/uml-software/
- Activity diagram
- Class diagram notations
- Uml fork
- State diagrams uml
- Rake symbol in activity diagram
- Uml final variable
- Uml collaboration diagram
- Engineering prefix
- Standard notations and common functions
- Deployment diagram for online voting system
- Cognitive dimensions of notations
- Running record notations
- Polish notations
- Uml 1 vs uml 2
- What is uml
- Static uml diagrams
- Uml
- Uml diagrams wiki
- Class diagram gym management system
- Pos uml diagrams
- Pos uml diagrams
- Case diagram in software engineering
- Uml building blocks in software engineering
- Static class diagram
- Class diagram example
- Uml structural diagrams
- Uml 2 activity diagram
- Uml activity diagram
- Creatively uml
- Uml 2 activity diagram
- Rational unified process
- Diagram czynności
- State machine diagram choice
- Advanced state modeling in ooad
- Use case diagram example
- Use case model
- Uml object diagram
- Uml domain model class diagram
- Dependency class diagram
- Abstract class in uml
- Class diagram uml example
- Concrete class in uml
- Uml string
- Uml
- Class uml diagram
- Use case diagram netflix
- Actor in ooad
- Java uml example
- Uml inner class
- Class uml diagram
- Ileana ober
- Cass diagram