教学管理系统的分析与设计.ppt

上传人:牧羊曲112 文档编号:5355052 上传时间:2023-06-28 格式:PPT 页数:41 大小:658KB
返回 下载 相关 举报
教学管理系统的分析与设计.ppt_第1页
第1页 / 共41页
教学管理系统的分析与设计.ppt_第2页
第2页 / 共41页
教学管理系统的分析与设计.ppt_第3页
第3页 / 共41页
教学管理系统的分析与设计.ppt_第4页
第4页 / 共41页
教学管理系统的分析与设计.ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

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

1、教学管理系统的分析与设计,以简易教学管理系统JXGL的分析与设计作为示例,说明UML在软件项目开发中的应用。这里仅仅叙述用UML帮助进行JXGL系统的分析与设计,建立主要的系统静态结构模型与动态行为模型。,一般对系统做分析与设计,建立静态结构模型与建立动态行为模型应当同时、交替进行,相互印证和补充。UML的创始者们主张采用Use Case驱动的软件开发方法。实际上,UML是一种通用的工具,它可以使用于Use Case驱动的软件开发,也可以使用于其他面向对象的软件开发方法,例如直接从现实世界抽象出对象和类,建立系统的对象模型。,本章目录,1 系统需求2 分析问题领域2.1 确定系统范围和系统边界

2、2.2 定义活动者2.3 定义Use Case2.4 绘制Use Case图2.5 绘制主要交互图3 静态结构模型3.1 建立对象类图3.2 建立数据库模型3.3 建立包图4 动态行为模型4.1 建立顺序图4.2 建立协同图4.3 建立状态机图4.4 建立活动图,5 物理模型5.1 建立组件图5.2 建立配置图本章小结和习题,作为一个简单的示例,规定所开发的简易教学管理系统JXGL只处理每学期的课程选修注册和学生的成绩管理。对JXGL系统要求提供两个方面的服务:(1)选课管理,负责新学期的课程选课注册工作录入与生成新学期课程表学生选课注册查询选课注册信息的统计与报表生成把学生选课注册信息传送给

3、财务系统(2)成绩管理,负责学生成绩管理。成绩录入成绩查询成绩统计与报表生成,1 系统需求,JXGL系统的直接用户有学生、教师和教学管理员。教学管理员有权操纵数据库的数据,进行添加、更新、删除等操作。学生和教师一般只查询信息,只允许对自己有关的数据进行添加、更新、删除等操作。JXGL系统的相关系统有财务系统。JXGL系统需要把学生选课注册信息传送给财务系统,以供财务系统计算学生应交纳的费用,但是不要求财务系统回馈学生应交纳的费用信息。假定在学校的计算中心有功能强大的工作站机器,在各系、各部门、图书馆、学生宿舍都有台式PC,学校的全部计算机已经连网。JXGL系统将采用客户机/服务器结构建立,JX

4、GL系统的应用服务器和数据库服务器设置在学校计算中心的工作站。学生、教师和教学管理员可以在各系、各部门、图书馆、学生宿舍的台式PC上使用JXGL系统。,1 系统需求,2 分析问题领域,分析问题领域是软件系统开发的一项基本工作,是项目开发之初必须首先进行的重要工作。分析问题领域的结果是对问题领域的清晰、精确的定义,明确目标系统将做些什么。分析问题领域的主要任务是:对问题领域进行抽象,提出解决方案;对未来的系统进行需求分析,确定系统的职责范围、功能需求、性能需求、应用环境及假设条件等;用Use Case图对未来系统的行为建立模型,初步确定未来系统的体系结构等。,2.1 确定系统范围和系统边界,首先

5、要确定业务需求和系统目标。JXGL系统用于新学期课程的选课注册管理和学生的成绩管理。凡是这两方面的教学管理内容都是JXGL系统的职责范围,其他的教学管理内容,如安排教学计划、排课、实习、实验、考试等都不属于JXGL系统的职责范围。至于学校的其他管理工作,如科研、人事、财务、资产等管理也不属于JXGL系统的职责范围。JXGL系统与财务系统存在系统边界,财务系统将从JXGL系统得到学生选课注册信息。JXGL系统与学校的其他信息管理系统没有直接的联系,但是可以从学校的全局数据库中共享学生、教师、教学计划等必要的数据。,2.2 定义活动者,根据JXGL系统的职责范围和需求可以确定4个活动者:学生、老师

6、、教学管理员和财务系统。对于每一个活动者,应当明确其业务活动的内容、对系统的服务要求。“学生”活动者使用JXGL系统查询新学期开设的课程信息和教师开课信息,选课并登记注册课程,查询自己的课程成绩信息。“老师”活动者使用JXGL系统查询新学期开设的课程信息、学生选课信息和学生成绩信息。“教学管理员”活动者使用JXGL系统管理学期开设课程的选课注册和学生的考试成绩。管理工作包括课程与成绩数据的录入、维护、统计、报表打印等,并且负责把学生的选课注册信息发送给财务系统,作为计算学生应付费用的依据。“教学管理员”要求能够方便地查询课程信息、学生选课信息、学生信息、教师信息和成绩信息。“财务系统”活动者是

7、外部系统活动者,从JXGL系统接受学生的课程注册信息。,2.3 定义Use Case,从JXGL系统的顶层Use Case抽象,可以确定两个Use Case:“选课管理”和“成绩管理”。Use Case“选课管理”与4个活动者都存在交互,Use Case“成绩管理”与活动者“学生”、“老师”和“教学管理员”存在着交互。,2.3 定义Use Case,2.4 绘制Use Case图,Use Case图是系统的外部行为视图。在确定了活动者和Use Case的基础上,绘制Use Case图,可视化活动者与Use Case之间的联系,可以更清楚地了解系统的行为。绘制Use Case图从顶层抽象开始,如

8、图1所示,然后逐步分解,精细化Use Case图,如图2、图3所示,直到能清晰地表达问题,满足系统分析与建立模型的需要为止。除了Use Case图之外,对每一个Use Case还应进行描述,编写Use Case的说明文档。,在绘制Use Case图时不但要把Use Case与活动者之间的联系表示出来,而且应当把Use Case之间的联系也表现出来。Use Case间的联系最常见的有,和等联系。如图4所示,Use Case“查询课程信息”和Use Case“选课注册”都与Use Case“身份验证”有联系,即它们在运行中都使用Use Case“身份验证”进行用户的合法身份检查。同样的联系存在于其

9、他Use Case与Use Case“身份验证”之间。,2.4 绘制Use Case图,2.5 绘制主要交互图,交互图描述Use Case如何实现对象之间的交互。交互图用于建立系统的动态行为模型。Use Case图是系统的外部视图,在分析和绘制了Use Case图之后,对主要的Use Case做交互行为的分析是有必要的。分析的结果可以写成文档,绘制初步的交互图,从而更清楚地理解Use Case的行为,以便进一步调整Use Case视图,确定问题的解决方案。交互图有两种:顺序图和协同图。可以根据需要绘制。,绘制活动者“学生”与Use Case“选课注册”的顺序图.Use Case“选课注册”的行

10、为由“注册表单”接口对象、“选课注册表单”接口对象和“开设课程”对象实现。在项目开发之初,分析问题领域时,绘制交互图只是为了印证领域分析的结果和Use Case视图的正确性,在以后对系统动态行为建模的过程中,还需要对交互图做深入的分析、细化和完善。,2.5 绘制主要交互图,系统的静态结构模型主要由对象类图和对象图表达。发现对象类及其联系,确定它们的静态结构和动态行为,是面向对象分析的最基本的任务。,3 静态结构模型,3.1 建立对象类图,1定义对象类 首先从研究Use Case和交互剧本中发现对象类,确定类的属性和主要操作。对于JXGL系统可以抽象出以下一些主要的对象类。(1)在人事信息处理方

11、面有“学生”类、“教师”类。(2)在选课管理方面有“课程”类、“开设课程”类、“学生登记”类、“课程登记”类、“选课统计”类等。(3)在成绩管理方面有“学生成绩登记”类、“成绩统计”类。对于每一个类应当确定其职责、属性、主要操作以及其他性质说明。,对象类的操作可以通过检查分析交互图确定,把交互图中对象之间的交互活动抽象成一个类的操作。例如,可以从课程信息管理顺序图中的活动“加入课程(数据结构,基础课,3)”抽象得到“课程”类的操作“加入课程()”。,3.1 建立对象类图,2定义用户接口 除了一般类外还需要分析与定义系统的用户接口,这些接口常可以用对象类定义。对于JXGL系统可以有以下一些用户接

12、口类。,3.1 建立对象类图,3定义联系 在定义了对象类之后,需要进一步分析对象类之间的联系。JXGL系统的对象类之间的联系有多种类型,关联、聚合、泛化、依赖等都有。,3.1 建立对象类图,(1)关联。在“开设课程”类与“师生”类之间存在“授课”关联和“登记注册”关联。在“开设课程”类与“学生成绩登记”类之间存在关联。相互关联的类之间不存在继承关系,而是通过消息传递相互联系、协同工作。,3.1 建立对象类图,(2)聚集联系。新学期开设的课程只是学校的教学计划中需要设置的课程中的一部分,“开设课程”类与“课程”类之间存在聚集联系,“开设课程”类是代表部分的对象类,“课程”类是代表整体的对象类。同

13、样地,“开设课程”类与“学生登记”类、“课程登记”类之间存在聚集联系。,3.1 建立对象类图,【例3-20】分析下面程序的运行结果,(3)泛化联系。把学生与教师的共同信息和共同操作抽取出来,组成一个新类“师生”,原来的“学生”类中保留学生特有的属性“专业”和“班级”,在“教师”类中保留教师特有的属性“职称”。“学生”类、“教师”类与“师生”类的联系为泛化联系,“师生”类为更一般的类,“学生”类和“教师”类是特殊类,它们继承“师生”类中的公共属性。,(4)依赖联系。成绩统计是在学生的成绩数据上进行的,在“成绩统计”类与“学生成绩登记”类之间存在依赖联系,“成绩统计”类依赖于“学生成绩登记”类。同

14、样地,“选课统计”类依赖于“开设课程”类。在定义联系时,需要同时分析和确定联系端的对象类的多重性、角色、导航等性质。这些可以从需求分析、领域知识来分析和确定。在确定对象类之间的联系的同时,还需要考虑对象类之间的接口。,3.1 建立对象类图,JXGL系统采用关系数据库系统存储和管理数据。在分析和设计系统的静态结构模型时需要进行数据分析和数据库设计。JXGL系统有4个方面的数据需要管理:人员数据(学生、教师)、课程数据、选课注册数据和学生成绩数据。经过分析,JXGL系统至少应有6个数据库表:学生表、教师表、课程表、开设课程表、选课表和任课表。,3.2 建立数据库模型,这些基本表定义为 学生(学生号

15、、姓名、出生日期、性别、籍贯、地址、电话、入学时间、专业、班级备注)教师(教师号、姓名、出生日期、性别、籍贯、地址、电话、职称、专长、备注)课程(课程号、课程名、描述、学分、学时、性质、备注)开设课程(课程号、学期、授课日期、授课时间、地点、选修人数、备注)选课(学生号、课程号、学期、成绩、备注)任课(教师号、课程号、学期、备注)对于上述的基本表需要进行关系规范化,设计用户视图、触发器、存储过程等。数据库模式通常用实体联系模型(ERD)表示,如果需要也可以用对象类图为数据库模式建立模型。,3.2 建立数据库模型,3.3 建立包图,JXGL系统一共有5个包:“教学管理”包、“用户接口”包、“数据

16、库”包、“MFC类”包和“出错处理”包。,“教学管理”包如图12所示,其中包含了为实现教学管理业务领域任务的对象类,即前文叙述的全部对象类:“学生”类、“教师”类、“师生”类、“课程”类、“开设课程”类、“学生登记”类、“课程登记”类、“选课统计”类、“学生成绩登记”类、“成绩统计”类,以及“身份验证”类等。这些类又分别组成3个小包:“选课管理”包、“成绩管理”包和“人事信息”包。“身份验证”类则相对独立。,3.3 建立包图,JXGL系统由如下两个子系统组成。(1)课程注册子系统,负责新学期的选课注册管理工作。(2)成绩管理子系统,负责学生成绩管理。,3.3 建立包图,系统的动态行为模型由交互

17、图(顺序图和协同图)、状态机图和活动图表达。在系统的分析和设计中应当对主要的Use Case和对象类绘制这些图形,以便分析系统的行为,印证和修改系统的静态结构,满足用户的需求,达到系统的目标。,4 动态行为模型,绘制设置开设课程的顺序图.其中的交互事件如下。,4.1 建立顺序图,协同图用于描述系统的行为是如何由系统的成分实现的。对于JXGL系统也需要绘制主要的Use Case的协同图,以深入了解和表示系统的行为和各个对象的作用。对于一个协同图,首先应确定参与协同的对象角色、关联角色和消息,然后才能绘制协同图。例如,对于Use Case“管理课程信息”的协同图如图16所示。图中的对象角色有“注册

18、表单”接口对象、“开设课程表单”接口对象、“课程”对象和“开设课程”对象。它们协同工作,实现设置新开设课程的服务。,4.2 建立协同图,4.2 建立协同图,活动者“教学管理员”与“注册表单”接口对象联系。“注册表单”接口对象与“开设课程表单”接口对象之间、“开设课程表单”接口对象与“课程”对象之间、“开设课程表单”接口对象与“开设课程”对象之间存在着关联。活动者“教学管理员”发送消息“登录”给“注册表单”接口对象,“注册表单”接口对象发送消息“新开课程”给“开设课程表单”接口对象,“开设课程表单”接口对象发送消息“取课程信息”给“课程”对象,发送消息“增加/删除开设课程”给“开设课程”对象。,

19、4.2 建立协同图,状态机图表现一个对象(类)的生命史。对于一些实现重要行为动作的对象应当绘制状态机图。绘制状态机图需要确定一个对象的生命期可能出现的全部状态,哪些事件将引起状态的转移,将会发生哪些动作。学生的选课学生登记状态机图如图所示。,4.3 建立状态机图,同样地,可以绘制选课课程登记状态机图如图所示,4.3 建立状态机图,活动图的主要作用是表示系统的业务工作流和并发处理过程。对于一个系统可以针对主要的业务工作流绘制活动图。绘制活动图需要确定参与活动的对象、动作状态、动作流,以及对象流。例如,对JXGL系统的设置开设课程的活动可以绘制活动图。,4.4 建立活动图,系统实现的源代码、二进制

20、码、执行码可以按照模块化的思想,用组件分别组织起来,明确系统各部分的功能职责和软件结构。JXGL系统的运行软件可以组织成组件图。这些组件包含相应的运行代码程序。,5 物理模型 5.1 建立组件图,JXGL系统是一个基于局部网络(校园网)和数据库的应用系统,因此有必要进行系统的配置,建立配置图。JXGL系统的各个部分可以配置在不同的节点上,通过网络相互通信。,5.2 建立配置图,JXGL系统是一个客户机/服务器结构的分布式系统,它的核心教学管理软件和数据库放置在学校的中心计算机上,用户接口端的应用程序分别配置在图书馆、专业系和学生宿舍的客户机上。因此,也可以绘制图如图所示的配置图。,5.2 建立配置图,本章以一个简化的教学管理系统为例,详细阐述了从需求分析、问题定义、静态结构模型、动态行为模型到物理模型的建立过程。,本章小结,请以本章教学管理系统分析与设计案例为范例,自己设定系统题目(比如运动会管理系统、学生勤工助学管理系统、学生会活动管理系统等),进行系统的分析和设计。,本章习题,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号