Begreber og principper Arkitekturframeworket PCMEF. Det er softwarearkitekturen der gør den store forskel mht.

Størrelse: px
Starte visningen fra side:

Download "Begreber og principper Arkitekturframeworket PCMEF. Det er softwarearkitekturen der gør den store forskel mht."

Transkript

1 Softwarearkitektur Begreber og principper Arkitekturframeworket PCMEF Arkitekturdesignmønstre Indledning Det er softwarearkitekturen der gør den store forskel mht. Forståelighed, dvs hvor let det er at analysere og forstå softwarens interne struktur og adfærd mindre risiko for selv at gøre noget galt andre kan overtage udvikling og vedligehold Vedligeholdelse, dvs. hvor let det er at reparere softwaren (rette fejl og mangelfuldheder) at ændre funktionaliteten at torbedre softwarens kvalitet når der kommer nye krav eller ændringer i den underliggende teknologi Skalerbarhed, dvs at softwaren kan bruges i en større målestok flere brugere flere maskiner flere SUPPORTAB BILITET Forår Systemudvikling 1

2 Efter Larman Forår Efter Larman Forår Systemudvikling 2

3 Softwarearkitektur Grundlæggende begreber og principper Spørgsmål Hvad er softwarearkitektur? Hvad er et sundt arkitekturdesign betinget af? Hvad er en UML-pakke (package)? Hvad er afhængighed hvad indebærer afhængighed mellem pakker? Hvad er en afhængigheds-brandmur (dependency firewall)? Hvordan kan en sådan etableres? Hvilke forskellige typer af afhængigheder har vi? Hvilken indvirkning har de forskellige afhængigheder på arkitekturen? Er der ikke bare problematiske men også neutrale måske ligefrem nyttige indvirkninger? Hvilken afhængighedstype er særligt problematisk? Kan den undgås? En god lagdelt arkitektur har tre kritiske mål. Hvilke? Hvorfor/hvordan kan interfacer bruges til minimering af afhængigheder? Forår Systemudvikling 3

4 Hvad er softwarearkitektur? Softwarearkitektur Systemopdeling: organisering i af softwaremoduler i et system med det sigte at opnå et eller andet formål Adressering af problemstillinger (concerns): organisering af specifikke softwaremoduler (klasser, pakker, komponenter) fordeling af ansvar (adfærd) mellem softwaremodulerne sammenkoblinger mellem softwaremodulerne softwaremodulers skalerbarhed beslutning om arkitektur-mønstre og principper Fordele ved opdeling af et system Lettere at forstå systemet Mindre udviklingsenheder Større mulighed for genbrug Bedre håndtering af kompleksitet Forbedring af vedligehold Større flytbarhed Forår Hvad er arkitekturdesign? softwarearkitekturdesign er den mængde beslutninger, der har til sigte at skabe en ydedygtig (efficient) og målrettet (effektiv) softwarearkitektur og rationalet bag disse beslutninger, fx softwareløsningens supportabilitet = forståelighed + vedligeholdelsesevne + skalerbarhed af andre problemstillinger af betydning for arkitekturdesign, kan nævnes, at det primært har sammenhæng med de ikke-funktionelle krav omfatter fundamentale beslutninger der handler om forhold i stor skala og er på systemniveau (Wide-and-Shallow) takler modulers indbyrdes afhængigheder og trade-offs frembringer generering og evaluering af alternative løsninger Forår Systemudvikling 4

5 Hvad er et sundt arkitekturdesign? Et sundt arkitekturdesign er betinget af en hierarkisk lagdeling af softwaremodulerne, som reducerer kompleksitet forbedrer forståeligheden af systemet og afhængigheder mellem systemets moduler en gennemtvingning af standarder, som minimerer afhængigheder gør afhængigheder mellem softwaremoduler synlige Forår Proaktiv - reaktiv To tilgange: Proaktiv tilgang forward engineering Arkitekturdesignet definerer lagdeling og afhængighedsfirewalls Implementeringen overholder designet Reaktiv tilgang reverse engineering Hvis implementeringen ikke overholder det ønskede arktitekturdesign: Sammenligning med den målte værdi for afhængigheden i softwaren med den værdi som den ønskede arkitektur ville have leveret To formål med den reaktive tilgang: Opretholde arkitekturen Sammenligning af forskellige implementeringer Forår Systemudvikling 5

6 Hvad er en UML-pakke? en pakke i UML er en gruppe modelleringselementer, der har fået tildelt et fælles navn en pakke kan indeholde andre pakker en pakke ejer sine medlemmer (elementer) fjerner man pakken fra modellen, fjerner man også dens medlemmer et medlem (sædvanligvis en klasse) kan kun tilhøre en pakke en pakke kan have pakke-import p fra andre pakker, dvs. at pakke A eller elementer i pakke A kan referere til pakke B eller til elementer i pakke B klasser ejes kun af en pakke, men kan altså importeres i andre pakker Forår Pakkenotation dependency relationship B owns X A depends on B Package A Package B Class X Package E package with no members revealed + circle-plus notation Package C Package D E owns F F owns Y and Z Package F + Class Y Class Z 9-1 Forår C owns D Systemudvikling 6

7 Arkitekturdesign og afhængighed Samhørighed (cohesion) måler afhængighed internt mellem elementerne i en pakke/et modul Høj samhørighed: elementerne i pakkerne udfører opgaver, der ligner hinanden, og hænger sammen indbyrdes (via associationer) Lav samhørighed: Masser af diverse- og hjælpeelementer og ingen indbyrdes sammenhæng (via associationer) Kobling (coupling) måler afhængighed mellem pakker/moduler Høj kobling mellem to pakker: Ændringer i den ene pakke vil få høj indflydelse på den andet pakke Pakker bør have så stor samhørighed og så lille kobling som mulig Forår Arkitekturdesign og Afhængighed Afhængighed er det samme som kobling Afhængighed Modul A afhænger af modul B, hvis Forandringer i modul B nødvendiggør forandringer i modul A Afhænger af modul kan betyde afhænger af klasser i modul B afhænger af metoder i modul B afhænger af hændelser i modul B arver noget fra modul B Forår Systemudvikling 7

8 Hvad er en afhængighedsbrandmur? Fire symptomer på råddenskab i design Stivhed (ufleksibel) vanskeligt at ændre ændringer et sted giver en kaskade af afledte ændringer Skrøbelighed softwaren går i stykker når den ændres Immobilitet softwaren kan ikke genbruges har for meget bagage den skal have med Viskositet Flere måder at gennemføre forandringer på: Nogle bevarer designet andre (hacks) ødelægger det Høj viskositet: Nemt at gøre det forkerte - svært at gøre det rigtige Årsager til råddenskab Ændrede krav! Når de medfører forandringer, som der ikke er taget højde for og som dermed skaber nye afhængigheder Afhængighedsstyring består i etablering af afhængighedsbrandmure En afhængighedsbrandmur er noget der forhindrer afhængigheder i at forplante sig Eksempel: en lagdelt arkitektur, hvor der er regler for adgang mellem lagene, og hvor hvert enkelt lag yderligere kan sikres ved at etablere en enkelt indgang (Martin, 2000) Forår Pak kkeængigheder afhæ Klasseafhængig heder og de deraf afledte pakkeafhængig heder Forår Systemudvikling 8

9 9-6 Potentiel Run-time afhængighed (objekterne es interaktion) Comp pile-time afhængighed (neda arvning i klassestruktur) Nedarvningsafhængighed på compile-time Forår Opa ad- og ned dadkald Forår Systemudvikling 9

10 Nedarvningsafhængigheder - runtime Forår Nedarvning uden polymorfi 9-8 Forår Systemudvikling 10

11 Udvidelsesnedarvning Forår Metodeafhængighed Forår Systemudvikling 11

12 Metodeafhængighed Delegering og afhængighed 9-13 Forår Metodeafhængigheder Down-call og Up-call 9-14 Forår Systemudvikling 12

13 Interfacer mm Interface en erklæring af en mængde egenskaber I UML: attributter operationer Java: konstanter (datamedlemmer som er static og final) Metoder nestede klasser og interfacer kan ikke instantieres direkte Abstrakt klasse en klasse som ikke kan instantieres, fordi den har mindst én abstrakt metode,dvs. en metode som ikke er implementeret. Klassearv er arv af fimplementering i Typearv arv af et interface, dvs en type I Java: klasser kan kun arve (extende) én basisklasse (superklasse) klasser kan implemente flere interfaces Det giver en enorm praktisk forskel Forår Implementering af interfacer 9-16 public interface Interface1 { private int a1; public void o1(); } a1 o1() Interface1 Interface2 a2 o2() public class Class1 implements Interface1, Interface2 { public void o1() { //implementation code } public void o2() { //implementation code } } Class1 Class2 Forår Systemudvikling 13

14 <<uses>>-afhængighed This is permitted in UML 2.0, but not in Java, which only allows extension inheritance between interfaces Interface1 a1 o1() <<uses>> Interface2 a2 o2() <<uses>> public class Class1 { Interface1 myinterface; Class1 public void do1() { myinterface.o1(); do1() } } Forår Lagdeling og partitionering Store systemer opdeles sædvanligvis i pakker både vha. lagdeling li og vha. partitionering ii i Lagdeling (horisontal deling) Lag: beskriver en komponents ansvar ved hvilke operationer, der tilbydes opad og hvilke der udnyttes nedefra Hierarkisk organiserede pakker Partitionering (vertikal deling) To eller flere dele, som yder tjenester i samme lag, men hvorimellem der ingen væsentlig interaktion er Netværksorganiserede pakker Forår Systemudvikling 14

15 Lagdeling Tre kritiske mål: Hierarkisk struktur må ikke udvandes til en netværksstruktur Hierarkiet skal opbygges så det minimerer afhængigheden mellem pakker Hierarkiet udgør en stabil struktur i hele systemets udviklingstid. Bemærk at stabiliteten øges jo længere man kommer ned i lagene Layer n Layer n-1 Forår Cirkulære afhængigheder 9-2 Forår Systemudvikling 15

16 Eliminering af cirkulære afhængigheder 9-3 Forår Cirkulære afhængigheder 9.18 Forår Systemudvikling 16

17 Brydning af cirkulære afhængigheder 9.18 Forår Afhængigheders betydning? Særligt problematiske afhængigheder? Cirkulære afhængigheder mellem lag og pakker Problematiske afhængigheder Afhængigheder mellem lag og pakker Klasseafhængigheder implementeringsarv Neutrale afhængigheder? Metodeafhængigheder Tydelige klasseafhængigheder (associationsafhængigheder) Hjælpsomme afhængigheder? Interface afhængigheder interfacearv Forår Systemudvikling 17

18 eksempel Forår Forår Systemudvikling 18

19 P: presentation D: domain PSC: ProcessSaleConsole ING: InitNextGen R: Register IPSC: IProcessSaleConsole Overvej løsningerne hvilken er bedst? Ved løsning 2: Kan vi undgå at domaine-laget alligevel - i sidste ende skal kende den konkrete klasse her ProcessSaleConsole? Hvorfor hvorfor ikke? Hvordan eller hvad så? Forår Forår Systemudvikling 19

20 Arkitekturframework Spørgsmål Hvad er et framework? Hvad er MVC-arkitekturen? Hvad er PCMEF? Hvilke principper er der i Hvad er Acquaintance-pakken i PCMEF+arkitekturen Hvilken særlig rolle spiller hvert af fde beskrevne GOF-mønstre spiller i PCMEF+arkitekturen? Forår Systemudvikling 20

21 Framework Generelt A software framework is a reusable design for a software system (or subsystem). a set of abstract classes and the way their instances collaborate for a specific type of software all software frameworks are object-oriented designs (uddrag fra: Her Framework is a construction ti on which h the solution to a problem is built. In Object technology, a framework is a reuse technology Framework provides a skeleton solution to the problem, which needs to be customized and extended to serve useful function (Maciaszek) Forår Model-View-Controller (MVC) MVC-frameworket stammer fra smalltalk, hvor der (I smalltalk 80) opereredes med tre grupper af klasser som var specialiseringer af de abstrakte klasser Model, View og Controller: Modelobjekter repræsenterer dataobjekter dvs. forretningsentiteter og forretningsregler i domænet View-objekter repræsenterer brugergrænseflade-objekter og præsenterer modellens tilstand på den måde som brugerne forventer det typisk på et grafisk skærmbillede Controller-objekter repræsenterer proceslogik (giver mening til brugerinteraktioner via mus og tastatur) Bemærk: dette er ansvarsfordeling på arkitekturniveau også kaldet Adskillelse af anliggender (Separation of Concerns) Application Program View Database and Web Services Model Persistent Data Controller Forår Systemudvikling 21

22 Model-view-(control): Eksempel Forår PCMEF arkitekturframework PCMEF layers entity presentation control domain foundation mediator Præsentationslaget (presentation) danner en grænseflade mellem systemet og dets omgivelser, dvs. håndterer interaktionen med brugerne (og med andre edb-systemer?) indeholder klasser som definerer (G)UIobjekter, fx klasser baseret på Java Swing biblioteket Kontrollaget (control) håndterer forespørgsler fra præsentationslaget og er ansvarlig for at behandle brugernes interaktioner. Kontrollaget er ansvarlig for en stor del af programmets logik og for at holde styr på sessionstilstanden for hver af brugerne Domænelaget (domain): Entitetspartitionen (entity) Har ansvaret for at holde styr på de objekter, som repræsenterer problemområdet (domænet). Når der sker noget relevant i problemområdet skal objekterne i entitetspartitionen skifte tilstand i overensstemmelse hermed. Mediatorpartitionen (mediator) Har ansvaret for at etablere en kommunikationskanal mellem Entitetsklasser og klasserne i den Teknisk Platform (Foundation) Tekniske platform (foundation) er ansvarlig for al kommunikation med databaser og netværk Forår Adskillelse af anliggender (separation of concerns Systemudvikling 22

23 on PCMEF arkitektur PCMEF layers presentation Package imports; package presentation; import control.* ery cy ms, entity control domain mediator package control; import domain.entity.* import domain.mediator.* package entity; package mediator import entity; import foundation.*; ices foundation package foundation; Forår converting to PCMEF design CControl EEntity PPresentation MMediator FFoundation CControl MMediator PPresentation EEntity FFoundation Forår Systemudvikling 23

24 PCMEF arkitektur PCMEF layers entity presentation control domain mediator PCMEF principper Downward Dependency Principle (DDP) Upward Notification Principle (UNP) Neighbor Communication Principle (NCP) Explicit Association Principle (EAP) Cycle Elimination Principle (CEP) Class Naming Principle (CNP) (Acquaintance Package Principle (APP)) foundation Forår PCMEF arkitektur PCMEF layers entity presentation control domain mediator PCMEF principper Downward Dependency Principle (DDP) Upward Notification Principle (UNP) Neighbor Communication Principle (NCP) Explicit Association Principle (EAP) Cycle Elimination Principle (CEP) Class Naming Principle (CNP) (Acquaintance Package Principle (APP)) foundation Forår Systemudvikling 24

25 Acquaintance - Bekendtskab Bekendtskab definerer en situation hvor et objekt bliver videregivet til et andet objekt som et argument i et metodekald. Hvor er bekendtskabet? Og Hvilke arkitekturmæssige svagheder er der i designet? Forår Reduktion af afhængigheder Hvordan er afhængighederne blevet reduceret? Forår Systemudvikling 25

26 PCMEF+ (med bekendtskabspakke - Acquaintance) Acquaintance Package Principle (APP) Adskilt pakke Understøtter objektkommunikation mellem ikke-nabo-lag Indeholder interfacer - og KUN interfacer Interfacer bruges til at opretholde lav kobling når der kommunikeres mellem bekendte Forår cquaintace pakken Brug af ac Forår Systemudvikling 26

27 Opsummering softwarearkitektur organisering af et systems elementer lagdel l systemet, t hold afhængigheder mellem objekter så lavt som muligt Arkitekturframework Anbefalet arkitekturframework PCMEF+ Mønstre Benyt designmønstre til at understøtte softwarearkitekturen, fx Façade, Abstract t Factory, Chain of Responsibility, Observer, og Mediator Forår Afrunding Softwarearkitektur Grundlæggende begreber og principper i softwarearkitekturdesign Hovedpointer: Minimering af afhængigheder Lagdeling Arkitekturframeworket PCMEF Arkitekturdesignmønstre Forår Systemudvikling 27

28 Afrunding Jeopardy Forår Systemudvikling 28

Objektorientering. Programkvalitet

Objektorientering. 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 mere

DM531 - Softwarearkitektur Projekt - TaxaTracer, Statisk Kort. Martin Dissing-Hansen 251088 Alexander Poopeiko 090288 Jens Riise Danielsen 100267

DM531 - Softwarearkitektur Projekt - TaxaTracer, Statisk Kort. Martin Dissing-Hansen 251088 Alexander Poopeiko 090288 Jens Riise Danielsen 100267 DM531 - Softwarearkitektur Projekt - TaxaTracer, Statisk Kort Martin Dissing-Hansen 251088 Alexander Poopeiko 090288 Jens Riise Danielsen 100267 December 17, 2009 3.1 Valg at brugsmønster til udvidelse

Læs mere

A Profile for Safety Critical Java

A Profile for Safety Critical Java A Profile for Safety Critical Java Martin Schoeberl Hans Søndergaard Bent Thomsen Anders P. Ravn Præsenteret af: Henrik Kragh-Hansen November 8, 2007 Forfatterne Martin Schoeberl Udvikler af JOP processoren

Læs mere

Videregående Programmering for Diplom-E Noter

Videregå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 mere

Kapitel 21: Softwarearkitektur designprincipper

Kapitel 21: Softwarearkitektur designprincipper Kapitel 21: Softwarearkitektur designprincipper Miriam Tang Jacob Jensen Lars Christensen Jacob Atzen Onsdag 9/3 Dagens program Definitioner Analyseværktøjer Designprocessen Raffinering Afrunding Design

Læs mere

Design by Contract. Design and Programming by Contract. Oversigt. Prædikater

Design 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 mere

Microservices. Hvad er det og hvordan kommer du i gang?

Microservices. Hvad er det og hvordan kommer du i gang? Microservices Hvad er det og hvordan kommer du i gang? Introduktion til Microservices Softwareudvikling Historie Softwarearkitektur Mentoring 10 konsulenter Bezos befaling All teams will henceforth expose

Læs mere

Assignment #5 Toolbox Contract

Assignment #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 mere

Udvidelse og specialisering. Klassehierarkier. Nedarvningsterminologi. Interfaces. Statiske og dynamiske typer. Polymorfi. Abstrakte klasser.

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 mere

2. Systemarkitektur... 2

2. Systemarkitektur... 2 Indholdsfortegnelse 2. Systemarkitektur... 2 2.1 Præsentationsserverarkitektur... 3 2.2 Applikationsserverarkitektur... 7 Version 7.0 Side 1 af 7 5. Systemarkitektur Arkitekturen for Nyt BBR bygger på

Læs mere

Abstrakte datatyper C#-version

Abstrakte 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 mere

Software Construction 1 semester (SWC) Spørgsmål 1

Software Construction 1 semester (SWC) Spørgsmål 1 Spørgsmål 1 Objekter #1 Giv en kort præsentation af begrebet objekt, samt hvorledes du erklærer(declare), opretter(create) og bruger objekter Du kan beskrive o Datatyper o Variable / Instans variable /

Læs mere

Design by Contract Bertrand Meyer Design and Programming by Contract. Oversigt. Prædikater

Design 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 mere

SOFTWARE PROCESSES. Dorte, Ida, Janne, Nikolaj, Alexander og Erla

SOFTWARE PROCESSES. Dorte, Ida, Janne, Nikolaj, Alexander og Erla SOFTWARE PROCESSES Dorte, Ida, Janne, Nikolaj, Alexander og Erla Hvad er en software proces? Et struktureret sæt af AKTIVITETER, hvis mål er udvikling af software. En software proces model er en abstrakt

Læs mere

Arkitektur for begyndere

Arkitektur for begyndere Denne guide er oprindeligt udgivet på Eksperten.dk Arkitektur for begyndere Denne artikel beskriver forskellige basale n-tier arkitekturer. Som man bør kende og have valgt inden man går igang med at udvikle

Læs mere

Klasser og Objekter i Python. Uge 46 Learning Python: kap 15-16, 19-22.

Klasser og Objekter i Python. Uge 46 Learning Python: kap 15-16, 19-22. Klasser og Objekter i Python Uge 46 Learning Python: kap 15-16, 19-22. Klasser og objekter En klasse beskriver en klump af samhørende funktioner og variable En klasse er en beskrivelse. En kage form Klassens

Læs mere

Notat om cuneco-projekter og sammenhæng til buildingsmart-standarder og -værktøjer 2014-04-24

Notat om cuneco-projekter og sammenhæng til buildingsmart-standarder og -værktøjer 2014-04-24 Notat om cuneco-projekter og sammenhæng til buildingsmart-standarder og -værktøjer 2014-04-24 cuneco buildingsmart Formidling og indarbejdning af cuneco-resultater i buildingsmart International CCS-klassifikation

Læs mere

2a. Conceptual Modeling Methods

2a. 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 mere

Grundlæggende OOA - OOD

Grundlæ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 mere

1 Ordliste 2. 2 Indledning 3 2.1 Problemstillinger... 3 2.2 Problemformulering... 4 2.3 Problemafgrænsning... 4 2.4 Mål med projektet...

1 Ordliste 2. 2 Indledning 3 2.1 Problemstillinger... 3 2.2 Problemformulering... 4 2.3 Problemafgrænsning... 4 2.4 Mål med projektet... Indhold 1 Ordliste 2 2 Indledning 3 2.1 Problemstillinger.................................. 3 2.2 Problemformulering................................ 4 2.3 Problemafgrænsning................................

Læs mere

DSB s egen rejse med ny DSB App. Rubathas Thirumathyam Principal Architect Mobile

DSB s egen rejse med ny DSB App. Rubathas Thirumathyam Principal Architect Mobile DSB s egen rejse med ny DSB App Rubathas Thirumathyam Principal Architect Mobile Marts 2018 AGENDA 1. Ny App? Ny Silo? 2. Kunden => Kunderne i centrum 1 Ny app? Ny silo? 3 Mødetitel Velkommen til Danske

Læs mere

Eksempel: Skat i år 2000

Eksempel: Skat i år 2000 Kursus 02199: Programmering afsnit 2.1-2.7 Anne Haxthausen IMM, DTU 1. Værdier og typer (bl.a. char, boolean, int, double) (afsnit 2.4) 2. Variable og konstanter (afsnit 2.3) 3. Sætninger (bl.a. assignments)

Læs mere

Polymorfi. Arv (inheritance) Abstrakte klasser, substitutionsprincippet, overriding, statisk og dynamisk type. Coercion

Polymorfi. Arv (inheritance) Abstrakte klasser, substitutionsprincippet, overriding, statisk og dynamisk type. Coercion Polymorfi Arv (inheritance) Abstrakte klasser, substitutionsprincippet, overriding, statisk og dynamisk type Coercion Tvangskonvertering (forfremmelse og begrænsning) Oversigt Abstrakt klasse abstrakt

Læs mere

Dagens program. Domæner. change log- screen shots hver gang I har arbejdet med themet. Arkitekturen bag en wp blog. Hvad er widgets.

Dagens program. Domæner. change log- screen shots hver gang I har arbejdet med themet. Arkitekturen bag en wp blog. Hvad er widgets. Dagens program Har alle fået? Har nogen betalt for meget? Hav jeres koder klar Domæner change log- screen shots hver gang I har arbejdet med themet. Arkitekturen bag en wp blog Hvad er widgets Hvad er

Læs mere

Lærevejledning. - en introduktion til maskinarkitektur. faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen

Lærevejledning. - en introduktion til maskinarkitektur. faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen Lærevejledning - en introduktion til maskinarkitektur faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen Roskilde Universitetscenter Naturvidenskabelig Basisuddannelse

Læs mere

Real-time programming safety in Java and Ada

Real-time programming safety in Java and Ada Real-time programming safety in Java and Ada Bo Sandén Presenter: Thomas Bøgholm 25. oktober 2007 Forfatteren Artiklen Synkroniserings Begreber Bo Sandén Professor på Colorado Technical University Beskæftiger

Læs mere

SWC eksamens-spørgsmål. Oversigt

SWC eksamens-spørgsmål. Oversigt SWC eksamens-spørgsmål Oversigt #1 Typer og variable #2 Aritmetik og logik #3 Klasser (definition, objekter) #4 Klasser (metoder) #5 Klasser (nedarvning, polymorfi) #6 Conditional statements #7 Repetition

Læs mere

RMI introduktion. Denne artikel beskriver Java RMI (Remtote Method Invocation).

RMI introduktion. Denne artikel beskriver Java RMI (Remtote Method Invocation). Denne guide er oprindeligt udgivet på Eksperten.dk RMI introduktion Denne artikel beskriver Java RMI (Remtote Method Invocation). Den beskriver teorien bag RMI, viser et simpelt kode eksempel og forklarer

Læs mere

Ugeseddel 4 1. marts - 8. marts

Ugeseddel 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 mere

Skriftlig eksamen i Datalogi

Skriftlig 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 mere

Servicedesk JAST/december 2015

Servicedesk JAST/december 2015 JAST/december 2015 Formål Formålet med dette dokument er, at give styregruppen for IT Center Fyn en beskrivelse af, hvordan supportsager håndteres efter etableringen af en, samt en forklaring af de begreber

Læs mere

Eksempel: et ordresystem note 5 Lagdeling s. 1

Eksempel: 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 mere

Databasesystemer, 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 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 mere

Automatisering Af Hverdagen

Automatisering Af Hverdagen Automatisering Af Hverdagen Programmering - Eksamensopgave 10-05-2011 Roskilde Tekniske Gymnasium (Kl. 3,3m) Mads Christiansen & Tobias Hjelholt Svendsen 2 Automatisering Af Hverdagen Indhold Introduktion:...

Læs mere

ITONK1 Obligatorisk opgave 2 Badger Brewery Surveillance System

ITONK1 Obligatorisk opgave 2 Badger Brewery Surveillance System Ingeniørhøjskolen i Århus 2. juni 2006 IKT Dalgas Avenue 2 8000 Århus C ITONK1 Obligatorisk opgave 2 Badger Brewery Surveillance System Studerende: Henrik Brix Andersen, 01079 Tomas Stæhr Berg, 03539 Benjamin

Læs mere

EG Data Inform. Byggebasen. WCF og webservices. Jens Karsø

EG Data Inform. Byggebasen. WCF og webservices. Jens Karsø EG Data Inform Byggebasen WCF og webservices Jens Karsø 10 Indholdsfortegnelse Byggebasen Services indledning... 2 Målsætning... 2 Valg af teknologier... 3 Kommunikationsmodel for byggebasen... 3 Services.byggebasen.dk...

Læs mere

Introduktion. Jan Brown Maj, 2010

Introduktion. 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 mere

Hassansalem.dk/delpin User: admin Pass: admin BACKEND

Hassansalem.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 mere

Datalogi 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 - 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 mere

METODER ARV KLASSER. Grundlæggende programmering Lektion 5

METODER ARV KLASSER. Grundlæggende programmering Lektion 5 METODER KLASSER ARV Grundlæggende programmering Lektion 5 1 METODER Sekvenser af kode om samme emne 2 REPETITION Række af statements der udfører en handling Mindst én metode der hedder main Forskellen

Læs mere

Casper Fabricius http://casperfabricius.com. ActiveRecord. O/RM i Ruby on Rails

Casper Fabricius http://casperfabricius.com. ActiveRecord. O/RM i Ruby on Rails Casper Fabricius http://casperfabricius.com ActiveRecord O/RM i Ruby on Rails Casper Fabricius Freelance webudvikler - casperfabricius.com 9 års erfaring med webudvikling 6 år med ASP/ASP.NET/C# 3 år med

Læs mere

Specialeforsvar: Fundamentet for et fleksibelt container bibliotek

Specialeforsvar: Fundamentet for et fleksibelt container bibliotek Specialeforsvar: Fundamentet for et fleksibelt container bibliotek Foundations of an adaptable container library Bo Simonsen Datalogisk Institut, Københavns Universitet Denne præsentation, afhandlingen,

Læs mere

Input/Output: Brugergrænseflader. dopsys

Input/Output: Brugergrænseflader. dopsys Input/Output: Brugergrænseflader dopsys Interaktion med bruger Visse devices lægger et fundamentalt sæt af spilleregler for vores brug af computere Generisk tilbagemelding, hvad laver den : Billedskærm

Læs mere

Speciale. Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende Java Optimized Processor (JOP)

Speciale. Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende Java Optimized Processor (JOP) Speciale Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende Java Optimized Processor (JOP) Speciale efterår 2005 Teknisk Informationsteknologi Jan Lauritzen & Mads

Læs mere

Øvelse 9. Klasser, objekter og sql-tabeller insert code here

Øvelse 9. Klasser, objekter og sql-tabeller insert code here Øvelse 9. Klasser, objekter og sql-tabeller Denne opgave handler om hvordan man opbevarer data fra databasekald på en struktureret måde. Den skal samtidig give jer erfaringer med objekter, der kommer til

Læs mere

Projekt E1PRJ1 Emne: Strukturering Softdrink-Automat Gruppe: 6 Dato: 20. marts 2006 Medlemmer: Benjamin Sørensen, Jacob Nielsen, Klaus Eriksen,

Projekt 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 mere

KALK- OG TEGLVÆRKSFORENINGEN. CPR Sustainable Construction

KALK- OG TEGLVÆRKSFORENINGEN. CPR Sustainable Construction CPR Sustainable Construction 1 Tommy Bisgaard - Direktør i Kalk- og Teglværksforeningen - Formand for DS 417 (CEN TC350 & 351) - Formand for miljøkomiteen i TBE & CU (keramiske industrier i Europa) - Medlem

Læs mere

Tree klassen fra sidste forelæsning

Tree klassen fra sidste forelæsning Programmering 1999 Forelæsning 12, fredag 8. oktober 1999 Oversigt Abstrakte klasser. Grænseflader. Programmering 1999 KVL Side 12-1 Tree klassen fra sidste forelæsning class Tree { int age; // in years

Læs mere

Database. lv/

Database. lv/ Database 1 Database Design Begreber 1 Database: En fælles samling af logiske relaterede data (informationer) DBMS (database management system) Et SW system der gør det muligt at definer, oprette og vedligeholde

Læs mere

Begreber om Godt Software

Begreber om Godt Software Begreber om Godt Software Maintainability (vedligeholdelse): Softwarens evne til at blive ændret (funktionalitet, rettet, forbedrelser, miljø, krav). - Analyserbart: Evnen til at blive fejldiagnosticeret,

Læs mere

AT-1. Oktober 09 + December 10 + November 11. CL+JW. Stenhus. side 1/5

AT-1. Oktober 09 + December 10 + November 11. CL+JW. Stenhus. side 1/5 AT-1. Oktober 09 + December 10 + November 11. CL+JW. Stenhus. side 1/5 1. 2. 3. 4. AT-1. Metodemæssig baggrund. Oktober 09. (NB: Til inspiration da disse papirer har været anvendt i gamle AT-forløb med

Læs mere

Software Design (SWD) Spørgsmål 1

Software 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 mere

Miniprojekt2011. Formålet er at lære og indlære god objektorienteret programudvikling og programmering med Java, samt undervejs at opfylde studiekrav.

Miniprojekt2011. 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 mere

Component based software enginering Diku 2005 Kritikopgave

Component based software enginering Diku 2005 Kritikopgave Component based software enginering Diku 2005 Kritikopgave Nicolas Møller Henschel 17. april 2005 1 Indhold 1 Indledning 3 2 Indhold 3 2.1 Introduktionen.......................... 3 2.1.1 Mangler..........................

Læs mere

Videregående programmering i Java

Videregående programmering i Java Videregående programmering i Java Dag 5 Model View Controller arkitekturen Model View Controller arkitekturen (MVC) Evt.: Rekursion Læsning: VP 19 Dette materiale er under Åben Dokumentlicens, se http://www.sslug.dk/linuxbog/licens.html

Læs mere

Videregående Programmering Obligatorisk opgave - 3. semester, efterår 2004

Videregående Programmering Obligatorisk opgave - 3. semester, efterår 2004 Overvågningssystem Beskrivelse Bagagesorteringssystemet består af et antal skranker (check-in) til modtagelse og registrering af bagage, et automatiseret sorteringsanlæg samt et antal terminaler (gates),

Læs mere

ISOPA PRODUCT STEWARDSHIP PROGRAMMES. Walk the Talk. MDI brugere. 1 Version09/06

ISOPA PRODUCT STEWARDSHIP PROGRAMMES. Walk the Talk. MDI brugere. 1 Version09/06 ISOPA PRODUCT STEWARDSHIP PROGRAMMES Walk the Talk MDI brugere 1 Version09/06 2 Walk the Talk - MDI brugere Indhold Væsentlige data God praksis Når ting går skævt... Dialog 3 MDI-klassificering i henhold

Læs mere

Hvem er vi? Kursus Introduktion. Kursuslærerne. Agenda for i dag

Hvem 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 mere

Databasesystemer, 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 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 mere

Input/Output: Brugergrænseflader. dopsys

Input/Output: Brugergrænseflader. dopsys Input/Output: Brugergrænseflader dopsys Interaktion med bruger Visse devices lægger et fundamentalt sæt af spilleregler for vores brug af computere Generisk tilbagemelding, hvad laver den : Billedskærm

Læs mere

Genoptræningen. Rapportering 2012. Udarbejdet: Marts 2013. Udarbejdet af: Tina Riegels, Lillian Hansen, Helene Larsen

Genoptræningen. Rapportering 2012. Udarbejdet: Marts 2013. Udarbejdet af: Tina Riegels, Lillian Hansen, Helene Larsen Genoptræningen Rapportering 2012 Udarbejdet: Marts 2013 Udarbejdet af: Tina Riegels, Lillian Hansen, Helene Larsen Indholdsfortegnelse Indledning... 3 Kvalitetsudviklingstiltag på baggrund af Test rapport

Læs mere

b) 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.

b) 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 mere

Datatekniker med programmering som speciale

Datatekniker 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 mere

Anvendelse af BPT til manuel test

Anvendelse af BPT til manuel test DIAS 1 Konference HP Test brugergruppen Anvendelse af BPT til manuel test Agenda DIAS 2 _ Præsentation af mig selv _Manuel BPT _ Manuel BPT i KMD _Konklusion _ Diskussion og spørgsmål Præsentation DIAS

Læs mere

Version Dato Beskrivelse 1.0.0 26/11/2012 Initial version 1.2.0 05/03/2013 Tilføjet eksempel med Template Agent, generelt udvidet dokumentet.

Version Dato Beskrivelse 1.0.0 26/11/2012 Initial version 1.2.0 05/03/2013 Tilføjet eksempel med Template Agent, generelt udvidet dokumentet. MOX og APOS2 Forord Dette dokument er en del af APOS version 2 manualerne. APOS version 2 (APOS2 herefter) er et organisation, klassifikation og personale system baseret på Sag & Dokument standarderne.

Læs mere

UML til kravspecificering

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 mere

Introduction til.net remoting i C#

Introduction til.net remoting i C# Denne guide er oprindeligt udgivet på Eksperten.dk Introduction til.net remoting i C# Denne artikel beskriver teorien bag.net remoting og viser nogle simple kode eksempler i C#. Den forudsætter kendskab

Læs mere

Navision i undervisningen

Navision i undervisningen Navision i undervisningen Side 1 af 8 Indhold Indledning...3 Eleverne...3 Skolemæssige forudsætninger...3 Elevernes alder...3 Arbejdserfaring...3 IT forudsætninger...3 IT på grundforløbet...4 Hvornår vi

Læs mere

Tabelbegrebet. Klassediagrammer (III) Oversigt. Anvendelse af Tabeller. Tabeller og qualified associations

Tabelbegrebet. 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 mere

Forelæsning Uge 6 Mandag

Forelæsning Uge 6 Mandag Forelæsning Uge 6 Mandag Tingene i denne forelæsning er ikke eksamenspensum Forelæsningen afrunder kurset, og forklarer nogle af de begreber, som I har mødt under kurset uden at få detaljeret forklaring

Læs mere

Integrationsmanual. Anvendelse af webservice til kursusoversigt i Campus. Brugervejledning til udviklere

Integrationsmanual. Anvendelse af webservice til kursusoversigt i Campus. Brugervejledning til udviklere Integrationsmanual Anvendelse af webservice til kursusoversigt i Campus Brugervejledning til udviklere Moderniseringsstyrelsen Webservice manual til udviklere 2016 1 1. Indholdsfortegnelse Nyt kapitel

Læs mere

Introduktion til OO* og UML

Introduktion 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 mere

IT-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. 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 mere

DANMARKS TEKNISKE UNIVERSITET

DANMARKS TEKNISKE UNIVERSITET DANMARKS TEKNISKE UNIVERSITET Skriftlig prøve, 14. december 2018, 4 timer Side 1 af 18 Kursus navn: 02101 Indledende Programmering Kursus : 02101 Tilladte hjælpemidler: Ikke-digitale skriftlige hjælpemidler

Læs mere

CCS Formål Produktblad December 2015

CCS Formål Produktblad December 2015 CCS Formål Produktblad December 2015 Kolofon 2015-12-14

Læs mere

Hovedrapport 1. 1 Prolog 1 1.1 Forside... 1 1.2 Synopsis... 1 1.3 Forord... 2 1.4 Indholdsfortegnelse... 3 1.5 Læsevejledning... 6

Hovedrapport 1. 1 Prolog 1 1.1 Forside... 1 1.2 Synopsis... 1 1.3 Forord... 2 1.4 Indholdsfortegnelse... 3 1.5 Læsevejledning... 6 Indhold Hovedrapport 1 1 Prolog 1 1.1 Forside........................................ 1 1.2 Synopsis....................................... 1 1.3 Forord........................................ 2 1.4 Indholdsfortegnelse.................................

Læs mere

BRP 6.9.2006 Kursusintroduktion og Java-oversigt

BRP 6.9.2006 Kursusintroduktion og Java-oversigt BRP 6.9.2006 Kursusintroduktion og Java-oversigt 1. Kursusintroduktion 2. Java-oversigt (A): Opgave P4.4 3. Java-oversigt (B): Ny omvendings -opgave 4. Introduktion til næste kursusgang Kursusintroduktion:

Læs mere

Handlinger til adressering af risici og muligheder Risikovurdering, risikoanalyse, risikobaseret tilgang

Handlinger til adressering af risici og muligheder Risikovurdering, risikoanalyse, risikobaseret tilgang Handlinger til adressering af risici og muligheder Risikovurdering, risikoanalyse, risikobaseret tilgang Eurolab Danmark Netværksmøde 6. november 2018 1 Risikovurdering i ISO 17025:2017 De væsentligste

Læs mere

Forskningsmæssige og teoretiske aspekter af brugerinddragelse

Forskningsmæssige og teoretiske aspekter af brugerinddragelse Forskningsmæssige og teoretiske aspekter af brugerinddragelse Peter Kjær, Center for Health Management Institut for Organisation Copenhagen Business School Varedeklaration Hvem er jeg? Et organisationsteoretisk

Læs mere

Kontroller af forretningsregler ved indsendelse af digitale årsrapporter

Kontroller af forretningsregler ved indsendelse af digitale årsrapporter Oversigt over: Kontroller af forretningsregler ved indsendelse af digitale årsrapporter Erhvervsstyrelsen, september 201 Version 1.2 Erhvervsstyrelsen, september 201, Version 1.2 Side 1 Forord Dette dokument

Læs mere

19 Hashtabeller. Noter. PS1 -- Hashtabeller. Hashing problemet. Hashfunktioner. Kollision. Søgning og indsættelse.

19 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 mere

Ribe Amts forslag til EPJ-arkitektur

Ribe Amts forslag til EPJ-arkitektur EPJ og integration: Ribe Amts forslag til EPJ-arkitektur Esben Dalsgaard IT-leder, Sundhedsområdet, Ribe Amt eda@ribeamt.dk Problemstillinger - set fra en datalogisk-arkitektonisk synsvinkel 2-delt arkitektur

Læs mere

13 Objekt-orienteret Design.

13 Objekt-orienteret Design. 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.

Læs mere

Overblik. Class Loader. Java. Class Libraries. Bytecode. Verifier Java. Source (.java) Just in Time Compiler. Java

Overblik. Class Loader. Java. Class Libraries. Bytecode. Verifier Java. Source (.java) Just in Time Compiler. Java OOP1 Java intro. Klasser, objekter, interfaces, nedarvning, Association, Aggregation og Composition mvh. Try and catch exceptions. Package Intro. til jar filer. Overblik Compile-time Environment Run-time

Læs mere

Valg af Automationsplatform

Valg af Automationsplatform Valg af Automationsplatform Factory or Machine? Different Product Segments APROL for Process Control and Factory Automation Automation Studio for Machine Automation Factory Automation Factory automation

Læs mere

Specifikation Abstrakt OO OS-API Rev. 1.7. Specifikation. Abstrakt, objektorienteret operativsystem-api

Specifikation Abstrakt OO OS-API Rev. 1.7. Specifikation. Abstrakt, objektorienteret operativsystem-api Specifikation Abstrakt, objektorienteret operativsystem-api Indhold 1 Indledning... 3 1.1 Introduktion... 3 1.2 Formål... 3 1.3 Overordnede krav... 3 2 Ressourcer i OS-API et... 4 2.1 Tråde... 4 2.2 Timere...

Læs mere

Hvad er InfoPath? Et program i Microsoft Office System En desktop applikation Platformen for en ny generation af elektroniske formularer

Hvad er InfoPath? Et program i Microsoft Office System En desktop applikation Platformen for en ny generation af elektroniske formularer Hvad er InfoPath? Et program i Microsoft Office System En desktop applikation Platformen for en ny generation af elektroniske formularer Office InfoPath 2007 kan hjælpe dig med at indsamle oplysninger

Læs mere

Introduction til.net remoting i VB.NET

Introduction til.net remoting i VB.NET Denne guide er oprindeligt udgivet på Eksperten.dk Introduction til.net remoting i VB.NET Denne artikel beskriver teorien bag.net remoting og viser nogle simple kode eksempler i VB.NET. Den forudsætter

Læs mere

Aftenskole i programmering sæson Registrering af tid. Sæson 2 - Lektion 5

Aftenskole i programmering sæson Registrering af tid. Sæson 2 - Lektion 5 Registrering af tid Sæson 2 - Lektion 5 Før jul Vi har designet og bygget en model til håndtering af en timeregistrering Vi har kigget på hvordan vi håndterer fejl Vi har kopieret koden over i Bents x-code

Læs mere

Software 1 with Java. Recitation No. 7 (Servlets, Inheritance)

Software 1 with Java. Recitation No. 7 (Servlets, Inheritance) Software 1 with Java Recitation No. 7 (Servlets, Inheritance) Servlets Java modules that run on a Web server to answer client requests For example: Processing data submitted by a browser Providing dynamic

Læs mere

Microsoft Dynamics C5. Nyheder Kreditorbetalinger

Microsoft Dynamics C5. Nyheder Kreditorbetalinger Microsoft Dynamics C5 Nyheder Kreditorbetalinger INDHOLDSFORTEGNELSE Indledning... 3 Uddybning af ændringer... 4 Forbedring vedr. betalings-id er... 4 Ændringer i betalingsmåder (kreditorbetalinger)...

Læs mere

PLC implementering af operatørpanel

PLC implementering af operatørpanel PLC implementering af operatørpanel Begreber HMI: HMI står for Human Machine Interface, oversat til dansk betyder det mennesker, maskiner og oversættelser af signaler eller forbindelser. SRO: SRO betyder

Læs mere

STEDBEVIDST UDVIKLING. Jes Ryttersgaard Kort og Matrikeldtyrelsen

STEDBEVIDST UDVIKLING. Jes Ryttersgaard Kort og Matrikeldtyrelsen STEDBEVIDST UDVIKLING Jes Ryttersgaard Kort og Matrikeldtyrelsen - bevidst om at bruge stedet som indgang til digital forvaltning - bevidst om hvordan vi sikrer, at det giver mening at bruge stedet - bevidst

Læs mere

Udfordringer og problemstillinger. En liste over de udfordringer og problemstillinger, der er ved Java og JEE udvikling

Udfordringer og problemstillinger. En liste over de udfordringer og problemstillinger, der er ved Java og JEE udvikling Java og JEE 1 2 Udfordringer og problemstillinger En liste over de udfordringer og problemstillinger, der er ved Java og JEE udvikling 3 Generelt om Java og JEE 4 Generelt, I Man undervurderer hvor mange

Læs mere

OIOREST webservice design. Guideline til design af REST-baserede webservices. Udgivet af: IT- & Telestyrelsen

OIOREST webservice design. Guideline til design af REST-baserede webservices. Udgivet af: IT- & Telestyrelsen > OIOREST webservice design. Guideline til design af REST-baserede webservices. Udgivet af: IT- & Telestyrelsen Publikationen kan også hentes på IT- & Telestyrelsens Hjemmeside: http://www.itst.dk ISBN

Læs mere

Semesterbeskrivelse cand. it uddannelsen i it-ledelse 1. semester.

Semesterbeskrivelse cand. it uddannelsen i it-ledelse 1. semester. Semesterbeskrivelse cand. it uddannelsen i it-ledelse 1. semester. Semesterbeskrivelse Oplysninger om semesteret Skole: Statskundskab Studienævn: Studienævn for Digitalisering Studieordning: Studieordning

Læs mere

Evaluering af KidSmart

Evaluering af KidSmart Evaluering af KidSmart Evaluering af KidSmart En KidSmart-computer er en computer, der henvender sig særligt til de 3-6årige. På computeren findes flere forskellige læringsprogrammer, der styrker bl.a.

Læs mere

Test af Cloud-baserede løsninger DSTB Ole Chr. Hansen Managing Consultant

Test af Cloud-baserede løsninger DSTB Ole Chr. Hansen Managing Consultant Test af Cloud-baserede løsninger DSTB - 2016 Ole Chr. Hansen Managing Consultant Præsentation Ole Chr. Hansen Managing Consultant Fellow SogetiLABS Global Innovation Team Blog - http://ochansen.blogspot.com

Læs mere

Design af genbrugeligt objektorienteret software

Design af genbrugeligt objektorienteret software Velkommen Design af genbrugeligt objektorienteret software Evaluering af software ved hjælp af statiske mål. 24 februar 2004 Specialeforsvar af: Søren Gaardbo Jensen Design af genbrugeligt objektorienteret

Læs mere