论文部分内容阅读
本文主要通过向量、集合、笛卡尔积等数学概念对软件分解方法和敏捷开发过程进行了形式化,提出了敏捷开发过程的形式化模型,将形式化模型应用到软件质量保证当中,采用微分动力系统理论证明了软件缺陷是不可消除的,验证了形式化模型具有一定的理论意义。本文的主要研究工作如下:1.软件是一个复杂系统,要开发一个软件必须对软件进行分解,数据流图作为典型的结构化分析方法,选择了数据流图作为研究软件分解方法的具体对象。分析讨论了用数据流图分解软件的过程,抽象出类图表示的半形式化模型,采用向量、集合、笛卡尔乘积等数学概念对数据流图中的数据进行了形式化,用函数对数据流图中的处理进行了形式化,提出了分解软件的形式化模型,并推导出了函数的依赖关系。2.采用业务流程图研究了瀑布模型、快速原型模型、增量模型等传统的开发过程,重点研究了敏捷开发过程中的Scrum开发过程。用业务流程图分析了Scrum的开发过程,用类图分析Scrum中的工件及其相互关系,补充了黑盒中的中间过程,抽象出了Scrum的半形式化模型,并结合分解软件的半形式化模型,讨论了数据流图中的处理和Scrum开发过程中的Scrum工件及中间产物的对应关系,用分解软件的形式化模型当中的概念提出了Scrum工件的形式化模型,并推导出了工件的依赖关系。3.根据分解软件的形式化模型和Scrum工件的形式化模型,定义了任务、错误等软件开发当中的概念和缺陷、软件状态等软件中的概念,提出了敏捷开发过程的形式化模型,推导出了错误在开发过程中的传播途径,错误导致软件缺陷的途径等性质。4.将形式化模型应用到软件质量保证当中。利用形式化模型构建了缺陷传播模型,通过稳定性理论分析该模型后得到其唯一的平衡点是全局稳定的,证明了软件缺陷是不可消除的,验证了形式化模型有一定的理论意义。