1、 软件工程第五讲 软件需求与软件需求规约朱建凯三、软件需求及系统 /产品 (需求 )规约定义问题的基本要素是 ”需求 ”需求的基本性质必要的 (Necessary)。无歧义的 (Unambiguous)。可测试的 (testable)。可跟踪的 (Traceable)。 可测量的 (Measurable)。 3) 需求分类功能; 性能;外部接口;设计约束; 质量属性。 功能需求功能需求规约了系统或系统构件必须执行的功能。 性能需求性能需求 (Performance requirement)规约了一个系统或系统构件必须具有的性能特性。外部接口需求外部接口需求 (External interfac
2、e requirement)规约了系统或系统构件必须与之交互的硬件、软件或数据库元素。它也可能规约其格式、时间或其他因素。例如:账户接收系统必须为月财务状况系统提供更新信息,如在 “财务系统描述 ”第 4修订版中所描述的。引擎控制系统必须正确处理从飞行控制系统接收来的命令,符合接口控制文档 B2-10A4,修订版 C的 1到 8段的规定。-用户接口 (User interfaces):规约了软件产品和用户之间接口的逻辑特性。即规约 对给用户所显示的数据,对用户所要求的数据以及用户如何控制该用户接口。-硬件接口 (Hardware interfaces):如果软件系统必须与硬件设备进行交互,那么
3、就应说明所要求的支持和协议类型。-软件接口 (Software interfaces):允许与其它软件产品进行交互,如,数据管理系统、操作系统或数学软件包。-通讯接口 (Communications interfaces):规约待开发系统与通讯设施 (如,局域网 )之间的交互。如果通讯需求包含了系统必须使用的网络类型( TCP/IP, WindowsNT,Novell ),那么有关类型的信息就应包含在 SRS中。-存储 约束 (Memory constraints):描述易失性存储和永久性存储的特性和限制,特别应描述它们是否被用于与一个系统中其它处理的通讯。-操作 (Operation):规约
4、用户如何使系统进入正常和异常的运行以及在系统正常和异常运行下如何与系统进行交互。应该描述在用户组织中的操作模式,包括交互模式和非交互模式;描述每一模式的数据处理支持功能;描述有关系统备份、恢复和升级功能方面的需求。-地点需求 (Site adaptation requirements):描述系统安装以及如何调整一个地点,以适应新的系统。设计约束设计约束限制了系统或系统构件的设计方案。就约束的本身而言,对其进行权衡或调整是相当困难的,甚至是不可能的。它们必须予以满足。这一性质,是与其它需求的最主要差别。为了满足功能、性能和其它需求,许多设计约束将对软件项目规划、所需要的附加成本和工作产生直接影响
5、。例如:系统必须用 C+或其他面向对象语言编写。 系统用户接口需要菜单。任取 10秒,一个特定应用所消耗的可用计算能力平均不超过 50%。必须在对话窗口的中间显示错误警告,其中使用红色的、 14点加粗Arial字体。针对产品开发,为确定其相关的设计约束,一般需要考虑以下 10个方面:-法规政策 (Regulatory policies);-硬件限制 (Hardware limitations),例如:处理速度、信号定序需求、存储容量、通讯速度以及可用性等;-与其它应用接口 (Interfaces to other applications),如,当外部系统处于一个特定状态时,禁止新系统某些操作
6、-并发操作 (Parallel operations),例如,可能要求从 /自一些不同的源,并发地产生或接收数据。对此,必须清晰地给出有关时间的描述。-审计功能 (Audit functions),规约软件系统必须满足的数据记录准则或事务记录准则。如,如果用户察看或修改数据,那么就可能要求该系统为了以后复审,记录该系统的动作。-控制功能 (Control functions):可以对系统的管理能力进行远程控制、可以对其他外部软件以及内部过程进行控制。-高级语言需求 (Higher order language requirements):-握手协议 (Signal handshake protocols):通常用于硬件和通讯控制软件,特别当给出特定的时间约束时,一般就要把“握手协议 ”作为一项约束。-应用的关键程度 (Criticality of the application),许多生物医学、航空、军事或财务软件属于这一类。-安全考虑 (Safety and security considerations)。