16061189 于金泽
论述测试与正确性论证的效果差异,比较其优缺点
测试:
个人理解测试的作用是通过构造相应的测试用例。实现对代码中的语句和分支的覆盖,以此证明代码的实现的正确性,测试代码执行的结果与预期数据相匹配。重点在于测试样例集的正确性以及构造样例的复杂性和边缘数据等,因此测试依赖于测试数据的覆盖率以尽可能实现更加充分的测试,如果测试不充分,则无法发现隐藏的bug,同时即使测试通过也无法证明没有bug的存在。
正确性论证:
正确性论证依赖于代码逻辑和算法的正确性,通过论证,证明自己代码的实现与所预期的正确的算法过程相匹配。因此,通过正确性论证理论上可以保证代码中没有bug的存在。但是,正确性论证需要的时间成本和人力成本过高。
调研OCL语言,并比较其与课程所介绍的JSF规格之间的相似和不同之处
对象约束语言(Object Constraint Language),简称OCL,是一种指示用户建模系统中的限制方式。 在对象约束语言中,对象代表了系统的组件,它定义了完善的项目,约束代表限制,而语言并非是指一种正式的计算机语言。
OCL是一种形式语言,可以应用于任何实现方式的非正规语言。对象约束语言对UML中图形或其他组件都没有控制权,它只是在使用时返回值。OCL并不能修改对象的状态,而是用来指示对状态的修改何时发生。
OCL表达式以附加在模型元素上的条件和限制来表现对该对象的约束,其中包括附加在模型元素上的不变量或约束的表达式、附加在操作和方法上的前置条件和后置条件等。
OCL语言虽然是一种形式化语言,但是它既具有形式化语言无二义性的特点,又消除了形式化语言的复杂性。
OCL与JSF相比,约束条件更加充分而且有更高的要求,但是与JSF相比,较为臃肿,JSF更为简洁但是在各方面的要求不高而且不够明确。
根据第十四次作业的单电梯系统,针对调度器、电梯、请求队列和请求,至少整理出一幅UML类图、一幅顺序图和一幅状态图,并使用图(graph)来表示出模型
本课程的四个单元:
四个单元的知识点由浅入深,逐渐从入门向深,从简单的程序逐渐向一个较为完整充分的小型项目递进
在本学期之前,因为已经选过面向对象的先导课而已经接触了一些面向对象编程的思想,但是当时还没有接触过项目开发等方面的内容,而且对于编程理解等内容也不够深。
因此,在程序设计方面,通过一整个学期的折磨,在程序设计、代码流程设计等方面有了一些进步,在第十四次作业重构自己第三次作业的代码时,感觉自己第三次的代码无论是风格,单个方法代码行数等方面都不如现在,每个类的功能、属性等不够明确,对于java自带的一些方法的使用也不够灵活。
在测试和质量方面,稳定性和可读性都有所提高,虽然个人觉得在算法等方面没有什么进步,依旧是靠自己干想实现的,但是和以前相比,因为更为了解一些可能出现的问题、可优化之处,所以从代码来看应该是有所提高的,尤其是多线程编程方面。
强烈建议助教维护一个在线文档或者公开置顶的讨论帖,实时更新新增和修改的内容,以供助教自己和学生查验。
原文:https://www.cnblogs.com/lafite/p/9225844.html