1.论述测试与正确性论证的效果差别,比较其优缺点java
测试:经过大量测试样例覆盖测试代码,来检测代码功能的实现是否正确是否完善。正确性论证:经过对代码规格和逻辑的严密分析,推论和证实,来验证代码实现的正确性。所以,测试可以经过测试结果,直观的判断出程序是否错误。可是又由于难以构造覆盖完整的测试集,因此不能保证程序在设计方面没有问题。而正确性论证可以经过严谨的分析论证,保证程序的正确性和覆盖率。但由于它是形式论证和天然语言层次逻辑的结合,天然语言层次逻辑推理的正确性又难以确保和验证。因此若是它不够直观,出现错误也难以察觉。安全
2.调研OCL语言,并比较其与课程所介绍的JSF规格之间的类似和不一样之处多线程
OCL(object constraint language)是对象约束语言,用来进行对象的约束定义,是形式化的无二异语言。OCL主要用于在建模时做为图形符号的补充,含有约束,前置条件,后置条件等。OCL还用于对UML图中的任何元素写表达式。OCL是约束和查询语言,有一个形式化的数学语义,容许用户定义本身的OCL符号集。测试
相同点:都是形式化的约束语言,在程序中进行无二义的逻辑约束。都有一样的前置条件,后置条件和不变式spa
不一样点:约束的时间不一样:OCL主要是在写程序前理论建模的时候,对每一个类进行约束,JSF则主要在代码功能实现前,对每一个类进行约束。表达的不一样:JSF主要使用逻辑表达式,天然语言使用的少。OCL的表达式和数据都有基本类型。线程
3.根据第十四次做业的单电梯系统,针对调度器、电梯、请求队列和 请求,至少整理出 一幅UML类图、一幅顺序图和一幅状态图,并使用 图(graph)来表示出模型设计
第十四次做业没有提交,因此不作整理。对象
4.整理总结一个学期所学所练队列
4.1阐述四个单元模块知识点之间的关系开发
第一单元:java入门到面向对象设计。做业从多项式计算到傻瓜电梯,巩固了面向对象设计的思惟。
第二单元:从面向对象设计到多线程的转变。做业经过对电梯功能的扩展,实现多线程。以及对线程的安全问题和如何合理的利用线程的同步和互斥的研究。
第三单元:规格化设计。学会如何加强自身代码的可读性和如何从方法的层面去实现程序的正确性。
第四单元:引入自动化测试。经过实现基于输入实现软件生成的自动化覆盖测试,学会论证程序地正确性。
4.2梳理本身所设计实现的程序,分析本身在设计、测试和质量上的进步
有进步,同时有待提升的方面也不少。
4.3阐述本身对工程化开发的理解
工程化开发是一个复杂的大型的工做,是须要多人一块儿配合完成的。所以代码的可读性和规格很重要。以及对每一部分程序的正确性和完善性的测试也很重要。
4.4对课程的任何指望或建议