05 ai uml_illik_students_part_1_eng
Upcoming SlideShare
Loading in...5
×
 

05 ai uml_illik_students_part_1_eng

on

  • 1,437 views

This is part 1 (of 3 parts UML introduction) in English verions. All three parts are available in English an

This is part 1 (of 3 parts UML introduction) in English verions. All three parts are available in English an

Statistics

Views

Total Views
1,437
Views on SlideShare
1,436
Embed Views
1

Actions

Likes
1
Downloads
53
Comments
0

1 Embed 1

http://bb.haw-aw.de 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

05 ai uml_illik_students_part_1_eng 05 ai uml_illik_students_part_1_eng Presentation Transcript

  • Wissen macht ambitionierte Geschäftsziele erreichbar. Wir liefern Wissen und schaffen Werte. UML 2.x Weltweit. Knowledge enables your business ambitions. We deliver knowledge and create value. Worldwide. Part 1 Einführung / Introduction J. Anton Illik Ambit 1. 1
  • UML intro & overview Schedule ! Session 1 ! Session 7 www.ambit.de ! Introduction, Diagram types ! Case Study ! Session 2 Use-Case-Diagram ! Basics, 1. Class Diagram ! Session 8 ! Session 3 ! 8. Activity Diagram, ! Case Study 9. Finite State Machine Diagram Class Diagram 10. Sequence Diagram ! Session 4 ! Session 9 ! 2. Package Diagram, ! Case Study ! 3. Object Diagram, ! Finite State Machine Diagram, ! 4. Composite Structure Diagram ! Activity Diagram ! Session 5 ! Session 10 ! Case Study ! 11.Communication Diagram, Object Diagram, ! 12. Timing Diagram, Deployment Diagram ! 13. Interaction Overview Diagram ! Session 6 ! 5. Component Diagram, 6. Deployment Diagram, 7. Use-Case-Diagram 2 www.ambit.de Attention: Sequence may change
  • www.ambit.de Organization ! Working techniques of the seminar ! Dialogue and presentation ! Solving exercises ! Work out case studies ! Rework with literature ! Questions and helpful suggestions are desired at all times !!! 3 www.ambit.de
  • www.ambit.de UML Contents 1. UML in general 2. UML diagrams overview 3. UML diagrams in detail 4 www.ambit.de
  • Chapter 1 www.ambit.de 1 UML in general Chapter 1 5 www.ambit.de
  • Chapter 1 www.ambit.de 1 UML in general 1.1 What does UML mean 1.2 Development of UML 1.3 UML terms 1.4 Overview diagram types 6 www.ambit.de
  • www.ambit.de Chapter 1 1. What does UML mean • Language for analysis, specification, visualization, construction and documentation of models for software systems. • Delivers notation elements for static and dynamic models -> Structure Diagrams -> Behaviour Diagrams • Supports object-oriented procedure 7 www.ambit.de
  • www.ambit.de Chapter 1 2. Development of UML Unified Modelling Language 2.0 User experiences UML2 Partners 2005 Unified Modelling Language 1.5 UML Partners 2003 Unified Modelling Language 1.4 Object Management Group UML Partners adopts Copyright 2001 Unified Modelling Language 1.3 XML Metadata Interchange * UML Partners 1999 Unified Modelling Language 1.2 UML Partners 1998 Unified Modelling Language 1.1 Integration of Object UML Partners Constraint Language ** 1997 Unified Modelling Language 1.0 Working experience of UML Partners language creator 1996 Unified Modelling Language 0.9 1995 Booch, Rumbaugh,Jacobson OMT OOD OOSE Rumbaught 1991 Booch 1992 Jacobson 1992 8 www.ambit.de
  • Chapter 1 www.ambit.de 3. UML terms English German English German action Aktion component Komponente activity Aktivität component diagram Komponenten- Diagramm activity diagram Aktivitätsdiagramm composition Komposition actor Akteur, Aktor constraint Einschränkung aggregation Aggregation, Teile/ CRC-Card CRC-Karte, Ganzes-Beziehung Klassenkarte association Assoziation decision Entscheidung (ungerichtet) association class Assoziationsklasse dependency Abhängigkeit association role Assoziationsrolle deployment diagram Verteilungs- diagramm 9 www.ambit.de
  • Chapter 1 www.ambit.de 3. UML terms English German English German attribute Attribut discriminator Diskriminator, Unterscheidungs -Merkmal behavior diagram Verhaltens- event Ereignis Diagramm bidirectional Bidirektionale focus of control Steuerungsfokus association Assoziation bound element Gebundenes generalization Generalisierung Element cardinality Kardialität Instance Exemplar class Klasse interaction Interaktions- diagram diagramm class diagram Klassendiagramm interface Schnittstelle collaboration Kollaborations- diagram Diagramm 10 www.ambit.de
  • Chapter 1 www.ambit.de 3. UML terms English German English German lifeline Lebenslinie pattern Muster link Objektbeziehung problem domain Problembereich message Nachricht property Eigenschaft method Methode property string Eigenschaftswert multiplicity Multiplizität refinement Verfeinerung navigability Navigierbarkeit relationship Beziehung node Knoten scenario Szenario object Objekt sequence diagram Sequenz- diagramm object diagram Objektdiagramm state Zustand operation Operation statechart diagram Zustands- Diagramm package Paket stereotype Stereotyp * parameterized Parametrisierte Klasse class 11 www.ambit.de
  • Chapter 1 www.ambit.de 3. UML terms English German subclass Unterklasse superclass Oberklasse swimlane Verantwortlichkeitsbereich, Schwimmbahn transition Transition, Übergang template class Parametrieserbare Klasse type Typ UML (die) UML undirecitional associaton Gerichtete Assoziation use case Anwendungsfall use case diagram Anwendungsfalldiagramm 12 www.ambit.de
  • www.ambit.de Chapter 1 4. Diagram types in UML 2.0 Structure diagrams Behaviour diagrams -static -dynamic- class diagram use-case-diagram interaction diagrams package diagram activity diagram sequence diagram object diagram communication diagram state machine composition structure timing diagram diagram Interaction diagram component diagram deployment diagram 13 www.ambit.de
  • www.ambit.de UML content 1. UML in general 2. UML diagrams overview 3. UML diagrams in detail 14 www.ambit.de
  • www.ambit.de Chapter 2 2 UML-Overview Chapter 2 15 www.ambit.de
  • www.ambit.de Chapter 2 2 Diagrams of UML and application 2.1 Class Diagram (Klassendiagramm) 2.2 Package Diagram (Paketdiagramm) 2.3 Object Diagram (Objektdiagramm) 2.4 Composite Structure Diagram (Kompositionosstrukturdiagramm) 2.5 Component Diagram (Komponentendiagramm) 2.6 Deployment Diagram (Verteilungsdiagramm) 2.7 Use Case Diagram (Use Case Diagramm) 2.8 Activity Diagram (Aktivitätsdiagramm) 2.9 Finite State Machine Diagram (Zustandsdiagramm) 2.10 Sequence Diagram (Sequenzdiagramm) 2.11 Communication Diagramm (Kommunikationsdiagramm) 2.12 Timing Diagram (Timingdiagramm) 2.13 Interaction Overview Dg. (Interaktionsübersichtsdiagramm) 16 www.ambit.de
  • www.ambit.de Chapter 2 First Diagram Type Structure Modelling [Strukturmodellierung] 17 www.ambit.de [Rupp et.a] S. 225-236
  • www.ambit.de Chapter 2 1. Class Diagram (Klassendiagramm) Main question in diagram: How is my system structured? (Which classes form my system?) What are the class relations? (How do classes interact?) [Wie sind die Daten und das Verhalten meines Systems im Detail strukturiert?] Advantages: • Describes static structure of systems the user has to analyse or to design. • Contains all relevant strucural relations and data types. • Links to all dynamic diagrams. 18 www.ambit.de [Rupp et.a] S. 93-164
  • www.ambit.de Chapter 2 2. Package Diagram (Paketdiagramm) Main question in diagram: What is the best way to cut the model and not to loose overview. [Wie kann ich mein Modell so darstellen, dass ich den Überblick behalte?] Advantages: • Organises the system model in bigger units by logical combining of model elements. • Modelling of dependencies. 19 www.ambit.de [Rupp et.a] S. 165-178
  • www.ambit.de Chapter 2 3. Object Diagram (Objektdiagramm) Main question in diagram: What is the inner structure of the system at a determined point of time during runtime. [Wie sieht ein Schnappschuß meines Systems zur Auführungszeit aus (an einer bestimmten Stelle)?] Advantages: • Shows objects and attribute assignment at a determined point of time. • Used only in examples of demonstrations. • Detail level like in class diagrams. • Excellent presentation of quantity relations. 20 www.ambit.de [Rupp et.a] S. 179-190
  • www.ambit.de Chapter 2 4. Composite structure diagram (Kompositionsstrukturdiagramm) Main question in diagram: Inner life of al class, a component or single system unit. [Wie sind die einzelnen Strukturkomponenten strukturiert und mit welchen Rollen spielen Sie dabei zusammen?] Advantages: • Ideal for top-down-modelling of systems. • Midrange detail level, shows parts of a complete unit and inner quantity relations. 21 www.ambit.de [Rupp et.a] S. 191-212
  • www.ambit.de Chapter 2 5. Component Diagram (Komponentendiagramm) Main question in diagram: How to summarize classes in applicable /re-useable, administrable (easy to handle) components and how are they related? [Wie ist mein System strukturiert und wie werden diese Strukturen erzeugt?] Advantages: • Shows oransiation and dependencies of individual technical system components. • Modelling of available and required interfaces possible. 22 www.ambit.de [Rupp et.a] S. 213-224
  • www.ambit.de Chapter 2 6. Deployment Diagram (Verteilungsdiagramm) Main question in diagram: System environment in use (hardware, server, databases…) How are components distributed during runtime? [Wie werden die Artefakte des Systems zur Laufzeit wohin verteilt?] Advantages: • Shows runtime periphery of system with available systemparts (in most cases: hardware) • High abstraction level, almost no notation elements. 23 www.ambit.de [Rupp et.a] S. 225-236
  • www.ambit.de Chapter 2 Second Diagram Type Behaviour Modelling [Verhaltensmodellierung] 24 www.ambit.de [Rupp et.a] S. 225-236
  • www.ambit.de Chapter 2 7. Use-Case-Diagram (Use Case Diagramm) Main question in diagram: What is the solution / application idea of my planned system? (neighbour systems, stakeholder). Sort of environment diagram. [Was soll mein geplantes System eigenlich leisten?] Advantages: • presents views from outside at a system. • useful for classification of different contexts. • high abstraction level, simple notation tools. 25 www.ambit.de [Rupp et.a] S. 239-264
  • www.ambit.de Chapter 2 8. Activity Diagram (Aktivitätsdiagramm) Main question in diagram: How operates one particular streamoriented process algorithm or a business transaction? Modelling sequence of activities.[Wie realisiert mein System ein bestimmtes Verhalten?] Advantages: • High-level visualization of processes with conditions, loops and branches. • parallelization and synchronization possible 26 www.ambit.de [Rupp et.a] S. 265-334
  • www.ambit.de Chapter 2 9. Finite State Machine (Zustandsautomat) Main question in diagram: Possible states of objects, interfaces, use-cases,… in different processes. [Wie verhält sich das System in einem bestimmten Zeitpunktbei gewissen Ereignissen?] Advantages: • Precise image of state model with states, events, parallel processes, conditions, in/off actions. • Nesting possible. 27 www.ambit.de [Rupp et.a] S. 335-403
  • www.ambit.de Chapter 2 10. Sequence Diagram (Sequenzdiagramm) Main question in diagram: How do processes/partners exchange information? [Wie läuft die Kommunikation in meinem System ab?] Advantages: • Displays process of information exchange in time between communication partners. • Nesting and flow management (conditions, loops, branches) possible. 28 www.ambit.de [Rupp et.a] S. 407-485
  • www.ambit.de Chapter 2 11. Communication Diagramm (Kommunikationsdiagramm) Main question in diagram: Interaction and communication in the system. Who is working together? [Welche Teile einer komplexen Struktur arbeiten wie zusammen, um eine bestimmte Funktion zu erfüllen?] Advantages: • Displays information exchange between communication partners • Overview has top priority (details and chronology are less important). 29 www.ambit.de [Rupp et.a] S. 487-498
  • www.ambit.de Chapter 2 12. Timing Diagram (Timingdiagramm) Main question in diagram: State of different interaction partners at different points of time. [Wann befinden sich verschiedene Interaktionspartner in welchem Zustand?] Advantages: • Visualizes the exact chronological behaviour of classes, interfaces…. • Applicable for detail discussion/monitoring, with top priority on the exact point of time for events to happen 30 www.ambit.de [Rupp et.a] S. 499-514
  • www.ambit.de Chapter 2 13. Interaction Overview Diagram (Interaktionsübersichtsdiagramm) Main question in diagram: Under what conditions in which sequence and when is interaction processed? [In welcher Reihenfolge und unter welchen Bedingungen finden Interaktionen statt?] Advantages: • Connects interaction diagrams (sequence-, communication – and timing programs on top level.) • High abstraction level. • Applicable for structuring interaction diagrams. 31 www.ambit.de [Rupp et.a] S. 515-524
  • www.ambit.de Chapter 2 Finished! (Geschafft!) 32 www.ambit.de
  • www.ambit.de Chapter 2 What we have sketched Structure diagrams Behaviour diagrams -static- -dynamic- class diagram use-case-diagram interaction diagrams package diagram activity diagram sequence diagram object diagram communication diagram state machine composition structure timing diagram diagram Interaction diagram component diagram deployment diagram 33 www.ambit.de
  • www.ambit.de Chapter 2 What is your opinion / experience.. Are all diagram types used extensively? Which diagrams do you use? Class diagrams, -> overview, pragmatic reasons Sequence diagrams, Use case diagrams Activity diagrams … … 34 www.ambit.de
  • www.ambit.de UML contents 1. UML in general 2. UML diagrams overview 3. UML diagrams in detail 35 www.ambit.de
  • www.ambit.de Chapter 3 3 UML Diagrams in detail Chapter 3 36 www.ambit.de
  • www.ambit.de Chapter 3 3 UML Diagrams in detail 3.1 Class Diagram (Klassendiagramm) 3.2 Package Diagram (Paketdiagramm) 3.3 Object Diagram (Objektdiagramm) 3.4 Composite Structure Diagram (Kompositionosstrukturdiagramm) 3.5 Component Diagram (Komponentendiagramm) 3.6 Deployment Diagram (Verteilungsdiagramm) 3.7 Use Case Diagram (Use Case Diagramm) 3.8 Activity Diagram (Aktivitätsdiagramm) 3.9 Finite State Machine Diagram (Zustandsdiagramm) 3.10 Sequence Diagram (Sequenzdiagramm) 3.11 Communication Diagramm (Kommunikationsdiagramm) 3.12 Timing Diagram (Timingdiagramm) 3.13 Interaction Overview Dg. (Interaktionsübersichtsdiagramm) 37 www.ambit.de
  • www.ambit.de Chapter 3 Third Diagram Type Structure Modelling [Strukturmodellierung] 38 www.ambit.de [Rupp et.a] S. 225-236
  • www.ambit.de Chapter 3 1. Class Diagram (Klassendiagramm) Class diagrams show attributes and methods as well as relations between classes. While displaying classes, different detail levels can be chosen. For example: • Classes (only names) • Classes with attributes • Classes with attributes and methods/operations • Classes can have diverse relations between each other 39 www.ambit.de
  • www.ambit.de Chapter 3 1. Class Diagram (Klassendiagramm) • Notation elements – class – application relations – attribute – abstraction relationship – operation – realization relationship – interface – substitution relationship – template class – information flow – generalization – information unit – generalization quantity – association – association class – dependency relationship 40 www.ambit.de
  • www.ambit.de Chapter 3 1. class diagram – classes class <<Stereotype>> normal Operation () package: class class abstract Operation()/ {features} derivedOperation classOperation() Attribute: Type = Initial Value +publicOperation() {promise} #protectedOperation abstract class operation{Arg.list}:returntype -privateOperation ~package („friendly“) {promise} i: Element class <<metaclass>> parametrized class normal Attribute class /derived Attribute classAttribute +publicAttribute class <Parameter> #protectedAttribute - private Attribute 41 www.ambit.de
  • www.ambit.de Chapter 3 1. Class diagram – inheritance superclass subclass 3 subclass 1 subclass 2 vehicle D1 diskriminator 2 superclass truck car bike D2 subclass 3 Open car Limosine Van diskriminator 1 D3 BMW Ford VW subclass 1 subclass 2 42 www.ambit.de
  • www.ambit.de Chapter 3 1. Class diagram – associations 0..6 * class class <<Stereotypes>> reference name {promise/Attribute} aggregation whole class class class composition Existence derived part associated class 43 www.ambit.de
  • www.ambit.de Chapter 3 1. Class diagram • See Part1b: „Class diagrams in detail“ 44 www.ambit.de
  • www.ambit.de Chapter 3 1. Class diagram •CaseStudy Klassendiagramme: Modelling a Party 45 www.ambit.de
  • www.ambit.de Chapter 3 1. Class diagram – packages composition composition multiplicity multiplicity part package role part class1 package class2 46 www.ambit.de
  • www.ambit.de Chapter 3 2. Package Diagram (Paketdiagramm) The Package diagram allows to classify the structure of any system and display views in different abstractions on the system. 47 www.ambit.de
  • www.ambit.de Chapter 3 2. Package Diagram (Paketdiagramm) • Notation elements – package – package - importer / element - importer – package - merge 48 www.ambit.de
  • www.ambit.de Chapter 3 2. Package Diagram (Paketdiagramm) <<merge>> General <<merge>> Use-Case classes behavior <<merge>> <<merge>> <<merge>> <<merge>> Composition activities interactions structures <<merge>> <<merge>> state components distribution machine <<merge>> <<merge>> 49 www.ambit.de
  • www.ambit.de Chapter 3 3. Object Diagram (Objektdiagramm) Object diagrams offer the possibility to model instances of classes, components, nodes, associations and attributes. 50 www.ambit.de
  • www.ambit.de Chapter 3 3. Object Diagram (Objektdiagramm) • Notation elements – Instance description / object – State of value/ slots – Link 51 www.ambit.de
  • www.ambit.de Chapter 3 3. Object Diagram (Objektdiagramm) object Attribute name: datatype = value object name: classifier name Classifiername = name of abstract class or base class UML-Classifier = Amount of UML-Elements, that have something in common: Class, Component, Data type, Interface, Node, Signal, Subsystem 52 www.ambit.de
  • www.ambit.de Chapter 3 3. Object Diagram (Objektdiagramm) student employee employment firm matriculation number: String prename: String employee employer name: String Date of birth: Date lecturevisit() examinationwrite() Employment income: money student worker dedicatedProfessor: String 53 www.ambit.de
  • www.ambit.de Chapter 3 4. Composite structure diagram (Kompositionsstrukturdiagramm) The Composite structure diagram allows to describe the inner structure of classes and interactive relations with other parts of the system. 54 www.ambit.de
  • www.ambit.de Chapter 3 4. Composite structure diagram (Kompositionsstrukturdiagramm) • Notation elements – part – connector – port – collaboration – collaboration application 55 www.ambit.de
  • www.ambit.de Chapter 3 4. Composite structure diagram (Kompositionsstrukturdiagramm) Structured class (Classifier) vehicle part driverwindow: 1 driverswitchr: 1 window rocker switch part- or rolename codriverwindowr: 1 codriverswitch: 1 window rocker switch connectors backwindwow: 2 (Connections between parts window similar to associations between classes.) Class name of a part Multiplicity of a part 56 www.ambit.de
  • www.ambit.de Literature Literature Literature 57 www.ambit.de
  • www.ambit.de UML used and continuing Literature • Wolfgang Zuser, Thomas Greching, Monika Köhle: „Software Engineering mit UML und Unified Process“; Pearson Studium, München, 2004 • Chris Rupp, Jürgen Hahn, Stefan Queins, Mario Jeckle, Barbara Zengler: „UML 2 glasklar“; Hanser, München, 2005 • Heide Balzert: „UML 2 kompakt“; Spektrum, Heidelberg, 2005 58 www.ambit.de