Xpmetodik inom Enterpriseutveckling

Storlek: px
Starta visningen från sidan:

Download "Xpmetodik inom Enterpriseutveckling"

Transkript

1 Sida 1 (10)

2 Abstract Introduktion Enterprisesystem generellt Trelagersarkitektur J2EE Fördelar med J2EE Distribuerbart Skalbart Möjlighet till RPC (Remote Procedure Calls) Komplexitet hos EJB Mer om containers Utvecklingsroller EJB ur ett extremt perspektiv Collective code ownership Contineous Integration Simple Design Test First Varianter för lösningar Testning på applikationsservern Mockobjekt Strunta i att skriva explicita containers för affärslogik Lättviktiga containers Spring Färdiga abstraktioner Inversion of Control Testbar kod Singletons Statiska metoder Interface Verktyg för att förbättra testning Fortsätta arbeta med Test First Referenser: Sida 2 (10)

3 1 Sammanfattning När webapplikationer utvecklas används en annan typ av arkitektur än vid lokala applikationer. Webapplikationer tenderar att vara uppbrutna i flera mindre komponenter som kommunicerar sinsemellan. För denna typ av system har en teknik speciellt utvecklats vid namn J2EE (Java 2 Enterprise Edition)som låter kod skrivas generellt och därför kan köras oberoende av maskinvara och andra systemkomponenter. För att realisera tekniken används idag EJB (Enterprise Java Beans). Detta blir dock i längden mycket tungdrivet och den arkitektur som följer av detta leder till att bland annat testning försvåras och särskilt metodiken Test First. Det här dokumentet presenterar olika tänkbara lösningar till problemet, bland annat The Spring Framework som avhjälper de flesta svagheterna med EJB och samtidigt förenklar utvecklingen och tillåter Test First. 2 Introduktion XP är lämpligt att använda också för Internetbaserade system och miljöer, där komponenter sätts ihop för att leverera tjänster som ska vara tillgängliga utåt. Komponentbaserad utveckling kan lätt utföras med XP s olika metoder eftersom grundtankar kring arkitektur och uppbyggnad stämmer väl överrens. Exempelvis är uppmaningarna inom Simple Design att hålla klasser och metoder på en hanterbar storleksnivå lätta att anamma med de javabönor (javaobjekt i en webserver) som används inom den här typen av utveckling. Det finns dock de tekniker som inte lika lätt följer med till enterprisemiljöer (stora miljöer som ofta har flera servrar med programvaran distribuerad mellan sig). Den här studien försöker klargöra krockar mellan metodiken och arkitekturen samt eventuella lösningar till dessa 2.1 Enterprisesystem generellt Det som utmärker ett system i enterprisemiljö är mycket det stora antal användare som ska kunna ansluta till en eller flera datakällor. Detta ställer en hel del krav på systemet som skiljer sig från andra typer av system. Därför blir också arkitekturen byggd på ett helt annat sätt. 2.2 Trelagersarkitektur När en webbaserad applikation utvecklas, bör den delas upp i tre lager. Det första lagret är datalagret, ofta bestående av en eller flera relationsdatabaser. Ovanför detta ligger lagret med affärslogik för att hantera operationer och transaktioner. Överst finns presentationslagret, detta är ett användargränssnitt och bör endast innehålla logik för att presentera information för användaren och vidarebefordra kommandon ner till affärslogikslagret. Figur 1 De tre lagren i en Enterprisemiljö ska kunna fungera oberoende av varandra Sida 3 (10)

4 3 J2EE När större Internetbaserade system ska byggas, används ofta Java 2 Enterprise Edition (J2EE) [2]. Detta på grund av arkitekturlösningen som tillåter återanvändning av komponenter oavsett vilken typ av datakälla eller klient som används. Lagren i J2EE är noggrant åtskilda logiskt och ofta också fysiskt. Idén med J2EE är i grunden att kod ska kunna återanvändas. För att realisera det skapas varje objekt tillsammans med interface för att systemet inte ska påverkas av att en del byts ut. Alla anrop sker ändå mot interface. Vidare deklareras alla beroenden och anslutningar till objekt i en XML-fil som kallas deployment descriptor. När detta är gjort läggs alla objekt in i en container som hanterar beroenden, anslutningar och instansiering av objekten. Denna container hanteras av J2EE-servern. Resultatet blir att objekten blir oberoende av den miljö de körs i och de kan lätt användas i en annan arkitektur så länge den stöder J2EE. Än så länge är standarden för att göra dessa containers och objekt Enterprise Java Beans (EJB). En teknik som av de flesta utvecklare uppfattas som omständlig och onödigt komplicerad. Figur 2 [2] Arkitekturen i J2EE är baserad på containers. För att säkra oberoenden mellan lager i EJB hanteras alla komponenter i containers där anknytningar till de andra lagen finns specificerade. 3.1 Fördelar med J2EE Distribuerbart Systemet kan med lätthet läggas ut på flera datorer som kommunicerar sinsemellan istället för att köra allting på samma maskin. Kommunikationen internt sköts av en transaktionsserver som kan hantera anrop från gränssnittet hela vägen ner till datakällan för att garantera dataintegritet Skalbart I och med att lagren är så åtskilda kan de administreras var för sig, något som hjälper till att eliminera flaskhalsar. Om till exempel applikationsservern skulle bli överbelastad sätts bara en till dator in med samma data och efter en liten ändring i konfigurationen kommer hela systemet använda sig av båda maskinerna, utan att ändra något i koden för affärslogiken Möjlighet till RPC (Remote Procedure Calls) Hela systemet kan kommunicera med olika klienter och andra system [2]. Det enda som behövs är ett definierat interface utåt som skrivs för varje komponent. Dessa interface kan sedan anropas från en web-klient, ett program lokalt på en användares dator eller ett Sida 4 (10)

5 annat system som är tillgängligt via Internet. Allt utan att skriva om någon kod i affärslogiken. Allt detta gör J2EE till ett otroligt kraftfullt verktyg vid utveckling av serverbaserade applikationer. Den första arkitektur som lanserats för att realisera denna teknik är EJB (Enterprise Java Beans). EJB har ett mycket utökat stöd för alla funktioner inom J2EE. 3.2 Komplexitet hos EJB EJB kräver en mycket specifik arkitektur där alla komponenter måste användas i en Container som specificerar olika typer av anslutningar till systemspecifika komponenter och användningsområden. Denna container läggs upp på en applikationsserver som låter de objekt som används köras i ett lager mellan exempelvis en databas och ett webinterface, det så kallade affärslogikslagret. 3.3 Mer om containers En container är den miljö varje objekt körs i. En container definierar omvärlden för objekten och låter dessa ansluta till datakällor och andra objekt utan att de behöver känna till dessa direkt. Detta sparar mycket kodskrivande och tilllåter dessutom klasser, som är skrivna för ett visst system, med en uppgift att köras på ett annat system där de kan utföra samma uppgift i en helt annan miljö när de sätts i en ny container. Dessa containrar kan dock vara ett problem då objekten blir beroende av dessa. Klasserna kommer då inte att gå att köra utan sin container alls och det försvårar bland annat testning Utvecklingsroller Det faktum att EJB har så komplicerad integrationsprocess leder till att utvecklare inom projektet tilldelas olika roller för att kunna sätta ihop alla komponenter till ett körbart system. [2] Enterprise Beanutvecklare Utvecklar affärslogiken i små komponenter och packar dem i en.jar-fil. Webkomponentsutvecklare Skriver html och jsp/servlets och packar dem i en webkomponentsfil. Klientapplikationsutvecklare Utvecklar en eventuell klient till systemet och packar i.jar-fil Applikationsassembler Sätter ihop hela systemet i en.ear fil som kan köras i applikationsservern Applikationsadministratör Kör systemet och specificerar anslutningar till databaser, filssystem och dylikt. Detta är en komplex struktur för att sjösätta en applikation och leder till krockar med en del XPmetodiker. 4 EJB ur ett extremt perspektiv Vissa praktiker inom XP äventyras av det här sättet att utveckla. I texten nedan tas några av de som kan vara i farozonen upp. 4.1 Collective code ownership Det första en läsare som är insatt i XP kan tänkas reagera på är de specifika rollerna. Hur går det ihop med collective code ownership till exempel? Sida 5 (10)

6 Eftersom de olika rollerna tar vid i olika stadier av utvecklingen och inte arbetar tillsammans kommer inte samma kod skrivas av alla som är med i ett team. Detta går dock att lösa genom att i större projekt se varje roll som ett mindre projekt med ett XP-team i varje. I ett mindre projekt, som visserligen är mycket ovanligt med denna typ av utveckling, kan det tänkas att utvecklarna får skifta roller under projektets lopp. 4.2 Continuos Integration Vad gäller kontinuerlig integration kan det bli stora problem. Det är en omständlig process att lägga till nyskriven kod till arkitekturen J2EE tillhandahåller. Därför drar sig utvecklare för att lägga till kod de har skrivit i den gemensamma miljön i små omgångar. Med rätt rutiner bör det dock gå, men det är viktigt att det finns arkitektur på plats under utvecklingen. Utan en befintlig arkitektur som finns körbar kommer inte kod kunna integreras alls eftersom komponenter inte går att köra enskilt. 4.3 Simple Design En av huvudprinciperna inom simple design säger att man inte ska designa hela systemet från start. Detta går inte så bra ihop med arkitekturen för EJB där all miljö måste kodas först i anslutning till containers. Lösningen på detta problem kan ligga i iteration 0. Eftersom iteration 0 innebär att utveckla ett fungerande skelett för resten av programmet passar plötsligt de två metoderna varandra mycket väl. Om de containers som behövs för att få systemet att fungera görs först blir det en smal sak att designa metoder och klasser för varje enskild story. 4.4 Test First Ett större problem gäller testningen av applikationen. XP förespråkar Test First för att minimera fel vid sammansättningen av systemet. I EJB-arkitekturen är dock varje komponent så starkt knuten till sin container och sin applikationsserver att det ofta inte är möjligt utan att skriva många mock-objekt, något som inom EJB är väldigt tidsödande och dessutom inte går ihop med EJBs arkitektur. Dessutom kan aldrig systemet testas som helhet från en arbetsstation eftersom varje komponent är beroende av hela systemet för att kunna köras vilket verkligen försvårar eller omöjliggör test first. Detta är alltså ett problem och texten hädanefter är i huvudsak inriktad på att lösa detta. 5 Varianter på lösningar 5.1 Testning på applikationsservern Det finns olika verktyg (som Cactus) som tillåter skapandet av tester som körs på applikationsservern. På så sätt kan vi skriva tester för varje böna och köra dem när vi väl har lagt upp allting på servern. Problemet med denna approach är att det är omständligt att sätta upp din just skrivna kod så att den körs (se avsnitt 3.3.1, utvecklingsroller). 5.2 Mockobjekt Det finns sätt att skriva bra mockobjekt för EJB[6]. Detta är dock som nämnt ovan ett omfattande arbete. Dessutom går det inte att testa många aspekter som beror på hur objekt är relaterade till varandra och hittar varandra i EJBarkitekturen. Alltså skulle ett objekt som kan hittas som mockobjekt i ett test kanske inte hittas i skarpt läge. Sida 6 (10)

7 Figur3 [3] En traditionell arkitektur som körs på en J2EEserver. Implementation och presentationslager är här lagt i samma container, något som förenklar arkitekturen men tar bort mycket fuynktionalitet. Notera att det fortfarande rör sig om en trelagersarkitektur där implementationen har ett interface mot gränssnittslagret. 5.3 Strunta i att skriva explicita containers för affärslogik En metod kan vara att strunta i de containers som EJB är så beroende av. Detta leder till att vi måste använda vanliga javaobjekt (Pojos) och vi förlorar då många fördelar med arkitekturen i EJB som automatisk transaktionshantering och miljökonfiguration. Vi är i stort tillbaka på nivån som vi var på innan vi införde J2EE överhuvudtaget. I Figur 3 syns arkitekturen för ett system utan EJB. Som läsaren ser är nu logik och presentationslogik inbyggda i samma container och kan därför komma åt varandra lättare. Fortfarande är dock de två lagren logiskt åtskilda och vi behöver inte ändra i affärslogik för att byta presentationsmiljö. Denna metod gör dock att vi förlorar många fördelar med J2EE och vi får en mängd nya nackdelar. Det blir nu komplicerat att lägga till nya gränssnitt och datakällor igen. För att kunna dra nytta av EJBs fördelar, som transaktionshantering, behöver vi någon form av containers. Dessa får dock inte vara ett krav för att systemet ska gå att köra eller testa. 6 Lättviktiga containers 6.1 Spring Spring framework [4] är ett ramverk som har byggts för Enterpriselösningar för att förenkla utvecklingen av dessa. I Spring finns också containers som i EJB men de containers som används här, sk. Lightweight containers, har stöd för Pojos (Plain Old Java Objects), dessa klasser skulle Sida 7 (10)

8 alltså kunna skrivas och testas i en vanlig miljö för att sedan placeras i servermiljön och köras skarpt i sin container. Anledningen till att detta fungerar är just att helt vanliga javaklasser kan köras i dessa containers samtidigt som de får de fördelar som EJB-containrar ger. Det blir alltså lätt att skriva enhetstest och i vissa fall även inkludera en hel container i ett JUnit-test för att göra integrationstester. Dock är det fortfarande väldigt annorlunda att testa mot ett ramverk än fria klasser. Figur 4 [3]Lightweight. Här syns implementationen med lightweight contatiners. Ovanför datakällan läggs ett lager för att mappa objekt mot relationsdatabasens entiteter. Allt körs på samma Virtual Java Machine och vanliga javaobjekt (pojos) med tillhörande interface används mot gränssnittet (UI) Färdiga abstraktioner Spring innehåller abstraktioner av olika API:er och ger flera olika interfaces som det är lätt att bygga mockobjekt till och därför testa mot. Andra funktioner, som transaktionsstatus, kan också lätt fås med hjälp av Spring. Det finns speciella regler satta i spring för att sköta detta och det går lätt att kontrollera reglerna genom olika delar i API:t. Anropen till dessa regelkontroller går lätt att överlagra eller lägga i interface och på så sätt behöver de inte påverka testningen till skillnad från EJB där ständigt olika regler måste kontrolleras och ställas in. 6.2 Inversion of Control Ett mycket kraftfullt mönster för att göra implementationen oberoende av de interface och containers som används kallas Inversion of Control. Om utvecklare använder mönstret IoC, eller Dependency Injection [5], kan objekten göras fullt testbara trots att de i skarpt läge körs inuti sina containers. 7 Testbar kod För att göra koden mer testbar kan det vara lämpligt att hålla på några principer. [3] Sida 8 (10)

9 7.1 Singletons Singletonklasser är klasser som endast tillåts i en instans i hela systemet. Det kan vara en fördel när information ska hållas centralt och tillgängligt för alla andra objekt. Singletons är därför populära inom Enterpriseutveckling eftersom de kan användas som en tjänst för att leta upp rätt objekt åt ett annat objekt. Dessa blir dock mycket svårare att testa eftersom det krävs att ditt test känner till singeltonklassen och därför en stor del av systemet. 7.2 Statiska metoder En annan metod för att göra metoder och attribut tillgängliga i hela systemet är att deklarera dem statiska. Detta leder dock också till problem eftersom alla klasser måste vara relaterade till de statiska metoderna och det försvårar testning ytterligare. 7.3 Interface Att använda interface istället för statiska metoder är att tillråda. Det är lätt att programmera mot ett existerande interface och när vi testar det kan vi enkelt sätta in något mockobjekt som implementerar ett interface i testsyfte och sedan byta detta objekt mot ett riktigt i skarpt läge. 7.4 Verktyg för att förbättra testning Det finns olika verktyg för att underlätta testning. De som automatiskt genererar test kan vara bekväma att använda men bör inte användas i syftet att undgå att skriva egna tester. Det går helt enkelt inte att få tillräckligt bra tester helt automatiskt, utan utvecklaren måste själv arbeta med detta kontinuerligt. Däremot finns det verktyg för att kontrollera hur väl testningen faktiskt täcker systemet. Ett riktigt bra verktyg kan hitta otestad kod ner till enskilda try-catchblock. Ett exempel på ett sådant verktyg finns på som täcker upp tester med JUnit. 8 Fortsätta arbeta med Test First Om vi använder oss av dessa förhållandevis enkla metoder och ramverk så visar det sig att det faktiskt är möjligt att göra riktigt avancerade enterpriseapplikationer och fortfarande använda sig av XPs metodiker, inklusive Test First. Spring med flera kan därför anses vara svaret på hur denna metodik ska kunna förenas med Enterpriseutveckling. Att kunna ha testdriven utveckling leder ofta till säkrare och stabilare applikationer och spridning av den här metodiken blir därför allt större. Troligen kommer fler tekniker som Spring dyka upp då det blir lättare och billigare att utveckla i det och dessutom ger utvecklarna mindre begränsningar. Faktum är att många av de som förespråkar Springramverket också förespråkar många av de praktiker som används inom XP, något som kan anses som ett bevis för att de fungerar bra tillsammans. Sida 9 (10)

10 9 Referenser: 1) J2EE Java 2 Enterprise Edition ( 2) The J2EE 1.4 tutorial 3) Rod Johnson - Expert One on One J2EE Development Without EJB - Wiley Publishing 2004 (bilder och material) 4) 5) ( 6) ( Sida 10 (10)

Distribuerade affärssystem

Distribuerade affärssystem Distribuerade affärssystem Kursens mål Bygga upp, strukturera och programmera distribuerade system med en flerskiktsarkitektur Beskriva och förklara teorier och uttryck som används inom affärskritiska

Läs mer

Enterprise Java Beans Assignment 1

Enterprise Java Beans Assignment 1 Enterprise Java Beans Assignment 1 Distribuerade System HT 02 Fredrik Lundgren Andreas Nyberg fredrikbjurefors@hotmail.com goca8363@student.uu.se frlu4469@student.uu.se andreas.nyberg@hushmail.com Innehållsförteckning

Läs mer

Javautvecklare. Utbildningsfakta. 400 YH-poäng, 2 år

Javautvecklare. Utbildningsfakta. 400 YH-poäng, 2 år Javautvecklare 400 YH-poäng, 2 år Utbildningsfakta Kurser (12 stycken) Grundläggande programmering och javaverktyg 50 yhp Grafiskt gränssnitt och interaktion 20 yhp Internet, webb och webbramverk 40 yhp

Läs mer

Testdriven utveckling. Teorin bakom testdriven utveckling. Bakgrund. Januari 2009, KTH. Alexander Tarnowski

Testdriven utveckling. Teorin bakom testdriven utveckling. Bakgrund. Januari 2009, KTH. Alexander Tarnowski Testdriven utveckling Januari 2009, KTH Alexander Tarnowski Teorin bakom testdriven utveckling Bakgrund Testdriven utveckling började nämnas kring 1999-2000 av Kent Beck I praktiken implementationen av

Läs mer

Kristoffer Eriksson Christer Oscarsson Andreas Dahlberg Martin Bengtsson

Kristoffer Eriksson Christer Oscarsson Andreas Dahlberg Martin Bengtsson Rapport grupp 4 Software Engineering Kristoffer Eriksson Christer Oscarsson Andreas Dahlberg Martin Bengtsson 2009-10-29 Processer Sprinter Scrum har varit till stor hjälp för oss för att nå våra mål,

Läs mer

Mål med lektionen! Veta kursmålen. Ha kännedom om några av de grundläggande begreppen.

Mål med lektionen! Veta kursmålen. Ha kännedom om några av de grundläggande begreppen. Entity Framework Mål med lektionen! Veta kursmålen. Ha kännedom om några av de grundläggande begreppen. Vem är jag? Mitt namn är Björn Jönsson och jobbar på Tahoe Solutions, ni når mig via mail: bjorn.jonsson@tahoesolutions.se

Läs mer

Beskrivning av gesällprov RMI Chat Mikael Rydmark

Beskrivning av gesällprov RMI Chat Mikael Rydmark Beskrivning av gesällprov RMI Chat Mikael Rydmark rydmark@kth.se Mikael Rydmark 1(8) 12-06-06 Innehållsförteckning Inledning...3 Server...3 Klient... 3 Ansluta till servern...3 Huvudchat...4 Privat kommunikation...5

Läs mer

Klient/server. Översikt. Lektion 1: Webbtekniker från Microsoft. Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning.

Klient/server. Översikt. Lektion 1: Webbtekniker från Microsoft. Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning. Klient/server Översikt Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning. Lektion 1: Webbtekniker från Microsoft Microsoft webbtekniker. ASP.NET. Klientsidan. Internet Information Server.

Läs mer

Mål med lektionen! Repetera och befästa kunskaperna.

Mål med lektionen! Repetera och befästa kunskaperna. Entity Framework Mål med lektionen! Repetera och befästa kunskaperna. Vad lektionen omfattar Repetera och gå igenom kursen lite snabbt. Vilka problem vill vi lösa? Vi arbetar med Webbapplikationer Vi kommer

Läs mer

Datacentertjänster PaaS

Datacentertjänster PaaS Datacentertjänster PaaS Innehåll Datacentertjänst PaaS 3 Allmänt om tjänsten 3 En säker miljö för kundensa containers 3 En agil infrastruktur 3 Fördelar med tjänsten 3 Vad ingår i tjänsten 4 Applikationer

Läs mer

Datalagringsmetodik och arkitektur i Java. Projektdefinition. Projektdefinition. Björn Brenander. 7 maj 2001

Datalagringsmetodik och arkitektur i Java. Projektdefinition. Projektdefinition. Björn Brenander. 7 maj 2001 Datalagringsmetodik och arkitektur i Java Projektdefinition Dokumenttitel Projektdefinition Dokumentansvarig Dokumentförfattare Björn Brenander Dokumentnamn Projektdefinition.doc Version 16 Ref. nr. Skapades

Läs mer

Testdriven utveckling av Web Services. Ole Matzura

Testdriven utveckling av Web Services. Ole Matzura Testdriven utveckling av Web Services Ole Matzura eviware 1 Vad är Test-Driven utveckling? 2 Test Driven Utveckling 2 Grundregler (Kent Beck) Skriv aldrig kod utan ett fallerande test Eliminera duplicering

Läs mer

Testdriven utveckling. Magnus Jonsson Siemens Medical Solutions

Testdriven utveckling. Magnus Jonsson Siemens Medical Solutions Testdriven utveckling Magnus Jonsson Siemens Medical Solutions 2 Soarian Stort projekt, ca 400 personer i projektet Distribuerad utveckling i USA, Indien och Sverige Web baserat lösning med admin client

Läs mer

1 Systemkrav avantraupphandling

1 Systemkrav avantraupphandling 1 (10) Godkänd av Produkt/Projekt/Verksamhet avantraupphandling 3.0.1 1 Systemkrav avantraupphandling Intranät webb klient Internet applikation klient Förrådssystem Beställningssystem COM+ Server File

Läs mer

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

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

Läs mer

Repetition DK2 Middleware, P2P, Multimediatransport. Stefan Alfredsson 18 Mars 2005

Repetition DK2 Middleware, P2P, Multimediatransport. Stefan Alfredsson 18 Mars 2005 Repetition DK2 Middleware, P2P, Multimediatransport Stefan Alfredsson 18 Mars 2005 Några definitioner på middleware Klistret som gör det möjligt för en klient att få betjäning av en server / i klient/server

Läs mer

Creo Customization. Lars Björs 2014-10-16

Creo Customization. Lars Björs 2014-10-16 Creo Customization Lars Björs 2014-10-16 Norra Europas största partner och återförsäljare av PTC relaterad programvara (Windchill, Creo, Arbortext, MathCad, Relex) 70 anställda Egen utvecklingsavdelning

Läs mer

SLUTRAPPORT RUNE TENNESMED WEBBSHOP

SLUTRAPPORT RUNE TENNESMED WEBBSHOP SLUTRAPPORT RUNE TENNESMED WEBBSHOP -05-30 Abstrakt Under 10 veckor har jag och Oskar Norling arbetat med att ta fram en webbshop-applikation till företaget Rune Tennesmed i Kalmar. I denna rapport tänker

Läs mer

Webbtjänster med API er

Webbtjänster med API er Webbtjänster med API er Mål med lektionen! Titta på hur service:ar fungerar och hur vi programmerar dem. Vad lektionen omfattar WCF Service WCF Services Vad är en WCF service? En WCF Service är ett program

Läs mer

Rapport inför projektavslut

Rapport inför projektavslut Sidnr. 1(5) 1. Projektets namn Stadsnätsdatabas 2. Kontaktuppgifter Uppgifter Namn Telefon Ulf Borbos +46705373107 Projektledare Paul Wisén +46 705164100 Kontaktperson II Stiftelsen Östen Frånberg +46705190329

Läs mer

A ToolGuide for Eclipse: En fördjupning i några av verktygen i Eclipse och hur de underlättar XP s practices

A ToolGuide for Eclipse: En fördjupning i några av verktygen i Eclipse och hur de underlättar XP s practices A ToolGuide for Eclipse: En fördjupning i några av verktygen i Eclipse och hur de underlättar XP s practices Mattias Jarheden och Thomas Forsström Sammanfattning Denna djupstudie försöker ge en inblick

Läs mer

Collector en Android-app för att samla saker. Kim Grönqvist (kg222dk) 2013-06-10 Slutrapport

Collector en Android-app för att samla saker. Kim Grönqvist (kg222dk) 2013-06-10 Slutrapport Collector en Android-app för att samla saker Kim Grönqvist (kg222dk) 2013-06-10 Slutrapport Abstrakt Jag har gjort en Android-app för att samla saker, Collector. Med den kan man upprätta att göra-listor

Läs mer

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer. Informationsinfrastruktur 7.5 hp Mattias Nordlindh Inledning Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer. Dokumentet består av

Läs mer

12 principer of agile practice (rörlig)

12 principer of agile practice (rörlig) X-treme programming 12 principer of agile practice (rörlig) Ge nöjd kund genom tidig och kontinuerliga leveranser Den viktigaste punkten som betyder att min vill ha kontinuerlig feedback Välkomna sena

Läs mer

Web Services. Cognitude 1

Web Services. Cognitude 1 Web Services 1 Web Services Hur ska tillämpningar integreras? Hur ska tillämpningar integreras (via nätet ) för att erbjuda tjänster åtkomliga på nätet? SVAR: Web Services (Enligt Microsoft, Sun, IBM etc.)

Läs mer

Objektorienterad programmering

Objektorienterad programmering Objektorienterad programmering Emil Ahlqvist (c10eat@cs.umu.se) Didrik Püschel (dv11dpl@cs.umu.se) Johan Hammarström (c08jhm@cs.umu.se) Hannes Frimmel Moström (c10hml@cs.umu.se) 1 1. Introduktion 1.1 Objektorienterad

Läs mer

Programmering = modellering

Programmering = modellering Programmering = modellering Ett datorprogram är en modell av en verklig eller tänkt värld. Ofta är det komplexa system som skall modelleras I objektorienterad programmering består denna värld av ett antal

Läs mer

Kopiering av objekt i Java

Kopiering av objekt i Java 1 (6) Kopiering av objekt i Java Först När du läser detta papper bör du samtidigt studera dokumentationen för klasserna Object, Cloneable (java.lang) och ArrayList (java.util). Mycket blir klarare genom

Läs mer

Din guide till. Teknisk Specifikation Säljstöd

Din guide till. Teknisk Specifikation Säljstöd Din guide till Teknisk Specifikation Säljstöd April 2014 Innehåll Systemkrav... 3 Operativsystem... 3 Mjukvara... 3 Maskinvara... 4 Datakällor... 4 Databas... 5 Databasstruktur... 5 Katalogstruktur...

Läs mer

Tentamen I Arkitektur och design av globala applikationer

Tentamen I Arkitektur och design av globala applikationer Institutionen för Tillämpad IT Tentamen I Arkitektur och design av globala applikationer Kurskod:6B2061 Datum: 12/3-2007 Tid: 08.30-12.30 Examinator: Leif Lindbäck (7904425) Tentamensinformation Hjälpmedel:

Läs mer

Classes och Interfaces, Objects och References, Initialization

Classes och Interfaces, Objects och References, Initialization Classes och Interfaces, Objects och References, Initialization Objekt-orienterad programmering och design (DIT953) Niklas Broberg/Johannes Åman Pohjola, 2018 Abstract class En abstract class är en class

Läs mer

Förra föreläsningen: Olika nivåer av meddelanden. Från oblockad sändning till. RPC: Parameterpassning, registrering, felhantering, säkerhet, kompilering ONC RPC: XDR, portmapper Brandväggar, dynamisk brandväggskonfigurering,

Läs mer

ekorren e-tjänst Teknisk målbild

ekorren e-tjänst Teknisk målbild e-tjänst Teknisk målbild Innehåll 1. OM DOKUMENTET... 3 1.1 BAKGRUND... 3 2. UTGÅNGSPUNKTER... 3 3. MÅLBILD... 3 3.1 SKALBARHET... 3 4. ARKITEKTUR... 5 4.1 DATALAGRING... 5 4.2 ÖVERSIKTSBILD FÖR ARKITEKTUR...

Läs mer

Programutvecklingsprojekt Projektgrupp Elvin. Detailed Design Document

Programutvecklingsprojekt Projektgrupp Elvin. Detailed Design Document Programutvecklingsprojekt 2003-04-24 Projektgrupp Elvin Detailed Design Document Björn Engdahl Fredrik Dahlström Mats Eriksson Staffan Friberg Thomas Glod Tom Eriksson engdahl@kth.se fd@kth.se d94-mae@nada.kth.se

Läs mer

Övningen vill visa på vikten av valet av datastruktur, trots att de ofta erbjuder samma funktionalitet genom sina gränssnitt.

Övningen vill visa på vikten av valet av datastruktur, trots att de ofta erbjuder samma funktionalitet genom sina gränssnitt. 1 Samlingar 1.1 Frekvenstabell En Integer är icke-muterbar (precis som String, Float, Boolean et.c.). Ickemuterbarhet har många fördelar, men en nackdel är att ett helt nytt objekt måste skapas när ett

Läs mer

Objektorienterad programmering. Grundläggande begrepp

Objektorienterad programmering. Grundläggande begrepp Objektorienterad programmering Grundläggande begrepp Hur beskriver vi objekt? Vill ha en representationsoberoende beskrivning Abstrakta datatyper! Data Operationer Objekt Representerar en verklig eller

Läs mer

Objektorienterad Programkonstruktion. Föreläsning 6 23 nov 2015

Objektorienterad Programkonstruktion. Föreläsning 6 23 nov 2015 Objektorienterad Programkonstruktion Föreläsning 6 23 nov 2015 Designmönster Färdiga "recept" för att lösa (del-)problem i struktureringen av ens program Mönster kan beskriva små komponenter eller stora

Läs mer

Arbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query).

Arbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query). Arbeta med databas Översikt Arbeta med Entity Data Models. LINQ (Language Integrated Query). Lektion 1: Arbeta med Entity Data Models Introduktion till ADO.NET Entity Framework. Stöd i ADO.NET Entity Framework.

Läs mer

Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo

Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo Objektorienterade språk Historik Simula 67 Smalltalk 80 Procedurorienterad programmering Subprogram Programbibliotek Dataorienterad programmering Abstrakta datatyper Objektbaserade språk, föregångare till

Läs mer

Erfarenheter från vår resa

Erfarenheter från vår resa Erfarenheter från vår resa som började år 2000 och just nu är inne i ett omtag Tomas Nilsson Markus Milerup Svein Lister SWEAN 2011 maj 1 SWEAN 2011 maj 2 Exempel på varför arkitektuarbete behövs SWEAN

Läs mer

Objektorienterad programmering, allmänt

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

Läs mer

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

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

Läs mer

Webbtjänster med API er

Webbtjänster med API er Webbtjänster med API er Mål med lektionen! Veta kursmålen. Lite grunder om WCF Vem är jag? Mitt namn är Björn Jönsson och jobbar på Tahoe Solutions, ni når mig via mail: bjorn.jonsson@tahoesolutions.se

Läs mer

30 år av erfarenhet och branschexperts

30 år av erfarenhet och branschexperts 30 år av erfarenhet och branschexperts Integrerad Säkerhet Integrerad Säkerhet Varför överordnat system Användarvänlighet Kvalitet Trygghet Kostnadseffektivitet Varför ett överordnat system? Med stora

Läs mer

Några grundläggande begrepp

Några grundläggande begrepp Några grundläggande begrepp Validering bygger vi rätt system? Uppfyller kravspecifikationen de verkliga behoven? Verifiering bygger vi systemet rätt? Uppfyller det färdiga systemet kravspecifikationen?

Läs mer

PM 01 En jämförelse av två analysmodeller för val av komponentteknik

PM 01 En jämförelse av två analysmodeller för val av komponentteknik MÄLARDALENS HÖGSKOLA Institutionen för Ekonomi och Informatik v PM 01 En jämförelse av två analysmodeller för val av komponentteknik Eskilstuna, 2002-12-12 EI0230 Komponentbaserad applikationsutveckling

Läs mer

Systemkrav Bilflytt 1.4

Systemkrav Bilflytt 1.4 Systemkrav 1.4 Systemkrav 2018-08-28 2 (9) Systemkrav 1.4 Dokumentet beskriver de krav som systemet ställer på maskinvara och programvara i de servrar och klientdatorer som ska användas för systemet. Nedan

Läs mer

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

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Designmönster Adapter, Factory, Iterator,

Läs mer

Programmering B med Visual C++ 2008

Programmering B med Visual C++ 2008 Programmering B med Visual C++ 2008 Innehållsförteckning 1 Repetition och lite nytt...5 I detta kapitel... 5 Programexekvering... 5 Loop... 5 Källkod... 6 Verktyg... 6 Säkerhetskopiera... 6 Öppna, kompilera,

Läs mer

HEY! CODE I SKOLAN. VISAR ALLTID DEN RIKTIGA KODEN

HEY! CODE I SKOLAN. VISAR ALLTID DEN RIKTIGA KODEN VARFÖR HEY! CODE? Ett system för årskurs 1-9, ger en röd tråd i arbete & utveckling. Följer riktlinjer från Lgr11 Formativ bedömning. Måluppföljning för enskild individ. Lärarhandledning & klassrumsöversikt

Läs mer

Instruktioner för uppdatering från Ethiris 5.x till 6.0

Instruktioner för uppdatering från Ethiris 5.x till 6.0 Instruktioner för uppdatering från Ethiris 5.x till 6.0 Nedan följer instruktioner för hur man går till väga vid uppdatering av ett Ethirissystem version 5 till version 6. När man uppdaterar Ethiris från

Läs mer

Tentamen ID1004 Objektorienterad programmering October 29, 2013

Tentamen ID1004 Objektorienterad programmering October 29, 2013 Tentamen för ID1004 Objektorienterad programmering (vilande kurs), 29 oktober 2013, 9-13 Denna tentamen examinerar 3.5 högskolepoäng av kursen. Inga hjälpmedel är tillåtna. Tentamen består av tre sektioner.

Läs mer

Systembeskrivning.

Systembeskrivning. KTH Institutionen för Numerisk Analys och Datalogi Systembeskrivning RedInc www.nada.kth.se/projects/prom03/redinc Uppdragsgivare: Projektmedlemmar: Harald Kjellin Daniel Oscarsson Rikard Laxhammar Tommy

Läs mer

Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60. Superscalar vs VLIW. Cornelia Kloth IDA2. Inlämningsdatum:

Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60. Superscalar vs VLIW. Cornelia Kloth IDA2. Inlämningsdatum: Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60 Superscalar vs VLIW Cornelia Kloth IDA2 Inlämningsdatum: 2018-12-05 Abstract Rapporten handlar om två tekniker inom multiple issue processorer

Läs mer

Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.

Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14. Tentamen 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.00, sal E33 Tentan har en teoridel och en problemdel. På teoridelen är inga hjälpmedel

Läs mer

Systemkrav Bilflytt 1.3

Systemkrav Bilflytt 1.3 Systemkrav 1.3 Systemkrav Systemkrav 2016-11-22 2 (9) Systemkrav 1.3 Dokumentet beskriver de krav som systemet ställer på maskinvara och programvara i de servrar och klientdatorer som ska användas för

Läs mer

1. (3p) Inom MDI-området framhåller man att människor lär sig via metaforer. Hur menar man att detta går till?

1. (3p) Inom MDI-området framhåller man att människor lär sig via metaforer. Hur menar man att detta går till? 1. (3p) Inom MDI-området framhåller man att människor lär sig via metaforer. Hur menar man att detta går till? Att lära sig via metaforer innebär att man drar nytta av kunskap som användaren redan har,

Läs mer

Webbserverprogrammering

Webbserverprogrammering Webbserverprogrammering WES Webbserverprogrammering Ämnet webbserverprogrammering behandlar funktionalitet för webblösningar och samspelet mellan beställare, användare, formgivare och utvecklare. Ämnets

Läs mer

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

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

Läs mer

Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Abstract class En abstract class är en class som inte kan skapa några objekt. Syfte:

Läs mer

ADITRO LÖSNINGAR FÖR EN ENKLARE JOBBVARDAG SUMMIT 2014 PER JOHANSSON & JOEL KÖHL ADITRO L FRÅN WINDOWS TILL WEB

ADITRO LÖSNINGAR FÖR EN ENKLARE JOBBVARDAG SUMMIT 2014 PER JOHANSSON & JOEL KÖHL ADITRO L FRÅN WINDOWS TILL WEB ADITRO LÖSNINGAR FÖR EN ENKLARE JOBBVARDAG SUMMIT 2014 PER JOHANSSON & JOEL KÖHL ADITRO L FRÅN WINDOWS TILL WEB 2014-10-10 COPYRIGHT ADITRO. ALL RIGHTS RESERVED. 1 Agenda» Inledning/Bakgrund» Vad krävs

Läs mer

Föreläsning 4 Innehåll. Abstrakta datatypen lista. Implementering av listor. Abstrakt datatypen lista. Abstrakt datatyp

Föreläsning 4 Innehåll. Abstrakta datatypen lista. Implementering av listor. Abstrakt datatypen lista. Abstrakt datatyp Föreläsning 4 Innehåll Abstrakta datatypen lista Definition Abstrakta datatypen lista egen implementering Datastrukturen enkellänkad lista Nästlade klasser statiska nästlade klasser inre klasser Listklasser

Läs mer

Föreläsning 2. Operativsystem och programmering

Föreläsning 2. Operativsystem och programmering Föreläsning 2 Operativsystem och programmering Behov av operativsystem En dator så som beskriven i förra föreläsningen är nästan oanvändbar. Processorn kan bara ges enkla instruktioner såsom hämta data

Läs mer

Mobilt Efos och ny metod för stark autentisering

Mobilt Efos och ny metod för stark autentisering Mobilt Efos och ny metod för stark autentisering I och med lanseringen av E-identitet för offentlig sektor, Efos, kommer Inera att leverera komponenter som möjliggör att en användare ska kunna logga in

Läs mer

Utvecklingen av ett tidregistrerings- och faktureringssystem

Utvecklingen av ett tidregistrerings- och faktureringssystem Datavetenskap Opponenter: Anders Heimer & Jonas Seffel Respondenter: Daniel Jansson & Mikael Jansson Utvecklingen av ett tidregistrerings- och faktureringssystem Oppositionsrapport, C-nivå 2006:10 1 Sammanfattat

Läs mer

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet PROGRAMMERING Ämnet programmering behandlar programmeringens roll i informationstekniska sammanhang som datorsimulering, animerad grafik, praktisk datoriserad problemlösning och användaranpassad konfiguration

Läs mer

Regelverk. Infrastrukturen för vidareförmedling av grundläggande uppgifter om företag. Bilaga A. Tekniska ramverk. Version: 3.0

Regelverk. Infrastrukturen för vidareförmedling av grundläggande uppgifter om företag. Bilaga A. Tekniska ramverk. Version: 3.0 Regelverk Infrastrukturen för vidareförmedling av grundläggande uppgifter om företag Bilaga A Tekniska ramverk Version: 3.0 Innehållsförteckning 1 Bakgrund och syfte... 1 1.1 Definitioner 1 2 Inledning...

Läs mer

VIDAREUTVECKLING AV ADMINISTRATIONSAPPLIKATION

VIDAREUTVECKLING AV ADMINISTRATIONSAPPLIKATION Examensarbete, Högskolan på Åland, Utbildningsprogrammet för Informationsteknik VIDAREUTVECKLING AV ADMINISTRATIONSAPPLIKATION Dag Karlsson 15:2018 Datum för godkännande: 30.05.2018 Handledare: Joakim

Läs mer

Behörighetssystem. Ska kontrollera att ingen läser, skriver, ändrar och/eller på annat sätt använder data utan rätt att göra det

Behörighetssystem. Ska kontrollera att ingen läser, skriver, ändrar och/eller på annat sätt använder data utan rätt att göra det Behörighetssystem Ska kontrollera att ingen läser, skriver, ändrar och/eller på annat sätt använder data utan rätt att göra det Systemet måste kunna registrera vilka resurser, d v s data och databärande

Läs mer

Webservice & ERP-Integration Rapport

Webservice & ERP-Integration Rapport Webservice & ERP-Integration Rapport Hardwood AB Mustafa Lazem 930916-9713 Jonas Ahrne 920325-0379 Hasan Nerjovaj 940130-7195 Stefan Liden 920628-0639 2014-05-18 Innehåll Bakgrund... 2 Syfte... 2 Projektbeskrivning...

Läs mer

BILAGA E till Programvaruprojekt ÅTERSTÅENDE PROBLEM MultiPC v1.0. Innehållsförteckning

BILAGA E till Programvaruprojekt ÅTERSTÅENDE PROBLEM MultiPC v1.0. Innehållsförteckning ÅTERSTÅENDE PROBLEM MultiPC v1.0 Rev 7 1(7) BILAGA E till Programvaruprojekt ÅTERSTÅENDE PROBLEM MultiPC v1.0 Här listas problem som kan behöva hanteras i kommande inkrement. De prioriteras alltså ner

Läs mer

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2015.Q1

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2015.Q1 Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2015.Q1 För att 3L Pro skall fungera krävs att nedanstående hårdvarukrav och mjukvarukrav är uppfyllda. Viktigt är att tänka på att

Läs mer

Objektorienterad Programkonstruktion. Föreläsning 3 9 nov 2015

Objektorienterad Programkonstruktion. Föreläsning 3 9 nov 2015 Objektorienterad Programkonstruktion Föreläsning 3 9 nov 2015 Kursnämnd Namn kommer... UML: Klassdiagram UML: Relationer Ärver från superklass Implementerar gränssnitt Dubbelriktad eller oriktad relation

Läs mer

SLUTRAPPORT: TEXAS HOLDEM 4 FRIENDS

SLUTRAPPORT: TEXAS HOLDEM 4 FRIENDS SLUTRAPPORT: TEXAS HOLDEM 4 FRIENDS Individuellt Mjukvaruutvecklingsprojekt (Utvecklare av digitala tjänster) Den 1 juni 2011 ABSTRAKT Rapporten tar upp positiva och negativa erfarenheter som jag erhållit

Läs mer

Användning av testautomation inom Extendas utvecklingsorganisation

Användning av testautomation inom Extendas utvecklingsorganisation Testautomation Användning av testautomation inom Extendas utvecklingsorganisation Agenda Presentation av Extenda Vad är en POS? Test av POS Automatiska tester Sammanfattning 2 Kort historik 1982 Extenda

Läs mer

Mobilt Efos och ny metod för stark autentisering

Mobilt Efos och ny metod för stark autentisering Mobilt Efos och ny metod för stark autentisering I och med lanseringen av E-identitet för offentlig sektor, Efos, kommer Inera att leverera komponenter som möjliggör att en användare ska kunna logga in

Läs mer

SÄKRA DIN AFFÄR VART DEN ÄN TAR DIG. Protection Service for Business

SÄKRA DIN AFFÄR VART DEN ÄN TAR DIG. Protection Service for Business SÄKRA DIN AFFÄR VART DEN ÄN TAR DIG Protection Service for Business DET ÄR EN MOBIL VÄRLD Wifi Fotgängare Idag använder vi fler enheter med fler anslutningar än någonsin tidigare. Att då kunna välja var

Läs mer

Objektorienterad Programkonstruktion, DD1346 FACIT. Tentamen 20150613, kl. 9.00-12.00

Objektorienterad Programkonstruktion, DD1346 FACIT. Tentamen 20150613, kl. 9.00-12.00 Skolan för datavetenskap och kommunikation Objektorienterad Programkonstruktion, DD1346 FACIT Tentamen 20150613, kl. 9.00-12.00 Tillåtna hjälpmedel: Papper, penna och radergummi. Notera: Frågorna i del

Läs mer

DD2385 Programutvecklingsteknik Några bilder till föreläsning 1 24/ Kursöversikt Javarepetition/Javaintroduktion

DD2385 Programutvecklingsteknik Några bilder till föreläsning 1 24/ Kursöversikt Javarepetition/Javaintroduktion DD2385 Programutvecklingsteknik Några bilder till föreläsning 1 24/3 2014 Innehåll Kursöversikt Javarepetition/Javaintroduktion UML - klassdiagram-introduktion i anslutning till Java-exemplen Kursmål,

Läs mer

Introduktion till migrering till molnet. PART 4: Plattformar för molntjänster

Introduktion till migrering till molnet. PART 4: Plattformar för molntjänster Introduktion till migrering till molnet PART 4: Plattformar för molntjänster PART 4 ÖVERSIKT 1. PaaS 2.Migration Vad betyder PaaS? PaaS betyderplatform as a Service eller plattform för cloud computing

Läs mer

Hur kan/vågar myndigheter tillgodogöra sig Open Source på ett bra sätt? Open Source för GIS 1-2 mars 2011

Hur kan/vågar myndigheter tillgodogöra sig Open Source på ett bra sätt? Open Source för GIS 1-2 mars 2011 Hur kan/vågar myndigheter tillgodogöra sig Open Source på ett bra sätt? Open Source för GIS 1-2 mars 2011 Två frågor Hur kan/vågar myndigheter tillgodogöra sig Open Source på ett bra sätt? Trafikverket

Läs mer

Tentamen, Distribuerade System/Programvaruarkitektur 2001-08-24

Tentamen, Distribuerade System/Programvaruarkitektur 2001-08-24 Tentamen, Distribuerade System/Programvaruarkitektur 2001-08-24 FÖRSÄTTSBLAD Inlämnas ifyllt tillsammans med tentan. Skriv namn på samtliga blad. Ange nedan vilka uppgifter du besvarat. Uppgift Besvarad

Läs mer

<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>

<script src= http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js></script> AngularJS Skriven av: Isak Glans. Datum: 2015-04-29. Kurs: Webbutveckling. Lärare: Per Sahlin. Utbildning: Systemutvecklare i.net, Newtons Yrkeshögskola. 1 Sammanfattning Syftet med denna uppsats är att

Läs mer

Elisabet Stöök Konsult SAS Institute AB Copyright 2003, SAS Institute Inc. All rights reserved.

Elisabet Stöök Konsult SAS Institute AB Copyright 2003, SAS Institute Inc. All rights reserved. Administrera din SAS miljö med SAS Metadata Server och SAS Management Console. Elisabet Stöök Konsult SAS Institute AB Copyright 2003, SAS Institute Inc. All rights reserved. SAS Intelligence Value Chain

Läs mer

Objekt, klasser. Tillstånd Signatur Kommunikation Typ. Fält, parametrar och lokala variabler. Konstruktorer Metoder DAVA15

Objekt, klasser. Tillstånd Signatur Kommunikation Typ. Fält, parametrar och lokala variabler. Konstruktorer Metoder DAVA15 DAVA15 Objekt, klasser Vad är det? Vad är sambandet mellan dem? Vad är skillnaden mellan dem? Tillstånd Signatur Kommunikation Typ Fält, parametrar och lokala variabler Likheter och skillnader Räckvidd

Läs mer

STYRKAN I ENKELHETEN. Business Suite

STYRKAN I ENKELHETEN. Business Suite STYRKAN I ENKELHETEN Business Suite HOTET ÄR VERKLIGT Onlinehot mot ditt företag är verkliga, oavsett vad du gör. Om du har data eller pengar är du ett mål. Säkerhetstillbuden ökar drastiskt varje dag

Läs mer

Webbtjänster med API er

Webbtjänster med API er Webbtjänster med API er Repetera kunskaperna Mål med lektionen! Vad lektionen omfattar Repetition av kursen. Webbtjänster? En webbtjänst är en tjänst som erbjuds av en elektronisk anordning till en annan

Läs mer

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

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

Läs mer

Tjoho. Applikationsutvecklarens handledning. Maj 2003

Tjoho. Applikationsutvecklarens handledning. Maj 2003 Tjoho Applikationsutvecklarens handledning Maj 2003 Uppdragsgivare: Ylva Dalén, KI Starthus Projektmedlemmar: Sophia Demnert, Elina Eriksson, Kamilla Johansson Per-Jonny Käck, Ingela Linered, Åsa Moum,

Läs mer

Static vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design (DIT953) Niklas Broberg, 2018

Static vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design (DIT953) Niklas Broberg, 2018 Static vs Dynamic binding Polymorfism Objekt-orienterad programmering och design (DIT95) Niklas Broberg, 2018 Diagnostiskt prov Shape + overlaps(shape): int return 1; Shape shape = new Shape(); Polygon

Läs mer

XP-projekt: En fördjupning

XP-projekt: En fördjupning XP-projekt: En fördjupning Extreme Programming Martin Karlsson marka@itn.liu.se K7522 011 36 34 63 Fem värden Kommunikation Var öppna Var ärliga Ta konflikter Diskutera Tag beslut Tag ansvar Kräver feedback,

Läs mer

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet PROGRAMMERING Ämnet programmering behandlar programmeringens roll i informationstekniska sammanhang som datorsimulering, animerad grafik, praktisk datoriserad problemlösning och användaranpassad konfiguration

Läs mer

Föreläsning 17 UTBLICK: FORTSÄTTNINGSKURSER I DATAVETENSKAP + ANDROID

Föreläsning 17 UTBLICK: FORTSÄTTNINGSKURSER I DATAVETENSKAP + ANDROID Föreläsning 17 UTBLICK: FORTSÄTTNINGSKURSER I DATAVETENSKAP + ANDROID Vad gör vi här? Programmeringsteknik fördjupningskurs (EDAA01; 7,5hp) Valfri för F, N & BME (kan läsas från åk 2 eller i sommar!) Avancerad

Läs mer

ALM Live: Testfokus bättre mjukvarukvalitét med Visual Studio 2008 Team System

ALM Live: Testfokus bättre mjukvarukvalitét med Visual Studio 2008 Team System ALM Live: Testfokus bättre mjukvarukvalitét med Visual Studio 2008 Team System Magnus Juvas Qwise Om oss: Qwise Vi hjälper systemutvecklingsteam att bli bättre. Vi är experter på ALM och Team System. Vi

Läs mer

Grafiska användargränssnitt i Java

Grafiska användargränssnitt i Java TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2018 Grafiska användargränssnitt i Java En genomgång av de viktigaste begreppen Alternativ 2 Från början fanns AWT, Abstract Window Toolkit Stora delar har

Läs mer

Systemanalys och arkitektur på Tillväxtverket 2012

Systemanalys och arkitektur på Tillväxtverket 2012 Dokumentnamn Dokumenttyp Datum Avrop Systemanalys och arkitektur på Tillväxtverket 2012 2011-12-13 Diarienr/Projektnr Upprättad av Godkänd av Version 8531-2011-4739 Systemanalys och arkitektur på Tillväxtverket

Läs mer

Gränslös kommunikation

Gränslös kommunikation Ericsson enterprise multimedia server Gränslös kommunikation Den nya generationen multimedielösningar för företagskommunikation Kunnig personal och högeffektiva arbetssätt är viktiga faktorer om ett företag

Läs mer

Introduktion till programmering. Programspråk och paradigmer

Introduktion till programmering. Programspråk och paradigmer Introduktion till programmering Programspråk och paradigmer Vad är ett programspråk? Aprogramming languageis a formal constructedlanguagedesigned to communicate instructions to a machine, particularly

Läs mer

Enhetstester på.netplattformen

Enhetstester på.netplattformen Enhetstester på.netplattformen Praktikfall ur verkligheten Copyright Prolore 2007. All Rights Reserved. Viktor Laszlo Vem är jag 11 år inom test Prolore: specialiserat på Testautomatisering, Prestandatest

Läs mer

729G75: Programmering och algoritmiskt tänkande. Tema 1. Föreläsning 1 Jody Foo

729G75: Programmering och algoritmiskt tänkande. Tema 1. Föreläsning 1 Jody Foo 729G75: Programmering och algoritmiskt tänkande Tema 1. Föreläsning 1 Jody Foo Föreläsningsöversikt Kursinfo / Om kursen Algoritmer Objektorienterad programmering i praktiken terminologi använda objekt

Läs mer