Requirements Engineering
1-Introduction
In this assignment you will to learn programming in a formal specification language. For this you go and use special Eclipse distribution that here
is specially made for it. This software can be found at: [login to view URL] / projects / overture / files /.
2 -requirements
In this language, it is intended that you the following 16 requirements implementing:
R1. A computer-based system is to be developed to manage the alarms of this 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 system.
R4. Each expert can have a list of qualications.
R5. Each alarm reported to the system has a qualication associated with it along with a description of the alarm that can be understood by the expert.
R6. Whenever an alarm is received by the system an expert with the right qualication should be found so that he or she can be paged.
R7. The experts should be able to use the system database to check when they 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 area as 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 to page. These experts should only be paged when no other experts are available. In case of a Meltdown, these should be called first.
R13. Experts can cancel an alarm after reaching the scene, to reduce the
number of experts coming.
R14. Experts need a car to get to the location of the mishap. If there are no
cars available an exception request needs to be sent to factory management.
R15. Cars can hold a maximum of 2 experts.
R16. Experts that have two similar expertises should never be in the same
car together.
You can use as a starting point one of the examples (Alarm + + tracesPP)
from the collection which can be found on [login to view URL] tgroentj ~ /, there are
some basic requirments from the list above already implemented.
3What we expect
1. working code which all 16 requirements have been incorporated(have been processed)
2. some by yourselves writen tests
3. good gecommente code (not too brief, not complete)
4. handle an English naming convention. Auto - ¿Car, Boat - Boat ¿
5. define classes with a capital letter. car - ¿Car, boat - ¿Boat
6. a text document explaining why you have made certain choices,
and an explanation of your homemade tests.
4-tips
to write a comment you start the line - and use it for business to make clear. overloading of functions / constructors does not work. think
with each function after about pre and post conditions. Functional languages have no sequential structure. If the precondition of a function where it is
executed. If you want to be functions performed consecutively, then make that the post-condition of function 1 is equal to the precondition of function 2.
usefull links
• [login to view URL]
pdf
• [login to view URL]
• [login to view URL]