Requirements Engineering/het werk/werkstuk/2008-9/Groep 03 GZN
Groep 3 Spectrometer
Werkstuk Requirements Engineering
Martijn Speksnijder, Stefan Minten, Mark Kruit
Onderwijsinstituut voor Informatica en Informatiekunde
Radboud Universiteit Nijmegen
version 18 februari 2022
Inhoud
- 1 Introduction
- 2 Case analysis
- 3 Requirements
- 3.1 Use cases
- 3.1.1 Use case survey
- 3.1.2 Integrated use case diagram
- 3.1.3 Individual use cases
- 3.1.3.1 1: Monsters beheren
- 3.1.3.2 2: Molecuul maken
- 3.1.3.3 3: Gebruikers beheren
- 3.1.3.4 4: Instellingen invoeren
- 3.1.3.5 5: Uitvoeren metingen
- 3.1.3.6 6: Analyseren van een FID signaal of spectrum
- 3.1.3.7 7: Volgen van student
- 3.1.3.8 8: Monster toewijzen
- 3.1.3.9 9: Budget toewijzen
- 3.1.3.10 10: Inloggen gebruiker
- 3.2 Scenarios
- 3.2.1 Individual scenarios
- 3.2.1.1 1. Monsters beheren
- 3.2.1.2 2. Moleculen beheren
- 3.2.1.3 3. Gebruikers beheren
- 3.2.1.4 4. Instelling invoeren
- 3.2.1.5 5. Uitvoeren meting
- 3.2.1.6 6. Analyseren van FID signaal of spectrum
- 3.2.1.7 7. Volgen van student
- 3.2.1.8 8. Monsters toewijzen aan studenten
- 3.2.1.9 9. Budget toewijzen
- 3.2.1.10 10. Inloggen gebruiker
- 3.2.1 Individual scenarios
- 3.3 Integrated Domainmodel
- 3.4 Non-functional Requirements
- 3.1 Use cases
- 4 Addendum
Introduction
De studies Scheikunde en M.L.W. maken tijdens hun opleidingstraject gebruik van spectrometers. In de loop der jaren is het aantal studenten drastisch toegenomen, waardoor de capaciteit van de aanwezige spectrometers niet meer toereikend is. Vanwege de hoge aanschaf- en gebruikskosten van de spectrometers, is het niet mogelijk om aan de behoefte te voldoen. Om dit probleem op te lossen is ervoor gekozen om een simulator in te zetten als alternatief. Reeds bestaande software op dit gebied is, of te duur, of bevat niet de gewenste functionaliteit. Als alternatief is ervoor gekozen om zelf een simulator te gaan ontwikkelen.
Problem statement
Voor de studies Scheikunde en M.L.W. is het belangrijk dat iedere student praktijkervaring opdoet met een spectrometer. Het probleem hierbij is dat deze apparatuur erg duur in gebruik is en het aanbod hiervan beperkt is. Verder is er een risico dat er bij practica van eerstejaars studenten zaken kapot gaan wat erg kostbaar is.
Case analysis
Stakeholder analysis
# | Naam | Rol | Kamer | |
---|---|---|---|---|
01 | Dirk van der Linden | Projectleider, eerste aanspreekpunt, inhoudelijke feedback | Dirk.vanderLinden@cs.ru.nl | HG00.112 |
02 | Stijn Hoppenbrouwers | Docent Requirements Engineering, proces feedback | stijnh@cs.kun.nl | HG02.611 |
03 | Laurens Peters | Collega van Dirk van der Linden, verschaffen informatie | Lcjm.Peters@gmail.com | |
04 | Erik Arends | Collega van Dirk van der Linden, verschaffen informatie | ||
05 | Marco Tessarie | Docent, verschaffen informatie | tessari@nmr.ru.nl | HG03-334 |
06 | Marinus van Herpen | Docent, verschaffen informatie | Marinus.vanHerpen@science.ru.nl | HG00.112 |
Mission, vision, values statement
- Mission: Een mogelijkheid aan studenten geven om ervaring op te doen met het werken met een spectroscoop.
- Vision: Het opleveren van requirements voor een te bouwen simulator.
- Values: Studenten praktijkervaring op laten doen met een zo realistisch mogelijke simulator.
Statement of work
# | Deliverable | Facade | Filled | Focused | Work estimation (Hours) | Status |
---|---|---|---|---|---|---|
01 | Introduction | x | 1 | Done | ||
02 | Problem statement | x | 1 | Done | ||
03 | Stakeholder list/analysis | x | 1 | Done | ||
04 | Mission-Vision-Values | x | 1 | Done | ||
05 | Statement of work | x | 1 | Done | ||
06 | Risk analysis | x | 1 | Done | ||
07 | Use case survey | x | 3 | Done | ||
08 | Integrated UC diagram | x | 2 | Done | ||
09 | Use cases | x | x | 15 | Done | |
10 | Scenarios | x | 10 | Done | ||
11 | Domain models | x | 7 | Done | ||
12 | Business rules per UC | x | x | 3 | Done | |
13 | Integrated domain model | x | x | 3 | Done | |
14 | Business rules catalogue | x | x | 1 | Done | |
15 | Non-functional requirements | x | x | 2 | Done | |
16 | Terminological definitions | x | 1 | Done | ||
17 | Executive sponsor viewpoint | x | 1 | Done | ||
18 | Use case tests | x | x | 10 | Pending | |
19 | Business process definitions | x | opt. | Pending | ||
20 | GUI metaphors / storyboards | x | opt. | Pending |
Risk analysis
# | Category | Risk | Solution needed by | Days lost | Expectancy factor | Risk factor |
---|---|---|---|---|---|---|
01 | Tijd | Het project kost meer tijd dan verwacht | Scope aanpassen | Meer dan 10 projecturen | Gemiddeld | Laag |
02 | Tijd | Een projectlid wordt langdurig ziek | Scope aanpassen | Meer dan 10 projecturen | Laag | Gemiddeld |
03 | Informatie | Een stakeholder wordt ziek / is onbereikbaar voor lange tijd | Scope aanpassen | Meer dan 10 projecturen | Gemiddeld | Hoog |
04 | Data | Projectdata gaat verloren | Regelmatig een backup maken van de projectdata | Ongeveer 80 projecturen | Laag | Hoog |
05 | Informatie | Onvoldoende kennis over Requirements Engineering | Tijdig aangeven bij RE docent | Meer dan 10 projecturen | Laag | Laag |
Requirements
Use cases
Use case survey
# | Name | Description | Initiating actor | (Onderverdeling) |
---|---|---|---|---|
01 | Monster beheren | Het maken van een monster bestaande uit moleculen en een oplosmiddel | Student/Onderzoeker/Beheerder/Instructeur | Mark |
02 | Molecuul maken | Het aanmaken/wijzigen van moleculen in het molecuulmodel | Instructeur/Onderzoeker/Beheerder | Mark |
03 | Gebruikers beheren | Het aanpassen/wijzigen/verwijderen/archiveren van gebruikers van het systeem | Beheerder | Mark |
04 | Instellingen invoeren | Het invoeren en/of verfijnen van de instellingen voor de spectrometer | Student/Onderzoeker/Instructeur/Beheerder | Martijn |
05 | Uitvoeren metingen | Uitvoeren van een of meerdere metingen | Student/Onderzoeker/Instructeur/Beheerder | Martijn |
06 | Analyseren van FID signaal of spectrum | Analyseren van FID signaal en het omzetten naar een spectrum | Student/Onderzoeker/Instructeur/Beheerder | Martijn |
07 | Volgen van student | Resultaten van een student volgen | Instructeur | Stefan |
08 | Monster toewijzen | Toewijzen van monsters aan studenten | Instructeur | Stefan |
09 | Budget toewijzen | Toewijzen van budget aan studenten | Instructeur | Martijn |
10 | Inloggen gebruiker | Gebruiker logt in en krijgt de juiste rechten | Student/Onderzoeker/Instructeur/Beheerder | Mark |
Integrated use case diagram
Individual use cases
1: Monsters beheren
Use Case:01 | Name: Monsters beheren |
---|---|
Description |
Een Gebruiker verwijdert, maakt of wijzigt monsters om deze te gebruiken in een meting. |
Source |
10. Inloggen gebruiker |
Version |
1.0 |
Basic course of events |
|
Alternate paths |
|
Exeption paths |
- |
ORM model | |
Preconditions |
|
Postconditions |
- |
Related business rules |
- |
2: Molecuul maken
Use Case:02 | Name: Molecuul maken |
---|---|
Description |
Het beheren van moleculen in het molecuulmodel |
Source |
10. Inloggen gebruiker |
Version |
1.0 |
Basic course of events |
|
Alternate paths |
|
Exeption paths |
|
ORM model | |
Preconditions |
|
Postconditions |
- |
Related business rules |
- |
3: Gebruikers beheren
Use Case:03 | Name: Gebruikers beheren |
---|---|
Description |
Het aanmaken/wijzigen/verwijderen/archiveren van gebruikers en het toekennen van rechten aan gebruikers |
Source |
10. Inloggen gebruiker |
Version |
1.0 |
Basic course of events |
|
Alternate paths |
|
Exeption paths |
- |
ORM model | |
Preconditions |
|
Postconditions |
- |
Related business rules |
1. Gebruikers zijn student aan of medewerker van de Radboud Universiteit Nijmegen. |
4: Instellingen invoeren
5: Uitvoeren metingen
6: Analyseren van een FID signaal of spectrum
7: Volgen van student
Use Case:07 | Name: Volgen van student |
---|---|
Description |
De Gebruiker vraagt informatie op over de activiteiten van een specifieke Student. |
Source |
10. Inloggen gebruiker |
Version |
1.0 |
Basic course of events |
|
ORM | |
Preconditions |
|
Postconditions |
- |
Related business rules |
- |
8: Monster toewijzen
Use Case:08 | Name: Monster toewijzen |
---|---|
Description |
Het toewijzen van een monster aan 1 of meerdere studenten. |
Source |
10. Inloggen gebruiker |
Version |
1.0 |
Basic course of events |
|
Alternate paths |
|
ORM | |
Preconditions |
|
Postconditions |
- |
Related business rules |
- |
9: Budget toewijzen
Use Case:09 | Name: Budget toewijzen |
---|---|
Description | Het toewijzen van budgetten aan de studenten. |
Source |
7. Volgen van student |
Version | 1.0 |
Basic course of events |
|
ORM | |
Preconditions |
Ingelogd als instructeur. |
Postconditions |
Een budget is toegewezen aan een student of een groep studenten. |
Related business rules |
|
10: Inloggen gebruiker
Use Case:11 | Name: Inloggen gebruiker |
---|---|
Description |
Een Gebruiker logt in op het systeem. |
Source |
- |
Version |
1.0 |
Basic course of events |
|
Alternate paths |
- |
ORM model | |
Exeption paths |
|
Preconditions |
De Gebruiker is niet ingelogd. |
Postconditions |
De Gebruiker is ingelogd. |
Related business rules |
|
Scenarios
Individual scenarios
1. Monsters beheren
Nieuw monster aanmaken
- Stefan voert gebruikersnaam/wachtwoord combinatie in;
- Systeem kent juiste rechten aan Stefan toe aan de hand van zijn gebruikersgroep;
- Stefan selecteert "Nieuw monster aanmaken";
- Stefan geeft monster een naam;
- Stefan selecteert toe te voegen moleculen uit molecuulmodel;
- Stefan selecteert concentraties van gekozen moleculen;
- Stefan selecteert oplosmiddel;
- Stefan selecteert concentratie van oplosmiddel;
- Stefan bevestigd keuze en monster wordt aangemaakt.
Bestaand monster wijzigen
- Stefan voert gebruikersnaam/wachtwoord combinatie in;
- Systeem kent juiste rechten aan Stefan toe aan de hand van zijn gebruikersgroep;
- Stefan selecteert "Bestaand monster wijzigen".
- Stefan selecteert het te wijzigen monster;
- Stefan wijzigt eigenschappen monster;
- Stefan bevestigd wijzigingen en monster wordt gewijzigd.
Bestaand monster verwijderen
- Stefan voert gebruikersnaam/wachtwoord combinatie in;
- Systeem kent juiste rechten aan Stefan toe aan de hand van zijn gebruikersgroep;
- Stefan selecteert "Bestaand monster verwijderen".
- Stefan selecteert het te verwijderen monster.
- Stefan bevestigd keuze en monster wordt verwijderd.
2. Moleculen beheren
Nieuw molecuul aanmaken
- Martijn voert gebruikersnaam/wachtwoord combinatie in;
- Systeem kent juiste rechten aan Stefan toe aan de hand van zijn gebruikersgroep;
- Martijn selecteert "Nieuw molecuul maken";
- Martijn geeft molecuul een naam;
- Systeem vraagt om eigenschappen molecuul;
- Martijn vult eigenschappen molecuul in;
- Martijn bevestigt keuze en molecuul wordt aangemaakt.
Wijzigen bestaand molecuul
- Martijn voert gebruikersnaam/wachtwoord combinatie in;
- Systeem kent juiste rechten aan Stefan toe aan de hand van zijn gebruikersgroep;
- Martijn selecteert "Wijzigen bestaand molecuul";
- Martijn selecteert het te wijzigen molecuul;
- Martijn wijzigt de eigenschappen van het gekozen molecuul;
- Martijn bevestigt keuze en molecuul wordt gewijzigd.
Verwijderen bestaand molecuul
- Martijn voert gebruikersnaam/wachtwoord combinatie in;
- Systeem kent juiste rechten aan Stefan toe aan de hand van zijn gebruikersgroep;
- Martijn selecteert "Verwijderen bestaand molecuul";
- Martijn selecteert het te verwijderen molecuul;
- Martijn bevestigt keuze en molecuul wordt verwijderd.
3. Gebruikers beheren
Aanmaken gebruiker
- Mark voert gebruikersnaam/wachtwoord combinatie in;
- Systeem kent juiste rechten aan Stefan toe aan de hand van zijn gebruikersgroep;
- Mark selecteert "Aanmaken nieuwe gebruiker";
- Mark vult algemene gegevens in: Voornaam: Stefan en Achternaam: Minten;
- Mark selecteert gebruikersgroep: Student;
- Mark vult groepspecifieke gegevens in;
- Studentnummer: 0828652;
- Semester waarin student gebruik maakt van het systeem;
- Mark geeft als budget aan Stefan 100 euro.
- Mark bevestigd keuze en nieuwe gebruiker wordt aangemaakt.
Verwijderen gebruiker
- Mark voert gebruikersnaam/wachtwoord combinatie in;
- Systeem kent juiste rechten aan Stefan toe aan de hand van zijn gebruikersgroep;
- Mark selecteert "Verwijderen bestaande gebruiker";
- Mark selecteert de te verwijderen gebruiker;
- Mark bevestigd keuze en geselecteerde gebruiker wordt verwijdert.
Wijzigen gebruiker
- Mark voert gebruikersnaam/wachtwoord combinatie in;
- Systeem kent juiste rechten aan Stefan toe aan de hand van zijn gebruikersgroep;
- Mark selecteert "Wijzigen bestaande gebruiker";
- Mark selecteert de te wijzigen gebruiker;
- Mark wijzigt eigenschappen te wijzigen gebruiker;
- Mark bevestigd wijzigingen en geselecteerde gebruiker wordt gewijzigd.
Archiveren gebruiker
- Mark voert gebruikersnaam/wachtwoord combinatie in;
- Systeem kent juiste rechten aan Stefan toe aan de hand van zijn gebruikersgroep;
- Mark selecteert "Archiveren bestaande gebruiker";
- Mark selecteert de te archiveren gebruiker;
- Mark bevestigd keuze en geselecteerde gebruiker wordt gearchiveerd.
4. Instelling invoeren
Mark is ingelogd en wil een meting uitvoeren. Hiervoor is het noodzakelijk dat hij een aantal instellingen invoert.
- Mark selecteert de instelling "Signal Frequency" .
- Mark wijzigt de waarde van de instelling in "200" Mhz.
- Mark selecteert de instelling "Acquisition Time" .
- Mark wijzigt de waarde van de instelling in "5" seconden.
- Mark voert de meting uit.
5. Uitvoeren meting
Martijn is ingelogd en wil een meting uitvoeren
- Martijn selecteerd de meting welke hij wil uitvoeren met de spectroscoop
- Martijn zoekt het monster dat gemeten moet worden
- Martijn selecteerd het monster
- Martijn start de meting op de spectroscoop
6. Analyseren van FID signaal of spectrum
Student jan is ingelogd in het systeem en heeft een meting uitgevoerd. Uit de meting heeft jan een FID-signaal gekregen, dit signaal gaat hij omzetten naar een spectrum.
- Jan analyseert het FID signaal dat hij gekregen heeft
- Jan selecteert FID signaal omzetten naar spectrum
Transformatie FID signaal naar spectrum
Student Mark heeft een meting uitgevoerd en heeft daaruit een FID signaal verkregen.
- Mark selecteert "FID signaal omzetten naa spectrum".
7. Volgen van student
Instructeur Fred wil weten hoe het gaat met de experimenten van Mark.
- Fred selecteert Mark
- Fred vraagt de gegevens van Mark op.
- Het systeem geeft weer dat Mark de afgelopen week 3 metingen heeft uitgevoerd en dat hij nog een budget van 750 euro over heeft. Bij 1 meting heeft Mark een foute instelling invoerd bij Signal Frequency.
Invoeren van monster door technicus
Mark heeft de meting gestart en invoeren van het monster in de Spectrometer wordt gesimuleerd.
- Mark heeft de meting gestart.
- Het systeem geeft weer dat het monster in de spectrometer wordt ingevoerd.
Instellingen verfijnen; details spectrum naar boven halen
Mark heeft een meting uitgevoerd en wil de instellingen van de spectrometer verfijnen.
- Mark selecteert de instelling "Signal Frequency" .
- Mark wijzigt de waarde van de instelling in "200" Mhz.
- Mark voert opnieuw de meting uit
8. Monsters toewijzen aan studenten
Instructeur Kees wil aan groep 4a een monster toewijzen.
- Kees selecteert in het systeem dat hij een monster wil toewijzen.
- Kees selecteert een monster "2008-123A".
- Kees selecteert groep "4a".
- Kees bevestigt dat hij het monster wil toewijzen.
9. Budget toewijzen
Instructeur Kees Janssen wil aan de studenten van groep 4a een budget toewijzen.
- Kees Janssen selecteert in het systeem dat hij de budgetten van een groep studenten wil wijzigen
- Kees Janssen zoekt de groep 4a in het systeem;
- Kees Janssen selecteert de groep 4a
- Kees Janssen wijst aan de studenten van groep 4a een budget
- kees Janssen geeft het aantal minuten op;
- Kees Janssen geeft het aantal MHZ op waarvoor het budget is
- Kees Janssen slaat de wijziging op
10. Inloggen gebruiker
Gebruiker Martijn geeft aan te willen inloggen in het systeem:
- Martijn voert gebruikersnaam en wachtwoord combinatie in.
Integrated Domainmodel
Non-functional Requirements
Performance: 100 studenten per semester + onbekend aantal onderzoekers.
Availability: beschikbaarheid 99%??.
Maintainability: Het systeem moet gemakkelijk te onderhouden zijn.
Price: De kosten van het systeem moeten lager uitvallen dan de kosten van een commercieel vergelijkbaar product.
Security: Alleen gemachtigde gebruikers mogen gebruik maken van het systeem.
Usability: De user interface van het systeem moet gelijk zijn aan de interface van de spectroscoop.
Addendum
Business Rules Catalogue
- 1. Gebruikers zijn student aan of medewerker van de Radboud Universiteit Nijmegen.
- Studenten
- 2. Studenten volgen de studie Scheikunde of M.L.W.
- 3. Studenten hebben een budget om metingen uit te voeren.
- 4. Afhankelijk van het aantal minuten en de frequentie in MHZ tijdens een meting van een student wordt een bedrag berekend wat van het budget wordt afgetrokken.
- 5. Bij het uitvoeren van een meting door een student wordt een realistische tijd gesimuleerd.
- 6. Een student heeft alleen toegang tot de eigen metingen
- 7. Een student kan geen metingen uitvoeren wanneer het budget niet toereikend is.
- Instructeurs
- 8. Alleen een instructeur kan een monster aan een student toewijzen.
- 9. Alleen een instructeur kan een budget aan een student toewijzen.
- 10. Alleen een instructeur kan monsters en metingen van studenten bekijken.
- Onderzoekers
- 11. Een onderzoeker kan de simulatie van realistische tijd uitzetten bij het uitvoeren van een meting.
- Beheerders
- 12. Beheerders hebben rechten om gebruikers te beheren.
Terminological Definitions
- Student
- Een student van een van de studies Scheikunde en M.L.W. aan de Radboud Universiteit
- Instructeur
- Een docent die de cursus Methode Spectroscopische Techniek geeft.
- Onderzoeker
- Een medewerker van de Radboud Universiteit die onderzoek wil verrichten met behulp van een NMR spectroscoop.
- Beheerder
- Een medewerker van de Radboud Universiteit die verantwoordelijk is voor het operationele systeem.
- NMR spectroscopie
- Nuclear magnetic resonance spectroscopy, most commonly known as NMR spectroscopy, is the name given to a technique which exploits the magnetic properties of certain nuclei.
- Spectroscoop
- Een spectroscoop is een instrument om het lichtspectrum te bestuderen en om via dat spectrum eventueel de samenstelling van materialen te bepalen.
- FID-signaal
- Het signaal wat de spectroscoop terug geeft na de meting.
- Spectrum
- Het spectrum is het signaal wat wordt weergegeven in de spectroscoop na de analyse van het FID-signaal.
- Monster
- Een monster is de vloeistof waarover een meting gedaan wordt met de spectroscoop.
- Molecuul
- Een molecuul is het kleinste deeltje van een moleculaire stof dat nog de chemische eigenschappen van die stof bezit.
- Proton
- Een proton is een subatomair deeltje met een positieve elektrische lading.
- Chemische verschuiving
- Is een begrip uit de NMR. Er wordt mee aangegeven hoever het signaal van een specifiek atoom verschoven is ten opzichte van dat van een referentieverbinding.
- Budget
- Budget is het geld wat studenten toegewezen krijgen om de metingen uit te voeren. Het budget wordt berekend door middel van MHZ en tijd.