Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Standard view
Full view
of .
Look up keyword
Like this
0 of .
Results for:
No results containing your search query
P. 1
Requirement Engineering

Requirement Engineering

Ratings: (0)|Views: 24|Likes:
Published by Kishore Ashraf

More info:

Published by: Kishore Ashraf on Dec 20, 2012
Copyright:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less





Requirements Engineering is a set of activities concerned with identifying andcommunicating the purpose of a software-intensive system, and the contexts in which itwill be used. Hence, Requirement Engineering acts as the bridge between the real-world needs of users, customers, and other constituencies affected by a softwaresystem, and the capabilities and opportunities afforded by software-intensivetechnologies.Requirements engineering is the discipline concerned with understanding theexternally imposed conditions on a proposed computer system, determining whatcapabilities will meet these imposed conditions and documenting those capabilities asthe software requirements for the computer system.Requirements solicitation, analysis, and management are key elements of asuccessful and safe development process for any system. Many costly and criticalsystem failures can ultimately be traced back to missing, incorrect, misunderstood, orincompatible requirements.Requirements are statements of need that define what a system will do and howwell it must perform those tasks. At lower levels of the system, such as for a complexelectronic device, the requirements will include specifics on what the device must do(and how well), how the device will interface to other parts of the system, and whatpart the device will play in overarching requirements, such as safety.Systems are usually conceptualized as having levels of structure. The highestlevel defines the interface between the system and the outside world. The system itselfis a black box at this level. Requirements for this level describe how the users (people orother systems) will interact with the system, and what the system will do in response tothose inputs. Constraints that are imposed on the system from outside entities,
including the environment the system must operate in, also influence the requirementsspecification.Once the system is conceptually broken up into a set of interacting elements, theprocess of requirements decomposition (or derivation) begins. Some of the higher-levelrequirements will be implemented in whole by a particular element. Otherrequirements will be partitioned between several components. The process ofrequirements decomposition continues as the system is further sub-divided, until thelowest practical level is reached. The stopping point for requirement decomposition willvary across systems. For systems with complex electronic devices, a separaterequirements document for the complex electronics is preferred. In reality, only themost critical devices have requirements separate from a higher-level assembly.Requirements can also be classified by the role they play in the system. Thisclassification will vary, depending on the organization or project. The following list ofrequirements types is commonly used in many government organizations.
requirements describe the capabilities of the product or system (whatthe system must do).
requirements describe how well the product or system mustperform a function. Performance requirements complement the functionalrequirements, and these are sometimes combined into single requirements.
requirements specify how the system will interact or interoperate withan adjacent system.
Safety, Quality, Reliability, Maintainability, etc. (the “ilities”)
this set of
requirements relate to overarching system questions, such as “how long will itwork without breaking” and “can it hurt me”. Some “ility”
requirements can bedecomposed into specific functional and performance requirements. Othersessentially put constraints on the design, implementation, manufacturing, orproduction processes.
requirements are a limitation that a product or system must staywithin.
A requirement is "a singular documented need of what a particular product orservice should be or do". Systems may have from dozens to hundreds of requirements.A collection of requirements then defines the characteristics of the desired (required)system, but does not say how the system should implement those requirements. Inother words, it imposes constraints on the delivered system that are important to thecustomers or other stakeholders, while leaving most design and implementationdecisions to the discretion of the developer.A golden rule of requirements writing is that all requirements must be verifiable.This means it must be possible to decide whether a requirement is satisfied withoutrecourse to subjective opinion. If this is not the case, then the offending requirementsshould be altered or dropped. A common example is where the customer states that theapplication (or perhaps particular features, such as a database search) must be fast.When stated so plainly, this is not verifiable as one person's interpretation of 'fast' is
different to another‟s. Better is to make a statement such as 'Under typical usage, 90% of
search requests must terminate within 10 seconds'. This puts hard numbers onto theperformance requirement, and by working with a set of users to establish what 'typicalusage' really means, it is possible to test whether this requirement has been satisfied.Requirements are typically classified into three categories:* Functional Requirements - describe system features or things the system must do.* Non-Functional Requirements - describe properties the system must have (e.g.performance, availability, accessibility).* Constraints - limits the development in some way. Such as, defining an operatingsystem the system must run on, or defining which programming language must beused to implement the system.

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->