网上选课系统开发课程设计.doc_第1页
网上选课系统开发课程设计.doc_第2页
网上选课系统开发课程设计.doc_第3页
网上选课系统开发课程设计.doc_第4页
网上选课系统开发课程设计.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

攀枝花学院本科课程设计报告(论文) 攀枝花学院课程设计题 目: 网上选课系统开发 学生姓名: 学 号: 所在院(系): 数学与计算机学院 专 业: 班 级: 指 导 教 师: 职称: 二一四年六月二十日攀枝花学院教务处制i攀枝花学院本科学生课程设计任务书题目网上选课系统开发1、课程设计的目的使学生掌握数据库的基本概念,结合实际的操作和设计,巩固课堂教学内容;使学生掌握数据库系统的基本概念、原理和技术,将理论与实际相结合,应用现有的数据建模工具和数据库管理系统软件,规范、科学地完成一个小型数据库的设计与实现;把理论课与实验课所学内容做一综合,并在此基础上强化学生的实践意识、提高其实际动手能力。2、 课程设计的内容和要求(包括原始数据、技术要求、工作要求等)(1) 学生信息管理:学生基本信息的录入、修改和删除。(2) 可选课程信息管理:课程的课程号、课程名、可选专业及开课学期学分等基本信息的录入、修改和删除。(3) 学生选课:学生登录后,根据学生的专业及开课学期生成可选的课程表,让学生完成选课,并自动生成选课信息表。(4)学生选课信息的调整。(5)选课信息表的查询:所选课的课程号、课程名、学号、选课时间、所修学期等基本信息在一定的时间段内可删除。(6)统计信息:各类基本信息的分类统计。3、主要参考文献1 张莉sql server 数据库原理与应用教程(第3版)m北京:清华大学出版社20122 王成良数据库技术及应用m北京:清华大学出版社20113 刘金岭,冯万利数据库系统及应用教程sql server 2008 m北京:清华大学出版社20134 杨学全等.sql server 实例教程(第2版)m北京:电子工业出版社,20085 郑阿奇等. asp.net 程序设计教程m北京:机械工业出版社,20086 邓子云,张赐jsp网络编程从基础到实践m北京:电子工业出版社m20067 宫继兵等.asp.net 2.0 web 数据库开发教程m北京:机械工业出版社,20098 陈磊,刘洋等.java程序设计基础(第3版)m北京:清华大学出版社,20094、课程设计工作进度计划第1天 :选题、完成需求分析第2天 :数据库概念结构设计第3天:数据库逻辑结构设计及物理实现第4天:应用程序开发第5天: 程序调试分析和结果、编写课程设计报告指导教师(签字)日期年 月 日教研室意见: 年 月 日学生(签字): 接受任务时间: 年 月 日注:任务书由指导教师填写。i 课程设计(论文)指导教师成绩评定表题目名称网上选课系统开发评分项目分值得分评价内涵工作表现20%01学习态度6遵守各项纪律,工作刻苦努力,具有良好的科学工作态度。02科学实践、调研7通过实验、试验、查阅文献、深入生产实践等渠道获取与课程设计有关的材料。03课题工作量7按期圆满完成规定的任务,工作量饱满。能力水平35%04综合运用知识的能力10能运用所学知识和技能去发现与解决实际问题,能正确处理实验数据,能对课题进行理论分析,得出有价值的结论。05应用文献的能力5能独立查阅相关文献和从事其他调研;能提出并较好地论述课题的实施方案;有收集、加工各种信息及获取新知识的能力。06设计(实验)能力,方案的设计能力5能正确设计实验方案,独立进行装置安装、调试、操作等实验工作,数据正确、可靠;研究思路清晰、完整。07计算及计算机应用能力5具有较强的数据运算与处理能力;能运用计算机进行资料搜集、加工、处理和辅助设计等。08对计算或实验结果的分析能力(综合分析能力、技术经济分析能力)10具有较强的数据收集、分析、处理、综合的能力。成果质量45%09插图(或图纸)质量、篇幅、设计(论文)规范化程度5符合本专业相关规范或规定要求;规范化符合本文件第五条要求。10设计说明书(论文)质量30综述简练完整,有见解;立论正确,论述充分,结论严谨合理;实验正确,分析处理科学。11创新10对前人工作有改进或突破,或有独特见解。成绩指导教师评语指导教师签名: 年月日i 摘 要随着我国经济的迅速发展,教育机构的管理水平也在不断的提高,在学校内部利用计算机进行管理已成为一种必然。目前计算机的迅猛发展突破了时间、空间的局限性,给学校管理带来了极大的方便。为了适应社会的发展,提高学校的管理效率,学校必须改革以前传统的管理方式,利用计算机管理软件逐步淘汰落后的手工管理方式。此次课程设计就是为一个学校网上选课系统而开发的管理软件,可以利用计算机方便实现学生信息、课程信息、选课等环节的管理。 关键词 网上选课系统,学生信息管理,课程信息管理,选课i 目 录摘 要1 需求分析1 1.1 前言需求概述1 1.2 内容和要求1 1.3 需求环境22 概要设计2 2.1系统主要功能2 2.2 程序er图3 2.3概念设计33 详细设计4 3.1 数据结构的设计44 功能实现5 4.1程序初始化5 4.2主界面实现6 4.3 学生功能实现管理8 4.4 教师功能实现管理11 4.5 管理员功能实现管理14结束语17参考文献18i 1 需求分析1.1需求概述 随着无纸化办公的普遍实现,信息的自动处理以及网络式的信息交互方式已经被人们广泛应用。让计算机来管理学生的信息是现在各个高校都在积极进行的工作之一,也是高校教学管理工作的重要内容之一。网上选课与传统的选课方式相比更加节约资源,增加了学生选课自主权。学生选课系统作为一种现代化的教学技术,越来越受到人们的重视,是一个学校不可或缺的部分学生选课系统就是为了管理好选课信息而设计的。学生选课系统的将使选课管理工作规范化、系统化、程序化,避免选课管理的随意性,提高信息处理的速度和准确性,能够准确、及时、有效的查询和修改学生选课情况。与传统的选课方式相比,网上选课系统利用局域网为学生选课带来了极大的便捷。学生在公共机房,或者宿舍的个人电脑上便可以通过校园网络来选课。在选课期间内,学生能够使用选课系统灵活的修改自己的选课情况,大大提高了学校选课工作的效率。教务处的教师则可以通过选课系统的管理员子系统来管理学生的选课情况,使得学生选课工作达到系统化和自动化,大大提高了学校的工作效率,为广大师生及相关人员节省了极多的时间。数据库对于一个应用系统的意义是相当重要的,一个设计良好的数据库系统一方面,能够给开发者带来便捷,更轻松的进行系统设计与编码;另一方面,对于系统的后期维护也非常重要,一个良好的数据库系统能够保证系统的可扩充性,以及系统的移植性等问题。1.2 内容和要求 本实验将设计出一个高校网上选课数据库系统,其要求简要如下:(1)系统用户由三类组成:教师、学生和管理员。(2)管理员负责的主要功能:用户管理(老师、学生及管理员的增、删、改);课程管理(添加、删除和修改);选课管理(实现选课功能开放和禁止、老师成绩输入开放和禁止)。(3)学生通过登录,可以查询课程的基本信息、实现选课、退课和成绩查询;(4)老师通过登录,可以查看选课学生的基本信息,可以输入成绩。1.3 需求环境本课程设计需要的设备为硬件要求和软件配置要求具体要求如下:硬件要求:一台计算机。软件配置:microsoft sql server 2008/microsoft visual studio 2010。 2 概要设计2.1 系统主要功能选课实验选课系统分为教师,学生及系统管理员三类用户,学生的功能包括选课、退选、查询、选课信息等,教师的功能包括学生成绩录入,查询实验信息等。管理员的功能包括新建教师、学生账户,添加课程信息,其系统功能模块如图2-1:学生退选 查询选课信息查询成绩信息 查询课程信息查询学生选课信息网上选课系统教师录入学生成绩用户管理管理员课程管理 选课管理 图21 系统功能模块2.2 程序e-r图 图22 er图2.3概念设计在我们的数据库系统中共有6个实体:学生、教师、管理员、专业、院系、课程。(1) 学生的属性:学号、姓名、性别、年龄、密码、专业;(2) 教师的属性:工号、姓名、性别、年龄、密码、教授的课程;(3) 管理员的属性:工号、姓名、性别、年龄、密码、权限编制;(4) 课程信息属性:课程名、号码、学分;(5) 控制设置属性:选课控制、成绩录入控制;3 详细设计 31数据结构的设计 图31 学生数据库表 图32 教师数据库表图33 管理员数据库表 图34 课程数据库表 4 功能实现4.1 程序初始化4.1.1代码功能 在初始化程序中,主要实现的是界面登陆功能。4.1.2 功能实现代码/为按下enter键换到下一个目标 private void tbcard_keydown(object sender, keyeventargs e) if (e.keyvalue = 13) tbusername.focus(); private void tbusername_keydown(object sender, keyeventargs e) if (e.keyvalue = 13) tbuserpassword.focus(); private void tbuserpassword_keydown(object sender, keyeventargs e) if (e.keyvalue = 13) confirm.focus(); private void confirm_keydown(object sender, keyeventargs e) if (e.keyvalue = 13) concel.focus(); /在文本框没输入任何东西时不能相应按确认键 private void tbusername_textchanged(object sender, eventargs e) confirm.enabled = !(tbusername.text = null | tbusername.text = ) & !string.isnullorempty(tbuserpassword.text); /为姓名添加属性 public string username get return tbusername.text; public string userpassword get return tbuserpassword.text; public string usercard get return combobox1.text; 4.2 主界面实现4.2.1代码功能 在用户登录界面实现后,进入主界面,从而用户可以选择实现各自规定的功能。4.2.2 功能实现代码 private void tsppassword_click(object sender, eventargs e) updatepassword up = new updatepassword(update adminstor set a_password = ? where a_id = ?); dialogresult dr = up.showdialog(); private void tsprestart_click(object sender, eventargs e) application.restart(); private void tspexit_click(object sender, eventargs e) application.exit(); private void toolstripmenuitem_click(object sender, eventargs e) adminbaseform abf = new adminbaseform(toolstripmenuitem, toolstripbutton2); abf.mdiparent = this; abf.show(); toolstripmenuitem.enabled = false; toolstripbutton2.enabled = false; private void tspmteachermannager_click(object sender, eventargs e) adminteacher adt = new adminteacher(); adt.showdialog(); private void tspmstumanager_click(object sender, eventargs e) adminstudent sbfm = new adminstudent(); sbfm.showdialog(); private void tspmcoursemanager_click(object sender, eventargs e) admincourese adc = new admincourese(); adc.showdialog(); 4.3 学生功能实现管理4.3.1代码功能 学生登录后,根据学生的专业及开课学期生成可选的课程表,让学生完成选课,并自动生成选课信息表。4.3.2 功能实现代码 bindingsource bs = null; public datatable selectcourse get datatable dt = null; if (bs != null) if (bs.datasource is dataview) dt = (bs.datasource as dataview).table; else dt = bs.datasource as datatable; return dt; public void studentcourse_load(object sender, eventargs e) / todo: 这行代码将数据加载到表“dataset2.course”中。您可以根据需要移动或删除它。 / todo: 这行代码将数据加载到表dataset1.course中。您可以根据需要移动或删除它。 this.coursetableadapter.fill(this.dataset1.course); db db = new db(); datatable dtsc = db.getdatatable(select distinct sno, c.cno,c.cname,(select t.t_name from teacher t where tc.t_id = t.t_id) t_name,c.ctime,tc.t_id,case when o is null or tc.t_id not in (select st.t_id from s_t st where st.s_id = sno) then null else 1 end checked from sc right join course c on sc.cno = o and sno = ? left join t_c tc on tc.c_id = o , userinfo.username); datagridview1.autogeneratecolumns = false; bs = new bindingsource(); bs.datasource = dtsc.defaultview; datagridview1.datasource = bs; public void endedit() datagridview1.endedit(); int pos = bs.position; bs.position = -1; bs.position = pos; private void button1_click(object sender, eventargs e) db db = new db(); datatable dtsc = db.getdatatable(select distinct sno, c.cno,c.cname,(select t.t_name from teacher t where tc.t_id = t.t_id) t_name,c.ctime,tc.t_id,case when o is null or tc.t_id not in (select st.t_id from s_t st where st.s_id = sno) then null else 1 end checked from sc right join course c on sc.cno = o and sno = ? left join t_c tc on tc.c_id = o where c.ctime like ? , userinfo.username, textbox1.text); datagridview1.autogeneratecolumns = false; bs = new bindingsource(); bs.datasource = dtsc.defaultview; datagridview1.datasource = bs; private void fillbytoolstripbutton_click(object sender, eventargs e) try this.coursetableadapter.fillby(this.dataset1.course); catch (system.exception ex) system.windows.forms.messagebox.show(ex.message); private void fillbytoolstripbutton_click_1(object sender, eventargs e) try this.coursetableadapter.fillby(this.dataset1.course); catch (system.exception ex) system.windows.forms.messagebox.show(ex.message); private void fillbytoolstripbutton_click_2(object sender, eventargs e) try this.coursetableadapter.fillby(this.dataset1.course); catch (system.exception ex) system.windows.forms.messagebox.show(ex.message); 4.4 教师功能实现管理4.4.1代码功能 教师登录后,根据所教的专业及开课学期生成可选的课程表,并给选课的学生录入成绩。4.4.2 功能实现代码/查询 private void button1_click(object sender, eventargs e) datatable dt = new datatable(); db db = new db(); if (textbox1.text = ) dt = db.getdatatable( select t_id,t_name,t_sex,t_age,t_title,t_dept from teacher); else dt = db.getdatatable( select t_id,t_name,t_sex,t_age,t_title,t_dept from teacher where t_id = ?, textbox1.text); bindingsource bs = new bindingsource(); bs.datasource = dt; datagridview1.datasource = bs; /删除 private void button2_click(object sender, eventargs e) if (datagridview1.datasource is bindingsource) bindingsource bs = datagridview1.datasource as bindingsource; bs.removecurrent(); /回退 private void button4_click(object sender, eventargs e) if (datagridview1.datasource is bindingsource) bindingsource bs = datagridview1.datasource as bindingsource; datatable dt = null; if (bs.datasource is dataview) dt = (bs.datasource as dataview).table; else if (bs.datasource is datatable) dt = bs.datasource as datatable; dt.rejectchanges(); /保存 private void button3_click(object sender, eventargs e) if (datagridview1.datasource is bindingsource) bindingsource bs = datagridview1.datasource as bindingsource; if (bs.datasource is dataview) datatable dt = (bs.datasource as dataview).table; deletefromdb(dt); updated2db(dt); insertintodb(dt); else if (bs.datasource is datatable) datatable dt = bs.datasource as datatable; deletefromdb(dt); updated2db(dt); insertintodb(dt); /学号查询 private void button1_click(object sender, eventargs e) datatable dt = new datatable(); db db = new db(); if (textbox1.text = ) dt = db.getdatatable( select distinct s.sno, sname, o, cname, grade,t.t_name from sc,student s, course c,teacher t,s_t st,t_c tc where sc.sno = s.sno and o = o and s.sno = st.s_id and t.t_id = st.t_id and tc.c_id = o and tc.t_id = st.t_id and st.t_id = ? ,userinfo.username); else dt = db.getdatatable( select distinct s.sno, sname, o, cname, grade,t.t_name from sc,student s, course c,teacher t,s_t st,t_c tc where sc.sno = s.sno and o = o and s.sno = st.s_id and t.t_id = st.t_id and tc.c_id = o and tc.t_id = st.t_id and st.t_id = ? and s.sno = ?, userinfo.username, textbox1.text); bindingsource bs = new bindingsource(); bs.datasource = dt; datagridview1.datasource = bs; /插入之后的保存 private void button3_click(object sender, eventargs e) if (datagridview1.datasource is bindingsource) bindingsource bs = datagridview1.datasource as bindingsource; if (bs.datasource is dataview) datatable dt = (bs.datasource as dataview).table; updated2db(dt); insertintodb(dt); else if (bs.datasource is datatable) datatable dt = bs.datasource as datatable; updated2db(dt); insertintodb(dt); 4.5 管理员功能实现管理4.5.1代码功能 课程的课程号、课程名、可选专业及开课学期学分等基本信息的录入、修改和删除。4.5.2 功能实现代码private void button1_click(object sender, eventargs e) datatable dt = new datatable(); db db = new db(); dt = db.getdatatable(select cno,cname,credit,cdept,ctime from course , null); bindingsource bs = new bindingsource(); bs.datasource = dt; datagridview1.datasource = bs; private void courese_load(object sender, eventargs e) /删除 private void button2_click(object sender, eventargs e) if (datagridview1.datasource is bindingsource) bindingsource bs = datagridview1.datasource as bindingsource; bs.removecurrent(); /保存 private void button3_click(object sender, eventargs e) if (datagridview1.datasource is bindingsource) bindingsource bs

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论