The document discusses functional requirements for software systems. It notes that ambiguous requirements can cause problems, as developers may interpret them differently than intended. It also states that functional requirement specifications should be complete and consistent, listing all required services without contradictions. However, achieving full completeness and consistency is difficult for large, complex systems, as it is easy to overlook details and stakeholders may have differing needs.
The document discusses functional requirements for software systems. It notes that ambiguous requirements can cause problems, as developers may interpret them differently than intended. It also states that functional requirement specifications should be complete and consistent, listing all required services without contradictions. However, achieving full completeness and consistency is difficult for large, complex systems, as it is easy to overlook details and stakeholders may have differing needs.
The document discusses functional requirements for software systems. It notes that ambiguous requirements can cause problems, as developers may interpret them differently than intended. It also states that functional requirement specifications should be complete and consistent, listing all required services without contradictions. However, achieving full completeness and consistency is difficult for large, complex systems, as it is easy to overlook details and stakeholders may have differing needs.
CS253: Software Development and Operations Requirement Engineering 1/6
Example of Functional Requirements: MHC-PMS
1 A user shall be able to search the appointments lists for all
clinics 2 The system shall generate each day, for each clinic, a list of patients who are expected to attend appointments that day 3 Each staff member using the system shall be uniquely identified by his or her eight-digit employee number
CS253: Software Development and Operations Requirement Engineering 2/6
Ambiguity in Functional Requirement
Imprecision in the requirements specification is the cause
of many software engineering problems
It is natural for a system developer to interpret an
ambiguous requirement in a way that simplifies its implementation, but this is not what the customer wants
New requirements have to be established and changes
made to the system
This delays system delivery and increases costs
Example: Search the appointment list for a patient in
MHC-PMS
CS253: Software Development and Operations Requirement Engineering 3/6
Completeness and Consistency of Functional Requirements
Functional requirements specification of a system should
be both complete and consistent
Completeness: All services required by the user should
be defined
Consistency: Requirements should not have
contradictory definitions
For large, complex systems, it is practically impossible to
achieve requirements consistency and completeness
CS253: Software Development and Operations Requirement Engineering 4/6
Sources of Incompleteness and Inconsistencies
It is easy to make mistakes and omissions when writing
specifications for complex systems
There are many stakeholders in a large system.
Stakeholders have different and often inconsistent needs
CS253: Software Development and Operations Requirement Engineering 5/6
Requirement Engineering Functional Requirements
Indranil Saha
Department of Computer Science and Engineering
Indian Institute of Technology Kanpur
CS253: Software Development and Operations Requirement Engineering 6/6