| database.sql | ||
| ER_diagram.png | ||
| LICENSE | ||
| README.md | ||
Overview
Detta dokument visar ER modellen och kraven för variant D: Gruppledare
ER model
Relationer
Agent(Namn, Nr, AdminAgentNamn, AdminAgentNr, Lön, Unamn, Kommentar)
Admin(AgentNamn, AgentNr,UIDToken, Rum)
Gruppledare(AgentNamn, AgentNr)
Operation(Kodnmnt, Stdatum, IncidentNamn, IncidentNr, RegionNamn, AdminAgentNamn, AdminAgentNr, GruppledareAgentNamn, GruppledareAgentNr, Sldatum, SR, Kommentar)
Incident(Namn, Nr, RegionNamn, Plats)
Region(Namn, Terräng)
Kampanj(Nr, SR, Sdatum, Sldatum, Komm.)
IncidentKampanj(KampanjNr, IncidentNamn, IncidentNr)
Krav
Allmänna krav
Det finns ett antal olika kategorier av användare i systemet. Alla dessa olika användare skall ha olika rättigheter i databassystemet. Om delar av informationen i specifikationen av rättighetsnivåerna är inkonsistent med andra delar av kravspecifikationen eller om informationen inte är tillräcklig skall eventuella tillägg eller förändringar av rättighetsnivåerna dokumenteras tydligt.
Det finns ett önskemål om att alla agenter utom gruppledare skall endast få läsa rapporter som de har skrivit själva eller skall skriva en uppföljning på.
För att kunna administrera all data i databasen krävs även ett antal administrativa funktioner i databas-systemet som sköts av myndighetens systemadministratörer.
De härledda värden som skall beräkna ett antal, exempelvis antalet genomgångna operationer för en viss agent, skall värdet “Inga operationer“ visas i applikationen.
Generellt sett så är det nödvändigt att användargränssnittet är så väl genomtänkt som möjligt och att det är mycket användarvänligt. Det är av vikt om användargränssnittet är mycket väl separerat mellan de olika typerna av agenter och varje typ av agent skall ha ett användargränssnitt som är mycket väl lämpat för agentens arbetsuppgifter. Inget principbeslut har fattas vilka delar av användargränssnittet som skall kunna användas via WWW. Detta beslut bör fattas och dokumenteras för prototypsystemet. Informationen om användargränssnittets funktion är inte fullständig, om informationen nedan visar sig vara inkonsistent med kravspecifikationen eller om fler krav på användargränssnittet kan identifieras från kravspecifikationen skall dessa situationer dokumenteras i rapporten.
Databasadministratör
Det användargränssnitt som används av databasadministratören behöver inte vara lika lättanvänt som de användargränssnitt som skall användas av agenterna, då databasadministratören förstår bland annat felkoder från SQL. Applikationen får dock inte vara svåranvänd eftersom detta gör att administratörens viktiga arbete kan gå för långsamt. Administratören skall ha möjligheter att med ett grafiskt gränssnitt lagra nya tuppler enligt i tidigare delar av kravspecifikationen fastställda normer samt ha en möjlighet att skapa och underhålla de andra användarnas rättigheter.
Gruppledare
När oregistrerade utomjordingar siktats eller om utomjordingar är inblandade i någon incident på något ställe ute i landet skickas genast fältagenter till platsen. Denna insats styrs från ledningscentralen i högkvarteret. En insatsledare skall via datorsystemet ha full kontroll över grupperna av agenter och deras olika arbetsuppgifter. För att kunna fatta korrekta beslut krävs även tillgång till olika sökverktyg som kan hitta relevant information i verksamhetens databas.
För gruppledare skall det vara möjligt att se hur många av de operationer som gruppledaren styrt som slutade med lycklig utgång, antalet operationer som gruppledaren genomfört samt procentandelen lyckade operationer, dessa operationer ska vara sorterade på slutdatum. En gruppledare kan vara ledare för flera operationer men en operation kan endast ha en gruppledare.
En gruppledare får leda högst två operationer samtidigt om de inte tillhör samma incident, en gruppledare får leda upp till fem operationer samtidigt om de alla tillhör samma incident. En disinformationsspridare får inte arbeta på mer än fem olika desinformationskampanjer samtidigt
Gruppledaren skall kunna tilldela agenter till en operation. Operationens namn, datum och plats skall visas tydligt i gränssnittet. En sorterad lista med agenter som är sorterad på nan och nummer skall visas på skärmen. Det skall vara möjligt att för varje agent se agentens namn, nummer, procent av lyckade oeprationer samt agentens specialitet och specialkompetens. Agenter som befinner sig i operationens region skall ha förtur i användargränssnittet före agenter som befinner sig i andra regioner oavsett vilken uppklarningsprocent agenten i fråga har. När en agent som valts till operationen markeras så visas en mer detaljerad information om agenten, bland annat agentens favorithjälpmedel samt namnet på de operationer han medverkat i. En varning skall visas om en enskilld operation tilldelats mer än fem personer.
När bokningen av fältagenter och hjälpmedel är färdig så skall gruppledaren trycka på en knapp, om alla bokningarna går bra så skall fönstret stängas, annars skall felmeddelande visas och de felbokade resurserna skall markeras. Proceduren skall genomgås tills ingen resurs är dubbelbokad. Det bör finnas en lista över pågående över pågående operationer och det skall vara möjligt att tilldela mera resurser, eller ta bort tilldelade resurser samt att ändra slutdatumet för operationen. När en gruppledare tilldelas ett ny operation skall detta automatiskt visas när gruppledaren startar sin applikation eller direkt när händelsen inträffar. Slutligen skall det vara möjligt för gruppledaren att skapa nya operationer för den tilldelade incidenten.
Gruppledaren har rättigheter att läsa all information i alla tabeller utom i tabellerna med undanflykter och personer samt information om andra gruppledare annat än deras namn och härledda attribut. Gruppledaren har rättigheter att skapa nya oeprationer för en viss incident samt att tilldela fältagenter och hjälpmedel till operationer. Gruppledare har även rättigheter att skapa rapporter, dock inte uppföljningsrapporter. Gruppledare har rättigheter att skapa kopplingar mellan rymdvarelser, rymdskepp och vapen samt rättigheter att skapa nya kopplingar från rymdvarelser och rymdskepp till olika incidenter. Gruppledaren har inte rättigheter att skapa nya observationer eller incidenter.
Agent
Det finns fem olika typer av agenter inklusive system-administratörerna. Varje agent identifieras unikt med hjälp av dess namn (namnet är endast en bokstav exempelvis K), tillsammans med en siffra exempelvis J 2. Agentens levnadsfilosofi lagras som en kommentar för att kunna gå tillbaka och utvärdera hur pass bra agenten lever upp till sin levnadsfilosofi vid ett senare tillfälle. Agentens lön och ursprungliga namn (inklusive separata förnamn och efternamn och ett härlett attribut som sätter samman förnamn och efternamn) skall dessutom lagras för alla agenter.
Vissa personer får av olika orsaker inte bli agenter. Det gäller personer som heter Leif Loket Olsson, Greger Puckowitz och Greve Dracula. Agenter skall inte tilldelas löner över 25000 om de inte är gruppledare då är lönetaket 35000 ingen agent oavsett typ får käna mindre än 12000. Om ingen lön tilldelas så skall lönen automatiskt sättas till 13000.
Det nummer som tilldelas en viss agent får inte vara noll om inte personen är en gruppledare, i det fallet är numret tillåtet. Ingen agent får ha nummer som är mindre än noll. Talet 13 är av naturliga skäl inte tillåtet som agentnamn. Agentnummer över 99 är inte heller tillåtna.
Incident
En incidient kan identifieras antingen av dess unika namn eller dess unika nummer. För incidenten lagras dessutom platsen som den inträffade på. Dessutom skall det gå att beräkna ett medelvärde på incidentens alla observationers grad. En incident måste inträffa i någon region. Till en incident kan sedan flera rymdvarelser eller rymdskepp kopplas när rymdvarelsen eller rymdskeppet identifierats av någon agent. En incident kan dessutom ha en eller flera operationer eller desinformationskampanjer kopplade till sig.
Region
En region identifieras unikt av dess namn. För en region lagras dessutom en uppskattning av regionens huvudterräng, exempelvis stadsterräng, berg eller skog. Dessutom skall det gå att härleda regionens antal tidigare incidenter och operationer för att kunna se om regionen är överrepresenterad.
Det finns regioner som under en viss tidsrymd är speciellt hemliga, dessa regioner skall temporärt kunna tas bort ur databasen för att senare kunna sättas in igen. En databasadministratör skall kunna ta bort regionen och även de kopplingar som regionen har till operationer och incidenter. Eftersom det dock är nödvändigt att incidenter och operationer är kopplade till regioner skall en specifik region som heter “hemligstämplat“ skapas om den inte redan existerar och sedan kopplas till de påverkade operationerna och incidenterna. Alla regioner måste ha någon typ av terräng lagrad. Om inget värde tilldelas så skall det automatiskt sättas till “blandad”.
Kampanj
Varje unik desinformationskampanj identifieras av dess nummer. Till en viss desinformationskampanj kan ett antal olika undanflykter användas. Till en viss incident kan flera olika desinformationskampanjer kopplas och en viss kampanj kan gälla flera olika incidenter. För varje unik kampanj lagras dessutom dess success rate som talar om om kampanjen lyckades eller misslyckades. Kampanjens startdatum och slutdatum talar om när kampanjen påbörjades samt avslutades, en kampanj kan vara pågående (null på slutdatum) men den måste ha en början. Dessutom lagras en kommentar (högst 80 tecken) om kampanjen och dess uppgift.
Det skall med hjälp av ett specialkommando för de agenter som arbetat med kampanjen vara möjligt att ta bort eller uppdatera en desinformationskampanj. Modifikationen i sig behöver inte loggas, men en unik person får inte ta bort eller modifiera mer än fyra kampanjer. När en kampanj tas bort skall motsvarande kopplingar till undanflykter också tas bort. När en specifik undanflykt inte längre refereras av någon kampanj skall den också tas bort ur databasen.
En enda desinformationskampanj får innehålla högst tre olika undanflykter totalt. För en och samma incident får högst tio olika undanflykter användas i olika kampanjer. Det är av högsta vikt för desinformationsspridarna att åtkomsten till desinformationskampanjerna går mycket fort. Optimerings och uppsnabbningsstrategier bör därför användas vid lagring av desinformationskampanjerna.
För kampanjer så måste alltid slutdatumet för kampanjen vara senare än startdatumet. En kampanj får inte vara kortare än en dag. Om skillnaden mellan en kampanjs startdatum och slutdatum är större än fem veckor så antas slutdatumet vara felinmatat, längden till kampanjen skall då automatiskt sättas till fem veckor. Även en uppföljningsrapport har två datum, en uppföljning har ingen övre gräns för hur lång den kan vara, den måste dock vara minst en dag lång. De attribut som anges som “success rate” skall lagras i form av ett heltal som är ett om kampanjen lyckades och noll kampanjen misslyckades. Inga andra värden är tillåtna.
Operation
Varje operation identifieras av dess kodnamntyp samt operationens startdatum tillsammans med incidenten som genererade operationen. Kodnamntypen anger både operationens kodnamn samt dess typ, exempelvis uppstädningsoperation: Gregers Bodega eller Insamlingsoperation: lämmeltåg. Operationen har även en frivillig kommentar som bör fyllas i där agenterna specificerar viktiga detaljer om operationen som är utöver den information som lagras i operationens förbestämda fält. Det är tillåtet för två olika operationer för samma incident på olika datum att ha samma kodnamn och typ. En operation måste ledas av en gruppledare och en gruppledare kan leda flera olika operationer. Till en operation kan ett flertal olika hjälpmedel allokeras. För varje avslutad operation lagras dessutom operationens slutdatum samt operationens success rate. Slutligen så skall operationens fältagenter tilldelas. För att bokning av olika agenter och hjälpmedel skall fungera så är det nödvändigt att operationens slutdatum anges, slutdatumet kan senare ändras för att passa det verkliga slutdatumet.
För operationer så måste alltid slutdatumet för operationen vara senare än startdatumet. En operation får inte vara kortare än en dag. Om skillnaden mellan en operations startdatum och slutdatum är större än fem veckor så antas slutdatumet vara felinmatat, längden till operationen skall då automatiskt sättas till fem veckor. Även en uppföljningsrapport har två datum, en uppföljning har ingen övre gräns för hur lång den kan vara, den måste dock vara minst en dag lång.
När gruppledaren (gruppledaren är den enda som har rättigheter till detta) ändrar en operations längd genom att flytta slutdatumet så skall alla de regler som är kopplade till operationen omevalueras (bokning av agenter, hjälpmedel och gruppledare bland annat). Om förflyttningen exempelvis resulterar i att en agent dubbelbokas så returneras ett felmeddelande och förändringen avbryts.
De attribut som anges som “success rate” skall lagras i form av ett heltal som är ett om operationen lyckades och noll om operationen misslyckades. Inga andra värden är tillåtna.
Administratör
Administratören har samma rättigheter som alla andra användargrupper tillsammans plus ytterligare rättigheter till vissa specialoperationer. Administratörerna har endast rättigheter att ta bort eller modifiera data i tabeller om den rättigheten tilldelats i detta dokument. Administratören skall ha rättigheter att skapa tuppler i tabellerna gällande regioner, agenter och hjälpmedel. Administratören skall även ha rättigheter att mata in till exempel nya rymdvarelser, rymdskepp och raser men inte att skapa egna kopplingar mellan dem, det får endast fältagenter och gruppledare göra. Om en användare gör någon form av förbjuden åtgärd (exempelvis försöker uppdatera en tabell med restriktioner fler gånger än tillåtet) skall den automatiskt hamna i en lista med förbjudna åtgärder.
