Requirements Engineering/het werk/werkstuk/2013-14/Groep 02
PGGM Risk Analysis
Werkstuk Requirements Engineering
Jan Martens, Nick Tönissen, Wietse Kuipers, Willem Boumans, Arjen Theunis
Onderwijsinstituut voor Informatica en Informatiekunde
Radboud Universiteit Nijmegen
version 18 februari 2022
Introduction
PGGM is een grote pensioenfondsbeheerder. Zij hebben op dit moment een administratie, die niet efficiënt genoeg is. Daarom hebben zij ons verzocht een nieuw systeem voor hun op te zetten. In dit document vind u de requirements van dit systeem. Allereerst worden de problemen met het huidige systeem opgenoemd. Verderop staan een aantal use cases, waarin men het systeem kan onderverdelen. Deze use cases gaan gepaard met een basic course of events en een ORM-schema. Voor ieder van deze use cases staan ook enkele scenario's beschreven. Achteraan vind men het globale ORM-schema, de business rules van PGGM en een verklarende woordenlijst.
Problem statement
Het bedrijf PGGM gebruikt op dit moment een Excel-bestand om beleggingsvoorstellen op te slaan en te beheren. Dit geeft een aantal problemen voor de afdeling, namelijk:
- Groot, onoverzichtelijk bestand
- Problemen zodra meerdere mensen aan het bestand moeten werken
- Medewerkers kunnen in principe bij de voostellen van anderen
Case analysis
Stakeholder analysis
Stakeholder | Bezigheden | Omschrijving |
---|---|---|
Directeur |
|
|
Medewerker |
|
|
Klant |
|
|
Mission Statement
Het doel van dit project is om alle beleggingsvoorstellen op een overzichtelijke en handige manier samen te brengen. Dit is nodig omdat de huidige manier onoverzichtelijk en inefficiënt is. Met een nieuw systeem kan het risk-analysis team efficiënter en beter te werk gaan.
Vision statement
Met de nieuwe software kan de afdeling Risico-analyse sneller, overzichtelijker en ook netter werken. Het bijhouden van voorstellen wordt gemakkelijker voor de medewerkers, en beter bij te houden voor de directeur.
Het eindproduct heeft de volgende functies:
- Een medewerker van de afdeling kan nieuwe voorstellen indienen
- Medewerkers kunnen commentaar leveren op zo'n voorstel.
- Medewerkers kunnen de status van een voorstel aanpassen
- Medewerkers krijgen automatische mededelingen over voorstellen die aandacht nodig hebben en beleggingen die niet goed lopen
- Medewerkers kunnen bij terminatie van een belegging een rapport in de database invoeren.
- Het systeem controleert of de ingevoerde data correct is zover het dat kan
Statement of work
Deliverable | DeliverbleType | Façade | Filled | Focused | Comment |
---|---|---|---|---|---|
Introduction | Contextual | Preliminary version | Preliminary version | Complete | Keep it short at first, only a sketch; nice, clear and complete at the end. |
Status: | 100% | 100% | 100% | - | |
Problem statement | Key deliverable | As good as possible | As good as possible | Complete | |
Status: | 100% | 100% | 100% | - | |
Stakeholder list/analysis | Contextual | As good as possible | As good as possible | Complete | |
Status: | 100% | 0% | 0% | - | |
Mission-Vision-(Values) | Contextual | Complete | Complete | Complete | |
Status: | 100% | 100% | 100% | - | |
Statement of Work | Contextual | Complete, and up-to-date | Complete, and up-to-date | Complete, and up-to-date | |
Status: | 100% | 0% | 0% | - | |
Risk Analysis | Contextual | Complete, and up-to-date | Complete, and up-to-date | Complete, and up-to-date | |
Status: | 100% | 100% | 100% | - | |
Use Case Survey | Key deliverable | As good as possible | Nearly complete | Complete | |
Status: | 100% | 100% | 100% | - | |
Integrated UC Diagram | Key deliverable | Complete (though preliminary) | Complete | Complete | One for whole project |
Status: | 100% | 50% | 50% | - | |
Use Cases | Key deliverable | Not yet! | "Filled" level | Complete | |
Status: | 100% | 100% | - | ||
Scenarios | Key deliverable | Not yet! | Several for each UC | Complete ("focused" level) | |
Status: | 100% | 100% | - | ||
Domain Models | Key deliverable | Not yet! | Partially complete | Complete | One for each UC |
Status: | 100% | 100% | - | ||
Business rules per UC | Key Deliverable | Not yet! | Partially complete | Complete | |
Status: | 100% | 100% | - | ||
Integrated Domain Model | Key deliverable | Not yet! | First draft | Complete | One for whole project |
Status: | 50% | 50% | - | ||
Busines Rules Catalogue | Key deliverable | Not yet! | Partially complete | Complete | |
Status: | 100% | 100% | - | ||
Non-functional Requirements | Key deliverable | Notes | Partially complete | Complete | |
Status: | 50% | 50% | 50% | - |
Risk analysis
# | Category | Risk | Solution needed by | Status | Expectancy factor | Risk factor |
---|---|---|---|---|---|---|
01 | Planning | Te kort voor de deadline beginnen | Onmiddelijk | Closed | 45% | 2 |
02 | Fysieke Gezondheid | Groepslid loopt fysiek letsel op en is niet meer in staat om te werken | Onmiddelijk | Closed | 30% | 3 |
03 | Mentale Gezondheid | Groepslid ziet het niet meer zitten | Onmiddelijk | Closed | 25% | 3 |
04 | Groepsleden | Groepslid houdt op, werkt niet mee | Onmiddelijk | Closed | 25% | 4 |
05 | Communicatie | Miscommunicatie tussen groepsleden (kan leiden tot 01, 03 en 06) | Onmiddelijk | Closed | 30% | 3 |
06 | Groepsleden | Conflict tussen groepsleden (kan leiden tot 02 en 03) | Onmiddelijk | Closed | 20% | 4 |
07 | Werkplaats | Problemen met het gebruik van de electronische werkplaats (kan leiden tot 08) | Onmiddelijk | Closed | 99% | 2 |
08 | Dataverlies | Verlies van data | Onmiddelijk | Closed | 10% | 5 |
Requirements
Use cases
Use case survey
# | Name | Description | Initiating actor |
---|---|---|---|
01 | Beleggingsvoorstel invoeren | Een medewerker voert een beleggingsvoorstel in. | Medewerker |
02 | Beoordeel voorstel | Gebruiker beoordeelt beleggingsvoorstel | Medewerker, Directeur |
03 | Inloggen | Een gebruiker authenticeerd zich tegenover het systeem | Medewerker, Directeur |
04 | Termineren voorstel | Gebruiker termineert een geïmplementeerd voorstel. | Medewerker, Directeur |
05 | Maandelijkse check-up | Medewerker controleert de status van een geïmplementeerd voorstel. | Medewerker |
Integrated use case diagram
Individual use cases
Use case 1: Beleggingsvoorstel invoeren (Jan Martens)
Use case 2: Beoordeel voorstel (Nick Tönissen)
Use case 3: Inloggen (Arjen Theunis)
Use case 4: Termineren voorstel (Willem Boumans)
Use case 5: Maandelijkse checkup (Wietse Kuipers)
Scenarios
Scenario 1 – Belegginsvoorstel invoeren
- Piet Janssen drukt op een knop in het programma dat aangeeft "beleggingsvoorstel indienen".
- Het systeem toont Piet een formulier voor de gegevens van het beleggingsvoorstel.
- Piet vult de naam van het beleggingsvoorstel in
[Mijn miner
Mijn miner is een bedrijf in de verkoop van miners .. etc
10,000.- euro
10/4/2014]. - Het systeem toont een formulier voor de cashflow.
- Piet vult een verwachte cashflow in
[
10/5/2014 , 10,100.-
10/6/2014 , 10,210.-
10/7/2014 , 10,340.-
10/8/2014 , 10,500.-
].
- Het systeem laat piet een overzicht zien van de ingevulde gegevens.
- Piet bevestigd het voorstel.
Scenario 1.1 – Belegginsvoorstel invoeren alternative path
- Piet Janssen ziet bij het bevestigen dat er een spelfout zit in de beschrijving.
- Het systeem toont Piet het formulier met de gegevens.
- Piet fixt de fout.
Scenario 1.2 – Belegginsvoorstel invoeren exception path
- Piet Janssen vult in bij datum 10/4/2013.
- Het systeem laat zien dat piet een fout heeft gemaakt en de datum incorrect is.
- Piet vult een goeie datum in.
Scenario 2.1 - Voorstel beoordelen
- Klaas Janssen geeft aan een voorstel te willen beoordelen.
- Het systeem geeft een lijst met de te beoordelen voorstellen.
- Klaas Janssen geeft aan "Mijn miner" te willen beoordelen.
- Het systeem opent "Mijn miner" en laat deze aan Klaas Janssen zien.
- Klaas Janssen geeft bevestiging voor het bewerken van "Mijn miner".
- Het systeem vraagt Klaas Janssen een opmerking toe te voegen.
- Klaas Janssen typt "Lijkt me een bedrijf met kansen" in het, door systeem aangegeven, kader.
- Het systeem vraagt Klaas Janssen om een status toe te voegen aan het voorstel.
- Klaas Janssen vult in "Approved pending implementation".
- Het systeem geeft als melding dat het voorstel bijgewerkt is.
Scenario 2.2 - Voorstel beoordelen with exception path
- Klaas Janssen geeft aan een voorstel te willen beoordelen.
- Het systeem geeft een lijst met de te beoordelen voorstellen.
- Klaas Janssen geeft aan "Mijn miner" te willen beoordelen.
- Het systeem opent "Mijn miner" en laat deze aan Klaas Janssen zien.
- Klaas Janssen geeft bevestiging voor het bewerken van "Mijn miner".
- Het systeem vraagt Klaas Janssen een opmerking toe te voegen.
- Klaas Janssen typt "Lijkt me een bedrijf met kansen" in het, door systeem aangegeven, kader.
- Het systeem vraagt Klaas Janssen om een status toe te voegen aan het voorstel.
- Klaas Janssen vult in "Approved".
- Het systeem geeft als melding dat de status "Approved" niet geldig is.
- Het systeem vraagt Klaas Janssen om een status toe te voegen aan het voorstel.
- Klaas Janssen vult in "Approved pending implementation".
- Het systeem geeft als melding dat het voorstel bijgewerkt is.
Scenario 3.1 - Inloggen
- Jan Janssen geeft aan in te willen loggen.
- Het systeem geeft een inlogscherm weer.
- Jan Janssen vult "Jan Janssen" en "Pr0d@dm1n" in.
- Het systeem geeft een melding dat het inloggen is gelukt.
Scenario 3.2 - Inloggen - Alternative Path
- Jan Janssen geeft aan in te willen loggen.
- Het systeem geeft een inlogscherm weer.
- Jan Janssen geeft aan niet meer in te willen loggen.
Scenario 3.3 - Inloggen - Exception Path
- Jan Janssen geeft aan in te willen loggen.
- Het systeem geeft een inlogscherm weer.
- Jan Janssen vult "JanJassen" en "Proadmin" in.
- Het systeem geeft aan dat het inloggen is mislukt.
- Het systeem geeft een inlogscherm weer.
- Jan Janssen vult "Jan Janssen" en "Pr0d@dm1n" in.
- Het systeem geeft een melding dat het inloggen is gelukt.
Scenario 4 - Voorstel termineren
- Theo Janssen voert de gegevens van een voorstel in, en klikt op de knop "termineren".
"Mijn miner, 2014, Oss" - Het systeem laat een overzicht van het voorstel zien.
- Theo Janssen klikt op de knop "termineer".
- Theo Janssen drukt op "Ik weet het zeker".
- Het systeem geeft een formulier voor commentaar.
- Theo Janssen geeft commentaar in.
"Mijn miner is financieel geen gezond bedrijf, en daarom moet PGGM hier geen geld in investeren."
Scenario 4.1 - Voorstel termineren
- Theo Janssen voert de gegevens van een voorstel in, en klikt op de knop "termineren".
"Mijn miner, 2014, Oss" - Het systeem laat een overzicht van het voorstel zien.
- Theo Janssen klikt op de knop "termineer".
- Theo Janssen drukt op "annuleren".
- Het systeem geeft de melding "Voorstel niet getermineerd" en gaat terug naar het hoofdmenu.
Scenario 5 - Maandelijkse checkup
- Henk de Jager krijgt een melding dat het voorstel Maatwerk Media BV gecontroleerd mot worden.
- Henk vraagt in het systeem dit voorstel op.
- Henk controleert het voorstel, en oordeelt dat het geen goede investering is.
- Henk geeft status 4(Rejected) mee en geeft als commentaar mee "Niet rendabel genoeg".
- Het systeem voert dit in het systeem in, en zet de datum erbij. Ook wordt aangegeven dat dit voorstel deze maand niet meer gecontroleerd hoeft te worden
Non-functional Requirements
- Beschikbaarheid
- Tijdens kantooruren moet het systeem beschikbaar zijn. Na kantooruren mag er onderhoud aan het systeem worden gepleegd.
- Beveiliging
- Alle informatie die in de database staat moet zijn versleuteld met blowfish.
- Van wachtwoorden worden alleen de SHA-512 hashes met salt opgeslagen.
- Privacy
- Mensen die niet bij PGGM geregistreerd staan als gebruiker mogen geen toegang hebben tot informatie in het systeem.
- Snelheid
- Als het gehele risk-analyses team tegelijkertijd met het systeem werkt, moet de gevraagde informatie nog steeds binnen 1 seconde beschikbaar zijn.
- Exporteerbaarheid
- De datasets van beleggingsvoorstellen moeten kunnen worden geexporteerd naar word.
- Compabiliteit
- Het systeem hoeft alleen maar te kunnen draaien onder Windows 7.
Addendum
Integrated Domainmodel
Business Rules Catalogue
No. | Betekenis in natuurlijke taal | Regeltype | Statisch/Dynamisch | Bron |
---|---|---|---|---|
01 | Elke gebruiker heeft Inloggegevens. | Structural fact | Statisch | Interview |
02 | Aan het begin van elke maand wordt van elk voorstel aangegeven dat het nog niet gecheckt is. | Structural fact | Statisch | Ontwerp van het systeem |
03 | Als de ingelogde gebruiker de directeurs is dan mag stap 6 overgeslagen worden. | Structural fact | Statisch | Client-case |
Terminological Definitions
- Gebruiker
- Een medewerker of de directeur
- Risico-analist
- Een medewerker van de afdeling risicoanalyse van PGGM
- Inloggegevens
- Gebruikersnaam en wachtwoord