UML-Light (Note: UML-Light T133, ver. 2004) Finn Overgaard Hansen, IHA
|
|
- Kristian Nielsen
- 8 år siden
- Visninger:
Transkript
1 UML-Light (Note: UML-Light T33, ver. 2004) Finn Overgaard Hansen, IHA Programmering PRG + Semesterprojekter PRJ+PRJ2 Version: Indhold Første del: Introduktion til UML-Light og UML Klasser og objekter Klassediagrammer Tilstandsdiagrammer Sekvensdiagrammer Anden del: Sammenhæng mellem UML-Light og kode Gennemgang af eksempler Slide 2 af 5
2 Introduktion til UML UML (Unified Modeling Language) er en OMG standard defineret i 997 Seneste version er UML.4 UML 2.0 er på vej. OMG (Object Management Group) er en sammenslutning af ca. 800 firmaer ( UML beskriver en standardnotation for objektorienteret udvikling UML beskriver ikke en udviklingsproces eller udviklingsmetode Slide 3 af 5 UML-Light, -++ og UML UML UML-Light++ UML-Light Slide 4 af 5
3 Oversigt over de tre første semestre Objektbaseret Programmering Objektorienteret Programmering Objektorienteret analyse & design PRG I-PRG2 I-PRG3 Semesterprojekt PRJ UML-Light Semesterprojekt I-PRJ2 UML-Light++ Semesterprojekt I-PRJ3 OOA+OOD UML Slide 5 af 5 Objektbaseret og Objektorienteret udvikling Objektbaseret udvikling (UML-Light) Baserer sig på Information Hiding og indkapslingsprincippet Anvender klasser og objekter ved modelleringen Kan implementeres i et ikke objektorienteret programmeringssprog som f.eks. C og assembler Objektorienteret udvikling (UML-Light++,UML) Tilføjer begreber som generalisering/specialisering (nedarvning) og polymorfi (virtuelle operationer i C++) Anvender Use Case teknikken ved kravspecifikation Kræver et objektorienteret programmeringssprog ved kodningen som f.eks. C++, Java eller C# Slide 6 af 5
4 UML-Light diagramtyper De vigtigste UML-Ligth diagrammer er: Klassediagrammer (Class Diagrams) Sekvensdiagrammer (Sequence Diagrams) Tilstandsdiagrammer (State Charts) Derforuden medtager UML-Light også: Deploymentdiagrammer (Deployment Diagrams) kan vise et systems hardwarekomponenter Aktivitetsdiagrammer (Activity Diagrams) anvendes til detaljeret design af en operation Slide 7 af 5 Specifikation og implementering af et modul For et SW modul Blackbox view Specifikation Header Fil (.h) i C og C++ Whitebox view Implementering Kode fil (.c) i C og (.cpp) C++ Figur Slide 8 af 5
5 Indkapslingsprincippet Information Hiding David Parnas 972. Eksempler på indkapsling Slide 9 af 5 Notation for en klasse () Navn (navneord ental) KlasseA attributa attributa2 operationa() operationa2() operationa3() operationa4() Klassens attributter (data) Klassens operationer (funktioner, procedurer) Figur 2 Slide 0 af 5
6 Notation for en klasse (2) Med tilføjelse af synlighed (visibility) KlasseB private public -attributb -attributb2 -operationb4() +operationb() +operationb2() +operationb3() Figur 3 Slide af 5 Et eksempel på en klasse Klasse To Bil objekter Bil -hastighed -gear -omdrejningstal -motorstørrelse +start() +stop() +udkoble() +skiftgear() +kør() +brems() Figur 4 Slide 2 af 5
7 UML Notation for objekter Klasse Objekter Bil -hastighed -gear -omdrejningstal -motorstørrelse +start() +stop() +udkoble() +skiftgear() +kør() +brems() veteranbil:bil jaguar:bil Typen Instanserne Figur 5 Slide 3 af 5 Klasse og C++ kode UML Bil -hastighed -gear -omdrejningstal -motorstørrelse +start() +stop() +udkoble() +skiftgear() +kør() +brems() Specifikation Bil.h class Bil { public: void start(); void stop(); void udkoble(); void skiftgear(); void koer(); void brems(); private: long hastighed; unsigned char gear; float omdrejningstal; int motorstoerrelse; } Slide 4 af 5 void Bil::start() { // kode for start // operation } // etc. Bil.cpp Implementering
8 Komplet specifikation af en klasse Datatype for attributter -attributc: datatype KlasseC +operationc(param: type, param2: type): returtype Parameternavn Parametertype Operationens returtype Figur 6 Slide 5 af 5 Notation for en note Dette er en UML note - her kan man skrive kommentarer til et diagram eller f.eks. til en klasse KlasseB -attributb2 -attributb Noten her forklarer noget om KlasseB +operationb() +operationb2() +operationb3() Figur 8,9 Slide 6 af 5
9 Notation for klassediagram Stereotype <<Utility>> Hovedprogram main() Associationer KlasseA attributa attributa2 operationa() operationa2() KlasseB attributb operationb() operationb2() operationb3() associations navn Multiplicitet KlasseC operationc() Figur 0 Slide 7 af 5 Associtationsbegrebet Bil -hastighed -gear -omdrejningstal -motorstørrelse +start() +stop() +udkoble() +skiftgear() +kør() +brems() styrer Motor Tillader at objekter af disse klasser kommunikerer jaguar:bil v8:motor start start Slide 8 af 5
10 Notations for sekvensdiagram :Hov edprogram objekta:klassea objektb:klasseb objektc:klassec main() operationa() operationb() operationc() objekter OperationB2() operationa2() OperationB3() Meddelelse (kald af en operation) Aktiveringsblok Figur Slide 9 af 5 Notation for tilstandsdiagram Start tilstand Hændelse hændelse 4 Tilstand_0 Tilstand Tilstandsovergang hændelse / aktion Tilstand_ hændelse 2 [betingelse] / aktion 2 Aktion hændelse 3 Slut tilstand Figur 2 Slide 20 af 5
11 Notation for aktivitetsdiagram () Aktivitesdiagram Viser sekvenser og en udvælgelse (if-else) aktivitet Betingelse [logical expression == true] [logical expression == false] Aktivitet aktivitet 2 aktivitet 3 Valg aktivitet 4 Figur 3 Slide 2 af 5 Notation for aktivitetsdiagram (2) Aktivitetsdiagram for en iteration (for eller while løkke) Initier løkkevariabel [løkke betingelse == true] udfør løkke aktivitet Optæl løkkevariabel [løkke betingelse == false] aktivitet 2 Figur 4 Slide 22 af 5
12 Notation for deploymentdiagram Stereotype «node type» UML Node «kommunikationstype» «node type» UML Node 2 Figur 5 Slide 23 af 5 Deploymentdiagram eksempel «micro controller» H8 «RS232» «device» User KeyPad RS232 Connector UART Folie keypad Keypad Controller Figur 6 Slide 24 af 5
13 UML-Light oversigtsdiagram Deploymentdiagram «processor» Node «kommunikation» «Hardware» Node HW Blokdiagram classa classb State A Tilstandsdiagram HW R HW S Klassediagram classc opx() :classa :classb :classc opx() Sekvensdiagram Figur 8 State B Aktivitetsdiagram Slide 25 af 5 :HW R y x HW T Tilstandsdiagram :HW T z Sekvensdiagram State T State T2 De fire primære UML diagramtyper Kravspecifikation med Use Cases OO analyse Arkitektur design Mekanistisk design Detaljeret design Translation Use Case diagrammer UML-Light++ Klassediagrammer Sekvensdiagrammer Tilstandsdiagrammer Kodefiler f.eks. C++/Java eller C UML baseret model af systemet Slide 26 af 5
14 Anden del: Sammenhæng mellem UML-Light og kode + Gennemgang af eksempler Sammenhæng mellem klassediagram og kode <<Utility>> Hovedprogram main() KlasseA attributa attributa2 operationa() operationa2() Hovedprogram.cpp KlasseA.h KlasseA.cpp associations navn KlasseB.h KlasseB.cpp KlasseB attributb operationb() operationb2() operationb3() KlasseC operationc() KlasseC.h KlasseC.cpp Figur 9 Hovedprogram.cpp: KlasseA.cpp: KlasseB.cpp: KlasseC.cpp: #include KlasseA.h #include KlasseA.h #include KlasseB.h #include KlasseB.h #include KlasseC.h #include KlasseC.h Slide 28 af 5
15 Envejs - association KlasseA +operationa() KlasseB +operationb() class KlasseA { public: KlasseA(KlasseB* pb); // Constructor void operationa(); private: KlasseB* pklasseb; // implementerer associationen } Association implementeret vha. en pointer Figur 20 Slide 29 af 5 Implementering af envejs association KlasseA::KlasseA(KlasseB* pb) // constructor operationer { pklasseb= pb; // her indsættes den øvrige initaliseringskode // for klassens øvrige attributter } Som et eksempel på hvordan objekter af KlasseA og KlasseB oprettes og initialiseres, vises her et simpelt main program. int main() { KlasseB objektafklasseb; KlasseA objektafklassea(&objektafklasseb); // nu har vi dannet forbindelsen således at én af // operationerne i KlasseA objektet kan kalde // operationb() i det KlasseB objekt vi har oprettet objektafklassea.operationa(); return (0); } Slide 30 af 5
16 Tovejs - association KlasseA KlasseB KlasseA defineres som før. class KlasseB { public: KlasseB(); // Constructor initassociation(klassea* pa); private: KlasseA* pklassea; // implementerer associationen } Figur 2 Slide 3 af 5 Implementering af tovejs association KlasseA constructoren kommer til at se ud på følgende måde: KlasseA::KlasseA(KlasseB* pb) { pklasseb= pb; pklasseb->initassociation(this); } int main() { KlasseB objektafklasseb; // NB! Skal oprettes først KlasseA objektafklassea(&objektafklasseb); objektafklassea.operationa(); objektafklasseb.operationb2(); return (0); } Slide 32 af 5
17 Eksempel Et simpel minutur UML-Light MinutUr Start 7:23 Stop Reset Minutur der viser minutter og sekunder. Reset knappen nulstiller uret, hvis uret er stoppet. Start knappen starter uret, der optæller tiden og viser denne i minutter og sekunder. Stop knappen stopper uret. Figur 22 Slide 33 af 5 Klassediagram for minutur «utility» Hovedprogram styrer Ur vises på Display benytter poller poller Timer KnapPanel Slide 34 af 5
18 Tilstandsdiagram for klassen Ur Hændelser: reset start stop timeout knaptryk reset/ nulstil() Stoppet /nulstil() start/ timerobj.start(000) stop/ timerobj.stop() Startet Figur 24 timeout/ timerobj.start(000), taelop(), displayobj.vis(min,sec) Slide 35 af 5 Sekvensdiagram start scenario :Hovedprogram :KnapPanel urobj:ur timerobj:timer checkfortast() true /nulstil() Stoppet laestast() start start() start(000) start/ timerobj.start(000) Startet Figur 25 Slide 36 af 5
19 Sekvensdiagram timeout scenario :Hovedprogram :KnapPanel urobj:ur timerobj:timer displayobj:display checkfortimeout() true timeout() start(000) taelop() vis(min,sec) Slide 37 af 5 Sekvensdiagram for minutur :Hovedprogram :KnapPanel urobj:ur timerobj:timer displayobj:display checkfortast() laestast() start() start(000) checkfortimeout() timeout() start(000) taelop() vis(min,sec) Figur 25 Slide 38 af 5
20 <<utility>> Hovedprogram main(): int poller poller Klassediagram for minutur styrer Ur -minutter: int -sekunder: int +start(): void +stop(): void +reset(): void +timeout(): void -nulstil(): void -taelop(): void vises på Display +vis(min: int, sec: int):void KnapPanel +checkfortast(): Boolean +laestast(): int beny tter Timer +checkfortimeout(): Boolean +start(tid: int): void +stop(): void Figur 23 Slide 39 af 5 CASE værktøjer Case værktøj :classa :classb :classc State A ClassA ClassB Views State B ClassC Design Dokumentation ClassA ClassB Model Database ClassC Figur 26 Slide 40 af 5
21 Kravspecifikation vha. Use Cases. Indledning 2. Generel beskrivelse 3. Funktionelle krav 4. Ekstern grænseflade 5. Krav til ydelse 6. Kvalitetsfaktorer 7. Design krav 8. Andre krav 9. Del-levering Use Case Aktør-kontekst diagram Use Case 2 System/ Produkt Use Case diagram... Use Case n Figur 30 Slide 4 af 5 Eksempel 2. - Logikanalysator Adresse A E 0 0 Data X X Tilstand Visning AE00 C3 jmp AE AE02 FE FE FE05 A inc a FE06 B inc b FE07 C3 jmp FE FE09 B B B00 C9 ret nop Konfigurer Start/Stop Figur 37 Slide 42 af 5
22 Deploymentdiagram for logikanalysator «PC» Logik Analysator «µprocessor POD» «µprocessor» Processor under test Se klassediagram over softwarestrukturen på næste slide Figur 38 Slide 43 af 5 Aktør-kontekstdiagram Udvikler Logik Analysator Microprocessor Probe Super bruger Figur 30 Slide 44 af 5
23 Use Case diagram for logikanalysator Udvikler foretag logikanalyse Microprocessor Probe indstil triggerbetingelse <<extend>> <<extend>> udfør måling <<extend>> analyser måledata foretag selvtest Super bruger konfigurer probe Figur 40 Slide 45 af 5 Klassediagram for logikanalysator SW Display viser data fra KontrolPanel styrer visning på opsætter en Konfigurering SampletDataLager styrer LogikAnalysator får opsætning fra gemmer data i Klassediagram uden attributter og associationer styrer Sampler <<Hardware>> MikroprocessorProbe Figur 4 Slide 46 af 5
24 Tilstandsdiagram for klassen LogikAnalysator konfigureringstaster / konfigurering.tast() Konfigurering konfigurer/ blink() start / sampler.start() stop / sampler.stop() Måling konfigurer / blink() måling udført / visdata() start / samper.start() display taster / display.tast() Visning af data Figur 42 Slide 47 af 5 Sekvensdiagram start scenario Figur 43 Slide 48 af 5
25 Sekvensdiagram måling udført scenario Figur 43 Slide 49 af 5 Klassediagram for logikanalysator styrer visning på <<Boundary>> Display aktuelvisning visdata() pilop() pilned() viser data fra <<Boundary>> KontrolPane l indlæstaster() styrer opsætter en LogikAnalysator Konfigurering triggeradresse triggerdata henttriggeradresse() henttriggerdata() pilop() pilned() pilhøjre() pilvenstre() SampletDataLager addresse og data info indsaetdata(adresse,data) hentdata() Klassediagram med attributter og associationer start() stop() konfigurer() målingudført() pilop() pilned() pilhøjre() pilvenstre() styrer Sampler triggeradresse triggerdata start() stop() nyedata() får opsætning fra gemmer data i <<Boundary>> MikroprocessorProbe Figur 44 Slide 50 af 5 enable()
26 Opsummering UML-Light er den delmængde af UML, der kan anvendes til Objektbaseret udvikling UML-Light kan anvendes til design/strukturering af såvel Software- som Hardwaredelen af et projekt UML-Light modellerne af softwaren kan implementeres i f.eks. C++, C eller assembler UML-Light tages i brug på. semester UML-Light++ anvendes på 2. semester ifm. objektorienteret udvikling i C++ Den fulde UML introduceres på 3. semester sammen med en analyse- og designmetode Slide 5 af 5
UML til kravspecificering
UML til kravspecificering UML mini-kompendium - til brug i forbindelse med modellering af kravspecifikationer. Copyright 2006 Teknologisk Institut, IT-Udvikling Aktivitetsdiagram 2/9 Aktion Aktionsnavn
Læs mereHassansalem.dk/delpin User: admin Pass: admin BACKEND
Hassansalem.dk/delpin User: admin Pass: admin BACKEND 1/10 Indledning Dette projekt er den afsluttende del af web udvikling studiet på Erhvervs Lillebælt 1. semester. Projektet er udarbejdet med Del-pin
Læs mereSPU UML note. Systematisk Program- Udvikling med UML. Finn Overgaard Hansen
SPU UML note Systematisk Program- Udvikling med UML Finn Overgaard Hansen Elektro- og IKT-afdelingen Finn Overgaard Hansen, august 2003 Versionshistorie Versionsnr. Dato Initialer Versionen omfatter 0.9
Læs mereSPU UML note. Systematisk Program- Udvikling med UML. Finn Overgaard Hansen
SPU UML note Systematisk Program- Udvikling med UML Finn Overgaard Hansen Ingeniørhøjskolen i Århus Finn Overgaard Hansen, august 2005 Versionshistorie Versionsnr. Dato Initialer Versionen omfatter 0.9
Læs mereMiniprojekt2011. Formålet er at lære og indlære god objektorienteret programudvikling og programmering med Java, samt undervejs at opfylde studiekrav.
Miniprojekt2011 Projektbeskrivelse Der skal fremstilles en lille java application på PC, hvor brugeren kan foretage interaktioner med en simpel database på disken via et grafisk brugerinterface. Formålet
Læs mereSOFTDRINKAUTOMATSTYRING
SOFTDRINKAUTOMATSTYRING PROJEKT DOKUMENTATION GRUPPE 4. SEMESTER PROJEKT VED INGENIØRHØJSKOLEN I ÅRHUS EIT-AFD. 22. DECEMBER 2004 Projektvejleder: Orla Linde Johansen Søren Olesen Søren Rasmussen Runar
Læs mereSOFTWARE DOKUMENTATION
SOFTWARE DOKUMENTATION TEKNOLOGI B OG A PÅ HTX Indhold Dokumentation af software i Teknologi på HTX... 2 Overblik... 2 Kravspecifikation... 2 Blokdiagram... 3 Use Case Diagram... 3 Pseudokode... 4 Dokumentation
Læs mereAAU, Programmering i Java Intern skriftlig prøve 18. maj 2007
AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007 Opgavebesvarelsen skal afleveres som enten en printerudskrift eller som et passende dokument sendt via email til fjj@noea.dk. Besvarelsen skal
Læs mereStruktureret system udvikling Minimodul 1: Introduktion, UML og use cases
Struktureret system udvikling Minimodul 1: Introduktion, UML og use cases Rasmus L. Olsen, 27 februar 2008 Introduktion Kursets hjemmeside http://www.kom.aau.dk/~rlo/ Kursus holder Rasmus L. Olsen Færdiguddannet
Læs mereSoftware Dokumentation
Software Dokumentation Jan Boddum Larsen Teknologi B og A på HTX Dokumentation af software i Teknologi I samfundet sker der en bevægelse mod mere digitale løsninger i teknologi. Det betyder at software
Læs mereIntroduktion til OO* og UML
Introduktion til OO* og UML Struktureret Systemudvikling Jan Bendtsen Automation and Control Indhold Hvad er OO*? UML Essensen af objekt-orienteret analyse og design: klassebegrebet Relationer mellem objekter
Læs mereOpgaven fortsat. Opfølgning på Opgave 2 og Use Cases. Opgaven. Trin 1: Væsentlige begreber. Resultatliste: 100 bryst, herrer
Opfølgning på Opgave 2 og Use Cases originally by Michael R. Hansen modified/extended by Anne E. Haxthausen Informatics and Mathematical Modelling Technical University of Denmark Opgaven fortsat Efter
Læs mereProgram Dokumentation PC Software Skrevet af. Gruppen. Version 1.0
Program Dokumentation PC Software Skrevet af Gruppen. Version 1.0 Indholds fortegnelse 1. INDLEDNING...3 1.1. FORMÅL...3 1.2. REFERENCER...3 1.3. VERSIONSHISTORIE...3 1.4. DEFINITIONER...3 1.5. DOKUMENTATIONENS
Læs mereLektion 3. Grundlæggende programmering i VR
Lektion 3 Grundlæggende programmering i VR Plan for i dag UML Usecase diagrammer Aktivitets diagrammer Klasse diagrammer Udforskning af forskelligt VR og andre måder at udvide virkeligheden på Cardboard
Læs mereSvendeprøve Projekt Tyveri alarm
Svendeprøve Projekt Tyveri alarm Påbegyndt.: 8/2-1999 Afleveret.: 4/3-1999 Projektet er lavet af.: Kasper Kirkeby Brian Andersen Thomas Bojer Nielsen Søren Vang Jørgensen Indholds fortegnelse 1. INDLEDNING...3
Læs mereSoftware Design (SWD) Spørgsmål 1
Spørgsmål 1 Unified Process Du skal give en beskrivelse af Unified Process. Beskrivelsen skal indeholde forklaring på følgende begreber: Phase Iteration Discipline Activity Milestone Artifact Spørgsmål
Læs mereSkriftlig eksamen i Datalogi
Roskilde Universitetscenter Skriftlig eksamen i Datalogi Modul 1 Sommer 1999 Opgavesættet består af 5 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 15% Opgave 2 15% Opgave 3 8% Opgave
Læs mereVejledning til udviklingsprocessen for projekt 2
Vejledning til udviklingsprocessen for projekt 2 Versionshistorik Ver. Dato Initialer Beskrivelse 0.01 17.11.14 KBE Første version 0.02 24.11.14 TFJ Rettet efter 1. review 0.03 26.11.14 KBE Omskrevet analyse
Læs mereSecure O matic. Gruppe 5 2. SEMESTERPROJEKT. Udgave. Accepttest-specifikation
Udgave 2 2. SEMESTERPROJEKT Gruppe 5 Secure O matic Accepttest-specifikation Benjamin Sørensen, 02284 Tomas Stæhr Hansen, 03539 Stefan Nielsen, 02829 Mubeen Ashraf, 9279 Hussein Kleit, 9281 SECURE O MATIC
Læs mereHvem er vi? Kursus Introduktion. Kursuslærerne. Agenda for i dag
Hvem er vi? Kursus Introduktion Anne Haxthausen ah@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark 100 studerende med forskellig baggrund: software teknologi It og Kom
Læs mereProjekt E1PRJ1 Emne: Strukturering Softdrink-Automat Gruppe: 6 Dato: 20. marts 2006 Medlemmer: Benjamin Sørensen, Jacob Nielsen, Klaus Eriksen,
Fag: Projekt E1PRJ1 Emne: Strukturering Softdrink-Automat Gruppe: 6 Dato: 20. marts 2006 Medlemmer: Benjamin Sørensen, Jacob Nielsen, Klaus Eriksen, Mikkel Larsen og Tomas Stæhr Hansen Indholdsfortegnelse
Læs mereAndreas Nordbek & Kristoffer Skude Jensen. DMX Styring 31-05-2010. Side 1 af 15
Andreas Nordbek & Kristoffer Skude Jensen DMX Styring 31-05-2010 Side 1 af 15 Indholdsfortegnelse 1 Indledning... 3 2 DMX... 4 3 Arkitektur... 5 4 Hardware design... 6 4.1 SPI... 9 5 Software... 10 5.1
Læs mereUgeseddel 4 1. marts - 8. marts
Ugeseddel 4 1. marts - 8. marts Læs følgende sider i kapitel 6 i lærebogen: s. 233 258 og s. 291 317 (afsnit 6.3 overspringes). Begynd at overveje, hvad afleveringsopgaven skal omhandle. Læs vejledningen,
Læs mereVelkommen til. Kravspecifikation i Softwareudvikling Workshop hos Brüel & Kjær. 14. september 2012, 9.30 12.30
Velkommen til Kravspecifikation i Softwareudvikling Workshop hos 14. september 2012, 9.30 12.30 Flemming Hansen, IT innovation e-mail: flemming.hansen@it-innovation.dk Kravspecifikation i softwareudvikling,
Læs mereVideregående Programmering for Diplom-E Noter
Videregående Programmering for Diplom-E Noter 1. Uddelegering Ét af de væsentlige principper i objektorienteret programmering er, at enhver klasse selv skal kunne "klare ærterne". Enhver klasse skal altså
Læs mereEfter installation af GEM Drive Studio software fra Delta s CD-rom, skal hoved skærmbilledet se således ud: (koden til administrator adgang er: admin)
Hurtig opstart af Infranor XtrapulsPac-ak drev: Dette er en enkelt og kortfattet vejledning i opsætningen af XtrapulsPac-ak driver til anvendelse i stand-alone mode. Ingen Profibus forbindelse. For senere
Læs mereAbstrakte datatyper C#-version
Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Abstrakte datatyper C#-version Finn Nordbjerg 1/9 Abstrakte Datatyper Denne note introducerer kort begrebet abstrakt datatype
Læs mereArkitekturdokument for Cruise Control
Arkitekturdokument for Cruise Control Cruise International Revisions historie Dato Version Forfatter Beskrivelse 2.10.2001 0.91 FOH Første version 17/03/09 1.0 KG Afs. 1 og 2 indsat (- 2.1) 15/05/09 1.1
Læs mereObjektorienteret design med arv og polymorfi:
Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Objektorienteret design med arv og polymorfi: Substitutionsprincippet Composite Design Pattern Finn Nordbjerg Side 1 Objektorienteret
Læs mereLær Python - Dag 4, modul 2 Objektorienteret programmering
Lær Python - Dag 4, modul 2 Objektorienteret programmering Simon J. Larsen 28. oktober 2017 Institut for Matematik og Datalogi Metoder Metoder Indtil videre har vi kun brugt objekter til at gemme værdier.
Læs mereKursuskatalog 2012 TwinCAT Basic og Extended
Kursuskatalog 2012 TwinCAT Basic og Extended Basic Modul 1 Software Kursus K120101 K120102 K120103 K120104 K120105 K120106 Dato 31.1-1.2.12 6.-7.3.12 8.-9.5.12 21.-22.8.12 2.-3.10.12 20.-21.11.12 Modul
Læs mereLilleby Kommunebibliotek
Lilleby Kommunebibliotek Første projekt i Systemudvikling Arne Jørgensen, Christian Skovgaard, Lotte Simonsen og Sonny Petersen 3. november 2003 Indledning... Problemformulering... Problemanalyse... Projektafgrænsning...
Læs mereStruktureret system udvikling Minimodul 2: UML og use cases
Struktureret system udvikling Minimodul 2: UML og use cases Rasmus L. Olsen, 4 februar 2011 1 Evalueringen af Struktureret SystemUdvikling Udgangspunktet for evalueringen af kurset baserer sig på de opgaver
Læs mereSoftware Design (SWD) Spørgsmål 1
Spørgsmål 1 Unified Process Du skal give en beskrivelse af Unified Process. Beskrivelsen skal indeholde forklaring på følgende begreber: Phase Iteration Discipline Activity Milestone Artifact Spørgsmål
Læs mereIndholdsfortegnelse for kapitel 3
Indholdsfortegnelse for kapitel 3 Kapitel 3 Design............................................................ 2 Database........................................................... 3 ER-diagram.................................................
Læs mereCost-effektivt Design Med UML 16. oktober 2006
Cost-effektivt Design Med UML 16. oktober 2006 I det følgende beskrives hvordan mindre og mellemstore danske udviklingsvirksomheder, der ikke har en etableret og objektorienteret designproces og tilhørende
Læs mereSekvensafstand DM34 - Eksamensopgave. Jacob Aae Mikkelsen
Sekvensafstand DM34 - Eksamensopgave Jacob Aae Mikkelsen 19 10 76 kokken@grydeske.dk 27. maj 2005 Resumé Rapporten her beskriver tre forskellige rekursive metoder til at sammenligne tekst strenge med.
Læs mereProgrammering i C Intro og grundlæggende C 5. marts 2007
Programmering i C Intro og grundlæggende C 5. marts 2007 Mads Pedersen, OZ6HR mads@oz6hr.dk Plan for kurset Ma. 5/3: Ma. 19/3: Ma. 2/4: To. 12/4: Formål, intro, grundlæggende Videre, sprogkonstruktioner
Læs mereGrundlæggende OOA - OOD
Grundlæggende OOA - OOD Dette kursus henvender sig til personer, der har lille eller ingen erfaring med softwareudvikling. Med udgangspunkt i UML opbygges et solidt kendskab til softwareudviklingens kunst
Læs mereUmbrello UML Modeller-håndbogen
2 Indhold 1 Indledning 7 2 UML, det basale 8 2.1 Om UML........................................... 8 2.2 UML-elementer....................................... 9 2.2.1 Brugstilfældediagram...............................
Læs mereProjekt rapport. for. Zigbee kommunikation
Projekt: Zigbee kommunikation Dato: 24-02-2010 Afleverings Dato: 04-06-2009 Titel: Projekt rapport for Zigbee kommunikation 6. semester projekt i WEM1 ved Ingeniørhøjskolen i Århus Gruppe 2: 06709 Sean
Læs mereKlasser og objekter. (Afsnit i manualen)
Klasser og objekter (Afsnit 4 + 5 i manualen) Grundbegreber Klasser og objekter beskrivelse oprettelse Attributter og metoder tilstand opførsel Indkapsling afskærmning datarepræsentationsuafhængighed Klasser
Læs meredintprog Manual Revision: 1241 August 24, 2010 I Introduktion 3 1 Notation 3 II Begreber 4 2 Grundbegreber om programmering 4
dintprog Manual Revision: 1241 August 24, 2010 Indhold I Introduktion 3 1 Notation 3 II Begreber 4 2 Grundbegreber om programmering 4 3 Grundbegreber om modellering 4 III Sprogkonstruktioner 5 4 Klasser
Læs mereKursus i OOP og Java. Kursus i Objektorienteret programmering i Java
Kursus i OOP og Java Kursus i Objektorienteret programmering i Java Åben Dokumentlicens Dette foredragsmateriale er under Åben Dokumentlicens (ÅDL) Du har derfor lov til frit at kopiere dette værk Bruger
Læs mereVersion marts 2017 Torben Gregersen Vejledning til gennemførelse af semesterprojekt 1
Version 1.7 24. marts 2017 Torben Gregersen tg@ase.au.dk Vejledning til gennemførelse af semesterprojekt 1 Indholdsfortegnelse Indledning... 3 1. Samarbejde i gruppen.. 3 1.1 Personlige ressourcer.. 3
Læs mereSkriftlig eksamen i Datalogi
Roskilde Universitetscenter side 1 af 9 sider Skriftlig eksamen i Datalogi Modul 1 Vinter 1999/2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 5% Opgave 2
Læs mereKursusgang 11. Oversigt: Sidste kursusgang Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing
Kursusgang 11 Oversigt: Sidste kursusgang Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing Design af brugerflader 11.1 Samme sted Forskellige steder Sidste kursusgang Samtidigt
Læs mereForelæsning Uge 1 Torsdag
Forelæsning Uge 1 Torsdag Objekters tilstand og opførsel Java og BlueJ Skabelse af objekter (via new-operatoren) Iteration (gentagelser) og parametrisering Java's for løkke Parametre i metoder Forskellige
Læs mereb) Udvid din implementation af forme til at understøtte.equals. To objekter af samme form er ens hvis de har samme værdier i felterne.
Exercise 1: Opgave 9.1 på CodeJudge. a) Lav klasserne Cirkel, Rektangel og Kvadrat, som implementerer vedhæftede interface From.java (se CodeJudge). Lav Rektangel før du laver Kvadrat. Kan du bruge nedarvning
Læs mereEksempel: et ordresystem note 5 Lagdeling s. 1
Eksempel: et ordresystem note 5 Lagdeling s. 1 Eksempel: et ordre-system NiceHair er et firma, som sælger udstyr, inventar og frisørartikler til frisørsaloner over hele landet. Det er ejet af et ægtepar
Læs mereKursuskatalog 2013 TwinCAT Basic og Extended
Kursuskatalog 2013 TwinCAT Basic og Extended Kursusoversigt 2013 - Basic Modul 1 Software Kursus K130101 K130102 K130103 K130104 K130105 Dato 29.- 30.01.13 05.-06.03.13 07.-08.05.13 27.-28.08.13 22.-23.10.13
Læs mereModel og metode til programudvikling. Om undertegnede... Struktureret Systemudvikling. Dagens menu... Tankevækkende erfaringer med systemudvikling...
Model og metode til programudvikling 2004 minimodul 11: Struktureret/Systematisk System Udvikling Kursusholder: Ove Andersen Om undertegnede... Ove Andersen, civ. ing., 1989, ph.d. 2003 arbejdet på diverse
Læs mereFag: Projekt E1PRJ1 Emne: Kravspecifikation Softdrink-Automat Gruppe: 6 Dato: 10. april 2003 Medlemmer: Benjamin Sørensen, Joanna Christensen, Jacob
Fag: Projekt E1PRJ1 Emne: Kravspecifikation Softdrink-Automat Gruppe: 6 Dato: 10. april 2003 Medlemmer: Benjamin Sørensen, Joanna Christensen, Jacob Nielsen, Jesper Kock, Klaus Eriksen, Mikkel Larsen og
Læs mereTabelbegrebet. Klassediagrammer (III) Oversigt. Anvendelse af Tabeller. Tabeller og qualified associations
Tabelbegrebet Klassediagrammer (III) Tabeller og qualified associations originally by Michael R. Hansen modified/extended by Anne E. Haxthausen Informatics and Mathematical Modelling Technical University
Læs mereArduino Programmering
Microcontroller, Arduino I teknologi skal vi lære at lave programmer til uc for at have muligheden til eksamen at kunne lave intelligente el-produkter. I hvert fald skal vi have set mulighederne, og forstået
Læs mereSynopsis. Hardi Bootlader m. Java ME
Projektbeskrivelse KBK 24.11.2009 Side 1 af 6 --- ooo --- Synopsis for IHA Kursus : ITJEM1, efterår 2009 Navn: Kåre Bach Kjeldsen Studienummer: AU9215 Oprettet den 24/11 2009 --- ooo --- Version Dato Tekst
Læs mereModel og Metode til Programudvikling. Jens Dalsgaard Nielsen
Model og Metode til Programudvikling v/ Jens Dalsgaard Nielsen 1 Hvem er vi? Jens Dalsgaard Nielsen, Afd for Proceskontrol, I8 Distribuerede RT-Systems group Realtid, kerner, operativsystemer, netværk,..
Læs mereObjektorientering. Programkvalitet
1 PROSA-Bladet nr. 4 1993 Objektorientering = Programkvalitet? Af Finn Nordbjerg, adjunkt ved Datamatikeruddannelsen, Aalborg Handelskole 1. Indledning Objektorientering er blevet et edb-fagets mest udbredte
Læs mereForelæsning Uge 2 Torsdag
Forelæsning Uge 2 Torsdag Niveauer af programbeskrivelser Statiske / dynamiske beskrivelser Klassevariabler og klassemetoder Variabler og metoder der et tilknyttet klassen (i stedet for at være tilknyttet
Læs mereLøsningsforslag til Camp Let. Case Beskrivelse: Camp Let
Løsningsforslag til Camp Let Case Beskrivelse: Camp Let Firmaet Camp Let har til formål at udleje forskellige typer transportable ferieboliger. Det drejer sig i øjeblikket om campingbusser, campingvogne,
Læs mereIntroduktion. Grundlæggende programmering Lektion 1
Introduktion Grundlæggende programmering Lektion 1 Introduktion Underviseren, kurset og stedet Introduktion Underviseren Erik Weber-Lauridsen erwl@eal.dk Vokset op med IT Programmeret siden han var 11
Læs mereForelæsning Uge 1 Torsdag
Forelæsning Uge 1 Torsdag Objekters tilstand og opførsel Java og BlueJ Skabelse af objekter (via new-operatoren) Iteration (gentagelser) og parametrisering Java's for løkke Parametre i metoder Forskellige
Læs mereEasyRun En løbers bedste ven
En løbers bedsteven Anders Arnfast 06525, Martin Søberg 0655, Ken Falk 06504 09 . INDHOLD. Indhold... 2 2. Introduktion... 3 Opsætning... 3 3. System arkitekturdesign... 4 4. Hardware Design... 5 Ethernet
Læs mereAlle dip 1 7 sættes til On for at opnå stand-alone operation fra PC.
Hurtig opstart af Infranor CD1 p og pm: Dette er en enkelt og kortfattet vejledning i opsætningen af CD 1 p og pm driver til anvendelse i stand-alone mode. Ingen Profibus forbindelse. For senere opkobling
Læs mereLær Python - Dag 4, modul 1 Objektorienteret programmering
Lær Python - Dag 4, modul 1 Objektorienteret programmering Simon J. Larsen 28. oktober 2017 Institut for Matematik og Datalogi Objektorienteret programmering Hvad er objektorienteret programmering? Vi
Læs mereVersion september 2019 Samuel Thrysøe Vejledning til gennemførelse af semesterprojekt 1
Version 1.05 10. september 2019 Samuel Thrysøe sat@ase.au.dk Vejledning til gennemførelse af semesterprojekt 1 Indholdsfortegnelse INDLEDNING... 3 1. SAMARBEJDE I GRUPPEN... 3 1.1. PERSONLIGE RESSOURCER...
Læs mere30 Objekt-orienteret Programmering i Andre Sprog.
30 Objekt-orienteret Programmering i Andre Sprog. Abstrakte datatyper i Pascal. Abstrakte datatyper i Modula og Ada. C++ Overordnet organisering Instantiering og initialisering. Interfaces. Nedarvning.
Læs mereUndervisningsplan. Side 1 af 9. Termin Rybners Tekniske Gymnasium. Uddannelse. Fag og niveau. Informationsteknologi B
Undervisningsplan Termin 2015-2016 Institution Uddannelse Fag og niveau Lærer(e) Hold Rybners Tekniske Gymnasium HTX Informationsteknologi B Jeppe Moritz Led, Jens Ahlmann Hansen 8HX215ema Oversigt over
Læs mereCurriculum Vitae. Uddannelse: 2001 Civilingeniør fra Danmaks tekniske universitet, fagprofil: styring og regulering.
Curriculum Vitae Navn Gitte Brunn Fugmann Adresse Mosegård Park 9 3500 Værløse. Telefonnr +45 3927 7371 E-mail gbr@fugmann.net Fødselsdato 24. april 1974 Fødselssted Rigshospitalet, København Ægteskabelige
Læs mereCURRICULUM VITAE. Personlige oplysninger. Michael Alrøe. Uddannelse. Kurser og efteruddannelse. Michael Alrøe. Navn Fødselsår 1964 LinkedIn
CURRICULUM VITAE Personlige oplysninger Navn Fødselsår 1964 LinkedIn Michael Alrøe http://www.linkedin.com/in/alroe Uddannelse 1988 Dataingeniør, Ingeniørhøjskolen Århus Teknikum 1985 Student (Matematik/Fysik),
Læs mereDen forudsætter kendskab til C++ og lidt kendskab til SQL og MySQL C API.
Denne guide er oprindeligt udgivet på Eksperten.dk Brug af MySQL i C++ Denne artikel bygger ovenpå artiklen "MySQL C API" og forklarer hvordan man kan programmere mere objekt orienteret. Den forudsætter
Læs mereMicrocontroller, Arduino
Microcontroller, Arduino Programmerbar elektronik. uc Vi skal lære at lave programmer til uc for at kunne lave el-produkter. Forstå princippet i programmering af en uc og se mulighederne. Programmeringen
Læs mereKravspecifikation For. Gruppen
Kravspecifikation For Gruppen Indholdsfortegnelse 1. INDLEDNING...3 1.1 FORMÅL...3 1.2 REFERENCER...3 1.3 LÆSEVEJLEDNING...3 2. GENEREL BESKRIVELSE...4 2.1 SYSTEM BESKRIVELSE...4 2.2 SYSTEMETS FUNKTION...4
Læs mereAutomatisk Vandingssystem
Automatisk Vandingssystem Projektdokumentation Aarhus Universitet Gruppe 6-3. Semester - F15 vejleder: Michael Alrøe dato: 28-05-2015 Lærke Isabella Nørregård Hansen - 201205713 - IKT Kasper Sejer Kristensen
Læs mereFlowchart og Nassi ShneidermanN Version. Et flowchart bruges til grafisk at tegne et forløb. Det kan fx være et programforløb for en microcontroller.
Flowchart Et flowchart bruges til grafisk at tegne et forløb. Det kan fx være et programforløb for en microcontroller. Et godt program til at tegne flowcharts med er, EDGE-Diagrammer, eller Smartdraw.
Læs mereMircobit Kursus Lektion 3 (Du skal her vælge Lets Code Og nederst Microsoft Block Editor.)
Mircobit Kursus Lektion 3 http://microbit.org/ (Du skal her vælge Lets Code Og nederst Microsoft Block Editor.) I sidste lektion var der en opgave man selv skulle prøve at løse. Man skulle lave et tabel
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2013 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 5. marts, 2013 Dette projekt udleveres i to dele. Hver del har sin deadline, således
Læs mereSoftware Construction 1. semester (SWC) januar 2014 Spørgsmål 1
Spørgsmål 1 Grundlæggende objektorienterede begreber o Klasse (class) o Objekt (object) o Metode (method), herunder return type og parametre o Instansvariable (instance variables) & egenskaber (properties),
Læs mereDatatekniker med programmering som speciale
Datatekniker med programmering som speciale H2 H1 varer ti uger bestående af ti uddannelsesspecifikke fag. Indhold På H2 er der fokus på at integrere Objektorienteret Programmering i dine programmer. Fagene
Læs mereAutomatisk Vandingssystem
Automatisk Vandingssystem Projektdokumentation Aarhus Universitet Gruppe 6-3. Semester - F15 vejleder: Michael Alrøe dato: 28-05-2015 Lærke Isabella Nørregård Hansen - 201205713 - IKT Kasper Sejer Kristensen
Læs mereDr.Lavoisier BRUGERVEJLEDNING ILT - OVERVÅGNING VER. 1.03
Dr.Lavoisier ILT - OVERVÅGNING BRUGERVEJLEDNING VER. 1.03 INDHOLDSFORTEGNELSE 1.1 Kvittering ved alarm.... 3 1.2 Indstilling, ændring af værdier, generelt........................................ 3 1.3
Læs mereWEM1 Projekt. Bluetooth-Remote. Anders Bilde (06740) Kim Thomsen (06768) Peter Bertelsen (05210)
Bluetooth-Remote Winamp WEM1 Projekt Anders Bilde (06740) Kim Thomsen (06768) Peter Bertelsen (05210) IHA d. 4. juni 2009 0 Indholdsfortegnelse Figuroversigt... 2 Indledning... 3 System introduktion...
Læs mereeducasoft - en professionel samarbejdspartner med speciale i uddannelse!
Velkommen til educasoft's hjemmeside educasoft - en professionel samarbejdspartner med speciale i uddannelse! Professionelle undervisere Undervisning i virksomheden Undervisning dag/aften eller week-end
Læs mereSpecialiseringen Rapport Lavede Af Rasmus R. Sørensen Side 1 af 6
Side 1 af 6 Indholdsfortegnelse INDHOLDSFORTEGNELSE 1 INTRO 3 STARTEN AF SPECIALISERINGEN 3 ANKOMST TIL SKOTLAND 4 DATABASER 5 NETVÆRK 5 INTERAKTION 5 AFSLUTNING AF SPECIALISERINGEN 5 KONKLUSION 6 Side
Læs mere2. Metode. 2.1 Interessentanalyse Interessenterne i projektet er vist i nedenstående figur: Aftalekalenderprojektet. Indledning
2. Metode Indledning Projektet er udført med flg. faser: Foranalyse (uden iterationer) Analyse (udarbejdelse af kravspecifikation afsnit 9.1, herunder use case beskrivelser afsnit 9.2) Design af skærmbilleder
Læs mereLektion 2. Grundlæggende programmering i VR
Lektion 2 Grundlæggende programmering i VR Plan for i dag Introduktion til Unity Vi laver vores første programmer Introduktion til C# Vi koder vores første af meget få ting uden Unity Behandling af data
Læs mereLavet af Danni jensen og David Olsen
Projekt Delfin Lavet af Danni jensen og David Olsen 19/5-2008 Indholdsfortegnelse. Side 1: Indholdsfortegnelse og forord. Side 2: Kravsliste. Side 3: Use Case Model. Side 4: Formandens aktørbeskrivelse
Læs mereProgrammering i C. Lektion september 2009
Programmering i C Lektion 1 8. september 2009 Målgruppe Motivation Indhold Form Materiale 2 / 47 Kursusintroduktion 1 Målgruppe 2 Motivation 3 Indhold 4 Form 5 Materiale Målgruppe Motivation Indhold Form
Læs mereKursusarbejde 1 Grundlæggende Programmering. Arne Jørgensen, 300473-2919 klasse dm032-1a
Kursusarbejde 1 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 3. oktober 2003 Kode //File Name: kaalhovede.cc //Author: Arne Jørgensen //Email Address: arne@arnested.dk, arnjor@niels.brock.dk
Læs mereSoftware Design (SWD) Spørgsmål 1
Spørgsmål 1 Unified Process Du skal give en beskrivelse af Unified Process. Beskrivelsen skal indeholde forklaring på følgende begreber: Phase Iteration Discipline Artifact Milestone Du skal relaterer
Læs mereObjektorienteret Programmering
Objektorienteret Programmering Struktureret Systemudvikling Jan Bendtsen Automation and Control Indhold Lidt om programmeringssprog Klasser i Java Klasser i C++ Oversættelse og kørsel af kode Et eksempel:
Læs mereObjects First with Java A Practical Introduction Using BlueJ
Objects First with Java A Practical Introduction Using BlueJ En introduktion til objektorienteret programmering for begyndere ud fra et software engineering aspekt Om at programmere i Java, ikke om værktøjet
Læs mereAlgoritmeskabeloner: Sweep- og søgealgoritmer C#-version
Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version Finn Nordbjerg 1/9 Indledning I det følgende introduceres et par abstrakte
Læs mereAssignment #5 Toolbox Contract
Assignment #5 Toolbox Contract Created by: René Kragh Trine Randløv E mail address cph rk70@cphbusiness.dk 23 11 2014 1 Introduktion Dette dokument indeholder en vertikal kontrakt for et system som skal
Læs mere2a. Conceptual Modeling Methods
ICT Enhanced Buildings Potentials IKT og Videnrepræsentationer - ICT and Knowledge Representations. 2a. Conceptual Modeling Methods Cand. Scient. Bygningsinformatik. Semester 2, 2010. CONTENT Conceptual
Læs mereForelæsning Uge 2 Torsdag
Forelæsning Uge 2 Torsdag Java syntax og style guide Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Brug
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 29. februar, 2016 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereAutomatisk Vandingssystem
Automatisk Vandingssystem Projektdokumentation Aarhus Universitet Gruppe 6-3. Semester - F15 vejleder: Michael Alrøe dato: 28-05-2015 Lærke Isabella Nørregård Hansen - 201205713 - IKT Kasper Sejer Kristensen
Læs mereForelæsning Uge 2 Torsdag
Forelæsning Uge 2 Torsdag Niveauer af programbeskrivelser Statiske / dynamiske beskrivelser Klassevariabler og klassemetoder Variabler og metoder der et tilknyttet klassen (i stedet for at være tilknyttet
Læs mereViditronic NDVR Quick Guide. Ver. 2.0
Viditronic NDVR Quick Guide Ver. 2.0 1 Indholdsfortegnelse 1. HOVEDMENU 3 1.1 START 5 1.2 AKTIVITETSINDIKATOR: 7 1.3 INFORMATIONS VINDUE: 7 1.4 PTZ KAMERA KONTROL: 7 1.5 SKÆRMMENU 8 1.5.1 AKTIVER BEVÆGELSE:
Læs mere