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

Uit Werkplaats
Ga naar: navigatie, zoeken

 






NMR Simulator



Werkstuk Requirements Engineering


Steven Castelein, Laurens Alers , Ferry de Bruin



Onderwijsinstituut voor Informatica en Informatiekunde

Radboud Universiteit Nijmegen







version 18 februari 2022



Page Break




De inhoud is opgebouwd als volgt.

Introduction

Een van de vakken die eerstejaars Scheikunde en Molecular Life Sciences (MLW) studenten volgen is Spectroscopische technieken & Analyse. In deze cursus worden de algemene concepten van spectroscopie (i.e. de meting van interactie tussen elektromagnetische straling en materie) geïntroduceerd in het kader van NMR. Belangrijke aspecten van een spectroscopische meting zoals gevoeligheid, specificiteit, resolutie, toepasbaarheid worden vanuit zowel een theoretisch als een praktisch oogpunt behandeld. Het uitvoeren van deze experimenten met een echte spectrometer gaat erg lastig. Dit komt door de grote groep studenten en de beperkte beschikbaarheid van de spectrometer. Ook de oplosmiddelen waarin de te onderzoeken stoffen moeten worden opgelost zijn kostbaar. Om dit probleem op te lossen is er een prototype simulator van de spectrometer ontwikkeld.

De NMR simulator geeft de student de mogelijkheid om direct zijn kennis van de NMR theorie te toetsen door een NMR spectrum te verkrijgen onder omstandigheden die heel dicht bij de reële experimentele condities liggen. Op deze manier wordt de invloed van de instelling van verschillende experimentele parameters op het NMR spectrum zichtbaar. Het effect van de simulator is positief: alle studenten kunnen kennis maken met de techniek NMR door zonder de 'echte' spectrometer te bezetten en/of dure oplosmiddelen te verbruiken.

Het huidige prototype NMR simulator is succesvol gebleken. Omdat de huidige NMR simulator is ontwikkeld als een prototype mist een grondige functionele documentatie. Dit verslag draagt bij aan de ontwikkeling van de nieuwe spectrometer simulator door het vastleggen van de requirements van het nieuwe systeem.


Problem statement

Zoals bij de introductie al vermeld is wordt van de studenten Scheikunde en MLW verwacht dat zij enige kennis hebben van spectroscopie. Aangezien het experimenteren met een echte spectrometer lastig is met een grote groep studenten en de gebruikte oplosmiddelen kostbaar zijn werd een simulator ontwikkeld.

De huidige versie van de NMR simulator is slechts een prototype en had als doel te kijken of een dergelijke simulator zou werken. Aangezien het prototype succesvol is gebleken is het de bedoeling dat het wordt uitgebreid op allerlei fronten. Omdat de huidige NMR simulator als prototype is ontwikkeld is het niet wenselijk om deze in de huidige vorm nog verder te ontwikkelen. Het technisch ontwerp is niet schaalbaar genoeg om alle toekomstige eisen en wensen te implementeren. Op functioneel gebied ontbreekt documentatie over de werking van het systeem.


Case analysis

Stakeholder analysis

Het project dient als ondersteuning van het vak Spectroscopische Technieken en Project welke in de bachelorfase van MLW en Scheikunde gegeven wordt. Directe stakeholders zijn de docenten die het vak Spectroscopische Technieken en Project zullen gaan doceren. Zij zullen de simulator gaan gebruiken in hun colleges. Tezamen met de studenten vormen zij de directe doelgroep die met het systeem gaan werken.

Hier volgt een overzicht van de personen die een rol als stakeholder vervullen:

  1. Dirk van der Linden - Projectleider, vertegenwoordiger van studenten, wetenschappers & docenten
  2. Dr. Marco Tessari - Docent Spectroscopische Technieken en Project
  3. Laurens Peters - Vakinhoudelijke kennis m.b.t NMR en de spectrometer

Zie de #Use case survey voor welke rechten de verschillende groepen gebruikers hebben (studenten, wetenschappers, docenten, beheerders).


Mission and vision statement

Zoals eerder omschreven zal het systeem de spectrometer gaan simuleren. Essentieel bij deze simulatie is dat deze zo realistisch als mogelijk is. In de ideale situatie zou de student geen verschil moeten merken tussen de simulator en de echte spectrometer. Hierbij horen ook eigenschappen zoals duur van het experiment, de interface en ook het gebruik van kostbare stoffen. Omdat het een leeromgeving betreft is het belangrijk dat de docenten de voortgang van de studenten goed kunnen volgen en de opdrachten kunnen voorbereiden.

De docenten zullen de simulator gaan gebruiken als ondersteuning van het educatieve proces maar het is niet totaal uitgesloten dat promovendi en andere onderzoekers er ook mee aan de slag gaan.


Statement of work

Deadlines en deliverables
Facade iteration: ma 27/10/2008 9:00
Filled iteration: wo 03/12/2008 9:00
Focused iteration: ma 05/01/2008 9:00
# Deliverable Facade (F1) Filled (F2) Focused (F3) Status (F1)
01 Introduction preliminary preliminary complete preliminary
02 Problem statement agap agap complete preliminary
03 Stakeholder list/analysis agap agap complete draft
04 Mission-Vision-Values
Executive sponsor viewpoint
complete up-to-date up-to-date started
05 Statement of work complete up-to-date up-to-date in progress
06 Risk analysis complete up-to-date up-to-date todo
07 Use case survey agap nearly complete complete preliminary
08 Integrated UC diagram preliminary complete complete preliminary
09 Use cases x "filled" level complete / "focused" level not yet
10 Scenarios
Use case tests
x several per UC complete not yet
11 Domain models x partially complete not yet
12 Business rules per UC x partially complete not yet
13 Integrated domain model x first draft complete not yet
14 Business rules catalogue x partially complete not yet
15 Non-functional requirements notes partially complete todo
16 Terminological definitions notes partially complete todo


Risk analysis

# Category Risk Solution needed by Status Days lost Expectancy factor Risk factor
01 Projectleden Projectlid afwezig als gevolg van ziekte. - - ~2 50% 2.0
02 Opdrachtgever Opdracht wordt belemmerd door gebrek aan informatie. Projectleden - 0 10% 3.0

Requirements

Use cases

Rollen

Binnen de use cases worden er vier actoren genoemd. Dit zijn:

  1. Student: dit zijn studenten die het vak Spectroscopische Technieken en Project volgen.
  2. Wetenschapper: een promovendi of onderzoeker die een meting wilt simuleren.
  3. Docent: de hoogleraar welke het vak Spectroscopische Technieken en Project doceert.
  4. Beheerder: Functioneel beheerder van de faculteit Scheikunde en MLW

Use case survey

# Name Description Student Wetenschapper Docent Beheerder
01 #Molecuul beheren Het beheren van de moleculen die geanalyseerd worden in de spectrometer X X X
02 #Monster beheren Een aantal moleculen in een oplossing X X X X
03 #Signaal acquisitie Het verkrijgen van een signaal van een monster met behulp van de spectrometer X X X X
04 #Transformatie signaal naar spectrum Het transformeren van het verkregen signaal naar een spectrum X X X X
05 #Spectrum analyse Het analyseren van het spectrum X X X X
06 #Domme instellingen beheren Definiëren wat domme instellingen zijn zodat een docent gewaarschuwd wordt indien er een domme instelling worden opgevoerd door de gebruiker X X
07 #Gebruikers beheren Het beheren van de gebruikers die in het systeem gedefinieerd zijn X X
08 #Groepen beheren Het beheren van de groepen waar gebruikers gedefinieerd in het systeem onder kunnen vallen X X
09 #Resultaten analyse beschikbaar stellen Een wetenschapper kan resultaten toegankelijk maken voor de rest van de gebruikers van het systeem X X
10 #Statistieken exporteren De mogelijkheid om diverse statistische gegeven te exporteren X X
11 #Instellingen op een groep toepassen De mogelijkheid om parameters in te stellen bij een bepaalde groep gebruikers X X

Integrated use case diagram

IUCD2.png

Individual use cases

Create a Use Case for all of the ones identified in the survey, include relevant business rule(s) and a Use case Diagram.

Molecuul beheren

Use Case: Name
Use case diagram USC Molecuul beheren.jpg
Description Het beheren van de moleculen die geanalyseerd kunnen worden in de spectrometer.
Initiating actor Wetenschapper, docent, beheerder
Version 0.2
Basic course of events

1. Actor voegt een nieuw molecuul toe met een unieke naam

2. Actor definieert atomen van het nieuwe molecuul

3. Systeem slaat het nieuwe molecuul op

Alternate paths

1a. Actor kiest een molecuul via de unieke naam

1. Actor past de atomen van het gekozen molecuul aan

2. Systeem slaat het nieuwe molecuul op

1b. Actor kiest een molecuul via de unieke naam

1. Actor verwijdert het molecuul van het systeem

2. Systeem meldt dat molecuul is verwijdert


Preconditions -
Postconditions -
Related business rules -
ORM Diagram
ORM Molecuul beheren.png

Monster beheren

Use Case: Name
Use case diagram USC Monster beheren.jpg
Description Een aantal moleculen die zijn opgelost in een oplosmiddel.
Initiating Actor Student, Docent, Wetenschapper, Beheerder
Version 0.2
Basic course of events

1. Actor selecteert een molecuul

Stap 1 wordt herhaald totdat alle gewenste moleculen zijn geselecteerd

2. Actor selecteert een oplosmiddel

3. Systeem slaat het nieuwe monster op


Alternate paths

1a. Actor in de rol van Docent of Beheerder selecteert een monster

1. Actor in de rol van Beheerder of Docent maakt monster beschikbaar voor een groep

Stap 1 wordt herhaald totdat alle gewenste groepen zijn geselecteerd

2. Systeem meldt dat monster is aangepast

Preconditions Er is ten minste 1 molecuul in het systeem aanwezig.

Er is ten minste 1 oplossmiddel in het systeem aanwezig.

Postconditions Systeem heeft het nieuwe monster opgeslagen.
Related business rules
ORM Diagram
ORM Monster beheren.png

Signaal acquisitie

Use Case: Name
Use case diagram USC Signaal acquisitie.png
Description Het verkrijgen van een signaal (ook wel FID genoemd) van een monster.
Initiating Actor Student, Wetenschapper, Docent
Version 0.1
Basic course of events

1. Actor kiest een monster

2. Actor stelt parameters in voor het verkrijgen van het FID signaal

3. Actor start de acquisitie van het FID signaal

4. Systeem slaat het verkregen FID signaal op

5. Systeem geeft het verkregen FID signaal terug in de vorm van een grafiek (sinus vorm)

Alternate paths 2a. De Actor geeft aan de (gewijzigde) parameters op te willen slaan

1. Het systeem geeft aan dat de parameters zijn opgeslagen en gaat verder met Stap 3 (Acquisitie FID signaal)

Preconditions Gebruiker is ingelogd; er is minimaal één monster aanwezig
Postconditions De parameters van daze acquisitie zijn opgeslagen

Het FID signaal behorende tot deze acquisitie is opgelagen

Related business rules Indien de Actor een Student is, dan wordt er alleen begonnen met de meting indien het budget toereikend is. De kosten van de meting worden

middels een formule berekend.

ORM Diagram
ORM signaalacquisitie.png

Transformatie signaal naar spectrum

TODO Uitzoeken hoe de 'array-functionaliteit (meerdere metingen tegelijk ) werkt

Use Case: Name
Use case diagram Transformatie signaal naar spectrum.png
Description Het uitvoeren van een Fourier Transformatie op het FID signaal zodat er een spectrum verkregen wordt
Initiating Actor Student, Wetenschapper, Docent
Version 0.2
Basic course of events

1. Actor kiest een opgeslagen FID signaal

2. Actor analyseert het verkregen FID signaal

3. Actor stelt parameters voor de Fourier Transformatie in

4. Systeem transformeert het FID signaal naar een spectrum

5. Systeem toont het spectrum aan de actor

Gebruiker herhaalt stappen 3 tot en met 5 totdat hij of zij tevreden is met het verkregen resultaat

6. Het systeem slaat het verkregen spectrum op


Alternate paths 1a. De actor heeft FID signaal zelf verkregen via Signaal Acquisitie


3a. De Actor geeft aan de (gewijzigde) parameters op te willen slaan

1. Het systeem geeft aan dat de parameters zijn opgeslagen en gaat verder met Stap 3 (Acquisitie FID signaal)

Preconditions Gebruiker is ingelogd; er is minimaal één monster aanwezig
Postconditions De parameters van de analyse zijn opgeslagen

Het spectrum behorende tot deze transformatie is opgeslagen

Related business rules
ORM Diagram
ORM transformatie.png

Spectrum analyse

TODO Uitzoeken hoe de 'array-functionaliteit (meerdere metingen tegelijk ) werkt

Use Case: Name
Use case diagram Spectrum analyse.png
Description Het analyseren van een monster in de NMR simulator
Initiating Actor Student, Wetenschapper, Docent, Beheerder
Version 0.2
Basic course of events

1. Gebruiker kiest een spectrum

2. Actor analyseert het spectrum en past parameters voor weergave aan.

3. Systeem geeft de aangepaste weergave van het spectrum terug

Gebruiker herhaalt stappen 1 tot en met 3 totdat deze klaar is met de analyse.

Alternate paths 1a. actor heeft het spectrum zelf verkregen door middel van een Fourier Transformatie op het FID sigaal

2a. De Actor geeft aan de (gewijzigde) parameters op te willen slaan

1. Het systeem geeft aan dat de parameters zijn opgeslagen en gaat verder met Stap 3 (Acquisitie FID signaal)

Preconditions Gebruiker is ingelogd; er is minimaal één monster aanwezig met bijbehorende FID & spectrum
Postconditions De parameters van de analyse zijn opgeslagen
Related business rules
ORM Diagram
ORM analyse.png

Domme instellingen beheren

Use Case: Name
Use case diagram USC Domme instellingen beheren.jpg
Description

Definiëren wat domme instellingen zijn zodat een docent gewaarschuwd wordt indien er een domme instelling worden opgevoerd door de gebruiker.

Source Docent, Beheerder
Version 0.2
Basic course of events

1. Actor voert een aantal parameters in die in aanmerking komen voor het rapporteren

2. Systeem slaat de parameters op

Alternate paths Geen
Preconditions De Actor is ingelogd
Postconditions De parameters voor de "domme" instelling is opgeslagen.
Related business rules Geen
ORM Diagram
ORM Domme instellingen beheren.png

Gebruikers beheren

Use Case: Name
Use case diagram USC Gebruikers Beheren.jpg
Description Het beheren van de gebruikers die in het systeem gedefinieerd zijn.
Initiating actor Docent, Beheerder
Version 0.2
Basic course of events

1. Actor voert code* in van nieuw aan te maken gebruiker

2. Actor voert de naam in van de nieuw aan te maken gebruiker

3. Actor voert het wachtwoord in van de nieuw aan te maken gebruiker

4. Actor selecteert rol van nieuwe gebruiker

5. Actor selecteert de groep van nieuwe gebruiker

6. Actor voert budget in van nieuwe gebruiker

7. Actor voert verdere gegevens in van nieuwe gebruiker

8. Systeem slaat de nieuwe gebruiker op

Stap 1-8 worden herhaald totdat alle gebruikers zijn ingevoerd

Alternate paths

1a. Actor kiest een bestaande gebruiker via code

1. Actor past gegevens geselecteerde gebruiker aan

2. Systeem slaat de gewijzigde gegevens van geselecteerde gebruiker op

1b. Actor kiest een bestaande gebruiker via code

1. Actor geeft aan dat geselecteerde gebruiker van het systeem verwijderd moet worden

2. Systeem verwijdert geselecteerde gebruiker van het systeem

1c. Actor kiest een bestaande gebruiker via code

1. Actor in rol van Beheerder geeft aan dat geselecteerde gebruiker moet worden gearchiveerd

2. Het Systeem archiveert de geselecteerde gebruiker

1d. Actor in de rol van Docent kiest een bestaande gebruiker via code

1. Systeem presenteert een lijst van experimenten van de geselecteerde gebruiker

2. Actor in de rol van Docent selecteert een experiment

3. Systeem presenteert de historie van het geselecteerde experiment

Preconditions Gebruiker heeft een unieke code; er is geen gebruiker in het systeem aanwezig met dezelfde unieke code.
Postconditions Systeem heeft de nieuwe gebruiker opgeslagen.
Related business rules Budget van de gebruiker bedraagt: >=0
ORM Diagram
ORM GebruikersBeheren.png
  • code = Personeelsnummer (u123456 en voor UMC z123456), studentnummer (s1234567) of voor externe medewerkers e-nummer (e123456).

Groepen beheren

Use Case: Name
Use case diagram USC Groepen Beheren.jpg
Description Het beheren van gebruikers binnen de verschillende groepen.
Initiating Actor Docent, Beheerder
Version 0.2
Basic course of events

1. Actor geeft naam op van nieuwe groep

2. Systeem slaat nieuwe groep op

Alternate paths

1a. Actor kiest naam van bestaande groep

1. Actor past de naam van de geselecteerde groep aan

2. Systeem slaat de gewijzigde naam van geselecteerde gebruiker op

1b. Actor kiest naam van bestaande groep

1. Actor geeft aan dat geselecteerde groep van het systeem verwijderd moet worden

2. Systeem verwijdert gebruikers die vallen onder de geselecteerde groep van het systeem

3. Systeem verwijdert geselecteerde groep van het systeem

1c. Actor kiest naam van bestaande groep

1. Actor in rol van beheerder geeft aan dat geselecteerde groep moet worden gearchiveerd

2. Het systeem archiveert de gebruiker die vallen onder de geselecteerde groep van het systeem

Preconditions Er is geen groep in het systeem aanwezig die exact dezelfde naam heeft als de nieuwe groep.
Postconditions Systeem heeft de nieuwe groep opgeslagen.
Related business rules -
ORM Diagram
ORM GroepenBeheren.png

Resultaten analyse beschikbaar stellen

Use Case: Name
Use case diagram Resultaten analyse beschikbaar stellen.jpg
Description Een wetenschapper kan resultaten vrij toegankelijk maken
Source Wetenschapper, Beheerder
Version 0.2
Basic course of events

1. Actor selecteert een reeds uitgevoerde analyse.

2. Actor kiest of het resultaat van de analyse intern/extern of beide beschikbaar moet wordt gesteld.

3. Systeem maakt de resultaten inter/extern of voor beide toegankelijk

Alternate paths Geen
Preconditions De actor is ingelogd; Er is minimaal één experiment beschikbaar
Postconditions Het geselecteerde experiment kan door intern/extern of beide worden bekeken
Related business rules Geen
ORM Diagram
Resultaten analyse beschikbaar stellen.png

Statistieken exporteren

Use Case: Name
Use case diagram Statistieken exporteren.jpg
Description De mogelijkheid om diverse statistische gegeven te exporteren
Source Beheerder, Docent
Version 0.2
Basic course of events

1. De Actor selecteert de gewenste statistieken

2. Het systeem genereert de geselecteerde statistiek

3. De Actor verkrijgt het resultaat

Alternate paths 1a. Systeem heeft onvoldoende gegevens.
   1. Systeem geeft de actor een melding.
Preconditions De actor is ingelogd op het systeem en heeft de rol van beheerder of docent
Postconditions De actor ziet een overzicht van het geselecteerde type statistiek
Related business rules Geen
ORM Diagram
ORM Statistieken exporteren.png

Instellingen op een groep toepassen

Use Case: Name
Use case diagram Instellingen op een groep toepassen.jpg
Description De mogelijkheid om parameters in te stellen bij een bepaalde groep gebruikers
Source Docent, Beheerder
Version 0.2
Basic course of events

1. Actor selecteert instellingen die op de betreffende gebruiker/groep moeten worden toegepast.

2. Actor selecteert gebruiker/groep

3. Systeem past geselecteerde instellingen toe op de betreffende gebruiker/groep.

Alternate paths Geen
Preconditions De actor is ingelogd; Er zijn gebruikers of groepen beschikbaar
Postconditions De betreffende instellingen zijn toegepast op de betreffende gebruiker/groep
Related business rules Geen
ORM Diagram
Instellingen op een groep toepassen.png

ORM

ORM.png

Scenarios

Individual scenarios

Molecuul beheren

Basic course of events

  1. Docent Erik Peters wil een nieuwe molecuul aanmaken in het systeem.
  2. Erik voert de gegevens voor de nieuwe molecuul in. Erik voert eerst een unieke naam in voor het aan te maken molecuul. een H2 atoom in en een O atoom. Het systeem bevestigd de toevoeging.
  3. Het systeem geeft aan dat het toevoegen van de nieuwe molecuul gelukt is.


Alternate path 1

  1. Docent Erik Peters wil de eigenschappen van een molecuul aanpassen.
  2. Erik selecteert de molecuul via de unieke naam. Erik selecteert het molecuul “water”.
  3. Het systeem toont de huidige eigenschappen van het geselecteerde molecuul. Het systeem toont de atomen: H2 en O
  4. Erik brengt een wijzing aan in de atomen van het molecuul water. O wordt veranderd in O2. Het systeem bevestigd de gewijzigde waarde.
  5. Het systeem geeft aan de het wijzigen van de eigenschappen van de molecuul gelukt is.


Alternate path 2

  1. Docent Erik Peters wil een molecuul uit het systeem verwijderen.
  2. Erik selecteert een molecuul via de unieke naam die aan de molecuul gekoppeld is. Erik selecteert het molecuul “water” via zijn unieke naam en verwijderd deze. Het systeem bevestigd het verwijderen van het molecuul.
  3. Het systeem geeft aan dat het verwijderen van het molecuul gelukt is.

Monster beheren

Basic course of events

  1. Studente Anne de Wit wil een monster toevoegen aan het systeem.
  2. Anne vult de eigenschappen van het monster in. Anne selecteert het molecuul “koolstof” met als oplosmiddel “water”. Het systeem bevestigd de toevoeging van het nieuwe monster.
  3. Het systeem geeft de melding dat het opslaan van het nieuwe monster gelukt is.


Alternative path 1

  1. Docente Ilse Mattens wil een monster toevoegen aan het systeem.
  2. Ilse vult de eigenschappen van het monster in. Ilse selecteert het molecuul “koolstof” met als oplosmiddel “water”. Het systeem bevestigd de toevoeging van het nieuwe monster.
  3. Ilse selecteert de groep “studenten” waarvoor het hiervoor gedefinieerde monster beschikbaar moet worden gesteld. Het systeem bevestigd de toevoeging.
  4. Het systeem geeft de melding dat het opslaan van het nieuwe monster gelukt is.

Signaal acquisitie

Basic course of events

  1. Student Piet Paulusma kiest een voorgedefinieerd monster uit zijn persoonlijke lijst.
  2. Piet stelt de parameters in behoorde tot de acquisitie van het FID signaal ( mogelijke parameters )
  3. Piet geeft aan de acquisitie van het signaal te willen starten. Het systeem controleert of er voldoende budget beschikbaar is voor deze meting.
  4. Na verloop van tijd voltooid het systeem de meting & slaat deze op. De kosten van deze meting worden van het beschikbare budget afgehaald.
  5. Het systeeem toont het verkregen signaal aan Piet

Transformatie signaal naar spectrum

Basic course of events

  1. Student Rintje Ritsma kiest een FID signaal welke is gemeten in een vorige sessie
  2. Het verkregen signaal is niet ideaal maar Rintje kan het verbeteren door instellen van de juiste parameters.
  3. Rintje stelt de parameters in behoorde tot de transformatie van het FID signaal naar een spectrum ( mogelijke parameters )
  4. Rintje geeft de opdracht om het signaal te transformeren
  5. Het systeem voert een Fourier Transformatie met de meegegeven parameters uit en slaat dit resultaat op.
  6. Het systeeem toont het verkregen spectrum aan Rintje

Spectrum Analyse

Basic course of events

  1. Lara Veldmuis kiest een spectrum uit haar overzicht.
  2. Het spectrum is nog niet scherp genoeg waardoor Lara niet in staat is een goede conclusie te trekken.
  3. Lara past een aantal parameters aan die de scherpte van het spectrum moeten verbeteren (mogelijke parameters) en geeft opdracht deze transformatie uit te voeren.
  4. Het systeem voert de transformatie uit en laat het nieuwe spectrum zien.

Domme instellingen beheren

Basic course of events

  1. Docent Jaap van der Stam wil een nieuwe ‘domme instelling’ aan het systeem toevoegen.
  2. Jaap voert alle benodigde gegevens in. Jaap geeft op aan het systeem dat ‘het verwijderen van een eigen monster’ een domme instelling is. Jaap bevestigd de toevoeging.
  3. Het systeem geeft aan dat het aanmaken gelukt is.

Geen alternatieve paden.

Gebruikers beheren

Basic course of events

  1. Docent Rob wil een nieuwe gebruiker aanmaken in het systeem voor de student Jan Koning.
  2. Rob voert alle benodigde gegevens in. De unieke code van Jan (s0617706), de naam (Jan Koning), het wachtwoord (jk_3426), de rol van Jan (Student), de groep (Studenten Scheikunde 2008) en het budget (5000). Rob bevestigd de toevoeging.
  3. Het systeem geeft aan dat het aanmaken gelukt is.


Alternate path 1

  1. Docent Rob wil een foutieve code van student Jan Koning wijzigen.
  2. Rob voert de oude unieke code van Jan (s0617706) in.
  3. Het systeem presenteert de gegevens van Jan Koning.
  4. Rob wijzigt de code van Jan naar s0617707. Rob bevestigd de wijziging.
  5. Het systeem geeft aan dat de wijziging is doorgevoerd.


Alternate path 2

  1. Docent Rob wil student Jan Koning van het systeem verwijderen.
  2. Rob voert de oude unieke code van Jan (s0617707) in.
  3. Het systeem presenteert de gegevens van Jan Koning.
  4. Rob geeft aan dat hij de gebruiker Jan wil verwijderen.
  5. Het systeem geeft aan dat het verwijderen gelukt is.


Alternate path 3

  1. Beheerder Tinus wil student Jan Koning archiveren.
  2. Tinus voert de oude unieke code van Jan (s0617707) in.
  3. Het systeem presenteert de gegevens van Jan Koning.
  4. Rob geeft aan dat hij de gebruiker Jan wil archiveren.
  5. Het systeem geeft aan dat het archiveren gelukt is.


Alternate path 4

  1. Docent Rob wil de resultaten van het laatste experiment van student Jan Koning bezichtigen.
  2. Rob voert de oude unieke code van Jan (s0617707) in.
  3. Het systeem presenteert naast de gegevens van Jan Koning een lijst van gedane experimenten.
  4. Rob geeft aan dat hij de resultaten het meest recente experiment wil bezichtigen.
  5. Het systeem geeft de resultaten weer.

Groepen beheren

Basic course of events

  1. Docent Rob wil een nieuwe groep aanmaken in het systeem voor de aankomende studenten scheikunde 2009.
  2. Rob voert de naam in van de nieuw aan te maken groep (ScheikundeStud2009).
  3. Het systeem geeft aan dat het aanmaken gelukt is.


Alternate path 1

  1. Docent Rob wil naam van de reeds aangemaakte groep ScheikundeStud2009 wijzigen.
  2. Rob selecteert de betreffende groep (ScheikundeStud2009).
  3. Het systeem geeft de mogelijkheid de naam van de groep te wijzigen.
  4. Rob wijzigt de naam van ScheikundeStud2009 naar SkStud09Sem1. Rob bevestigd de wijziging.
  5. Het systeem geeft aan dat de wijziging is doorgevoerd.


Alternate path 2

  1. Docent Rob wil de groep SkStud09Sem1 van het systeem verwijderen.
  2. Rob selecteert de betreffende groep (SkStud09Sem1).
  3. Het systeem presenteert de mogelijkheid de groep te verwijderen.
  4. Rob geeft aan dat hij de groep SkStud09Sem1 wil verwijderen.
  5. Het systeem geeft aan dat het verwijderen gelukt is.


Alternate path 3

  1. Beheerder Tinus wil de groep SkStud09Sem1 archiveren.
  2. Rob selecteert de betreffende groep (SkStud09Sem1).
  3. Het systeem presenteert de mogelijkheid de groep te archiveren.
  4. Rob geeft aan dat hij de groep SkStud09Sem1 wil archiveren.
  5. Het systeem geeft aan dat het archiveren gelukt is.

Resultaten analyse beschikbaar stellen

Basic course of events

  1. Wetenschapper Suzanne de Wit wil de resultaten van een analyse, vrij toegankelijk maken voor de gebruikers in het systeem.
  2. Suzanne selecteert de analyse die ze beschikbaar wilt stellen. Suzanne geeft aan het systeem op dat ze analyse “analyse 1” beschikbaar wilt stellen voor zowel interne als externe gebruikers.
  3. Het systeem geeft aan dat het intern/extern beschikbaar stellen van “analyse 1” gelukt is.

Geen alternatieve paden

Statistieken exporteren

Basic course of events

  1. Beheerder Peter Janssen wil een specifiek statistiek exporteren.
  2. Peter selecteert het gewenste statistiek. Peter geeft aan het systeem op dat hij de statistieken van het gebruik van de NMR simulator wilt exporteren.
  3. Het systeem genereert de statistiek van het gebruik van de NMR simulator.
  4. Peter download het gegenereerde statistiek


Alternate Path 1

  1. Beheerder Peter Janssen wil een specifiek statistiek exporteren.
  2. Peter selecteert het gewenste statistiek. Peter geeft aan het systeem op dat hij de statistieken van het gebruik van de NMR simulator wilt exporteren.
  3. Het systeem geeft aan dat statistieken van het gebruik van de NMR simulator niet beschikbaar zijn.

Instellingen op een groep toepassen

Basic course of events

  1. Beheerder Fred Fontijn wil een instelling toepassen op een groep binnen het systeem.
  2. Fred voert de instelling in voor de betreffende groep. Fred voert een nieuw budget in van 200 euro. Vervolgens selecteert Fred de groep “studenten” om deze instelling op toe te passen.
  3. Het systeem geeft aan dat het toepassen van de geselecteerde instellingen gelukt is.


Geen alternatieve paden.

Integrated Domainmodel

The complete domain model should contain all concepts and facts that are used in the use cases and scenarios and should be completely consistent with how they are used in them.

Non-functional Requirements

  • Performance: de studenten en de onderzoekers moeten met acceptabele snelheid naast elkaar kunnen werken.
  • Usability: het werken met de simulator moet zo veel mogelijk lijken op het werken met de echte NMR spectrometer.
  • Maintainability: de nieuwe NMR spectrometer simulator moet eenvoudig te onderhouden en uit te breiden zijn.
  • Security: Alleen gemachtigde gebruikers mogen gebruik maken van het systeem, tenzij een wetenschapper toestemming geeft zijn resultaten openbaar te maken.

Addendum

Business Rules Catalogue

  1. Een gebruiker heeft alleen toegang tot zijn eigen monsters en metingen.
  2. Een docent kan monsters aan studenten toewijzen.
  3. Een docent kan metingen van studenten bekijken.
  4. Een student heeft een gelimiteerd budget.
  5. Bij het uitvoeren van een experiment door een student gaat er een bepaald bedrag van het budget af.
  6. Een experiment kan alleen door een student uitgevoerd worden indien er voldoende budget beschikbaar is.
  7. Alleen een docent of beheerder kan een monster beschikbaar stellen aan studenten.
  8. Alleen een beheerder kan een gebruiker of groep archiveren.


Terminological Definitions

Spectroscopie: de meting van interactie tussen elektromagnetische straling en materie.

NMR simulator: software voor de computer om een NMR spectrometer te simuleren.

Molecuul: het kleinste deeltje moleculaire stof dat nog de chemische eigenschappen van die stof bezit. [1]

Oplossing: een homogeen mengsel van twee stoffen [2]

Monster: een x aantal moleculen in combinatie met één oplosmiddel.

Rol: het type gebruiker met de bijbehorende rechten. De rol kan zijn: student, wetenschapper, docent of beheerder.

Groep: een gebruiker kan naast zijn rol ook in een groep worden ingedeeld. Een groep kan bijvoorbeeld zijn: "studenten 2008".

Analyse: in dit geval het analyseren (aanpassen van de weergave) van het verkregen spectrum.

Domme instelling: een 'domme instelling' is een door de docent of beheerder gedefinieerde instelling waarop de docent een waarschuwing krijgt als deze instelling wordt doorgevoerd.

FID signaal: TODO: het resulterende signaal van de NMR spectrometer.

Acquisitie: het verkrijgen van een FID signaal.

Fourier transformatie: het toepassen van een wiskundige functie op het verkregen FID signaal.

Spectrum: een grafische weergave van het verkregen FID signaal.

Budget: het bedrag in euro's dat een virtueel student heeft om de NMR simulator te betalen.

Archiveren: het exporteren van gegevens binnen het systeem naar een extern bestand. De geëxporteerde gegevens worden uit het systeem verwijderd.

Intern/Extern beschikbaar stellen: het beschikbaar stellen van gegevens voor intern gebruik (studenten, docenten, wetenschappers, beheerders) of extern gebruik (andere gebruikers dan de hiervoor genoemde).

Experiment: het analyseren van een monster.

Unieke naam: Een naam die binnen een willekeurig deel van het systeem maar één keer voor komt, wat dit item uniek identificeerbaar maakt door deze naam.