钦州学院函授《软件工程》学习课程-对象设计

院校: 发布时间:2021-04-26 13:51:54

    对象设计

    面向对象分析得到的对象欢型通常并没有详细描述类中的服务。面向对象设计阶段是扩充、完善和细化对象模型的过程,设计类中的服务、实现服务的算法是面向对象设计的一个重要任务,还要设计类的关联、接口形式及进行设计的优化。

    1.对象描述

    对象是类或子类的一个实例,对象的设计描述可以采用以下形式之一:

    (1)协议描述。通过定义对象可以接收的每个消息和当对象接收到消息后完成的相关操来建立对象的接口。协议描述是一组消息和对消息的注释。对有很多消息的大型系统,可能要创建消息的类别。

    (2)实现描述。描述由传送给对象的消息所蕴含的每个操作的实现细节,包括对象名字的定义和类的引用、关于描述对象的属性的数据结构的定义及操作过程的细节。

    2.设计类中的服务

    (1)确定类中应有的服务。需要综合考虑对象模型、动态模型和功能模型才能确定类中应有的服务,如状态图中对象对事件的响应,数据流图中的处理、输入/输出流对象及存储对象等。

    (2)设计实现服务的方法。设计实现服务应先设计实现服务的算法,考虑算法的复杂度、可理解性、易实现及易修改性:其次是选择数据结构,要选择能方便、有效地实现算法的数据结构:第三是定义类的内部操作,可能需要添加一些用来存放中间结果的类。

    3.设计类的关联

    在应用系统中,使用关联有两种可能的方式:只需单向遍历的单向关联和需要双向遍历的双向关联。单向关联和双向关联分别采用不同的方法来实现。

    4.链属性的实现

    链属性的实现要根据具体情况分别处理。如果是一对一关联, 链属性可作为其中”个对象的属性而存储在该对象中。而一对多关联,链属性可作为“多”端对象的一个属性。至于多对多关联,使用一个独立的类来实现链属性。将毕业设计题目作为一个对象类,使老师类与学生类对象的多对多关联变为教师与毕业设计题目的一对多关联以及学生与毕业设计题目的一对一关联。

    5.设计的优化

    设计的优化需要确定优先级,设计人员必须确定各项质量指标的相对重要性才能确定优先级,以便在优化设计时制定折衷的方案。通常在效率和设计清晰性之间寻求折衷。有时可以增加冗余的关联以提高访问效率,或调整查询次序,或保留派生的属性等方法来优化设计。设计优化要取得用户和系统应用领域专家的认可。