RAW Rota – Requirement Analysis

Development will follow TDD type process from validated requirements. The process will be as follows:

  • Valid Requirements using the following criteria:
CriterionDescription
NecessaryCan the system meet prioritized, real needs without it? If yes, the requirement isn’t necessary.
VerifiableCan one ensure that the requirement is met in the system? If not, the requirement should be removed or revised. Note: The verification method and level at which the requirement can be verified should be determined explicitly as part of the development for each of the requirements. (The verification level is the location in the system where the requirement is met (for example, the “system level,” the “segment level,” and the “subsystem level).1
AttainableCan the requirement be met in the system under development?
UnambiguousCan the requirement be interpreted in more than one way? If yes, the requirement should be clarified or removed. Ambiguous or poorly worded writing can lead to serious misunderstandings and needless rework. Note: Specifications should include a list of acronyms and a glossary of terms to improve clarity.
CompleteAre all conditions under which the requirement applies stated? Also, does the specification document all known requirements? (Requirements are typically classified as functional, performance, interface, constraints, and environment.)
ConsistentCan the requirement be met without conflicting with all other requirements? If not, the requirement should be revised or removed.
TraceableIs the origin (source) of the requirement known, and can the requirement be referenced (located) throughout the system? The automated requirements tool should enable finding the location in the system where each requirement is met.
AllocatedCan the requirement be allocated to an element of the system design where it can be implemented? If not, the requirement needs to be revised or eliminated.
ConciseIs the requirement stated simply and clearly?
Implementation freeThe requirement should state what must be done without indicating how. The treatment of interface requirements is generally an exception.
Standard constructsRequirements are stated as imperative needs using “shall.” Statements indicating “goals” or using the word “will” are not imperatives.
Unique identifierEach requirement should have a unique identifying number that assists in identification, maintaining change history, and providing traceability.

Allow Staff to be Added

CriterionDescription
NecessaryYes to allow rota to be created for various members of staff
VerifiableStaff should be retrievable once added and should show on the rota.
AttainableYes using an embedded database
UnambiguousYes
Completefunctional
ConsistentYes
TraceableYes
AllocatedNew class StaffDatabase
ConciseYes
Implementation freeAccess to database required.
Standard constructsChecked
Unique identifierrawRota1

Staff must have facility for custom rules

CriterionDescription
NecessaryAll staff work at different days and times. Some will do certain shifts only at certain times. Therefore there must be a mechanism for checking this against the rota.
VerifiableYes if a number of rules can be created that can be applied to a given rota.
AttainableYes
UnambiguousYes
CompleteConstraint/ Functional
ConsistentYes
TraceableYes
AllocatedNew classes Staff and RotaRule
ConciseYes – removed requirement ‘ Allow rules to be created. e.g James does not work same day as Joan. ‘ as this is the same requirement.
Implementation freeRules are applied to a generated rota and generating a score the higher the score the better the fit.
Standard constructsChecked
Unique identifierrawRota2

Allow Events to be created

CriterionDescription
NecessaryYes there needs to be a method were dates are not filled for all staff or some staff this covers holidays, closures and training. Renamed from ‘Allow holidays to be entered’
VerifiableHolidays, Training and closures can be added to a Rota before shifts generated.
AttainableYes
UnambiguousYes
CompleteFunctional/ Constraint
ConsistentYes
TraceableYes
AllocatedNew classes Rota and Event
ConciseYes
Implementation freeEvents must have a period of time of which they cover and who it covers. i.e which staff.
Standard constructsChecked
Unique identifierrawRota3

Generate Rota and Apply Rules

CriterionDescription
NecessaryYes main function of the application.
VerifiableShould create a rota apply the events and generate shifts in the rota for the members of staff.
AttainableYes
UnambiguousYes
CompleteFunctional
ConsistentYes
TraceableYes
AllocatedRota, RotaRule, Event, Staff and new class Shift
ConciseYes
Implementation freeThis can be done using AI search problem strategies.
Standard constructsChecked
Unique identifierrawRota4

Allow report of a shifts

CriterionDescription
NecessaryTop scoring shifts can be reported with their fitness score
VerifiableThe user specified length rota shortlist must contain complete rotas with fitness scores
AttainableYes
UnambiguousYes
CompleteFunctional
ConsistentYes
TraceableYes
Allocatednew class RotaFactory
ConciseYes
Implementation freeSuggests a factory pattern
Standard constructsChecked
Unique identifierrawRota5

Leave a Reply

Your email address will not be published. Required fields are marked *