Lecture 6 7 UML introduction Telematics systems and

  • Slides: 83
Download presentation
Lecture 6 -7: UML introduction Telematics systems and their design Doc. Ing. Ondřej Přibyl,

Lecture 6 -7: UML introduction Telematics systems and their design Doc. Ing. Ondřej Přibyl, Ph. D. Department of applied mathematics Faculty of Transportation sciences, CTU Ondřej Přibyl L 6 -7: UML introduction page 1

Telematics systems and their design Faculty of Transportation Sciences, CTU Example of UML (1)

Telematics systems and their design Faculty of Transportation Sciences, CTU Example of UML (1) Ondřej Přibyl L 6 -7: UML introduction page 2

Telematics systems and their design Faculty of Transportation Sciences, CTU Example of UML (2)

Telematics systems and their design Faculty of Transportation Sciences, CTU Example of UML (2) Ondřej Přibyl L 6 -7: UML introduction page 3

Telematics systems and their design Faculty of Transportation Sciences, CTU Example of UML (3)

Telematics systems and their design Faculty of Transportation Sciences, CTU Example of UML (3) Ondřej Přibyl L 6 -7: UML introduction page 4

Telematics systems and their design Faculty of Transportation Sciences, CTU Example of UML (4)

Telematics systems and their design Faculty of Transportation Sciences, CTU Example of UML (4) Ondřej Přibyl L 6 -7: UML introduction page 5

Telematics systems and their design Faculty of Transportation Sciences, CTU Example of UML (5)

Telematics systems and their design Faculty of Transportation Sciences, CTU Example of UML (5) Ondřej Přibyl L 6 -7: UML introduction page 6

Telematics systems and their design Faculty of Transportation Sciences, CTU Lecture 5 – Overview

Telematics systems and their design Faculty of Transportation Sciences, CTU Lecture 5 – Overview • What is UML • History of UML • UML diagrams – Overview – Description Ondřej Přibyl L 6 -7: UML introduction page 7

Telematics systems and their design Faculty of Transportation Sciences, CTU What is UML? •

Telematics systems and their design Faculty of Transportation Sciences, CTU What is UML? • UML = Unified Modeling Language • • A language (notation) for modeling object-oriented systems A standard maintained by the Object Management Group A modeling language including 13 diagrams A means for visualizing, specifying, constructing, and documenting software as well as hardware systems http: //www. uml. org Ondřej Přibyl L 6 -7: UML introduction page 8

Telematics systems and their design U M L Ondřej Přibyl Faculty of Transportation Sciences,

Telematics systems and their design U M L Ondřej Přibyl Faculty of Transportation Sciences, CTU Unified: • Unification of earlier object-oriented analysis and design methods. • Same concepts and notation for different application domains and different development processes. • Same concepts and notation through the whole development lifecycle. Modeling: • Making a semantically* complete abstraction of a system. (* The formal specification of the meaning and behavior of something) Language: • a system for encoding and decoding information • UML - A graphical language L 6 -7: UML introduction page 9

Telematics systems and their design Faculty of Transportation Sciences, CTU DIscussion • What is

Telematics systems and their design Faculty of Transportation Sciences, CTU DIscussion • What is a model? Ondřej Přibyl L 6 -7: UML introduction page 10

Faculty of Transportation Sciences, CTU Telematics systems and their design Modeling • When you

Faculty of Transportation Sciences, CTU Telematics systems and their design Modeling • When you make a model you are making a mapping from the problem domain to a representation of the system you are modeling. Reality Model • When you work object-oriented the model tends to be close to the system modeled, and a program execution can be regarded as a simulation of the behavior of the system. Ondřej Přibyl L 6 -7: UML introduction page 11

Telematics systems and their design Faculty of Transportation Sciences, CTU Models http: //www. business-prototyping.

Telematics systems and their design Faculty of Transportation Sciences, CTU Models http: //www. business-prototyping. com/methods-andtechniques/models-and-metamodels/ Ondřej Přibyl L 6 -7: UML introduction page 12

Telematics systems and their design Faculty of Transportation Sciences, CTU DIscussion • Why do

Telematics systems and their design Faculty of Transportation Sciences, CTU DIscussion • Why do we model? Ondřej Přibyl L 6 -7: UML introduction page 13

Telematics systems and their design Faculty of Transportation Sciences, CTU Why do we model?

Telematics systems and their design Faculty of Transportation Sciences, CTU Why do we model? • Models give us a template that guides us in constructing a system. – If you want to make a building you first make a blueprint of the building to make • Models help us visualize a system at different levels of abstraction, this makes it easier to manage complexity and to understand the system. • Provide structure for problem solving • Experiment to explore multiple solutions • Modeling allows the following business benefits: – Reduce time-to-market for business problem solutions – Decrease development costs – Manage the risk of mistakes Ondřej Přibyl L 6 -7: UML introduction page 14

Telematics systems and their design Faculty of Transportation Sciences, CTU Characteristics of a Model

Telematics systems and their design Faculty of Transportation Sciences, CTU Characteristics of a Model • A model is never equal to the real system, because it is always simpler than the reality 15 • The accuracy of a model is determined by its tendency to approach the real system • Is that a problem? • Yes, if the model ignores important parameters of the real system (over simplification) • No, if the model takes into account the important parameters (ignoring some details is sometimes not problematic) • No, if we simplify those features not relevant for our research - We use a mathematical model of an engine to study its power, but we do not model its heating characteristics Ondřej Přibyl L 6 -7: UML introduction page 15

Telematics systems and their design Faculty of Transportation Sciences, CTU Discussion • Why do

Telematics systems and their design Faculty of Transportation Sciences, CTU Discussion • Why do we need UML? Ondřej Přibyl L 6 -7: UML introduction page 16

Telematics systems and their design Faculty of Transportation Sciences, CTU Why do we need

Telematics systems and their design Faculty of Transportation Sciences, CTU Why do we need UML? • Unified communication language – Unify ideas from other modeling languages and incorporate industry best practices. – Everybody understands UML in the same way! • Graphical notation – A picture is worth a thousand words – An easy-to-learn but semantically rich visual modeling language • Provides multiple diagrams for capturing different architectural views • Promotes component reusability • Provide flexibility for applying different processes and mapping to different programming languages. Ondřej Přibyl L 6 -7: UML introduction page 17

Faculty of Transportation Sciences, CTU Telematics systems and their design Problems with communication… Customer

Faculty of Transportation Sciences, CTU Telematics systems and their design Problems with communication… Customer Ondřej Přibyl Salesman Product manager Developer L 6 -7: UML introduction page 18

Telematics systems and their design Faculty of Transportation Sciences, CTU History of UML Ondřej

Telematics systems and their design Faculty of Transportation Sciences, CTU History of UML Ondřej Přibyl L 6 -7: UML introduction page 19

Telematics systems and their design Faculty of Transportation Sciences, CTU History of UML 2.

Telematics systems and their design Faculty of Transportation Sciences, CTU History of UML 2. 5 was released in October 2012 as an "In process" version and has yet to become formally released Ondřej Přibyl L 6 -7: UML introduction page 20

Telematics systems and their design Faculty of Transportation Sciences, CTU UML is not a

Telematics systems and their design Faculty of Transportation Sciences, CTU UML is not a development process A development process defines: - Who is doing What, - When to do it, and - How to reach a certain goal • The UML is intentionally process independent • Defining of a standard process was not a goal of UML. Different domain may require different processes. • UML authors promote a development process that is use-case-driven, architecture centric, iterative and incremental. (Example of method: RUP) Ondřej Přibyl L 6 -7: UML introduction page 21

Telematics systems and their design Faculty of Transportation Sciences, CTU Discussion - Control questions

Telematics systems and their design Faculty of Transportation Sciences, CTU Discussion - Control questions • What is UML • Is UML better or worst than water fall methodology? • Why do we want to use UML? (Advantages) • Are there any disadvantages of UML? • How do we use UML as part of SAD? Ondřej Přibyl L 6 -7: UML introduction page 22

Introduction: Ways of using UML Ondřej Přibyl L 6 -7: UML introduction page 23

Introduction: Ways of using UML Ondřej Přibyl L 6 -7: UML introduction page 23

Telematics systems and their design Faculty of Transportation Sciences, CTU As a Sketch •

Telematics systems and their design Faculty of Transportation Sciences, CTU As a Sketch • Most common use of UML • Used to help communicate some aspect of a system and to better understand it • Used for both forward engineering (i. e. , build diagrams before coding) and reverse engineering (i. e. , build diagrams from existing code) • Strives to be informal and dynamic • Only emphasizes those classes, attributes, operations, and relationships that are of interest • More concerned with selective communication than complete specification 24 Ondřej Přibyl L 6 -7: UML introduction page 24

Telematics systems and their design Faculty of Transportation Sciences, CTU As a Blueprint •

Telematics systems and their design Faculty of Transportation Sciences, CTU As a Blueprint • Goal is completeness • Is more definitive, while the sketch approach is more explorative • Used to describe a detailed design for a programmer to follow in writing source code • Notation should be sufficiently complete so that a programmer can follow it in a straightforward manner • Can be used by a designer to develop blueprint-level models that show interfaces of subsystems or classes – Developers then work out the implementation details • As a reversed engineered product, diagrams convey detailed information about the source code that is easier for developers to understand 25 Ondřej Přibyl L 6 -7: UML introduction page 25

Telematics systems and their design Faculty of Transportation Sciences, CTU As a Programming Language

Telematics systems and their design Faculty of Transportation Sciences, CTU As a Programming Language • Specifies the complete system in UML so that code can be automatically generated • Looks at UML from a software perspective rather than a conceptual perspective which concentrates on the domain of study • Diagrams are compiled directly into executable code so that the UML becomes the source code • Challenge is making it more productive to use UML rather than some another programming language • Another concern is how to model behavioral logic – Done with interaction diagrams, state diagrams, and activity diagrams 26 Ondřej Přibyl L 6 -7: UML introduction page 26

Telematics systems and their design Faculty of Transportation Sciences, CTU Comparing and Contrasting Ways

Telematics systems and their design Faculty of Transportation Sciences, CTU Comparing and Contrasting Ways of Using UML • UML sketches are useful with both forward and reverse engineering and in both conceptual and software perspectives • Detailed forward engineering blueprints are difficult to do well and slow down the development effort – Actual implementation of interfaces will reveal the needs for changes • The value of reversed engineered blueprints depends on the CASE tool – A dynamic browser would be very helpful; a thick document wastes time and resources • UML as a programming language will probably never see significant usage – Graphical forms have not shown to be more productive in writing code than textual code for most programming tasks 27 Ondřej Přibyl L 6 -7: UML introduction page 27

Overview of UML diagrams Ondřej Přibyl L 6 -7: UML introduction page 28

Overview of UML diagrams Ondřej Přibyl L 6 -7: UML introduction page 28

Telematics systems and their design Faculty of Transportation Sciences, CTU Standard diagrams in UML

Telematics systems and their design Faculty of Transportation Sciences, CTU Standard diagrams in UML (Ver. 2. 2) Ondřej Přibyl L 6 -7: UML introduction page 29

Telematics systems and their design Faculty of Transportation Sciences, CTU Standard diagrams in UML

Telematics systems and their design Faculty of Transportation Sciences, CTU Standard diagrams in UML • 13 Types in UML 2. 0 (Superstructure specs) I. Behavior 1. Activity 2. State Machines 3. Use case II. Interaction 4. Communication 5. Interaction Overview 6. Sequence 7. Timing Ondřej Přibyl III. Structure 8. Class 9. Composite Structure 10. Object IV. Organization (Structure) 11. Package 12. Component 13. Deployment L 6 -7: UML introduction page 30

Telematics systems and their design Faculty of Transportation Sciences, CTU I. What is Behavioral

Telematics systems and their design Faculty of Transportation Sciences, CTU I. What is Behavioral modeling? • a view of an system that emphasizes the behavior of particular modules as well as processes. I. Behavior 1. Activity 2. State Machines 3. Use case Ondřej Přibyl L 6 -7: UML introduction page 31

Telematics systems and their design Faculty of Transportation Sciences, CTU 3. Use case diagram

Telematics systems and their design Faculty of Transportation Sciences, CTU 3. Use case diagram • Captures Use Cases and relationships between Actors and the subject (system). • It describes the functional requirements of the system, the manner in which outside things (Actors) interact at the system boundary, and the response of the system • Displayed aspects – System boundary and context of system – Users and neighbor systems – Functionalities – Relationships between functionalities (calling/dependency, taxonomy) – Functional requirements – Some non-functional (“quality”) requirements as comments/annotations Ondřej Přibyl L 6 -7: UML introduction page 32

Telematics systems and their design Faculty of Transportation Sciences, CTU 3. Use case diagram

Telematics systems and their design Faculty of Transportation Sciences, CTU 3. Use case diagram - Actors • Actors – specifies a role played by a user or any other system that interacts with the subject Ondřej Přibyl L 6 -7: UML introduction page 33

Telematics systems and their design Faculty of Transportation Sciences, CTU 3. Use case diagram

Telematics systems and their design Faculty of Transportation Sciences, CTU 3. Use case diagram - Example Ondřej Přibyl L 6 -7: UML introduction page 34

Telematics systems and their design Faculty of Transportation Sciences, CTU Project relevant details (Assignment

Telematics systems and their design Faculty of Transportation Sciences, CTU Project relevant details (Assignment 3) • See presentation (P 1 – Actors) • Stored also at the course web site together with additional reading – Usecases. pdf – UML Handbook Ondřej Přibyl L 6 -7: UML introduction page 35

Telematics systems and their design Faculty of Transportation Sciences, CTU SSC system: Example Actors

Telematics systems and their design Faculty of Transportation Sciences, CTU SSC system: Example Actors (Class 2012) Ondřej Přibyl L 6 -7: UML introduction page 36

Telematics systems and their design Faculty of Transportation Sciences, CTU 3. Use case diagram

Telematics systems and their design Faculty of Transportation Sciences, CTU 3. Use case diagram – Discussion • Prepare a simple Use case diagram for – Section speed control system Ondřej Přibyl L 6 -7: UML introduction page 37

Telematics systems and their design Faculty of Transportation Sciences, CTU SSC system: UC example

Telematics systems and their design Faculty of Transportation Sciences, CTU SSC system: UC example Ondřej Přibyl L 6 -7: UML introduction page 38

Telematics systems and their design Faculty of Transportation Sciences, CTU Result from class 2011

Telematics systems and their design Faculty of Transportation Sciences, CTU Result from class 2011 (Section speed control system) Ondřej Přibyl L 6 -7: UML introduction page 39

Telematics systems and their design Faculty of Transportation Sciences, CTU Result from class 2012

Telematics systems and their design Faculty of Transportation Sciences, CTU Result from class 2012 (Section speed control system) Ondřej Přibyl L 6 -7: UML introduction page 40

Telematics systems and their design Faculty of Transportation Sciences, CTU Scenarios § Scenario is

Telematics systems and their design Faculty of Transportation Sciences, CTU Scenarios § Scenario is another name for a particular flow of events. § A use case covers a range of situations – a scenario is just one. § Each use case typically has: – a main flow describing the “happy path” – alternate flows describing major exceptions § Several alternatives exist for specifying the use case scenarios. Ondřej Přibyl L 6 -7: UML introduction page 41

Telematics systems and their design Faculty of Transportation Sciences, CTU Describing Scenarios Textually §

Telematics systems and their design Faculty of Transportation Sciences, CTU Describing Scenarios Textually § Write text to describe the interaction of the actor(s) and the system. § Simple and easy approach § May be limiting: – Numerous alternate flows make it hard to understand where normal flow can branch. – Long alternate flows need to be broken out as steps too. Ondřej Přibyl • Use Case: Checks out item 1. Customer sets item on counter. 2. Sales clerk swipes UPC reader across UPC code on item. 3. System looks up UPC code in database procuring item description and price. 4. System emits audible beep. 5. System announces item description and price over voice output. 6. System adds price and item type to current invoice. 7. System adds price to correct tax subtotal. • Error case 1: UPC code unreadable • If after step 2, the UPC code was invalid or was not properly read, emit an audible ‘bonk’ sound. • Error case 2: No item in database • If after step 3 no database entry is found for the UPC flash the ‘manual entry’ button on the terminal. Accept key entry of price and tax code from Sales Clerk. Set Item description to “Unknown item”. Go to step 4. L 6 -7: UML introduction page 42

Faculty of Transportation Sciences, CTU Telematics systems and their design Describing Scenarios Graphically §

Faculty of Transportation Sciences, CTU Telematics systems and their design Describing Scenarios Graphically § Create an Activity Diagram to graphically show the interaction of the actor(s) and the system. § Requires a little UML savvy § Easy to slip into too much detail Ondřej Přibyl § Create a Sequence Diagram to graphically show the interaction of the actor(s) and the system. § Requires more UML savvy § Great start for design activities page 43 L 6 -7: UML introduction

Telematics systems and their design Faculty of Transportation Sciences, CTU 1. Activity diagram •

Telematics systems and their design Faculty of Transportation Sciences, CTU 1. Activity diagram • Activity diagrams present all kinds of control flow and data flow. • They are kind of dual to state machines: – focus is on actions rather than states. • Activity diagrams have applications throughout the whole software life cycle for many purposes – Analysis • design or document processes in the application domain (business processes) – Design • design or document processes as compositions of preexisting elements like manual tasks or automated jobs – Implementation • document existing programs (i. e. functions, services, …) • design algorithmic processes with an intention of turning them into implementation language code Ondřej Přibyl L 6 -7: UML introduction page 44

Telematics systems and their design Faculty of Transportation Sciences, CTU 1. Activity diagram -

Telematics systems and their design Faculty of Transportation Sciences, CTU 1. Activity diagram - Example Ondřej Přibyl L 6 -7: UML introduction page 45

Telematics systems and their design Faculty of Transportation Sciences, CTU 1. Activity diagram –

Telematics systems and their design Faculty of Transportation Sciences, CTU 1. Activity diagram – Partitioning (Example) Ondřej Přibyl L 6 -7: UML introduction page 46

Telematics systems and their design Faculty of Transportation Sciences, CTU 1. Activity diagram –

Telematics systems and their design Faculty of Transportation Sciences, CTU 1. Activity diagram – Discussion • Prepare a simple Activity diagram for one use case from: – Section speed control system – Nice explanation and examples: http: //www. zicomi. com/view. Activity. Diagram. jsp Ondřej Přibyl L 6 -7: UML introduction page 47

Telematics systems and their design Faculty of Transportation Sciences, CTU SSC system: AD example

Telematics systems and their design Faculty of Transportation Sciences, CTU SSC system: AD example Ondřej Přibyl L 6 -7: UML introduction page 48

Telematics systems and their design Faculty of Transportation Sciences, CTU 2. State machine diagram

Telematics systems and their design Faculty of Transportation Sciences, CTU 2. State machine diagram - Overview • State machines model behavior – object and use case life cycles – control automata – protocols • State machines consist of – States … – connected by Transitions (with triggers, guards, and effects) • State machines communicate via event pools. • State machines are executed by run-to-completion steps. Ondřej Přibyl L 6 -7: UML introduction page 49

Telematics systems and their design Faculty of Transportation Sciences, CTU 2. State machine diagram

Telematics systems and their design Faculty of Transportation Sciences, CTU 2. State machine diagram - Example Ondřej Přibyl L 6 -7: UML introduction page 50

Telematics systems and their design Faculty of Transportation Sciences, CTU II. What is interaction

Telematics systems and their design Faculty of Transportation Sciences, CTU II. What is interaction modeling? • a view of an system that emphasizes the shows interactions among the elements. II. Interaction 4. Communication 5. Interaction Overview 6. Sequence 7. Timing Ondřej Přibyl L 6 -7: UML introduction page 51

Telematics systems and their design Faculty of Transportation Sciences, CTU 6. Sequence diagram •

Telematics systems and their design Faculty of Transportation Sciences, CTU 6. Sequence diagram • Purpose: show the interactions between objects in the sequential order • It is used to depict work flow, message passing and how elements in general cooperate over time to achieve a result. • Each sequence element is arranged in a horizontal sequence, with messages passing back and forward between elements. • An Actor element can be used to represent the user initiating the flow of events. • Stereotyped elements, such as Boundary, Control and Entity, can be used to illustrate screens, controllers and database items, respectively. Ondřej Přibyl L 6 -7: UML introduction page 52

Telematics systems and their design Faculty of Transportation Sciences, CTU 6. Sequence diagram -

Telematics systems and their design Faculty of Transportation Sciences, CTU 6. Sequence diagram - Example Ondřej Přibyl L 6 -7: UML introduction page 53

Telematics systems and their design Faculty of Transportation Sciences, CTU 4. Communication diagram •

Telematics systems and their design Faculty of Transportation Sciences, CTU 4. Communication diagram • Shows the interactions between elements at run-time in much the same manner as a Sequence diagram. • However, it is used to visualize inter-object relationships, while Sequence diagrams are more effective at visualizing processing over time. • Communication diagrams employ ordered, labeled associations to illustrate processing. • Numbering is important to indicate the order and nesting of processing. A numbering scheme could be: – – Ondřej Přibyl 1 1. 2 And so on L 6 -7: UML introduction page 54

Telematics systems and their design Faculty of Transportation Sciences, CTU 4. Communication diagram -

Telematics systems and their design Faculty of Transportation Sciences, CTU 4. Communication diagram - Example Ondřej Přibyl L 6 -7: UML introduction page 55

Telematics systems and their design Faculty of Transportation Sciences, CTU 5. Interaction overview diagram

Telematics systems and their design Faculty of Transportation Sciences, CTU 5. Interaction overview diagram • Visualizes the cooperation between other interaction diagrams to illustrate a control flow serving an encompassing purpose. • Variant of Activity diagrams, most of the diagram notation is the same, as is the process of constructing the diagram. Decision points, Forks, Joins, Start points and End points are the same. Instead of Activity elements, however, rectangular elements are used. Ondřej Přibyl L 6 -7: UML introduction page 56

Telematics systems and their design Faculty of Transportation Sciences, CTU 7. Timing diagram •

Telematics systems and their design Faculty of Transportation Sciences, CTU 7. Timing diagram • Originated in electrical engineering (oscilloscope) • Defines the behavior of different objects within a time-scale. • It provides a visual representation of objects changing state and interacting over time. • You can use Timing diagrams to define hardware-driven or embedded software components • For example, those used in a fuel injection system or a microwave controller. • You can also use Timing diagrams to specify time-driven business processes. Ondřej Přibyl L 6 -7: UML introduction page 57

Telematics systems and their design Faculty of Transportation Sciences, CTU 7. Timing diagram -

Telematics systems and their design Faculty of Transportation Sciences, CTU 7. Timing diagram - Example Ondřej Přibyl L 6 -7: UML introduction page 58

Telematics systems and their design Faculty of Transportation Sciences, CTU III. What is structural

Telematics systems and their design Faculty of Transportation Sciences, CTU III. What is structural modeling? • a view of an system that emphasizes the structure of the objects, including their classifiers, relationships, attributes and operations. III. Structure 8. Class 9. Composite Structure 10. Object Ondřej Přibyl L 6 -7: UML introduction page 59

Telematics systems and their design Faculty of Transportation Sciences, CTU 8. Class diagram •

Telematics systems and their design Faculty of Transportation Sciences, CTU 8. Class diagram • Captures the logical structure of the system: the classes and things that make up the model. • It is a static model, describing what exists and what attributes and behavior it has, rather than how something is done. • Usage: – to illustrate relationships between Classes and Interfaces. • Generalizations, Aggregations and Associations are all valuable in reflecting inheritance, composition or usage, and connections, respectively. Ondřej Přibyl L 6 -7: UML introduction page 60

Telematics systems and their design Faculty of Transportation Sciences, CTU 8. Class diagram -

Telematics systems and their design Faculty of Transportation Sciences, CTU 8. Class diagram - Class • Class is a construct that is used as a blueprint to create objects of that class (instances). • A class usually represents a noun, such as a person, place or (possibly quite abstract) thing • This blueprint describes the state and behavior that the objects of the class all share: – Attributes (properties) and – Methods (behavior) • Terminology – Class • Employee (ID, Name, Dept) – Instance of a class • (25, Peter, Accounting) Ondřej Přibyl L 6 -7: UML introduction page 61

Telematics systems and their design Faculty of Transportation Sciences, CTU 8. Class diagram -

Telematics systems and their design Faculty of Transportation Sciences, CTU 8. Class diagram - Class • Associations between classes – type of a link between the corresponding objects – Association role - multiplicity describes how many instances correspond to each instance of the other class(es) of the association. Ondřej Přibyl L 6 -7: UML introduction page 62

Faculty of Transportation Sciences, CTU Telematics systems and their design 8. Class diagram -

Faculty of Transportation Sciences, CTU Telematics systems and their design 8. Class diagram - Example -Nouns in a text? -Properties? -Relationships? Ondřej Přibyl L 6 -7: UML introduction page 63

Telematics systems and their design Faculty of Transportation Sciences, CTU 9. Composite structure diagram

Telematics systems and their design Faculty of Transportation Sciences, CTU 9. Composite structure diagram (class assembly diagram) • • Reflects the internal collaboration of Classes, Interfaces or Components (and their Properties) to describe a functionality. Composite Structure diagrams are similar to Class diagrams, except that they model a specific usage of the structure. – Class diagrams model a static view of Class structures, including their attributes and behaviors. – A Composite Structure diagram is used to express run-time architectures, usage patterns and the participating elements' relationships, which might not be reflected by static diagrams. Ondřej Přibyl L 6 -7: UML introduction page 65

Telematics systems and their design Faculty of Transportation Sciences, CTU 9. Composite structure diagram

Telematics systems and their design Faculty of Transportation Sciences, CTU 9. Composite structure diagram - Example • For example - relationship for performing an installation. Ondřej Přibyl L 6 -7: UML introduction page 66

Telematics systems and their design Faculty of Transportation Sciences, CTU 10. Object diagram •

Telematics systems and their design Faculty of Transportation Sciences, CTU 10. Object diagram • Closely related to a Class diagram, with the distinction that it depicts object instances of Classes and their relationships at a point in time. • This might appear similar to a Composite Structure diagram, which also models runtime behavior; the difference is that Object diagrams exemplify the static Class diagrams, whereas Composite Structure diagrams reflect run-time architectures different from their static counterparts. • Object diagrams do not reveal architectures varying from their corresponding Class diagrams, but reflect multiplicity and the roles instantiated Classes could serve. • They are useful in understanding a complex Class diagram, by creating different cases in which the relationships and Classes are applied. • An Object diagram can also be a kind of Communication diagram, which also models the connections between objects, but additionally sequences events along each path. Ondřej Přibyl L 6 -7: UML introduction page 67

Telematics systems and their design Faculty of Transportation Sciences, CTU 10. Object diagram -

Telematics systems and their design Faculty of Transportation Sciences, CTU 10. Object diagram - Example • The following example first shows a simple Class diagram, with two Class elements connected. • The Classes above are instantiated below as Objects in an Object diagram. There are two instances of Computer in this model, which can prove useful for considering the relationships and interactions Classes play in practice, as Objects. Ondřej Přibyl L 6 -7: UML introduction page 68

Telematics systems and their design Faculty of Transportation Sciences, CTU IV. What is organizational

Telematics systems and their design Faculty of Transportation Sciences, CTU IV. What is organizational modeling? • a view of an system that emphasizes the organization of the objects. IV. Organization (Structure) 11. Package 12. Component 13. Deployment Ondřej Přibyl L 6 -7: UML introduction page 69

Telematics systems and their design Faculty of Transportation Sciences, CTU 11. Package diagram Package

Telematics systems and their design Faculty of Transportation Sciences, CTU 11. Package diagram Package is a general purpose mechanism for organizing model elements & diagrams into groups. • Depict the organization of model elements into packages and the dependencies amongst them, including package imports and package extensions. • Package diagrams can use packages containing use cases to illustrate the functionality of a software system. Ondřej Přibyl L 6 -7: UML introduction page 70

Telematics systems and their design Faculty of Transportation Sciences, CTU 12. Component diagram -

Telematics systems and their design Faculty of Transportation Sciences, CTU 12. Component diagram - Definition • Component – Modular unit with well defined interfaces – Defines its behavior in terms of provided and required interfaces. – Serves as a type, whose conformance is defined by these provided and required interfaces (encompassing both their static as well as dynamic semantics). • Component diagram – Illustrates the pieces of software, embedded controllers and such that make up a system, and their organization and dependencies. – Has a higher level of abstraction than a Class diagram; usually a component is implemented by one or more Classes (or Objects) at runtime. Ondřej Přibyl L 6 -7: UML introduction page 71

Telematics systems and their design Faculty of Transportation Sciences, CTU 12. Component diagram -

Telematics systems and their design Faculty of Transportation Sciences, CTU 12. Component diagram - Example • • Assembly connectors – connect the provided interfaces supplied by Product and Customer to the required interfaces specified by Order. Dependency relationship – maps a customer's associated account details to the required interface Payment, indicated by Order. Ondřej Přibyl L 6 -7: UML introduction page 72

Telematics systems and their design Faculty of Transportation Sciences, CTU 13. Deployment diagram •

Telematics systems and their design Faculty of Transportation Sciences, CTU 13. Deployment diagram • Shows how and where the system is to be deployed - its execution architecture. • Hardware devices, processors and software execution environments (system Artifacts) are reflected as Nodes, and the internal construction can be depicted by embedding or nesting Nodes. • Artifact is a specification of a physical piece of information • Examples: model files, source files, scripts, a table in a database system, a word-processing document, a mail message • Other UML elements (classes, components) are first manifested into artifacts and instances of these artifacts are then deployed. • Deployment relationships indicate the deployment of Artifacts, and Manifest relationships reveal the physical implementation of components. • As Artifacts are allocated to Nodes to model the system's deployment, the allocation is guided by the use of deployment specifications. Ondřej Přibyl L 6 -7: UML introduction page 73

Telematics systems and their design Faculty of Transportation Sciences, CTU Deployment diagram Ondřej Přibyl

Telematics systems and their design Faculty of Transportation Sciences, CTU Deployment diagram Ondřej Přibyl L 6 -7: UML introduction page 74

Telematics systems and their design Faculty of Transportation Sciences, CTU 13. Deployment diagram -

Telematics systems and their design Faculty of Transportation Sciences, CTU 13. Deployment diagram - Example Ondřej Přibyl L 6 -7: UML introduction page 75

Best practices: How to apply UML? http: //www. magicdraw. com/files/whitepapers/Best_Practices_for _Applying_UML_Part 1. pdf Ondřej

Best practices: How to apply UML? http: //www. magicdraw. com/files/whitepapers/Best_Practices_for _Applying_UML_Part 1. pdf Ondřej Přibyl L 6 -7: UML introduction page 76

Telematics systems and their design Faculty of Transportation Sciences, CTU Best Practice #1: Apply

Telematics systems and their design Faculty of Transportation Sciences, CTU Best Practice #1: Apply a subset of UML relevant to your role 80%– 20% rule: 80% of the users apply only 20% of the features Ondřej Přibyl L 6 -7: UML introduction page 77

Telematics systems and their design Faculty of Transportation Sciences, CTU Best Practice #2: Focus

Telematics systems and their design Faculty of Transportation Sciences, CTU Best Practice #2: Focus on the Most Valuable Modeling Artifacts Knowing what gives value to your role, you also need to know what modeling artifacts have long-term value and need to be maintained. Ondřej Přibyl L 6 -7: UML introduction page 78

Telematics systems and their design Faculty of Transportation Sciences, CTU Best Practice #3: Choose

Telematics systems and their design Faculty of Transportation Sciences, CTU Best Practice #3: Choose Appropriate Level of Detail • A common technique is to show a diagram without details of elements but showing the most important relationships between them. Then you can have additional diagrams that focus on the details of specific element. • Do not model irrelevant details, such as: – Implementation-specific properties; – Private class methods and attributes; – Conventional methods, e. g. to. String() in Java; – Elements that can be generated automatically; – Show only the most important associations. Ondřej Přibyl L 6 -7: UML introduction page 79

Telematics systems and their design Faculty of Transportation Sciences, CTU Best Practice #4: Less

Telematics systems and their design Faculty of Transportation Sciences, CTU Best Practice #4: Less is more… http: //geertbellekens. wordpress. com/2012/02/21/uml-best-practice-5 -rules-for-better-uml-diagrams/ Ondřej Přibyl L 6 -7: UML introduction page 80

Telematics systems and their design Faculty of Transportation Sciences, CTU Best Practice #5: Model

Telematics systems and their design Faculty of Transportation Sciences, CTU Best Practice #5: Model with Style is the way you put together things, not the things themselves. • Adhering to common modeling style makes diagrams easier to read and understand facilitates teamwork in modeling • Modeling styles includes: – Naming conventions; – Layout conventions; – Choosing appropriate diagrams; – Modeling & design principles. – no crossings – orthogonality Ondřej Přibyl L 6 -7: UML introduction page 81

Telematics systems and their design Faculty of Transportation Sciences, CTU Best Practice #5: Model

Telematics systems and their design Faculty of Transportation Sciences, CTU Best Practice #5: Model with Style (negative Example) • Different element sizes are used; • Diagram is not symmetric; • Long, bent, and crossing lines; • Horizontal ungrouped generalization links; • Unevenly distributed space. Ondřej Přibyl L 6 -7: UML introduction page 82

Telematics systems and their design Faculty of Transportation Sciences, CTU Sources online • •

Telematics systems and their design Faculty of Transportation Sciences, CTU Sources online • • • Google !!! http: //en. wikipedia. org/wiki/Unified_Modeling_Language http: //www. roseindia. net/programming-tutorial/UML-Tutorials http: //www. csci. csusb. edu/dick/samples/uml. html http: //www. objectsbydesign. com/projects/python_example. ht ml Ondřej Přibyl L 6 -7: UML introduction page 83

Thank you for your attention Ondřej Přibyl L 6 -7: UML introduction page 84

Thank you for your attention Ondřej Přibyl L 6 -7: UML introduction page 84