What Is a Requirement?
Total Page:16
File Type:pdf, Size:1020Kb
What is a requirement? • May range from – a high-level abstract statement of a service or – a statement of a system constraint to a Software Requirements detailed mathematical functional specification • Requirements may be used for – a bid for a contract Descriptions and specifications • must be open to interpretation of a system – the basis for the contract itself • must be defined in detail • Both the above statements may be called requirements Example Example …… 4.A.5 The database shall support the generation and control of configuration objects; that is, objects which are themselves groupings of other objects in the database. The configuration control facilities shall allow access to the objects in a version group by the use of an incomplete name. …… 1 Types of requirements User requirements readers • Written for customers • Client managers – User requirements • Statements in natural language plus diagrams of the • System end-users services the system provides and its operational constraints. • Client engineers • Written as a contract between client and • Contractor managers contractor – System requirements • System architects • A structured document setting out detailed descriptions of the system services. • Written for developers – Software specification • A detailed software description which can serve as a basis for a design or implementation. System requirements readers Software specification readers • System end-users • Client engineers (maybe) • Client engineers • System architects • System architects • Software developers • Software developers 2 Functional requirements • Statements of services the system should provide, how the system We will come back to user should react to particular inputs and system requirements and how the system should behave in particular situations. Examples of functional Functional requirements requirements • Describe functionality or system services 1. The user shall be able to search either • Depend on the type of software, all of the initial set of databases or expected users and the type of system select a subset from it. where the software is used 2. The system shall provide appropriate • Functional user requirements may be viewers for the user to read documents high-level statements of what the in the document store. system should do but functional system 3. Every order shall be allocated a unique requirements should describe the system identifier (ORDER_ID) which the user services in detail shall be able to copy to the account’s permanent storage area. 3 Requirements completeness and Requirements imprecision consistency • Problems arise when requirements are • In principle, requirements should be both not precisely stated complete and consistent • Ambiguous requirements may be • Complete interpreted in different ways by – They should include descriptions of all facilities required developers and users • Consistent • Consider the term ‘appropriate viewers’ – There should be no conflicts or – User intention - special purpose viewer for contradictions in the descriptions of the each different document type system facilities – Developer interpretation - Provide a text • In practice, it is difficult (?impossible?) viewer that shows the contents of the to produce a complete and consistent document requirements document What requirements are these? Non-functional requirements • It shall be possible for all necessary • constraints on the services or communication between the APSE and the functions offered by the system user to be expressed in the standard Ada character set such as timing constraints, • The system development process and constraints on the development deliverable documents shall conform to process, standards, etc. the process and deliverables defined in XYZCo-SP-STAN-95 • The system shall not disclose any personal information about customers apart from their name and reference number to the operators of the system 4 Non-functional requirements Non-functional classifications • Define system properties and constraints • Product requirements e.g. reliability, response time and – Requirements which specify that the storage requirements. Constraints are I/ delivered product must behave in a particular O device capability, system way e.g. execution speed, reliability, etc. representations, etc. • Organizational requirements • Process requirements may also be – Requirements which are a consequence of specified mandating a particular system, organizational policies and procedures e.g. process standards used, implementation programming language or development requirements, etc. method • External requirements • Non-functional requirements may be – Requirements which arise from factors which more critical than functional are external to the system and its requirements. If these are not met, the development process e.g. interoperability system is useless requirements, legislative requirements, etc. Non-functional requirement Non-functional requirements types examples • Product requirement – 4.C.8 It shall be possible for all necessary communication between the APSE and the user to be expressed in the standard Ada character set • Organizational requirement – 9.3.2 The system development process and deliverable documents shall conform to the process and deliverables defined in XYZCo-SP- STAN-95 • External requirement – 7.6.5 The system shall not disclose any personal information about customers apart from their name and reference number to the operators of the system 5 Goals and requirements Examples • Non-functional requirements may be very • A system goal difficult to state precisely and imprecise – The system should be easy to use by requirements may be difficult to verify. experienced controllers and should be organized in such a way that user errors are • Goal minimized. – A general intention of the user such as ease of use • A verifiable non-functional requirement – Experienced controllers shall be able to use • Verifiable non-functional requirement all the system functions after a total of two – A statement using some measure that can be hours training. After this training, the objectively tested average number of errors made by • Goals are helpful to developers as they experienced users shall not exceed two per convey the intentions of the system day. users Requirements measures Requirements interaction Property Measure • Conflicts between different non- Speed •Processed transactions/second functional requirements are common in •User/event response time •Screen refresh time complex systems Size •K Bytes • Spacecraft system •Number of RAM chips Ease of use •Training time – To minimize weight, the number of separate •Number of help frames chips in the system should be minimized Reliability •Mean time to failure – To minimize power consumption, lower power •Probability of unavailability chips should be used •Rate of failure occurrence •Availability – However, using low power chips may mean Robustness •Time to restart after failure that more chips have to be used. Which is •Percentage of events causing failure the most critical requirement? •Probability of data corruption on failure Portability •Percentage of target dependent statements •Number of target systems 6 Domain requirements Domain requirements • Requirements that come from the • Derived from the application domain and application domain of the system describe system characteristics and and that reflect characteristics of features that reflect the domain that domain • May be new functional requirements, constraints on existing requirements or define specific computations • If domain requirements are not satisfied, the system may be unworkable Library system domain Domain requirements problems requirements • There shall be a standard user interface • Understandability to all databases which shall be based on – Requirements are expressed in the the Z39.50 standard. language of the application domain • Because of copyright restrictions, some – This is often not understood by documents must be deleted immediately software engineers developing the on arrival. Depending on the user’s system requirements, these documents will • Implicitness either be printed locally on the system – Domain specialists understand the area server for manually forwarding to the so well that they do not think of user or routed to a network printer. making the domain requirements explicit 7 User requirements • Should describe functional and non- functional requirements so that Back to user and system they are understandable by system requirements users who don’t have detailed technical knowledge • User requirements are defined using natural language, tables and diagrams Database requirement Requirement problems • Database requirements includes both conceptual and detailed …… information 4.A.5 The database shall support the generation and control of – Describes the concept of configuration configuration objects; that is, objects which are themselves groupings control facilities of other objects in the database. The configuration control facilities shall allow access to the objects in a version group by the use of an – Includes the detail that objects may incomplete name. be accessed using an incomplete name …… 8 Editor grid requirement Requirement problems • Grid requirement mixes three …… different kinds of requirement 2.6 Grid facilities To assist in the positioning of entities on a diagram, the user may turn on a grid in either centimetres or inches, via an – Conceptual functional requirement (the option on the control panel. Initially, the grid