【问题1】(6分)
若采用面向对象方法对预约挂号管理系统进行分析,得到如图2-1所示的用例图。请将合适的参与者名称填入图2-1中的(1)和(2)处,使用题干给出的功能描述(a)~(j),完善用例(3)~(12)的名称。

【问题2】(10分)
预约人员(患者)登录系统后发起预约挂号请求,进入预约界面。进行预约挂号时使用数据库访问类获取医生的相关信息,在数据库中调用医生列表,并调取医生出诊时段表,将医生出诊时段反馈到预约界面,并显示给预约人员;预约人员选择医生及就诊时间后确认预约,系统反馈预约结果,并向用户显示是否预约成功。
采用面向对象方法对预约挂号过程进行分析,得到如图2-2所示的顺序图,使用题干中给出的描述,完善图2-2中对象(1),及消息(2)~(4)的名称,请简要说明在描述对象之间的动态交互关系时,协作图与顺序图存在哪些区别。

【问题3】(9分)
采用面向对象方法开发软件,通常需要建立对象模型、动态模型和功能模型,请分别介绍这3种模型,并详细说明它们之间的关联关系,针对上述模型,说明哪些模型可用于软件的需求分析?
【问题1】
(1)预约人员(患者)
(2)医院管理人员
(3)(a)注册登录
(4)~(8) (b)信息浏览 (c)账号管理 (d)预约挂号(e)查询与取消预约(g)报告查询
(9)~(12) (f)号源管理(h)预约管理(i)报表管理(j)信用管理
注意:(4)~(8)的顺序是可变;(9)~(12)的顺序也是可变。
【问题2】
(1)预约人员(患者)
(2)预约挂号请求
(3)显示医生可预约时段
(4)显示预约是否成功
顺序图强调的是对象交互的时间次序。协作图强调的是对象之间的组织结构。
【问题3】
对象模型用于描述系统数据结构;动态模型用于描述系统控制结构;功能模型用于描述系统功能。
这3种模型都涉及数据、控制和操作等共同的概念,但侧重点不同,从不同侧面反映了系统的实质性内容,综合起来全面地反映了对目标系统的需求。
功能模型指明了系统应该“做什么”;动态模型明确规定了什么时候做;对象模型则定义了做事情的实体。
对象模型、动态模型和功能模型均可用于软件的需求分析。
本题考查UML建模相关知识内容
【问题1】
该问考查UML中的用例图填充,首先根据题意可以分析出患者这个参与者。而另一个参与者题目没有明示,然而从号源管理、预约管理等用例来看,定性为“医院管理员”较为合适,医院管理员是一个系统中比较常见的角色,起系统管理职能。
然后通过用例的名称来分析判断哪些用例归属于患者哪些归属于医院管理员,按这个逻辑很容易分析出:
患者:(a)注册登录(b)信息浏览 (c)账号管理 (d)预约挂号(e)查询与取消预约(g)报告查询
医院管理员:(a)注册登录(f)号源管理(h)预约管理(i)报表管理(j)信用管理
从而根据图中参与者对应的用例数给参与者和用例定位到具体的空中。
【问题2】
该问考查UML中的顺序图,本问比较容易,紧扣题目描述来组织内容即可,从题干中“预约人员(患者)登录系统后发起预约挂号请求,进入预约界面”的信息可知(1)应为预约人员(患者),(2)为预约挂号请求;从题干中“将医生出诊时段反馈到预约界面,并显示给预约人员”的信息可知(3)应为显示医生可预约时段;从题干中“系统反馈预约结果,并向用户显示是否预约成功”的信息可知(4)应为显示预约是否成功。
序列图(顺序图)是用来显示你的参与者如何以一系列顺序的步骤与系统的对象交互的模型。顺序图可以用来展示对象之间是如何进行交互的。顺序图将显示的重点放在消息序列上,即强调消息是如何在对象之间被发送和接收的。
协作图,和序列图相似,显示对象间的动态合作关系。可以看成是类图和顺序图的交集,协作图建模对象或者角色,以及它们彼此之间是如何通信的。
如果强调时间和顺序,则使用序列图;如果强调上下级关系或对象间组织结构,则选择协作图。
【问题3】
该问考查了一个较为早期提出的面向对象模型——OMT。
OMT方法的OOA模型包括对象模型、动态模型和功能模型。
对象模型表示静态的,结构化的“数据”性质,它是对模拟客观世界实体的对象及对象间的关系映射,描述了系统的静态及结构。通常用类图表示。对象模型描述系统中对象的静态结构、对象之间的关系、对象的属性、对象的操作。对象模型表示静态的、结构上的、系统的“数据”特征。对象模型为动态模型和功能模型提供了基本的框架。对象模型用包含对象和类的对象图来表示。
动态模型表示瞬间的,行为化的系统控制性质,它规定了对象模型中的对象合法化变化序列。通常用状态图表示。动态模型描述与时间和操作顺序有关的系统特征——激发事件、事件序列、确定事件先后关系的状态以及事件和状态的组织。动态模型表示瞬间的、行为上的、系统的“控制”特征。动态模型用状态图来表示,每张状态图显示了系统中一个类的所有对象所允许的状态和事件的顺序。
功能模型表示变化的系统的功能性质,它指明了系统应该做什么,因此直接地反映了用户对目标系统的需求,通常用数据流图表示。功能模型描述与值变换有关的系统特征——功能、映射、约束和函数依赖。