学生选课系统课程设计论文任务书.docx
- 文档编号:5601690
- 上传时间:2022-12-28
- 格式:DOCX
- 页数:24
- 大小:696.48KB
学生选课系统课程设计论文任务书.docx
《学生选课系统课程设计论文任务书.docx》由会员分享,可在线阅读,更多相关《学生选课系统课程设计论文任务书.docx(24页珍藏版)》请在冰豆网上搜索。
学生选课系统课程设计论文任务书
课程设计(论文)任务书
计算机科学与技术
一、课程设计(论文)题目:
学生选课系统
二、课程设计(论文)工作:
三、课程设计(论文)地点:
四、课程设计(论文)内容要求:
1.本课程设计的目的
(1)使学生掌握数据库开发的基本工作流程;
(2)巩固数据库课程所学的内容;
(3)培养学生的计算机思维能力以及合作的精神;
(4)培养学生分析、解决问题的能力;
(5)提高学生的科技论文写作能力。
2.课程设计的任务及要求
1)基本要求:
(1)研究课程设计任务,并进行系统需求分析;
(2)对系统进行总体设计,分解系统功能模块,进行任务分配,以实现分工合作;
(3)实现各功能模块代码;
(4)组装各模块,并测试、完善系统。
2)创新要求:
在基本要求达到后,可进行创新设计,如改进界面、增加功能或进行代码优化。
3)课程设计论文编写要求
(1)要按照书稿的规格打印誊写课程设计论文
(2)论文包括封面、设计任务书(含评语)、摘要、目录、设计内容、设计小结
(3)论文装订按学校的统一要求完成
4)参考文献:
[1]萨师煊王珊等.数据库系统概论[M]高等教育出版社,2006.
[2]VikramVaswani.MYSQL完全手册[M].北京:
电子工业出版社,2007.
[3](美)吉尔摩.PHP与MySQL5程序设计(第二版)[M].北京:
人民邮电出版社,2007.
[4]施威铭研究室著.PHP网页模块开发实例导学[M]中国电力出版社2007.
[5]贝伊利,莫里森(MichaelMorrison)等.HeardFirstPHP&Mysql[MJ].中国电力出版社,2010.
[6]潘凯华、邹天思等.PHP开发实战宝典[M].北京:
电子工业出版社,2000.
[7](美)古曼兹,(美)贝肯著简张桂译.PHP5权威编程[M].人民邮电出版社2007.
5)课程设计进度安排
内容天数 地点
系统总体设计2 实验室
软件设计及调试4 实验室、图书馆
撰写报告2 实验室、图书馆
答辩2 实验室
学生签名:
2014年11月1日
课程设计(论文)评审意见
(1)课程设计过程(20分):
优( )、良( )、中( )、一般( )、差( );
(2)是否完成调试,系统运行效果(30分):
优( )、良( )、中( )、一般( )、差( );
(3)回答问题(20分):
优( )、良( )、中( )、一般( )、差( );
(4)课程设计报告(30分):
优( )、良( )、中( )、一般( )、差( );
(5)格式规范性及考勤是否降等级:
是( )、否( )
评阅人:
职称:
讲师
基于B/S模式的学生选课系统的开发
摘要:
随着高校学生人数的急剧增加,特别是这几年各大高校实行学分制,学生选课的自由度越来越大,辅导员和教务管理人员的工作量越来越大,容易出现人为的错误,给学校的教学工作带来了混乱。
本文用PHP,MYSQL,HTML研究和设计了一个基于B/S模式的选课系统。
本系统有以下基本功能:
学生选课、查询已选课程、教师发布课程、管理课程、选课情况查询,管理员管理人员信息。
关键词:
学生选课系统,PHP,MYSQL,B/S模式
1系统的需求分析与设计
1.1系统需求分析
随着计算机的普及,信息的自动处理以及网络式的信息交互方式已经被人们广泛应用。
让计算机来管理学生的信息是现在各个高校都在积极进行的工作之一,也是高校教学管理工作的重要内容之一。
网上选课与传统的选课方式相比更加节约资源,增加了学生选课自主权。
学生选课系统作为一种现代化的教学技术,越来越受到人们的重视,是一个学校不可或缺的部分,学生选课系统就是为了管理好选课信息而计的。
学生选课系统的将使选课管理工作规范化、系统化、程序化,避免选课管理的随意性,提高信息处理的速度和准确性,能够准确、及时、有效的查询和修改学生选课情况。
与传统的选课方式相比,网上选课系统利用局域网为学生选课带来了极大的便捷。
学生在公共机房,或者宿舍的个人电脑上便可以通过校园网络来选课。
在选课期间内,学生能够使用选课系统灵活的修改自己的选课情况,大大提高了学校选课工作的效率。
教务处的教师则可以通过选课系统的管理员系统来管理学生的选课情况,使得学生选课工作达到系统化和自动化,大大提高了学校的工作效率,为广大师生及相关人员节省了极多的时间。
本文采用PHP,MYSQL,HTML研究和设计了一个基于B/S模式的选课系统,该系统的具体实现过程如下。
系统针对不同的用户角色分权进行管理。
系统对角色提供的主要功能如下:
学生信息管理(学号、姓名、所在院系、专业、性别、班级、密码等);
课程管理(课程代码、课程名称、教师编号、教师姓名、已选人数、总人数、上课时间、地点、学分);
教师管理(工号、姓名、性别、所属学院、个人简介、密码);
学生选课管理(学号、姓名、所在学院、所在专业、班级、所选课程、课程编码)。
教师提供以下功能操作:
发布课程,查询已发布课程,查询选课学生信息。
学生提供以下功能操作:
查看可选课程,选择课程,查询已选课程。
管理员提供以下功能操作:
管理学生信息,管理教师信息。
用户的需求具体体现在对各种信息的提供和查询,数据库是此类系统的核心,系统中所有的信息都存储在数据库中,页面通过连接数据库,从而实现所有需要的功能[1]。
本系统中数据库采用NavicatforMySQL作为数据库操作工具。
数据库是网站的核心。
1.2系统构架设计
本系统采用MVC(ModelViewController模型-视图-控制器)三层架构,表现层通过统一的接口向控制器层发送请求,业务逻辑层(控制器层)将请求按照一定逻辑规则处理后交给模型进行数据库操作,然后将从数据库返回的数据集合封装成对象的形式返回到表现层。
通过这样的数据处理流程,用户表现层甚至可以不知道数据库是结构,只要维护与数据的访问层之间的接口即可。
这种方式在一定程度上增加了数据库的安全性,同时也降低了对用户表现层开发人员的要求,因为表现层不需要进行任何关于数据库的操作,只需在不依赖业务逻辑的情况下专注于视图设计,所有的业务逻辑操作和数据库操作分别交给控制器和模型层去处理,从而提高了系统设计的灵活性。
按照业务需求,将系统整体细分为系统安装模块,登陆模块,教师功能模块,学生功能模块,管理员管理模块6个模块。
系统安装模块:
图1—1系统安装模块
登陆模块:
图1—2登录模块
教师功能模块:
图1—3教师功能模块
学生功能模块:
图1—4教师功能模块
管理员管理模块:
图1—5教师功能模块
2数据库设计
2.1数据库的需求分析
用户的需求具体体现在对各种信息的提供和查询,数据库是此类系统的核心,系统中所有的信息都存储在数据库中,在所有PHP页面中可以通过与数据库连接,操作数据库中的数据,从而实现所有需要的功能。
数据库软件有很多种,本系统中数据库采用MYSQL作为数据库工具。
数据库是作为网站的核心,设计的合理性对网站的建设有着至关重要的影响。
一个良好的数据库开发过程一般是先系统分析,再逻辑设计,然后物理实现。
系统分析过程中分析数据库用户需求,并画出E-R图直观地表示出数据库系统的需求。
逻辑设计中根据系统分析设计一个关系模型。
物理设计为逻辑设计中的数据模型选取一个最合理的应用环境的物理结构,通常选取一个常用数据库软件,用数据库软件创建与数据模型对应的数据库。
针对学生选课系统的需求,总结如以下信息:
用户分学生用户、教师用户和管理员用户。
一个学院包括很多专业;
一个专业包括很多学生;
一个专业包含很多班级;
一个专业包括多门课程;
一门课程对应一位教师,一位教师可以教多门课程;
一个院系对应多个教师;
一个学生可选多门课程,每门课程可以由多名学生供选学。
经过对上述系统功能的分析和需求总结,设计如下数据项:
管理员信息,包括用户名和密码。
教师,包括教师工号、姓名、性别、所属学院、职称、密码。
学生,包括学号、姓名、学院、专业、性别、班级、密码。
课程,包括课程名称、课程代码、教师姓名、教师工号、已选人数、总人数、上课时间、地点、学分。
2.2数据库概念结构设计
由上述数据项,可以设计出能够满足用户需求的各种实体,以及他们之间的关系。
这些实体包含了各种具体的信息,通过相互之间的作用使整个数据库可以用一个E-R图表示[3]。
实体之间关系的E-R图如图3—2所示:
图2—1实体之间关系E-R图
2.3数据库逻辑结构设计
2.3.1逻辑转换
根据2.2节中的E-R图可以将系统中的概念模型转换为具体的表(即关系)结构,共分为5个关系,详细信息如下所示:
学生(学号、姓名、学院、专业、班级、性别、班级、密码)
教师(教师工号、姓名、学院、性别、职称、密码)
管理员(管理员账号、密码)
课程(课程编号、课程名、教师姓名、已选人数、容量、上课时间、上课地点、学分、学时)
选课信息(学号、课程编号)
2.3.2细化表结构
为方便,根据上述文字描述,用英文简写为表和列取名,确定列的数据类型及必要的约束规则,给出如下所示数据库表的基本结构及说明:
1.管理信息表
标识:
info_admin
管理信息表包括用户名、密码2个字段。
字段名称
数据类型
大小
约束
非空
默认值
含义
username
varchar
20
主键
是
用户名
password
varchar
32
是
123456
密码
2.课程信息表
标识:
info_course
课程表包括:
课程编号、课程名、教师名、已选人数、容量、上课时间、上课地点、学分9个字段。
字段名称
数据类型
大小
约束
非空
默认值
含义
no
varchar
4
主键
是
课程编号
name
varchar
40
是
课程名
teacher_name
varchar
10
是
教师名
selected_man
int
3
是
已选人数
capacity
int
3
是
课程容量
time
varchar
50
是
上课时间
place
varchar
50
是
上课地点
credit
float
2
是
学分
xueshi
int
2
是
学时
3.选课信息表
标识:
info_selected
选课信息表包括学生学号、课程表号2个字段。
字段名称
数据类型
大小
约束
非空
默认值
含义
stu_id
varchar
主键
是
学号
course_id
int
主键
是
课程编号
4.学生信息表
标识:
info_student
学生信息表包括学号、姓名、学院、专业、性别、班级、密码7个字段
字段名称
数据类型
大小
约束
非空
默认值
含义
id
varchar
14
主键
是
学号
name
varchar
10
是
姓名
dept
varchar
30
是
学院
major
varchar
30
是
专业
sex
char
2
是
性别
class
varchar
20
是
班级
password
varchar
32
是
123456
密码
5.教师信息表
标识:
info_teacher
教师信息表包括工号、姓名、学院、性别、职称、密码6个字段
字段名称
数据类型
大小
约束
非空
默认值
含义
id
varchar
4
主键
是
工号
name
varchar
10
是
姓名
dept
varchar
30
是
学院
sex
char
2
是
性别
zhicheng
varchar
10
是
职称
password
varchar
32
是
123456
密码
2.4数据库的物理设计
通过综合分析,采用B+树索引作为存取方法,使用磁盘存储数据。
2.5数据库的实施
本阶段主要进行创建表、添加数据和创建必要的视图、触发器和存储过程等内容。
这个过程在系统安装阶段完成。
本系统采用NavicatforMySQL作为数据库管理和开发工具,数据库的操作都在Navicat中完成。
3系统实现
3.1程序安装
安装界面如图3—1所示:
图3—1安装界面
在浏览器中运行安装程序,输入主机名、数据库用户名,用户密码,要创建的数据库名开始系统安装。
在安装过程中系统会创建相应的数据库,数据表和示例数据,等到系统提示安装成功之后点击进入首页转至系统登登录界面,如图3—2所示。
图3—2安装成功界面
部分安装程序代码如下:
DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"
"http:
//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
//www.w3.org/1999/xhtml">
php
$files="myapp/Conf/install_config.php";
if(!
is_writable($files)){
echo"
!
!
";
}
if(isset($_POST['install'])&&!
empty($_POST['host'])){
$host=$_POST['host'];
$user=$_POST['user'];
$password=$_POST['password'];
$dbname=$_POST['dbname'];
$config_str="
php";
$config_str.="\n";
$config_str.="returnarray(";
$config_str.="\n";
$config_str.="'DB_HOST'=>'".$host."',";
$config_str.="\n";
$config_str.="'DB_USER'=>'".$user."',";
$config_str.="\n";
$config_str.="'DB_PWD'=>'".$password."',";
$config_str.="\n";
$config_str.="'DB_NAME'=>'".$dbname."',";
$config_str.="\n";
$config_str.=");";
$config_str.="\n";
$config_str.='?
>';
$ff=fopen($files,"w+");
fwrite($ff,$config_str);
fclose($ff);
$config=include_once($files);
$mydbhost=$config['DB_HOST'];
$mydbuser=$config['DB_USER'];
$mydbpw=$config['DB_PWD'];
$mydbname=$config['DB_NAME'];
if(!
@$link=mysql_connect($mydbhost,$mydbuser,$mydbpw)){
$msg=" center'>数据库连接失败! 请返回上一页检查连接参数 history.go(-1)'> echo$msg; exit(); }else{ mysql_query("SETNAMES'utf8'",$link); if(! mysql_select_db($mydbname,$link)){ if(! mysql_query("CREATEDATABASE`$mydbname`;",$link)){ $msg=" center'>创建数据库失败! 请检查是否有足够的权限! history.go(-1)'> echo$msg; exit(); } mysql_select_db($mydbname,$link); } $sql_query[]="CREATETABLE`info_admin`( `username`varchar(20)NOTNULL, `password`varchar(50)defaultNULL, PRIMARYKEY(`username`) )ENGINE=InnoDBDEFAULTCHARSET=gb2312;"; $sql_query[]="CREATETABLE`info_course`( `id`int(5)NOTNULLauto_increment, `no`varchar(50)NOTNULLCOMMENT'课程编号', `name`varchar(50)NOTNULLCOMMENT'课程名', `teacher_id`varchar(50)NOTNULL, `teacher_name`varchar(50)NOTNULLCOMMENT'教师名', `selectedMan`int(11)default'0'COMMENT'已选人数', `capacity`int(11)defaultNULLCOMMENT'容量', `time`varchar(50)defaultNULLCOMMENT'上课时间', `place`varchar(50)defaultNULLCOMMENT'上课地点', `credit`floatdefaultNULLCOMMENT'学分', PRIMARYKEY(`id`) )ENGINE=InnoDBDEFAULTCHARSET=gb2312AUTO_INCREMENT=1;"; $sql_query[]="CREATETABLE`info_selected`( `stu_id`varchar(50)NOTNULL, `course_id`int(11)NOTNULL, PRIMARYKEY(`stu_id`,`course_id`) )ENGINE=InnoDBDEFAULTCHARSET=gb2312;"; $sql_query[]="CREATETABLE`info_student`( `id`varchar(50)NOTNULLCOMMENT'学号', `name`varchar(20)NOTNULLCOMMENT'姓名', `dept`varchar(40)NOTNULLCOMMENT'系名', `major`varchar(40)NOTNULLCOMMENT'专业', `sex`char(4)NOTNULLCOMMENT'性别', `class`varchar(20)NOTNULLCOMMENT'班级', `password`varchar(50)NOTNULLdefault'e10adc3949ba59abbe56e057f20f883e'COMMENT'密码', PRIMARYKEY(`id`) )ENGINE=InnoDBDEFAULTCHARSET=gb2312;"; $sql_query[]="CREATETABLE`info_teacher`( `id`varchar(50)NOTNULLCOMMENT'工号', `name`varchar(20)NOTNULLCOMMENT'姓名', `dept`varchar(40)defaultNULLCOMMENT'系名', `sex`char(4)defaultNULLCOMMENT'性别', `zhicheng`varchar(30)defaultNULLCOMMENT'职称', `password`varchar(50)NOTNULLdefault'e10adc3949ba59abbe56e057f20f883e'COMMENT'密码', PRIMARYKEY(`id`) )ENGINE=InnoDBDEFAULTCHARSET=gb2312;"; $sql_query[]="INSERTINTO`info_admin`(`username`,`password`)VALUES ('admin','21232f297a57a5a743894a0e4a801fc3');"; $sql_query[]="INSERTINTO`info_student`(`id`,`name`,`dept`,`major`,`sex`,`class`,`password`)VALUES ('2007052476','陈勇文','计算机','电子商务','男','07电商','e10adc3949ba59abbe56e057f20f883e');"; $sql_query[]="INSERTINTO`info_teacher`(`id`,`name`,`dept`,`sex`,`zhicheng`,`password`)VALUES ('2010','高平','计算
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 选课 系统 课程设计 论文 任务书