北航OO第四单元总结

架构设计部分

本单元设计的是图书管理系统.

正向建模

本单元学习的是UML类图, 那自然我们应该实践正向建模. 根据题意, 我们的图书馆至少由书库, 借还处, 预约处, 漂流角组成. 所以我们可以初步的确定给这四个部分分别封装成来管理书籍. 我们根据各个部分的功能, 来初步设计各个类的方法. 至于具体的类和方法的设计, 正向建模就稍微有点无能为力了, 可以想象, 正向建模时, 不考虑具体实现, 在具体实现时, 可能需要新增方法, 甚至新建类, 这与正向建模可能差距很大, 这足以说明正向建模的局限性. 不过, 正向建模在引导代码书写上还是有很大作用的.

架构设计流程

首先给出最终的uml类图
在这里插入图片描述
可以发现架构之间的关联关系和依赖关系比较复杂,这也说明架构有失误的地方,距离高内聚、低耦合的境界还相差甚远。
我在此做一下反思:

  1. 一些存放静态数据的类有些许冗余,可以合并为一个library类,这样能有效的高内聚、低耦合
  2. 应该建立一个Book类来管理“书”这一数据抽象,原架构中仅用其id代表书,用各种复杂容器来处理书的属性与数据,会显得代码复杂度高,可扩展性低。
  3. 应该建立一个书架类来管理"书架"这一数据抽象, 原架构仅用一个容器来管理书, 这导致代码的可复用性和可维护性大大降低

我在写代码时, 采用了先部分正向建模, 把大体的类和方法设计好, 然后进行代码设计, 我们的代码的类和方法与uml定义的一致, 实现时加入了一些辅助类和方法. 然后根据代码扩充uml类图, 供将来迭代使用

课程总结

架构设计思维的演进

在四个单元的学习中,我对架构设计思维的演进有了更深入的理解。首先,在层次化设计单元,我学会了将复杂系统分解为多个层次,每个层次具有高内聚和低耦合的特点,从而实现系统的模块化和易于维护。其次,在多线程设计单元,我了解了如何应对并发和多线程带来的挑战,通过合理的设计模式和同步机制,实现高效且稳定的系统运行。在JML单元,我掌握了Java规格化语言的设计原则,,进一步提高了代码的准确性和可维护性。最后,在UML单元,我学会了使用统一建模语言(UML)对软件系统进行可视化建模,以便更好地理解和沟通系统结构、行为和交互。总的来说,通过这四个单元的学习,我在架构设计思维的演进方面有了显著的提升。我将继续在实际项目中运用所学知识,不断提高自己的架构设计能力,为构建高质量、可扩展的软件系统贡献力量。

测试思维的演进

在四个单元的学习中,我对测试思维的演进有了更深入的理解。首先,在层次化设计单元,我学会了如何通过模块化设计提高系统的可测试性,确保每个模块独立且易于测试。其次,在多线程设计单元,我了解了如何运用测试工具和策略应对并发和多线程环境下的测试挑战。在JML单元,我掌握了JUnit测试, 并知道JUnit测试与JML有紧密的联系, 还了解了参数化测试。最后,在UML单元,我学会了使用UML建模工具对系统进行可视化建模,有助于更好地设计和规划测试用例, 还知道代码与UML建模的一致性测试。总之,通过这四个单元的学习,我在测试思维的演进方面有了显著的提升。

课程收获

学习完面向对象这门课程, 我学会了如何层次化设计, 学会了多线程编程, 学会了JML并用JUnit测试, 学会UML建模, 我在架构能力和测试能力都有了很大程度上的提升, 总之, 收获颇丰

  • 9
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值