Requirements Engineering/het werk/werkstuk/2012-13/Groep 02
Groep 2
Werkstuk Requirements Engineering
Joep de Bilde, Vincent Doppenberg, Joep Kockelkorn, Erik Meijer, Armin Zwilling
Onderwijsinstituut voor Informatica en Informatiekunde
Radboud Universiteit Nijmegen
version 18 februari 2022
Inhoud
Introduction
Modehuis Walraven is een dames-, heren- en kinderkledingzaak gevestigd in Wijchen die naast het verkopen ook het bijstellen van kleding als onderscheidende service heeft voor haar klanten. Het is een klein bedrijf met twee eigenaren en vier medewerkers. Het assortiment van de winkel wordt per seizoen aangepast op de actuele mode. Het bedrijf houdt graag persoonlijk contact met hun klanten.
Modehuis Walraven wil vanwege een goedlopende zaak gaan uitbreiden met twee nieuwe filialen (Arnhem, Nijmegen) naar in totaal drie filialen. Elk filiaal wordt bemand door vier medewerkers. Modehuis Walraven wil per filiaal een eerste verkoopmedewerker aanstellen om de verantwoordelijkheid van dát filiaal te dragen als het management afwezig is. Door de uitbreiding overweegt het bedrijf een modern informatiesysteem in gebruik te nemen.
De structuur van dit document is volgens de methode van Kulak & Guiney opgesteld, wat een goed leesbare beschrijving van de requirements van het nieuwe informatiesysteem heeft opgeleverd. De nadruk van deze beschrijving ligt op de interactie tussen de gebruikers en het systeem. Er is beschreven wat de aanleiding voor het systeem is in "Problem Statement", welke belanghebbenden er zijn in "Stakeholder analysis" en wat het systeem uiteindelijk moet gaan doen in "Mission and vision statement". De voortgang van het project is bijgehouden in "Statement of work" en er wordt aandacht besteed aan de risico's van dit project in "Risk analysis". Vervolgens worden de echte requirements beschreven aan de hand van Use Cases. De samenhang tussen de verschillende belanghebbenden en de Use Cases wordt duidelijk weergegeven in het "Integrated use case diagram". Per Use Case is een domeinmodel afgebeeld om de context te verduidelijken. Voor een lezer van dit document zijn de "Scenarios" misschien wel het meest concreet. Er worden concrete voorbeelden gegeven van het verloop van Use Cases. De "Non-functional requirements" beschrijven de meest onderliggende functionaliteit van het systeem, zoals reactietijd en beschikbaarheid.
Problem statement
Vanwege de uitbreiding van één naar drie filialen wil Modehuis Walraven een geautomatiseerd informatiesysteem aanschaffen. Het huidige systeem voldoet niet meer in de toekomstige situatie, omdat het ongeschikt is voor meerdere filialen. Het oude systeem zal niet meer voldoen omdat het overzicht over de inkomsten, uitgaven, bijstelaanvragen en voorraad van de diverse filialen verloren gaat.
Het huidige informatiesysteem is dus inefficiënt en niet geschikt voor de nieuwe situatie, want:
- Er is geen overzichtelijk voorraadbeheer tussen en binnen filialen;
- Er is te weinig inzicht in de verkoop;
- De huidige werkwijze betreffende bijstelaanvragen is niet geschikt voor meerdere filialen;
- Filialen kunnen elkaars bijstelaanvragen niet inzien;
- De verantwoordelijkheid van de bijstelaanvragen wordt niet bijgehouden;
- Contactgegevens van klanten worden bij bijstelaanvragen niet bijgehouden;
Case analysis
Stakeholder analysis
# | Stakeholder | Type | Omschrijving |
---|---|---|---|
01 | Meneer Walraven | Management | Meneer Walraven wil overzicht hebben over alle financiële gegevens. |
02 | Mevrouw Walraven | Management | Mevrouw Walraven wil inzicht hebben in het assortiment/de voorraad van alle filialen en wil nieuwe artikelen kunnen toevoegen en oude artikelen kunnen verwijderen. Ze wil overzicht van de verantwoordelijkheden van de bijstelaanvragen en inzicht in het bijbehorende telefoonnummer. |
03 | Alle medewerkers | Medewerker | Een medewerker wil verkoop van kleding kunnen bijhouden. Daarnaast wil een medewerker voorraad van kleding kunnen controleren in alle filialen. Hij wil bijstelaanvragen kunnen bijhouden, aanpassen, en inzien (en de verantwoordelijkheid kunnen bijhouden). |
04 | Eerste medewerkers | Eerste medewerker | Een medewerker die de verantwoordelijkheid over een filiaal draagt als het management afwezig is. Alleen Eerste medewerkers en het Management kunnen een kassatelling invoeren in het systeem. |
Mission and vision statement
Mission - What the project will do (close to WHY)
Modehuis Walraven zal gaan uitbreiden naar drie filialen. Met het huidige systeem zal het overzicht in de nieuwe situatie verloren gaan. Het doel van dit project is om een nieuw systeem in te voeren dat het mogelijk maakt om het overzicht te behouden over de drie filialen.
Vision - What the end product will be (close to WHAT)
Het eindproduct zal een informatiesysteem worden dat door de drie filialen van Modehuis Walraven kan worden gebruikt ter ondersteuning van de verkoop, inkoop, het verwerken van bijstelaanvragen en het beheer van voorraad. Hierbij zal het mogelijk zijn om op afstand inzicht te hebben in actuele voorraden, bijstelaanvragen, verkoopcijfers en uitgaven.
Statement of work
Legenda
Voltooid
Mee bezig
Niet voltooid
N.v.t.
Deliverable | Façade (19-04-2013) | Status | Filled (24-05-2013) | Status | Focused (21-06-2013) | Status | Responsible members |
---|---|---|---|---|---|---|---|
Introduction | Voorlopige versie | Voltooid | Voorlopige versie | Voltooid | Compleet | Voltooid | Joep Kockelkorn |
Problem statement | Zo goed mogelijk | Voltooid | Zo goed mogelijk | Voltooid | Compleet | Voltooid | Joep Kockelkorn, Vincent Doppenberg, Erik Meijer, Joep de Bilde, Armin Zwilling |
Stakeholder list/analysis | Zo goed mogelijk | Voltooid | Zo goed mogelijk | Voltooid | Compleet | Voltooid | Joep Kockelkorn, Vincent Doppenberg, Erik Meijer, Joep de Bilde |
Mission-Vision(-Values) | Compleet | Voltooid | Compleet | Voltooid | Compleet | Voltooid | Joep de Bilde |
Statement of Work | Compleet en up-to-date | Voltooid | Compleet en up-to-date | Voltooid | Compleet en up-to-date | Voltooid | Vincent Doppenberg, Joep Kockelkorn |
Risk Analysis | Compleet en up-to-date | Voltooid | Compleet en up-to-date | Voltooid | Compleet en up-to-date | Voltooid | Vincent Doppenberg, Joep Kockelkorn |
Use Case Survey | Zo goed mogelijk | Voltooid | Bijna compleet | Voltooid | Compleet | Voltooid | Vincent Doppenberg, Erik Meijer, Joep de Bilde, Armin Zwilling, Joep Kockelkorn |
Integrated UC Diagram | Compleet | Voltooid | Compleet | Voltooid | Compleet | Voltooid | Vincent Doppenberg, Erik Meijer |
Use Cases | Nog niet | N.v.t. | "Filled" niveau | Voltooid | Compleet | Voltooid | Vincent Doppenberg, Erik Meijer, Joep de Bilde, Armin Zwilling, Joep Kockelkorn |
Scenarios | Nog niet | N.v.t. | Enkele per UC | Voltooid | Compleet | Voltooid | Armin Zwilling, Joep de Bilde, Erik Meijer, Vincent Doppenberg, Joep Kockelkorn |
Domain Models | Nog niet | N.v.t. | Deels compleet | Voltooid | Compleet | Voltooid | Vincent Doppenberg, Erik Meijer, Joep de Bilde, Joep Kockelkorn |
Business rules per UC | Nog niet | N.v.t. | Deels compleet | Voltooid | Compleet | Voltooid | Vincent Doppenberg, Erik Meijer, Joep de Bilde, Joep Kockelkorn, Armin Zwilling |
Integrated Domain Model | Nog niet | N.v.t. | Eerste schets | Voltooid | Compleet | Voltooid | Joep Kockelkorn |
Business Rules Catalogue | Nog niet | N.v.t. | Deels compleet | Voltooid | Compleet | Voltooid | Erik Meijer, Joep de Bilde, Vincent Doppenberg |
Non-functional Requirements | Notities | Voltooid | Deels compleet | Voltooid | Compleet | Voltooid | Joep Kockelkorn, Vincent Doppenberg |
Terminological Definitions | Notities | Voltooid | Deels compleet | Voltooid | Compleet | Voltooid | Vincent Doppenberg |
Risicoanalyse
# | Categorie | Risico | Oplossing nodig per | Status | Dagen verloren | Verwachtingsfactor (0-100) | Risico factor (1-10) |
---|---|---|---|---|---|---|---|
01 | Personeel | Een projectlid kan niet werken vanwege omstandigheden. | Meteen | - | 3 | 25% | 5 |
02 | Stakeholder | De stakeholder kan niet werken vanwege omstandigheden. | Zodra hij beschikbaar is | - | 9 | 15% | 8 |
03 | Techniek | De projectvorderingen gaan verloren vanwege dataverlies. | Zo snel als mogelijk | - | 6 | 5% | 9 |
04 | Personeel | Onvoldoende inzet door een projectlid. | Meteen | - | 5 | 20% | 4 |
05 | Communicatie | Er is miscommunicatie tussen de projectgroep en de stakeholder. | Meteen | - | 6 | 40% | 7 |
06 | Communicatie | Er is miscommunicatie tussen de projectleden. | Meteen | - | 2 | 50% | 2 |
Requirements
Use cases
Use case survey
# | Naam | Beschrijving | Initiërende actor |
---|---|---|---|
01 | Afrekenen | Artikelen of bijstelaanvragen afrekenen | Medewerker / Eerste medewerker / Management |
02 | Bijstelaanvragenbeheer | Het aanmaken en wijzigen van een bijstelaanvraag | Medewerker / Eerste medewerker / Management |
03 | Voorraadbeheer | Het wijzigen en opvragen van de voorraad van een filiaal of het toevoegen van een inkooporder | Medewerker / Eerste medewerker / Management |
04 | Assortimentbeheer | Het opvragen, toevoegen en wijzigen van artikelen in het assortiment | Medewerker / Eerste medewerker / Management |
05 | Medewerkerbeheer | Het opvragen, toevoegen en wijzigen van medewerkers van een filiaal | Management |
06 | Bekijken overzicht financiën | Bekijken van het overzicht van de financiën | Management |
07 | Invoer kassatelling | Telling van de kassa dagelijks invoeren in het systeem | Eerste medewerker / Management |
08 | Retourneren artikel | Het retourneren van een gekocht artikel | Medewerker / Eerste medewerker / Management |
Integrated use case diagram
Er is gekozen voor deze weergave van de actoren, vanwege overzichtelijkheid. De opmerkingen behorende bij de uitroeptekens zijn:
- Een medewerker of Eerste medewerker kan alleen de basisactiviteit van de Use Case "Voorraadbeheer" uitvoeren: het inzien van de voorraad van een filiaal.
- Een medewerker of Eerste medewerker kan alleen de basisactiviteit van de Use Case "Assortimentbeheer" uitvoeren: het inzien van het assortiment.
Individual use cases
Afrekenen
Use Case: | Afrekenen |
---|---|
Number | 01 |
Version | 3.0 |
Description | Artikel of bijstelaanvragen afrekenen. |
Actor |
|
Trigger |
|
Basic course of events |
Artikelen afrekenen
|
Alternate paths |
Bijstelaanvraag afrekenen
|
Exceptions |
|
Preconditions |
|
Postconditions |
|
Related business rules |
|
Bijstelaanvragenbeheer
Use Case: | Bijstelaanvragenbeheer |
---|---|
Number | 02 |
Version | 3.0 |
Description | Het aanmaken en wijzigen van een bijstelaanvraag. |
Actor |
|
Trigger |
|
Basic course of events |
Opvragen
|
Alternate paths |
Aanmaken
Wijzigen
|
Exceptions |
|
Preconditions |
|
Postconditions |
Basic Course of Events:
Wijzigen:
|
Related business rules |
|
Voorraadbeheer
Use Case: | Voorraadbeheer |
---|---|
Number | 03 |
Version | 3.0 |
Description | Het wijzigen en opvragen van de voorraad van een filiaal of het toevoegen van een inkooporder. |
Actor |
|
Trigger |
|
Basic course of events |
Voorraad inzien
|
Alternative paths |
Voorraad aanpassen
Inkooporder toevoegen
|
Preconditions |
Voorraad inzien:
Voorraad aanpassen:
Inkooporder toevoegen:
|
Postconditions |
Voorraad inzien:
Voorraad aanpassen:
Inkooporder toevoegen:
|
Related business rules |
|
Assortimentbeheer
Use Case: | Assortimentbeheer |
---|---|
Number | 04 |
Version | 3.0 |
Description | Het opvragen, toevoegen en wijzigen van artikelen in het assortiment |
Actor |
|
Trigger |
|
Basic course of events |
Assortiment inzien
|
Alternate paths |
Artikel invoeren
Artikel wijzigen
|
Preconditions |
Basic Course of Events:
Artikel toevoegen:
Artikel wijzigen:
|
Postconditions |
Artikel invoeren:
Artikel wijzigen:
|
Related business rules |
|
Medewerkerbeheer
Use Case: | Medewerkerbeheer |
---|---|
Number | 05 |
Version | 3.0 |
Description | Het opvragen, toevoegen en wijzigen van medewerkers van een filiaal. |
Actor |
|
Trigger |
|
Basic course of events |
Opvragen
|
Alternate paths |
Toevoegen
Wijzigen
|
Preconditions |
|
Postconditions |
Opvragen
Toevoegen
Wijzigen:
|
Related business rules |
|
Bekijken overzicht financiën
Use Case: | Bekijken overzicht financiën | |||
---|---|---|---|---|
Number | 06 | |||
Version | 3.0 | |||
Description | Bekijken van het overzicht van de financiën. | |||
Actor |
| |||
Trigger |
| |||
Basic course of events |
Totaaloverzicht financiën
| |||
Alternate paths |
Filiaaloverzicht financiën:
| |||
Preconditions |
| |||
Postconditions | - |
|
Related business rules |
|
Invoer kassatelling
Use Case: | Invoer kassatelling |
---|---|
Number | 07 |
Version | 3.0 |
Description | Het dagelijks invoeren van de kassatelling. |
Actor |
|
Trigger |
|
Basic course of events |
Invoeren
|
Alternate paths |
Wijzigen
|
Preconditions |
|
Postconditions |
|
Related business rules |
|
Retourneren artikel
Use Case: | Retourneren artikel |
---|---|
Number | 08 |
Version | 3.0 |
Description | Retourneren van een gekocht artikel |
Actor |
|
Trigger |
|
Basic course of events |
Retourneren artikel
|
Preconditions |
|
Postconditions |
|
Related business rules |
|
Domain Model per Use Case
Het domeinmodel is per Use Case weergegeven met een afbeelding, zoals hierboven te zien is.
Scenarios
Afrekenen
Scenario: | Afrekenen |
---|---|
Number | 01 |
Basic course of events |
Artikel afrekenen Medewerker Frederik geeft aan artikel(en) af te gaan rekenen.
|
Alternative paths |
Bijstelaanvraag afrekenen Medewerker Frederik geeft aan bijstelaanvraag(en) af te gaan rekenen.
|
Bijstelaanvragenbeheer
Scenario: | Bijstelaanvraag invoeren |
---|---|
Number | 02 |
Basic course of events |
Opvragen Medewerker Roderik wil een bijstelaanvraag opvragen.
|
Alternative paths |
Aanmaken Medewerker Roderik wil een bijstelaanvraag invoeren.
Wijzigen Medewerker Roderik wil een bijstelaanvraag wijzigen
|
Voorraadbeheer
Scenario: | Voorraadbeheer |
---|---|
Number | 03 |
Basic course of events |
Voorraad inzien Medewerker Diederik wil de voorraad inzien.
|
Alternative paths |
Voorraad aanpassen Manager Mevrouw Walraven wil de voorraad aanpassen.
Inkooporder toevoegen Manager Diederik wil een inkooporder toevoegen
|
Assortimentbeheer
Scenario: | Assortimentbeheer |
---|---|
Number | 04 |
Basic course of events |
Assortiment inzien Medewerker Dirk wil het assortiment inzien.
|
Alternative paths |
Artikel invoeren Mevrouw Walraven wil een artikel invoeren.
Artikel wijzigen Mevrouw Walraven wil een artikel wijzigen.
|
Medewerkerbeheer
Scenario: | Medewerkerbeheer |
---|---|
Number | 05 |
Basic course of events |
Opvragen Mevrouw Walraven wil een medewerker opvragen.
|
Alternative paths |
Toevoegen Mevrouw Walraven wil een medewerker toevoegen.
Mevrouw Walraven wil een medewerker wijzigen.
|
Bekijken overzicht financiën
Scenario: | Bekijken overzicht financiën |
---|---|
Number | 06 |
Basic course of events |
Totaaloverzicht financiën Meneer Walraven wil het totaaloverzicht van de financiën bekijken.
|
Alternative paths |
Filiaaloverzicht financiën Meneer Walraven wil het filiaalovezicht van de financiën bekijken
|
Invoer kassatelling
Scenario: | Invoer kassatelling |
---|---|
Number | 07 |
Basic course of events |
Invoeren Medewerker Bernard wil de kassatelling invoeren.
|
Alternative paths |
Wijzigen Medewerker Bernard wil de kassatelling wijzigen.
|
Retourneren artikel
Scenario: | Retourneren artikel |
---|---|
Number | 08 |
Basic course of events |
Retourneren artikel Medewerker Jan wil een artikel retourneren.
|
Alternative paths | - |
Non-functional Requirements
Security (Authenticity/Authorization)
Het systeem dient een inlogprocedure te kennen zodat ongewenste personen geen gebruik kunnen maken van het systeem. Daarnaast wordt aan de hand van de combinatie gebruikersnaam en wachtwoord onderscheid gemaakt tussen de verschillende rollen die een gebruiker in het systeem kan aannemen, zodat de gebruiker de juiste bevoegdheden/rechten krijgt toegewezen. Juist gebruik van deze functie van het systeem draagt bij aan de integriteit van gegevens (zie Integrity).
Usability
Het systeem dient gebruiksvriendelijk te zijn, maar dit spreekt voor zich. Het doel van het systeem is namelijk om efficiënt te kunnen werken. Zodra het systeem niet gebruiksvriendelijk is het werken met het systeem meer tijd kost dan het oplevert, is het inefficiënt.
Compatibility
Het systeem dient zo opgezet te zijn dat deze compatibel is met het kassasysteem en in de toekomst gemakkelijk gekoppeld kan worden aan eventuele andere systemen.
Integrity
De integriteit van de gegevens in het systeem dient geborgen te blijven. Dit is bijvoorbeeld van toepassing op de verantwoordelijkheid van een bijstelaanvraag. De verantwoordelijkheid dient vastgelegd te worden, en vervolgens mag hij niet meer door een medewerker aangepast worden.
Addendum
Integrated Domainmodel
Business Rules Catalogue
# | Rule Definition | Type of Rule | Static/Dynamic | Source |
---|---|---|---|---|
001 | Alleen een lid van het management mag wijzigen wie er verantwoordelijk is voor een bijstelaanvraag. | Action Restricting | Static | Management Policy |
002 | De voorraad mag uitsluitend aangepast worden door leden van het management. | Action Restricting | Static | Management Policy |
003 | Artikelen mogen uitsluitend toegevoegd en gewijzigd worden in het assortiment door leden van het management. | Action Restricting | Static | Management Policy |
004 | Informatie over medewerkers mag uitsluitend ingezien, toegevoegd en gewijzigd worden door leden van het management. | Action Restricting | Static | Management Policy |
005 | 'Datum in dienst' van een medewerker of eerste medewerker moet voor de 'Datum uit dienst' liggen. | Action Restricting | Static | Data Integrity |
006 | Het overzicht van de financiën mag uitsluitend bekeken worden door een lid van het management | Action Restricting | Static | Management Policy |
007 | Verkochte producten mogen tot 14 dagen na de verkoopdatum geretourneerd worden, daarna niet meer. | Action Restricting | Dynamic: 14 dagen | Management Policy |
008 | Alleen bijstelaanvragen met de status "Uitgevoerd" mogen afgerekend worden. | Action Restricting | Static | Management Policy |
009 | Alleen medewerkers met functie "Eerste medewerker" of "Manager "mogen de kassatelling invoeren | Action Restricting | Static | Management Policy |
Terminological Definitions
- Management
- Een persoon met een leidinggevende functie binnen Modehuis Walraven. Momenteel bestaande uit meneer en mevrouw Walraven.
- Medewerker
- Een persoon die werkzaam is bij Modehuis Walraven en niet tot het Management behoort.
- Eerste medewerker
- Een Medewerker die de verantwoordelijkheid voor een bepaald filiaal draagt indien er geen lid van het Management aanwezig is.
- Gebruiker
- Een Medewerker, een Eerste medewerker of een lid van het Management die gebruik gaat maken van het informatiesysteem.
- Product
- Een goed of dienst dat aangeboden wordt door Modehuis Walraven. Momenteel bestaande uit kledingartikelen en bijstelaanvragen.
- Artikel
- Een Product in de vorm van een kledingstuk dat door Modehuis Walraven aangeboden wordt.
- Bijstelaanvraag
- Een Product in de vorm van een dienst dat door Modehuis Walraven aangeboden wordt. Deze dienst kan door een Klant aangevraagd worden om kleding in maat bij te stellen.
- Klant
- Een persoon die een Product koopt bij Modehuis Walraven.