软件要求的分类
添加时间:2019-04-03 15:07:29
来源:
根据IEEE标准729,要求定义如下:
用户解决问题或实现目标所需的条件或能力
系统或系统组件必须满足或拥有的条件或能力,以满足合同,标准,规范或其他正式施加的文件
记录1和2中的条件或能力的表示。
软件要求可以是3种类型:
功能要求
非功能性要求
域要求
软件要求
功能要求:这些是最终用户特别要求作为系统应提供的基本设施的要求。所有这些功能都必须作为合同的一部分纳入系统。它们以给予系统的输入,执行的操作和预期的输出的形式表示或陈述。它们基本上是用户声明的要求,可以直接在最终产品中看到,与非功能要求不同。
例如,在医院管理系统中,医生应该能够检索他的患者的信息。每个高级功能需求可能涉及系统与外部世界之间的若干交互或对话。为了准确描述功能要求,必须枚举所有方案。
有许多表达功能要求的方法,例如,自然语言,没有严格语法的结构化或格式化语言以及具有适当语法的正式规范语言。
非功能性要求:这些基本上是系统必须根据项目合同满足的质量约束。实施这些因素的优先级或程度因项目而异。它们也被称为非行为要求。
他们基本上处理以下问题:
可移植性
安全
可维护性
可靠性
可扩展性
性能
可重用性
灵活性
NFR分为以下类型:
接口约束
性能限制:响应时间,安全性,存储空间等。
运营限制
生命周期限制:可持续性,可移植性等
经济约束
指定非功能性需求的过程需要了解系统的功能,以及系统运行的上下文的知识。
域要求:域要求是特定类别或项目域的特征要求。特定域的系统必须具有的基本功能属于此类别。例如,在维护学校或学院记录的学术软件中,能够访问教师列表和每个年级的学生列表的功能是域要求。因此,这些要求是从该域模型中识别出来的,并非用户特定的。