OO-24-Unit4

王畅-22373217 2024-06-12 21:22:42

OO-24-Unit4


一、本单元的正向建模与开发

    本单元的正向建模主要体现在通过UML类图对图书馆管理系统进行建模设计。状态图和顺序图由于绘制时整体代码实现已经完成,更像是对系统的总结和示意,而非建模设计。绘制时也只需将原有设计进行抽象即可。

    在hw13中,实现代码前即通过UML类图描述了各个类的主要行为、管理数据以及关联关系。这个整体设计贯穿了整个Unit4且少有改动。

    在hw14和hw15中,分别根据原有代码实现绘制了状态图和顺序图,描述了图书馆管理系统中“书”这一对象的状态转移过程,以及预定书本场景的消息传递顺序。


二、本单元作业的架构设计

类间关系

img

    此为hw13时所绘类图。Library类作为系统中枢,对各项指令进行统筹管理。图书馆中的各项带有存放书籍的地点(类)均继承自书架Bookshelf类,表明借记处、预定处各自管理一个抽象的“书架”用于存放所拥有的图书。各个用户各自的书籍等数据由专门的用户账户UsersBooks类记录,并有Users进行统一管理并实现功能接口。

img

    此为hw15时的最终类图。仅新增一个漂流处类用于处理新增地点的事务,其他类及类间关系不变。仅部分类增加了方法和元素用于实现新的功能。整体架构几乎没有改变。特别的,对于非正式书籍,在实现时另建了一个新的借记处对象与正式书籍进行区分。

状态转移

img

    以图书位置与是否正式设置二维状态,根据需求功能进行转移。由于该系统对于漂流处和书架的处理格式近乎相同,所以采用了相同的状态名。

预定流程

img

    实际上也只是对类图上已有信息的简单复述。不过因为没办法按要求命名始末方法(强迫症),虚设了两个实际并未使用的方法以通过测试。实际流程与图示除了始末方法名以外均一致

追踪关系

    最终代码实现完全符合最初的UML建模。即便后续新增功能也并未与原设框架冲突。体现了架构设计的合理性。


三、架构设计思维的演进

    从U1到U4,架构设计思维经历了从局部到整体,从无序到有序的转变。在lab1时,每一次作业还需要经历大幅度的重构;后续作业的重构量越来越小,直至几近无需重构。lab1时直至总结才勉强得出程序的框架,lab4时已经整体架构先于实现。

    整体来说,无论形式如何,架构设计已经逐步成为我进行程序设计必不可少的一环。


四、课程收获

  • 1.入门了Java这一语言
  • 2.初步掌握了面向对象设计构造的思维与方法
  • 3.深化了架构设计思维

当然最重要的还是收获了程序正常实现与运行的喜悦和满足感。嗯,大致上正常吧。

...全文
96 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

301

社区成员

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

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