基于UML的成绩管理系统的分析与设计
2011-03-15李岩
李 岩
(天津开发区职业技术学院,天津 300457)
1.UML简介
统一建模语言UML(Unified Modeling Language)是由3位世界著名的面向对象技术专家Gray Booch、Jim Rumbaugh、Ivar Jacobson发起,在Booch表示方法、OOSE方法和OMT方法的基础上,广泛征求意见,集众家之长,反复修改后提出的通用的图形化标准建模语言。UML通过3类图建立系统模型:用例图、静态结构图(对象类图、对象图、组件图、配置图)和动态行为图(时序图、协同图、状态图、活动图),通过这3种图从不同抽象角度使系统可视化。
2.需求分析
2.1 系统总体需求
学生成绩管理系统在结构上采用B/S(Browser/Server)模式,学生的信息由任课教师在规定的权限下在各自的工作站上录入,统一保存在系统服务器上,实现集中管理。此外,学生、任课教师及教务人员等系统用户可在校园网内对成绩进行查询。
2.2 学生基本信息管理
2.2.1 新生信息批量导入
可从EXCEL格式的新生录取名单文件中,一次性地导入所有学生的基本信息。
2.2.2 学生信息的维护
教务人员可以对学生基本信息进行增加、删除、修改、查询等基本操作。学生本人可以对自己的信息进行修改和查询。
2.3 学生成绩维护
2.3.1 学生成绩录入
任课教师在学期期末,以教学班级为单位,录入对应课程对应学生的平时成绩和期末成绩。
2.3.2 自动生成学科总成绩
系统根据教师设定的平时成绩与期末成绩的比例关系,自动计算出学科总成绩。
2.3.3 学生成绩查询
学生可以根据学号和课程名查询自己该门课程或全部以修课程的考试成绩;教师可以查询本学期任教课程的所有学生或某位学生的成绩;教务人员可以查询本校所有学生的全部课程成绩。
2.3.4 学生成绩报表
教务人员及学生本人可以生成学生成绩报表,显示学生各个学期已修课程及成绩。
2.3.5 生成课程成绩单
教师可以生成本学期任教课程对应班级的成绩单,教务人员可以生成并查看全校所有课程的成绩单。
2.3.6 成绩分析报告单
教师可以生成本学期任教课程对应班级的成绩分析报告单,教务人员可以生成全部课程的成绩分析报告单。
3.系统建模
3.1 创建系统用例模型
用例图是描述系统用户与系统功能之间关系的模型图,图中一个用例就是系统中的一个功能模块。建立用例模型的一般方法为,根据用户需求描述确定角色、创建用例、创建角色——用例关系图。
3.1.1 确定角色
角色是与系统有交互作用的人或事务,通常代表着一个系统的使用者,或者需要与系统打交道的人或事物。根据系统功能需求的描述,本系统需要创建学生、任课教师、教务人员3个角色。
3.1.2 创建用例
用例是系统为用户提供的功能模块。根据系统功能需求的描述,可以得到新生信息批量导入、学生信息的维护、成绩录入、自动生成学科总成绩、成绩查询、学生成绩报表、生成课程成绩单、成绩分析报告单8个用例。
3.1.3 创建用例关系图
根据需求描述学生成绩管理系统,用例关系图如图1所示。
图1 学生成绩管理系统用例图
3.2 系统动态模型
在建立好系统用例模型的基础上,需要分析和设计系统的动态结构以及建立相应的动态模型。UML主要借助于交互图(时序图、协作图)和行为图(状态图、活动图)对其进行描述。在这里,重点描述系统中的活动图与时序图的创建过程。
3.2.1 创建活动图
活动图展示了系统中的功能流,可以在业务模型中显示业务工作流,可以在收集需求时显示一个使用案例的事件流,一般用于需求采集阶段,细化用户对功能需求的描述,以明确用户需求的详细内容。
根据用例模型和用户需求创建的学生信息批量导入模块和学生成绩查询部分活动图,如图2所示。此外,教务人员和学生对应学生成绩报表生成的活动图,如图3所示。
图2 学生信息批量导入模块和成绩查询活动图
图3 学生成绩报表活动图
3.2.2 创建时序图
时序图表示对象之间传递信息的时间顺序。时序图可以用来说明一个事务的历史过程,它用来表示用例中行为者的时间顺序。在绘制时需要结合对应活动图及需求描述相关内容。
根据图2和图3创建的学生信息批量导入模块时序图和学生成绩查询时序图如图4和图5所示。
图4 生信息批量模块导入时序图
图5 生成绩查询时序图
3.3 创建系统类图
类图是系统设计核心的部分,用于对系统静态设计视图进行建模。类图不仅对结构模型的可视化、详述和文档化很重要,而且对通过正向与逆向功能构造可执行的系统也很重要。类图中的类是针对时序图和协作图中每种对象创建的。本系统的类图如图6所示。
图6 系统类图
4.系统实现
经过系统分析与设计后,根据设计模型在具体的环境中实现系统,其中包括学生成绩管理业务的算法实现、数据库的实现、界面实现和测试。在数据库实现中,采用标准的SQL语句来实现数据库表的创建,考虑到操作的简单性、代码的利用率、系统的安全性以及数据的访问速度,启用了视图、存储过程、触发器等对象。用户界面是应用程序最重要的部分,对用户而言,界面就是应用程序,用户感觉不到幕后正在执行的代码。不论花多少时间和精力来编制和优化代码,应用程序的可用性仍然在很大程度上依赖于界面的好坏。软件测试是程序的一种执行过程,目的是尽可能发现并改正被测试软件中的错误,提高软件的可靠性。
5.结束语
以UML作为建模工具,将其应用于学生成绩管理系统的开发,降低了系统的复杂性,优化了系统各阶段的建模过程,提高了软件开发的质量和效率。
[1]王少锋.面向对象技术UML教程[M].北京:清华大学出版社,2004:1-17.
[2]Grady Booch等著.李虎等译.UML用户指南[M].北京:北京航空航天大学出版社,2001:20-53.
[3]刘丰,冷英男.基于UML的一个应用软件建模实例[J].计算机与现代化,2004(10):132-134.