Web系统开发课程设计报告.docx

上传人:b****5 文档编号:12087232 上传时间:2023-04-17 格式:DOCX 页数:13 大小:22.18KB
下载 相关 举报
Web系统开发课程设计报告.docx_第1页
第1页 / 共13页
Web系统开发课程设计报告.docx_第2页
第2页 / 共13页
Web系统开发课程设计报告.docx_第3页
第3页 / 共13页
Web系统开发课程设计报告.docx_第4页
第4页 / 共13页
Web系统开发课程设计报告.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

Web系统开发课程设计报告.docx

《Web系统开发课程设计报告.docx》由会员分享,可在线阅读,更多相关《Web系统开发课程设计报告.docx(13页珍藏版)》请在冰豆网上搜索。

Web系统开发课程设计报告.docx

Web系统开发课程设计报告

Web系统开发课程设计报告

 Web系统开发课程设计报告 课题:

学生信息管理系统专业:

数字媒体技术班级:

1708班组长:

张(*******)组员:

张(******)樊(20xx)康(******)邓(******)  2020年6月10日  目录一、系统描述21、需要实现的功能32、设计目的3二、分析与设计31、功能模块划分32、数据库结构描述43、系统详细设计文档64、各个模块的实现方法描述95、测试数据及期望结果11三、系统测试16四、心得体会和总结23五、代码24一、系统描述1、需求实现的功能1.1、录入学生基本信息的功能学生基本信息主要包括:

学号、姓名、年龄、出生地、专业、班级总学分,在插入时,如果数据库已经存在该学号,则不能再插入该学号。

1.2、修改学生基本信息的功能在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。

1.3、查询学生基本信息的功能可使用“姓名”对已存有的学生资料进行查询。

1.4、删除学生基本信息的功能在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。

1.5、用户登陆用不同的登录权限可以进入不同的后台界面,从而实现权限操作。

1.6、用户登陆信息设置可以修改用户登陆密码2、设计目的学生信息管理系统是一个教育单位不可缺少的部分。

一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。

所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。

但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:

效率低、保密性差、人工的大量浪费;

另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理无法比拟的优点。

例如:

检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。

本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。

通过一个简化的学生信息管理系统,使学生信息管理工作系统化、规范化、自动化,从而达到提高学生信息管理效率的目的。

二、分析与设计1、功能模块划分学生信息管理系统浏览学生信息查询学生信息添加学生信息修改学生信息删除学生信息普通学生(用户)模块班委(管理员)模块浏览学生信息查询学生信息学生管理登陆管理修改登陆密码显示登陆用户图1功能模块划分图2、数据库结构描述2.1、数据库E-R模型登录用户管理账号密码职位图2登录用户管理E-R图学生总学分出生地年龄专业性别姓名学号班级图3实体学生E-R图2.2、数据库关系模型——二维表表1学生表(student)字段数据类型说明stuIdnvarchar(30)学号stuNamenvarchar(30)姓名stuSexnvarchar(30)性别stuAgeint年龄stuJgnvarchar(30)籍贯stuZynvarchar(30)专业classIdnvarchar(30)班号stuSoursenumeric(5,2)总学分图4录入数据后的学生表表2登陆权限表(login)字段数据类型说明userIdnvarchar(30)用户名(账号),即登陆Idpasswordnvarchar(30)登陆密码positionnvarchar(30)职位,如班委,普通学生图5录入数据后的登陆权限表3、系统详细设计文档3.1、系统执行流程图进度条(闪屏)用户登陆登陆验证falsetrue班委(管理员)界面普通学生界面查询添加修改删除查询显示班委(管理员)普通学生(用户)退出退出系统结束结束退出系统truefalsefalsetrue修改用户登陆密码显示登陆用户信息图6系统执行流程图3.2、类的划分表3学生信息查询类类名类的成员属性与方法说明StuQuery.javaJPaneljp1定义一个面板JLabeljp1_jl1定义两个标签JTextFieldjp1_jtf1定义一个文本输入框JButtonjp1_jb1,jp1_jb2,jp1_jb3定义三个按钮JTablejtb定义一个表JScrollPanejsp定义一个滚动面板,用于存放表TableModeltm自定义一个表模型,用于更新表数据publicStuQuery(FrameMain,Stringtitle,booleanmodel)构造方法,通过传递三个参数,实现对话super(Main,title,model)调用父类的构造方法,实现模式对话publicvoidactionPerformed(ActionEventarg0)事件响应方法表4修改学生信息类类名类的成员属性与方法说明UpdateStu.javaJLabeljl1,jl2,jl3,jl4,jl5,jl6,jl7,jl8定义八个标签,用于设置数据库表的字段名JTextFieldjtf1,jtf2,jtf3,jtf4,jtf5,jtf6,jtf7,jtf8定义八个文本框,用于接收表的各字段值JButtonjb1,jb2,jb3定义三个按钮,用于事件响应publicvoidaddView()这是修改学生界面的函数封装publicAddStu(FrameMain,Stringtitle,booleanmodel)构造方法,通过传递三个参数,实现对话super(Main,title,model)调用父类的构造方法,实现模式对话publicUpdateStu(FrameMain,Stringtitle,TableModeltm,introwNo,booleanmodel)因为要修改信息,那么必须要获得所选中的那一行的所有信息,把它们添加到文本框作为默认值,因此构造方法还应添加一个参数即传递一个模型tm,并传递所选中的行号rowpublicvoid事件响应方法actionPerformed(ActionEvente)表5修改管理人员信息类类名类的成员属性与方法说明UpdateLogin.javaJLabeljl1,jl2,jl3定义三个标签,即用户名,密码,职位JTextFieldjtf1,jtf2,jtf3定义三个文本框,对应三个标签的值JButtonjb1,jb2,jb3定义三个按钮,用于事件响应JTablejtb定义一个表格,用于显示登陆用户信息PurViewModelpvm自定义登陆用户信息的数据更新模型publicvoidupView()这是修改账户信息权限的界面函数的封装publicUpdateLogin(FrameMain,Stringtitle,PurViewModelpvm,introwNo,booleanmodel)因为要修改信息,那么必须要获得所选中的那一行的所有信息,把它们添加到文本框作为默认值,因此构造方法还应添加一个参数即传递一个模型tm,并传递所选中的行号rowsuper(Main,title,model)调用父类的构造方法,实现模式对话publicvoidactionPerformed(ActionEvente)事件响应方法表6表模式-更新数据类名类的成员属性与方法说明TableModel.javaVectorrowData,row,column定义表格所需要的集合(表,行,列)ResultSetrs定义一个记录集,用于接收从数据库返回来的记录集SqlConnconn定义一个用于连接数据库的对象,SqlConn是连接数据库的类publicTableModel(Stringsql)构造方法,并传一个SQL语句,实现查询操作publicStringgetColumnName(intcolumn)这是一个重写的方法,用于设置表的列名publicintgetColumnCount()得到数据模型记录集的列数publicintgetRowCount()得到数据模型记录集的行数publicObjectgetValueAt(intarg0,intarg1)得到数据模型记录集某行某列的值4、各个模块的实现方法描述说明:

此处只包含了个人完成的模块的实现方法描述4.1、学生信息查询学生信息查询窗口,采用了基于管理窗口,即主界面的对话框实现,实现方法如下:

1)定义查询所需要的面板和组件。

2)调用父类的构造方法,实现模式对话。

3)进行学生信息查询。

4.2、修改管理人员信息修改管理人员信息的界面,通过模式对话,即继承JDialog对话框来实现的,实现方法如下:

1)定义修改学生信息的相关组件。

2)加载数据库,获得选中的那一行的所有信息。

3)把组件添加到窗体。

4)调用父类的构造方法,实现模式对话。

5)调用修改用户权限信息的界面的方法。

6)修改管理人员信息。

7)调用数据库连接,并设置操纵更新的sql语句。

4.3、修改学生信息修改学生信息的界面,通过模式对话,即继承JDialog对话框来实现,实现方法如下:

1)定义修改学生信息的相关组件。

2)加载数据库,获得选中的那一行的所有信息。

3)把组件添加到窗体。

4)调用父类的构造方法,实现模式对话。

5)调用修改学生信息的界面的方法。

6)修改学生信息。

7)完成相应功能。

4.4、更新数据这是一个表模型,用于数据更新,实现方法如下:

1)定义表格所需要的集合。

2)定义一个记录集,用于接收从数据库返回来的记录集。

3)定义一个用于连接数据库的对象。

4)设置表格的列名。

5)创建表的记录集。

6)调用数据库连接。

7)设置表的列名,并得到表的列数和行数。

8)得到某行某列的值。

5、测试数据及期望结果5.1、学生信息查询数据测试及期望结果数据测试及期望结果如下图:

图7为学生登录后的最初界面;

图8为学生查看所有信息界面;

图9为全部学生的信息记录(此处同时运用到了TableModel类);

图10则是实现了此处的查询功能,测试数据为:

姓名:

肖立本期望结果将显示以下数据:

学号:

******姓名:

肖立本性别:

男年龄:

23出生地:

安徽专业:

信息管理班级:

*******总学分:

542.5图7学生信息管理系统图8学生信息管理系统-显示记录图9学生信息管理系统-显示所有信息图10学生信息管理系统-学生信息查询5.2、修改管理人员数据测试及期望结果数据测试及期望结果如下图:

图11将显示出所有管理人员信息。

此处测试的数据为:

账号1:

admin密码1:

admin职位1:

班委账号2:

user密码2:

user职位2:

普通学生图12是弹出的修改密码窗口。

此处可将密码admin修改为其它值。

图11显示所有管理人员信息图12修改管理人员信息窗口5.3、修改学生信息数据测试及期望结果数据测试及期望结果如下图:

图13为全部学生的信息记录(此处同时运用到了TableModel类);

图14是弹出的修改学生信息窗口:

测试数据:

姓名:

杨明辉期望结果:

可修改姓名、性别、年龄、出生地、专业、班级和总学分。

图13学生信息管理系统-显示所有信息图14修改学生信息窗口三、系统测试1、系统启动界面图15系统启动界面2、用户登录界面图16用户登录界面3、班委(管理员)界面,即具有完全权限的用户后台界面图17管理员界面4、班委(管理员)界面子菜单项显示图18管理员界面子菜单-系统界面图19管理员界面子菜单-学生管理界面图20管理员界面子菜单-系统设置界面5、学生信息查询界面图21学生信息查询6、学生信息查询结果显示图22学生信息查询显示7、添加学生信息界面在没有输入学号或者姓名,以及某一项时,会弹出一个对话框进行提示,如没有输入学号时:

图23添加学生信息8、修改学生信息界面(学号是主键,灰色显示,即不可更改)图24修改学生信息9、显示所有学生信息图25显示所有信息10、当没有选中一行的时候,不能修改和删除,并弹出提示警告框图26修改和删除警告框图11、删除文件时的确认对话框(点击确认时会删除,点击取消,则返回主界面)图27删除学生确认对话框12、显示所有登陆用户信息图28显示登录用户信息示意图13、修改用户登陆密码,选中某个用户进行修改图29修改用户登录密码界面示意图14、关闭用户记录,即不显示所有用户信息图30关闭用户记录示意图15、关闭学生记录图31关闭学生记录示意图16、退出系统确认对话框只有确认时才会退出系统,否则返加主界面图32退出系统17、普通学生登陆后的界面(即不能对学生信息进行添加,修改和删除以及用户密码修改,对应的这几项灰色显示,不可点击)图33学生登录界面

(1)图34学生登录界面

(2)四、心得体会和总结张星宇:

这次课程设计使我对web系统开发有了进一步认识,同时加深了课堂上所学到的知识。

在课程设计这一段时间,使我收获了很多在课上无法学习到的知识,尤其是需求分析和eclipse熟练的使用。

因为这一部分知识的不熟练,在程序设计过程中遇到了不少困难,通过小组大家一起改写、调试,将这些困难都解决了。

张鑫瑀:

通过这次课程设计发现这其中需要的很多知识我们没有接触过,上网查找资料的时候发现我们以往所学到的仅仅是皮毛,还有很多需要我们掌握的东西我们根本不知道同时也发现有些已经学过的东西我们没有理解到位,不能灵活运用于大脑,不能很好的用来解决问题,这需要自己不断的大量的实践,通过不断的理解,不断地发现问题,思考问题,进而解决问题。

樊杨森:

掌握使用前台程序设计技术VC++和Sql Server 结合设计C/S结构的管理信息系统。

综合练习了Sql Server的使用和数据库得管理技术。

综合熟悉并练习了SQL语言在编程中的使用。

认识系统,取得系统需求分析,更重要的是在编程 方面提高了实现目标代码得能力及调试代码得能力。

康思成:

通过本次课程设计,我觉得不管做什么,始终都要相信自己。

不要畏惧,不要怕遇到困难,什么都要去尝试,有些你开始认为很难的事在你尝试之后你可能会发现原来它并没有你你想象的那么难。

进一步深入理解数据库设计的整个过程,该学生信息管理系统的需求分析、数据库概念结构设计有关内容等。

同时提高了我的编程能力。

邓琦:

在这个过程中我将深刻理解所学知识,同时也可以学到不少很实用的东西。

如果没有自信,没有目标,没有信心就很难把事情做好,当其他人都在迷茫的时候,自己定要坚信目标。

 从学习这个专业,到以后从事这方面的工作都需要不断地去学习去实践,这次实践可以给我们最个警钟, 我们面临毕业,面临择业,需要这些实践经验,在困难面前要勇于尝试,这是这次课程设计给我的最大感想!

五、代码1、功能:

这是学生信息查询窗口,采用基于管理窗口,即主界面的对话框实现packagecom.View;importjava.awt.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.*;importcom.Tools.MyFont;publicclassStuQueryextendsJDialogimplementsActionListener{//定义查询所需要的面板和组件JPaneljp1;JLabeljp1_jl1;JTextFieldjp1_jtf1;JButtonjp1_jb1,jp1_jb2,jp1_jb3;JTablejtb;JScrollPanejsp;TableModeltm;publicStuQuery(FrameMain,Stringtitle,booleanmodel){//调用父类的构造方法,实现模式对话super(Main,title,model);jp1=newJPanel();jp1_jl1=newJLabel(“请输入姓名:

“);jp1_jl1.setFont(MyFont.f1);jp1_jtf1=newJTextField(15);jp1_jb1=newJButton(“查询->“);jp1_jb1.setFont(MyFont.f1);jp1_jb1.addActionListener(this);jp1_jb2=newJButton(“清除“);jp1_jb2.setFont(MyFont.f1);jp1_jb2.addActionListener(this);jp1_jb3=newJButton(“显示所有记录“);jp1_jb3.setFont(MyFont.f1);jp1_jb3.addActionListener(this);jp1.add(jp1_jl1);jp1.add(jp1_jtf1);jp1.add(jp1_jb1);jp1.add(jp1_jb2);jp1.add(jp1_jb3);jtb=newJTable();jsp=newJScrollPane(jtb);this.add(jp1,“North“);this.add(jsp,“Center“);this.setSize(600,400);this.setVisible(true);}@OverridepublicvoidactionPerformed(ActionEventarg0){//TODOAuto-generatedmethodstub//如果点击了查询按钮if(arg0.getSource()==jp1_jb1){//获取文本框的值StringstuName=jp1_jtf1.getText().trim();//其中trim()是去掉文本框前面可能有的空格,但不能去掉字符串中的空格Stringsql=“select*fromstudentwherestuName='“+stuName+“'“;//调用模型tm=newTableModel(sql);jtb.setModel(tm);}elseif(arg0.getSource()==jp1_jb2){jp1_jtf1.setText(““);}elseif(arg0.getSource()==jp1_jb3){tm=newTableModel(null);jtb.setModel(tm);}}}2、功能:

这是一个表模型,用于更新数据packagecom.View;importcom.SqlConnection.*;//引入数据库连接的包importjava.sql.*;importjava.util.*;importjavax.swing.table.AbstractTableModel;importcom.SqlConnection.SqlConn;publicclassTableModelextendsAbstractTableModel{//定义表格所需要的集合VectorrowData,row,column;//定义一个记录集,用于接收从数据库返回来的记录集ResultSetrs;//定义一个用于连接数据库的对象SqlConnconn;publicTableModel(Stringsql){if(sql==null){sql=“select*fromstudent“;}//设置表格的列名column=newVector();column.add(“学号“);column.add(“姓名“);column.add(“性别“);column.add(“年龄“);column.add(“出生地“);column.add(“专业“);column.add(“班级“);column.add(“总学分“);//创建表的记录集rowData=newVector();//调用数据库连接conn=newSqlConn();rs=conn.sqlQuery(sql);try{while(rs.next()){row=newVector();row.add(rs.getString

(1));row.add(rs.getString

(2));row.add(rs.getString(3));row.add(rs.getString(4));row.add(rs.getString(5));row.add(rs.getString(6));row.add(rs.getString(7));row.add(rs.getString(8));rowData.add(row);}}catch(Exceptione){e.printStackTrace();//TODO:

handleexception}}@Override//设置表的列名publicStringgetColumnName(intcolumn){//TODOAuto-generatedmethodstubreturn(String)this.column.get(column);}@Override//得到的列数publicintgetColumnCount(){//TODOAuto-generatedmethodstubreturnthis.column.size();}//得到的行数@OverridepublicintgetRowCount(){//TODOAuto-generatedmethodstubreturnthis.rowData.size();}@Override//得到某行某列的值publicObjectgetValueAt(intarg0,intarg1){//TODOAuto-generatedmethodstubreturn((Vector)this.rowData.get(arg0)).get(arg1);}}3、功能:

这是修改管理人员信息的界面,通过模式对话(即继承JDialog对话框)来实现packagecom.View;importjava.awt.*;importjava.awt.event.ActionEven

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

当前位置:首页 > 工作范文 > 制度规范

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1