Requirements Engineering/het werk/werkstuk/2012-13/Groep 07
Inhoud
Introduction
Modehuis Walraven is een kledingzaak voor heren-, dames- en kindermode en is gevestigd te Wijchen. Dit filiaal is de werkplaats van meneer en mevrouw Walraven, tevens de oprichters van de kledingzaak en enkele medewerkers. Meneer en mevrouw Walraven zorgen over het algemeen voor het management van de winkel, de medewerkers houden zich bezig met de klanten en het bijstellen van kleding.
Modehuis Walraven gaat uitbreiden, er komen twee filialen bij, gesitueerd in Arnhem en Nijmegen. Voor beide filialen worden ook vier medewerkers aangenomen, maar meneer en mevrouw Walraven blijven verantwoordelijk voor het management van alle filialen. Om niet te vaak te hoeven reizen tussen de filialen voor zaken als assortiment en kas hebben meneer en mevrouw Walraven besloten een modern informatiesysteem in te laten maken en in gebruik te nemen. Het doel van dit document is de requirements voor dit systeem op te stellen.
Dit document is opgedeeld in drie delen, namelijk de case analysis, de requirements en het addendum.
- In de case analysis is een beschrijving van de stakeholders gegeven, er word beschreven wat het project zal doen en wat de voortgang van het project is.
- Met behulp van Use Cases zijn we vervolgens in staat om de eisen van het systeem helder te krijgen. Hier wordt ook de interactie tussen het systeem en de uiteindelijke gebruikers duidelijk.
- In het addendum worden Business Rules en andere terminologie van het project opgenomen.
Case analysis
Problem statement
Meneer en mevrouw Walraven houden in de huidige situatie alle mutaties van kas, voorraad en bijstelaanvragen handmatig bij op papier in een aantal mappen. Op korte termijn wordt de zaak uitgebreid van een enkel filiaal naar drie filialen. Omdat Meneer en mevrouw Walraven de financiën en het assortiment regelen van alle filialen is huidige werkwijze inefficiënt en ongeschikt voor de nieuwe situatie. Om in de nieuwe situatie comfortabel en efficiënt te kunnen werken is het nodig dat de volgende zaken behandeld worden:
- Geen centraal overzicht van de voorraden van de filialen
- Nauwelijks inzicht in inkomsten en uitgaven
- Klanten moeten bij het ene filiaal kunnen bestellen en bij een ander ophalen
Stakeholder analysis
# | Naam | Functie | Beschrijving |
---|---|---|---|
01 | Mevrouw Walraven | Management | Meneer Walraven wil inzicht hebben in de financiën. Hij wil kunnen zien wat er per dag in de kas moet zitten, hoeveel met pinnen is betaald en wat er verkocht is. Daarnaast wil hij kunnen zien wat de bijstelopdrachten opbrengen. Ook wil hij kunnen zien wat hij kwijt is aan inkoop van voorraad en personeelskosten.
Verantwoordelijkheid: voorraad, assortiment, inkopen assortiment |
02 | Meneer Walraven | Management | Mevrouw Walraven wil een algemeen overzicht van de voorraad van alle filialen naast elkaar hebben. Zij wil oude artikelen kunnen verwijderen, nieuwe toevoegen en de voorraad van bestaande artikelen bijwerken. Daarnaast wil mevrouw Walraven inzicht in de bijstelopdrachten om de status te zien en wie er verantwoordelijk voor is.
Verantwoordelijkheid: financiën |
03 | Medewerkers filiaal | Medewerker | De medewerkers van de filialen zullen de verkoop van artikelen in het systeem registreren. Daarnaast zullen zij nieuwe bijstelopdrachten registreren, bijwerken en als voltooid markeren. Meneer of Mevrouw walraven kan niet alleen als eigenaar maar ook als medewerker aangemerkt worden.
Verantwoordelijkheid: klanten helpen, bijstelaanvragen invoeren, verwerken en afronden. |
Mission and vision statement
Mission - what the project will “do” We hebben als missie een structureel en volledig ondersteunend ICT-systeem te bieden dat op maat gemaakt is naar de wensen van de klant. Het te ontwerpen systeem zal voor (meer) overzicht zorgen om het runnen van drie filialen mogelijk te maken. Daarnaast worden een aantal basistaken, zoals het tellen van kas en voorraad, uit handen genomen. We zorgen voor een platform waarmee efficiënter en effectiever gewerkt kan worden, zonder dat er kostbare tijd verloren gaat aan zaken die achter de schermen gebeuren bij het runnen van een kledingzaak. Denk bijvoorbeeld aan een vermindering van reistijd, overzichtelijk gegevensmanagement enzovoort.
Vision - what the project will “be” Het systeem wat we ontwerpen zal het management een gecentraliseerd overzicht geven van essentiële aspecten van de filialen: financiën, assortiment en bijstellingen. Het management kan daarnaast ook aanpassingen doorvoeren op deze aspecten. Enkele voorbeelden zijn: "het vernieuwen van het assortiment" of "bijstellingen door een andere werknemer laten verwerken bij ziekte van een werknemer". Tevens zal het de medewerkers van elk filiaal ondersteunen in dagelijkse activiteiten als bijstellen en verkopen van artikelen.
Statement of work
Deadlines
- Facade iteratie: 19 april
- Filled iteratie: 24 mei
- Focused iteratie: 21 juni
Statussen
Code | Betekenis | Uitleg |
---|---|---|
V | Voltooid | Deliverable is nagekeken door minstens 1 teamlid en is klaar om ingeleverd te worden. |
C | Controleren | Deliverable is gemaakt door de verantwoordelijk en dient te worden gecontroleerd/verbeterd door een groepslid. |
B | Bezig | Deliverable is in de maak op de wiki. |
NG | Niet gestart | Het maken van deze deliverable is nog niet (op de wiki, voor deze facade) gestart. |
NV | Niet vereist | Deliverable is (in deze iteratie) niet vereist. |
Status deliverables
Deliverable | Verantwoordelijke | Facade iteratie | Status | Filled iteratie | Status | Focused iteratie | Status |
---|---|---|---|---|---|---|---|
Introduction | Michiel | Preliminary version | V | Preliminary version | V | Complete | V |
Problem statement | Groep | As good as possible | V | As good as possible | V | Complete | V |
Stakeholder analysis | Ferdi | As good as possible | V | As good as possible | V | Complete | V |
Mission-vision-values | Jeremy | Complete | V | Complete | V | Complete | V |
Statement of work | Jeremy | Complete, and up-to-date | V | Complete, and up-to-date | V | Complete, and up-to-date | V |
Risk analysis | Jeremy | Complete, and up-to-date | V | Complete, and up-to-date | V | Complete, and up-to-date | V |
Use case survery | Groep | As good as possible | V | Nearly complete | V | Complete, and up-to-date | V |
Integrated UC diagram | Groep | Complete (though preliminary) | V | Complete | V | Complete | V |
Use cases | Groep | Not yet! | NV | "Filled" level | V | Complete | V |
Scenarios | Groep | Not yet! | NV | Several for each UC | V | Complete ("focused" level) | V |
Domain models | Groep | Not yet! | NV | Partially complete | V | Complete | V |
Integrated domain model | Groep | Not yet! | NV | Partially complete | V | Complete | V |
Business rules catalogue | Groep | Not yet! | NV | Partially complete | V | Complete | V |
Non-functional requirements | Groep | Notes | V | Partially complete | V | Complete | V |
Terminological definitions | Groep | Notes | V | Partially complete | V | Complete | V |
Executive sponsor viewpoint | Groep | Complete (integrated in M-V-V!) | V | Complete (integrated in M-V-V!) | V | Complete (integrated in M-V-V!) | V |
Use case tests | Groep | Notes | V | As good as possible | V | Complete | V |
Business process definitions | Groep | If available / relevant | NV | If relevant | NV | If relevant | NV |
GUI metaphors / storyboards | Groep | If relevant | NV | If relevant | NV | If relevant | NV |
Risk analysis
# | Category | Risk | Solution needed by | Status | Days lost | Expectancy factor | Risk factor |
---|---|---|---|---|---|---|---|
01 | Projectleden | Een projectlid houdt zich niet aan de planning. | Per direct | Al een aantal keer voorgekomen | 1 | 70% | 3 |
02 | Projectleden | Uitval van een projectlid | Per direct | Niek, Michiel en Etiënne zijn afgevallen | 10 | 20% | 8 |
03 | Projectleden | Een projectlid kan niet werken vanwege slechte planning. | Per direct | - | 0.5 | 45% | 2 |
04 | Communicatie | Miscommunicatie tussen de projectleden. | Per direct | Al een aantal keer voorgekomen | 1 | 25% | 2 |
05 | Communicatie | Miscommunicatie met stakeholder | Per direct | - | 3 | 50% | 3 |
06 | Stakeholders | Een afspraak met de stakeholder gaat niet door (door stakeholder) | Per direct | - | 5 | 5% | 7 |
07 | Apparatuur | Dataverlies - wordt opgevangen door Google Drive - | Per direct | - | 1 | 5% | 9 |
08 | Apparatuur | Digitale hulpmiddelen niet beschikbaar | Per direct | Voorgekomen, opgelost | 2 | 15% | 5 |
Requirements
Use cases
Use case survey
# | Name | Description | Initiating actor |
---|---|---|---|
01 | Bekijken voorraad | Mederwerkers kunnen het huidige artikelenoverzicht bekijken | Medewerker of Manager |
02 | Bijwerken voorraad | Beheerders kunnen het artikelenoverzicht bewerken | Manager |
03 | Artikelen verkopen | Een klant koopt een product | Medewerker of Manager |
04 | Overzicht van financiën | Een overzicht van in- en uitkomsten | Manager |
Integrated use case diagram
Individual use cases
01 Bekijken voorraad
Use Case: | Bekijken voorraad |
---|---|
Use Case Number | 01 |
Description | Meneer of Mevrouw Walraven (Manager) of medewerker vraagt de huidige voorraad op en dit wordt getoond op het scherm. |
Version | 1.3 |
Actor | Medewerker, Manager |
Trigger | Medewerker of Manager geeft in het systeem aan de voorraad te willen bekijken. |
Basic course of events |
|
Alternate paths | Overzicht printen
3a. Medewerker of manager kiest 'Printen'. 4a. Systeem verwerkt printopdracht, keert terug naar stap 3. |
Preconditions |
|
Postconditions |
|
Assumptions | De actuele voorraad in de winkel en de voorraad zoals die staat weergegeven in het systeem zijn gelijk. |
Related business rules | 09 |
02 Bijwerken voorraad
Use Case: | Bijwerken voorraad |
---|---|
Use Case Number | 02 |
Description | Manager werkt de huidige voorraad van een filiaal bij. |
Version | 1.1 |
Actor | Meneer of Mevrouw Walraven |
Trigger | Manager geeft in het systeem aan de voorraad aan te willen passen. |
Basic course of events |
|
Alternate paths | |
Exceptions | 3.2
|
Preconditions | Gebruiker is ingelogd als manager. |
Postconditions | De voorraad is aangepast. |
Related business rules | 11 |
03 Artikelen verkopen
Use Case: | Artikelen verkopen |
---|---|
Use Case Number | 03 |
Description | De klant rekent de producten af. |
Version | 1.2 |
Actors | Medewerker, manager |
Basic course of events |
|
Alternate paths |
Klant betaald per PIN (bij 4)
|
Exceptions | Artikel niet gevonden
1.2: Systeem kan gescand artikel niet vinden
Klant accepteert totaalbedrag niet (bij 4)
|
Preconditions | |
Postconditions |
|
Assumptions |
|
Related business rules | 08 |
Use case 04
Use Case: | Overzicht financiën |
---|---|
Use Case Number | 04 |
Description | Het systeem toont een overzicht van alle inkomsten uit verkoop en bijstellingen. Uitgaven worden tevens getoond. De inkomsten/uitgaven kunnen gefilterd worden per tijd, artikel of filiaal. |
Version | 1.3 |
Actor | Manager |
Trigger | Manager geeft in het systeem aan het overzicht van finianciën te willen bekijken. |
Basic course of events |
|
Alternate paths | Sorteren (bij 4)
Filteren (bij 4)
Printen (bij 4)
|
Preconditions | Manager is ingelogd in het systeem. |
Postconditions | Manager heeft de gegevens waarnaar hij/zij op zoek was. |
Assumptions | |
Related business rules |
Scenarios
01 Bekijken voorraad
Scenario 1 - Basic course of events
- Joke kiest 'Overzicht voorraad'
- Systeem toont een overzicht van de artikelen in het assortiment en het huidig aantal per filiaal
- Joke kiest 'Sluiten'
- Systeem toont startscherm
Scenario 2 - Alternate path: Printen
- Mevrouw Walraven kiest 'Overzicht voorraad'
- Systeem toont een overzicht van de artikelen in het assortiment en het huidig aantal per filiaal
- Mevrouw Walraven kiest 'Printen'
- Systeem verwerkt printopdracht
- Mevrouw Walraven kiest 'Sluiten'
- Systeem toont startscherm
02 Bijwerken voorraad
Scenario 1 - Basic course of events
- Mevrouw Walraven kiest filiaal 'Nijmegen'
- Systeem toont artikelen en hun huidig aantal
- Mevrouw Walraven kiest 'Blauw topje - vlinders'
- Mevrouw Walraven voert in 15
- Mevrouw Walraven kiest 'Bevestigen'
- Mevrouw Walraven kiest 'Broeken - denim'
- Mevrouw Walraven voert in 10
- Mevrouw Walraven kiest 'Bevestigen'
- Mevrouw Walraven kiest 'Opslaan'
- Systeem laat nieuwe voorraad zien
Scenario 2 - Alternate path: Ongeldige invoer
- Mevrouw Walraven kiest filiaal 'Wijchen'
- Systeem toont artikelen en hun huidig aantal
- Mevrouw Walraven kiest 'Rood vest - hoodie'
- Mevrouw Walraven voert in 'A(451^&*'
- Systeem geeft foutmelding 'Ongeldige invoer'
- Mevrouw Walraven voert in 5
- Mevrouw Walraven kiest 'Bevestigen'
- Mevrouw Walraven kiest 'Opslaan'
03 Artikelen verkopen
Scenario 1 - Basic course of events
(Medewerker Joke, klant Karel)
- Joke scant artikel 'Blauw topje - vlinders'
- Systeem toont naam 'Blauw topje - vlinders' en prijs '14.99'
- Systeem toont totaalbedrag '14.99'
- Joke scant artikel 'Rood vest - hoodie'
- Systeem toont naam 'Rood vest - hoodie' en prijs '24.99'
- Systeem toont totaalbedrag '39.98'
- Joke kiest 'Klaar'
- Joke vertelt Karel 'Het totaalbedrag is 39.98 euro'
- Karel overhandigt twee biljetten van twintig euro
- Joke voert in '40'
- Systeem toont terug te geven bedrag '0.02'
- Joke geeft overhandigt Karel munt 2 eurocent
- Systeem print bon
- Joke overhandigt Karel de bon
- Joke kiest 'Bevestigen'
- Systeem werkt voorraad bij met 'Blauw topje - vlinders' aantal -1 en 'Rood vest - hoodie' aantal -1
- Systeem werkt financiën bij met verkocht artikel 'Blauw topje - vlinders', aantal 1, prijs '14.99' en 'Rood vest - hoodie', aantal 1, prijs '24.99'
- Systeem keert terug naar startscherm
Scenario 2 - Alternate path: Handmatig artikelcode invoeren
(Medewerker Ingrid, klant Henk)
- Ingrid scant artikel 'Broek - denim'
- Systeem toont 'Scan mislukt'
- Ingrid voert artikelcode '0266589' in
- Systeem toont naam 'Broek - denim' en prijs '29.99'
- Systeem toont totaalbedrag '29.99'
- Ingrid kiest 'Klaar'
- Ingrid vertelt Henk 'Het totaalbedrag is 29.99 euro'
- Henk overhandigt een biljet van twintig euro en een biljet van tien euro
- Ingrid voert in '30'
- Systeem toont terug te geven bedrag '0.01'
- Ingrid geeft overhandigt Henk munt 1 eurocent
- Systeem print bon
- Ingrid overhandigt Henk de bon
- Ingrid kiest 'Bevestigen'
- Systeem werkt voorraad bij met 'Broek - denim' aantal -1
- Systeem werkt financiën bij met verkocht artikel 'Broed - denim', aantal 1, prijs '29.99'
- Systeem keert terug naar startscherm
Scenario 3 - Exception path: Klant accepteert totaalbedrag niet
(Medewerker Denise, klant Albert)
- Denise scant artikel 'Broek - denim'
- Systeem toont naam 'Broek - denim' en prijs '29.99'
- Systeem toont totaalbedrag '29.99'
- Denise kiest 'Klaar'
- Denise vertelt Albert 'Het totaalbedrag is 29.99 euro'
- Albert weigert totaalbedrag (en loopt weg)
- Denise klikt op 'Annuleren'
- Systeem keert terug naar startscherm
Scenario 4 - Alternate path: Klant betaald per pin
(Medewerker Paula, klant Hans)
- Paula scant artikel 'Blauw topje - vlinders'
- Systeem toont naam 'Blauw topje - vlinders' en prijs '14.99'
- Systeem toont totaalbedrag '14.99'
- Systeem toont naam 'Groen topje - vlinders' en prijs '14.99'
- Systeem toont totaalbedrag '29.98'
- Paula scant artikel 'Rood vest - hoodie'
- Systeem toont naam 'Rood vest - hoodie' en prijs '24.99'
- Systeem toont totaalbedrag '54.97'
- Paula kiest 'Klaar'
- Paula vertelt Hans 'Het totaalbedrag is 54.97 euro'
- Hans geeft aan te betalen per PIN
- Paula kiest betaaloptie 'PIN'
- Systeem toont totaalbedrag '54.97' op PIN automaat
- Hans betaalt per PIN
- Systeem ontvangt bevestiging betaling
- Systeem print bon
- Paula overhandigt Hans de bon
- Paula kiest 'Bevestigen'
- Systeem werkt voorraad bij met 'Blauw topje - vlinders', aantal -1, 'Groen topje - vlinders', aantal -1 en 'Rood vest - hoodie', aantal -1
- Systeem werkt financiën bij met verkocht artikel 'Blauw topje - vlinders', aantal 1, prijs '14.99', 'Groen topje - vlinders', aantal 1, prijs '14.99' en 'Rood vest - hoodie', aantal 1, prijs '24.99'
- Systeem keert terug naar startscherm
04 Overzicht financiën
Scenario 1 - Basic course of events
- Meneer Walraven kiest 'Overzicht financiën'
- Systeem vraagt tijdvenster op te geven
- Meneer Walraven vult begindatum 01-05-2013 en einddatum 31-05-2013 in
- Systeem toont inkomsten en uitgaven
- Meneer Walraven kiest 'Sluiten'
- Systeem toont startscherm
Scenario 2 - Alternate path: Sorteren
- Systeem vraagt tijdvenster op te geven
- Meneer Walraven vult begindatum 01-04-2013 en einddatum 30-04-2013 in
- Systeem toont inkomsten en uitgaven
- Meneer Walraven kiest 'Sorteren per artikel'
- Systeem toont inkomsten en uitgaven gesorteerd op artikel
- Meneer Walraven kiest 'Sluiten'
- Systeem toont startscherm
Scenario 3 - Alternate path: Filteren
- Systeem vraagt tijdvenster op te geven
- Meneer Walraven vult begindatum 01-01-2013 en einddatum 31-05-2013 in
- Systeem toont inkomsten en uitgaven
- Meneer Walraven kiest filter 'Artikel: Blauw topje - vlinders'
- Systeem toont inkomsten en uitgaven van artikel 'Blauw topje - vlinders'
- Meneer Walraven kiest 'Sluiten'
- Systeem toont startscherm
Scenario 4 - Alternate path: Printen
- Meneer Walraven kiest 'Overzicht financiën'
- Systeem vraagt tijdvenster op te geven
- Meneer Walraven vult begindatum 01-01-2013 en einddatum 31-03-2013 in
- Systeem toont inkomsten en uitgaven
- Meneer Walraven kiest 'Printen'
- Systeem verwerkt printopdracht
- Meneer Walraven kiest 'Sluiten'
- Systeem toont startscherm
Non-functional Requirements
- Schaalbaarheid: het systeem behoeft geen verandering in geval van upscaling of downscaling
- Security: Omwille van privacyredenen worden klantgegevens niet opgeslagen.
- Onderhoud: Zolang het kassasysteem compitabel is met ons systeem, zal het systeem niet bijgewerkt hoeven worden.
- Actualiteit: overzichten zijn up-to-date en worden realtime bijgewerkt.
- Gebruiksvriendelijkheid: het systeem kan na een korte uitleg direct gebruikt worden.
- Beschikbaarheid: het systeem is in elk filiaal beschikbaar
Addendum
Integrated Domainmodel
Business Rules Catalogue
# | Rule Definition | Type of Rule | Static/Dynamic | Source |
---|---|---|---|---|
01 | Een artikel kan niet gereserveerd worden. | Action Restricting | Static | Management policy |
02 | Er is geen garantie op een artikel. | Action Restricting | Static | Management policy |
03 | Een artikel mag met aangehecht kaartje en bijbehorende bon binnen twee weken teruggebracht worden, mits het artikel in goede staat verkeert. | Action Restricting | Dynamic (2 weeks) | Management policy |
04 | Alleen een artikel in het bezit van de klant mag bijgesteld worden. | Action Restricting | Static | Management policy |
05 | Een klant kan een bijgesteld artikel ophalen in een ander filiaal dan waar de bijstelling aangevraagd is. | Action Restricting | Static | Management policy |
06 | Als een klant een bijstelling opgehaald heeft worden de klantgegevens verwijderd. | Action Triggering | Static | Management policy |
07 | Als een klant een bijstelling annuleert zijn de gemaakte kosten voor de klant. | Action Triggering | Static | Management policy |
08 | Artikelen uit een seizoen voor het huidige worden met korting verkocht. | Calculations | Dynamic (season) | Management policy |
09 | Medewerkers kunnen de voorraad van andere filialen bekijken. | Structural Facts | Static | Management policy |
10 | Alleen management kan de verantwoordlijke van een bijstelopdracht wijzigen. | Action Restricting | Static | Management policy |
11 | Alleen management kan de voorraad van een filiaal wijzigen | Action Restricting | Static | Management policy |
Terminological Definitions
- Filiaal
- Een vestiging op een locatie van Modehuis Walraven.
- Manager
- Meneer of mevrouw Walraven. Zij hebben een leidinggevende en toekomst uitzettende functie binnen Modehuis Walraven. Tevens zijn zij eigenaars van Modehuis Walraven.
- Medewerker
- Een persoon werkzaam voor een filiaal van Modehuis Walraven.
- Klant
- Een persoon die een of meerdere artikelen bij Modehuis Walraven afneemt.
- Artikel
- Een fysiek goed of een dienst aangeboden door Modehuis Walraven.
- Assortiment
- Een verzameling fysieke artikelen die door een klant gekocht kunnen worden.
- Voorraad
- De hoeveelheid aanwezige eenheden van een fysiek artikel per filiaal.
- Bijstelaanvraag
- Een dienst waarbij een klant een bij Modehuis Walraven gekocht artikel op maat laat maken voor de klant.
- WinkelPrijs
- De prijs waarvoor een artikel in de winkel ligt. Hierbij is korting bij assortiment wisseling bij inbegrepen.
- VerkochtPrijs
- De prijs waarvoor een artikel verkocht is aan een klant.
- InkoopPrijs
- De prijs waarvoor een artikel ingekocht is bij een distributeur.
Relevant notes
Uit het interview bleek daarnaast dat het te ontwerpen systeem aan een aantal eisen moet voldoen.
- Zo willen mevrouw en meneer Walraven dat het te ontwerpen systeem maar tot een bepaald niveau taken automatiseert. Omdat mevrouw Walraven alleen de voorraad wil bekijk maar zelf wil (bij)bestellen, moet het systeem dus niet automatisch bestellingen plaatsen. Ook het automatisch klaarzetten van een bestelling bij de fabrikant met handmatige bevestiging werd uitgesloten.
- Omwille van privacyredenen worden klantgegevens na de afronding van een bijstelopdracht verwijderd.
- Er wordt niks gedaan omtrent personeelsmanagement
Uit het tweede stakeholders interview kwamen daarnaast nog de volgende dingen naar voren:
- Voorraad per product per filiaal
- Onderscheid tussen manangement/overig personeel en onderscheid tussen personen (ook een gebruikersdatabase dus)