OO课第三单元总结】的更多相关文章

一.梳理JML语言的理论基础 (1)理论基础 JMl的出现很大程度上一为了行为接口的规范化,用这种语言来指定特定模块的特定功能.JML的核心部分分为三个部分:前置条件(requires).后置条件(ensures).副作用(assignable).通过JML的使用,程序员可以轻松的描述一个方法的与其功能而不用管具体的实现方法,JML把过程性的思考延迟到了方法的设计中,从而扩展了面向对象设计的这个原则. (2)应用工具链 OpenJML可以检查JML描述语言语法的正确性.以及所实现的代码能否满足J…
目录 总 JML规格化设计 理论基础 工具链 规格验证 验证代码 代码静态检查 自动生成测试样例 生成结果 错误分析 作业设计 第九次作业 架构 代码实现 第十次作业 架构 代码实现 第十一次作业 架构 代码实现 心得体会 参考 总 本博文是2019年北航面向对象(OO)课程第三单元作业(规格化设计)的总结.三次作业的要求大致如下: 第一次作业:实现一个路径管理系统,可以通过各类输入指令来进行数据的增删查改等交互. 第二次作业:实现一个无向图系统,可以进行基于无向图的一些查询操作. 第三次作业:…
一.梳理JML语言的理论基础 1.jml的注释结构 jml注释语言的每一行都以@作为开始,若是块注释,则需要在注释块的首尾使用/*@ 与@*/ 2.jml的表达式体系 1.原子表达式 表达式可以看作是一个原子类型,常见的有\result表达式(用于表达某个方法执行后的结果).\old表达式(用来表示某个对象执行某操作之前的值). 2.量化表达式 量化表达式是对给定范围内对象批量操作的表达式,其存在大大简化了jml语言,常见的有\forall表达式(范围内对象,都要满足某要求).\exists表达…
目录 一.JML语言理论基础及应用工具链 二.部署JMLUnitNG,自动生成测试用例 三.架构设计 第一次作业 第二次作业 第三次作业 四.Bug分析 五.心得体会 一.JML语言理论基础及应用工具链 理论基础 官网定义: Java建模语言(JML)是一种行为接口规范语言,可用于指定Java模块的行为 .它结合了Eiffel的契约方法设计 和Larch系列接口规范语言的基于模型的规范方法 ,以及细化演算一些元素 . 用法: (1)开展规格化设计.这样交给代码实现人员的将不是可能带有内在模糊性的…
一.JML理论基础及相关工具链 1.JML理论基础 该部分梳理本单元作业中涉及到的JML知识. 1.1注释结构 JML采用javadoc注释的方式来表示规格,且每行以@开头.通过使用//@annotation来进行行注释,使用/*@annotaion@*/来进行块注释. 1.2JML表达式 1.2.1原子表达式 \result表达式,在方法规格中使用,通过\result来指代返回值.在谓词中使用\result,来表达放回值的限制条件. \old(expr)表达式,返回表达式expr在方法执行之前…
目录 写在前面 JML理论基础 JML工具链 JMLUnitNG的使用 架构设计 Bug分析 心得体会 写在前面 OO的第三单元学习结束了,本单元我们学习了如何使用JML语言来对我们的程序进行规格化设计.并对openjml以及JMLUnitNG.JUnit等工具的使用有了初步的了解. JML理论基础 注释结构 JML以javadoc注释的方式来表示规格,每行都以@起头. JML表达式 JML表达式有一下几种: 原子表达式:如\result,\old等. 量化表达式:如\forall,\exist…
一.Jml总结及应用工具链 总的来说,jml就是对java程序进行规格化设计的一种表示语言,其中最核心的就是规格化,将代码要实现的功能和各项要求与约束不是通过自然语言,而是通过严密的逻辑语言来表达,这样让代码实现人员看的更加简洁明了,更极大地提高了代码的可维护性. Jml这一大内容主要分为4个板块,分别是注释结构,JML表达式,方法规格和类型规格. 注释结构方面有着固定的格式,包括前置条件(requires),副作用限定范围(assignable),以及后置条件(ensures).还有规格变量的…
OO第三单元个人总结 JML理论与基础与应用工具链 JML是什么? Java建模语言(JML)是一种行为接口规范语言,可用于指定Java模块的行为 .它结合了Eiffel的契约设计方法 和Larch 系列接口规范语言的基于模型的规范方法 ,以及细化演算的一些元素 .草稿 <Design by Contract with JML>(由Gary T.Leavens和Yoonsik Cheon撰写)解释了JML作为Java的契约式设计(DBC)语言的最基本用法. JML基础语法 原子表达式 \res…
title: 2020 OO 第三单元总结 date: 2020-05-21 10:10:06 tags: OO categories: 学习 第三单元终于结束了,这是我目前为止最惨的一单元,第十次作业强测20分,互测杀成狗--虽然都知道只关注分数没有什么意义,我更应该去体会的是通过JML学习对于程序设计理念的认知,但是--心真的很痛.下面就进入单元总结: 1. JML语言理论基础与工具链 1.1 JML语言是什么 参考课程组下发的<JML(Level 0)使用手册>,JML语言的定义如下:…
OO第三单元作业(JML)总结 目录 OO第三单元作业(JML)总结 JML语言知识梳理 使用jml的目的 jml注释结构 jml表达式 方法规格 类型规格 SMT Solver 部署JMLUnitNG与使用 三次作业架构设计梳理 第一次作业 第二次作业 第三次作业 三次作业中代码的bug及修复 规格撰写与理解的心得体会 JML语言知识梳理 使用jml的目的 开展规格化设计 针对已有的代码实现,书写其对应的规格,从而提高代码的可维护性 jml注释结构 在我目前看来,jml其实就是一门被规定好格式…