闻发布管理系统开发与设计(课程设计)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计
题目:基于校园新闻发布管理系统开发与设计
第一章引言
是微软公司最新推出的一种统一Web开发平台,与最新的数据访问技术一起可构建出强大、安全和可靠的企业级Web应用程序。
的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,用于生成更安全、可伸缩和稳定的应用程序。
采取了技术的系统在性能上有了很大的改善,主要表现在以下几方面:
●由于ASP页面每次打开都必须经过先编译后解释的过程,所以页面在反复打开时速度没有任何提升,而页面只需要一次编译后不需要重新编译,直到该页面被修改或Web应用程序重新启动。
这使得在多次访问时速度有了极大的提升;
●由于ASP没有提供任何输出数据为内容的元件,所以在使用ASP撰写数据库页面时只能借助ADO的RecordSet对象逐笔读取记录,而通过提供的DataGrid等数据库元件可以直接和数据库联系;
● 支持应用程序的实时更新,管理员不必关掉网络服务器或者甚至不用停止应用程序的运行就可以更新应用文件。
应用程序文件永远不会被加锁,因此甚至在程序运行时文件就可以被覆盖,当文件更新后,系统会温和地转换到新的版本;
●采取"CodeBehind(代码分离)技术"方式编写代码使得代码更易于编写,结构更清晰,降低了系统开发与维护的复杂度和费用。
第二章课题分析
2.1 需求分析
该系统的用户为学校,根据学校的需求可以划分为4个模块:管理员模块、教师模块、学生模块、和公有模块。
具体的,网络选课包含功能如下。
●管理员模块:是本系统的核心模块,该模块又包括对学生管理、教师管理、
课程管理3个子模块,功能分别如下。
➢学生管理子模块:实现对学生信息的添加、修改、删除、查询操作,还可以输入查询条件进行查询操作。
➢教师管理:在该子模块中,实现对教师的添加、修改、删除、查询操作。
➢课程管理:实现对课程的添加,添加时为其分配任课教师、上课时间和地点,实现对课程的修改、删除、查看某个课程的详细信息等。
●教师模块:实现查看自己所教授的课程、课程有那些学生选修,以及利用
本系统提交学生的成绩。
●学生模块:实现学生选课、查看、修改自己的选课信息。
●公有模块:实现用户的身份验证,密码修改,退出系统等功能。
2.2 运行环境要求
2.2.1设备
客户机硬件要求:具有 Pentium III 处理器以上且满足以下要求的计算机:最低 64 MB 内存,最小 2.1 GB 硬盘。
服务器硬件要求:具有 Pentium III 处理器以上且满足以下要求的计算机:最低 256MB 内存,最小 8 GB 硬盘。
2.2.2支持程序
◆服务器
操作系统:Windows 2000 Server或者Windows 2003 Server
数据库:SQL2005
第三章选课系统的工作流程图
3.1 工作流程为
第四章使用技术的介绍
4.1 .NET Framework概述
.NET Framework 是用于 .NET 平台的编程模型,其关键组件是公共语言运行库(CLR,Common Language Runtime)和 .NET Framework 类库(包括 、 和 Windows 窗体),它提供了托管执行环境、简化的开发和部署以及与各种编程语言的集成,是支持生成和运行下一代应用程序和 XML Web services 的内部 Windows 组件。
.NET Framework 旨在实现下列目标:
◆提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在 Internet 上分布,或者是在远程执行的;
◆提供一个将软件部署和版本控制冲突最小化的代码执行环境;
◆提供一个可提高代码(包括由未知的或不完全受信任的第三方创建的代码)执行安全性的代码执行环境;
◆提供一个可消除脚本环境或解释环境的性能问题的代码执行环境;
◆使开发人员的经验在面对类型大不相同的应用程序(如基于 Windows 的应用程序和基于 Web 的应用程序)时保持一致;
◆按照工业标准生成所有通信,以确保基于 .NET Framework 的代码可与任何其他代码集成。
公共语言运行库是 .NET Framework 的基础,可以将运行库看作一个在执行时管理代码的代理,它提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性。
事实上,代码管理的概念是运行库的基本原则。
以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。
.NET Framework 类库是一个综合性的面向对象的可重用类型集合,可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面 (GUI) 应用程序,也包括基于 所提供的最新创建的应用程序(如 Web 窗体和 XML Web Services)。
4.2 、和C#语言简介
结构是一个三层系统:UI层、业务逻辑层和数据层,结构模型如图3所示:
图3 的结构模型
● UI层负责与用户交互,接收用户的输入并将服务器端传来的数据呈现给客户;
● 业务逻辑层负责接收浏览器传来的请求并将请求传给数据层,同时将请求处理结果发给浏览器。
它由Web表单、XML Web Services和组件服务组成,其中Web表单是应用程序的核心所在,它是向客户呈现数据和信息的基础,也是响应和处理客户与显示的Web表单交互生成的信息和数据的基础;
● 数据层是通过操纵数据为事务逻辑层提供数据服务,如存储数据操作结果、返回数据检索结果等。
提供对Microsoft SQL Server、OLEDB和XML公开的数据源的一致性访问,数据共享用户应用程序可以使用来连接到这些数据源,并检索、操作和更新数据。
有两个核心组件:DataSet 和 .NET Framework 数据提供程序,后者是一组包括 Connection、Command、DataReader 和 DataAdapter 4个对象在内的组件,其组件结构如图4所示:
图4 的组件结构图示
DataSet对象是 的断开式结构的核心组件,实现独立于任何数据源的数据访问。
Connection 对象提供与数据源的连接,是操作数据库的基础,表示应用程序和数据源之间的惟一会话。
Command 对象能够访问用于返回数据、修改数据、运行
存储过程以及发送或检索参数信息的数据库命令,实现对数据源的操作,如查询、插入、修改和删除等。
DataReader 对象从数据源中读取只进且只读的数据流。
DataAdapter 对象是DataSet 对象和数据源之间关联的桥梁,用数据源填充DataSet 并解析更新。
设计 组件的目的是为了从“数据操作”中分解出“数据访问”。
C#语言是.NET中一种崭新的语言,C#是由C和C++派生而来的一种“简单、流行、面向对象、类型安全”的程序设计语言,C#意在综合Visual Basic的高效率和C++的强大功能。
第五章网上选课系统的主要开发过程
5.1 数据库设计
该系统使用SQL2005作为应用程序的数据库,本系统使用数据库名为ElectClass其中包含6张数据表:Student表用于存放学生信息,Teacher表用于存放教师信息,Cource表用于存放课程信息, Elect表用于存放选课信息, Users表用于存放系统管理员信息,Depart表用于存放系院信息。
各表字段定义如下。
表1
Student(学生)表
字段名数据类型备注
stuID Varchar(20) not null 学号
stuPwd Varchar(20) not null 密码
stuName Varchar(10) not null 姓名
stuDepart int 系院号
stuGrade int 年级
stuClass int 班级
表2
Teacher(教师)表
字段名数据类型备注
teaID Varchar(20) not null 教师编号
teaPwd Varchar(20) not null 教师密码
teaName Varchar(10) not null 教师姓名
teaDepart int 系院号
表3
Cource(课程)表
字段名数据类型备注
courceID Varchar(20) not null 课程编号
teaID Varchar(20) not null 教师编号courceName Varchar(100) not null 课程名称
courceTime Varchar(20) 上课时间
courceAddress Varchar(20) 上课地点
courceInfo Text 上课简介
表4
Elect(选课)表
字段名数据类型备注
stuID Varchar(20) not null 学号
courceID Varchar(20) not null 课程编号
teaID Varchar(20) not null 教师编号
Score int 成绩
表5
Users(系统管理员)表
字段名数据类型备注
adminName Varchar(20) not null 管理员用户名
adminPwd Varchar(20) 管理员密码
表6
Depart(系院)表
字段名数据类型备注
departID Int not null 系院号
departName varchar(100) 系院名称
5.2各主要窗体页的图形界面介绍
◆用户登录页面login.aspx
◆学生选课、退课页面studentElect.aspx
◆添加学生信息adminStudentAdd.aspx
◆添加教师adminTeacherAdd.aspx
◆修改密码ModifyPwd.aspx
5.3 系统部分重要功能及其代码
5.3.1 Web用户控件
该系统中创建了一个Web用户控件left.ascx
用户控件是非常易于代码重用的,可以把许多相关功能和用户界面封装在一个用户控件中,然后在任何需要该功能的地方重用此控件。
5.3.2 用户登录代码
protected void imgbtnLogin_Click(object sender, ImageClickEventArgs e)
{
//接收用户输入的参数
string userName = txtUserName.Text.ToString().Trim();
string userPwd = txtPwd.Text.ToString().Trim();
string userRole = rblClass.SelectedValue.Trim();
string selectStr = "";
switch (userRole)
{
case"0": //身份为教师时
selectStr = "Select * from Teacher where teaID = '"+ userName + "'";
break;
case"1": //身份为学生时
selectStr = "Select * from Student where stuID = '"+ userName + "'";
break;
case"2": //身份为管理员时
selectStr = "Select * from Users where adminName = '" + userName + "'";
break;
}
SqlConnection conn = new
SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"]. ConnectionString);
SqlCommand cmd = new SqlCommand(selectStr,conn);
try
{
conn.Open(); //打开连接
SqlDataReader sdr = cmd.ExecuteReader(); //执行查询
if (sdr.Read()) //如果该用户存在
{
if (sdr.GetString(1) == userPwd) //密码正确
{
Session["userName"] = userName;
Session["userRole"] = userRole;
conn.Close();
switch (userRole)
{
case"0": //身份为教师时
Response.Redirect("TeacherQueryElect.aspx");
break;
case"1": //身份为学生时
Response.Redirect("StudentElect.aspx");
break;
case"2": //身份为管理员时
Response.Redirect("Main.aspx");
break;
}
}
else//密码错误,给出提示信息!
{
lblMessage.Text = "您输入的密码错误,请检查后重新输入!";
}
}
else//用户不存在或用户名输入错误 {
lblMessage.Text = "该用户不存在或用户名输入错误,请检查后重新输入!";
}
}
catch (Exception ee)
{
Response.Write("<script language=javascript>alert('" +
ee.Message.ToString() + "')</script>");
}
finally
{
conn.Close();
}。