2.2 需求分析阶段

嵌入式系统的特点决定了在开发初期的需求分析过程中就要清楚系统需要完成的任务。在需求分析阶段需要将各种需求分类整理,包括三个不同的层次:业务需求、用户需求和功能需求(也包括非功能需求)。业务需求说明客户和产品开发商在新系统中的最初利益,反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目视图与范围文档中予以说明。用户需求文档描述了用户使用产品必须要完成的任务,这在使用实例文档或方案脚本说明中应予以说明。功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足业务需求。需求分析阶段各部分的关系如图2-2所示。

图2-2 需求分析阶段各部分关系图

嵌入式开发的需求分析阶段与一般软件开发的需求分析阶段大体相似。确定需求分析通常要从以下几个方面着手进行。

1.需求获取和分析

对用户提出的问题和要求进行抽象识别以获得所需要的各种需求分析结果:功能需求、性能需求、可靠性需求、安全需求、用户界面需求、资源使用需求、软件成本和开发进度需求等。

2.编写规格说明书

规格说明阐述了一个软件系统必须提供的功能、性能以及它所要考虑的限制条件,它不仅是系统测试和用户文档的基础,也是所有子系列项目规划、设计和编码的基础。它应该尽可能完整地描述系统预期的外部行为和用户可视化行为,主要包括需求规格说明书和用户文档等。

3.需求评审和验证

对需求文档进行正式审查是保证软件质量的有效方法。需求评审的内容包括正确性、无歧义、安全性、一致性、可验证、可理解、可修改和可追踪等多个方面。根据用户需求所要求的产品特性写出黑盒功能测试用例。客户通过使用测试用例以确认是否达到了期望的要求。还要从测试用例追溯功能需求以确保没有需求被疏忽,并且确保所有测试结果与测试用例相一致。同时,要使用测试用例来验证需求模型的正确性。