UML建模案例分析

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
交互图(Interactive diagram), 描述对象间的交互关 系。包括顺序图、合作图。
实现图( Implementation diagram ) 用于描述系统的 物理实现。包括构件图、部件图。
SRS系统用例建模
1、了解系统需求,需要寻求以下问题答案
• (1)谁将使用待开发的系统? • (2)系统需要提供什么有价值的服务? • (3)当用户与系统交互时,他们期待什么效果?
候选类
学生 学习计划 教授 课程
班级
成绩单
候选类描述
被大学录取的学习主体对象。
百度文库
属性
学生编号、姓名、专业、学位…
学生为得到特定学位所要完成的必修课程清单。
计划编号、计划制定时间…
为班级授课或指导学生的教职工
老师编号、姓名、职称…
一个学期长的一系列授课、作业、考试等,与特定专题领域 课程编号、课程名称、课程学分.. 有关,与一定学时数、学分相关联,是获得学位的一个单位。
配置视图
UML常用视图
Implementation
View 表示系统的 实现特征,常用 构件图表示。
Process View 表示系统内部 的控制机制。常用类图描述 过程结构,用交互图描述过 程行为。
Deployment View 配置视 图描述系统的物理配置特 征。用配置图表示。
图(Diagrams)
选择的动词短语:
(1)我们被要求为大学开发一个自动化的学生注册系统(SRS) (2)学生…注册…课程班级 (3)跟踪学生的学习进展 (4)学生被大学录取 (5)学生建立学习计划 (6)学生..选择一名导师 (7)检验…学习计划是否满足…学位要求

互 关
使用信息 (以读方式启动用例)

不可用 (不能启动用例)
6 建立用例图
SRS系统静态建模
——标识候选类及其属性
1、系统静态建模需要完成的任务
1.分析系统问题域,确定和标识系统需要定义的类; 2. 定义类对象的属性和操作; 3. 建立系统中类对象之间的结构关系。
2、标识适当的类
• 标识类的过程相当“模糊”,很大程度上依赖直觉、以前的建模 经验以及对要开发系统领域的了解程度。
相关用例:
系统登录 建立学习计划 查询授课班级信息
5 建立用例和演员之间的关系
• 利用演员和用例的交叉引用表,来描述用例和演员之间的关系:
启动演员
用例 • 系统登录 • 建立学习计划 • 审核学习计划 • 注册课程班级 • 取消注册课程 • 查询授课班级信息 • 查询学生信息 • 查询学生成绩单 • 公布课程成绩 • 维护后台基础数据
SRS系统静态建模
——类关系建模
2、确定类之间静态结构关系的方法
• 1)动词短语分析方法 • 2)关联矩阵分析方法
2.1 动词短语分析法
• 目的:根据描述文档集合,如SRS用例需求描述、用例图和数据 字典等,分析动词短语,为后续确定类之间的结构关系提供分析 依据。
• 方法:搜索出描述文档中的所有动词短语,然后分析动词短语, 若某动作的结果能在相关类对象之间建立了一种持久结构关系, 则表明该类之间存在关联。 若某些名词短语只是表示临时行为,则删除或者忽略。
学生
提供信息 提供信息 不可用 提供信息 提供信息 使用信息 使用信息 使用信息 不可用 不可用
教授
提供信息 不可用 提供信息 不可用 不可用 使用信息 使用信息 使用信息 提供信息 不可用
管理人员
提供信息 不可用 不可用 不可用 不可用 使用信息 使用信息 使用信息 不可用 提供信息
提供信息 (以写方式启动用例)
2.3 候选类确定
• 1)删除和本系统关联不大的名词或者指代本系统的名词
• 2)删除重复项、删除单数术语的复数形式。
• 3)将明显的同义词分组,在同义词中选择一个最为合适 的作为候选类名
• 4)有些候选名词是暗示对象之间角色的名词,要将角色 名称删除
• 5)删除反映其它类对象属性的名词
大学 学生注册系统 系统 学生 所有学生 学位 学习计划 课程计划 教授 导师 成绩单 完成课程 成绩 课程 预修课程 所需要的课程 班级 等待的班级 选修的课程班级 所选课程班级
在特定学期每星期特定日期的特定时间提供的特定课程(如 班级编号、学期、听课位置、听课时 课程”面向对象程序设计方法学”,班级:2015年秋季每周四 间、听课人数… 上午的讲授)
特定学生选修学习的所有课程的记录,包含具体参加的班级 总成绩、总学分… 信息、课程成绩、获得的学分。
总结:
• (1)搜索收集了需求文档中的名词和名词短语,列出初始名词或名词短语26项 • (2)运用候选类筛选原则,确定SRS系统的合适候选类共6个:
当学生被大学录取后,所有学生在SRS上建立学习计划,即确定满足特定学位程序所需要的课程,并选择一名 导师。SRS要检验所提出的学习计划是否满足该学生所希望获得学位的要求。
一旦建立学习计划,则在以后每个学期的注册期间,学生都可以在线查看课程计划,选择要选修的课程班级。如果 课程由多名教授讲授,则还可以指定听课时间(每星期周几,每天什么时间听课)。SRS系统要参考学生在线的所完 成课程的成绩 (学生可以随时查看自己的成绩单),检验学生是否满足所申请课程的必要的预修条件。

UML语言定义了五种类型,9种不同的图,把它们 有机的结合起来就可以描述系统的所有视图。
用例图(Use case diagram) 从用户角度描述系统功 能,并指出各功能的操作者。
静态图(Static diagram),表示系统的静态结构。包 括类图、对象图、包图。
行为图(Behavior diagram),描述系统的动态模型 和组成对象间的交互关系。包括状态图、活动图。
Design View 描述 系统设计特征, 包括结构模型视 图和行为模型视
Use case View描述系 统的外部特性、系统 功能等。
图,前者描述系
统的静态结构(类
图、对象图),后 设计视图
实现视图
者描述系统的动 态行为(交互图、 状态图、活动图)。
Use case
视图
图(Diagrams
过程视图
主要步骤:
(1)登录到SRS系统 (2)查看本学期开发的班级计划信息 (3)选择合适班级,提交注册需求,等待系统应答。 (4)系统检查保证所请求的课程对于他的整个学位目标是合适的。
(5) 系统检查该学生成绩单,确保该学生满足所请求课程的预修课程要求 (6)确认所注册班级是否还有空余位置。 (7)该班级加入到该学生当前选修课程表中 (8)系统给予注册成功与否的应答信息
2.2 动词短语分析法举例
我们被要求为大学开发一个自动化的学生注册系统(SRS)。这个系统可使学生在线注册每个 学期的课程班级,也可以用于跟踪学生的学习进展,直到其获得学位。
当学生被大学录取后,所有学生在SRS上建立学习计划,即确定满足特定学位程序所需要 的课程,并选择一名导师。SRS要检验所提出的学习计划是否满足该学生所希望获得学位的 要求。
(2)其他计算机系统
3.1 SRS系统参与演员分析
用户(人)
学生 教授 管理人员 校友 准大学学生
其他计算机系统
教务系统 教室安排系统 收费系统
分析原则: 合理的界定系统范围,避免出现”需求膨胀”或者”范围萎缩”。
确定最终参与演员: 学生 教授 管理人员
4.1 SRS系统用例确定
用例是演员和系统的一次典型交互,一般被定义为系统执行的一系列动作或功能。
分别为学生、学习计划、成绩单、教授、课程、班级; • (3)运用描述属性确定方法确定了6个候选类的描述属性
• (4)定义了包含候选类及其属性描述的SRS数据字典。
参考文献:
• [1] 许家珆. 软件工程——方法与实践(第二版).北京:电子工业出版社.
• [2] Jacquie Barker著.韩柯等译.Java 面向对象编程指南.电子工业出版社.
当学生被大学录取后,所有学生在SRS上建立学习计划,即确定满足特定学位程序所需要的课程,并选择一名 导师。SRS要检验所提出的学习计划是否满足该学生所希望获得学位的要求。
一旦建立学习计划,则在以后每个学期的注册期间,学生都可以在线查看课程计划,选择要选修的课程班级。 如果课程由多名教授讲授,则还可以指定听课时间(每星期周几,每天什么时间听课)。SRS系统要参考学生在线的 所完成课程的成绩 (学生可以随时查看自己的成绩单),检验学生是否满足所申请课程的必要的预修条件。
基于UML的面向对象软件开发方法案例分析 UML是一种标准化的图形建模语言,它是面向对象分析与设 计的一种标准表示。
参考文献:
• [1] 许家珆. 软件工程——方法与实践(第二版).北京:电子工业出版社.
• [2] Jacquie Barker著.韩柯等译.Java 面向对象编程指南.电子工业出版社.
(2)利用领域知识,确定候选类可能的描述属性; 如大学中每个学生都有学生编号,姓名,专业等信息,这些就可以作为描述属性添加到学生类中;
(3)查看相似信息在现有老信息系统或者人工系统中的表示形式,确定候选类应该具有的描述属性;
(4)另外在后续分析类与类之间关系时,也可能会考虑添加候选类的描述属性。
4 数据字典的生成
假设:(a) 所要求的预修课程已经满足; (b)课程满足该学生学习计划要求之一; (c) 课程班级尚有空位,则学生可以参加听课。
如果上述三个条件满足,则系统将确认注册课程班级成功。
4.2 用例描述——用例模板描述
用例名:注册课程班级
执行者:学生
功能描述:
每个学期开始,学生登录到SRS系统后能按照学习计划的安排,查看本学期相关课程开设的相关班级,并进行注册, 方便后续课程学习的顺利进行。
所注册的课程班级 听课位置 听课时间 学期 邮件 等待列表
确定候选类: 学生、学习计划、成绩单、教授、课程、班级
3. 标识类属性
确定候选类的描述属性的相关方法:
(1)在候选类筛选过程中,有些名词或名词短语已经确定为描述属性,如“学位”为学生的描述属性、 “听课位置”、听课时间、学期是班级类的描述属性;
学生最迟可以在学期的第一个星期末决定退出所选课程班级。
2.2 列出初始名词清单
• 大学 学生注册系统 系统 学生 所有学生 学位 学习计划 课程计划 导师 教授 成绩单 完成课程 成绩 课程 预修课程 所需要的课程 班级 等待的班级 选修的课程班级、所选课程班级 所注册的课程班级 听课位置 听课时间 学期 邮件 等待列表
• 初次建模,常使用“搜索收集”方法: 在项目的所有文档中搜索收集所有名词或名词短语,构成一个清 单,并按照一定原则不断筛选、消减这个清单,最终确定一组合 适的候选类,形成系统数据字典。
2.1 SRS系统主要用例需求描述
注册课程班级用例
我们被要求为大学开发一个自动化的学生注册系统(SRS)。这个系统可使学生在线注册每个学期的课程班级, 也可以用于跟踪学生的学习进展,直到其获得学位。
• 系统登录 • 建立学习计划 • 审核学习计划 • 注册课程班级 • 取消注册课程 • 查询授课班级信息 • 查询学生信息 • 查询学生成绩单 • 公布课程成绩 • 维护后台基础数据
4.2 用例描述——自然语言描述
注册课程班级用例
我们被要求为大学开发一个自动化的学生注册系统(SRS)。这个系统可使学生在线注册每个学期的课程班级, 也可以用于跟踪学生的学习进展,直到其获得学位。
UML的用例模型一直被推荐为识别和捕获 需求的首选工具!!
2. 构建用例模型的三个步骤
• (1)确定系统参与的演员; • (2)根据系统需要实现的具体功能,确定系统各种用例; • (3)确定演员和用例之间的交互关系。
3.确定用例的参与演员
演员指代在系统建成后与系统交互的任何人或任何物,演员驱 动用例。演员一般包含两类: (1) 用户(人)
假设:(a) 所要求的预修课程已经满足; (b)课程满足该学生学习计划要求之一; (c) 课程班级尚有空位,则学生可以参加听课。
如果上述三个条件满足,则系统将确认注册课程班级成功。
取消注册课程用例
学生在线查看课程计划,选择要选修的课程班级后,SRS系统同样检查上述三个条件: 如果(a)(b)条件可以满课程足,但是(c)不能满足,则该学生要放到一个先来先服务等待列表中。 如果学生以前所等待的班级可以提供(或者由于某个学生取消所注册的课程班级,或者课程的听课位置增加了),则该学生会被自动录 取到所等待的班级中,并向该学生发送一个邮件。 该学生如果不再对这个课程感兴趣,可以自行决定取消,否则学生要为该课程付费。
相关文档
最新文档