reopdracht2

3

Click here to load reader

Upload: charles-gray

Post on 26-May-2017

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: REOpdracht2

Opdracht 2 Requirements Engineering

Tom Groentjes, Leiden University

11 april 2013

1 Introduction

In deze opdracht gaan jullie leren programeren in een formal specification lan-guage. Hiervoor gaan jullie en speciale Eclipse distributie gebruiken die hierspeciaal voor gemaakt is. Deze software is te vinden op: http://sourceforge.net/projects/overture/files/.

2 Requirements

In deze taal is het de bedoeling dat jullie de volgende 16 requirements im-plementeren:

R1. A computer-based system is to be developed to manage the alarms ofthis plant.

R2. Four kinds of qualications are needed to cope with the alarms: electrical,mechanical, biological, and chemical.

R3. There must be experts on duty during all periods allocated in the sys-tem.

R4. Each expert can have a list of qualications.

R5. Each alarm reported to the system has a qualication associated withit along with a description of the alarm that can be understood by theexpert.

1

Page 2: REOpdracht2

R6. Whenever an alarm is received by the system an expert with the rightqualication should be found so that he or she can be paged.

R7. The experts should be able to use the system database to check whenthey will be on duty.

R8. It must be possible to assess the number of experts on duty.

R9. Please introduce another expert: The Requirements Engineer.

R10. Some experts are interested in becoming an expert in one other areaas well. If they are, they should be paged also.

R11. There is a new alarm class ¡Meltdown¿ that is basically a call to allavailable experts.

R12. If an expert has more than two expertises, she is more expensive topage. These experts should only be paged when no other experts areavailable. In case of a Meltdown, these should be called first.

R13. Experts can cancel an alarm after reaching the scene, to reduce thenumber of experts coming.

R14. Experts need a car to get to the location of the mishap. If there are nocars available an exception request needs to be sent to factory mana-gement.

R15. Cars can hold a maximum of 2 experts.

R16. Experts that have two similar expertises should never be in the samecar together.

Jullie kunnen als startpunt 1 van de examples gebruiken (Alarm++tracesPP)uit de collectie die te vinden is op www.liacs.nl/~tgroentj/, daarin zijneen aantal basis requirments uit de lijst hierboven al geimplementeerd.

3 Wat verwachten wij

1. werkende code waarin all 16 requirements zijn verwerkt

2. een aantal door jullie zelf geschreven tests

2

Page 3: REOpdracht2

3. goed gecommente code (niet te summier, niet te compleet)

4. hanteer een engelse naming conventie. Auto -¿ Car, Boot -¿ Boat

5. definieer classes met een hoofdletter. car -¿ Car, boat -¿ Boat

6. een textdocument waarin je uitlegt waarom je bepaalde keuzes hebtgemaakt, en een uitleg van je eigengemaakte tests.

4 Tips

om een comment te schrijven begin je de regel met – en gebruik dit om zakenduidelijk te maken. overloading van functies/constructors werkt niet. denkbij elke functie na over pre en post condities. Functionele talen hebben geensequentiele structuur. Als de preconditie van een functie waar is wordt dezeuitgevoerd. Als je wilt dat functies achter elkaar uitgevoerd worden, zorg dandat de postconditie van functie 1 gelijk is aan de preconditie van functie 2.

5 Inleveren

Inleveren kan in de aangemaakte dropbox folders, of via email naar ([email protected]). Dit dient te gebeuren voor 25 april 23.59 vooriedere dag te laat zullen er punten van het cijfer afgetrokken worden. Pak devolledige project folder samen met het textdocument in, in een zip/rar/taren stuur het op.

6 handige links

• http://wiki.overturetool.org/images/d/d1/VDMPPGuideToOvertureV1.

pdf

• http://sourceforge.net/projects/overture/files/

• http://wiki.overturetool.org/images/c/cb/VDM10_lang_manV2.pdf

3