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

上传人:公**** 文档编号:584148659 上传时间:2024-08-30 格式:PPT 页数:50 大小:1.19MB
返回 下载 相关 举报
第16章教学管理系统分析与设计_第1页
第1页 / 共50页
第16章教学管理系统分析与设计_第2页
第2页 / 共50页
第16章教学管理系统分析与设计_第3页
第3页 / 共50页
第16章教学管理系统分析与设计_第4页
第4页 / 共50页
第16章教学管理系统分析与设计_第5页
第5页 / 共50页
点击查看更多>>
资源描述

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

1、第第1616章章 教学管理系统分析与设计教学管理系统分析与设计以一个简易教学管理系统以一个简易教学管理系统JXGLJXGL的分析与设计作为示例,说的分析与设计作为示例,说明明UMLUML在软件项目开发中的应用。在软件项目开发中的应用。 这这里主要介里主要介绍绍建立建立JXGLJXGL的系统静态结构模型与动态行为模的系统静态结构模型与动态行为模型型。一般对系统做分析与设计,建立静态结构模型与建立动态一般对系统做分析与设计,建立静态结构模型与建立动态行为模型应当同时、交替进行,相互印证和补充。行为模型应当同时、交替进行,相互印证和补充。 UMLUML是一种通用的工具,它可以使用于是一种通用的工具,

2、它可以使用于Use CaseUse Case驱动的软驱动的软件开发,也可以使用于其他面向对象的软件开发方法,例件开发,也可以使用于其他面向对象的软件开发方法,例如直接从现实世界抽象出对象和类,建立系统的对象模型。如直接从现实世界抽象出对象和类,建立系统的对象模型。 简易教学管理系统简易教学管理系统JXGLJXGL的分析与设计遵循的分析与设计遵循Use CaseUse Case驱动的驱动的软件开发思想与过程。软件开发思想与过程。 第第1616章章 教学管理系统分析与设计教学管理系统分析与设计16.1 16.1 系系统统需求需求16.2 16.2 分析问题领域分析问题领域16.3 16.3 静态结

3、构模型静态结构模型16.4 16.4 动态行为模型动态行为模型16.5 16.5 物理模型物理模型16.1 16.1 系统需求系统需求对简易教学管理系统对简易教学管理系统JXGLJXGL要求提供两个方面的服务:要求提供两个方面的服务: (1 1)选课管理,负责新学期的课程选课注册工作;)选课管理,负责新学期的课程选课注册工作; (2 2)成绩管理,负责学生成绩管理。)成绩管理,负责学生成绩管理。在选课管理方面应提供的服务功能:在选课管理方面应提供的服务功能: 1 1录入与生成新学期课程表录入与生成新学期课程表 2 2学生选课注册学生选课注册 3 3查询查询 4 4选课注册信息的统计与报表生成选

4、课注册信息的统计与报表生成 5 5把学生选课注册信息传送给财务系统把学生选课注册信息传送给财务系统 在成绩管理方面应提供的服务功能:在成绩管理方面应提供的服务功能: 1 1成绩录入成绩录入 2 2成绩查询成绩查询 3 3成绩统计与报表生成成绩统计与报表生成 16.1 16.1 系统需求系统需求JXGLJXGL的用户的用户 (1 1)学生。查询信息,只允许对自己有关的数据进行添加、)学生。查询信息,只允许对自己有关的数据进行添加、更新、删除等操作。更新、删除等操作。 (2 2)教师。查询信息,只允许对自己有关的数据进行添加、)教师。查询信息,只允许对自己有关的数据进行添加、更新、删除等操作。更新

5、、删除等操作。 (3 3)教学管理员。有权操纵数据库的数据,进行添加、更)教学管理员。有权操纵数据库的数据,进行添加、更新、删除等操作。新、删除等操作。 JXGLJXGL的系统环境的系统环境 (1 1)基于局域网的客)基于局域网的客)基于局域网的客)基于局域网的客户户机机机机/ /服服服服务务器系器系器系器系统统(Client/ServerClient/Server) (2 2 2 2)外部相关系统:财务系统)外部相关系统:财务系统)外部相关系统:财务系统)外部相关系统:财务系统 16.2 16.2 分析问题领域分析问题领域分析问题领域的目的是对问题领域的清晰、精确的分析问题领域的目的是对问题

6、领域的清晰、精确的定义,明确目标系统将做些什么。定义,明确目标系统将做些什么。分析问题领域的主要任务是:分析问题领域的主要任务是: 对问题领域进行抽象,提出解决方案;对问题领域进行抽象,提出解决方案; 对未来的系统进行需求分析,确定系统的职责对未来的系统进行需求分析,确定系统的职责范围、功能需求、性能需求、应用环境及假设条范围、功能需求、性能需求、应用环境及假设条件等;件等; 用用Use CaseUse Case图对未来系统的行为建立模型,初图对未来系统的行为建立模型,初步确定未来系统的体系结构等。步确定未来系统的体系结构等。 16.2 16.2 分析问题领域分析问题领域16.2.1 16.2

7、.1 确定系统范围和系统边界确定系统范围和系统边界16.2.2 16.2.2 定义活动者定义活动者16.2.4 16.2.4 绘制绘制Use CaseUse Case图图16.2.5 16.2.5 绘制主要交互图绘制主要交互图16.2.3 16.2.3 定义定义Use CaseUse Case16.2.1 16.2.1 确定系统范围与系统确定系统范围与系统边界边界首先要确定业务需求和系统目标。首先要确定业务需求和系统目标。 简易教学管理系统简易教学管理系统JXGLJXGL用于新学期课程的选课注册管理用于新学期课程的选课注册管理和学生的成绩管理。和学生的成绩管理。系统范围:凡是这两方面的教学管理

8、内容都是系统范围:凡是这两方面的教学管理内容都是JXGLJXGL系统系统的职责范围,其他的教学管理内容,如安排教学计划、的职责范围,其他的教学管理内容,如安排教学计划、排课、实习、实验、考试等都不属于排课、实习、实验、考试等都不属于JXGLJXGL系统的职责系统的职责范围。范围。 系统边界:系统边界:JXGLJXGL系统与财务系统存在系统边界,财务系系统与财务系统存在系统边界,财务系统将从统将从JXGLJXGL系统得到学生选课注册信息。系统得到学生选课注册信息。 JXGLJXGL系统与学校的其他信息管理系统没有直接的联系,系统与学校的其他信息管理系统没有直接的联系,但是可以从学校的全局数据库中

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

10、注册课程,查询自己的课程成绩信息。课信息,选课并登记注册课程,查询自己的课程成绩信息。 “ “老师老师” ”活动者使用活动者使用JXGLJXGL系统查询新学期开设的课程信息、学生选系统查询新学期开设的课程信息、学生选课信息和学生成绩信息。课信息和学生成绩信息。 “ “教学管理员教学管理员” ”活动者使用活动者使用JXGLJXGL系统管理学期开设的课程的选课注系统管理学期开设的课程的选课注册和学生的考试成绩。册和学生的考试成绩。“ “财务系统财务系统” ”活动者是外部系统活动者,从活动者是外部系统活动者,从JXGLJXGL系统接受学生的课系统接受学生的课程注册信息。程注册信息。 教学管理员学生老

11、师财务系统16.2.3 16.2.3 定义定义Use CaseUse Case每一个每一个Use CaseUse Case都是一个活动者与系统在交互中执行的都是一个活动者与系统在交互中执行的有关事务序列。有关事务序列。应当根据系统需求,找出全部的应当根据系统需求,找出全部的Use CaseUse Case,并从活动者,并从活动者的角度给出事件流,当的角度给出事件流,当Use CaseUse Case执行时系统应提供给活执行时系统应提供给活动者的服务。动者的服务。对一个对一个Use CaseUse Case应说明的基本内容是:应说明的基本内容是:Use CaseUse Case怎样开怎样开始和结

12、束、正常的事件流、变通的事件流、意外情况的始和结束、正常的事件流、变通的事件流、意外情况的事件流等。事件流等。 从从JXGLJXGL的顶层的顶层Use CaseUse Case抽象,可以确定两个抽象,可以确定两个Use Case Use Case :“ “选课管理选课管理” ”和和“ “成绩管理成绩管理” ”。 Use Case“Use Case“选课管理选课管理” ”与与4 4个活动者都存在交互。个活动者都存在交互。 Use Case “Use Case “成绩管理成绩管理” ” 与活动者与活动者“ “学生学生” ”、“ “老师老师” ”、“ “教学管理员教学管理员” ”存在着交互。存在着交

13、互。16.2.3 16.2.3 定义定义Use CaseUse Case JXGLJXGL的顶层的顶层Use CaseUse Case图,如图图,如图16.116.1所示。所示。 图16.1 顶层Use Case图 16.2.3 16.2.3 定义定义Use CaseUse CaseUse Case“Use Case“选课管理选课管理” ”可以分解为以下可以分解为以下一些一些Use Case Use Case :“ “查询课程信息查询课程信息” ”、“ “选课注册选课注册” ”、“ “管理开设课程管理开设课程” ”、“ “管理学生信息管理学生信息” ”、“ “管理老师信息管理老师信息” ”、“

14、 “管理课程信息管理课程信息” ”,如图,如图16.216.2所示。所示。 图16.2 选课管理的Use Case图 16.2.3 16.2.3 定义定义Use CaseUse CaseUse Case“Use Case“成绩管理成绩管理” ”可以分解为以下可以分解为以下一些一些Use Case Use Case :“ “查询学生成绩查询学生成绩” ”,“ “查询课程成绩查询课程成绩” ”,“ “学生成绩管理学生成绩管理” ”,“ “成绩统计成绩统计” ”,如图,如图16.316.3所示。所示。 图16.3 成绩管理的Use Case图 16.2.3 16.2.3 定义定义Use CaseUs

15、e Case活动者活动者“ “学生学生” ”与与Use Case“Use Case“查询课程信息查询课程信息” ”、“ “选课注选课注册册” ”、“ “查询学生成绩查询学生成绩” ”发生交互。发生交互。 活动者活动者“ “老师老师” ”与与Use Case“Use Case“查询课程信息查询课程信息” ”、“ “查询课查询课程成绩程成绩” ”发生交互。发生交互。 活动者活动者“ “教学管理员教学管理员” ”与与Use Case“Use Case“管理学生信息管理学生信息” ”、“ “管理老师信息管理老师信息” ”、“ “管理课程信息管理课程信息” ”、“ “管理开设课程管理开设课程” ”、“

16、“学生成绩管理学生成绩管理” ”、“ “成绩统计成绩统计” ”发生交互。发生交互。 活动者活动者“ “财务系统财务系统” ” 与与Use Case“Use Case“产生选课信息产生选课信息” ”发生交发生交互。互。 16.2.4 16.2.4 绘制绘制Use CaseUse Case图图绘制绘制Use CaseUse Case图从顶层抽象开始,如图图从顶层抽象开始,如图16.116.1,然后逐步,然后逐步分解,精细化分解,精细化Use CaseUse Case图,如图图,如图16.216.2、图、图16.316.3所示。直到所示。直到能清晰地表达问题,满足系统分析与建立模型的需要为能清晰地表

17、达问题,满足系统分析与建立模型的需要为止。止。 除了除了Use CaseUse Case图之外,对每一个图之外,对每一个Use CaseUse Case还应进行描述,还应进行描述,编写编写Use CaseUse Case的说明文档。的说明文档。 16.2.4 16.2.4 绘制绘制Use CaseUse Case图图应应当当对对以下的以下的JXGLJXGL的全部的全部Use CaseUse Case编写编写说明:说明: Use Case“Use Case“查询课程信息查询课程信息” ” Use Case“Use Case“选课注册选课注册” ” Use Case“Use Case“管理开设课程

18、管理开设课程” ” Use Case“Use Case“管理学生信息管理学生信息” ” Use Case“Use Case“管理老师信息管理老师信息” ” Use Case“Use Case“管理课程信息管理课程信息” ” Use Case“Use Case“查询学生成绩查询学生成绩” ” Use Case“Use Case“查询课程成绩查询课程成绩” ” Use Case“Use Case“学生成绩管理学生成绩管理” ” Use Case“Use Case“成绩统计成绩统计” ” Use Case“Use Case“身份验证身份验证” ” 16.2.4 16.2.4 绘制绘制Use Case

19、Use Case图图在在Use CaseUse Case图上,图上,不但要把不但要把Use CaseUse Case表示出来,而且表示出来,而且应当把应当把Use CaseUse Case与活动者与活动者之间的联系、之间的联系、Use CaseUse Case之之间的联系也表现出来。间的联系也表现出来。 如图如图16.416.4所示,所示,Use Case“Use Case“查询课程信息查询课程信息” ”和和Use Use Case“Case“选课注册选课注册” ”都与都与Use Use Case“Case“身份验证身份验证” ”有有联系,即它们联系,即它们都包含都包含Use Case“Use

20、 Case“身份验证身份验证” ”进行用户的合法身份检进行用户的合法身份检查。查。 图16.4 联系 16.2.5 16.2.5 绘制主要交互图绘制主要交互图交互图描述交互图描述Use CaseUse Case如何实现对象之间的交互。交互图如何实现对象之间的交互。交互图用于建立系统的动态行为模型。用于建立系统的动态行为模型。 在分析和绘制了在分析和绘制了Use CaseUse Case图之后,对主要的图之后,对主要的Use CaseUse Case做做交互行为的分析是有必要的。交互行为的分析是有必要的。交互行为的分析的结果可以写成文档,绘制初步的交互交互行为的分析的结果可以写成文档,绘制初步的

21、交互图,从而更清楚地理解图,从而更清楚地理解Use CaseUse Case的行为,以便进一步调的行为,以便进一步调整整Use CaseUse Case视图,确定问题的解决方案。视图,确定问题的解决方案。 交互图主要有两种:顺序图和协同图,可根据需要绘制。交互图主要有两种:顺序图和协同图,可根据需要绘制。在项目开发之初,分析问题领域时,绘制交互图只是为在项目开发之初,分析问题领域时,绘制交互图只是为了印证领域分析的结果和了印证领域分析的结果和Use CaseUse Case视图的正确性,在以视图的正确性,在以后对系统动态行为建模的过程中,还需要对交互图做深后对系统动态行为建模的过程中,还需要对

22、交互图做深入的分析、细化和完善。入的分析、细化和完善。 16.2.5 16.2.5 绘制主要交互图绘制主要交互图对每一个活动者与对每一个活动者与Use CaseUse Case的交互行为,应编写详细的文字说明,即的交互行为,应编写详细的文字说明,即交互活动剧本,以作为绘制交互图的依据。交互活动剧本,以作为绘制交互图的依据。例:例:在活动者在活动者“ “学生学生” ”与与Use Case “Use Case “选课注册选课注册” ”的交互中,活动者的交互中,活动者“ “学生学生” ”的行为有三:登录注册,查询课程,选修课程。的行为有三:登录注册,查询课程,选修课程。在在登录注册活动中,活动者登录

23、注册活动中,活动者“ “学生学生” ”提交用户提交用户IDID和口令。和口令。在在查询查询课程活动中,活动者课程活动中,活动者“ “学生学生” ”提交提交查询查询条件。条件。在在选修课程活动中,活动者选修课程活动中,活动者“ “学生学生” ”提交增加或删除所选的课程,并提交增加或删除所选的课程,并确认选课结果。确认选课结果。 Use Case “Use Case “选课注册选课注册” ”响应活动者响应活动者“ “学生学生” ”的请求,验证用户的请求,验证用户IDID和口和口令,查询或修改课程数据库的数据,反馈结果信息。令,查询或修改课程数据库的数据,反馈结果信息。Use Case “Use C

24、ase “选课注册选课注册” ”的行为由的行为由“ “注册表单注册表单” ”接口对象、接口对象、“ “选课注册选课注册表单表单” ”接口对象和接口对象和“ “开设课程开设课程” ”对象实现。对象实现。 16.2.5 16.2.5 绘制主要交互图绘制主要交互图例:例:活动者活动者“ “学生学生” ”与与Use Case“Use Case“选选课注册课注册” ”的的顺序图,如顺序图,如图图16.516.5所示。所示。图16.5 选课注册顺序图 16.3 16.3 静态结构模型静态结构模型16.3.1 16.3.1 建立类图建立类图16.3.2 16.3.2 建立数据库模型建立数据库模型16.3.3

25、 16.3.3 建立包图建立包图16.3.1 16.3.1 建立类图建立类图 1 1定义类定义类首先从研究首先从研究Use CaseUse Case和交互剧本中发现类,确定类的属和交互剧本中发现类,确定类的属性和主要操作。性和主要操作。 对于对于JXGLJXGL系统可以抽象出以下一些主要的类:系统可以抽象出以下一些主要的类:在人事信息处理方面有在人事信息处理方面有“ “学生学生” ”类、类、“ “教师教师” ”类。类。 在选课管理方面有在选课管理方面有“ “课程课程” ”类、类、“ “开设课程开设课程” ”类、类、“ “学学生登记生登记” ”类、类、“ “课程登记课程登记” ”类、类、“ “选

26、课统计选课统计” ”类等。类等。 在成绩管理方面有在成绩管理方面有“ “学生成绩登记学生成绩登记” ”类、类、“ “成绩统计成绩统计” ”类。类。对于每一个类应当确定其职责、属性、主要操作以及其对于每一个类应当确定其职责、属性、主要操作以及其他性质说明。他性质说明。 16.3.1 16.3.1 建立类图建立类图类的属性可以通过检查类的定义、分析问题的需求和运用领域知识类的属性可以通过检查类的定义、分析问题的需求和运用领域知识而确定。而确定。 类的操作可以通过检查分析交互图确定,把交互图中对象之间的交类的操作可以通过检查分析交互图确定,把交互图中对象之间的交互活动抽象成一个类的操作。互活动抽象成

27、一个类的操作。 例:从课程信息管理的顺序图中的活动例:从课程信息管理的顺序图中的活动“ “加入课程(数据结构,基加入课程(数据结构,基础课,础课,3 3)” ”抽象得到抽象得到“ “课程课程” ”类的操作类的操作“ “加入课程()加入课程()” ”,如图,如图16.616.6所示。所示。 图16.6 从顺序图抽象出类的操作 16.3.1 16.3.1 建立类图建立类图 2 2定义用户接口定义用户接口 除了一般类外还需要分析与定义系统的用户接口除了一般类外还需要分析与定义系统的用户接口。JXGLJXGL系统可以有的系统可以有的接口:接口:“ “课程信息管理表单课程信息管理表单” ”、“ “查询课

28、程表单查询课程表单” ”、“ “查询成绩表单查询成绩表单” ”、“ “选课注册表单选课注册表单” ”、“ “开设课程表单开设课程表单” ”、“ “选课统计表单选课统计表单” ”、“ “成绩信成绩信息管理表单息管理表单” ”、“ “成绩统计表单成绩统计表单” ”等。等。 JXGLJXGL系统的用户接口用类定义,如图系统的用户接口用类定义,如图16.716.7所示。所示。 对对每一个每一个用户接口类应详细规定其功能操作。用户接口类应详细规定其功能操作。16.3.1 16.3.1 建立类图建立类图 JXGLJXGL系统的用户接口类,如图系统的用户接口类,如图16.716.7所示。所示。 图16.7

29、用户接口 16.3.1 16.3.1 建立类图建立类图 3 3定义联系定义联系 JXGLJXGL系统的类之间的联系有多种类型,关联、聚合、系统的类之间的联系有多种类型,关联、聚合、泛化、依赖等都有。泛化、依赖等都有。 (1 1)关联)关联 在在“ “开设课程开设课程” ”类与类与“ “师生师生” ”类之间存在类之间存在“ “授课授课” ”关联关联和和“ “登记注册登记注册” ”关联关联 ,在在“ “开设课程开设课程” ”类与类与“ “学生成绩学生成绩登记登记” ”类之间存在关联类之间存在关联。 (2 2)聚合联系)聚合联系 在在“ “开设课程开设课程” ”类与类与“ “课程课程” ”类之间存在

30、聚合联系,在类之间存在聚合联系,在“ “开设课程开设课程” ”类与类与“ “学生登记学生登记” ”类、类、“ “课程登记课程登记” ”类之类之间存在聚合联系。间存在聚合联系。 16.3.1 16.3.1 建立类图建立类图 (3 3)泛化联系)泛化联系 “ “学生学生” ”类、类、“ “教师教师” ”类与类与“ “师生师生” ”类的联系为泛化联系。类的联系为泛化联系。 (4 4)依赖联系)依赖联系 在在“ “成绩统计成绩统计” ”类与类与“ “学生成绩登记学生成绩登记” ”类之间存在依赖联系,类之间存在依赖联系, 在在“ “选课统计选课统计” ”类与类与“ “开设课程开设课程” ”类之间存在依赖

31、联系。类之间存在依赖联系。 JXGLJXGL系统中,系统中,上述关上述关联联、聚合、泛化、依、聚合、泛化、依赖赖等等联联系可参系可参见类图见类图图图16.816.8、图、图16.916.9、图、图16.1016.10等。等。 4 4绘制类图绘制类图 根据已定义的类及其联系,以及类的多重性、角色、导航等性质,根据已定义的类及其联系,以及类的多重性、角色、导航等性质,可以画出类图,如图可以画出类图,如图16.816.8、图、图16.916.9、图、图16.1016.10所示。所示。 在类图的基础上可以根据需要绘制一些对象图。在类图的基础上可以根据需要绘制一些对象图。 使用对象图的目的是分析系统的瞬

32、间状态,以便进一步了解系统的使用对象图的目的是分析系统的瞬间状态,以便进一步了解系统的结构和行为。结构和行为。 16.3.1 16.3.1 建立类图建立类图 JXGLJXGL系统的课系统的课程管理类图程管理类图,如如图图16.816.8所示。所示。图16.8 课程管理类图 16.3.1 16.3.1 建立类图建立类图 JXGLJXGL系统的成系统的成绩管理类图绩管理类图,如如图图16.916.9所示。所示。图16.9 成绩管理类图 16.3.1 16.3.1 建立类图建立类图 JXGLJXGL系统的人系统的人事信息类图事信息类图,如如图图16.1016.10所示。所示。图16.10 人事信息类

33、图 16.3.2 16.3.2 建立数据库模型建立数据库模型在分析和设计系统的静态结构模型时需要进行数据分析在分析和设计系统的静态结构模型时需要进行数据分析和数据库设计。和数据库设计。 JXGLJXGL系统采用关系数据库系统存储和管理数据。系统采用关系数据库系统存储和管理数据。JXGLJXGL系统有系统有4 4个方面的数据需要管理:个方面的数据需要管理: 人员数据(学生、教师)人员数据(学生、教师) 课程数据课程数据 选课注册数据选课注册数据 学生成绩数据。学生成绩数据。经过分析,经过分析,JXGLJXGL系统至少应有系统至少应有6 6个数据库表:个数据库表: 学生表、教师表、课程表、开设课程

34、表、选课表、任课学生表、教师表、课程表、开设课程表、选课表、任课表。表。 16.3.2 16.3.2 建立数据库模型建立数据库模型这些基本表定义为:这些基本表定义为: 学学生生(学学生生号号、姓姓名名、出出生生日日期期、性性别别、籍籍贯贯、地地址址、电电话话、入入学学时间、专业、班级备注)时间、专业、班级备注) 教教师师(教教师师号号、姓姓名名、出出生生日日期期、性性别别、籍籍贯贯、地地址址、电电话话、职职称称、专长、备注)专长、备注) 课程(课程号、课程名、描述、学分、学时、性质、备注)课程(课程号、课程名、描述、学分、学时、性质、备注) 开开设设课课程程(课课程程号号、学学期期、授授课课日

35、日期期、授授课课时时间间、地地点点、选选修修人人数数、备注)备注) 选课(学生号、课程号、学期、成绩、备注)选课(学生号、课程号、学期、成绩、备注) 任课(教师号、课程号、学期、备注)任课(教师号、课程号、学期、备注) 对于这些基本表需要进行关系规范化,设计用户视图、触发器、存对于这些基本表需要进行关系规范化,设计用户视图、触发器、存储过程等。储过程等。 关系关系数据库模式通常用实体数据库模式通常用实体联系模型(联系模型(ERDERD)表示,也可以用类)表示,也可以用类图为数据库模式建立模型。图为数据库模式建立模型。 16.3.3 16.3.3 建立包图建立包图对于一个大型的复杂的系统,常需要

36、把大量的对于一个大型的复杂的系统,常需要把大量的模型元素用包组织起来,以方便理解和处理。模型元素用包组织起来,以方便理解和处理。 JXGLJXGL系统虽然不算大,但也可以把系统的类组系统虽然不算大,但也可以把系统的类组织成包,以便更清楚地了解系统的结构。织成包,以便更清楚地了解系统的结构。 包图表示的是系统的静态结构,但是建立包图包图表示的是系统的静态结构,但是建立包图应当同时考虑系统的动态行为。应当同时考虑系统的动态行为。 JXGLJXGL系统的包图,如图系统的包图,如图16.1116.11所示,一共有所示,一共有5 5个个包:包:“ “教学管理教学管理” ”包、包、“ “用户接口用户接口”

37、 ”包、包、“ “数数据库据库” ”包、包、“ “MFCMFC类类” ”包、包、“ “出错处理出错处理” ”包。包。对每一个包应绘出其详细的内部的组成结构图。对每一个包应绘出其详细的内部的组成结构图。16.3.3 16.3.3 建立包图建立包图在在“ “用户接口用户接口” ”包中包含了全部接包中包含了全部接口类:口类:“ “课程信息管理表单课程信息管理表单” ”、“ “查询课程表单查询课程表单” ”、“ “查询成绩表单查询成绩表单” ”、“ “选课注册表单选课注册表单” ”、“ “开设课开设课程表单程表单” ”、“ “选课统计表单选课统计表单” ”、“ “成绩信息管理表单成绩信息管理表单” ”

38、、“ “成绩统计成绩统计表单表单” ”、“ “注册表单注册表单” ”等。等。“ “教学管理教学管理” ”包中包含了为实现教学包中包含了为实现教学管理业务领域任务的全部类。管理业务领域任务的全部类。 在在“ “数据库数据库” ”包中包含了实现数据包中包含了实现数据库服务功能的全部类。库服务功能的全部类。在在“ “MFCMFC类类” ”包中包含了支持系统包中包含了支持系统的动态连接库的必要的库函数类。的动态连接库的必要的库函数类。在在“ “出错处理出错处理” ”包中包含了出错处包中包含了出错处理功能的全部类。理功能的全部类。 图16.11 JXGL系统的包图 16.3.3 16.3.3 建立包图建

39、立包图“ “教学管理教学管理” ”包内部组成如图包内部组成如图16.1216.12所示。所示。其中包含了为实现教学管理其中包含了为实现教学管理业务领域任务的类:业务领域任务的类:“ “学生学生” ”类、类、“ “教师教师” ”类、类、“ “师生师生” ”类、类、“ “课程课程” ”类、类、“ “开设开设课程课程” ”类、类、“ “学生登记学生登记” ”类、类、“ “课程登记课程登记” ”类、类、“ “选课统选课统计计” ”类、类、“ “学生成绩登记学生成绩登记” ”类、类、“ “成绩统计成绩统计” ”类,以及类,以及“ “身份验证身份验证” ”类等。类等。这些类又分别组成这些类又分别组成3 3

40、个小包:个小包:“ “选课管理选课管理” ”包、包、“ “成绩管成绩管理理” ”包和包和“ “人事信息人事信息” ”包。包。“ “身份验证身份验证” ”类则相对独立。类则相对独立。 图16.12 教学管理包 16.3.3 16.3.3 建立包图建立包图简易教学管理系统简易教学管理系统JXGLJXGL由两个子系统组成:由两个子系统组成: (1 1)课程注册子系统,负责新学期的选课注册管理工作。)课程注册子系统,负责新学期的选课注册管理工作。 (2 2)成绩管理子系统,负责学生成绩管理。)成绩管理子系统,负责学生成绩管理。 JXGLJXGL的系统与子系统包图如图的系统与子系统包图如图16.1316

41、.13所示。所示。 图16.13 JXGL系统与子系统包图 16.4 16.4 动态行为模型动态行为模型16.4.1 16.4.1 建立顺序图建立顺序图16.4.2 16.4.2 建立协同图建立协同图16.4.3 16.4.3 建立状态机图建立状态机图16.4.4 16.4.4 建立活动图建立活动图16.4.1 16.4.1 建立顺序图建立顺序图在建立在建立Use CaseUse Case视图时已经绘制了一些顺序图或协同图,在建立系视图时已经绘制了一些顺序图或协同图,在建立系统的动态行为模型中需要继续这项工作,进一步绘制主要统的动态行为模型中需要继续这项工作,进一步绘制主要Use CaseUs

42、e Case的顺序图或协同图,并逐步精细化。的顺序图或协同图,并逐步精细化。 为了绘制顺序图,首先要对一个为了绘制顺序图,首先要对一个Use CaseUse Case编写交互活动的剧本,然编写交互活动的剧本,然后确定参与交互的活动者和对象,确定交互事件。后确定参与交互的活动者和对象,确定交互事件。 例:例:设置开设课程的顺序图,如图设置开设课程的顺序图,如图16.1416.14所示。所示。 其中的交互事件如下:其中的交互事件如下: 1 1登录登录 2 2验证验证 3 3查询查询 4 4设置课程设置课程 5 5增加课程增加课程 6 6删除课程删除课程 7 7提交提交 8 8存储存储 9 9退出退

43、出16.4.1 16.4.1 建立顺序图建立顺序图设置开设课设置开设课程顺序图,程顺序图,如图如图16.1416.14所所示。示。图16.14 设置开设课程顺序图 成绩登记与成绩登记与统计的顺序统计的顺序图,图略图,图略16.4.2 16.4.2 建立协同图建立协同图协同图用于描述系统的行为是如何由系统的成分实现的。协同图用于描述系统的行为是如何由系统的成分实现的。对于对于JXGLJXGL系统也需要绘制主要的系统也需要绘制主要的Use CaseUse Case的协同图,以的协同图,以深入了解和表示系统的行为和各个对象的作用。深入了解和表示系统的行为和各个对象的作用。 对于一个协同图,首先应确定

44、参与协同的对象角色、关对于一个协同图,首先应确定参与协同的对象角色、关联角色和消息,然后才能绘制协同图。联角色和消息,然后才能绘制协同图。 协同图主要表示对象与对象之间的连接,它们是如何共协同图主要表示对象与对象之间的连接,它们是如何共同完成系统的行为的,但这些行为的发生顺序和时间并同完成系统的行为的,但这些行为的发生顺序和时间并不是协同图表达的主要内容。不是协同图表达的主要内容。 例:例:对于对于Use Case“Use Case“管理课程信息管理课程信息” ”的协同图如图的协同图如图16.1616.16所所示。图中的对象角色有示。图中的对象角色有“ “注册表单注册表单” ”接口对象、接口对

45、象、“ “开设开设课程表单课程表单” ”接口对象、接口对象、“ “课程课程” ”对象和对象和“ “开设课程开设课程” ”对对象。它们协同工作,实现设置新开设课程的服务。象。它们协同工作,实现设置新开设课程的服务。 16.4.2 16.4.2 建立协同图建立协同图管理课程信息协同图,如图管理课程信息协同图,如图16.1516.15所示。所示。图16.15 管理课程信息协同图 16.4.3 16.4.3 建立状态机图建立状态机图状态机图表现一个对象(类)的生命史。对于一些实现状态机图表现一个对象(类)的生命史。对于一些实现重要行为动作的对象应当绘制状态机图。重要行为动作的对象应当绘制状态机图。 绘

46、制状态机图需要确定一个对象的生命期可能出现的全绘制状态机图需要确定一个对象的生命期可能出现的全部状态,哪些事件将引起状态的转移,将会发生哪些动部状态,哪些事件将引起状态的转移,将会发生哪些动作。作。 例如,对于例如,对于JXGLJXGL系统中的一个学生选课注册的系统中的一个学生选课注册的“ “学生登学生登记记” ”对象,可能有的状态如下:对象,可能有的状态如下: 1 1“ “初始化初始化” ”状态状态 2 2“ “增加课程增加课程” ”状态状态 3 3“ “减少课程减少课程” ”状态状态 4 4“ “取消取消” ”状态状态 5 5“ “关闭关闭” ”状态状态 16.4.3 16.4.3 建立状

47、态机图建立状态机图选课学生登记状选课学生登记状态机图如图态机图如图16.1616.16所示。所示。 图16.16 选课学生登记状态机图 16.4.3 16.4.3 建立状态机图建立状态机图选课课程登记状选课课程登记状态机图如图态机图如图16.1716.17所示。所示。 图16.17 选课课程登记状态机图 16.4.4 16.4.4 建立活动图建立活动图活动图的主要作用是表示系统的业务工作流和并发处理活动图的主要作用是表示系统的业务工作流和并发处理过程。对于一个系统可以针对主要的业务工作流绘制活过程。对于一个系统可以针对主要的业务工作流绘制活动图。动图。 绘制活动图需要确定参与活动的对象、动作状

48、态、动作绘制活动图需要确定参与活动的对象、动作状态、动作流,以及对象流。流,以及对象流。 例:对例:对JXGLJXGL系统的设置开设课程的活动可以绘制活动图,系统的设置开设课程的活动可以绘制活动图,如图如图16.1916.19所示。所示。 其其中,参与活动的对象有中,参与活动的对象有“ “注册表单注册表单” ”接口对象、接口对象、“ “开开设课程表单设课程表单” ”接口对象、接口对象、“ “课程课程” ”对象、对象、“ “选课注册表选课注册表单单” ”接口对象、接口对象、“ “开设课程开设课程” ”对象等。对象等。 其其中,动作状态有中,动作状态有“ “登录登录” ”、“ “新开课程新开课程”

49、 ”、“ “取课程取课程信息信息” ”、“ “取选课信息取选课信息” ”、“ “增加增加/ /删除课程删除课程” ”等。等。 16.4.4 16.4.4 建立活动图建立活动图设置开设课程活动图,如图设置开设课程活动图,如图16.1816.18所示。所示。 图16.18 设置开设课程活动图 16.5 16.5 物理模型物理模型16.5.1 16.5.1 建立组件图建立组件图16.5.2 16.5.2 建立配置图建立配置图16.5.1 16.5.1 建立组件图建立组件图系统实现的源代码、二进制码、执行码可以按照模块化系统实现的源代码、二进制码、执行码可以按照模块化的思想,用组件分别组织起来,明确系

50、统各部分的功能的思想,用组件分别组织起来,明确系统各部分的功能职责和软件结构。职责和软件结构。 JXGLJXGL系统的运行软件可以组织成组件图,如图系统的运行软件可以组织成组件图,如图16.2016.20所所示。示。 其中有其中有“ “教学管理教学管理” ”、 “ “课程管理课程管理” ”、 “ “成绩管理成绩管理” ”、 “ “人事信息人事信息” ”、“ “课程课程” ”、“ “开设课程开设课程” ”、“ “选课注册选课注册” ”、“ “教师教师” ”、“ “学生学生” ”等组件。等组件。 在所有这些组件中包含了各自相应的类、接口、联系的在所有这些组件中包含了各自相应的类、接口、联系的实现代

51、码。实现代码。 如果需要,可以绘制系统的源代码、二进制码、执行码如果需要,可以绘制系统的源代码、二进制码、执行码的组件的跟踪关系图。的组件的跟踪关系图。 16.5.1 16.5.1 建立组件图建立组件图JXGLJXGL系统的运行软件组件图,如图系统的运行软件组件图,如图16.1916.19所示。所示。 图16.19 JXGL系统组件图 16.5.2 16.5.2 建立配置图建立配置图JXGLJXGL系统是一个基于局部网络(校园网)和数据库的系统是一个基于局部网络(校园网)和数据库的应用系统,因此有必要进行系统的配置,建立配置图。应用系统,因此有必要进行系统的配置,建立配置图。 JXGLJXGL

52、系统的各个部分可以配置在不同的节点上,通过系统的各个部分可以配置在不同的节点上,通过网络相互通信。网络相互通信。 例例如,在配置图如,在配置图16.2016.20中,把数据库服务器、应用服务器、中,把数据库服务器、应用服务器、课程管理(包含人事信息管理)和成绩管理的相应组件课程管理(包含人事信息管理)和成绩管理的相应组件配置在不同的节点上。配置在不同的节点上。 JXGLJXGL系统是一个客户机系统是一个客户机/ /服务器结构的分布式系统,也服务器结构的分布式系统,也可以绘制如图可以绘制如图16.2116.21的配置图。的配置图。 16.5.2 16.5.2 建立配置图建立配置图图16.20 JXGL系统配置图 图16.21 JXGL系统的客户机/服务器结构配置图

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号