Problem (5p)

Among other things a requirements specification needs to be complete, traceable, consistent and unambiguous. Below are some of the requirements from the project part of the EDA216 (Database tecnology) course. Specify some (3) of the possible problems with these as well as some (2) of the positive aspects with regards to a good requirement specification. 1) "The report must be well structured, complete, easy to understand well formulated etc." 2) "The computerized system must be flexible and be able to meet our demands on usability and reliability" 3) "In the prototype implementation the simulated production and delivery data found in appendices A-B shall be used." 4) "Orders must be registered in the database. For planning purposes we must have a facility to see all orders that are to be delivered." 5) "A pallet is considered to be produced when the pallet label is read at the entrance to the deepfreeze storage. The pallet number, product name, and date and time of production is registered in the database. The pallet number is unique." 6) "We must be able to trace each pallet. For instance, we need to see all information about a pallet with a given number (the contents of the pallet, the location of the pallet, if the pallet is delivered and in that case to whom, etc.). We must also see which pallets that contain a certain product, and which pallets that have been produced during a certain time interval." 7) "You must show that the relations are normalized according to your chosen normal form (if a relation “obviously” is in BCNF you may say so, provided that you justify your statement)." 8) [ The report must contain ... ] "A cover sheet with the name of the project, your names, education programs, and e-mail addresses. You must check mail to the e-mail addresses regularly (use EFD or CS addresses, preferably). Also give the date of submission and complete instructions for running your program." 9) "We need an interface to the collection of recepies where we can study and update recepies"
1 point each is awarded for any reasonable motivated correct answer. Some possible problems and positive things are listed below.

Problems

1) "Etc." implies further requirements making this requirement incomplete. 1) Is hard to verify since no method of verification is provided. 1) "well structured", "easy to understand" are very vague statements making the requirement ambiguous. 2) "Flexible" is very ambiguous as well as hard to verify. User interface specifcations ( 4 and 9 ) are often ambiguous unless explicitly specificed. Here the specification is very loose. 6) Is not complete, it gives one the impression that more options about what to list needs to be implemented although no clues are given as to what exactly those other options are. 7) "obviously" is ambiguous and quite possible many things seems easy for the developer that any other might find complex and hard to understand.

Positive things

4) Here we actually have traceability for the requirement for listing all orders. 5) Seems rather bullet proof specifying when a pallet is regarded as produced, what that has to be registered and that the pallet number has to be unique. Complete that is. 8) Although full of various requirements it is complete and easy to verify. No parts leave room for a different interpretion. 3) Complete and verifyable given useable data specified in the appendixes.

Problem 2

Use the following requirements and usage diagram, for the project mentioned above, to produce a crudo matrix. Use this matrix to identify at least two missing operations. Production and packaging - When a pallet is produced the appropriate amount of raw materials shall be subtracted from the storrage. - A produced pallet should be added to the storage and to the database system as well, complete with production date and every other available piece of information. - One should be able to inspect pallets containing a certain type of cookie as well as list all the available information for a specific pallet. - When a pallet is loaded onto the delivery truck it should be marked as delivered and the timestamp should be registered. - At any given time one should be able to see the amount of pallets containing a specific product that has been produced during a specified time period. - All pallets produced during a specificed time period shall be possible to mark as blocked. Only non-delivered pallets may be blocked. - One should be able to list the amount of raw materials in stock, the date of the latest delivery of raw materials and the amount of raw materials delivered. - The system should list the currently registered recepies as well as offer the ability to add new ones. No updates to the recepies will be made during production.

Solution and recommendations for correction

The solution should consist of a crudo matrix and a reasonable motivation why a function is identified as missing. A complete crudo matrix gives 3 points. An incomplete one, that lacks several functions, but at least shows some basic understanding of the concept gives 1 point. The two or more identified missing functions gives 1 point each up to a maximum total of 2 points. example crudo matrix
.recepiematerialpallets
bakeRURC
fill up raw.U.
add recepieC..
deliver..U
block..UO
search pallet..O
....
MissingUDOCDORD
Ie, for recepie Update, Delete and Overview is missing. For materials Create, Delete and Overview is missing. For the pallets Read and Delete is missing.