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

Uit Werkplaats
Ga naar: navigatie, zoeken

Organisatorisch

 






NMR Spectrometer



Werkstuk Requirements Engineering


Roy de Vries, Els van Dijk, Niels Braakensiek



Onderwijsinstituut voor Informatica en Informatiekunde

Radboud Universiteit Nijmegen







version 18 februari 2022



Page Break




De inhoud is opgebouwd als volgt.


Introduction

Dit document gaat de requirements voor een NMR-spectrometer-simulator omvatten. De indeling van het document is als volgt: allereerst wordt de context waarin dit project valt beschreven aan de hand van probleemstelling, mission, vision en values van het project. Hierna volgt de praktische informatie aangaande het verloop van het project (statement of work, risk analysis). De rest van het document is gewijdt aan de daadwerkelijke requirements in verschillende vormen.

Problem statement

Het probleem van onze opdrachtgever is tweeledig. Studenten krijgen de theorie over de spectrometer in een aantal colleges. Om uiteindelijk vertrouwd te raken met de daadwerkelijke metingen dienen de studenten direct gebruik te maken van de "echte" spectrometer. Er zit een gat tussen de theorie en het daadwerkelijke gebruik, dit is een ervaringsprobleem. Om deze ervaring op te doen, dient gebruik gemaakt te worden van het "echte" apparaat. De aanschaf is erg duur en de tijd erg kostbaar. Deze problemen kunnen als volgt samengevat worden:

  • Er bestaat een gat tussen de theorie en de praktijk;
  • Het dichten van het gat kan alleen door het opdoen van ervaring met de apparatuur, maar deze is lang niet altijd beschikbaar. Het aanschaffen van meer apparaten om de beschikbaarheid te vergroten is erg duur.

Case analysis

Stakeholder analysis

ID Categorie Naam Afdeling Stakeholder functie
001 Opdrachtgever ing. D.J.T. van der Linden
002 Didactici & andere adviseurs Dr. M.M.A. van Herpen Onderwijszaken Onderwijskundig adviseur en vraagbaak.
003 Dr. H.R.M.J. Wehrens Analytische Chemie Betrokken vanwege relatie met onderwijsbureau.
004 Technisch inhoudelijke mensen Dr. B. Polman Computer & communicatiezaken Vraagbaak technische zaken.
005 Dr. S.J.B.A. Hoppenbrouwer Model Based System Development Vraagbaak m.b.t. simulator aspecten.
006 Inhoudelijke mensen Dr. M. Tessari Biofysische chemie Inhoudelijke vraagbaar.

Mission, Vision, Values

Mission

Het is de bedoeling dat met dit project de overgang tussen theoretisch en praktisch onderwijs aangaande het gebruik van de NMR-spectrometer verzacht wordt. Met behulp van het resultaat van het project kunnen studenten met enige theoretische kennis over de spectrometer een idee krijgen over hoe het werken met een spectrometer verloopt, zonder dat zij daadwerkelijk met een spectrometer in contact komen. Het bedoelde gevolg hiervan is dat wanneer de studenten later werkelijk met de NMR-spectrometers gaan werken, zij al tot op zekere hoogte een `gevoel' hebben voor het instellen van de parameters van de spectrometer, zodat er zo min mogelijk tijd onnodig verloren gaat.

Vision

Er dienen requirements opgesteld te worden voor een systeem dat de interactieve werking van een NMR-spectrometer simuleert. Alle interacties die vallen binnen het traject van het prepareren van een monster tot en met het uitvoeren van analyses op het FID-signaal moeten gesimuleerd kunnen worden. De simulaties zijn puur oppervlakkig; de werking van de spectrometer zelf wordt niet gesimuleerd.

Values

Educatieve overwegingen zullen gedurende dit project vooraan staan. Wil het resultaat de studenten zo goed mogelijk voorbereiden op de praktijk, dan is het vooral van belang een zo hoog mogelijke realiteitswaarde in te brengen. Specifiek betekent dit dat de studenten bijvoorbeeld een `budget' zullen hebben en ook de tijdskosten die verbonden zijn aan bepaalde handelingen realistisch gemodelleerd zullen worden.

Statement of work

De planning is opgenomen in een aparte pagina welke hier te vinden is: Planning en Organisatie

Risk analysis

# Category Risk Solution needed by Status Days lost Expectancy factor Risk factor
01 Medewerkers Het is mogelijk dat een van de medewerkers van het project ziek worden. nvt Opgelost 2 100% 2
02 Voorzieningen Het is mogelijk dat de voorzieningen (internet/computer) van een van de medewerkers van het project het begeeft. Hoewel dit kan worden opgevangen door bijvoorbeeld de voorzieningen op de campus te gebruiken, bemoeilijkt dit wel de communicatie. nvt Opgelost 2 100% 2
03 Medewerkers Het is mogelijk dat er interferentie is tussen dit project en andere bezigheden van medewerkers, waardoor medewerkers tijdelijk minder tijd kunnen besteden aan dit project nvt Afspraken in verband hiermee zijn in ontwikkeling 2 80% 1.6

Requirements

Naar aanleidingen van de gesprekken en de functionals per actor, is besloten om docent en onderzoeker equivalent te achten. In de rest van dit document wordt met de actor docent ook de onderzoeker bedoeld.

Use cases

Use case survey

# Name Description Initiating actor
01 Moleculen beheer In deze use-case kan de gebruiker een nieuw molecuul toevoegen aan de molecuullijst, of bestaande moleculen waar hij/zij toegang toe heeft aanpassen of verwijderen. Docent of beheerder
02 Gebruikers beheer Deze use case beschrijft hoe gebruikers gegevens onder bepaalde voorwaarden kunnen toevoegen, wijzigen of verwijderen. Student, docent of beheerder
03 Gegevens beheer In deze use-case kan de gebruiker gegevens die voor hem/haar beschikbaar zijn (monsters, FID’s, spectra), selecteren en eventueel de rechten die daarop van toepassing zijn aanpassen. Student, docent of beheerder
04 Monster beheer In deze use-case kan de gebruiker nieuwe monsters toevoegen aan de monsterlijst, of bestaande monsters waar hij/zij toegang toe heeft aanpassen, verwijderen of toewijzen aan andere gebruikers. Student, docent of beheerder
05 FID verkrijgen In deze use-case wordt door de gebruiker een meting beschreven aan de hand van enkele parameters, waarna deze meting wordt uitgevoerd. Student, docent of beheerder
06 DFT uitvoeren In deze use-case wordt door de gebruiker een discrete Fourier transformatie beschreven, die daarna wordt uitgevoerd. Voorafgaand aan de DFT kan de gebruiker ook een exponentiele multiplicatie beschrijven, die dan eerst wordt uitgevoerd. Student, docent of beheerder
07 Analyse In deze use-case wordt de visuele weergave van een spectrum en/of FID visueel gemanipuleerd om het beter te kunnen analyseren. Student, docent of beheerder

overwegingen om tot deze indeling te komen staan bij overleg.

Integrated use case diagram

RE Groep 2 Geïntegreerd Diagram

Individual use cases

1) Molecuulbeheer

Use Case: Molecuulbeheer
Summary Deze usecase bevat de interacties met het systeem voor zover ze het aanmaken, wijzigen en verwijderen van moleculen betreffen.
Iteration Filled

Basic Course of Events

  1. De gebruiker start molecuulbeheer.
  2. Het systeem biedt de gebruiker de keuze uit 3 mogelijkheden:
    • Voeg een molecuul toe.
    • Wijzig een molecuul.
    • Verwijder een molecuul.
  3. De gebruiker kiest om een molecuul toe te voegen.
  4. Het systeem vraagt de gebruiker om de gegevens die in de definitie van een molecuul opgenomen worden.
  5. De gebruiker verstrekt de benodigde gegevens en meldt dat hij klaar is.
  6. Het systeem slaat het molecuul op en meldt dat de toevoeging doorgevoerd is.

Alternative paths

I (vanaf BCoE stap 3)

  1. De gebruiker kiest om een molecuul te wijzigen.
  2. Het systeem geeft de gebruiker de mogelijkheid een molecuul te kiezen uit de molecuullijst.
  3. De gebruiker kiest een molecuul uit de molecuullijst.
  4. Het systeem toont de naam van het molecuul en de definitie en stelt de gebruiker in de gelegenheid wijzigingen in de definitie aan te brengen.
  5. De gebruiker wijzigt een of meer elementen.
  6. Het systeem toont de wijzigingen.
  7. De gebruiker geeft opdracht het molecuul op te slaan.
  8. Het systeem slaat het molecuul met de vernieuwde definitie op en meldt dat de wijziging doorgevoerd is.

II (vanaf BCoE stap 3)

  1. De gebruiker kiest om een molecuul te verwijderen.
  2. De gebruiker kiest een molecuul uit de molecuullijst.
  3. Het systeem geeft de gebruiker de mogelijkheid een molecuul te kiezen uit de molecuullijst.
  4. Het systeem toont de naam van het molecuul en de definitie en vraagt de gebruiker te bevestigen dat dit molecuul verwijderd dient te worden.
  5. De gebruiker geeft opdracht het molecuul te verwijderen.
  6. Het systeem verwijdert het molecuul en meld dat de verwijdering doorgevoerd is.

Exception paths

(geen)

Extension points

(geen)

Triggers

De gebruiker start molecuulbeheer.

Assumptions

  1. Het systeem is op de hoogte van de identiteit (identificatienummer, naam) en type (student, docent of beheerder) van de gebruiker.

Preconditions

(geen)

Postconditions

  1. Er is:
    • oftewel een nieuw molecuul toegevoegd aan de molecuullijst;
    • oftewel een al bestaand molecuul opgeslagen met vernieuwde definities;
    • of een molecuul verwijderd uit de molecuullijst.

Related Business rules

  1. Alleen docenten en beheerders hebben toegang tot molecuulbeheer.

Informatiestructuur molecuulbeheer

2) Gebruikers beheer

Use Case: Gebruikers beheer
Summary Deze use case beschrijft hoe gebruikers gegevens van zichzelf of andere gebruikers onder bepaalde voorwaarden kunnen toevoegen, wijzigen of verwijderen.
Iteration Filled
Basic Course of Events
  1. De gebruiker start gebruikersbeheer.
  2. Het systeem geeft de gebruiker de keuze om:
    • een gebruiker toe te voegen
    • de gegevens van een bestaande gebruiker te wijzigen
    • een bestaande gebruiker uit de gebruikerslijst te verwijderen.
  3. De gebruiker kiest om de gegevens van een bestaande gebruiker te wijzigen.
  4. Het systeem geeft de gebruiker de mogelijkheid een te bewerken gebruiker te selecteren uit de lijst van gebruikers die deze gebruiker mag wijzigen.
  5. De gebruiker selecteert de gebruiker die hij/zij wil wijzigen (dit kan ook zichzelf zijn).
  6. Het systeem toont de gegevens van de gebruiker die hij/zij heeft geselecteerd:
    • studentnummer
    • naam
    • gebruikersnaam
    • wachtwoord
    • type (student, docent, beheerder)
    • groep
  7. De gebruiker wijzigt de gegevens die hij/zij wil wijzigen (type en groep kunnen niet gewijzigd worden).
  8. De gebruiker geeft aan klaar te zijn met het wijzigen van gegevens.
  9. Het systeem vervangt de bestaande gebruikersgegevens door de vernieuwde gegevens en geeft aan dat de wijziging is doorgevoerd.
Alternate Paths

I (bij stap 2 uit de BCoE):

  1. Indien de gebruiker een student is, mag deze gebruiker alleen zijn eigen gegevens aanpassen, dus krijgt hij/zij ook niet de mogelijkheid om te kiezen voor toevoegen of verwijderen en krijgt hij/zij niet de mogelijkheid om gebruiker te kiezen; de gebruiker zelf wordt automatisch geselecteerd.
  2. De use-case hervat bij stap 5.

II (bij stap 3 uit de BCoE):

  1. De gebruiker kiest om een nieuwe gebruiker toe te voegen.
  2. Het systeem geeft een formulier weer waar de gegevens ingevoerd moeten worden voor de nieuwe gebruiker.
  3. De gebruiker voert de volgende gegevens in in het systeem:
    • studentnummer
    • naam
    • gebruikersnaam
    • wachtwoord
    • type (student, docent, beheerder)
    • groep
  4. De gebruiker geeft aan dat deze gebruiker kan worden toegevoegd aan het systeem.
  5. Het systeem voegt de gebruiker toe en meldt dat de toevoeging doorgevoerd is.

III (bij stap 3 uit de BCoE):

  1. De gebruiker kiest om een bestaande gebruiker te verwijderen.
  2. Het systeem geeft de gebruiker de mogelijkheid een te verwijderen gebruiker te selecteren uit de lijst van gebruikers die deze gebruiker mag wijzigen.
  3. De gebruiker selecteert de gebruiker die hij/zij wil verwijderen.
  4. Het systeem toont de gegevens van de geselecteerde gebruiker en vraagt of de gebruiker zeker weet dat het geselecteerde verwijderd moet worden.
  5. De gebruiker geeft aan de geselecteerde gebruiker te willen verwijderen uit de gebruikerslijst.
  6. Het systeem verwijdert de geselecteerde gebruiker en geeft aan de de verwijdering doorgevoerd is.
Exception Paths (geen)
Extension Points (geen)
Triggers De gebruiker start gebruikersbeheer.
Assumptions
  1. Het systeem is op de hoogte van de identiteit (identificatienummer, naam) en type (student, docent of beheerder) van de gebruiker.
Preconditions (geen)
Postconditions
  1. Er is:
    • oftewel een verandering aangebracht in de gegevens van een al bestaande gebruiker;
    • oftewel een nieuwe gebruiker toegevoegd aan de gebruikerslijst;
    • of een bestaande gebruiker verwijderd uit de gebruikerslijst.
Related business rules
  1. Een student mag geen gebruikers toevoegen of wijzigen.
  2. Een student mag alleen zijn/haar eigen gegevens wijzigen.
  3. Een docent man geen docenten of beheerders toevoegen.
  4. Een docent mag geen docenten of beheerders verwijderen.
  5. Als een gebruiker eenmaal is aangemaakt, kan het type en de groep van deze gebruiker niet meer gewijzigd worden.
  6. Een beheerder mag geen beheerders verwijderen.

informatiestructuur gebruikersbeheer

3) Gegevens beheer

Use Case: Gegevensbeheer
Summary In deze use-case kan de gebruiker gegevens die voor hem/haar beschikbaar zijn (monsters, FID’s, spectra), selecteren en eventueel de rechten die daarop van toepassing zijn aanpassen.
Iteration Filled
Basic Course of Events
  1. De gebruiker start gegevensbeheer
  2. Het systeem toont de gebruiker een lijst van monsters, FID's en Spectra:
  3. De gebruiker kiest een monster
  4. Het systeem geeft de gebruiker de keuze tussen
    • distribueren
    • wijzigen
  5. De gebruiker kiest voor distribueren
  6. De gebruiker kiest een aantal gebruikers uit een lijst
  7. De gebruiker kiest de instellingen waarmee het monster gedistribueerd wordt
  8. Het systeem distribueert het monster aan de gekozen gebruikers
Alternate Paths I (bij stap 5 uit de BCoE)
  1. De gebruiker kiest wijzigen
  2. Het systeem toont de rechten m.b.t het monster
  3. De gebruiker past rechten aan een geeft aan klaar te zijn.
  4. Het systeem slaat gewijzigde rechten op
Exception Paths (geen)
Extension Points (geen)
Triggers De gebruiker start gegevensbeheer.
Assumptions
  1. Het systeem is op de hoogte van de identiteit (identificatienummer, naam) en type (student, docent of beheerder) van de gebruiker.
Preconditions (geen)
Postconditions
Related business rules


Informatiestructuur gegevensbeheer

4) Monster beheer

Use Case: Monsterbeheer
Summary Deze usecase bied de gebruikers de mogelijkheid om nieuwe monsters samen te stellen en toe te voegen aan de monsterlijst, om bestaande monsters te wijzigen of te verwijderen en om monsters te distribueren.
Iteration Filled
Basic Course of Events
  1. De gebruiker start monsterbeheer.
  2. Het systeem geeft de gebruiker de keuze om:
    • Een nieuw monster toe te voegen
    • Een bestaand monster te wijzigen
    • Een bestaand monster te verwijderen
    • Een monster te distribueren.
  3. De gebruiker kiest ervoor een bestaand monster te wijzigen.
  4. Het systeem geeft de gebruiker de mogelijkheid een monster te kiezen uit de lijst van monsters waar de gebruiker toegang toe heeft.
  5. De gebruiker kiest een monster uit de lijst van monsters.
  6. Het systeem toont de huidige gegevens van het geselecteerde monster:
    • Monsternaam
    • Publiek/niet publiek
    • Gesloten/niet gesloten
    • Oplosmiddel
    • Moleculen
    • Concentraties van de moleculen
  7. De gebruiker wijzigt de gegevens die hij/zij wil wijzigen.
  8. De gebruiker geeft aan klaar te zijn met het wijzigen van gegevens.
  9. Het systeem vervangt de huidige gegevens van het monster door de nieuwe gegevens en meldt dat de wijzigingen zijn doorgevoerd.

Alternate paths

I (vanaf BCoE stap 3)

  1. De gebruiker kiest ervoor een nieuw monster toe te voegen.
  2. Het systeem geeft de gebruiker de mogelijkheid waardes in te voeren voor:
    • Monsternaam
    • Publiek/niet publiek
    • Gesloten/niet gesloten
    • Oplosmiddel
    • Moleculen
    • Concentraties van de moleculen
  3. De gebruiker voert waardes in voor deze gegevens.
  4. De gebruiker geeft aan klaar te zijn met het invoeren van gegevens.
  5. Het systeem voegt het nieuwe monster toe aan de monsterlijst en geeft aan dat de toevoeging is doorgevoerd.

II (vanaf BCoE stap 3)

  1. De gebruiker kiest kiest ervoor een bestaand monster te verwijderen.
  2. Het systeem geeft de gebruiker de mogelijkheid een monster te kiezen uit de lijst van monsters waar de gebruiker toegang toe heeft.
  3. De gebruiker kiest een monster uit de lijst van monsters.
  4. Het systeem toont de huidige gegevens van het geselecteerde monster en vraagt of de gebruiker zeker weet dat het geselecteerde verwijderd moet worden.
  5. De gebruiker geeft aan het geselecteerde te willen verwijderen uit de monsterlijst.
  6. Het systeem verwijdert het geselecteerde monster en geeft aan dat de verwijdering doorgevoerd is.

III (vanaf BCoE stap 3)

  1. De docent kiest ervoor een monster te distribueren.
  2. Het systeem geeft de gebruiker de mogelijkheid een monster te kiezen uit de lijst van monsters waar de gebruiker toegang toe heeft.
  3. De gebruiker kiest een monster uit de lijst van monsters.
  4. Het systeem toont de huidige gegevens van het geselecteerde monster.
  5. Het systeem geeft de gebruiker de mogelijkheid gebruikers te selecteren uit de lijst van gebruikers waar de gebruiker monsters aan toe mag wijzen.
  6. De docent kiest de gebruikers aan wie het geselecteerde monster gedistribueerd moet worden.
  7. Het systeem geeft de gebruiker de mogelijkheid om voor elke geselecteerde gebruiker aan te geven onder welke naam het geselecteerde monster moet worden toegewezen.
  8. De docent geeft aan klaar te zijn met invoeren van gegevens.
  9. Het systeem plaatst het monster in de mappen van de personen die voor de distributie geselecteerd waren en geeft aan dat de distributie doorgevoerd is.

Exception paths

(geen)

Extension points

(geen)

Triggers

De gebruiker start monsterbeheer.

Assumptions

  1. Het systeem is op de hoogte van de identiteit (identificatienummer, naam) en type (student, docent of beheerder) van de gebruiker.

Preconditions

(geen)

Postconditions

  1. Er is:
    • oftewel een vernieuwde set gegevens opgeslagen voor een bestaand monster;
    • oftewel een nieuw monster toegevoegd aan de monsterlijst;
    • oftewel een bestaand monster verwijderd uit de monsterlijst;
    • of een monster gedistribueerd onder een aantal gebruikers.

Related business rules

  1. Alleen docenten en beheerders mogen monsters als publiek opslaan
  2. Alleen docenten en beheerders mogen monsters die publiek zijn wijzigen of verwijderen
  3. Een gebruiker heeft alleen toegang tot de monsters in zijn monsterbibliotheek
  4. In de monsterbibliotheek van een gebruiker zitten alleen zijn eigen monsters en de publieke monsters
  5. Een gesloten monster kan alleen ingezien worden door de auteur

Informatiestructuur monsterbeheer

5) FID verkrijgen

Use Case: FID verkrijgen
Summary In deze use-case wordt door de gebruiker een meting beschreven aan de hand van enkele parameters, waarna deze meting wordt uitgevoerd.
Iteration Filled
Basic Course of Events
  1. De gebruiker start FID-aquisitie.
  2. Het systeem geeft de gebruiker de mogelijkheid de volgende parameters in te vullen:
  • pulse width (pw)
  • transmitter power (tpwr)
  • duration 1 (d1)
  • spectral width (sw)
  • number of points (np)
  • transmitter offset (tof)
  • number of transients (nt) – default waarde 1
  • gain – default waarde 1
  1. De gebruiker vult waardes in voor de parameters.
  2. De gebruiker geeft aan klaar te zijn met het invullen van parameterwaardes.
  3. Het systeem geeft aan bezig te zijn met de meting.
  4. Het systeem geeft aan klaar te zijn met de meting en toont het FID-signaal behorende bij de door de gebruiker bij stap 2 ingegeven parameterwaardes.
Alternate Paths I (bij stap 2 uit de BCoE)
  1. Indien de gebruiker geen student is, wordt aan de parameterlijst een extra optie toegevoegd: de gebruiker kan aangeven of hij/zij wel of niet de gebruikelijke wachttijd wil doorlopen die hoort bij de uit te voeren meting.
  2. De use-case gaat verder bij stap 2 uit de BCoE.
Exception Paths I (bij stap 6 uit de BCoE)
  1. De gebruiker heeft niet genoeg tegoed om de meting uit te voeren.
  2. Het systeem geeft de gebruiker een passende melding, waarna de use-case beeindigd wordt.
Extension Points (geen)
Triggers De gebruiker start FID-aquisitie.
Assumptions
  1. Het systeem is op de hoogte van de identiteit (identificatienummer, naam) en type (student, docent of beheerder) van de gebruiker.
Preconditions
  1. Er is een monster geselecteerd.
Postconditions
  1. Er is een FID-signaal toegevoegd aan de gegevens van de gebruiker.
  2. De tijdens de use-case ingevoerde parameterwaardes zijn vastgelegd in de geschiedenis van de gebruiker.
Related business rules
  1. Voor het doen van een meting (de tijd tussen stap 5 en 6 in de basic course of events van de use-case FID verkrijgen) wordt standaard een hoeveelheid tijd genomen die overeenkomt met de tijd die deze meting in werkelijkheid zou kosten.
  2. Een gebruiker die geen student is, kan de wachttijd die volgens regel 1 is verbonden aan een meting overslaan.
  3. Het doen van een meting kost een bepaald bedrag; dit bedrag wordt bij het doen van de meting afgetrokken van het tegoed van de gebruiker die de meting doet.

FID aquisitie

6) DFT uitvoeren

Use Case: DFT uitvoeren
Summary In deze use-case wordt door de gebruiker een discrete Fourier transformatie beschreven, die daarna wordt uitgevoerd. Voorafgaand aan de DFT kan de gebruiker ook een exponentiele multiplicatie beschrijven, die dan eerst wordt uitgevoerd.
Iteration Filled
Basic Course of Events
  1. De gebruiker geeft aan een discrete Fourier transformatie uit te willen voeren.
  2. Het systeem geeft de gebruiker de mogelijkheid een waarde in te voeren voor de parameter fn.
  3. De gebruiker geeft een waarde op voor fn.
  4. Het systeem controleert dat voor fn een geldige waarde is ingevuld.
  5. Het systeem geeft aan bezig te zijn met de transformatie.
  6. Het systeem geeft aan klaar te zijn met de transformatie en toont het spectrum behorende bij het geselecteerde FID-signaal en de door de gebruiker bij stap 2 ingegeven parameterwaardes.
Alternate Paths I (bij stap 1 uit de BCoE)
  1. De gebruiker geeft aan exponentiële multiplicatie uit te willen voeren.
  2. Het systeem geeft de gebruiker de mogelijkheid een waarde in te voeren voor de parameter lb.
  3. De gebruiker geeft een waarde op voor lb.
  4. Het systeem controleert dat voor lb een geldige waarde is ingevuld.
  5. Het systeem voert de exponentiële multiplicatie uit en geeft aan dit gedaan te hebben.
  6. De gebruiker geeft aan een discrete Fourier transformatie uit te willen voeren.
  7. De use-case gaat verder bij stap 2.
Exception Paths (geen)
Extension Points (geen)
Triggers De gebruiker start het uitvoeren van een DFT.
Assumptions
  1. Het systeem is op de hoogte van de identiteit (identificatienummer, naam) en type (student, docent of beheerder) van de gebruiker.
Preconditions
  1. Er is een FID geselecteerd.
Postconditions
  1. Er is een FID-signaal toegevoegd aan de gegevens van de gebruiker, zoals verkregen door het uitvoeren van een exponentiele multiplicatie op de FID die was geselecteerd voorafgaand aan de use-case.
  2. Er is een spectrum toegevoegd aan de gegevens van de gebruiker. Hierbij is aangegeven bij welk FID-signaal het spectrum hoort.
  3. De tijdens de use-case ingevoerde parameterwaardes zijn vastgelegd in de geschiedenis van de gebruiker.
Related business rules (geen)

ORMDFT.jpg

7) Analyse

Use Case: Analyse
Summary In deze use-case wordt de visuele weergave van een spectrum en/of FID visueel gemanipuleerd om het beter te kunnen analyseren.
Iteration Filled
Basic Course of Events
  1. De gebruiker geeft aan de verticale schaal van het geselecteerde spectrum te willen aanpassen aan de hand van de parameter vs.
  2. Het systeem geeft de gebruiker de mogelijkheid een waarde in te geven voor de parameter in kwestie.
  3. De gebruiker geeft een waarde op voor de parameter.
  4. Het systeem controleert dat er een geldige waarde is ingevoerd voor de parameter.
  5. Het systeem geeft aan dat de waardeverandering van de parameter in kwestie is doorgevoerd.
Alternate Paths I (bij stap 1 uit de BCoE)
  1. De gebruiker geeft aan de verticale schaal van de geselecteerde FID te willen aanpassen aan de hand van de parameter vf.
  2. De use-case hervat bij stap 2.

II (bij stap 1 uit de BCoE)

  1. De gebruiker geeft aan de eenheidsmaat van de horizontale as van het geselecteerde spectrum te willen aanpassen aan de hand van de parameter axis.
  2. De use-case hervat bij stap 2.

III (bij stap 1 uit de BCoE)

  1. De gebruiker geeft aan de verticale schaal van het geselecteerde spectrum te willen resetten, zodat het gehele spectrum in het venster past.
  2. Het systeem reset de verticale schaal en geeft aan dit gedaan te hebben.

IV (bij stap 1 uit de BCoE)

  1. De gebruiker geeft aan de visuele weergave van het geselecteerde spectrum te willen vernieuwen.
  2. Het systeem toont de visuele weergave van het geselecteerde spectrum aan de hand van de huidige parameterwaardes.

V (bij stap 1 uit de BCoE)

  1. De gebruiker geeft aan de visuele weergave van de geselecteerde FID te willen vernieuwen.
  2. Het systeem toont de visuele weergave van de geselecteerde FID aan de hand van de huidige parameterwaardes.

VI (bij stap 4 uit de BCoE)

  1. Het systeem merkt dat de gebruiker geen (geldige) waarde voor de parameter heeft ingevoerd.
  2. Het systeem geeft de gebruiker een passende melding, waarbij de gebruiker om bevestiging gevraagd wordt.
  3. De gebruiker geeft aan de melding te hebben gelezen.
  4. Het systeem geeft de gebruiker nogmaals de mogelijkheid een waarde in te geven voor de parameter in kwestie.
  5. De use-case hervat bij stap 3.
Exception Paths (geen)
Extension Points (geen)
Triggers De gebruiker start analyse.
Assumptions
  1. Het systeem is op de hoogte van de identiteit (identificatienummer, naam) en type (student, docent of beheerder) van de gebruiker.
Preconditions
  1. Een FID en een spectrum zijn geselecteerd.
Postconditions
  1. De tijdens de use-case door de gebruiker ingevoerde data zijn vastgelegd in de geschiedenis van de gebruiker.
Related business rules (geen)

Analyse.jpg


Scenarios

Individual scenarios

1) Moleculen beheer

BCoE

Meneer Jansen start molecuulbeheer. het systeem geeft het openingsscherm van molecuulbeheer weer. Meneer Jansen kiest er voor om een molecuul toe te voegen. Het systeem laat een scherm zien waarop alle parameters te zien zijn die behoren tot een molecuuldefinitie. Meneer Jansen vult een naam in en alle parameters die tot de molecuuldefinitie behoren en geeft aan dat het molecuul klaar is. Het systeem slaat de molecuul definitie op en laat dat ook aan meneer Jansen weten.

Altpath I

Meneer Jansen start molecuulbeheer. het systeem geeft het openingsscherm van molecuulbeheer weer. Meneer Jansen selecteert een molecuul uit de molecuulbibliotheek. Het systeem toont de molecuuldefinitie en de naam van het molecuul. Meneer Jansen wijzigt nul of meer van de parameters en geeft aan klaar te zijn. Het systeem slaat het gewijzigde molecuul op en meld dat aan meneer Jansen

Altpath II

Meneer Jansen start molecuulbeheer. Het systeem geeft het openingsscherm van molecuulbeheer weer. Meneer Jansen selecteert een molecuul uit de molecuulbibliotheek. Het systeem toont de molecuuldefinitie en de naam van het molecuul. Meneer Jansen kiest er voor om een molecuul te verwijderen. Het systeem verwijdert het betreffende molecuul en meld dat aan meneer Jansen.

2) Gebruikers beheer

Altpath II

Meneer Jansen geeft aan een gebruiker te willen toevoegen. Het systeem toont een formulier waar de gegevens van de nieuwe gebruiker kunnnen worden toegevoegd. Meneer Jansen voegt de gegevens van de nieuwe gebruiker in (studentnummer: s0719781, naam: Roy de Vries, gebruikersnaam: roydevries, wachtwoord: wachtwoord, type: student, groep: SPEC_01). Meneer Jansen kiest voor toevoegen om de gebruiker toe te voegen aan het systeem. Het systeem laat meneer Jansen weten dat het gelukt is.

BCoE

Peter geeft aan een gebruiker te willen wijzigen. Het systeem ziet dat Peter van het type student is en hij kan alleen zijn eigen gegevens wijzigen. Het systeem toont Peter een formulier met zijn gegevens. Peter kan zijn gegevens wijzigen. Peter past de typefout aan in zijn naam en geeft aan dat de gegevens gewijzigd mogen worden. Het systeem wijzigt de gegevens van Peter en laat zien dat het gelukt is.

Altpath III

Meneer Kersten geeft aan een gebruiker te willen verwijderen. Het systeem geeft een overzicht van de gebruikers in het systeem. De beheerders zijn niet te verwijderen. Meneer Kersten selecteert Peter en kiest voor verwijderen. Het systeem vraagt of deze student en alle gegevens verwijderd moeten worden. Meneer Kersten geeft aan dat hij het zeker weet.

3) Gegevens beheer

4) Monster beheer

BCoE

Meneer Jansen start monsterbeheer. Het systeem geeft meneer Jansen gelegenheid om een monster te zoeken in de monsterbibliotheek en geeft meneer Jansen verder de keuze uit vier mogelijkheden (voeg monster toe, sla monster op, verwijder monster, distribueer monster). Meneer Jansen geeft opdracht om een nieuw monster toe te voegen. Het systeem vraagt om een aantal gegevens mbt het monster in te voeren (monsternaam, publiek of niet publiek, gesloten of niet gesloten) en geeft de mogelijkheid te zoeken in de molecuulbibliotheek. Meneer Jansen voert beslist dat het een publiek monster is en geeft het monster de naam monster_1. Meneer Jansen zoekt een molecuul. Meneer Jansen voegt het geselecteerde molecuul in een bepaalde hoeveelheid toe aan aan het monster. Meneer Jansen bepaald of het molecuul als oplosmiddel functioneert in het monster. Meneer Jansen kiest nog een molecuul en voegt het in een bepaalde hoeveelheid toe aan het monster. Meneer Jansen geeft opdracht het monster op te slaan. Het systeem slaat het monster op.

Altpath I

Meneer Jansen start monsterbeheer. Het systeem geeft meneer Jansen gelegenheid om een monster te zoeken in de monsterbibliotheek en geeft meneer Jansen verder de keuze uit vier mogelijkheden (voeg monster toe, sla monster op, verwijder monster, distribueer monster. Meneer Jansen kiest monster_3 uit de monsterbibliotheek. Het systeem toont de naam van het monster (monster_3), dat het monster publiek is en dat het monster open is. Het systeem laat zien dat het monster bestaat uit drie moleculen en dat er van ieder 3 mol in de oplossing zit. Meneer Jansen verwijdert een van de drie moleculen. Meneer Jansen geeft opdracht het monster op te slaan. Het systeem slaat het monster op.

Altpath II

Meneer Jansen start monsterbeheer. Het systeem geeft meneer Jansen gelegenheid om een monster te zoeken in de monsterbibliotheek en geeft meneer Jansen verder de keuze uit vier mogelijkheden (voeg monster toe, sla monster op, verwijder monster, distribueer monster. Meneer Jansen kiest monster_5 uit de monsterbibliotheek. Het systeem toont de naam van het monster (monster_5), dat het monster publiek is en dat het monster open is. Het systeem laat zien dat het monster bestaat uit twee moleculen en dat er van ieder 3 mol in de oplossing zit. Meneer Jansen geeft opdracht het monster te verwijderen. Het systeem verwijdert het monster.

Altpath III

Meneer Jansen start monsterbeheer. Het systeem geeft meneer Jansen gelegenheid om een monster te zoeken in de monsterbibliotheek en geeft meneer Jansen verder de keuze uit vier mogelijkheden (voeg monster toe, sla monster op, verwijder monster, distribueer monster. Meneer Jansen kiest monster_28 uit de monsterbibliotheek. Het systeem toont de naam van het monster (monster_5), dat het monster publiek is en dat het monster open is. Het systeem laat zien dat het monster bestaat uit twee moleculen en dat er van ieder 8 mol in de oplossing zit. Meneer Jansen kiest voor het distribueren van het monster. Het systeem bied meneer Jansen de mogelijkheid om gebruikers te selecteren en een naam op te geven voor het monster en of het monster open of gesloten is. Meneer Jansen selecteert gebruikers met nummer 12, 18, 200, 455 en 3. Meneer Jansen geeft aan dat het monster gedistribueerd moet worden onder de naam "monster voor opdracht 1" en dat het een gesloten monster is. Meneer Jansen geeft opdracht de distributie uit te voeren. Het systeem slaat het monster op in de map van de gebruikers 12, 18, 200, 455 en 3.

5) FID verkrijgen

BCoE

Peter geeft aan een meting te willen doen met het geselecteerde monster. Het systeem vraagt Peter waardes in te vullen voor pw, tpwr, d1, sw, np, tof, nt en gain. Peter geeft de waardes 5.0, 60, 4.0, 5, 6, 2.0, 0 resp. 6.0 in. Het systeem geeft aan bezig te zijn met de meting en geeft wacht daarna 0.6 seconden . Het systeem toont de visuele weergave van de gemeten FID.

Altpath I

Meneer Jansen geeft aan een meting te willen doen met het geselecteerde monster. Het systeem vraagt meneer Jansen waardes in te vullen voor pw, tpwr, d1, sw, np, tof, nt en gain. Meneer Jansen geeft de waardes 5.0, 60, 4.0, 5, 6, 2.0, 0 resp. 3.5 in. Omdat meneer Jansen een gebruiker van het type docent is, vraagt het systeem of de standaardaquisitietijd aangehouden moet worden. Meneer Jansen geeft aan dit inderdaad te willen. Het systeem geeft aan bezig te zijn met de meting en geeft vlak daarna aan klaar te zijn met de meting. Het systeem toont de visuele weergave van de gemeten FID.

6) DFT uitvoeren

BCoE

Peter geeft aan een DFT te willen uitvoeren. Het systeem vraagt de gebruiker een waarde in te voeren voor fn. De GEBRUIKER geeft de waarde ‘12’ in. Het systeem geeft aan de DFT te hebben uitgevoerd en toont de visuele weergave van het berekende spectrum.

Altpath I

Peter geeft aan exponentiële multiplicatie uit te willen voeren op de geselecteerde FID. Het systeem vraagt de gebruiker om een waarde voor lb. Peter geeft de waarde ‘1’ in. Het systeem laat Peter weten dat de exponentiële multiplicatie goed is verlopen. Peter geeft aan deen DFT uit te willen voeren op de nieuwe FID. Het systeem vraagt Peter om een waarde voor fn. Peter geeft de waarde ‘10’ in. Het systeem geeft aan de DFT te hebben uitgevoerd en toont de visuele weergave van het berekende spectrum.

7) Visuele weergaven manipuleren

BCoE

Peter geeft aan de verticale schaal van het spectrum aan te willen passen. Het systeem vraagt Peter een waarde in te geven. Peter geeft de waarde ‘2’ in. Het systeem voert de verandering door en geeft Peter daar een bevestiging van.

Altpath I

Pter geeft aan de verticale schaal van de FID aan te willen passen. Het systeem vraagt Peter een waarde in te geven. Peter geeft de waarde ‘5’ in. Het systeem voert de verandering door en geeft Peter daar een bevestiging van.

Altpath II

Peter geeft aan horizontale eenheidsmaat van het spectrum aan te willen passen. Het systeem vraagt Peter een waarde in te geven. Peter geeft de waarde ‘ppm’ in. Het systeem voert de verandering door en geeft Peter daar een bevestiging van.

Altpath V

Peter geeft aan de de visuele weergave van het/de spectrum/FID te willen vernieuwen. Het systeem toont de visuele weergave van het/de spectrum/FID aan de hand van de huidige parameterwaardes.

Integrated Domainmodel

Totaal.jpg

Non-functional Requirements

# Categorie Requirement Uitzonderingen Bron Bevestigd?
01 Beschikbaarheid Het systeem dient beschikbaar te zijn van 06:00 uur tot 00:00 uur . Op het moment dat er onderhoud gepland staat.
02 Kosten De aanschaf van het systeem dient aanzienlijk (prijs toevoegen) goedkoper te zijn dan een "echte" spectroscoop. Geen
03 Kosten Het operatief houden van het systeem dient aanzienlijk (prijs toevoegen) goedkoper te zijn dan de "echte" spectroscoop. Geen
04 Opslag Gegevens van het systeem dienen iedere nacht te worden gekopieerd naar een andere fysieke locatie. Geen
05 Prestaties Er moeten 100 gebruikers tegelijkertijd kunnen werken zonder prestatieproblemen. Geen
06 Toegankelijkheid Het systeem moet gebruikt kunnen worden op de volgende platformen; Microsoft Windows, Mac OS X en Linux met alle bestaande internet clients voor deze platformen. Geen
07 Toegankelijkheid Gebruikers moeten met de gegeven theorie het systeem kunnen bedienen. Geen

Addendum

Business Rules Catalogue

# Business rule Semi-formalisatie
01 Alleen docenten en beheerders mogen monsters als publiek opslaan. IFF gebruiker is docent OR gebruiker is beheerder THEN
gebruiker mag monster publiek maken
02 Alleen docenten en beheerders mogen monsters die publiek zijn wijzigen of verwijderen.

IF monster is publiek THEN

IFF gebruiker is docent OR gebruiker is beheerder THEN
gebruiker mag monster wijzigen AND
gebruiker mag monster verwijderen
03 Een gebruiker heeft alleen toegang tot de monsters in zijn eigen monsterbibliotheek.

IFF monster zit in monsterbibliotheek van gebruiker THEN

gebruiker mag monster inzien
04 In de monsterbibliotheek van een gebruiker zitten alleen zijn eigen monsters en de publieke monsters.

IFF monster is van gebruiker OR monster is publiek THEN

monster zit in monsterbibliotheek van gebruiker
05 Een gesloten monster kan alleen ingezien worden door de auteur.

IF monster is gesloten THEN

IFF gebruiker is auteur van monster THEN
gebruiker mag monster inzien
(deze volgt uit de vorige twee)
06 Voor het doen van een meting door een student (de tijd tussen stap 5 en 6 in de basic course of events van de use-case FID verkrijgen) wordt een hoeveelheid tijd genomen die overeenkomt met de tijd die deze meting in werkelijkheid zou kosten (deze is te berekenen als 0.5 np / sw).

IF gebruiker is student THEN

aquisitietijd staat vast AND aquisitietijd = 0.5 np / sw
07 Een gebruiker die geen student is, kan de wachttijd die is verbonden aan een meting aanpassen.

IF gebruiker is docent OR gebruiker is beheerder THEN

gebruiker mag aquisitietijd aanpassen
08 Als een meting wordt gedaan door een student wordt het bedrag dat deze meting kost afgetrokken van het tegoed van de student die de meting doet.

IF student doet meting THEN

tegoed van student -= bedrag dat meting kost
09 Een student mag geen meting doen die een groter bedrag kost dan het tegoed van de student bevat.

IF bedrag dat meting kost > bedrag dat tegoed van student bevat THEN

student mag meting niet uitvoeren

Terminological Definitions

# Term Definitie
01 Aantal chemisch onequivalente protongroepen
02 Aantal protonen per groep
03 At (aquisitietijd) Parameter bij de FID-aquisitie die aangeeft hoeveel tijd het kost om de meting in kwestie te doen.
04 Axis Parameter die de eenheidsmaat van de horizontale as van de visuele weergave van een spectrum bijhoudt; deze kan de waardes Hz en ppm aannemen.
05 Beheerder Type gebruiker dat toegang heeft tot alle functionaliteiten van het systeem.
06 Chemische verschuiving
07 D1 (duration 1) Parameter bij de FID-aquisitie: Duur van voorbereiding periode (in seconden). Typische waarde 1 – 3 seconden.
08 Discrete Fourier transformatie (DFT) Een wiskundige transformatie die een golf omzet in de set van frequenties en sterkte van die frequenties waaruit het originele signaal is opgebouwd.
09 Docent Type gebruiker dat toegang heeft tot bijna alle functionaliteiten van het systeem, maar geen gebruikersgegevens mag verwijderen.
10 Exponentiele multiplicatie Een wiskundige transformatie waarbij een signaal wordt vermenigvuldigd met een exponentiele functie; wanneer deze transformatie wordt toegepast op een FID alvorens een DFT uit te voeren levert dit doorgaans een beter spectrum op.
11 FID Het (geluids-)signaal dat wordt verkregen bij een meting met een NMR-spectrometer
12 Fn Aantal punten van FID voor fourier transformatie (geen dimensie).
13 Gain Parameter bij de FID-aquisitie: Typische waarde: 20 – 40; bij hoge concentraties moet vaak een veel lagere gain (0) gebruikt worden.
14 Gebruiker Persoon die toegang heeft tot het systeem; deze wordt geidentificeerd door een uniek nummer.
15 Gesloten Eigenschap van een monster die aangeeft dat het monster alleen kan worden ingezien, veranderd en verwijderd door de maker ervan.
16 Lb Parameter bij exponentiele multiplicatie: Afnameconstante van de exponentiele functie.
17 Mol Eenheid voor een hoeveelheid stof. 1 mol van een stof duid 6,02214 x 1023 deeltjes van die stof aan.
18 Molecuul Datastructuur die een molecuulsoort representeerd aan de hand van enkele waardes.
19 Molecuulbibliotheek verzameling moleculen waarin gezocht kan worden
20 Monster oplossing van een aantal stoffen in een oplosmiddel die gebruikt wordt om een meting op uit te voeren
21 Monsterbibliotheek verzameling monsters waarin gezocht kan worden
22 Np (number of points) Parameter bij de FID-aquisitie: Aantal gemeten punten van de FID.
23 Nt (number of transients) Parameter bij de FID-aquisitie: Aantal scans te meten.
24 Publiek Eigenschap van een monster die aangeeft dat het monster door iedereen kan worden ingezien en door alle docenten en beheerders kan worden veranderd en verwijderd.
25 Pw (pulse width) Parameter bij de FID-aquisitie: Duur van RF straling periode (in microseconden). Typische waarde voor een 90 graden puls: 6-10 microseconden bij de hoogste toegestane stralingsintensitieit.
26 Samenstelling moleculen die in een monster zitten en de hoeveelheden waarmee die moleculen in dat monster zitten
27 Scalaire koppeling
28 Spectrum Het signaal dat bij een DFT wordt berekend; dit bestaat uit een set van frequenties en de sterkte van die frequenties in het signaal waar het spectrum bij hoort.
29 Spin-lattice relaxatietijd
30 Spin-spin relaxatietijd
31 Student Type gebruiker dat beperkte toegang heeft tot de functionaliteiten van het systeem; een student kan bijv. alleen zijn eigen gegevens bewerken, geen acties ondernemen die vallen onder molecuulbeheer etc.
32 Sw (spectral width) Parameter bij de FID-aquisitie: Spectrale Breedte (in Hz). Typische waarde voor protonen: 10 ppm.
33 Tof (transmitter offset) Parameter bij de FID-aquisitie: Centrum van het spectrum (in Hz). Default waarde van tof is 0.0.
34 Tpwr (transmitter power) Parameter bij de FID-aquisitie: Intensiteit van de RF straling (geen dimensie) Typische waarde is: 60 (de hoogste toegestane intensiteit). Laagste intensiteit komt overeen met tpwr=0.
35 Vf Parameter die de waarde van de verticale schaal van de visuele weergave van een FID bijhoudt.
36 Vs Parameter die de waarde van de verticale schaal van de visuele weergave van een spectrum bijhoudt.