基于C实现网上选课系统毕业论文Word文档下载推荐.doc
《基于C实现网上选课系统毕业论文Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《基于C实现网上选课系统毕业论文Word文档下载推荐.doc(17页珍藏版)》请在冰点文库上搜索。
tofindconvenient,highreliability,largememorycapacity,securityandgood,longlifeandlowcost.
Thispaperanalyzesthebrowser/serverstructureischaracterizedbycombiningtheactualsituationofelectiveabriefintroductionofthesystemoffunctionalmodulesanddatabasedesign,focusedonusingASP.NETtechnologyandSQLServer2005Developerelectivesystem,accesstothedatabasetechnologyanddynamicwebproductiontechniques,andgivesomeofthecorecodecanbeachieved.ThroughthesystemsothatstudentscaneasilyonlineOnlineCourseoncampus.ThesystemisWindowsXPsystemandVS2005platformisdevelopedusingC#astheASP.NETdevelopmentlanguage,SQLServer2005asadatabase.Systemhasahighersecurityandbetterperformance.Inwhichthedatabaseconnectionstringintheweb.configwhereyoucanchangeatanytime.Thecodetomakeuseofthestoredprocedureandtominimizethedatabaseconnectionopentimetoimproveperformance.
Thisadditiontotheprogram'
ssystemanalysis,overalldesign,databasedesign,functionandsothemainpartoftheimplementation,butalsodescribesthecombinationofASP.NETanddatabaseelements.
Keywords:
Studentelective,browser/server,ASP.NET,VS2005,SQLServer2005databasemanagementsystem
目录
第一章引言 4
1.1课题研究目的 4
1.2课题研究的意义 4
第二章系统分析与总体设计 5
2.1系统分析 5
2.2系统设计构架 5
第三章数据库的设计和实现 6
3.1数据库需求分析 6
3.2数据库概念结构设计 7
3.3数据表的设计 8
第四章公共类与公共页面设计 11
4.1Web.config页面设计 11
4.2数据库连接操作类—Db类 11
4.3工具类MyUtility类 12
4.4错误信息类和错误显示页面 13
第五章系统说明书 13
5.1系统界面说明 13
5.1.1登录界面 13
5.1.2学生选课界面 14
5.1.3学生查看选课界面 15
5.2系统登录及浏览权限说明 15
第六章总结 16
参考文献 16
第一章引言
1.1课题研究目的
1.掌握采用Internet的TCP/IP协议,以B/S方式,ASP.NET编程技术,多媒体技术。
2.掌握一种多任务多用户操作系统
3.ASP.NET的动态网页编程技术和SQLServer2005大型的数据库。
4.学会使用VS2005开发工具。
5.培养相互合作的精神。
1.2课题研究的意义
学生选课系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:
效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对选课信息进行管理,有着手工管理所无法比拟的优点.例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
因此,开发这样一套软件成为很有必要的事情,在下面的各章中我们将以开发学生选课系统为例,谈谈其开发过程和所涉及到的问题及解决方法。
本文中所做的主要工作如下:
(1)介绍了个性化页面的背景及WindowsXP+IIS+ASP.NET系统的一般原理;
(2)阐述整个个性化页面生成系统的系统结构及工作原理;
分析了系统实现中的特殊性、难点和重点。
(3)设计实现用户管理、课程管理、选课信息录入管理、课程的浏览和查找、学生查找等ASP.NET页面。
(4)分析并解决实现中的若干技术问题。
(5)建立完整的网上选课,进行测试并分析结果。
第二章系统分析与总体设计
2.1系统分析
在本系统的功能操作针对不同的用户角色分权进行管理。
系统对角色提供的主要功能如下:
个人信息管理(编号、姓名、院系、学号、专业、性别等)、选课管理、管理学生本人已选课程。
教师角色提供以下功能操作:
查看自己所担任课程的课表和选该门课的学生信息。
系统给后台管理员(后台用户)提供的操作功能如下:
查看所有的院系、专业、课程、学生、教师的信息并对它进行管理(添加、编辑、删除等)。
2.2系统设计构架
本网站采用三层架构,表现层通过统一的接口向数据访问层发送请求,业务逻辑层将请求按照一定按照一定逻辑规则处理后进入数据库操作,然后将从数据库返回的数据集合封装成对象的形式返回到表现层。
通过这样的数据处理流程,用户表现层表现层甚至可以不知道数据库是结构,只要维护与数据的访问层之间的接口即可。
这种方式在一定程度上增加了数据库的安全性,同时也降低了对用户表现层开发人员的要求,因为表现层不需要进行任何关于数据库的操作。
根据上述的分析,可以描述出系统的功能模块图。
分别从管理员界面、学生界面、教师界面对功能模块进行描述。
管理员界面的功能模块如图2-1所示:
管理员登录
系统管理
院系管理系统
专业管理系统
课程管理
学生管理
教师管理
查看院系
添加院系
修改院系
删除院系
查看专业
添加专业
修改专业
删除专业
查看课程
修改课程
添加课程
删除课程
查看学生
添加学生
修改学生
删除学生
查看教师
添加教师
删除教师
修改教师
图2-1管理界面的系统功能模块图
教师界面的功能模块如图2-2所示:
学生界面的功能模块如图2-3所示:
学生登录
课程
个人信息管理
修改个人信息
查看个人信息
添加选课
删除选课
查看选课信息
学生信息
教师登录
选课学生信息
教师信息
担任学生课表
添加选课课程
如图2-2教师界面的功能模块如图2-3学生界面的功能模块
第三章数据库的设计和实现
3.1数据库需求分析
用户的需求具体体现在对各种信息的提供和查询,数据库是此类系统的核心,系统中所有的信息都存储在数据库中,在所有ASP.NET页面中通过ADO.NET与数据库连接,操作数据库中的数据,从而实现所有需要的功能。
数据库软件有很多,本系统中数据库采用MicrosoftSQLServer2005作为数据库工具。
数据库是网站的核心,数据库设计的合理与否对网站的建设有着至关重要的影响。
一个良好的数据库开发过程一般是先系统分析,再逻辑设计,然后物理实现。
系统分析中分析数据库用户需求,并画出E-R图直观地表示出数据库系统的需求。
逻辑设计中根据系统分析设计的一个关系模型。
物理设计为逻辑设计中的数据模型选取一个最合理的应用环境的物理结构,通常选取一个常用数据库软件,用数据库软件创建与逻辑设计中数据模型对应的数据库。
针对学生选课系统的需求,总结如以下信息:
用户分学生用户、教师用户和管理员用户。
一个院系包括很多专业。
一个专业包括很多学生
一个专业包括多门课程
一门课程对应一位教师,一位教师可以教多门课程。
一个院系对应多个教师。
一个学生可选多门课程,每门课程可以由多名学生选学。
经过对上述系统功能的分析和需求总结,设计如下数据项:
管理员信息,包括用户名和密码。
教师,包括教师名教师工号、所属院系等。
学生,包括学生编号、学生姓名、所属院系、性别、所属专业等。
院系,包括院系名称。
专业,包括专业名称、所属院系。
课程,包括课程名称、课程描述、所属专业及所属教师。
3.2数据库概念结构设计
由上述数据项,可以设计出能够满足用户需求的各种实体,以及他们之间的关系。
这些实体包含了各种具体的信息,通过相互之间的作用使整个数据库可以用一个E-R图表示。
实体之间关系的E-R图如图3-1所示:
课程
教师
院系
专业
学生
选课
如图3-1实体之间关系的E-R图
管理员信息实体E-R图如图3-2所示
教师用户实体E-R图如图3-3所示
学生用户信息实体E-R图如图3-4所示
院系信息实体E-R图如图3-5所示
教师工号
教师姓名
所属院系
教师
管理员
密码
用户名
图3-3管理员信息实体E-R图如图3-3教师用户实体E-R图
院系
所属专业
学生
性别
用户编号
院系名称
学生姓名
图3-4学生用户信息实体E-R图图3-5院系信息实体E-R图
专业信息实体E-R图如图3-6所示
课程信息实体E-R图如图3-7所示
专业名称
图3-6专业信息实体E-R图图3-7课程信息实体E-R图
3.3数据表的设计
根据系统功能设计的要求以及功能模块的划分,对于系统用户信息数据库,可以列出以下数据项和数据库:
1.名称:
管理员信息表
表3.2.1管理员信息表
2.教师信息表
标识:
dbo.Teacher
表3.2.2教师信息表
3.学生信息表
dbo.Student
表3.2.3学生信息表
4.选课信息表
dbo.Elect
表3.2.4选课信息表
5.课程信息表
dbo.Cource
表3.2.5选课信息表
6.部门信息表
dbo.Depart
表3.2.6部门信息表
第四章共类与公共页面设计
4.1Web.config页面设计
Web.Config文件是用来保存网站的很多全局设置,代码是通过usingConfiguration引用,在Web.Config文件中添加数据库连接字符串。
在ADO.NET中用一个字符串来表示一个数据库,一般都把这个字符串放到Web.Config文件中,在整个项目中均可使用。
<
appSettings>
addkey="
ConnString"
value="
DataSource=.\SQLEXPRESS;
UserID=sa;
Password=sa;
InitialCatalog=WEBCOURSE;
"
/>
!
--数据库链接字符串
AttachDbFilename
=|DataDirectory|\WebCourse.mdf;
IntegratedSecurity=True;
UserInstance=True;
/>
-->
/appSettings>
--动态调试编译设置compilationdebug="
true"
以启用ASPX调试。
否则,将此值设置为false将提高此应用程序的运行时性能。
设置compilationdebug="
以将调试符号(.pdb信息)插入到编译页中。
因为这将创建执行起来较慢的大文件,所以应该只在调试时将此值设置为true,而在所有其他时候都设置为false。
有关更多信息,请参考有关调试ASP.NET文件的文档。
-->
compilationdefaultLanguage="
c#"
debug="
>
compilers>
compilerlanguage="
type="
Microsoft.CSharp.CSharpCodeProvider,System,Version=2.0.0.0,Culture=neutral,PublicKeyToken=B77A5C561934E089"
extension="
.cs"
compilerOptions="
/d:
DEBUG;
TRACE"
/compilers>
/compilation>
<
--自定义错误信息设置customErrorsmode="
On"
或"
RemoteOnly"
以启用自定义错误信息,或设置为"
Off"
以禁用自定义错误信息。
为每个要处理的错误添加<
error>
标记。
"
始终显示自定义(友好的)信息。
始终显示详细的ASP.NET错误信息。
只对不在本地Web服务器上运行的用户显示自定义(友好的)信息。
出于安全目的,建议使用此设置,以便不向远程客户端显示应用程序的详细信息。
4.2数据库连接操作类—Db类
在ASP.NET中通过ADO.NET技术对数据库进行操作。
ADO.NET中有许多很方便的类可用来操作数据库,例如SqlConnection类、SqlDataAdapter类、SqlCommand类、DataSet类等。
由于在选课系统中,操作数据库的地方非常多,为了避免很多重复代码的编写,所以对数据库操作做了简单的封装—Db类。
在Db类中有三个静态函数ExecuteSelectSql、ExecuteSql和ExecuteInsertSql,其中ExecuteSelectSql函数用来执行查询操作,ExecuteSql用来执行修改、插入和删除三类操作,ExecuteInsertSql执行需要返回刚插入记录的identity的insert语句。
通过ADO.NET执行SQL语句从而对数据库进行操作,一般顺序为:
先通过SqlConnection的Open函数连接到数据库,然后再通过Sqlcommand执行指定的SQL语句,执行结束后再调用SqlConnection的Close函数关闭数据库连接。
ExecuteSelectSql函数的代码如下:
publicstaticDataSetExecuteSelectSql(stringsqlSelect)
{
SqlConnectionconn=newSqlConnection(connString);
SqlDataAdaptersda=newSqlDataAdapter(sqlSelect,conn);
DataSetds=newDataSet();
try
{
sda.Fill(ds);
}
catch(SqlExceptione)
thrownewException(e.Message);
returnds;
}
4.3工具类MyUtility类
在网站的编写过程中经常会有很多公共函数调用,把它们都写在一个工具类里:
MyUtility类,每个函数作为工具类的一个静态成员函数。
其中包括MD5静态成员函数以及Alert静态成员函数。
MD5静态成员函数:
MD5算法。
MD5算法是一个不可逆的加密算法,通常用于重要信息的加密,如登录密码,在ASP.NET中,提供有MD5的算法实现函数,调用MD5算法代码如下:
publicstaticstringMD5(stringstr)
stringresult="
;
result=FormsAuthentication.HashPasswordForStoringInConfigFile(str,"
MD5"
);
returnresult;
}
Alert静态成员函数的功能是显示一个提示对话框,在网站的运行过程中,经常需要给用户一些即时反馈,比如修改密码成功,选课成功等提示框。
代码如下:
publicstaticstringAlert(strings)
return"
scriptlanguage=\"
javascript\"
alert(\"
+s+"
\"
/script>
Back函数的功能是回退到某个网页,i的取值通常为负,当为-1时表示回退到上一个网页,为-2时表示回退到上上个网页,依次类推。
4.4错误信息类和错误显示页面
在用户使用系统过程中,可能由于用户操作失败或则网络原因等,系统运行会出现一些错误,为了便于统一,本系统定义专用的错误信息类和错误显示页面。
在错误信息类ErrorInfo类中,定义了所有的本系统中所出现的错误情况和函数Message。
函数Message根据错误情况得到相应显示字符串。