444
社区成员
本单元正向建模过程较为曲折,在hw13时经历了两版uml后我发现细节无法处理于是都重构了。在绘制第三版时,先将分离于题面、评论区、微信群的需求统合起来,没说明的情况就自己脑补出来,这是第一步(耗时最长的一步)。
第二步是,划分出大致的类和每个类的职责,并将执行职责的行为方法,相关成员字段设计好,高重合的部分就抽象出interface
(我原以为本单元图测评强制要求出现interface
),最后把这个框架画到classuml
上。
第三步照着这个架构实现代码,这时候会遇到一些细节问题导致框架的修改,但是基本都是添加,如果出现大面积删除或者修改,那就是第二步做的比较烂
第四步是修正classuml
, 使其能通过图评测
hw13和hw14、hw15架构基本相同,不过hw13是将记录分散于各个管理员手中,从hw14起新建数据库类对借阅信息进行管理,并达到类似管理员之间记录联网的效果。
以下直接立足hw15进行架构说明
数据:
设施:
员工:
职责都在题中,很容易确认,此外每个员工(除了整理管理员外)都有一个阻塞书队列,等待整理日时进行回收借出或者上架
下附三张uml图
hw13:
hw14:
hw15:
与hw14几乎一致,因为题目要求强制改了两个方法名
类名最后都是手敲的,并将代码中有的都画在图上了,uml和我的代码是相互指导的,所以一致性应该是很高的(为了通过测试必须用代码指导类图)
架构设计思维从之前的 封装经验 趋向 功能划分、分工细小、数据与行为分离等方向,突出的就是一个建模思想的增强。
除了Unit3中架构设计不是自己做的,几乎每一单元我都会在第二次作业进行小重构,主要是猜测第三次迭代方向(除了Unit4捉摸不透,Unit1、Unit2都猜得八九不离十),将自己目前的设计思路进行整理和划分,将耦合度降下来,并使得架构更清晰,更便于第三次迭代(没有任何一个单元在第三次重构了一丁点,也是达到了一些预期)
最开始是无规则的数据对拍,后来逐步学习测试方法,学会了: