Requirements Engineering Overview

Source: Internet
Author: User
Tags definition

Software requirement refers to the expectation of the user on the function, behavior, performance and design constraints of the target software system. Through the understanding and analysis of the corresponding problem and its environment, the model is established for the information, function and system behavior of the problem, the user's requirement is accurate and complete, and the requirement specification is finally formed, this series of activities constitute the requirement analysis stage of the software development life cycle.

Requirements analysis is a bridge between system analysis and software design phase. On the one hand, the requirement analysis takes the system specification and the project plan as the basic starting point of the analysis activity, and checks and adjusts them from the software angle. On the other hand, the requirement specification is the main basis of software design, implementation, testing and maintenance. Good analytical activities help to avoid or eliminate early errors, thereby improving software productivity, reducing development costs, and improving software quality.

Demand engineering is developed with the development of computer, in the early stage of computer development, the software is not large, software development is concerned about code writing, demand analysis is seldom paid attention to. Later, software development introduced the concept of life cycle, and demand analysis became its first stage. With the expansion of software system, requirement analysis and definition are becoming more and more important in the whole process of software development and maintenance, which is directly related to the success of software. It is gradually realized that the demand analysis activity is no longer limited to the initial stage of software development, it runs through the whole lifecycle of system development. In the middle of the 80, it formed the sub-domain of software engineering-demand Engineering (REQUIREMENTENGINEERING,RE). Since entering the 90 's, demand engineering has become one of the research hotspots. Since 1993, the International Symposium on Demand Engineering (ISRE) has been held every two years since 1994, and the International Conference on Demand Engineering has been held every two years (ICRE) and a new publication has been published in 1996 Springer-verlag Requirementsengineering ". A number of working groups on demand engineering have also been established, such as the European Renoir (Requirementsengineeringnetworkofinternationalcooperatingresearchgroups), and are beginning to work.

Requirement Engineering is a discipline that uses proven techniques and methods for demand analysis, identifies customer needs, helps analysts understand problems, and defines all external characteristics of the target system. It systematically describes the system to be developed and its behavioral characteristics and related constraints through appropriate tools and notations, forms requirements documents, and supports the evolving needs of users. Re can be divided into system requirements engineering (if it is for the entire system composed of software and hardware) and software requirements Engineering (if only specifically for the Pure software part). Software Requirements Engineering is a discipline that analyzes and records software requirements, it breaks down the system requirements into some major subsystems and tasks, assigns these subsystems or tasks to the software, and transforms these system requirements into software requirements description and some performance parameters through a series of repetitive analysis, design, comparative studies, and prototyping processes.

The requirement engineering is a continuous process of requirement definition, document recording and requirement evolution, and finally freezes the requirement on the basis of verification. In the 80 's, Herbkrasner defined the five-phase lifecycle of requirements Engineering: requirements definition and analysis, demand decision, form requirement specification, requirement realization and verification, and demand evolution management. Recently, Matthiasjarke and Klauspohl put forward the three-stage cycle: acquisition, representation, and validation.

Combining several viewpoints, the activities of demand engineering can be divided into the following 5 separate stages:

(1) Demand acquisition: Through the communication with the user, the existing system observation and task analysis, so as to develop, capture and revise the user's needs;

(2) Requirements Modeling: Create a conceptual model for the system that the end user sees as an abstract description of the requirements and capture the semantics of the real world as much as possible;

(3) Forming Requirements Specification: a precise formalized description of the requirements model component, as a compact between the user and the developer;

(4) Demand verification: Take the requirement specification as input, and analyze the correctness and feasibility of the requirement specification by means of symbol execution, simulation or rapid prototyping;

(5) Demand management: Support system requirements evolution, such as requirements change and traceability issues.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.