System för
tidrapportering och tidplanering
Systemdokumentation
3 maj
2002
Systemdokumentation
Dokumentstatus
Detta dokument är en teknisk beskrivning av System för tidsplanering och tidrapportering
(SYTT). Systemet utvecklades under våren 2002 på uppdrag av Institutionen för Numerisk
Analys och Datalogi vid KTH (NADA). En mer allmän beskrivning av systemet och
utvecklingsprojektet finns i Projektdokumentation. En beskrivning av användargränssnittet finns i
Användarhandledning.
Syftet med denna tekniska beskrivning är att underlätta vidareutveckling av systemet liksom
implementation och drift. Som bilaga finns den fullständiga systemdesignen inklusive
datastruktur.
Senaste version av detta dokument samt övrig projektdokumentation finns tillgänglig från
www.nada.kth.se/projects/proj02/sytt
Version
1.0
25 april 2002
Dokumentets skapande
© Rättigheterna till detta dokument och tillhörande bilagor tillhör projektgruppen för SYTT.
1
Systemdokumentation
Innehållsförteckning
1.1
Översikt ............................................................................................................................ 3
1.2
Teknisk plattform ............................................................................................................. 4
1.3
Sidornas/Användargränssnittets struktur.......................................................................... 5
1.3.1
Doktorandernas sidor ............................................................................................... 5
1.3.2
Lärarnas sidor ........................................................................................................... 6
1.3.3
Studierektorernas sidor ............................................................................................. 7
1.4
Teknisk lösning ................................................................................................................ 8
1.5
Datastruktur ...................................................................................................................... 8
1.6
Förteckning över servlets ................................................................................................. 8
1.7
Förteckning över jsp-sidor ............................................................................................... 9
1.8
Driftsdokumentation....................................................................................................... 10
1.8.1
Inledning................................................................................................................. 10
1.8.2
Förutsättningar ....................................................................................................... 10
1.8.3
Databasinstallation ................................................................................................. 10
1.8.4
Applikationsinstallation ......................................................................................... 11
1.8.5
Klientaccess ............................................................................................................ 11
2
Bilagor ...................................................................................................................................... 1
2.1
Bilaga 1 Datastruktur ......................................................................................... (10 sidor)
2.2
Bilaga 2 Systemdesign ....................................................................................... (38 sidor)
2
Systemdokumentation
1.1
Översikt
System för tidsbokning och tidplanering (SYTT) är byggt för att fungera väl i NADAs
datormiljö. Systemet är en trelagers lösning där presentation och logik bygger på standard
webbteknologi. Presentation sker med hjälp av Java Server Pages (JSP) som genererar HTMLdokument vilka innehåller, förutom HTML, JavaScript och formatmallar (CSS). Logiken sköts av
Java Servlets vilka kommunicerar med SQL-databasen. Den tekniska utformningen av systemet
är framtagen med avsikt att vara enkel för beställaren att underhålla och vidareutveckla. All
programvara är gratis samt redan i bruk vid Institutionen för Numerologi och Datalogi (NADA)
vid KTH. Programspråket Java, scriptspråket JavaScript samt SQL-databaser är alla väl spridda
tekniker och väl kända vid NADA.
3
Systemdokumentation
1.2
Teknisk plattform
Den tekniska plattformen som använts under utvecklingen bygger på fria programvaror som
redan idag används vid NADA. Detta med avsikten att underlätta implementation och
driftsättning. Den avdelning vid NADA som skulle ansvara för en eventuell drift är
Systemgruppen, vilka själva använder en liknande plattform.
Då alla komponenter utformats enligt standardförfarande är systemet i princip
plattformsoberoende. För driftsättning och drift, se avsnitt 1.8 Driftsdokumentation.
PostgreSQL 7.0 har använts som databasmotor. Kommunikationen med databasen sker via JDBC
2.0 vilket finns tillgängligt från och med JDK 1.2. Tomcat 4.0 har använts som webbserver då
den klarar både JSP- och Servlet-teknologi.
Logik- och presentationskomponenter bygger på Java 2 Platform Enterprise Edition (J2EE). För
kompilering och exekvering av javakod används J2EE SDK 1.3 och Java 2 Platform SDK 1.3.1.
4
Systemdokumentation
1.3
Sidornas/Användargränssnittets struktur
Användargränssnittets struktur är uppdelat på de tre olika användarna av systemet, doktorander,
lärare och studierektorer. De streckade rutorna betecknar sidor där användargränssnittet är
framtagit men kodning ej utförd.
1.3.1
Doktorandernas sidor
Inloggning
Startsida
Historik
Pop-up
Kurs
Mina uppgifter
Addera aktivitet
Pop-up
Ändra aktivitet
Pop-up
Add. aktivitet från
kurs
5
Pop-up
Överför aktivitet
Resurs
Systemdokumentation
1.3.2
Lärarnas sidor
Inloggning
Startsida
Resurs
Doktorand
Mina uppgifter
Kurs
Pop-up
Plan. aktivitet för
doktorand
6
Systemdokumentation
1.3.3
Studierektorernas sidor
Inloggning
Startsida
Export
Läsårsadm
Användaradm
Kurs-adm
Doktorand
Kurs
Doktorand
Pop-up
Plan. Akt.
För dokt.
7
Lärare
Kurs
Variabler
Systemdokumentation
1.4
Teknisk lösning
Den tekniska lösningen är indelad enligt nedanstående konceptuella 3-lager modell.
Presentation/Interaktion
Logik
Datalagring
JSP-sidor
Java Servlets
SQL
Lösningen bygger på utnyttjandet av en ensam databas för lagring av data. Dataåtkomst sköts av
logikkomponenterna. All presentation och interaktion kommer att ske i presentationslagret som
utbyter data med logikkomponenterna. För att kunna använda sig av en parallell utveckling av
komponenter, oberoende av övriga komponenter, utvecklades en grundläggande, väl utformad
systemdesign. I denna specificeras även utformningen av gränssnitt mellan de olika
komponenterna ordentligt.
Det finns i stort sett en JSP-sida per användarsida, dock genereras vissa JSP-sidor från en och
samma servlett. Det finns ett antal specifika servletts som genererar vanligt återkommande
element i gränssnittet, exempel på detta är drop-down-menyer.
1.5
Datastruktur
Den fullständiga datastrukturen finns bifogad, här följer en lista över de tabeller som ingår.
Anstalld
Moment
Larare
Befattning
Doktorand
Avdelning
Kurs
Amne
Aktivitet
Dok
Arbetsberakning
Assistent
Lasar
Resurs (ej med i systemdesign)
Kurskommentar
1.6
Förteckning över servlets
Den fullständiga systemdesignen finns bifogad, här följer en lista över de servlets som ingår.
8
Systemdokumentation
servStatusbar
servMenyrad
servDropdownArtal
servDropdownMoment
servDropdownKursnamn
servDropdownDoktorand
servDropdownLarare
servDropdownKursOmg
servDropDownAmne
servExpandDoktorand
servExpandKurs
servSokning
servCheckLogin
servSyttLogin
1.7
servSyttLogout
servVisaDoktorand
servDoktorandKurs
servDoktorandUppgifter
servAktivitet
servLarareStart
servLarareKurs
servLarareUppgifter
servStudierektorStart
servStudierektorDoktorand
servStudierektorVariabler
servKursAdm
servAnvAdm
servLasarAdm
Förteckning över jsp-sidor
Den fullständiga systemdesignen finns bifogad, här följer en lista över de servlets som ingår.
sytt_login.jsp
sytt_logout.jsp
doktorand_start.jsp
doktorand_kurs.jsp
doktorand_uppgifter.jsp
doktorand_historik.jsp
doktorand_resurs.jsp
addera_aktivitet.jsp
redigera_aktivitet.jsp
overfor_aktivitet.jsp
larare_doktorand.jsp
larare_start.jsp
larare_kurs.jsp
larare_uppgifter.jsp
larare_resurs.jsp
studierektor_start.jsp
studierektor_doktorand.jsp
studierektor_doktorand_kurs.jsp
studierektor_larare.jsp
studierektor_larare_kurs.jsp
studierektor_variabler.jsp
studierektor_resurs.jsp
lasar_adm.jsp
kurs_adm.jsp
anv_adm.jsp
9
Systemdokumentation
1.8
1.8.1
Driftsdokumentation
Inledning
SYTT-applikationen består av en uppsättning jsp-sidor, bilder och Java-bytecode. För att kunna
implementera SYTT krävs på serversidan följande:
 en eller fler datorer med anslutning till nätverk
 databasmotor med tillhörande definitionsfil
 jsp-och servletcontainer/webserver
 källkod i .jsp format för sidproduktion, med tillhörande bilder
 Java-bytekod , d.v.s. filer i .class format, för programlogik och databasaccess
På klientsidan krävs att man har:
 dator med nätverksanslutning
 Webbläsare med stöd för Javascript, företrädesvis MS Internet Explorer
1.8.2
Förutsättningar
Denna driftsdokumentation beskriver hur systemet driftsätts med Postgresql 7.x som
databasmotor, Jakarta Tomcat 4 som container/webserver och TCP/IP som transportprotokoll.
Som standard kommunicerar webserver och klient via HTTP.
För installationsanvisningar för Postgresql och Tomcat hänvisas till respektive tillverkares
dokumentation som finns att tillgå via Internet på adresserna:
 www.postgresql.org
 jakarta.apache.org/tomcat
Innan installationen av SYTT påbörjas måste man säkerställa att man vet vilka IP-portnummer
Postgresq respektive Tomcat använder i den egna miljön.
1.8.3
Databasinstallation
Tillse att databasen tillåter kopplingar via TCP/IP. Konsultera Postgresql-dokumentationen vid
funderingar om hur detta utförs.
Starta Postgresql (”pg_ctl start”)
Koppla upp mot databasen med en klient, t.ex. psql. (”psql -h hostadress –p portnr”)
Skapa en databas med namnet ”sytt_v2” (”create database sytt_v2”)
Koppla upp mot ”sytt_v2” (\c sytt_v2)
Skapa tabeller i databasen genom att importera filen sytt.sql (”\i sökväg_till_sytt.sql”)
Kontrollera att tabeller skapats genom att ge kommandot ”\d”
Om ovanstående utförts och tabeller visas är databasinstallationen klar.
10
Systemdokumentation
1.8.4
Applikationsinstallation
Jsp, .class och bildfilerna är ordnade i ett filträd enligt SUN’s standard för servlet/jsp installation.
Systemet levereras i en katalog med namnet sytt. Denna skall kopieras in under
Tomcat/webapps/. När detta är gjort måste filen web.xml, som nu ligger i katalogen
Tomcat/webapps/sytt/WEB-INF editeras. De parametrar som måste sättas är sökvägen till
databasen, databasanvändarnamn och databaslösenord. Se nedan för exempel:
<context-param>
<param-name>dbURL</param-name>
<paramvalue>jdbc:postgresql://Er_hostname:portnr_HÄR/sytt_db</paramvalue>
</context-param>
<context-param>
<param-name>dbUser</param-name>
<param-value>Ert_användarnamn_till_databasen_HÄR</param-value>
</context-param>
<context-param>
<param-name>dbPassword</param-name>
<param-value>Ert_lösenord_till_databasen_HÄR</param-value>
</context-param>
Tomcat startas genom att ge kommandot Tomcat/bin/startup.sh och stoppas genom att ge
kommandot Tomcat/bin/shutdown.sh.
Om installationsanvisningen ovan följts och inga problem uppstått är applikationen klar att
använda.
1.8.5
Klientaccess
För att använda SYTT öppnar man en webbrowser och skriver i adressfältet in:
http://Serveradress:portnummer/sytt/servSyttLogin
Användaren skall nu presenteras en inloggningssida och därmed ha tillgång till systemet
11
Bilaga 1 - Datastruktur
2 Bilagor
2.1
Bilaga 1 Datastruktur
Varje fält beskrivs med följande begrepp:
Fält
Fältnamn
Status
Typ av fältinnehåll, om data ska vara unikt, om referens till annan tabell o.s.v.
Koppling
Vilka tabeller ett fälts referens skall peka på
Ä
Om fältet kan ändras av användarna
*
* anger obligatorisk inmatning för användaren vid skapande (& ändrande)
Auto
Auto anger att ett fält beräknas (kan i enstaka fall senare ändras av användaren)
Version
5
Datum
02 maj
4
3
2
1
20 mars
18 mars
13 mars
8 mars
Kommentar
Ändring i samtliga tabeller (nya fält i tabellen Kurs och Doktorand)
ID fält togs bort från Moment, Befattning, Amne och Avdelning.
Har skapats 2 VIEWS (Dok och Assistent) som bara visar en
kombination av tabeller.
Ändring av ID i tabell Anstalld, Lärare, Doktorand
Procentdel för kursassistenters nedsättning tillagd på Kurs
Teknikgruppens korrigeringar, anställd-tabellen, ID-fält osv
1
Bilaga 1 - Datastruktur
Förteckning över tabellerna
Anstalld
Tabell:
Initiering:
Borttagning:
Behörighet:
Anstalld
Påverkar inga andra tabeller.
Skall ha unikt användarnamn.
Påverkar:
 Larare (Borttagning av anställd i Anvnamn-fältet.)
 Doktorand (Ta bort ev. referens i fältet Anvnamn ersätt med ”tom ”
Bör vara ovanligt att radera användare, deaktivering gör att de finns
kvar, men ej längre är valbara/sökbara i dropdownmenyer eller annan
inmatning av information.
Skapas, ändras & raderas av studierektor fr studierektor_användar-adm
Ändras (vissa uppgifter) av lärare från sida Lärare_mina_uppgifter
Fält
Status
Anvnamn
Namn
Losenord
Epost
Avdelning
visaKurskod
Aktiv
Text Unique
Text
Text
Text
Text
Boolean
Boolean
Koppling till
Tabell
Avdening>Namn
2
Ä
Ä
Ä
Ä
Ä
Ä
Ä
*/auto
*
Auto(aktiv
default)
Bilaga 1 - Datastruktur
Larare
Tabell:
Initiering:
Borttagning:
Behörighet:
Fält
Anvnamn
Studierektor
Lärare/Studierektor
Påverkar inga andra tabeller.
Skall ha unikt användarnamn relativt lärare,studierektor & doktorander
Påverkar:
 Doktorand (Ta bort ev. referens i fältet handledare, ersätt med
”tom”)
 Kurs (Ta bort ev. referens i fältet kursansvarig eller kursassistent,
ersätt med ”tom”)
 Aktivitet (Ta bort referens i fältet inlaggare eller doktorand ersätt
med ”tom”)
 Resurs (Tag bort alla poster med läraren som skapare)
Bör vara ovanligt att radera användare, deaktivering gör att de finns
kvar, men ej längre är valbara/sökbara i dropdownmenyer eller annan
inmatning av information.
Skapas, ändras & raderas av studierektor fr studierektor_användar-adm
Ändras (vissa uppgifter) av lärare från sida Lärare_mina_uppgifter
Status
Text Unique
Boolean
Koppling till Tabell
Anstalld->Avnnamn
Ä */auto
Ä *
3
Bilaga 1 - Datastruktur
Doktorand
Tabell:
Initiering:
Borttagning:
Behörighet:
Doktorand
Påverkar inga andra tabeller.
Skall ha unikt användarnamn relativt lärare,studierektor & doktorander
Påverkar:
 Lärare (Ta bort ev. referens i fältet handledning)
 Kurs (Ta bort ev. referens i fältet kursassistent)
 Arbetsberäkning (Raderas)
 Aktivitet (Ta bort alla som skapats av aktuell doktorand)
 Kurskommentar (indirekt borttagning via att alla aktiviteter tas bort)
Bör vara ovanligt att radera användare, deaktivering gör att de finns
kvar, men ej längre är valbara/sökbara i dropdownmenyer eller annan
inmatning av information.
Skapas, ändras & raderas av studierektor fr studierektor_användar-adm
Ändras av doktorand från Doktorand_mina_uppgifter
Fält
Anvnamn
skickaMail
Befattning
Handledare
StudrektKommentar
SenastInloggad
PrivatAnteckning
Status
Text Unique
Boolean
Text
Text
Text
Date
Text
Koppling
Ä
Anstalld->Anvnamn
Ä
Befattning->Namn
Anstalld->Anvnamn Ä
Ä
Ä
4
*/auto
Bilaga 1 - Datastruktur
Kurs
Tabell:
Initiering:
Borttagning:
Behörighet:
Kurs
Vid ”skapa ny kurs”: Lägg in referens på aktuellt läsår (fält: Kurslista)
Vid ”generera nytt år” skall referens till kursen läggas in på:
 nyskapade Läsåret (fält: Kurslista)
 den Lärare som anges som kursansvarig (fält: Egna kurser)
Påverkar:
 Aktivitet (Ta bort alla aktiviteter kopplade till kursen)
Skapas, ändras och raderas av studierektor från studierektor_kursadm,
Samt genereras från samma sida då nytt läsår genereras.
Fält
KursID
Forkortning
Namn
Artal
Bokstavsdel
Status
Varchar Unique
Varchar
Text
Int
Varchar
Koppling
AmneID
AnsvarigID
KursassistentID
Kursinfo
Assistenttjänst
Text
Text
Text
Text
Int
Amne->Namn
Anstalld->Anvnamn
Anstalld->Anvnamn
Ä
*/auto
*
Ä
Ä
5
Ä
Ä
Ä
Ä
*
Auto(från
foreg. år)
Bilaga 1 - Datastruktur
Aktivitet
Tabell:
Initiering:
Borttagning:
Behörighet:
Fält
ID
Aktivitet
Referens läggs in på:
 Doktorand (fält: Inlagda aktiviteter)
 Kurs (fält: Aktiviteter)
Skapa Kurskommentar om det inte finns någon tidigare aktivitet för
denna kurs registrerade för aktuell doktorand.
Referens tas bort från:
 Doktorand (fält: Inlagda aktiviteter)
 Kurs (fält: Aktiviteter)
Radera Kurskommentar om den borttagna aktiviteten är den sista för
doktoranden på aktuell kurs.
Skapas/Ändras/Raderas av
 Doktorand från Doktorand_start eller doktorand_kurs
 Studierektor från Studierektor_doktorand_kurs
Kursansvarig lärare kan endast skapa/ändra/radera planerade aktiviteter,
dock markera/avmarkera genomförda aktiviteter.
Koppling
Beskrivning
Omfattning
Förberedselse
StartDatum
SlutDatum
Planerad
MomentID
Inlaggare
Status
Auto
number
Text
Int
Int
Date
Date
Boolean
Text
Text
Kurs
Varchar
Kurs->KursId
Doktorand
Text
Anstalld->Anvnamn
Markerad
Boolean
Moment->Namn
Anstalld->Anvnamn
Ä
Ä
Ä
Ä
Ä
Ä
Ä
Ä
Ä
Ä
6
*/auto
Auto(tilldelas)
*
*
*/auto
*
Auto(Beroend
e på vem lagt
in)
*/Auto(Beron
de på varifrån
adderat)
Auto(Beroend
e på vem lagt
in)
Auto(Beroend
e på vem lagt
in)
Bilaga 1 - Datastruktur
Arbetsberakning
Tabell:
Arbetsberäkning
Initiering:
Skapas för innevarande år då ny doktorand skapas
Skapas även för alla doktorander då nytt år genereras av studierektor.
Referens läggs in i på respektive doktorand (fält: Arbetsberäkning).
Borttagning:
Raderas när en doktorand tas bort från systemet.
Behörighet:
Ändras av studierektor från sidan studierektor_användar-adm eller
studierektor_doktorand. Endast systemet självt som kan skapa/radera.
Fält
ID
Status
Auto number
Koppling
Ä
*/auto
Auto
(tilldelas)
Auto(beroende
på när skapas)
Doktorand
Text
Anstalld->Anvnamn
Lasar
AndelGRU
Int
Int
Lasar->LasarID
Ä
Auto(sätts till
10%)
ForaldraLedighet
OvrigLedighet
KvarvarandeTimmar
Int
Int
Int
Ä
Ä
Studierektorkommentar
Text
Ä
Auto(från
föreg. år)
7
Bilaga 1 - Datastruktur
Lasar
Tabell:
Initiering:
Borttagning:
Behörighet:
Läsår
Då nytt läsår genereras ska
 en ny Arbetsberäkning skapas för varje existerande doktorand.
 nya kurser skapas utifrån existerande kurser för det innevarande året
Vid borttagandet raderas samtliga:
 kurser för aktuellt läsår.
 Arbetsberäkningar för aktuellt läsår.
Skapas d.v.s. genereras av studierektor.
Ändras av studierektor
Ej specificerat om studierektor ska kunna radera läsår.
Fält
LasarID
TimmarPerDag
Status
Unik identifikator
(numeriskt t.ex.
0102, 0203, o.s.v.)
Int
Koppling
Ä
*/auto
Auto(nästa år)
Ä
Auto(föregående
års)
Auto(föregående
års)
Auto(föregående
års)
Auto(Default
false)
DagarPerAr
Int
Ä
ArbetstimmarPerAr
Int
Ä
Redigerbar
Boolean
Ä
Kurskommentar
Tabell:
Kurskommentar
Initiering:
Referens till posten ska föras in aktuell Kurs.
Borttagning:
Ta bort referens från aktuell Kurs
Behörighet:
Skapas/raderas av systemet självt
Ändras av doktorand, och då doktorand så tillåter av studierektorn
Fält
ID
Doktorand
Status
Auto number
Text
Koppling
Kurs
Varchar
Kurs->KursID
Kommentar
Privat
Text
Boolean
Ä
Anstalld->Anvnamn
Ä
Ä
8
*/auto
Auto(Tilldelas)
Auto(Beroende
på id inloggad)
Auto(Beroende
på gällande
kurs)
Bilaga 1 - Datastruktur
Moment
Tabell:
Initiering:
Borttagning:
Behörighet:
Moment
Påverkar inga andra tabeller.
Påverkar Aktivitet.
Tvinga användaren (studierektor) att välja ett kvarvarande moment att ersätta
det raderade med. Detta för att undvika null-värden i aktivitet-tabellen.
Skapas, ändras och raderas av studierektor från studierektor_variabler
Fält
Namn
Forberedelsetimmar
Varningsgrans
Befattning
Tabell:
Initiering:
Borttagning:
Status
Text Unique
Int
Int
Koppling
Ä
Ä
Ä
Ä
*/auto
*
*
Behörighet:
Befattning
Påverkar inga andra fält
Användaren ska uppmanas att välja en av de återstående posterna som
får ersätta förekomsten av den raderade posten, innan posten själv tas
bort.
Skapas/ändras/raderas av studierektor från sidan studierektor_variabler
Fält
Namn
Status
Text Unique
Avdelning
Tabell:
Initiering:
Borttagning:
Koppling
Ä
Ä
*/auto
*
Behörighet:
Avdelning
Påverkar inga andra fält
Användaren ska uppmanas att välja en av de återstående posterna som
får ersätta förekomsten av den raderade posten, innan posten själv tas
bort.
Skapas/ändras/raderas av studierektor från sidan studierektor_variabler
Fält
Namn
Status
Text
Koppling
9
Ä
Ä
*/auto
*
Bilaga 1 - Datastruktur
Amne
Tabell:
Initiering:
Borttagning:
Behörighet:
Ämne
Påverkar inga andra fält
Användaren ska uppmanas att välja en av de återstående posterna som
får ersätta förekomsten av den raderade posten, innan posten själv tas
bort.
Skapas/ändras/raderas av studierektor från sidan studierektor_variabler
Fält
Namn
Status
Text Unique
Koppling
Ä
Ä
*/auto
*
Ä
*/auto
Ä
*/auto
Dok
Visar alla doktorander med sina resp. kurser
Tabell:
Dok
Initiering:
Påverkar inga andra fält
Borttagning:
Behörighet:
Fält
Namn
Status
Text
Kursid
Text
Koppling
Doktorand>Anvnamn
Kurs->KursID
Assistent
Visar alla assistenter med sina resp. kurser
Tabell:
Assistent
Initiering:
Påverkar inga andra fält
Borttagning:
Behörighet:
Fält
Assistnamn
Status
Text
Kursid
Text
Koppling
Kurs>KursassistentID
Kurs->kursiD
10
Bilaga 2 - Systemdesign
2.2
Bilaga 2 Systemdesign
Detta dokument
Alla överenskomna ändringar i systemdesign och utformning av komponenter har uppdateras i
här. Detta dokument har legat till grund för utvecklingen, och är nu en förteckning över samtliga
existerande jsp- och servlett-komponenter. Datastruktur finns i separat dokument.
Teknikgruppen har varit ansvariga för samtliga servlet-komponenter.
Användargruppen har varit ansvariga för samtliga jsp-sidor.
Version
Datum
Kommentar
1.6
30 april Nya JSP:er doktorand_historik.jsp, doktorand_resurs.jsp, larare_resurs.jsp,
studierektor_resurs.jsp. Samtliga MenyRader har uppdaterats i och med att
dessa nya JSP.er tillkommit. De nya menyraderna finns sparade separat i
test/…/sytt doktorand_menyrad.jsp, larare_menyrad.jsp och
studierektor_menyrad.jsp.
1.5
29 april Ny Servlett servDropDownAmne
1.4
28 april Ny JSP studierektor_larare_kurs.
1.3
26 april Ny JSP studierektor_larare. Ändringar i servlettar ej gjorda
1.2
26 april doktorand_start.jsp: lagt till av indata
1.1
26 april Ny JSP Studierektor_dokt_kurs. Ändring i servDoktorandKurs, la till
variablen studrekt_kommentarer.
1.0
23 april servMenyrad skall ej användas, görs direkt i JSP sidorna
0.9
27 mars Specificerat indata per ”action” för alla huvudservletts
Nya frågetecken (de tidigare fördelade i arbetsplanen för v12-15!)
servLarareDoktorand & servDoktorandStart har slagits ihop till
servVisaDoktorand.
0.8
18 mars Samtliga servletts för sidpresentation samt doktorand-JSP klara
Konventioner
Språk
Svenska så långt det är möjligt
Namngivning
Servlets namnges enligt servDoktorandKurs eller servLarareStart
JSP-sidor namnges enligt doktorand_kurs.jsp eller larare_start.jsp
Generellt
 Alla servletts utnyttjar sessionsvariabler från användarens webbläsare för att veta vilken
användare som utför en handling eller begär en sida.
 Användare får ofta välja läsår. Denna information skall kommas ihåg av systemet, vilket
innebär att JSP-sidan ofta behöver lagra aktuellt_ar dolt på sidan och skicka vidare läsåret
till servlet vid anrop.

Avgränsningar
 I denna systemdesign finns historik och resurs enbart med som JSP sidor bestående av
menyrad + länk till startsida för resp. användare + gif bild (något modifierad version av de
1
Bilaga 2 - Systemdesign
som finns i /interface/skiss). De innehåller ingen funktionalitet, utan är bara en bild av hur
en historik respektive resurs sida skulle kunna se ut.
Förklaring till komponentbeskrivningar
Logik-komponenter (servlet)
Namn
Komponentens namn
Uppgift
Kort beskrivning
Relaterade JSP-sidor
De JSP-sidor som används för presentation av data från aktuell
komponent.
Indata
De parametrar som komponenten tar emot. Anrop sker via http
request
Data
Datatyp för indata, dock skickas alla parametrar som text/string i en
http-request. För varje ”action” (de parametrar som styr logiken)
anges istället vilka indata som kan/ska skickas tillsammans med
aktuell action. Dessa anges enligt:
1, 2
Ej obligatorisk, varierar ofta med användarens val
1*, 2*
Obligatoriskt
(1*), (2*) Obligatoriskt för vissa användare, oftast gäller detta då
indata är doktorand_id eller larare_id.
Verifiering/Kommentar
Kommentarer till parametrarna, beskrivning på action och dylikt.
Presentation-komponenter (JSP-sidor)
Namn
Komponentens namn
Tillhör
Vilken servlet som ger indata
Skärmdump
Referens till beskrivande bild
Utnyttjar
Vilka hjälp-/stödkomponenter som JSP-sidan använder
Data fr servlett
Vilken indata JSP-sidan får från servletten
Kommentar (till data)
Ev. kommentar till vad indata ska användas till
Anrop/Actions
Vilka servlet som anropas/länkas från JSP-sidan
Kommentar (till anrop)
Beskriver ovan nämnda anrop/actions. För att se vilken information
som måste skickas med krävs att man granskar respektive servletts
beskrivning.
2
Bilaga 2 - Systemdesign
Förteckning över beskrivna komponenter
servStatusbar .................................................................................................................................... 5
servDropdownArtal .......................................................................................................................... 5
servDropdownMoment ..................................................................................................................... 5
servDropdownKursnamn ................................................................................................................. 5
servDropdownDoktorand ................................................................................................................. 6
servDropdownLarare ........................................................................................................................ 6
servDropdownKursOmg .................................................................................................................. 6
ServDropdownAmne ........................................................................................................................ 6
servExpandDoktorand ...................................................................................................................... 6
servExpandKurs ............................................................................................................................... 7
ServSokning ..................................................................................................................................... 7
ServCheckLogin ............................................................................................................................... 7
ServMenyrad .................................................................................................................................... 8
ServSyttLogin................................................................................................................................... 9
sytt_login.jsp .................................................................................................................................... 9
ServSyttLogout................................................................................................................................. 9
sytt_logout.jsp .................................................................................................................................. 9
ServVisaDoktorand ........................................................................................................................ 10
doktorand_start.jsp ......................................................................................................................... 10
larare_doktorand.jsp ....................................................................................................................... 11
servDoktorandKurs ........................................................................................................................ 12
doktorand_kurs.jsp ......................................................................................................................... 13
studierektor_doktorand_kurs.jsp .................................................................................................... 14
servDoktorandUppgifter................................................................................................................. 15
doktorand_uppgifter.jsp ................................................................................................................. 16
doktorand_resurs.jsp ...................................................................................................................... 17
doktorand_historik.jsp .................................................................................................................... 17
ServAktivitet .................................................................................................................................. 17
addera_aktivitet.jsp ........................................................................................................................ 19
redigera_aktivitet.jsp ...................................................................................................................... 21
overfor_aktivitet.jsp ....................................................................................................................... 22
servLarareStart ............................................................................................................................... 23
larare_start.jsp ................................................................................................................................ 24
studierektor_larare.jsp .................................................................................................................... 24
servLarareKurs ............................................................................................................................... 25
larare_kurs.jsp ................................................................................................................................ 26
studierektor_larare_kurs.jsp ........................................................................................................... 27
servLarareUppgifter ....................................................................................................................... 28
larare_uppgifter.jsp ........................................................................................................................ 28
larare_resurs.jsp.............................................................................................................................. 29
servStudierektorStart ...................................................................................................................... 29
studierektor_start.jsp ...................................................................................................................... 30
servStudierektorDoktorand ............................................................................................................ 30
studierektor_doktorand.jsp ............................................................................................................. 31
servStudierektorVariabler .............................................................................................................. 31
studierektor_variabler.jsp ............................................................................................................... 33
3
Bilaga 2 - Systemdesign
servKursAdm ................................................................................................................................. 34
kurs_adm.jsp .................................................................................................................................. 35
servAnvAdm .................................................................................................................................. 36
anv_adm.jsp.................................................................................................................................... 37
servLasarAdm ................................................................................................................................ 38
lasar_adm.jsp .................................................................................................................................. 38
studierektor_resurs.jsp.................................................................................................................... 38
4
Bilaga 2 - Systemdesign
Hjälpklasser
 Verifiering
 Ev. sessionshantering typ CheckIfLoggedIn,
Servletts (hjälpkomponenter)
Namn
Uppgift
Indata
anv_id
servStatusbar
Namn
Uppgift
servDropdownArtal
Indata
aktuellt_ar
Namn
Uppgift
Indata
moment_id
Namn
Uppgift
Indata
kurs
aktuellt_ar
Returnera html-koden för hela statusbar-rutan
Data
Verifiering/Kommentar
ID
doktoranden vars statusbar skall visas
Returnera html-kod för en dropdown-meny med alla årtal som är inlagda i
systemet. Om inget årtal anges som indata sätts innevarande år som default.
Data
Verifiering/Kommentar
läsår
detta årtal skall anges som default i menyn
servDropdownMoment
Returnera html-kod för en dropdown-meny med alla moment som är inlagda i
systemet. Denna bör anpassas så att JavaScript fungerar bra, detta måste
undersökas med den som bygger JavaScript för automatisk ifyllnad av
förberedelsetid.
Data
Verifiering/Kommentar
ID
det moment skall anges som default i menyn. Om inget
anges skall texten ”Välj moment” anges som default.
servDropdownKursnamn
Returnera html-kod för en dropdown-meny med samtliga kursnamn för aktuellt
läsår. Dela upp kurser per ämne. Om kurs ej anges skall texten ”Välj kurs” vara
default. Om dropdown-menyn blir alltför bred bör detta åtgärdas genom att kapa
kursnamnen.
Data
Verifiering/Kommentar
ID
Om angesdenna kurs default i menyn
läsår
Om aktuellt_ar anges returneras kurser för detta läsår,
om inte använder man innevarande läsår.
5
Bilaga 2 - Systemdesign
Namn
Uppgift
Indata
anv_id
Namn
Uppgift
Indata
anv_id
Namn
Uppgift
Indata
kurs_id
Namn
Uppgift
Indata
amne
Namn
Uppgift
Indata
doktorand_id
servDropdownDoktorand
Returnera html-kod för en dropdown-meny med samtliga doktoranders namn,
fördelade på avdelningar. Visa endast de som är aktiva. Om ingen anv_id anges
skall texten ”Välj doktorand” anges som förinställt. Om dropdown-menyn blir
alltför bred bör detta åtgärdas genom att kapa
Data
Verifiering/Kommentar
ID
Om angesdenna doktorand default i menyn
servDropdownLarare
Returnera html-kod för en dropdown-meny med samtliga lärares och
studierektorers namn, fördelade på avdelningar. Visa endast de som är aktiva.
Om ingen anv_id anges skall texten ”Välj doktorand” anges som förinställt. Om
dropdown-menyn blir alltför bred bör detta åtgärdas genom att kapa namnen.
Data
Verifiering/Kommentar
ID
Om angesdenna lärare default i menyn
servDropdownKursOmg
Returnera html-kod för en dropdownmeny med de läsår som aktuell kurs har
givits. Leta reda på kurser mha kursförkortningens bokstavsdel. Det årtal som
den i indata givna kursen har skall sättas som defaultvärde i dropdownmenyn.
Om inget kurs_id anges skall texten ”Välj läsår” anges.
Data
Verifiering/Kommentar
ID
Den kurs vars alla läsår man skall returnera
ServDropdownAmne
Returnera html-kod för en dropdownmeny med alla ämnen som utgör
ämnesindelningen. Dessa läggs in av studierektorn på sidan
studierektor_variabler.jsp.
Data
Verifiering/Kommentar
ID
Eventuellt förval.
servExpandDoktorand
Returnera html-kod för en expanderbar meny med värden från databasen. Visar
enskild doktorands planerade och genomförda insatser på aktuella kurser.
Data
Verifiering/Kommentar
ID
Den doktorand man vill ha info om.
6
Bilaga 2 - Systemdesign
Namn
Uppgift
Indata
kurs_id
Namn
Uppgift
Indata
sok_typ
sokdata
kurs_ar
returservlet
direkt_servlet
Namn
Uppgift
Relaterade JSPsidor
Indata
1. anvnamn
2. losenord
action=””
servExpandKurs
Returnera html-kod för en expanderbar meny med värden från databasen. Visar
doktorandernas planerade och genomförda insatser på den aktuella kursen
Data
Verifiering/Kommentar
ID
Den kurs id vars man vill ha info om.
ServSokning
Söker efter angiven lärare, doktorand eller kurs.
Om en unik träff, skickas requesten vidare till servlet beroende på vad som sökts
efter och vem som utfört sökningen (användartyp fr session + sok_typ). De sidor
som användare vidarebefordras till om inget annat anges är:
larare_doktorand, larare_kurs, studierektor_larare, studierektor_larare_kurs och
studierektor_doktorand.
Om flera träffar eller inga, skickas requesten åter till anropande sida.
Data
Verifiering/Kommentar
”larare”,
Sökning kan ske efter dessa parametrar.
”doktorand”,
”kurs”
text
Namn eller kurskod/förkortning.
läsår
Används vid sökning på kurs, förutom vid sökning med
fullständig förkortning (d.v.s. förkortning med årtal).
text
Den servlet som skall anropas vid misslyckad sökning
eller om flera träfar funnits.
text
Gå direkt till denna om sökning lyckas, d.v.s. kolla inte
vilken användartyp mm.
ServCheckLogin
Kontrollera inloggningsuppgifter. Skicka autentiserad användare till
startsida beroende av roll.
Data
Verifiering/Kommentar
användarnamn
Lösenord
Användaren skickas efter kontroll av behörighet till
startsida beroende av dennes roll (som finns i databasen)
7
Bilaga 2 - Systemdesign
Namn
Uppgift
Indata
sida
anv_id
ServMenyrad
Ska returnera html-koden för komplett menyrad, används ej i dagens läge
Data
Verifiering/Kommentar
text
vilken sida som INTE ska länkas, dvs namnet på den jsp
som ropar efter menyraden. Om tom länkas alla sidor i
menyraden.
ID
användaren vars menyrad skall visas
8
Bilaga 2 - Systemdesign
Huvudkomponenter och relaterade JSP-sidor
Namn
Uppgift
Relaterade JSPsidor
Indata
action=””
ServSyttLogin
Inloggningssida. Frågar efter namn och lösenord.
sytt_login.jsp
Data
Verifiering/Kommentar
Användaren skickas efter kontroll av behörighet till
startsida beroende av dennes roll (som finns i databasen)
Namn
sytt_login.jsp
Tillhör
servSyttLogin.
Skärmdump
Utnyttjar
Data fr servlett Kommentar
Anrop/Actions
Kommentar
servCheckLogin
Logga in (action=””). Parametrarna "anvnamn" och "losenord"
måste skickas.
Namn
Uppgift
Relaterade JSPsidor
Indata
action=””
Namn
Tillhör
Skärmdump
Utnyttjar
Data fr servlett
Anrop/Actions
ServSyttLogout
Avslutar aktuell session. Meddelar att användaren är utloggad. Ger
möjlighet att logga in på nytt.
sytt_logout.jsp
Data
Verifiering/Kommentar
Användaren skickas efter kontroll av behörighet till
startsida beroende av dennes roll (som finns i batabasen)
sytt_logout.jsp
servSyttLogout.
Kommentar
Kommentar
9
Bilaga 2 - Systemdesign
Namn
Uppgift
Relaterade JSPsidor
Indata
1. aktuellt_ar
2. doktorand_id
action=””
3. anteckning
action=”spara”
ServVisaDoktorand
Doktorandens startsida, presentera data, erbjuda länkar vidare.
Spara anteckningar. Visa kursöversikt för olika årtal. (Denna är lik
servStudierektorDoktorand, som används av studierektor.)
doktorand_start.jsp
larare_doktorand.jsp
Data
Verifiering/Kommentar
läsår
det årtal som man skall se
ID
Används bara vid annan användare än doktorand. Anger
vilken doktorand vars sida/information som skall visas.
1, (2*)
Presentera respektive jsp-sida för användaren. Om
aktuellt_ar är angiven, skall detta årtal användas, annars
innevarande läsår.
text
maxlängd 300 tkn
1, 3*
Spara anteckningen, visa doktorand_start.jsp på nytt.
Kan ej utföras av lärare. (Om angiven ska aktuellt_ar
användas vid presentation av sidan, annars innevarande
läsår.)
Namn
Tillhör
Skärmdump
Utnyttjar
Data fr servlett
namn
anteckningar
kurs_block
anv_id
planerat
genomfort
Anrop/Actions
servVisaDoktorand
servVisaDoktorand
servDoktorandKurs
servAktivitet
doktorand_start.jsp
servVisaDoktorand
servDropdownArtal
servStatusbar
Kommentar
Ses bara av doktorand
Komplett html-kod för expanderbart kursblock.
AnvändarID, vad används denna till?
Kommentar
Spara anteckning (action=”spara”)
Byt läsår (action=””)
Titta på en kurs (action=””)
Öppna pop-up för att addera aktivitet (action=”visa_addera”,
kurs_valbart=true)
10
Bilaga 2 - Systemdesign
Namn
Tillhör
Skärmdump
Utnyttjar
larare_doktorand.jsp
servVisaDoktorand
servDropdownArtal
servStatusbar
Kommentar
Data fr servlett
doktorand_namn
doktorand_id
epost
avdelning
handledare
handledare_epost
kurs_block
Komplett html-kod för expanderbart kursblock.
anv_id
Lärarens användarID, används för att få sidhuvud.
Anrop/Actions
Kommentar
servVisaDoktorand
Byt läsår (action=””)
servLarareKurs
Titta på en kurs (action=””)
servAktivitet
Öppna pop-up för att addera aktivitet (action=”visa_addera”,
kurs_valbart=true)
11
Bilaga 2 - Systemdesign
Namn
Uppgift
Relaterade JSPsidor
Indata
1. kurs_id
2. doktorand_id
servDoktorandKurs
Logik för kurssidan för en enskild doktorand.
Används av både studierektor och doktorand, vilken jsp respektive
användare skall se avgörs utifrån sessionsvariablerna.
doktorand_kurs.jsp
studierektor_doktorand_kurs.jsp
Data
Verifiering/Kommentar
ID
Den kurs som skall presenteras
ID
Den doktorand vars info för ovan angiven kurs skall visas.
Utnyttjas då användare=studierektor, annars används
sessionsvariabeln.
1*, (2*) Visa lagrad information om kursen för aktuell doktorand.
text
Max 300 tkn
text
Max 300 tkn
action=””
3. kursinfo
6.
studrekt_kommentar
action=”spara”
1*, 3*,
2*, 4,
(6*)
4. aktuellt_ar
läsår
action=
1*, 4*
”visa_kurs”
(2*)
5. aktivitet_id
ID
action=
1*, 5*,
”radera_aktivitet”
(2*), 4
Om användare=studierektor  spara kursinfo och
studrekt_kommentar (denna används bara på
studierektor_doktorand_kurs.jsp). Visa sedan jsp igen
Visa kurssidan för ovan angivet årtal, leta alltså reda på kurs
med samma bokstavsdel av förkortningen, men för aktuellt_ar
ID för den aktivitet som skall raderas
Verifiera att användaren har behörighet att utföra raderingen.
Radera sedan specificerad aktivitet och presentera sedan
respektive jsp igen.
12
Bilaga 2 - Systemdesign
Namn
doktorand_kurs.jsp
Tillhör
ServDoktorandKurs
Skärmdump
Utnyttjar
servDropdownKursOmg
Övrig info
Data fr servlett
Kommentar
kursansv_namn
kursansv_epost
kurs_block
Komplett html-kod för expanderbart kursblock.
anv_id
Doktorandens användar-ID, används för att be om menyrad
kurs_info
kurs_forkort
kurs_kod
kurs_namn
kurs_id
Används för att be om dropdown-meny
Anrop/Actions
Kommentar
servDoktorandKurs
Se annan kursomgång dvs annant år (action=”visa_kurs”)
servAktivitet
Öppna pop-up för att addera aktivitet (action=”visa_addera”)
servAktivitet
Öppna pop-up för att redigera en specifik aktivitet
(action=”visa_andra”, aktivitetID)
servAktivitet
Öppna pop-up för att överföra en specifik aktivitet
(action=”visa_genomf”, aktivitetID)
servDoktorandKurs
Radera en aktivitet (action=”radera_aktivitet”, aktivitetID) En popupp ska fråga om man verkligen vill radera.
13
Bilaga 2 - Systemdesign
Namn
studierektor_doktorand_kurs.jsp
Tillhör
SerDoktorandKurs
Skärmdump
Utnyttjar
ServDropdownKursOmg
Övrig info
Data fr servlett
Kursinformation, Egna kommentarer
kursansv_namn
kursansv_epost
kurs_block
Komplett html-kod för expanderbart kursblock. Kursblock_lärare_dokt_kurs
anv_id
Studierektorns användar-ID, används för att be om menyrad
kurs_info
kurs_forkort
Skrivs ut & Används för att be om dropdown-meny
kurs_kod
kurs_namn
kurs_id
Används för att be om dropdown-meny
Doktorand_id
Används för att be om dropdown-meny
Anrop/Actions
Kommentar
servDoktorandKurs
Se annan kursomgång dvs annant år (action=”visa_kurs”)
servAktivitet
Öppna pop-up för att addera aktivitet (action=”visa_addera”)
servAktivitet
Öppna pop-up för att redigera en specifik aktivitet
(action=”visa_andra”, aktivitetID)
servDoktorandKurs
Radera en aktivitet (action=”radera_aktivitet”, aktivitetID) En popupp ska fråga om man verkligen vill radera.
14
Bilaga 2 - Systemdesign
Namn
Uppgift
Relaterade JSPsidor
Indata
1. namn
2. epost
3. handledare_id
4, p_mejl
5. visa_kod
servDoktorandUppgifter
Logik för att hantera en doktorands uppgifter och inställningar. Visar
uträkning av tjänst för innevarande år, eller av doktoranden angivet
aktuellt_ar
doktorand_uppgifter.jsp
Data
text
text
ID
boolean
boolean
6. ny_losen1
7. ny_losen2
8. gammal_losen
action= ”spara”
alfanumeriskt
alfanumeriskt
alfanumeriskt
1*, 2*, 4*, 5*, 9
action=”byt”
6*, 7*, 8*, 9
9. aktuellt_ar
läsår
action=””
9
Verifiering/Kommentar
användarens riktiga namn, max 30 tkn
kolla att korrekt epostadress
handledarens användarID, (studierektor eller lärare)
huruvida doktoran önskar påminnelsemejl,
doktorandens preferens för kod/förkortning. True=visa
kurskod.
nytt lösenord
nytt lösenord, kolla att identiskt med ovanstående
kolla att ett korrekt lösenord angivits.
Spara data/uppgifterna, visa sidan på nytt, (sätt ev status
så att JSP-vet att uppdatering lyckats)
verifiera lösenorden, byt lösenord, visa jsp-sidan på nytt.
(sätt ev status så att JSP-vet att uppdatering lyckats)
Visa sidan med uträkning av tjänst för aktuellt_ar. Denna
parameter kollas alltid, om =null  visa uträkning för
innevarande läsår.
Presentera sidan, om aktuellt_ar är angivet skall detta års
timuträkning skickas med, annars innevarande läsårs.
15
Bilaga 2 - Systemdesign
Namn
Tillhör
Skärmdump
Utnyttjar
Övrig info
Data fr servlett
anv_id
anv_namn
avdelning
namn
handledare
paminnelse
visa_kod
aktuellt_ar
arbetstid
andel_gru
assistent_avdrag
doktorand_uppgifter.jsp
servDoktorandUppgifter
servDropdownArtal
servDropdownLarare
Se till att handledare endast är valbart som dropdown, ej fritext. Väljs av
studierektor från användar administration
Kommentar
boolean
boolean, anger doktorandens preferens
Det år som uträkning av tjänst gäller för.
Antal procent nedsättning av heltid för att arbeta som assistent. Summerad för
de kurser som doktoranden är kursassistent i.
ledig_proc
Ledighet i procent
ledig_dagar
Ledighet i dagar
tillgodo
Timmar från året innan
Anrop/Actions
Kommentar
servDoktorandUppgifter
Spara ändringar (action=”spara”)
servDoktorandUppgifter
Byt lösenord (action=”byt”)
servDoktorandUppgifter
Visa uträkning för anat år (action=””)
16
Bilaga 2 - Systemdesign
Namn
Tillhör
Skärmdump
Utnyttjar
Övrig info
Data fr servlett
anv_id
anv_namn
doktorand_resurs.jsp
Namn
Tillhör
Skärmdump
Utnyttjar
Övrig info
Data fr servlett
anv_id
anv_namn
doktorand_historik.jsp
Namn
Uppgift
Relaterade JSPsidor
Indata
1. kurs_id
2. doktorand_id
3. moment_id
4. omfattning
5. forberedelse
6. datum1
7. datum2
8. planerad
9. aktivitet_id
10. kurs_valbart
Sidan består av menyrad+länk+bild
Kommentar
Sidan består av menyrad+länk+bild
Kommentar
ServAktivitet
Att hantera inmatning av nya aktiviteter, ändring av befintliga samt överförsel
av planerade till genomförda.
addera_aktivitet.jsp
redigera_aktivitet.jsp
overfor_aktivitet.jsp
Data
Verifiering/Kommentar
ID
kolla att kursen existerar
ID
doktorandens ID, används enbart då då
användare=studierektor/lärare, annars utgå från sessionvariablerna. Kolla att doktorand existerar
ID
kolla att momentet existerar
Numeriskt
Numeriskt
YYYYMMDD
obligatoriskt!
YYYYMMDD
ej obligatoriskt. kolla om finns smidigare datumformat
Boolean
planerad=false innebär att den är genomförd.
ID
Den aktivitet som redigeras eller överförs (existerar
endast vid dessa). Kolla att den verkligen existerar
Boolean
anger om användaren skall få påverka (välja) vilken kurs
som det gäller eller inte Denna parameter skickas vidare
till JSP:n som behöver informationen. Alternativt tar vi
in en parameter som anger vilken JSP-sida varifrån
anropet/begäran sker
17
Bilaga 2 - Systemdesign
11. beskrivning
text
12.
boolean
doktorand_valbart
action=
”visa_addera”
action=
”visa_andra”
action=
”visa_genomford”
action= ”spara”
1, 2, 10, 12
Beskrivning av aktiviteten
Anger om användaren skall få välja vilken doktorand
som aktiviteten gäller. Behandlas som kurs_valbart,
ovan.
Visa jsp med så många givna parametrar som möjligt.
9*
Visa jsp med så många givna parametrar som möjligt.
9*
Visa jsp med så många givna parametrar som möjligt.
4*, 5*, 6*, 7,
9*,11*
action= ”addera”
1*, (2*), 3*, 4*, 5*,
6*, 7, 8*, 10, 11*
action= ”overfor”
1*, 3, 4, 5, 6, 7, 9*,
11
Efter att verifiering av indata gjorts  Ersätt databasens
information om aktiviteten med indata från användaren.
OBS Ändra endast de poster som kommer ifrån JSP!!!
Uppdatera användarens vy, tex genom att anropa
användarens kursvy dvs servDoktorandKurs,
servVisaDoktorandosv.
Efter att verifiering av indata gjorts  Skapa aktivitet
utifrån indata från användaren. Visa sedan
addera_aktivitet.jsp igen, med status satt till lämpligt
meddelande och skicka med samma moment och kurs
(samt doktorand_id då användare=lärare) som just
adderats. Skicka även med kurs_valbart, som ej skall
ändras i servletten. Uppdatera även användarens vy.
Verifiera indata samt jämför med databasens
information.
Om inga ändringar gjorts  Sätt aktiviteten till
genomförd, uppdatera användarens vy.
Om användarens inmatade omfattning eller förberedelse
är lägre än databasens OCH befintlig post innehåller
både datum 1 och 2  skapa ny genomförd aktivitet
med all indata, subtrahera inmatad omfattning och
förberedelse från den befintliga posten (som ej ändras på
annat sätt), uppdatera användarens vy.
Om andra ändringar gjorts  Ändra aktiviteten utifrån
indata, sätt den till genomförd, uppdatera användarens
vy.
18
Bilaga 2 - Systemdesign
Namn
Tillhör
Skärmdump
Utnyttjar
Övrig info
addera_aktivitet.jsp
servAktivitet
servDropdownKursnamn
servDropdownDoktorand
servDropdownMoment
Förhållandet mellan huvudservlett, JSP-sida och hjälpservletts beror på
hur vi kan lösa stängning/uppdatering av pop-up/underliggande fönster
samt hur vi kan utforma JavaScript för att automatiskt fylla I värden I
själva pop-up-fönstret.
Rubriken upp till vänster anpassas beroende på vad JSP får för indata dvs
hur mycket vi vet resp vilka parametrar som är valbara.
Möjligheten att ”Addera och stäng” är borttagen på anv begäran.
Kommentar
Statusrapport från servlett som meddelar resultatet av föregående action.
Ska presenteras tydligt, tex högst upp i pop-up-fönstret. Kan vara tom,
och visas då inte (ej heller blank rad). Kan vara tex ”Fel datumformat,
försök igen”, ”Ej möjlig datumperiod, försök igen”, ”Aktiviteten sparad,
addera fler eller stäng fönstret.”
kurs_valbart
boolean, anger om kurs skall vara valbart för användaren, antingen via
dropdown-meny eller textfält. Om inte anges kurs i rubriken.
kurs_id
Då kurs ska väljas används ev kurs_id för att få rätt kurs default i
dropdown_menyn. Annars lagras den dolt för att skickas med vid action.
kurs_kod_forkortning Detta kan vara kod eller forkortning, denna anges så att användaren vet
vilken kurs han/hon adderar aktiviteter för, tex I rubriken. Om det är kod
eller förkortning beror på användarens preferens vilket kollas i servletten.
doktorand_id
Den doktorand som man adderar aktivitet åt. Endast nödvändig då lärare
adderar aktiviteter åt en doktorand. Om doktorand_id anges används detta
för att rätt doktorand skall visas som förinställt värde i dropdown-menyn.
doktorand_valbart
Boolean. Om sant skall användaren få ange vilken doktorand han/hon vill
addera aktivitet åt. Valet görs från dropdown-meny
planerad
boolean, =false betyder att den är genomförd. Om ej angiven ska
genomförd visas som default.
moment_id
Om angiven skall den vara default i dropdown-menyn. (Ev behöver
denna meny skapas i JSP:n för att lyckas med JavaScript. Då bör
servletten istället skicka en sträng med de olika momenten på formen
”antal moment$momentID$momentnamn$förberedelsetid$
varningsgräns$ och sedan data för moment nr 2 osv så många moment
som angavs som första parameter. Denna sträng kan enkelt parsas i JSPoch omvandlas till en dropdown.)
omfattning
Om angiven skall antalet timmar sättas default i tillhörande fält
forberedelse
Om angiven skall antalet timmar sättas default i tillhörande fält, summera
då också och sätt ut summan.
Data fr servlett
status
19
Bilaga 2 - Systemdesign
datum1
datum2
beskrivning
Anrop/Actions
servAktivitet
Om angivet, sätt ut datumet. Annars dagens datum.
Om angivet, sätt ut datumet, annars tomt.
om angivet sätt ut texten, annars tomt.
Kommentar
Addera aktiviteten (action=”addera”) ge all data till servletten.
20
Bilaga 2 - Systemdesign
Namn
Tillhör
Skärmdump
Utnyttjar
Övrig info
redigera_aktivitet.jsp
servAktivitet
servDropdownKursnamn
servDropdownDoktorand
servDropdownMoment
Stora likheter med addera_aktivitet.jsp. Se denna för kommentarer.
Föreslaget att användaren skall kunna ändra moment, kurs samt
genomför/planerad. ENDAST Moment skall kunna ändras!! Utseendet
blir mycket likt addera_aktivitet.jsp.
Frågetecken: Ska lärare kunna byta doktorand för aktiviteten? -NEJ
Data fr servlett
Kommentar
aktivitet_id
Lagras dolt och skickas med till servlet vid action.
kurs_valbart
boolean, anger om kurs skall vara valbart för användaren, antingen via
dropsown-meny eller textfält. Om inte anges kurs_kod_forkortning i
rubriken.
kurs_id
Om kurs får väljas används kurs_id för att få rätt kurs default i
dropdown-menyn.
kurs_kod_forkortning Detta kan vara kod eller forkortning, denna anges så att användaren vet
vilken kurs han/hon redigerar aktiviteter för, tex i rubriken. Om det är
kod eller förkortning beror på användarens preferens vilket kollas i
servletten.
doktorand_id
Den doktorand som man redigerar aktivitet åt. Endast nödvändig då
lärare redigerar aktiviteter åt en doktorand. Om doktorand_id anges
används detta för att rätt doktorand skall visas som förinställt värde i
dropdown-menyn. Kommer ej visas ngn dropdown, men datan kan
behövas ändå…
doktorand_valbart
Behövs ej pga att det ej skall gå att välja doktorand
planerad
Behövs ej pga att det ej skall gå att ändra mellan planerad/genomförd här
moment_id
Skall vara default i dropdown-menyn. (se dessutom kommentar för
addera_aktivitet.jsp vid moment_id)
omfattning
Sätts in i tillhörande fält
forberedelse
Sätts in i tillhörande fält
datum1
Sätts in i tillhörande fält
datum2
Sätts in i tillhörande fält, om ej angiven lämnas fältet tomt
beskrivning
Sätts in i tillhörande fält, om ej angiven lämnas fältet tomt
Anrop/Actions
Kommentar
ServAktivitet
Addera aktiviteten (action=”spara”) ge all data till servletten.
21
Bilaga 2 - Systemdesign
Namn
Tillhör
Skärmdump
Utnyttjar
Övrig info
Data fr servlett
aktivitet_id
overfor_aktivitet.jsp
servAktivitet
servDropdownMoment
Stora likheter med addera_aktivitet.jsp. Se denna för kommentarer.
Föreslaget att sidan ska visa vilken kurs aktiviteten som ska överföras
tillhör
Kommentar
Lagras dolt och skickas med till servlet vid action.
kurs_kod_forkortning Detta kan vara kod eller forkortning, denna anges så att användaren vet
vilken kurs han/hon överför aktiviteten för, tex i rubriken. Om det är kod
eller förkortning beror på användarens preferens vilket kollas i servletten.
doktorand_valbart
Skall ej vara möjligt att göra …
planerad
boolean, =false betyder att den är genomförd. Sätts in som default.
moment_id
Anges så att användaren vet vilket moment aktiviteten tillhör.
omfattning
Sätts in i tillhörande fält
forberedelse
Sätts in i tillhörande fält
datum1
Sätts in i tillhörande fält
datum2
Sätts in i tillhörande fält, om ej angiven lämnas fältet tomt
beskrivning
Sätts in i tillhörande fält, om ej angiven lämnas fältet tomt
Anrop/Actions
Kommentar
servAktivitet
Addera aktiviteten (action=”overfor”) ge all data till servletten.
22
Bilaga 2 - Systemdesign
Namn
Uppgift
Relaterade
JSP-sidor
Indata
1. aktuellt_ar
2. larare_id
action= ””
3. sok_typ
4. sok_resultat
action=
”inga_traffar”
action=
”flera_traffar”
servLarareStart
Lärarens startsida, presentera data, erbjuda länkar vidare. Spara anteckningar.
Visa kursöversikt för olika årtal. Servletten används dessutom för studierektors
vy över lärare. (Enda skillnad mellan JSP:erna är att studierektor får se
planerat/genomfört, dvs skicka olika html-tabeller till respektive jsp.)
larare_start.jsp
studierektor_larare.jsp
Data
Verifiering/Kommentar
Läsår
ID
Den lärare som studierektorn skall se, anges bara vid
anrop fr studierektorer.
1, (2*)
Visa respektive jsp med kurser för angivet läsår, om
aktuellt_ar ej angivits används innevarande läsår
”larare”
Sökt datatyp
”doktorand”
”kurs”
String
Separerar alla resultat mha ”&”.
3*,
Sökningen resulterade i inga funna. Sätt sok_status till
jsp. Vad som sökts efter ses på sok_typ.
3*, 4*
Skicka vidare träffarna i sok_resultat till repektive jsp,
samt ange vad som sökts efter.
23
Bilaga 2 - Systemdesign
Namn
Tillhör
Skärmdump
Utnyttjar
Övrig info
Data fr servlett
anv_id
namn
epost
html_tabell
aktuellt_ar
kurs_res
doktorand_res
sok_status
Anrop/Actions
servLarareStart
servLarareKurs
servSokning
larare_start.jsp
ServLarareStart
servDropdownArtal
Kommentar
Användarens ID, används för att be om menyrad
Komplett html-kod för et tabell innehållande lärarens kurser, bygger på hans
preferens för kod/förkortning.
Det årtal som kurser visas för, detta årtal används dessutom för att be om
dropdown för årtal.
Om en sökning har gett flera traffar ges en sträng med träffarna, separerade
med &..
Om inga träffar gavs får vi ett statusmeddelande från servletten, tex ”Inga
träffar, försök igen”
Kommentar
Se kurser för annat läsår (action=”nytt_ar”)
Om man klickar på en kurs ska man komma till lärarens kurssida.
(action=””, kurs=Id för kursen)
Ange sökparametrar. Utnyttjar samma servlett för all sokning.
Namn
studierektor_larare.jsp
Tillhör
ServLarareStart- osäker
Skärmdump
Utnyttjar
ServDropdownArtal, ServDropDownLärare
Övrig info
Data fr servlett
Kommentar
anv_id
Användarens ID, används för att be om menyrad
namn
epost
avdelning
html_tabell
Kursblock_studierektor_lärare, bygger på hans preferens för kod/förkortning.
aktuellt_ar
Det årtal som kurser visas för, detta årtal används dessutom för att be om
dropdown för årtal.
sok_status
Om inga träffar gavs får vi ett statusmeddelande från servletten, tex ”Inga
träffar, försök igen”
Anrop/Actions
Kommentar
ServLarareStart?
Se kurser för annat läsår (action=”nytt_ar”)
servLarareKurs
Om man klickar på en kurs ska man komma till studierektor_lärare_
kurssida. (action=””, kurs=Id för kursen)
servSokning
Ange sökparametrar. Utnyttjar samma servlett för all sokning.
24
Bilaga 2 - Systemdesign
Namn
Uppgift
Relaterade JSPsidor
Indata
1. aktuellt_ar
2. assistent_id
3. kurs_id
4. kursinfo
5. aktivitet
action=””
servLarareKurs
Logik för kurssidan. Utnyttjas av både studierektor och lärare. Om användare
väljer att byta läsår bör JSP-sidan lagra detta byte i en dold variabel och
skicka med det aktuella året vid varje anrop, detta för att användarens val ska
”kommas ihåg” av systemet.
larare_kurs.jsp
studierektor_larare_kurs.jsp
Data
Verifiering/Kommentar
läsår
ID
doktorand
ID
text
ID
Den aktivitet som skall avmarkeras
3*, 1
Presentera kursen. Om parametern ”aktuellt_ar”
angivits skall detta läsår användas, annars innevarande
läsår. (Detta gäller alla actions)
1, 3*, 4*
Spara kursinformation.
action=
”spara_kursinfo”
action=
1, 3*, 5*
”avmarkera”
avmarkera aktivitet, dvs sätt aktivitetens fält för
markering till false, presentera sedan sidan på nytt
25
Bilaga 2 - Systemdesign
Namn
Tillhör
Skärmdump
Utnyttjar
larare_kurs.jsp
servLarareKurs
servDropdownKursOmg
servDoktorandinsats
servExpandDoktorand
Övrig info
Data fr servlett
Kommentar
kursansv_namn
kursansv_epost
kursassistent_namn
kursassistent_epost
anv_id
Lärarens användar-ID, används för att be om menyrad
kurs_info
kurs_forkort
kurs_kod
kurs_namn
kurs_id
Används för att be om dropdown-meny
Anrop/Actions
Kommentar
servLarareKurs
Spara kursinfo (action=”spara_kursinfo”)
servLarareKurs
Avmarkera (action=”avmarkera”)
servAktivitet
Öppna pop-up för att addera aktivitet (action=”visa_addera”)
servAktivitet
Öppna pop-up för att redigera en specifik aktivitet
(action=”visa_andra”, aktivitetID)
servAktivitet
Öppna pop-up för att överföra en specifik aktivitet
(action=”visa_genomf”, aktivitetID)
26
Bilaga 2 - Systemdesign
Namn
Tillhör
Skärmdump
Utnyttjar
studierektor_larare_kurs.jsp
servLarareKurs
servDropdownKursOmg
servDoktorandinsats
servExpandDoktorand
Övrig info
Data fr servlett
Kommentar
kursansv_namn
kursansv_epost
kursassistent_namn
kursassistent_epost
anv_id
Studierektorns användar-ID, används för att be om menyrad
kurs_info
kurs_forkort
kurs_kod
kurs_namn
kurs_id
Används för att be om dropdown-meny
Anrop/Actions
Kommentar
servLarareKurs
Spara kursinfo (action=”spara_kursinfo”)
servLarareKurs
Avmarkera (action=”avmarkera”)
servAktivitet
Öppna pop-up för att addera aktivitet (action=”visa_addera”)
servAktivitet
Öppna pop-up för att redigera en specifik aktivitet
(action=”visa_andra”, aktivitetID)
servAktivitet
Öppna pop-up för att överföra en specifik aktivitet
(action=”visa_genomf”, aktivitetID)
27
Bilaga 2 - Systemdesign
Namn
Uppgift
Relaterade
JSP-sidor
Indata
1. namn
2. epost
3. visa_kod
servLarareUppgifter
4. ny_losen1
5. ny_losen2
6.
gammal_losen
action=””
action=
”spara”
action= ”byt”
alfanumeriskt
alfanumeriskt
alfanumeriskt
Logik för att hantera en lärare uppgifter och inställningar.
larare_uppgifter.jsp
Data
text
text
boolean
1*, 2*, 3*
4*, 5*, 6*
Verifiering/Kommentar
användarens riktiga namn, max 30 tkn
kolla att korrekt epostadress
doktorandens preferens för kod/förkortning. True=visa
kurskod.
nytt lösenord
nytt lösenord, kolla att identiskt med ovanstående
kolla att ett korrekt lösenord angivits.
Visa jsp-sidan
Spara data/uppgifterna, visa sidan på nytt, (sätt ev status
så att JSP-vet att uppdatering lyckats)
verifiera lösenorden, byt lösenord, visa jsp-sidan på nytt.
(sätt ev status så att JSP-vet att uppdatering lyckats)
Namn
larare_uppgifter.jsp
Tillhör
servLarareUppgifter
Skärmdump
Utnyttjar
Övrig info
Data fr servlett
Kommentar
anv_id
Doktorandens användar-ID, används för att be om menyrad
namn
visa_kod
boolean, anger doktorandens preferens
Anrop/Actions
Kommentar
servLarareUppgifter
Spara ändringar (action=”spara”)
servLarareUppgifter
Byt lösenord (action=”byt”)
28
Bilaga 2 - Systemdesign
Namn
Tillhör
Skärmdump
Utnyttjar
Övrig info
Data fr servlett
anv_id
anv_namn
Namn
Uppgift
Relaterade
JSP-sidor
Indata
1. aktuellt_ar
action= ””
2. sok_typ
3. sok_resultat
action=
”inga_traffar”
action=
”flera_traffar”
larare_resurs.jsp
?
Sidan består av menyrad+länk+bild
Kommentar
servStudierektorStart
Presentera studierektorns olika ingångar till systemet. Om användare väljer att
byta läsår bör JSP-sidan lagra detta byte i en dold variabel och skicka med det
aktuella året vid varje anrop, detta för att användarens val ska ”kommas ihåg” av
systemet.
studierektor_start.jsp
Data
läsår
1
”larare”
”doktorand”
”kurs”
String
Verifiering/Kommentar
Presentera JSP-sidan. Om parametern ”aktuellt_ar”
angivits skall detta läsår användas, annars innevarande
läsår. (aktuellt_ar är det årtal för vilket kursdropdown
ska presenteras.)
Sökt datatyp
Separerar alla resultat mha ”&”.
Sökningen resulterade i inga funna. Sätt
statusmeddelande till jsp:n. Vad som sökts efter ses på
sok_typ.
Skicka vidare träffarna i sok_resultat till jsp, samt ange
vad som sökts efter.
29
Bilaga 2 - Systemdesign
Namn
Tillhör
Skärmdump
Utnyttjar
Övrig info
Data fr servlett
anv_id
namn
visa_kod
Anrop/Actions
servSokning
servAnvAdm
Namn
Uppgift
Relaterade JSPsidor
Indata
1. doktorand_id
2. aktuellt_ar
action= ””
3. andel_gru
4. ledighet_proc
5.
ledighet_dagar
6. kommentar
action= ”spara”
studierektor_start.jsp
servStudierektorStart
servDropdownArtal
servDropdownMoment
servDropdownLarare
servDropdownDoktorand
Kommentar
Studierektorns användar-ID, används för att be om menyrad
boolean, anger doktorandens preferens
Kommentar
Sökning (action=””)
Skapa ny användare (action= ”skapa_anvandare”)
servStudierektorDoktorand
Presenterar information om en specifik doktorands arbetsbelastning och kurser
för studierektor. Arbetsbelastningen är ändringsbar, (obs att nedsättning för
assistenttjänst ej är ändringsbart härifrån, det är bara ändringsbart på
kursadministrationen.)
studierektor_doktorand.jsp
Data
Verifiering/Kommentar
ID
Den doktorand som skall ses/redigeras
läsår
det årtal som man skall se
1*, 2
Visa jsp med kurser för ”aktuellt_ar”, om denna
parameter ej angivits skall det innevarande läsåret
användas.
Numeriskt
Procentantal(0-100)
Numeriskt
Procentantal(0-100)
Numeriskt
Antal dagar
text
1*, 2, 3*, 4*, 5*,
6*
Studierektors kommentar om doktorand, (maxlängd ???)
Verifiera att (användare=studierektor) och att indata är
okej/existerar. Spara sedan informationen och presentera
jsp-sidan igen på samma sätt som action=””.
30
Bilaga 2 - Systemdesign
Namn
Tillhör
Skärmdump
Utnyttjar
studierektor_doktorand.jsp
servStudierektorDoktorand
servDropdownArtal
servStatusbar
servExpandDoktorand
Övrig info
Data fr servlett
Kommentar
anv_id
Studierektorns användar-ID, används för att be om menyrad
doktorand_namn
doktorand_epost
handledare_namn
handledare_epost
avdelning
arbetstid
andel_gru_proc
foraldraledigt
ovrigt_ledigt
tillgodo
kommentar
Anrop/Actions
Kommentar
servStudierektorDoktorand Visa med nytt årtal (action=””)
servStudierektorDoktorand Spara (action=”spara”)
servAnvAdm
Användar administration, doktorand_id skickas med (action=””)
Namn
Uppgift
servStudierektorVariabler
Relaterade JSPsidor
Indata
action=””
1. varning_text
Data
2. mejl_text
Studierektorns möjlighet att redigera variabler. Efter att ändringar sparats
skall sidan presenteras på nytt. Verifiera att användaren är studierektor!
studierektor_variabler.jsp
text
text
action=
1*, 2*
”spara_texter”
3. radera_id
id
action=
3*
”radera_avdelning”
”radera_befattning”
”radera_amne”
Verifiering/Kommentar
Presentera sidan.
Varningsmeddelandet som visas vid inmatnig av för
högt antal förberedelsetimmar
Text för det påminnelsemejl som skall skickas till de
doktorander som så angivit.
Spara varning_text och mejl_text, presentera sedan
jsp på nytt.
id för den post som skall raderas
Radera den post som anges i
31
Bilaga 2 - Systemdesign
”radera_moment”
id_1
data_1
id_2
data_2
osv
action=
”spara_avdelning”
”spara_befattning”
”spara_amne”
action=
”ny_avdelning”
”ny_befattning”
”nytt_amne”
id_1
namn_1
timmar_1
varning_1
id_2
namn_2
timmar_2
varning_2
osv
action=
”spara_moment”
action=
”nytt_moment”
ID
text
ID
text
alla ”id-data”-par
ovan.
id för tabellpost nr 1
text som skall lagras för post nr 1
id för tabellpost nr 2
text som skall lagras för post nr 2
JSP-sidans parameternamn för avdelning, befattning
och ämne är identiska eftersom de har olika actions,
se nedan.
Spara de ”id-data”-par som tagits emot för respektive
tabell.
data_1*
Skapa ny post i korrekt tabell med värden angivna i
data_1.
ID
text
numeriskt
numeriskt
ID
text
numeriskt
numeriskt
id för tabellpost nr 1
text som skall lagras för post nr 1
förberedelsetid för moment-post nr 1
varningsgräns för moment-post nr 1
id för tabellpost nr 2
text som skall lagras för post nr 2
förberedelsetid för moment-post nr 2
varningsgräns för moment-post nr 2
samtliga:
id_x, namn_x,
timmar_x och
varning_x
namn_1*
timmar_1*
varning_1*
Spara ändringarna som gjorts för moment
Skapa ny post i tabellen moment, med data från
namn_1, timmar_1 och varning_1.
32
Bilaga 2 - Systemdesign
Namn
Tillhör
Skärmdump
Utnyttjar
Övrig info
Data fr servlett
anv_id
varning_text
mejl_text
avdelning1
avdelning2
befattning1
befattning1
moment1
timmar1
varning1
moment2
timmar2
varning2
amne2
kommentar
Anrop/Actions
studierektor_variabler.jsp
servStudierektorVariabler
Studierektorns användar-ID, används för att be om menyrad
Initialvärdet i textfältet ”Varningsmeddelande”
Initialvärdet i textfältet ”Påminnelsetext”
Initialvärdet i första avdelningsfältet
Initialvärdet i andra avdelningsfältet (Ska väl vara fler än två fält?)
Initialvärdet i första befattningsfältet
Initialvärdet i andra befattningsfältet
Initialvärdet i första momentfältet
Initialvärdet i första förberedelse tidfältet
Initialvärdet i första varningsgränsfältet
Initialvärdet i andra momentfältet
Initialvärdet i andra förberedelse tidfältet
Initialvärdet i andra varningsgränsfältet
Initialvärdte i andra ämnesindelningsfältet
servStudierektorVariabler
servStudierektorVariabler
servStudierektorVariabler
servStudierektorVariabler
servStudierektorVariabler
servStudierektorVariabler
servStudierektorVariabler
servStudierektorVariabler
servStudierektorVariabler
servStudierektorVariabler
servStudierektorVariabler
servStudierektorVariabler
servStudierektorVariabler
Kommentar
Spara avdelning (action= ”spara_avdelning”)
Skapa ny avdelning (action= ”ny_avdelning”)
Radera avdelning (action= ”radera_avdelning”)
Spara befattning (action= ”spara_befattning”)
Skapa ny befattning (action= ”ny_ befattning”)
Radera befattning (action= ”radera_befattning”)
Spara moment (action= ”spara_moment”)
Skapa nytt moment(action= ”nytt_moment”)
Radera moment (action= ”radera_moment”)
Spara ämnesindelning (action= ”spara_amne”)
Skapa nytt ämnesindelning (action= ”nytt_amne”)
Radera ämnesindelning (action= ”radera_amne”)
Spara varningsmeddelande och påminnelsetext (action =
”spara_texter”)
33
Bilaga 2 - Systemdesign
Namn
Uppgift
Relaterade JSPsidor
Indata
1. kurs_id
servKursAdm
2. aktuellt_ar
läsår
3. kursnamn
text
4. forkortning
text
5. amne
ID
6. ansvarig_larare
ID
lärare eller studierektor
7. kursassistent
ID
doktorand
8. assistent_proc
numeriskt
Antal procent av heltidstjänst som kursens kursassistent får
nedsättning med.
(1, 3, eller
4)
Visar information om vald kurs. Använd sökfunktionen
med extra parameter om ej kurs_id är inparameter. Ladda
om sidan med kursens läsår som aktuellt år.
Skapar ny kurs per valt läsår.
Sparar kursinställningar för aktuell kurs.
Presentera kursadministrativa parametrar samt tillåta ändring av dessa.
kurs_adm.jsp
Data
ID
Verifiering/Kommentar
Används vid laddning av sidan om kurs har valts, för att
kunna presentera info om denna kurs.
Används om kurskod har angivits som kursidentifiering.
Samt som parameter vid byte av drop-down-meny till
annat läsårs kurser.
9. kurskod_ny
action= ”visa_kurs”
action= ”ny_kurs”
2*, 4*
action=
1*, 2, 3*,
”spara_inställningar” 5*, 6, 7, 8*,
9*
action=
1*, 2
”radera_kurs”
action= ””
1, 2
Raderar vald kurs. Ladda om sidan.
Presentera jsp-sidan, om aktuellt_ar angivits skall detta år
användas, annars innevarande årtal. Om kurs_id angivits
skall denna kurs visas, obs att årtal som skickas till JSP
(för att användas i kursdropdown) är aktuellt_ar om sådant
angivits ej utgående från den aktuella kursens läsår.
34
Bilaga 2 - Systemdesign
Namn
Tillhör
Skärmdump
Utnyttjar
Övrig info
Data fr servlett
kursnamn
forkortning
kurskod
artal
amne
ansvarig_larare
assistent
kommentar
Anrop/Actions
servKursAdm
servKursAdm
servKursAdm
servKursAdm
servGenereraAr
kurs_adm.jsp
servKursAdm
servDropdownArtal
servDropdownMoment
servDropdownLarare
servDropdownDoktorand
Kommentar
Kursens förkortning = Nyckel
Kommentar
Visa vald kurs (action=”visa_kurs”)
Skapa ny kurs (action=”ny_kurs”)
Spara inställningar för aktuell kurs (action= ”spara_inställningar”)
Radera vald kurs (action=”radera_kurs”)
Generera nytt år
35
Bilaga 2 - Systemdesign
Namn
Uppgift
Relaterade JSPsidor
Indata
1. anv_id
2. losenord
3. namn
4. epost
5. kategori
6. handledare
7. mail
8. kurskod
9. andel_gru
10. foraldraledigt
11. ovrigt_ledigt
12. anv_namn
servAnvAdm
Presentera användaradministrativa parametrar samt tillåta ändring av dessa.
anv_adm.jsp
Data
ID
text
text
text
ID
ID
Boolean
Boolean
int
int
int
text
Verifiering/Kommentar
Vid laddning av sidan om användarnamn har valts.
Vid ”sökning” efter användaren eller skapande av ny
användare
Sök användare.
action=
3, 12*
”sok_anvandare”
action=
2*, 5*, 12*
Skapa ny användare.
”skapa_anvandare”
action= ”spara”
samtliga parametrar Skriv all information om användaren till tabell.
Anv_namn ej möjligt att ändra!
action = ”radera”
Raderar användaren.
action= ””
1
Presentera ”tom” sida. Om id angivet skicka info om
denna användare.
36
Bilaga 2 - Systemdesign
Namn
Tillhör
Skärmdump
Utnyttjar
Övrig info
Data fr servlett
anvnamn
anv_id
namn
epost
kategori
handledare
visa_kurskod
paminnelse
andel_gru
foraldraledigt
ovrig_ledigt
tillgodo
Anrop/Actions
servAnvAdm
servAnvAdm
servAnvAdm
servAnvAdm
servGenereraAr
anv_adm.jsp
servAnvAdm
servDropdownLarare
Kommentar
Kommentar
Sök användare (action=”sok_anvandare”)
Skapa användare (action=”skapa_anvandare”)
Spara inställningar (action= ”spara”)
Radera vald kurs (action=”radera”)
Generera nytt år
37
Bilaga 2 - Systemdesign
Namn
Uppgift
Relaterade
JSP-sidor
Indata
action= ””
action=
”generera”
1. redigerbar
2. lasar
3. tim_ar
4. tim_dag
action=
”spara”
servLasarAdm
Generera nytt läsår samt presentera och tillåt ändring av administrativa
parametrar för läsår.
lasar_adm.jsp
Data
”true”/”NULL”
numeriskt
numeriskt
numeriskt
samtliga parametrar
Verifiering/Kommentar
Presentera jsp-sidan
Skapa ett nytt läsår, sätt default till icke editeringsbart
samt för över föregående läsårs:
- kursnamn, kursförkortning (bokstavsdel)
- kursansvarig
- nedsättning för kursassistent
Alla genererade kurser får nytt kursID/förkortning som
har årtalsdelen ökad med ett. (numi02numi03)
Anger om lärare/doktorander ska få editera läsåret
Vilket läsår som administreras
Antal timmar/år för läsåret
Antal timmar/dag för läsåret
Spara samtliga data-parametrar som kommer in,
presentera sedan jsp-sidan igen.
Namn
Tillhör
Skärmdump
Utnyttjar
Övrig info
Data fr servlett
Anrop/Actions
ServLasarAdm
lasar_adm.jsp
Namn
Tillhör
Skärmdump
Utnyttjar
Övrig info
Data fr servlett
anv_id
anv_namn
studierektor_resurs.jsp
servlasarAdm
servDropdownArtal
Kommentar
Kommentar
Generera nytt år (action=”generera”)
Sidan består av menyrad+länk+bild
Kommentar
38