Utveckling av ramverk för editering och simulering av BPMN

Storlek: px
Starta visningen från sidan:

Download "Utveckling av ramverk för editering och simulering av BPMN"

Transkript

1 Utveckling av ramverk för editering och simulering av BPMN Erik Eldh Johan Pettersson Handledare: Farzad Kamrani Examinator: Rassul Ayani 22 september 2010

2 Sammanfattning Business Process Modelling Notation (BPMN) är ett sätt att graskt rita upp ett diagram för en aärsprocess. Ett BPMN-diagram består av era olika så kallade ödesobjekt (eng. ow objects). Dessa är sammanlänkade i diagramet via sekvensöden (eng. sequence ows). Dessa diagram är endast graska representationer för aärsprocessen och det nns ett behov av att kunna simulera dessa diagram för olika ändamål. Den simulering som idag nns tillgänglig för BPMN är att diagrammet utvärderas genom att kontrollera om det är giltigt. För att evaluera dessa diagram mer precist har specikationen av vår uppdragsgivare utvidgats för att innefatta arbetare (eng. agents) och uppgifter (eng. tasks). Genom att på detta sätt simulera diagrammet och erhålla data för de olika attributen denierade för arbetarna och uppgifterna kan slutsatser dras om vilken tilldelning som är den mest optimala. För att kunna designa och simulera ett ödesdiagram enligt BPMNspecikationen implementerades en editor och simulator i Java. Simulatorn är implementerad enligt principen diskret händelsestyrd simulering (DHS). Då ödet når ett ödesobjekt exekveras den vilket bland annat innebär att framtida händelser eventuellt genereras och läggs till i framtida händelsekön. Simulatorn fortsätter exekveringen genom att den framtida händelse med närmast tid exekveras. På detta sätt traverserar simulatorn diagramet tills händelsekön är tom vilket är då ödet nått en sluthändelse. Då det i programmet är möjligt att moddelera BPMN-diagram enligt egna preferenser kan ett stort antal olika diagram simuleras. BPMN-diagram modellerade i andra program som exporterats enligt XPDL-standarden kan även laddas. Programmet med simulator och editor evaluerades med två olika modeller och optimeringsalgoritmer. Det resultat som erhölls av dessa simuleringar skilde sig ej från det förväntade resultatet. i

3 Abstract Business Process Modelling Notation (BPMN) is a way to graphically draw a diagram of a business process. A BPMN diagram consists of several so-called ow objects. These are interconnected in the graph through sequence ows. BPMN models are merely graphical representations of business process and there is a need to simulate these diagrams for dierent purposes. The simulation that now is available for BPMN is that the model is evaluated by checking if it is correct. To evaluate these models more precise the specication has been extended by our principals to include workers and tasks. By simulating the diagram and obtaining data based on the various attributes dened for the workers and the tasks, conclusions can be drawn concerning the optimal assignment. In order to design and simulate a ow chart according to BPMN specication an editor and simulator was implemented in Java. The simulator is implemented based on the principle of discrete event simulation (DES). When the ow reaches a ow object it is executed which among others means that possible future events are generated and added to the future event queue. The simulator continues the execution by selecting the future event with the smallest timestamp. In this way the simulator traverses the graph until the future event list is empty which is when the ow reaches a nal event. Since it is now possible to model BPMN diagrams according to own preferences, a large number of dierent graphs can be simulated. BPMN diagrams model made in other applications and exported using the XPDLstandard can also be loaded. The program with the simulator and editor were evaluated using two dierent models and optimization algorithms. The results from these two evaluations indicates that the developed program is performing in comparison with the expected result. ii

4 Förord Denna rapport beskriver ett utvecklingsarbete som utfördes på KTH i Kista. Målet var att utveckla en simulator för aärsprocesser och uppgiften utgör ett examensarbete vid institutionen för informationsteknik vid KTH. Vi vill tacka vår uppdragsgivare och handledare Farzad Kamrani för hans stöd under arbetets gång och även vår examinator Rassul Ayani. KTH, Kista i maj 2010 Erik Eldh och Johan Pettersson iii

5 Innehåll 1 Inledning Bakgrund Syfte Simulering av Business Process Modeling Notation (BPMN) Allmänt om BPMN Utvidgning av BPMN Simulering Existerande program Metod 6 4 Utvecklingsarbete Modellering Grask representation Simulering Graskt gränssnitt Att spara diagram Resultat Evaluering Evaluering Evaluering Slutsats 18 7 Diskussion 19 A Programmet 21 B Exempel på sparning av diagram i XPDL 23 C BPMN Objekten 27 iv

6 Figurer 1.1 Exempel på ett BPMN-diagram Grask representation av ödesobjekt UML Diagram över de klasser som representerar ödesobjekten Flödesobjekt modellerade i programmet Flödesbanor modellerade i programmet De noder som skapas vid sparande i XML-dokumentet En representation av en aktivitet i XPDL genererad av BizAgi Operational Planning Concept Development Evalueringsmodell A.1 Exempel på ett BPMN-diagram modellerat i programmet A.2 Exempel på hur arbetarnas färdigheter och aktiviteternas uppgifter denieras i programmet v

7 Kapitel 1 Inledning 1.1 Bakgrund Business Process Modeling Notation (BPMN) är en standard inom organisationer och används för att skapa en grask representation av aärsprocesser bland annat för att tekniker och administratörer ska ha ett gemensamt språk[8]. En aärsprocess är en samling aktiviteter och uppgifter som sammanlänkas för att tillhandahålla en specik tjänst eller producera en produkt. Sammanlänkningen illustreras genom att rita upp ett ödesdiagram över affärsprocessen liknande ett UML-diagram (Unied Modeling Language). Ett sådant diagram är endast en statisk representation av aärsprocessen, men att på ett bra sätt kunna simulera ett BPMN-diagram kan hjälpa många företag att utvecklas och optimera sin verksamhet. En illustration av hur ett BPMN-diagram kan se ut nns i gur 1.1. Där BPMN för närvarande används för att tillhandahålla en gemensam notation för aärsprocesser har vår uppdragsgivare en annan approach, och använder BPMN för att mäta mervärdet av en process för att sedan optimera den med hjälp av olika optimeringsmetoder. För att mervärdet ska kunna mätas behövs ett sätt att kunna simulera ödet i aärsprocessen. 1.2 Syfte Vår uppdragsgivare har uttryckt ett behov av att kunna modellera och simulera BPMN-diagram i ett ramverk där utvidgning och vidareutveckling skall vara enkla att implementera och som ska användas som en plattform för test av olika tilldelningsalgoritmer. Själva simuleringen ska kunna köras med olika optimeringsalgoritmer som uppdragsgivaren själv kan implementera. Syftet med denna rapport är att visa hur ett sådant ramverk (editor och simulator) kan implementeras i Java. 1

8 Figur 1.1: Exempel på ett BPMN-diagram 2

9 Kapitel 2 Simulering av Business Process Modeling Notation (BPMN) Detta avsnitt behandlar principerna bakom ett BPMN-diagram och hur ett sådant kan simuleras med hjälp av att utvidga BPMN specikationen. 2.1 Allmänt om BPMN BPMN är som tidigare nämnts en standard inom stora och små organisationer för att skapa modeller över verksamheten. Dessa modeller används inom organisationen för att alla berörda parter ska ha en gemensam notation och ett standardiserat sätt att diskutera aärsprocesser. Ett BPMN-diagram är uppbyggt av ett antal olika objekt, så kallade ödesobjekt (eng. ow objects). Det nns ett ertal olika ödesobjekt, där vägskäl (eng. gateways), Figur 2.1: Grask representation av ödesobjekt 3

10 aktiviteter (eng. activites) och händelser (eng. events) är huvudgrupperna. Dessa objekt manipulerar hur ödet, via olika banor i diagrammet kallade sekvensöden (eng. sequence ows), dirigeras till olika objekt i diagrammet. Dessa ödesobjekt ligger i pooler (eng. pools) som representerar separata organisationer med tillgång till olika resurser. Ett exempel på hur poolerna illustreras nns att se i gur 1.1 som innehåller två olika pooler. Polerna kommunicerar mellan sig genom att skicka meddelanden via meddelandeöden (eng. message ow). Vägskäl ändrar ödet på olika sätt beroende på vilken typ av vägskäl det är. Ett vägskäl kan ha era ut- och ingångar som aktiveras beroende på vilken typ av vägskäl ödet har nått. När man når ett vägskäl kan era eller en utgång aktiveras och omdirigera ödet beroende på olika villkor för utgångarna. Ett vägskäl kan då dela upp ödet genom att den aktiverat er än en utgång. Likaså kan ett vägskäl sammanlänka era ingångar och dirigera ödet till en utgång. Aktiviteter i BPMN är de uppgifter i aärsprocessen som ska utföras. En aktivitet kan vara atomär eller sammansatt. En atomär aktivitet är en arbetsuppgift (eng. task). Av händelseobjekten nns det tre olika typer, start, mellanliggande (eng. intermediate) och sluthändelser, som symboliserar olika moment i ödet. Ett komplett diagram ska ha minst en starthändelse och en sluthändelse. Av typen mellanliggande händelse nns era typer. Till exempel kan man illustrera en lunchrast i aärsprocessen genom att använda en väntande händelse (eng. timer event) med parametern 45 minuter. Händelseobjekten kan också generera meddelanden som skickas via meddelandeöden. Dessa händelser denieras som gripande (eng. catching) om de tar emot ett meddelande eller kastande (eng. throwing) om de skickar iväg ett meddelande. Dessa huvudtyper av ödesobjekt illustreras i ett BPMN-diagram enligt gur 2.1 och en mer utförlig beskrivning av ödesobjekten nns i Bilaga C. 2.2 Utvidgning av BPMN I ett försök att evaluera en aärsprocess mervärde har en forskningsgrupp på Kungliga Tekniska Högskolan och Totalförsvarets forskningsinstitut (FOI) använt sig av en utvidgning av BPMN där resurser, både maskiner och människor, denieras som arbetare (eng. agents) [6] som har vissa egenskaper. Arbetarna är resurser som en organisation har till sitt förfogande. Arbetsuppgifterna i aärsprocessen utökas med attribut som denierar vikten av arbetarnas egenskaper. Mervärdet som en viss tilldelning av en arbetare till en arbetsuppgift skapar räknas sedan ut, i sin enklaste form genom att summera produkterna av attributen och egenskaperna. Genom denna utvidgning kan man beräkna den optimala arbetsfördelningen inom aärsprocessen, vem som ska göra vad, för att det bästa resultatet ska nås. När aärsprocessen 4

11 har arbetare knutna till sig får man även en ny aspekt att ha i åtanke. Hur arbetarna kommer att interagera med varandra och hur snabbt arbetet kommer att gå. Då kan man inte bara optimera en aärsprocess för att nå det bästa resultatet utan även för att nå ett accepterat resultat på snabbast tid. 2.3 Simulering För att ett BPMN-diagram som inkluderar arbetare ska kunna utvärderas måste en simulering göras, detta på grund av den odeterminism som nästan alltid nns i diagrammen och som beror på vägskälen. Genom att i en simulator implementera de olika ödesobjekten denierade i BPMN speci- kationen och använda arbetare kan en aärsprocess simuleras. Genom att låta stafettpinnar (eng. tokens), markörer som symboliserar vart i aärsprocessen ödet nått, passera genom diagrammet och exekvera objekten från en starthändelse till en slutändelse genom olika ödesobjekt där aktiviteter och vägskäl är de mest intressanta kan det totala arbetet beräknas. För att, trots osäkerheten i modellen, kunna hitta ett medelvärde av antalet gånger som en aktivitet utförs behöver ett stort antal traverseringar göras av modellen. Den genom simulering erhållna datan användas till att hitta den mest optimala arbetsfördelningen i aärsprocessen. 2.4 Existerande program Det nns idag ett ertal program vars uppgift är att rita upp ett diagram över en aärsprocess enligt BPMN. Exempel är MagicDraw [7], BizAgi [3] och Intalio [4]. Dessa kan inte simulera diagrammet mer än att kontrollera att den är exekverbar (nit). Dessa program använder sig av en gemensam standard för hur diagrammet ska exporteras kallad XPDL (XML Process Denition Language). Aärsprocesser skapade och exporterade enligt detta format kan laddas i alla program som stödjer standarden. 5

12 Kapitel 3 Metod Ett ramverk där ett BPMN-diagram kan designas graskt och simuleras ska implementeras i Java. Implementationen av BPMN-diagrammen görs så generell som möjligt för att framtida utvidgningar ska vara enkla att implementera. De aärsprocesser som ska modelleras med hjälp av programmet ska kunna användas på olika sätt. Till exempel ska diagrammet kunna köras i en simulator utan något GUI genom exporterade modeller. XPDL, som är en standard för att spara modeller över aärsprocesser ska kunna användas. Genom att implementera laddningsmetoder som läser från XML formaterade ler knyts inte simulatorn till den designer som har använts utan den kan användas på diagram skapade i andra designprogram. Till utvecklingen av BPMN-simulatorn och den graska designern används programmeringsspråket Java och närmare bestämt versionen Java SE 6 Update 18 utvecklat av Sun Microsystems (nuvarande Oracle). För den graska BPMN-designern används ett externt bibliotek vid namn jgraph [2] för den diagramvy som ska visas. jgraph är ett Java Swing baserat bibliotek speciellt anpassat för att hantera grafer av olika slag. Olika objekt, i jgraph kallade cells, placeras i en vy där användaren kan interagera med dem. Dessa kan även sammanlänkas via banor, i jgraph kallade edges. 6

13 Kapitel 4 Utvecklingsarbete Detta kapitel beskriver utvecklingsarbetet där en grask BPMN-diagram designer och en simulator som hanterar ett ertal olika ödesobjekt skapades. 4.1 Modellering De olika ödesobjekten specicerade i BPMN byggdes upp som enskilda klasser i Java. En superklass kallad FlowObject denierades med de enklaste funktionerna ett ödesobjekt har, så som till vilka den är kopplad och vilken typ av ödesobjekt den är. De tre huvudtyperna av ödesobjekten nämnda i kapitel 2.1 ärver dessa egenskaper men implementerar också ny funktionalitet för metoder denierade i klassen FlowObject. Då det även nns undergrupper till de tre huvudtyperna implementerades också dessa som enskilda klasser som ärver av huvudtyperna. BPMN-specicationen innehåller ett antal attribut för de olika ödesobjekten som denierar deras parametrar [8]. Då alla parametrar inte var aktuella för hur vi valde att deniera objekten användes inte alla då de inte bidrog till mer funktionalitet. Ett UML-diagram över de olika klassernas samhörighet nns i gur 4.1. Aktiviteterna implementerades för att innehålla en uppgift som innehåller parametrar vilka denierar vikten av arbetarnas egenskaper för arbetsuppgiften. Likaså innehåller varje arbetare en färdighet (eng. skill) som innehåller olika parametrar för hur väl den kan utföra en uppgift. Då en uppgift ska utföras i en aktivitet implementerades en körningsmetod som tar in en arbetares färdigheter och applicerar på sin arbetsuppgift under simulering. Flera olika vägskäl implementerades ur de olika huvudtyperna för vägskäl. Ett parallellvägskäl som har funktionen att antingen dela upp eller sätta ihop ett sekvensöde implementerades som två enskilda klasser. Detta för att skilja på de två specika användningssätten. Dessa två nya vägskäl kallades delande vägskäl (split gateway) och ett sammanförande vägskäl (merging gateway). För dessa två olika vägskäl implementerades två metoder som körs 7

14 Figur 4.1: UML Diagram över de klasser som representerar ödesobjekten vid exekvering av det enskilda vägskälet. För det delande vägskälet skapades en metod som genererar en ny stafettpinne för varje utgång vägskälet har och för det sammanförande skapades en metod som väntar tills en stafettpinne från varje ingång når vägskälet innan den låter en av dem passera genom dess utgång och kasserar de extra stafettpinnarna. Ett chansbaserat vägskäl (implementerat som en Complex Gateway) implementerades med hjälp av en slumpgenerator. Metoder för att sammanlänka dess olika utgångar till andra ödesobjekt för ett villkor skapades genom att implementera att man kan deniera villkor i procent. Den standardutgång som lades till i vägskälet används då inget av de andra villkoren i vägskälet uppfylldes. Då aärsprocessen kan innehålla olika pooler i ett och samma diagram skapades pool- och diagramobjekt. Poolobjekten implementerades för att innehålla de ödesobjekt som knyts till poolen. Även de arbetare som ska utföra de olika arbetsuppgifterna denierade i poolens aktiviteter kopplas till poolen. Arbetare kan samarbeta i grupp och detta implementerades som ett grupp av agentobjekt i ett objekt kallat team. Team- och agentobjekten delar på en metod för att dess färdigheter ska evalueras, dock kan team objektet ta er faktorer i åtanke. Diagramobjekten innehåller de olika polerna. Sekvensöden implementerades för att veta hur de olika ödesobjekten är sammanlänkade och innehåller identikationsnummer på de två olika ödesobjekten som den knyter samman. Likaså implementerades meddelandeödet för att innehålla identikationsnumren på de olika ödesobjekten den sammanlänkar men även mellan vilka pooler ödet går. 8

15 4.2 Grask representation Den graska representationen av diagrammet implementerades med hjälp av biblioteket jgraph. Den graska delen av diagrammet implementerades fristående från de tidigare modellerade klasserna över ödesobjekten. Detta för att lätt kunna skilja de två huvudkomponenterna ifrån varandra. De BPMN-diagram som skapas knyts till en DefaultGraphModel från jgraph biblioteket. För att erhålla den graska representationen av ödesobjekten skapades klassen BPMNCell. Denna klass innehåller referenser (vilken typ av ödesobjekt den är, dess namn och vilken pool den tillhör) till vilket ödesobjekt den ska gestalta. För att rita upp det ödesobjekt som ska visas i diagramet implementerades klassen BPMNCellView som överlagrar rendreringern i klassen VertexView från jgraph biblioteket. Genom detta erhålls full kontroll över hur de celler som ska läggas till i diagrammet ser ut. Till BPMNCellView knöts referenser till de olika bilder som ska användas i diagrammet beroende på vilken typ som deneras i BPMNCell. Den graska representation som skapats av ödesobjekten lagras sedan i en DefaultGraphCell från jgraph biblioteket. Hur de ser ut i programmet syns i gur 4.2. Figur 4.2: Flödesobjekt modellerade i programmet De olika ödesbanorna implementerades med hjälp av klassen Default- GraphEdge från jgraph biblioteket. För att erhålla de två olika sorterna av ödesbanorna (sekvensöde och meddelandeöde) används typen AR- ROW_CLASSIC som ritas som en pil. För ett skilja på de två olika ödena, sekvensöden som går mellan ödsobjekt i en pool, och meddelandeöden som går mellan pooler, delades meddelandeödets pil upp i mindre segment enligt ett mönster. För att erhålla referenser till det specika ödet pilen behandlar lades själva ödet in i den DefaultGraphEdge som skaps. I gur 4.3 illustreras dels ett sekvensöde mellan ett start- och ett slutevent, och dels ett meddelandeöde mellan ett kastande meddelandeevent och ett gripande meddelandeevent. För de olika ödesobjekten skapades bilder som läggs till i diagramvyn. De olika graska objekt som skapas innehåller en referens till den ödesobjekt- 9

16 Figur 4.3: Flödesbanor modellerade i programmet klass som den är knyten till. De olika öden som läggs till innehåller det ödesobjekt som skapas då två ödesobjekt knyts samman i Pool klassen. 4.3 Simulering En simulator som använder de modellerade ödesobjekten för att skicka en stafettpinne mellan dem och beräkna mervärdet av aärsprocessen implementerades. Simulatorn implementerades enligt systemet diskret händelsestyrd simulering där de olika händelserna kan generera framtida händelser som läggs i en kö[1]. För denna kö skapades klassen History. För History klassen skapades två viktiga metoder; add och next. Add tar in ett objekt av typen Post och next plockar fram den händelse med närmast tid ur en sorterad lista. Klassen Post innehåller olika parametrar för den specika händelse den hanterar. Dessa parametrar är vilken tid händelsen inträar, vilken typ av händelse det är (antingen move (sv. ytta) eller execute (sv. exekvera)) och identikationsnumret för den stafettpinne händelsen berör. De två typerna av händelser berättar för simulatorn vilken typ av händelse som ska exekveras. Om en Post med typen Move hittas yttas stafettpinnen till ett ödesobjekt sammanlänkat med det objekt stafettpinnen benner sig i och om typen är Execute, exekveras det objekt stafettpinnen benner sig i och genererar en ny Post som läggs in i History objektet. De olika objekten simuleras olika genom att simulatorn använder de olika ödesobjektens metoder för att generera nya händelser och i vissa fall nya stafettpinnar. 4.4 Graskt gränssnitt Det graska gränssnittet byggdes upp med hjälp av komponenter från biblioteket javax.swing. Genom att använda konventionella program som mall för hur programmets design skulle se ut implementerades ett överskådligt gränssnitt. Ett verktygsfält innehållande de ödesobjekt programmet kan hantera skapades. De olika knapparna på verktygsfältet skapades så att man kan dra de till olika platser på diagrammet och släppa dem där och då skapas ett objekt i grafen och ett ödesobjekt läggs till i diagrammet. För att illustrera vad som händer byttes muspekaren ut till en bild på det ödes- 10

17 objekt som ska läggas till i diagrammet, för att få ett Drag och Släpp-beteende. Gränssnittet interagerar både mot DefaultGraphModel-objektet och Diagramobjektet. Detta för att skilja dem åt implementationsmässigt. För det graska gränssnittet implementerades även en vy där de olika parametrarna från utvidgningen presenterad i kapitel 2.2 visas för de arbetare och aktiviteter som läggs till i den pool som används. Då ett BPMN-diagram kan innehålla mer än en pool användes en rullgardinsmeny för att bestämma vilken pool som är den aktiva. Rullgardinsmenyn reagerar på händelser som t.ex. när en annan pool väljs och byter då ut vyn för arbetare och aktiviteter till den vy som rör den valda poolen. För att förstärka visualiseringen av att diagramet är uppdelat i olika pooler inaktiveras de objekt som inte hör till den aktiva poolen så att användaren ej kan interagera med dem. Det går dock att koppla ihop händelse objekt som är kastande eller gripande mellan två pooler via meddelandeöden. För att programmet ska kunna köras utan ett graskt gränssnitt skapades ett sätt att använda programmet via en terminal. Terminalläget implementerades så att ett diagram skapat i det graska gränssnittet kan laddas och simuleras. Via terminalläget kan också de tillgängliga optimeringarna användas för att kunna dra slutsatser av simuleringen. 4.5 Att spara diagram För att kunna spara diagram som är tillverkade med hjälp av det graska gränssnittet som man senare vill simulera i terminalläget användes Javas inbyggda stöd för att spara objekt i minnet till disk. Alla de objekt som skapades under modelleringen deklarerades som Serializable. För att kunna vara bakåtkompatibelt denierades ett permanent id (serialversionuid) för objektet. Denna form av sparande implementerades endast för diagramobjekt för att de ska kunna laddas och köras i en simulator utan GUI. För att spara och ladda det graska diagrammet i editorn skapades två metoder, loadxpdl och savexpdl. Dessa metoder använder sig, som namnen antyder, av XPDL-standarden för aärsprocesser. Metoderna implementerades mycket snarlikt varandra. För att förenkla skrivandet och sparandet till ler formaterade enligt XML användes klasser från javas medföljande paket javax.xml. Sparningen implementerades genom att alla objekt i diagrammet hämtades från den DefaultGraphModel som används. Dessa objekt, som är av typen DefaultGraphCell eller DefaultGraphEdge, innehåller parametrar för objektets storlek och position i diagrammet. För att sedan kunna ta fram de specika objekt som cellerna behandlar, tas BPMNCell-objekten som är lagrade i DefaultGraphCell fram. Med hjälp av XML paketet skapades ett antal noder i det XML dokument som ska skrivas till l. Dessa noder nns i denierade i gur

18 <Package> <Model> <Pools> <Pool> <Activites/> <Agents> <Agent> </Agents> </Pool> </Pools> <MessageFlows/> </Model> </Package> Figur 4.4: De noder som skapas vid sparande i XML-dokumentet För att vara kompatibelt med andra program vars uppgift är att designa diagram över aärsprocesser implementerades stöd för att läsa från XPDL ler. Hur en aktivitet beskrivs i ett XPDL dokument kan ses i gur 4.5. Programmet läser från XPDL dokumentet genom javas inbyggda XML parser och lägger till dem i den graska vyn. För att kunna exportera bilder över det designade diagrammet implementerades funktionen export image. Vilket exporterar det graska diagrammet över aärsprocessen till en bild. 12

19 <Activity Id="9e133f16-dce4-469a-9a31-a3ed48ce2989" Name="Jobba"> <Description /> <Implementation> <Task /> </Implementation> <Performers /> <Documentation /> <ExtendedAttributes /> <NodeGraphicsInfos> <NodeGraphicsInfo> <Coordinates XCoordinate="272" YCoordinate="71" /> </NodeGraphicsInfo> </NodeGraphicsInfos> <IsForCompensationSpecified>false</IsForCompensationSpecified> </Activity> Figur 4.5: En representation av en aktivitet i XPDL genererad av BizAgi. 13

20 Kapitel 5 Resultat Utvecklingsarbetet utmynnade i ett program där man kan modellera BPMNdiagram graskt och ge arbetare och uppgifter olika attribut som används under simulering. Bilder på programmet nns att se i bilaga A. Programmet använder sig av standarden XPDL för att spara och ladda aärssprocesser från XML-ler. Ett exempel på en sparning i XPDL nns att se i bilaga B. 5.1 Evaluering De evalueringar som valdes för att kontrollera om programmet fungerade korrekt hämtades från Optimizing a Business Process Model by Using Simulation [6] och Estimating performance of a business process model [5], där två olika modeller och optimeringsalgoritmer presenteras Evaluering 1 Den första evalueringen hämtades från Estimating performance of a business process model, avsnitt 5 där en aärsprocess kallad Operational Planning Concept Development modellerad i BPMN presenteras. Diagrammet innefattar fem olika aktiviteter, fem arbetare och tre chansbaserade vägskäl. Dess attribut nns i tabell 5.1. Diagrammet modellerades i programmet (resultatet nns i gur 5.1) och simulerades sedan med simulatorn. Det resultat som erhölls från simuleringen kan ses i körningsresultat 1 där det slutgiltiga resultatet blev ett maximum på och ett minimum på på Resultatet för simuleringen som gjordes i Estimating performance of a business process model, avsnitt 5.3 var ett maximum på och ett minimum på Den skillnad som uppvisas mellan resultatet beror på slumpgeneratorn. 14

21 Figur 5.1: Operational Planning Concept Development Tabell 5.1: Parametrar för Operational Planning Concept Development Creativity Experience Cognitive Ability Knowledge Aktivitet Development Analysis Comparsion Commander Approval Agent Commander Agent A Agent B Agent C Agent D

22 Körningsresultat 1 Simulering av Operational Planning Concept Development BPMN Model Designer and Simulator Johan Pettersson & Erik Eldh Bachelorthesis KTH Running simulation on case2009.bpmn for 1000 Loading model from file: case2009.bpmn Loaded model: Model nr = 0: min = (0, 1, 2, 3, 4) nr = 0: max = (0, 1, 2, 3, 4) nr = 1: max = (0, 1, 2, 4, 3) nr = 2: min = (0, 1, 3, 2, 4) nr = 3: min = (0, 1, 3, 4, 2) nr = 12: min = (0, 3, 1, 2, 4) nr = 13: min = (0, 3, 1, 4, 2) nr = 16: min = (0, 3, 4, 1, 2) nr = 19: min = (0, 4, 1, 3, 2) nr = 22: min = (0, 4, 3, 1, 2) nr = 40: min = (1, 3, 4, 0, 2) nr = 46: min = (1, 4, 3, 0, 2) nr = 54: max = (2, 1, 0, 3, 4) nr = 55: max = (2, 1, 0, 4, 3) nr = 96: max = (4, 0, 1, 2, 3) nr = 98: max = (4, 0, 2, 1, 3) nr = 102: max = (4, 1, 0, 2, 3) nr = 104: max = (4, 1, 2, 0, 3) total number = 120 min gain = max gain =

23 Körningsresultat 2 Simulering med algoritm två BPMN Model Designer and Simulator Johan Pettersson & Erik Eldh Bachelorthesis KTH Loading model from file: case2010.bpmn Loaded model: pads number of tasks = 8 freqency = [1.46, 1.46, 1, 1, 1.21, 1.21, 1, 1] minimum cost = 46.5 tasks : [0, 1, 2, 3, 4, 5, 6, 7] agents: [2, 4, 7, 5, 1, 6, 3, 0] maximum cost = tasks : [0, 1, 2, 3, 4, 5, 6, 7] agents: [0, 3, 6, 1, 5, 7, 4, 2] Evaluering 2 I Optimizing a Business Process Model by Using Simulation[5] presenteras algoritmen Optimal Assignment of a Non-Markovian Process i tabell Algorithm 2, algoritmen benämns hädanefter med namnet algoritm två. För att evaluera simulatorn med algoritm två modellerades en aärsprocess enlig gur 2 i den tidigare nämnda rapporten. Den färdiga modellen nns att se i gur 5.2. Sedan användes de attribut för aktiviteternas uppgifter och arbetarnas färdigheter som användes för den simulering som utfördes i rapporten. Det skapade diagrammet simulerades genom algoritm två i simulatorn och som resultatet i körningsresultat 2 visar så stämmer den överens med värdet från rapporten. Figur 5.2: Evalueringsmodell 17

24 Kapitel 6 Slutsats Den här rapporten presenterar utvecklingen av ett ramverk för simulering och modellering av BPMN-diagram, baserade på vår uppdragsgivares utvidgning av BPMN-specikationen. Den utvecklade prototypen kan användas för att applicera användardenierade optimeringar på diagram med hjälp av simulatorn. Användaren har möjlighet att använda existerande program som kan designa BPMN-diagram som exporteras i XPDL formatet. Laddas redan färdiga BPMN-diagram in i programmet kan användaren nu knyta olika arbetsuppgifter och lägga till arbetare för de olika poolerna i diagrammet för att sedan kunna simulera det. Enligt evalueringen så presterar simulatorn enligt förväntan. 18

25 Kapitel 7 Diskussion BPMN-specikationen över aärsprocesser är mycket omfattande och de funktioner som implementerats i designern och simulatorn täcker ej allt som beskrivs i den. Flera olika objekt kan implementeras allt eftersom de behövs simuleras. Editorn skulle med enkelhet kunna bearbetas till att innehålla alla de objekt som nns i BPMN men innefattar nu bara de simulatorn klarar av. Då BPMN-standarden vid rapportens skrivande är under fortsatt utveckling kan fortsatt arbete göras genom att implementera de nya BPMNspecikationerna. Biblioteket jgraph som användes till den diagramvy som skapades är mycket genomgående och innehåller många funktioner som ej var aktuella för den implementation som utfördes. Själva diagramvyn som skapades med hjälp av biblioteket hade kunnat implementeras utan jgraph för att uppnå samma funktionalitet men det skulle ha inneburit att mer arbete skulle ha behövts på det området. Då den simulator som skapades är mycket nära knuten till våra uppdragsgivares utvidgning av BPMN-specicationen, presenterad i kapitel 2.2, kan programmet inte benämnas som en generell simulator för BPMN-diagram och bör inte användas som en sådan. 19

26 Litteraturförteckning [1] Jerry Banks, John S. Carson, Barry L. Nelson, and David M. Nicol. Discrete-Event System Simulation (3rd Edition). Prentice Hall, 3 edition, [2] David Benson. Jgraph and jgraph layout pro user manual. June jgraphmanual.pdf Besökt 21 Maj [3] BizAgi. BizAgi BPMN by example Besökt 1 Juni [4] Intalio. Intalio overview Besökt 1 Juni [5] Farzad Kamrani, Rassul Ayani, and Anvar Karimson. Optimizing a business process model by using simulation. In Proceedings of the 2010 Workshop on Principles of Advanced and Distributed Simulation, pages 4047, Atlanta, GA, May [6] Farzad Kamrani, Rassul Ayani, Farshad Moradi, and Gunnar Holm. Estimating performance of a business process model. In M. D. Rossetti, B. Hill, R. R.and Johansson, A. Dunkin, and R. G. Ingalls, editors, Proceedings of the 2009 Winter Simulation Conference, Austin, TX, December [7] MagicDraw. MagicDraw technical manual Besökt 1 Juni [8] S.A. White. Introduction to BPMN Besökt 20 Maj

27 Bilaga A Programmet Denna bilaga visar det färdiga användargränssnittet. I gur A.1 visas hur programmet används för att rita upp ett BPMN-diagram. Ett antal ödesobjekt har lagts till i ett diagram bestående av två pooler. Flödesobjekten har blivit sammanlänkade med sekvensöden och poolerna har blivit sammanlänkade med meddelandeöden mellan två händelser. I gur A.2 visas hur användaren kan lägga till uppgifter och färdigheter till arbetarna och aktiviteterna i diagrammet. Färgkodningen visar hur de olika arbetarna och aktiviterna har sammanlänkats. Figur A.1: Exempel på ett BPMN-diagram modellerat i programmet. 21

28 Figur A.2: Exempel på hur arbetarnas färdigheter och aktiviteternas uppgifter denieras i programmet. 22

29 Bilaga B Exempel på sparning av diagram i XPDL Modellen i gur 5.1 sparade i XPDL. <Package> <Model Name=" Model"> <Pools> <Pool Name=" Pool0 "> <A c t i v i t e s> <A c t i v i t y Id="7" Name="Comp3"> <Route GatewayType=" Complex" Type=" Complex"> <Routes Ana_COAs=" 0. 9 " Dev_COAs=" 0. 8 "/> </ Route> <C oordinates XCoordinate=" " YCoordinate=" "/> </ A c t i v i t y> <A c t i v i t y Id="1" Name="Dev_COAs"> <Task/> <Tasks Cognetive_Ability=" 0. 5 " C r e a t i v i t y=" 2. 5 " Experience=" 0. 5 " Knowledge=" 0. 5 "/> <C oordinates XCoordinate=" " YCoordinate=" "/> </ A c t i v i t y> <A c t i v i t y Id="4" Name="Comp_COAs"> <Task/> <Tasks Cognetive_Ability=" 1. 5 " C r e a t i v i t y=" 0. 5 " Experience=" 1. 0 " Knowledge=" 1. 0 "/> <C oordinates XCoordinate=" " YCoordinate=" "/> </ A c t i v i t y> <A c t i v i t y Id="0" Name=" S t a r t "> <Event> <StartEvent T r i g g e r="none"/> </ Event> <C oordinates XCoordinate=" 0. 0 " YCoordinate=" "/> </ A c t i v i t y> <A c t i v i t y Id="5" Name="comp2"> <Route GatewayType=" Complex" Type=" Complex"> <Routes Dev_COAs=" 0. 9 "/> </ Route> 23

30 <C oordinates XCoordinate=" " YCoordinate=" "/> </ A c t i v i t y> <A c t i v i t y Id="2" Name="Ana_COAs"> <Task/> <Tasks Cognetive_Ability=" 1. 0 " C r e a t i v i t y=" 0. 5 " Experience=" 1. 5 " Knowledge=" 1"/> <C oordinates XCoordinate=" " YCoordinate=" "/> </ A c t i v i t y> <A c t i v i t y Id="3" Name="com1"> <Route GatewayType=" Complex" Type=" Complex"> <Routes Dev_COAs=" 0. 9 "/> </ Route> <C oordinates XCoordinate=" " YCoordinate=" "/> </ A c t i v i t y> <A c t i v i t y Id="9" Name="End"> <Event> <EndEvent/> </ Event> <C oordinates XCoordinate=" " YCoordinate=" "/> </ A c t i v i t y> <A c t i v i t y Id="6" Name="Comm_COA"> <Task/> <Tasks Cognetive_Ability=" 1. 0 " C r e a t i v i t y=" 1. 0 " Experience=" 1. 0 " Knowledge=" 1. 0 "/> <C oordinates XCoordinate=" " YCoordinate=" "/> </ A c t i v i t y> <A c t i v i t y Id="8" Name="App_COA"> <Task/> <Tasks Cognetive_Ability=" " C r e a t i v i t y=" " Experience=" " Knowledge=" "/> <C oordinates XCoordinate=" " YCoordinate=" "/> </ A c t i v i t y> </ A c t i v i t e s> <Agents> <Agent Id=" 1"> < S k i l l s C o g n i t i v e _ A b i l i t y=" 1. 5 " C r e a t i v i t y=" 1. 0 " Experience=" 1. 0 " Knowledge=" 1. 5 "/> </ Agent> <Agent Id=" 2"> < S k i l l s C o g n i t i v e _ A b i l i t y=" 1. 0 " C r e a t i v i t y=" 1. 0 " Experience=" 2. 0 " Knowledge=" 2. 0 "/> </ Agent> <Agent Id=" 3"> < S k i l l s C o g n i t i v e _ A b i l i t y=" 2. 0 " C r e a t i v i t y=" 2. 0 " Experience=" 2. 0 " Knowledge=" 2. 0 "/> </ Agent> <Agent Id=" 4"> < S k i l l s C o g n i t i v e _ A b i l i t y=" 1. 0 " C r e a t i v i t y=" 1. 0 " Experience=" 0. 5 " Knowledge=" 0. 5 "/> </ Agent> <Agent Id=" 5"> < S k i l l s C o g n i t i v e _ A b i l i t y=" 2. 0 " C r e a t i v i t y=" 2. 0 " Experience=" 0. 5 " Knowledge=" 0. 5 "/> </ Agent> 24

31 </ Agents> <T r a n s i s t i o n s> <T r a n s i t i o n From="3" To="1"> <C oordinates XCoordinate=" " YCoordinate=" "/> <C oordinates XCoordinate=" " YCoordinate=" "/> <C oordinates XCoordinate=" " YCoordinate=" "/> <C oordinates XCoordinate=" " YCoordinate=" "/> </ T r a n s i t i o n> <T r a n s i t i o n From="7" To="1"> <C oordinates XCoordinate=" " YCoordinate=" "/> <C oordinates XCoordinate=" " YCoordinate=" "/> <C oordinates XCoordinate=" " YCoordinate=" "/> <C oordinates XCoordinate=" " YCoordinate=" "/> </ T r a n s i t i o n> <T r a n s i t i o n From="8" To="9"> <C oordinates XCoordinate=" " YCoordinate=" "/> <C oordinates XCoordinate=" " YCoordinate=" "/> </ T r a n s i t i o n> <T r a n s i t i o n From="7" To="2"> <C oordinates XCoordinate=" " YCoordinate=" "/> <C oordinates XCoordinate=" " YCoordinate=" "/> <C oordinates XCoordinate=" " YCoordinate=" "/> <C oordinates XCoordinate=" " YCoordinate=" "/> </ T r a n s i t i o n> <T r a n s i t i o n From="7" To="8"> <C oordinates XCoordinate=" " YCoordinate=" "/> <C oordinates XCoordinate=" " YCoordinate=" "/> </ T r a n s i t i o n> <T r a n s i t i o n From="5" To="1"> <C oordinates XCoordinate=" " YCoordinate=" "/> <C oordinates XCoordinate=" " YCoordinate=" "/> <C oordinates XCoordinate=" " YCoordinate=" "/> <C oordinates XCoordinate=" " YCoordinate=" "/> </ T r a n s i t i o n> <T r a n s i t i o n From="3" To="4"> <C oordinates XCoordinate=" " YCoordinate=" "/> <C oordinates XCoordinate=" " YCoordinate=" "/> </ T r a n s i t i o n> <T r a n s i t i o n From="6" To="7"> <C oordinates XCoordinate=" " YCoordinate=" "/> <C oordinates XCoordinate=" " YCoordinate=" "/> </ T r a n s i t i o n> <T r a n s i t i o n From="5" To="6"> <C oordinates XCoordinate=" " YCoordinate=" "/> <C oordinates XCoordinate=" " YCoordinate=" "/> </ T r a n s i t i o n> <T r a n s i t i o n From="2" To="3"> <C oordinates XCoordinate=" " YCoordinate=" "/> <C oordinates XCoordinate=" " YCoordinate=" "/> </ T r a n s i t i o n> <T r a n s i t i o n From="4" To="5"> <C oordinates XCoordinate=" " YCoordinate=" "/> <C oordinates XCoordinate=" " YCoordinate=" "/> </ T r a n s i t i o n> 25

32 <T r a n s i t i o n From="1" To="2"> <C oordinates XCoordinate=" " YCoordinate=" "/> <C oordinates XCoordinate=" " YCoordinate=" "/> </ T r a n s i t i o n> <T r a n s i t i o n From="0" To="1"> <C oordinates XCoordinate=" " YCoordinate=" "/> <C oordinates XCoordinate=" " YCoordinate=" "/> </ T r a n s i t i o n> </ T r a n s i s t i o n s> </ Pool> </ Pools> <MessageFlows /> </ Model> </ Package> 26

33 Bilaga C BPMN Objekten BPMN-specikationen består av ett antal olika objekt med olika egenskaper. Dessa objekt är de som används då ett BPMN-diagram designas. De olika objekten är indelade i fyra olika grupper; ödesobjekt, kopplingsobjekt, simbanor och artefakter. Denna bilaga ger en överblick över de olika grupperna och dess objekt. Flödesobjekt Beskrivning Grask representation Händelse (Event) Activity (Aktivitet) Vägskäl (Gateway) Händelseobjektet har formen av en cirkel. Dessa objekt genererar olika händelser i diagrammet beroende på vilken typ av händelse de tillhör. Det nns tre huvudtyper av händelser; start-, mellanliggandeoch sluthändelser. En aktivitet har formen av en rektangel med rundade hörn. En aktivitet är antingen en arbetsuppgift eller en samling ödesobjekt samlade i en process (subprocess). Ett vägskäl har formen av en kantställd rektangel. Den används för att manipulera ödet i schemat. Ett vägskäl kan ha era sekvensöden knutna till sig och skicka ödet på olika utgångar. Start, Mellanliggande och Slut Arbetsuppgift och Samlade ödesobjekt 27

34 Kopplingsobjekt Beskrivning Grask representation Sekvensöde (Sequenceow) Ett sekvensöde har formen av en pil som sammanlänkar de olika ödesobjekten i diagrammet. Meddelandeöde (Messageow) Association (Association) Ett meddelandeöde har formen av en pil som är uppdelad i mindre segment, streckad pil. Meddelandeödet binder samman ödesobjekt som ligger i olika pooler. Via meddelande- ödet kan processerna utbyta information under körning. En association har formen av en pil som består av punkter. En association generar inte, till skillnad från de två andra kopplingsobjekten, ett öde utan används för att associera ut- och ingångsdata, text eller andra objekt till det ödesobjekt den är kopplad till. Samlingsobjekt Beskrivning Grask representation Pool En pool samlar de olika ödesobjekten till en aärsprocess. Flödesobjekten i poolen kommunicerar via sekvensöden och ödesobjekt i olika pooler kan kommunicera via meddelandeöden Bana (Swimlane) En bana är en indelning av en pool för att ge en bättre grask representation av hur processens aktiviteter är indelade i olika moment. 28

35 Artifakter Beskrivning Grask representation Dataobjekt (Data Object) Ett dataobjekt är knytet till en aktivitet via en association och symboliserar antingen att data produceras i aktiviteten eller att data behövs Grupp (Group) Notering (Annotation) En grupp är ett graskt hjälpmedel och påverkar ej ödet i diagrammet. Grupper används i ödesdiagrammet för att samla ödesobjekt i olika moment som är tänkt att underlätta för den som läser schemat hur de olika processerna hänger samman. En notering används för att knyta förklarande text till de olika ödesobjekten. 29

Projektarbete 2: Interaktiv prototyp

Projektarbete 2: Interaktiv prototyp Projektarbete 2: Interaktiv prototyp Jonatan Hilmarch (Grupp 13) 880427-5595 hilmarch@skip.chalmers.se Kurs: Människa-Datorinteraktion TIG061 HT 2010 Projekt 1 - en tillbakablick Enligt projektets systemdefinition

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

Generering av Universella Editorer

Generering av Universella Editorer Generering av Universella Editorer Peter Ljungqvist Department of Computer Science Åbo Akademi University, FIN-20520, Åbo, Finland email:pljungqv@abo. Klassicering enligt ACM: D.2.2 Design Tools and Techniques

Läs mer

Grafisk visualisering av en spårbarhetslösning

Grafisk visualisering av en spårbarhetslösning Datavetenskap Opponenter Johan Kärnell och Linnea Hjalmarsson Respondenter Agni Rizk och Tobias Eriksson Grafisk visualisering av en spårbarhetslösning Oppositionsrapport, C-nivå Report 2011:06 1. Generell

Läs mer

Spelet i sig är inte avancerat men projektet ställer en del krav på implementationen bland annat:

Spelet i sig är inte avancerat men projektet ställer en del krav på implementationen bland annat: Problemspecifikation Anti Tower Defence är ett spel som till motsats från klassikern Tower Defence går ut på att förflytta trupper från start till mål utan att bli skjutna och dödade av torn. Tornen placeras

Läs mer

Coridendro ett verktyg för att grafiskt åskådliggöra incidensen av malignt melanom inom olika släkter

Coridendro ett verktyg för att grafiskt åskådliggöra incidensen av malignt melanom inom olika släkter Datavetenskap Opponenter: Daniel Jansson Mikael Jansson Respondenter: Mats Almgren Erik Hansen Coridendro ett verktyg för att grafiskt åskådliggöra incidensen av malignt melanom inom olika släkter Oppositionsrapport,

Läs mer

Forma komprimerat trä

Forma komprimerat trä Forma komprimerat trä - maskinell bearbetning av fria former Peter Conradsson MÖBELSNICKERI Carl Malmsten Centrum för Träteknik & Design REG NR: LiU-IEI-TEK-G 07/0025 SE Oktober 2007 Omslagsbild: Stol

Läs mer

Figur 1. Skärmbild med markerade steg i videon. Diagram och tabell som visar positionerna som funktion av tiden.

Figur 1. Skärmbild med markerade steg i videon. Diagram och tabell som visar positionerna som funktion av tiden. Videomodellering I tillägg till videoanalys är det möjligt att skapa modeller i Tracker. Genom att använda en video av ett försök kan man utifrån denna skapa en modell som beskriver förloppet. Det finns

Läs mer

Quick Guide till Mahara och din Portfolio

Quick Guide till Mahara och din Portfolio Quick Guide till Mahara och din Portfolio 2012-05-20 A. Arstam Sida 1 Quick Guide till Mahara och din Portfolio Syftet med portfolion är att Du genom reflektion och självutvärdering ska få insikt i ditt

Läs mer

Isolda Purchase - EDI

Isolda Purchase - EDI Isolda Purchase - EDI Document v 1.0 1 Table of Contents Table of Contents... 2 1 Introduction... 3 1.1 What is EDI?... 4 1.2 Sending and receiving documents... 4 1.3 File format... 4 1.3.1 XML (language

Läs mer

Smartair System. TS1000 Version 4.23

Smartair System. TS1000 Version 4.23 Smartair System TS1000 Version 4.23 Denna manual är ett komplement till: 2069-1001 Smartair System Installations och driftsättningsmanual version 4.20A Denna manual beskriver nyheter i Smartair TS1000

Läs mer

Programmering A C# VT 2010. Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08

Programmering A C# VT 2010. Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08 Programmering A C# VT 2010 Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08 Innehåll Hjälp och referenser... 3 Kap 1 Introduktion... 3 Steg för steg... 3 Kapitel 2 Variabler...

Läs mer

(Data)Modellering. nikos dimitrakas rum 2423

(Data)Modellering. nikos dimitrakas rum 2423 (Data)Modellering nikosd@kth.se 08-161295 rum 2423 Connolly/Begg (3rd edition) Kapitel 11, 12 och 14 (4th edition) Kapitel 11, 12 och 15 (5th edition) Kapitel 12, 13 och 16 (6th edition) Kapitel 12, 13

Läs mer

Introduktion av aktiv generaliserad kunskap i Businss Process Support System (BPSS)

Introduktion av aktiv generaliserad kunskap i Businss Process Support System (BPSS) Introduktion av aktiv generaliserad kunskap i Businss Process Support System (BPSS) - en teknisk rapport om regelsystem i en state-flow-miljö kallad ProBis Version 0.2 En process från ett state-flow perspektiv

Läs mer

Grafer, traversering. Koffman & Wolfgang kapitel 10, avsnitt 4

Grafer, traversering. Koffman & Wolfgang kapitel 10, avsnitt 4 Grafer, traversering Koffman & Wolfgang kapitel 1, avsnitt 4 1 Traversering av grafer De flesta grafalgoritmer innebär att besöka varje nod i någon systematisk ordning precis som med träd så finns det

Läs mer

Sätt att skriva ut binärträd

Sätt att skriva ut binärträd Tilpro Övning 3 På programmet idag: Genomgång av Hemtalet samt rättning Begreppet Stabil sortering Hur man kodar olika sorteringsvilkor Inkapsling av data Länkade listor Användning av stackar och köer

Läs mer

Objektorienterad programmering Föreläsning 15. Grafiska användargränssnitt (GUI Graphical User Interface)

Objektorienterad programmering Föreläsning 15. Grafiska användargränssnitt (GUI Graphical User Interface) Objektorienterad programmering Föreläsning 15 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webacademy.se Agenda Grafiska användargränssnitt (GUI Graphical User Interface) Standardklassen (Control)

Läs mer

IBM SmartCloud for Social Business. IBM SmartCloud Engage och IBM SmartCloud Connections Användarhandbok

IBM SmartCloud for Social Business. IBM SmartCloud Engage och IBM SmartCloud Connections Användarhandbok IBM SmartCloud for Social Business IBM SmartCloud Engage och IBM SmartCloud Connections Användarhandbok IBM SmartCloud for Social Business IBM SmartCloud Engage och IBM SmartCloud Connections Användarhandbok

Läs mer

Manual. Logga in. OBS! Kontrollera så att korrekt epostadress finns ifyllt. Ändra inga andra uppgifter!

Manual. Logga in. OBS! Kontrollera så att korrekt epostadress finns ifyllt. Ändra inga andra uppgifter! Manual Logga in 1. Klicka på Logga in överst på sidan 2. Fyll i lägenhetsnummer och lösenord och tryck på knappen Logga in 3. Lyckas inloggningen kommer man till lägenhetens profilsida. OBS! Kontrollera

Läs mer

Space Shooter. Projektrapport i kursen Avancerad C/C++ (DVA303) vid Mälardalens Högskola av Lars Lindqvist och Niklas Nolte

Space Shooter. Projektrapport i kursen Avancerad C/C++ (DVA303) vid Mälardalens Högskola av Lars Lindqvist och Niklas Nolte Space Shooter Projektrapport i kursen Avancerad C/C++ (DVA303) vid Mälardalens Högskola av Lars Lindqvist och Niklas Nolte Innehåll: Inledning 3 Metod 4 Utförande 5 Klassdiagram 5 Sprite och underklasser

Läs mer

1. Abstrakt... 2 2. Introduktion... 2 3. Problemspecificering... 2 4. Vår teknik... 3 4.1 Designval... 3 4.2 Abstract Colour Visualization... 5 5.

1. Abstrakt... 2 2. Introduktion... 2 3. Problemspecificering... 2 4. Vår teknik... 3 4.1 Designval... 3 4.2 Abstract Colour Visualization... 5 5. 1. Abstrakt... 2 2. Introduktion... 2 3. Problemspecificering... 2 4. Vår teknik... 3 4.1 Designval... 3 4.2 Abstract Colour Visualization... 5 5. Realisering av Abstract Color Visualization... 7 6. Diskussion...

Läs mer

HexaFlip. Kravspecifikation

HexaFlip. Kravspecifikation HexaFlip Kravspecifikation Dokumentversion 1.0 Martin Larsson marla316@student.liu.se Carl Lindwall carli914@student.liu.se Senast modifierad 2009 02 17 Sammanfattning Detta dokument skall ligga som grund

Läs mer

Kommentar till bilderna. Att spara hörsel för framtiden. Bara det värdefulla är vi beredda att skydda! Hörseln vad kan vi förstå?!

Kommentar till bilderna. Att spara hörsel för framtiden. Bara det värdefulla är vi beredda att skydda! Hörseln vad kan vi förstå?! Kommentar till bilderna Att spara hörsel för framtiden SIS-seminarium i Stockholm 2010-11-10 Anders Jönsson Dessa bilder är gjorda att tala till och innehåller inte en sammanfattning av föredraget. Dessutom

Läs mer

Objektorienterad programmering D2

Objektorienterad programmering D2 Objektorienterad programmering D2 Laboration nr 2. Syfte Att få förståelse för de grundläggande objektorienterade begreppen. Redovisning Källkoden för uppgifterna skall skickas in via Fire. För senaste

Läs mer

Åtkomst och användarhandledning

Åtkomst och användarhandledning Innehållsförteckning Problemspecifikation...1 Åtkomst och användarhandledning...2 Systembeskrivning...3 Lösningens begränsningar...5 Problem och reflektioner...6 Testkörning...7 Bilagor......Källkod...

Läs mer

trafiksimulering Intro OU5 trafiksimulering

trafiksimulering Intro OU5 trafiksimulering Presentation av obligatoriska uppgiften trafiksimulering Ett lite större program med flera klasser Hur man designar ett system Hur man gör simuleringar 1 Valsätr ravägen Korsningen Dag hammarsköldsväg

Läs mer

Innehåll Introduktion... 3 InteractiveScene.config... 3 Scener <scenes>... 3 Typsnitt <fonts>... 3 Övergångar <transitions>...

Innehåll Introduktion... 3 InteractiveScene.config... 3 Scener <scenes>... 3 Typsnitt <fonts>... 3 Övergångar <transitions>... Innehåll Introduktion... 3 InteractiveScene.config... 3 Scener ... 3 Typsnitt ... 3 Övergångar ... 4 Mall för slide ... 5 , ...

Läs mer

Usify. EasyReader. Affärsmodeller

Usify. EasyReader. Affärsmodeller Usify EasyReader Affärsmodeller Innehåll INLEDNING... 2 WORKSHOP... 3 MODELLERING... 4 GRUPPERING... 4 MODELL ETT... 6 MODELL TVÅ... 6 MODELL TRE... 7 FRAMTIDA ARBETE... 8 REFERENSER... 9 1 Inledning Denna

Läs mer

Tentamen i Objektorienterad programmering

Tentamen i Objektorienterad programmering CHALMERS TEKNISKA HÖGSKOLA Datavetenskap TDA547 Tentamen i Objektorienterad programmering Lördagen 12 mars 2011, 8.30 12.30. Jourhavande lärare: Björn von Sydow, tel 0762/981014. Inga hjälpmedel. Lösningar

Läs mer

Laboration 2: Ett kommunikationssystem

Laboration 2: Ett kommunikationssystem Laboration 2: Ett kommunikationssystem 1 Syfte Att arbeta ännu mer med OO-design och programmering, framför allt programmering mot gränssnitt. Undantag och felhantering. Parallellism 2 Uppgift Ni skall

Läs mer

Tentaupplägg denna gång

Tentaupplägg denna gång Några tips på vägen kanske kan vara bra. Tentaupplägg denna gång TIPS 1: Läs igenom ALLA uppgifterna och välj den du känner att det är den lättaste först. Det kan gärna ta 10-20 minuter. Försök skriva

Läs mer

Objektsamlingar i Java

Objektsamlingar i Java 1 (6) Objektsamlingar i Java Objektorienterad programmering 3 Syfte Att ge träning i att använda objektsamlingar i Java. Mål Efter övningen skall du kunna använda objektsamlingsklasserna ArrayList och

Läs mer

Real-time requirements for online games

Real-time requirements for online games Real-time requirements for online games En undersökning om protokoll, tekniker och metoder som datorspel använder för att kommunicera över Internet Victor Grape Milad Hemmati Linköpings universitet Linköping

Läs mer

Sida 1 av 12. WSB Biodling. Manual V.1.1. http://www.wermdobiodlare.se

Sida 1 av 12. WSB Biodling. Manual V.1.1. http://www.wermdobiodlare.se Sida 1 av 12 WSB Biodling Manual V.1.1 Sida 2 av 12 Översikt: WSB Biodling är en app som hjälper dig med olika saker inom biodlingen. Nyheter i denna version är möjlighet att skapa skötselkort och dokumentera

Läs mer

Inspektion Användarmanuel

Inspektion Användarmanuel Onix AS Version 1.0.5.0 16.12.2014 2014 Inspektion Användarmanuel Denna applikation kan du enkelt kontrollera utrustningar i Utrustningsportalen. 0 S i d a INNEHÅLLSFÖRTECKNING Sida INLEDNING... 3 STARTA

Läs mer

Introduktion till integrering av Schenkers e-tjänster. Version 2.0

Introduktion till integrering av Schenkers e-tjänster. Version 2.0 Introduktion till integrering av Schenkers e- Version 2.0 Datum: 2008-06-18 Sida 2 av 8 Revisionshistorik Lägg senaste ändringen först! Datum Version Revision 2008-06-18 2.0 Stora delar av introduktionen

Läs mer

Tentamen i Objektorienterad modellering och design Helsingborg

Tentamen i Objektorienterad modellering och design Helsingborg Lunds Tekniska Högskola Datavetenskap Emelie Engström Tentamen EDAF25 2016 10-26, 08:00 13:00 Tentamen i Objektorienterad modellering och design Helsingborg Tentamen består av en teoridel om totalt 5 poäng

Läs mer

Projektrapport EDA095

Projektrapport EDA095 Projektrapport EDA095 Grupp 8 Fredrik Stål, dt08fs5@student.lth.se Per-Gustaf Stenberg, dt08ps5@student.lth.se Mattias Frisk, dt08mf3@student.lth.se Joakim Hembrink, dt08jh8@student.lth.se 16 maj 2012

Läs mer

725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack

725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack 725G61 - Laboration 7 Implementation av ett API Johan Falkenjack December 13, 2013 1 Inledning Hittills i kursen har vi tittat på grundläggande programmering och grundläggande objektorientering. I den

Läs mer

Övningar Dag 2 En första klass

Övningar Dag 2 En första klass Kurs i C++ Sid 1 (5) Övningar Dag 2 En första klass Denna övning går ut på att steg för steg bygga upp en klass och skapa objekt. Vi kommer att utgå från en sammansatt datatyp i en struct och parallellt

Läs mer

Realtid. eda040project2010 MANUAL. - Christoffer Olsson. - Daniel Lehtonen

Realtid. eda040project2010 MANUAL. - Christoffer Olsson. - Daniel Lehtonen Realtid eda040project2010 MANUAL dt08es7 dt08co0 dt08dm8 dt08dl4 - Emil Selinder - Christoffer Olsson - David Meyer - Daniel Lehtonen Innehållsförtäckning Introduktion Hur man kör igång programmet Proxy

Läs mer

Rolladministration i PaletteArena 5.3

Rolladministration i PaletteArena 5.3 SLU Rolladministration i PaletteArena 5.3 Jenny Kjellström 2012-03-16 Beskriver hur man lägger upp och inaktiverar en mottagare, hur man flyttar/styr om fakturor från/till andras inkorgar samt hur man

Läs mer

Sockets: server. with Ada.Command_Line; use Ada.Command_Line; with Ada.Exceptions; use Ada.Exceptions; with Ada.Text_IO; use Ada.

Sockets: server. with Ada.Command_Line; use Ada.Command_Line; with Ada.Exceptions; use Ada.Exceptions; with Ada.Text_IO; use Ada. Sockets: server with Ada.Command_Line; use Ada.Command_Line; with Ada.Exceptions; use Ada.Exceptions; with Ada.Text_IO; use Ada.Text_IO; with TJa.Sockets; use TJa.Sockets; procedure Server is -- Servern

Läs mer

TDDI02. Programmeringsprojekt. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU

TDDI02. Programmeringsprojekt. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU TDDI02 Programmeringsprojekt. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Verifikation, Validering och Testning XP Extreme Programming Vad är ett fel? I engelskan

Läs mer

Föreläsning 10. ADT:er och datastrukturer

Föreläsning 10. ADT:er och datastrukturer Föreläsning 10 ADT:er och datastrukturer ADT:er och datastrukturer Dessa två begrepp är kopplade till varandra men de står för olika saker. En ADT (abstrakt datatyp) är just abstrakt och är inte kopplad

Läs mer

Concept Selection Chaper 7

Concept Selection Chaper 7 Akademin för Innovation, Design och Teknik Concept Selection Chaper 7 KPP306 Produkt och processutveckling Grupp 2 Johannes Carlem Daniel Nordin Tommie Olsson 2012 02 28 Handledare: Rolf Lövgren Inledning

Läs mer

Användarmanual Mina sidor Timvärden

Användarmanual Mina sidor Timvärden Användarmanual Mina sidor Timvärden 1 1 Inloggning 3 2 Översikt 4 2.1 Välj anläggning 4 3 Timvärden 5 3.1 Ändra period 6 3.2 Zooma i diagrammet 7 3.3 Ändra periodstorlek 8 3.4 Visa som 8 3.5 Enhet 9 3.6

Läs mer

Hjälpmedel för kompilatorkonstruktion, DVB004

Hjälpmedel för kompilatorkonstruktion, DVB004 Hjälpmedel för kompilatorkonstruktion, DVB004 Version 4.2 021104 Göran Fries 031104 GF Kompilatorn kan lämpligen konstrueras i tre ganska fristående pass (p1,p2,p3). Första passet gör en lexikalisk analys,

Läs mer

Administrationsverktyg för marinvåg

Administrationsverktyg för marinvåg Computer Science Opponent(s): Ewelina Helmersson & Mollin Widegren Respondent(s): Christer Oscarsson & Jonas Larsson Administrationsverktyg för marinvåg Opposition Report, C-level 2010:VT 1 En generell

Läs mer

H0008 Skrivskydd FBWF

H0008 Skrivskydd FBWF Skrivskydd FBWF Skrivskydd FBWF (File-Based Write Filter) är en Microsoft komponent som finns med i Windows Embedded image. Det finns inte för Windows CE/Compact 7 operativ, hanteringen av skrivningar

Läs mer

Tips och tricks 1 Cadcorp SIS 5.2 2003-03-03

Tips och tricks 1 Cadcorp SIS 5.2 2003-03-03 Tips och tricks 1 Cadcorp SIS 5.2 2003-03-03 Skapa en raster pensel från en Windows bakgrund (1) 1. Kontrollera att Paper är uppsatt som koordinatsystem/projektion 2. Öppna en Bitmap fil i ett tom fönsterfil

Läs mer

Introduktion till arv

Introduktion till arv Introduktion till arv 6 INTRODUKTION TILL ARV Arv Generell-Speciell Arv för att utnyttja det vi redan gjort Återanvändning Basklass Härledd klass Varför arv? Inför en subklass för att uttrycka specialisering

Läs mer

LATHUND FÖR MALVIN. 1 Registrera ny användare... 2. 2 Logga In... 3. 2.1 Glömt lösenord... 4. 3 Annonsering... 5. 3.1 Skapa annons...

LATHUND FÖR MALVIN. 1 Registrera ny användare... 2. 2 Logga In... 3. 2.1 Glömt lösenord... 4. 3 Annonsering... 5. 3.1 Skapa annons... LATHUND FÖR MALVIN INNEHÅLL 1 Registrera ny användare... 2 2 Logga In... 3 2.1 Glömt lösenord... 4 3 Annonsering... 5 3.1 Skapa annons... 5 3.2 Redigera annons... 8 3.3 Ta bort förmedlad annons... 8 3.4

Läs mer

Företagsmodellering i UML

Företagsmodellering i UML Företagsmodellering i UML En kort-kort introduktion av Ambjörn Naeve http://kmr.nada.kth.se Modellering En modell är en förenklad beskrivning av ett komplext område En modell är motiverad av mål (= har

Läs mer

The National Institute of Child Health and Human Development (NICHD) Protocol: Intervjuguide

The National Institute of Child Health and Human Development (NICHD) Protocol: Intervjuguide The National Institute of Child Health and Human Development (NICHD) Protocol: Intervjuguide This Swedish version is based on the English version available on the NICHD Protocol website (www.nichdprotocol.com).

Läs mer

Föreläsning 1 & 2 INTRODUKTION

Föreläsning 1 & 2 INTRODUKTION Föreläsning 1 & 2 INTRODUKTION Denna föreläsning Vad händer under kursen? praktisk information Kursens mål vad är programmering? Skriva små program i programspråket Java Skriva program som använder färdiga

Läs mer

B2C för Svensk Elitfotboll Urval

B2C för Svensk Elitfotboll Urval B2C för Svensk Elitfotboll Urval INNEHÅLL 1. Generellt om Urval... 2 1.1. Skapa nytt Urval... 2 1.2. Dela ut urval till dina kollegor... 6 2. Objektstruktur för B2C... 7 2.1. Privatpersonkortet... 7 2.2.

Läs mer

TNM065 Johan Eliasson johel964 Dokumentstrukturer Kristina Engström krien026

TNM065 Johan Eliasson johel964 Dokumentstrukturer Kristina Engström krien026 Tamriel Rating Tamriel Rating är en sida för recensioner för de olika värdshuset i Tamriel. Tamriel är ett fiktivt land inom spelserien Elders Scrolls. Systemet Användaren kan bläddra genom en lista av

Läs mer

TDDB96 Projekt: Object priming med visuell stimuli

TDDB96 Projekt: Object priming med visuell stimuli TDDB96 Projekt: Object priming med visuell stimuli Daniel Johansson danjo133@student.liu.se Rickard Jonsson ricjo400@student.liu.se 1. Sammanfattning Vad vi ville komma fram till i denna studie var huruvida

Läs mer

Kapitel 6, 7, o 8: ARP Vägval Från användare till användare. Jens A Andersson (Maria Kihl)

Kapitel 6, 7, o 8: ARP Vägval Från användare till användare. Jens A Andersson (Maria Kihl) Kapitel 6, 7, o 8: ARP Vägval Från användare till användare Jens A Andersson (Maria Kihl) Att skicka data över flera länkar All data som skickas mellan två slutnoder kommer att passera flera vägväljare

Läs mer

Vindbrukskollen Nationell databas för planerade och befintliga vindkraftverk Insamling och utveckling

Vindbrukskollen Nationell databas för planerade och befintliga vindkraftverk Insamling och utveckling Vindbrukskollen Nationell databas för planerade och befintliga vindkraftverk Insamling och utveckling Slutrapport Innehållsförteckning Innehållsförteckning... 1 Sammanfattning... 2 Summary... 2 Bakgrund...

Läs mer

Kursutvärdering Verksamhetsmodellering 7,5 hp

Kursutvärdering Verksamhetsmodellering 7,5 hp Inst för Informatik Ulf Hedestig Kursutvärdering 2016-03-21 Sid 1 (2) Kursutvärdering Verksamhetsmodellering 7,5 hp Kursen verksamhetsmodellering gick för första gången på systemvetarprogrammet och genomfördes

Läs mer

Statistikens grunder 1 och 2, GN, 15 hp, deltid, kvällskurs

Statistikens grunder 1 och 2, GN, 15 hp, deltid, kvällskurs Statistikens grunder och 2, GN, hp, deltid, kvällskurs TE/RC Datorövning 3 Syfte:. Lära sig göra betingade frekvenstabeller 2. Lära sig beskriva en variabel numeriskt med proc univariate 3. Lära sig rita

Läs mer

Exempeluppgift i Logikstyrning. 1 Inledning. 2 Insignaler och utsignaler

Exempeluppgift i Logikstyrning. 1 Inledning. 2 Insignaler och utsignaler Exempeluppgift i Logikstyrning Inledning Idén med detta papper är att ge en allmän beskrivning av labbutrustningen och tips för hur man kan lösa olika praktiska problem i samband med laborationen. Läs

Läs mer

Användbarhetsarbete i ERUP

Användbarhetsarbete i ERUP 1 (5) Användbarhetsarbete i ERUP 1 Syfte 2 2 ERUP vad är det? 2 3 Användbarhetsarbete i ERUP 3 3.1 Struktur av användbarhetsarbetet i ERUP 3 3.2 Brister 5 4 Vad händer idag? 5 5 Förkortningar 5 2 (5) 1

Läs mer

Macromedia. Flash 8 Grundkurs. www.databok.se

Macromedia. Flash 8 Grundkurs. www.databok.se Macromedia Flash 8 Grundkurs www.databok.se Innehållsförteckning 1 Börja arbeta med Flash 8...1 Användningsområden...1 Bekanta dig med arbetsytan...2 Scen och tidslinje...3 Lager...3 Bibliotek...4 Verktygsfältet

Läs mer

Fråga 1. A) Domain-requirement analysis B) Questionaires C) Focus groups D) Design workshop C) Stakeholder analysis. Svar: C, D

Fråga 1. A) Domain-requirement analysis B) Questionaires C) Focus groups D) Design workshop C) Stakeholder analysis. Svar: C, D Fråga 1. Vilken två elicitationstekniker av följande lämpar sig bäst på att upptäcka idéer inför framtiden? (Välj 2 st, 0,5p per rätt alternativ, -0,5 per fel). A) Domain-requirement analysis B) Questionaires

Läs mer

Schematransformation SLU

Schematransformation SLU Testing INSPIRE Annex III Data Specifications Schematransformation SLU GeoTest 2012 Rapport upprättad 2012-10-05 Testad av GeoTest projektet Bilagor 1) Matchningstabell Innehållsförteckning 1 Introduktion...

Läs mer

Microsoft Publisher. Laborationskompendium för digital behandling av publikationer. Detta exemplar tillhör:

Microsoft Publisher. Laborationskompendium för digital behandling av publikationer. Detta exemplar tillhör: Mittuniversitetet ITM Telefon 0771-97 50 00 Microsoft Publisher Laborationskompendium för digital behandling av publikationer Detta exemplar tillhör: HT 2006 Innehållsförteckning Objekt 1 Textblock 2 Tabeller

Läs mer

TAIU07 Matematiska beräkningar med Matlab

TAIU07 Matematiska beräkningar med Matlab TAIU07 Matematiska beräkningar med Matlab Datorlektion 2. Villkor och Repetition 1 Logiska uttryck Uppgift 1.1 Låt a=3 och b=6 Vad blir resultatet av testerna ab? Uppgift 1.2 Låt a, b,

Läs mer

Min syn på visuella verktyg i produktutvecklingsprocessen

Min syn på visuella verktyg i produktutvecklingsprocessen Mälardalens Högskola Min syn på visuella verktyg i produktutvecklingsprocessen KPP306 Produkt- och processutveckling Joakim Vasilevski 10/4/2012 Innehåll Sammanfattning... 2 Inledning... 3 Skisser... 3

Läs mer

Introduktion. Byggstenar TDBA63 2005-11-22

Introduktion. Byggstenar TDBA63 2005-11-22 Introduktion UML står för Unified Modeling Language. Det är tänkt att fungera som hjälpmedel vid modellering av alla tänkbara typer av utvecklingsarbeten, inte bara inom dataomdrådet. Det största värdet

Läs mer

Clicker 5. Lathund kring de vanligaste och mest grundläggande funktionerna för att komma igång med Clicker. Habilitering & Hjälpmedel

Clicker 5. Lathund kring de vanligaste och mest grundläggande funktionerna för att komma igång med Clicker. Habilitering & Hjälpmedel Clicker 5 Lathund kring de vanligaste och mest grundläggande funktionerna för att komma igång med Clicker. Habilitering & Hjälpmedel Vad är Clicker 5? Clicker 5 är ett stöd till personer i behov av extra

Läs mer

En snabb titt på XML LEKTION 6

En snabb titt på XML LEKTION 6 LEKTION 6 En snabb titt på XML Bokstaven x i Ajax står för XML, ett mycket användbart beskrivningsspråk som gör det möjligt för Ajax-tillämpningar att hantera komplex strukturerad information. I den här

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

Föreläsning 3.1: Datastrukturer, en översikt

Föreläsning 3.1: Datastrukturer, en översikt Föreläsning.: Datastrukturer, en översikt Hittills har vi i kursen lagt mycket fokus på algoritmiskt tänkande. Vi har inte egentligen ägna så mycket uppmärksamhet åt det andra som datorprogram också består,

Läs mer

RödGrön-spelet Av: Jonas Hall. Högstadiet. Tid: 40-120 minuter beroende på variant Material: TI-82/83/84 samt tärningar

RödGrön-spelet Av: Jonas Hall. Högstadiet. Tid: 40-120 minuter beroende på variant Material: TI-82/83/84 samt tärningar Aktivitetsbeskrivning Denna aktivitet är utformat som ett spel som spelas av en grupp elever. En elev i taget agerar Gömmare och de andra är Gissare. Den som är gömmare lagrar (gömmer) tal i några av räknarens

Läs mer

Organisationshantering i Idis

Organisationshantering i Idis Idis Organisationshantering i Idis SLU, Box 7070, SE-750 07 Uppsala, Sweden tel: +46 (0)18-67 10 00 Org.nr 202100-2817 info@slu.se www.slu.se Versionshistorik... 3 1. Organisationsträdet... 4 1.1 Organisationsträdets

Läs mer

Redovisning av inlämningsuppgifter

Redovisning av inlämningsuppgifter Bilaga B Redovisning av inlämningsuppgifter 1 Rapportens innehåll Varje inlämningsuppgift ska redovisas med en skriftlig rapport. Rapporten ska vara häftad och försedd med ett försättsblad med uppgiftens

Läs mer

InkScape. Inkscape är ett gratisprogram för objektgrafik (vektorgrafik) Man använder programmet till att illustrera, rita, skapa logotyper och figurer

InkScape. Inkscape är ett gratisprogram för objektgrafik (vektorgrafik) Man använder programmet till att illustrera, rita, skapa logotyper och figurer InkScape Inkscape är ett gratisprogram för objektgrafik (vektorgrafik) Man använder programmet till att illustrera, rita, skapa logotyper och figurer Gunnar Markinhuhta ITLyftet 2012-10-09 sida 1 Med Ctrl-tangenten

Läs mer

Objektorientering Användning

Objektorientering Användning Objektorientering Användning Samt repetition av klasser Suzana Ramadani 1 Repetition Objektorientering bygger på Abstraktion Hierarkisk strukturering Inkapsling Klassificering Generalisering specialisering

Läs mer

InPrint. Grunderna för hur du kommer igång och arbetar med Communicate: InPrint. Habilitering & Hjälpmedel

InPrint. Grunderna för hur du kommer igång och arbetar med Communicate: InPrint. Habilitering & Hjälpmedel InPrint Grunderna för hur du kommer igång och arbetar med Communicate: InPrint Habilitering & Hjälpmedel Förord Communicate InPrint är ett program du använder för att skapa material för utskrift. Du kan

Läs mer

Att använda bildhanteringsprogram, del 2

Att använda bildhanteringsprogram, del 2 Att använda bildhanteringsprogram, del 2 Gå till Adobe Online (M) Markeringsram - (L) Lasso - (C) Beskärning - (J) Airbrush - (S) Klonstämpel - (E) Suddgummi - (R) Oskärpa - (A) Markering av bankomponenter

Läs mer

Tillgång till alla globala delar i systemet styrs av denna profil, som i sin tur kopplas till respektive användare.

Tillgång till alla globala delar i systemet styrs av denna profil, som i sin tur kopplas till respektive användare. HANTERA BEHÖRIGHETER Användare i Primavera P6 kräver två olika profiler för att kontrollera vad de kan göra i systemet; en Global Security Profile och en projektsäkerhetsprofil. GLOBAL SECURITY PROFILE

Läs mer

Lathund till PsycINFO (OVID)

Lathund till PsycINFO (OVID) Lathund till PsycINFO (OVID) PsycINFO innehåller referenser till artiklar inom psykologi och angränsande ämnesområden, som medicin, psykiatri, sociologi m.m. Databasen indexerar tidskrifter från 1806 och

Läs mer

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition. Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Vem är vem på kursen Objektorienterad programvaruutveckling GU (DIT011) Kursansvarig : Katarina Blom, tel 772 10 60 Rum: 6126 (E-huset)

Läs mer

Mer OOP. Variation i typ. Medlen repetition. Generiska klasser. Gränssnitt - Interface. Mer om klasser Några exempel UML

Mer OOP. Variation i typ. Medlen repetition. Generiska klasser. Gränssnitt - Interface. Mer om klasser Några exempel UML Målet Mer OOP Mer om klasser Några exempel UML Modularitet Språkligt modulära enheter Få gränssnitt Små gränssnitt Tydliga gränssnitt Dold information Återanvändbarhet Variation i typer Variation i datastrukturer

Läs mer

Stefan Nilsson 2007-09-22 1

Stefan Nilsson 2007-09-22 1 Stefan Nilsson 2007-09-22 1 Spårplan i Raily, steg-för-steg Följande är ett försök att steg för steg visa hur man gör en enkel spårplan i Raily. Spårplanen vi gör här är en enkel rundbana i H0 med en bangård,

Läs mer

Optimering. Optimering av transportproblem. Linköpings universitet SL. Campusveckan VT2013

Optimering. Optimering av transportproblem. Linköpings universitet SL. Campusveckan VT2013 Optimering Optimering av transportproblem Campusveckan VT2013 Linköpings universitet SL 1 Optimering - Distributionsproblem Företaget Kulprodukter AB producerar sina kulor vid fyra olika fabriksanläggningar

Läs mer

Editering, Kompilering och Exekvering av Javaprogram

Editering, Kompilering och Exekvering av Javaprogram UMEÅ UNIVERSITET Institutionen för informatik B.1, Programmeringens grunder, 5 poäng Editering, Kompilering och Exekvering av Javaprogram Introduktion Syftet med kursmomentet Programmeringens grunder (B.1)

Läs mer

Tentamen i Objektorienterad modellering och design

Tentamen i Objektorienterad modellering och design Lunds Tekniska Högskola Datavetenskap Tentamen EDA061 2016 10-26, 08:00 13:00 Tentamen i Objektorienterad modellering och design Vid bedömningen kommer hänsyn att tas till lösningens kvalitet. UML-diagram

Läs mer

Socialstyrelsens äldreundersökningar, manual till Indikators webbverktyg

Socialstyrelsens äldreundersökningar, manual till Indikators webbverktyg - Socialstyrelsens äldreundersökningar, manual till Indikators webbverktyg Institutet för kvalitetsindikatorer Välkommen att använda Indikators webbverktyg Institutet för kvalitetsindikatorer i Göteborg

Läs mer

Betatestning - Solsystem

Betatestning - Solsystem Betatestning - Solsystem Mikael Ågren, F03 Innehåll 1 Inledning 2 2 Frågorna 2 2.1 Är programmet konsekvent?................... 2 2.2 Behövs genvägar?......................... 2 2.3 Tillräcklig feedback?.......................

Läs mer

Övning 2: I cellerna B19 och F26 ska du beräkna den totala ytan för respektive hus. I cell C28 den totala ytan, för båda husen.

Övning 2: I cellerna B19 och F26 ska du beräkna den totala ytan för respektive hus. I cell C28 den totala ytan, för båda husen. VT -09 Excelövningar KY Eslöv Öppna filen Excelövningar.xls. Det är en Excelfil som innehåller alla de övningar jag har gjort, som är av allmän karaktär, dvs. beräkningar och kalkyler, men t ex inte diagram.

Läs mer

Beijer Electronics AB 2000, MA00336A, 2000-12

Beijer Electronics AB 2000, MA00336A, 2000-12 Demonstration driver English Svenska Beijer Electronics AB 2000, MA00336A, 2000-12 Beijer Electronics AB reserves the right to change information in this manual without prior notice. All examples in this

Läs mer

Kom igång. Version 3

Kom igång. Version 3 Kom igång Version 3 Installation & Inställningar Om du läser den här filen, har du troligtvis redan tagit dig igenom installationsprocessen hos PMView Pro. Den här sektionen är tänkt att guida dig genom

Läs mer

Seriehantering. [En enkel guide för hur du som serieadministratör använder SVEMO TA.]

Seriehantering. [En enkel guide för hur du som serieadministratör använder SVEMO TA.] 2013 Svenska Motorcykel- och Snöskoterförbundet Box 2314 600 02 NORRKÖPING Tel. 011-23 10 80 www.svemo.se Seriehantering [En enkel guide för hur du som serieadministratör använder SVEMO TA.] Innehåll Inledning...

Läs mer

INSTRUKTION Specifikation E modul.doc

INSTRUKTION Specifikation E modul.doc 1 (13) Syfte Detta är en instruktion för hur det är tänkt att specifikationen ska fyllas i vid beställning av en E modul. Förhoppningen är dock att specifikationsmallen är självinstruerande så att detta

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

Datorövning 1 Statistik med Excel (Office 2010, svenska)

Datorövning 1 Statistik med Excel (Office 2010, svenska) Datorövning 1 Statistik med Excel (Office 2010, svenska) I processövningen som ni ska genomföra ingår det att konstruera samt sammanställa en enkät. Denna sammanställning ska göras med hjälp av programmet

Läs mer