BUAA_OO_博客作业三】的更多相关文章

1 JML语言总结 1.1 JML语言的理论基础 ​ JML(Java Modeling Language)是用于对Java程序进行规格化设计的一种表示语言.JML是一种行为接口规格语言(Behavior Interface Specification Language,BISL),基于Larch方法构建.BISL提供了对方法和类型的规格定义手段.所谓接口即一个方法或类型外部可见的内容.JML主要由Leavens教授在Larch上的工作,并融入了Betrand Meyer, John Gutta…
BUAA_OO_博客作业四 1 第四单元两次作业的架构设计 1.1 第13次作业 类图 ​ 作业要求:通过实现UmlInteraction这个官方提供的接口,来实现自己的UmlInteraction解析器. ​ 作业分析与架构设计:在阅读完接口源代码的架构之后,我发现需要注意的就是UmlElement这个类,它属于一个顶层类,一共有9个孩子,分别是UmlAssociation.UmlAssociationEnd.UmlAttribute.UmlClass.UmlGeneralization.Um…
BUAA_OO_博客作业一 (一)程序结构分析 1.代码统计 第一次作业 第二次作业 第三次作业 代码复杂度展示第三次作业的 method ev(G) iv(G) v(G) Constant.Constant(BigInteger) 1.0 1.0 1.0 Constant.derv() 1.0 1.0 1.0 Constant.mul(ArrayList) 4.0 5.0 5.0 Constant.mul(BigInteger) 1.0 1.0 1.0 Constant.mul(Constan…
1.作业设计策略 1.1第一次作业 ​ 第一次作业指导书要求是一个单部多线程傻瓜调度(FAFS)电梯的模拟,由于为了可扩展性和模块化设计,第一次作业我采用了三线程,即输入处理线程,调度器线程,电梯线程这三个线程进行通信工作,当然,实际上调度器线程仅仅做了把输入的请求进行转交给电梯线程这一个工作.输入处理线程和调度器线程共享reqlist这个公共类进行消息传递,通过两个互斥的操作add和fetch进行队列任务的增加和提取,然后由调度器线程把提取到的任务交给电梯线程的worklist,电梯拿到任务遍…
OO第三次博客作业 1. 规格化设计的发展 我认为,规格化设计主要源自于软件设计的两次危机.第一次是由于大量存在的goto语句,让当时被广泛应用的面向过程式的编程语言臃肿不堪,在逻辑性上与工程规模上鱼与熊掌不可兼得.故而,人们提出了结构化程序设计的编程思想,旨在使程序实现结构化设计的思想.这种设计思想旨在控制各个模块的程序复杂度,从而保证整体工程的正确性. 然而,由于硬件设备的快速迭代,对于软件的要求也越来越高.工程的日益庞大.面向过程程序的可扩展性差.可维护性有限,使得人们提出了面型对象程序编…
OO第三次博客作业——规格 一.调研结果: 规格的历史: 引自博文链接:http://blog.sina.com.cn/s/blog_473d5bba010001x9.html 传统科学的特点是发现世界,而软件的特点是构造世界.软件的最底层就是0,1,两个离散的值. 程序设计语言的三次分离使软件技术产生了飞跃 1950年代,第一次分离,主程序和子程序的分离程序结构模型是树状模型,子程序可先于主程序编写.通过使用库函数来简化编程,实现最初的代码重用.产生基本的软件开发过程:分析—设计—编码—测试,…
第三次博客作业:案例分析 1. 调研和评测 1.1 BUG及设计缺陷描述 主要测试博客园在手机端上的使用情况. [BUG 01] 不能后退到上一界面(IOS) 重现步骤:打开博客首页中任意博文,点击博文中的链接跳转到其它网页,点击左上角返回按钮 测试结果:直接回到博客首页,而非回到博文 分析:博文中引用链接是非常常见的情况,而当阅读了链接网页的内容后,用户一般会选择继续阅读博文,而直接跳转到博客首页意味着还要重新寻找之前阅读的博文,这样下来看完一篇博文要反复打开若干次,不仅很麻烦,还容易出现找不…
OO--第三单元规格化设计 博客作业 前言 第三单元,我们以JML为基础,先后完成了 PathContainer -> Graph -> RailwaySystem 这是一个递进的过程,代码实现基于课程组给出的JML语言,JML是一个只关心前提与结果的建模语言,可以描述清楚对于该方法的需求,但具体实现由个人完成,实现方法不限,只需要满足需求.一定意义上,算是工程方面客户的需求,而我们依据其完成代码. JML理论基础及应用 注释结构 一般使用块注释,即/*@ annotation @*/,注释放…
个人博客作业Week1 一.问题 通读<构建之法>我有一下几个问题 PM没有参与代码编如何进行管理. 软件工程师的职业资格考试对我们来说很有必要吗. 当我们为用户开发软件时我们需要了解用户群体的特性,这需要很多其他方面的知识,而作为开发人员的我们有必要亲自去做吗. 在团队开发中每个人都负责自己的模块,这样在整个项目调试的时候出问题的可能性就比较大,如何能使用最优化的方法去解决. 在团队中测试人员不参与代码编写,那么测试人员也需要是有很高的编程水平吗. 二. In 2000, Fred Shap…
目录 一.团队课程设计博客链接 二.个人负责模块或任务说明 三.自己的代码提交记录截图 四.自己负责模块或任务详细说明 五.课程设计感想 (题外话,终于可以用markdown建目录) 一.团队课程设计博客链接 博客作业教学数据分析系统(From:网络五条狗) 二.个人负责模块或任务说明 网络爬虫技术,爬所有学生博客作业的分数链接,并用数据库表示 三.自己的代码提交记录截图 四.自己负责模块或任务详细说明 爬去每个人每次作业队的连接,成绩,提交时间以及将他们写入数据库.首先是数据的爬去,本来我的预…