教学管理系统的分析与设计_第1页
教学管理系统的分析与设计_第2页
教学管理系统的分析与设计_第3页
教学管理系统的分析与设计_第4页
教学管理系统的分析与设计_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

关于教学管理系统的分析与设计第一页,共三十九页,2022年,8月28日作为一个简单的示例,规定所开发的简易教学管理系统JXGL只处理每学期的课程选修注册和学生的成绩管理。对JXGL系统要求提供两个方面的服务:(1)选课管理,负责新学期的课程选课注册工作录入与生成新学期课程表学生选课注册查询选课注册信息的统计与报表生成把学生选课注册信息传送给财务系统(2)成绩管理,负责学生成绩管理。成绩录入成绩查询成绩统计与报表生成§1系统需求第二页,共三十九页,2022年,8月28日JXGL系统的直接用户有学生、教师和教学管理员。教学管理员有权操纵数据库的数据,进行添加、更新、删除等操作。学生和教师一般只查询信息,只允许对自己有关的数据进行添加、更新、删除等操作。JXGL系统的相关系统有财务系统。JXGL系统需要把学生选课注册信息传送给财务系统,以供财务系统计算学生应交纳的费用,但是不要求财务系统回馈学生应交纳的费用信息。假定在学校的计算中心有功能强大的工作站机器,在各系、各部门、图书馆、学生宿舍都有台式PC,学校的全部计算机已经连网。JXGL系统将采用客户机/服务器结构建立,JXGL系统的应用服务器和数据库服务器设置在学校计算中心的工作站。学生、教师和教学管理员可以在各系、各部门、图书馆、学生宿舍的台式PC上使用JXGL系统。§1系统需求第三页,共三十九页,2022年,8月28日§2分析问题领域

分析问题领域是软件系统开发的一项基本工作,是项目开发之初必须首先进行的重要工作。

分析问题领域的结果是对问题领域的清晰、精确的定义,明确目标系统将做些什么。

分析问题领域的主要任务是:对问题领域进行抽象,提出解决方案;对未来的系统进行需求分析,确定系统的职责范围、功能需求、性能需求、应用环境及假设条件等;用UseCase图对未来系统的行为建立模型,初步确定未来系统的体系结构等。第四页,共三十九页,2022年,8月28日§2.1确定系统范围和系统边界

首先要确定业务需求和系统目标。

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

“学生”活动者使用JXGL系统查询新学期开设的课程信息和教师开课信息,选课并登记注册课程,查询自己的课程成绩信息。

“老师”活动者使用JXGL系统查询新学期开设的课程信息、学生选课信息和学生成绩信息。

“教学管理员”活动者使用JXGL系统管理学期开设课程的选课注册和学生的考试成绩。管理工作包括课程与成绩数据的录入、维护、统计、报表打印等,并且负责把学生的选课注册信息发送给财务系统,作为计算学生应付费用的依据。“教学管理员”要求能够方便地查询课程信息、学生选课信息、学生信息、教师信息和成绩信息。

“财务系统”活动者是外部系统活动者,从JXGL系统接受学生的课程注册信息。第六页,共三十九页,2022年,8月28日§2.3定义UseCase

从JXGL系统的顶层UseCase抽象,可以确定两个UseCase:“选课管理”和“成绩管理”。UseCase“选课管理”与4个活动者都存在交互,UseCase“成绩管理”与活动者“学生”、“老师”和“教学管理员”存在着交互。第七页,共三十九页,2022年,8月28日§2.3定义UseCase第八页,共三十九页,2022年,8月28日§2.4绘制UseCase图

UseCase图是系统的外部行为视图。在确定了活动者和UseCase的基础上,绘制UseCase图,可视化活动者与UseCase之间的联系,可以更清楚地了解系统的行为。绘制UseCase图从顶层抽象开始,如图1所示,然后逐步分解,精细化UseCase图,如图2、图3所示,直到能清晰地表达问题,满足系统分析与建立模型的需要为止。除了UseCase图之外,对每一个UseCase还应进行描述,编写UseCase的说明文档。第九页,共三十九页,2022年,8月28日在绘制UseCase图时不但要把UseCase与活动者之间的联系表示出来,而且应当把UseCase之间的联系也表现出来。UseCase间的联系最常见的有<<uses>>,<<include>>和<<extend>>等联系。如图4所示,UseCase“查询课程信息”和UseCase“选课注册”都与UseCase“身份验证”有<<uses>>联系,即它们在运行中都使用UseCase“身份验证”进行用户的合法身份检查。同样的<<uses>>联系存在于其他UseCase与UseCase“身份验证”之间。§2.4绘制UseCase图

第十页,共三十九页,2022年,8月28日§2.5绘制主要交互图交互图描述UseCase如何实现对象之间的交互。交互图用于建立系统的动态行为模型。UseCase图是系统的外部视图,在分析和绘制了UseCase图之后,对主要的UseCase做交互行为的分析是有必要的。分析的结果可以写成文档,绘制初步的交互图,从而更清楚地理解UseCase的行为,以便进一步调整UseCase视图,确定问题的解决方案。交互图有两种:顺序图和协同图。可以根据需要绘制。第十一页,共三十九页,2022年,8月28日绘制活动者“学生”与UseCase“选课注册”的顺序图.UseCase“选课注册”的行为由“注册表单”接口对象、“选课注册表单”接口对象和“开设课程”对象实现。在项目开发之初,分析问题领域时,绘制交互图只是为了印证领域分析的结果和UseCase视图的正确性,在以后对系统动态行为建模的过程中,还需要对交互图做深入的分析、细化和完善。§2.5绘制主要交互图第十二页,共三十九页,2022年,8月28日

系统的静态结构模型主要由对象类图和对象图表达。发现对象类及其联系,确定它们的静态结构和动态行为,是面向对象分析的最基本的任务。§3静态结构模型第十三页,共三十九页,2022年,8月28日§3.1建立对象类图1.定义对象类首先从研究UseCase和交互剧本中发现对象类,确定类的属性和主要操作。对于JXGL系统可以抽象出以下一些主要的对象类。(1)在人事信息处理方面有“学生”类、“教师”类。(2)在选课管理方面有“课程”类、“开设课程”类、“学生登记”类、“课程登记”类、“选课统计”类等。(3)在成绩管理方面有“学生成绩登记”类、“成绩统计”类。对于每一个类应当确定其职责、属性、主要操作以及其他性质说明。第十四页,共三十九页,2022年,8月28日对象类的操作可以通过检查分析交互图确定,把交互图中对象之间的交互活动抽象成一个类的操作。例如,可以从课程信息管理顺序图中的活动“加入课程(数据结构,基础课,3)”抽象得到“课程”类的操作“加入课程()”。§3.1建立对象类图第十五页,共三十九页,2022年,8月28日2.定义用户接口除了一般类外还需要分析与定义系统的用户接口,这些接口常可以用对象类定义。对于JXGL系统可以有以下一些用户接口类。§3.1建立对象类图第十六页,共三十九页,2022年,8月28日3.定义联系在定义了对象类之后,需要进一步分析对象类之间的联系。JXGL系统的对象类之间的联系有多种类型,关联、聚合、泛化、依赖等都有。§3.1建立对象类图第十七页,共三十九页,2022年,8月28日(1)关联。在“开设课程”类与“师生”类之间存在“授课”关联和“登记注册”关联。在“开设课程”类与“学生成绩登记”类之间存在关联。相互关联的类之间不存在继承关系,而是通过消息传递相互联系、协同工作。§3.1建立对象类图第十八页,共三十九页,2022年,8月28日(2)聚集联系。新学期开设的课程只是学校的教学计划中需要设置的课程中的一部分,“开设课程”类与“课程”类之间存在聚集联系,“开设课程”类是代表部分的对象类,“课程”类是代表整体的对象类。同样地,“开设课程”类与“学生登记”类、“课程登记”类之间存在聚集联系。§3.1建立对象类图第十九页,共三十九页,2022年,8月28日【例3-20】分析下面程序的运行结果(3)泛化联系。把学生与教师的共同信息和共同操作抽取出来,组成一个新类“师生”,原来的“学生”类中保留学生特有的属性“专业”和“班级”,在“教师”类中保留教师特有的属性“职称”。“学生”类、“教师”类与“师生”类的联系为泛化联系,“师生”类为更一般的类,“学生”类和“教师”类是特殊类,它们继承“师生”类中的公共属性。第二十页,共三十九页,2022年,8月28日(4)依赖联系。

成绩统计是在学生的成绩数据上进行的,在“成绩统计”类与“学生成绩登记”类之间存在依赖联系,“成绩统计”类依赖于“学生成绩登记”类。同样地,“选课统计”类依赖于“开设课程”类。在定义联系时,需要同时分析和确定联系端的对象类的多重性、角色、导航等性质。这些可以从需求分析、领域知识来分析和确定。在确定对象类之间的联系的同时,还需要考虑对象类之间的接口。§3.1建立对象类图第二十一页,共三十九页,2022年,8月28日JXGL系统采用关系数据库系统存储和管理数据。在分析和设计系统的静态结构模型时需要进行数据分析和数据库设计。JXGL系统有4个方面的数据需要管理:人员数据(学生、教师)、课程数据、选课注册数据和学生成绩数据。经过分析,JXGL系统至少应有6个数据库表:学生表、教师表、课程表、开设课程表、选课表和任课表。§3.2建立数据库模型第二十二页,共三十九页,2022年,8月28日这些基本表定义为学生(学生号、姓名、出生日期、性别、籍贯、地址、电话、入学时间、专业、班级备注)教师(教师号、姓名、出生日期、性别、籍贯、地址、电话、职称、专长、备注)课程(课程号、课程名、描述、学分、学时、性质、备注)开设课程(课程号、学期、授课日期、授课时间、地点、选修人数、备注)选课(学生号、课程号、学期、成绩、备注)任课(教师号、课程号、学期、备注)对于上述的基本表需要进行关系规范化,设计用户视图、触发器、存储过程等。数据库模式通常用实体—联系模型(ERD)表示,如果需要也可以用对象类图为数据库模式建立模型。§3.2建立数据库模型第二十三页,共三十九页,2022年,8月28日§3.3建立包图JXGL系统一共有5个包:“教学管理”包、“用户接口”包、“数据库”包、“MFC类”包和“出错处理”包。第二十四页,共三十九页,2022年,8月28日“教学管理”包如图12所示,其中包含了为实现教学管理业务领域任务的对象类,即前文叙述的全部对象类:“学生”类、“教师”类、“师生”类、“课程”类、“开设课程”类、“学生登记”类、“课程登记”类、“选课统计”类、“学生成绩登记”类、“成绩统计”类,以及“身份验证”类等。这些类又分别组成3个小包:“选课管理”包、“成绩管理”包和“人事信息”包。“身份验证”类则相对独立。§3.3建立包图第二十五页,共三十九页,2022年,8月28日JXGL系统由如下两个子系统组成。(1)课程注册子系统,负责新学期的选课注册管理工作。(2)成绩管理子系统,负责学生成绩管理。§3.3建立包图第二十六页,共三十九页,2022年,8月28日系统的动态行为模型由交互图(顺序图和协同图)、状态机图和活动图表达。在系统的分析和设计中应当对主要的UseCase和对象类绘制这些图形,以便分析系统的行为,印证和修改系统的静态结构,满足用户的需求,达到系统的目标。§4动态行为模型第二十七页,共三十九页,2022年,8月28日绘制设置开设课程的顺序图.其中的交互事件如下。§4.1建立顺序图第二十八页,共三十九页,2022年,8月28日

协同图用于描述系统的行为是如何由系统的成分实现的。对于JXGL系统也需要绘制主要的UseCase的协同图,以深入了解和表示系统的行为和各个对象的作用。对于一个协同图,首先应确定参与协同的对象角色、关联角色和消息,然后才能绘制协同图。例如,对于UseCase“管理课程信息”的协同图如图16所示。图中的对象角色有“注册表单”接口对象、“开设课程表单”接口对象、“课程”对象和“开设课程”对象。它们协同工作,实现设置新开设课程的服务。§4.2建立协同图第二十九页,共三十九页,2022年,8月28日§4.2建立协同图第三十页,共三十九页,2022年,8月28日活动者“教学管理员”与“注册表单”接口对象联系。“注册表单”接口对象与“开设课程表单”接口对象之间、“开设课程表单”接口对象与“课程”对象之间、“开设课程表单”接口对象与“开设课程”对象之间存在着关联。活动者“教学管理员”发送消息“登录”给“注册表单”接口对象,“注册表单”接口对象发送消息“新开课程”给“开设课程表单”接口对象,“开设课程表单”接口对象发送消息“取课程信息”给“课程”对象,发送消息“增加/删除开设课程”给“开设课程”对象。§4.2建立协同图第三十一页,共三十九页,2022年,8月28日

状态机图表现一个对象(类)的生命史。对于一些实现重要行为动作的对象应当绘制状态机图。绘制状态机图需要确定一个对象的生命期可能出现的全部状态,哪些事件将引起状态的转移,将会发生哪些动作。学生的选课学生登记状态机图如图所示。§4.3建立状态机图第三十二页,共三十九页,2022年,8月28日同样地,可以绘制选课课程登记状态机图如图所示§4.3建立状态机图第三十三页,共三十九页,2022年,8月28

温馨提示

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

评论

0/150

提交评论