没有需求没有软件
作者:网络转载 发布时间:[ 2013/6/27 14:04:01 ] 推荐标签:
需求分析和模拟又包含三个层次的工作。首先是需求建模。需求模型的表现形式有自然语言、半形式化(如图、表、结构化英语等)和形式化表示等三种。自然语言形式具有表达能力强的特点,但它不利于捕获模型的语义,一般只用于需求抽取或标记模型。半形式化表示可以捕获结构和一定的语义,也可以实施一定的推理和一致性检查。形式化表示具有精确的语义和推理能力,但要构造一个完整的形式化模型,需要较长时间和对问题领域的深层次理解。对需求概念模型的要求包括:
● 实现的独立性:不模拟数据的表示和内部组织等;
● 足够抽象:只抽取关于问题的本质方面;
● 足够形式化:语法无二义性,并具有丰富的语义;
● 可构造性:简单的模型块,能应付不同复杂程度和规模的描述;
● 利于分析:能支持二义性、不完整性和不一致性分析;
● 可追踪性:支持横向交叉索引并能与设计或实现等建立关联;
● 可执行性:可以动态模拟,利于与现实相比较;
● 小性:没有冗余的概念。
需求模拟技术又分为企业模拟、功能需求模拟和非功能需求模拟等。
企业模拟是一种软系统方法,涉及整个组织,从各个不同的视点分析问题,包括目标、组织结构、活动、过程等。有的企业模拟还建立可执行的领域模型。采用企业模拟方法产生的不仅仅是规格说明,还可以得到许多关于企业运作的状况分析。目前代表性的工作包括:信息模拟、组织模拟和目标模拟等。
功能需求模拟从不同视点为模拟软件提供服务,包括结构视点和行为视点等,主要方法有:结构化分析、面向对象分析和形式化方法。结构化分析是一种面向数据的方法,以数据流为中心。其核心概念包括:进程、数据流、数据存储、外部实体、数据组和数据元素。有代表性的模拟工具有:数据流图、数据字典、原始进程规格说明。面向对象分析以对象及其服务作为建模标准,比较自然,对象也具有相对的稳定性。主要模拟的元素有:对象、类、属性、关系、方法、消息传递、Use Cases等。其主要原理包括分类继承层次、信息隐藏、汇集关系等。形式化方法从广义上说,是应用离散数学的手段来设计、模拟和分析,得到像数学公式那样精确的表示。从狭义上说,是使用一种形式语言进行语言公式的形式推理,用于检查语法的良构性并证明某些属性。形式化方法一般用于一致性检查、类型检查、有效性验证、行为预测以及设计求精验证。引入形式化机制的目的是:
● 减少二义性,提高精确性;
● 为验证打下基础;
● 允许对需求进行推理;
● 允许执行需求。
但是人们常常不用形式化手段,因为:
● 形式化涉及太多细节,分析的级别较低;
● 形式化的核心问题是一致性和完整性,而不是获取需求;
● 没有合适的工具;
● 要求更多的代价。
传递需求的主要任务是书写软件需求规格说明,其目的是:
● 传达对需求的理解;
● 作为软件开发项目的一份契约;
● 作为评价后续工作的基线;
● 作为控制需求进化的基线。
对需求规格说明感兴趣的群体包括:用户、客户;系统分析员、需求分析员;软件开发者、程序员;测试员;项目管理者。
认可需求是让上述人员对需求规格说明达成一致,其主要任务是冲突求解,包括定义冲突和冲突求解两方面。常用的冲突求解方法有:协商、竞争、仲裁、强制、教育等,其中有些只能用人的因素去控制。
进化需求的必要性是明显的,因为客户的需要总是不断(连续)增长的,但是一般的软件开发又总是落后于客户需求的增长,如何管理需求的进化(变化)成为软件进化的首要问题。对传统的变化管理过程来说,其基本成分包括软件配置、软件基线和变化审查小组。当前的发展是软件家族法,即产品线方法。多视点方法也是管理需求变化的一种新方法,它可以用于管理不一致性并进行关于变化的推理。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11