301
社区成员
发帖
与我相关
我的任务
分享本单元主要学习的内容是UML,通过实现一个模拟图书馆运行的微型系统加深对UML的掌握与理解。
正向建模包括需求分析、系统设计、详细设计、编码实现、测试和验证、部署和维护几个方面,有助于系统的整体规划和设计,使得开发过程有条不紊。通过UML等工具的使用,可以清晰地表达系统的结构和行为,便于团队成员理解和协作。经过我的实践,我发现最适合我的开发方式为UML设计与代码实现同时进行。总体架构的设计不可能一次就达到完美,并且脱离代码的想象必定不会完美。在不断实现中进行微调是效率最高的做法。
本单元作业中我大体上设计了机构和实体两种类别,机构如借还处、预约处等,实体如书籍、学生等,这样类与类之间的关系比较清晰,每个类的职责与功能也分得比较清楚,如下图

经过四个单元的学习,我在设计方面掌握了层次话、规格化设计的能力,同时锻炼了完整、全面分析复杂情形的能力。无论是递归下降、多线程,还是JML、UML,都让我在java开发方面有了或多或少的进步。
关于测试方面,我最初的想法是每个单元都通过搭建评测机完成。但是从实际测试的效果来看,有些单元如U1、U4通过手动构造特殊样例来debug的效率更高,覆盖度也更好。所以经过四个单元的学习我体会到了通过多种方式测试代码正确性的重要性。
经过这四个单元的学习,我收获了许多新的知识,比如多线程、UML、JML等。同时较高的作业强度让我的代码能力得到了提升。我也在OO的学习中与很多同学、助教进行了交流与探讨,收获了很多优秀的思想与观点。