OO博客总结——OO落下帷幕】的更多相关文章

OO博客总结--OO落下帷幕 凡此过往,皆为序章. 不知不觉OO课程即将落下帷幕,一路坎坎坷坷磕磕绊绊,可算是要结束了,心里终于松了一口气,也有小小的不甘和遗憾.凡此过往,皆为序章.特殊的线上OO课程结束了,但面向对象的旅程才刚刚开始! 一.第四单元架构设计 第一次作业 本次作业是完成类图的解析器,对类图进行一些基本的分析,如对类图中类\操作\属性\关联\实现\继承等查询. 我认为第四单元作业第一步要解决的是对UML的几种主要视图,特别是类图,状态图,顺序图的结构和mdj文件结构的分析.如果将U…
目录 Hugo+Github 搭建个人博客(Windows环境下) 1.前言 2.Differences 2.1 https vs SSH 2.2 新建的github的仓库名必须为 用户名+github.io 2.3 将文件上传到GitHub前应先pull 2.4 上传到GitHub后部署网站 3.常见问题 3.1 Updates were rejected because the tip of your current branch is behind 3.2 Refusing to merg…
目录 用Hugo在gitee上构建博客(Windows环境下) 1.为什么要用gitee? 2.安装git 3.安装Hugo 4.创建远程仓库 5.搭建博客 (以下所有命令都在git bash中输入) 6.感言 用Hugo在gitee上构建博客(Windows环境下) 大家好!这是我第一次在gitee上搭建博客,也是我第一次写博客.作为一个博客小白,我在搭建博客的过程中走了很多弯路,但也收获了丰富的经验.现在我把自己搭建博客的过程分享给大家,希望能帮助到有需要的人.当然其中还有很多不足之处,欢迎…
OO第三单元小结 一.JML语言理论基础以及应用工具链情况梳理 一句话来说,JML就是用于对JAVA程序设计逻辑的预先约定的一种语言,以便正确严格高效地完成程序以及展开测试,这在不能容忍细微错误的工程领域如航空航天领域有广泛应用. 1.1 JML语言理论基础 本单元我们学习了一些语言理论基础,梳理如下: 1.requires 该子句定义了方法的前置条件 2.assignable子句,列出方法修改的类成员属性.\nothing则表示方法不改变任何成员属性,是一个pure的方法 3.ensure子句…
(1)基于度量来分析自己的程序结构 注:UML图中每个划分了的圆角矩形代表一个类或接口,箭头可代表创建.访问数据等行为.类的图形内部分为3个部分,从上到下依次是类的名称.类包含的实例变量(属性).类实现的方法.接口图形内部只分2个部分,上方为接口名,下方为接口定义的抽象方法.箭头上的注释进一步解释了类之间的关系. 作业1:多项式运算 两处红色的问题都出自checkformat方法.该方法圈复杂度高,块嵌套深度高.原因在于自己的格式检查没有使用推荐的正则表达式,依然使用了传统的有限状态机.这就容易…
.测试与JSF正确性论证 测试和JSF正确性论证是对一个程序进行检验的两种方式.测试是来的最直接的,输入合法的输入给出正确的提示,输入非法的输入给出错误信息反馈,直接就能很容易的了解程序的运行情况.但是,每次测试只是在程序涉及的整个问题空间取一个元素进行测试,一次测试只能确保程序对于测试中的样例和同类样例是正确的,并不能确保全局正确性.而为了追求全局覆盖性,就需要大规模的测试样例轰炸了,但是这时测试的最致命缺陷就出现了,一是如何构造如此大量且属于不同类别的测试样例,二是如何确保构造的测试样例能够…
规格化设计历史 规格化设计的历史目前网上的资料并不多,百度谷歌必应也表示无能为力...... 在这里结合现实情况讲一讲自己对程序规格化的理解,首先代码规格化对代码的影响是间接的,或许它不能让你代码里面的bug直接消失,或许它也不能让电梯之间不相互阻塞,但是它能让OO实验拿到更多分啊//笑.玩笑归玩笑,下面具体分析一下规格化设计(JSF为例)的作用: 在代码实现过程中,人们往往不能从一开始对整个项目的每个细节都面面俱到地思考一遍,规格化设计在开发初期可以将项目中的细节隐去,工程师只需要考虑类or包…
一.总结介绍规格化设计的大致发展历史和为什么得到了人们的重视 1.规格化设计的大致发展历史 规格化设计,又称契约式设计,最早由Bertrand Meyer于1986年提出,出自于<面向对象软件构造>.其基础是形式验证.形式规格和Hoare logic. 2.规格化设计得到重视的原因 在大型软件工程开发中,协同工作能力的重要性日益凸显.“对于一个大型系统来说,光保证它的各组成成分的质量是不够的.而最有价值的是确保在任何两个组成部分的交接处设计明晰的彼此义务和权利规范,即所谓契约.”(<面向…
(1)从多线程的协同和同步控制方面,分析和总结自己三次作业来的设计策略及其变化. 第5次作业:多线程电梯 基本照搬了课件上“生产者-消费者”模型的设计策略,将InputHandler设计为生产者线程,将Scheduler设计为消费者线程,将RequestQueue设计为托盘.生产者与消费者的工作并发,提高效率.同时,每部电梯设计为一个线程,因为每部电梯的运行彼此不干扰.InputHandler, Scheduler由主线程创建,三部电梯由Scheduler负责创建,这样使得调度器可以获取电梯的状…
代码是设计,不是简单的陈述.而设计不仅要求功能的正确性,更注重设计风格和模式. 真正可以投入应用的程序设计,不是那种无脑的“黑箱”,超巨大的数组,多重循环暴力搜索,成吨全局变量……事实上,在实际应用中更重要的是权衡兼顾功能,性能,可读性,鲁棒性等等方面,而最终完成一个综合的工程.我们真正做的事是程序设计,而不是无脑地写代码. 在本次OO三次作业的周期里,我逐渐开始接触了多线程并发程序和真正工程化的模板设计,历经疯狂Google--爆肝写码--艰难读码的过程后,我从中发现了许多许多非常tricky…