UML课程设计报告Word文件下载.docx

上传人:b****1 文档编号:5329660 上传时间:2023-05-05 格式:DOCX 页数:27 大小:443.94KB
下载 相关 举报
UML课程设计报告Word文件下载.docx_第1页
第1页 / 共27页
UML课程设计报告Word文件下载.docx_第2页
第2页 / 共27页
UML课程设计报告Word文件下载.docx_第3页
第3页 / 共27页
UML课程设计报告Word文件下载.docx_第4页
第4页 / 共27页
UML课程设计报告Word文件下载.docx_第5页
第5页 / 共27页
UML课程设计报告Word文件下载.docx_第6页
第6页 / 共27页
UML课程设计报告Word文件下载.docx_第7页
第7页 / 共27页
UML课程设计报告Word文件下载.docx_第8页
第8页 / 共27页
UML课程设计报告Word文件下载.docx_第9页
第9页 / 共27页
UML课程设计报告Word文件下载.docx_第10页
第10页 / 共27页
UML课程设计报告Word文件下载.docx_第11页
第11页 / 共27页
UML课程设计报告Word文件下载.docx_第12页
第12页 / 共27页
UML课程设计报告Word文件下载.docx_第13页
第13页 / 共27页
UML课程设计报告Word文件下载.docx_第14页
第14页 / 共27页
UML课程设计报告Word文件下载.docx_第15页
第15页 / 共27页
UML课程设计报告Word文件下载.docx_第16页
第16页 / 共27页
UML课程设计报告Word文件下载.docx_第17页
第17页 / 共27页
UML课程设计报告Word文件下载.docx_第18页
第18页 / 共27页
UML课程设计报告Word文件下载.docx_第19页
第19页 / 共27页
UML课程设计报告Word文件下载.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

UML课程设计报告Word文件下载.docx

《UML课程设计报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《UML课程设计报告Word文件下载.docx(27页珍藏版)》请在冰点文库上搜索。

UML课程设计报告Word文件下载.docx

一、设计目的

学生成绩管理系统是一个学校班级不可缺少的重要部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该为用户提供充足的信息和快捷的查询手段。

随着计算机应用的普及与深入,利用计算机能够对所有考试成绩进行统一管理,并进行分析,大大减少教学秘书的工作量,提高工作效率,为教学办公带来了极大的方便。

通过操作手册,使用者可以了解本系统的基本工作原理及使用说明。

操作人员只需输入一些简单的汉字、数字,就可以存储、查找、修改、打印学生成绩信息等。

本系统开发的总体任务是实现学生成绩管理的系统化、规范化、自动化、达到提高学生成绩管理效率的目的。

该设计方法易于推广至其它信息化管理系统的设计,充分利用计算机作为辅助工具,实现学生考试成绩从传统的手工管理到计算机管理,对提高管理效率和节约大量的人力、物力有一定的推动作用。

因此为了充分利用学校现有的计算机硬件资源,做好学生成绩管理工作,提高办事效率,实现全面的、相对集中的办公自动化,开发本系统就成了当务之急,其目的主要为了彻底改变这种繁杂的管理模式,实现全面的、相对集中的、智能化的信息综合管理,为学校的教学管理工作带来方便。

2、系统需求分析

(一)系统需求

成绩管理成为学校教学管理中十分重要又相当复杂的管理工作之一,单纯的采用传统的手工处理已经不符合教育和管理的要求,而计算机具有运算速度快,处理能力强等特点,很自然地进入到这一应用领域中。

因此为了保证学校的信息流畅,工作高效,有必要设计一个学生成绩管理系统。

这不但能使教务人员从复杂的成绩管理中解脱出来,而且对于推动教学的发展也起到非常重要的作用。

(二)系统的功能需求

管理员用户:

(1)对管理员信息的查找、修改;

(2)对班主任信息的查找、修改;

(3)对学生信息的增加、删除、修改、查询;

(4)对学生各课程成绩的增加、删除、修改、查询。

班主任用户:

(1)对自己个人信息的查询、修改;

(2)对班级学生信息的查询;

(3)对班级学生(各课程)成绩的查询。

学生用户:

(1)查看班主任的信息;

(2)对自己个人信息的修改、查询;

(3)对自己各课程成绩的查询。

3、创建系统用例模型

根据系统的需求分析,可得出系统中的参与者为管理员、班主任、学生,然后根据不同的参与者分别画出各自的用例图。

(1)管理员用户可以通过本系统进行如下活动。

对管理员个人信息查询、维护;

对班主任信息查询、维护;

对学生信息的管理。

管理员用例图如图3-1所示。

图3-1管理员用例图

(2)班主任用户可以通过本系统进行如下活动。

对班主任个人信息的查询、维护;

对学生信息查询、维护;

对学生成绩信息管理(包括课程管理)。

班主任用例图如图3-2所示。

图3-2班主任用例图

(3)学生用户可以通过本系统进行如下活动。

对班主任信息的查询;

对学生个人信息的查询、维护;

对学生个人成绩的查询(包括课程成绩的查询)。

学生用例图如图3-3所示。

图3-3学生用例图

四、创建系统静态模型

根据系统需求可以识别系统中存在的对象。

系统对象识别时通过寻找系统域描述和需求描述中的名词来进行。

从前面的需求分析中可以找到的名词有管理员、班主任、学生。

结合类的创建原则,应该为本系统创建5个类,即管理员类(Admin)、班主任类(Teacher)、学生类(Student)、课程类(Grade)、数据库处理类(DatabaseManager)。

(1)管理员类:

这个类的主要属性有mid(管理员编号)、mmid(管理员工号)、mname(管理员姓名)、mpassword(管理员密码)、maddress(管理员住址)、mphone(管理员电话)、mage(管理员年龄)等;

类中的主要操作有modifyAdmin()(修改管理员信息)、searchAdmin(Stringmmid)(查询管理员信息)等。

(2)班主任类:

此类的主要属性有tid(班主任编号)、ttid(教工号)、tname(班主任姓名)、tpassword(班主任密码)、taddress(班主任住址)、tphone(班主任电话)、tage(班主任年龄)、tclass(班级)等;

类中的主要操作有modifyTea()(修改班主任信息)、searchTea(Stringttid)(查询班主任信息)等。

(3)学生类:

这个类的主要属性有sid(学生编号)、ssid(学号)、sname(学生姓名)、sage(学生年龄)、spassword(学生密码)、sphone(学生电话)、saddress(学生住址)、sclass(班级)等;

类中的主要操作有addStu()(增加学生信息)、searchStu(Stringssid)(查询学生信息)等。

(4)课程类:

此类的主要属性有math(数学成绩)、english(英语成绩)、profession(专业成绩)等;

类中的主要操作有addGrades(Stringssid,Stringsname)(添加学生成绩)、searchGrades(Stringssid)(查询学生成绩)、modifyGrades(Stringssid)(修改学生成绩)等。

(5)数据库处理类:

与管理系统数据库操作相关的类。

该类中的主要属性包括conn(数据库连接对象)、rs(数据集对象)等;

类中的主要操作包括executeQuery()(执行数据操作)、executeUpdate()(更新数据库)等。

创建完成后的班级成绩管理系统的类图、对象图如图4-1、4-2所示。

图4-1班级成绩管理系统类图

图4-2班级成绩管理系统对象图

五、创建系统动态模型

(一)创建序列图和协作图

序列图描绘了系统中的一组对象在时间上交互的整体行为。

协作图描绘了系统中的一组对象在集合排列上的交互行为。

在本系统中,通过前面的使用用例,可以获得以下重要的交互行为。

创建完成的管理员信息管理模块的序列图如图5-1所示。

图5-1管理员信息管理序列图

与序列图等价的管理员信息管理协作图如图5-2所示。

图5-2管理员信息管理协作图

创建完成的班主任成绩管理序列图如图5-3所示。

图5-3班主任成绩管理序列图

与序列图等价的班主任成绩管理的协作图如图5-4所示。

图5-4班主任成绩管理协作图

创建完成的学生信息查询序列图如图5-5所示。

图5-5学生信息查询序列图

与序列图等价的学生信息查询的协作图如图5-6所示。

图5-6学生信息查询协作图

(二)创建状态图

(1)管理员在本系统中可能出现的各种状态有登录系统、管理员信息维护、班主任信息维护、学生信息管理,它们之间的转化规则如下。

管理员首先必须登录系统才能进行各种操作;

管理员可以在后台系统中进入到维护管理员、管理班主任、管理学生的操作状态。

根据管理员的各种状态及转换规则,管理员的状态图如图5-7所示。

(2)班主任在系统中可能出现的各种状态有登录系统、班主任信息维护、学生成绩管理,它们之间的转换规则如下。

班主任首先必须登录系统才能进行各种操作;

班主任可以对个人信息维护、对学生成绩进行管理等操作状态。

根据班主任的各种状态及转换规则,班主任状态图如图5-7所示。

图5-7管理员及班主任的状态图

(3)学生在本系统中可能出现的各种状态有登录系统、个人信息维护、个人信息查询,它们之间的转换规则如下。

学生首先必须登录系统才能进行各项操作;

学生可以维护个人信息、查询各课程的成绩等操作状态。

根据学生的各种状态及转换规则,学生的状态图如图5-8所示。

图5-8学生状态图

(三)创建活动图

在班级成绩管理系统中可以创建主要的活动图,包括管理员活动图、班主任活动图、学生活动图。

创建完成的管理员活动图如图5-9所示。

图5-9管理员活动图

创建完成的班主任活动图如图5-10所示。

图5-10班主任活动图

创建完成的学生活动图如图5-11所示。

图5-11学生活动图

六、源程序

//修改管理员信息

publicintmodifyAdmin()throwsException{

pstmt=conn.prepareStatement("

updatemanagersetmpassword=?

mphone=?

mname=?

mage=?

maddress=?

wheremmid=?

"

);

pstmt.setString(6,ad.getMmid());

pstmt.setString(1,ad.getMpassword());

pstmt.setString(2,ad.getMphone());

pstmt.setString(3,ad.getMname());

pstmt.setInt(4,ad.getMage());

pstmt.setString(5,ad.getMaddress());

pstmt.executeUpdate();

//执行对数据库的更新操作

pstmt.close();

return1;

}

//查询管理员

publicvoidsearchAdmin(Stringmmid)throwsException{

select*frommanagerwheremmid=?

pstmt.setString(1,mmid);

rs=pstmt.executeQuery();

//按管理员的工号查询管理员

while(rs.next()){

ad.setMmid(rs.getString("

mmid"

));

ad.setMname(rs.getString("

mname"

ad.setMage(rs.getInt("

mage"

ad.setMpassword(rs.getString("

mpassword"

ad.setMaddress(rs.getString("

maddress"

ad.setMphone(rs.getString("

mphone"

}

//查询班主任

publicvoidsearchTea(Stringttid)throwsException{

select*fromteacherwherettid=?

pstmt.setString(1,ttid);

//执行查询操作

if(rs.next()){

tea.setTtid(rs.getString("

ttid"

tea.setTname(rs.getString("

tname"

tea.setTage(rs.getInt("

tage"

tea.setTpassword(rs.getString("

tpassword"

tea.setTaddress(rs.getString("

taddress"

tea.setTphone(rs.getString("

tphone"

tea.setTclass(rs.getString("

sclass"

//修改班主任

publicintmodifyTea()throwsException{

intt=1;

updateteachersettpassword=?

tphone=?

tname=?

tage=?

taddress=?

sclass=?

wherettid=?

pstmt.setString(1,tea.getTpassword());

pstmt.setString(2,tea.getTphone());

pstmt.setString(3,tea.getTname());

pstmt.setInt(4,tea.getTage());

pstmt.setString(5,tea.getTaddress());

pstmt.setString(6,tea.getTclass());

pstmt.setString(7,tea.getTtid());

t=pstmt.executeUpdate();

//执行更新数据库操作

pstmt.close();

returnt;

//修改学生

publicintmodifyStu()throwsException{

intt=0;

Stringsql="

updatestudentsetspassword=?

sphone=?

sname=?

sage=?

saddress=?

sclass=?

wheressid=?

;

pstmt=conn.prepareStatement(sql);

pstmt.setString(7,stu.getSsid());

pstmt.setString(1,stu.getSpassword());

pstmt.setString(2,stu.getSphone());

pstmt.setString(3,stu.getSname());

pstmt.setInt(4,stu.getSage());

pstmt.setString(5,stu.getSaddress());

pstmt.setString(6,stu.getSclass());

//更新数据库

//增加学生记录

publicintaddStu()throwsException{

insertintostudent(ssid,sname,spassword,sclass,saddress,sage,sphone)values(?

?

)"

pstmt.setString(1,stu.getSsid());

pstmt.setString(2,stu.getSname());

pstmt.setString(3,stu.getSpassword());

pstmt.setString(4,stu.getSclass());

pstmt.setInt(6,stu.getSage());

pstmt.setString(7,stu.getSphone());

//查询学生

publicvoidsearchStu(Stringssid)throwsException{

select*fromstudentwheressid=?

pstmt.setString(1,ssid);

//在学生表中查找

stu.setSsid(rs.getString("

ssid"

stu.setSname(rs.getString("

sname"

stu.setSage(rs.getInt("

sage"

stu.setSpassword(rs.getString("

spassword"

stu.setSaddress(rs.getString("

saddress"

stu.setSphone(rs.getString("

sphone"

stu.setSclass(rs.getString("

//删除学生

publicintdeleStu(Stringssid)throwsException{

deletefromstudentwheressid=?

//添加学生成绩

publicintaddGrades(Stringssid,Stringsname)throwsException{

insertintograde(math,english,profession,sname,ssid)values(?

pstmt.setString(1,String.valueOf(gra.getMath()));

pstmt.setString(2,String.valueOf(gra.getEnglish()));

pstmt.setString(3,String.valueOf(gra.getProfession()));

pstmt.setString(4,sname);

pstmt.setString(5,ssid);

//执行更新数据库

//查询学生成绩

publicResultSetsearchGrades(Stringssid)throwsException{

select*fromgradewheressid=?

returnrs;

//修改学生成绩

publicintmodifyGrades(Stringssid)throwsException{

updategradesetmath=?

english=?

profession=?

wheressid=?

pstmt.setString(4,ssid);

//删除学生成绩

publicintdeleGrades(Stringssid)throwsException{

Stringmath=rs.getString("

math"

Stringenglish=rs.getString("

english"

Stringprofession=rs.getString("

profession"

if(math!

=null&

&

english!

profession!

=null){

pstmt=conn.prepareStatement("

deletefromgradewheressid=?

pstmt.setString(1,ssid);

t=pstmt.executeUpdate();

pstmt.close();

}else{

t=2;

7、运行示例及结果分析

(一)管理员实现部分

管理员用户输入正确的用户名和密码,登录系统后显示管理员主页如图7-1所示。

图7-1管理员主页功能图

管理员进入系统后可以对管理员、班主任及学生的信息进行管理,包括对管理员、班主任信息的查询、修改和对学生信息的增加、修改、删除、查询等。

如下图所示。

图7-2管理员信息查询图

图7-3管理员信息维护图

图7-4班主任信息查询图

图7-5班主任信息维护图

图7-6学生信息维护图

(二)班主任实现部分

班主任用户输入正确的用户名和密码,进入系统后显示班主任主页如图7-7所示。

图7-7班主任主页功能图

班主任进入系统后,可以对班主任、学生信息进行管理,包括对班主任信息的查询、修改及对学生信息成绩的增加、修改、删除、查询等操作。

如图所示。

图7-8查询班主任信息图

图7-9修改班主任信息图

图7-10学生成绩管理图

(三)学生实现部分

学生输入正确的用户名和密码后,登录系统进入主页,如图7-11所示。

图7-11学生主页图

学生进入系统后,可以对班主任信息进行查询、学生个人信息进行维护及成绩查询等操作。

图7-12班主任信息查看图

图7-13学生个人信息查看图

图7-14学生个人信息维护图

图7-15学生成绩查询图

8、实验总结

在这个课程设计以前我对UML没有什么具体的概念,只知道这是一种建模工具。

但是通过本次课程设计我不仅对UML的概念有了一个具体的了解,而且对于其建模过程也有了深刻的认识。

回顾起此次课程设计,至今感慨颇多。

从理论到实践,可以学到很多很多的东西,比如刚开始的时候,对于如何寻找到类图中的类,我十分的迷茫,而且书上的也有些模糊,直到跟同学一起探讨我才豁然开朗。

通过这次课程设计,我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考

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

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2