Automatisering av rutiner knyttet til Avdeling for Ingeniørutdanning, HiB Eziz Annagurban Veiledere: Sven-Olai Høyland Carsten Helgesen Henning Norheim
Bakgrunn For at avdeling som AI skal fungere best mulig, må kommunikasjonen forbedres mellom ansatte Automatisering i en større grad av kommunikasjonen ønskes. Eksempel: rutiner knyttet til eksamen avviklingen.
Bakgrunn
Bakgrunn, eksamen Hvert semester må ca. 200 eksamener lages To typer eksamener ordinære (for fag i inneværende semester) Går stort sett greit ny eller utsatt Vanligvis er det faglærer som underviste faget sist som lager eksamen Hender at eksamen blir glemt i første omgang
Problem Faget har gått ut, men likevel det er studenter som er meldt opp til eksamen Faglærer som hadde faget sist har sluttet Midlertidig timelærer har hatt faget sist I første omgang kan eksamen bli glemt, og oppdages først når administrasjonen forventer å få inn eksamensoppgaven (1 uke før) Stress for instituttleder, faglærer og administrasjon
Dagens situasjon Administrasjonen håndterer de fleste oppgaver knyttet til eksamenavvikling manuelt. Fag- og eksamensinformasjon lagres i den nasjonale FS databasen (Felles Studentsystem) Administrasjonen henter data fra FS og kopierer disse inn i excel ark for internt og eksternt bruk
Dagens situasjon II 3 excel-ark med stort sett samme informasjon brukes for å skjule sensitivt informasjon Forandring i eksamensdata krever mye kopiering og liming Administrasjonen skal holde styr på fag der eksamen skal holdes Instituttledere skal ha oversikt over fag- og eksamensansvarlige
Målet med oppgaven Identifisere rutiner som kan helt eller delvis automatiseres Kvalitetssikre kommunikasjonen ved AI - Alle vet hvem som har ansvaret - Eksamensansvarlig vet når eksamen skal innleveres Redusere klipp-og-lim - Sikre integritet - Spare arbeid
Krav analyse System for å håndtere avvikling av eksamen - Registrere ansvarlige (eksamen og fag) - Automatisert varsling av frister - Sikre konsistens i forhold til FS - Presentere eksamensdatoer
Løsning Webapplikasjon vs. Standalone applikasjon System som krever minimalt interaksjon fra brukere Lett oppdatering og forsikring av integritet av data
Utviklingsmetode Mange utviklingsmetoder for teams Alene programmering ofte ignoreres Lite forskning på alene programmering siden det meste utviklingen skjer i teams
Utviklingsmetode, XP Det antas at aleneprogrammere finner en måte som passer best Extreme Programming (Agile metoder) og Unified Process er to populære metoder Mange aleneprogrammere velger å justere XP Lærer disiplin som resulterer i bra kvalitet kode Kan lett justeres for enkelte tilfeller
Design (MVC) Model-View-Controller er en populær design arkitektur hvor systemet deles i tre deler Model – representerer system objektene eller modellen View – bruker grensesnitt eks. knapper, menyer etc. Controller – middle of the sandwich
Design (Teknologi) Web applikasjon med Java EE 5 JPA, JSF og SAX Spring Framework MySQL database Glassfish server Tomahawk, Apache Commons og andre mindre bibliotek
Design (RBAC)
Implementasjon: Modell
Implementasjon JPA og Spring Framework for database tilgang JSF servlet er controller i MVC Spring Security for sikkerhet SAX for XML parsing Config filer
Implementasjon (MVC og JSF)
Web applikasjoner og TDD Vanskeligere å teste webapplikasjoner DAO objekter og test Managed beans (Backing beans) og test TDD krever disiplin og trening
Demonstrasjon
Status Stort sett ferdig med utvikling Refaktorering Gjenstår testing på et institutt for våren 2009 Administrasjon Instituttleder Faglærere
Konklusjon Har utviklet en webapplikasjon som fyller kravene Det gjenstår å få tilbakemeldinger fra brukerne