学生选课信息管理系统Word下载.docx
《学生选课信息管理系统Word下载.docx》由会员分享,可在线阅读,更多相关《学生选课信息管理系统Word下载.docx(22页珍藏版)》请在冰豆网上搜索。
(1)基本信息管理功能集合
包括班级信息管理和学生信息管理等功能模块,此集合中功能模块的关系如图3-2所示
图3-2基本信息管理功能图
(2)用户管理及权限控制功能集合
包括用户信息管理、权限控制等模块。
在本系统中,用户管理模块的功能比较简单。
在系统初始化时,有两个默认的用户,系统管理员用户名为admin,普通用户名为user,手动添加到数据库中,其默认密码为123。
admin用户的权限为创建用户、修改用户信息和删除用户,而普通用户只能修改自己的密码或查询信息。
用户管理功能模块的关系如图3-3所示:
图3-3用户管理功能模块的关系图
四、系统开发、运行环境要求
WindowsXP
+
SQLServer2000
:
SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统的最新版本,该版本继承了SQLServer7.0版本的优点同时又比它增加了许多更先进的功能,具有使用方便、可伸缩性好以及与相关软件集成程度高等优点,可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用。
运行SQLServer2000的最低硬件和软件需求:
(1)计算机
Intel兼容计算机,Pentium166MHz以上。
(2)内存RAM
Enterprise:
版本64MB;
Standard:
版本32MB。
(3)硬盘空间
SQLServer2000:
•完全安装(Full)180MB;
•典型安装(Typical)170MB;
•最小安装(minimum65)MB;
•只安装管理工具(Clienttoolsonly)90MB;
•AnalysisServices:
50MB;
•EnglishQuery:
12MB。
五、数据库概念设计(E-R图)
(1)学生实体E-R图
图5-1学生实体E-R图
(2)班级实体E-R图
图5-2班级实体E-R图
(3)课程实体E-R图
图5-3课程实体E-R图
(4)教师实体E-R图
图5-4教师实体E-R图
(5)各实体之间的E-R图
n
m
n
1
图5-5实体E-R图
六、数据库逻辑设计(分几个关系模式)
(1)学生基本表Student,如下表所示:
表6-1学生基本表
字段名称
类型
宽度
允许空值
主键
说明
s_no
char
6
NOTNULL
是
学号
class_no
班级号
s_name
varchar
10
学生姓名
s_sex
2
男或女
性别
s_birthday
datetime
出生日期
(2)班级数据表class,如下表:
表6-2班级数据表
是
class_name
20
班级姓名
class_special
所属专业
class_dept
20
系别
(3)课程数据表,如下表:
表6-3课程数据表
Course_no
5
课程号
Cours_name
课程名
Cours_score
nemeric
6,2
学分
(4)选修课程情况数据表Choice,如下表:
表6-4选修课程情况数据表
Cours_no
score
成绩
(5)教师数据表Teacher,如下表:
表6-5教师数据表
t_no
教师号
t_name
varchar
教师姓名
t_sexl
t_birthday
t_title
10
职称
(6)教师任课情况表Teaching,如下表:
表6-6教师任课情况表
course_no
七、数据库物理设计
物理结构依赖于所选用的数据库管理系统。
八、系统主界面及主要代码
(1)主界面窗口:
主要代码:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Text;
usingSystem.Windows.Forms;
namespaceStudentIMS
{
publicpartialclassMainForm:
Form
{
publicMainForm()
InitializeComponent();
}
privatevoid学生管理ToolStripMenuItem_Click(objectsender,EventArgse)
StudentFormStudentFrm=newStudentForm();
StudentFrm.Show();
privatevoid班级管理ToolStripMenuItem1_Click(objectsender,EventArgse)
ClassFormClassFrm=newClassForm();
ClassFrm.Show();
privatevoid学生查询ToolStripMenuItem_Click(objectsender,EventArgse)
StudentQueryFormStudentQueryFrm=newStudentQueryForm();
StudentQueryFrm.Show();
privatevoid教师管理ToolStripMenuItem1_Click(objectsender,EventArgse)
TeacherFormTeacherFrm=newTeacherForm();
TeacherFrm.Show();
}
privatevoid教师查询ToolStripMenuItem_Click_1(objectsender,EventArgse)
TeacherQueryFormTeacherQueryFrm=newTeacherQueryForm();
TeacherQueryFrm.Show();
privatevoid班级查询ToolStripMenuItem_Click(objectsender,EventArgse)
ClassQueryFormClassQueryFrm=newClassQueryForm();
ClassQueryFrm.Show();
privatevoid课程管理ToolStripMenuItem1_Click(objectsender,EventArgse)
CourseFormCourseFrm=newCourseForm();
CourseFrm.Show();
privatevoid课程查询ToolStripMenuItem_Click(objectsender,EventArgse)
CourseQueryFormCourseQueryFrm=newCourseQueryForm();
CourseQueryFrm.Show();
privatevoid选课管理ToolStripMenuItem1_Click(objectsender,EventArgse)
ChoiceFormChoiceFrm=newChoiceForm();
ChoiceFrm.Show();
privatevoid选课查询ToolStripMenuItem_Click(objectsender,EventArgse)
ChoiceQueryFormChoiceQueryFrm=newChoiceQueryForm();
ChoiceQueryFrm.Show();
privatevoid任课管理ToolStripMenuItem1_Click(objectsender,EventArgse)
TeachingFormTeachingFrm=newTeachingForm();
TeachingFrm.Show();
privatevoid任课查询ToolStripMenuItem_Click(objectsender,EventArgse)
TeachingQueryFormTeachingQueryFrm=newTeachingQueryForm();
TeachingQueryFrm.Show();
}
(2)子窗口:
其功能是对学生的基本信息进行插入、删除、查询等管理。
usingSystem.Data.SqlClient;
//新加引用
publicpartialclassStudentForm:
//下面这条语句根据实际配置修改
SqlConnectionsqlcon=newSqlConnection("
server=localhost;
uid=sa;
pwd=;
database=DB06061001and06061033"
);
publicStudentForm()
//初始化性别下拉列表框代码
S_SexCMB.Items.Add("
男"
女"
//查找已定义好的班级号
stringstrSQL="
selectclass_nofromclass"
;
DataSetds=newDataSet();
SqlDataAdaptermyda=newSqlDataAdapter(strSQL,sqlcon);
sqlcon.Open();
myda.Fill(ds,"
class"
sqlcon.Close();
DataTabledt=ds.Tables["
];
foreach(DataRowdrindt.Rows)
Class_NoCMB.Items.Add(dr["
class_no"
]);
privatevoidBrowseBtn_Click(objectsender,EventArgse)
//stringstrSQL="
select*fromstudent"
selects_no学号,class_no班级号,s_name姓名,s_sex性别,s_birthday出生年月fromstudent"
myda.Fill(ds,"
student"
dataGridView1.DataSource=ds.Tables["
privatevoidInsBtn_Click(objectsender,EventArgse)
if(S_NoTxt.Text.Trim().Length!
=0)
INSERTINTOstudent(s_no,class_no,s_name,s_sex,s_birthday)VALUES("
strSQL=strSQL+"
'
"
+S_NoTxt.Text.Trim()+"
"
+Class_NoCMB.Text.Trim()+"
+S_NameTxt.Text.Trim()+"
+S_SexCMB.Text.Trim()+"
+S_BirthdayTxt.Text.Trim()+"
)"
SqlCommandcmd=newSqlCommand(strSQL,sqlcon);
cmd.ExecuteNonQuery();
privatevoidDelBtn_Click(objectsender,EventArgse)
DELETEFROMstudent"
WHEREs_no='
privatevoidUpdateBtn_Click(objectsender,EventArgse)
UPDATEstudentSET"
class_no="
+"
s_name="
s_sex="
s_birthday="
privatevoidFindBtn_Click(objectsender,EventArgse)
wheres_no='
S_NoTxt.Text=Convert.ToString(dr["
s_no"
Class_NoCMB.Text=Convert.ToString(dr["
S_NameTxt.Text=Convert.ToString(dr["
s_name"
S_SexCMB.Text=Convert.ToString(dr["
s_sex"
S_BirthdayTxt.Text=Convert.ToString(Convert.ToDateTime(dr["
s_birthday"
]).ToShortDateString());
privatevoidClearBtn_Click(objectsender,EventArgse)
S_NoTxt.Text="
Class_NoCMB.Text="
S_NameTxt.Text="
S_SexCMB.Text="
S_BirthdayTxt.Text="
其他子窗口:
九、上机实验的收获、体会
通过这次实验设计的制作,使我对软件开发有了更深一步的了解。
在软件开发中应注意的问题和考虑的问题都能较好的做到。
在这短短时间的自学中要很好的应用这个工具还是有困难的,但也得到了不少自学经验,使我的自学能力有了很大的提高。
在开发过程中也遇到了不少难题,为了解决这些难题我查阅各类相关书籍,同时请教老师和同学,不停地对编译程序进行测试,调试。
最终,得到了一个比较具有实用性和完整性的系统。
但系统还存在问题,虽然系统的基本功能已实现,但该系统还有许多不尽如人意的地方,与实际的管理还有一定的差距。
参考文献
[1]王珊萨师煊.数据库系统概论.北京:
高等教育出版社,2006
[2]郑阿奇.SQLServer实用教程.北京:
电子工业出版社,2009
[3]JosephSack著.SQLServer2008实战.金迎春译.北京:
人民邮电出版社,2010
[4]赵松涛.深入浅出SQLServer