13 Objekt-orienteret Design.
|
|
- Malene Bjerre
- 7 år siden
- Visninger:
Transkript
1 13 Objekt-orienteret Design. Analyse i forhold til design. Programbeskrivelse og designbeskrivelse. Sømløs udvikling. Design i forhold til OO Eiffel programmering. Kategorisering af klasser i et design. Design beskrivelsessprog. Statisk model. Dynamisk model. Dette kapitel udtrykker generelt nogle synspunkter og tanker om design fra et programmeringsperspektiv. Mere specifikt afspejler kapitlet nogle designmæssige forhold i forhold til det programmeringssprog, som vi er optaget af på dette kursus, nemlig Eiffel. Analyse og programmering er er rimelig velforståede aktiviteter. Men det opleves af mange som lidt for brutalt at kaste sig over programmering efter en overstået analysefase. Derfor er det efterhåndet vundet frem, at efter analyser kommer der en design-fase, hvorefter man (endelig) kan programmere selve systemet. Set fra et lidt dogmatisk programmeringsperspektiv kan man godt påstå, at design blot er et nyt modeord for det som altid har været den store udfordring i programmering: at få struktueret sit program hensigtsmæssigt Design-notationen, som foreslåes i sidste halvdel af dette kapitel, stammer fra artiklen Jean-Marc Nerson, "Extending Eiffel towards O-O analysis and Design". 187
2 Design i forhold til Analyse. Analyse er rettet mod problemet. Forståelse af problemet. Løsrevet fra teknologi. Design er rettet mod løsningen af problemet. Overordnet beskrivelse af programmet og dets udførelse. - Overskuelighed frem for detaljer. Sproguafhængig? Knyttet til teknologien, som løsningen baseres på. Brugergrænseflade Lagring af data Programmeringssprog er primært rettet mod beskrivelse af aspekter, som har en semantisk betydning. Undertiden er vi interesseret i -- under designbeskrivelser -- at beskrive aspekter, som ikke lader sig beskrive gennem programmeringssproget. Designsprogets opgave er således også at understøtte beskrivelse af væsentlige aspekter, sondringer og strukturer, som ikke kan fastholdes i programmet gennem programmeringssproget. Som eksempler kan nævnes følgende: Aggregering kan i Eiffel bedst beskrives ved brug af ekpanderede typer, men i visse situationer vil vi også ønske at realisere aggregering ved brug af referencer. Dette kan ikke udtrykkes i programmeringssproget. I OO programmeringssprog er klasser organiserede i klassehierarkier. Der er dog også behov for andre organiseringer, såsom gruppering. Eiffel sproget understøtter ikke dette. (Til gengæld understøtter Eiffel omgivelsen klynger af klasser). Nogler forfattere mener, at sproguafhængighed i designbeskrivelserne er væsentlig. Som det vil fremgå af det følgende, kan der sige både "for og imod" omkring dette. 188
3 Design- og programbeskrivelser (1). Genstandsområde: Formaliseringsgrad: statiske aspekter formel dynamiske aspekter uformel Udtryksform: tekstuel grafisk Detaljeringsgrad: detaljeret overordnet Genstandsområde: Formaliseringsgrad: Udtryksform: Detaljeringsgrad: Program x x x x Design x x x (x) x x Det er væsentlig ikke at misforstå sondringen mellem statiske og dynamiske aspekter: De dynamiske aspekter er knyttet til programudførelse. De statiske aspekter er knyttet til vores traditionelle forståelse af programbeskrivelse. I den statiske programbeskrivelse centreres interessen om klasser; når vi tænker konkret om et objekt-orienteret program centreres interessen om objekter. Det kan være et problem i vore beskrivelser, at objekter kun optræder indirekte i vore beskrivelser. Man kan forestille sig beskrivelsesformer, hvor objekter optræder på en langt mere direkte måde. En formel beskrivelse kan gives en præcis betydning (en præcis semantik). Dette er langt vanskeligere for en uformel beskrivelse, der som oftest er baseret på formuleringer i naturlig sprog. Nederst på denne side er vist, hvordan programbeskrivelser og designbeskrivelser typisk vil fordele sig på de fire beskrivelseskarakteristika. 189
4 Design- og programbeskrivelser (2). Sproget, som anvendes til udtrykkelse af designet er 1. uafhængigt af programmeringssproget. a. designet kan programmeres i mange forskellige sprog. b. risiko for usammenligneligheder mellem design- og programmeringssprog. 2. afhængig, men separat fra programmeringssproget. a. sikrer god sammenhæng mellem programmeringssprog og designsprog. b. giver god mulighed for "forward-" såvel som "reverse enginering". 3. en del af programmeringssproget a. i en simple programmeringsomgivelse bliver designsproget tekstuelt, og en delmængde af programmeringssproget. b. i en avanceret programmeringsomgivelse kan program- og designbeskrivelserne være forskellige syn af den samme interne repræsentation. På denne slide diskuterer vi tre mulige forhold mellem designbeskrivelser og programbeskrivelser. Ad 2. Der er en sammenhæng mellem designsprog og programmeringssprog, som udmønter sig i, at ethvert design kan transformeres til et programskelet, og ethvert program kan transformeres til et design. Man skal bemærke, at i og med, at der er tale om to forskellige sprog i hver deres repræsentation, vil et design og et program kunne blive inkonsistente. "Forward engineering" betyder i denne sammenhæng, at en designbeskrivelse transformeres til et skelet af en programbeskrivelse. "Reverse engineering" betyder, at en designbeskrivelse kan udtrækkes af et program. Sidstnævnte er f.eks. relevant, i det tilfældet at et program er fremkommet "på gammeldags vis", uden udafbejdelse af egentlig designbeskrivelse. Reverse engineering er også nyttig, hvis et design er transformeret til programbeskrivelse, og derefter videreudviklet med hensyn til aspekter, som påvirker designet. Det er da nyttigt, at kunne udtrække designet fra programmet. Ad 3. Idet design og program her udtrykkes i det samme sprog (eller i det avancerede tilfælde deler intern repræsentation) er der ikke som oven for risiko for inkonsistens mellem programmet og designet. 190
5 Sømløs udviklingsproces. En udviklingsproces kaldes sømløs ( Seamless ) hvis der ikke er kantede og ubehagelige overgange mellem processens faser. Betegnelsen er en metafor, som nok stammer fra tekstilbranchen snarere end fra tømrer/snedkerbranchen. Sømløshed i udviklingsprocessen fra analyse til programmering: Udnyttelse af objekt-orienterede ideer hele vejen igennem giver færre søm. Tæt tilknytning mellem design- og programmeringssprog giver færre søm. Befordrer genbrugelighed mellem processens faser. Øger produktiviteten. Sømløshed er et forsøg på oversættelse af den mere og mere hyppigt anvendte engelske betegnelse seamlessness. Man kan observere sammenhængen mellem sømløshed og den tredie af punkterne på den forrige slide om integration af programmeringssprog og designsprog. Jo tættere de to formalismer er på hinhanden, jo færre søm bliver der mellem disse faser i udviklingsprocessen. 191
6 Hvilke dele af OO Programmering fra PS1 er Design? Klasser som dataabstraktion Klasseinvariant samt pre- og postbetingelser af eksporterede operationer Klassens klientinterface Organisering af klasser i et nedarvningshierarki Abstrakte klasser Generiske klasser Grov formulering: En samling Eiffel klasser uden kroppe af operationer udgør en designbeskrivelse. Abstrakte præsentationer, som er resultatet af short, er designbeskrivelser. På denne side diskuterer vi situation 3 fra forrige slide. Altså situationen, hvor Eiffel anvendes som et design sprog. Listen af sproglige egenskaber, som er opremset øverst i billedet, angiver hvilke dele af Eiffel, der bidrager til et designsprog. 192
7 Klasserne i Objekt-orienteret Design. Problem-orienterede klasser Stammer fra analysen. Skal bearbejdes, udvides og reorganiseres i designfasen. Basisklasser Klasser som afspejler fundamentale datastrukturer. Klasser som understøtter ekstern lagring. Applikationsklasser Ikke dataabstraktioner, men derimod indkapslinger af applikationens procedurelle aspekter. Brugergrænseflade klasser 193
8 Beskrivelsessprog til OO design. Statisk model: Klasse symboler. Klasse Abstrakt klasse * Generisk klasse Klasse, hvis objekter er persistente TABEL [T] Genbrugt klasse ARRAY [T] Rodklasse PROGRAM Det grafiske sprog, hvis elementer bliver beskrevet på denne og følgende sider, er knyttet til Eiffel. Sproget er beskrevet i artiklen "Extending Eiffel Towards O-O Analysis and Design". En komplicerende faktor i designbeskrivelsessproget er håndteringen af generiske klasser. Som det vil fremgå, kan disse indgå i en del forskellige relationer med ikke generiske såvel som generiske klasser. Vi gør ikke noget forsøg på i disse noter at komme op med speciel notation til beskrivelse af operations interfacet af klasser og de tilknyttede assertions. Vi foreslår, at vi bruger Eiffel og det tilknyttede dokumentationsværktøj (short) til dette formål. 194
9 Beskrivelsessprog til OO design. Statisk model: Nedarvningsrelationer. Generalisering/specialisering: Nedarvning fra generisk klasse: SAMLING [X] X --> BOG CHECKKONTO BOG_SAMLING Egenskabstilgængelighed: MATH-FN COMPLEX_NUMBER Relationen "egenskabstilgængelighed" er vist grafisk som en pil, tegnet med en stiplet linie. Egenskabstilgængelighed afspejler en nedarvningsrelation mellem to klasser A og B (såsom math_fn og complex_number), hvor B ikke er en specialisering af A. Vi har tidligere i disse noter talt om at stille egenskaber direkte tilrådighed ved brug af nedarvning. Nedarvning fra generisk klasse kan også angives med stiplet pil. Der er ikke noget til hinder for, at både sub- og superklasser kan være generiske: LINKED_LIST [T] T --> X SAMLING [X] "Egenskabstilgængelighed" og "nedarvning fra generisk klasse" er nye i forhold til designsproget beskrevet i artiklen "Extending Eiffel towards O-O analysis and Design". 195
10 Beskrivelsessprog til OO design. Statisk model: Klient-leverandør relationer. Klient Motor Aggregering (1-1) BIL } Motor Aggregering (1-m) BIL 4 } Leverandør MOTOR HJUL En helhed (BIL) består af angivne dele. Reference (n-m) Kunde PERSON En BANKONTO refererer til en PERSON. Reference til generisk instans Begrænset generisk klasse LIST[T] ORDNET_SAMLING[...] Transaktions historie T --> TRANSAKTION COMPARABLE En instans af en refererer til en ORDNET_SAMLING af TRANSAKTION. Den generiske parameter af LIST skal være af typen COMPARABLE. Følgende er et alternativ til ovenstående "reference til generisk instans": T --> TRANSAKTION Transaktions historie ORDNET_SAMLING[T] Bemærk endvidere, at vi tilsvarende kan angive "aggregering af generisk instans" ved blot at erstatte pilen med "tuborg". 196
11 Beskrivelsessprog til OO design. Gruppering af klasser. Gruppering af klasser anvendes til angivelse af subsystemer en mængde af klasser, som har en nær sammenhæng Klynge 1 Klynge 3 Klynge 2 På denne slide kalder vi en gruppe af klasser for en klynge. Husk, at klynger er blevet introduceret i forbindelse med Eiffel programmeringsomgivelsen, med det formål at beskrive den samling af klasser, der skal tages i betragtning under oversættelse af et Eiffelprogram. 197
12 Beskrivelsessprog til OO design. Dynamisk model. I den dynamiske model vises objekter og deres kommunikation med andre objekter. Kan anvendes til beskrivelse af kommunikations-scenarier mellem objekter. Instans af klasse (objekt) evt. med felter Balance Kunde Rentesats > 5.7 Nummereret kommunikation mellem to objekter n n: forklarende tekst. Det er mindre præcist formuleret på denne side, hvori en beskrivelse af den dynamiske model egentlig består. Vi vil tænke forholdsvist frit om en sådan. Det er målsætningen at sættes os i stand til at beskrive et scenario, hvori der indgår konkret objekter samt nærmere beskrevne kommunikationer mellem disse. 198
Udvidelse og specialisering. Klassehierarkier. Nedarvningsterminologi. Interfaces. Statiske og dynamiske typer. Polymorfi. Abstrakte klasser.
10 Nedarvning I. Udvidelse og specialisering. Klassehierarkier. Nedarvningsterminologi. Interfaces. Statiske og dynamiske typer. Polymorfi. Dynamisk binding og virtuelle operationer. Decentraliseret/centraliseret
Læs mere29 Opsamling af Objekt-orienteret Programmering.
29 Opsamling af Objekt-orienteret Programmering. Bottom-up kontra top-down design. "The shopping list approach". Hvordan finder man på objekterne. Klasser og dataabstraktion. Klasse interface og interface-teknikker.
Læs mere22 Hobe. Noter. PS1 -- Hobe. Binære hobe. Minimum-hob og maximum-hob. Den abstrakte datatype minimum-hob. Opbygning af hobe. Operationen siv-ned.
22 Hobe. Binære hobe. Minimum-hob og maximum-hob. Den abstrakte datatype minimum-hob. Opbygning af hobe. Operationen siv-ned. Indsættelse i hobe. Sletning af minimalt element i hobe. Repræsentation. 327
Læs mere2 Abstrakte datatyper.
2 Abstrakte datatyper. Motivere eksempel: top-down udvikling af program 'mini-bank' Strukturering af et program: efter data eller funktion? Definition af en abstrakt datatype og tilknyttede begreber. Fænomener,
Læs mereRename og redefine. Abstrakte klasser. Dynamisk binding.
11 Nedarvning II. Enkeltnedarvning i Eiffel. Rename og redefine. Initialisering af superklasse-dele af et objekt. Interfaces til klienter og subklasser. Typesammenlignelighed og polymorfi. Abstrakte klasser.
Læs mereÅrsagen til fejl. Erkendelse af fejl. Håndtering af fejl.
9 Fejlhåndtering Årsagen til fejl Erkelse af fejl Håndtering af fejl Fejlerkelse og -håndtering i objekt-orienterede sprog Fejlerkelse og -håndtering i Eiffel Udbredelse af fejl i Eiffel Nuanceret fejlhåndtering
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 mereUML 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 mereObjekt-orienteret programmering uden klasser: Self.
Objekt-orienteret programmering uden klasser: Self. Sammenligning klasse-baseret og klasseløs programstrukturering. Basale forhold Singulære objekter Dynamisk nedarvning Variable i forhold til metoder.
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 mere4 Basal Objekt-orienteret Programmering I.
4 Basal Objekt-orienteret Programmering I. Klasser i forhold til abstrakte datatyper og record-typer. Variable og operationer. Klasse-interfaces. Klasser og typer. Klasse-instantiering og initialisering.
Læs mereER-modellen. Databaser, efterår Troels Andreasen. Efterår 2002
Databaser, efterår 2002 ER-modellen Troels Andreasen Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674 3072 www.dat.ruc.dk
Læs mere26 Programbeviser I. Noter. PS1 -- Programbeviser I. Bevis kontra 'check af assertions' i Eiffel. Betingelser og bevisregler.
26 Programbeviser I. Bevis kontra 'check af assertions' i Eiffel. Betingelser og bevisregler. Hvad er programverifikation? Bevisregel for 'tom kommando'. Bevisregel for assignment. Bevisregler for selektive
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 mereSide 1. Databaser og SQL. Dagens gang. Databasebegreber. Introduktion til SQL Kap 1-5
Databaser og SQL Introduktion til SQL Kap 1-5 1 Dagens gang Databaser Database begreber Mapning af klasser til relationel model Normalisering Opgaver til næste gang 2 Databasebegreber A database is a:
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 mereER-modellen. Databaser, efterår 2002. Troels Andreasen. Efterår 2002
Databaser, efterår 2002 ER-modellen Troels Andreasen Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674 3072 www.dat.ruc.dk
Læs mere12 Nedarvning III. Noter. Multipel nedarvning. Nedarvning og assertions. PS1 -- Nedarvning III. Kurt Nørmark, Aalborg Universitet, 1994.
12 Nedarvning III. Multipel nedarvning. Nedarvning og assertions. 169 Multipel nedarvning. A C Klassen C arver egenskaberne fra både A og. A og egenskaber er umiddelbart tilgængelige i C. x A C x x er
Læs mereDesign by Contract Bertrand Meyer Design and Programming by Contract. Oversigt. Prædikater
Design by Contract Bertrand Meyer 1986 Design and Programming by Contract Michael R. Hansen & Anne Haxthausen mrh@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark Design
Læs mere19 Hashtabeller. Noter. PS1 -- Hashtabeller. Hashing problemet. Hashfunktioner. Kollision. Søgning og indsættelse.
19 Hashtabeller. Hashing problemet. Hashfunktioner. Kollision. Søgning og indsættelse. Sammenligning af hashtabeller og søgetræer. 281 Hashing-problemet (1). Vi ønsker at afbilde n objekter på en tabel
Læs mereSkriftlig Eksamen Algoritmer og Datastrukturer (dads)
Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Mandag den 27. maj 2002, kl. 9.00 13.00 Opgave 1 (25%) Denne opgave handler om multiplikation af positive heltal.
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 mereDatabasesystemer, forår 2005 IT Universitetet i København. Forelæsning 3: E-R modellering. 17. februar 2005. Forelæser: Rasmus Pagh
Databasesystemer, forår 2005 IT Universitetet i København Forelæsning 3: E-R modellering 17. februar 2005 Forelæser: Rasmus Pagh Forelæsningen i dag Datamodellering hvad, hvornår, hvorfor og hvordan? Business
Læs mere16 Træer. Noter. Definition af et træ. Definitioner i tilknytning til træer. Repræsentation af træer. Binære træer. Den abstrakte datatype.
16 Træer. Definition af et træ. Definitioner i tilknytning til træer. Repræsentation af træer. Binære træer. Den abstrakte datatype. Gennemløb af binære træer. Træer i Eiffel. 229 Definition af et træ.
Læs mereDen sproglige vending i filosofien
ge til forståelsen af de begreber, med hvilke man udtrykte og talte om denne viden. Det blev kimen til en afgørende ændring af forståelsen af forholdet mellem empirisk videnskab og filosofisk refleksion,
Læs mereLOGON Billede: Ved logon, er det vigtigt at der er vinget af i feltet Default miljø og rolle.
ASPECT4 Client En af de største og mest markante ændringer i den nye klient ASPECT4 version 3 er en kraftigt forbedret grafisk klient med en helt nydesignet arbejdsplads mod ASPECT4 funktionerne. LOGON
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 mereDatalogi OB, Efterår 2002 OH er, forelæsning 10/ Klasser og nedarvning
Datalogi OB, Efterår 2002 OH er, forelæsning 10/9-2002 Klasser og nedarvning Hvad er formålet? Typer, generisk kode, typeparameterisering Kritisk kig på, hvordan man gør i Java. Eftermiddagens opgave:
Læs mereGreenfoot En kort introduktion til Programmering og Objekt-Orientering
Greenfoot En kort introduktion til Programmering og Objekt-Orientering Greenfoot er et computer-program, som kan benyttes til at skrive andre computer-programmer, i et programmeringssprog kaldet Java.
Læs mereSpilstrategier. Indhold. Georg Mohr-Konkurrencen. 1 Vindermængde og tabermængde 2. 2 Kopier modpartens træk 4
Indhold 1 Vindermængde og tabermængde 2 2 Kopier modpartens træk 4 3 Udnyt modpartens træk 5 4 Strategityveri 6 5 Løsningsskitser 7 Spilstrategier De spiltyper vi skal se på her, er primært spil af følgende
Læs mereProgram for møde fredag d. 22/2-2002
Program for møde fredag d. 22/2-2002 Disposition for den indledende præsentation af problemstillinger Kort beskrivelse af projektets struktur, hvilket leder frem til hovedtemaet for den efterfølgende diskussion
Læs mere8 Specifikation med Logiske Udtryk.
8 Specifikation med Logiske Udtryk. Specifikation kontra program. Specifikation af funktioner. Specifikation af funktions-orienterede ADT-er. Integreret specifikation og program i Eiffel. Korrekthed af
Læs mereDesign af IT-medier. Skriftlig prøve 27. august 1999. Alle skriftlige hjælpemidler er tilladt.
Design af IT-medier Skriftlig prøve 27. august 1999 Varighed: Hjælpemidler: Bedømmelse: Besvarelse: Opgaver: 4 timer. Alle skriftlige hjælpemidler er tilladt. Karakter efter 13-skalaen. Alle ark skal være
Læs mereSpilstrategier. 1 Vindermængde og tabermængde
Spilstrategier De spiltyper vi skal se på her, er primært spil af følgende type: Spil der spilles af to spillere A og B som skiftes til at trække, A starter, og hvis man ikke kan trække har man tabt. Der
Læs mereLæseplan for valgfaget teknologiforståelse. (forsøg)
Læseplan for valgfaget teknologiforståelse (forsøg) Indhold Indledning 3 Trinforløb for 7.- 9. klassetrin 4 Design 4 Programmering 5 Indledning Valgfaget teknologiforståelse er etårigt og kan vælges i
Læs mereIntroduktion. Properties (egenskaber) Timeline (Tidslinien) Stage (hovedscenen) kan redigeres.
Flash er et program der bruges til at fremstille animation og interaktion i - især til Internettet. I forhold til andre tilgængelige teknologier er Flash-filer meget små rent datamæssigt. Årsagen er, at
Læs mereEA3 eller EA Cube rammeværktøjet fremstilles visuelt som en 3-dimensionel terning:
Introduktion til EA3 Mit navn er Marc de Oliveira. Jeg er systemanalytiker og datalog fra Københavns Universitet og denne artikel hører til min artikelserie, Forsimpling (som også er et podcast), hvor
Læs mereKontrol-strukturer i PHP
Denne guide er oprindeligt udgivet på Eksperten.dk Kontrol-strukturer i PHP Denne artikel gennemgår kontrolstrukturer i PHP. 'if', 'switch', 'while' og 'for' bliver gennemgået. Den forudsætter lidt grundlæggende
Læs mereIt og informationssøgning Forelæsning december 2006 Nils Andersen. Indkøring, afprøvning og dokumentation af programmer
It og informationssøgning Forelæsning 14 13. december 2006 Nils Andersen Indkøring, afprøvning og dokumentation af programmer Indkøring Syntaksfejl Køretidsfejl Semantiske fejl Dokumentation Sammenfatning
Læs mereForstå brugbarheden af Google Analytics på 10 minutter
Forstå brugbarheden af Google Analytics på 10 minutter Hvad er Google Analytics? Hvem kan bruge det? Hvad kan Google Analytics bruges til? Google Analytics viser dig hvor dine kunder har fundet frem til
Læs mereSupermarkedsmodellen for design af brugergrænseflade
Supermarkedsmodellen for design af brugergrænseflade Denne note er skrevet frit efter Peter Huber, som på et kursus i Efteruddannelsescenteret fortalte om supermarkedsmodellen til design af brugergrænseflader.
Læs mereEffektiv søgning på web-steder
Effektiv søgning på web-steder 7. maj 1998 Udarbejdet af DialogDesign ved Rolf Molich, Skovkrogen 3, 3660 Stenløse Indhold 1. Indledning 3 1.1. Model for søgning 3 2. Forskellige former for søgning 4 2.1.
Læs mereKontraktbaseret Design. Anker Mørk Thomsen
Kontraktbaseret Design Anker Mørk Thomsen 5. marts 2014 -2 Kontraktbaseret Design Anker Mørk Thomsen 1. udgave ISBN: 9788740491500 Forord Bogen er blevet til gennem undervisning i faget Kontraktbaseret
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 mereVejledning til udarbejdelse af jobfunktionsroller og tilknytning til brugersystemroller
Vejledning til udarbejdelse af jobfunktionsroller og tilknytning til brugersystemroller Indhold 1. Introduktion... 2 1.1 Baggrund... 2 2. Adgangsstyring for brugervendte systemer... 3 2.1 Brugervendte
Læs mereclass Time { int hours, min; } } Time t1; // Erklær variabel af type Time class Time1 { public static void main(string[] args) { Time t1; t1.
Programmering 1999 Forelæsning 4, fredag 10. september 1999 Klasser og objekter Felter, konstruktorer, this Eksempler på klasser: Time, Appointment Eksempler på metoder i Time og Appointment Klassefelter:
Læs mereBrugergrænseflader i VSU
28-10-09 Side 1/5 Brugergrænseflader i Dette notat giver et praktisk eksempel på, hvordan brugergrænsefladen kan håndteres i. Notatet er en konsekvens af en lidt overfladisk beskrivelse i [B&D00] samt
Læs mereDatabasesystemer, forår 2006 IT Universitetet i København. Forelæsning 3: E-R modellering. 16. februar 2006. Forelæser: Rasmus Pagh
Databasesystemer, forår 2006 IT Universitetet i København Forelæsning 3: E-R modellering 16. februar 2006 Forelæser: Rasmus Pagh Forelæsningen i dag Datamodellering hvad, hvorfor og hvordan? Business rules
Læs mereDatabasesystemer. Databaser, efterår Troels Andreasen. Efterår 2002
Databaser, efterår 2002 Databasesystemer Troels Andreasen Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674 3072 www.dat.ruc.dk
Læs mereLæseplan for valgfaget teknologiforståelse
Læseplan for valgfaget teknologiforståelse (forsøg) Indhold Indledning 3 Trinforløb for 7.- 9. klassetrin 4 Design 4 Programmering 5 Indledning Valgfaget teknologiforståelse er etårigt og kan vælges i
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 mereDatalogi OB, Efterår 2002 OH er, forelæsning 3/9-2002 - forstå datastrukturer og algoritmer (teoretisk forståelse og intuition)
Datalogi OB, Efterår 2002 OH er, forelæsning 3/9-2002 Datastrukturer og algoritmer Henning Christiansen henning@ruc.dk http://www.ruc.dk/~henning Formål: at kunne - forstå datastrukturer og algoritmer
Læs mereUndervisningsbeskrivelse
Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin August 2009 - juni 2010 Institution HTX Sukkertoppen/Københavns Tekniske Skole Uddannelse Fag og niveau Lærer(e)
Læs mere18 Multivejstræer og B-træer.
18 Multivejstræer og B-træer. Multivejs søgetræer. Søgning i multivejssøgetræer. Pragmatisk lagring af data i multivejstræer. B-træer. Indsættelse i B-træer. Eksempel på indsættelse i B-træ. Facts om B-træer.
Læs mere{ } { } {( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )}
Stokastisk eksperiment Et stokastisk eksperiment er et eksperiment, hvor vi fornuftigvis ikke på forhånd kan have en formodning om resultatet af eksperimentet. Til gengæld kan vi prøve at sige noget om,
Læs mereDesign by Contract. Design and Programming by Contract. Oversigt. Prædikater
Design by Contract Design and Programming by Contract Anne Haxthausen ah@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark Design by Contract er en teknik til at specificere
Læs mereOpgaveteknisk vejledning Word 2016 til Mac. Tornbjerg Gymnasium 10. december 2015
Opgaveteknisk vejledning Word 2016 til Mac Tornbjerg Gymnasium 10. december 2015 Gem!!! Så snart et dokument er oprettet skal det gemmes under et fornuftigt navn, gør det til en vane at gemme hele tiden
Læs mereWeb Services Light. Karen Thomsen. Silkeborg Bibliotek. Karen Thomsen
Web Services Light Silkeborg Bibliotek 1 Min baggrund Faglig baggrund datalog Ansættelse 16 år som IT- udvikling og usability 4 år som usability-konsulent og nu 3 år på Silkeborg Bibliotek som IT- udvikling
Læs mereAppendiks 6: Universet som en matematisk struktur
Appendiks 6: Universet som en matematisk struktur En matematisk struktur er et meget abstrakt dyr, der kan defineres på følgende måde: En mængde, S, af elementer {s 1, s 2,,s n }, mellem hvilke der findes
Læs mereRolf Fagerberg. Forår 2015
Forår 2015 Dagens program 1 2 3 4 5 Underviser:, IMADA Forskningsområde: algoritmer og datastrukturer Deltagere: BA i Datalogi BA i Software Engineering BA i Matematik-Økonomi BA i Anvendt Matematik BA
Læs mereRolf Fagerberg. Forår 2015
Forår 2015 Dagens program 1 2 3 4 5 Underviser:, IMADA Forskningsområde: algoritmer og datastrukturer Underviser:, IMADA Forskningsområde: algoritmer og datastrukturer Deltagere: BA i Datalogi BA i Software
Læs mere01017 Diskret Matematik E12 Alle bokse fra logikdelens slides
01017 Diskret Matematik E12 Alle bokse fra logikdelens slides Thomas Bolander 1 Udsagnslogik 1.1 Formler og sandhedstildelinger symbol står for ikke eller og ( A And) hvis... så... hvis og kun hvis...
Læs mereOpgaveteknisk vejledning Word 2011 til Mac. Tornbjerg Gymnasium 10. december 2015
Opgaveteknisk vejledning Word 2011 til Mac Tornbjerg Gymnasium 10. december 2015 Gem!!! Så snart et dokument er oprettet skal det gemmes under et fornuftigt navn, gør det til en vane at gemme hele tiden
Læs mereIT-arkitektur. IT-arkitektur Arkitektur på forskellige niveauer. Efter denne lektion skal du:
IT-arkitektur IT-arkitektur Arkitektur på forskellige niveauer Slide no.: 1 Efter denne lektion skal du: Kunne gøre rede for de centrale elementer der kan indgå i en IT-arkitektur Kunne gøre rede for IT-arkitektur
Læs mereGode råd om at skrive
Gode råd om at skrive Kapitel 3 (s. 13-16) fra Danmarks Evalueringsinstitut (EVA): Skrivehåndbogen, ca. 2007 (udgivelsesår er ikke angivet i bogen). Håndbogen er oprindelig henvendt til instituttets medarbejdere
Læs mereMatroider Majbritt Felleki
18 Rejselegatsformidlingsaktivitet Matroider Majbritt Felleki Den amerikanske matematiker Hassler Whitney fandt i 1935 sammenhænge mellem sætninger i grafteori og sætninger i lineær algebra. Dette førte
Læs mereOM PROJEKTOPGAVER GENERELT
1 OM PROJEKTOPGAVER GENERELT En projektopgave bør indeholde følgende dele: 1. Forside 2. Indholdsfortegnelse 3. Eventuelt forord 4. Indledning 5. Emnebearbejdning 6. Afslutning 7. Noter 8. Litteraturliste
Læs mereNoter til Perspektiver i Matematikken
Noter til Perspektiver i Matematikken Henrik Stetkær 25. august 2003 1 Indledning I dette kursus (Perspektiver i Matematikken) skal vi studere de hele tal og deres egenskaber. Vi lader Z betegne mængden
Læs mereObject-Relational Mapping
Databaser for udviklere () Datamatiker TietgenSkolen Underviser: Allan Helboe 06-06-2010 Problemformulering Denne opgave er et forsøg på at beskrive problemerne der opstår ved anvendelsen af en relationel
Læs mereOpgaveteknisk vejledning Word 2013. Tornbjerg Gymnasium 10. december 2015
Opgaveteknisk vejledning Word 2013 Tornbjerg Gymnasium 10. december 2015 Gem!!! Så snart et dokument er oprettet skal det gemmes under et fornuftigt navn, gør det til en vane at gemme hele tiden mens man
Læs mereRolf Fagerberg. Forår 2014
Forår 2014 Mål for i dag Dagens program: 1 2 3 4 5 6 Forudsætninger: Format: Programmering og Diskret matematik I (forelæsninger), TE (øvelser), S (arbejde selv og i studiegrupper) Eksamenform: Skriftlig
Læs mereDATABASE - MIN MUSIKSAMLING
DATABASE - MIN MUSIKSAMLING I dette forløb skulle vi lære om databaser, som bruger sproget SQL. SQL står for Structured Query Language. Det bruges til at vise og manipulere data, gemt i en database. I
Læs mereINDHOLDSFORTEGNELSE. INDLEDNING... Indledning. KAPITEL ET... Kom videre med Excel. KAPITEL TO... 27 Referencer og navne
INDHOLDSFORTEGNELSE INDLEDNING... Indledning KAPITEL ET... Kom videre med Excel Flyt markering efter Enter... 8 Undgå redigering direkte i cellen... 9 Markering ved hjælp af tastaturet... 10 Gå til en
Læs mereBrug og Misbrug af logiske tegn
Brug og Misbrug af logiske tegn Frank Nasser 20. april 2011 c 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Bemærk:
Læs mereIntroduktion. Jan Brown Maj, 2010
Jan Brown Maj, 2010 Introduktion OIOXML har eksisteret som det centrale datastandardiseringsparadigme siden 2002. Til OIOXML-konceptet er der et regelsæt betegnet OIO Navngivnings- og Deignregler (NDR),
Læs mereVejledning til forløbet: Hvad er chancen?
Vejledning til forløbet: Hvad er chancen? Denne lærervejledning beskriver i detaljer forløbets gennemførelse med fokus på lærerstilladsering og modellering. Beskrivelserne er blevet til på baggrund af
Læs mereDanmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer Kursus nr. 06. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning
Læs mereRolf Fagerberg. Forår 2013
Forår 2013 Mål for i dag Dagens program: 1 2 3 4 5 6 Forudsætninger: DM536 og DM537 Timer: 50% forelæsninger, 50% øvelser Forudsætninger: DM536 og DM537 Eksamenform: Skriftlig eksamen: Timer: 50% forelæsninger,
Læs mere1 Klassifikation-version2.0
1 Klassifikation-version2.0 Formål med Klassifikationsmodellen Her specificeres Klassifikationsmodellen, som en informationsmodel for Klassifikationer. Klassifikationer (eller klassifikationssystemer)
Læs mereElementær Matematik. Mængder og udsagn
Elementær Matematik Mængder og udsagn Ole Witt-Hansen 2011 Indhold 1. Mængder...1 1.1 Intervaller...4 2. Matematisk Logik. Udsagnslogik...5 3. Åbne udsagn...9 Mængder og Udsagn 1 1. Mængder En mængde er
Læs mereBasale forudsætninger. Sortering ved fletning med tre bånd, i to faser.
25 Sortering III. Basale forudsætninger. Sortering ved fletning med tre bånd, i to faser. Sortering ved fletning, med fire bånd, i én fase (balanceret fletning). Polyfase fletning med tre bånd. Generaliseret
Læs mere4 Oversigt over kapitel 4
IMM, 2002-09-14 Poul Thyregod 4 Oversigt over kapitel 4 Introduktion Hidtil har vi beskæftiget os med data. Når data repræsenterer gentagne observationer (i bred forstand) af et fænomen, kan det være bekvemt
Læs mereTIPS OG TRICKS I PROJEKTSKRIVNING
TIPS OG TRICKS I PROJEKTSKRIVNING FORMELLE KRAV TIL RAPPORTEN Længde: Bilag: 5-10 sider (med font str. svarende til Times New Roman 12) Hvis det ønskes kan evt. ekstra figurer, specifikke udregninger,
Læs mereSimulering af stokastiske fænomener med Excel
Simulering af stokastiske fænomener med Excel John Andersen, Læreruddannelsen i Aarhus, VIA Det kan være en ret krævende læreproces at udvikle fornemmelse for mange begreber fra sandsynlighedsregningen
Læs mereEDI. Microsoft Dynamics NAV 2009 SP1 Klassisk. Side 1. Copyright: Naddon version 201010
EDI Microsoft Dynamics NAV 2009 SP1 Klassisk Side 1 Indholdet i dette dokument må på ingen måde gengives helt eller delvist hverken på tryk eller i anden form - uden forudgående skriftlig tilladelse fra
Læs mereBrøker kan repræsentere dele af et hele som et område (fx ½ sandwich, ½ pizza, ½ æble, ½ ton grus).
Elevmateriale Undervisningsforløb Undervisningsforløbet er tiltænkt elever på 5. klassetrin. Der arbejdes en uge med hver af de tre hovedpointer, i fjerde uge arbejdes der med refleksionsaktiviteter, og
Læs mereDansk-historie-opgave 1.g
Dansk-historie-opgave 1.g Vejledning CG 2012 Opgaven i historie eller dansk skal træne dig i at udarbejde en faglig opgave. Den er første trin i en tretrinsraket med indbygget progression. I 2.g skal du
Læs mereStudieordning del 4-2014
Studieordning del 4-2014 Fagbeskrivelser Datamatiker AP Graduate in Computer Science Version 1.1 Revideret august 2014 Side 0 af 8 Indhold del 4 Fagbeskrivelser 1. Faget Programmering (PRO)...2 2. Faget
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 mere15. januar 2018 Sekretariatet for Initiativ 8.1. Vedr. Anvendelsesprofil for Organisation
Kommenteringsskema 15. januar 2018 Sekretariatet for Initiativ 8.1. Vedr. Anvendelsesprofil for Organisation BEMÆRK: Alle indsendte kommentarer offentliggøres (på arkitektur.digst.dk). Såfremt du ikke
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 mereIntroduktion til design patterns.
Introduktion til design patterns. Genbrug. Pattern languges i arkitektur. Standardbeskrivelse af design patterns. Oversigt over design patterns. Observer. Composite. Decorator. Abstract Factory. Patterns
Læs mereIT-Basecamp 2013. Real World Java EE Patterns Adam Bien. Real World Java EE Patterns, Adam Bien Copyright Lund&Bendsen A/S
IT-Basecamp 2013 Real World Java EE Patterns Adam Bien 1 Indhold Lidt om mig Baggrund for valg af emnet Bogens opbygning Fra J2EE til JEE 5/6 Overflødiggjorte patterns Fremhæve et par patterns 2 Kenneth
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 mereIntroduktion til DM507
Introduktion til DM507 Rolf Fagerberg Forår 2017 1 / 20 Hvem er vi? Underviser: Rolf Fagerberg, IMADA Forskningsområde: algoritmer og datastrukturer 2 / 20 Hvem er vi? Underviser: Rolf Fagerberg, IMADA
Læs mereRolf Fagerberg. Forår 2012
Forår 2012 Mål for i dag Dagens program: 1 2 3 4 5 6 Forudsætninger: DM502 og DM503 Timer: 50% forelæsninger, 50% øvelser Forudsætninger: DM502 og DM503 Eksamenform: Skriftlig eksamen: Timer: 50% forelæsninger,
Læs mereInformationsteknologi B Forsøgslæreplan, december 2010
Informationsteknologi B Forsøgslæreplan, december 2010 1.1 Identitet Informationsteknologi bygger på abstraktion og logisk tænkning. Faget beskæftiger sig med itudvikling i et samspil mellem model/teori
Læs mereDE BEAR TECHNOLOGY. o Processer, metoder & værktøjer. e-mail: info@dbtechnology.dk WWW.DBTECHNOLOGY.DK
Mission Critical o Projekt Information management o Processer, metoder & værktøjer. Side 1 of 11 Projekt information Projekt information management inkluderer alle de processer, som er nødvendige for at
Læs mereMartin Geisler. Uge 49, 2001
Min dintprog-browser Martin Geisler Uge 49, 2001 Resumé Dette dokument beskriver tankerne bag min dintprog-browser, en browser skrevet i Java der skal kunne fortolke en mindre delmængde af HTML 4, kaldet
Læs mereNoter til dm529. Jonas Nyrup. 11. november 2011
Noter til dm529 Jonas Nyrup 11. november 2011 Indhold 1 Kravdisciplinen: Kravmodellen og Indfangning af Krav 2 1.1 (ikke)-funktionelle krav...................... 2 1.2 Kravattributter...........................
Læs mere