技术开发 频道

需求捕获指南之概念和目的

【IT168 技术文章】

    1. Executive Summary

    1.概要介绍

    Requirements elicitation (RE) has been identified as one of the improvement areas by the ABC Process Council, one of the triggers for this is the CSAT 2000 results. A team sponsored by CENA worked in this area and has come out with solution as follows:

    需求捕获(RE)被ABC过程委员会确定为一个需要改进的领域,该委员会是2000 年CAST会议后为此建立的组织。CENA赞助一个团队在此领域开展工作,并已取得以下成果。

    Highlights of the solution: Since there is no process as of date to carry out a RE assignment the group has come out with some process aids to strengthen the RE process. The process aids consists two documents namely RE Guidelines and RE Checklists.

    解决方案集萃:完成一个项目的需求捕获任务,并没有一些特定的方法。这个组织总结出一些方法帮助更好得完成需求捕获过程。有两份文档介绍了这些方法:需求捕获指南和需求捕获检查列表。

    The RE Guidelines document deal with the various challenges in a Requirements Elicitation engagement and how to mitigate these with a set of operating procedures. The document also discusses about the various Requirements Elicitation techniques recommended by the group. The group has also compiled a more than 100 items checklist called as RE Checklists to take care of the different aspects of Requirements Elicitation like Offsite Preparation, Onsite kick-off, Handling Meetings etc.

    需求捕获指南指出了在需求捕获过程中可能面临的挑战,并建议了一些可操作的方法来战胜挑战。这份文档也介绍了该组织推荐的一些需求捕获技术。同时该组织汇编了超过100条的检查列表,称之为需求捕获检查表。该检查表关注于需求捕获的各个方面,象场外准备,现场启动以及操作会议等。

    Benefits of the Solution:The following benefits are envisaged with the above mentioned solution:- Complete coverage of requirements with possible client sign-off - Reduced change in requirements in the further stages of the life cycle - Reduced defects due to Requirements - Higher Customer Satisfaction

    解决方案优势:

    上面提及的解决方案能带来如下利益;

    客户缺席时,如何捕获完整的需求。

    在后续的生命周期中,减少需求变更的可能性。

    减少由于需求造成的软件缺陷。

    提高客户满意度。

    2 Objective

    2目的

    Requirements elicitation (RE) is the base building block for a software project and has very high impact on subsequent design and build phases as well. If done properly, RE can help in reducing requirement changes and rework. Additionally the quality of requirements elicitation decides the correctness of customer‘s feedback on completeness and validity of requirements. Due to the criticality and impact of this phase, it is very important to perform the requirements elicitation is performed in no less than a perfect manner.

    需求捕获是软件项目的基础部分,对后继的分析设计及开发实施有重大影响。如果做的好,会减少需求变更和返工。此外,需求捕获过程的质量也将决定客户对需求的完整性、正确性的认可。因为这个阶段的困难性和影响力,按一个理想的模式来完成需求捕获过程就非常重要。

    The main purpose of this document is to aid the Requirements Elicitation in a software development life cycle. These guidelines are compiled based on the learning from the previous RE assignments and best practices of RE in the industry.

    这份文档的主要目的是帮助增强软件开发生命周期中的需求捕获过程。对以前实际的需求捕获任务和行业中需求捕获的非常好的实践进行研究后,汇编了这份指南。

    The guidelines in this document will only aid in eliciting of requirements. For analysis and modelling of requirements, methodologies such as Influx, Rational Unified Process should be used.

    这份文档中的指导方针只是有助于捕获需求。而对于分析和建立需求模型,将采用Influx或RUP这样的方法论。

    3 Requirements Elicitation in Software Engineering

    3软件工程中的需求捕获

    Requirements engineering consists of activities like requirements elicitation, specification and validation.

    需求工程包括的活动有需求捕获,需求定义和需求验证。

    A requirement is a “function” or characteristic of a system that is necessary… the quantifiable and verifiable behaviours that a system must possess and the constraints that a system must work within to satisfy an organizations objectives and solve a set of problems.

    需求是一个系统必须具备的功能或品质。需求指出了系统拥有的可估量和可验证的功能,同时约定系统必须满足客户的目标,解决相关的问题。

    There are two types of requirements。 Functional requirements。 Non-functional requirements e.g. performance/reliability, interfaces, design constraints, etc.

    有两种类型的需求:

    l 功能性需求。

    l 非功能性需求。象性能/可靠性,界面,设计约束等。

    Requirements elicitation is defined as “the process of identifying needs and bridging the gaps among the involved communities for the purpose of defining and distilling the requirements to meet the constraints of these communities”[SEI]. RE involves social and communication related issues as well as technical issues.

    需求捕获可定义为:需求捕获是两个有关团体相互沟通,识别需要的过程。两个团体通过这个过程提取、定义需求,来约束两个团队。需求捕获既涉及技术问题,也涉及社会交往问题。

    RE can be further broken down into the activities of fact-finding (identification of sources of requirements or stake-holders as we will call them in rest of this document), information gathering (getting the “wish-list” from all the relevant parties) and integration (documenting & refining the “wish-list” through repeated analysis until it is self-consistent)。

    需求捕获可进一步分为查找需求源(识别需求的提出人或则称之为风险承担者,即产品涉及其利益的人,在该文档其余部分将继续使用风险承担者这个词),网罗信息(收集各方面人员的对产品的要求,得到“期望列表”)和整和(反复分析“期望列表”直到前后一致,得到文档化,提炼后的“期望列表”)等活动。

    The product from the elicitation phase is a subset of the goals from various parties. The remainder of the requirements engineering process concerns the validation of this subset to see if this was what the sponsor and the users actually intended.

    在捕获阶段得到的“期望列表”是各方面期望的一个子集。需求工程中的其余活动关注于验证这个子集是否满足客户和使用者的意愿。

0
相关文章