哈尔滨工业大学2021年春季学期软件构造期末考试总结及经验分享

前言

**本文没有2021真题,不用找了 你们的老师应该会给你们发吧 ·–· 不过我这有2021年往前近三年的题,如果需要可以加我QQ

QQ : 958284846

备注一下您来的原因就行(无偿的。。。。单纯是因为把题放csdn会被请喝茶)
还有一些当时复习网上找的笔记 记的很好很清晰
我自己的笔记提纲已经在本文中了
其他网上找的笔记资料因为不是我的原创可能有版权等问题 不方便放到这 也可以加我QQ)**

正文

上了一学期的软件构造课,看了chp老师抽了半学期的烟,喝了半学期的茶,就是课程内容一点没学会。

哈尔滨工业大学2021年春季学期软件构造期末考试总结及经验分享

一三讲 没大题 全是选择 大题基本上都在第二部分(确定)

三 四部分主要是测试
预测:会有一道设计模式的大题;
————————-复习———————-
第一章
代码开发阶段 一定考 100%考 三维视图要记 每个维度都是什么意思
三维视图

质量属性区分内部质量属性和外部属性
eg:代码多少行(LOC):内部属性

第三章
软件配置管理的不同工具 重点
集中式和可分布式
git commit -m -a等等常用操作都是怎么用的
git结构
每次commit都是一个git对象 都是一个树形结构
git最大的变化:存储的是改变后的文件,B版本不会出现A版本没改变的文件,只是一个指针指向A版本的文件
eg. 判断题:一个文件可以出现在不同版本中 (x)
git的版本可以有0个父对象 (他自己就是父对象)
可以有1个
还可以有2个 原因: merge 两个版本合并
只能0 1 2个父对象
可以有多个子版本

第4-8章
java有些错误在运行阶段,有写在编译阶段出错。
最容易静态检测出错的就是类型错误 不匹配
两个集合类,泛型类型不一样,那么他们没有任何父子关系

mutable immutable 考点:defensive copy和表示泄露
表示泄露 100%考
给你个情况,判定是否泄露br> 出现了咋办br> 为啥没出现br> return一个immutable 不会表示泄露
return一个mutable,就会泄露
防止方法:防御式拷贝

final:引用的改变就会出错

final a指向一个空间,改变他的指向,就会出错。但是改变空间内的值,不会出错

Snapshot diagram必考 100%

前置 后置条件不会让你写 让你判断 (圈的大小,规约强弱)

送分题: ADT操作的四种类型 都是啥 给你一个代码你得知道他是哪个类型(creator observer等)

RI 100%考
看习题课代码题,里边有题要求写RI,停车位

习题课写的很详细

override overload 必考

泛型 必考

两个集合元素父子关系,但是他们没有父子关系!!!不能错!

判定相等

第九章

LSP肯定考
考察方式:给你2个类类 问你满不满足LSP 必考,大题
看ppt概念 父子类是否符合LSP
例如:符合override限制 子类规约比父类强 前置弱 后置强……PPT太详细了
异常:子类的异常不能更粗,得更细
父类抛出异常,子类只能抛出更具体的

协变反协变考小题
协变一般对应override
反协变java不支持,认为是重载,而不是重写

委托
一个类调用另一个类,就是委托。给你一堆类,判定是不是委托

CRP:java不允许对多个类继承,但是允许多个接口实现

白盒黑盒框架 —继承委托

第10-11章
可维护性的常见度量指标

耦合度聚合度 没啥考点

正则表达式:PPT
两种考法考一个:

  1. 给你一段话,请给其写出表达式
  2. 给一个表达式 问你这个表达式描述的是什么

设计模式
给你个需求,问你应该用哪一种设计模式实验
adapter 适配器 接口匹配
装饰器 增加功能 例如stack里push pop太简单了,我想扩充就是装饰
模板 某一些自定义功能可以用户实现,但是父类,大的流程要固定
工厂
visitor:这个要注意 用来干嘛的得知道 对某一个类来扩充的 扩充功能点
功能先不实现,给他放着,之后再扩充(也就是放一个接入点,之后再写代码)
visitor看ppt

第2 12讲
正确性:断言—太简单了没啥说的(注:这句话不是我说的,是当时老师的原话,我全记下来了而已),注意一点:可以关闭 抛出assert error
健壮性:异常
error也可以catch 但是没有意义,那都是程序之外的(内存不足等),不需要捕获,捕获了也没有意义
异常:runtime异常不用捕获
checked异常要捕获 证明程序没错,外部环境(用户)错了

黑盒测试:要考
白盒测试 了解概念就ok

  1. 测试是一种破坏性的测试(找错误而不是证明正确)
  2. 无法进行完备的测试

祝大家该过的过,该高分的高分!!!

END

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览91425 人正在系统学习中

来源:七十带病肝代码

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年2月10日
下一篇 2022年2月10日

相关推荐