20世纪80年代以来,形式化软件开发方法的研究及应用为解决上述问题找到了一条有效的途径,使用形式化方法开发软件可以提高软件的可读性、可靠性和可维护性以及软件的开发效率,并为实现软件开发的自动化奠定基础。软件开发的形式化方法是以一般形式化方法为基础的。它尤其适用于高安全性系统的开发,这也是形式化方法目前最主要的应用领域。另外,某些形式化方法缺乏描述软件结构的强有力机制,对大型软件的开发不太理想。......
2023-10-25
形式化方法按其形式化程度来分,主要有两种:完全形式化方法和部分形式化方法。
1.完全形式化方法
对于一个给定的算法程序设计问题,先用符号化的规范描述语言,写出这个问题的形式化规范,然后采用变换方法,将问题的形式规范变换成可执行的程序。变换的开始、中间到结束,产物是一符号串,这种形式化方法称为完全形式化方法。使用完全形式化方法产生程序的过程可以用计算机机械地产生,但目前用这方法只能产生没有创造性劳动的简单程序。
2.部分形式化方法
对于给定算法程序设计的问题,应先写出该问题的形式化规范,然后使用形式化和非形式化相结合的方法,开发或证明算法程序正确,这种方法常称为部分形式化方法或数学家的形式化方法。使用这种类型的形式化方法常常可以设计和证明一类相当复杂的算法程序和软件。目前在各类数学和程序设计方法学专著和教材中使用的方法就是属于部分形式化方法。使用这种方法进行软件或算法程序设计或证明时,非形式化方法不能够由计算机机械地进行。
由前面的叙述可知,软件开发的形式化方法作为一般形式化方法的特例,也存在其固有局限性,因此软件开发过程不可能完全形式化。所以,目前软件开发的形式化方法主要是以部分形式化方法为主。
总体上,形式化软件开发方法大致可分为以下五类:(www.chuimin.cn)
1.基于模型的方法。给出系统(程序)状态和状态变换操作的显式但亦是抽象的定义,对于并发没有显示的表示。Z和VDM即属于该类方法。
2.代数方法。通过联系不同操作间的行为关系而给出操作的隐式定义,而不是定义状态。同样,它亦未给出并发的显式表示。
3.过程代数方法。给出并发过程的一个显式模型,并通过过程间允许的可观察的通信上的限制(约束)来表示行为。
4.基于逻辑的方法。有很多方法采用逻辑来描述系统的特性,包括程序行为的低级规范和系统时间行为的规范。
5.基于网络的方法。根据网络中的数据流显式地给出系统的并发模型,包括数据在网中从一个节点流向另一个节点的条件。
有关形式化构件装配的图算法生成的文章
20世纪80年代以来,形式化软件开发方法的研究及应用为解决上述问题找到了一条有效的途径,使用形式化方法开发软件可以提高软件的可读性、可靠性和可维护性以及软件的开发效率,并为实现软件开发的自动化奠定基础。软件开发的形式化方法是以一般形式化方法为基础的。它尤其适用于高安全性系统的开发,这也是形式化方法目前最主要的应用领域。另外,某些形式化方法缺乏描述软件结构的强有力机制,对大型软件的开发不太理想。......
2023-10-25
变换的开始、中间到结束、产物是一符号串,这种形式化方法称为完全形式化方法。所以,目前软件开发的形式化方法主要是以部分形式化方法为主。总体上,形式化软件开发方法大致可分为以下五类:基于模型的方法。......
2023-10-25
继承是指子类可以自动拥有父类的全部属性和操作。另外如图7-2所示,表示出了几种类之间的继承关系,位于上层的类是下层类的直接或间接父类,最下层是几种类实例化成的对象。图7-1 继承的描述图7-2 继承的例子继承性又分为单重继承和多重继承两类。单重继承时一个子类只能有一个父类,多重继承时一个子类可以有多于一个的父类。单重继承构成的类之间关系是一棵树,多重继承构成的类之间的关系是一个图。继承具有传递性。......
2023-11-23
按照软件权益分类,软件可分为商品软件、共享软件、自由软件和免费软件。商品软件需要用户付费才能得到其使用权。它除了受到版权保护,通常还受到软件许可证的保护。所谓软件许可证,是一种法律合同,它确定了用户对软件的使用方式,扩大了版权法给予用户的权利。图3.1自由软件创始人Richard Stallman免费软件是无需付费即可获得的软件,如PDF阅读器、Flash播放器等,但是通常有一些限制,如使用者没有研究、修改和分发软件的自由。......
2023-10-22
步骤3:单击“确定”按钮,返回至表格中即可看到选中的数据已被分类汇总,如图7-92所示。使用“分类汇总”命令,不需要创建公式,Excel将自动创建公式,并对数据清单的某个字段提供诸如“求和”和“均值”之类的汇总函数,实现对分类汇总值的计算,而且将计算结果分级显示出来。......
2023-11-23
数据处理系统是管理信息系统的初级阶段。系统的建成,使该公司航班满座率大大领先于其他航空公司,带来了巨大的经济效益。具有统一规划的数据库是管理信息系统成熟的重要标志。管理信息系统的不足是缺乏对非结构化问题的解决能力。......
2023-11-23
需求工程的过程分为需求准备、需求获取、业务建模、系统建模等阶段,中间各环节通过关联规则体系串接起来以达到跟踪监控整体需求工程进度的目的。......
2023-11-17
要给一个名词下定义,是一件很严肃和严谨的事情,因此,要给出需求工程准确的定义是不太现实的。本书从方法论推进和实施的角度出发,提出了本书对需求工程的理解和定义。需求工程是面向业务全局、系统顶层的一种着眼于软件过程全过程的工程,是将客户业务作为内部研究对象、将软件工程实施作为外部研究对象的工程。之后,书中提到的需求工程即以此定义为准。......
2023-11-17
相关推荐