Sammanfattning. Applikationen är utvecklad i Microsofts utvecklingsmiljö Visual Studio 2012.



Relevanta dokument
Teknikprogrammet, inriktning informations- och medieteknik

Slutrapport för JMDB.COM. Johan Wibjer

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.

Räkna med ASP.NET MVC 3

Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik)

Slutrapport YUNSIT.se Portfolio/blogg

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

Manual för Typo3 version 4.04

Kursplanering Utveckling av webbapplikationer

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

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

RSI Road Status Information A new method for detection of road conditions

Manual för version V2

Omtentamen i OOSU2, 21 augusti 2014

Övningar Dag 2 En första klass

Översikt. Installation av EasyPHP 1. Ladda ner från Jag använder Release Installera EasyPHP.

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

Introduktion till arv

1 Översikt. 1.1 Koncept 1 (19) Tomas Rook Dokument typ Rev. Manual

SCHOLA COMAI ELEV WEBBKALENDER / SCHEMA VERSION 1.1. [Skriv text]

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

19. Skriva ut statistik

En snabb titt på XML LEKTION 6

QlikView - Lathund för Flödesmodellen bas

Objektorienterad programmering

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet

Formulär används för att ta in anmälningar, göra undersökningar etc. Skapa en ny sidtyp och välj Formulär

App-klient för smartphones Power BI Arbetsflöde CRM Online Webb-klienten Dokumenthantering Molnet...

Objektsamlingar i Java

Vis it. jquery jquery används lite överallt i appen på olika sätt. Det främsta användningsområdet är vid selektering och manipulering av HTML element.

JAVASCRIPT. Beteende

Home Storage Manager

Webservice & ERP-Integration Rapport

CVI ANALYZER V X

1 Skapa Tabell Skapa Relationer Redigera Relationer Redigera Fält i Tabell Lägga till Poster i Tabell...

Installationsanvisningar

INSTALLATION AV VITEC MÄKLARSYSTEM. Studentversion

Lära känna skrivbordet

Utveckling av webbapplikationer med.net, DVA213 (1 av 5)

Bb October 2014 Studentmanual

Objektorienterad Programkonstruktion, DD1346 FACIT. Tentamen , kl

Microsoft Windows 10 Grunder

Användarmanual Körjournal för iphone

Projektarbete 2: Interaktiv prototyp

ASP.NET MVC. Copyright Mahmud Al Hakim Innehåll

Introduk+on +ll programmering i JavaScript

MVC med Javascript och Ajax. Filip Ekberg

Kom igång med Telia Touchpoint Plus App. Din guide till installation och användning av de viktigaste funktionerna. TSP-TSP 4222_1-1512

Namn: (Ifylles av student) Personnummer: Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

VIDEODAGBOKEN. Individuellt Mjukvaruutvecklingsprojekt. En dagbok i videoform online. Robert Forsgren (rf222ce) UD

Tips och tricks 1 Cadcorp SIS

Microsoft Windows 8 Grunder

Inledande programmering med C# (1DV402) Introduktion till C#

Macromedia. Flash 8 Grundkurs.

Manual C3 BMS för Android-telefoner

ASP.NET Thomas Mejtoft

Artiklar via UB:s sö ktja nst

WEBBAPPLIKATION FÖR ADMINISTRERING AV DOKUMENT

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

GIT L0002B INTRODUKTION TILL PROGRAMMERING OCH C# Information inför kursstart

Nordic Business Monitor

Besiktning Att göra lista Sortering Periodval Besiktningsbokning Detaljer Hyresgästinfo Lägenhetsstatus...

IdrottOnline-appen Du kan installera appen från Google Play store för Android och Appstore för iphone. Sök på IdrottOnline så bör den komma fram.

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

Quick start manual. Smart-House Rev 2.0

Innehållsförteckning Sida 3 Om IT-Högskolan Sida 4-5.NET-utvecklare Sida 6-7 Applikationsutvecklare till iphone och Android Sida 8-9 Mjukvarutestare

Lathund. Administratörshantering. Kapitalflytt ITPK

MyScore Mobil Manual 1 Senaste uppdatering: 2015/11/06 Fairdeal Group Sverige AB

Sida 1 av 12. WSB Biodling. Manual V

En handledning för studerande på Högskolan Kristianstad

Design och underhåll av databaser

Formulär Sida 2 av 12

Administrera serier. Syfte. Innehåll. Guide Eventor

Användarhandledning Rapportgenerator Version: 1.1

Web Client. Produktinformation

Kompletterande instruktioner för installation och konfiguration av HMS-server för koppling mot KONTAKT

ANVISNINGAR. Sjundeå e-postsystem. Del 1: inställningar. Version 1.0

Lättlästa instruktioner för ipad ios8

VAD GÖR DU / VEM ÄR DU?

HexaFlip. Kravspecifikation

Mikromarc 3 Fjärrlån. Version 6.30

IT för personligt arbete F6

Asp.net mvc intro PER KVARNBRINK,

Programutvecklingsprojekt Projektgrupp Elvin. Detailed Design Document

Grundläggande programmering med C# 7,5 högskolepoäng

PROTOKOLL i HANDDATOR för POCKET PC

En guide till FirstClass

Övningar i JavaScript del 2

Kom igång med Telia Touchpoint App. Din guide till installation och användning av de viktigaste funktionerna. TSP-3963_2-1505

VERSION 5.1/5.2 SNABBINTRODUKTION TILL WEBACCESS JAVA

1284_omslag.qxd :13 Sida 1 ECDL START OFFICE 2003 Allmän IT Windows XP Word 2003 Outlook 2003

<script src= "

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

Editering, Kompilering och Exekvering av Javaprogram

Marie Andersson, IKT-centrum E-post: (Bb Learn 9.1.8) Wikis i Blackboard

Widgets i DynaMaster 5 Golf

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

12 juni 2009 Projektplan Webb-baserat bokningssystem för flyg Kurs: Applikationsutveckling för internet, TFE

Aktiviteter markeras som borttagna i databasen istället för att raderas

ISP-verktyget i WebOodi

Transkript:

Sammanfattning Inom ramen för kursen Självständigt arbete i Teknisk Fysik (15 hp) har en databaskopplad webbapplikation utvecklats. Arbetet var utformad som ett konsultuppdrag med pappersbruket Gruvön som kund och it-företaget Sogeti som utförare. Denna applikation är gjord för personalen på underhållsavdelningen på pappersbruket. Applikationen möjliggör tillgång till information om olika anläggningsobjekt via till exempel smartphones och surfplattor. Anläggningsobjekt kan vara allt från små ventiler till enorma pannor. Den information som är tillgänglig via applikationen är arbetsordrar och deras status, fel och kostnader. Via applikationen kan man införa nya arbetsordrar och ändra status på dessa. Kostnader för och antal timmar spenderade på ett underhållsarbete kan justeras via applikationen. Applikationen är utvecklad i Microsofts utvecklingsmiljö Visual Studio 2012. 2

Innehållsförteckning Sammanfattning...2 1 Introduktion... 4 1.1 Bakgrund...4 1.2 Syfte...5 2 Teori...6 2.1.NET Framework... 6 2.2 Model-View-Controller... 7 2.3 Utvecklingsmiljö...8 2.4 Databaser... 9 2.4.1 Relationsdatabasen...9 2.5 Tilläggsbibliotek... 9 3 Metod...10 3.1 Inläsning...10 3.2 MVC i praktiken... 10 3.3 Databasen...12 4 Resultat... 13 5 Förbättringar... 17 6 Diskussion... 18 7 Källförteckning...19 7.1 Litteratur... 19 7.2 Internet...19

1 Introduktion Det är omöjligt att föreställa sig dagens samhälle utan smartphones och de möjligheter som dessa erbjuder. Vi har helt enkelt blivit beroende av att ständigt vara uppkopplade till Internet och vara nåbara. År 2007 lanserade datorföretaget Apple Inc den stilrena smartphonen iphone med olika datorfunktioner. 1 iphones framgång bidrog till intresse för andra tillverkares modeller. Framförallt var det mångfalden av olika applikationer, datorprogram för väldefinierade ändamål, som bidrog till framgången och lyfte upp hela telefonmarknaden till nya höjder. Applikationerna ger tillgången till en uppsjö av information och social interaktion. Dessa är oftast bra på att underlätta vardagen användaren kan snabbt och smidigt lägga in ett möte i sin kalender och bli påmind om det i tid eller göra en transaktion via telefonbanken. Den växande användningen av applikationer har även börjat genomsyra näringslivet och industriell verksamhet. För att underlätta och effektivisera tillgången till relevant data för anställda och kunder har man börjat införa applikationsanvändningen i daglig verksamhet inom många företag. Till exempel har Uppsala universitet en applikation för studenter och anställda. Denna ger tillgång till schemat, man kan söka efter en anställd, följa universitets nyhetsflöde och hitta diverse objekt på kartan. Det finns många exempel på stora företag som SJ, SAS och Volvo som har egna applikationer. Och det blir fler och fler aktörer som inser vikten av att integrera applikationer i sin dagliga verksamhet. 1.1 Bakgrund Det här projektet vänder sig till pappersbruket Gruvön i Grums, nära Karlstad. Med över 800 anställda och verksamhet dygnet runt flödar det mycket verksamhetsinformation i datasystemen. Beroende på vad det är för typ av information och vilken avdelning den tillhör behöver man ha snabb och lätt tillgång till informationen oavsett var man än befinner sig på bruket. I synnerhet kommer fokus att ligga på Gruvöns underhållsavdelning. Denna avdelning ansvarar för bland annat förebyggande åtgärder och reparationsarbeten av all utrustning i hela fabriken. Gruvöns anläggningar är utspridda över stort område och i många fall är det omöjligt för driftingenjörerna att kontrollera specifika detaljer om ett visst fel eller en arbetsorder. Man har insett att detta problem har en tämligen enkel lösning. För att förenkla tillgången till väsentlig information behöver driftingenjörerna ha tillgång till en användarvänlig applikation på sina telefoner och plattor. Allt arbete som sker från underhållssidan knyts till ett anläggningsobjekt med ett id-nummer, till exempel 423I301-100. Den person som sköter underhållsarbetet behöver kunna ta reda på vilka 1 http://www.ne.se/lang/iphone Hämtat 2013-05-15 kl.09:12 4

arbetsordrar, kostnader och fel som hör ihop med det aktuella objektet. Projektet är utformat som ett konsultuppdrag på it-företaget Sogeti med Gruvön som kund. Sogeti tillhandahöll handledare, utrustning och programvara. 1.2 Syfte Syftet med projektet är att ta fram en applikation som skall stödja underhållsarbete på Gruvön Pappersbruk. I tabell 1 framgår de viktigaste objekten i applikationen samt tillhörande krav. Tabell 1. Information som skall visualiseras i applikationen. Objekt Krav Anläggningsobjekt Applikationen skall arbeta med ett objekt åt gången. Sökningen av objekt sker med hjälp av id-numret. Kostnader Timmar Arbetsorder Kostnader för valt objekt skall kunna visas som stapeldiagram för de senaste 12 månaderna eller all historik. Timmar för valt objekt skall kunna visas i tabell eller som stapeldiagram för de senaste 12 månaderna eller all historik. Följande skall kunna visualiseras: - antal aktiva arbetsordrar - information om ordern Det skall finnas möjlighet att ändra arbetsorderstatus. Fel Arbetsordrar skall presenteras kronologiskt. Det skall framgå om det finns fel för ett objekt och man skall kunna lägga till nya fel och markera åtgärdade fel. 5

Kunden har valt att utforma uppdraget som en webbapplikation. Detta gör att man kan köra applikationen på alla operativsystem. Det krävs endast en webbläsare. Webbsidan skall ha utseendet och känslan av en native applikation. 2 Teori 2.1.NET Framework Microsofts ramverk för utvecklingen av webbsidor ASP.NET lanserades år 2002 2. ASP.NET är en del av ett större ramverk kallad för. NET Framework. Dessa ramverk har förbättrats och utvecklats sedan år 2002 men den grundläggande tanken är densamma att hjälpa programutvecklare att skapa dynamiska webbsidor. I traditionell programmering översätts högnivå-koden till binärkod på ett kompilatorberoende sätt. Det är till exempel skillnad i hur man anropar en funktion med ordning och typ av parametrar m.m. Om man behöver använda flera programmeringsspråk i samma projekt kan detta leda till problem. Syftet med.net Framework är att man via något som kallas Common Intermidiate Language (CIL) kan kombinera flera språk. CIL skapar en gemensam bas för sammarbete mellan ett flertal språk. Denna frihet möjliggör utvecklingen av mer avancerade applikationer och underlättar själva processen av skapandet. I figur 1 illustreras processen av kompileringen med CIL. Figur 2.1.1. Stegvis kompilering av koden. 3 2 Galloway, Professional ASP.NET MVC 3, s.2 3 http://en.wikipedia.org/wiki/file:overview_of_the_common_language_infrastructure.svg Hämtat 2013-05-20 kl.12:45 6

Arkitekturen i.net och var i hierarkin ASP.NET placeras beskrivs med figur 2.1.2. Figur 2.1.2. Arkitektur av.net Framework. 4 Högst upp i bilden (lägst i hierarkin) presenteras några av de programmeringsspråk som används i.net. Koden passerar vidare till Common Language Specification (CLS). CLS är en uppsättning av definitioner och regler för grundläggande egenskaper i ett programmeringsspråk 5.På den nivån kontrolleras om koden uppfyller kraven för översättning till CIL. Den godkända koden passerar sedan till CIL. Nästa nivå består av ramverket ASP.NET som fungerar som en bro mellan koden och webbservern. Ännu högre upp i hierarkin ligger klassbiblioteket Base Class Library. Detta bibliotek tillåter utvecklaren att använda redan existerande datatyper som till exempel Int32, olika klasser till exempel sådana som sköter kommunikationen med olika databaser 6. Slutligen kommer Common Language Runtime där koden exekveras. Och högst upp i hierarkin finns själva operativsystemet Windows. 2.2 Model-View-Controller Model-View-Controller (MVC) är ett designmönster som består av tre delar: Model, View och Controller. Model representeras av en uppsättning klasser. Klasserna är modeller för objekt som utvecklaren vill inkludera i sitt projekt. Modellerna består av de variabler som beskriver objekten. Model 4 Templeman, Julian, Visual Studio.Net Black Book, s.4 5 http://msdn.microsoft.com/en-us/library/12a7a7h3(v=vs.71).aspx Hämtat 2013-05-18 kl.13:33 6 Templeman, Julian, Visual Studio.Net Black Book, s.7 7

hanterar förfrågningar om sitt tillstånd och svarar på instruktioner från Controller. Controller är en uppsättning av klasser som kommunicerar med användaren och styr över programflödet. Controller tar hand om data som kommer in i applikationen och skickar instruktioner till Model om att byta tillstånd. View definierar hur användargränssnittet skall se ut. Views huvudsakliga uppgift är att rendera modeller från Model. I figur 2.2.1 illustreras rollerna av olika MVC-delar. Figur 2.2.1. Interaktionen mellan användaren och beståndsdelarna i Model-View-Controller. Det första användaren ser är en vy. När användaren interagerar med applikationen kommer den i kontakt med en Controller. Controllern delegerar i sin tur arbetet: den hämtar informationen om objektet från Model och anropar View. 2.3 Utvecklingsmiljö Applikationen som beskrivs i detta arbete är utvecklad i Microsoft Visual Studio 2012. Visual Studio innehåller kompilatorer för flera programmeringsspråk: C#, Visual Basic, F#, JavaScript och C++. Tack vare.net Framework kan dessa språk fritt kombineras i samma programmeringsprojekt. 8

I denna utvecklingsmiljö finns det olika verktyg som underlättar utvecklarens vardag: direkt syntaxkontroll, verktyg för att koppla upp till databaser och möjligheten att lägga upp projekt i Molnet, Windows Azure. 2.4 Databaser En databas är en samling av data som har ordnats på ett visst sätt. Databaser är strukturerade på ett sådant sätt att utvinningen och hanteringen av informationen ska ske effektivt. Utvinning och lagring av information sker med hjälp av ett så kallat databashanteringssystem (DBHS). 7 I moderna utvecklingsmiljöer finns kopplingar till DBHS. Databaser kan vara strukturerade på olika sätt. Det finns hierarkiska, nätverksorienterade, objektorienterade och relations-databaser. Den vanligast förekommande typen är relationsdatabasen. Den bygger på relationsteori och representerar data i form av tabeller. 8 För att kunna manipulera information används ett datahanteringsspråk till exempel SQL. SQL är ett standard datahanteringsspråk för relationsdatabaser som även används i detta projekt. 2.4.1 Relationsdatabasen Varje objekt i en tabell i relationsdatabasen har ett unikt id. Ett sådant id kallas för tabellens primärnyckel (eng. primary key). För det mesta består primärnyckeln endast av en kolumn men ibland kan flera kolumner kombineras. 9 En databas kan bestå av flera tabeller. För att dessa skall kunna referera till varandra används så kallad relationsnyckel (eng. foreign key). 10 Relationsnyckeln i en tabell är primärnyckel för en annan tabell. 2.5 Tilläggsbibliotek Även om.net Framework innehåller ett rikt klass- och metodbibliotek saknas det ett sådant för grafiska detaljer. För att kompensera installerades två tilläggsbibliotek för att skapa knappar, sökrutor och ikoner. Det ena biblioteket kallas för Twitter Bootstrap 11. Det andra biblioteket är ett JavaScript bibliotek, jquery. 12 Den används för att förenkla syntaxen i HTML-dokumentationen 7 http://www.ne.se/lang/databas Hämtat 2013-05-19 kl.15:20. 8 http://www.ne.se/lang/databas Hämtat 2013-05-20 kl.15:25. 9 http://databases.about.com/cs/administration/g/primarykey.htm Hämtat 2013-05-19 kl.15:25 10 http://databases.about.com/od/sqlserver/a/foreign-keys-in-microsoft-sql-server.htm Hämtat 2013-05-19 kl.16:18 11 http://twitter.github.io/bootstrap/index.html 12 http://jquery.com/ 9

som finns i Views. Twitter Bootstrap används också för att skapa användargränssnitt som automatiskt anpassar sig till olika skärmstorlekar. Den funktionen behövs eftersom webbsidan kommer att användas både på plattor och mobiltelefoner. 3 Metod 3.1 Inläsning Mina förkunskaper i programmeringen bestod av en programmeringskurs i Java och två kurser i beräkningsteknik. Eftersom applikationen är skriven i C#, CSS, HTML, JavaScript krävdes det inläsning om dessa programmeringsspråk. Olika frågor om syntaxen och metodklasser uppstod frekvent under arbetets gång. Beroende på svårighetsgraden av frågorna kunde svaren hittas på internet eller hos handledaren. En grundläggande men viktig del av projektet var att förstå MVC-modellen och dess användning i ASP.NET MVC. Tack vare Tutorials var det enkelt att komma igång med användningen av Visual Studio. 3.2 MVC i praktiken För utvecklingen av applikationen användes en speciell variant av ASP.NET kallad ASP.NET MVC. MVC designmönstret används här explicit i form av mappar med namn Models, Views, Controllers. Programmeringen av applikationen började i Models. Efter att de första modellerna hade skapats gick arbetet vidare till mappen Controllers och sedan till Views. Models innehåller modeller av alla objekt som är inblandade i projektet: anläggningsobjekt, arbetsordrar, kostnader, arbetsorderstatus mm. Här deklarerades variablerna och deras datatyper. I Models finns till exempel klassen ObjectModel som representerar ett anläggningsobjekt. Ett anläggningsobjekt har ett namn, ett id-nummer, en typ och en beskrivning, public class ObjectModel { public string Id { get; set; } public string Name { get; set; } public string Description { get; set; } public string Type { get; set; } } 10

Figur 3.2.1 beskriver grafiskt denna kod. Figur 3.2.1. Visualisering av klassen ObjectModel. Id, Name, Type och Description är attribut (eng. property). Mappen Controllers innehåller metodklasser HomeController, KostnaderController, ArbetsorderController och ArbetsorderCodingController, se figur 3.2.2. Figur 3.2.2. Innehållet av Controllers med HomeController expanderad. 11

HomeController är den första Controller som man kommer i kontakt med. HomeController innehåller två metoder Search och Search Parent. Search finns i två varianter: Search() och Search(model). Den första använder ingen koppling till databasen utan returnerar endast ett sökformulär. Den andra använder databasen och returnerar ett anläggningsobjekt i HTML-kod. Vid skapandet av View-filer var principen att varje ny sida skulle vara en ny vy. Startsidan presenteras till exempel av Sök-vyn. 3.3 Databasen I detta projekt finns all information om anläggningsobjekt och till dem kopplade kostnader, arbetsorder och timmar i en databas. Databasen är en relationsdatabas som består av tre tabeller: Equipment, WorkOrder och WorkOrderCoding. Det var därför ändamålsenligt att skapa tre klasser i Models motsvarar dessa tabeller. Klasserna har samma namn som tabellerna. Attribut i klasserna motsvarar kolumnerna i tabellerna. Genom att skriva [Table("EQUIPMENT")] public class Equipment deklarerades kopplingen mellan tabellen EQUIPMENT i databasen och klassen Equipment i Models. På följande sätt deklarerades primärnyckel i klassen Equipment: [KeyAttribute] [Column("MCH_CODE")] public string MCH_CODE{get; set;}, där KeyAttribute signalerar att variabel MCH_CODE är primärnyckel och att innehållet i kolumn MCH_CODE motsvarar variabeln MCH_CODE. Syntaxen för deklarationen av primär- och relationsnyckel är väldigt lik men inte identisk. Byter man ut KeyAttribute mot ForeignKey och lägger till en rad som definierar vilken klass relationsnyckeln är primärnyckel till är deklarationen fullständig. Nedan finns det ett exempel på hur en relationsnyckel definierades i klassen WorkOrderCoding: [Column("WO_NO")] [ForeignKey("WorkOrder")] public int WO_NO { get; set; } public virtual WorkOrder WorkOrder { get; set; }, där variabeln WO_NO motsvarar värdena i kolumnen WO_NO och är relationsnyckeln till klassen WorkOrder. Den tidigare nämnda koden räckte inte till för att skapa uppkopplingen till databasen. Därför innehåller applikationen ytterligare en modell, G2U. Modellen består av tre attribut. Attributen är av typ Equipment, WorkOrder och WorkOrderCoding. 12

Alltså, ett attribut representerar en tabell i databasen. Metoden DbContext kontaktar databasen och metoden DbSet hämtar, raderar, uppdaterar och lägger till innehållet i databasen. Figur 3.3.1. Modellen G2U och modellen Equipment. Pilen från Equipments visar att den är av typ Equipment. Man kan även se vilka attribut Equipments innehåller: MCH_CODE, MCH_TYPE etc. 4 Resultat Applikationen finns upplagd på http://sogeti-ksd.cloudapp.net/g2u. Utsökningen av ett anläggningsobjekt sker genom att skriva in ett id-nummer i rutan Anläggningsobjekt, se figur 4.1. 13

Efter att ha fyllt i id-numret 13 fylls alla rutor med aktuell information. Resultatet av en sökning syns i figur 4.2. Figur 4.1. Söksidan Figur 4.2. Sökningen av objekt med id 414P003-100 Klickar man på arbetsordrar får man upp en lista på oavslutade arbetsordrar. Vill man få specifika detaljer om en av uppradade arbetsordrar klickar man på arbetsorderns nummer till vänster, figur 4.3. Den status som syns i figur 4.4 är det aktuella men man kan ändra det genom att välja en ny status och trycka på knappen ändra. I figur 4.5 visualiseras denna funktion. 13 Till exempel kan följande id-nummer användas: 151 (Arbetsordrar) och 414P003-100 (Kostnader). 14

Figur 4.3. Arbetsorderlista Figur 4.4. Information om arbetsorder Figur 4.5. Ändring av arbetsorderstatus. I figur 4.3 finns en länk Skapa ny order. Om man trycker på den kommer man till en vy som presenteras i figur 4.6. Här kan man skapa en ny order som automatiskt får ett id-nummer och läggs in i databasen. Arbetsordern kopplas till det aktuella anläggningsobjektet, i detta fall är det ett anläggningsobjekt med id-numret 151. 15

Figur 4.6. Skapa ny order. Om man vill lägga till nya kostnader eller antal arbetstimmar ska man trycka på länken Lägga till kostnader/timmar i figur 4.4. Då kommer man till vyn ArbetsorderCodingDetails och kan fylla i både timmar och kostnader eller bara en av dem. Genom att trycka på knappen Lägg till läggs till ändringen och användaren skickas tillbaka till listan med arbetsordrar. I figur 4.7. kan man se hur den ovanbeskrivna sidan ser ut. Figur 4.7. Ändring av timmar och kostnader för ett arbetsorder. I detta fall är det arbetsordern 660036. 16

Om användaren trycker på knappen kostnader i figur 4.1 kommer den att skickas till en vy som renderar ett diagram över kostnader under period mellan 2000-01-01 och 2003-01-01. Anledningen till varför just denna period visas är att de flesta objekt i databasen har kostnader just under denna period. Vill man kan man ändra datumen. I figur 4.8 visas kostnadsdiagrammet för objektet 414P003-100. Figur 4.8. Kostnader kopplade till anläggningsobjekt 414P003-100 under perioden 2000-01-01 till och med 2003-01-01. 5 Förbättringar Ett flertal grafiska förbättringar är tänkbara. En sådan förbättring är att ta bort sök-rutor för rubrikerna Tillhör, Namn och Typ, se figur 4.3. Sökningen sker bara i första rutan varför det är missledande att ha sökrutor där det inte finns några sökfunktioner. En annan förändring är möjligheten att filtrera arbetsordrarna i figur 4.3. Nu kan man endast se oavslutade och avbrutna arbetsordrar. Avslutade ordrar filtreras bort automatiskt i vyn. Det kan vara bättre att låta användaren bestämma själv den vill se. En möjlig lösning är att skapa kryssrutor och på det sättet markera vad som är relevant. Ett annat tillägg är tidsramar för att kunna välja endast den intressanta perioden. 17

Ytterligare en förbättring är att ersätta länkar till första sidan med sökrutor så att användaren direkt kan söka på ett intressant objekt. Vissa grafiska element i webbapplikationen disponeras bättre på en smartphone än på en surfplatta. Till exempel passar skärmensstorlek på en smartphone väl för startsidan men på en platta används inte hela utrymmet. Därför vore det lämpligt att vidareutveckla de anpassbara funktionerna i vyerna. 6 Diskussion Applikationen implementerar de funktioner som kunden hade valt. I sin nuvarande utformning är den enkel och täcker de grundläggande behoven. Om den befintliga informationen i applikationen är otillräcklig kan denna utökas genom att lägga till mer information från databasen. För att användningen av applikationen på Gruvön skall vara möjlig måste kopplingen till databasen göras om till en annan databas på företaget. Detta kan innebära små förändringar i koden som till exempel ändringar i namn på tabeller och kolumner. För att de grafiska elementen skall visas korrekt behöver tilläggsbibliotek installeras. För att utvärdera applikationens användarvänlighet bör den testas på målgruppen (underhållsarbetarna på Gruvön). Detta har dock inte ingått i projektet. 18

7 Källförteckning 7.1 Litteratur 1. Templeman, Julian, 2002, Visual Studio.Net Black Book. Phoenix, AZ, USA. Paraglyph Press. Sidor 816. 2. Galloway, Jon Haack, Phil Wilson, Brad, 2011, Professional ASP. NET MVC 3. Hoboken, NJ, USA.Wrox. Sidor 433. 7.2 Internet 1. Uppslagsord: iphone. Hämtat från Nationalencyklopedin: http://www.ne.se/lang/iphone Hämtat den 15 maj 2013 kl.09:12. 2. Bild: Overview of the Common Language Infrastructure. Hämtat från Wikipedia: http://en.wikipedia.org/wiki/file:overview_of_the_common_language_infrastructure.svg Hämtat den 20 maj 2013 kl.12:45. 3. Artikel: What is the Common Language Specification? http://msdn.microsoft.com/en-us/library/12a7a7h3(v=vs.71).aspx Hämtat den 18 maj 2013 kl.13:33. 4. Nilsson, Kenneth, Databas. Hämtat från Nationalencyklopedin: http://www.ne.se/lang/databas Hämtat vid flera tillfällen: den 19 och 20 maj 2013. 5. Chaple, Mike, About.com Guide, Primary Key Definiton. Hämtat från http://databases.about.com/cs/administration/g/primarykey.htm Hämtat den 19 maj 2013 kl.15:25. 6. Chaple, Mike, About.com Guide, Foreign Keys in Microsoft SQL Server. Hämtat från: http://databases.about.com/od/sqlserver/a/foreign-keys-in-microsoft-sql- Server.htm Hämtat den 19 maj 2013 kl.16:18 7. Twitter Bootstrap kan hämtas från http://twitter.github.io/bootstrap/index.html 8. jquery kan hämtas från http://jquery.com/ 19