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

    一、规格化设计的发展历史

      此部分有参考百度、谷歌及其他同学的博客。

      最初的软件形式化方法源于二十世纪五十年代,及软件工程这一概念刚刚开始兴起的时代,对于工程间的协调管理,人们提出采用工程方法来组织、管理软件的开发过程并深入探讨程序和程序开发过程的规律,建立严密的理论。这一结构发展至今,规格已经形成一套完整的逻辑体系并融入软件开发的各个步骤,,从需求分析、功能描述(规约)、(体系结构/算法)设计、编程、测试直至维护。

           1975—1980年代,第二次分离,规格说明(Spec)和体(body)的分离说明是类型定义和操作描述,体是操作的具体实现。(具体的例子就是C++,Java等面向对象语言的类说明与类实现的分离。)解决方案设计只关注说明,实现时引用或者设计体。体的更改、置换不影响规格说明,保证了可移植性。支持多机系统,但要同样环境。此时产生了划时代的面向对象技术。

           1995—2000年代,第三次分离,对象使用和对象实现的分离基于构件开发:标准化的软件构件如同硬件IC,可插拔,使用者只用外特性,不计内部实现。Web Services:软件就是服务。分布式,跨平台,松耦合。

    二&三、

      这三次作业都没有被找出规格bug,当然,这并不代表着我写出来的代码有多高的质量,对于自己的代码有多烂心里也是清楚的,十分感谢对面仁慈的测试者!!

    四、

      JSF写的不太好的:

      1、使用了许多自然语言     改进方法:使用布尔表达式

      2、没有对参数进行范围限制    改进方法:对每个参数判断参数的有效范围

      3、JSF的语法不对(例如==和=混淆使用)   改进方法:对JSF的语法规则进一步熟悉

      4、逻辑上有错误    改进方法:对每个方法的前置条件和后置条件进行仔细分析

      5、条件不完善   改进方法:对代码的结构需要更清晰的了解

    五、

     由于这三次作业都碰上了对面是极其可爱的仁慈测试者,所以没有被报出功能性bug和规格性bug

    六、

     这三次作业相对来说代码量没有之前的多,大部分任务都集中在规格的撰写与补充上,个人感觉像是进入了一个新阶段,但是课程对我们的要求却似乎有点操之过急,我们大部分都是第一次接触规格这个东西,从第一次规格作业就开始让我们进行规格方面的互测,而这个阶段我们对自己的规格尚且都不抱有自信,又哪里有这个资格去评判别人的规格呢,所以自知能力不够的我在互测中,这三次作业也都没有挑对面的规格bug。随着作业已经慢慢由代码转为规格,OO课程也将迎来尾声了,这个学期的OO体验还是挺特别的,与其说能力,我觉得OO反而对我的心性有更多的磨练。

     

  • 相关阅读:
    [LeetCode] Search in Rotated Sorted Array II
    [LeetCode] Search in Rotated Sorted Array
    [LeetCode] Rotate List
    [LeetCode] Rotate Array
    [LeetCode] Product of Array Except Self
    [LeetCode] Recover Binary Search Tree
    [LeetCode] Jump Game II
    [LeetCode] Jump Game
    [LeetCode] Delete Node in a Linked List
    [LeetCode] Climbing Stairs
  • 原文地址:https://www.cnblogs.com/zz16061140/p/9105212.html
Copyright © 2011-2022 走看看