第四次博客做业

第四次博客做业

16061189 于金泽java

1. 测试与正确性论证

论述测试与正确性论证的效果差别,比较其优缺点算法

测试:编程

我的理解测试的做用是经过构造相应的测试用例。实现对代码中的语句和分支的覆盖,以此证实代码的实现的正确性,测试代码执行的结果与预期数据相匹配。重点在于测试样例集的正确性以及构造样例的复杂性和边缘数据等,所以测试依赖于测试数据的覆盖率以尽量实现更加充分的测试,若是测试不充分,则没法发现隐藏的bug,同时即便测试经过也没法证实没有bug的存在。多线程

正确性论证:单元测试

正确性论证依赖于代码逻辑和算法的正确性,经过论证,证实本身代码的实现与所预期的正确的算法过程相匹配。所以,经过正确性论证理论上能够保证代码中没有bug的存在。可是,正确性论证须要的时间成本和人力成本太高。学习

2. OCL语言

调研OCL语言,并比较其与课程所介绍的JSF规格之间的类似和不一样之处测试

对象约束语言(Object Constraint Language),简称OCL,是一种指示用户建模系统中的限制方式。 在对象约束语言中,对象表明了系统的组件,它定义了完善的项目,约束表明限制,而语言并不是是指一种正式的计算机语言。优化

OCL是一种形式语言,能够应用于任何实现方式的非正规语言。对象约束语言对UML中图形或其余组件都没有控制权,它只是在使用时返回值。OCL并不能修改对象的状态,而是用来指示对状态的修改什么时候发生。线程

OCL表达式以附加在模型元素上的条件和限制来表现对该对象的约束,其中包括附加在模型元素上的不变量或约束的表达式、附加在操做和方法上的前置条件和后置条件等。debug

OCL语言虽然是一种形式化语言,可是它既具备形式化语言无二义性的特色,又消除了形式化语言的复杂性。

OCL与JSF相比,约束条件更加充分并且有更高的要求,可是与JSF相比,较为臃肿,JSF更为简洁可是在各方面的要求不高并且不够明确。

3. 第十四次做业

根据第十四次做业的单电梯系统,针对调度器、电梯、请求队列和请求,至少整理出一幅UML类图、一幅顺序图和一幅状态图,并使用图(graph)来表示出模型

4. 整理总结

4.1阐述四个单元模块知识点之间的关系

本课程的四个单元:

  1. java基础语法和面向对象基本思想
  2. 多线程程序设计
  3. 抽象和程序规格
  4. 单元测试和正确性论证

四个单元的知识点由浅入深,逐渐从入门向深,从简单的程序逐渐向一个较为完整充分的小型项目递进

4.2梳理本身所设计实现的程序,分析本身在设计、测试和质量上的进步

在本学期以前,由于已经选过面向对象的先导课而已经接触了一些面向对象编程的思想,可是当时尚未接触过项目开发等方面的内容,并且对于编程理解等内容也不够深。

所以,在程序设计方面,经过一整个学期的折磨,在程序设计、代码流程设计等方面有了一些进步,在第十四次做业重构本身第三次做业的代码时,感受本身第三次的代码不管是风格,单个方法代码行数等方面都不如如今,每一个类的功能、属性等不够明确,对于java自带的一些方法的使用也不够灵活。

在测试和质量方面,稳定性和可读性都有所提升,虽然我的以为在算法等方面没有什么进步,依旧是靠本身干想实现的,可是和之前相比,由于更为了解一些可能出现的问题、可优化之处,因此从代码来看应该是有所提升的,尤为是多线程编程方面。

4.3阐述本身对工程化开发的理解

  1. 在工程开发时,须要注意代码的可重用性和可读性,所以在代码构建的过程当中须要注意在以后本身阅读代码、重构代码时的可行性,不要给本身增长负担;并且也要考虑到在让别人后续阅读、维护本身代码的负担,影响遵照必定的规范
  2. 本身编写的程序,须要提供较为完整的文档说说明,以供后续的编程人员维护,以及使用者使用
  3. 为了团队协做和我的开发等方面,

4.4对课程的任何指望或建议

  1. 虽然以前学习过面向对象的先导课,可是仍是要说,一上来就假定全部人都了解java语法,会使用java进行编程真的是太折磨了
  2. 课上对于JSF的讲解彻底不够,不知道怎么写,应该是怎么样的,而是“到时候会发JSF的说明,大家本身看就行了”一言以蔽之。可是JSF的说明中,只有关于JSF的内容而没有与代码的结合,并不能体会到如何将JSF与代码对应。并且通过一节课,而后就要求同窗们可以彻底理解并使用JSF,使用规格设计的相关内容彻底是不现实的,只是加以介绍而后就要求彻底掌握并可以给已有代码加上JSF的要求我的看来是难以理解的。
  3. 但愿老师和助教可以明确做业指导书的要求,即便没法作到彻底消除二义性,也请有统一的、明确的理解与要求,在有人提出issue时有明确、先后不产生矛盾的回复,而不是有人提出一个issue,说是否是怎么怎么作更好啊,而后就要求全部人按照他的理解进行实现。
  4. 另外,也请维护一个实时更新的在线文档等,把全部的补充内容进行明确,在已有的基础上不断修改,而不是像如今这样,这种要求散落在各个issue、助教群回复等内容中,常常致使有些测试者死抠issue、面向文档debug,以及不一样班级要求不一样的问题,例如,对于红绿灯而言,有四个班要求全部红绿灯的方向一致,即全部红绿灯都为东西方向容许经过,而咱们班的要求是全部红绿灯的变化时间一致,可是初始状态随机指定,即同一时刻有些红绿灯容许东西方向另外一些容许南北方向。而后在和助教确认要求究竟是怎么样的时候,助教回复“哦,readme“。

强烈建议助教维护一个在线文档或者公开置顶的讨论帖,实时更新新增和修改的内容,以供助教本身和学生查验。

相关文章
相关标签/搜索