Konceptuell modellering. Formalisering, automatisering och effektivisering

Storlek: px
Starta visningen från sidan:

Download "Konceptuell modellering. Formalisering, automatisering och effektivisering"

Transkript

1 Konceptuell modellering. Formalisering, automatisering och effektivisering LUSP. HT2012. Föreläsning 7. Övning 7 Erik Perjons perjons@dsv.su.se Modeller och modellering 1

2 Verksamheten två nivåer Människor utför (manuella) aktiviteter i en verksamhet Människor interagerar med datorer Datorer utför (automatiserade) aktiviteter i en verksamhet 3 Avbilda verksamheten med modeller Verksamhetsprocesser (en dynamisk modell) avbilda/ modellera Konceptuell modell över verksamhetens termer/begrepp (en statisk modell) Systemfunktioner: Söka kund Lägga beställning Verkligheten Grafiska modeller/diagram 4 2

3 Avbilda verksamhetsprocesser avbilda/ modellera Verksamhetsprocesser (en dynamisk modell) Beskriver hur människor agerar och kommunicerar i verksamheten Konceptuell modell över verksamhetens termer/begrepp (en statisk modell) Systemfunktioner: Söka kund Lägga beställning Verkligheten Grafiska modeller/diagram 5 Avbilda systemfunktioner Verksamhetsprocesser (en dynamisk modell) Konceptuell modell över verksamhetens termer/begrepp (en statisk modell) avbilda/ modellera Systemfunktioner: Söka kund Lägga beställning Beskriver vad människor kan göra med IT systemen Verkligheten Grafiska modeller/diagram 6 3

4 Avbilda termer/begrepp Verksamhetsprocesser (en dynamisk modell) Beskriver vilka termer/begrepp som används i verksamheten och hur de är relaterade med varandra Konceptuell modell över verksamhetens termer/begrepp (en statisk modell) avbilda/ modellera Systemfunktioner: Söka kund Lägga beställning Verkligheten Grafiska modeller/diagram 7 Modeller Vad är en modell? Struktur som representerar/avbildar vissa aspekter av någon del av verkligheten Dynamisk modell En dynamisk modell avbildar/representerar dynamiska (beteendemässiga) aspekter av verkligheten, det vill säga hur verkligheten förändras med tiden (hur de statiska relationerna förändras) Statisk modell En statisk modell avbildar/representerar statiska aspekter av verkligheten, det vill säga vilka företeelser som finns och hur är de relaterade till varandra 4

5 Modeller Varför modell? Studera/analysera verkligheten indirekt genom modeller Södj Stödja design av en effektiv verksamhet Underlätta kommunikation Fånga krav på informationssystem och/eller utgöra underlag för implementering (i form av en skiss eller ritning över systemet) Kontrakt mellan beställare och utförare (så att båda är överens om vad som ska utvecklas) Modellera verksamhetens termer och begrepp 5

6 Modellera termer/begrepp Verksamhetsprocesser (en dynamisk modell) Beskriver vilka termer/begrepp som används i verksamheten och hur de är relaterade med varandra Konceptuell modell över verksamhetens termer/begrepp (en statisk modell) avbilda/ modellera Systemfunktioner: Söka kund Lägga beställning Verkligheten Grafiska modeller/diagram 11 Hur modellera termer/begrepp? Gör en konceptuell modell över följande beskrivning: undervisar på kurser. En kurs måste ha exakt en ansvarig lärare. En lärare kan undervisa på och vara ansvarig för flera kurser. En lärare har anställningsnummer, och. erna har kurskod och kurs. Paul Johannesson ITP Gudrun Jeppesen ITO OOS / era avbilda/ modelle 12 Joakim Snygg OOP Verkligheten Grafiska modeller/diagram 6

7 Vi behöver en grafisk modelleringsteknik För att avbilda verkligheten/verksamhet grafiskt (det vill säga, i form av diagram) bör vi använda en existerande modelleringsteknik/modelleringsspråk. På denna kurs använder vi: UML klassdiagram för att modellera begrepp/termer/information (behandlas i denna föreläsning) BPMN för att modellera verksamhetsprocesser UML en översikt UML är en akronym för Unified Modeling Language (sv. förenat modelleringsspråk) och är en förening av tre olika modelleringstekniker. Booch, Rumbaugh och Jacobsson hade alla utvecklat var sitt modelleringsspråk. De hamnade alla på företaget Rational och förenade sina modelleringsspråk i ett enda språk och kallade det UML. UML är ett språk som består av en mängd diagram/modelleringstekniker som används för att modellera IT system från olika perspektiv. Det finns diagram för att beskriva statiska aspekter (som UML klassdiagram) och dynamiska aspekter (som UML användningsfall och UML aktivitetsdiagram) se kursen Objektorienterad analys och design (OOS) UML togs fram för att modellera IT system men används även idag för att modellera verksamheter (och de är så vi använder UML klassdiagram på denna kurs) UML förvaltas av Object Management Group (OMG) som också förvaltar BPMN. OMG har tydligt specificerat språket i en så kallad OMG specifikation (även kallad OMG standard ). 14 7

8 Klassdiagram symboler (notation) UML notationen för en klass är en rektangel med (normalt) tre avdelningar: klassens (använd substantiv och starta med stor bokstav) attribut (använd substantiv och starta medliten bokstav) operationer (använd verb och börja liten bokstav) i verksamhetsmodellering behöver vi inte operationer, så vi kommer inte behandla dem mer på denna kurs Klassens anställningsnr ändraadress() Operation (eller metodhuvud ) anställningsnr Attribut Detta visar på tre olika sätt att modellera en klass. Notera att om man bara visar klassen som en rektangel utan avdelningar så vet man inte om klassen har attribut och eller operationer. Klasser och attribut anställningsnr kurskod kurs Klasser i verksamhetsmodellering beskriver oftast centrala företeelser i verkligheten medan attribut beskriver egenskaper hos dessa företeelser Klasser representerar oftast grupperingar av företeelser i verkligheten 8

9 Klasser och objekt Gudrun Jeppesen Paul Johannesson Joakim Snygg Verkligheten gruppera/ klassificera Klass anställningsnr Attribut Grafiska modeller/diagram instansiera Objekt/ Instans Värde PaulJohannesson: anställningsnr= PaulJohannesson: = Paul Johannesson anställningsnr: PaulJohannesson: = Bromma = Gudrun Jeppesen = anställningsnr: Johanneshov = Joakim Snygg = Solna Klasser grupperar/klassificerar företeelser i verkligheten Klasserna fungerar också som mallar för att skapa objekt/instanser. Detta kallas att instansiera Objekten har samma attribut som klassen men attributen har fått värden i objekten Objekten representerar företeelser i verkligheten Associationer anställningsnr undervisar på kurskod kurs anställningsnr undervisar på är ansvarig för kurskod kurs Associationer beskriver roller som de två relaterade klasserna spelar mot varandra. För att underlätta tolkning av associationer bör man ge associationerna. Två klasser kan relateras med flera olika associationer 18 9

10 Ge associationer Använda verb med fylld pil undervisar på har undervisande Associationer har riktningar undervisar på Associationer kan ha en eller två riktningar. Ovanstående association kan enligt UML specifikationen tolkas som att den har två riktningar eller att man inte visar riktningen eller riktningarna. På den här kursen ska vi tolka associationen ovan som att den har två riktningar, det vill säga associationen kan gå från till och från till. Notera att et på associationen ( undervisar vid ) inte säger något om riktningen/riktningarna. Man kan i UML med hjälp av navigeringspilar på associationen (se nedan) visa riktningen/riktningarna, men det kommer vi inte använda oss av på denna kurs 10

11 Multiplicitet anställningsnr 1 ansvarar för kurskod kurs Multiplicitetens maxvärde för denna association i riktningen från till Multiplicitetens maxvärde för denna association i riktningen från till Multiplicitet specificerar, eller vanligen begränsar, antal objekt som en klass kan ha i relation till ett objekt i den associerade klassen. I tekniken UML klassdiagram anges denna begränsning med ett min (minsta antal) och maxvärde (mesta antal). Vi kommer bara använda maxvärdet på denna kurs. Maxvärdet är antingen 1 eller (läses: många ), medan minvärdet, som vi inte kommer att använda på kursen, är antingen 0 eller 1. Multipliciteten måste anges i associationens båda riktningar Multiplicitet för båda riktningarna Multiplicitet i riktningen från till ansvarar för Multiplicitet i riktningen från till begränsar hur många kurser som en lärare kan vara ansvarig för. Det går att välja på max en eller max många. Tips för att bestämma multiplicitet: Fråga på följande sätt: Kan en lärare vara ansvarig för max en eller max många delkurser? Om svarat är max en så används siffran 1 och svaret är max många, så används. Multiplicitet i riktningen från till ansvarar för 1 Multiplicitet i riktningen från till begränsar hur många lärare kan vara ansvariga för en kurs. Det går att välja på max en eller max många. Tips för att bestämma multiplicitet: Fråga på följande sätt: Kan en kurs ha max en eller max många ansvariga? Om svarat är max en så används siffran 1 och svaret är max många, så används. 11

12 En kort övning Gör en konceptuell modell över följande beskrivning: undervisar på kurser. En kurs måste ha exakt en ansvarig lärare. En lärare kan undervisa på och vara ansvarig för flera kurser. En lärare har anställningsnummer, och. erna har kurskod och kurs. Vad saknas i modellen nedan? Gör så att modellen överensstämmer med beskrivningen! undervisar på anställningsnr 1 är ansvarig för kurskod kurs Lösningen Gör en konceptuell modell över följande beskrivning: undervisar på kurser. En kurs måste ha exakt en ansvarig lärare. En lärare kan undervisa på och vara ansvarig för flera kurser. En lärare har anställningsnummer, och. erna har kurskod och kurs. Vad saknas i modellen nedan? Gör så att modellen överensstämmer med beskrivningen! undervisar på anställningsnr 1 är ansvarig för kurskod kurs 12

13 Låt oss fortsätta modellera Gör en konceptuell modell över följande beskrivning: Studenter registrerar sig på kurser. Studenterna har,, kön och e post. erna har kurskod k och kurs. En kurs kan ha flera studenter registrerade och en student kan registrera sig på flera kurser. Studenterna registrerar sig på kurserna vid visst registreringsdatum. Nisse Hall ITP Anna Svan Zlatan ITO OOS OOP 25 Verkligheten Grafiska modeller/diagram Avbilda relationer mellan grupperingar Anna Svan Zlatan Nisse Hall ITP ITO OOS OOP Student kön e post registrerar sig på multiplicitet kurskod kurs 26 Multiplicitet uttrycker oftast en form av regel som finns i verksamheten. Multiplicitet specificerar, eller vanligen begränsar, antal objekt som en klass kan ha i relation till ett objekt i den associerade klassen. 13

14 Avbilda relationer mellan grupperingar Egentligen vill vi hålla reda på exakt vilka studenter som registrerat sig på vilka kurser. Till exempel vill vi hålla reda på att Nisse Hall registrerat sig på kursen ITP och ITO. Men detta modelleras oftast inte utan man modellerar endast associationen Länk har samma relation till association som objekt/instans har till klass länk (som vi dock inte modellerar) Anna Svan Zlatan Nisse Hall ITP ITO OOS OOP Student kön e post delkurskod delkurs Problem: Hur hanteras registreringsdatum? Del av verksamhet att avbilda/representera: Studenterna registrerar sig på kurserna vid visst registreringsdatum. kön e post Student kurskod kurs Hur ska vi hantera registeringsdatum? Det kan inte representeras som ett attribut i klassen Student eller klassen Delkurs. Varför inte? En lösning skulle kunna vara att skapa ett attribut till associationen, men det går inte i flera modelleringstekniker. En association kan inte ha attribut! 14

15 Lösning: Skapa en händelseklass Del av verksamhet att avbilda/representera: Studenterna registrerar sig på kurserna vid visst registreringsdatum. kön e post Student 1 genomför Registrering registreringsdatum avser 1 kurskod kurs Lösningen är att göra om associationen till en klass och som i figuren får et Registrering. Därmed kan man ge klassen egenskapen registreringsdatum. Klassen Registrering är ett exempel på en klass som representerar/avbildar händelser eller aktiviteter i verksamheten en så kallad händelseklass. Händelseklasser Händelseklasser representerar/avbildar händelser eller aktiviteter i verksamheten. Att tidigt identifiera sådana händelseklasser i en konceptuell modell är viktigt för att underlätta själva modelleringen. Händelseklasser kännetecknas av att de ofta har datum som attribut i klassen. Exempel på händelseklasser är Beställning, Registrering, Lån, Leverans. Registrering registreringsdatum g Lån lånedatum Leverans leveransdatum 15

16 Varför göra konceptuell modell av verksamhetens termer/begrepp? Klargöra de termer/begrepp som används i verksamheten och hur de är relaterade till varandra (nulägesbeskrivning) Klargöra olika avdelningars användning av termer/begrepp (nulägesbeskrivning). Det är nämligen vanligt att olika avdelningar kan använda olika termer/begrepp och detta kan skapa förvirring i organisationen. Klargöra vilka termer/begrepp som verksamheten bör använda i framtiden (så att alla talar samma språk ) (framtidsbeskrivning) Klargöra vilka termer/begrepp i verksamheten som ska ligga som grund för de ITsystem som ska byggas En övning Gör en konceptuell modell i UML klassdiagram baserad på följande beskrivning: En kurs kan ges vid flera kurstillfällen. Varje sådant kurstillfälle har ett start och slutdatum. Ett kurstillfälle får bara ha en ansvarig lärare, men flera andra lärare kan delta vid kurstillfället. har ett, och anställningsnummer. Studenter registrerar sig på kurser, eller egentligen till kurstillfällen för de olika kurserna. Studenter kan registrera sig på flera kurstillfällen. Ett kurstillfälle kan ha flera studenter registrerade. Studenter har,, kön och e post, medan kurser ska ha kurskod och kurs En student registrerar sig till ett kurstillfälle vid ett visst registreringsdatum

17 anställningsnr 1 ansvarar för deltar vid Lösningen kurs kurskod 1 ges vid tillfälle avser startdatum slutdatum 1 genomför Student kön e post Registrering registreringsdatum 1 33 Vi har här antagit följande som inte finns i beskrivningen: får vara ansvariga vid flera kurstillfällen; tillfället kan ha flera lärare; Term och begrepp 34 17

18 Relationen begrepp och term Begrepp Term Dator 35 Begrepp Ett begrepp är en tankeenhet, en mental föreställning av en eller flera företeelser i verkligheten Begrepp Dator Term 36 [Hedin et al, 2000] 18

19 Term En term är en mer eller mindre godtycklig symbol för ett begrepp En term kan bestå av artikulerade ljud, ett ord i form av bokstäver, en ordgrupp, eller en grafisk symbol Term och ord kan ses som synonymer Begrepp Term Dator 37 [Hedin et al, 2000] Relationen begrepp och term För att använda ett begrepp måste man ha en term för det (eller möjligen peka på något i verkligheten som representerar begreppet) Sambandet mellan begrepp och term bör vara så entydigt som möjligt, annars uppstår tolkningsproblem, som: Synonymi Polysemi Dator Begrepp Term 38 [Hedin et al, 2000] 19

20 Relationen begrepp och term Begrepp Termer Synonym A x y z Olika termer hänvisar till samma begrepp ( UML och Unified Modeling Language hänvisar till samma sak) Polysem A B x Samma term hänvisar till olika begrepp. Det beror ofta på att det stipuleras nya betydelser för gamla termer. ( demokrati (demokrati, tjänstebaserad utveckling ) 39 [Hedin et al, 2000] Definiera termer För att tydliggöra betydelsen av en term bör man definiera den. Därmed begränsar man antalet möjliga tolkningar av dess betydelse. Ett exempel på definition i form av ett textuellt uttryck är: En student vid DSV är en person som registrerat sig på en kurs vid DSV. Ett annat sätt att definiera en term är att göra en konceptuell modell där termen ingår. Notera att multipliciteten spelar en stor roll för att definiera termerna. Student Registrering 1 1 DSV kurs 40 20

21 En till övning Biblioteket i Sanslösa har svårt att hålla reda på sina böcker och boklån. Invånarna i Sanslösa är mycket bokintresserade och lånar allt mer. Dessutom har biblioteket fått ökade anslag till bokinköp. De tror att lösningen på problemet kan vara ett IT system. Du har som verksamhets och IT utvecklare fått i uppdrag att effektivisera arbetet vid en biblioteket. Som ett första steg skall du göra en konceptuell modell i UML klassdiagram över centrala begrepp/termer. Vid intervjuer med personal och ledning vid biblioteket framkommer följande: För varje boktitel vill man veta: författare, titel, förlag, ISBN nummer och vilken genre den tillhör. Om varje bokexemplar vill man dessutom veta om det är en referensbok eller inte, inköpspris, inköpsdatum samt vilket ordningsnummer exemplaret har. Detta för att kunna identifiera enskilda exemplar av boken. Biblioteket vill veta, personnummer, och lånekortsnummer på varje låntagare. För varje lån vill man veta lånedatum, datum då den skall vara återlämnad samt givetvis vilket bokexemplar som är utlånat och vem som har lånat det. Man vill också veta vem på biblioteket som har handlagt lånet En låntagare skall också kunna reservera böcker. Man vill veta vilket datum en viss bok är reserverad och vem som reserverat den. Det kan finnas flera reservationer för samma bok. 41 Lösningen Boktitel titel författare Förlag ISBN nummer genre 1 1 Bokexemplar referensbok (j/n) ordningsnr inköpsdatum inköpspris 1 Lån lånedatum återlämningsdatum gäller Reservation reservationsdatum Handläggare anställningsnr personnr gör 1 1 Låntagare personnr 1 lånekortsnr 21

22 Modellering av informationssystemet Från verkligheten till IS/IT Del av ve erksameten he av vbildas Verksamhetsprocesser (en dynamisk modell) Informationsmodell över verksamhetens termer/begrepp (en statisk modell) Systemfunktioner: Söka kund Lägga beställning Ligger till grund för Informationsmodell över informationssystem (IS) oberoende av teknik som ska användas för att implementera systemet (en statisk modell) Verkligheten Grafiska modeller/diagram 44 22

23 Från verkligheten till IT/IS Del av ve erksameten he av vbildas Verksamhetsprocesser (en dynamisk modell) Informationsmodell över verksamhetens termer/begrepp (en statisk modell) Systemfunktioner: Söka kund Lägga beställning Ligger till grund för Informationsmodell över informationssystem oberoende av teknik Verkligheten Infomodell anpassad till Java Grafiska modeller/diagram Infomodell anpassad till relationsdatabas (databasschema) 45 Varför göra informationsmodell av informationssystemet? Klargöra de termer/begrepp som informationssystemet ska hantera Klargöra den informationsstruktur sominformationssystemet skaha. Därmed även klargöra den struktur som ska ligga till grund för de delar som informationssystem ska bestå av, till exempel: en presentationsdel (baserat på tekniken JSP) en applikationsdel (baserat på tekniken Java) en databasdel (baserat på relationsdatabasteknik) Klargöra den informationsstruktur som ska ligga till grund för att automatiskt generera kod till informationssystemets delar med hjälp av kodgenereringsverktyg av olika slag. En och samma informationsmodell kan med andra ord automatiskt transformeras till olika exekverbara delar av systemet med hjälp av sådana verktyg. 23

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

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur Objekt-orienterad utveckling Saker man vill uppnå: Objektorienterad analys och design Sven-Olof Nyström Uppsala Universitet 16 mars 2005 en systematisk metod för att gå från problembeskrivning till färdigt

Läs mer

Introduktion. Byggstenar TDBA63 2005-11-22

Introduktion. Byggstenar TDBA63 2005-11-22 Introduktion UML står för Unified Modeling Language. Det är tänkt att fungera som hjälpmedel vid modellering av alla tänkbara typer av utvecklingsarbeten, inte bara inom dataomdrådet. Det största värdet

Läs mer

Objektorientering. Grunderna i OO

Objektorientering. Grunderna i OO Objektorientering Grunderna i OO 1 Systemutveckling Tre systemnivåer: Verksamhet Informationssystem Datasystem Huvuduppgifterna i ett systemutvecklingsarbete: Verksamhetsanalys Informationsbehovsanalys

Läs mer

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

UML: Exempel. Ett modelleringsspråk. UML: Ansvar. UML: tre huvudanvändningar. Exempel: En klass position storlek. UML Unified Modelling Language Ett modelleringsspråk : Exempel Fönster Klassnamn Unified Modelling Language Av Booch, Jacobson, Rumbaugh Exempel: En klass position storlek Attribut (instansvariaböe) Resultatet av en sammanslagning av

Läs mer

Objektorienterad analys och design

Objektorienterad analys och design Objektorienterad analys och design Sven-Olof Nyström Uppsala Universitet 16 mars 2005 1 Objekt-orienterad analys och design: Litteratur Skansholm: Kapitel 4 Se även 1. http://www.uml.org/ 2. http://www-306.ibm.com/software/rational/uml/

Läs mer

Databaser design och programmering. Design processen ER- modellering

Databaser design och programmering. Design processen ER- modellering Databaser design och programmering Design processen ER- modellering 2 Programutveckling Förstudie, behovsanalys Programdesign, databasdesign Implementation 3 Programdesign, databasdesign Databasdesign

Läs mer

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

UML 1(5) Introduktion till Unified Modeling Language. 1 Bakgrund och historik UML 1(5) Introduktion till Unified Modeling Language 1 Bakgrund och historik UML är ett objektorienterat modellspråk för att specificera och visualisera system. Det är framtaget i första hand för IT-orienterade

Läs mer

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

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur Objekt-orienterad utveckling Saker man vill uppnå: Objektorienterad analys och design Sven-Olof Nyström Uppsala Universitet 17 juni 2005 en systematisk metod för att gå från problembeskrivning till färdigt

Läs mer

Inkapsling (encapsulation)

Inkapsling (encapsulation) UML UML är en standard för att dokumentera och visualisera sina tankar och beslut under analys och design. Att lära sig allt om UML får inte plats i den här kursen, men vi kommer lära oss vissa delar.

Läs mer

Konceptuell modellering

Konceptuell modellering Konceptuell modellering En konceptuell modell beskriver data och datasamband på ett representationsoberoende sätt. Vad modellen sen ska implementeras som/i får inte påverka modellens utformning! Grundbegrepp:

Läs mer

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista Databaser Vad är en databas? Vad du ska lära dig: Använda UML för att modellera ett system Förstå hur modellen kan översättas till en relationsdatabas Använda SQL för att ställa frågor till databasen Använda

Läs mer

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

TDP005. Föreläsning 3 - UML. Filip Strömbäck TDP005 Föreläsning 3 - UML Filip Strömbäck 1 Introduktion 2 Diagram 3 Klassdiagram 4 Sekvensdiagram 5 SFML-demo TDP005 Filip Strömbäck 2 UML Unified Modeling Language Visuell notation för idéer Kommunicera

Läs mer

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

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? Introduktion till objektorientering Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? jonas.kvarnstrom@liu.se 2014 2017 jonas.kvarnstrom@liu.se

Läs mer

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

Mer OOP. Variation i typ. Medlen repetition. Generiska klasser. Gränssnitt - Interface. Mer om klasser Några exempel UML Målet Mer OOP Mer om klasser Några exempel UML Modularitet Språkligt modulära enheter Få gränssnitt Små gränssnitt Tydliga gränssnitt Dold information Återanvändbarhet Variation i typer Variation i datastrukturer

Läs mer

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

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? Introduktion till objektorientering Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? TDDD78, TDDE30, jonas.kvarnstrom@liu.se 729A85 jonas.kvarnstrom@liu.se

Läs mer

(Data)Modellering. nikos dimitrakas rum 2423

(Data)Modellering. nikos dimitrakas rum 2423 (Data)Modellering nikosd@kth.se 08-161295 rum 2423 Connolly/Begg (3rd edition) Kapitel 11, 12 och 14 (4th edition) Kapitel 11, 12 och 15 (5th edition) Kapitel 12, 13 och 16 (6th edition) Kapitel 12, 13

Läs mer

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista Databaser Vad är en databas? Vad du ska lära dig: Använda UML för att modellera ett system Förstå hur modellen kan översättas till en relationsdatabas Använda SQL för att ställa frågor till databasen Använda

Läs mer

Informationssystem och databasteknik, 2I-1100

Informationssystem och databasteknik, 2I-1100 Informationssystem och databasteknik, 2I-1100 Introduktion till informationssystem - användning, teknik och utveckling Vad är ett informationssystem? Informationssystem: datoriserat system som stödjer

Läs mer

Objektorientering Användning

Objektorientering Användning Objektorientering Användning Samt repetition av klasser Suzana Ramadani 1 Repetition Objektorientering bygger på Abstraktion Hierarkisk strukturering Inkapsling Klassificering Generalisering specialisering

Läs mer

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

Objekt-orienterad programmering. Klassbegreppet och C++ UML. UMLs fördelar Klassbegreppet och C++ OOP UML Klasser och objekt i C++ Uppdelning i filer Attribut och metoder Inkappsling - åtkomst Klassattribut - objektattribut Objekt-orienterad programmering Att använda ett objektorienterat

Läs mer

Företagsmodellering i UML

Företagsmodellering i UML Företagsmodellering i UML En kort-kort introduktion av Ambjörn Naeve http://kmr.nada.kth.se Modellering En modell är en förenklad beskrivning av ett komplext område En modell är motiverad av mål (= har

Läs mer

Begreppsmodellering i UML

Begreppsmodellering i UML 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

Läs mer

Lite om databasdesign och modellering

Lite om databasdesign och modellering Lite om databasdesign och modellering Konceptuell databasdesign Med konceptuell databasdesign avses processen att konstruera en datamodell för en verksamhet, oberoende av fysiska villkor. Modelleringen

Läs mer

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

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur Objekt-orienterad utveckling Saker man vill uppnå: Objektorienterad analys och design Sven-Olof Nyström Uppsala Universitet June 22, 2006 en systematisk metod för att gå från problembeskrivning till färdigt

Läs mer

Objektorienterad analys och design

Objektorienterad analys och design Objektorienterad analys och design Sven-Olof Nyström Uppsala Universitet June 22, 2006 1 Objekt-orienterad analys och design: Litteratur Skansholm: Kapitel 4 Se även 1. http://www.uml.org/ 2. http://www-306.ibm.com/software/rational/uml/

Läs mer

Idag. Modellering. Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen

Idag. Modellering. Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen Idag Modellering Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen DD1370 (Föreläsning 3) Databasteknik och informationssystem

Läs mer

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

729G75: Programmering och algoritmiskt tänkande. Tema 3, föreläsning 2 729G75: Programmering och algoritmiskt tänkande Tema 3, föreläsning 2 Översikt Vanliga mönster när man designar en klass Klass-diagram Exempel Arv i Python Egna klasser använd som egna datatyper, men även

Läs mer

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

Nationell informationsstruktur 2015:1 Bilaga 1: Läsanvisning till modellerna Nationell informationsstruktur 2015:1 Bilaga 1: Läsanvisning till modellerna Innehåll Inledning... 3 Ord och uttryck... 4 Processmodeller... 5 Vad är en processmodell?... 5 Hur används processmodeller

Läs mer

Idag. Varför modellera? Modellering. Modelleringsverktygets egenskaper. Modelleringsverktyget

Idag. Varför modellera? Modellering. Modelleringsverktygets egenskaper. Modelleringsverktyget Idag Varför modellera? Varför modellera? Konceptuell modell sverktyg Objektklasser Sambandsklasser Knepiga attribut sprocessen I all ingenjörsverksamhet där man hanterar komplicerade system behöver man

Läs mer

Idag. Modellering. Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen

Idag. Modellering. Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen Idag Modellering Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen DD1370 (Föreläsning 3) Databasteknik och informationssystem

Läs mer

OCTOPUS utvecklingsmetod samt relaterade frågeställningar och diagram

OCTOPUS utvecklingsmetod samt relaterade frågeställningar och diagram 2EMHNWRULHQWHUDG5HDOWLGVSURJUDPPHULQJ Föreläsning 7 OCTOPUS utvecklingsmetod samt relaterade frågeställningar och diagram - Kravspecifikationer, användningsfall, systemarkitektur - Analysfas vad är analys?

Läs mer

Föreläsning 15: Repetition DVGA02

Föreläsning 15: Repetition DVGA02 Föreläsning 15: Repetition DVGA02 Vad handlar kursen om? Kursen kan i grova drag delas upp i tre delar: 1. Objekt-orienterad programmering 2. Grafiska användargränssnitt 3. Datastrukturer Dessutom genomsyras

Läs mer

UML. Tomas Czarnecki Institutionen för Informationsbehandling Åbo Akademi,FIN-20520 Åbo, Finland e-mail: tczarnec@abo.fi url: www.abo.

UML. Tomas Czarnecki Institutionen för Informationsbehandling Åbo Akademi,FIN-20520 Åbo, Finland e-mail: tczarnec@abo.fi url: www.abo. UML Tomas Czarnecki Institutionen för Informationsbehandling Åbo Akademi,FIN-20520 Åbo, Finland e-mail: tczarnec@abo.fi url: www.abo.fi/~tczarnec Abstrakt The Unified Modeling Language, UML, är ett visuellt

Läs mer

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

Föreläsning 2. Objektorienterad analys och design. Analys: att modellera världen. Design: att strukturera program. Föreläsning 2 Objektorienterad analys och design. Analys: att modellera världen. Design: att strukturera program. Vår process Kravbeskrivning (3 dagar). Enkel form av användningsfall (use cases). Analys

Läs mer

Idag. Varför modellera? Modellering. Modelleringsverktygets egenskaper. Modelleringsverktyget

Idag. Varför modellera? Modellering. Modelleringsverktygets egenskaper. Modelleringsverktyget Idag Varför modellera? Varför modellera? Konceptuell modell sverktyg Objektklasser Sambandsklasser Knepiga attribut sprocessen I all ingenjörsverksamhet där man hanterar komplicerade system behöver man

Läs mer

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Arv Fundamental objekt-orienterad teknik arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Programmeringsmetodik -Java 165 Grafisk respresentation: Arv

Läs mer

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

Analys och design. Objekt. Klass. med hjälp av CRC. Klassdiagram Analys och design med hjälp av CRC 83 Klassdiagram Objekt Ett objekt är en individuellt identifierbar entitet som kan vara konkret eller abstrakt. Ett objekt har tillstånd, beteende och identitet. Reellt,

Läs mer

Begreppsmodellering i UML

Begreppsmodellering i UML 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

Läs mer

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

Objektorienterad Programmering DAT043. Föreläsning 10 13/2-18 Moa Johansson (delvis baserat på Fredrik Lindblads material) Objektorienterad Programmering DAT043 Föreläsning 10 13/2-18 Moa Johansson (delvis baserat på Fredrik Lindblads material) 1 Sökning och Sortering: Binärsökning Problem: Hitta ett element i en godtycklig

Läs mer

Databasdesign. E-R-modellen

Databasdesign. E-R-modellen Databasdesign Kapitel 6 Databasdesign E-R-modellen sid Modellering och design av databaser 1 E-R-modellen 3 Grundläggande begrepp 4 Begränsningar 10 E-R-diagram 14 E-R-design 16 Svaga entitetsmängder 19

Läs mer

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen Webprogrammering och databaser Konceptuell datamodellering med ER-modellen 2 Programutveckling Interaktionsdesign, behovsanalys Programdesign, databasdesign Implementation 3 Programdesign, databasdesign

Läs mer

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

Översikt. Introduktion. Objektorienterad programutveckling UML UML. Analys Design. Klassdiagram Aktivitetsdiagram Översikt Introduktion UML Objektorienterad programutveckling Analys Design UML Klassdiagram Aktivitetsdiagram Modellering Modellering är ett medel för att hantera komplexitet Bygger en abstraktion av verkligheten

Läs mer

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

UML. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 UML Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 UML Unified Modelling Language Grafiskt modelleringsspråk för att beskriva olika aspekter av objektorienterade system. Vi kommer

Läs mer

Föreläsning om OO, OOA och UML

Föreläsning om OO, OOA och UML Föreläsning om OO, OOA och UML Modellering Kristian Ekberg Källa bild: video Marie Åsberg, AFA Försäkring Dagens föreläsning Presentation Kristian Ekberg Model och modellering Vad är en modell och vad

Läs mer

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen Webprogrammering och databaser Konceptuell datamodellering med ER-modellen 2 Programutveckling Interaktionsdesign, behovsanalys Programdesign, databasdesign Implementation 3 Programdesign, databasdesign

Läs mer

Extentamen i 2D1359 Objektorinterad modellering programmering och analys Tisdag den 13 oktober 1998 kl

Extentamen i 2D1359 Objektorinterad modellering programmering och analys Tisdag den 13 oktober 1998 kl NADA, KTH OOMPA 1998-10-13 Sid 1 (8) Extentamen i 2D1359 Objektorinterad modellering programmering och analys Tisdag den 13 oktober 1998 kl. 11-13 Inga hjälpmedel tillåtna. Poäng och betyg: För godkänt

Läs mer

Sök låntagare. Registrera ny låntagare. Utlån

Sök låntagare. Registrera ny låntagare. Utlån Sök låntagare Klicka på Sök Låntagare eller tryck F2. Skriv eller läs in personnummer eller lånekortsnummer i sökrutan. Du kan också skriva in hela eller delar av låntagarens namn. Efter sökrutan finns

Läs mer

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

Översikt. Introduktion. Objektorienterad programutveckling UML UML. Analys Design. Klassdiagram Aktivitetsdiagram Översikt Introduktion UML Objektorienterad programutveckling Analys Design UML Klassdiagram Aktivitetsdiagram Modellering Modellering är ett medel för att hantera komplexitet Bygger en abstraktion av verkligheten

Läs mer

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

UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer. Översikt Klasshierarkier UML klassdiagram Relation mellan klasser mellan klasser och objekt Association ning ing andling Programmering tillämpningar och datastrukturer 2 UML UML Unified Modeling Language

Läs mer

Information. Computer

Information. Computer Information Objektorienterad modellering och diskreta strukturer Lennart Andersson Reviderad 2009-10-14 2009 Tentamen torsdag 22 oktober 8-12/13. Hjälpmedel på tentamen. Martin: PPP Andersson: UML Holm:

Läs mer

Bilaga A. Klassdiagram i OMT (klasser och dess relationer) Klassdiagram i UML (klasser och dess relationer) 1 st

Bilaga A. Klassdiagram i OMT (klasser och dess relationer) Klassdiagram i UML (klasser och dess relationer) 1 st Bilaga A Klassdiagram i OMT (klasser och dess relationer) Klassdiagram i UML (klasser och dess relationer) VäderSamling nyttgivarvärde 1 st består av GivarVärde nuvärde datum tid SkrivUtNuVärde() LäggTillGivarVärde()

Läs mer

Åtkomst Du kommer till ditt system via en webblänk som erhålles från oss. Via denna länk ges tillgång till sökning i bibliotekets katalog.

Åtkomst Du kommer till ditt system via en webblänk som erhålles från oss. Via denna länk ges tillgång till sökning i bibliotekets katalog. Handledning för BIBBLAN bibliotekssystem BIBBLAN är ett svensktutvecklat biblioteksprogram helt webbaserat, som innebär att man endast behöver en uppkopplad dator mot nätet. Man slipper dessutom tänka

Läs mer

Processmodellering. Affärssystem

Processmodellering. Affärssystem Processmodellering. Affärssystem LUSP. HT2012. Föreläsning 8. Övning 8 Erik Perjons perjons@dsv.su.se Informationssystem 1 Definition av Informationssystem (IS) Informationssystem (IS) är ett system med

Läs mer

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

729G75: Programmering och algoritmiskt tänkande. Tema 3, föreläsning 2 729G75: Programmering och algoritmiskt tänkande Tema 3, föreläsning 2 Översikt Vanliga mönster när man designar en klass Arv i Python UML-diagram Exempel Vanliga mönster när man designar en klass Namngivning

Läs mer

TDP005 Projekt: objektorienterade system

TDP005 Projekt: objektorienterade system TDP005 Projekt: objektorienterade system 10/18/2007 Linköpings universitet 1 Översikt Ø Introduktion Ø UML Ø Objektorinterad programutveckling Ø Analys Ø Design Ø UML Ø Klassdiagram Ø Aktivitetsdiagram

Läs mer

Abstrakta Klasser 2. Kodning är bara en liten del i programvaruutvecklingen 6% 1% 6% Abstrakta Klasser - deklaration. Programutveckling sker i faser

Abstrakta Klasser 2. Kodning är bara en liten del i programvaruutvecklingen 6% 1% 6% Abstrakta Klasser - deklaration. Programutveckling sker i faser Abstrakta Klasser 1 God klassdesign placerar gemensamma attribut och metoder så högt som möjligt i hierarkin men ibland kan dessa egenskaper inte definieras fullständigt Abstrakta klasser innehåller ofta

Läs mer

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

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 2 Jonas Lindgren, Institutionen för Datavetenskap, LiU TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 2 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Konstruktorer Statiska metoder & attribut

Läs mer

Programutveckling med Java 7.5 p, ht 2007 (D0019N) STUDIEHANDLEDNING - ALLMÄN INFORMATION

Programutveckling med Java 7.5 p, ht 2007 (D0019N) STUDIEHANDLEDNING - ALLMÄN INFORMATION Programutveckling med Java 7.5 p, ht 2007 (D0019N) STUDIEHANDLEDNING - ALLMÄN INFORMATION Hej, jag heter Ingela Johansson och hälsar dig välkommen till kursen Programutveckling med Java. Den är på 7.5

Läs mer

Databaser design och programmering. Fö 2: Design processen, ER-modellering

Databaser design och programmering. Fö 2: Design processen, ER-modellering Databaser design och programmering Fö 2: Design processen, ER-modellering 2 Programutveckling Interaktionsdesign, behovsanalys Programdesign, databasdesign Implementation 3 Programdesign, databasdesign

Läs mer

Webbdesign med multimedia, 5p Kurskod Kurstillfälle Hösten 2007 Kursansvarig lärare Ulf Larsson, Rum 3047 ulf.larsson@sh.

Webbdesign med multimedia, 5p Kurskod Kurstillfälle Hösten 2007 Kursansvarig lärare Ulf Larsson, Rum 3047 ulf.larsson@sh. Delkursbeskrivning: Webbdesign med multimedia, 5 poäng (Interactive Multimedia for the Web, 7.5 ECTS Credits) Kurs Webbdesign med multimedia, 5p Kurskod Kurstillfälle Kursansvarig lärare Ulf Larsson, Rum

Läs mer

Objektorienterad analys och design

Objektorienterad analys och design Objektorienterad analys och design Objektorienterad analys och design 1 Dagens föreläsning Första delen, innan rasten: Motivation och bakgrund Analys Funktioner Andra delen, efter rasten: Objektorienterade

Läs mer

Projektkaos. Chaos-rapporten. 34% av projekten avslutades i tid och enligt budget... ... 66% misslyckades!

Projektkaos. Chaos-rapporten. 34% av projekten avslutades i tid och enligt budget... ... 66% misslyckades! Projektkaos. Chaos-rapporten 34% av projekten avslutades i tid och enligt budget...... 66% misslyckades! 1 Standish Group, 2003 (www.standishgroup.com) Praxis Hantera krav Använd komponentarkitekturer

Läs mer

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

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? Introduktion till objektorientering Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? jonas.kvarnstrom@liu.se 2016 2014 jonas.kvarnstrom@liu.se

Läs mer

Objektorienterad Systemutveckling 1 (7,5 hp)

Objektorienterad Systemutveckling 1 (7,5 hp) [ sida 1 ] Objektorienterad Systemutveckling 1 (7,5 hp) Provmoment: Ladokkod: Tentamen ges för: Tentamen (5 hp) 21OB1B ASYST13h, NGIMI13h, ADAEK13h Datum och tid: 2015-01-14, kl. 09.00 13.00 Hjälpmedel:

Läs mer

PMM (Process Maturity Metrics) Allmänt. Mätetal för framgångsfaktorer. 1. CM konfigurationsstyrning

PMM (Process Maturity Metrics) Allmänt. Mätetal för framgångsfaktorer. 1. CM konfigurationsstyrning PMM (Process Maturity Metrics) PMM är en metod för att mäta processmognad i utvecklingsprojekt. I korthet går metoden ut på att man utvärderar sin utvecklingsprocess med avseende på ett antal framgångsfaktorer

Läs mer

Outline. Objektorienterad Programmering (TDDC77) Att instansiera en klass. Objekt. Instansiering. Åtkomst. Abstrakt datatyp.

Outline. Objektorienterad Programmering (TDDC77) Att instansiera en klass. Objekt. Instansiering. Åtkomst. Abstrakt datatyp. Objektorienterad Programmering (TDDC77) Föreläsning X: Klass diagram, inkapsling, arv Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Att instansiera en klass Objekt I Man instansierar (skapar

Läs mer

Relationer mellan objekt

Relationer mellan objekt Relationer mellan objekt Att utveckla en applikation När man utvecklar en applikation börjar man självklart inte direkt att programmera. Först måste man analysera problemet och utveckla en design för lösningen.

Läs mer

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor TENTAMEN För kursen DATUM: 2014-12-18 TID: 9 14 Ansvarig för tentamen: Cecilia Sönströd Förfrågningar: 033-4354424 Resultat: Betygsskala: Hjälpmedel: Anslås inom 3 veckor Godkänt 20 p, Väl godkänt 32 p,

Läs mer

Frågor att lösa med SQL mot databasen kursdb_sql Sida 1 av 5

Frågor att lösa med SQL mot databasen kursdb_sql Sida 1 av 5 Frågor att lösa med SQL mot databasen kursdb_sql Sida 1 av 5 1 Frågor mot en tabell och något selektionsvillkor. A Ta fram personnummer, namn, adress och postnummer på personer som bor i Solna! B Ta fram

Läs mer

Objektorienterad programmering, allmänt

Objektorienterad programmering, allmänt Objektorienterad programmering, allmänt Sven-Olof Nyström Uppsala Universitet 17 juni 2005 1 Vilka egenskaper vill vi att program ska ha? Förslag (en partiell lista): De ska... gå snabbt att skriva vara

Läs mer

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

Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt. Vilka egenskaper vill vi att våra program ska ha? Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt Sven-Olof Nyström Uppsala Universitet 17 mars 2005 1. Korrekthet 2. Robusthet 3. Utökbarhet 4. Återanvändbarhet 5. Kompatibilitet

Läs mer

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

Översikt. Programmering tillämpningar och datastrukturer. Vad kursen täcker. Lärare. Rekommenderad litteratur. Kursmål 729G58 (HKGBB7) Översikt Programmering tillämpningar och datastrukturer 729G58 (HKGBB7) Kursinformation Objektorienterad programmering: Klasser och objekt Arv Polymorfism Metoder Programexempel Programmering tillämpningar

Läs mer

Arkitektur Michael Åhs

Arkitektur Michael Åhs Arkitektur Michael Åhs Kalle & Hobbe: En utvecklares drömsystem 1. Vad är arkitektur? 2. Arkitektur i UML Innehåll 3. Utveckla en arkitektur 4. Arkitektur i projektet Del 1 - Vad är Arkitektur? Pattern-Oriented

Läs mer

Scriptprogrammering och avancerad Flash. Ulf Larsson Jon Wåhlstedt

Scriptprogrammering och avancerad Flash. Ulf Larsson Jon Wåhlstedt Institutionen för kommunikation, medier och it Delkursbeskrivning: Scriptprogrammering och avancerad Flash, 7,5 poäng (Script programming and advanced Flash 7.5 ECTS credits) Kurs Scriptprogrammering och

Läs mer

Föreläsning 8 2EMHNWRULHQWHUDG5HDOWLGVSURJUDPPHULQJ UML O2P 2000

Föreläsning 8 2EMHNWRULHQWHUDG5HDOWLGVSURJUDPPHULQJ UML O2P 2000 2EMHNWRULHQWHUDG5HDOWLGVSURJUDPPHULQJ UML och lite mer om OOA (och OOD) - Översikt grundläggande diagram - Kravanalys användningsfall samarbetsdiagram sekvensdiagram meddelandestereotyper tillståndsdiagram

Läs mer

RUP Rational Unified Process. 17 november 2004

RUP Rational Unified Process. 17 november 2004 RUP Rational Unified Process 17 november 2004 RUP Volvo Information Technology, Eva Hådding Volvo Information Technology Volvo IT ingår i Volvo-koncernen Volvo Lastvagnar Volvo Bussar Volvo Anläggningsmaskiner

Läs mer

TDDE10 TDDE11, 725G91/2. Objektorienterad programmering i Java, Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU

TDDE10 TDDE11, 725G91/2. Objektorienterad programmering i Java, Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU TDDE10 TDDE11, 725G91/2 Objektorienterad programmering i Java, Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Ett större exempel på OOP Objektorienterad Analys (OOA)

Läs mer

RUP - Rational Unified Process

RUP - Rational Unified Process IBM Software Group RUP - Rational Unified Process Eva Hådding eva.hadding@se.ibm.com 1 Projektkaos. Chaos-rapporten 28% av projekten avslutades i tid och enligt budget. 49% av projekten drog över de ursprungliga

Läs mer

Är objektorienterad modellering ett måste? (HS-IDA-EA )

Är objektorienterad modellering ett måste? (HS-IDA-EA ) Är objektorienterad modellering ett måste? (HS-IDA-EA-00-409) Anders Johansson (a97andjo@student.his.se) Institutionen för datavetenskap Högskolan i Skövde, Box 408 S-54128 Skövde, SWEDEN Examensarbete

Läs mer

! Webprogrammering. ! Databasteori och praktik. ! Fö, le, la + projekt. ! Examination (tenta, dugga + labb, ! Studera användarna och deras problem

! Webprogrammering. ! Databasteori och praktik. ! Fö, le, la + projekt. ! Examination (tenta, dugga + labb, ! Studera användarna och deras problem Webprogrammering och databaser! Idag: Diverse praktiskt om kursen Webprogrammering Databaser, terminogi Start på ER-modellering! Webprogrammering Kursöversikt! Databasteori och praktik! Fö, le, la + projekt!

Läs mer

DELPROV 1 I DATAVETENSKAP

DELPROV 1 I DATAVETENSKAP Umeå Universitet Datavetenskap Marie Nordström 070502 DELPROV 1 I DATAVETENSKAP Uppgift (poäng) 1 () 2 () 3 () 4 () 5 () 6 () Summa (xx) Inlämnad Poäng Kurs : Datum : 070502 Namn (texta) : Personnummer

Läs mer

729G06 Föreläsning 1 Objektorienterad programmering

729G06 Föreläsning 1 Objektorienterad programmering Översikt Formalia Vad är objektorienterad programmering 729G06 Föreläsning 1 Objektorienterad programmering Definieria klasser Skapa och använda objekt Annika Silvervarg Ciltab, IDA, Linköpings universitet

Läs mer

Databaser. Vad du ska lära dig: Ordlista

Databaser. Vad du ska lära dig: Ordlista Databaser Vad du ska lära dig: Ordlista Använda UML för att modellera ett system Förstå hur modellen kan översättas till en relationsdatabas Använda SQL för att ställa frågor till databasen Använda en

Läs mer

Objektorienterad programmering Föreläsning 8. Copyright Mahmud Al Hakim Agenda (halvdag)

Objektorienterad programmering Föreläsning 8. Copyright Mahmud Al Hakim  Agenda (halvdag) Objektorienterad programmering Föreläsning 8 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda (halvdag) Objektorienterad programutveckling Algoritmer Algoritmkonstruktionerna Relationer

Läs mer

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77) Objektorienterad Programmering (TDDC77) Föreläsning X: Klass diagram, inkapsling, arv Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Outline Instansiering Åtkomst Abstrakt datatyp UML Överlagring

Läs mer

Kapitel 1 Komma igång... 3

Kapitel 1 Komma igång... 3 2014.02.21 1 Kapitel Innehåll... Sida Kapitel 1 Komma igång... 3 Välkommen... 3 Är DDS-CAD Arkitekt installerat?... 5 Operativmiljön Windows... 5 Begrepp... 5 Starta DDS-CAD Arkitekt... 6 Starta ett nytt

Läs mer

Unified Modeling Language UML

Unified Modeling Language UML Unified Modeling Language UML Vad händer idag? Föreläsning Introduktion till UML Objekt-orientering Klasser Objekt Use cases UML-diagram Specifikationer Praktisk övning Skapa enkla UML-diagram 2 Vad är

Läs mer

Objektorientering Klasser

Objektorientering Klasser Objektorientering Klasser VSA110 1 OOA I analysen upprättas: Klassdiagram Objektdiagram Tillståndsdiagram Scenario Användningsfall Sekvensdiagram Användardialoger (skärmbilder) 2 Analys - en översikt Vi

Läs mer

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

Programmering i C++ EDA623 Objektorienterad programutveckling. EDA623 (Föreläsning 5) HT 2013 1 / 33 Programmering i C++ EDA623 Objektorienterad programutveckling EDA623 (Föreläsning 5) HT 2013 1 / 33 Objektorienterad programutveckling Innehåll Grundläggande begrepp Relationer mellan objekt Grafisk representation

Läs mer

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet PROGRAMMERING Ämnet programmering behandlar hur mjukvaror skapas, anpassas och utvecklas samt programmeringens roll i informationstekniska sammanhang som datorsimulering och praktisk datoriserad problemlösning.

Läs mer

SYSTEMUTVECKLING METODER & MODELLER. Suzana Ramadani

SYSTEMUTVECKLING METODER & MODELLER. Suzana Ramadani SYSTEMUTVECKLING METODER & MODELLER 1 Processlinjen Produktlinjen Livscykelmodellen systemutveckling systemering Analys Design Realisering Implementering Förändringsanalys Verksamhetsanalys Förvaltning

Läs mer

Objektorienterad programutveckling i ett nötskal

Objektorienterad programutveckling i ett nötskal Objektorienterad programutveckling i ett nötskal Tommy Olsson, Institutionen för datavetenskap, Linköpings universitet, 204 Detta häfte ger en översikt av grundläggande begrepp inom objektorienterad programutveckling:

Läs mer

Kursplan. Matematiska och systemtekniska institutionen (MSI) Kurskod IVA741 Dnr MSI 99/00:62 Beslutsdatum 2000-03-10. Design av informationssystem

Kursplan. Matematiska och systemtekniska institutionen (MSI) Kurskod IVA741 Dnr MSI 99/00:62 Beslutsdatum 2000-03-10. Design av informationssystem Kursplan Kurskod IVA741 Dnr MSI 99/00:62 Beslutsdatum 2000-03-10 Engelsk benämning Ämne Design of Information Systems Informatik Nivå 1-20 Kursplanen gäller från 2000-01-17 Inplacering i utbildningssystemet

Läs mer

LADOK3 DOMÄNMODELLER. SUNET-veckan, , KTH Mikael Berglund, ITS, Umeå Universitet

LADOK3 DOMÄNMODELLER. SUNET-veckan, , KTH Mikael Berglund, ITS, Umeå Universitet LADOK3 DOMÄNMODELLER SUNET-veckan, 2017-10-18, KTH Mikael Berglund, ITS, Umeå Universitet 2 3 4 5 6 7 8 Stadsplan 2011 togs en stadsplan fram för Ladok3 Stadsplan ~= verksamhetsarkitektur En verksamhet

Läs mer

Objektorienterad programmering Föreläsning 4

Objektorienterad programmering Föreläsning 4 Objektorienterad programmering Föreläsning 4 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webbacademy.se Agenda Introduktion till objektorientering Klasser och Objekt Instansvariabler Metoder Introduktion

Läs mer

Objektorienterad programmering

Objektorienterad programmering 1(5) Objektorienterad programmering och Java Programkurs 7 hp Object Oriented Programming and Java TDDE30 Gäller från: 2018 VT Fastställd av Programnämnden för data- och medieteknik, DM Fastställandedatum

Läs mer

GIS, databasteknik och kartografi. Databasmodellering

GIS, databasteknik och kartografi. Databasmodellering Databasmodellering 1. När vi studerar verkligheten för att beskriva (en del av) den i ett system (inte bara datorer), måste vi göra en modell. 2. Modelleringsverktyget ska ha egenskaper som gör att vi:

Läs mer

TDDE10 TDDE11, 725G90. Objektorienterad programmering i Java, Föreläsning 3 Erik Nilsson, Institutionen för Datavetenskap, LiU

TDDE10 TDDE11, 725G90. Objektorienterad programmering i Java, Föreläsning 3 Erik Nilsson, Institutionen för Datavetenskap, LiU TDDE10 TDDE11, 725G90 Objektorienterad programmering i Java, Föreläsning 3 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Arv Polymorf UML (klassdiagram) 1 Arv Möt tre studenter

Läs mer

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

HT1 2013, FÖRELÄSNING 14 (INFÖR TENTAN) Objektorienterad modellering och diskreta strukturer (EDAF10/EDA061) HT1 2013, FÖRELÄSNING 14 (INFÖR TENTAN) Dagens agenda Admin Tentatid och plats Tillåtet på tentan EDAF10 Föreläsning inför XL-projektet

Läs mer

Kursplanering Objektorienterad programmering

Kursplanering Objektorienterad programmering Kursplanering Objektorienterad programmering Fakta Ämne Programmering Poäng 40 Yh-poäng Kurskod YSYS-OOP Klass Systemutvecklare.NET 2 Syfte och koppling till yrkesrollen Syftet är att få en stabil grund

Läs mer