Denne rapporten er beregnet for dataansvarlig på Grefsenhjemmet, den som skal installere, vedlikeholde og modifisere systemet.

Størrelse: px
Begynne med side:

Download "Denne rapporten er beregnet for dataansvarlig på Grefsenhjemmet, den som skal installere, vedlikeholde og modifisere systemet."

Transkript

1 Produktrapport Forord Denne rapporten er beregnet for dataansvarlig på Grefsenhjemmet, den som skal installere, vedlikeholde og modifisere systemet. Dataansvarlig eller supporter trenger informasjon om installasjon, drift og feilfinning. For å kunne utføre sine oppgaver trenger den dataansvarlige informasjon om programmets oppbygging, virkemåte og funksjoner, og om hvilken testing som er gjennomført. 1

2 1. Innledning Om bedriften Dagens situasjon Mål Konklusjon Rammebetingelser Nettleser Beskrivelse av teknologier Mysql Css Mysql-front Javascript Textpad HTML/ XHTML PHP Microsoft Office Word/Open Office Sessions Datastruktur og oppbygning...6 Den riktige ER modellen Tabellforklaring Ansatt Gruppe Gruppe_has_Ansatt Ukedag Vakt type TurnusPeriode Vaktplan Vaktliste Beskrivelse av vaktsystemet Generelt Innlogging Administrasjonssystemet Beskrivelse Kravspesifikasjon Generelt Endringer i kravspesifikasjonen Forslag til videreutvikling UML modellering : USE CASE Sekvensdiagram Klassediagram ER-modeller

3 1. Innledning Om bedriften Grefsenhjemmet er et sted for omsorg, trygghet og trivsel. Grefsenhjemmet er et hjem for eldre som trenger pleie, opptrening og medisinsk behandling. Grefsenhjemmet er et privat sykehjem ble åpnet i 1974 av en stiftelse tilknyttet Grefsen menighet. Det ligger i bydelen Nordre Aker og er eiet av en stiftelse tilknyttet Grefsen menighet. Sykehjemmet har 87 plasser hvorav 17 plasser er en skjermet enhet for aldersdemente Dagens situasjon Grefsenhjemmet har pr i dag ingen egen informativ hjemmeside siden de tilhører Oslo Kommune. På Oslo Kommunens hjemmesider står det veldig generelt om Grefsen- hjemmet og det var derfor de ønsket seg en egen hjemmeside. En informativ side med detaljert informasjon om tilbud og aktiviteter vil gjøre det lettere for søkere å vite hva Grefsenhjemmet er og hva den står for. Budstikka er en lokal avis som kommer en gang i måneden. Og handler om ting som skjer og har skjedd på sykehjemmet de siste ukene. En del av informasjonen er sensitiv som Grefsenhjemmet ikke ønsker å legge ut på internett. Det kan for eksempel være navn og bilder av beboere. Dermed ønsker de også å få intranett hvor all informasjon blir lagt ut. Ansatte på Grefsenhjemmet jobber på 11 forskjellige grupper. Lister for ekstravakter blir lagt ut på papir i hver gruppe. Noe som gjør det lite fleksibelt og slitsomt å ta vare på alt og sjekke rundt i alle grupper. Det er derfor ønskelig at ansatte kan registrere sine vakter via internett. På denne måten blir det enklere å sette opp vaktlister for lederen Mål Målet med oppgaven var å lette arbeidsmengden med tanke på registrering av ekstra vakter. Gjøre det enkelt å endre på vakt listene eller oppdatere ved behov. Gjøre det enkelt og tilgjengelig for de ansatte, slik at de til enhver tid har oversikt over alle vaktlistene til andre ansatt og oversikt over sine skift. Med egen hjemmeside blir det enklere for søkere å få god informasjon. Med intranett blir alt som skjer på sykehjemmet bli satt ut der, istedenfor på papir. Dette vill mulig inspirere og motivere eldre mennesker til å lære å bruke internett. Vaktsystem må stille store krav til brukervennelighet da brukerne ofte kan være uerfarne databrukere. 3

4 Systemet bør innholde Mulighet for å registrere en vakt, ansatte kan velge mellom forskjellige avdelinger Et administreringsverktøy for de ansatte hvor de kan få oversikt over kommende vakter. Administrator kan legge til og endre vakt Konklusjon Dette systemet vil være til stor hjelp til grefsenhjemmet, og vil gi oversikt over vaktlister. Lettere for ledere med tanken på vaktlister. Vil være til stor hjelp for ledere da de til enhver tid kan få oversikt over når det er ledige vakter Rammebetingelser Som rammebetingelser stod gruppen fritt til å implementere gode løsninger, og bruke den teknologien som vi ønsket. Vi valgte å bruke PHP,MYSQL. Grefsenhjemmet har kapasitet til å drifte en egen server. Arbeidsgiver hadde ingen betingelser for hvilken type teknologi de ønsker. Dette ble opp til gruppen å avgjøre. Vi valgte å bruke MYSQL og PHP. Fordi det virket så spennende. 2 Nettleser Vi testet produktet som ble laget i mest brukte type nettlesere som: Microsoft Internett Explorer, Mozilla, FireFox Og Opera. All funksjonalitet er testet fullt ut i alle disse nettleserne. Utfordringen har vært spesielt stor med tanke på design. Alle nettleserne har ulike måter å tolke designregler satt i stilark, hvis man ikke spesifiserer alle verdier. Noe vi har løst med å være konsekvente med regelsettingen. Mer om testresultatene finnes i testrapporten. 4

5 3 Beskrivelse av teknologier Mysql Mysql er en relasjonsdatabase hvor man kan hente og lagre data. Denne databasen passer til mindre avanserte systemer, men inneholder da også mindre funksjonalitet enn MSSQL-database. Mysql er valgt som database siden denne er basert på åpen kildekode Css. Style sheet eller stilark er en fil som kan styre utseendet eller designet til websider. Det gjør det mer strukturert da man kan skille kode fra design. CSS er en standard fra W3C Mysql-front MySQL-Front er et program som lar brukeren jobbe mot MySQL-databaser via et grafisk brukergrensesnitt. MySQL-Front har blitt mye brukt for å oppdatere databasen. Det er veldig enkelt å forandre spesifikasjonene til tabeller og rader. MySQL-Front har vært veldig nyttig for oss da vi til stadighet måtte inn å endre på databasen. Programmet ble også brukt for å kvalitetssikre at data faktisk ble lagret i databasen ved bruk av DBAS Javascript Javascript er programkode som har til hensikt å gjøre en webside dynamisk. Det brukes til å håndtere informasjon som utveksles mellom server og klient Textpad TextPad er et veldig bra og allsidig verktøy. Det kan brukes som Java- og C- kompilator, i tillegg egner det seg godt til å programmere html, php, xml og perl. Det beste med TextPad er at den er gratis i den forstand at det er valgfritt om man vil betale for bruken av den. I vårt prosjekt ble TextPad brukt til å kode xml-filene. Programmet ble også brukt under utviklingen av hjemmesiden for prosjektet. 5

6 3.1.6 HTML/ XHTML HTML (HyperText Markup Language) og den nyere XHTML (EXtensible HyperText Markup Language) er to standarder (W3C) for å presenterer informasjon på Internett. Animasjoner, bilder, video, lyd og andre nye webteknologier ligger på toppen av (X)HTML og støttes ikke av alle nettlesere. Vi har derfor laget nettsider som fungerer uten disse utvidelsene. XHTML er en mye strengere standard enn HTML med tanke på hvordan siden skrives. Målet er å separere informasjon fra design/utseende. De aller fleste nettlesere i dag støtter CSS, derfor kan man generere mye renere HTMLdokumenter. Resultatet er mindre kode som overføres over nettverket, samt at nettlesere som ikke støtter CSS (og andre elementer), slipper å laste ned unyttig informasjon PHP PHP er et nyttig verktøy til å lage dynamiske websider. HTML har ikke muligheten til dette. Med PHP kan du programmere mot databaser, filer, xml, og en hel del mer. PHP er nyttig fordi du kan med litt jobb oppdatere siden din via nettleseren Microsoft Office Word/Open Office Microsoft Word ble sammen med Open Office brukt til skriving av rapporter. Word har vært det primære programmet siden dette er installert på skolen, og de fleste av gruppens medlemmer har dette hjemme. Vi kunne ha valgt Open Office som det primære program for å skrive rapporter, men siden mye av arbeidet ville foregå på skolen var det mest naturlig å velge Microsoft Word siden det allerede var installert der Sessions Applikasjonen benytter seg av PHP Sessions. Økta inneholder noen verdier som identifiserer brukeren, samt hvilken rolle vedkommende har. Verdiene brukes også i databasespørringene. 4. Datastruktur og oppbygning All nødvendig data blir lagret i MySQL - databasen. Databasen består av 2 tabeller. Tabellene i databasen vil bli beskrevet under. Vedlegg 1 inneholder kode for opprette tabellene i databasen. 6

7 Den riktige ER modellen 7

8 4.1Tabellforklaring Ansatt Ansatt tabellen inneholder en ansattid som er unikt nummer som definerer hver enkelt ansatt som er lagret i data basen. All informasjon må være gyldige for å kunne registrere en ansatt. Administratoren skal også bruke tabellen Ansatt for å registrere seg. I Typeansatt feltet skal det skrives enten ansatt eller admin, fordi det er bare admin som har alle rettigheter mot systemet. Han har ansvaret til å oppdatere, slette, endre og vedlikeholde hele databasen. Fornavn, Etternavn, Adresse, Postnr (post nummer), Poststed, TelefonHjem, Mobil, Epost, Gruppe, Fødselsdato, Stilling, Passord og TypeAnsatt er nødvendige informasjon for å kunne registrere en ansatt. AnsattID unik id for ansatte TypeAnsatt beskriver om det er en vanlig ansatt, eller en admin som bli registrert. 8

9 4.1.2 Gruppe Gruppe tabellen inneholder gruppenavn. som identifiserer hvilken gruppe som blir registrert. Gruppenavn navnet på gruppen beskrives med bokstav fra (A - L) uten I Gruppe_has_Ansatt Denne tabellen beskriver hvilken ansatte hører til hvilken gruppe. Ansatt_AnsattID ansatt id i Ansatt tabellen Gruppe_Gruppenavn gruppe navnet i Gruppe tabellen Ukedag Tabellen inneholder attributter som UkedagId og DagNavn. UkedagId er ikke auto inkrement. UkedagId unik id for uke dag DagNavn navnet på dagen 9

10 4.1.5 Vakt type VaktType innholder vaktkode, startid, sluttid, og spisepause. Innholder informasjon om forskjellige vakttider, fra start til slutt. VaktKode koden som viser når en vakt starter og slutter, definert med bokstav og nummer. Start Tid når en vakt starter Slutt Tid når en vakt slutter Spisepause tid for pause TurnusPeriode2 TurnusPeriode2 inneholder Turnusid, datofra og datotil. Turnusperiode har informasjon om 12 turnusuker referert i tabellen hver gang datoen blir tastet regner den ut uke og gir beskjed. TurnusID unik id for turnus periode 2 DatoFra Turnus periode 2 starter DatoTil Turnus periode 2 slutter 10

11 4.1.7 Vaktplan Vaktplan inneholder turnusperiode2_turnusid, gruppe_gruppenavn,uke,ukedag_ ukedagid Vakttype_vaktkode. Hvilken ledige vakter ansatte kan sette seg på TurnusPeriode2_TurnusID Turnus id i TurnusPeriode2 tabellen Gruppe_Gruppenavn - Guppenavn i Gruppe tabellen Uke - Uke nummer Ukedag_UkedagId - Ukedag id i Ukedag tabellen VaktType-VaktKode - VaktKode i VaktType tabellen 11

12 4.1.8 Vaktliste Vaktliste inneholder turnusperiode2_turnusid, gruppenavn, uke, ukedag_ukedagid, vaktype_vaktkode og ansatt_ansattid. Holder informasjon om hvilke vakter står på vaktliste. TurnusPeriode2_TurnusID Turnus id i TurnusPeriode2 tabellen Gruppe_Gruppenavn - Guppenavn i Gruppe tabellen Uke - Uke nummer Ukedag_UkedagId - Ukedag id i Ukedag tabellen VaktType-VaktKode - VaktKode i VaktType tabellen Ansatt_AnsattID - AnsattID i Ansatt tabellen 12

13 5. Beskrivelse av vaktsystemet 5.1 Generelt Målgruppen for vaktsystemet er ansatte til grefsenhjemmet, men blir også brukt av administrasjon for å slette en vakt. Dette har de mulighet til dersom de er logget inn Innlogging Ved innlogging må brukeren logge seg inn med e-postadresse og passord. E-postadressen blir ved innlogging lagret i Session - objektet for å holde rede på hvilken bruker som er innlogget Ved innlogging finnes en link på høyre side glemt passord. Hvis denne klikkes åpnes et nytt vindu hvor brukerne kan skrive inn sin e-postadresse så vil passordet automatisk bli sendt til denne e-postadressen. 13

14 Får å bytte passord må man logge inn og det finnes en link på høyre side bytt passord. Hvis denne klikkes åpnes et nytt vindu hvor brukerne kan skrive inn e-post, gammelt passord og det nye passordet. 6. Administrasjonssystemet 6.1 Beskrivelse Administrasjonssystemet skal brukes av Grefsenhjemmets avdelings ledere. systemet har to roller Ansatt og Admin. Admin. har tilgang til alle funksjoner, mens Ansatt kun har å sette seg på en vakt, og liste over ledige vakter. For å få tilgang til systemet må man logge seg inn med brukenavn og passord. Kun Admin kan registrere nye ansatte. Administrasjonssystemet innholder mer programmeringskode enn vaktsystemet. 14

15 7. Kravspesifikasjon 7.1 Generelt Kravspesifikasjonen har naturligvis vært et viktig dokument gjennom hele utviklingsfasen. Funksjonaliteten ble fastsatt av gruppa. De tekniske kravene var det også opp til gruppa å finne gode løsninger på Endringer i kravspesifikasjonen Kvaliteten i kravspesifikasjon har ført til at vi kun har gjort små endringer på den opprinnelige spesifikasjonen. Vi har ikke rukket å lage en fullstendig intranett. Men filer som ligger inne i systemet etter at man har logget seg inn og på internett kan brukes til intranett. Videre får en ansatt registrert sine vakter ut i fra en dag. Mens i kravspesifikasjonen hadde vi sagt vakt skulle settes ut i fra en dato. Ellers er de fleste krav oppfylt Forslag til videreutvikling Turnusperioden kan videre utvikles må mange måter. Det går an å programmerer på den måten at neste turnusperiode blir regnet ut automatisk. Siden en turnusperiode inneholder 12 uker og hver uke begynner på mandag, så ville ikke det være noe problem. Samtidig kunne man vise en meny over turnusperioder, som viser for eksempel en turnusperiode fram i tid. Ekstra vakter blir registrert fortløpende, gjerne 2-3 uker av gangen. Videre kunne man få opp en dato sammen med valg av dag. Dette vil gjøre enda enklere for dem å huske hvilke dager de vil jobbe. Slik systemet fungerer nå får man opp id til dagen opp. For eksempel hvis det er mandag, står det id lik en. Ved enkel SQL setning kan man gjøre det. Kanskje burde man legge inn flere Java script for å få opp feilmeldingen på en ordentlig måte. Videre kunne GUI en også videreutvikles. Lister over hvem som har fått vakter eller står i ønsket vakter kunne genereres for en uke. Istedenfor å gjøre valg av turnus, gruppe, uke, dag, kunne det komme opp et skjema for hver gruppe for en hel uke, fra mandag til søndag. Inni den kunne en ansatt sette seg på en felt, hvis den ikke er fylt. Den som har fått vakt kunne stå i grønt, de som står ønsket står i gult og de som ikke fikk vakt står i rødt. (Se Vedlegg: Ukeplan) 15

16 8. UML modellering : USE CASE En admin skal logge seg inn for å tildele vakter, og en ansatt skal logge seg inn for å registrere vakter og kjekke vakt. 16

17 9. Sekvensdiagram Sekvensdiagram for å velge å sette seg på vakt. 17

18 10. Klassediagram Tabeller som vi tok utgang for er-modellen, viser relasjonen mellom de forskjellige tabellene som vi har. 18

19 11. ER-modeller ER-modell 1 19

20 ER-modell 2 20

21 ER-modell 3 21

22 ER-modell 4 22

23 23