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

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

三模型速记

  • 对象模型:静态结构,类图,谁来做
  • 动态模型:行为时序,状态图/顺序图,什么时候做
  • 功能模型:功能需求,数据流图,做什么
  • 三者关系:对象为基础,动态控时序,功能定需求,均可用于需求分析
相关推荐
007张三丰1 天前
系统架构设计师论文预测题目3:论大规模分布式系统中的数据一致性方案设计
系统架构·软考高级·数据一致性·高级论文·论文预测
日取其半万世不竭1 天前
用 Netdata 实时监控服务器,比 Prometheus + Grafana 轻量得多
linux·服务器·网络·系统架构·负载均衡·zabbix·grafana
007张三丰1 天前
系统架构设计师范文5:论负载均衡设计
运维·系统架构·负载均衡·软考·软考高级论文
eBest数字化转型方案1 天前
基于AI的食品行业零售执行系统架构设计与实践 eBest
人工智能·系统架构·零售
roman_日积跬步-终至千里2 天前
【系统架构师案例题-知识点】云原生与大数据架构
大数据·云原生·系统架构
a里啊里啊2 天前
软考-软件评测师:知识点整理(七)——软件工程
设计模式·软件工程·软考·uml·结构化开发·软件评测师·软件模型
面汤放盐2 天前
软件架构设计的考虑:如构建一个长生周期的系统
系统架构
莱歌数字3 天前
AI在寻优计算的应用
人工智能·科技·系统架构·制造·cae
龙侠九重天3 天前
OpenClaw 与 Hermes 有何异同?——从系统架构到用户体验的全面对比
人工智能·ai·系统架构·大模型·llm·openclaw·hermes
每天的每一天3 天前
交易所-第三方登录
金融·系统架构