oo第四次博客作业
一,测试与正确性论证比较
1.测试的结果是绝对正确的,但是正确性认证可能因为人为疏忽导致论证正确了,但是实际是错误的.
2.测试的结果是片面的,测试只能说明当前运行的一部分程序是正确的,或者说该输入对应的输出是正确的,而不能证明程序是绝对正确的.
3.在未来添加新的功能时,利用正确性论证可以快速的证明我新添加的这部分功能运行的正确性,而测试则不能保证这点.
4.正确性论证虽然对于写程序的人来说,是比较易读的,但是对于读代码的人来说,本身读代码就是很累人的工作了,还要对应代码去读正确性论证,要是本来程序是绝对正确的还好,要是藏了什么bug,而正确性论证又没有发现,那么很可能读代码的人也会发现不到bug.而测试则能保证当别的程序员要使用代码时,能完全相信某部分的功能是正确的.
二,OCL语言与JSF规格的比较
OCL和JSF都是对于程序设计上的约束.
不同点在于OCL更加严谨,OCL使用了一系列规范且多样的符号系统提供给程序员用于表达,代价就是需要付出大量的时间去学习和使用,相比之下,jsf使用起来就比较简单快捷了.带来的副作用就是由于符号系统的不足,很多程序的表达上比较困难.
三、单电梯系统结构梳理
1,uml类图
2,顺序图
3,状态转换图
四,总结
1,关系
承上启下
2,进步
从一开始对于面向对象一窍不通,到码了上千行面向对象代码,对于面向对象有了一定的了解
3,工程化开发
通过代码规范,程序间接口的规范来是大型项目开发的过程中更加合理,出现更少的bug,或者更快的找到bug
4,对课程的期望
希望不要再先难后易了,对于我这种完全没接触过面向对象的人来说,一开始写的代码就是一团糟,更惨的是,我不仅要把这坨东西反复再添加两遍,还要再论证它三遍.希望能够由易入难,从代码规范开始,慢慢写出好代码.