第16章教学管理系统分析与设计.ppt

上传人:本田雅阁 文档编号:2251296 上传时间:2019-03-11 格式:PPT 页数:50 大小:1.19MB
返回 下载 相关 举报
第16章教学管理系统分析与设计.ppt_第1页
第1页 / 共50页
第16章教学管理系统分析与设计.ppt_第2页
第2页 / 共50页
第16章教学管理系统分析与设计.ppt_第3页
第3页 / 共50页
亲,该文档总共50页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第16章教学管理系统分析与设计.ppt》由会员分享,可在线阅读,更多相关《第16章教学管理系统分析与设计.ppt(50页珍藏版)》请在三一文库上搜索。

1、第16章 教学管理系统分析与设计,以一个简易教学管理系统JXGL的分析与设计作为示例,说明UML在软件项目开发中的应用。 这里主要介绍建立JXGL的系统静态结构模型与动态行为模型。 一般对系统做分析与设计,建立静态结构模型与建立动态行为模型应当同时、交替进行,相互印证和补充。 UML是一种通用的工具,它可以使用于Use Case驱动的软件开发,也可以使用于其他面向对象的软件开发方法,例如直接从现实世界抽象出对象和类,建立系统的对象模型。 简易教学管理系统JXGL的分析与设计遵循Use Case驱动的软件开发思想与过程。,第16章 教学管理系统分析与设计,16.1 系统需求,16.2 分析问题领

2、域,16.3 静态结构模型,16.4 动态行为模型,16.5 物理模型,16.1 系统需求,对简易教学管理系统JXGL要求提供两个方面的服务: (1)选课管理,负责新学期的课程选课注册工作; (2)成绩管理,负责学生成绩管理。 在选课管理方面应提供的服务功能: 1录入与生成新学期课程表 2学生选课注册 3查询 4选课注册信息的统计与报表生成 5把学生选课注册信息传送给财务系统 在成绩管理方面应提供的服务功能: 1成绩录入 2成绩查询 3成绩统计与报表生成,16.1 系统需求,JXGL的用户 (1)学生。查询信息,只允许对自己有关的数据进行添加、更新、删除等操作。 (2)教师。查询信息,只允许对

3、自己有关的数据进行添加、更新、删除等操作。 (3)教学管理员。有权操纵数据库的数据,进行添加、更新、删除等操作。 JXGL的系统环境 (1)基于局域网的客户机/服务器系统(Client/Server) (2)外部相关系统:财务系统,16.2 分析问题领域,分析问题领域的目的是对问题领域的清晰、精确的定义,明确目标系统将做些什么。 分析问题领域的主要任务是: 对问题领域进行抽象,提出解决方案; 对未来的系统进行需求分析,确定系统的职责范围、功能需求、性能需求、应用环境及假设条件等; 用Use Case图对未来系统的行为建立模型,初步确定未来系统的体系结构等。,16.2 分析问题领域,16.2.1

4、 确定系统范围和系统边界,16.2.2 定义活动者,16.2.4 绘制Use Case图,16.2.5 绘制主要交互图,16.2.3 定义Use Case,16.2.1 确定系统范围与系统边界,首先要确定业务需求和系统目标。 简易教学管理系统JXGL用于新学期课程的选课注册管理和学生的成绩管理。 系统范围:凡是这两方面的教学管理内容都是JXGL系统的职责范围,其他的教学管理内容,如安排教学计划、排课、实习、实验、考试等都不属于JXGL系统的职责范围。 系统边界:JXGL系统与财务系统存在系统边界,财务系统将从JXGL系统得到学生选课注册信息。 JXGL系统与学校的其他信息管理系统没有直接的联系

5、,但是可以从学校的全局数据库中共享学生、教师、教学计划等必要的数据。,16.2.2 定义活动者,根据JXGL系统的职责范围和需求可以确定4个活动者:学生、老师、教学管理员和财务系统。 对于每一个活动者,应当明确其业务活动的内容、对系统的服务要求。 “学生”活动者使用JXGL系统查询新学期开设的课程信息和教师开课信息,选课并登记注册课程,查询自己的课程成绩信息。 “老师”活动者使用JXGL系统查询新学期开设的课程信息、学生选课信息和学生成绩信息。 “教学管理员”活动者使用JXGL系统管理学期开设的课程的选课注册和学生的考试成绩。 “财务系统”活动者是外部系统活动者,从JXGL系统接受学生的课程注

6、册信息。,16.2.3 定义Use Case,每一个Use Case都是一个活动者与系统在交互中执行的有关事务序列。 应当根据系统需求,找出全部的Use Case,并从活动者的角度给出事件流,当Use Case执行时系统应提供给活动者的服务。 对一个Use Case应说明的基本内容是:Use Case怎样开始和结束、正常的事件流、变通的事件流、意外情况的事件流等。 从JXGL的顶层Use Case抽象,可以确定两个Use Case :“选课管理”和“成绩管理”。 Use Case“选课管理”与4个活动者都存在交互。 Use Case “成绩管理” 与活动者“学生”、“老师”、“教学管理员”存在

7、着交互。,16.2.3 定义Use Case, JXGL的顶层Use Case图,如图16.1所示。,图16.1 顶层Use Case图,16.2.3 定义Use Case,Use Case“选课管理”可以分解为以下一些Use Case :“查询课程信息”、“选课注册”、“管理开设课程”、“管理学生信息”、“管理老师信息”、“管理课程信息”,如图16.2所示。,图16.2 选课管理的Use Case图,16.2.3 定义Use Case,Use Case“成绩管理”可以分解为以下一些Use Case :“查询学生成绩”,“查询课程成绩”,“学生成绩管理”,“成绩统计”,如图16.3所示。,图1

8、6.3 成绩管理的Use Case图,16.2.3 定义Use Case,活动者“学生”与Use Case“查询课程信息”、“选课注册”、“查询学生成绩”发生交互。 活动者“老师”与Use Case“查询课程信息”、“查询课程成绩”发生交互。 活动者“教学管理员”与Use Case“管理学生信息”、“管理老师信息”、“管理课程信息”、“管理开设课程”、“学生成绩管理”、“成绩统计”发生交互。 活动者“财务系统” 与Use Case“产生选课信息”发生交互。,16.2.4 绘制Use Case图,绘制Use Case图从顶层抽象开始,如图16.1,然后逐步分解,精细化Use Case图,如图16

9、.2、图16.3所示。直到能清晰地表达问题,满足系统分析与建立模型的需要为止。 除了Use Case图之外,对每一个Use Case还应进行描述,编写Use Case的说明文档。,16.2.4 绘制Use Case图,应当对以下的JXGL的全部Use Case编写说明: Use Case“查询课程信息” Use Case“选课注册” Use Case“管理开设课程” Use Case“管理学生信息” Use Case“管理老师信息” Use Case“管理课程信息” Use Case“查询学生成绩” Use Case“查询课程成绩” Use Case“学生成绩管理” Use Case“成绩统计

10、” Use Case“身份验证”,16.2.4 绘制Use Case图,在Use Case图上,不但要把Use Case表示出来,而且应当把Use Case与活动者之间的联系、Use Case之间的联系也表现出来。 如图16.4所示,Use Case“查询课程信息”和Use Case“选课注册”都与Use Case“身份验证”有联系,即它们都包含Use Case“身份验证”进行用户的合法身份检查。,16.2.5 绘制主要交互图,交互图描述Use Case如何实现对象之间的交互。交互图用于建立系统的动态行为模型。 在分析和绘制了Use Case图之后,对主要的Use Case做交互行为的分析是有

11、必要的。 交互行为的分析的结果可以写成文档,绘制初步的交互图,从而更清楚地理解Use Case的行为,以便进一步调整Use Case视图,确定问题的解决方案。 交互图主要有两种:顺序图和协同图,可根据需要绘制。 在项目开发之初,分析问题领域时,绘制交互图只是为了印证领域分析的结果和Use Case视图的正确性,在以后对系统动态行为建模的过程中,还需要对交互图做深入的分析、细化和完善。,16.2.5 绘制主要交互图,对每一个活动者与Use Case的交互行为,应编写详细的文字说明,即交互活动剧本,以作为绘制交互图的依据。 例:在活动者“学生”与Use Case “选课注册”的交互中,活动者“学生

12、”的行为有三:登录注册,查询课程,选修课程。 在登录注册活动中,活动者“学生”提交用户ID和口令。 在查询课程活动中,活动者“学生”提交查询条件。 在选修课程活动中,活动者“学生”提交增加或删除所选的课程,并确认选课结果。 Use Case “选课注册”响应活动者“学生”的请求,验证用户ID和口令,查询或修改课程数据库的数据,反馈结果信息。 Use Case “选课注册”的行为由“注册表单”接口对象、“选课注册表单”接口对象和“开设课程”对象实现。,16.2.5 绘制主要交互图,例:活动者“学生”与Use Case“选课注册”的顺序图,如图16.5所示。,图16.5 选课注册顺序图,16.3

13、静态结构模型,16.3.1 建立类图,16.3.2 建立数据库模型,16.3.3 建立包图,16.3.1 建立类图,1定义类 首先从研究Use Case和交互剧本中发现类,确定类的属性和主要操作。 对于JXGL系统可以抽象出以下一些主要的类: 在人事信息处理方面有“学生”类、“教师”类。 在选课管理方面有“课程”类、“开设课程”类、“学生登记”类、“课程登记”类、“选课统计”类等。 在成绩管理方面有“学生成绩登记”类、“成绩统计”类。 对于每一个类应当确定其职责、属性、主要操作以及其他性质说明。,16.3.1 建立类图,类的属性可以通过检查类的定义、分析问题的需求和运用领域知识而确定。 类的操

14、作可以通过检查分析交互图确定,把交互图中对象之间的交互活动抽象成一个类的操作。 例:从课程信息管理的顺序图中的活动“加入课程(数据结构,基础课,3)”抽象得到“课程”类的操作“加入课程()”,如图16.6所示。,图16.6 从顺序图抽象出类的操作,16.3.1 建立类图,2定义用户接口 除了一般类外还需要分析与定义系统的用户接口。 JXGL系统可以有的接口:“课程信息管理表单”、“查询课程表单”、“查询成绩表单”、“选课注册表单”、“开设课程表单”、“选课统计表单”、“成绩信息管理表单”、“成绩统计表单”等。 JXGL系统的用户接口用类定义,如图16.7所示。 对每一个用户接口类应详细规定其功

15、能操作。,16.3.1 建立类图, JXGL系统的用户接口类,如图16.7所示。,图16.7 用户接口,16.3.1 建立类图,3定义联系 JXGL系统的类之间的联系有多种类型,关联、聚合、泛化、依赖等都有。 (1)关联 在“开设课程”类与“师生”类之间存在“授课”关联和“登记注册”关联 ,在“开设课程”类与“学生成绩登记”类之间存在关联。 (2)聚合联系 在“开设课程”类与“课程”类之间存在聚合联系,在“开设课程”类与“学生登记”类、“课程登记”类之间存在聚合联系。,16.3.1 建立类图,(3)泛化联系 “学生”类、“教师”类与“师生”类的联系为泛化联系。 (4)依赖联系 在“成绩统计”类

16、与“学生成绩登记”类之间存在依赖联系, 在“选课统计”类与“开设课程”类之间存在依赖联系。 JXGL系统中,上述关联、聚合、泛化、依赖等联系可参见类图图16.8、图16.9、图16.10等。 4绘制类图 根据已定义的类及其联系,以及类的多重性、角色、导航等性质,可以画出类图,如图16.8、图16.9、图16.10所示。 在类图的基础上可以根据需要绘制一些对象图。 使用对象图的目的是分析系统的瞬间状态,以便进一步了解系统的结构和行为。,16.3.1 建立类图, JXGL系统的课程管理类图,如图16.8所示。,图16.8 课程管理类图,16.3.1 建立类图, JXGL系统的成绩管理类图,如图16

17、.9所示。,图16.9 成绩管理类图,16.3.1 建立类图, JXGL系统的人事信息类图,如图16.10所示。,图16.10 人事信息类图,16.3.2 建立数据库模型,在分析和设计系统的静态结构模型时需要进行数据分析和数据库设计。 JXGL系统采用关系数据库系统存储和管理数据。 JXGL系统有4个方面的数据需要管理: 人员数据(学生、教师) 课程数据 选课注册数据 学生成绩数据。 经过分析,JXGL系统至少应有6个数据库表: 学生表、教师表、课程表、开设课程表、选课表、任课表。,16.3.2 建立数据库模型,这些基本表定义为: 学生(学生号、姓名、出生日期、性别、籍贯、地址、电话、入学时间

18、、专业、班级备注) 教师(教师号、姓名、出生日期、性别、籍贯、地址、电话、职称、专长、备注) 课程(课程号、课程名、描述、学分、学时、性质、备注) 开设课程(课程号、学期、授课日期、授课时间、地点、选修人数、备注) 选课(学生号、课程号、学期、成绩、备注) 任课(教师号、课程号、学期、备注) 对于这些基本表需要进行关系规范化,设计用户视图、触发器、存储过程等。 关系数据库模式通常用实体联系模型(ERD)表示,也可以用类图为数据库模式建立模型。,16.3.3 建立包图,对于一个大型的复杂的系统,常需要把大量的模型元素用包组织起来,以方便理解和处理。 JXGL系统虽然不算大,但也可以把系统的类组织

19、成包,以便更清楚地了解系统的结构。 包图表示的是系统的静态结构,但是建立包图应当同时考虑系统的动态行为。 JXGL系统的包图,如图16.11所示,一共有5个包:“教学管理”包、“用户接口”包、“数据库”包、“MFC类”包、“出错处理”包。 对每一个包应绘出其详细的内部的组成结构图。,16.3.3 建立包图,在“用户接口”包中包含了全部接口类:“课程信息管理表单”、“查询课程表单”、“查询成绩表单”、“选课注册表单”、“开设课程表单”、“选课统计表单”、“成绩信息管理表单”、“成绩统计表单”、“注册表单”等。 “教学管理”包中包含了为实现教学管理业务领域任务的全部类。 在“数据库”包中包含了实现

20、数据库服务功能的全部类。 在“MFC类”包中包含了支持系统的动态连接库的必要的库函数类。 在“出错处理”包中包含了出错处理功能的全部类。,图16.11 JXGL系统的包图,16.3.3 建立包图,“教学管理”包内部组成如图16.12所示。 其中包含了为实现教学管理业务领域任务的类:“学生”类、“教师”类、“师生”类、“课程”类、“开设课程”类、“学生登记”类、“课程登记”类、“选课统计”类、“学生成绩登记”类、“成绩统计”类,以及“身份验证”类等。 这些类又分别组成3个小包:“选课管理”包、“成绩管理”包和“人事信息”包。“身份验证”类则相对独立。,图16.12 教学管理包,16.3.3 建立

21、包图,简易教学管理系统JXGL由两个子系统组成: (1)课程注册子系统,负责新学期的选课注册管理工作。 (2)成绩管理子系统,负责学生成绩管理。 JXGL的系统与子系统包图如图16.13所示。,图16.13 JXGL系统与子系统包图,16.4 动态行为模型,16.4.1 建立顺序图,16.4.2 建立协同图,16.4.3 建立状态机图,16.4.4 建立活动图,16.4.1 建立顺序图,在建立Use Case视图时已经绘制了一些顺序图或协同图,在建立系统的动态行为模型中需要继续这项工作,进一步绘制主要Use Case的顺序图或协同图,并逐步精细化。 为了绘制顺序图,首先要对一个Use Case

22、编写交互活动的剧本,然后确定参与交互的活动者和对象,确定交互事件。 例:设置开设课程的顺序图,如图16.14所示。 其中的交互事件如下: 1登录 2验证 3查询 4设置课程 5增加课程 6删除课程 7提交 8存储 9退出,16.4.1 建立顺序图,设置开设课程顺序图,如图16.14所示。,图16.14 设置开设课程顺序图,成绩登记与统计的顺序图,图略,16.4.2 建立协同图,协同图用于描述系统的行为是如何由系统的成分实现的。 对于JXGL系统也需要绘制主要的Use Case的协同图,以深入了解和表示系统的行为和各个对象的作用。 对于一个协同图,首先应确定参与协同的对象角色、关联角色和消息,然

23、后才能绘制协同图。 协同图主要表示对象与对象之间的连接,它们是如何共同完成系统的行为的,但这些行为的发生顺序和时间并不是协同图表达的主要内容。 例:对于Use Case“管理课程信息”的协同图如图16.16所示。图中的对象角色有“注册表单”接口对象、“开设课程表单”接口对象、“课程”对象和“开设课程”对象。它们协同工作,实现设置新开设课程的服务。,16.4.2 建立协同图,管理课程信息协同图,如图16.15所示。,图16.15 管理课程信息协同图,16.4.3 建立状态机图,状态机图表现一个对象(类)的生命史。对于一些实现重要行为动作的对象应当绘制状态机图。 绘制状态机图需要确定一个对象的生命

24、期可能出现的全部状态,哪些事件将引起状态的转移,将会发生哪些动作。 例如,对于JXGL系统中的一个学生选课注册的“学生登记”对象,可能有的状态如下: 1“初始化”状态 2“增加课程”状态 3“减少课程”状态 4“取消”状态 5“关闭”状态,16.4.3 建立状态机图,选课学生登记状态机图如图16.16所示。,图16.16 选课学生登记状态机图,16.4.3 建立状态机图,选课课程登记状态机图如图16.17所示。,图16.17 选课课程登记状态机图,16.4.4 建立活动图,活动图的主要作用是表示系统的业务工作流和并发处理过程。对于一个系统可以针对主要的业务工作流绘制活动图。 绘制活动图需要确定

25、参与活动的对象、动作状态、动作流,以及对象流。 例:对JXGL系统的设置开设课程的活动可以绘制活动图,如图16.19所示。 其中,参与活动的对象有“注册表单”接口对象、“开设课程表单”接口对象、“课程”对象、“选课注册表单”接口对象、“开设课程”对象等。 其中,动作状态有“登录”、“新开课程”、“取课程信息”、“取选课信息”、“增加/删除课程”等。,16.4.4 建立活动图,设置开设课程活动图,如图16.18所示。,图16.18 设置开设课程活动图,16.5 物理模型,16.5.1 建立组件图,16.5.2 建立配置图,16.5.1 建立组件图,系统实现的源代码、二进制码、执行码可以按照模块化

26、的思想,用组件分别组织起来,明确系统各部分的功能职责和软件结构。 JXGL系统的运行软件可以组织成组件图,如图16.20所示。 其中有“教学管理”、 “课程管理”、 “成绩管理”、 “人事信息”、“课程”、“开设课程”、“选课注册”、“教师”、“学生”等组件。 在所有这些组件中包含了各自相应的类、接口、联系的实现代码。 如果需要,可以绘制系统的源代码、二进制码、执行码的组件的跟踪关系图。,16.5.1 建立组件图,JXGL系统的运行软件组件图,如图16.19所示。,图16.19 JXGL系统组件图,16.5.2 建立配置图,JXGL系统是一个基于局部网络(校园网)和数据库的应用系统,因此有必要进行系统的配置,建立配置图。 JXGL系统的各个部分可以配置在不同的节点上,通过网络相互通信。 例如,在配置图16.20中,把数据库服务器、应用服务器、课程管理(包含人事信息管理)和成绩管理的相应组件配置在不同的节点上。 JXGL系统是一个客户机/服务器结构的分布式系统,也可以绘制如图16.21的配置图。,16.5.2 建立配置图,图16.20 JXGL系统配置图,图16.21 JXGL系统的客户机/服务器结构配置图,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1