Hand in H6. Software Architecture in Practice. Book Swap Case

Størrelse: px
Starte visningen fra side:

Download "Hand in H6. Software Architecture in Practice. Book Swap Case"

Transkript

1 Hand in H6 Software Architecture in Practice Book Swap Case Department of Computer Science, University of Aarhus Aabogade 34, 8200 Århus N, Denmark Gruppe: Bravo , Lars Kringelbach, , Marjus Nielsen, , Morten Herman Langkjær, , Peter Madsen, <<Dato: 27. maj 2008>> Side 1 af 31

2 Indholdsfortegnelse Indholdsfortegnelse Introduction Besvarelse Architectural Prototyping Architectural evaluation The Architecture process and Architecture competences Architectural decisions Architectural Reconstruction Connectors Architectural reflection References...31 Side 2 af 31

3 1 Introduction Book Swap is to be a new peer-to-peer (P2P) system for swapping books among peers. Here peers are distributed nodes that acts as both clients and servers. As a part of a business case for Book Swap, the software architect has outlined the following software architecture : The main idea is that a Peer controls a set of books that other peers may download, that peers are equal, and that there is a Peer Communication Layer that abstracts away details about a specific network. Side 3 af 31

4 2 Besvarelse 2.1 Architectural Prototyping The architect has decided that the system should be implemented in Java and that the following interface should be observed when implementing Book Swap : public interface Peer { } /** * Download a Book based on a keyword search */ public String download ( String keyword ); /** * Upload a book to this Peer */ public void upload ( String book ); Now, the software architect wants to apply the technique of architectural prototyping. Please consider the following: Outline which type(s) of architectural prototyping that is/are relevant in this setting The software architect is concerned about whether to use RMI or raw TCP/IP (socket) communication in the prototype. Describe how architectural prototyping may help the architect in making this decision The software architect is concerned about modifiability. Describe how you would create an architectural prototype in this case Discuss what benefits and liabilities there is of using ArchJava for architectural prototyping in this case The software architect decides to make a Service-Oriented Architecture. Discuss this solution Side 4 af 31

5 Outline which type(s) of architectural prototyping that is/are relevant in this setting : Der findes tre forskellige typer af arkitektoniske prototyper Type af prototype Exploratory Experimental Evolutionary Karakteristika At udvikle arkitektoniske løsningsforslag til et system At evaluere arkitektoniske løsningsforslag af en arkitektur At videreudvikle et system eller en prortype til at vise ændringer af en arkitektur. Da formålet med prototypen er at vise hvorledes et forslag til en arkitektur vil fungere, vil det være oplagt at lave en exploratory prototype som kunne teste hvor vidt arkitekturen vil virke med en bestemt teknologi, og i et bestemt setup. Formålet med prototypen kunne være flere, f.eks. hvorledes registrering og identifikation af peer s i systemet skal udvikles, samt f.eks. performance af de valgte teknologider til at uploade og downloade bøger. The software architect is concerned about whether to use RMI or raw TCP/IP (socket) communication in the prototype. Describe how architectural prototyping may help the architect in making this decision : Ved at opstille nogle målbare kriterier for hvordan systemet skal opføre sig, f.eks. ved hjælp af kvalitets attribut scenarier jvf. vil det være muligt at lave en prototype som benytter RMI som kommunikationsmedie, og en anden prototype som benytter rå TCP/IP Socket kommunikation. På den måde vil det kunne testes både hvor besværligt de enkelte teknologier er at benytte i forhold til udviklingsprocessen, men der vil også kunne måles på det overhead der sandsynligvis vil være i at bruge en objektorienteret netværksteknologi, frem for eksempelvis en propreitær binært serialiseret komprimeret rå datastrøm. Yderligere kunne prototypen også have den sideeffekt at den kunne vise hvor enkelt det vil være at skifte netværkslaget ud, og dermed sige noget om modifiability. The software architect is concerned about modifiability. Describe how you would create an architectural prototype in this case : I forbindelse med udviklingen af en prototype som omhandler vedligeholdbarhed, og modificerbarhed, vil det være oplagt at forsøge at definere på hvilke niveaer der ønskes denne modificerbarher. Skal der f.eks. kunne udskiftes netværkslag, eller er det systemets brugergrænseflade der skal kunne ændres eller skiftes ud. Igen kan dette gøres ved at fastlægge de kvalitetsattribut scenarier, som er relevante for modificerbahed. Herefter kunne der laves en prototype som belyser disse aspekter, f.eks. ved at lave abstraktioner over netværkslag, eller benytte MVC patterns. Yderligere vil det være oplagt at kigge på dependency injection, hvor der findes et antal frameworks til f.eks. at understøtte at konfigurationen linkes Side 5 af 31

6 sammen på runtime, og ikke compile time, således at man ved hjælp af xml kan stykke sin applikation sammen. Eksempler på dette kunne være JAVA Spring, eller Microsoft XAML(Extende Application Markup Language). Herefter vil der f.eks. kunne laves en evolutionær prototype med nye krav til netværk eller GUI, baseret på den exploratory eller experimental prototype som ville implementere et forslag til hvordan arkitekturen skulle se ud hvis modifiability er vigtigt. Discuss what benefits and liabilities there is of using ArchJava for architectural prototyping in this case : Arch JAVA er en udvidelse til java som via syntaktiske udvidelser understøtter components og connectors. De åbenlyse fordele der er ved at benytte disse udvidelser er at deres syntaks understøtter en umiddelbar mapning fra C&C view til kode, og omvendt. Dermed er det muligt på enkel vis at lave en hurtig konvertering af kode til viewpoint, og dermed kunne benytte sine arkitektoniske prototyper som driver til dokumentationen af arkitekturen. En åbenlys ulempe ved at benytte Arch JAVA, vil være at når der lægges et ekstra lag af abstraktion ind over koden, lægges der samtidig et ekstra lag af kompleksitet på. Der vil være behov for at de personer der skal udvikle i ArchJava, skal trænes i at bruge teknologien, og hvis der ændres på bemandingen af et projekt over systemet livscyklus, vil der være behov for at disse personer skal læres op i endnu en teknologi. Yderligere skal der tænkes langsigtet i forhold til teknologiholdbarhed,, hvor det kan være der bliver behov for at understøtte e nyere version af Java, men hvor der ikke er udviklet en tilsvarende ArchJava til. Det vil så betyde at den allerede producerede kode ville skulle skrive om, eller man skulle blive på den eksisterende Java platform. Dermed vil en prototype skrevet i ArchJava kunne få langsigtede implikationer, hvis ikke det besluttes at bygge den endelige software direkte ovenpå prototypen istedetfor at lave software fra bunden efter evaluering af prototypen. The software architect decides to make a Service-Oriented Architecture. Discuss this solution : Det at lave en service orienteret arkitekturløsninge for systemet lyder umiddelbart som en rimelig beslutning. SOA systemer vil i høj grad udvikles om meget løst koblede systemer, og derfor kunne hver peer tilbyde et antal services som andre peers kunne benytte sig af. Ved at tage SOA ind i løsningen, kan man så overveje om man også vil gøre løsninge åben for integration fra andre systemer, ved at benytte sig af SOA Reference modellen fra [1]. Dermed kræves der også en ekstra indsats for at dokumentere de services der findes i systemet, deres semantik, hvorledes der skal interageres med dem, sikkerhedsprotokoller, indvirken på omverdenen og hvilken kontekst servicen eksekveres i. Valget om at benytte SOA, trækker demed en række andre problematikker med sig, men hvis der er behov for f.eks. det løst koblede system, eller mulighed for at kunne integrere fra tredjepartsprodukter, vil det være et udemærket valg. Side 6 af 31

7 2.2 Architectural evaluation The software architect has designed a deployment structure of the system as shown below: Here it has been decided to implement the system in Java and to use Java RMI for distributed communication. The main architectural drivers for the system are modifiability and testability and the following is the main use case for the system: The user logs on Book Swap as a Peer and offers his books for download. After discovering other Peers, the user downloads books from other Peers and allows these to upload books. The project stakeholders now want to do an evaluation of the system and decide that the ATAM method should be applied. Please consider the following: Describe the steps of the ATAM method and how they would map to the case Point to possible examples of sensitivity points, trade-off points, and risks Discuss strengths and weaknesses of ATAM in relation to the case Discuss in which way DiscoTect could be used to evaluate the architecture of a (prototype) implementation of the system Compare and contrast ATAM, architectural prototyping, CBAM, and asqa as ways of evaluating a software architecture Side 7 af 31

8 Describe the steps of the ATAM method and how they would map to the case : I ATAM er der ni skridt der skal gennemføres ad to omgange. Nedenfor er listet vilke skridt det drejer sig om samt hvordan det refererer til dette dette system. Seance nr: Processskridt Book Swap 1 Evalueringsleder præsenter metode for teamet 1 Præsenter business drivers Ingen bemærkninger. Fremlæg funktionelle krav omkring udveksling af bøger og peer lookup. Fremlæg relevante kvaliteter og deres samspil, f.eks. performance, modifiability mm. Fremlæg forretningsmål for produktet, hvad er markedet, hvem skal bruge det mm. Præsenter stakteholders, f.eks. managers, kunder, udviklere, boghandlere mm. 1 Præsenter eksisterende arkitektur 2 Identificer arkitektoniske tilgangsvinkler 2 Generer Quality attribute utitlity tree 2 Analyser arkitektoniske tilgangsvinkler En arkitekt, eller anden teknisk kyndig person hvis der ikke findes en arkitekt, fremlægger den eksisterende arkitektur med fokus på view, og hvordan disse imødekommer business drivers. Dokumentér arkitektoniske stilarter, og taktikker,så som SOA, og f.eks. heart beats så registry kan overvåge om en peer forbliver aktiv. Match de valgt taktikker, stilarter osv. med de tidligere præsentere kvaliteter. For hver af de udvalgt kvaliteter defineres på overordnet niveau de scenarier der skal tages hensyn til i evalueringen, f.eks. performance og tilhørende valg af netværkslag samt modifiability og evnen til at udskifte netværkslaget. Herefter prioriteres de enkelte scenarier efter vigtighed for system og hvor svære de er at opnå. Identificér hvorledes hvert højprioritetsscenarie er implementeret eller imødekommet af arkitekturen, f.eks. performance over netværket ved valg af TCP/IP netværksimplementation ved brug af sockets. Dette gøre bl.a. ved at definere Sensitivity points, tradoff points og risks. Dermed kunne et eksempel være at et sensitivitypoint var valget af TCP/IP som netværkslag. Tradeoff point kunne være at det kunne blive sværere at Side 8 af 31

9 udskifte netværkslaget ved at vælge en et netværkslag på lavt abstraktionsniveau. Risk kunne være at det kunne være uacceptabelt ikke at kunne benytte sprogunderstøttet marshalling og unmarshalling af data på tværs af netværket. 2 Brainstorm og prioriter scenarier 2 Analyser arkitektoniske tilgangsvinkler 2 Præsenter resultatet af ATAM Igen videreudvikles scenarierne, og reprioriteres efter større grupper af interessenter, og dermed forfines og udvides input til systemets kravbillede. Det kunne f.eks. være at det blev besluttet at det skal være muligt at integrere til systemt fra andre programmeringssprog end Java. Igen kikkes der på hvorledes arkitekturen og de beslutninger der er taget tidligere imødekommer de definerede kvalitetsattributscenarier. Dette kunne f.eks. være at kigge på hvordan integration med andre programmeringssprog var understøttet af systemet. Alle de opsamlede informationer præsenteres, både dokumenteret arkitektur, scenarier, utility træer, sensitivity points og tradeoff points mm. Point to possible examples of sensitivity points, trade-off points, and risks : Se eksempler i tabellen ovenfor. Discuss strengths and weaknesses of ATAM in relation to the case : Fordelen ved at bruge ATAM er at den indrager i bedste fald alle interessenter, og er meget grundig. Det betyder at der vil være en stor sandsynlighed for at det faktiske resultat af metoden/processen vil være nok valid information til at arbejde videre med systemet, samt definere hvilke dele af systemet der har størst behov for at blive ændret. Discuss in which way DiscoTect could be used to evaluate the architecture of a (prototype) implementation of the system : DiscoTect er et system til at autogenerere arkitekturbeskrivelser for et kørende system. Det basserer sig på at der er installeret et antal kørende prober I systemet, som aktiveres når dele af systemet eksekveres. Dermed har det mulighed for at give feedback på hvor ofte dele af systemet kaldes, og med hvilken type data. Det vil give mulighed for automatisk at generere dokumentation for, hvor vidt prototypen overholder de arkitektoniske tanker og dokumentation som lå til grundlag for prototypen. Dermed giver det mulighed for at holde den faktiske kørsel af prototypen op imod den udviklede arkitektur for prototypen, og dermed også mulighed for at verificere at prototypen viser det den havde til formål at vise. Side 9 af 31

10 Compare and contrast ATAM, architectural prototyping, CBAM, and asqa as ways of evaluating a software architecture : Hvor ATAM er en relativt grundig og omfattende process, som både er omfangsrig I personer, men også i kalendertid, så er arkitektoniske prototype en metode som skaber hurtig feedback, og et garanteret validt feedback. Ved at lave implementation, kan det nemt identificeres hvor vidt en teknologi, stilart eller taktik har positiv eller negativ indflydelse på systemet. Evalueringstyper der har karakter af spørgsmål, kan blive både tænkte, og risikere at være ufyldestgørende, hvis interessenterne glemmer nogle væsentlige detaljer. Der vil en prototype sørge for at man bliver ramt af virkeligheden, og dermed ikke glemmer detaljer om f.eks. miljøet hvori systemet kører. CBAM og asqa er begge letvægtsmetoder, hvor CBAM forholder sig til COST/BENEFIT, og dermed hvilke features, eller valg af stilarter/taktikker/mm. Der vil give det bedste afkast basseret på investeringen. Dette kan være en glimrende måde at prioritere bestemte typer opgaver, samt se hvorledes der eventuelt vil være synergi imellem at lave flere opgaver samtidigt. CBAM kan også vise hvor vidt der vil være afhængiheder imellem de forskellige typer opgaver, og dermed også om en implementeret opgave vil påvirke en anden opgave negativt. asqa fokuserer i langt højere grad på komponenter, og løbendene evaluering af systemets tilstand. Det betyder at den udledte information kan give indblik i hvor der vil være mest værdi i at lægge sine udviklertimer, i forhold til komponenternes tilstand, og deres mål. Alle metoderne belyser systemudvikling, og arkitekturudvikling fra forskellige vinkler, og dermed supplerer de hinanden fint, og kan benyttes i forskellige situationer. Side 10 af 31

11 2.3 The Architecture process and Architecture competences The organization that develops the Book Swap application is a large publishing house that plans to offer its publications for peer-to-peer swapping with each swap incurring a fee for the organization. The architect is now targeted with presenting a proposed software architecture process for project management. Please consider the following: Outline which architectural design activities are relevant in this case and what they should contain. The architect decides to use a backlog in his architecture work. Describe how the backlog may be used. Consider which types of duties, skills, and knowledge are most relevant in this case. Give examples of how Organizational Coordination and Organizational Learning could ideally take place in this organization. Give examples of what would make the organization architecturally competent. Give examples of what would make the organization architecturally incompetent. Side 11 af 31

12 Outline which architectural design activities are relevant in this case and what they should contain. : For at diskutere relevante designbeslutninger er det nødvendigt at have viden om den organisation hvor i arkitekturprocessen skal passe. Da organisationen er et stort forlag, må man forvente at deres hovedekspertise ikke ligger inden for udvikling af software. Det tænkes derfor at ledelsen ikke er software kyndig og at udviklingen af Book Swap skal forestås af en mindre udviklingsgruppe. Der bør derfor fokuseres på letvægtsmetoder, som er letforståeligt for ikke software kyndige. Med udgangspunkt i [Hofmeister et al, 2007] laves et skema for en foreslået arkitektur proces med aktiviteter og artefakter for de tre faser, analyse, syntese og evaluering: Artefakter Aktiviteter Teknikker og værktøjer Arkitektonisk analyse Hoved use cases Find hoved use -QAS Hoved cases ud fra -Use cases kvalitetsatributter markedsanalyse QAW Arkitektonisk syntese Viewpoints Prototype(r). Arkitektonisk evaluering Overordnede proces drivere Utility grafer Return On Investment System Health System Fokuspunkter Prototype kommentarer ADD Arkitekturprototyper Funktionsprototype Udfør CBAM Udfør asqa Evaluer arkitektoniske prototyper UML Skeletapplikation ASQA,CBAM Beslutningsrationale Letvægtsmetoder tilpasset en lille organisation. Fokus på output som er forståeligt for ikke software kyndige Letvægtsproces. Arkitekturprototype giver gode muligheder for at undersøge om forskellige kvalitetskrav er overholdt. Prototypen kan desuden tjene som basis for den videre udvikling. Der er desuden tilføjet en funktionsprototype, hvilket ikke direkte er en arkitektonisk aktivitet, men som tjener til at animere hoved use cases over for management, således det så tidligt som muligt kan valideres at er det den ikke software kyndige ledelse forestiller sig. Letvægtsprocess, lille projektorganistation. Output tænkes let forståeligt for ledelsen, da der er tale om output som minder om det der fås fra fx. økonomiske analyser. Backlog Opdater backlog Wiki Letvægtsproces, kun en arkitekt. Giver en nem mulighed for at dokumentere og have historik på designbeslutninger. Som det ses af ovenstående skema er der valgt en række letvægtsteknikker, som passer ind i en lille organisation. Desuden er er fokus på at ledelsesrelevant information produceres i et format som er letforståeligt for personer uden erfaring med udvikling af software. Viewpoints og arkitektoniske prototyper er direkte rettet mod udviklingsteamet, og det giver derfor ikke anledning til bekymring at der her er tale om artefakter som ikke umiddelbart kan forventes forstået af ledelsen. Side 12 af 31

13 The architect decides to use a backlog in his architecture work. Describe how the backlog may be used. : Det er som skrevet allerede foreslået at der benyttes en backlog. Backlogen benyttes til at beskrive alle arkitektoniske valg (der bør benyttes et veldefineret skema, som vist i H5), udeståender, resultatet af QAW osv. Der tænkes brugt en Wiki, således tiden bliver brugt på indhold og ikke så meget på form. Backloggen kommer hermed til at indeholde historikken for den arkitektoniske udvikling af projektet, og lige så vigtigt den historik der ligger bag forskellige beslutninger. Desuden vil den tjene som en elektronisk notesblok hvor i arkitekten kan se og notere open issues, således disse ikke går tabt. Ud over den før omtalte sporbarhed, giver en elektronisk backlog også mulighed for at mere end en person kan deltage i det arkitektoniske arbede. Consider which types of duties, skills, and knowledge are most relevant in this case. : Følgende er de typiske pligter for en arkitekt (bearbejdet fra [Bass et al., 2008b]): Generelt område Arkitekturarbejde Ikke arkitekturspecifikke opgaver Interaktion med stakeholders Ledelse Relateret til organisation og forretning Lederskab og teambuilding Specifikt område Lave en arkitektur Arkitekturevaluering og analyse Dokumentation Transformere eksisterende system Andre arkitektoniske opgaver Kravspecificering Kodning Test Fremtidige teknologier Valg af værktøjer og teknologier Generel interaktion Kunder Udviklere Projektledelse Personaleledelse Supportere øvrig ledelse Organisation Forretning Teknisk lederskab Team Building Arkitekturarbejdet er naturligt en af arkitektens vigtigste pligter, da der kun er vedkommende til at skabe arkitekturen (transformation af et eksisterende system er naturligvis ikke vigtigt, da et sådant ikke findes). Da der ikke findes nogen udviklingsorganisation i forvejen, er der i dette tilfælde andre meget vigtige opgaver for arkitekten at udføre, herunder valg af værktøjer og teknologier, interaktionen med stakeholders og især teknisk lederskab og team building, som er nødvendigt for at få den nye afdeling og den nye arkitekturmodel op og stå. Der må forventes at være en decideret projektleder tilknyttet projektet, hvorfor dette ikke tænkes at være en af arkitektens pligter. Side 13 af 31

14 Følgende er en liste af de egenskaber en arkitekt bør være i besiddelse af: Generelt område Kommunikationsevner Interpersonelle evner Arbejdsevner Personlige evner Specifikt område Eksterne kommunikationsevner Generelle kommunikationsevner Interne kommunikationsevner I teamet Uden for teamet Lederskab Effektivt håndtere arbejdsbelastning Håndtere information Personlige kvaliteter Håndtere ukendte faktorer Håndtere uventede ting Tilegne sig ny viden Det synes essentielt at arkitekten har gode kommunikationsevner, da projektets succes er afhængig af om denne får kommunikeret design, ideer, metoder mv. til teamet. Da der arbejdes med et nyt produkt i et ukendt domæne er det også vigtigt at arkitekten evner at tilegne sig ny viden og uventede / ukendte faktorer. Følgende er en liste af viden en arkitekt bør være i besiddelse af: Generelt område Softwarespecifik viden Viden om teknologier og platforme Viden om organisationen og ledelsen Specifikt område Viden om arkitektur koncepter Viden om udvikling af software Viden om software design Viden om programmering Specifikke teknologer og platforme Generel viden Domæneviden Viden om industrien Ledelse og leder erfaring Da denne arkitekt er alene i en organisation uden anden softwareudvikling, er det essentielt at arkitekten besidder den nødvendige softwarespecifikke viden og viden om teknologier og platforme, da det ikke kan forventes at der kan findes hjælp andre steder i organisationen. Side 14 af 31

15 Give examples of how Organizational Coordination and Organizational Learning could ideally take place in this organization. : Organizational Coordination omhandler en organisations evne til at koordinere akitekturinformation og viden, herunder især hvordan flere afdelinger/teams får koordineret og ideelt set følger en fælles strategi. Da der er gået ud fra det dette er organisationens første softwareprojekt og der kun er dette ene projekt er der ikke umiddelbart flere teams med behov for koordinering. Hvis man forestiller sig at dette produkt skal danne basis for en produktlinie og evt. andre typer produkter, vil der være behov for flere teams og dermed langt større behov for koordinering. I dette tilfælde ville det være oplagt at uddrage erfaringer fra dette pilotprojekt, herunder designmodellen, strategier mv. og gøre denne erfaring til udgangspunkt for andre teams / projekter. Dette kunne fx. gøres ved at nedsætte en basisgruppe med ansvar for at vedligeholde metoder og strategier på tværs af organisationen og samle arkitektonisk viden. Det essentielle i denne proces er at alle teams benytter de samme metodikker og en fælles base, da koordinering så vil foregå i et fælles sprog. Organizational Learning omhandler en organisations evne til at lære, hvilket vil sige omdanne erfaringer til viden. Med udgangspunkt i ovenstående figur fra [Bass et al., 2008b] giver viden erfaring, som igen bidrager til en organisations arkitektoniske kompetence. At omdanne viden til erfaring kræver refleksion. At få organisationen til at opbygge arkitektonisk kompetence kræver mao. at refleksion og den resulterende læring er en del af en defineret proces. Foregår dette kun inden for det enkelte team får dette team større arkitektonisk kompetence (ved at reflektere over den opnåede læring). Ved at foretage refleksion på tværs af organisationen opnås vidensdeling og dermed øget arkitektonisk kompetence for hele organisationen. For at sikre vidensdeling bør refleksion planlægges som en fast del af arkitekturprocessen, dvs. at der i organisationen findes et framework til dette. Side 15 af 31

16 Give examples of what would make the organization architecturally competent. : En arkitektonisk kompetent organisation vil have processer på plads til at understøtte koordinering og læring som beskrevet ovenfor. Jo mere processerne er formaliseret og jo mere aktiv fokus de har jo mere kompetent er organisationen. Mere specifikt tænkes det at arkitektur skal drives af den enlige arkitekt, hvorfor meget afhænger af denne persons viden og evner. I den første fase må organisationens samlede arkitektoniske kompetence være lig arkitektens. Give examples of what would make the organization architecturally incompetent. : Analogt til ovenstående svar så vil en inkompetent organisation ikke være i stand til at understøtte, koordinering, læring og vidensdeling, og igen da dette er organisationens første softwareprojekt er der ingen arkitektonisk viden i organisationen ud over den som arkitekten besidder (eller er i stand til at tilegne sig ved egen hjælp). Det er derfor essentielt at arkitektens viden er tilstrækkelig til at gennemføre de foreslåede aktiviteter og at denne har fornøden viden om domænet. Side 16 af 31

17 2.4 Architectural decisions For the development of the Book Swap application, it has been decided to 1. use Java and RMI as a distributed platform, 2. to use the software architecture methods of Bass et al. (2003), 3. to always program towards an interface, and 4. there cannot be any node that is a server or a client. Please consider the following: What kind of design decisions are the four decisions? Using one of the decisions as an illustration, use the template of Tyree and Akerman (2005) to document it (as far as possible) Discuss how representations of design decisions could be used in architectural evaluation Explain how design decisions could fit into the IEEE 1471 framework What kind of design decisions are the four decisions? : Afgørelsen om at bruge Java og RMI er sandsynligvis taget pga. virksomheden i forvejen anvender Java, og dens medarbejdere har kompetence til at udvikle i Java. Derfor er denne beslutning en Excecutive decision. Det er besluttet at bruge metoderne fra Bass et al. Denne beslutning er igen en beslutning som må forventes bygger på at arkitekten har gode erfaringer med denne metode. Med andre ord er det tvivlsomt om man ville nå væsentligt andre kvaliteter hvis man havde brugt andre metoder. Denne beslutning er også en Excecutive decision. Afgørelsen om at altid programmere mod et interface er en (structural) Existence decision, hvor det er fastlagt at man altid skal følge et bestemt programmeringsmønster. Den sidste afgørelse om at der ikke må være nogen nodes som enten er server eller client, er en Nonexistence afgørelse, som er det omvendte af en Existence decision. Denne afgørelse kunne altså omskrives til følgende Existence afgørelse: alle nodes skal være både klient og server. Side 17 af 31

18 Using one of the decisions as an illustration, use the template of Tyree and Akerman (2005) to document it (as far as possible) : Issue Decision Status Grouping Assumptions Constraints Positions Argument Implications Ralated decisions Related requirements Related artifacts Related principles Notes Omkostningerne ved ændringer i et system kan let blive store. Der skal altid programmeres op mod et interface, hvor det er muligt. Vedtaget. Modifiability Det må ikke tage væsentligt længere tid at programmere op mod interfaces i forhold til direkte mod objekterne. Ingen Programmere direkte op mod klasser. Kunne undlade at bruge interfaces, og programmere direkte op mod klasser, men ved at bruge interfaces får vi en løsere kobling mellem klasserne. Det kan have en inflydelse på COTS produkter og eventuelle frameworks hvis disse benytter sig af reflection. Ingen Ingen Ingen Høj modificerbarhed uden stort performancetab. Ingen Discuss how representations of design decisions could be used in architectural evaluation : En beskrivelse af arkitekturen og en beskrivelse af arkitektoniske beslutninger er begge en del af den arkitektoniske viden som eksisterer i en eller anden form når et system bliver konstrueret. Arkitekturen lever i systemet, og derfra kan man, i hvert fald delvist, altid genskabe beskrivelsen af den. Men hvis de arkitektoniske beslutninger ikke bliver dokumenteret vil de med tiden gå tabt i takt med at arkitekten glemmer detaljer eller forlader virksomheden. Dermed går vigtig og værdifuld information tabt. Dokumentation af beslutninger har ikke kun værdi for eftertiden. Den kan også være en hjælp til kommunikationen mellem forskellige aktører. I en evaluering af et systems arkitektur er der af gode grunde flere andre aktører end softwarearkitekten involveret. For at disse skal få indblik i systemets arkitektur er det nødvendigt med en arkitektonisk beskrivelse, f.eks. i views. Views er udmærkede til at beskrive den valgte arkitektur men viser ikke hvad arkitekten har valgt fra, og hvilke overvejelser arkitekten har haft i processen. Så ved også at beskrive bevidste fravalg, antagelser og kompromiser, som arkitekten på baggrund af grundig analyse har lavet, kan de andre deltagere i en arkitektonisk evaluering få vigtig indsigt arkitekuren som skal evalueres. Dette er oplysninger som ellers ikke ville indgå i views eller et rationale for arkitekturen. Dermed er det relevant at bruge beslutningerne som input for evalueringen. Man kunne også holde resultatet af en evaluering op mod de valg der er lavet. Det er muligt at arkitekten bevidst og velovervejet har fravalgt visse løsninger selv om disse virker logiske i en arkitektonisk evaluering. Side 18 af 31

19 Man kan uden tvivl drage fordel af at have arkitektoniske beslutninger dokumenterede når en evaluering skal laves. På den anden side kan det måske være en ulempe hvis personerne som skal lave evalueringen kender alle detaljer i baggrunden for valg af arkitektoniske elementer idet at det kan hæmme kritiske spørgsmål. Det er altså vigtigt også at evaluere afgørelserne. Explain how design decisions could fit into the IEEE 1471 framework : Som mange andre metoder og frameworks til at beskrive softwarearkitektur, fokuserer IEEE 1471 på at beskrive arkitekturen som et produkt, og ignorerer eller nedprioriterer væsentligt at dokumentere processen som har ledt til arkitekturen. IEEE 1471 frameworket foreskriver at man beskriver rationalet for en valgt arkitektur og at man herunder beskriver alternative arkitektoniske koncepter. Side 19 af 31

20 2.5 Architectural Reconstruction Consider the following (part of a) prototype of Book Swap that the architect of Book Swap has built (where Peer extends Remote): package dk.saip public class Peer {... } private Collection <String> books = new LinkedList<String>(); private Collection <Peer> peers = new LinkedList<Peer>(); private Network network = new Network (); public int download (String keyword, Peerto) { for(string book:books) { if (book. contains (keyword)) { return network.send(book,to); } } return network.send(null, to); } public void upload (String book, Peer from) { books.add(book); } He has decided to implement the network communication in C++ allowing for higher speed. Please consider the following: Explain the Symphony process and how it would apply to this case. No formal architectural documentation exists currently What kinds of source views, target view, and hypothetical views would there be in this case? How could they be obtained? What would a typical UML tool reverse engineer the prototype into? What would be missing? What information would be needed to reconstruct requirements or design decisions? Side 20 af 31

21 Explain the Symphony process and how it would apply to this case. No formal architectural documentation exists currently : Symphony går ud på at rekonstruere arkitekturdokumentationen for et allerede udviklet system. Det er generelt en svær proces, da man mister meget information, når man går fra arkitektur til implementation. Symphony er en proces der hjælper til at trække denne information ud af systemet og konvertere det til en arkitekturbeskrivelse. Overordnet går Symphony ud på at skabe en række source views ud fra systemet. De kan genereres ud fra kildekode, analyser af et kørende system eller opsamlet data efter en kørsel. Source views betragtes normalt ikke som arkitektoniske views, da de indeholder alt for detaljerede informationer. Ud fra source views skal der laves en mapping til target views. Target views beskriver arkitekturen som den er implmenteret og indeholder den information der skal bruges for at løse problemet. Som supplement til target views kan hypotetiske views bruges til at beskrive arkitekturen ud fra den information der ellers kan samles om systemet. De hypotetiske views behøver ikke vise den implementerede arkitektur korrekt, men kan bruges til at sammenligne med target views. Symphony består af to dele, Reconstruction Design og Reconstruction Execution. Reconstruction Design Denne del af processen går ud på at finde ud af hvorfor der skal laves en rekonstruktion af systemet og hvilke problemer der skal afdækkes med arkitekturbeskrivelsen, da dette vil have indflydelse på valget af viewpoints. Det kræver mange stakeholders at lave en arkitekturrekonstruktion, så der skal være gode grunde for at udføre den. Disse kan fx være: performance problemer, problemer med vedligeholdelse, ustabilitet, udvidelse eller udskiftning af systemet. Problemet skal herefter analyseres for at identificere hvilke viewpoints der skal bruges til target views for at give den information der er nødvendig for at løse problemet. Ud fra de valgte target viewpoints skal man finde ud af hvilke informationer der er nødvendige for at generere dem. Source viewpoints beskriver disse informationer, og hvordan man udleder dem fra fx kildekode. For at kunne transformere den opsamlede data i source views skal der defineres nogle regler for hvordan source views kan mappes til target views. Der kan evt. også defineres nogle hypotetiske viewspoints og deres rolle. Hypotetiske views beskriver ikke nødvendigvis arkitekturen korrekt, men nærmere som den er blevet designet. De kan defineres ud fra evt. eksisterende dokumentation, præsentationer, interviews med stakeholders etc. De hypotetiske views kan fx bruges til at sammenligne med target views, for at vurdere om man er kommet frem til det rigtige resultat. Der findes ikke nogen formel dokumentation til Book Swap prototypen hvor netværkskommunikationen er blevet implementeret i C++. For at give en bred beskrivelse af arkitekturen vil det være relevant med de tre meget brugte viewpoints; Module, Component & Connector og Allocation, hvor der specielt lægges vægt på kommunikationsdelen. Module view skal identificere hvilke moduler og klasser der benytter netværk, Component & Connector view skal vise hvordan netværket benyttes og allocation view hvorledes de forskellige komponenter er distribueret Side 21 af 31

22 Reconstruction Execution Udførelsen af rekonstruktionen går først og fremmest ud på at trække data ud fra fx kildekode, log-filer, test-kørsler af systemet etc. Der kan fx laves forskellige leksikalske og syntaktiske analyser af kildekode for at finde konkrete informationer om kodens opbygning. Når source views er lavet skal de konverteres til target views. Der findes desværre stort set ingen gode automatisker måder at konvertere fra source views til target views, så man må ofte gøre det manuelt eller bruge halv-automatiske værktøjer der skal konfigureres til det konkrete tilfælde, så de kan lave den rigtige mapning. De halv-automatiske metoder kan dog nogen gange gentages når de først er blevet konfigureret. Det giver mulighed for at lave rekonstruktion af arkitekturen løbende, når først den er udført én gang. Reconstruction design og udførelse udføres ofte i iterationer, da der ofte opdages nye muligheder for at trække informationer ud af kildedata under udførelsen og dermed generere bedre target views. For at lave de source views der er defineret for Book Swap kan man fx udtrække statiske informationer fra de fysiske filer og ved manuel kodeanalyse. En runtime analyse kan laves med en java debugger/profiler til at lave trace, og man kan fx benytte en netværks-sniffer til at undersøge brugen af netværk for eks. chatty kommunikation. Når target views er genereret ud fra source views skal de analyseres for at afdække det problem der har givet anledning til rekonstruktionen. En repræsentation af arkitekturen skal fremlægges for stakeholders, og der kan fx sammenlignes med en arkitekturbeskrivelse for den version hvor der er brugt RMI, for at vurdere hvad indflydelse det har at skifte netværkskomponenten ud. Side 22 af 31

23 What kinds of source views, target view, and hypothetical views would there be in this case? How could they be obtained? : De valgte views er også beskrevet som en del af besvarelsen på ovenstående spørgsmål. De er opsummeret i de følgende tabeller: Source views: Source view Klassediagrammer Sekvensdiagrammer Netværksbrug Allokering af moduler Data Leksikalsk analyse af kode. Brug af Magic Draw. Trace af output fra kørende system vha. debugger, profiler eller JSeq. Opsamling af netværkskommunikation vha. sniffer, eller ved at bruge DiscoTect med probes der opsamler system events om brug af netværket. Undersøgelse af build-filer. Der findes ingen gode måder til at lave allokation views på. Target views: Target view Module view Component & Connector view Allocation view Data Kan laves ud fra de klassediagrammer som fx Magic Draw kan generere. Der vil være noget manuelt arbejde for at få de sidste detaljer på plads. Et værktøj som JSeq kan generere sekvensdiagrammer direkte ud fra en kørsel af systemet. Output fra en netværks-sniffer skal konverteres manuelt til sekvensdiagrammer der beskriver brugen af netværket. Allocation view må laves manuelt. Man kan være heldig af finde information om konfiguration og allokering af moduler i en build-fil. Hypotetiske views: Hypotetisk view C&C view af Book Swap med RMI Stilarter/taktikker Præsentationer Data Kan laves som for Book Swap med C++ netværkskomponent, eller eksisterer måske allerede. Dette kan bruges til sammenligning. Ud fra interviews med stakeholders kan der laves views over de brugte stilarter/taktikker. Dette view kan bruges til at vurdere om rekonstruerede arkitekturbeskrivelse er korrekt. Præsentationer der er genereret i forbindelse med tidligere reviews. Side 23 af 31

24 What would a typical UML tool reverse engineer the prototype into? What would be missing? : Et typisk UML værktøj vil generere UML ud fra ovenstående kildekode som ser nogenlunde sådan ud: dk.saip Peer +download(string, Peer): int +upload(string, Peer) String +contains(string): bool Network +send(string, Peer): int Værktøjer der kan generere UML automatisk ud fra kildekode kan ikke altid se de afhængigheder der er. Hvis fx der findes flere typer af Peers kan værktøjet ikke se hvilke typer der er relevant i hvilke sammenhænge. Værktøjet kan heller ikke se, at listen af strenge rent faktisk repræsenterer bøger. Specielt analyse af C++ kode er svært, da der kan benyttes pointere som kan gøre det stort set umuligt at se hvilke afhængigheder der er ved en statisk analyse. What information would be needed to reconstruct requirements or design decisions? : Da der ikke findes nogen formel dokumentation af Book Swap prototypen er det nødvendigt at opsamle informationer om krav og beslutninger ud fra interviews med stakeholders, og undersøgelser af fx repositories over tid for at se udviklingen. Det kan også være at der er opsamlet uformelle informationer på en wiki, der kan bruges til at få et overblik over forløbet. Side 24 af 31

25 2.6 Connectors The architect of Book Swap has drawn the following rich picture of his intended architecture: Please consider the following: The architect wants to describe his design using connector types. Outline which types he has chosen Which other connector types are/are not applicable to Book Swap? The architect decides to implement the system in ArchJava. Discuss the benefits and liabilities of this choice Sketch the code of Book Swap in ArchJava (it does not have to compile) What consequences does the choice of using ArchJava have for architecture reconstruction? Side 25 af 31

26 The architect wants to describe his design using connector types. Outline which types he has chosen : De fleste connectorer kan beskrives med forskellige typer, men vi mener at arkitekten har forsøgt at beskrive de følgende typer i sin figur. Connector Type 1. Register Registreringsprocessen fungerer som et procedurekald med parameteroverførsel. 2. Discover Peer Discover Peer foretages som data access i det globale registry. 3. Get book Selve funktionen Get book kan beskrives som et procedurekald med en parameter der angiver hvilken bog der skal returneres. 4. Fetch Fetch kan beskrives som data access i persistent lager. 5. Store Store er på samme måde som Fetch data access i persistent lager, der opbevarer de bøger der er tilgængelige direkte på en Peer. Which other connector types are/are not applicable to Book Swap? : Afhængig af hvilket niveau man systemet på kan man beskrive forbindelserne mellem Peers og Registry med forskellige connector-typer. Hvis registreringer bliver publiceret til alle online Peers, kan dette beskrives som en connector med typen Event, der fortæller om en Peer er gået online eller offline. Hvis man ser selve Registry som en connector kan denne beskrives som en Linkage-type der bruges til at binde Peers sammen run-time. Hvis selve overførslen af bogen fungerer ved at der oprettes en separat forbindelse på baggrund af en forespørgsel på en bog, kan denne være en stream. For at fordele bøger rundt i P2P-netværket kan der laves en stream med multiple modtagere. I et P2P-netværk kan man vælge at lave en load-balancering ved at distribuere elementer ud på flere Peers på forkant, for at fordele downloads og dermed øge båndbredden. Dette kan ses som en arbitratorconnector mellem Peers. Systemet er designet til at fungere på tværs af vidt forskellige Peers, og der er derfor ikke behov for nogen adaptor-connectors. P2P-systemet indeholder ikke nogen Distributor-connecterer, al kommunikation foregår direkte mellem Peers. Side 26 af 31

27 The architect decides to implement the system in ArchJava. Discuss the benefits and liabilities of this choice : Når components og connectors er identificeret i det arkitektoniske design, kan de implementeres i ArchJava. ArchJava vil påtvinge kommunikationsvejene som angivet i koden, og dermed sikre at det arkitektoniske design overholdes. Hvis der er problemer med det arkitektoniske design der gør at forbindelserne ikke kan overholdes, vil ArchJava identificere dem. Den måde ArchJava deler systemet op i komponenter og connectorer på gør det desuden nemmere at skifte en forbindelse ud mellem to komponenter, fx. ændre kommunikationen mellem Peers fra RMI til et dedikeret netværkslag der er designet til overførsel af bøger. Problemerne ved at benytte ArchJava er de samme som der er beskrevet under afsnit 2.1 Architectural Prototyping. Sketch the code of Book Swap in ArchJava (it does not have to compile) : Se C2Bravo.zip for et eksempel på hvordan BookSwap kan se ud i ArchJava. Der er lagt vægt på beskrivelsen af connectorer i forhold til ovenstående figur. Dvs. der er ikke taget stilling til hvilken forbindelse der er mellem komponenter. What consequences does the choice of using ArchJava have for architecture reconstruction? : De statiske component & connector views kan ses direkte i koden, og kan derfor rekonstrueres nøjagtigt umiddelbart ved at se på kildekode. Aktive objekter og de dynamiske egenskaber vil ArchJava ikke give nogen hjælp til. Side 27 af 31

28 2.7 Architectural reflection The customer of the Book Swap system requires that the system becomes self-managed. One specific requirement is that for the mobile version of Book Swap, the system should always choose the best available network connection, trading off cost and bandwidth of the connection. Another requirement is that if one Book Peer fails, it should be discovered and if possible repaired. Please consider the following: Where does Book Swap (with the added requirements) belong on the Autonomic Computing axis? Illustrate how the three-layer architecture of Kramer and Magee (2007) could map to Book Swap The architect decides to using DiscoTect in the lower layer of the three-layer architecture. Which kinds of probes would he need? Give examples (verbally) of rules that he could write to transform system events into architectural events Where does Book Swap (with the added requirements) belong on the Autonomic Computing axis? På ovenstående figur ses en specification af graden af autonomi for forskellige computersystemer. Det nuværende system er level 1, da der ikke er systemer eller management tools til at håndtere fejl eller ændrede betingelser. Foretages de foreslåede ændringer kan (den del af) systemet som minimum betragtes som Adaptive, da det er systemet selv som handler ved at vælge et passende netværk ud fra prisinformation og samtidigt selv reagere intelligent hvis en peer fejler. Side 28 af 31

IBM Network Station Manager. esuite 1.5 / NSM Integration. IBM Network Computer Division. tdc - 02/08/99 lotusnsm.prz Page 1

IBM Network Station Manager. esuite 1.5 / NSM Integration. IBM Network Computer Division. tdc - 02/08/99 lotusnsm.prz Page 1 IBM Network Station Manager esuite 1.5 / NSM Integration IBM Network Computer Division tdc - 02/08/99 lotusnsm.prz Page 1 New esuite Settings in NSM The Lotus esuite Workplace administration option is

Læs mere

Hand in H5. Software Architecture in Practice. Architecture design methods. Architecture design decisions

Hand in H5. Software Architecture in Practice. Architecture design methods. Architecture design decisions Hand in H5 Software Architecture in Practice Architecture design methods Architecture design decisions Department of Computer Science, University of Aarhus Aabogade 34, 8200 Århus N, Denmark Gruppe: Bravo

Læs mere

Mandatory Project: Software Architecture of the TM12 System

Mandatory Project: Software Architecture of the TM12 System Mandatory Project: Software Architecture of the TM12 System Morten Mackenhauer og Kim Kokholm Department of Computer Science, University of Aarhus Aabogade 34, 8200 Å rhus N, Denmark 20108038, 20024448

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

IBM Software Group. SOA v akciji. Srečko Janjić WebSphere Business Integration technical presales IBM Software Group, CEMA / SEA IBM Corporation

IBM Software Group. SOA v akciji. Srečko Janjić WebSphere Business Integration technical presales IBM Software Group, CEMA / SEA IBM Corporation IBM Software Group SOA v akciji Srečko Janjić Business Integration technical presales IBM Software Group, CEMA / SEA Service Oriented Architecture Design principles and technology for building reusable,

Læs mere

Privat-, statslig- eller regional institution m.v. Andet Added Bekaempelsesudfoerende: string No Label: Bekæmpelsesudførende

Privat-, statslig- eller regional institution m.v. Andet Added Bekaempelsesudfoerende: string No Label: Bekæmpelsesudførende Changes for Rottedatabasen Web Service The coming version of Rottedatabasen Web Service will have several changes some of them breaking for the exposed methods. These changes and the business logic behind

Læs mere

Projektledelse i praksis

Projektledelse i praksis Projektledelse i praksis - Hvordan skaber man (grundlaget) for gode beslutninger? Martin Malis Business Consulting, NNIT mtmi@nnit.com 20. maj, 2010 Agenda Project Governance Portfolio Management Project

Læs mere

Engelsk. Niveau C. De Merkantile Erhvervsuddannelser September 2005. Casebaseret eksamen. www.jysk.dk og www.jysk.com.

Engelsk. Niveau C. De Merkantile Erhvervsuddannelser September 2005. Casebaseret eksamen. www.jysk.dk og www.jysk.com. 052430_EngelskC 08/09/05 13:29 Side 1 De Merkantile Erhvervsuddannelser September 2005 Side 1 af 4 sider Casebaseret eksamen Engelsk Niveau C www.jysk.dk og www.jysk.com Indhold: Opgave 1 Presentation

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

Engelsk. Niveau D. De Merkantile Erhvervsuddannelser September Casebaseret eksamen. og

Engelsk. Niveau D. De Merkantile Erhvervsuddannelser September Casebaseret eksamen.  og 052431_EngelskD 08/09/05 13:29 Side 1 De Merkantile Erhvervsuddannelser September 2005 Side 1 af 4 sider Casebaseret eksamen Engelsk Niveau D www.jysk.dk og www.jysk.com Indhold: Opgave 1 Presentation

Læs mere

WINDCHILL THE NEXT STEPS

WINDCHILL THE NEXT STEPS WINDCHILL THE NEXT STEPS PTC/user, 4. marts 2015 Jens Christian Jensen, Econocap Agenda Windchill the next steps Bliv opdateret og inspireret til at se hvor Windchill kan hjælpe dig med andet end blot

Læs mere

Vina Nguyen HSSP July 13, 2008

Vina Nguyen HSSP July 13, 2008 Vina Nguyen HSSP July 13, 2008 1 What does it mean if sets A, B, C are a partition of set D? 2 How do you calculate P(A B) using the formula for conditional probability? 3 What is the difference between

Læs mere

Database for udviklere. Jan Lund Madsen PBS10107

Database for udviklere. Jan Lund Madsen PBS10107 Database for udviklere Jan Lund Madsen PBS10107 Indhold LINQ... 3 LINQ to SQL og Arkitektur... 3 O/R designere... 5 LINQ Den store introduktion med.net 3.5 er uden tvivl LINQ(udtales link): Language-INtegrated

Læs mere

Project Step 7. Behavioral modeling of a dual ported register set. 1/8/ L11 Project Step 5 Copyright Joanne DeGroat, ECE, OSU 1

Project Step 7. Behavioral modeling of a dual ported register set. 1/8/ L11 Project Step 5 Copyright Joanne DeGroat, ECE, OSU 1 Project Step 7 Behavioral modeling of a dual ported register set. Copyright 2006 - Joanne DeGroat, ECE, OSU 1 The register set Register set specifications 16 dual ported registers each with 16- bit words

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

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

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

Procedurer for styring af softwarearkitektur og koordinering af udvikling

Procedurer for styring af softwarearkitektur og koordinering af udvikling LEVERANCE 2.3 Procedurer for styring af softwarearkitektur og koordinering af udvikling Procedurerne vil omfatte: Planlægning af udfasning af gamle versioner af OpenTele Planlægning af modning af kode

Læs mere

Byg din informationsarkitektur ud fra en velafprøvet forståelsesramme The Open Group Architecture Framework (TOGAF)

Byg din informationsarkitektur ud fra en velafprøvet forståelsesramme The Open Group Architecture Framework (TOGAF) Byg din informationsarkitektur ud fra en velafprøvet forståelsesramme The Open Group Framework (TOGAF) Otto Madsen Director of Enterprise Agenda TOGAF og informationsarkitektur på 30 min 1. Introduktion

Læs mere

Online kursus: Content Mangement System - Wordpress

Online kursus: Content Mangement System - Wordpress Online kursus 365 dage DKK 1.999 Nr. 90213 P ekskl. moms Wordpress er et open-source content management system, som anvendes af mere end 23% af verdens 10 millioner mest besøgte hjemmesider. Det er et

Læs mere

PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU

PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU OUTLINE INEFFICIENCY OF ATTILA WAYS TO PARALLELIZE LOW COMPATIBILITY IN THE COMPILATION A SOLUTION

Læs mere

Vores mange brugere på musskema.dk er rigtig gode til at komme med kvalificerede ønsker og behov.

Vores mange brugere på musskema.dk er rigtig gode til at komme med kvalificerede ønsker og behov. På dansk/in Danish: Aarhus d. 10. januar 2013/ the 10 th of January 2013 Kære alle Chefer i MUS-regi! Vores mange brugere på musskema.dk er rigtig gode til at komme med kvalificerede ønsker og behov. Og

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

Teknologispredning i sundhedsvæsenet DK ITEK: Sundhedsteknologi som grundlag for samarbejde og forretningsudvikling

Teknologispredning i sundhedsvæsenet DK ITEK: Sundhedsteknologi som grundlag for samarbejde og forretningsudvikling Teknologispredning i sundhedsvæsenet DK ITEK: Sundhedsteknologi som grundlag for samarbejde og forretningsudvikling 6.5.2009 Jacob Schaumburg-Müller jacobs@microsoft.com Direktør, politik og strategi Microsoft

Læs mere

Succesfuld implementering af automatiseret test

Succesfuld implementering af automatiseret test Succesfuld implementering af automatiseret test Forudsætningerne og faldgruberne John Fodeh john.fodeh@hp.com 2006 Hewlett-Packard Development Company, L.P. The information contained herein is subject

Læs mere

Basic statistics for experimental medical researchers

Basic statistics for experimental medical researchers Basic statistics for experimental medical researchers Sample size calculations September 15th 2016 Christian Pipper Department of public health (IFSV) Faculty of Health and Medicinal Science (SUND) E-mail:

Læs mere

ATiSA H3: Beer Web Store

ATiSA H3: Beer Web Store ATiSA H3: Beer Web Store Gruppe: Hotel Christer Vindberg, Anders Kabell Kristensen, Bo Sunesen og Anders Viskum 20011271, 20041248, 20041083 og 20043103 {chrisv10, dalko, sunesen, anden} @ cs.au.dk december

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

Aktivering af Survey funktionalitet

Aktivering af Survey funktionalitet Surveys i REDCap REDCap gør det muligt at eksponere ét eller flere instrumenter som et survey (spørgeskema) som derefter kan udfyldes direkte af patienten eller forsøgspersonen over internettet. Dette

Læs mere

Det er muligt at chekce følgende opg. i CodeJudge: og

Det er muligt at chekce følgende opg. i CodeJudge: og Det er muligt at chekce følgende opg. i CodeJudge:.1.7 og.1.14 Exercise 1: Skriv en forløkke, som producerer følgende output: 1 4 9 16 5 36 Bonusopgave: Modificer dit program, så det ikke benytter multiplikation.

Læs mere

IPv6 Application Trial Services. 2003/08/07 Tomohide Nagashima Japan Telecom Co., Ltd.

IPv6 Application Trial Services. 2003/08/07 Tomohide Nagashima Japan Telecom Co., Ltd. IPv6 Application Trial Services 2003/08/07 Tomohide Nagashima Japan Telecom Co., Ltd. Outline Our Trial Service & Technology Details Activity & Future Plan 2 Outline Our Trial Service & Technology Details

Læs mere

Design til digitale kommunikationsplatforme-f2013

Design til digitale kommunikationsplatforme-f2013 E-travellbook Design til digitale kommunikationsplatforme-f2013 ITU 22.05.2013 Dreamers Lana Grunwald - svetlana.grunwald@gmail.com Iya Murash-Millo - iyam@itu.dk Hiwa Mansurbeg - hiwm@itu.dk Jørgen K.

Læs mere

Hvor er mine runde hjørner?

Hvor er mine runde hjørner? Hvor er mine runde hjørner? Ofte møder vi fortvivlelse blandt kunder, når de ser deres nye flotte site i deres browser og indser, at det ser anderledes ud, i forhold til det design, de godkendte i starten

Læs mere

make connections share ideas be inspired

make connections share ideas be inspired make connections share ideas be inspired Integration af prædiktive analyser og operationelle forretningsregler med SAS Decision Manager Kristina Birch, chefkonsulent Professional Services, Banking & Mortgage

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

extreme Programming Kunders og udvikleres menneskerettigheder

extreme Programming Kunders og udvikleres menneskerettigheder extreme Programming Software Engineering 13 1 Kunders og udvikleres menneskerettigheder Kunder: At sætte mål og få projektet til at følge dem At kende varighed og pris At bestemme softwarefunktionalitet

Læs mere

Shooting tethered med Canon EOS-D i Capture One Pro. Shooting tethered i Capture One Pro 6.4 & 7.0 på MAC OS-X 10.7.5 & 10.8

Shooting tethered med Canon EOS-D i Capture One Pro. Shooting tethered i Capture One Pro 6.4 & 7.0 på MAC OS-X 10.7.5 & 10.8 Shooting tethered med Canon EOS-D i Capture One Pro Shooting tethered i Capture One Pro 6.4 & 7.0 på MAC OS-X 10.7.5 & 10.8 For Canon EOS-D ejere der fotograferer Shooting tethered med EOS-Utility eller

Læs mere

Feedback Informed Treatment

Feedback Informed Treatment Feedback Informed Treatment Feedback Informed Treatment Principles: Couples, Families, Groups, and Mandated Clients Where is the distress? To whom does the feedback refer? Multiple voices in the room Systemic

Læs mere

Brug af Educational IT i undervisningen: PollEverywhere. Associate Professor Carsten Bergenholtz

Brug af Educational IT i undervisningen: PollEverywhere. Associate Professor Carsten Bergenholtz Brug af Educational IT i undervisningen: PollEverywhere Associate Professor Carsten Bergenholtz (cabe@mgmt.au.dk) Department of Management / Institut for Virksomhedsledelse TATION Agenda Hvad er PollEverywhere?

Læs mere

Finn Gilling The Human Decision/ Gilling September Insights Danmark 2012 Hotel Scandic Aarhus City

Finn Gilling The Human Decision/ Gilling September Insights Danmark 2012 Hotel Scandic Aarhus City Finn Gilling The Human Decision/ Gilling 12. 13. September Insights Danmark 2012 Hotel Scandic Aarhus City At beslutte (To decide) fra latin: de`caedere, at skære fra (To cut off) Gilling er fokuseret

Læs mere

Implementing SNOMED CT in a Danish region. Making sharable and comparable nursing documentation

Implementing SNOMED CT in a Danish region. Making sharable and comparable nursing documentation Implementing SNOMED CT in a Danish region Making sharable and comparable nursing documentation INTRODUCTION Co-operation pilot project between: The Region of Zealand Their EHR vendor - CSC Scandihealth

Læs mere

Dagens tema. Kompetencemæssigt begiver vi os ud i de teknologiske forventninger fra Cloud computing til Robotteknologi og programmering

Dagens tema. Kompetencemæssigt begiver vi os ud i de teknologiske forventninger fra Cloud computing til Robotteknologi og programmering Digital revolution Torben Stolten Thomsen Projektleder og kvalitetskonsulent Medlem af NMC ekspertpanelet 2014-2015 tt@hansenberg.dk Telefon 79320368 eller 21203610 Dagens tema Hvilken revolution? Her

Læs mere

The X Factor. Målgruppe. Læringsmål. Introduktion til læreren klasse & ungdomsuddannelser Engelskundervisningen

The X Factor. Målgruppe. Læringsmål. Introduktion til læreren klasse & ungdomsuddannelser Engelskundervisningen The X Factor Målgruppe 7-10 klasse & ungdomsuddannelser Engelskundervisningen Læringsmål Eleven kan give sammenhængende fremstillinger på basis af indhentede informationer Eleven har viden om at søge og

Læs mere

IT projekt. sæt et mål og nå det med omtanke!

IT projekt. sæt et mål og nå det med omtanke! IT projekt sæt et mål og nå det med omtanke! Det overordnede FORMÅL med dias-showet er at fortælle hvordan vi gennemfører IT projekter med succes ved hjælp af Microsoft Solutions Framework MSF modeller:

Læs mere

Øg sporbarhed og produktivitet gennem integration

Øg sporbarhed og produktivitet gennem integration Øg sporbarhed og produktivitet gennem integration Hvem er jeg? De næste 40 minu4er DevOps hos TestHuset En normal case - Problemstillinger - Hvordan vi arbejder med kunden - Løsning Q&A DevOps DevOps is

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

Generalized Probit Model in Design of Dose Finding Experiments. Yuehui Wu Valerii V. Fedorov RSU, GlaxoSmithKline, US

Generalized Probit Model in Design of Dose Finding Experiments. Yuehui Wu Valerii V. Fedorov RSU, GlaxoSmithKline, US Generalized Probit Model in Design of Dose Finding Experiments Yuehui Wu Valerii V. Fedorov RSU, GlaxoSmithKline, US Outline Motivation Generalized probit model Utility function Locally optimal designs

Læs mere

Black Jack --- Review. Spring 2012

Black Jack --- Review. Spring 2012 Black Jack --- Review Spring 2012 Simulation Simulation can solve real-world problems by modeling realworld processes to provide otherwise unobtainable information. Computer simulation is used to predict

Læs mere

Backup Applikation. Microsoft Dynamics C5 Version 2008. Sikkerhedskopiering

Backup Applikation. Microsoft Dynamics C5 Version 2008. Sikkerhedskopiering Backup Applikation Microsoft Dynamics C5 Version 2008 Sikkerhedskopiering Indhold Sikkerhedskopiering... 3 Hvad bliver sikkerhedskopieret... 3 Microsoft Dynamics C5 Native database... 3 Microsoft SQL Server

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

2013 SP1. Konfiguration af koncernindblik. Configuration Guide

2013 SP1. Konfiguration af koncernindblik. Configuration Guide 2013 SP1 Konfiguration af koncernindblik Configuration Guide Intellectual Property Rights This document is the property of ScanJour. The data contained herein, in whole or in part, may not be duplicated,

Læs mere

Skriftlig Eksamen Beregnelighed (DM517)

Skriftlig Eksamen Beregnelighed (DM517) Skriftlig Eksamen Beregnelighed (DM517) Institut for Matematik & Datalogi Syddansk Universitet Mandag den 31 Oktober 2011, kl. 9 13 Alle sædvanlige hjælpemidler (lærebøger, notater etc.) samt brug af lommeregner

Læs mere

Forslag til implementering af ResearcherID og ORCID på SCIENCE

Forslag til implementering af ResearcherID og ORCID på SCIENCE SCIENCE Forskningsdokumentation Forslag til implementering af ResearcherID og ORCID på SCIENCE SFU 12.03.14 Forslag til implementering af ResearcherID og ORCID på SCIENCE Hvad er WoS s ResearcherID? Hvad

Læs mere

KURSER INDENFOR SOA, WEB SERVICES OG SEMANTIC WEB

KURSER INDENFOR SOA, WEB SERVICES OG SEMANTIC WEB KURSER INDENFOR SOA, WEB SERVICES OG SEMANTIC WEB Det er Web Services, der rejser sig fra støvet efter Dot Com boblens brag. INTRODUKTION Dette dokument beskriver forslag til fire moduler, hvis formål

Læs mere

Observation Processes:

Observation Processes: Observation Processes: Preparing for lesson observations, Observing lessons Providing formative feedback Gerry Davies Faculty of Education Preparing for Observation: Task 1 How can we help student-teachers

Læs mere

Bilag. Resume. Side 1 af 12

Bilag. Resume. Side 1 af 12 Bilag Resume I denne opgave, lægges der fokus på unge og ensomhed gennem sociale medier. Vi har i denne opgave valgt at benytte Facebook som det sociale medie vi ligger fokus på, da det er det største

Læs mere

Shared space - mellem vision og realitet. - Lyngby Idrætsby som case

Shared space - mellem vision og realitet. - Lyngby Idrætsby som case Downloaded from orbit.dtu.dk on: Jan 27, 2017 Shared space - mellem vision og realitet. - Lyngby Idrætsby som case Brinkø, Rikke Publication date: 2015 Document Version Peer-review version Link to publication

Læs mere

Bemærk, der er tale om ældre versioner af softwaren, men fremgangsmåden er uændret.

Bemærk, der er tale om ældre versioner af softwaren, men fremgangsmåden er uændret. Check dine svar på: https://dtu.codejudge.net/02101-e18/ Exercise 1: Installer Eclipse og Java. Dette kan f.eks. gøres ved at følge instuktionerne i dokumentet eclipse intro.pdf som ligger under Fildeling

Læs mere

how to save excel as pdf

how to save excel as pdf 1 how to save excel as pdf This guide will show you how to save your Excel workbook as PDF files. Before you do so, you may want to copy several sheets from several documents into one document. To do so,

Læs mere

Learnings from the implementation of Epic

Learnings from the implementation of Epic Learnings from the implementation of Epic Appendix Picture from Region H (2016) A thesis report by: Oliver Metcalf-Rinaldo, oliv@itu.dk Stephan Mosko Jensen, smos@itu.dk Appendix - Table of content Appendix

Læs mere

DET KONGELIGE BIBLIOTEK NATIONALBIBLIOTEK OG KØBENHAVNS UNIVERSITETS- BIBLIOTEK. Index

DET KONGELIGE BIBLIOTEK NATIONALBIBLIOTEK OG KØBENHAVNS UNIVERSITETS- BIBLIOTEK. Index DET KONGELIGE Index Download driver... 2 Find the Windows 7 version.... 2 Download the Windows Vista driver.... 4 Extract driver... 5 Windows Vista installation of a printer.... 7 Side 1 af 12 DET KONGELIGE

Læs mere

Lovkrav vs. udvikling af sundhedsapps

Lovkrav vs. udvikling af sundhedsapps Lovkrav vs. udvikling af sundhedsapps Health apps give patients better control User Data Social media Pharma Products User behaviour Relatives www Self monitoring (app) data extract Healthcare specialists

Læs mere

Agenda. The need to embrace our complex health care system and learning to do so. Christian von Plessen Contributors to healthcare services in Denmark

Agenda. The need to embrace our complex health care system and learning to do so. Christian von Plessen Contributors to healthcare services in Denmark Agenda The need to embrace our complex health care system and learning to do so. Christian von Plessen Contributors to healthcare services in Denmark Colitis and Crohn s association Denmark. Charlotte

Læs mere

Enterprise Strategy Program

Enterprise Strategy Program Enterprise Strategy Program Putting Business Before Technology Anders Bonde Enterprise Strategy Lead, Microsoft Services Denmark Er Enterprise Strategy noget for dig? Det ultimative spørgsmål... Måske

Læs mere

Sikkerhed & Revision 2013

Sikkerhed & Revision 2013 Sikkerhed & Revision 2013 Samarbejde mellem intern revisor og ekstern revisor - og ISA 610 v/ Dorthe Tolborg Regional Chief Auditor, Codan Group og formand for IIA DK RSA REPRESENTATION WORLD WIDE 300

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

Portal Registration. Check Junk Mail for activation . 1 Click the hyperlink to take you back to the portal to confirm your registration

Portal Registration. Check Junk Mail for activation  . 1 Click the hyperlink to take you back to the portal to confirm your registration Portal Registration Step 1 Provide the necessary information to create your user. Note: First Name, Last Name and Email have to match exactly to your profile in the Membership system. Step 2 Click on the

Læs mere

En god Facebook historie Uddannelser og valgfag målrettet datacenterindustrien!?

En god Facebook historie Uddannelser og valgfag målrettet datacenterindustrien!? En god Facebook historie Uddannelser og valgfag målrettet datacenterindustrien!? DDI møde 18.09.2019 - UCL, Odense. V/ Projektleder og lektor Lars Bojen, IT & Tech uddannelserne, lcbn@ucl.dk Agenda 1.

Læs mere

Citrix CSP og Certificate Store Provider

Citrix CSP og Certificate Store Provider Project Name Document Title TDC Citrix Citrix og Certificate Store Provider Version Number 1.0 Status Release Author jkj Date 5-10-2006 Trademarks All brand names and product names are trademarks or registered

Læs mere

Fejlbeskeder i SMDB. Business Rules Fejlbesked Kommentar. Validate Business Rules. Request- ValidateRequestRegist ration (Rules :1)

Fejlbeskeder i SMDB. Business Rules Fejlbesked Kommentar. Validate Business Rules. Request- ValidateRequestRegist ration (Rules :1) Fejlbeskeder i SMDB Validate Business Rules Request- ValidateRequestRegist ration (Rules :1) Business Rules Fejlbesked Kommentar the municipality must have no more than one Kontaktforløb at a time Fejl

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 Artifact Milestone Du skal relaterer

Læs mere

GEONIS Vand. fact sheet. Planlæg, dokumentér og vedligehold

GEONIS Vand. fact sheet. Planlæg, dokumentér og vedligehold JUNE 2015 Planlæg, dokumentér og vedligehold er en effektiv fagspecialist løsning for planlægning, dokumentation og vedligeholdelse af et vand forsyningssystem. Data model supportere en række nationale

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

Lagerstyring i Microsoft Dynamics 365 for Finance and Operations

Lagerstyring i Microsoft Dynamics 365 for Finance and Operations Kursus 3 dage DKK 17.700 Nr. 90267 P ekskl. moms Dato Sted 23-09-2019 Taastrup Lagerstyring i Microsoft Dynamics 365 for Finance and Operations Kurset er for alle, der ønsker at lære om og mestre den grundlæggende

Læs mere

Molio specifications, development and challenges. ICIS DA 2019 Portland, Kim Streuli, Molio,

Molio specifications, development and challenges. ICIS DA 2019 Portland, Kim Streuli, Molio, Molio specifications, development and challenges ICIS DA 2019 Portland, Kim Streuli, Molio, 2019-06-04 Introduction The current structure is challenged by different factors. These are for example : Complex

Læs mere

Hosted CRM Outlook client connector setup guide. Date: Version: 1. Author: anb. Target Level: Customer. Target Audience: End User

Hosted CRM Outlook client connector setup guide. Date: Version: 1. Author: anb. Target Level: Customer. Target Audience: End User Hosted CRM 2011 Outlook client connector setup guide Date: 2011-09-08 Version: 1 Author: anb Target Level: Customer Target Audience: End User Language: da-dk Page 1 of 19 LEGAL INFORMATION Copyright 2011

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

CHAPTER 8: USING OBJECTS

CHAPTER 8: USING OBJECTS Ruby: Philosophy & Implementation CHAPTER 8: USING OBJECTS Introduction to Computer Science Using Ruby Ruby is the latest in the family of Object Oriented Programming Languages As such, its designer studied

Læs mere

Morten Juul Nielsen Produktchef Microsoft Danmark

Morten Juul Nielsen Produktchef Microsoft Danmark Morten Juul Nielsen Produktchef Microsoft Danmark Er du, din organisation og dit datacenter klar til Skyen? Dynamisk Datacenter & Cloud Computing System Center Suiten med fokus på Service Manager Next

Læs mere

mandag den 23. september 13 Konceptkommunikation

mandag den 23. september 13 Konceptkommunikation Konceptkommunikation Status... En række koncepter, der efterhånden har taget form Status......nu skal vi rette os mod det færdige koncept idé 1 idé 2 How does it fit together Mixing and remixing your different

Læs mere

ECE 551: Digital System * Design & Synthesis Lecture Set 5

ECE 551: Digital System * Design & Synthesis Lecture Set 5 ECE 551: Digital System * Design & Synthesis Lecture Set 5 5.1: Verilog Behavioral Model for Finite State Machines (FSMs) 5.2: Verilog Simulation I/O and 2001 Standard (In Separate File) 3/4/2003 1 ECE

Læs mere

1. Formål og mål med indførelsen af værktøjet

1. Formål og mål med indførelsen af værktøjet 1. Formål og mål med indførelsen af værktøjet Afdæk og fastlæg, hvad der driver projektet Identificer langsigtede virksomhedsmål Fastlæg implementeringens centrale leverancer Prioriter og planlæg delmål

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

Sustainable investments an investment in the future Søren Larsen, Head of SRI. 28. september 2016

Sustainable investments an investment in the future Søren Larsen, Head of SRI. 28. september 2016 Sustainable investments an investment in the future Søren Larsen, Head of SRI 28. september 2016 Den gode investering Veldrevne selskaber, der tager ansvar for deres omgivelser og udfordringer, er bedre

Læs mere

Sporbarhed og Rapportering i Quality Center. Kim Stenbo Nielsen NNIT Application Management Services

Sporbarhed og Rapportering i Quality Center. Kim Stenbo Nielsen NNIT Application Management Services Sporbarhed og Rapportering i Quality Center Kim Stenbo Nielsen NNIT Application Management Services Indhold INTRODUKTION Hvem er jeg Hvad vil jeg fortælle om QC std. rapporteringsfaciliteter EXCEL RAPPORTER

Læs mere

Help / Hjælp

Help / Hjælp Home page Lisa & Petur www.lisapetur.dk Help / Hjælp Help / Hjælp General The purpose of our Homepage is to allow external access to pictures and videos taken/made by the Gunnarsson family. The Association

Læs mere

From innovation to market

From innovation to market Nupark Accelerace From innovation to market Public money Accelerace VC Private Equity Stock market Available capital BA 2 What is Nupark Accelerace Hands-on investment and business developmentprograms

Læs mere

DANSK IT ARKITEKTUR CERTIFICERING

DANSK IT ARKITEKTUR CERTIFICERING DANSK IT ARKITEKTUR CERTIFICERING Practitioneruddannelsen System Arkitekt Practitioner Kompetencebeskrivelse Version 2018.02.08 DANSK IT www.dit.dk/ark Copyright All Rights Reserved DANSK IT ARKITEKTUR

Læs mere

Business Rules Fejlbesked Kommentar

Business Rules Fejlbesked Kommentar Fejlbeskeder i SMDB Validate Business Request- ValidateRequestRegi stration ( :1) Business Fejlbesked Kommentar the municipality must have no more than one Kontaktforløb at a time Fejl 1: Anmodning En

Læs mere

To the reader: Information regarding this document

To the reader: Information regarding this document To the reader: Information regarding this document All text to be shown to respondents in this study is going to be in Danish. The Danish version of the text (the one, respondents are going to see) appears

Læs mere

Status på det trådløse netværk

Status på det trådløse netværk Status på det trådløse netværk Der er stadig problemer med det trådløse netværk, se status her: http://driftstatus.sdu.dk/?f=&antal=200&driftid=1671#1671 IT-service arbejder stadig med at løse problemerne

Læs mere

University of Copenhagen Faculty of Science Written Exam - 3. April Algebra 3

University of Copenhagen Faculty of Science Written Exam - 3. April Algebra 3 University of Copenhagen Faculty of Science Written Exam - 3. April 2009 Algebra 3 This exam contains 5 exercises which are to be solved in 3 hours. The exercises are posed in an English and in a Danish

Læs mere

Om forretningsmæssige kompetencer

Om forretningsmæssige kompetencer Om forretningsmæssige kompetencer Uddanner universiteterne kun i det de forsker i? DI, Industriens Hus - 22. september 2009 Jørn Johansen JoJ@delta.dk www.deltaaxiom.com www.delta.dk Tlf.: 72194421 1 Delta

Læs mere

Overfør fritvalgskonto til pension

Overfør fritvalgskonto til pension Microsoft Development Center Copenhagen, January 2009 Løn Microsoft Dynamics C52008 SP1 Overfør fritvalgskonto til pension Contents Ønsker man at overføre fritvalgskonto til Pension... 3 Brug af lønart

Læs mere

Fejlbeskeder i Stofmisbrugsdatabasen (SMDB)

Fejlbeskeder i Stofmisbrugsdatabasen (SMDB) Fejlbeskeder i Stofmisbrugsdatabasen (SMDB) Oversigt over fejlbeskeder (efter fejlnummer) ved indberetning til SMDB via webløsning og via webservices (hvor der dog kan være yderligere typer fejlbeskeder).

Læs mere

Fart på SAP HANA. Sådan laver du analyser direkte på dine data i realtid. Copyright 2012 FUJITSU. Fujitsu IT Future, København, den 16.

Fart på SAP HANA. Sådan laver du analyser direkte på dine data i realtid. Copyright 2012 FUJITSU. Fujitsu IT Future, København, den 16. Fart på SAP HANA Sådan laver du analyser direkte på dine data i realtid 0 Flemming Grand Saphira Consulting Mobile: +45 30 78 45 86 Email: flemming.grand@saphiraconsulting.com Allan Christiansen Fujitsu

Læs mere

MSE PRESENTATION 2. Presented by Srunokshi.Kaniyur.Prema. Neelakantan Major Professor Dr. Torben Amtoft

MSE PRESENTATION 2. Presented by Srunokshi.Kaniyur.Prema. Neelakantan Major Professor Dr. Torben Amtoft CAPABILITY CONTROL LIST MSE PRESENTATION 2 Presented by Srunokshi.Kaniyur.Prema. Neelakantan Major Professor Dr. Torben Amtoft PRESENTATION OUTLINE Action items from phase 1 presentation tti Architecture

Læs mere

Da beskrivelserne i danzig Profile Specification ikke er fuldt færdige, foreslås:

Da beskrivelserne i danzig Profile Specification ikke er fuldt færdige, foreslås: NOTAT 6. juni 2007 J.nr.: 331-3 LEA Bilag A danzig-møde 15.6.2007 Opdatering af DAN-1 og danzig Profile Specification Forslag til opdatering af Z39.50 specifikationerne efter udgivelse af Praksisregler

Læs mere

Microsoft Dynamics C5. version 2012 Service Pack 01 Hot fix Fix list - Payroll

Microsoft Dynamics C5. version 2012 Service Pack 01 Hot fix Fix list - Payroll Microsoft Dynamics C5 version 2012 Service Pack 01 Hot fix 001 4.4.01.001 Fix list - Payroll CONTENTS Introduction... 3 Payroll... 3 Corrected elements in version 4.4.01.001... 4 Microsoft Dynamics C5

Læs mere

SAS USER FORUM DENMARK 2017 USER FORUM. Rune Nordtorp

SAS USER FORUM DENMARK 2017 USER FORUM. Rune Nordtorp SAS USER FORUM USER FORUM Rune Nordtorp Agenda Logning Audit logning Og hvorfor er det lige pludselig blevet vigtigt Logning i SAS -platformen Ressource Inventory Model Introduktion til opsætning af logning

Læs mere