【系统分析师之路】原创章节 形式化开发方法思维导图

【系统分析师之路】原创章节 形式化开发方法思维导图

一. 形式化开发方法

形式化开发方法以坚实的数学为基础,通过数学分析来提供系统的可靠性和鲁棒性。形式化开发方法需要开发人员具备良好的数学基础,能够使用数学的表述和研究应用问题。
但是形式化方法也有其局限的地方,比如形式化开发方法一般都只能用在中小型项目当中,在形式化开发方法中即使导入了数学模型也无法完全保证正确性;形式化开发方法也缺乏对软件生命周期内各个阶段的全面支持。
在这里插入图片描述

二. 净室软件工程

净室软件工程是形式化开发方法的一种,使用净室软件工程可以提高开发软件的质量,他是一个软件工程模型,强调正确性的数学验证和强调软件可靠性认证。
净室软件工程有什么样的特征呢?
他使用盒结构规约来分析建模,相比测试他将正确性验证作为发现排除错误的主要机制。
在这里插入图片描述

三. 模型驱动架构MDA

我将模型驱动架构MDA归类于形式化开发方法的理由是MDA强调模型驱动软件的开发,形式化开发方法也强调模型,但形式化方法使用的是数学模型,都是围绕模型。
同时在MDA中,强调文档代码的一致性,通过模型自动生成代码,提高了开发效率和质量,也就是说通过代码自动生成来取代测试对于质量保证的作用。
先说说模型驱动架构的三个特点分别是文档代码的一致性,可移植性以及平台的互操作性。因为在模型驱动架构当中我们可以将平台无关模型转化为平台相关的模型,所以可移植性强这个就比较容易可以理解;模型驱动架构的标准化程度比较高所以具备平台的互操作性。
使用模型驱动的开发方法主要的活动有以下这些:首先在需求分析阶段我们要通过需求构造出计算无关模型CIM;
分析计算无关模型CIM得到平台无关模型并进一步进化为PIM;
第三步将平台无关模型PIM转换成特定的平台相关模型PSM;
最后一步将平台相关模型PSM转换成实现特定模型ISM,生成代码并进行测试
与传统的软件开发方法开发模型相比模型驱动开发的特点有很好的支持从模型到代码自动生成,自动实现模型之间的变化,业务逻辑模型和实现技术平台相互分离;提高了软件开发的质量和开发效率。
在这里插入图片描述

四. 形式化测试方法

形式化开发方法主要采用了正确性验证来取代测试,所以和软件工程中的静态测试的理念比较接近所以将静态测试的概念也放在一起进行介绍。

1)静态测试

什么是静态测试?
静态测试一般采用人工或计算机辅助静态分析的方法对程序进行检测找到程序代码中不合规范的地方,根据质量模型对代码进行质量评价,静态测试无需编译无需运行代码,这是和动态测试最大的不一样的地方。
静态测试一般普遍使用在软件工程中的需求分析概念设计详细设计和编码的过程当中,包括三方面的内容:分别是桌面检查代码审查和代码走查。
在这里插入图片描述

2)静态测试具体方法

静态测试具体的方法包括的四种叫做控制流分析,数据流分析,接口分析和表达式分析。控制流分析和数据流分析分别使用的都是程序流程图,控制流分析侧重于程序的控制结构,数据流分析分析的是数据的初始化,赋值以及引用异常。比如数据不匹配,数据越界对于这些的检查属于表达式分析,接口分析主要分析的是模块之间接口一致性。
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的横打

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值