• No results found

Affärssystem är integrerade standardsystem13 som stödjer flera dimensioner av ett företag. Systemen är alltså inte utvecklade av den

13 Melin (2002) definierar standardsystem som mer eller mindre färdig programvara som kan användas direkt i ett företags verksamhet med begränsat behov av anpassning. Dessa system skiljer sig alltså från egenutvecklade samt system som byggs från grunden och kännetecknas av en hög grad av anpassning till företaget (Melin, 2002).

34

användande organisationen utan inköpta från en affärssystemtillverkare. (Askenäs, 2000) De kännetecknas av dess generella fokus, breda tillämpningsområde och av att de ofta stödjer organisationsövergripande processer (Melin, 2002). Användningen av affärssystem är integrerad inom många olika industrier och funktionella områden, med målet att automatisera processer (Hitt, et al., 2002). Exempel på områden inom ett företag där affärssystem kan stödja processer är orderhantering, redovisning, inköp, fakturering och lagerstyrning (Melin, 2002; Sadagopan, 2004).

Affärssystem använder ofta en central databas för att lagra data, vilket gör det möjligt att hämta, uppdatera och lagra data på en plats. Detta till skillnad från alternativet att använda sig av flera separata system utan fungerande utbyte vilket historiskt bidragit till att många organisationer är väldigt fragmenterade. (Melin, 2002) I och med affärssystemens användande av databaser kommer detta utredas närmre i kommande kapitel.

3.6 Databaser

Användandet av databaser är det lättaste sättet att hantera stora mängder data på ett organiserat sätt och därför bygger majoriteten av alla affärssystem på en databas (Hoffer, et al., 2007). Trots att databaser kan vara komplexa och innehålla miljontals dataelement är det ingenting som användaren behöver reflektera över vid användandet utan det sköts automatiskt i bakgrunden (Elmasri & Shamkant , 2006).

En databas används som ett sätt att modellera en eller flera aspekter av verkligheten (Hoffer, et al., 2007). Databasen består av en logisk sammanställning av data som bygger upp modeller av verkligheten, exempelvis används databasen i lagersammanhang för att modellera flödet av artiklar och hålla koll på vilka artiklar som finns i vilket lager. Databasen designas, byggs och fylls med data utifrån sitt syfte vilket innebär att olika databaser är uppbyggda på olika sätt och kan innehålla helt olika typer av data. Exempelvis kommer en databas avsedd att modellera ett lager och en databas avsedd att modellera personuppgifter skilja sig mycket från varandra. (Elmasri & Shamkant , 2006) Användandet, funktionaliteten och effekten av databaser har ökat kraftigt de senaste decennierna och det finns ingenting som tyder på att denna trend kommer vända (Hoffer, et al., 2007).

Användaren kommunicerar med databassystemet via en applikation (till exempel ett affärssystem) som sedan hanterar kontakten med databasen. Databassystemet består av användarapplikationen, databasen samt mjukvara som sköter kommunikationen däremellan. Denna mjukvara kallas för DBMS-mjukvaran14 och består av två delar, en del som behandlar användarens queries15 och en del som kommunicerar med databasen. Även databasen är uppdelad i två delar, en del som består av en definition av databasens struktur samt en del

14

Database Management System.

35

som består av sparad data vilket utgör den faktiska databasen. (Peña, 2012) En visualisering av databassystemets uppbyggnad finns i Figur 9.

Figur 9 - Databassystemets uppbyggnad (Peña, 2012)

I fallet där användarapplikationen är ett affärssystem kommunicerar användaren med databassystemet via affärssystemets grafiska gränssnitt. Kommunikationen sker genom inbyggda funktioner, exempelvis knappar, menyer och textrutor. Applikationen omvandlar interaktionen med användaren till standardiserade queries. Med hjälp av denna omvandling sker all kommunikation med databasen på ett standardiserat sätt, vilket minimerar risken för felaktiga kommandon. Queries skickas till DBMS-mjukvaran där dessa tolkas. Efter att queries tolkats genomförs kommunikationen med databasen. Interaktionen med databasen består av förändringar av databasens struktur (definition), sökning efter data som finns i databasen eller manipulation av databasens innehåll. Användaren kan kommunicera med databasen på andra sätt än via affärssystemets grafiska interface till exempel genom att skicka SQL queries direkt till DBMS-mjukvaran. (Elmasri & Shamkant , 2006) En förklaring om detta finns i följande kapitel.

Structured Query Language

Structured Query Language, SQL, är ett standardiserat programmeringsspråk utformat specifikt för att hantera relationsdatabaser och möjliggöra att användaren kan kommunicera med och använda databasen efter behov. Språket bygger på logisk programmering där användaren anger exakt vad som ska utföras. Om användaren kommunicerar med databasen via en applikation, till exempel ett affärssystem, skriver applikationen SQL kommandona utifrån användarens interaktion med mus och tangentbord. Användaren kan

Mjukvara för att kommunicera med databasen

Sparad definition av databasen

Sparad databas innehållandes data

Mjukvara som behandlar förfrågningar (Queries) Applikation Användare DBMS Software Databas System

36

även välja att kommunicera direkt med DBMS mjukvaran genom att skriva och skicka SQL queries själv. (Hoffer, et al., 2007)

3.7 Kravanalys

Kravanalys är en systematisk metod för att arbeta med produktbehov. För att säkerställa att det som utvecklas är det kunden har efterfrågat är det viktigt att skapa en kravspecifikation (Pfleeger & Atlee, 2006). Målet med kravspecifikationen är att få kunden att beskriva vad den vill erhålla och få utvecklaren att förstå exakt vad kunden efterfrågar (The institute of Electrical and Electronics Engineers, 1998). Därför bör alla programutvecklingsprojekt inledas med en kravanalysfas där man utifrån kundens behov definierar vad som behöver byggas (Pfleeger & Atlee, 2006).

Det finns flera fördelar för kunder, leverantörer och andra individer med en väl utformad kravspecifikation. Bland annat utgör den grunden för ett avtal mellan kund och leverantör, minskar utvecklingstiden och antalet problem under utvecklingsfasen genom att tydligt specificera vad som efterfrågas, fungerar som en grund för framtida testning och validering samt fungerar som en bas för framtida vidareutveckling av produkten. (The institute of Electrical and Electronics Engineers, 1998)

Nackdelen med utformningen av kravspecifikationen är att kunden och leverantören ofta har olika förkunskaper vilket kan leda till att kravspecifikationen blir ofullständig och inte uppfyller sitt syfte (The institute of Electrical and Electronics Engineers, 1998). Enligt The Institute of Electrical and Electronics Engineers (1998) är fallet ofta att kunden inte är tillräckligt insatt i tekniken och utvecklingsprocessen samtidigt som leverantören inte förstår kundens problem och verksamhet tillräckligt bra.

Robertsson och Robertsson (2006) förklarar att kravanalysprocessen antingen kan genomföras iterativt eller inkrementellt. Inkrementella processer innebär att hela processen planeras i förväg och varje steg genomförs en gång medan en iterativ process innebär att processens steg återupprepas flera gånger (Robertson & Robertson, 2006).

Kravanalysfasen brukar delas upp i fyra delar, elicitering, analys, specifikation och validering. Under eliciteringsfasen insamlas slutanvändarens behov och önskemål följt av analysfasen där användarens behov analyseras och systemets önskade beteende modelleras. Specifikationsfasen innebär att systemets beteende dokumenteras i en kravspecifikation. Slutligen kontrolleras att den framtagna kravspecifikationen stämmer med användarens krav

under valideringsfasen. (Pfleeger & Atlee, 2006) Figur 10 - Kravanalysprocessen