+ All Categories
Home > Documents > Software Requirements & Design Document Forum ...215287/srd_team2.pdf · 6.1 E/R Diagram av...

Software Requirements & Design Document Forum ...215287/srd_team2.pdf · 6.1 E/R Diagram av...

Date post: 17-Oct-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
25
Software Requirements & Design document 1 Software Requirements & Design Document Forum / Nettverkssamfunn Team 2
Transcript
Page 1: Software Requirements & Design Document Forum ...215287/srd_team2.pdf · 6.1 E/R Diagram av databasestruktur ... 7 Systemets evolusjon ... Forumnavn Figur 3-6: Utkast av GUI for mobil

Software Requirements & Design document

1

Software Requirements & Design Document

Forum / Nettverkssamfunn

Team 2

Page 2: Software Requirements & Design Document Forum ...215287/srd_team2.pdf · 6.1 E/R Diagram av databasestruktur ... 7 Systemets evolusjon ... Forumnavn Figur 3-6: Utkast av GUI for mobil

Software Requirements & Design document

2

Innholdsfortegnelse 1 Introduksjon .................................................................................................................................... 4

1.1 Hva består dokumentet av? .................................................................................................... 4

1.2 Maskinvarekonfigurasjon ........................................................................................................ 4

2 Nomenklaturliste ............................................................................................................................. 6

3 Design .............................................................................................................................................. 8

3.1 Oversikt ................................................................................................................................... 8

3.2 Skisser ...................................................................................................................................... 8

4 Kravspesifikasjoner ........................................................................................................................ 12

4.1 Ikke-funksjonelle krav ............................................................................................................ 12

4.1.1 Kostnadsestimering .............................................................................................................. 12

4.1.2 Data og sikkerhet .................................................................................................................. 12

4.2 Funksjonelle krav for brukere ............................................................................................... 12

4.2.1 Krav 1 - Logg inn ................................................................................................................... 12

4.2.2 Krav 2 - Registrering ............................................................................................................. 13

4.2.3 Krav 3 - Kategorier ................................................................................................................ 13

4.2.4 Krav 4 - Subkategorier .......................................................................................................... 13

4.2.5 Krav 5 - Emner ...................................................................................................................... 13

4.2.6 Krav 6 - Kommentarer .......................................................................................................... 14

4.2.7 Krav 7 - Profil ........................................................................................................................ 14

4.2.8 Krav 8 - Redigering av profil ................................................................................................. 14

4.2.9 Krav 9 - Søkefunksjon ........................................................................................................... 14

4.2.10 Krav 10 - Medlemsliste ....................................................................................................... 14

4.2.11 Krav 11 – Nye emner .......................................................................................................... 14

4.2.12 Krav 12 – Trender ............................................................................................................... 15

4.3 Funksjonelle krav for administratorer ................................................................................... 15

4.3.1 Krav 1 - Redigering av brukere ............................................................................................. 15

4.3.2 Krav 2 – Redigering av kategorier og subkategorier ............................................................ 15

4.3.3 Krav 3 - Sletting av tråder/emner og kommentarer ............................................................. 15

5 Systemarkitektur ........................................................................................................................... 16

6 Systemmodeller ............................................................................................................................. 17

6.1 E/R Diagram av databasestruktur ......................................................................................... 17

6.2 UML - Use Case Diagram ....................................................................................................... 19

6.3 UML Sekvensdiagrammer ..................................................................................................... 20

6.3.1 Registrering .......................................................................................................................... 20

Page 3: Software Requirements & Design Document Forum ...215287/srd_team2.pdf · 6.1 E/R Diagram av databasestruktur ... 7 Systemets evolusjon ... Forumnavn Figur 3-6: Utkast av GUI for mobil

Software Requirements & Design document

3

6.3.2 Logg inn ................................................................................................................................ 21

6.3.3 Lag kommentar ..................................................................................................................... 21

6.3.4 Opprett emne ....................................................................................................................... 22

6.4 UML Klassediagram ............................................................................................................... 22

7 Systemets evolusjon ...................................................................................................................... 24

7.1 Fundamentet ......................................................................................................................... 24

7.2 Antatte endringer .................................................................................................................. 24

7.2.1 Brukerendringer ................................................................................................................... 24

7.2.2 Kommentarer i tråder/emner .............................................................................................. 24

8 Referanser ..................................................................................... Feil! Bokmerke er ikke definert.

Page 4: Software Requirements & Design Document Forum ...215287/srd_team2.pdf · 6.1 E/R Diagram av databasestruktur ... 7 Systemets evolusjon ... Forumnavn Figur 3-6: Utkast av GUI for mobil

Software Requirements & Design document

4

1 Introduksjon I dette kapittelet introduseres kravene til prosjektet og kort om hvordan systemet skal

fungere.

1.1 Hva består dokumentet av?

Målet med dette dokumentet er å spesifisere krav til programvaren som skal bli lagd, både

funksjonelle og ikke-funksjonelle krav. Funksjonelle krav vil f.eks. være krav som beskriver

funksjonaliteten til de forskjellige funksjonene, mens de ikke-funksjonelle kravene vil være

krav som hvordan data behandles og operasjonskostnader [1].

Dette dokumentet er primært lagd for kunden, som vil måtte foreslå og godkjenne de

forskjellige funksjonalitetene i programvaren, men også for utviklerne som trenger en

forståelse for hvordan systemet henger sammen i form av en maskinvarekonfigurasjon.

I dokumentet vil det bli referert til en ordliste, hvor man kan slå opp terminologien som er

tatt i bruk.

1.2 Maskinvarekonfigurasjon

Kommunikasjon mellom maskinvaren vil være det viktigste ved skapelsen av et forum. I

dette prosjektet vil Azure DevOps tas i bruk for hosting av database og webserver slik at

informasjonen når websiden og blir plukket opp av klienten. Dette fungerer med et forhold

mellom database og webserver som henter ut og skriver inn ny informasjon, videre vil

webserveren sende ut informasjonen til internett som dermed klienten kan plukke opp.

Problemer som kan oppstå er f.eks. om ikke databasen og webserveren kommuniserer vil

det ikke være mulig å hente ut eller implementere ny informasjon i databasen, dette vil da

føre til at websiden som serveren verter ikke vil vises og dermed vil heller ikke klienten ha

noen tilgang til websiden. Figur 1-2 viser funksjonalitet og virkemåte mellom maskinvaren

som blir brukt i skapelsen av et forum.

Page 5: Software Requirements & Design Document Forum ...215287/srd_team2.pdf · 6.1 E/R Diagram av databasestruktur ... 7 Systemets evolusjon ... Forumnavn Figur 3-6: Utkast av GUI for mobil

Software Requirements & Design document

5

Figur 1-2: Bildet viser maskinvarekonfigurasjon.

Page 6: Software Requirements & Design Document Forum ...215287/srd_team2.pdf · 6.1 E/R Diagram av databasestruktur ... 7 Systemets evolusjon ... Forumnavn Figur 3-6: Utkast av GUI for mobil

Software Requirements & Design document

6

2 Nomenklaturliste Tabell 1-1 nedenfor beskriver betydningen av begreper tatt i bruk utover i dokumentet.

Tabell 1-1: Nomenklaturliste

Begrep Hva er det?

Administrator En bruker som overvåker forumet, har muligheten til å sette brukere til moderator status.

Azure DevOps En tjeneste fra Microsoft for lettere lagring av data på Cloud. Spesifisert for bruk innenfor dataprogrammering.

Bruker En bruker er en opprettet profil på forumet.

Cloud En Cloud er en virtuell lagringsplass for data på internett.

Database En Database er et lagringsmedia for informasjon.

Forum En kommunikasjonsplattform for ulike interesser og meninger, også kalt et nettsamfunn.

Funksjonelle Krav En spesifisering av hva systemet burde gjøre

GUI En grafisk representasjon av et kodet system, brukt for navigasjon i systemet/programmet. Forkortning for “Graphical User Interface”.

Hosting En server lagrer data fra Database og Webserver og gjør det mulig at en klient får tilgang til websiden lagret serveren. Dermed hoster serveren websiden.

Ikke-Funksjonelle Krav En beskrivelse av hvordan systemet virker

Klient En klient er utstyr som kan få tilgang til tjenester muliggjort av en server. Eksempel på dette er en Computer.

Moderator En bruker som kan moderer forumet. Eksempel på dette er ved muligheten til å slette tråder opprettet av brukere.

Responstid En måling av tid det tar for systemet å reagere/respondere.

Tråder/Emner En tråd/emne er opprettelsen av et brukerspesifikt emne i forumet. Som regel er dette i form av et spørsmål man søker svar på.

View En opprettelse av virtuelle tabeller i en database, basert på en spørring etter informasjon i databasen.

Page 7: Software Requirements & Design Document Forum ...215287/srd_team2.pdf · 6.1 E/R Diagram av databasestruktur ... 7 Systemets evolusjon ... Forumnavn Figur 3-6: Utkast av GUI for mobil

Software Requirements & Design document

7

Webserver En webserver lagrer, prosesserer og leverer en webside til klienter.

Page 8: Software Requirements & Design Document Forum ...215287/srd_team2.pdf · 6.1 E/R Diagram av databasestruktur ... 7 Systemets evolusjon ... Forumnavn Figur 3-6: Utkast av GUI for mobil

Software Requirements & Design document

8

3 Design I dette kapittelet vil det ses på skisser av websiden, med noe forklaring av funksjonalitet og

forumets virkemåte.

3.1 Oversikt

Flytskjema i Figur 3-1 under forklarer virkemåten til forumet. Når man kobler seg til

nettsiden vil man få muligheten til å logge seg inn, ut ifra dette kan man lage ny bruker om

man ikke har det allerede. Det er også mulighet for å surfe nettsiden uten bruker og navigere

Kategorier og subkategorier for mulighet til å lese tråder/emner og kommentarene som er

lagt inn. Det er derimot ikke mulighet for oppretting av emner og kommentarer om ikke man

har registrert seg som bruker på nettsiden.

Figur 3-1: Overordnet flytskjema av forumets virkemåte

3.2 GUI skisser

Figurene (3.2 - 3.6) viser enkle utkast av hvordan det ferdige forumet kan sees ut.

Figur 3-2 viser hvordan nettsidens hjemmeside vil være, på PC. Øverst på nettsiden ser man en

Page 9: Software Requirements & Design Document Forum ...215287/srd_team2.pdf · 6.1 E/R Diagram av databasestruktur ... 7 Systemets evolusjon ... Forumnavn Figur 3-6: Utkast av GUI for mobil

Software Requirements & Design document

9

toppordnet navigeringsbar, denne vil sitte fast på toppen av siden og skaleres automatisk uansett om

man blar eller skalerer ned/opp sidestørrelsen (Auto-scaling). Navigeringsbaren skal inneholde enkle,

primære funksjoner for brukeren, som ekspemelvis logg inn, registrer bruker.

Under navigeringsbaren finner man først en oversikt over aktuelle kategorier, utseendemessig vil

dette avvikle fra figuren, men prinsipielt er baktanken at det skal være oversiktlig og enkelt å

navigere seg til ønsket kategori. Under kategoriene finner man populære og nye tråder, slik at

brukerne enkelt kan se hvilke tråder som er aktive.

Figur 3-2: Utkast av GUI, hjemmeside, til bruk i forumets dannelse.

Figur 3-3 er et eksempel på hvordan nettsiden for en kategori kan se ut. Man finner den

samme navigeringsbaren her som på forumets hjemmeside. Her skal det være enkelt å se

hvilke tråder som er aktive innen kategorien, hvor det listes ned nye og populære tråder, med

mulighet til å fremme tråder man finner passende ved å gi posten en “tommel opp/ned”.

Til høyre i figuren finner man regler og generell informasjon innenfor subkategorien.

Page 10: Software Requirements & Design Document Forum ...215287/srd_team2.pdf · 6.1 E/R Diagram av databasestruktur ... 7 Systemets evolusjon ... Forumnavn Figur 3-6: Utkast av GUI for mobil

Software Requirements & Design document

10

Figur 3-3: Utkast av GUI, subkategori med tråder.

Figur 3-4 til 3-6 viser enkelt utkast av hvordan forumet vil vises på mobilplattform.

Figur 3-4, på lik linje som på PC, har man den samme toppordnede navigeringsbaren, med

klikkbar Dropdown-meny for å finne funksjonene, ellers viser navigeringsbaren sidetittel på

nåværende side.

Under navigeringen finner man en enkel oversikt over kategoriene.

Figur 3-5 viser nettsiden for ønsket kategori, med liste over aktive tråder.

Figur 3-6 viser informasjon og regler innenfor kategorien og er ment å kunne sveipes inn fra

høyre til venstre når man er inne på kategorien (figur 3-5).

Page 11: Software Requirements & Design Document Forum ...215287/srd_team2.pdf · 6.1 E/R Diagram av databasestruktur ... 7 Systemets evolusjon ... Forumnavn Figur 3-6: Utkast av GUI for mobil

Software Requirements & Design document

11

Figur 3-4: Sidetittel og Logo Figur 3-5: Forumnavn Figur 3-6: Utkast av GUI for mobil

Page 12: Software Requirements & Design Document Forum ...215287/srd_team2.pdf · 6.1 E/R Diagram av databasestruktur ... 7 Systemets evolusjon ... Forumnavn Figur 3-6: Utkast av GUI for mobil

Software Requirements & Design document

12

4 Kravspesifikasjoner I dette kapittelet vil de funksjonelle kravene og ikke-funksjonelle kravene være listet. Det vil

skilles mellom funksjonelle krav for bruker og administrator. En administrator vil kunne gjøre

det alle brukere gjør samt litt til, men en bruker vil ikke kunne gjøre det en administrator

gjør.

4.1 Ikke-funksjonelle krav

Det vil her ses litt på kostnadsestimering, hvem som har tilgang til hva slags data og hvordan

data vil bli håndtert.

4.1.1Kostnadsestimering

Tidsrammen til prosjektet er 18 uker, og det skal jobbes i 15 timer i uken. Det er tre

medlemmer i teamet, og med en timelønn på 200kr i timen så vil kostnaden bli på 54 000kr

på hvert teammedlem, og totalkostnad når prosjektet er ferdig vil bli på 162 000kr. Siden

hvert teammedlem har nødvendig software, så vil det ikke bli noen softwarekostnader, ei

heller hardwarekostnader. Kunden vil måtte betale for webhosting og domene selv etter

endt prosjekt.

4.1.2Data og sikkerhet

Personvernopplysninger vil behandles iht. personvernforordningen. Brukere vil måtte

samtykke at vi prosesser data de etterlater seg for å få tilgang til forumet og de vil også ha

tilgang til å se hva slags data som blir samlet inn om dem. Det vil ikke samles inn unødvendig

mye informasjon om brukeren [2].

All data prosessert vil være på grunnlag av samtykke fra brukeren, hvor bruker får vite om

hvilke vilkår for bruk programmet vil ha og aksepterer om vilkårene er tilfredsstillende. Om

datalagringen er utsatt for et databrudd vil alle personer utsatt bli notifisert innen 72 timer

etter data innbruddet. Det vil av den grunn bli implementert mekanismer for beskyttelse av

brukerens data slik at den personlige dataen ikke ligger åpent. Dette for å beskytte

brukerens personvern. En bruker kan også bestemme og slette brukeren sin, og da vil all

informasjon om denne brukeren bli slettet fra systemet. Systemet vil måtte beskyttes mot

ulike angrep som f.eks. SQL injection.

4.2 Funksjonelle krav for brukere

Her vil de funksjonelle kravene for brukere bli listet opp.

4.2.1 Krav 1 - Logg inn

Et medlem av forumet skal kunne logge inn på forumet med et brukernavn og et passord.

Logg inn knapp finnes i header for å være lett tilgjengelig.

Page 13: Software Requirements & Design Document Forum ...215287/srd_team2.pdf · 6.1 E/R Diagram av databasestruktur ... 7 Systemets evolusjon ... Forumnavn Figur 3-6: Utkast av GUI for mobil

Software Requirements & Design document

13

Avhengig av: Krav 2, krever at man har allerede opprettet en bruker via registrering.

Test: Kan testes når krav 2 fungerer.

4.2.2 Krav 2 - Registrering

For å bli et medlem av forumet er man avhengig av å registrere seg, for å registrere seg må

man skrive inn brukernavn, passord, email og hva man studerer. Man må måtte skrive inn

både passord og email to ganger for å se om de stemmer overens, slik at brukeren ikke

skriver feil email og/eller passord. Den som registrerer seg på forumet vil motta en

verifiseringsemail med en kode som man skriver inn første gang man logger inn.

Avhengig av: Ingenting.

Test: Kan testes så fort en registreringsside er laget og en registrer knapp eksisterer.

4.2.3 Krav 3 - Kategorier

Man skal kunne se kategoriene på forsiden av websiden. Man skal kunne trykke på

kategorinavnet og bli ført inn på subkategoriene til den spesifikke kategorien man trykker

på. Hver kategori skal også ha et assosiativt bilde som ikke kan være større enn en viss

størrelse.

Avhengig av: Avhenger av kommunikasjon med database og opprettede kategori elementer

på nettside.

Test: Kan testes når database kommuniserer med kategori elementer på nettside.

4.2.4 Krav 4 - Subkategorier

På samme måte som i krav 3 ovenfor så vil man kunne trykke på en subkategori, som fører til

at man åpner alle emnene til den spesifikke subkategorien.

Avhengig av: Krav 3, da man må kunne klikke på en kategori for å se subkategoriene til

denne kategorien.

Test: Kan testes når krav 3 fungerer.

4.2.5 Krav 5 - Emner

Man vil kunne komme inn på emner ved å trykke på en subkategori. Da vil en tabell bli vist

av alle emnene til en subkategori. Hvert emne skal kunne stemmes opp eller stemmes ned,

for å kunne stemme opp eller stemme ned må man være en bruker av forumet.

Avhengig av: Krav 4, da man må kunne klikke på subkategori for å se trådene til denne

subkategorien.

Test: Kan testes når krav 4 fungerer.

Page 14: Software Requirements & Design Document Forum ...215287/srd_team2.pdf · 6.1 E/R Diagram av databasestruktur ... 7 Systemets evolusjon ... Forumnavn Figur 3-6: Utkast av GUI for mobil

Software Requirements & Design document

14

4.2.6 Krav 6 - Kommentarer

Ved å trykke på et emne så vil man ha muligheten til å se kommentarene til dette emnet.

Kommentarene vil fortsette nedover i all evighet, siden det ikke vil bli lagd en sidefunksjon.

Avhengig av: Krav 5, her må en tråd være opprettet for at kommentering skal være mulig.

Test: Kan testes når krav 5 fungerer.

4.2.7 Krav 7 - Profil

Ved å trykke på brukernavnet til en på medlemslisten, eller sitt eget brukernavn vil man

komme inn på profilen sin. Her vil mye av informasjonen til brukeren bli vist.

Avhengig av: Krav 2, du må være registrert og krav 1, du må være logget inn.

Test: Kan testes når krav 1 og 2 fungerer.

4.2.8 Krav 8 - Redigering av profil

Det vil være mulighet for redigering av profilen man har opprettet. For å redigere profilen sin

skal man måtte trykke på brukernavnet sitt.

Avhengig av: Krav 1 og 2. Du må være registrert og logget inn for å redigere en profil.

Test: Kan testes når krav 7 fungerer.

4.2.9 Krav 9 - Søkefunksjon

Søkefunksjon skal være lett tilgjengelig på forsiden av websiden, her skal brukere kunne søke

etter emner. Om en bruker ikke husker hele emnenavnet, så skulle systemet kunne finne

emner med lignende navn.

Avhengig av: Krav 5, at det eksisterer emner.

Test: Kan testes når emner eksisterer.

4.2.10Krav 10 - Medlemsliste

Det skal være mulighet for å kunne se en medlemsliste for å se andre som er registrert på

forumet. Denne medlemslisten skal være sortert etter dato man ble registrert.

Avhengig av: Krav 1 og 2. Kun innloggede brukere kan se medlemslisten.

Test: Kan testen når en bruker er innlogget.

4.2.11 Krav 11 – Nye emner

På forsiden skal man kunne se nye emner som er opprettet. Slik kan man enkelt oppdatere

seg på hva som er nytt på siden.

Avhengig av: Krav 1 og 2.

Page 15: Software Requirements & Design Document Forum ...215287/srd_team2.pdf · 6.1 E/R Diagram av databasestruktur ... 7 Systemets evolusjon ... Forumnavn Figur 3-6: Utkast av GUI for mobil

Software Requirements & Design document

15

Test: Kan testes når det er satt opp nye emner.

4.2.12 Krav 12 – Trender

Slik som i krav 11, vil det være mulig å se populære emner som er opprettet. Dermed kan

man enkelt oppdatere seg på hva medlemmer av forumet ofte er innom.

Avhengig av: Krav 1 og 2.

Test: Kan testes når et system for “upvoting” er implementert

4.3 Funksjonelle krav for administratorer

Her vil krav spesifisert for bruk av administratorer i forumet bli forklart.

4.3.1 Krav 1 - Redigering av brukere

Administratorer skal kunne redigere brukere ved å søke opp et brukernavn. Der har de

muligheten til å endre informasjon om denne brukeren.

Avhengig av: Krav 1 og 2.

Test: Kan testes når administratorpanel er opprettet.

4.3.2 Krav 2 – Redigering av kategorier og subkategorier

Administratorer kan legge til, slette, oppdatere og redigere kategorier og subkategorier ved

hjelp av eget kontrollpanel.

Avhengig av: Kravet er avhengig av eksisterende kontrollpanel for administratorer.

Test: Kan testes når administratorpanel er opprettet.

4.3.3 Krav 3 - Sletting av tråder/emner og kommentarer

Administrator kan slette tråder/emner og kommentarer som bryter forumets reglement.

Avhengig av: Ett oppsatt forum reglement for brukere.

Test: Kan testes når administratorpanel er opprettet.

Page 16: Software Requirements & Design Document Forum ...215287/srd_team2.pdf · 6.1 E/R Diagram av databasestruktur ... 7 Systemets evolusjon ... Forumnavn Figur 3-6: Utkast av GUI for mobil

Software Requirements & Design document

16

5 Systemarkitektur For systemet tenkes det at en arbeidsstasjon har kontakt med en Cloud Plattform, denne

cloud plattformen har kontakt med webserveren hvor websiden ligger lagret. Websiden

henter ut informasjon fra databasen og skriver inn informasjon til databasen. Det er tenkt at

komponenter som er leddvis koblet sammen kontinuerlig har kontakt med hverandre for å

kunne oppdateres så effektivt som mulig. Arbeidsstasjonen som har kontakt med Cloud

Plattformen vil her ha en “Request & Reply” protokoll, plattformen vil måtte hente

informasjon som f.eks. layout i form av HTML og CSS og arbeidsstasjonen må få tilgang til

plattformen ved bruk av sikkerhetsprotokoller. Se figur 5-1 for en skjematisk tegning av

systemets tenkte arkitektur.

Figur 5-1: Bildet viser systemets tenkte arkitektur.

Page 17: Software Requirements & Design Document Forum ...215287/srd_team2.pdf · 6.1 E/R Diagram av databasestruktur ... 7 Systemets evolusjon ... Forumnavn Figur 3-6: Utkast av GUI for mobil

Software Requirements & Design document

17

6 Systemmodeller I kapittelet systemmodeller vil det finnes modeller av systemet som f.eks. flytskjema og E/R

Diagram. Disse modellene skal kunne gi en oversiktlig forståelse av systemets virkemåte.

6.1 E/R Diagram av databasestruktur

Figur 6-1 viser det fysiske E/R diagrammet. I brukertabellen så skal all informasjon om

brukerne lagres, det vil være brukernavn, passord, kjønn, studieretning, beskrivelse av seg

selv, hva slags rolle man har på forumet og en link til et bilde. Certification_id i

brukertabellen vil være en tilfeldig generert kode som man skriver inn etter man registrer

seg for å aktivere brukeren. Etter man har aktivert brukeren sin vil det ikke være noe

informasjon lagret i Certerification_id. Kategoritabellen lagrer id og navn på kategorier, det

samme gjør SubCategory tabellen for subkategori id og navn. Topictabellen inneholder en

topicid, en userid, et topicname, en topictext og tidspunktet det ble postet. Dette for å vise

hvem bruker som har lagd hva slags emne på forumet, og når dette har blitt tekst og hva

slags tekst emnet inneholder. Tabellen kommentarer inneholder en commentsid, usersid,

kommentartekst og tidspunkt som kommentaren ble postet.

Tabellen Category_SubCategory lagrer alle subkategoriene en kategori kan ha. Det vil altså si

hvis det er en kategori som heter Realfag, så kan denne kategorien ha mange subkategorier

som f.eks. Matte, Fysikk og Kjemi. Disse vil bli lagret i tabellen Category_SubCategory.

SubCategory_Topic vil lagre alle emnene en subkategori kan ha, og Topic_Comment tabellen

vil lagre alle kommentarene et emne vil ha.

Figur 6-2 viser det det logiske E/R diagrammet.

Page 18: Software Requirements & Design Document Forum ...215287/srd_team2.pdf · 6.1 E/R Diagram av databasestruktur ... 7 Systemets evolusjon ... Forumnavn Figur 3-6: Utkast av GUI for mobil

Software Requirements & Design document

18

Figur 6-1: Bildet viser fysisk E/R diagram.

Figur 6-2: Bildet viser logisk E/R diagram.

Page 19: Software Requirements & Design Document Forum ...215287/srd_team2.pdf · 6.1 E/R Diagram av databasestruktur ... 7 Systemets evolusjon ... Forumnavn Figur 3-6: Utkast av GUI for mobil

Software Requirements & Design document

19

6.2 UML - Use Case Diagram

I use case diagrammet i Figur 6-3 under vil man kunne se forholdet mellom aktører, klasser

og metoder i det tenkte systemet. De to viktigste aktørene for at systemet skal fungere er

her “User” og “New User”, disse vil stå for muligheten til å opprette bruker og alle

funksjonene en bruker har i forumet. Alle aktører må ha en mulighet til å kunne logge inn

som vist ved avhengighet mellom aktører og objektet “Login” i Use Case Diagrammet. Alle

aktører som går via “Login” må også innom aktøren “System Authenticator” som vil stå for å

verifisere at brukeren eksisterer, hvilken rolle brukeren har og om brukeren er blitt utestengt

fra forumet eller ikke. Administratorer skal ha muligheten til å kunne gjøre brukere til

moderatorer, det skal også være mulighet for å komme seg inn på et kontrollpanel for

enklere redigering av forumet. Dette som følge kravspesifikasjoner gjort i kapittel 4.

Figur 6-3: Bildet viser et overordnet Use Case Diagram for forumet.

Page 20: Software Requirements & Design Document Forum ...215287/srd_team2.pdf · 6.1 E/R Diagram av databasestruktur ... 7 Systemets evolusjon ... Forumnavn Figur 3-6: Utkast av GUI for mobil

Software Requirements & Design document

20

Figur 6-4: Bildet viser et forenklet Use Case Diagram for forumet.

6.3 UML Sekvensdiagrammer

6.3.1Registrering

Her må en ny bruker først skrive inn informasjon om seg selv, denne informasjonen vil

deretter bli sendt til Authenticator klassen ved trykk på en knapp “registrer” som vha.

metoden “Register()” vil sette informasjonen inn i databasen. Brukeren vil sendes til en ny

side hvor man må sette inn verifikasjonskode som man får da systemet sender en

verifikasjonsemail tilbake til bruker om registreringsinformasjon er fullført implementert i

databasen. Dersom et obligatorisk innfyllingsfelt mangler i opprettelsen av ny bruker vil det

sendes en melding om at “Obligatorisk felt mangler” til brukeren. Alt dette som vist i Figur 6-

4 under.

Page 21: Software Requirements & Design Document Forum ...215287/srd_team2.pdf · 6.1 E/R Diagram av databasestruktur ... 7 Systemets evolusjon ... Forumnavn Figur 3-6: Utkast av GUI for mobil

Software Requirements & Design document

21

Figur 6-5: Bildet viser sekvensdiagram av registrering i forumet.

6.3.2Logg inn

Her må brukeren skrive inn brukernavn og passord og trykke på knappen “logg inn”, deretter

vil Authenticator-klassen behandle informasjonen og kjøre metoden “LogIn()” som vil sjekke

opp imot databasen om det er en eksisterende bruker. Dersom brukeren eksisterer så vil det

startes en session. Det vil returneres melding om feil brukernavn/passord eller ikke

eksisterende bruker om brukeren ikke eksisterer i databasen. Alt dette som vist i Figur 6-5

under.

Figur 6-6: Bildet viser sekvensdiagram av logg inn i forumet.

6.3.3Lag kommentar

For å lage kommentar må det først sjekkes om brukeren er i en session slik at systemet vet

at det er en bruker som har rettighet til å skrive kommentar på forumet. For å kunne skrive

kommentaren må informasjon skrives inn i et kommentarfelt og deretter en “kommenter”

knapp trykkes på. Denne informasjonen sendes inn til database via metoden

“CreateComment()”. Når informasjonen er lagt inn i databasen vil siden lastes inn på nytt,

Page 22: Software Requirements & Design Document Forum ...215287/srd_team2.pdf · 6.1 E/R Diagram av databasestruktur ... 7 Systemets evolusjon ... Forumnavn Figur 3-6: Utkast av GUI for mobil

Software Requirements & Design document

22

slik at kommentaren blir vist, alt dette som vist i figur 6-7 under.

Figur 6-7: Bildet viser sekvensdiagram av medlemsliste i forumet.

6.3.4Opprett emne

Her må det sjekkes om en bruker er i en session. Deretter vil brukeren kunne se en knapp for

oppretting av et emne, her vil man kunne legge inn informasjon som via metoden

“CreateTopic()” legger inn informasjonen i databasen. Så vil nettsiden lastes inn på nytt slik

at man kan se emnet som er opprettet. Alt dette som vist i Figur 6-8 under.

Figur 6-8: Bildet viser sekvensdiagram av emneopprettelse i forumet.

6.4 UML Klassediagram

Figur 6-9 viser klassediagrammet og metodene som skal være i klassene.

Klassen Member vil være en overordnet klasse for oppretting av metoder og funksjoner som

registrerte brukere av forumet vil ta i bruk via GUI’et. Her vil metoder som f.eks. CreateTopic

slik som vist i sekvens diagram i Figur 6-8 ovenfor, ligge. Det vil være to andre klasser som vil

arve fra klassen Member, disse klassene er Administrator og Moderator. Disse klassene

tilsvarer funksjoner og metoder som Moderatorer og Administratorer skal ha tilgang til på

forumet. Klassen Authenticator vil være en klasse for bruk av autorisering av nye brukere og

allerede eksisterende brukere. Alt dette som vist i Figur 6-9 nedenfor.

Page 23: Software Requirements & Design Document Forum ...215287/srd_team2.pdf · 6.1 E/R Diagram av databasestruktur ... 7 Systemets evolusjon ... Forumnavn Figur 3-6: Utkast av GUI for mobil

Software Requirements & Design document

23

SKRIVES MER OG LEGGE INN FORHOLD MELLOM KLASSER OG LEGGE INN NYE KLASSER

Figur 6-9: Bildet viser et klassediagram.

Page 24: Software Requirements & Design Document Forum ...215287/srd_team2.pdf · 6.1 E/R Diagram av databasestruktur ... 7 Systemets evolusjon ... Forumnavn Figur 3-6: Utkast av GUI for mobil

Software Requirements & Design document

24

7 Systemets evolusjon Her vil alle antakelser gjort om systemet og antakelser om endringer av systemet bli oppgitt.

7.1 Fundamentet

Forumet skal kunne ha en enkel navigerbar hjemmeside. På hjemmesiden skal man kunne se

de største kategoriene og det skal også være mulighet for å kunne se nye tråder som blir

opprettet og populære tråder som er mye brukt i forumet. Det skal også kunne være

mulighet for å logge inn og opprette konto ved bruk av knapper på hjemmesiden. En

“dropdown” meny vurderes for implementering, for enkel navigering gjennom kategorier.

7.2 Antatte endringer

Antatte endringer i funksjonaliteten av forumet kan være følgende:

7.2.1Brukerendringer

Det er her antatt at endringer i form av hvilke innstillinger og profilmuligheter en bruker har

kan endres under prosessen. Det er nå antatt at en bruker skal kunne ha muligheten til å

redigere Utdanning, årgang, bilde og en kort beskrivelse av seg selv på profilsiden. Dette er

ikke nødvendigheter for brukeren og er dermed vurdert som endringer i prosjektet.

7.2.2Kommentarer i tråder/emner

Det er antatt at man skal kunne legge kommentarer fra seg under valgte tråder/emner.

Foreløpig skal det bare være mulig å kommentere på tråden/emnet, men ikke mulighet for å

kommentere på andres kommentarer. Dette legges under vurdering for endring.

Page 25: Software Requirements & Design Document Forum ...215287/srd_team2.pdf · 6.1 E/R Diagram av databasestruktur ... 7 Systemets evolusjon ... Forumnavn Figur 3-6: Utkast av GUI for mobil

Software Requirements & Design document

25

8 Referanser [1] H.P Halvorsen, Software Development – A practical approach, 2017

[2] https://expresswriters.com/tldr-what-is-gdpr/, Lastet ned 17.02.2019


Recommended