信息资源管理课程论文- 网上选课系统的设计与实现.doc_第1页
信息资源管理课程论文- 网上选课系统的设计与实现.doc_第2页
信息资源管理课程论文- 网上选课系统的设计与实现.doc_第3页
信息资源管理课程论文- 网上选课系统的设计与实现.doc_第4页
信息资源管理课程论文- 网上选课系统的设计与实现.doc_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

湖南商学院北津学院课 程 论 文课程名称信息资源管理题 目网上选课系统的设计与实现系 部信息学院专 业信息管理与信息系统班 级信管1021班学 号学生姓名任课教师职 称讲 师 2011 年 12 月 20 日湖南商学院北津学院系统设计与实现论文网上选课系统的设计与实现内容摘要 随着计算机网络的普及,各高等学校纷纷建立基于b/s(浏览器/服务器)结构的网上选课系统。与传统的选课方式相比,网上选课系统为学生选课带来了极大的便利。学生无论是在学校机房,还是在宿舍都能通过网络连接进行选课。学生能够灵活的管理自己的选课情况,而不受时间地点的限制。任课教师也可通过网络方便的查询到学生选课的情况。教务管理人员则可通过选课系统的教务管理子系统集中管理学生的选课情况,使得学生选课工作达到系统化和自动化,大大提高了学校的工作效率。本系统是采用c#编程语言和 sql server2005数据库实现的基于b/s结构的网上选课系统。本系统从功能上总体分为学生选课子系统、教师查询子系统和教务管理子系统三个部分。关键词 网上选课系统;c#;sql server2005数据库1概述1.1开发背景mis系统的飞速发展,技术的成熟以及应用领域的不断扩大,为网上信息的交互提供了一个良好的平台和方便的操作界面。由于mis系统基于用户需求的设计方法,使得该系统的使用更加的人性化、个人化、更贴近用户。网上选课系统是针对在校学生和教师使用,从学生的角度来说,由于学校教学制度的改革,现在大部分高等院校开始实行的是学生的自主选课模式,传统的教学模式学生按照学校安排好的课程上课已经不能适应新型的教学手段,如果仍然通过纸上的方式选课,一方面浪费的大量的人力、物力资源,另一方面浪费时间以及在人为的统计过程中不可避免出现的差错等情况。随着高校人数的增多,这种弊端会越来越多的暴露出来。因此,利用网络,使学生只要在计算机前输入自己的个人选课信息即可完成原来几倍的作业量。从教师的角度来说,同样是节省了大量的工作量,由于教师提出代课申请完成课程发布的工作较学生选课而言更加的复杂,因此通过网上进行课程发布能大幅度的减少教师的工作量,减少错误的发生机率。作为教师,也只要通过自己的电脑来操作即可,不用再奔波于教务处和办公室之间。以mis系统的构建思想来实现网上选课系统可以最大程度的做到实用性,可扩展性和可维护性相结合,安全性以及规范化原则。1.2 可行性分析(1)技术可行性:本系统仅需要一台装有office软件的计算机即可,对机器本身没有太高的要求,一般当前学校或个人电脑完全可满足要求。对于软件技术要求,现在的程序设计语言已非常成熟,要运用html样式,图形图象制作工具来制作生动活泼的网页及美观的图形文件或动画文件,数据库使用sqlserver 2000中提供的数据库桌面工具odbc。(2)管理可行性:界面设计时充分考虑管理人员的习惯,使得操作简单;数据录入迅速、规范、可靠;统计准确;制表灵活;适应力强;容易扩充。(3)市场可行性:由于本系统是为学生选课管理使用的系统,装上该应用软件,即可使用系统,系统成本主要集中在系统软件的开发上,当系统投入运行后可以为学校节约大量的人力,物力。所带来的效益远远大于系统软件的开发成本。在经济上完全可行。 2系统分析报告2.1软件开发工具和开发环境1该系统的开发工具(1) visual studio .net 2005(c#) visual studio 是一套完整的开发工具集,用于生成 asp.net web 应用程序、xml web services、桌面应用程序和移动应用程序。visual basic、visual c+、visual c# 和 visual j# 全都使用相同的集成开发环境 (ide),利用此 ide 可以共享工具且有助于创建混合语言解决方案。另外,这些语言利用了 .net framework 的功能,通过此框架可使用简化 asp web 应用程序和 xml web services 开发的关键技术。c#是一种重要的新语言,微软将其设计和定位成.net战略的一部分,c#内建了很多有用的库,并由高级集成开发环境提供支持.它有效地支持目前占主导地位的编程方法面向对象编程(oop)。(2) microsoft sql server 2005sql server是微软公司开发的一个关系数据库管理系统,以transact_sql作为它的数据库查询和编程语言。(3) dreamweaver mx 2004dreamweaver mx 2004是macromedia公司开发的集网页制作与网站管理于一身的网页编辑软件。它以强大的功能和友好的操作界面倍受广大网页制作者的欢迎,已经成为业内网页制作的首选专业设计软件。2该系统的开发工具环境本系统的开发环境:windows 2000/windows xp professional 2.2需求分析2.2.1需求分析的任务需求分析是软件定义时期的最后一个阶段,也是设计数据库的一个起点,它确定了系统必须完成哪些工作,提出完整、准确、清晰和具体的要求,直接影响到后面各个阶段的设计,及设计结果是否合理和实用。需求分析的任务是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统/计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计系统。2.2.2系统功能需求图 1 系统管理员子系统数据流图通过对网上选课系统的调查和研究,结合学生选课的实际需求,该选课系统主要完成学生选课的任务,网上选课系统的数据流图,如下所示:图 2 学生子系统数据流图图 3 教师子系统数据流图2.2.3数据字典数据字典是关于数据信息的集合,也就是对数据流图中包含的所有元素的定义的集合。任何字典最主要的用途都是供人查阅对不了解的条目的解释,数据字典的作用也正是在软件分析和设计的过程中给人提供关于数据的描述信息。数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用。只有数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明。数据字典:基于系统的数据流图,可以得到这样的数据字典卡片,如下所示:名字:学生名称别名:描述:标识学生信息中某个学生的域定义:学生名称=50字符50位置:选课报表 学生信息表名字:选课报表别名:选课表描述:提供给教务处,了解选课情况信息的表 定义:选课报表=学生名称+学生学号+学生性别+所属专业+课程名称 位置:输出到浏览器名字:学生性别别名:描述:标识学生性别的关键域定义:学生性别=0bit1 位置:学生信息表名字:学生学号别名:描述:标识学生表中一个特定学生的关键域定义:学生学号=50字符50位置:学生信息表名字:课程名称别名:描述:学生所选课程的描述定义:课程名称=50字符50 位置:课程信息表名字:专业名称别名:描述:学生所属专业的描述定义:专业名称=50字符50 位置:专业信息表2.2.4数据模型数据模型中包含3种相互关联的信息:数据对象、数据对象的属性及数据对象彼此间相互连接的关系。1.e-r模型:e-r模型中包含“实体”、“联系”和“属性”等三个基本成分。(1)实体:实体是客观世界存在的且可相互区分的事物。它可以是人也可以是动物;可以是具体事物也可以是抽象概念。(2)联系:联系是指客观世界中各事物彼此间的联系。联系分为三类:一对一的关系,一对多的关系,多对多的关系。(3)属性:属性是实体或联系所具有的性质,通常一个实体用若干属性来刻画。人们通常就是用实体、联系和属性这三个概念来理解现实问题,因此,er模型比较接近人的思维方式。此外,er模型使用简单的图形符号表示系统分析员对问题的理解,不熟悉计算机的人也能理解它,因此,er模型可以作为用户与系统分析员之间的交流工具。2. 系统e-r图:(1)实体关系e-r图,如图 4 实体关系e-r图所示:图 4 实体关系e-r图(2)实体属性图图 5 课程信息实体属性e-r图a.课程信息实体属性e-r分图,如下图 5 课程信息实体属性e-r图所示:图 6 院系信息实体属性e-r图b. 院系信息实体属性e-r分图,如下图 6 院系信息实体属性e-r图所示:图 7 专业信息实体属性e-r图c. 专业信息实体属性e-r分图,如下图 7 专业信息实体属性e-r图所示:d. 学生选课信息实体属性e-r分图,如下图 8 学生选课信息实体属性e-r图所示:图 8 学生选课信息实体属性e-r图e. 学生信息实体属性e-r分图,如下图 9 学生信息实体属性e-r图所示:图 9 学生信息实体属性e-r图 图 10 教师信息实体属性e-r图f. 教师信息实体属性e-r分图,如下图 10 教师信息实体属性e-r图 所示:图 11 用户信息实体属性e-r图g. 用户信息实体属性e-r分图,如下图 11 用户信息实体属性e-r图所示:3系统总体设计方案3.1总体结构设计根据学校的实际需要,本系统分为三个模块:学生用户模块、教师用户模块和系统管理员模块。系统的功能模块如下图所示:图 12 系统的功能模块图(一) 学生操作1.身份验证:输入学生姓名及密码,然后点击“登录”进入“选课系统”的菜单页,开始选课。2.选课操作以及选课结果查询操作:学生可以选课,修改已选的课程,并且查看自己选课结果。(二) 教务管理员操作1.身份验证:输入用户名和密码,然后点击“登录”,进入选课系统后台的管理信息系统。2.基本信息录入及修改。包括课程信息,老师信息以及学生信息等。(三) 老师操作身份验证:输入用户名和密码,然后点击“登录”,进入自己任课菜单页,老师可以查看自己所教课程、每门课的选课学生名单。本系统后台主要实现教师信息管理、学生信息管理、课程信息管理、专业信息管理和院系信息管理,其中教师信息管理有教师姓名、教师工号、教师所属院系;学生信息管理有学生姓名、学生学号、学生性别、学生所属院系和学生所属专业;课程信息管理有课程名称、教师名称、课程描述、所属专业、学分、课时;专业信息管理有专业名称、院系名称;院系信息管理有院系id和院系名称。3.2数据库设计3.2.1数据表设计(1)表1 课程信息 (courseinfo)字段名称字段类型字段长度是否为空字段释意备注courseidint4not null课程编号主键coursenamenvarchar50not null课程名称teacheridnvarchar50not null教师编号coursedesnvarchar200not null课程描述isdeletedbit1状态majoridint4not null专业编号索引(2)表2 院系信息 (deptinfo)字段名称字段类型字段长度是否为空字段释意备注deptidint4not null院系编号主键deptnamenvarchar50not null院系名称isdeletedbit1状态(3)表3 专业信息 (majorinfo)字段名称字段类型字段长度是否为空字段释意备注majoridint4not null专业编号主键majornamenvarchar50not null专业名称deptidint4not null院系编号索引isdeletedbit1状态(4)表4 学生选课信息 (stucourseinfo)字段名称字段类型字段长度是否为空字段释意备注stucourseidint4not null选课编号主键studentidint4not null学生编号索引courseidint4not null课程编号索引(5)表5 学生信息 (studentinfo)字段名称字段类型字段长度是否为空字段释意备注studentidint4not null学生编号主键studentnamenvarchar50not null学生名称studentnumbernvarchar50not null学生学号studentgenderbit1not null学生性别deptidint4not null院系编号majoridint4not null专业编号索引isdeletedbit1状态(6)表6 教师信息 (teacherinfo)字段名称字段类型字段长度是否为空字段释意备注teacheridint4not null教师编号主键teachernamenvarchar50not null教师名称teachernumbernvarchar50not null教师工号deptidint4not null院系编号索引isdeletedbit1状态(7)表7 用户信息 (users)字段名称字段类型字段长度是否为空字段释意备注useridint4not null用户编号主键namenvarchar50not null用户名称passnvarchar50not null用户密码typetinyint1not null用户类型idint4not null用户号3.2.2数据表关系数据表的关系,如图 13 数据表关系图所示,部分表属性如下:课程信息(courseid,coursename,teacherid,coursedes,isdeleted,majorid)院系信息(deptid,deptname,isdeleted)专业信息(majorid,deptid,isdeleted)学生信息(studentid,studentname,studentgender,deptid,majorid,isdeleted)教师信息(teacherid,teachername,teachernumber,deptid,isdeleted)图 13 数据表关系图4.详细设计系统程序流程图,如图 14 系统程序流程图示:图 14 系统程序流程图该系统有三种用户身份,在登录界面,用户输入用户名、密码,系统会自动判别用户身份进而进入相应主界面,否则重新登录;进入主界面后,系统记录用户的身份权限,用户根据自己的权限大小,可以进行相应的操作,系统管理员权限最高,可以进行所有的操作,学生用户可以进行选课操作、修改个人信息等,教师用户只能进行查看自己所担任的课程及每门课的选课学生名单。4.1数据库连接数据库连接是系统时刻都需要调用的,为了使用方便,把它写在web.config文件的appsettings节里面,在每个需要连接数据库的文件里进行调用就行了,代码如下:4.2系统设计系统设置从功能上可分为教务管理子系统、教师查询子系统和学生选课子系统三个部分。4.2.1教务管理子系统教务管理子系统可分为院系管理,专业管理,课程管理,学生管理,教师管理五个小模块,具体讲述课程管理子模块。课程管理子模块可分为添加课程,修改、删除课程三个小模块,具体讲述添加子功能。1. 界面设计添加课程界面如图15 添加课程界面所示:2.后台设计添加课程的部分代码如下:(1)在app_code文件夹的course.cs中的代码为:/ / 插入课程基本信息/ / public void insertcourseinfo(string coursename, int teacherid, string coursedes, int majorid, int credits,int lesson) string sqlstring0 = select count(*) from courseinfo where coursename= + coursename + ; sqlconnection conn = new sqlconnection(sqlstring); conn.open(); sqlcommand seleco = new sqlcommand(sqlstring0, conn); int coursecount = convert.toint32(seleco.executescalar(); conn.close(); if (coursecount = 0) string sqlstring = insert courseinfo(coursename,teacherid,coursedes,majorid,credits,lesson) values( + coursename + , + teacherid + , + coursedes + , + majorid + , + credits + , + lesson + ); sqlhelper.executenonquery(sqlstring, commandtype.text, sqlstring); else system.web.httpcontext.current.response.write( alert(此课程已添加!); ); (2)在admin文件夹的courseadd.aspx.cs中的代码为:/在courseadd.aspx.cs的btbok(按钮)下实现添加的功能protected void btnok_click(object sender, system.eventargs e)/判断条件,名称不允许未空,名称长度不超过个字符if(txtname.text=)response.write(alert(名称不允许未空););else if(txtname.text.length20)response.write(alert(最多个字符););elsecoursebiz.course course = new coursebiz.course();coursebiz.teacher teacher = new coursebiz.teacher();if(requestaction=add)/添加课程 course.insertcourseinfo(txtname.text.trim(), int.parse(ddlteacher.selectedvalue), txtdes.text, int.parse(ddldept.selectedvalue), int.parse(credits.text.trim(), int.parse(lesson.text.trim();else/更新课程 course.updatecourseinfo(txtname.text.trim(), int.parse(ddlteacher.selectedvalue), txtdes.text, int.parse(ddldept.selectedvalue), int.parse(txtnumber.text), int.parse(credits.text.trim(), int.parse(lesson.text.trim();string str = window.dialogarguments.document.location.href=course.aspx;window.close(); response.write(str);4.2.2学生选课子系统学生选课子系统可分为个人信息维护、学生选课和查看选课信息三个小模块,具体讲述学生选课子模块。1界面设计学生选课界面如图 16 学生选课界面所示:图 16 学生选课界面图 2后台设计学生选课的部分代码如下:(1) 在app_code/student.cs中的代码:/ / 插入一条学生选课记录/ / / public void insertstudentcourse(int stuid, int courseid)string sqlstring = insert stucourse(studentid,courseid) values(+stuid+,+courseid+); sqlhelper.executenonquery(sqlstring, commandtype.text, sqlstring);(2) 在student/stuaddcourse.aspx.cs中的代码:protected void btnadd_serverclick(object sender, system.eventargs e)/循环插入学生选的课程foreach(datagriditem item in dgbulletin.items)if(item.itemtype=listitemtype.item | item.itemtype=listitemtype.alternatingitem)checkbox chkid = (checkbox)item.findcontrol(chkid);if(chkid.checked=true)int courseid = int.parse(item.cells1.text);int stuid = int.parse(sessionid.tostring();coursebiz.student stu = new coursebiz.student();stu.insertstudentcourse(stuid, courseid);response.redirect(stuaddcourse.aspx);4.2.3 教师查询子系统教师查询子系统可分为担任课程课表查询、选课学生信息查询两个小模块,具体讲述选课学生信息查询子模块。1界面设计选课学生信息查询界面如图17 选课学生信息查询界面所示:图17 选课学生信息查询界面2后台设计选课学生信息查询的部分代码如下:(1) 在app_code/teacher.cs中的代码:/ / 取得选课的学生信息/ / / public dataset getstuinfobytid(int teacherid)string sqlstring = select * from stucourse st inner join courseinfo sc on st.courseid=sc.courseid inner join studentinfo stc on st.studentid=stc.studentid inner join majorinfo smi on stc.majorid=smi.majorid where sc.teacherid=+teacherid;return sqlhelper.executedataset(sqlstring, commandtype.text, sqlstring);(2) 在teacher/coursestuinfo.aspx.cs中的代码:/教师查询学生选课信息 public void dgbind() coursebiz.teacher teacher = new coursebiz.teacher();dataset ds = teacher.getstuinfoby

温馨提示

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

评论

0/150

提交评论