OO第四单元博客总结

张学东-22373307 学生 2024-06-17 17:55:25

OO第四单元博客总结

第四单元的正向建模和开发

​ 在第四单元我更加进一步学习了UML建模语言,之前发现之前使用过的一些类图不符合uml规范,这次在系统学习uml的过程中学会了uml类图等规范绘制。

​ 正向建模与开发是一种自上而下的软件开发方法,首先基于系统需求创建模型,然后根据这些模型设计和开发系统。在这个过程中,UML(统一建模语言)扮演着至关重要的角色,它提供了一套标准的图形化方式来表述软件设计,包括系统的结构和行为。

​ 在这学期的课程中,我主要按照以下步骤进行图书馆模拟系统的制作:

步骤一:需求分析

在第四单元作业开始时,我们首先进行需求分析,明确作业指导中的概念细节。这一步是整个正向建模的基础,错误的需求分析会导致后续所有工作的偏差。

步骤二:构建UML模型

根据需求分析的结果,开始构建UML模型,第一次作业要求我们构建类图。第二次构建状态图,第三次构建顺序图。

步骤三:系统设计

利用建立的UML模型,对图书馆模拟系统进行代码的规划,选择合适的数据结构和算法。

步骤四:实现与测试(debug)

在完成设计后,我们根据作业指导书进行coding。编码过程中要不断参考UML模型,确保实现的一致性。同时,测试也是这一阶段重要的一部分,主要是使用测评机和部分代码使用了单元测试。

第四单元架构设计

img

如图所示,按照此类图设计

我对每个部门(借还处等)以及一些消息,书籍id捆绑在了一起,同时引入了composer进行全局的查询操作。

架构设计的改进

第一单元的架构还比较简单,主要是递归下降如何界定词汇和后面语义的处理。

刚开始时我还不太懂高内聚和低耦合,直到我第三次作业递归下降写成了一坨。

第二单元电梯作业,我没有使用影子电梯,使用了调参的方式提高了电梯的性能,现在想想如果使用影子电梯或许也是一个不错的选择

到了第三单元,对于jml,架构主要由课程组官方包实现,主要是算法实现和数据结构的选择

第四单元的作业,通过前几个单元的学习,我感觉是架构设计进步最大的,首先第四单元我强测全部100分,这次除了题目相对简单一点点之外,更重要的是我能够自己设计类图,然后自己对整个系统进行构建,设计自己想要的类。

测试的改进

第一单元我测试主要是用样例进行io测试,第二次作业开始使用评测机

到后面第二单元,多线程作业难以进行简单地跑样例,最好使用测评机,同时我自己学会了多线程debug的一些方式,在idea上使用多线程debug工具完成。

第三单元侧重学习jml和单元测试,在这个单元,学会使用单元测试来对模块、函数进行验证检验,检验覆盖率比单纯测评机高得多

第四单元相对简单,综合以上测试方法,又增加了类图和流程图、状态图以及代码实现的对照测试。

课程收获

在OO课程的学习过程中我收获了

  1. 同学的友情:在此非常感谢助教团队和同学们互帮互助的精神,没有他们我做oo和debug的速度将会大幅下降
  2. 面对对象的能力,虽然没有收获爱情和对象,我现在能够独立搭建一个庞大的项目了,以前感觉超过100行的代码都是一些庞然大物,现在感觉能够轻松驾驭
  3. 自学的能力,oo课程要求我们写博客,看博客,这其实非常符合程序员对于代码能力学习的流程。
...全文
135 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

302

社区成员

发帖
与我相关
我的任务
社区描述
2023年北航面向对象设计与构造
学习 高校
社区管理员
  • YannaZhang
  • CajZella
  • C_ecelia
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧