综合实验设计论文Word文档格式.docx

上传人:b****5 文档编号:17543749 上传时间:2022-12-07 格式:DOCX 页数:31 大小:237.37KB
下载 相关 举报
综合实验设计论文Word文档格式.docx_第1页
第1页 / 共31页
综合实验设计论文Word文档格式.docx_第2页
第2页 / 共31页
综合实验设计论文Word文档格式.docx_第3页
第3页 / 共31页
综合实验设计论文Word文档格式.docx_第4页
第4页 / 共31页
综合实验设计论文Word文档格式.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

综合实验设计论文Word文档格式.docx

《综合实验设计论文Word文档格式.docx》由会员分享,可在线阅读,更多相关《综合实验设计论文Word文档格式.docx(31页珍藏版)》请在冰豆网上搜索。

综合实验设计论文Word文档格式.docx

项目组成员

说明

选课信息管理系统

刘漫,喻楚,景小娜

此项目由刘漫负责选课信息管理系统主界面模块,学生信息管理模块和数据库操作模块,喻楚负责课程信息管理模块和成绩信息管理模块,景小娜负责信息查询模块

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

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

当前位置:首页 > 高等教育 > 其它

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

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