Requirements Engineering/het werk/werkstuk/2013-14/Groep 12

Uit Werkplaats
Ga naar: navigatie, zoeken

Introduction

Nijmegen is een studentenstad met vele studentenverenigingen. Mercurius is hier een van, de vereniging bestaat tegenwoordig uit meer dan 500 leden en de dagelijkse stand van zaken wordt door 7 vrijwilligers geregeld. Studentenvereniging Mercurius houdt zich in Nijmegen veel bezig met het uitgaansleven. Mercurius werd opgericht rond 123 voor Christus. In deze tijd hielden de leden van Mercurius zich, in tegenstelling tot het normale volk, vooral bezig met eten en elkaar converseren. Tegenwoordig houdt Mercurius zich vooral bezig met activiteiten organiseren voor medestudenten en de daarbij bijkomstige zaken.

Mercurius wil vanwege een sterk stijgende populariteit een systeem ontwikkelen in de vorm van een app waarbij studenten en andere bezoekers van de stad Nijmegen makkelijker hun weg kunnen vinden in de stad. Hierbij is het belangrijk dat het makkelijk vinden van uitgaansgelegenheden centraal staat. Daarbij moeten zij eenvoudig kunnen zien welke uitgaansgelegenheden populair zijn, goed beoordeeld worden, waar evenementen plaatsvinden en wat bijvoorbeeld de prijs van bier is in een bepaalde kroeg.

Dit document is volgens de methode van Kulak & Guiney gestructureerd om een goed leesbare en duidelijke beschrijving van de requirements aan de app op te leveren. Als eerst wordt de aanleiding om het systeem te ontwikkelen beschreven in "Problem statement". Vervolgens documenteren wij de belanghebbenden bij ons systeem door middel van een "Stakeholder analysis". Om duidelijkheid te creëeren over wat nou eigenlijk de bedoeling is van het product hebben we een "Mission and vission statement" opgesteld. De voortgang van ons project wordt bijgehouden in "Statement of work" en de risico's die bij het project komen kijken worden gedocumenteerd in "Risk analysis". Bij "Requirements" worden uiteindelijk de echte requirements beschreven door middel van "Use cases" en om dit overzichtelijk te maken, maken wij een "Intergrated use case diagram". Per use case wordt er een "Domain Model" gemaakt om de context van de use case en het geheel te verduidelijken. Om concrete voorbeelden te geven voor de lezer stellen we per use case ook een mogelijk scenario op om te laten zien hoe de app in praktijk werkt. Uiteindelijk beschrijven we in "Non-functional requuirements" de meest onderliggende functionaliteit van het systeem zoals privacy, veiligheid en beschikbaarheid.

Problem statement

Momenteel is het voor veel bezoekers van uitgaansavonden in Nijmegen een probleem om uit te vinden waar zij het beste uit kunnen gaan of waar leuke evenementen plaats vinden. Ook bieden diensten zoals Google Maps en Facebook niet genoeg functionaliteit om de precieze locatie te vinden van uitgaansgelegenheden. Een bijkomend voordeel van de app is dat het voor uitgaansgelegenheden makkelijker is om hun locatie te promoten door middel van acties, die ook in de app weergeven worden.

Case analysis

Stakeholder analysis

Stakeholder Rol Omschrijving
Voorzitter van studievereniging Mercurius, Quoc An Ha Beheerder Beheert de kroegen in de app, en neemt administratieve taken op zich.
Student in Nijmegen, Anna Bool Gebruikers De daadwerkelijk doelgroep van de app, de meest actieve gebruikers.
Eigenaar van uitgaansgelegenheid in Nijmegen, Gerda Grutjes Belanghebbende Hebben baat bij de app, worden onder de aandacht gebracht door de app.

Mission and vision statement

  • Mission - Onze missie is om een app te creëren die studenten de mogelijkheid biedt om een inzicht te krijgen in het uitgaansleven van Nijmegen.
  • Vision - Onze visie is dat er een app wordt gemaakt voor Mercurius die er voor zorgt dat studenten een beter inzicht krijgen over de uitgaansfaciliteiten in de stad Nijmegen. Zo kunnen zij snel zien hoe bepaalde kroegen gewaardeerd worden, wanneer er evenementen zijn en een kaart met de dichtstbijzijnde uitgaansgelegenheden. Ook moet er de mogelijkheid zijn om recensies te schrijven. Gebruikers moeten ook de mogelijkheid hebben om bepaalde recensies als ongepast aan te geven, zodat de beheerders deze kunnen verwijderen als ze daadwerkelijk ongepast zijn. En kroegeigenaren moeten de specificaties kunnen aanpassen middels een inlogfunctie met inloggegevens die zij van Mercurius hebben ontvangen.

Statement of work

Legenda
Voltooid
Mee bezig
Niet voltooid
N.v.t.

Deliverable Façade (XX-03-2014) Status Filled (13-03-2014) Status Focused (04-04-2014) Status Responsible members
Introduction Voorlopige versie Voltooid Voorlopige versie Voltooid Compleet Voltooid Stan Derksen, Bart van den Boom
Problem statement Zo gedetailleerd mogelijk Voltooid Zo gedetailleerd mogelijk Voltooid Compleet Voltooid Stan Derksen, Bart van den Boom, Jim Driessen, Maarten Carsjens, Laurens Brinker
Stakeholder list/analysis Zo goed mogelijk Voltooid Zo goed mogelijk Voltooid Compleet Voltooid Stan Derksen, Bart vd Boom
Mission-Vision(-Values) Mee bezig Mee bezig Mee bezig Mee bezig Compleet Voltooid Laurens Brinker, Jim Driessen
Statement of Work Compleet en up-to-date Voltooid Compleet en up-to-date Voltooid Compleet en up-to-date Voltooid Laurens Brinker, Maarten Carsjens, Jim Driessen
Risk Analysis Compleet en up-to-date Voltooid Compleet en up-to-date Voltooid Compleet en up-to-date Voltooid Jim Driessen, Stan Derksen
Use Case Survey Compleet Voltooid Compleet Voltooid Compleet Voltooid Stan Derksen, Maarten Carsjens, Jim Driessen
Integrated UC Diagram Compleet Voltooid Compleet Voltooid Compleet Voltooid Stan Derksen
Use Cases Mee bezig Mee bezig "Filled" niveau Mee bezig Compleet Voltooid Laurens Brinker, Stan Derksen
Scenarios Nog niet N.v.t. Mee bezig Mee bezig Compleet Voltooid Stan Derksen, Laurens Brinker, Bart vd Boom
Domain Models Nog niet N.v.t. Mee bezig Mee bezig Compleet Voltooid Maarten Carsjens, Stan Derksen.
Business rules per UC Nog niet N.v.t. Mee bezig Mee bezig Compleet Voltooid Laurens Brinker, Stan Derksen
Integrated Domain Model Nog niet N.v.t. Mee bezig Mee bezig Compleet Voltooid Laurens Brinker, Stan Derksen
Business Rules Catalogue Nog niet N.v.t. Mee bezig Mee bezig Compleet Voltooid Stan Derksen.
Non-functional Requirements Mee bezig Mee bezig Mee bezig Mee bezig Compleet Voltooid Laurens Brinker, Stan Derksen
Terminological Definitions Mee bezig Mee bezig Mee bezig Mee bezig Compleet Voltooid Stan Derksen

Risk analysis

# Category Risk Solution needed by Status Days lost Expectancy factor Risk factor
01 Persoonlijk Ziekte Meteen Closed 3 20% 4
02 Persoonlijk Familieproblemen Meteen Closed 4 5% 3
03 Communicatie Communicatieprobleem tussen projectleden en stakeholders Meteen Closed 4 40% 6
04 Communicatie Communicatieprobleem tussen projectleden onderling Meteen Closed 4 70% 7

Requirements

Use cases

Use case survey

# Name Description Initiating actor
01 Kroegspecificaties bekijken Een kroeg bekijken met diens specificaties. Gebruiker (student)
02 Evenement bekijken Een evenement uit een lijst met evenementen bekijken. Gebruiker (student)
03 Review schrijven/aanpassen of markeren Een review schrijven, je eigen review aanpassen of een andere review aangeven als ongepast. Gebruiker (student)
04 Informatie aanpassen Specificaties aanpassen van eigen onderneming. Uitgaansgelegenheid (kroegbaas)
05 Inhoud van database veranderen Een ongepaste review verwijderen of een kroeg toevoegen/verwijderen. Beheerder (Mercurius)

Integrated use case diagram

RE-UCD2.png

Kroegspecificaties bekijken

Use Case: Kroegspecificaties bekijken
Beschrijving De gebruiker krijg een lijst met de specificaties van een kroeg te zien.
Actoren App-gebruiker
Versie 1.1
Basic course of events

Kroegspecificaties bekijken
1. De gebruiker heeft aangegeven een lijst met kroegen te willen zien (trigger).
2. Het systeem laat de lijst van kroegen zien met globale informatie.
3. De gebruiker geeft aan een bepaalde kroeg/horeca aangelegenheid te willen zien.
4. Het systeem laat in een nieuw scherm van de desbetreffende kroeg/horeca aangelegenheid de specificaties zien.

Alternate paths

kroegspecificaties bekijken via kaart
1. De gebruiker heeft aangegeven een kaart met kroegen te willen zien (trigger).
2. Het systeem laat een kaart met kroegen zien met globale informatie.

- De use case gaat verder bij 3.


Gesorteerde lijst met kroegen bekijken
3. De gebruiker geeft sorteercriteria aan (top-rated, nieuw, etc)

- De use case gaat verder bij 2.
Exception paths

-

Preconditions De app is geopend, er is een internetverbinding en er is een GPS verbinding.
Postconditions De gebruiker heeft een kroeg kunnen bekijken, of is voortijdig terug gegaan naar het hoofdmenu / terug naar de lijst.
Related business rules De browse en GPS gegevens van de gebruiker blijven privé.
Domain Model

UC1 ORM Schema RequirementsEngineering Groepje12 2014.png

Evenement bekijken

Use Case: Evenement bekijken
Beschrijving De gebruiker krijg de informatie van een bepaald evenement te zien
Actoren

App-gebruiker

Versie 1.1
Basic course of events

Evenement bekijken
1. De gebruiker heeft aangegeven een lijst met evenementen te willen zien. (trigger).
2. Het systeem laat de lijst van evenementen zien gesorteerd op datum.
3. De gebruiker geeft aan een bepaalde dag te willen zien.
4. Het systeem laat de evenementen van die dag zien.
5. De gebruiker geeft aan een individueel evenement te willen zien.
6. Het systeem laat de aanwezige evenementinfo over het desbetreffende evenement zien.

Alternate paths

Evenement bekijken d.m.v. zoekfunctie
2. De gebruiker geeft aan te willen zoeken op naam.
3. Het systeem laat een zoekbalk zien
4. De gebruiker typt in de zoekbalk(een gedeelte) van de naam.
5. Het systeem laat een lijst van evenementen die matchen zien.

- De use case gaat verder bij 5.
Exception paths

Evenement bekijken
4. Het systeem geeft aan dat de lijst van evenementen leeg is.

- De use case gaat verder bij 2.

Evenement bekijken d.m.v. zoekfunctie
5. Er zijn geen matches

- De use case gaat verder bij 3.
Preconditions De gebruiker heeft verbinding met het internet.
Postconditions Het systeem laat een evenement met evenementinfo zien.
Related business rules De browsegegevens van de gebruiker blijven privé.
Domain Model

UC2 ORM Schema RequirementsEngineering Groepje12 2014.png

Review schrijven, aanpassen of markeren

Use Case: Review schrijven, aanpassen of markeren
Beschrijving De gebruiker kan een review over een uitgaansgelegenheid schrijven, een eigen review aanpassen of een andere review als ongepast markeren.
Actoren

App-gebruiker

Versie 1.1
Basic course of events

Een review schrijven
1. De gebruiker heeft bij kroegspecificaties aangegeven dat hij de reviews wil bekijken (trigger).
2. Het systeem laat een overzicht van de reviews van de desbetreffende kroeg zien.
3. De gebruiker geeft aan een review te willen schrijven.
4. Het systeem toont een formulier waarin de gebruiker een review kan schrijven.
5. De gebruiker geeft aan het formulier te willen opslaan.
6. Het systeem toont het overzicht van geschreven reviews van de desbetreffende kroeg.

Alternate paths

Een eigen review aanpassen
3. De gebruiker geeft aan een eigen review te willen aanpassen.
4. Het systeem toont een formulier met de inhoud van de huidige review al ingevuld.

- De use case gaat verder bij 5.


Een review als ongepast markeren
3. De gebruiker geeft aan dat een review ongepast is.
4. Het systeem laat zien dat de kroeg als ongepast is gemarkeerd.

Exception paths

Een review schrijven
5. De gebruiker geeft aan een leeg formulier te willen opslaan.

- De use case gaat verder bij 4.
Preconditions

Het toestel waarop de gebruiker de app gebruikt heeft een internetverbinding.

Postconditions

De gebruiker heeft een review geschreven over een bepaalde kroeg.
De gebruiker heeft een eigen review aangepast.
De gebruiker heeft een review als ongepast gemarkeerd.

Related business rules

de gegevens/acties van de gebruiker blijven privé.

Domain Model

UC3 ORM Schema RequirementsEngineering Groepje12 2014.png

Informatie aanpassen

Use Case: Informatie aanpassen
Beschrijving

Een kroegeigenaar past de kroegspecificaties van zijn/haar onderneming aan. Of maakt/verandert/verwijdert een evenement.

Actoren

Uitgaansgelegenheid

Versie 1.1
Basic course of events

Kroegspecificaties aanpassen
1. De kroegeigenaar geeft aan in te willen loggen (trigger).
2. Het systeem vraagt om een inlognaam en daarbij behorende wachtwoord.
3. De kroegeigenaar vult zijn/haar inlognaam en wachtwoord in.
4. Het systeem toont dat de kroegeigenaar succesvol is ingelogd.
5. De kroegeigenaar geeft de kroegspecificaties van zijn/haar onderneming te willen aanpassen.
6. Het systeem toont een scherm met een formulier met de huidige specificaties die de kroegeigenaar kan veranderen.
7. De kroegeigenaar geeft aan het formulier op te slaan.

Alternate paths

Evenement toevoegen
5. De kroegeigenaar geeft aan een evenement toe te willen voegen.
6. Het systeem geeft een formulier waar evenementinformatie moet worden ingevuld.

- De use case gaat verder bij 7.

Evenement wijzigen
5. De kroegeigenaar geeft aan een evenement te willen wijzigen.
6. Het systeem geeft het formulier met de eerder ingevulde evenementinformatie.

- De use case gaat verder bij 7.

Evenement verwijderen
5. De kroegeigenaar geeft aan een door zijn/haar opgezet evenement te willen verwijderen.
6. Het systeem geeft een lijst met de door zijn/haar opgezette evenementen.
7. De kroegeigenaar selecteerd een evenement om te verwijderen.
6. Het systeem vraagt om een bevestiging.

- De use case gaat verder bij 7. van Kroegspecificaties aanpassen'
Exception paths

Verkeerd(e) inloggegeven(s).
3. De kroegeigenaar vult een verkeerde inlognaam, of een verkeerd bijbehorend wachtwoord in.

- De use case gaat verder bij 2.


Drie keer foutief
3. De kroegeigenaar vult voor de derde keer op rij een verkeerd inloggegeven in.
4. Het systeem toont dat de kroegeigenaar contact moet opnemen met Mercurius voor nieuwe inloggegevens.

Leeg formulier opslaan
7. De kroegeigenaar geeft aan een leeg formulier op te willen slaan.

- De use case gaat verder bij 6.
Preconditions

Het toestel waarop de kroegeigenaar de app gebruikt heeft een internetverbinding.
De kroegeigenaar heeft inloggegevens ontvangen van Mercurius.

Postconditions

De kroegspecificaties van de onderneming behorend tot een kroegeigenaar zijn veranderd.

Related business rules

De inloggegevens van de kroegbaas blijven privé.

Domain Model

UC4 ORM Schema RequirementsEngineering Groepje12 2014.png

Inhoud van database veranderen

Use Case: Inhoud van database veranderen
Beschrijving De inhoud van de database veranderen, zoals de kroegen aanpassen of verwijderen en ongepaste reviews deleten.
Actoren Studievereniging Mercurius
Versie 1.0
Basic course of events

Ongepaste review verwijderen
1. Mercurius geeft aan de database te willen aanpassen.
2. Het systeem vraagt om een inlognaam en een daarbij behorende wachtwoord.
3. Mercurius vult zijn of haar inlognaam en wachtwoord in.
4. Het systeem geeft aan dat er succesvol is ingelogd en toont een menu.
5. Mercurius geeft aan een review te willen verwijderen.
6. Het systeem toont een lijst met recente (gemarkeerde) reviews.
7. Mercurius geeft aan dat een review verwijderd moet worden. 8. Het systeem toont dat de review succesvol is verwijderd.

Alternate paths

Verkeerde inlogggegeven(s)
3. Mercurius vult een verkeerde inlognaam of wachtwoord in

- De use case gaat verder bij 2.


Kroeg toevoegen
5. Mercurius geeft aan een kroeg toe te willen voegen.
6. Het systeem toont een formulier met gegevens voor de kroeg.
7. Mercurius vult het formulier in en slaat deze op.
8. Het systeem toont de toegevoegde kroeg.


Kroegspecificaties aanpassen
5. Mercurius geeft aan een kroeg aan te willen passen.
6. Het systeem toont een lijst met kroegen.
7. Mercurius kiest de kroeg die hij of zij aan wil passen.
8. Het systeem toont een ingevuld formulier met de gegevens van de gekozen kroeg.
9. Mercurius past de gegevens aan en geeft aan het formulier op te willen slaan.
10. Het systeem toont de aangepaste kroeg.


Kroeg verwijderen
5. Mercurius geeft aan een kroeg aan te willen passen.
6. Het systeem toont een lijst met kroegen.
7. Mercurius kiest de kroeg die hij of zij aan wil passen.
8. Het systeem toont een ingevuld formulier met de gegevens van de gekozen kroeg.
9. Mercurius geeft aan de kroeg te willen verwijderen


Exception paths

De lijst met reviews is leeg
6. Het systeem toont een lege lijst met reviews.

- De use case gaat verder bij 4.


Kroeg toevoegen/aanpassen 7. Het ingevulde formulier is leeg.

- De use case gaat verder bij 6.
Preconditions

Het toestel waarop de gebruiker de app gebruikt heeft een internetverbinding.

Postconditions

Mercurius heeft een review verwijderd.
Mercurius heeft een kroeg toegevoegd.
Mercurius heeft een kroeg aangepast.
Mercurius heeft een kroeg verwijderd.

Related business rules De inloggegevens van Mercurius zijn privé.
Domain Model

UC5 ORM Schema RequirementsEngineering Groepje12 2014.png

Scenarios

Scenario "Kroegspecificaties bekijken"

Basic course of events
Kroegspecificaties bekijken
  1. Anna Bool geeft aan een lijst met kroegen te willen zien.
  2. Het systeem laat een lijst van kroegen zien met globale informatie.
  3. Anna Bool klikt op de kroeg genaamd NDRGRND.
  4. Het systeem laat de specificaties van NDRGRND zien.

Alternate path
Kroegspecificaties bekijken via kaart
  1. Anna Bool geeft aan een kaart met kroegen te willen zien.
  2. Het systeem laat een kaart met kroegen zien met globale informatie.
  3. Anna Bool klikt op de kroeg genaamd NDRGRND.
  4. Het systeem laat de specificaties van NDRGRND zien.

Alternate path
Gesorteerde lijst met kroegen bekijken
  1. Anna Bool geeft aan een lijst met kroegen te willen zien.
  2. Het systeem laat een lijst van kroegen zien met globale informatie.
  3. Anna Bool geeft het zoekcriterum top-rated aan.
  4. Het systeem toont een gesorteerde lijst, gebaseerd op het zoekcriterium.
  5. Anna Bool klikt op de bovenste kroeg genaamd De Drie Gezusters.
  6. Het systeem laat de specificaties van De Drie Gezusters zien.

Scenario "Evenement bekijken"

Basic Course of Events
Evenement bekijken
  1. Anna Bool geeft aan een lijst met evenementen te willen zien.
  2. Het systeem laat de lijst van evenementen zien gesorteerd op datum.
  3. Anna Bool geeft aan de evenementen op de datum 4 juni 2014 te willen zien.
  4. Het systeem laat de evenementen van 4 juni 2014 zien.
  5. Anna Bool geeft aan Drink more, get more! te willen zien.
  6. Het systeem laat de aanwezige informatie over Drink more, get more! zien:.
Alternate Path
Evenement bekijken d.m.v. zoekfunctie
  1. Anna Bool geeft aan een lijst met evenementen te willen zien.
  2. Het systeem laat de lijst van evenementen zien gesorteerd op datum.
  3. Anna Bool geeft aan te willen zoeken op naam.
  4. Het systeem laat een zoekbalk zien.
  5. Anna Bool typt "Drink more, get more!" in de zoekbalk.
  6. Het systeem geeft een lijst te zien met: "Drink more, get more!".
  7. Anna Bool geeft aan "Drink more, get more!" te willen zien.
  8. Het systeem laat de aanwezige informatie over "Drink more, get more!" zien.
Exception path
Evenement bekijken (lege lijst)
  1. Anna Bool geeft aan een lijst met evenementen te willen zien.
  2. Het systeem laat de lijst van evenementen zien gesorteerd op datum.
  3. Anna Bool geeft aan de evenementen van 3 juni 2014 te willen bekijken
  4. Het systeem geeft aan dat de lijst van evenementen leeg is.
  5. Het systeem laat de lijst van evenementen zien gesorteerd op datum.
  6. Anna Bool geeft aan de evenementen van 4 juni 2014 te willen bekijken
  7. Het systeem laat de evenementen van "4 juni 2014" zien.
  8. Anna Bool geeft aan "Drink more, get more!" te willen zien.
  9. Het systeem laat de aanwezige informatie over "Drink more,get more!" zien.
Exception path
Evenement bekijken d.m.v. zoekfunctie (geen matches)
  1. Anna Bool geeft aan een lijst met evenementen te willen zien.
  2. Het systeem laat de lijst van evenementen zien gesorteerd op datum.
  3. Anna Bool geeft aan te willen zoeken op naam.
  4. Het systeem laat een zoekbalk zien.
  5. Anna Bool typt "DRASDASDASDAS" in de zoekbalk.
  6. Het systeem geeft aan dat er geen zoekresultaten zijn en geeft opnieuw de zoekbalk.
  7. Anna Bool typt "Drink more, get more!" in de zoekbalk.
  8. Het systeem geeft een lijst te zien met: "Drink more, get more!".
  9. Anna Bool geeft aan "Drink more, get more!" te willen zien.
  10. Het systeem laat de aanwezige informatie over "Drink more, get more!" zien.

Scenario "Review schrijven, aanpassen of markeren"

Basic Course of Events
Een review schrijven
  1. Anna Bool heeft bij kroegspecificaties aangegeven dat zij de reviews wil bekijken van kroeg "NDRGRND".
  2. Het systeem laat een overzicht van de reviews van "NDRGRND" zien.
  3. Anna Bool geeft aan een review te willen schrijven.
  4. Het systeem toont een formulier waarin Anna Bool een review kan schrijven.
  5. Anna Bool vult het formulier in en geeft aan het formulier op te willen slaan.
  6. Het systeem toont het overzicht van geschreven reviews van de desbetreffende kroeg.
Alternate Path
Een eigen review aanpassen
  1. Anna Bool heeft bij kroegspecificaties aangegeven dat zij de reviews wil bekijken van kroeg "NDRGRND".
  2. Het systeem laat een overzicht van de reviews van "NDRGRND" zien.
  3. Anna Bool geeft aan een eigen review te willen aanpassen.
  4. Het systeem toont een formulier met de inhoud van de huidige review al ingevuld.
  5. Anna Bool vult het formulier in en geeft aan het formulier op te willen slaan.
  6. Het systeem toont het overzicht van geschreven reviews van de desbetreffende kroeg.
Alternate Path
Een review als ongepast markeren
  1. Anna Bool heeft bij kroegspecificaties aangegeven dat zij de reviews wil bekijken van kroeg "NDRGRND".
  2. Het systeem laat een overzicht van de reviews van "NDRGRND" zien.
  3. Anna Bool geeft aan dat een review ongepast is.
Exception Path
Een review schrijven
  1. Anna Bool heeft bij kroegspecificaties aangegeven dat zij de reviews wil bekijken van kroeg "NDRGRND".
  2. Het systeem laat een overzicht van de reviews van "NDRGRND" zien.
  3. Anna Bool geeft aan een review te willen schrijven.
  4. Het systeem toont een formulier waarin Anna Bool een review kan schrijven.
  5. Anna Bool geeft aan een leeg formulier te willen opslaan.
  6. Het systeem toont een formulier waarin Anna Bool een review kan schrijven.
  7. Anna Bool vult het formulier in en geeft aan het formulier op te willen slaan.
  8. Het systeem toont het overzicht van geschreven reviews van de desbetreffende kroeg.

Scenario "Informatie aanpassen"

Basic Course of Events
Kroegspecificaties aanpassen
  1. Gerda Grutjes geeft aan in te willen loggen.
  2. Het systeem vraagt om een inlognaam en bijbehorend wachtwoord.
  3. Gerda Grutjes vult in bij inlognaam: GerdaGrutjes en bij wachtwoord: QdxOerD!.
  4. Het systeem toont dat Gerda Grutjes succesvol is ingelogd.
  5. Gerda Grutjes geeft aan de kroegspecificaties aan te willen passen.
  6. Het systeem toont de huidige kroegspecificaties
  7. Gerda Grutjes verandert de prijs van het bier naar €1.00 en slaat het formulier op.
Alternate Path
Evenement toevoegen
  1. Gerda Grutjes geeft aan in te willen loggen.
  2. Het systeem vraagt om een inlognaam en bijbehorend wachtwoord.
  3. Harry vult in bij inlognaam: GerdaGrutjes en bij wachtwoord: QdxOerD!.
  4. Het systeem geeft aan dat Gerda Grutjes succesvol is ingelogd.
  1. Gerda Grutjes geeft aan een evenement te willen toevoegen.
  1. Het systeem geeft een formulier waar evenementinformatie moet worden ingevuld.
  1. Gerda Grutjes vult het formulier in en geeft aan het formulier op te willen slaan.


Alternate Path
Evenement Wijzigen
  1. Gerda Grutjes geeft aan in te willen loggen.
  2. Het systeem vraagt om een inlognaam en bijbehorend wachtwoord.
  3. Harry vult in bij inlognaam: GerdaGrutjes en bij wachtwoord: QdxOerD!
  4. Het systeem geeft aan dat Gerda Grutjes succesvol is ingelogd.
  5. Gerda Grutjes geeft aan een evenement te willen wijzigen.
  6. Het systeem geeft het formulier van de eerder ingevulde evenementinformatie.
  7. Gerda Grutjes verandert de datum naar 7 juni 2014 en geeft aan het formulier op te willen slaan.


Alternate Path
Evenement Verwijderen
  1. Gerda Grutjes geeft aan in te willen loggen.
  2. Het systeem vraagt om een inlognaam en bijbehorend wachtwoord.
  3. Harry vult in bij inlognaam: GerdaGrutjes en bij wachtwoord: QdxOerD!
  4. Het systeem geeft aan dat Gerda Grutjes succesvol is ingelogd.
  5. Gerda Grutjes geeft aan een evenement te willen verwijderen.
  6. Het systeem toont een lijst met de door Gerda Grutjes aangemaakte evenementen.
  7. Gerda Grutjes geeft aan evenement Super Poker Friday te willen verwijderen.
  8. Het systeem vraagt om een bevestiging.
  9. Gerda Grutjes geeft aan dat ze akkoord gaat en slaat het formulier op.
Exception Path
Verkeerd(e) inloggegeven(s)
  1. Gerda Grutjes geeft aan in te willen loggen.
  2. Het systeem vraagt om een inlognaam en bijbehorend wachtwoord.
  3. Gerda Grutjes vult in bij inlognaam: GerdaGrutjes1 en bij wachtwoord: QdxOerD!.
  1. Het systeem geeft aan dat de gegevens fout zijn. En vraagt opnieuw om inloggegevens.
  2. Gerda Grutjes vult in bij inlognaam: GerdaGrutjes en bij wachtwoord: QdxOerD!.
  3. Het systeem toont dat Gerda Grutjes succesvol is ingelogd.
  4. Gerda Grutjes geeft aan de kroegspecificaties aan te willen passen.
  5. Het systeem toont de huidige kroegspecificaties.
  6. Gerda Grutjes verandert de prijs van het bier naar €1.00 en slaat het formulier op.


Exception Path
Drie keer foutief
  1. Gerda Grutjes geeft aan in te willen loggen.
  2. Het systeem vraagt om een inlognaam en bijbehorend wachtwoord.
  3. Gerda Grutjes vult in bij inlognaam: GerdaGrutjes1 en bij wachtwoord: QdxOerD!.
  1. Het systeem geeft aan dat de gegevens fout zijn. En vraagt opnieuw om inloggegevens.
  2. Gerda Grutjes vult in bij inlognaam: GerdaGrutjes en bij wachtwoord: qdxOerD!.
  1. Het systeem geeft aan dat de gegevens fout zijn. En vraagt opnieuw om inloggegevens.
  2. Gerda Grutjes vult in bij inlognaam: Gerda1Grutjes en bij wachtwoord: qdxOerD!.
  1. Het systeem geeft aan dat het account is geblokkeerd en dat Gerda Grutjes contact moet zoeken met Mercurius voor nieuwe inloggegevens.
Exception Path
Leeg formulier opslaan
  1. Gerda Grutjes geeft aan in te willen loggen.
  2. Het systeem vraagt om een inlognaam en bijbehorend wachtwoord.
  3. Harry vult in bij inlognaam: GerdaGrutjes en bij wachtwoord: QdxOerD!.
  4. Het systeem geeft aan dat Gerda Grutjes succesvol is ingelogd.
  5. Gerda Grutjes geeft aan een evenement te willen toevoegen.
  6. Het systeem geeft een formulier waar evenementinformatie moet worden ingevuld.
  7. Gerda Grutjes vult niet het formulier in en geeft aan het formulier op te willen slaan.
  8. Het systeem geeft aan dat er dat niet mag, en toont opnieuw het formulier.
  9. Gerda Grutjes vult het formulier in en geeft aan het formulier op te willen slaan.

Scenario "Inhoud van database veranderen"

Basic Course of Events
Ongepaste review verwijderen
  1. Quoc An Ha geeft aan de database te willen aanpassen.
  2. Het systeem vraagt om een inlognaam en een daarbij behorend wachtwoord.
  3. Quoc An Ha vult "Quoc An Ha" in bij het veld inlognaam en vult "wachtwoord123" in bij het veld wachtwoord.
  4. Het systeem toont het bericht "Succesvol ingelogd!" en toont een menu.
  5. Quoc An Ha kiest voor optie "Gemarkeerde review(s) verwijderen" in het menu.
  6. Het systeem toont een lijst met recente (gemarkeerde) reviews.
  7. Quoc An Ha kiest er voor de review van Anna Bool over de "NDRGRND" te willen verwijderen.
  8. Het systeem toont het bericht "Review verwijderd!"
Alternate Path
Verkeerde inloggegeven(s)
  1. Quoc An Ha geeft aan de database te willen aanpassen.
  2. Het systeem vraagt om een inlognaam en een daarbij behorend wachtwoord.
  3. Quoc An Ha vult "Quoc An Ha" in bij het veld inlognaam en vult "wachtwoort123" in bij het veld wachtwoord.
  4. Het systeem vraagt om een inlognaam en een daarbij behorend wachtwoord.
  5. Quoc An Ha vult "Quoc An Ha" in bij het veld inlognaam en vult "wachtwoord123" in bij het veld wachtwoord.
  6. Het systeem toont het bericht "Succesvol ingelogd!" en toont een menu.
  7. Quoc An Ha geeft aan een review te willen verwijderen.
  8. Het systeem toont een lijst met recente (gemarkeerde) reviews.
  9. Quoc An Ha kiest er voor de review van Anna Bool over de "NDRGRND" te willen verwijderen.
  10. Het systeem toont het bericht "Review verwijderd!"
Alternate Path
Kroeg toevoegen
  1. Quoc An Ha geeft aan de database te willen aanpassen.
  2. Het systeem vraagt om een inlognaam en een daarbij behorend wachtwoord.
  3. Quoc An Ha vult "Quoc An Ha" in bij het veld inlognaam en vult "wachtwoord123" in bij het veld wachtwoord.
  4. Het systeem toont het bericht "Succesvol ingelogd!" en toont een menu.
  5. Quoc An Ha kiest voor optie "Voeg kroeg toe" in het menu.
  6. Het systeem toont een formulier met gegevens voor de kroeg.
  7. Quoc An Ha voegt kroeg "An's Bar" toe aan de lijst met kroegen met daarbij de desbetreffende kroegspecificaties.
  8. Het systeem toont de kroeg "An's Bar" met de daarbij behorende kroegspecificaties.


Alternate Path
Kroegspecificaties aanpassen
  1. Quoc An Ha geeft aan de database te willen aanpassen.
  2. Het systeem vraagt om een inlognaam en een daarbij behorend wachtwoord.
  3. Quoc An Ha vult "Quoc An Ha" in bij het veld inlognaam en vult "wachtwoord123" in bij het veld wachtwoord.
  4. Het systeem toont het bericht "Succesvol ingelogd!" en toont een menu.
  5. Quoc An Ha kiest voor optie "Kroeg aanpassen" in het menu.
  6. Het systeem toont een lijst met kroegen.
  7. Quoc An Ha kiest kroeg "An's Bar" om deze aan te passen.
  8. Het systeem toont een een ingevuld formulier met daarin de kroegspecificaties van "An's Bar".
  9. Quoc An Ha past de bierprijs aan en veranderd deze van €1.50 naar €2.00 en slaat selecteert de knop "Opslaan".
  10. Het systeem toont de kroeg "An's Bar" met desbetreffende aangepaste kroegspecificaties.
Alternate Path
Kroeg verwijderen
  1. Quoc An Ha geeft aan de database te willen aanpassen.
  2. Het systeem vraagt om een inlognaam en een daarbij behorend wachtwoord.
  3. Quoc An Ha vult "Quoc An Ha" in bij het veld inlognaam en vult "wachtwoord123" in bij het veld wachtwoord.
  4. Het systeem toont het bericht "Succesvol ingelogd!" en toont een menu.
  5. Quoc An Ha kiest voor optie "Kroeg aanpassen" in het menu.
  6. Het systeem toont een lijst met kroegen.
  7. Quoc An Ha kiest kroeg "An's Bar" om deze aan te passen.
  8. Het systeem toont een een ingevuld formulier met daarin de kroegspecificaties van "An's Bar".
  9. Quoc An Ha selecteert de knop "Kroeg verwijderen".
Exception path
De lijst met reviews is leeg
  1. Quoc An Ha geeft aan de database te willen aanpassen.
  2. Het systeem vraagt om een inlognaam en een daarbij behorend wachtwoord.
  3. Quoc An Ha vult "Quoc An Ha" in bij het veld inlognaam en vult "wachtwoord123" in bij het veld wachtwoord.
  4. Het systeem toont het bericht "Succesvol ingelogd!" en toont een menu.
  5. Quoc An Ha kiest voor optie "Gemarkeerde review(s) verwijderen" in het menu.
  6. Het systeem toont een lege lijst met reviews.
Exception path
Kroeg toevoegen/aanpassen
  1. Quoc An Ha geeft aan de database te willen aanpassen.
  2. Het systeem vraagt om een inlognaam en een daarbij behorend wachtwoord.
  3. Quoc An Ha vult "Quoc An Ha" in bij het veld inlognaam en vult "wachtwoord123" in bij het veld wachtwoord.
  4. Het systeem toont het bericht "Succesvol ingelogd!" en toont een menu.
  5. Quoc An Ha kiest voor optie "Voeg kroeg toe" in het menu.
  6. Het systeem toont een formulier met gegevens voor de kroeg.
  7. Quoc An Ha voegt kroeg "An's Bar" toe aan de lijst met kroegen en daarbij vult hij geen kroegspecificaties in.
  8. Het systeem toont een formulier met gegevens voor de kroeg.
  9. Quoc An Ha voegt kroeg "An's Bar" toe aan de lijst met kroegen met daarbij de desbetreffende kroegspecificaties.
  10. Het systeem toont de kroeg "An's Bar" met de daarbij behorende kroegspecificaties.

Non-functional Requirements

Integriteit: Normale gebruikers kunnen niet de kroeg/evenementen informatie in de database veranderen. Alleen de beheerders kunnen dit en dat gaat niet via de app.

Gebruiksvriendelijk: De app dient gebruiksvriendelijk te zijn zodat het makkelijk en snel gebruikt kan worden.

Betrouwbaarheid: De informatie moet wel kloppen, bijvoorbeeld kroegen mogen niet hun bier goedkoper op de app aangeven dan dat het eigenlijk is.

Privacy: De gps en browsegegevens van personen dienen privé , dus alleen lokaal opgeslagen, te zijn.

Addendum

Integrated Domainmodel

ALLES ORM Schema RequirementsEngineering Groepje12 2014.png

voor de volledige formaten van de plaatjes, mocht iemand nog iets willen aanpassen:

https://lab.cs.ru.nl/algemeen/Bestand:ALLES_ORM_Schema_RequirementsEngineering_Groepje12_2014_VOL_FORMAAT.png

https://lab.cs.ru.nl/algemeen/Bestand:UC1_ORM_Schema_RequirementsEngineering_Groepje12_2014_VOL_FORMAAT.png

https://lab.cs.ru.nl/algemeen/Bestand:UC2_ORM_Schema_RequirementsEngineering_Groepje12_2014_VOL_FORMAAT.png

https://lab.cs.ru.nl/algemeen/Bestand:UC3_ORM_Schema_RequirementsEngineering_Groepje12_2014_VOL_FORMAAT.png

https://lab.cs.ru.nl/algemeen/Bestand:UC4_ORM_Schema_RequirementsEngineering_Groepje12_2014_VOL_FORMAAT.png

https://lab.cs.ru.nl/algemeen/Bestand:UC5_ORM_Schema_RequirementsEngineering_Groepje12_2014_VOL_FORMAAT.png

Business Rules Catalogue

Algemene business rules

  1. Studentenvereniging Mercurius en kroegeigenaren dienen een account te hebben voor de app.
  2. Gebruikersnamen mogen maar één keer gebruikt worden.
  3. Wachtwoorden en gebruikersnamen blijven privé.
  4. Wachtwoorden moeten langer zijn dan 6 karakters en minstens één cijfer en één hoofdletter bevatten.

Use case gespecificeerde business rules

  1. Kroegeigenaren mogen niet meerdere evenementen op dezelfde tijd plannen voor hun eigen kroeg.
  2. Kroegeigenaren zijn verplicht hun informatie te updaten als deze worden gewijzigd.
  3. Kroegen kunnen alleen toegevoegd en verwijderd worden door Mercurius.
  4. Browsegegevens blijven privé.

Terminological Definitions

Globale informatie: Naam, adres, afstand verwijderd van huidige positie, evenement.
Specificaties: Naam, adres, afstand verwijderd van huidige positie, bierprijs.
Evenementinfo: Locatie, datum, entreeprijs, omschrijving.
Evenement: Een bepaalde gebeurtenis in een bepaalde kroeg. Bijvoorbeeld een thema feest, of een actie waarbij de bierprijzen omlaag gaan.
Mercurius: Mensen die bij de studentenvereniging Mercurius het recht hebben gekregen om onze app te beheren.
Review: Een door een gebruiker gespecificeerde reactie, mening of waardering over een kroeg.
Formulier: Een pagina met invulvelden die door de gebruiker ingevuld kunnen worden.
Gebruiker: Personen die de app gebruiken.
Kroegeigenaar: Eigenaren van een bepaalde uitgaansgelegenheid in de stad Nijmegen.
Het systeem: Het geprogrameerde systeem van de app.