题型分布如下:
单选题:考核对基本概念的理解,15题,45分
简答与设计题:
– 给出需求、ADT的基本代码
– 开展设计和代码:绘图/建模、设计、修改代码、写新代码 (不强调语法)、 写注释 (AF/RI/Spec/Testing Strategy/Safety from Rep Exposure)、设计 测试用例、改进/优化各项质量指标等
– 设计题15分,2道
– 综合题45分,7道

结合真题进行复习
2021
1.软件的外部质量属性包括:正确性,健壮性,可扩展性,可复用性,兼容性,高效性, 可移植性,易用性等;而软件的内部质量属性(代码相关)包括代码可读性和代码复杂性等。
2.多维视图

3.

4.

对 List 使用了基于隐式迭代器的 for 遍历,在这个过程中不通过这个迭代器 对 List 直接进行了删除操作,会使得迭代器使用时出错(经典错误),引发异常
5.

![]()
要注意泛型的不可协变性,即 List并不是 List的子类,二者是独立的类型,因此这根本不是合法的 override,返回值类型都不匹配。
6.注意不等价的对象的 hashCode 可以相等,尽管我们应该采取更好的 hashCode 实现使得不等价对象的 hashCode 尽可能不 相等,以提高一些场合下(例如 hash 表)的性能。
7.![]()
委托的四种基本形式 dependency、 association、composition、aggregate,其中 dependency 是不需要被委托对象作为委 托类属性的(临时性的委托,作为方法参数传入)
8.黑盒委托,白盒继承
9.对于 ADT 应该使用黑盒测试(因为 ADT 本身就是黑盒),与 rep 和具体实现无关
10.
11.等价类划分
12.规约强度
13.防止表示泄露
14.snapshot
版权声明:本文为m0_51668516原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。