zoukankan      html  css  js  c++  java
  • 第三次博客作业

    一. 规格设计的发展历程:

    在1960年代末至1970年代初期,出现了一次软件危机:一方面需要大量的软件系统,如操作系统、数据库管理系统;另一方面,软件研制周期长,可靠性差,维护困难。人们希望编写出的程序结构清晰、易阅读、易修改、易验证,即产生良好结构的程序。60年代中期,大容量、高速度的计算机出现,随之出现的是代码量急剧提升,复杂度急剧增长、程序可靠性的重要性突出的问题。结果化程序设计随之提出,它要求程序设计时以模块为单位,每个模块专职自己的工作,而要在模块间交流,在开发者和用户,开发者和开发者之间交流,就只需要相应接口即可。到了80年代,“软件工程”的概念第一次被提出,计算机的速度和容量大大提高,程序的复杂度也急剧增长,人们开始在程序设计时以模块为单位,各部分有了自己各自独立的工作,开始出现规格化抽象。比如说C++和JAVA的类说明和类实现出现了分离。之后,随着计算机软件规模日渐庞大,结构化程序设计方法开始无法满足用户的需求,面向对象程序设计(OOP)应运而生。面向对象程序设计是一场重大的革命,提高了开发人员的效率,有效地控制了软件开发的复杂度,提高了软件的可维护性和可拓展性。(本部分来自于互联网和适当修订)

    规格化的设计大大提高了程序的规范性和规模化,提高了程序可读性,并降低了维护难度,所以得到了广泛的重视。

    二. 作业中出现的规格bug:

    第九次作业无bug。

    第十次作业中因为是对第九次的补充。。。导致一些地方忘了补充repok方法和其他规格而被报了bug。。。

    第十一次还是落下了一个类没写repok。。。

    这种bug。。。不分析也罢。。。

    三. 分析BUG产生的原因:

    不想写规格,所有的规格都是最后往上加,所以东丢西落。(胡乱分析)

    四. 写法改进:

    1. 前置条件:

    第一类(无限制):

    /**

             * 增删流量

             * @REQUIRES: None;

             * @MODIFIES: guigv.flowmap;

             * @EFFECTS:

             * increase and reduce the flow by time interval;

             */

    改为* @REQUIRES: 0<=xbegin, ybegin, xend, yend<80;

    第二类(未检查repok):

    /**

      * 获取乘客请求

      * @REQUIRES: r1!=null;

      * @MODIFIES: this.request,this.sign,this.state;

      * @EFFECTS:

      * request == r1;

      * sign == 1;

      * state == 3;

      * r1.tapoint ="("+Integer.toString(this.x)+","+Integer.toString(this.y)+")";

             */

                         改为:* @REQUIRES: r1!=null && r1.repok()!=false;

      2.影响:

    /**

           * 读地图

           * @REQUIRES: None;

           * @EFFECTS:

           * initialize map

    */

    加上* @MODIFIES: this.map;

      3.后置:

    基本都上的自然语言,没得改。

    五. 心得体会:

    好人有好报。善恶终有报。人在做,天在看。我就不信抓着一个crash换花样报三个点,没检查map格式扣四个bug,测试文件名里面加空格的人,能是什么好人。

    就这些,没了。

  • 相关阅读:
    Stars in Your Window POJ
    Adding New Machine ZOJ
    洛谷 P3400 仓鼠窝
    django启动时报错:Apps aren't loaded yet.
    netstat命令简单使用
    iostat命令简单使用
    linux下查找指定时间内修改过的或新建的文件
    nginx学习之压缩解压篇(七)
    nginx学习之反向代理篇(六)
    nginx学习之静态内容篇(五)
  • 原文地址:https://www.cnblogs.com/sxz1606/p/9112276.html
Copyright © 2011-2022 走看看