赞
踩
本博客记录了笔者在面向对象编程第四单元的学习过程与相关思考,以及对本课程四个单元学习的总结。
面向对象编程第四单元的主题为:基于UML的层次化设计。
由于后两次迭代增加的任务量较少,笔者在架构上并没有进行过多调整。
第一次作业内容量相比前三个单元的第一次作业内容量都少了很多,架构设计容易了不少。
本次作业增加了图书漂流系统,需要对 Library
类的属性以及方法进行调整。
本次作业只增加了信誉积分系统,在架构上基本没有变化。
正向建模与开发是指在工程开发中,先分析需求,然后设计整体架构,最后实现业务代码并完成后续测试。它是一种从抽象需求逐步细化到具体实现的过程,有助于开发者统一对于系统的需求、结构和行为的理解。
类图、状态图和顺序图是 UML 建模语言中常用的三种图,它们各自聚焦于系统的不同方面,但在整个建模与开发过程中共同协作,确保设计的一致性和完整性。
类图主要描述系统的静态结构,展示系统中的类、接口、对象及其之间的关系(如继承、关联、聚合、依赖等)。它是对系统结构的高层次抽象,帮助设计者定义系统的构成模块以及这些模块如何相互作用。在正向建模中,类图是起点,它为后续的状态图和顺序图提供了基础框架和元素。
状态图描述一个特定类的对象在其生命周期内可能经历的各种状态,以及引起状态转换的事件。它关注的是单个对象的行为,揭示了对象状态变化的规则和条件。在正向建模过程中,状态图基于类图中定义的类来细化,为类的行为建模提供细节,确保设计时考虑到了所有可能的状态转换,从而保证系统的动态行为正确无误。
顺序图展示对象之间的动态交互序列,包括消息传递的时间顺序,展示了在特定情境下对象如何协同工作以完成某项功能或任务。它以时间轴的方式直观地表示了方法调用的顺序和对象间的交互流程。顺序图的设计直接依赖于类图中定义的类和接口,同时结合状态图中定义的状态转移逻辑,确保交互过程的逻辑连贯性和一致性。
确保设计的完整性
类图定义了系统的基本组成和结构,状态图和顺序图在此基础上进一步描述了这些组成部分的行为和交互。三者的紧密配合确保了系统设计的全面性,避免了设计上的遗漏。
促进团队协作
通过保持这三种图之间的一致性,团队成员可以更好地理解系统的设计意图,减少误解和沟通成本。一致性的模型有助于开发人员、设计师和项目管理者之间建立共同的语言和理解。
简化维护与迭代
当系统需要修改或扩展时,保持模型间的一致性使得影响分析更加直接,便于定位和调整相关部分,而不会引入不一致性或错误。这对于长期的系统维护和迭代开发至关重要。
验证系统逻辑
通过对比和校验类图、状态图和顺序图,可以在设计阶段早期发现潜在的问题,比如状态遗漏、交互逻辑错误等,有助于提前修正设计缺陷,提高软件质量。
说来惭愧,笔者的架构设计思维并没有明显的演进过程,第一单元的架构设计思路一直沿用到了最后一单元。从第一单元开始,笔者便本着“绝不重构”的原则书写代码,尽量在代码书写前先构想一个合理的架构,然后再开始敲代码。但无论如何,在总结时回想起来,还是有了很多新的认识:
在第三单元系统性地学习了黑箱测试、白箱测试、压力测试等测试方法,对于代码性能测试等方面有了一个大致的了解。最遗憾的是在本学期没有能自己独立设计一个评测机,只完成了评测机的部分功能(数据生成器等)。
个人感觉这门课程带给自己更多的是非知识性的收获,难以用一段话来总结。如果硬要写点什么,那么本人:
在最后的最后回想起这一切,没有想象中结束的那份喜悦,只有一点抵达终点的释然。
试问岭南应不好,却道:此心安处是吾乡。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。