1.3 软件需求的分类
虽然对软件需求的定义有多种形式,但从软件用户多年来对软件的实际需求来看,软件的需求(或用户需求)通常可以大致分类如下:目标需求:反映组织机构或客户对系统和产品提出的高层次的目标要求,其限定了项目的范围和项目应达到的目标。业务需求:主要描述软件系统必须完成的任务、实际业务或工作流程等。软件开发人员通常可从业务需求进一步细化出具体的功能需求和非功能需求。功能需求:指开发人员必须实现的软件功能或软件系统应具有的外部行为。性能需求:指实现的软件系统功能应达到的技术指标,如计算效率和精度、可靠性、可维护性和可扩展性等。约束与限制:指软件开发人员在设计和实现软件系统时的限制,如开发语言、使用的数据库等。在这些需求中,功能需求描述系统做什么,由性能需求和约束与限制构成的非功能需求则为实现这些功能需求设定约束和限制。软件需求间的关系可分层次地表示,如图11所示。
由以上的这些需求就可构成软件需求规格说明。下面我们通过与文字处理系统相关的部分需求来说明需求的分类。目标需求:用户使用系统能有效地纠正文档中的拼写错误,系统能满足用户的业务要求以及提高用户的工作效率。业务需求:当找到文档中的拼写错误时,通过可供选择的单词表,选择单词表中的一个单词后,再替换掉原来的单词。
功能需求:查找文档中的单词,并高亮度地显示出错的单词。用对话框显示可供选择的单词表,实现整个文档范围内的替换。
性能需求:检查单词的速度快,准确率要求达到99%,系统的有效性和可靠性要高等。约束与限制:文件内部格式要与Word系统一致。开发平台为Linux系统,使用C语言等。
相关资源:七夕情人节表白HTML源码(两款)