面向对象第四单元及课程总结

面向对象第四单元及课程总结

第四单元作业架构设计

本单元为UML模型解析,涉及UML类图、顺序图与状态图的解析、查询以及正确性检查。

本单元作业架构的核心即为构建UML模型的树状图关系。本人在本单元架构中为所有UML模型元素(UmlElement)构建了一个类,其基类为(Element),所有个人构建的元素类均继承自基类。类图、顺序图与状态图的顶头父结点为静态类Model。类图中含有成员类(Class)与接口(Interface)以及各种关系(Relation),类与接口含有成员属性(Attribute)与方法(Operation),类中额外含有关联对端的类(assosiations)与实现接口(interfaces),方法中含有成员参数(Parameter);顺序图中含有成员生命线(Lifeline)与消息(Message);状态图中含有成员状态(State)与状态迁移(Transiton),状态迁移含有成员对应的触发事件(Event)。

所有模型元素均由工厂类(Factor)依据UMLElement类创建,在模型(Model)初始化时根据元素类型来构建树状图,并构建类与接口的继承关系,最后构建出类所实现的接口与接口继承的全部接口。

UML类图

 

课程收获

架构设计与面向对象理解

经过面向对象课程四个单元的学习,我对面向对象设计构造有了更深层次的理解。从第一单元的“半面向过程”,过于将关注点置于方法的实现与流程,到逐渐熟悉层次化设计,能够在各个方面实现层次化与归一化处理,实现面向抽象而不面向具体,并逐渐养成良好的代码风格。

在第三、四单元,我们学习了JML规格与UML模型,能够在代码之外描述展示出方法与类的抽象功能,以及工程的架构设计,并根据规格与模型来进行自己的架构与实现。

最重要的是,经过四个单元的学习与实践,我也逐渐掌握了工程化设计的方法。能够根据业务需求来选择合适的设计模式,设计自己的工程架构,并构建实现合适的数据结构与算法,在面向对象综合设计方面的能力有了很大的提高。

测试实践

除了架构设计之外,在面向对象课程中我们学到的另一项重要技能就是测试。

测试是工程设计不可或缺的重要一环,是工程正确性、适应性以及综合性能的保障。通过四个单元的学习实践,我逐渐掌握了测试相关的方法,除了直接分析代码之外,可以构造高逻辑性、高覆盖率的数据对工程进行综合测试,不再依靠单纯的看代码以及盲目的超大体量数据进行随机测试。

课程建议

一、指导书方面,希望能够更加清晰、具体、准确。我们第三、四单元,尤其是第四单元,需要根据指导书要求进行具体的实现,但我们指导书在很多问题描述上模棱两可,任务要求部分描述实在不够清晰,需要在讨论区大量查询或是提问,比较不方便。

二、每单元课程结束后可以对同学们的架构进行总结分析与分享。其实很多作业我们同学们都有很多创新性或是有意思的主意与架构,研讨课的时间可能并不够用,我们可以额外找机会在同学们的作业中间寻找有新意的思路,总结分享给大家。

三、我们可以将讨论区比较共性的问题及时总结,通过微信群等途径发送给大家,很多共性的问题是大家都有的疑惑,但在讨论区中寻找准确信息并不方便,还可能会重复提问,助教们可以在收到有价值或共性的问题时及时公告给所有同学。

posted @ 2021-06-26 19:06  月下天弦  阅读(50)  评论(0)    收藏  举报