Inventariesystem för IT-centralens komponentlager Teknisk dokumentation 27.02.2004 INNEHÅLL Version Historia ........................................................................................................... 1 1. INLEDNING ............................................................................................................ 2 1.1 Målformulering .................................................................................................. 2 1.2 Produkt och omgivning ..................................................................................... 2 1.3 Definitionerna, anteckningssätten och förkortningarna ................................ 2 1.4 Hänvisningarna .................................................................................................. 2 1.5 Översikt över dokumentet ................................................................................. 3 2. ALLMÄN SYSTEM BESKRIVNING ................................................................... 3 2.1 Beskrivning av systemetomgivningen .............................................................. 3 2.2 Systemets sammankoppling till den nuvarande omgivningen ....................... 3 2.3 Hårdvaro omgivning .......................................................................................... 3 2.4 Mjukvara omgivning ......................................................................................... 4 2.5 Systemets gränsvilkor ........................................................................................ 4 2.6 Överänskommelser och standarder ................................................................. 4 3. ARKITEKTURBESKRIVNING ............................................................................ 4 3.1 Planeringsprinciperna ....................................................................................... 4 3.2 Databas-arkitekturen ........................................................................................ 5 3.3 Programarkitekturen, modulerna och processerna ....................................... 6 3.4 Fel- och undantagshantering ............................................................................ 7 4. MODUL/KLASS/PROCESS-BESKRIVNINGARNA ......................................... 8 4.1 Modul connect .................................................................................................... 8 4.1.1 Allmänbeskrivning ........................................................................................ 8 4.1.2 Gränssnittet ................................................................................................... 8 4.1.3 Gränssnittsfunktionerna ................................................................................ 8 4.1.3.1 openDatabase() ...................................................................................... 8 4.1.3.2 closeDatabase() ...................................................................................... 8 4.1.4 Förverkligande av modulen .......................................................................... 9 4.2 Modul delete ....................................................................................................... 9 4.2.1 Allmänbeskrivning ........................................................................................ 9 4.2.2 Gränssnittet ................................................................................................... 9 4.2.3 Gränssnittsfunktionerna ................................................................................ 9 4.2.3.1 deleteRow() ............................................................................................ 9 4.2.4 Förverkligande av modulen ........................................................................ 10 4.3 Modul edit ......................................................................................................... 10 4.3.1 Allmänbeskrivning ...................................................................................... 10 4.3.2 Gränssnittet ................................................................................................. 10 4.3.3 Gränssnittsfunktionerna .............................................................................. 10 4.3.3.1 editAnvandare() ................................................................................... 10 4.3.3.2 editButik() ............................................................................................ 11 4.3.3.3 editPlats() ............................................................................................. 11 4.3.3.4 editVarde() ........................................................................................... 11 4.3.4 Förverkligande av modulen ........................................................................ 11 4.4 Modul error ...................................................................................................... 11 4.4.1 Allmänbeskrivning ...................................................................................... 11 4.4.2 Gränssnittet ................................................................................................. 12 4.4.3 Gränssnittsfunktionerna .............................................................................. 12 4.4.3.1 errorMessage() ..................................................................................... 12 Innehållsförteckning Inventariesystem för IT-centralens komponentlager Teknisk dokumentation 27.02.2004 4.4.3.2 errorMessageStr() ................................................................................ 12 4.4.4 Förverkligande av modulen ........................................................................ 12 4.5 Modul form ....................................................................................................... 12 4.5.1 Allmänbeskrivning ...................................................................................... 12 4.5.2 Gränssnittet ................................................................................................. 13 4.5.3 Gränssnittsfunktionerna .............................................................................. 13 4.5.3.1 createDropDown() ............................................................................... 13 4.5.3.2 createDropDownWithValues() ............................................................ 13 4.5.3.3 createField() ......................................................................................... 13 4.5.4 Förverkligande av modulen ........................................................................ 14 4.6 Modul insert ..................................................................................................... 14 4.6.1 Allmänbeskrivning ...................................................................................... 14 4.6.2 Gränssnittet ................................................................................................. 14 4.6.3 Gränssnittsfunktionerna .............................................................................. 14 4.6.3.1 fetchID() ............................................................................................... 14 4.6.3.2 fetchLastID() ........................................................................................ 14 4.6.3.3 createID() ............................................................................................. 15 4.6.3.4 insertMarke()........................................................................................ 15 4.6.3.5 insertModell() ...................................................................................... 15 4.6.3.6 insertTyp()............................................................................................ 15 4.6.3.7 insertRum() .......................................................................................... 15 4.6.3.8 insertDator() ......................................................................................... 16 4.6.3.9 insertAnvändare() ................................................................................ 16 4.6.3.10 insertButik() ....................................................................................... 16 4.6.3.11 insertPlats() ........................................................................................ 16 4.6.3.12 insertInkop() ....................................................................................... 16 4.6.3.13 insertKomponent() ............................................................................. 17 4.6.4 Förverkligande av modulen ........................................................................ 17 4.7 Modul select ...................................................................................................... 17 4.7.1 Allmänbeskrivning ...................................................................................... 17 4.7.2 Gränssnittet ................................................................................................. 17 4.7.3 Gränssnittsfunktionerna .............................................................................. 18 4.7.3.1 showTableHead() ................................................................................. 18 4.7.3.2 showSelect() ......................................................................................... 18 4.7.3.3 showSelectStatement() ......................................................................... 18 4.7.3.4 showSelectStatementID() .................................................................... 18 4.7.3.5 getinfo()................................................................................................ 18 4.7.4 Förverkligande av modulen ........................................................................ 19 5. SPECIELLA TEKNISKA LÖSNINGAR............................................................ 19 6. FELHANTERING ................................................................................................. 19 7. SLOPADE LÖSNINGSMODELLER .................................................................. 19 8. TANKAR OM VIDAREUTVECKLING ............................................................ 19 Innehållsförteckning Inventariesystem för IT-centralens komponentlager Teknisk dokumentation 27.02.2004 VERSION HISTORIA Version Datum Ansvarig Förklaring 0.1 0.2 1.0 06.02.04 20.02.04 27.02.04 Hela gruppen Projektledaren Hela gruppen Stommen skapad Tillsättning av information Rapporten färdig Sid 1 / 19 Inventariesystem för IT-centralens komponentlager Teknisk dokumentation 27.02.2004 1. INLEDNING (johdanto) Detta kapitel ger en allmän bild över planeringen. 1.1 Målformulering (tarkoitus ja kattavuus) Inventariesystem för IT-centralens komponentlager görs för Arcadas IT-central på beställning av Fredrik Finnberg, IT-centralens chef. Idén med systemet är att få ordning på IT-centralens dator komponenter. Med hjälp av systemet skall det vara möjligt att följa med komponenternas gång innom huset samt på basen av denna information räkna ut behov av nya komponenter. I detta dokument tas upp planering av hela systemet. Databas planeringen finns som bilaga eftersom den skapats i ett skillt dokument. 1.2 Produkt och omgivning (tuote ja ympäristö) Slutprodukten heter ”Inventariesystem för IT-centralens komponentlager” och dess mål är som sagt att få ordning på IT-centralens komponentlager. Systemet själv fungerar på en linux/windows dator med en MySQL databas samt med en webserver installerad. För att att komma åt systemet krävs endast att man använder sig av en standard enlig webbläddrare. 1.3 Definitionerna, anteckningssätten och förkortningarna (määritelmät, merkintätavat ja lyhenteet) I detta avsnitt tas upp de definitoner samt förkortningar vilka används i detta dokument. Dynamiskt system – ändrar på output enligt användarnas kommandon. Statisk system – ger endast färdig definierad output. MySQL – SQL databas, används för lagring av komponenternas information. PHP – skript språk för att skapa ett dynamiskt system. 1.4 Hänvisningarna (viitteet) I detta avsnitt tas upp de dokument samt källor vi användt oss för att skapa detta dokument. Sid 2 / 19 Inventariesystem för IT-centralens komponentlager Teknisk dokumentation 27.02.2004 Programmeringsprojekt, Arcada – Nylands svenska yrkeshögskola, Hanne Karlsson http://www.sit.fi/~karlssoh/programmeringsprojekt/ Laatujärjestelmä, Helsinki University of Technology http://www.cs.tut.fi/cgi-bin/laatu/sivuhaku.pl?nk_no=2&nk_id=199 1.5 Översikt över dokumentet (yleiskatsaus dokumenttiin) Detta dokument är indelat i åtta kapitel. I dessa åtta kapitel tas det upp de tekniska lösningarna som gjorts för att förverkliga ”Inventariesystem för IT-centralens komponentlager. I kapitel två tas den allmänna system beskrivningen upp, vilken beskriver det nya systemet samt den redan existerande omgivningen. I kapitel tre behandlas arkitekturbeskrivningen och här tas upp de använda arkitektur lösningarna. I kapitel 4 tas sedan de olika modul/klass/processerna upp i detalj. De övriga kapitlen tar upp felhanteringen, de speciella lösningarna samt de slopade lösningarna. 2. ALLMÄN SYSTEM BESKRIVNING (järjestelmän yleiskuvaus) I detta kapitel behandlas det nya systemets allmänna beskrivning samt inledningen till kundens nuvarande omgivning . 2.1 Beskrivning av systemetomgivningen (sovellusalueen kuvaus) Det nya system kommer att användas av IT-centralen vilken har sin nuvarande systemomgivning uppbyggd på flere web-baserade lösningar. Detta innebär att ”Inventariesystem för IT-centralens komponentlager” kommer att vara lätt att implementera i den existerande omgivningen. 2.2 Systemets sammankoppling till den nuvarande omgivningen (järjestelmän liittyminen ympäristöönsä) Det nya systemet, ”Inventariesystem för IT-centralens komponentlager” använder sig inte av de existerande systemen. Detta innebär att det nya systemet kan tas i bruk i ITcentralen på ett enkelt sätt. 2.3 Hårdvaro omgivning (laitteistoympäristö) Sid 3 / 19 Inventariesystem för IT-centralens komponentlager Teknisk dokumentation 27.02.2004 ”Inventariesystem för IT-centralens komponentlager” kräver endast att själva systemet körs på en linux/windows dator vilken klarar av de kraven som MySQL servern ställer. Detta betyder i dagens läge att systemet måste köras på en Pentium dator med minst 64mb minne. De nyaste kravspecifikationerna för MySQL servern hittas under följande address http://www.mysql.com/ 2.4 Mjukvara omgivning (ohjelmistoympäristö) Vårt system behöver en linux/windows dator med minst MySQL 4 samt en webserver med minst PHP 4 installerad. Detta är de enda mjukvaro kraven som ställs på datorn som skall köra det nya systemt. För användning av systemet krävs en standard enlig webblädrare. Den nyaste versionen av Internet Explorer eller Mozilla rekomenderas. 2.5 Systemets gränsvilkor (toteutuksen keskeiset reunaehdot) Kunden har definierat att systemet skall vara enkelt att sätta upp och att det skall lätt kunna flyttas från en dator till en annan. Detta har nåtts genom att all information över komponenterna lagras i en databas. De övriga skriptfilerna kan alltid flyttas över från dator till dator utan större problem. 2.6 Överänskommelser och standarder (sopimukset ja standardit) Vi har följt oss av HTML 4.0 standarden vid skapning av användargränssnittet. Vi har också tagit i beaktan de allmänna programmerings rekomendationerna vid programmeringen av PHP-skripten. 3. ARKITEKTURBESKRIVNING (arkkitehtuurin kuvaus) Detta kapitel innehåller alla de saker som var och en av systemets utvecklare måste förstå och känna till. I detta kapitel tas upp planeringsgrunderna, de gjorda teknologi valen samt programvarans arkitektur. 3.1 Planeringsprinciperna (suunnitteluperiaatteet) - Systemet har två huvud delar. Databas delen samt användargränsnitts delen. Systemet skall vara lätt att administrera. Sid 4 / 19 Inventariesystem för IT-centralens komponentlager Teknisk dokumentation - 27.02.2004 Inga speciella icke standard lösningar skall användas. Allt skall dokumenteras på ett fritt men klart och tydligt sätt. 3.2 Databas-arkitekturen (tietokanta-arkkitehtuuri) Eftersom databasen är stommen i det nya systemet så har denna planerats mycket noga i flera omgångar. I planeringen av databasen har vi användt oss av de regler vi lärt oss under kursen ”Databaser och SQL”, Arcada – Hanne Karlsson, vilken kan hittas under följande adress http://www.sit.fi/~karlssoh/databaser/it/ RELATIONS DATABASEN Sid 5 / 19 Inventariesystem för IT-centralens komponentlager Teknisk dokumentation 27.02.2004 DATABASSTRUKTUREN 3.3 Programarkitekturen, modulerna och processerna (ohjelmistoarkkitehtuuri, moduulit ja prosessit) Systemet består av MySQL databasen var all komponent information lagras. För att nå denna databas så har olika moduler skapats för att möjliggöra detta. Olika moduler har skapats för att nå databasen, sätta in data i den, sökning i den, editering av poster och deletering av poster. Dessa moduler används av användargränssnittet för att möjliggöra kommunikationen med databasen. Sid 6 / 19 Inventariesystem för IT-centralens komponentlager Teknisk dokumentation MODULKONTRAKT 3.4 Fel- och undantagshantering (virhe- ja poikkeusmenettelyt) I detta kapitel tas inte upp fel- och undantagshanteringen. Sid 7 / 19 27.02.2004 Inventariesystem för IT-centralens komponentlager Teknisk dokumentation 27.02.2004 4. MODUL/KLASS/PROCESS-BESKRIVNINGARNA (moduuli/luokka/prosessi-kuvaukset) I detta kapitel beskrivs varje moduls uppgift, samband med övriga delar av systemet samt dess gränssnitt. 4.1 Modul connect 4.1.1 Allmänbeskrivning (yleiskuvaus) MODULENS NAMN: Modul connect MODULENS TYP: funktionspaket ALLMÄNN BESKRIVNING: skapar förbindelsen med databasen KUNDER: all del system som skall använda sig av databasen BEROENDE SAMT KOPPLINGAR MED ÖVRIGA MODULER: kräver en konfigurations fil för databasen och att databasen är i gång 4.1.2 Gränssnittet (rajapinta yleisesti) Denna modul skapar samt stänger en förbindelse till databasen. Modulen har två funktioner för att åstadkomma detta. 4.1.3 Gränssnittsfunktionerna (rajapintafunktiot) 4.1.3.1 openDatabase() PARAMETRAR: databas, användare, lösenord RETURVÄRDE: UPPGIFT: skapar kontakten till databasen FÖRHANDS KRAV: databasen måste vara i gång EFTERHANDS KRAV: nu har system till gång till databasen UNDANTAGSFALL: förbindelsen kunde inte skapas 4.1.3.2 closeDatabase() PARAMETRAR: databas, användare, lösenord RETURVÄRDE: UPPGIFT: stänger förbindelsen till databasen FÖRHANDS KRAV: förbindelsen måste vara skapad Sid 8 / 19 Inventariesystem för IT-centralens komponentlager Teknisk dokumentation 27.02.2004 EFTERHANDS KRAV: systemet har inte mera en förbindelse till databasen UNDANTAGSFALL: förbindelsen kunde inte stängas 4.1.4 Förverkligande av modulen (moduulin toteutus) Denna modul kommer att använda sig av PHPs standard MySQL funktioner. I funktionerna implementeras fel-/undantagshantering. 4.2 Modul delete 4.2.1 Allmänbeskrivning (yleiskuvaus) MODULENS NAMN: Modul delete MODULENS TYP: funktion ALLMÄNN BESKRIVNING: raderar en rad i databasen KUNDER: de delar av systemet vilka raderar data ur databasen BEROENDE SAMT KOPPLINGAR MED ÖVRIGA MODULER: denna modul är beroende av modulen connect 4.2.2 Gränssnittet (rajapinta yleisesti) Denna modul raderar data ur databasen. Modulen innehåller en funktion. 4.2.3 Gränssnittsfunktionerna (rajapintafunktiot) 4.2.3.1 deleteRow() PARAMETRAR: tabell, enligt vilket fält, variabeln på webbsidan RETURVÄRDE: UPPGIFT: raderar en post ur databasen FÖRHANDS KRAV: förbindelsen måste vara skapad EFTERHANDS KRAV: posten har blivit raderad ur datbasen UNDANTAGSFALL: posten kan inte raderas Sid 9 / 19 Inventariesystem för IT-centralens komponentlager Teknisk dokumentation 27.02.2004 4.2.4 Förverkligande av modulen (moduulin toteutus) Modulen använder sig av PHPs standard funktioner och SQL språkets standard syntax. 4.3 Modul edit 4.3.1 Allmänbeskrivning (yleiskuvaus) MODULENS NAMN: Modul edit MODULENS TYP: funktionspaket ALLMÄNN BESKRIVNING: ändrar/updaterar data i databasen KUNDER: de delar i systemt som ändrar på data i databasen BEROENDE SAMT KOPPLINGAR MED ÖVRIGA MODULER: denna modul är beroende av modulen connect 4.3.2 Gränssnittet (rajapinta yleisesti) Med hälp av denna modul kan data i databasen ändras. Modulen kräver att databas förbindelsen är skapad med hjälp av connect modulen. 4.3.3 Gränssnittsfunktionerna (rajapintafunktiot) 4.3.3.1 editAnvandare() PARAMETRAR: gamlaNamnet, nyaNamnet, gamalTyp, nyTyp RETURVÄRDE: true/false (lyckades/lyckades inte) UPPGIFT: updaterar en användares uppgifter FÖRHANDS KRAV: förbindelsen måste vara skapad EFTERHANDS KRAV: UNDANTAGSFALL: posten kan inte updateras Sid 10 / 19 Inventariesystem för IT-centralens komponentlager Teknisk dokumentation 27.02.2004 4.3.3.2 editButik() PARAMETRAR: gamlaNamnet, nyaNamnet, gamlaInfo, myaInfo RETURVÄRDE: true/false (lyckades/lyckades inte) UPPGIFT: updaterar butiks namnet samt informationen FÖRHANDS KRAV: förbindelsen måste vara skapad EFTERHANDS KRAV: UNDANTAGSFALL: posten kan inte updateras 4.3.3.3 editPlats() PARAMETRAR: platsID, nyaRumID RETURVÄRDE: true/false (lyckades/lyckades inte) UPPGIFT: updatera en plats (dator+rum=plats) FÖRHANDS KRAV: förbindelsen måste vara skapad EFTERHANDS KRAV: UNDANTAGSFALL: posten kan inte updateras 4.3.3.4 editVarde() PARAMETRAR: tabell, kändaCell, kändaCellInnehåll, cellSomUpdateras, nyaVärdet RETURVÄRDE: true/false (lyckades/lyckades inte) UPPGIFT: updaterar ett värde i en cell i en specifik tabell med en cell som vi känner FÖRHANDS KRAV: förbindelsen måste vara skapad EFTERHANDS KRAV: UNDANTAGSFALL: posten kan inte updateras 4.3.4 Förverkligande av modulen (moduulin toteutus) Modulen använder sig av PHPs standard funktioner och SQL språkets standard syntax. 4.4 Modul error 4.4.1 Allmänbeskrivning (yleiskuvaus) MODULENS NAMN: Modul error MODULENS TYP: funktionspaket ALLMÄNN BESKRIVNING: skapar felmeddelande KUNDER: alla de övriga modulerna BEROENDE SAMT KOPPLINGAR MED ÖVRIGA MODULER: denna modul använder sig inte av de övriga modulernas tjänster Sid 11 / 19 Inventariesystem för IT-centralens komponentlager Teknisk dokumentation 27.02.2004 4.4.2 Gränssnittet (rajapinta yleisesti) Modulen har två funktioner för att skapa felmeddelande å användaren vid fel/undantag. 4.4.3 Gränssnittsfunktionerna (rajapintafunktiot) 4.4.3.1 errorMessage() PARAMETRAR: RETURVÄRDE: UPPGIFT: visar ett felmeddelande åt användaren FÖRHANDS KRAV: fel har upstått EFTERHANDS KRAV: användaren åtgärdar felet UNDANTAGSFALL: javascript är inte tillåtet 4.4.3.2 errorMessageStr() PARAMETRAR: felmeddelande RETURVÄRDE: UPPGIFT: visar ett specifikt felmeddelande åt användaren FÖRHANDS KRAV: fel har upstått EFTERHANDS KRAV: användaren åtgärdar felet UNDANTAGSFALL: posten kan inte raderas 4.4.4 Förverkligande av modulen (moduulin toteutus) Modulen skall med hjälp av JavaScript skapa felmeddelanden vilka visas åt användaren.. 4.5 Modul form 4.5.1 Allmänbeskrivning (yleiskuvaus) MODULENS NAMN: Modul form MODULENS TYP: funktionspaket ALLMÄNN BESKRIVNING: skapar dropdown och textfield element Sid 12 / 19 Inventariesystem för IT-centralens komponentlager Teknisk dokumentation 27.02.2004 KUNDER: de delar av systemet vilka skapar användargränssnittet BEROENDE SAMT KOPPLINGAR MED ÖVRIGA MODULER: denna modul använder sig inte av de övriga modulernas tjänster 4.5.2 Gränssnittet (rajapinta yleisesti) Modulen har två funktioner. Med hjälp av den ena funktionen skapar man dropdown element för en given tabell. Den andra funktionen skapar textfält element för en given variabel. 4.5.3 Gränssnittsfunktionerna (rajapintafunktiot) 4.5.3.1 createDropDown() PARAMETRAR: tabell, kolumn RETURVÄRDE: UPPGIFT: skapar en dropdown meny FÖRHANDS KRAV: databaskontakten är i kraft EFTERHANDS KRAV: UNDANTAGSFALL: databasen kan inte nås 4.5.3.2 createDropDownWithValues() PARAMETRAR: tabell, postensText, postensVärde, denValdaPostensVärde RETURVÄRDE: UPPGIFT: skapar en dropdown meny var en specifik ”option” är vald och alla optioner har ett värde som ”value” FÖRHANDS KRAV: databaskontakten är i kraft EFTERHANDS KRAV: UNDANTAGSFALL: databasen kan inte nås 4.5.3.3 createField() PARAMETRAR: variabelnamn RETURVÄRDE: UPPGIFT: skapar ett textfält för en given variabel FÖRHANDS KRAV: databaskontakten är i kraft EFTERHANDS KRAV: UNDANTAGSFALL: databasen kan inte nås Sid 13 / 19 Inventariesystem för IT-centralens komponentlager Teknisk dokumentation 27.02.2004 4.5.4 Förverkligande av modulen (moduulin toteutus) Modulen använder sig av PHPs standard funktioner och SQL språkets standard syntax. 4.6 Modul insert 4.6.1 Allmänbeskrivning (yleiskuvaus) MODULENS NAMN: Modul insert MODULENS TYP: funktionspaket ALLMÄNN BESKRIVNING: modulen används för att tilsätta data i databasen KUNDER: de olika delarna av systemet vilka inför ny data i databasen BEROENDE SAMT KOPPLINGAR MED ÖVRIGA MODULER: denna modul är beroende av connect modulen 4.6.2 Gränssnittet (rajapinta yleisesti) Denna modul innehåller 13 funktioner. Med hjälp av dessa funktioner kan ny data insättas i databasen. 4.6.3 Gränssnittsfunktionerna (rajapintafunktiot) 4.6.3.1 fetchID() PARAMETRAR: tabell, fält, variabel RETURVÄRDE: PK UPPGIFT: söker fram den valda komponentens id FÖRHANDS KRAV: databaskontakten är i kraft EFTERHANDS KRAV: UNDANTAGSFALL: databasen kan inte nås 4.6.3.2 fetchLastID() PARAMETRAR: fil (med tabell namn) RETURVÄRDE: PK UPPGIFT: söker fram den senaste skapade id:n för en tabell FÖRHANDS KRAV: filen är skapad Sid 14 / 19 Inventariesystem för IT-centralens komponentlager Teknisk dokumentation EFTERHANDS KRAV: UNDANTAGSFALL: filen kan inte läsas 4.6.3.3 createID() PARAMETRAR: fil (med tabell namn) RETURVÄRDE: PK UPPGIFT: skapar ID för komponenten FÖRHANDS KRAV: filen är skapad EFTERHANDS KRAV: filen har blivit updaterad UNDANTAGSFALL: filen kan inte läsas 4.6.3.4 insertMarke() PARAMETRAR: teckensträng RETURVÄRDE: UPPGIFT: sätter in ett nytt märke i databasen FÖRHANDS KRAV: databaskontakten är i kraft EFTERHANDS KRAV: nytt märke har insatts i systemet UNDANTAGSFALL: databasen kan inte nås 4.6.3.5 insertModell() PARAMETRAR: teckensträng RETURVÄRDE: UPPGIFT: sätter in en ny modell i databasen FÖRHANDS KRAV: databaskontakten är i kraft EFTERHANDS KRAV: ny modell har insatts i systemet UNDANTAGSFALL: databasen kan inte nås 4.6.3.6 insertTyp() PARAMETRAR: teckensträng RETURVÄRDE: UPPGIFT: sätter in en ny typ i databasen FÖRHANDS KRAV: databaskontakten är i kraft EFTERHANDS KRAV: ny typ har insatts i systemet UNDANTAGSFALL: databasen kan inte nås 4.6.3.7 insertRum() PARAMETRAR: teckensträng Sid 15 / 19 27.02.2004 Inventariesystem för IT-centralens komponentlager Teknisk dokumentation RETURVÄRDE: UPPGIFT: sätter in ett nytt rum i databasen FÖRHANDS KRAV: databaskontakten är i kraft EFTERHANDS KRAV: nytt rum har insatts i systemet UNDANTAGSFALL: databasen kan inte nås 4.6.3.8 insertDator() PARAMETRAR: teckensträng RETURVÄRDE: UPPGIFT: sätter in en ny dator i databasen FÖRHANDS KRAV: databaskontakten är i kraft EFTERHANDS KRAV: ny dator har insatts i systemet UNDANTAGSFALL: databasen kan inte nås 4.6.3.9 insertAnvändare() PARAMETRAR: användarnamn, admin/user, lösenord RETURVÄRDE: UPPGIFT: sätter in en ny användare i databasen FÖRHANDS KRAV: databaskontakten är i kraft EFTERHANDS KRAV: ny användare har instatts i systemet UNDANTAGSFALL: databasen kan inte nås 4.6.3.10 insertButik() PARAMETRAR: butikensNamn, extraInfo RETURVÄRDE: UPPGIFT: sätter in en ny butik i databasen FÖRHANDS KRAV: databaskontakten är i kraft EFTERHANDS KRAV: ny butik har insatts i systemet UNDANTAGSFALL: databasen kan inte nås 4.6.3.11 insertPlats() PARAMETRAR: formulär variabeln för ett rum RETURVÄRDE: UPPGIFT: sätter in en ny plats i databasen FÖRHANDS KRAV: databaskontakten är i kraft EFTERHANDS KRAV: ny plats (dator i ett rum) har insatts i systemet UNDANTAGSFALL: databasen kan inte nås 4.6.3.12 insertInkop() Sid 16 / 19 27.02.2004 Inventariesystem för IT-centralens komponentlager Teknisk dokumentation 27.02.2004 PARAMETRAR: anvandare, datum, garantitid, butik RETURVÄRDE: UPPGIFT: sätter in ett nytt inköp i databasen FÖRHANDS KRAV: databaskontakten är i kraft EFTERHANDS KRAV: ett nytt inköp har insatts i datbasen UNDANTAGSFALL: databasen kan inte nås 4.6.3.13 insertKomponent() PARAMETRAR: märke, modell, typ, användare, butik, storlek, extrainfo, datum, garantitid RETURVÄRDE: UPPGIFT: sätter in en ny komponent i databasen FÖRHANDS KRAV: databaskontakten är i kraft EFTERHANDS KRAV: en ny komponent har insatts i databasen UNDANTAGSFALL: databasen kan inte nås 4.6.4 Förverkligande av modulen (moduulin toteutus) Modulen använder sig av PHPs standard funktioner och SQL språkets standard syntax. 4.7 Modul select 4.7.1 Allmänbeskrivning (yleiskuvaus) MODULENS NAMN: Modul select MODULENS TYP: funktionspaket ALLMÄNN BESKRIVNING: modulen utför databasförfrågningarna KUNDER: de delar av systemet vilka hämtar data ur databasen BEROENDE SAMT KOPPLINGAR MED ÖVRIGA MODULER: modulen kan använda sig av connect och form modulen. 4.7.2 Gränssnittet (rajapinta yleisesti) Modulen hämtar samt visar det hämtade data. Modulen har flera funktioner för att möjliggöra detta. Sid 17 / 19 Inventariesystem för IT-centralens komponentlager Teknisk dokumentation 27.02.2004 4.7.3 Gränssnittsfunktionerna (rajapintafunktiot) 4.7.3.1 showTableHead() PARAMETRAR: teckensträng RETURVÄRDE: UPPGIFT: skapar första raden med givna rubriker av tabellen FÖRHANDS KRAV: databaskontakten är i kraft EFTERHANDS KRAV: UNDANTAGSFALL: databasen kan inte nås 4.7.3.2 showSelect() PARAMETRAR: teckensträng fält, ”order by” fält RETURVÄRDE: UPPGIFT: visar information i tabell enligt vilka fält man ger in som parametrar FÖRHANDS KRAV: databaskontakten är i kraft EFTERHANDS KRAV: UNDANTAGSFALL: databasen kan inte nås 4.7.3.3 showSelectStatement() PARAMETRAR: selectsats RETURVÄRDE: UPPGIFT: visar information i en tabell enligt en given SQL select-sats FÖRHANDS KRAV: databaskontakten är i kraft EFTERHANDS KRAV: UNDANTAGSFALL: databasen kan inte nås 4.7.3.4 showSelectStatementID() PARAMETRAR: selectsats RETURVÄRDE: UPPGIFT: visar information i en tabell enligt en given SQL select-sats med id värden som länkar FÖRHANDS KRAV: databaskontakten är i kraft EFTERHANDS KRAV: UNDANTAGSFALL: databasen kan inte nås 4.7.3.5 getinfo() PARAMETRAR: tabell, kolumn, falt, formulär variabel Sid 18 / 19 Inventariesystem för IT-centralens komponentlager Teknisk dokumentation 27.02.2004 RETURVÄRDE: innehållet i fältet UPPGIFT: visar information från ett fält i en tabell FÖRHANDS KRAV: databaskontakten är i kraft EFTERHANDS KRAV: UNDANTAGSFALL: databasen kan inte nås 4.7.4 Förverkligande av modulen (moduulin toteutus) Modulen använder sig av PHPs standard funktioner och SQL språkets standard syntax. 5. SPECIELLA TEKNISKA LÖSNINGAR (erityiset tekniset ratkaisut) Vårt systemt är som sagt byggt upp på ett sätt så att det enkelt går att flytta från dator till dator eller göra säkerhetkopia på den. Detta är löst på att själva användargränsnittet och gränsnittet till databasen är lagrad i en egen underkatalog medan komponent lagrets information är lagrad i en standard MySQL databas. Detta leder till att administrationen samt uppehållet av systemet är mycket enkelt. 6. FELHANTERING (virheenkäsittely) Varje funktion i systemet ger ett felmeddelande i klartext vid ett undantag/fel. Detta system har valts eftersom ett felmeddelande system baserat på nummror inte ger någon direkt respons åt slutanvändaren. På detta sättet har vi tänkt oss att användaren/administratorn kan klara av att lösa mindre problem på egen hand tackvare felmedelandena. Vid större fel måste systemutvecklarna kontaktas. 7. SLOPADE LÖSNINGSMODELLER I detta kapitel har vi dokumenterat de uttänkta men slopade lösningsplanerna. Varje slopade lösnigsplan dateras. Inga slopade idér finns för tillfället. 8. TANKAR OM VIDAREUTVECKLING Tankarna och idérna om vidareutveckling av vårt iventariesystem dokumenteras i detta kapitel. Varje idé numreras så att det är lättare att hänvisa till den. Datum och föreslagarens namn dokumenteras. Inga vidareutvecklings planer finns för tillfället. Sid 19 / 19