UML-tutorial Dansk Selskab for Datalogi 2 marts 2003 16:30 - 19:30 Jan Chr Clausen, Nykredit
UML er … … en notation … en komplet notation … men kun en notation
Jan Chr Clausen Datalog (1984), HD (1982), revisor (1973) Ansættelser DDE (findes ikke mere) DASY (findes ikke mere) Digital (findes ikke mere) Brüel og Rune (findes ikke mere) Selvstændig (1992 - 2003) Nykredit (lever mange år endnu)
Fagligt område Hovedinteresse: systemudvikling Sideinteresser: Objekt-orienteret systemudvikling Forretningsmodellering Kravspecifikation Sideinteresser: Brugergrænseflader Kreativitet Projektledelse
Sig til, hvis du har noget på hjerte Tutorialets form JCC snakker ... … men lader sig (meget) gerne afbryde Materialet ligger på www.katalyse.dk/UML.html her findes også en del relevant links Slut kl 19:30 … eller før eller efter … men inden skal vi have noget at spise! Sig til, hvis du har noget på hjerte
Historie se særskilt præsentation
Status i dag Google: ca 2.290.000 hits Amazon-hits: 1.446 ikke: “Use-Mode-Linux” Amazon-hits: 1.446 Alle lærebøger (næsten) om systemudvikling om programmering om ...
Overblik over UML Diagramtyper Specifikationssprog 4 diagramtyper til modellering af strukturer 5 diagramtyper til modellering af adfærd 3 diagramtyper til at skabe overblik (“managerial”) Specifikationssprog 1 specifikationssprog til tilstande 1 specifikationssprog til handlinger … og en masse begreber
De 9 klassiske diagramtyper - Class Diagram - Object Diagram - Component Diagram - Deployment Diagram. - Use Case Diagram - Sequence Diagram - Activity Diagram - Collaboration Diagram - Statechart Diagram Structural Diagrams Behavior Diagrams
De klassiske typer se særskilt præsentation
Packages Giver overblik over grupper af elementer “A package is a grouping of model elements.”
Subsystems Repræsenterer en implementering “a subsystem represents a behavioral unit in the physical system” (læs: et software-modul)
Models Et kort over de anvendte modeller “A model captures a view of a physical system.”
To specifikationssprog OCL - Object Contraint Language specificerer en tilstand, fx invarianter pre- og postconditions andre afgrænsninger ... både syntaks og semantik beskrevet Action Semantics Extensions specificerer en handling kun semantikken er defineret syntaksen er overladt til lokale implementatører
UML Profiles Delmængder af UML til udvalgte anvendelser software-udvikling forretningsmodellering realtime-systemer … Hver profil kan have yderligere specifikationer egne stereotypes egne afgrænsninger, specificeret i OCL egne symboler
MDA Model Driven Architecture PIM = Platform Independent Model (i UML) PSM = Platform Specific Model (i UML) Developer MDA-enabled tool Target platform PIM Build model Translate Annotations PSM PSM Adjust model PSM’ Compile Execute code
Andre UML-begreber XMI UML Metamodel “XML Metadata Interchange” XML-standard for udveksling af modeller UML Metamodel En UML-model af UML
Hvad med metode? UP = Unified Process RUP = Rational Unified Proces Den generiske model for systemudviklingsprocessen En meget iterativ model Skiller tidsrum fra aktivitet (endelig) RUP = Rational Unified Proces Rationals konkretisering af UP
Hvad kan UML? Meget hype om modellering og UML "Using a model, those responsible for a software development project's success can assure themselves that * business functionality is complete and correct, * end-user needs are met, and * program design supports requirements for - scalability, - robustness, - security, - extendibility, - and other characteristics, before implementation in code renders changes difficult and expensive to make” [OMGs Introduction to UML, JCCs opsætning]
Modellers rolle i systemudvikling Systemudvikleren bruger notationen til at formidle en model til sig selv til andre at fastholde en model det vil sige: dokumentation (egentligt også formidling) Hvorfor formidle en model? For at formidle en tanke, en ide, en ...
Ruteplan De regionale toglinier og S-buslinier i Nordsjælland
Østre Pennehavevej 13 Nuværende bebyggelse Omtrent Nord 2,19 2,05 2,05 5,00 8,25 6,20 4,55 3,18 4,21 4,21 2,56 3,00 1,56 6,29 3,00 11,35 3,97 3,00 5,00 10,00 0,82 1,91 3,71 2,21 2,64 8,35 1,13 1,28 0,72 3,79 1,90 3,29 0,62 2,09 1,04 6,30 11,95
Brugen af modeller Modellering Aflæsning
Over til UML? Mange reaktioner nysgerrighed svært ved at se formålet “det ser vi efterhånden overalt, hvad er det?” svært ved at se formålet “det er jo blot gammel vin på nye flasker” svaret på alting - “the silver bullet” ønsket om standardisering "vi kan jo lige så godt gøre det på samme måde"
Resumé UML er Dækkende Sammenhængende Veldefineret Metodefri men derfor også stor at lære Sammenhængende ét sæt begreber til mange diagrammer Veldefineret men definitionen er for de få Metodefri så man må også have sig en metode Defacto-standard på området så vi må leve med svaghederne
Videre herfra Masser af indgange Nettet Værktøjer Lærebøger Definitioner Tutorials White papers ... Værktøjer Lærebøger Konsulenthuse