Software engineering study notes (c): Requirements Engineering

1 Overview

Requirements engineering is the application of effective technologies and methods have been proven to carry out needs analysis to determine customer needs, help analysts understand the problem, assess the feasibility, negotiated a reasonable solution, the statute unambiguously program, confirmed the statute and the statute of converting to a run demand management at the system requirements engineering is a constantly repeated in the requirements definition, documentation, the process of the evolution of demand and, ultimately, to freeze the demand on the basis of verification of the requirements engineering can be divided into six phases: requirements elicitation, requirements analysis and consultation , system modeling, requirements specification, requirements validation, demand management.

2 requirements elicitation

Demand analysts acquisition phase, existing systems and the observation of the tasks can be analyzed by communication with the user, determining restrictive description of a system or product, the system described technical environment and product-related features or a list of people, the system the system used in the feature list and limitations of each requirement, describing the application system or product usage scenarios under different operating conditions, to lay the foundation needs analysis.

2.1 Software Requirements

Software requirements means that the user expectations of the target software system in terms of function, behavior, performance, design constraints, including:

2.1.1 Functional Requirements

What consider the system to do, when to do, when and how to modify or upgrade.

2.1.2 Performance requirements

Consider technical indicators of software development, for example, the storage capacity limit, execution speed, response time and throughput.

2.1.3 user or human factor

Consider the type of user, such as user computer proficiency is required to accept the training, the user is understood, the difficulty of using the system, the system user the possibility of erroneous manipulation and the like.

2.1.4 Environmental requirements

Consider the future of the software application environment, including hardware and software, the demand for hardware devices, including models, peripherals, interfaces, location, distribution, temperature, humidity, magnetic field interference. Demand for software including operating systems, networks, databases, etc. .

2.1.5 interface requirements

Consider an input from another system, to the output of the other system, predetermined special data format, a predetermined data storage medium.

2.1.6 documentation requirements

Consider what document, the document for the reader needs.

2.1.7 Data requirements

Considering the input, output data format, receiving frequency of the transmission data, the accuracy and precision data, traffic data, time data required to maintain the like.

2.1.8 Resource needs

When considering the data needed to run the software, other software, memory and other resources software development, maintenance of the required manpower, software support and development equipment.

2.1.9 security and confidentiality requirements

Consider the need to control access to the system or system information, user data and methods of isolation, how the user programs, etc. with other programs and the operating system isolation and system backup requirements.

2.1.10 reliability requirements

Whether to consider the reliability of the system technology, the system must monitor and isolate the error, reboot the system after an error allowed time.

2.1.11 software development schedule and cost consumption demand

Consider whether the provisions of the development schedule, hardware and software investments have unrestricted and so on.

2.1.12 Other non-functional requirements

The use of a certain model development, quality control standards to determine, milestones and review, inspection requirements, and maintainability of standards, quality requirements and priority.

2.2 requirements elicitation method that is strategy

2.2.1 establish smooth communication pathways

Establish good communication between users, systems analysts, software development teams and management personnel to ensure smoothly analysis of the problem.

2.2.2 Interviews and investigations

Analysts from the analysis of similar software products that already exist, or from industry standards, rules extracted initial needs, and then in the form of the form of individual interviews or group meetings start preliminary communication with the user. In addition to interviews, but can be market research to understand the market for software to be developed, what kind of requirements, can take a variety of investigation, designated survey outline, sent questionnaires to different levels of users, or user access and domain experts.

2.2.3 observing user operational flow

The actual working environment for the user in the user's workflow to observe, to understand the user's actual operating environment, operation and operating requirements, the control problem statement submitted by the user, may have a more comprehensive and detailed understanding of user needs.

2.2.4 to establish joint teams

The use of technology users and developers a joint team established with regard called FAST (facilitated application sepcification techniques), and play to their strengths and jointly responsible for promoting the project .FAST encourage the establishment of cooperation between the user and the developer team, working together to identify problem, the solution of the elements to discuss different approaches and initial characterization solutions.

It has become a mainstream technology information system, which provides technology for improving communication with each other in a variety of potential applications may .FAST team consists of software and hardware engineering as well as representatives from the manufacturing market composition, and select foreign workers as a coordinator . there are those who look at the basic principles of this method:

  • A meeting attended by developers and users in a neutral location
  • Prepare and establish the rules of participation in the conference
  • Establish a formal agenda enough so that you can freely exchange
  • By a "coordinator" (user, developer, or someone else) to control conference
  • The use of a "defined mechanism" (worksheets, icons, etc.)
  • The goal is to identify problems, propose solutions for the elements to discuss different approaches and depicts the initial demand in favor of the completion target of atmosphere

2.2.5 Use Case

With the condition often referred to as use cases, it should contain:

  • To complete the implementation of the main tasks or functions
  • Actors will acquire, produce or change what information
  • Whether executor must inform the system about changes in the external environment
  • What executives want information from the system
  • Do you want to be notified performer unexpected change

3 needs analysis

3.1 Principles

  • Information domain must be able to express and understand issues
  • The software must be able to define the complete function
  • We must be able to represent the behavior of the software
  • The data model must be divided description, function and behavior
  • Analysis process should be moved from the element information details

3.2 Information Field

Information field includes information content, configuration information, and information flow.

3.2.1 Information Content

Content and control data represents a single target, the target software information set constituted by all the processes thereof.

3.2.2 Information Flow

It indicates the data stream and the flow control mode when the change in the system, input object information is converted into an intermediate, and then further converted into output.

3.2.3 Information Structure

Information structure diagram showing the internal organization of the various data and controls.

3.3 Demand consultation

Demand is prone to conflict, which requires consultations to discuss the needs of the conflict, the meeting is usually the fastest way to resolve the conflict.

3.4 Requirements Modeling

Create a model is an important event needs analysis. Model in a concise, accurate and clear description of the structure of the way the system to the software requirements to help analysts understand the information, function and behavior, the model will be the basis for software design, provides software elements for designers a view.

4 Requirements Specification

Requirements Specification is the final product of the analysis task, by establishing a complete description, detailed description of the function and behavior, illustrate the performance requirements and design constraints, the appropriate acceptance criteria, given the diverse needs of the target software. Statute software requirements The main frame is divided into five parts:

4.1 Introduction

Introduction stated goal of software, described in the territory of computer-based language system, including system references, describe the overall software project constraints.

4.2 description

Description is given a detailed description of the software must solve the problem of recording information content, information flow, information structure.

4.3 Functional Description

Function description of each function required to solve the problems described, including a description of each function process, described design constraints, performance characteristics described, with one or more graphics image showing the overall configuration of the software and the software functions and the interaction between other elements.

4.4 Behavior Description

Software description to describe the behavior of the control as an external event and wherein the internally generated operation.

4.5 Inspection Standards

Test standard describes the inspection system sign of success, that is the system what kind of tests, what kind of results, it means the system has been successfully achieved. Inspection standards are confirmed on a test basis.

4.6 References

A reference to all of the software and related documentation, including documentation, technical references, vendor literature and other standards of software engineering.

4.7 Appendix

A detailed description of statute contains additional information, form data, algorithms, charts, and other materials.

5 requirements validation

Demand verification is aimed at testing whether that reflects the user's wishes, needs to demand requirements defined in the document to perform a variety of inspection, the assessment team should check the validity of the demand, consistency and completeness as a whole, including system-defined target It is consistent with the user's requirements, documentation system requirements analysis phase provides complete, whether developed data stream with the data structure determination and adequate, whether the main function of the software is included in the specified range, whether already fully explained, constraints or restrictions design is realistic, what is the risk of the development of technology is whether the elaboration of the test, they can define the system to confirm.

6 Demand Management

Demand Management is a group to help the team in the progress of the project at any time to identify, control and track the activities of demand in demand management, each needs to be given a unique identifier, once marked out demand, that can the purpose demand the establishment of tracking tables, each table marked track relationships between different versions of the code, test cases demand and other requirements or design documents. these tables can be used for tracking requirements traceability throughout the development process, requirements traceability is carried out in order to establish and maintain the consistency and integrity between user needs to begin testing to ensure that all implementations based on user needs-based, all output meets the needs of users, and comprehensive coverage of user needs.

Guess you like

Origin blog.51cto.com/13996197/2464536