HIT-软件构造-课程总结

该课程旨在深化对软件构造的理解,包括质量标准、面向对象编程和抽象数据类型的运用。学生将学习如何针对可理解性、可维护性等关键质量目标构建软件,并掌握Git等版本控制系统。课程涵盖数据类型、类型检查、继承、多态、设计模式以及异常和测试策略,旨在提升程序设计、系统设计和分析能力。
摘要由CSDN通过智能技术生成

关于课程

学习目标

  1. 在高级语言程序设计的基础上,认识软件构造的质量标准与目标,学习软件构造的基本过程, 从而具备面向质量目标的复杂软件构造方法与能力
  2. 深入学习抽象数据类型 ADT 与面向对象编程 OOP
  3. 初步掌握面向关键质量目标(可理解性、可维护性、可复用性、健壮性、时空性能)的软件构造基本技术
  4. 了解软件代码重构和面向更复杂软件系统的高级构造技术

应具备的能力

  1. 程序设计与实现能力:了解软件开发过程中应考虑哪些质量目标;掌握面向关键质量目标的软件基本构造技术;形成面向质量目标的软件开发思维模式
  2. 系统设计与实现能力:掌握“面向抽象编程”的核心思想和面向对象软件开发的基本过程;能够对实际应用问题进行抽象和建模;利用模型与开发者和用户进行有效表达和沟通
  3. 系统分析与评价能力:从关注单一开发环节到关注全开发过程的转换;根据用户期望质量特性进行全生命周期系统分析与评价; 发现系统设计的缺陷并做出优化和改进
  4. 利用现代软件构造工具的能力:了解复杂软件系统相对于简单程序的本质差异;初步掌握利用各类软件开发工具进行编码、测试和质量保障;利用现代软件构造工具进行高质量和高效率软件开发

学时安排(2023春)

请添加图片描述

重点学习内容

  1. 软件构造的多维度视图
  2. 软件构造的阶段划分、各阶段的构造活动
  3. 内部/外部的质量指标
  4. 软件配置管理SCM与版本控制系统VCS
  5. Git的结构、工作原理、基本指令
  6. 基本数据类型、对象数据类型
  7. 静态/动态类型检查
  8. Mutable/Immutable
  9. 值的改变、引用的改变、 final
  10. 防御式拷贝
  11. Snapshot diagram
  12. Specification、 前置/后置条件
  13. 行为等价性
  14. 规约的强度
  15. ADT操作的四种类型
  16. 表示独立性、 表示泄露
  17. 不变量、表示不变量RI
  18. 表示空间、抽象空间、 AF
  19. 以注释的形式撰写AF、 RI
  20. 接口、抽象类、具体类
  21. 继承、 override
  22. 多态、 overload
  23. 泛型
  24. 等价性equals()和==
  25. equals()的自反、传递、对称
  26. hashCode()
  27. 不可变对象的引用等价性、对象等价性
  28. 可变对象的观察等价性、行为等价性
  29. Programing for/with reuse
  30. LSP
  31. 协变、反协变
  32. 数组的子类型化
  33. 泛型的子类型化
  34. Delegation
  35. Comparator和Comparable
  36. CRP原则
  37. 接口的组合
  38. 白盒框架的原理与实现
  39. 黑盒框架的原理与实现
  40. 可维护性的常见度量指标
  41. 聚合度与耦合度
  42. SOLID
  43. 语法、正则表达式
  44. 设计模式adapter、 decorator、 strategy、 template method、iterator/iterable、 factory method、 visitor
  45. 健壮性和正确性
  46. Throwable
  47. Error/Runtime异常、其他异常
  48. Checked异常、 Unchecked异常
  49. Checked异常的处理机制:– 声明、抛出、捕获、处理、清理现场、释放资源等
  50. 自定义异常类
  51. 断言的作用、 应用场合
  52. 防御式编程的基本思路
  53. 黑盒测试用例的设计– 等价类划分、边界值分析
  54. 以注释的形式撰写测试策略
  55. JUnit测试用例写法
  56. 测试覆盖度
    请添加图片描述
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值