【系统架构师-案例题-建模分析】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(对象建模技术)的经典三模型理论,是面向对象分析的核心基础:

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

三模型速记

  • 对象模型:静态结构,类图,谁来做
  • 动态模型:行为时序,状态图/顺序图,什么时候做
  • 功能模型:功能需求,数据流图,做什么
  • 三者关系:对象为基础,动态控时序,功能定需求,均可用于需求分析
相关推荐
Warren2Lynch2 小时前
UML 之旅:一位从业者对 Visual Paradigm 可视化建模的评测
uml
Meme Buoy2 小时前
11.2统一建模语言UML-事务关系图
microsoft·uml
北城笑笑2 小时前
FPGA 51,基于 ZYNQ 7Z010 的 FPGA 高速路由转发加速系统架构设计(Xilinx ZYNQ-MINI 7Z010 CLG400 -1)
前端·fpga开发·系统架构·fpga
0xDevNull4 小时前
现代AI系统架构全景解析
人工智能·系统架构
laomocoder4 小时前
AI网关设计
人工智能·rust·系统架构
WoodyPhang17 小时前
手机内存扩展深度解析
系统架构
roman_日积跬步-终至千里21 小时前
【系统架构师-案例题-分布式数据缓存架构】22年下(3)分布式仓储货物管理系统
分布式·缓存·系统架构
Hui Baby1 天前
长期记忆系统架构
系统架构
roman_日积跬步-终至千里1 天前
【系统架构师-案例题-Web应用系统架构设计】22年(4)基于边缘计算的智能门禁系统
人工智能·系统架构·边缘计算