Requirements Engineering/het werk/werkstuk/2008-9/Groep 01 Spectrometer

Uit Werkplaats
Ga naar: navigatie, zoeken

 






Groep 01 NMR Spectrometer (Seaford)



Werkstuk Requirements Engineering


Sander Dorigo, Tim Holweg, Arjan van Dalen



Onderwijsinstituut voor Informatica en Informatiekunde

Radboud Universiteit Nijmegen







version 18 februari 2022



Page Break





Introduction

Op de Radboud Universiteit in Nijmegen wordt veel gebruik gemaakt van NMR spectrometers. Professoren en onderzoekers gebruiken deze spectrometers om met behulp van magneetvelden en radiosignalen de eigenschappen van moleculen te meten. De gegevens die uit deze metingen voortkomen gebruiken zij in hun onderzoek. Daarnaast maken ook studenten gebruik van een spectrometer om meer ervaring met dit apparaat te krijgen.

Om studenten meer ervaring te laten krijgen in het werken met een spectrometer wil men een simulator van de spectrometer hebben. De reden hierachter is dat er niet altijd voldoende tijd is om studenten met de spectrometer bekend te laten raken. Het apparaat moet van te voren gereserveerd worden, en de tijd is schaars. Studenten kunnen dus niet zomaar een test uitvoeren, maar moeten dit zorgvuldig van te voren plannen en opzetten. Omdat daar veel kennis voor nodig is, gaat de didactische waarde van de spectrometer achteruit. In andere woorden, het is nu zo dat een student, om goed te kunnen meten met de spectrometer, een docent nodig heeft die alles voordoet zodat waardevolle tijd niet verloren gaat. Uiteraard alleen als deze student geen ervaring heeft. Het voordoen kost veel tijd, geld en energie, en bovendien kunnen reguliere gebruikers van de spectrometer daardoor in tijdnood raken. Daarnaast wil men nog niet dat iedereen direct met de spectrometer aan het werk gaat zonder enige ervaring.

Voor het gebruik van een spectrometer is dus veel inhoudelijke kennis nodig. Om eerstejaars studenten van scheikunde (SK) en Moleculaire Levenswetenschappen (MLW) toch de mogelijkheid te geven om te leren werken met een spectrometer is besloten om een virtuele spectrometer te realiseren. Hiervoor is eerder al een prototype simulator ontwikkeld. Deze simulator is realistisch in gebruik, maar is geen goede oplossing voor onderwijsgebruik. Alternatieven zijn onderzocht maar voldoen niet aan de eisen. Bovendien zijn deze oplossingen erg duur. Het is echter wel zo, dat dankzij dit prototype bepaald kon worden dat het maken van een goede simulator mogelijk is.

Het doel is om een nieuwe simulator te ontwerpen. Hierbij is het van belang om te voldoen aan de eisen die gesteld worden door de professoren en onderzoekers, maar ook om zelf enige punten aan te dragen. Uiteindelijk moet de spectrometer een exacte kopie zijn van de layout van een echte spectrometer.

In dit document analyseren we eerst het probleem en de al aangedragen oplossing. Daarna gaan we verder met de requirements, de use cases en de scenario's om op die manier een helder beeld te kunnen geven van ons plan.

Problem statement

In 2007 is een prototype ontwikkeld waarmee studenten vanaf een PC een puls acquisitie onderzoek op een spectrometer kunnen opzetten. Op deze manier wordt ze aangeleerd hoe ze om moeten gaan met een echte spectrometer.

Hiermee worden drie problemen opgelost:

  • Studenten kunnen geen onbedoelde schade veroorzaken aan de spectrometer;
  • Er zijn geen extra aanschafkosten mee gemoeid;
  • Er wordt geen tijd ingenomen van onderzoekers en promovendi.

Het prototype is in 2007 succesvol gebruikt tijdens de colleges. In 2008 is er een verbeterde versie in gebruik genomen.

Dit prototype is nooit goed uitgewerkt. De ontwikkelaars achter het huidige prototype zijn simpelweg begonnen aan de ontwikkeling van een virtuele spectrometer. Hierdoor heeft de applicatie nog de nodige gebreken. Mede door het gebruik van een concreet prototype zijn er veel nieuwe wensen ontstaan. Die hebben geleid tot de beslissing om een nieuwe nieuwe virtuele spectrometer uit te gaan werken.


Case analysis

Stakeholder analysis

Naam Functie E-mail Kamer
Dirk van der Linden Projectleider en primair aanspreekpunt Dirk.vanderLinden@cs.ru.nl HG00.112
Stijn Hoppenbrouwers Docent Requirements Engineering stijnh@cs.kun.nl
Laurens Peters Collega van Dirk van der Linden Lcjm.Peters@gmail.com
Erik Arends Collega van Dirk van der Linden
Marco Tessari Docent tessari@nmr.ru.nl HG03.334
Marinus van Herpen Docent Marinus.vanHerpen@science.ru.nl HG00.112

Actors

  1. Student
  2. Onderzoeker
  3. Instructeur
  4. Beheerder

Mission and vision statement

Mission

Door middel van interviews en onderzoek zal een duidelijk beeld ontstaan van de eisen die gesteld worden aan de NMR spectrometer simulator om zo kwalitatief goede requirements af te kunnen leveren voor een zo realistisch mogelijke simulator.

Vision

Het eindproduct van dit project zijn duidelijke requirements waarmee een spectrometer simulator gebouwd kan worden die voldoet aan de eisen van de gebruikers en de stakeholders en waarmee een realistische spectrometer gesimuleerd kan worden.

Statement of work

Deliverable Status in facade iteratie Status in filled iteratie Status in focused iteratie
Onze status Onze status Onze status
Introduction Preliminary version Vinkje.jpg Preliminary version Vinkje.jpg Complete Vinkje.jpg
Problem statement As good as possible Vinkje.jpg As good as possible Vinkje.jpg Complete Vinkje.jpg
Stakeholder analysis As good as possible Vinkje.jpg As good as possible Vinkje.jpg Complete Vinkje.jpg
Mission-vision-values Complete Vinkje.jpg Complete Vinkje.jpg Complete Vinkje.jpg
Statement of work Complete, and up-to-date Vinkje.jpg Complete, and up-to-date Complete, and up-to-date Vinkje.jpg
Risk analysis Complete, and up-to-date Vinkje.jpg Complete, and up-to-date Vinkje.jpg Complete, and up-to-date Vinkje.jpg
Use case survery As good as possible Vinkje.jpg Nearly complete Vinkje.jpg Complete Vinkje.jpg
Use case diagram(s) As good as possible Vinkje.jpg Nearly complete Vinkje.jpg Complete Vinkje.jpg
Integrated UC diagram Complete (though preliminary) Vinkje.jpg Complete Vinkje.jpg Complete Vinkje.jpg
Use cases Not yet! "Filled" level Vinkje.jpg Complete Vinkje.jpg
Scenarios Not yet! Several for each UC One for each UC Complete ("focused" level) Vinkje.jpg
Domain models Not yet! Partially complete Vinkje.jpg Complete Vinkje.jpg
Integrated domain model Not yet! Partially complete Vinkje.jpg Complete Vinkje.jpg
Business rules catalogue Not yet! Partially complete Partially complete Complete Vinkje.jpg
Non-functional requirements Notes Vinkje.jpg Partially complete Vinkje.jpg Complete Vinkje.jpg
Terminological definitions Notes Vinkje.jpg Partially complete Vinkje.jpg Complete Vinkje.jpg
Executive sponsor viewpoint Complete (integrated in M-V-V!) Vinkje.jpg Complete (integrated in M-V-V!) Vinkje.jpg Complete (integrated in M-V-V!) Vinkje.jpg
Use case tests Notes As good as possible Complete
Business process definitions If available / relevant If relevant If relevant
GUI metaphors / storyboards If relevant If relevant If relevant

Risk analysis

# Category Risk Solution needed by Status Days lost Expectancy factor Risk factor
1 Tijd Uitval projectmedewerkers Scope aanpassen - Meer dan 12 projecturen Laag Gemiddeld
2 Informatie Een stakeholder wordt ziek / is onbereikbaar voor lange tijd Scope aanpassen - Meer dan 10 projecturen Gemiddeld Hoog
3 Gegevens Verlies gegevens Regelmatig een backup maken van de projectdata - Ongeveer 80 projecturen Laag Hoog
4 Informatie Onvoldoende kennis over Requirements Engineering Tijdig aangeven bij RE docent - Meer dan 10 projecturen Laag Laag
5 Tijd Het project kost meer tijd dan verwacht Scope aanpassen - Meer dan 10 projecturen Gemiddeld Laag

Requirements

Use cases

Use case survey

# Naam Initiator Beschrijving Compleetheid Maturity Afhankelijkheden Bronnen Commentaar
01 Creëer meting Gebruiker, Instructeur Het creëren van een meeting (instellen/opslaan van operationele instellingen) Compleet Zeer volwassen - - -
02 Monster beheren Gebruiker, Instructeur Het maken en beheren van een monsters doormiddel van moleculen en oplosmiddel. Compleet Zeer volwassen - - -
03 Moleculen beheren Gebruiker, Instructeur Het creëren en wijzigen van moleculen. Compleet Zeer volwassen - - -
04 Start meting Gebruiker, Instructeur Het starten van een meting. Compleet Zeer volwassen - - -
05 Analyseer meting Gebruiker, Instructeur Het analyseren van een meting. Compleet Zeer volwassen - - -
06 Inloggen gebruiker Gebruiker, Instructeur, Administrator Het inloggen in het systeem. Compleet Zeer volwassen - - -
07 Selecteer monster Gebruiker, Instructeur Het selecteren van een monster. Compleet Zeer volwassen - - -
08 Beheer gebruiker Administrator Het aanmaken / verwijderen / wijzigen van een nieuwe gebruiker / rol in het systeem. Compleet Zeer volwassen - - -
09 Monster toekennen Instructeur Het toekennen van een monster aan een onderzoek. Compleet Zeer volwassen - - -

Voor 'Compleetheid' en 'Maturity' gelden de volgende terminologie, van sterk naar zwak:

  • Zeer volwassen
  • Volwassen
  • Bijna volwassen
  • Niet volwassen


  • Compleet
  • Praktisch compleet
  • Bijna compleet
  • Niet compleet

Integrated use case diagram

Usecase Diagram.jpg

Individual use cases

Creëer meting

Use Case: Creëer meting
Use case diagram 01. Creëer meting.jpg
Versie / Iteratie 1.0, focused
Beschrijving Deze use case beschrijft de interactie tussen de actoren en het systeem, die plaats vinden bij het creëren van een meting.
Basic course of events 1. De gebruiker selecteert een monster.

2. De gebruiker stelt de NMR-spectrometer in.
3. Het systeem berekent de kosten om een meting met de gekozen instellingen uit te voeren.

Alternative paths 3 / A5. Het budget is niet toereikend voor de meting.

A1. Het systeem geeft aan dat het budget niet toereikend is voor de meting.
A2. Het systeem toont de instellingen en de parameters.
A3. De gebruiker wijzigt de door hem geselecteerde parameter(s).
A4. Het systeem slaat de wijzigingen op.
A5. Het systeem berekent de kosten van gemaakte instellingen en verrekent dit met het budget.

Exception paths
Extension points
Triggers De gebruiker creëert een meting.
Assumptions
Preconditions 1. De gebruiker is ingelogd.

2. De gebruiker heeft een budget om de meting uit te voeren toegewezen gekregen.
3. De gebruiker heeft een monster toegewezen gekregen (Alleen bij studenten).

Postconditions Postconditions: Basic course of events

1. De gebruiker heeft een meting gecreëert.
2. Het systeem heeft de kosten van de meting verrekend met het toegewezen budget.
3. De meting is opgeslagen.

Postconditions: "3 / A5. Het budget is niet toereikend voor de meting." (Alternative path)
1. Het systeem heeft wijzigingen verwerkt.
2. Het systeem heeft de kosten van de wijzigingen verrekent met het budget.

Related business rules
Schrijver(s) Arjan van Dalen, Tim Holweg, Sander Dorigo
Data Aangemaakt: 6 november 2008

Laatst gewijzigd: 4 januari 2009

ORM Model Creeer meting.jpg


Monster beheren

Use Case: Monster beheren
Use case diagram 02. Monster beheren.jpg
Versie / Iteratie 1.0, focused
Beschrijving Deze use case beschrijft de interactie tussen de actoren en het systeem, die plaats vinden bij het maken, verwijderen of wijzigen van een monster.
Basic course of events 1. De gebruiker maakt een nieuw monster aan.

2. Het systeem vraagt om een naam voor het nieuwe monster.
3. De gebruiker geeft het monster een naam.
4. Het systeem vraagt om de moleculen uit het moleculenmodel te selecteren.
5. De gebruiker selecteert de gewenste moleculen.
6. Het systeem vraagt om de concentraties van de gekozen moleculen in te stellen.
7. De gebruiker stelt de concentraties van het gekozen molecuul in.
8. Het systeem vraagt om een oplosmiddel toe te voegen aan het monster.
9. De gebruiker selecteert een oplosmiddel.
10. Het systeem slaat het monster op.

Alternative paths 1. Monster wijzigen.

A1. De gebruiker wijzigt een monster.
A2. Het systeem geeft overzicht van al bestaande monsters.
A3. De gebruiker selecteert een monster.
A4. Het systeem toont de instellingen van het geselecteerde monster.
A5. De gebruiker wijzigt de instellingen van het monster.
A6. Het systeem slaat de wijzigingen op.

1. Monster verwijderen.
B1. De gebruiker verwijdert een monster
B2. Het systeem geeft overzicht van monsters.
B3. De gebruiker selecteert een monster.
B4. Het systeem verwijdert het monster.

B3. Selecteer een monster
C1. Als het monster op dit moment in een meting wordt gebruikt, kan het monster niet verwijderd worden. Het systeem geeft een foutmelding en geeft de gebruiker de mogelijkheid om een ander monster te kiezen.

Exception paths
Extension points
Triggers De gebruiker maakt, wijzigt of verwijdert een (nieuw) monster.
Assumptions
Preconditions 1. De gebruiker is ingelogd.
Postconditions Postconditions: Basic course of events

1. Er is een monster aangemaakt.

Postconditions: "1. Monster wijzigen." (Alternative path)
1. Er is een monster gewijzigd.

Postconditions: "1. Monster verwijderen." (Alternative path)
1. Er is een monster verwijderd.

Related business rules
Schrijver(s) Arjan van Dalen, Tim Holweg, Sander Dorigo
Data Aangemaakt: 6 november 2008

Laatst gewijzigd: 4 januari 2009

ORM Model Monster maken.jpg


Moleculen beheren

Use Case: Moleculen beheren
Use case diagram 03. Moleculen beheren.jpg
Versie / Iteratie 1.0, focused
Beschrijving Het creëeren van nieuwe moleculen en het beheren van bestaande moleculen
Basic course of events 1. De gebruiker creëert een nieuw molecuul.

2. De gebruiker vult de gegevens van/over het molecuul in.
3. Het systeem slaat het nieuwe molecuul op.

Alternative paths 1. De gebruiker wijzigt een bestaand molecuul.

A1. De gebruiker kiest het te wijzigen molecuul.
A2. Het systeem opent het gekozen molecuul.
A3. De gebruiker vult zijn wijzigingen in.
A4. Het systeem slaat de wijzigingen op.

1. De gebruiker verwijdert een bestaand molecuul.
B1. De gebruiker kiest het molecuul.
B2. Het systeem verwijdert het molecuul.

Exception paths
Extension points
Triggers De gebruiker maakt, wijzigt of verwijdert een (nieuw) molecuul.
Assumptions
Preconditions 1. De gebruiker is ingelogd.
Postconditions Postconditions: Basic course of events

1. Er is een molecuul aangemaakt.

Postconditions: "1. Molecuul wijzigen." (Alternative path)
1. Er is een molecuul gewijzigd.

Postconditions: "1. Molecuul verwijderen." (Alternative path)
1. Er is een molecuul verwijderd.

Related business rules Alle business rules
Schrijver(s) Arjan van Dalen, Tim Holweg, Sander Dorigo
Data Aangemaakt: 6 november 2008

Laatst gewijzigd: 4 januari 2009

ORM Model Molecuul beheren.jpg


Start meting

Use Case: Start meting
Use case diagram 04. Start meting.jpg
Versie / Iteratie 1.0, focused
Beschrijving Deze use case beschrijft de interactie tussen de actoren en het systeem die plaats vinden als een actor een meting start.
Basic course of events 1. De gebruiker kiest een meting.

2. Het systeem berekent het FID signaal.
3. Het systeem geeft aan dat de meting is voltooid.

Alternative paths
Exception paths
Extension points
Triggers De gebruiker start een meting.
Assumptions
Preconditions 1. De gebruiker heeft een meting toegekend gekregen of zelf een meting gecreëerd.

2. De gebruiker is ingelogd.
3. De gebruiker heeft voldoende budget om de meting uit te voeren.

Postconditions Postconditions: Basic course of events

1. De meting is gestart.

Related business rules 1. Gebruiker krijgt een budget toegewezen waarmee de meting mee moet worden uitgevoerd.
Schrijver(s) Arjan van Dalen, Tim Holweg, Sander Dorigo
Data Aangemaakt: 6 november 2008

Laatst gewijzigd: 4 januari 2009

ORM Model Start meting.jpg


Analyseer meting

Use Case: Analyseer meting
Use case diagram 05. Analyseer meting.jpg
Versie / Iteratie 1.0, focused
Beschrijving Deze use case beschrijft de interactie tussen de actoren en het systeem die plaats vinden bij het analyseren van een meting.
Basic course of events 1. De gebruiker selecteert de meting die geanalyseerd moet worden.

2. Het systeem toont de standaardweergave van de meting.
3. Het systeem geeft de mogelijkheid tot het wijzigen van de analyseparameters en/of de weergaveopties.
4. De gebruiker geeft de instellingen op.
5. Het systeem geeft de meting weer met de gekozen parameters en weergave opties.

Alternative paths
Exception paths
Extension points
Triggers De gebruiker analyseert een meting.
Assumptions
Preconditions 1. De use case "start meting" is succesvol voltooid voor de gekozen meting.
2. De gebruiker is ingelogd.
Postconditions Postconditions: Basic course of events

1. De analyse wordt weergegeven.

Related business rules
Schrijver(s) Arjan van Dalen, Tim Holweg, Sander Dorigo
Data Aangemaakt: 6 november 2008

Laatst gewijzigd: 4 januari 2009

ORM Model Analyseer meting.jpg


Inloggen gebruiker

Use Case: Inloggen gebruiker
Use case diagram 06. Inloggen gebruiker.jpg
Versie / Iteratie 1.0, focused
Beschrijving Deze use case beschrijft de interactie tussen de actoren en het systeem, die plaats vinden bij het inloggen op het systeem.
Basic course of events 1. De gebruiker start de applicatie.

2. Het systeem (Applicatie) vraagt om een gebruikersnaam en het bijbehorende wachtwoord.
3. De gebruiker voert zijn gebruikersnaam en wachtwoord in.
4. Het systeem controleert de gebruikersnaam en het wachtwoord van de gebruiker.
5. Het systeem kent de juiste rechten toe aan de hand van de gebruikersgroep van de gebruiker.

Alternative paths
Exception paths 4. De gebruiker voert verkeerde inloggegevens in

A1. Het systeem geeft melding dat gebruikersnaam en het wachtwoord niet geldig zijn.
A2. Het systeem vraagt om de juiste inloggegevens.

Extension points
Triggers De gebruiker heeft de applicatie gestart.
Assumptions
Preconditions
Postconditions Postconditions: Basic course of events

1. Gebruiker is ingelogd met juiste rechten.

Related business rules 1. Een gebruiker moet geauthenticeerd zijn om gebruik te mogen maken van de NMR spectrometer.
Schrijver(s) Arjan van Dalen, Tim Holweg, Sander Dorigo
Data Aangemaakt: 6 november 2008

Laatst gewijzigd: 4 januari 2009

ORM Model Inloggen1.jpg


Selecteer monster

Use Case: Selecteer monster
Use case diagram 09. Selecteer monster.jpg
Versie / Iteratie 1.0, focused
Beschrijving Deze use case beschrijft de interactie tussen de actoren en het systeem die plaats vinden bij het selecteren van een monster.
Basic course of events 1. De gebruiker selecteert een monster.

2. Het systeem geeft aan dat het monster klaar staat voor de meting.

Alternative paths
Exception paths
Extension points
Triggers De gebruiker selecteert een monster.
Assumptions
Preconditions 1. De gebruiker is ingelogd.
Postconditions Postconditions: Basic course of events

1. Er is een monster geselecteerd.

Related business rules
Schrijver(s) Arjan van Dalen, Tim Holweg, Sander Dorigo
Data Aangemaakt: 6 november 2008

Laatst gewijzigd: 4 januari 2009

ORM Model Selecteer monster.jpg


Beheer gebruiker

Use Case: Beheer gebruiker
Use case diagram 10. Beheer gebruiker.jpg
Versie / Iteratie 1.0, focused
Beschrijving Deze use case beschrijft de interactie tussen de actoren en het systeem die plaats vinden bij het beheren van gebruikers.
Basic course of events 1. De gebruiker maakt een nieuwe gebruiker aan.

2. Het systeem geeft de gelegenheid voor het aanmaken van een gebruiker.
3. De gebruiker vult alle gevraagde gegevens in en voert de nieuwe gebruiker in.
4. Het systeem controleert de ingevoerde gegevens.
5. Het systeem slaat de nieuwe gebruiker op.

Alternative paths 1. De gebruiker wijzigt een bestaande gebruiker.

A1. Het systeem toont een lijst van bestaande gebruikers.
A2. De gebruiker kiest de te wijzigen gebruiker.
A3. Het systeem opent de gegevens van de gekozen gebruiker.
A4. De gebruiker wijzigt de gegevens van de gebruiker.
A5. Het systeem controleert de ingevoerde gegevens.
A6. Het systeem slaat de wijzigingen op.

1. De gebruiker verwijdert een bestaande gebruiker.
B1. Het systeem toont een lijst met bestaande gebruikers.
B2. De gebruiker kiest de te verwijderen gebruiker.
B3. Het systeem vraagt de gebruiker om verplaatsing naar archief of verwijdering.
B4. De gebruiker kiest voor verwijdering van de gebruiker.
B5. Het systeem verwijdert de gekozen gebruiker uit het systeem.


3. De gebruiker kiest voor annuleren.
C1. Het systeem annuleert de wijziging(en) en gaat terug naar het menu.


4. Het systeem controleert ingevoerde gegevens.
D1. Het systeem geeft melding aan de gebruiker welke gegevens incorrect zijn met daarbij de reden.
D2. De gebruiker krijgt mogelijkheid om de gegevens aan te passen.


6. De gebruiker annuleert bevestiging.
E1. Het systeem annuleert de wijziging en gaat terug naar het invoerscherm.


B3. Het systeem vraagt de gebruiker om verplaatsing naar archief of verwijdering.
F1. De gebruiker kiest ervoor om de geselecteerde gebruiker naar het archief te verplaatsen.
F2. Het systeem plaatst de gebruiker in het archief.

Exception paths
Extension points
Triggers De gebruiker maakt, wijzigt of verwijdert een (nieuwe) gebruiker.
Assumptions
Preconditions 1. De gebruiker is ingelogd.

2. De gebruiker is administrator.

Postconditions Postconditions: Basic course of events

1. De beheerder heeft een nieuwe gebruiker aangemaakt.


Postconditions: "1. De gebruiker wijzigt een bestaande gebruiker." (Alternative path)
1. De beheerder heeft een bestaande gebruiker gewijzigd.

Postconditions: "1. De gebruiker verwijdert een bestaande gebruiker." (Alternative path)
1. De beheerder heeft een bestaande gebruiker verwijderd uit het systeem.

Postconditions: "B3. Het systeem vraagt de gebruiker om verplaatsing naar archief of verwijdering." (Alternative path)
1. De beheerder heeft een bestaande gebruiker gearchiveerd.

Related business rules Alle business rules
Schrijver(s) Arjan van Dalen, Tim Holweg, Sander Dorigo
Data Aangemaakt: 6 november 2008

Laatst gewijzigd: 4 januari 2009

ORM Model Beheren gebruiker.jpg


Monster toekennen

Use Case: Monster toekennen
Use case diagram 11. Monster toekennen.jpg
Versie / Iteratie 1.0, focused
Beschrijving Deze use case beschrijft de interactie tussen de actoren en het systeem die plaats vinden bij het toekennen van een monster.
Basic course of events 1. Het systeem toont een overzicht van de door de instructeur aangemaakte monsters.

2. De instructeur selecteert een monster.
3. De instructeur selecteert een of meerderen studenten.
4. De instructeur bepaalt het budget per student.
5. Het systeem kent het monster aan geselecteerde student(en) toe.

Alternative paths
Exception paths
Extension points
Triggers De gebruiker (instructeur) kent een monster toe aan één of meerdere studenten.
Assumptions
Preconditions 1. De gebruiker moet een instructeur zijn.

2. De gebruiker is ingelogd.
3. De gebruiker moet monsters (minimaal één) aangemaakt hebben.

Postconditions Postconditions: Basic course of events

1. Het monster is toegekend.

Related business rules
Schrijver(s) Arjan van Dalen, Tim Holweg, Sander Dorigo
Data Aangemaakt: 6 november 2008

Laatst gewijzigd: 4 januari 2009

ORM Model Monster toekennen.jpg

Scenarios

Individual scenarios

Creëer meting

Basic course of events

1. Sander selecteert monster 35A.
2. Sander stelt de NMR-Spectrometer in met de volgende instellingen in.

  • Pulse width: 7 pw
  • Transmitter power: 10
  • Duration: 5
  • Spectral width: 17
  • Number of points: 3
  • Transmitter offset: 2
  • Number of transients: 12
  • Gain: 23

3. Het systeem berekent de kosten om die meting met de gekozen instellingen uit te voeren.


Alternative paths

3 / A5. Het budget is niet toereikend voor de meting.
A1. Het systeem geeft aan dat Sander's budget niet toereikend is voor de meting.
A2. Het systeem toont de instellingen en de parameters.
A3. Sander wijzigt geselecteerde parameter(s).

  • Pulse width: 5 pw
  • Transmitter power: 7
  • Duration: 9

A4. Het systeem slaat de wijzigingen op.
A5. Het systeem berekent de kosten van gemaakte instellingen en verrekent dit met het budget.


Monster beheren

Basic course of events

1. Tim maakt een nieuw monster aan.
2. Het systeem vraagt om een naam voor het nieuwe monster.
3. Tim geeft het monster de naam 'Monster 1'.
4. Het systeem vraagt om de moleculen uit het moleculenmodel te selecteren.
5. Tim selecteert het molecuul H2O.
6. Het systeem vraagt om de concentraties van de gekozen moleculen in te stellen.
7. Tim geeft aan 12 mol H2O moleculen te willen hebben.
8. Het systeem vraagt om een oplosmiddel toe te voegen aan het monster.
9. Tim selecteert het oplosmiddel 'Azijn'.
10. Het systeem slaat het monster op.


Alternative paths

1. Monster wijzigen.
A1. Tim wijzigt het monster.
A2. Het systeem geeft overzicht van al bestaande monsters.
A3. Tim selecteert 'Monster 1'.
A4. Het systeem toont de instellingen van het geselecteerde monster.
A5. Tim wijzigt de instellingen van het monster.

  • Moleculen in het monster
  • Concentraties van die moleculen
  • Oplosmiddel

A6. Het systeem slaat de wijzigingen op.


1. Monster verwijderen.
B1. Tim verwijdert een monster
B2. Het systeem geeft overzicht van monsters.
B3. Tim selecteert 'Monster 2'.
B4. Het systeem verwijdert het monster.


B3 Tim selecteert 'Monster 2'.
C1. Als het monster op dit moment in een meting wordt gebruikt, kan het monster niet verwijderd worden. Het systeem geeft een foutmelding en geeft de gebruiker de mogelijkheid om een ander monster te kiezen


Moleculen beheren

Basic course of events

1. Tim creëert een nieuw molecuul.
3. Tim vult de gegevens van/over het molecuul in.
4. Het systeem slaat het nieuwe molecuul op.


Alternative paths

1. Tim wijzigt het molecuul H2O.
A1. Het systeem opent het gekozen molecuul.
A2. Tim voert zijn wijzigingen door.
A3. Het systeem slaat de wijzigingen op


1. Tim kiest molecuul H2O om te verwijderen.
B1. Het systeem verwijdert het gekozen molecuul.


Start meting

Basic course of events

1. Sander kiest de meting die hij wil starten.
2. Het systeem berekent het FID signaal.
3. Het systeem geeft aan dat meting voltooid is.


Analyseer meting

Basic course of events

1. Arjan selecteert meting 1 om te analyseren.
2. Het systeem toont de standaardweergave van meting.
3. Arjan wijzigt de volgende analyseparameters:

  • Verticale schaal
  • Horizontale as
  • vs
  • vf
  • axis (axis=hz en axis=ppm)

Arjan wijzigt de volgende weergavemogelijkheden

  • verticale as = 3
  • vs = 1
  • vf = 1

5. Het systeem geeft de meting weer met de gekozen parameters en weergave opties.

Inloggen gebruiker

Basic course of events
  1. Mark start de applicatie.
  2. Het systeem (Applicatie) vraagt om een username en het bijbehorende password.
  3. Mark voert zijn username 'Mark' en password 'Mark01' in.
  4. Het systeem controleert de username en het password van de gebruiker.
  5. Het systeem kent de rechten van de groep 'Student' toe aan 'Mark'


Exception paths

4. Mark voert verkeerde inloggegevens in

  1. Het systeem geeft melding dat username en wachtwoord niet geldig zijn.
  2. Het systeem vraagt om de juiste inloggegevens.


Selecteer monster

Basic course of events

1. Arjan selecteert monster 15.
2. Het systeem geeft aan dat monster 15 klaar staat voor de meting.


Beheer gebruiker

Basic course of events

1. Tim maakt een nieuwe gebruiker aan.
2. Het systeem geeft de gelegenheid voor het aanmaken van een gebruiker.
3. Tim vult alle gevraagde gegevens in en voert de nieuwe gebruiker in.

  • Gebruikersnaam: pieter1
  • E-Mail adres: pieter1@student.ru.nl
  • Voornaam: Pieter
  • Achternaam: Petersen
  • Klas: IC-1A
  • Rol: Student

4. Het systeem controleert de ingevoerde gegevens.
5. Het systeem slaat de nieuwe gebruiker op.


Alternative paths

1. Tim wijzigt een bestaande gebruiker.
A1. Het systeem toont een lijst van bestaande gebruikers.
A2. Tim kiest het account van Jaap.
A3. Het systeem opent de gegevens van Jaap.
A4. Tim wijzigt de gegevens van Jaap.
A5. Het systeem controleert de ingevoerde gegevens.

  • Achternaam: Jansen > Janssen

A6. Het systeem slaat de gegevens op


1. Tim verwijdert een gebruiker uit het systeem.
B1. Het systeem toont een lijst met bestaande gebruikers.
B2. Tim kiest de account van Frans.
B3. Het systeem vraagt Tim om verplaatsing naar archief of verwijdering.
B4. Tim kiest voor verwijdering van de gebruiker.
B5. Het systeem verwijdert de account.


3. Tim kiest voor annuleren.
C1. Het systeem annuleert de wijziging(en) en gaat terug naar het menu.


4. Het systeem controleert ingevoerde gegevens.
D1. Het systeem geeft melding aan de gebruiker welke gegevens incorrect zijn met daarbij de reden.
D2. Tim krijgt mogelijkheid om de gegevens aan te passen.


6. Tim annuleert bevestiging.
E1. Het systeem annuleert de wijziging en gaat terug naar het invoerscherm.


B3. Het systeem vraagt Tim om verplaatsing naar archief of verwijdering.
F1. Tim kiest ervoor om het account van Frans naar het archief te verplaatsen.
F2. Het systeem plaatst het account van Frans in het archief.


Monster toekennen

Basic course of events

1. Het systeem toont een overzicht van de door Dirk aangemaakte monsters.
2. Dirk selecteert monster 31.
3. Dirk selecteert Frans en Pieter.
4. Dirk bepaalt het budget voor Frans en Pieter.
5. Het systeem kent het monster aan Frans en Pieter toe.

Integrated Domainmodel

Schema big.png

Non-functional Requirements

  • De interface van de simulator moet zo realistisch mogelijk overkomen ten op zichte van het echte systeem.
  • De performance van de applicatie moet realistisch overkomen ten op zichte van het echte systeem.
  • Gegevens van studenten moeten minimaal twee jaar bewaard worden in het systeem voordat het gearchiveerd moet worden.
  • De simulator moet platform onafhankelijk zijn.
  • De simulator moet ten alle tijde beschikbaar zijn.
  • De gebruiker moet geauthenticeerd zijn.
  • De simulator moet eenvoudig zijn in gebruik.
  • De simulator moet eenvoudig te upgraden zijn naar een nieuwe versie.
  • De simulator moet multitasking kunnen ondersteunen.

Addendum

Business Rules Catalogue

  1. De gebruikers van de applicatie zijn verbonden met de Radboud Universiteit.
  2. Alleen studenten hebben een bepaald budget om een meting uit te voeren.
  3. Een gebruiker heeft alleen toegang tot zijn eigen monsters en metingen.
  4. Alleen een instructeur heeft toegang om monsters en metingen van studenten te bekijken.
  5. De instellingen die gekozen kunnen worden zijn afhankelijk van het budget.
  6. Het aantal metingen die een student kan uitvoeren zijn afhankelijk van het budget.
  7. Alleen administrators hebben de rechten om gebruikers te beheren.
  8. Alleen instructeurs kunnen monsters toekennen.

Terminological Definitions

  • De gebruiker is een persoon die gebruik maakt van de spectrometer
  • De instructeur is een persoon die gebruik maakt van de spectrometer en de student begeleidt.
  • De administrator is een persoon die de administratie van de spectrometer beheert.
  • Een spectrometer is een systeem dat wordt gebruikt om onderzoek mee uit te voeren.
  • Een spectrometer is een programma om resultaten van een spectrometer te analyseren.
  • Het FID is het signaal dat de spectrometer terug geeft na een meting.
  • Het spectrum is het signaal dat wordt weergegeven in de spectrometer.
  • Het aantal MHz staat voor de sterkte van het magneetveld.
  • De waarde van vs (vertical scale) is afhankelijk van de concentratie van het oplosmiddel.
  • De waarde van vf (vertical scale FID) is afhankelijk van de concentratie van het oplosmiddel.
  • df (display fid)
  • 'ff' is een commando om de horizontale schaal te resetten. Daarna kan het commando 'ds' het hele spectrum weergeven.
  • De 'axis' in Hz. Hiermee kan de horizontale as ingesteld worden op Hz. Met het commando 'ds' kan het spectrum met deze nieuwe instelling weergegeven worden.
  • De 'axis' in ppm (parts per million). Hiermee kan de horizontale as ingesteld worden op chemical shift-eenheden (ppm). Met het commando 'ds' kan het spectrum met deze nieuwe instelling weergegeven worden.
  • 'pw' (pulse width) staat voor de duur van de RF stralingsperiode (in microseconden).
  • 'tpwr' (transmitter power) staat voor de intensiteit van de RF-straling (geen dimensie).
  • 'd1' (duration) staat voor de duur van de voorbereidingsperiode (in seconden).
  • 'sw' (spectral width) staat voor de spectrale Breedte (in Hz).
  • 'np' (number of points) staat voor het aantal gemeten punten van de FID. De waarde van 'sw', 'at' en 'np' zijn aan elkaar verbonden: "at = 0.5*np/sw".
  • 'tof' (transmitter offset) staat voor het centrum van het spectrum (in Hz). Hiermee kan de frequentie van de RF-straling met een zeer hoge nauwkeurigheid ingesteld worden.
  • 'nt' (number of transients) Het aantal te meten scans. De signaal-ruis verhouding is recht-evenredig met de vierkantswortel van 'nt'.
  • 'vgain' staat voor de vergrotingsfactor van het NMR signaal (logaritmisch, geen dimensie).