规格化设计——OO第三单元总结】的更多相关文章

规格化设计--OO第三单元总结 一.JML语言理论基础.应用工具链 1.1 JML语言 ​ JML(java modeling language)是一种描述代码行为的语言,包括前置条件.副作用等等.JML是一种行为接口规格语言 (Behavior Interface Specification Language,BISL),基于Larch方法构建. ​ 通过使用JML,我们可以忽略一个类.一个方法内部的具体实现,专注于描述方法的预期功能,从而把过程性的思考延迟到方法设计中,扩展了面向对象设计的原则…
OO第三单元--JML规格化设计 JML语言的理论基础以及应用工具链情况 理论基础 JML是对JAVA程序进行规格化设计的一种表示语言,是一种行为接口规格语言.JML整合了Java和JAVAdoc,并且引入了并要的形式化表达手段. 其方法规格核心包括:前置条件.后置条件和副作用约定.通过对方法的出入参数.执行结果以及可以修改的对象的属性/类的静态成员变量的限制,来保证方法的执行.书写规格时无需关系具体怎么做,只需关心调用方法后的结果.类型规格包括不变式约束和约束限制. JML语言的两个主要用法是…
[OO学习]OO第三单元作业总结 第三单元,我们学习了JML语言,用来进行形式化设计.本单元包括三次作业,通过给定的JML来实行了一个对路径的管理系统,最后完成了一个地铁系统,来管理不同的线路,求得关于价格.换乘.不满意度等最短路信息. 本文将介绍:JML语言理论基础.应用工具链和工具的使用方法:SMT Solver:JMLUnitNG自动生成测试用例:三次作业的架构设计:Bug查找策略:个人心得. JML JML(Java Modeling Language)是用于对Java程序进行规格化设计…
OO第三单元(地铁,JML)单元总结 这是我们OO课程的第二个单元,这个单元的主要目的是让我们熟悉并了解JML来是我们具有规格化编程架构的思想.这个单元的主题一开始并不明了,从第一次作业的路径到第二次作业的图再到第三次作业的地铁系统,需求一步步提升,整个架构也变得复杂.这三次作业为我们模拟了一个需求不断进化的过程,也考验了我们在规格之下的架构能力. 一.JML语言的理论基础及应用工具链 1. 理论基础 JML(Java Modeling Language)是用于对Java程序进行规格化设计的一种…
OO第三单元--基于JML的社交网络总结 一.JML知识梳理 1)JML的语言基础以及基本语法 JML是用于java程序进行规格化设计的一种表示语言,是一种行为接口规格语言.其为严格的程序设计提供了一套行之有效的方法.通过JML以及其支持工具,不仅可以基于规格自动构造测试用例,并整合了SMT Solver等工具以静态方式来检查代码实现对规格满足情况.一般来说,其运用于以下两种情况:①开展规格化设计②针对已有的代码,书写其对应的规格,从而提高代码的可维护性. 基本语法: 关键词 含义 pure 纯…
title: 2020 OO 第三单元总结 date: 2020-05-21 10:10:06 tags: OO categories: 学习 第三单元终于结束了,这是我目前为止最惨的一单元,第十次作业强测20分,互测杀成狗--虽然都知道只关注分数没有什么意义,我更应该去体会的是通过JML学习对于程序设计理念的认知,但是--心真的很痛.下面就进入单元总结: 1. JML语言理论基础与工具链 1.1 JML语言是什么 参考课程组下发的<JML(Level 0)使用手册>,JML语言的定义如下:…
2020北航OO第三单元总结 本单元要求是根据JML规格完善代码,初看是一个简单的代码照搬实现的东西,但最后才发现由于CPU时间的限制,还考察了大量优化策略及数据结构中关于图的知识,是一次非常注重细节构思的一单元,我借此机会学习并巩固了好几个图的算法,并了解了java各类容器的查插删改的效率. 一.JML理论基础 JML(Java Modeling Language)是用于对Java程序进行规格化设计的一种表示语言,它相当于一种接口,正确的JML可以给实现人员清楚的代码要求,并且针对已有代码书写…
OO第三单元作业(JML)总结 目录 OO第三单元作业(JML)总结 JML语言知识梳理 使用jml的目的 jml注释结构 jml表达式 方法规格 类型规格 SMT Solver 部署JMLUnitNG与使用 三次作业架构设计梳理 第一次作业 第二次作业 第三次作业 三次作业中代码的bug及修复 规格撰写与理解的心得体会 JML语言知识梳理 使用jml的目的 开展规格化设计 针对已有的代码实现,书写其对应的规格,从而提高代码的可维护性 jml注释结构 在我目前看来,jml其实就是一门被规定好格式…
OO第三单元 JML语言理论基础,应用工具链 JML语言基础 JML简介 定义: JML 是一种形式化的. 面向 JAVA 的行为接口规格语言 作用: 开展规格化设计.这样交给代码实现人员的将不是可能带有内在模糊性的自然语言描述,而是逻辑严格的规格. 针对已有的代码实现,书写其对应的规格,从而提高代码的可维护性.这在遗留代码的维护方面具有特别重要的意义. JML语言语法相关 表达式 \result :方法执行后的返回值 \old(expr): 表示一个表达式expr 在相应方法执行前的取值 \n…
OO第三单元作业总结--JML 第三单元的主题是JML规格的学习,其中的三次作业也是围绕JML规格的实现所展开的(虽然感觉作业中最难的还是如何正确适用数据结构以及如何正确地对于时间复杂度进行优化). 关于JML语言 JML语言概述 JML是Java Modeling Language的缩写,意思是Java建模语言,是一种进行详细设计的符号语言. 使用JML语言的好处主要有以下几点: 能够描述类和方法的运行方式,从而使代码的编写过程更加契合面向对象思想: 可以更加高效地发现和修正程序中的bug 在…