Only available on StudyMode
  • Download(s) : 25
  • Published : May 24, 2013
Open Document
Text Preview
Functional versus Non-Functional Requirements and Testing

One of the fundamental objectives of any project is to collect both the functional and non-functional requirements. These need to be kept in balance and harmony, and most importantly not compromised as the project progresses, as happened with the HMS Titanic's construction project.

Thomas Andrews was the one of the principal architects of the three White Star super liners, and accountable for turning the vision into reality. He was also the project leader/manager. Involved from the outset of the Titanic project he took responsibility for the requirements, both functional and nonfunctional.

Functional Requirements
The official definition for a functional requirement specifies what the system should do: "A requirement specifies a function that a system or component must be able to perform." Functional requirements specify specific behavior or functions, for example: "Display the heart rate, blood pressure and temperature of a patient connected to the patient monitor." Typical functional requirements are: Business Rules Transaction corrections, adjustments, cancellations Administrative functions Authentication Authorization –functions user is delegated to perform Audit Tracking External Interfaces Certification Requirements

Reporting Requirements Historical Data Legal or Regulatory Requirements

Non-Functional Requirements
The official definition for a non-functional requirement specifies how the system should behave: "A non-functional requirement is a statement of how a system must behave, it is a constraint upon the systems behavior." Non-functional requirements specify all the remaining requirements not covered by the functional requirements. They specify criteria that judge the operation of a system, rather than specific behaviors, for example: "Display of the patient's vital signs must respond to a change in the patient's status within 2 seconds."

Typical non-functional requirements...