B方法在软件开发和学习中的探讨

来源 :科技致富向导 | 被引量 : 0次 | 上传用户:re_man
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  0.前言
  事实证明,形式化方法在软件开发的过程中以精确的数学语义为基础,能精确描述系统规范, 严格验证规范的性质, 从而更好地保证软件的一致性和可靠性。其B方法的设计目的更是为了规范软件开发的流程和可靠性,其开发的思想也值得在其他学习领域借鉴。本文在阅读相关文献的前提下,消化形式化方法的概念和B方法开发软件的基本思路和方法,并参考B方法的开发思想对当前本人的研究工作进行探讨。
  1.形式化方法概述
  形式化方法是基于数学方法来描述目标软件系统性质的一门技术,它用严格的数学符号和数学法则对目标软件系统的结构与行为进行有效地综合、分析和推理,它为系统的说明、开发和验证提供了一个框架,利于发现目标软件系统需求中的不一致性、不完整性、不确定性等方面的问题。目前流行的形式化技术有:有穷状态机、Petri网、Z语言、B方法。
  1.1形式化方法在软件开发中的作用
  首先是对软件要求的描述。软件要求的描述是软件开发的基础,比如说一般非形式化的描述很可能导致描述的不明确和不一致。如果描述的不明确和不一致导致设计、编程的错误,将来的修改所要付出的代价就非常大。形式化方法则要求描述的明确性,而描述的不一致性也就相对易于发现。
  其次是对软件设计的描述。软件设计的描述和软件要求的描述一样重要。形式化方法的优点对于软件要求的描述同样适用于软件设计的描述。对于简单的系统,形式化的描述有可能直接转换成可执行性程序,这就简化了软件开发过程,节约资源和减少出错的可能性。
  另外,形式化方法可以用于程序的验证,以保证程序的正确性。
  1.2 B方法
  B方法的开发从早期就是与工业界的实际应用一起进步的,在其发展过程中,人们就已经用它作为工具开发了一系列关键性的应用软件系统。一个早期的重要应用是巴黎地铁列车的信号系统,这一系统为减少刹车距离、提高整个地铁系统得安全作出了显著的贡献。B发展到今天,B方法所用的符号和方法支持大部分的软件过程:需求分析、规格说明、软件设计、实现和维护,以及分层软件的逐步构造的确认和验证是B方法的指导性原则。B方法对实际大型软件的开发起了很重要的作用。
  使用B方法开发时,首先需要建模,用B的表示来描述系统变量的主要状态、属性及其在操作中的转变,为系统的实现书写规格说明,在此基础上逐步求精,直到产生一个系统的完整实现。该方法通过一组计算机辅助工具支持规约到实现的全过程开发工作,是一种广谱语言。B-Toolkit包含自动及交互的理论证明工具、一套软件开发工具:AMN类型检验器,规约动画,证明法则生成器,规约和代码生成器。所有开发工具都由一个公共平台支持:B-Tool。最后。通过模式匹配和规则重写机制,对形式化对象生成程序。B语言中结构化的机制像其他面向对象方法一样,增强了信息隐藏和数据封装,严密的部件接口控制确保了大型开发中各个部件的独立开发。
  2.基于B方法的软件开发过程
  B方法的设计目标是作为一种实用的软件形式化方法。作为其先驱的Z 和VDM 等方法,主要关注软件规范说明的描述和性质证明, 没有特别考虑支持基于它们的软件开发过程, 也没有考虑最终代码的自动生成等问题。而B方法則希望支持从规范说明到代码生成的整个软件开发周期。使用B方法开发软件,提倡从更抽象的描述层次开始进行开发, 先用抽象机描述软件系统的抽象结构和抽象功能, 而后对其进行逐步精化。B方法并不严格区分软件的抽象规范、设计和实现之间的差异, 软件规范及其后续的逐层精化都统一用抽象机描述。B方法支持采用从抽象到具体的逐步构造、逐步验证的分层开发方法进行软件开发。
  3.B方法开发思想精髓及在学习中的应用
  3.1 B方法开发思想之规范和精化
  规范和精化是B方法在软件开发中的前提和重要工作,也是该方法的精髓所在。通过,不断的规范和精化,不断精确描述系统的需求,从一个概要的模型逐渐形成一个精确的软件模型,一个可靠、一致、经过严格验证的模型,为设计开发打下重要的基础。
  3.2规范与精化在学习设计中的启示
  从上面描述可知,B方法的开发思路适用于大多数的软件系统开发设计,即使B方法的具体技术不大适用,但是其开发思想中的规范和精化肯定有借鉴可可取之处。以本人接下来的研究工作涉密终端基本安全基线的监控方案的研究为例,要设计一个符合涉密终端安全需求的基本安全基线的监控管理系统。在这里仅是参考B方法的开发思想进行设计,由于对B方法的细节并没有掌握,因此没法用B方法对系统规范和精化。
  首先是规范描述该系统。根据监控系统工作流程如下:当用户尝试访问预定义好的涉密文件和系统关键文件时,系统自动判断用户权限,禁止或者允许其对文件进行操作,同时记录用户的行为,记录在本地日志的同时上报服务器,使得有规范的管理和约束用户行为,同时有效保护涉密文件和系统安全。根据流程,要对系统流程中涉及到的操作对象、操作行为以及行为和对象之间的关系描述清楚,并验证讨论其可行性。
  其次是建立抽象模型。在规范的基础上,构造系统总的框架,以及数据流向,分析功能模块,得到基本的系统模型。此模型要满足基本的需求。
  接着是在抽象模型上精化系统。在基本的模型中,加入功能模块的设计,并在不断的精化过程中,把各种细节问题加进去考虑,如监控日志如何上报,如果分等级上报,用户群权限获取和区分、在线和离线的监控问题。不断细化功能模块,直至最详细的操作过程和功能函数原型。
  最后是进行程序实现。对上一个步骤的各个函数进行实现,进而实现整个系统。
  4.结束语
  本文通过对B方法的学习,了解了基本的形式化方法在软件开发中的应用,以及从B方法开发思想中得到些许启发,有助于更好地解决目前职校教学中计算机软件开发教学方面存在的问题。
  【参考文献】
  [1]陈丹敏,裘宗燕.基于B 方法的应用软件开发.计算机与信息工程学院,2009.
  [2]张志峰.B方法和构件技术在信息系统形式化开发中的应用研究.西安理工大学,2006.
  [3][美]Jean-Raymond Abrial,J.-R.Abrial,裘宗燕[译].B方法.电子工业出版社,2004.
其他文献
孙惠芬的《秉德女人》以苦难叙述的方式,对历史交替时期的人性状态进行了努力探寻。在对苦难的书写中淋漓尽致地展现了人们的精神世界,并表现出了对美好人性的期待。 Sun Wu
【摘要】本文针对各类院校电子资源服务模式老旧,不能满足师生需求为出发点,提出自主研发光盘网络发布平台的设想。论述了自主研发该系统的必要性;阐述了自主研发该系统的设计构想。  【关键词】自主研发;光盘网络发布平台  随着各类院校图书馆的不断发展壮大,图书馆馆藏的纸质资源与电子资源的数量也在不断的增加,其中,电子资源增长的速度非常快。图书馆电子资源主要是光盘,包括随书光盘和非随书光盘:①随书光盘。即随
作文历来是高中语文教学中的重点,许多学生在面临写作时感觉困难重重,作文训练也达不到所期望的效果.提高作文的教学水平十分重要,这里将介绍在作文教学中如何提高学生的写作
【摘要】班主任是班级管理的核心,当一个班主任容易,当好一个班主任,管好一个班集体就不是一件容易的事情了。本着对学生、学校和社会负责的原则,牢记教会学生做人和学习两大主题,结合学校和本班的实际情况来开展工作,过程有快乐也有辛酸,结果较为充实有效。其管理水平的高低,对学生健康、全面的发展,对完成教育和教学的各项任务起着举足轻重的作用。  【关键词】班主任;班级;管理  一、抓思想  抓好学生的思想政治
【摘要】风是日常生活当中不可缺少的一项,而且是可再生能源。在资源短缺的情况下,风力发电事业作为一个新型事业起到了良好的带头作用。随着科技脚步的不断前进,我国的风力研究事业也在不断发展,从而建立起了风电场。但是由于风力发电机长时间的使用而不能进行清洗,在使用时间的日积月累当中,部件的损坏故障情况时有发生。下面对风力发电机组的运行与维护工作进行一下深入探讨。  【关键词】风力发电机;运行;维护;使用 
【摘要】新的化学课程标准要求教学要紧密联系学生的生活实际,从学生的生活经验和已有的知识出发,创设生动有趣的教学情境,引导学生开展观察、操作、猜想、推理、交流等活动,使学生通过化学活动,掌握化学的基本知识和基本技能,学会从化学的角度去观察事物、思考问题,激发对化学的学习兴趣以及学好化学的愿望。可见,教学情境的创设是何等重要。我认为,创设情境是一个有效的教学手段。值得我们深入探讨。  【关键词】化学课
自上个世纪八十年代以来,写作困境一直受到诸多写作者的关注。诗人以诗歌的形式,呈现他所面对的写作困境。九十年代初,诗人思考的是写作者与外部的矛盾,新世纪后诗人思考的是
现如今的教学都在新课改的推动下进行改革.而新课改强调的是培养学生合作、交流的自主学习能力,在语文方面注重培养学生的应用、审美和探究能力,从而为今后的文化修养打下良
【摘 要】本文列举高中物理力学、电磁学方面的习题,通过补偿一定的物理量和物理模型,使问题由繁到简的转变,从而体会补偿法思想在高中物理解题过程中的重要作用。  【关键词】补偿法 高中物理习题 物理量 物理模型  一、引言  在高中物理的学习过程中,有一些物理问题给出了完整的对称的模型,可以直接通过公式求解,但是也会遇到残缺的模型,利用高中的知识无法求解。在不改变原题条件的前提下,可以适当地补偿一定的
产学研合作是高职教育的客观要求,高职教育产学研合作模式的创新,应将借鉴国内外职业教育产学研合作典型模式与自身实际情况和条件相结合,在实践中不断探索,形成有自身特色的