简易教学管理系统分析与设计ppt课件.ppt_第1页
简易教学管理系统分析与设计ppt课件.ppt_第2页
简易教学管理系统分析与设计ppt课件.ppt_第3页
简易教学管理系统分析与设计ppt课件.ppt_第4页
简易教学管理系统分析与设计ppt课件.ppt_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 主要介绍建立JXGL的系统静态结构模型与动态行为模型 一般对系统做分析与设计 建立静态结构模型与建立动态行为模型应当同时 交替进行 相互印证和补充 UML是一种通用的工具 它可以使用于UseCase驱动的软件开发 也可以使用于其他面向对象的软件开发方法 例如直接从现实世界抽象出对象和类 建立系统的对象模型 简易教学管理系统JXGL的分析与设计遵循UseCase驱动的软件开发思想与过程 简易教学管理系统分析与设计 Home 2 简易教学管理系统分析与设计 系统需求 分析问题领域 静态结构模型 动态行为模型 物理模型 Home http 61 132 1 74 8084 3 要求提供两个方面的服务 1 选课管理 负责新学期的课程选课注册工作 2 成绩管理 负责学生成绩管理 在选课管理方面应提供的服务功能 1 录入与生成新学期课程表2 学生选课注册3 查询4 选课注册信息的统计与报表生成5 把学生选课注册信息传送给财务系统 在成绩管理方面应提供的服务功能 1 成绩录入2 成绩查询3 成绩统计与报表生成 系统需求 Home 4 JXGL的用户 1 学生 查询信息 只允许对自己有关的数据进行添加 更新 删除等操作 2 教师 查询信息 只允许对自己有关的数据进行添加 更新 删除等操作 3 教学管理员 有权操纵数据库的数据 进行添加 更新 删除等操作 JXGL的系统环境 1 基于局域网的客户机 服务器系统 Client Server 2 外部相关系统 财务系统 系统需求 Home 5 分析问题领域的目的是对问题领域的清晰 精确的定义 明确目标系统将做些什么 分析问题领域的主要任务是 对问题领域进行抽象 提出解决方案 对未来的系统进行需求分析 确定系统的职责范围 功能需求 性能需求 应用环境及假设条件等 用UseCase图对未来系统的行为建立模型 初步确定未来系统的体系结构等 分析问题领域 Home 6 分析问题领域 Home 确定系统范围和系统边界 定义活动者 绘制UseCase图 绘制主要交互图 定义UseCase 7 首先要确定业务需求和系统目标 简易教学管理系统JXGL用于新学期课程的选课注册管理和学生的成绩管理 系统范围 凡是这两方面的教学管理内容都是JXGL系统的职责范围 其他的教学管理内容 如安排教学计划 排课 实习 实验 考试等都不属于JXGL系统的职责范围 系统边界 JXGL系统与财务系统存在系统边界 财务系统将从JXGL系统得到学生选课注册信息 JXGL系统与学校的其他信息管理系统没有直接的联系 但是可以从学校的全局数据库中共享学生 教师 教学计划等必要的数据 Home 确定系统范围与系统边界 8 根据JXGL系统的职责范围和需求可以确定4个活动者 学生 老师 教学管理员和财务系统 对于每一个活动者 应当明确其业务活动的内容 对系统的服务要求 学生 活动者使用JXGL系统查询新学期开设的课程信息和教师开课信息 选课并登记注册课程 查询自己的课程成绩信息 老师 活动者使用JXGL系统查询新学期开设的课程信息 学生选课信息和学生成绩信息 教学管理员 活动者使用JXGL系统管理学期开设的课程的选课注册和学生的考试成绩 财务系统 活动者是外部系统活动者 从JXGL系统接受学生的课程注册信息 Home 定义活动者 9 每一个UseCase都是一个活动者与系统在交互中执行的有关事务序列 应当根据系统需求 找出全部的UseCase 并从活动者的角度给出事件流 当UseCase执行时系统应提供给活动者的服务 对一个UseCase应说明的基本内容是 UseCase怎样开始和结束 正常的事件流 变通的事件流 意外情况的事件流等 从JXGL的顶层UseCase抽象 可以确定两个UseCase 选课管理 和 成绩管理 UseCase 选课管理 与4个活动者都存在交互 UseCase 成绩管理 与活动者 学生 老师 教学管理员 存在着交互 Home 定义UseCase 10 JXGL的顶层UseCase图 如图12 1所示 Home 定义UseCase 图12 1顶层UseCase图 11 UseCase 选课管理 可以分解为以下一些UseCase 查询课程信息 选课注册 管理开设课程 管理学生信息 管理老师信息 管理课程信息 如图12 2所示 Home 定义UseCase 图12 2选课管理的UseCase图 12 UseCase 成绩管理 可以分解为以下一些UseCase 查询学生成绩 查询课程成绩 学生成绩管理 成绩统计 如图12 3所示 Home 定义UseCase 图12 3成绩管理的UseCase图 13 活动者 学生 与UseCase 查询课程信息 选课注册 查询学生成绩 发生交互 活动者 老师 与UseCase 查询课程信息 查询课程成绩 发生交互 活动者 教学管理员 与UseCase 管理学生信息 管理老师信息 管理课程信息 管理开设课程 学生成绩管理 成绩统计 发生交互 活动者 财务系统 与UseCase 产生选课信息 发生交互 Home 定义UseCase 14 绘制UseCase图从顶层抽象开始 然后逐步分解 精细化UseCase图 直到能清晰地表达问题 满足系统分析与建立模型的需要为止 除了UseCase图之外 对每一个UseCase还应进行描述 编写UseCase的说明文档 应当对以下的JXGL的全部UseCase编写说明 UseCase 查询课程信息 UseCase 选课注册 UseCase 管理开设课程 UseCase 管理学生信息 Home 绘制UseCase图 15 应当对以下的JXGL的全部UseCase编写说明 续 UseCase 管理老师信息 UseCase 管理课程信息 UseCase 查询学生成绩 UseCase 查询课程成绩 UseCase 学生成绩管理 UseCase 成绩统计 UseCase 身份验证 Home 绘制UseCase图 16 在UseCase图上 不但要把UseCase表示出来 而且应当把UseCase与活动者之间的联系 UseCase之间的联系也表现出来 如图12 4所示 UseCase 查询课程信息 和UseCase 选课注册 都与UseCase 身份验证 有 联系 即它们在运行中都使用UseCase 身份验证 进行用户的合法身份检查 Home 绘制UseCase图 图12 4 联系 17 交互图描述UseCase如何实现对象之间的交互 交互图用于建立系统的动态行为模型 交互行为的分析的结果可以写成文档 绘制初步的交互图 从而更清楚地理解UseCase的行为 以便进一步调整UseCase视图 确定问题的解决方案 交互图主要有两种 顺序图和协同图 可根据需要绘制 在项目开发之初 分析问题领域时 绘制交互图只是为了印证领域分析的结果和UseCase视图的正确性 在以后对系统动态行为建模的过程中 还需要对交互图做深入的分析 细化和完善 Home 绘制主要交互图 18 对每一个活动者与UseCase的交互行为 应编写详细的文字说明 即交互活动剧本 以作为绘制交互图的依据 例 在活动者 学生 与UseCase 选课注册 的交互中 活动者 学生 的行为有 登录注册 查询课程 选修课程 在登录注册活动中 活动者 学生 提交用户ID和口令 在查询课程活动中 活动者 学生 提交查询条件 在选修课程活动中 活动者 学生 提交增加或删除所选的课程 并确认选课结果 UseCase 选课注册 响应活动者 学生 的请求 验证用户ID和口令 查询或修改课程数据库的数据 反馈结果信息 UseCase 选课注册 的行为由 注册表单 接口对象 选课注册表单 接口对象和 开设课程 对象实现 Home 绘制主要交互图 19 例 活动者 学生 与UseCase 选课注册 的顺序图 如图12 5所示 Home 绘制主要交互图 图12 5选课注册顺序图 20 静态结构模型 Home 建立对象类图 建立数据库模型 建立包图 21 1 定义对象类 首先从研究UseCase和交互剧本中发现对象类 确定类的属性和主要操作 对于JXGL系统可以抽象出以下一些主要的对象类 在人事信息处理方面有 学生 类 教师 类 在选课管理方面有 课程 类 开设课程 类 学生登记 类 课程登记 类 选课统计 类等 在成绩管理方面有 学生成绩登记 类 成绩统计 类 对于每一个类应当确定其职责 属性 主要操作以及其他性质说明 Home 建立对象类图 22 对象类的属性可以通过检查类的定义 分析问题的需求和运用领域知识而确定 对象类的操作可以通过检查分析交互图确定 把交互图中对象之间的交互活动抽象成一个类的操作 例 从课程信息管理的顺序图中的活动 加入课程 数据结构 基础课 3 抽象得到 课程 类的操作 加入课程 如图12 6所示 Home 建立对象类图 图12 6从顺序图抽象出类的操作 23 2 定义用户接口 除了一般类外还需要分析与定义系统的用户接口 JXGL系统可以有的接口 课程信息管理表单 查询课程表单 查询成绩表单 选课注册表单 开设课程表单 选课统计表单 成绩信息管理表单 成绩统计表单 等 JXGL系统的用户接口用对象类定义 如图12 7所示 对每一个用户接口类应详细规定其功能操作 Home 建立对象类图 24 JXGL系统的用户接口类 如图12 7所示 Home 建立对象类图 图12 7用户接口 25 3 定义联系JXGL系统的对象类之间的联系有多种类型 关联 聚合 泛化 依赖等都有 1 关联在 开设课程 类与 师生 类之间存在 授课 关联和 登记注册 关联 在 开设课程 类与 学生成绩登记 类之间存在关联 2 聚合联系在 开设课程 类与 课程 类之间存在聚合联系 在 开设课程 类与 学生登记 类 课程登记 类之间存在聚合联系 Home 建立对象类图 26 3 泛化联系 学生 类 教师 类与 师生 类的联系 4 依赖联系在 成绩统计 类与 学生成绩登记 类之间存在依赖联系 在 选课统计 类与 开设课程 类之间存在依赖联系 系统中 上述关联 聚合 泛化 依赖等联系可参见对象类图图12 8 图12 9 图12 10等 4 绘制对象类图 在对象类图的基础上可以根据需要绘制对象图 使用对象图的目的是分析系统的瞬间状态 以便进一步了解系统的结构和行为 Home 建立对象类图 27 JXGL系统的课程管理对象类图 如图12 8所示 Home 建立对象类图 图12 8课程管理对象类图 28 JXGL系统的成绩管理对象类图 如图12 9所示 Home 建立对象类图 图12 9成绩管理对象类图 29 JXGL系统的人事信息对象类图 如图12 10所示 Home 建立对象类图 图12 10人事信息对象类图 30 在分析和设计系统的静态结构模型时需要进行数据分析和数据库设计 JXGL系统采用关系数据库系统存储和管理数据 JXGL系统有4个方面的数据需要管理 人员数据 学生 教师 课程数据选课注册数据学生成绩数据 经过分析 JXGL系统至少应有6个数据库表 学生表 教师表 课程表 开设课程表 选课表 任课表 Home 建立数据库模型 31 学生 学生号 姓名 出生日期 性别 籍贯 地址 电话 入学时间 专业 班级备注 教师 教师号 姓名 出生日期 性别 籍贯 地址 电话 职称 专长 备注 课程 课程号 课程名 描述 学分 学时 性质 备注 开设课程 课程号 学期 授课日期 授课时间 地点 选修人数 备注 选课 学生号 课程号 学期 成绩 备注 任课 教师号 课程号 学期 备注 对于这些基本表需要进行关系规范化 设计用户视图 触发器 存储过程等 关系数据库模式通常用实体 联系模型 ERD 表示 也可以按用对象类图为数据库模式建立模型 Home 建立数据库模型 32 对于一个大型的复杂的系统 常需要把大量的模型元素用包组织起来 以方便理解和处理 JXGL系统虽然不算大 但也可以把系统的对象类组织成包 以便更清楚地了解系统的结构 包图表示的是系统的静态结构 但是建立包图应当同时考虑系统的动态行为 JXGL系统的包图 一共有5个包 教学管理 包 用户接口 包 数据库 包 MFC类 包 出错处理 包 对每一个包应绘出其详细的内部的组成结构图 Home 建立包图 33 在 用户接口 包中包含了全部接口对象类 课程信息管理表单 查询课程表单 查询成绩表单 选课注册表单 开设课程表单 选课统计表单 成绩信息管理表单 成绩统计表单 注册表单 等 教学管理 包中包含了为实现教学管理业务领域任务的全部对象类 在 数据库 包中包含了实现数据库服务功能的全部对象类 在 MFC类 包中包含了支持系统的动态连接库的必要的库函数对象类 在 出错处理 包中包含了实现数据库服务功能的全部对象类 Home 建立包图 34 教学管理 包内部组成如图12 12所示 其中包含了为实现教学管理业务领域任务的对象类 学生 类 教师 类 师生 类 课程 类 开设课程 类 学生登记 类 课程登记 类 选课统计 类 学生成绩登记 类 成绩统计 类 以及 身份验证 类等 这些类又分别组成3个小包 选课管理 包 成绩管理 包和 人事信息 包 身份验证 类则相对独立 Home 建立包图 图12 12教学管理包 35 简易教学管理系统JXGL由两个子系统组成 1 课程注册子系统 负责新学期的选课注册管理工作 2 成绩管理子系统 负责学生成绩管理 JXGL的系统与子系统包图如图12 13所示 Home 建立包图 图12 13JXGL系统与子系统包图 36 动态行为模型 Home 建立顺序图 建立协同图 建立状态机图 建立活动图 37 在建立UseCase视图时已经绘制了一些顺序图或协同图 在建立系统的动态行为模型中需要继续这项工作 进一步绘制主要UseCase的顺序图或协同图 并逐步精细化 为了绘制顺序图 首先要对一个UseCase编写交互活动的剧本 然后确定参与交互的活动者和对象 确定交互事件 Home 建立顺序图 38 例 设置开设课程的顺序图 如图12 14所示 其中的交互事件如下 1 登录2 验证3 查询4 设置课程5 增加课程6 删除课程7 提交8 存储9 退出 39 设置开设课程顺序图 如图12 14所示 Home 建立顺序图 图12 14设置开设课程顺序图 40 成绩登记与统计的顺序图 如图12 15所示 Home 建立顺序图 图12 15成绩登记与统计的顺序图 41 协同图用于描述系统的行为是如何由系统的成分实现的 对于JXGL系统也需要绘制主要的UseCase的协同图 以深入了解和表示系统的行为和各个对象的作用 对于一个协同图 首先应确定参与协同的对象角色 关联角色和消息 然后才能绘制协同图 协同图主要表示对象与对象之间的连接 它们是如何共同完成系统的行为的 但这些行为的发生顺序和时间并不是协同图表达的主要内容 例 对于UseCase 管理课程信息 的协同图如图12 16所示 图中的对象角色有 注册表单 接口对象 开设课程表单 接口对象 课程 对象和 开设课程 对象 它们协同工作 实现设置新开设课程的服务 Home 建立协同图 42 管理课程信息协同图 如图12 16所示 Home 建立协同图 图12 16管理课程信息协同图 43 状态机图表现一个对象 类 的生命史 对于一些实现重要行为动作的对象应当绘制状态机图 绘制状态机图需要确定一个对象的生命期可能出现的全部状态 哪些事件将引起状态的转移 将会发生哪些动作 例如 对于JXGL系统中的一个学生选课注册的 学生登记 对象 可能有的状态如下 1 初始化 状态2 增加课程 状态3 减少课程 状态4 取消 状态5 关闭 状态 Home 建立状态机图 44 选课学生登记状态机图如图12 17所示 Home 建立状态机图 图12 17选课学生登记状态机图 45 选课课程登记状态机图如图12 18所示 Home 建立状态机图 图12 18选课课程登记状态机图 46 活动图的主要作用是表示系统的业务工作流和并发处理过程 对于一个系统可以针对主要的业务工作流绘制活动图 绘制活动图需要确定参与活动的对象 动作状态 动作流 以及对象流 例 对JXGL系统的设置开设课程的活动可以绘制活动图 如

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论