综合实验设计论文Word文档格式.docx
- 文档编号:17543749
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:31
- 大小:237.37KB
综合实验设计论文Word文档格式.docx
《综合实验设计论文Word文档格式.docx》由会员分享,可在线阅读,更多相关《综合实验设计论文Word文档格式.docx(31页珍藏版)》请在冰豆网上搜索。
项目组成员
说明
选课信息管理系统
刘漫,喻楚,景小娜
此项目由刘漫负责选课信息管理系统主界面模块,学生信息管理模块和数据库操作模块,喻楚负责课程信息管理模块和成绩信息管理模块,景小娜负责信息查询模块
3.总体设计
3.1需求分析
3.1.1功能需求
选课信息管理系统的功能总结起来,共需要以下几个方面:
1)管理学生信息
管理所有学生的基本信息,包括添加、修改、删除等;
可以根据各自条件查询出需要的信息。
2)管理课程信息
管理所有课程的基本信息,包括添加、修改、删除等;
可以根据各种条件查询出需要的信息。
3)管理选课与成绩
根据学号进行选课,登记所选课程的成绩;
可以根据学号查询出选课信息与成绩。
3.1.2性能需求
安全性:
在高系统配置、高网络带宽和容易得到保证的情况下,我们最需要考虑的性能需求就是系统安全性问题。
在开发系统的每个阶段,均需要考虑彼此间的认证与授权。
尤其要注意认证,简单地说就是确定谁是特定用户,并针对安全源验证该用户的身份。
在处理完识别用户的方法之后,必须利用一种方法以向用户授权,从而能够使用系统的特定功能。
数据精确度:
查询时应保证查全率,所有相应域包含查询关键字的记录都应能查到。
时间特性:
一般操作的响应时间应在1~2秒内。
适应性:
对运行环境要求普遍适应。
3.1.3运行环境需求
用户界面:
利用菜单界面驱动方式,对用户友好。
必须对鼠标和键盘单独支持。
硬件接口:
支持一般奔腾Ⅲ,128兆以上内存的pc机。
软件接口:
运行于Windows9X及更高版本具有WIN32API的操作系统。
3.2系统设计
3.2.1结构设计
根据对系统进行的需求分析,本系统将分为4个模块:
1)学生管理
管理学生基本信息,包括个人信息的添加、修改、删除,以及选课信息的添加。
2)课程管理
管理课程的基本信息,包括课程信息的添加、修改和删除。
3)成绩管理
管理学生选课的成绩信息,包括成绩的登记与修改。
4)信息查询
查询已经登记的信息,包括学生的基本信息、课程的基本信息与成绩信息。
3.2.2功能结构图
3.2.3功能流程及工作流描述
1)增加学生信息
系统操作人员打开学生信息增加界面,输入相关信息(姓名、性别、民族、籍贯、出生日期、入学年份、专业和学院等),在数据库中添加相关数据。
2)修改学生信息
根据学生学号查询出该学生的相关信息,修改相关条目后保存在数据库中。
3)删除学生信息
根据学生学号查询出该学生的相关信息,确定删除后,在数据库中删除该信息。
4)学生选课
选择学生学号与需要选择的课程,确认无误后保存,数据库中将自动添加新的选课记录。
5)增加课程信息
系统操作人员根据打开课程信息增加界面,输入相关信息(课程名称、授课教师、上课时间、上课地点和课程类型等),在数据库中添加相关数据。
6)修改课程信息
根据课程号查询出课程的相关信息,修改相关条目后保存在数据库中。
7)删除课程信息
根据课程号查询出该课程的相关信息,确定删除后,在数据库中删除该信息。
8)登记成绩
根据学号,以及该学生所选择的课程,进行成绩登记,未选课的学生无法进行登记。
9)修改成绩
对已登记的成绩信息进行修改。
10)学生查询
可以根据学生学号、学生姓名、学生性别、学生所学专业、学生所属学院来对学生信息进行查询,所有符合查询条件的学生信息都将会被显示出来。
11)课程查询
可以按照课程名称和授课教师的姓名对课程详细信息进行查询,所有符合查询条件的课程信息都将会被显示出来。
12)成绩查询
根据学生的学号来查询该学生所有课程的成绩。
3.3数据库设计
数据库中应包含3个表,即学生信息表(Student)、课程信息表(Course)和学生选课表(SC),设计要求如下表所示:
1)学生信息表(Student)
名称
字段名称
数据类型
主键
非空
学号
Snum
Char(10)
Yes
学生姓名
Sname
Varchar
(2)
No
性别
Ssex
Char
(2)
民族
Sethnic
籍贯
Shome
入学年份
Syear
Char(4)
专业
Smajor
学院
Scollege
出生日期
Sbirth
Char(8)
2)课程信息表(Course)
课程编码
Cnum
课程名称
Cname
授课教师
Cteacher
上课地点
Cplace
课程类别
Ctype
Char
(1)
3)学生选课表(SC)
成绩
Grade
Number(4,1)
学生信息:
课程信息:
学生选课:
4.详细设计(部分)
4.1课程信息管理模块
课程信息管理模块主要由CourseInfo.java、AddCourseInfo.java、EditCourseInfo.java、DelCourseInfo.java、CourseInfoSearchCnum.java这5个文件组成,其构成关系如图:
课程信息管理模块中的5个类文件组成了主界面中【课程管理】菜单的内容,其中包括增加、修改和删除功能。
1.CourseInfo.java
该类是AddCourseInfo、EditCourseInfo、DelCourseInfo这3个类的超类,由于AddCourseInfo、EditCourseInfo和DelCourseInfo的界面显示有共同之处,所以编写包含共有界面的CourseInfo类,可以快速实现其3个子类的界面显示。
centerPanel.setLayout(girdBag);
jLabel1.setText("
课程编码:
"
);
jLabel1.setFont(newFont("
Dialog"
0,12));
girdBagCon=newGridBagConstraints();
girdBagCon.gridx=0;
girdBagCon.gridy=0;
girdBagCon.insets=newInsets(10,10,10,1);
girdBag.setConstraints(jLabel1,girdBagCon);
centerPanel.add(jLabel1);
girdBagCon.gridx=1;
girdBagCon.insets=newInsets(10,1,10,15);
girdBag.setConstraints(cNum,girdBagCon);
centerPanel.add(cNum);
jLabel2.setText("
课程名称:
jLabel2.setFont(newFont("
girdBagCon.gridx=2;
girdBagCon.insets=newInsets(10,15,10,1);
girdBag.setConstraints(jLabel2,girdBagCon);
centerPanel.add(jLabel2);
girdBagCon.gridx=3;
girdBagCon.insets=newInsets(10,1,10,10);
girdBag.setConstraints(cName,girdBagCon);
centerPanel.add(cName);
jLabel3.setText("
授课老师:
jLabel3.setFont(newFont("
girdBagCon.gridy=1;
girdBag.setConstraints(jLabel3,girdBagCon);
centerPanel.add(jLabel3);
girdBag.setConstraints(cTeacher,girdBagCon);
centerPanel.add(cTeacher);
jLabel4.setText("
课程类别:
jLabel4.setFont(newFont("
girdBag.setConstraints(jLabel4,girdBagCon);
centerPanel.add(jLabel4);
girdBag.setConstraints(cType,girdBagCon);
centerPanel.add(cType);
jLabel5.setText("
上课时间:
jLabel5.setFont(newFont("
girdBagCon.gridy=2;
girdBag.setConstraints(jLabel5,girdBagCon);
centerPanel.add(jLabel5);
girdBag.setConstraints(cTime,girdBagCon);
centerPanel.add(cTime);
jLabel6.setText("
上课地点:
jLabel6.setFont(newFont("
girdBag.setConstraints(jLabel6,girdBagCon);
centerPanel.add(jLabel6);
girdBag.setConstraints(cPlace,girdBagCon);
centerPanel.add(cPlace);
contentPane.add(centerPanel,BorderLayout.CENTER);
}
2.AddCourseInfo.java
该类是添加课程信息的类,它继承自CourseInfo类,主要实现课程信息添加的功能。
publicvoidactionPerformed(ActionEvente){
Objectobj=e.getSource();
if(obj==eixtInfo){//退出
this.dispose();
}
elseif(obj==addInfo){//增加
cNum.setEnabled(false);
cName.setEditable(false);
cTeacher.setEditable(false);
cType.setEditable(false);
cTime.setEditable(false);
cPlace.setEditable(false);
addInfo.setEnabled(false);
clearInfo.setEnabled(false);
eixtInfo.setEnabled(false);
CrsBeanaddCrs=newCrsBean();
addCrs.crsAdd(cName.getText(),cTeacher.getText(),cPlace.getText(),cType.getText(),cTime.getText());
AddCourseInfoaci=newAddCourseInfo();
aci.downInit();
aci.pack();
aci.setVisible(true);
elseif(obj==clearInfo){//清空
setNull();
cNum.setText("
+getCnum.getCrsId());
3.EditCourseInfo.java
该类是修改课程信息的类,它继承自CourseInfo类,主要实现课程信息修改的功能。
当需要对某个课程的信息进行修改时,首先选择课程号,同时程序会将查询的课程信息结果显示在界面上,用户可以做相应的修改。
publicvoidactionPerformed(ActionEvente){
String[]s=newString[5];
elseif(obj==modifyInfo){//修改
CrsBeanmodifyCrs=newCrsBean();
modifyCrs.crsModify(cNum.getText(),cName.getText(),cTeacher.getText(),cPlace.getText(),cType.getText(),cTime.getText());
modifyCrs.crsSearch(cNum.getText());
s=modifyCrs.crsSearch(cNum_str);
cName.setText(s[0]);
cTeacher.setText(s[1]);
cPlace.setText(s[2]);
cType.setText(s[3]);
cTime.setText(s[4]);
请查询课程号"
elseif(obj==searchInfo){//课程号查询
CourseInfoSearchCnumcisc=newCourseInfoSearchCnum(this);
cisc.pack();
cisc.setVisible(true);
cNum_str=cisc.getCnum();
CrsBeansearchCrs=newCrsBean();
s=searchCrs.crsSearch(cNum_str);
if(s==null){
JOptionPane.showMessageDialog(null,"
记录不存在!
cNum.setText("
请查询学号"
cName.setText("
cTeacher.setText("
cPlace.setText("
cType.setText("
cTime.setText("
cName.setEditable(false);
cTeacher.setEditable(false);
cPlace.setEditable(false);
cType.setEditable(false);
cTime.setEditable(false);
modifyInfo.setEnabled(false);
return;
}
else{
cNum.setText(cNum_str);
cName.setText(s[0]);
cTeacher.setText(s[1]);
cPlace.setText(s[2]);
cType.setText(s[3]);
cTime.setText(s[4]);
cName.setEditable(true);
cTeacher.setEditable(true);
cPlace.setEditable(true);
cType.setEditable(true);
cTime.setEditable(true);
modifyInfo.setEnabled(true);
4.DelCourseInfo.java
DelCourseInfo类是删除课程信息的类,它同样继承自CourseInfo类。
当需要删除某个课程的信息时,首先选择课程号,用户可以根据返回的信息确定是否删除该课程信息。
elseif(obj==deleteInfo){//删除
intifdel=JOptionPane.showConfirmDialog(null,"
真的要删除该信息?
"
提示信息"
JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE);
if(ifdel==JOptionPane.YES_OPTION){
CrsBeandelCrs=newCrsBean();
delCrs.crsDel(cNum.getText());
this.dispose();
DelCourseInfodci=newDelCourseInfo();
dci.downInit();
dci.pack();
dci.setVisible(true);
elseif(obj==searchInfo){//学号查询
Cour
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 综合 实验设计 论文