【系统架构师-案例题-建模分析】21年下(4)预约挂号管理系统 UML 建模案例分析

文章目录

题目

某医院拟委托软件公司开发一套预约挂号管理系统,以便为患者提供更好的就医体验,为医院提供更加科学的预约管理。本系统的主要功能描述如下:(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. 参与者(1)为发起预约的预约人员(患者)
  2. 患者向预约界面发起的第一个消息为预约挂号请求,对应(2);
  3. 预约界面获取医生时段后,向患者返回的消息为显示医生可预约时段,对应(3);
  4. 患者确认预约后,系统向患者返回的最终消息为显示预约是否成功,对应(4)。

【问题3】

答案
1. 三种模型的定义
  • 对象模型 :描述系统的静态数据结构,是对客观世界实体的对象、对象间关系的映射,用类图表示。它定义了系统中的实体、实体的属性/操作、实体间的关联,是动态模型和功能模型的基础框架。
  • 动态模型 :描述系统的行为/控制结构,表示对象的状态变化、事件序列和交互时序,用状态图/顺序图表示。它规定了对象模型中对象的合法变化序列,关注系统的"什么时候做"。
  • 功能模型 :描述系统的功能/数据变换,表示系统应该完成的功能,用数据流图表示。它关注系统的"做什么",直接反映用户的功能需求。
2. 三种模型的关联关系

三种模型从不同侧面完整描述系统,相互补充、相互依赖:

  • 对象模型是基础,为动态模型和功能模型提供实体框架;
  • 动态模型定义了对象模型中对象的行为时序,为功能模型的执行提供控制逻辑;
  • 功能模型定义了系统需要实现的功能,由对象模型中的实体执行,由动态模型控制执行顺序。
  • 三者的核心对应:功能模型指明"做什么",动态模型指明"什么时候做",对象模型定义"谁来做"
3. 需求分析阶段的适用性

对象模型、动态模型、功能模型均可用于软件需求分析阶段

  • 功能模型直接描述用户的功能需求,是需求分析的核心;
  • 对象模型梳理系统的核心实体和业务关系,明确需求中的数据边界;
  • 动态模型梳理业务流程的时序和交互,明确需求中的行为逻辑。
解答

该题基于OMT(对象建模技术)的经典三模型理论,是面向对象分析的核心基础:

  • 三模型分别对应系统的数据、控制、功能三个核心维度,缺一不可;
  • 三者的依赖关系是:对象模型是基础,动态模型控制执行,功能模型定义需求;
  • 需求分析阶段需要同时使用三种模型,从静态结构、动态行为、功能需求三个维度完整描述系统,确保需求无遗漏。

三模型速记

  • 对象模型:静态结构,类图,谁来做
  • 动态模型:行为时序,状态图/顺序图,什么时候做
  • 功能模型:功能需求,数据流图,做什么
  • 三者关系:对象为基础,动态控时序,功能定需求,均可用于需求分析
相关推荐
m0_5873830015 小时前
点餐预约核销系统的架构脉络
java·架构·系统架构·需求分析
DreamLife☼19 小时前
复杂Agent系统架构设计
系统架构·wpf·agent·组件·设计·构架·说明
blue_dou1 天前
从技术债看CRM选型:2026年主流系统架构成熟度与迭代能力对比
系统架构
帅次1 天前
软考中项第4章:信息系统架构,核心知识点与备考重点
系统架构·项目管理·软考·系统集成项目管理工程师·软考中项
Vicky_time1 天前
跨境系统架构选型:2026美国海外仓综合实力全面评测与美西大件海外仓方案解析
系统架构
微三云生态系统架构师-彭丹1 天前
商分账系统四关键设计:自动分账、实时到账、账目透明与三方对账
系统架构
微三云生态系统架构师-彭丹2 天前
消费增值绿色积分系统技术拆解:真实消费铸造与分红池托底机制
系统架构
励志不掉头发的内向程序员2 天前
【LibreCAD 2D架构】从鼠标点击到屏幕像素:LibreCAD绘图架构全链路解析之Action与命令系统
linux·开发语言·c++·qt·学习·系统架构
码匠许师傅2 天前
【设计模式精讲】15.享元模式(Flyweight)
c++·设计模式·享元模式·uml
-余^晖-2 天前
统一身份认证系统架构与协议深度解析
系统架构