Jump To Content

LearnHub




What are requirements?

What are requirements?

Requirements or restrictions are goals set by clients and users to define their different properties of the system. The software requirements are, of course, those of the system requirements that relate to properties of the software.

A set of requirements can be defined as a condition or capability that the software needed to have (1) so that the user can solve a problem or achieve a goal or (2) to meet the needs or constraints of the organization or the other components of system.

Traditionally, software requirements are separated into functional requirements and non-functional. The functional requirements are the description of the various functions that clients and users want or need that the software offers. They define the desired functionality of software. The term function is used in the generic sense of that operation can be performed by the system, whether through commands from users or by the occurrence of events internal or external to the system.

Examples of functional requirements:
"The software should allow the calculation of expenses daily, weekly, monthly and annual staff."
"the software must issue reports to the shopping every two weeks"
"users should be able to obtain the number of approvals, disapprovals and trancamentos in all disciplines for a period of time.
The specification of a functional requirement must determine what is expected to make the software without the worry of how he does. It is important to differentiate the activity of specifying the requirements specification activity that occurs during the design of software. In the design of the software you should decide to which functions the system will effectively meet for what users want.

Non-functional requirements are the overall quality of software, such as maintainability, usability, performance, and various other costs. Usually these requirements are described in informal, so controversial (eg the manager or security but users want ease of use) and are difficult to validate.

Examples of non-functional requirements:
"The database must be protected for access only to authorized users."
"The response time of the system should not exceed 30 seconds."
"The software should be operationalized in Linux"
"the time of development shall not exceed six months."
The need to establish the requirements for a precise measurement is critical in that the size and complexity of software increase. In addition, requirements influence about each other which causes a greater difficulties in the process. For example, the requirement that the software should have great portability (for example, be implemented in Java) may imply that the performance requirement is not satisfied (in Java programs are generally slower). Due to this complexity, it is necessary that the activities related to requirements are managed throughout the life cycle of the system.

Analysis and specification of requirements for software

The analysis and specification of software requirements are activities to determine the goals of software and the restrictions associated with it, and establish the precise specification of software.

These activities should be seen as part of the analysis of systems. Usually, they start with the analysis of the system and may be extended after completion of the specification document of the system will be refined when the requirements of the software.

Analysis and specification activities are inter-dependent and must be conducted jointly. The analysis is the process of observation, classification and modeling of the elements of the field. You should identify the persons, activities, information from the field so you can decide what will be part of the system. People and activities that are not computers should be considered entities external to the software.

The specification is systematic and abstract description of what software should do, from what was discussed. It presents the solution to the problems raised in the analysis will be resolved by the software computer system. Aims to describe in a systematic way which functional properties are needed to address the area. The specification is also a form of systematic communication with architects, developers and testers of the software.

Your Comment
Textile is Enabled (View Reference)