面向对象(OO)分析与设计方法,以对象、类、继承、封装、多态为核心思想,依托UML统一建模语言的多类视图图形,从静态结构、动态行为、物理部署多维度完整搭建系统模型,实现需求可视化、设计标准化、开发协作统一。
一、UML图整体分类
UML 2.x 共分为两大类别,覆盖面向对象建模全流程:
- 结构图(静态模型):描述系统固定结构、元素及关系
- 行为图(动态模型):描述系统交互、流程、状态变化
二、面向对象建模常用核心UML图
1. 静态结构建模(核心)
- 类图
面向对象最核心的图纸,描述系统中类、属性、方法、接口,以及类之间的关联、依赖、继承、聚合、组合关系,是代码落地的直接依据。 - 对象图
类图的实例快照,展示某一时刻系统中具体对象及对象间关系,用于辅助理解复杂类结构。 - 包图
划分系统模块与包结构,描述模块间依赖,用于大型系统分层、解耦设计。 - 组件图/部署图
- 组件图:描述软件组件、接口及组件依赖;
- 部署图:描述硬件节点、软件制品的物理部署架构。
2. 动态行为建模
- 用例图
需求分析阶段首要图纸,定义参与者、用例,表达用户与系统的功能需求,梳理业务场景。 - 顺序图(时序图)
描述对象之间按时间顺序的消息交互,清晰展示业务流程调用逻辑。 - 协作图(通信图)
聚焦对象链接与消息交互,侧重对象间关联关系,与顺序图语义等价。 - 状态机图
描述单个对象生命周期内的状态切换、触发事件、动作,适合订单、审批、设备等有状态业务。 - 活动图
类似流程图,描述业务活动、分支、并行流程,用于复杂业务流程建模。
三、面向对象建模完整流程(UML图纸配合)
- 需求分析:用例图 → 梳理业务功能与角色
- 领域建模:类图、对象图 → 抽象业务实体、属性、行为
- 行为设计:顺序图/活动图/状态图 → 明确业务交互逻辑
- 架构设计:包图、组件图 → 划分系统模块与依赖
- 物理部署:部署图 → 规划服务器、环境、程序部署方案
四、核心优势
- 多视图互补:静态+动态结合,完整表达系统全貌;
- 贴合面向对象思想:以类、对象、关系为建模基础,无缝对接面向对象编程;
- 标准化通用:UML 统一规范,便于开发、测试、产品多方沟通;
- 可迭代落地:模型可直接转化为Java、Python等面向对象语言代码框架。
面向对象方法通过多种UML图完成系统建模,主要包括:
交互图:包含序列图和通信图,描述对象间的动态交互关系。序列图按时间顺序展示消息交互,通信图强调收发消息对象的组织结构。
状态图:基于对象状态变化建模复杂行为对象。
设计类图:创建类定义的静态视图,说明类的属性和方法,是系统静态结构的核心表达。
2. 在线会议审稿系统(ORS)需求概述
ORS系统主要处理学术会议前期的投稿和审稿事务,核心功能模块与角色如下:
(1)核心实体信息
会议信息:包含名称、主题、提交期限、审稿期限、通知日期、状态、召开日期等,支持审稿过程的启动与关闭。
用户信息:需注册成为作者或审稿人,提供名称、单位、电子邮件、登录名、密码等信息。
稿件信息:包含稿件ID、标题、摘要、URL、状态、录用标准,状态随审稿流程动态更新。
(2)核心角色与权限
作者:登录后提交稿件、浏览审稿结果。提交流程包括输入标题摘要、选择主题类型、选择存储位置,完成后上传稿件并接收系统通知。
审稿人:登录后设置兴趣领域、审阅稿件给出评价(从原创性、技术质量、相关性、总体评价多维度评分)、罗列录用/拒绝稿件,不得审阅本人投稿。
会议委员会主席(特殊审稿人):除普通审稿人权限外,可浏览所有提交稿件、分配审稿任务、关闭审稿过程。分配规则为每篇稿件需分配给3位审稿人,当3人总评分达到录用阈值则稿件录用,否则退稿,并通过邮件通知作者。录用稿件将生成可打印版。
(3)用例图核心概念
用例图描述系统与外部用户的交互,从外部用户视角描述系统功能,核心要素包括:
参与者:需要与系统交互的外部实体,如作者、审稿人、主席等。
用例:行为相关的步骤序列,代表一个业务场景,可自动或手动执行。
交互关系:描述参与者与用例之间的关联,以及用例之间的包含、扩展、泛化关系。
二、相关试题及答案
(一)单项选择题
- 在UML图中,用于按时间顺序描述对象之间消息交互的是?
A. 类图 B. 序列图 C. 状态图 D. 用例图
答案:B 解析:序列图通过时间顺序展示对象间的消息流动和方法调用,是交互图的一种。
- 在线会议审稿系统中,每篇稿件默认需要分配给几位审稿人评审?
A. 2位 B. 3位 C. 4位 D. 5位
答案:B 解析:系统规则要求一篇稿件需分配给3位审稿人审阅,综合评分决定是否录用。
- 以下哪项不属于审稿人对稿件的评价维度?
A. 原创性 B. 技术质量 C. 作者资历 D. 相关性
答案:C 解析:审稿评价从原创性、技术质量、相关性和总体评价四个方面进行,不包含作者资历。
- 用例图主要用于软件开发的哪个阶段?
A. 需求分析 B. 概要设计 C. 详细设计 D. 测试阶段
答案:A 解析:用例图从用户视角描述系统功能,是需求分析阶段的核心建模工具。
- 在ORS系统中,以下哪个角色有权限关闭审稿过程?
A. 作者 B. 普通审稿人 C. 会议委员会主席 D. 系统管理员
答案:C 解析:会议委员会主席作为特殊审稿人,具备分配稿件、关闭审稿流程的特殊权限。
(二)多项选择题
- 以下属于面向对象分析中交互图的有?
A. 序列图 B. 通信图 C. 类图 D. 状态图
答案:AB 解析:交互图包括序列图和通信图,分别从时间顺序和组织结构角度描述对象交互。
- 在线会议审稿系统中,作者提交稿件的流程包括以下哪些步骤?
A. 输入标题和摘要 B. 选择稿件所属主题类型
C. 选择稿件存储位置 D. 上传稿件至数据存储
答案:ABCD 解析:作者提交稿件需依次完成标题摘要输入、主题选择、存储位置选择,完成后上传稿件。
- 以下属于ORS系统稿件状态更新触发场景的有?
A. 作者提交稿件 B. 审稿人完成评审
C. 主席分配审稿任务 D. 最终录用/退稿决策
答案:ABD 解析:稿件状态随整个审稿过程推进而更新,包括提交、评审、最终决策等节点。
- 用例图的核心组成要素包括?
A. 参与者 B. 用例 C. 交互关系 D. 类属性
答案:ABC 解析:用例图由参与者、用例以及它们之间的关系构成,类属性属于类图的内容。
(三)判断题
- 设计类图用于描述系统的动态行为。( )
答案:× 解析:设计类图是静态视图,描述类的属性和方法,展示系统静态结构。
- 审稿人可以审阅自己作为作者提交的稿件。( )
答案:× 解析:系统明确限制稿件不能被作者本人审阅,避免利益冲突。
- 用例是从外部用户的视角描述系统功能。( )
答案:√ 解析:用例的核心特点是站在用户可理解的角度描述系统提供的服务。
- 稿件录用决策仅需1位审稿人给出高分即可通过。( )
答案:× 解析:需3位审稿人的总评价满足设定的录用阈值,方可判定为录用。
(四)案例分析题(软考下午题典型题型)
【说明】某高校拟开发学术会议审稿系统,功能需求如下:
用户注册:新用户注册成为作者或审稿人,填写基本信息。
作者功能:登录后提交稿件、查看审稿结果。
审稿人功能:登录后设置研究领域、评审分配给自己的稿件、查看评审历史。
会议主席功能:除审稿人功能外,可管理会议信息、分配审稿任务、公布录用结果。
【问题1】请识别该系统的参与者,至少列出4个。
答案:参与者包括:作者、普通审稿人、会议委员会主席、未注册用户、系统管理员(列出4个即可)。
【问题2】根据需求描述,列出系统至少5个核心用例。
答案:核心用例包括:用户注册、用户登录、提交稿件、设置研究领域、评审稿件、分配审稿任务、查看审稿结果、公布录用结果(列出5个即可)。
【问题3】请描述稿件从提交到最终结果通知的完整状态流转过程。
答案:状态流转如下:
待提交:作者编辑稿件尚未上传
已提交:作者完成稿件上传,等待分配审稿人
审稿中:已分配审稿人,正在进行评审
评审完成:3位审稿人均提交评审意见,等待最终决策
录用/退稿:主席根据评分做出最终决策
已通知:系统向作者发送结果邮件,流程结束
三、考点分析与备考建议
在线会议审稿系统是软考软件设计师下午案例分析题的经典场景,主要考查面向对象分析设计能力,高频考点包括:
参与者与用例识别:根据需求描述准确识别系统角色和功能,绘制用例图。
类图设计:识别核心实体类、属性和关联关系,包括用户、会议、稿件、评审意见等。
活动图/状态图绘制:描述业务流程的步骤流转,如投稿流程、审稿流程、状态转换。
序列图设计:描述特定场景下的对象交互,如稿件提交、评审分配、结果通知等。
备考时建议重点掌握UML各种图的适用场景和绘制方法,结合历年真题中的类似案例进行练习,熟练掌握从需求文本中提取关键模型元素的能力。