一.JML 语言的理论基础及应用工具链 JML 是一种行为接口规格语言,提供了对方法和类型的规格定义手段.通过 JML 和其支持工具,不仅可以基于规格自动构造测试用例,并整合了 SMT Solver 等工具以静态方式来检查代码实现对规格的满足情况. 1.1 方法规格 JML 中的前置条件指的是在调用方法之前必须要满足的条件: 后置条件指的是该方法返回时必须要满足的条件,即制定了该方法的指责: 副作用范围限定指的是在执行过程中可能(允许)被修改的对象的属性数据或者类的静态成员变量. 1.2 类型规…
一.总结第四单元两次作业的架构设计 1.1 第一次作业 类图如下: 为了突出类.接口.方法.属性.和参数之间的层次结构关系,我为 Class 和 Interface 和 Operation 分别建立了三个专门的类来存储,Class 和 Interface 中包含下层的 Operation 和 Attribute ,Operation 中包含 Parameter .(由于这一次针对接口的操作较少,应该有的一些操作被我注释掉了.) 本来调整过后将计算的模块都下沉到了具体的类操作,但仍有构造函数需要的…
OO第三次博客作业 1. 规格化设计的发展 我认为,规格化设计主要源自于软件设计的两次危机.第一次是由于大量存在的goto语句,让当时被广泛应用的面向过程式的编程语言臃肿不堪,在逻辑性上与工程规模上鱼与熊掌不可兼得.故而,人们提出了结构化程序设计的编程思想,旨在使程序实现结构化设计的思想.这种设计思想旨在控制各个模块的程序复杂度,从而保证整体工程的正确性. 然而,由于硬件设备的快速迭代,对于软件的要求也越来越高.工程的日益庞大.面向过程程序的可扩展性差.可维护性有限,使得人们提出了面型对象程序编…
OO第三次博客作业——规格 一.调研结果: 规格的历史: 引自博文链接:http://blog.sina.com.cn/s/blog_473d5bba010001x9.html 传统科学的特点是发现世界,而软件的特点是构造世界.软件的最底层就是0,1,两个离散的值. 程序设计语言的三次分离使软件技术产生了飞跃 1950年代,第一次分离,主程序和子程序的分离程序结构模型是树状模型,子程序可先于主程序编写.通过使用库函数来简化编程,实现最初的代码重用.产生基本的软件开发过程:分析—设计—编码—测试,…
oo第四次博客作业 一.测试与正确性论证比较 测试只是单方面片面的证明对于当前的输入程序是正确的,测试只能证明程序有错误,不能说明程序是对的. 正确性论证是程序达到预期目的的一般性陈述,是通过规范化的论证来说明程序运行是否符合预期,严谨的证明是可以有效说明程序的正确性的. 二.OCL语言与JSF规格的比较 OCL(object constraint language)对象约束语言,一种用来进行约束定义的,形式化的无二义的语言.OCL是一个类型语言,任何表达式的值都是属于一个类型的.这个类型可以是…
OO第4次博客作业 一.第4单元设计 第四单元主要围绕UML图的结构进行JAVA代码编写,对JAVA的层次结构进行更多的认识.个人认为编程操作在实质上与上一章的PathContainer有许多的相同之处,难度也较上一章降低的很多.与此同时有许多新的新的概念需要理解,对我提出了编程之外的要求. 第十三次作业 这次作业主要解决UML中的类图.主要包括2点内容,即类图的构建以及相应的查找函数. 1.课程预先写好的接口给出的是一种链式存储结构,通过ParentId找到所属的上层结构.在实际的编程中为了方…
第三次博客作业:案例分析 1. 调研和评测 1.1 BUG及设计缺陷描述 主要测试博客园在手机端上的使用情况. [BUG 01] 不能后退到上一界面(IOS) 重现步骤:打开博客首页中任意博文,点击博文中的链接跳转到其它网页,点击左上角返回按钮 测试结果:直接回到博客首页,而非回到博文 分析:博文中引用链接是非常常见的情况,而当阅读了链接网页的内容后,用户一般会选择继续阅读博文,而直接跳转到博客首页意味着还要重新寻找之前阅读的博文,这样下来看完一篇博文要反复打开若干次,不仅很麻烦,还容易出现找不…
在我开始写这次博客作业的时候,窗外响起了希望之花,由此联想到乘坐自己写的电梯FROM-3-TO--1下楼洗澡,然后······ 开个玩笑,这么辣鸡的电梯肯定不会投入实际使用的,何况只是一次作业.还是从中认真分析一下经验和不足吧. 作业一:FIFO单电梯 现在看起来,作业一的难度在整个单元真的仅仅相当于热身.使用线程安全的集合类ConcurrentLinkedQueue存储线程,再用while(true)轮询的方法实现电梯的获取请求,获得请求后运行电梯,运行结束后等待下一个请求即可.整个程序甚至不…
(注意:本文写作顺序与作业要求不完全一致,但涵盖了作业的所有要求) 一学期的BUAA特色OO课程结束了. PART 1  我想先写我这一学期的感想 从第一单元满怀期待地写完多项式求值到最后看着60分不到的成绩伤心欲绝(这个词用的其实并不是特别夸张),到第二单元作业在截止前两小时还在做不停地思考和调试,再到第三单元在活页纸上记下一种又一种可能的实现方法(然后还有一堆bug2333),最后到第四单元,也就是这个单元的与考期共舞,与程序广度作斗争,每个单元都是你从未玩过的船新版本(因为OO课程改革所以…
1.助教博客链接:https://www.cnblogs.com/lxt-/MyComments.html 2.学生作业打分要求:   https://www.cnblogs.com/nwnu-daizh/p/10527959.html https://www.cnblogs.com/nwnu-daizh/p/10447658.html 3.点评作业情况: 本周加上上周剩余未点评博客,共计20份,3人未交. 每个学生的基础不同,根据他们的完成成度都给出了相应的分数. 4.本周点评有困难的地方:…