




已阅读5页,还剩46页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
以一个简易教学管理系统JXGL的分析与设计作为示例,说 明UML在软件项目开发中的应用。 这里主要介绍建立JXGL的系统静态结构模型与动态行为模 型。 一般对系统做分析与设计,建立静态结构模型与建立动态 行为模型应当同时、交替进行,相互印证和补充。 UML是一种通用的工具,它可以使用于Use Case驱动的软 件开发,也可以使用于其他面向对象的软件开发方法,例 如直接从现实世界抽象出对象和类,建立系统的对象模型 。 简易教学管理系统JXGL的分析与设计遵循Use Case驱动的 软件开发思想与过程。 简易教学管理系统分析与设计 Home 简易教学管理系统分析与设计 1 系统需求 2 分析问题领域 3 静态结构模型 4 动态行为模型 5 物理模型 Home 对简易教学管理系统JXGL要求提供两个方面的服务: (1)选课管理,负责新学期的课程选课注册工作; (2)成绩管理,负责学生成绩管理。 在选课管理方面应提供的服务功能: 1录入与生成新学期课程表 2学生选课注册 3查询 4选课注册信息的统计与报表生成 5把学生选课注册信息传送给财务系统 在成绩管理方面应提供的服务功能: 1成绩录入 2成绩查询 3成绩统计与报表生成 1 系统需求 Home JXGL的用户 (1)学生。查询信息,只允许对自己有关的数据进行添加 、更新、删除等操作。 (2)教师。查询信息,只允许对自己有关的数据进行添加 、更新、删除等操作。 (3)教学管理员。有权操纵数据库的数据,进行添加、更 新、删除等操作。 JXGL的系统环境 (1)基于局域网的客户机/服务器系统(Client/Server) (2)外部相关系统:财务系统 1 系统需求 Home 分析问题领域的目的是对问题领域的清晰、精确 的定义,明确目标系统将做些什么。 分析问题领域的主要任务是: 对问题领域进行抽象,提出解决方案; 对未来的系统进行需求分析,确定系统的职责 范围、功能需求、性能需求、应用环境及假设条 件等; 用Use Case图对未来系统的行为建立模型,初 步确定未来系统的体系结构等。 2 分析问题领域 Home 2 分析问题领域 Home 2.1 确定系统范围和系统边界 2.2 定义活动者 2.4 绘制Use Case图 2.5 绘制主要交互图 2.3 定义Use Case 首先要确定业务需求和系统目标。 简易教学管理系统JXGL用于新学期课程的选课注册管理 和学生的成绩管理。 系统范围:凡是这两方面的教学管理内容都是JXGL系统 的职责范围,其他的教学管理内容,如安排教学计划、 排课、实习、实验、考试等都不属于JXGL系统的职责 范围。 系统边界:JXGL系统与财务系统存在系统边界,财务系 统将从JXGL系统得到学生选课注册信息。 JXGL系统与学校的其他信息管理系统没有直接的联系 ,但是可以从学校的全局数据库中共享学生、教师、教 学计划等必要的数据。 Home 2.1 确定系统范围与系统边界 根据JXGL系统的职责范围和需求可以确定4个活动者:学生、老 师、教学管理员和财务系统。 对于每一个活动者,应当明确其业务活动的内容、对系统的服务 要求。 “学生”活动者使用JXGL系统查询新学期开设的课程信息和教师开 课信息,选课并登记注册课程,查询自己的课程成绩信息。 “老师”活动者使用JXGL系统查询新学期开设的课程信息、学生选 课信息和学生成绩信息。 “教学管理员”活动者使用JXGL系统管理学期开设的课程的选课注 册和学生的考试成绩。 “财务系统”活动者是外部系统活动者,从JXGL系统接受学生的课 程注册信息。 Home 2.2 定义活动者 教学管理员学生老师财务系统 每一个Use Case都是一个活动者与系统在交互中执行的 有关事务序列。 应当根据系统需求,找出全部的Use Case,并从活动者 的角度给出事件流,当Use Case执行时系统应提供给活 动者的服务。 对一个Use Case应说明的基本内容是:Use Case怎样开 始和结束、正常的事件流、变通的事件流、意外情况的 事件流等。 从JXGL的顶层Use Case抽象,可以确定两个Use Case : “选课管理”和“成绩管理”。 Use Case“选课管理”与4个活动者都存在交互。 Use Case “成绩管理” 与活动者“学生”、“老师”、“教学 管理员”存在着交互。 Home 2.3 定义Use Case JXGL的顶层Use Case图,如图12.1所示。 Home 2.3 定义Use Case 图12.1 顶层Use Case图 Use Case“选课管 理”可以分解为以 下一些Use Case : “查询课程信息” 、“选课注册”、 “管理开设课程” 、“管理学生信息 ”、“管理老师信 息”、“管理课程 信息”,如图12.2 所示。 Home 2.3 定义Use Case 图12.2 选课管理的Use Case图 Use Case“成绩管 理”可以分解为以 下一些Use Case : “查询学生成绩” ,“查询课程成绩 ”,“学生成绩管 理”,“成绩统计 ”,如图12.3所示 。 Home 2.3 定义Use Case 图12.3 成绩管理的Use Case图 活动者“学生”与Use Case“查询课程信息”、“选课 注册”、“查询学生成绩”发生交互。 活动者“老师”与Use Case“查询课程信息”、“查询 课程成绩”发生交互。 活动者“教学管理员”与Use Case“管理学生信息”、 “管理老师信息”、“管理课程信息”、“管理开设课 程”、“学生成绩管理”、“成绩统计”发生交互。 活动者“财务系统” 与Use Case“产生选课信息”发生 交互。 Home 2.3 定义Use Case 绘制Use Case图从顶层抽象开始,如图12.1,然后逐步 分解,精细化Use Case图,如图12.2、图12.3所示。直到 能清晰地表达问题,满足系统分析与建立模型的需要为 止。 除了Use Case图之外,对每一个Use Case还应进行描述 ,编写Use Case的说明文档。 应当对以下的JXGL的全部Use Case编写说明: Use Case“查询课程信息” Use Case“选课注册” Use Case“管理开设课程” Use Case“管理学生信息” Home 2.4 绘制Use Case图 应当对以下的JXGL的全部Use Case编写说明( 续): Use Case“管理老师信息” Use Case“管理课程信息” Use Case“查询学生成绩” Use Case“查询课程成绩” Use Case“学生成绩管理” Use Case“成绩统计” Use Case“身份验证” Home 2.4 绘制Use Case图 在Use Case图上,不但要把 Use Case表示出来,而且 应当把Use Case与活动者 之间的联系、Use Case之 间的联系也表现出来。 如图12.4所示,Use Case“ 查询课程信息”和Use Case“选课注册”都与 Use Case“身份验证”有 联系,即它们在 运行中都使用Use Case“ 身份验证”进行用户的合 法身份检查。 Home 2.4 绘制Use Case图 图12.4 联系 交互图描述Use Case如何实现对象之间的交互。交互图 用于建立系统的动态行为模型。 在分析和绘制了Use Case图之后,对主要的Use Case做 交互行为的分析是有必要的。 交互行为的分析的结果可以写成文档,绘制初步的交互 图,从而更清楚地理解Use Case的行为,以便进一步调 整Use Case视图,确定问题的解决方案。 交互图主要有两种:顺序图和协同图,可根据需要绘制 。 在项目开发之初,分析问题领域时,绘制交互图只是为 了印证领域分析的结果和Use Case视图的正确性,在以 后对系统动态行为建模的过程中,还需要对交互图做深 入的分析、细化和完善。 Home 2.5 绘制主要交互图 对每一个活动者与Use Case的交互行为,应编写详细的文字说明,即 交互活动剧本,以作为绘制交互图的依据。 例:在活动者“学生”与Use Case “选课注册”的交互中,活动者“学生” 的行为有三:登录注册,查询课程,选修课程。 在登录注册活动中,活动者“学生”提交用户ID和口令。 在查询课程活动中,活动者“学生”提交查询条件。 在选修课程活动中,活动者“学生”提交增加或删除所选的课程,并确 认选课结果。 Use Case “选课注册”响应活动者“学生”的请求,验证用户ID和口令, 查询或修改课程数据库的数据,反馈结果信息。 Use Case “选课注册”的行为由“注册表单”接口对象、“选课注册表单” 接口对象和“开设课程”对象实现。 Home 2.5 绘制主要交互图 例:活动者 “学生”与 Use Case“选 课注册”的 顺序图,如 图12.5所示。 Home 2.5 绘制主要交互图 图12.5 选课注册 顺序图 3 静态结构模型 Home 3.1 建立对象类图 3.2 建立数据库模型 3.3 建立包图 1定义对象类 首先从研究Use Case和交互剧本中发现对象类,确定类 的属性和主要操作。 对于JXGL系统可以抽象出以下一些主要的对象类: 在人事信息处理方面有“学生”类、“教师”类。 在选课管理方面有“课程”类、“开设课程”类、“学 生登记”类、“课程登记”类、“选课统计”类等。 在成绩管理方面有“学生成绩登记”类、“成绩统计” 类。 对于每一个类应当确定其职责、属性、主要操作以及其 他性质说明。 Home 3.1 建立对象类图 对象类的属性可以通过检查类的定义、分析问题的需求和运用领域 知识而确定。 对象类的操作可以通过检查分析交互图确定,把交互图中对象之间 的交互活动抽象成一个类的操作。 例:从课程信息管理的顺序图中的活动“加入课程(数据结构,基 础课,3)”抽象得到“课程”类的操作“加入课程()”,如图 12.6所示。 Home 3.1 建立对象类图 图12.6 从顺序图 抽象出类的操作 2定义用户接口 除了一般类外还需要分析与定义系统的用户接口。 JXGL系统可以有的接口:“课程信息管理表单”、“查询 课程表单”、“查询成绩表单”、“选课注册表单”、“开设 课程表单”、“选课统计表单”、“成绩信息管理表单”、“ 成绩统计表单”等。 JXGL系统的用户接口用对象类定义,如图12.7所示。 对每一个用户接口类应详细规定其功能操作。 Home 3.1 建立对象类图 JXGL系统的用户接口类,如图12.7所示。 Home 3.1 建立对象类图 图12.7 用户接口 3定义联系 JXGL系统的对象类之间的联系有多种类型,关联、聚 合、泛化、依赖等都有。 (1)关联 在“开设课程”类与“师生”类之间存在“授课”关联 和“登记注册”关联 ,在“开设课程”类与“学生成绩 登记”类之间存在关联。 (2)聚合联系 在“开设课程”类与“课程”类之间存在聚合联系,在 “开设课程”类与“学生登记”类、“课程登记”类之 间存在聚合联系。 Home 3.1 建立对象类图 (3)泛化联系 “学生”类、“教师”类与“师生”类的联系为泛化联系。 (4)依赖联系 在“成绩统计”类与“学生成绩登记”类之间存在依赖联系, 在“ 选课统计”类与“开设课程”类之间存在依赖联系。 JXGL系统中,上述关联、聚合、泛化、依赖等联系可参见对象类 图图12.8、图12.9、图12.10等。 4绘制对象类图 根据已定义的对象类及其联系,以及对象类的多重性、角色、导航 等性质,可以画出对象类图,如图12.8、图12.9、图12.10所示。 在对象类图的基础上可以根据需要绘制一些对象图。 使用对象图的目的是分析系统的瞬间状态,以便进一步了解系统的 结构和行为。 Home 3.1 建立对象类图 JXGL系统的课 程管理对象类 图,如图12.8所 示。 Home 3.1 建立对象类图 图12.8 课程管理 对象类图 JXGL系统的成 绩管理对象类 图,如图12.9所 示。 Home 3.1 建立对象类图 图12.9 成绩管理 对象类图 JXGL系统的人 事信息对象类 图,如图12.10 所示。 Home 3.1 建立对象类图 图12.10 人事信息对象类图 在分析和设计系统的静态结构模型时需要进行数据分析 和数据库设计。 JXGL系统采用关系数据库系统存储和管理数据。 JXGL系统有4个方面的数据需要管理: 人员数据(学生、教师) 课程数据 选课注册数据 学生成绩数据。 经过分析,JXGL系统至少应有6个数据库表: 学生表、教师表、课程表、开设课程表、选课表、任课 表。 Home 3.2 建立数据库模型 这些基本表定义为: 学生(学生号、姓名、出生日期、性别、籍贯、地址、电话、入学 时间、专业、班级备注) 教师(教师号、姓名、出生日期、性别、籍贯、地址、电话、职称 、专长、备注) 课程(课程号、课程名、描述、学分、学时、性质、备注) 开设课程(课程号、学期、授课日期、授课时间、地点、选修人数 、备注) 选课(学生号、课程号、学期、成绩、备注) 任课(教师号、课程号、学期、备注) 对于这些基本表需要进行关系规范化,设计用户视图、触发器、存 储过程等。 关系数据库模式通常用实体联系模型(ERD)表示,也可以用对 象类图为数据库模式建立模型。 Home 3.2 建立数据库模型 对于一个大型的复杂的系统,常需要把大量的 模型元素用包组织起来,以方便理解和处理。 JXGL系统虽然不算大,但也可以把系统的对象 类组织成包,以便更清楚地了解系统的结构。 包图表示的是系统的静态结构,但是建立包图 应当同时考虑系统的动态行为。 JXGL系统的包图,如图12.11所示,一共有5个 包:“教学管理”包、“用户接口”包、“数据库”包 、“MFC类”包、“出错处理”包。 对每一个包应绘出其详细的内部的组成结构图 。 Home 3.3 建立包图 在“用户接口”包中包含了全部接 口对象类:“课程信息管理表单” 、“查询课程表单”、“查询成绩 表单”、“选课注册表单”、“开 设课程表单”、“选课统计表单” 、“成绩信息管理表单”、“成绩 统计表单”、“注册表单”等。 “教学管理”包中包含了为实现教 学管理业务领域任务的全部对象类 。 在“数据库”包中包含了实现数据库 服务功能的全部对象类。 在“MFC类”包中包含了支持系统的动 态连接库的必要的库函数对象类。 在“出错处理”包中包含了实现数 据库服务功能的全部对象类。 Home 3.3 建立包图 图12.11 JXGL系统的包图 “教学管理”包内部组成如 图12.12所示。 其中包含了为实现教学管理 业务领域任务的对象类:“ 学生”类、“教师”类、“ 师生”类、“课程”类、“ 开设课程”类、“学生登记 ”类、“课程登记”类、“ 选课统计”类、“学生成绩 登记”类、“成绩统计”类 ,以及“身份验证”类等。 这些类又分别组成3个小包 :“选课管理”包、“成绩 管理”包和“人事信息”包 。“身份验证”类则相对独 立。 Home 3.3 建立包图 图12.12 教学管理包 简易教学管理系统JXGL由两个子系统组成: (1)课程注册子系统,负责新学期的选课注册管理工作。 (2)成绩管理子系统,负责学生成绩管理。 JXGL的系统与子系统包图如图12.13所示。 Home 3.3 建立包图 图12.13 JXGL系统与子系统包图 4 动态行为模型 Home 4.1 建立顺序图 4.2 建立协同图 4.3 建立状态机图 4.4 建立活动图 在建立Use Case视图时已经绘制了一些顺序图或协同图,在建立系 统的动态行为模型中需要继续这项工作,进一步绘制主要Use Case 的顺序图或协同图,并逐步精细化。 为了绘制顺序图,首先要对一个Use Case编写交互活动的剧本,然 后确定参与交互的活动者和对象,确定交互事件。 例:设置开设课程的顺序图,如图12.14所示。 其中的交互事件如下 : 1登录 2验证 3查询 4设置课程 5增加课程 6删除课程 7提交 8存储 9退出 Home 4.1 建立顺序图 设置开设课 程顺序图, 如图12.14所 示。 Home 4.1 建立顺序图 图12.14 设置开 设课程顺序图 成绩登记与 统计的顺序 图,如图 12.15所示。 Home 4.1 建立顺序图 图12.15 成绩登记 与统计的顺序图 协同图用于描述系统的行为是如何由系统的成分实现的 。 对于JXGL系统也需要绘制主要的Use Case的协同图,以 深入了解和表示系统的行为和各个对象的作用。 对于一个协同图,首先应确定参与协同的对象角色、关 联角色和消息,然后才能绘制协同图。 协同图主要表示对象与对象之间的连接,它们是如何共 同完成系统的行为的,但这些行为的发生顺序和时间并 不是协同图表达的主要内容。 例:对于Use Case“管理课程信息”的协同图如图12.16 所示。图中的对象角色有“注册表单”接口对象、“开 设课程表单”接口对象、“课程”对象和“开设课程” 对象。它们协同工作,实现设置新开设课程的服务。 Home 4.2 建立协同图 管理课程信息协同图,如图12.16所示。 Home 4.2 建立协同图 图12.16 管理课程信息协同图 状态机图表现一个对象(类)的生命史。对于一些实现 重要行为动作的对象应当绘制状态机图。 绘制状态机图需要确定一个对象的生命期可能出现的全 部状态,哪些事件将引起状态的转移,将会发生哪些动 作。 例如,对于JXGL系统中的一个学生选课注册的“学生登 记”对象,可能有的状态如下: 1“初始化”状态 2“增加课程”状态 3“减少课程”状态 4“取消”状态 5“关闭”状态 Home 4.3 建立状态机图 选课学生登记状 态机图如图12.17 所示。 Home 4.3 建立状态机图 图12.17 选课学 生登记状态机图 选课课程登记状 态机图如图12.18 所示。 Home 4.3 建立状态机图 图12.18 选课课 程登记状态机图 活动图的主要作用是表示系统的业务工作流和并发处理 过程。对于一个系统可以针对主要的业务工作流绘制活 动图。 绘制活动图需要确定参与活动的对象
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电网行业基础知识培训课件
- 中国古代史国家的产生和社会变革统一国家的建立二讲课文档
- 电缸专业知识培训总结课件
- 三洲田施工组织设计方案
- 电线接线规范培训课件
- 电站管路安装知识培训课件
- 电磁炉安装知识培训班课件
- 电焊技术培训知识课件
- MerTK-IN-2-生命科学试剂-MCE
- 3-Epi-Ochratoxin-C-d5-生命科学试剂-MCE
- 应聘副研究员汇报
- 2025年登高证考试试题(附答案)
- 重症患者体位管理与安全措施
- 2025年高考英语真题完全解读(全国一卷)(真题解读)
- 湖北省武汉市硚口区2025-2026学年高三上学期7月起点质量检测化学试卷(含答案)
- (新教材)人教版一年级上册小学数学教学计划+教学进度表
- 火化证管理办法河北
- 手术室时间管理课件
- 2025版线上直播场推广服务合同模板
- 小学生法律知识课件
- 高一上学期数学学法指导课件2024.9.14
评论
0/150
提交评论