Begreppsmodellering i UML

Relevanta dokument
Begreppsmodellering i UML

Begreppsmodellering och Matematik

Inkapsling (encapsulation)

Objektorientering. Grunderna i OO

UML 1(5) Introduktion till Unified Modeling Language. 1 Bakgrund och historik

Introduktion. Byggstenar TDBA

TDP005. Föreläsning 3 - UML. Filip Strömbäck

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

Objektorienterad analys och design

UML: Exempel. Ett modelleringsspråk. UML: Ansvar. UML: tre huvudanvändningar. Exempel: En klass position storlek. UML Unified Modelling Language

Objektorienterad programmering. Grundläggande begrepp

Begreppsmodellering och Matematik

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur

Objektorienterad programmering, allmänt

Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt. Vilka egenskaper vill vi att våra program ska ha?

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

729G75: Programmering och algoritmiskt tänkande. Tema 3, föreläsning 2

Nationell informationsstruktur 2015:1 Bilaga 1: Läsanvisning till modellerna

Översikt. Introduktion. Objektorienterad programutveckling UML UML. Analys Design. Klassdiagram Aktivitetsdiagram

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 2 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Konceptuell modellering. Formalisering, automatisering och effektivisering

Objektorientering Klasser

Objektorientering Användning

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

Objekt-orienterad programmering. Klassbegreppet och C++ UML. UMLs fördelar

Översikt. Introduktion. Objektorienterad programutveckling UML UML. Analys Design. Klassdiagram Aktivitetsdiagram

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur

Objektorienterad analys och design

TDP005 Projekt: objektorienterade system

Mer OOP. Variation i typ. Medlen repetition. Generiska klasser. Gränssnitt - Interface. Mer om klasser Några exempel UML

Nationell informationsstruktur 2015:2. Bilaga 1: Läsanvisning till modellerna

Föreläsning 2. Objektorienterad analys och design. Analys: att modellera världen. Design: att strukturera program.

Likhetstecknets innebörd

Likhetstecknets innebörd

Imperativ programmering. Föreläsning 4

Företagsmodellering i UML

UML. Tomas Czarnecki Institutionen för Informationsbehandling Åbo Akademi,FIN Åbo, Finland url:

UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer.

Objektorienterad konstruktion

UML. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

Arbetsområde: Från pinnar till tal

Objektorienterad Systemutveckling 1 (7,5 hp)

Så här använder du begreppsdiagram i termbanken

729G75: Programmering och algoritmiskt tänkande. Tema 3, föreläsning 2

Föreläsning 8 - del 2: Objektorienterad programmering - avancerat

Programmering i C++ EDA623 Objektorienterad programutveckling. EDA623 (Föreläsning 5) HT / 33

Objektorienterad metodik. Programutvecklingsmetodik. Objektmodellen. Varje objekt har en unik identitet

Programutvecklingsmetodik

Taluppfattning och allsidiga räknefärdigheter

Nationell Informationsstruktur 2015:1. Bilaga 7: Arkitektur och metodbeskrivning

Objektorienterad analys och design

Lokal pedagogisk planering

(Data)Modellering. nikos dimitrakas rum 2423

1. Skriv = eller i den tomma rutan, så att det stämmer. Motivera ditt val av tecken.

Kunskapsmångfalder ULM Metadata Edutella och den Semantiska Webben

K L Ä M. Klassificeringsmodell för inlärningssvårigheter i matematik

Arkitektur och metodbeskrivning. Nationell informationsstruktur

Föreläsning 15: Repetition DVGA02

Den skolan som jag arbetar vid framhåller inkludering som ledord.

Databasdesign. E-R-modellen

En parallellogram har delats i två delar P och Q som figuren visar. Vilket av följande påståenden är säkert sant?

Utformning av resultatdiskussion

Analys och design. Objekt. Klass. med hjälp av CRC. Klassdiagram

Lärarhandledning Sortering

Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo

Kursplan för Matematik

Dokumentera och följa upp

Objektorienterad programmering

Introduktion till UMLs klassdiagram

Fördjupningsseminarie om den nationella informationsstrukturen NI 2015:1

Unified Modeling Language UML

Addition och subtraktion generalisering

HT1 2013, FÖRELÄSNING 14 (INFÖR TENTAN)

Digitala verktyg i matematik- och fysikundervisningen ett medel för lärande möten

Översikt. Programmering tillämpningar och datastrukturer. Vad kursen täcker. Lärare. Rekommenderad litteratur. Kursmål 729G58 (HKGBB7)

Objektorienterad Programmering DAT043. Föreläsning 10 13/2-18 Moa Johansson (delvis baserat på Fredrik Lindblads material)

Föreläsning 1. Introduktion. Vad är en algoritm?

7, Diskreta strukturer

Välkomna till Jämföra, sortera tillsammans reflektera!

Information. Computer

formulera och lösa problem med hjälp av matematik samt värdera valda strategier och metoder,

Jag tror att alla lärare introducerar bråk

UML och processmodellering i hälso- och sjukvård

Här är två korta exempel på situationer då vi tillämpar den distributiva lagen:

Undervisningen i ämnet matematik ska ge eleverna förutsättningar att utveckla följande:

Modellering av Dynamiska system Bengt Carlsson Rum 2211

Objektorienterad programmering

Skolverkets förslag till kursplan i matematik i grundskolan. Matematik

Teoridel (svaren direkt på lydelsen)

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 2 Erik Nilsson, Institutionen för Datavetenskap, LiU

Enhet / skola: Lindens skola i Lanna Åk: 1

SYSTEMUTVECKLING METODER & MODELLER. Suzana Ramadani

OCTOPUS utvecklingsmetod samt relaterade frågeställningar och diagram

Programmering B med Visual C

Mona Røsseland Författare till Pixel. Vad innebär den nya läroplanen? Hur möter ni den nya utmaningen med Pixel

Modelica. Traditionella simuleringsverktyg. Ny generell fysikalisk modellering. Generella program. Specialiserade program

Arv. Objektorienterad och komponentbaserad programmering

Objektorienterad programmering Föreläsning 4

Transkript:

Begreppsmodellering i UML En kort-kort introduktion av Ambjörn Naeve http://kmr.nada.kth.se

Begreppsbildning Syfte: Begreppsbildning syftar till att hjälpa oss att bortse från oväsentligheter genom att bygga upp idealiserade strukturer som fokuserar på det väsentliga. Exempel: Effektivitet: Punkt, Linje, Plan,.. inom geometrin. Effektiva begrepp bortser från det mesta så att det märks så lite som möjligt. Styrkan i tänkandet ligger i att veta vad man inte ska tänka på.

Begreppsmodellering Def: En beskrivning av de viktigaste begreppen och deras inbördes relationer inom ett visst område kallas en begreppsmodell över området. För att begreppsmodellera ett område på ett effektivt sätt måste man kunna reducera dess komplexitet. Fyra viktiga vapen vid komplexitetsreducering är: Abstraktion bortseende Hierarki upplösning Inkapsling gränssnitt Modularitet uppdelning

Två olika begreppsmodeller av ett område P Adam Bertil kalibreringsprocess Adams bild av P Bertils bild av P

Begreppet begrepp Def: Def: Def: Ett begrepp är en representation av något som vi har upplevt eller kan föreställa oss, och som vi kan tillämpa på objekten i vårt medvetande. Mängden av objekt som tillhör ett begrepp kallas för begreppets extension = exemplifieringar = instanser. Att identifiera ett begrepp genom att iaktta likheter och särskiljande egenskaper hos en grupp av objekt kallas för att klassificera objekten.

Begreppet begrepp (forts.) Def: Ett begrepps definition anger dess intention, dvs vilka egenskaper det vill uttrycka respektive avgränsa i förhållande till omgivningen. Def: Vi säger att ett begrepp kan tillämpas på ett visst föremål (= objekt = instans) om föremålet uppfyller begreppets intention, dvs villkoren i dess definition.

Egenskaper hos begreppet begrepp Ett begrepp måste alltid definieras med hjälp av andra begrepp. Ett begrepp kan betecknas av ett eller flera olika namn (= symboler). Ett begrepp är alltid idealiserat, dvs det innehåller förenklingar som lyfter fram vissa saker och utelämnar andra. Definitionen av ett begrepp är alltid beroende av i vilket sammanhang begreppet ska användas. Det gäller hela tiden att bortse från det som är oväsentligt och fokusera på det väsentliga.

Att symbolisera begrepp Def: Exempel: Två symboler kallas synonyma om de betecknar samma begrepp. Kund och klient kan beteckna samma begrepp i en modell av ett affärssystem. Def: Exempel: Två begrepp kallas homonyma om de kan betecknas av samma symbol. Negation och subtraktion betecknas inom matematiken båda av symbolen minus (-).

Att symbolisera relationer mellan begrepp Unified Language Modeling det där det där Specialisering av Exempel på det där Helhet för det här Del av det där det där Typ för Generalisering av det där

Unified Language Modeling är en sorts :Bil en sorts är en en Fordon sorts speciellt Bil har ett är en del av en :Hjul är ett ett del av Hjul har

UML - ett världsspråk för modellering UML (= Unified Modeling Language) är ett bildspråk för att specificera, visualisera och dokumentera begreppsmodeller inom olika områden. UML utvecklades under åren 1993-1997 inom den objektorienterade mjukvaruindustrin som ett försök att förena de c:a 250 olika begreppsmodelleringsspråk som var i bruk vid mitten av 1990-talet. UML representerar en samling av praktiskt utprovade modelleringstekniker som har visat sig framgångsrika vid beskrivning av stora och komplexa system.

UML- ett bildspråk för begreppsrelationer-1 UML-diagram är ett bildspråk där man kan rita upp begreppen och deras relationer i olika typer av diagram. Avsikten är att synliggöra hur man tänker inom ett visst begreppsområde. Orden förgår - bilderna består!

UML - ett bildspråk för begreppsrelationer-2 Diagram skapar överblick och ger en helhetsbild. Man får en synlig bakgrund mot vilken man kan diskutera där det klart framgår hur man hittills har tänkt. Detta: underlättar vidareutveckling av begreppsmodellen. ökar möjligheterna att kalibrera begreppen och uppnå konsensus (= samsyn) på vilka aspekter som är viktiga i sammanhanget.

Typ och klass - två synonymer för begrepp Def: Det begrepp vars extension är en mängd av instanser och vars intention beskriver deras gemensamma struktur betecknas inom datalogin med instansernas typ eller klass. Klassificering av bilar uttryckt i UML: enbil Instans <<ären>> Namngiven Klassifikationspil Bil Typ (eller klass)

Egenskaper och operationer för ett begrepp Def: De statiska kännetecken som hör till ett begrepp kallas dess egenskaper (= attribut). UML-exempel: Penna färg enpenna färg = röd Def: De dynamiska kännetecken som hör till ett begrepp kallas dess operationer. UML-exempel: Penna färg skriv enpenna.skriv( )

Gen/Spec - en typ av begreppsrelation Olika begrepp kan ha gemensamma egenskaper och operationer. Exempel: Bil förare ägare hjul navigera åk Båt förare ägare köl navigera åk Flygplan förare ägare vingar navigera åk Dessa begrepp kan då betraktas som specialiseringar av ett generaliserat begrepp.

Gen/Spec (forts.) Generaliserat begrepp: Fordon förare ägare navigera Specialiserade begrepp: Bil hjul Båt köl Flygplan vingar åk åk åk

Gen/Spec (forts.) enbil ärensorts Fordon Fordon <<ärensorts>> enbil <<ären>> Bil <<Sorts>>

Aggregation - en typ av begreppsrelation enbil Bil 1 enmotor 1 Motor 4 Hjul ahjul bhjul chjul dhjul En aggregation är en typ av assocation som uttrycker en helhet-del relation mellan motsvarande instanser.

Association - en typ av begreppsrelation Exempel: Fordon association 0..1 ägarskap 1 egendom äger ägare ägs av Person <<ärensorts>> <<ärensorts>> <<ären>> <<ären>> enbåt länk pelle enbil länk anna En länk är en instans av en association. En association mellan två begrepp beskriver begränsningar i länkstrukturen mellan instanser av motsvarande begrepp.

Länk-begränsningar uttrycks genom multiplicitet Fordon 0..2 ägarskap 1 egendom ägare Person <<ärensorts>> <<ärensorts>> <<ären>> <<ären>> enbåt pelle enbil anna Tolkning: Varje instans av typ Fordon är länkat till exakt 1 instans av typ Person. Varje instans av typ Person är länkat till 0, 1, eller 2 instanser av typ Fordon.

IT Sverige ur ett tillgänglighetsperspektiv Organ Sverige EU Utbildnings Riksdag Regering eeurope Verkställande Sanktionerande Myndighet Surf View Info Intressent Granskande Tillsyns Ansvarig Forsknings Kravställande Kommersiell Ideell

Myndigheter och intressenter Standardarbete Surf Myndighet CID Intressent View Info Tillsyns Ansvarig Forsknings Kommersiell SIH TPB Skolverket Ideell Kommun HI AMS HandikappOrganisation Kommunförbundet Handikapp.se Folkrörelse Språka loss FMLS

Internationellt standardiseringsarbete Standard Konsortium... Språk Teknisk Internationellt UML SMIL-1 DAISY W3C Open E-book WAI Microsoft Reader

Strukturen hos en matematisk teori Matematisk Teori * uppfyller gäller för * Modell * Definition 2..* Påstående {härlett påstående} Teorem {grundläggande påstående} Axiom {logiskt resonemang som grundar sig på axiomen} 1 1..* Bevis Postulat <<synonym>>

Dynamisk modellering - Aktivitetsdiagram en modell av hur vi använder mentala modeller Bakgrund Förgrund minska uppmärksamheten nej förändra modellen ja diff registrera sinnesintrycken kontrollera modellförväntningarna registrera sinnesintrycken kontrollera modellförväntningarna nej diff ja öka uppmärksamheten

Object model and dynamic model

Extracting the skeleton of an object model

Elimination criteria

Analysis - Design - Implementation

Constructing a state diagram - 1

Constructing a state diagram - 2

Implementing a dynamic model