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