文章目录
题目
某医院拟委托软件公司开发一套预约挂号管理系统,以便为患者提供更好的就医体验,为医院提供更加科学的预约管理。本系统的主要功能描述如下:(a) 注册登录,(b) 信息浏览,© 账号管理,(d) 预约挂号,(e) 查询与取消预约,(f) 号源管理,(g) 报告查询,(h) 预约管理,(i) 报表管理和 (j) 信用管理等。
【问题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) 信息浏览、© 账号管理、(d) 预约挂号、(e) 查询与取消预约、(g) 报告查询
(9)~(12)(顺序可变):(f) 号源管理、(h) 预约管理、(i) 报表管理、(j) 信用管理
解答
根据系统角色的职责划分:
- 左侧参与者(1)为预约人员(患者),其核心功能为个人操作相关:注册登录、信息浏览、账号管理、预约挂号、查询与取消预约、报告查询,对应(a)(b)©(d)(e)(g);
- 右侧参与者(2)为医院管理人员,其核心功能为系统管理相关:号源管理、预约管理、报表管理、信用管理,对应(f)(h)(i)(j);
- 用例(3)为两个角色的公共基础功能,因此为(a)注册登录。
【问题2】
答案
(1) 预约人员(患者)
(2) 预约挂号请求
(3) 显示医生可预约时段
(4) 显示预约是否成功
顺序图与协作图的区别
| 对比维度 | 顺序图 | 协作图 |
|---|---|---|
| 核心侧重点 | 强调对象交互的时间次序,按时间顺序排列消息 | 强调对象之间的组织结构/关联关系,按对象连接组织消息 |
| 时间表示 | 通过垂直轴的上下顺序体现时间先后 | 通过消息编号(如1, 1.1)体现调用顺序 |
| 适用场景 | 适合分析流程的执行步骤、时序逻辑 | 适合分析对象间的协作关系、系统结构 |
| 核心特点 | 直观展示交互的先后顺序,可读性强 | 直观展示对象间的关联,适合结构分析 |
解答
严格匹配题干的预约挂号流程:
- 参与者(1)为发起预约的预约人员(患者);
- 患者向预约界面发起的第一个消息为预约挂号请求,对应(2);
- 预约界面获取医生时段后,向患者返回的消息为显示医生可预约时段,对应(3);
- 患者确认预约后,系统向患者返回的最终消息为显示预约是否成功,对应(4)。
【问题3】
答案
1. 三种模型的定义
- 对象模型 :描述系统的静态数据结构,是对客观世界实体的对象、对象间关系的映射,用类图表示。它定义了系统中的实体、实体的属性/操作、实体间的关联,是动态模型和功能模型的基础框架。
- 动态模型 :描述系统的行为/控制结构,表示对象的状态变化、事件序列和交互时序,用状态图/顺序图表示。它规定了对象模型中对象的合法变化序列,关注系统的"什么时候做"。
- 功能模型 :描述系统的功能/数据变换,表示系统应该完成的功能,用数据流图表示。它关注系统的"做什么",直接反映用户的功能需求。
2. 三种模型的关联关系
三种模型从不同侧面完整描述系统,相互补充、相互依赖:
- 对象模型是基础,为动态模型和功能模型提供实体框架;
- 动态模型定义了对象模型中对象的行为时序,为功能模型的执行提供控制逻辑;
- 功能模型定义了系统需要实现的功能,由对象模型中的实体执行,由动态模型控制执行顺序。
- 三者的核心对应:功能模型指明"做什么",动态模型指明"什么时候做",对象模型定义"谁来做"。
3. 需求分析阶段的适用性
对象模型、动态模型、功能模型均可用于软件需求分析阶段:
- 功能模型直接描述用户的功能需求,是需求分析的核心;
- 对象模型梳理系统的核心实体和业务关系,明确需求中的数据边界;
- 动态模型梳理业务流程的时序和交互,明确需求中的行为逻辑。
解答
该题基于OMT(对象建模技术)的经典三模型理论,是面向对象分析的核心基础:
- 三模型分别对应系统的数据、控制、功能三个核心维度,缺一不可;
- 三者的依赖关系是:对象模型是基础,动态模型控制执行,功能模型定义需求;
- 需求分析阶段需要同时使用三种模型,从静态结构、动态行为、功能需求三个维度完整描述系统,确保需求无遗漏。
三模型速记
- 对象模型:静态结构,类图,谁来做
- 动态模型:行为时序,状态图/顺序图,什么时候做
- 功能模型:功能需求,数据流图,做什么
- 三者关系:对象为基础,动态控时序,功能定需求,均可用于需求分析