(1)调研,规格化设计的大致发展和为什么得到人类重视

结构化程序设计(英语:Structured programming),一种编程范型。它采用子程序(函数就是一种子程序)、代码区块、for循环以及while循环等结构,来替换传统的goto。希望借此来改善计算机程序的明晰性、质量以及开发时间,并且避免写出面条式代码。Edsger Dijkstra 于 1968 发表了著名的《GOTO 有害论》的论文,引起了长达数年的论战,并由此产生了结构化程序设计方 法。同时,第一个结构化的程序语言 Pascal 也在此时诞生,并迅速流行起来。

在我看来,程序规格化设计是为之后更大规模程序的设计打基础,随着以后需求的增加,要进一步提高程序的抽象化程度,规格化设计能让人清晰的辨别各个方法的功能,以较简便的方式解决客户需求,降低程序的复杂度。

(2)分析自己的规格bug

第九次作业:无效

第十次作业:

第十一次作业:无

(3)分析自己规格bug产生的原因

对指导书的研读不够,存在偏差。对jsf的理解不够深刻。在之前的编程中,不够清晰的层次设计,导致后来jsf的表达十分困难,所以要想不被报bug需要更多研读课上所讲的jsf。

(4)分别列举5个前置条件和5个后置条件的不好写法,并给出改进写法

前置条件的不好的写法有,随意使用null,none等,使用自然语言时有可能一时疏忽导致产生二义性。

五个不好的后置条件写法:

1.简单函数的的功能,即便很短也要写。

this.state ==> this.state = i

2.自然语言 ==> 改成用数据变现的对应关系

3.写方法内涵的算法 ==> 只关注最后需要获得的数据的限制

4.对于多线程需要加入多线程的后置条件

更改前
/**
@ EFFECTS:randomly driving refer to flowmap
@ */
更改后
/**
@ EFFECTS:randomly driving refer to flowmap
@ THREAD_EFFECTS:\locked(guigv.flowmap) ;\locked(guigv.m.graph)
@ */ (5)按照作业分析被报的功能bug与规格bug在方法上的聚集关系
   无 (6)归纳自己在设计规格和撰写规格的基本思路和体会
 方法的编程应在规格的撰写后,而不是写完方法在回来改写规格,这样可以很好的限制方法的长度也降低了方法的复杂度。规格不仅是写给自己看,更是为后团队工作时便于交流,而且要以指导书为准,不然会被挂很多bug。


OO第三次阶段总结的更多相关文章

  1. OO前三次作业思考(第一次OO——Blog)

    OO前三次作业总结 基于度量分析程序结构 由于三次作业较多,决定分析内容.功能最为复杂的第三次作业. 上图为第三次作业的类图.我使用了一个抽象类Factor,写了五个因子继承Factor,然后又单独开 ...

  2. OO第三次课程总结分析

    OO第三次课程总结分析 规格化设计发展历史 在网上找了好久也没找到合适的信息,稍稍参考了同学的博客.大致如下:最初的的软件并没有形式化方法,随着软件工程的兴起,为了便于工程间的协调管理,人们提出采用工 ...

  3. 20172325『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结

    20172325『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结 结对伙伴 学号:20172306 姓名:刘辰 在这次项目的完成过程中刘辰同学付出了很多,在代码的实践上完成的很出色,在技 ...

  4. [BUAA OO]第三次博客作业

    OO第三次博客作业 1. 规格化设计的发展 我认为,规格化设计主要源自于软件设计的两次危机.第一次是由于大量存在的goto语句,让当时被广泛应用的面向过程式的编程语言臃肿不堪,在逻辑性上与工程规模上鱼 ...

  5. OO第三次博客作业——规格

    OO第三次博客作业——规格 一.调研结果: 规格的历史: 引自博文链接:http://blog.sina.com.cn/s/blog_473d5bba010001x9.html 传统科学的特点是发现世 ...

  6. OO第三单元作业总结

    OO第三单元作业总结--JML 第三单元的主题是JML规格的学习,其中的三次作业也是围绕JML规格的实现所展开的(虽然感觉作业中最难的还是如何正确适用数据结构以及如何正确地对于时间复杂度进行优化). ...

  7. 规格化设计——OO第三单元总结

    规格化设计--OO第三单元总结 一.JML语言理论基础.应用工具链 1.1 JML语言 ​ JML(java modeling language)是一种描述代码行为的语言,包括前置条件.副作用等等.J ...

  8. 【OO学习】OO第三单元作业总结

    [OO学习]OO第三单元作业总结 第三单元,我们学习了JML语言,用来进行形式化设计.本单元包括三次作业,通过给定的JML来实行了一个对路径的管理系统,最后完成了一个地铁系统,来管理不同的线路,求得关 ...

  9. OO第三单元(地铁,JML)单元总结

    OO第三单元(地铁,JML)单元总结 这是我们OO课程的第二个单元,这个单元的主要目的是让我们熟悉并了解JML来是我们具有规格化编程架构的思想.这个单元的主题一开始并不明了,从第一次作业的路径到第二次 ...

随机推荐

  1. Carthage 的使用

    第一步,当然是安装 Carthage,网上找吧 第二步,找到你要用的那个仓库,eg:https://github.com/jiutianhuanpei/SHBPlayer 第三步,cd 到工程根目录下 ...

  2. 【vue】本地开发mock数据支持

    项目离不开数据渲染的支持,为本地开发配置 数据  支持. (一)方式一:安装JSON Server搭建mock数据的服务器 json Server 是一个创建 伪RESTful服务器的工具. 配置流程 ...

  3. jQuery,js如何扩展自定义方法

    (jQuery.fn.myMethod=function () { alert('myMethod'); }) (function ($) { $.fn.extend({ myMethod : fun ...

  4. Dll中调用dcpcrypt

    可先在EXE中加入控件来参考,如要导出给其它语言调用参数得用PChar,XE以上的估计得再调整,待实用时再测试 如下代码在2007中可直接导出使用 uses Windows, SysUtils, DC ...

  5. 学习笔记—MapReduce

    MapReduce是什么 MapReduce是一种分布式计算编程框架,是Hadoop主要组成部分之一,可以让用户专注于编写核心逻辑代码,最后以高可靠.高容错的方式在大型集群上并行处理大量数据. Map ...

  6. 针对于网络安全领域中基于PCAP流量的数据集

    网络安全领域中基于PCAP流量的数据集 MAWI Working Group Traffic Archive URL:http://mawi.wide.ad.jp/mawi/ CIC dataset ...

  7. 【转载】OCX和DLL的区别

    原文:http://blog.csdn.net/scucj/article/details/852181 一.关于DLL的介绍      DLL,动态链接库,Dynamic Link Library的 ...

  8. 13-[CSS]-postion位置:相relative,绝absolute,固fixed,static(默认),z-index

    1.postion位置属性 <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...

  9. 【POJ2832 】【Tyvj1460】【 7.22Test 】询问

    几种版本的题面 Description You are given an undirected graph G with N vertices and M edges. Each edge has a ...

  10. WPF中如何使用BusyIndicator

    一.下载dll:http://wpftoolkit.codeplex.com/releases/view/99072 下载之后将WPFToolkit引用到WPF项目下: 二.添加命名空间: xmlns ...