Kursens hemsida http://www.informatik.umu.se/~eva Datamodeller C21.2 Kursansvarig: Eva Lindh Övrig lärare: David Modjeska Kursens hemsida http://www.informatik.umu.se/~eva 1 1
Kursens delar Introduktion - modellbegreppet Analys och design av objektorienterad modell Olika typer av modeller - presentation och utvärdering Jämförelse mellan olika modeller - eller försök att skapa en meta modell 3 3
Litteratur Rumbaugh J., Blaha M., Premerlani W., Eddy R., Lorensen W.(1991): Object-oriented modelling and design. Prentice-Hall Inc. Gelernter David (1992): Mirror worlds - OR: the day software puts the universe in a shoebox … how it will happen and what it will mean. Oxford University Press. Artiklar 5 5
A model The model A part of the reality Today computer for work or amusements. Apart from games most computer applications is used for work of som kind. That means that they are directed towards abstract thinking and problem solving. That implies using our mind more than our body in the interaction. Every application is based on a model. A model is always a simplification and designed for a specific purpose. The model behind computer applications assumes that part of the the reality that it is depicting is possible to formalise using a computer language in an objective way. Computer languages are very high formlised which creates some problems. - the reality that is described is populated with unpredictible humans and - not two people describes/ interpretates a model in a exact equal way To create a model the modeller uses a language, which is formal and restricts what could be expressed. Some things are hard or even impossible to describe, for example feelings, sensations noices, smells. Language is a tool for misunderstanding scince it is formalised and it has to be interpretated to the sender, receiver and the context. Computer languages are even more restrictive than human language. Computer models appears to be very objective and that could be question scince we experience the world different and is it possible to predict human behavior. A part of the reality 6 6
A model The model A part of the reality The modeller Language and images Language and images The model Interpretations and use Abstractions Today computer for work or amusements. Apart from games most computer applications is used for work of som kind. That means that they are directed towards abstract thinking and problem solving. That implies using our mind more than our body in the interaction. Every application is based on a model. A model is always a simplification and designed for a specific purpose. The model behind computer applications assumes that part of the the reality that it is depicting is possible to formalise using a computer language in an objective way. Computer languages are very high formlised which creates some problems. - the reality that is described is populated with unpredictible humans and - not two people describes/ interpretates a model in a exact equal way To create a model the modeller uses a language, which is formal and restricts what could be expressed. Some things are hard or even impossible to describe, for example feelings, sensations noices, smells. Language is a tool for misunderstanding scince it is formalised and it has to be interpretated to the sender, receiver and the context. Computer languages are even more restrictive than human language. Computer models appears to be very objective and that could be question scince we experience the world different and is it possible to predict human behavior. A part of the reality The modeller 7 7
Modellbegreppet - introduktion 8
Karaktäristiskt för modeller i allmänhet: modellen är skilt från det modellen avbildar modellen är en förenkling modellen skapas för ett visst syfte Datamodeller C21.2 12
Beskrivningar skiljer sig ofta på: hur människor uppfattar det som ska avbildas vad de anser vara viktigt hur de uppfattar direktiven Datamodeller C21.2 13
Modellbyggande innebär: abstraktion generalisering och klassificering förhandlingar om olika antaganden, egenskaper, samband, regler när det gäller verksamheten Datamodeller C21.2 14
Modeller - Tidsperspektiv: ett fruset ögonblick, dvs en viss tidpunkt den temporala dimensionen, dvs hanterar även händelser och förändringar Datamodeller C21.2 15
En modell består av Språk /Symboler Regler för hur språket ska tolkas Regler för att kombinera symbolerna i språket Ej verbala egenskaper Osynliga egenskaper Datamodeller C21.2 16
A spectrum of models 9=r2 X2=9+4Y*9 Scientific Artistic - mental doers So very roughly we can separate the humans in two categories according to the location of conscious if they are mental or psychical doers. Of course this is extremes it is a spectrum. Scientists Artists science and information art and handicraft objective subjective mental doers physical doers busy with scientific versions of have time to ponder the meaning of physical reality life in an state of conscious being closed models open models objective and not for subjective free to subjective interpretation and interpretation it includes often many attributes. Scientific - mental doers Artistic - physical doers 17 8
Språket 19
Modell av verkligheten Skog 20
A model The model A part of the reality The modeller Language and images Language and images The model Interpretations and use Abstractions Today computer for work or amusements. Apart from games most computer applications is used for work of som kind. That means that they are directed towards abstract thinking and problem solving. That implies using our mind more than our body in the interaction. Every application is based on a model. A model is always a simplification and designed for a specific purpose. The model behind computer applications assumes that part of the the reality that it is depicting is possible to formalise using a computer language in an objective way. Computer languages are very high formlised which creates some problems. - the reality that is described is populated with unpredictible humans and - not two people describes/ interpretates a model in a exact equal way To create a model the modeller uses a language, which is formal and restricts what could be expressed. Some things are hard or even impossible to describe, for example feelings, sensations noices, smells. Language is a tool for misunderstanding scince it is formalised and it has to be interpretated to the sender, receiver and the context. Computer languages are even more restrictive than human language. Computer models appears to be very objective and that could be question scince we experience the world different and is it possible to predict human behavior. A part of the reality The modeller 24 7
Språket är viktigt UT IN * Specifikation * Användarbeskrivning Användare/Beställare Designer Användare/Beställare UT IN * Specifikation * Användarbeskrivning * Metoder * Manualer * Bearbetad specifikation * Diagram/Grafer * Manualer * Systemet * ... 25
Språket - uppmärksammar relationen mellan företeelser i verkligheten och symboler för företeelser Klargöra betydelsen analys och beskrivningar av abstraktioner av företeelser analys och beskrivningar av klassifikationer av företeelser uppmärksammar språktets betydelse 26
Mänskligt språk ord används som symboler för företeelser sambandet mellan ordet och företeelsen som ordet symboliserar bygger på överenskommelser mellan människor. Dessa överenskommelser kallar vi språk två typer av överenskommelser: orden, ök. om symbolsamband regler hur orden kan kombineras till satser 27
Mänskligt språk Ej statiskt utan förändras kontinuerligt nya tillkommer ex yuppinalle gamla försvinner ex gingo ändrar innebörd ex huvudspår, sambo Ord är ofta förknippade med värderingar känslor, ex städare Språket - ett medel för tänkande eller kommunikation? 28
Mänskliga språket De språkvetenskapliga frågeställningarna visar att språk, tänkande och verklighet är skilda saker, och att det råder samband mellan dessa. Däremot råder det oenighet om hur dessa sambandet ser ut. Grundenheten i språket - ord eller satser? 29
Satser / Utsagor - olika aspekter Syntax, regler för ords placering inom satser Semantik, betydelse eller innebörd hos ord och utsagor Pragmatik, den för ett ord eller sats avsedda betydelsen eller effekten syntax semantik pragmatik 30
Betydelser hos ord/tecken Denotation, extensionell betydelse uppfattas av våra sinnen, ”objektivt” Konnotation, intensionell betydelse känslor, handlingar, attityder som förknippas med ordet, ”subjektivt” 31
Föreläsning 7 OMT-metodologi 19
OMT . . . Problem- framställan Formell modell Analys System Design Objekct Design . . . Problem- framställan Formell modell
OMT . . . Problem- framställan Formell modell Design Analys System Design Objekct Design . . . Problem- framställan Formell modell Systemdesign- dokument= Struktur för grund- läggande system- arkitektur och strategiska beslut på hög nivå Design dokument= Detaljerad objektmodell + detaljerad dynamisk modell + detaljerad funktionell modell Analysdokument = Problemformulering +objektmodell +dynamisk modell +funktionell modell Objektmodell = Objektmodelldiagram + data dictionary Dynamisk modell = tillståndsdiagram +globalt händelseflödes- diagram Funktionell modell = dataflödesdiagram +begränsningar
Erfarenhet av verkligheten Analys Användare Generera önskemål Utvecklare Problemredogörelse Bygga modeller Ledning Användarintervjuer Domän kunskap Objektmodell Dynamisk modell Funktionell modell Erfarenhet av verkligheten Design
Objektmodellering 1 Identifiera objekt och klasser 2. Förebered data dictionary 3. Identifiera associationer och aggregat mellan objekt 4. Identifiera attribut och länkar hos objekt 5. Organisera och förenkla objektklasser genom arv 6. Verifiera att det finns åtkomstvägar för möjliga frågor 7. Iterera och förfina modellen 8. Gruppera klasser i moduler
Dynamisk modellering 1 Förebered scenarier för typinska interaktionssekvenser 2. Identifiera händelser mellan objekt 3. Förbered en händelsekedja för varje scenario 4. Bygg ett tillståndsdiagram 5. Matcha händelser mellan objekt för att verifiera riktigheten
Funktionell modellering 1 Identifiera värden för input och output 2. Bygg dataflödesdiagram som visar funktionella beroenden 3. Beskriv funktioner 4. Identifiera begränsningar 5. Specificera kriterier för optimering
System Design 1 Organisera systemet i delsystem 2. Identifiera den ”concurrency” som ingår i problemet 3. Tilldela delsystemet till processorer och uppgifter (tasks) 4. Välj tillvägagångssätt för att hantera datalagring 5. Hantera åtkomst till globala resurser 6. Välj hur kontroll ska implementeras i mjukvaran 7. Hantera gränsvillkor 8. Etablera prioriteter för trade-off
Objekt design 1 Kombinera de tre modellerna för att få fram klassernas operationer 2. Definiera algoritmer för att implementera operationerna 3. Optimera åtkomsten till data 4. Implementera kontroll för extern interaktion 5. Justera klasstrukturen för att öka arv 6. Designa associationer 7. Bestäm representation för objekt 8. Packa klasser och associationer i moduler
Sammanfattning 19
A model The model A part of the reality The modeller Language and images Language and images The model Interpretations and use Abstractions Today computer for work or amusements. Apart from games most computer applications is used for work of som kind. That means that they are directed towards abstract thinking and problem solving. That implies using our mind more than our body in the interaction. Every application is based on a model. A model is always a simplification and designed for a specific purpose. The model behind computer applications assumes that part of the the reality that it is depicting is possible to formalise using a computer language in an objective way. Computer languages are very high formlised which creates some problems. - the reality that is described is populated with unpredictible humans and - not two people describes/ interpretates a model in a exact equal way To create a model the modeller uses a language, which is formal and restricts what could be expressed. Some things are hard or even impossible to describe, for example feelings, sensations noices, smells. Language is a tool for misunderstanding scince it is formalised and it has to be interpretated to the sender, receiver and the context. Computer languages are even more restrictive than human language. Computer models appears to be very objective and that could be question scince we experience the world different and is it possible to predict human behavior. A part of the reality The modeller 7 7
Karaktäristiskt för modeller i allmänhet: modellen är skilt från det modellen avbildar modellen är en förenkling modellen skapas för ett visst syfte Datamodeller C21.2 12
Beskrivningar skiljer sig ofta på: hur människor uppfattar det som ska avbildas vad de anser vara viktigt hur de uppfattar direktiven Datamodeller C21.2 13
Modellbyggande innebär: abstraktion generalisering och klassificering förhandlingar om olika antaganden, egenskaper, samband, regler när det gäller verksamheten Datamodeller C21.2 14
En modell består av Språk /Symboler Regler för hur språket ska tolkas Regler för att kombinera symbolerna i språket Ej verbala egenskaper Osynliga egenskaper Datamodeller C21.2 16
A spectrum of models 9=r2 X2=9+4Y*9 Scientific Artistic - mental doers So very roughly we can separate the humans in two categories according to the location of conscious if they are mental or psychical doers. Of course this is extremes it is a spectrum. Scientists Artists science and information art and handicraft objective subjective mental doers physical doers busy with scientific versions of have time to ponder the meaning of physical reality life in an state of conscious being closed models open models objective and not for subjective free to subjective interpretation and interpretation it includes often many attributes. Scientific - mental doers Artistic - physical doers 17 8
OMT . . . Problem- framställan Formell modell Analys System Design Objekct Design . . . Problem- framställan Formell modell
OMT . . . Problem- framställan Formell modell Design Analys System Design Objekct Design . . . Problem- framställan Formell modell Systemdesign- dokument= Struktur för grund- läggande system- arkitektur och strategiska beslut på hög nivå Design dokument= Detaljerad objektmodell + detaljerad dynamisk modell + detaljerad funktionell modell Analysdokument = Problemformulering +objektmodell +dynamisk modell +funktionell modell Objektmodell = Objektmodelldiagram + data dictionary Dynamisk modell = tillståndsdiagram +globalt händelseflödes- diagram Funktionell modell = dataflödesdiagram +begränsningar