学生选课信息管理系统一、系统可行性分析在系统开发过程中进行可行性分析,对于保证资源的合理使用,避免浪费和一些不必要的失败,都是十分重要的。1.目标和方案的可行性:如果采用人工操作的方式,不仅操作不方便,耗费人力,而且还容易出现错误。所以当前迫切需要一个计算机化的管理信息系统。开发这个系统,能更好地满足学校要求,使学校的各种信息管理实现无纸化,高效化。2.技术方面的可行性:本系统是用access结合SqlServer数据库来开发的一个信息管理软件。Access在数据库方面的特长显得尤为突出:适用于多种数据库结构,结合客户端的html能够创建出完美漂亮且高效的软件系统。3.管理方面的可行性:作为学校教务信息管理系统之一的选课系统,对它的管理也是很方便的,只需要先将系统配置运行起来,然后分配好系统的三个主要角色,就可以投入实际的院校中进行使用。根据以上几方面的可行性分析,可以得出结论:开发该学生选课管理系统是可以进行的。二、系统需求分析本程序的设计任务就是制作一个可以用于学生选课管理的系统,主要可以进行对本系统、数据的管理、数据查询、常务操作、常用工具、数据库管理和帮助等功能。具体来说就是可以通过管理功能对本系统用户进行用户添加删除以及密码修改和权限的管理;还可以通过数据管理功能对教师、学生、系部、课程、成绩、教室等信息进行添加、修改和删除等具体的操作;再者,可以通过数据查询功能对教师、学生、系部、课程、成绩、教室等信息的查询;同时本程序还引入常用工具功能,可以在本程序中使用计算器、Word、记事本、Excel、SQLServer和Web等常用工具;最后本程序还加入了数据库的备份、数据库的还原、数据库的压缩、数据的导入和数据的导出等功能方便于数据的整理的存储。教师在本系统的功能:(1)教师信息管理,包括教师个人的基本情况和任课情况;(2)根据学校教务处所排课进行班级数及人数的统计,然后根据统计结果进行项目及班数的设定查询学生选课情况、自己任课情况、获取自己所担任课程分班表;(3)录入及修改成绩学生信息管理,学生在本系统的功能:(1)查询本人信息、(2)教师任课信息、选课、选课信息查询、(3)成绩查询。本程序所能达到的功能是:用户的添加删除,数据的添加修改删除,数据的查询,常用工具的使用,数据库的维护等功能。三、数据库详细设计1、系统逻辑结构、概念结构设计数据库逻辑设计就是将E—R图转换为关系模型的过程,即将所有实体和关系转换成一系列的关系模式。转换过程中常见规则有:(1)对于“学生”、“成绩”和两者之间的关系,就可以根据一对多的联系转换成两个关系模式。学生(学号,姓名,性别,出生年月,政治面貌,系别,四级通过)成绩(学号,课程编号,课程名称,成绩)(2)对于“学生”、“课程”和它们之间的“选修”关系就可以规则多对多的关系转换成三个关系模式。学生(学号,姓名,性别,出生年月,政治面貌,系别,四级通过)课程(课程编号,课程名称,课程分类,学分,教师编号,教室信息,限选人数,已选人数)(3)剩下的关系转换成下面三个关系模式:教师(教师编号,姓名,性别,年龄,学历,职称,毕业院校,健康状况)教室(教室号,管理员姓名,管理员联系方式,可容纳人数,空闲时间)2、主图设计本系统的数据库实体主要有“学生”、“教师”、“教室”、“课程”、“信息”等。其中“教师”与“课程”存在“开设”联系,并且一个教师可以开设N门课程,即“教师”与“课程”之间是一对多的关系。同样“学生”与“成绩”也存在一对多的关系。一个学生可以学习N门课程,一门课程可以有M个学生学习,即“学生”与“课程”之间是多对多的关系。同样“学生”与“成绩”之间也是多对多的关系。整个数据库可以用一个E-R图表示,如图:3、E-R实体图设计根据需求分析的结果,设计出“学生选课信息系统“数据库的E-R图,该E-R图应该共有5个实体:学生信息实体、课程信息实体、成绩信息实体、教室信息实体、教师实体,和1个选课信息E-R图。分别如图所示。11NN1开设N选修成绩上课地点时间NMM管理员考试属于学生课程教师11管理教室学生信息学生学号学生姓名性别政治面貌数系别出生年月数四级通过数选课信息课程编号课程名称教师编号限选人数已选人数教室信息学号课程分类教师信息教师编号教师姓名年龄学历性别健康状况毕业院校职称教室信息可容纳人数空闲时间管理员联系方式教室编号管理员姓名成绩信息学号课程编号成绩课程名称四、数据库物理实现1、建立空数据库经过数据库系统分析和逻辑设计后,数据库的结构已经非常清晰,剩下的就是用一种数据库软件实现这样的结构。本系统中数据库采用MicrosoftAccess2003作为数据库。首先我们在MicrosoftAccess2003的“管理器中”创建一个数据库,我们命名为“USER”.2、建立表本系统共设计了6张表:学生信息表课程信息表教师信息表教室信息表成绩信息表选课信息表学生信息表:字段名称数据类型字段大小主键学号文本8是姓名文本4否性别文本1否出生年月日期/时间否政治面貌文本2否所在系别文本15否四级通过是/否否课程信息表:选课信息表课程编号教师编号学号字段名称数据类型字段大小主键课程编号文本3是课程名称文本10否课程分类文本3否学分文本1否教师编号文本10否教室信息文本3否限选人数文本3否已选人数文本3否教师信息表字段名称数据类型字段大小主键教师编号文本5是姓名文本4否性别文本1否年龄数字整型否学历文本2否职称文本3否毕业院校文本20否健康状况文本10否教室信息表:字段名称字段类型字段大小主键教室号文本3是管理员姓名文本3否管理员联系方式文本11否可容纳人数文本3否空闲时间文本10否成绩信息表:字段名称字段类型字段大小主键学号文本8是课程编号文本3否课程名称文本10否成绩数字单精度型否选课信息表:字段名称字段类型字段大小主键课程编号文本3是教师编号文本5否学号文本8否选中USER数据库,向数据库对象的表中添加以上6个表。可以通过表设计器创建表,使用向导创建表,通过输入数据创建表。本程序中通过表设计器创建的学生表过程如下:1)、进入表的设计视图。(1)、在Access中打开“学生选课信息管理系统”数据库。(2)、在数据库窗口中选定“表”对象,双击“使用设计器创建表”。(3)、输入表的字段名称、数据类型等内容。单击“字段名称”列的第一行,将光标放在该字段中,向此文本框中输入“学号”,然后单击该行的数据类型,在弹出的下拉列表框中选择类型“文本”型,在“常规”选项卡中设置“字段大小”为8.用同样的方法依次输入各自段的名称,并在“数据类型”列表框中选择所需要的数据类型及相应的属性值,并建立“学生信息表”结构。2)、使用“查阅向导”定义政治面貌字段(1)、选定“政治面貌”字段,在“数据类型”下拉列表中单击“查阅向导”,弹出“查阅向导”对话框之一。(2)、选择“自行键入所需的值”单选按钮,单击“下一步”按钮,进入“查阅向导”对话框之二。(3)、输入“党员”“团员”“群众”,输入完成之后单击“下一步”按钮,进入“查阅向导”对话框之三。(4)、定义查阅列标签名为“政治面貌”,单击“完成”按钮结束操作。3)、设置主键定义完全部字段后,单击“学号”字段行的字段选定区,然后单击工具栏中的“主键”按钮,定义“学号”字段为主关键字。4)、保存文件选择“文件”→“保存”命令,然后单击“确定”按钮完成操作。学生信息表保存结果如下:学生信息表建立完毕。接着根据以上类似的方法相继建立学生信息表、课程信息表、教师信息表、选课信息表、成绩信息表、教室信息表。至此表对象已建立完毕。3、建立表之间的关系根据表之间相对应字段的关系,建立表之间的关系。表之间的关系如图所示:建立的过程如下:(1)、打开“学生选课信息管理系统”数据库。(2)、定义学生信息表中的“学号”字段为主键,课程信息表中的“课程编号”字段为主键,教师信息表中的“教师编号”字段为主键,成绩信息表中的“学号”字段为主键,教室信息表中的“教室号”字段为主键。(3)、关闭所有的数据表。(4)、选择“工具”→“关系”命令,弹出“显示表”对话框。(5)、在“显示表”对话框中,分别选定学生信息表、课程信息表、教师信息表、选课信息表、成绩信息表、教室信息表,通过单击“添加”按钮将它们添加到“关系”窗口中。单击关闭按钮,关闭显示表对话框。(6)、在“关系”窗口中拖动“学生信息”表的“学号”字段到“成绩信息”表的“学号”字段,释放鼠标,即可弹出“编辑关系”对话框。(7)、在“编辑关系”对话框中,可根据需要选择“实施参照完整性”、“级联更新相关字段”、“级联删除相关记录”复选框,在此选定三个复选框,然后单击“创建按钮”,创建一对多的关系,即“学生信息”表中一条记录对应“成绩信息”表中的多条记录。(8)、同理,相继建立:学生信息表和选课信息表之间的关系;课程信息表和选课信息表之间的关系;课程信息表和成绩信息表之间的关系;教师信息表和选课信息表之间的关系;教师信息表和课程信息表之间的关系;教室信息表和课程信息表之间的关系。(9)、单击“关闭”按钮,关闭“关系”窗口,系统弹出保存消息框。单击“是”按钮保存此布局,将创建的关系保存在数据库中。保存结果如上图所示。4、建立查询可以在查询向导中、设计视图中,根据已有表建立查询。依次建立单参数查询,多参数查询,考试成绩为前5%的信息查询,课程信息查询,没有开设课程老师查询,男女学生人数查询,统计不同学分的课程数查询,学历为硕士的讲师查询,学历为学士的讲师查询,学生的选课信息交叉表查询,学生选课成绩查询,周四上午空闲的教室查询。共建立13个查询。如图所示:仅以在查询向导中建立“没有开设课程老师”表为例说明建立查询的一般步骤:(1)、在学生选课信息管理数据库窗口中的“对象”列表中选择“查询”选项。(2)、单击工具栏上的“新建”按钮,弹出“新建查询”对话框。(3)、选择“查找不匹配项查询向导”,单击“确定”按钮。(4)、选择“查找不匹配项查询向导”对话框,选择教师表。(5)、单击“下一步”按钮,选择开课教师表。(6)、单击“下一步”按钮,选择“教师编号”字段,然后单击“〈=〉”按钮.(7)、单击“下一步”按钮,选择查询结果中所需的字段,选择“教师编号”、“姓名”、“学历”、“职称”。(8)、单击“下一步”按钮,在打开的对话框中输入查询名称“没有开设课程老师”,选择查看结果按钮,单击完成按钮。可以看到“没有开设课程老师”信息的查询结果:5、建立窗体可以在设计器中、在窗体向导中建立窗体。一共建立10个窗体。分别为:成绩明细,教师信息,教室信息,课程信息,切换面板,学生成绩,系统登录,选课信息子窗体,学生信息,学生选课窗体。其中窗体中主切换面板如图所示:其中仅以学生成绩信息窗体为例说明使用向导创建窗体的一般步骤:(1)、打开“学生选课信息管理”数据库。(2)、建立表间关系。选择“工具”→“关系”命令,弹出“关系”对话框。建立“学生信息”表与“成绩信息”表之间的一对多的关系。(3)、启动窗体向导。在数据库窗口中选定“窗体”对象,然后双击内容窗格中的“使用窗体向导创建窗体”,弹出窗体向导对话框之一。(4)、设置窗体上的数据源。首先,选择学生信息表的相关字段。在“表/查询”下拉列表中选择“表:学生信息”,然后在“可用字段”列表框中选择“学号”,单击“”按钮,选择“姓名”,单击“”按钮,选择“专业”,单击“”按钮。接着,选择成绩信息表的相关字段。在“表/查询”下拉列表中选择“表:成绩信息”,在“可用字段”列表框中选择“课程号”,单击“”按钮。以此类推,将“教师编号”,“成绩”字段添加到“选定的字段”列表框中。单击“下一步”按钮,弹出窗体向导对话框之二。(5)、设置查看数据的方式。默认选择查看数据方式为“通过学生”,默认选中“带有子窗体的窗体”单选按钮,单击“下一步”按钮,弹出窗体向导对话框之三。(6)、选择子窗体使用的布局为“数据表”样式,然后单击“下一步”按钮,弹出窗体向导对话框之四。之四。选择窗体的样式为“蓝图”,单击“下一步”按钮,弹出