目前网络应用软件运行的模式主要有二类:Client/server模式,Browser/Web模式。前者主要的缺点是维护、升级较麻烦,后者是近几年伴随Internet迅速发展起来的一种技术,它与客户/服务器方式类似,客户端是一个标准的浏览器,服务器端是Web
Server ,而Web
Server与数据库和应用服务器的紧密结合,使得这种模式的应用范围不断扩大,它已不仅仅用于网上查询,有很多部门的业务系统、企业的MIS系统纷纷采用这种模式,它的主要优点是便于扩充应用、升级维护简便。
另外,考试系统的软件也必将不断的更新;同时软件产品本身就要经过一个不断自我完善的过程。
2.2.1 Visual C# 2005简介
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
开发的关键技术。
Microsoft Visual C# 2005(读作 C sharp)是一种编程语言,它是为生成在 .NET Framework
上运行的多种应用程序而设计的。C# 简单、功能强大、类型安全,而且是面向对象的。C# 凭借它的许多创新,在保持 C
样式语言的表示形式和优美的同时,实现了应用程序的快速开发。
Visual Studio 支持 Visual
C#,这是通过功能齐全的代码编辑器、项目模板、设计器、代码向导、功能强大且易于使用的调试器以及其他工具实现的。通过.NET
Framework 类库,可以访问多种操作系统服务和其他有用的精心设计的类,这些类可显著加快开发周期。
3.1.2系统应该具备的基本功能
1.试题管理:管理员利用账号和密码成功登录以后,进入管理页面,管理员可以通过系统做的手动添加试题页面自己手动添加试题,并对相关信息进行添加、修改以及删除。
2.试卷生成:事先设定好考试题目数量,考试日期,分数等信息。
3.在线考试:考生根据准考证号和密码成功登录后,进入考试界面。考生有开始考试,提交试卷,查询成绩权限。考生根据报名时选择的考试科目,在规定时间段内参加相应的考试,点击开始考试后,进行考试界面,并要防止考生刷新及点击右键等操作,对考试时间计时,考试时间到,系统强制提交试卷。
4.试卷评判:主、客观题目均事先由系统自动判断,主观题目阅卷人登陆后,可以根据情况手工判卷并做出相应的分数修改。
5.权限管理:管理员拥有除阅卷外的所有权限,管理员根据账号和密码成功登录后,可以对教师和考生的信息、公告、试题、试卷等进行管理。
6.在线报名:考生通过在线报名页面,获取系统自动分配的准考证号,添加相应的考生信息(包括身份证、性别、考试级别以及相应的科目)完成报名。在相关部门交费后,由管理员审核成功后获取考试资格。
7.站内公告:发布计算机等级考试的相关信息,如考试要求、时间等。管理员通过登录进行相关的添加、修改和删除。
各层功能介绍:
数据访问层:系统最低层,提供数据库操作的接口和存储本系统所有数据;
业务逻辑层:处于页面展示层与数据访问层之间,与数据库直接关联,同时又为页面展示层服务。实现业务的具体逻辑,如考生报名、登录参考、试卷试题管理等;
页面展示层:系统最外层,将业务功能在浏览器上显示出来,用户通过界面对系统进行操作。
属性/方法功能说明
Conn保护变量,数据库连接SqlConnection对象
ConnStr保护变量,数据库连接串
Open连接数据库
Close关闭数据库连接
Dispose释放数据库连接资源
ExecutSQL执行一条非查询(Select)类型的SQL命令
GetDataRow根据输入SQL命令,获取一个DataRow对象
GetDataSet根据输入SQL命令,获取一个DataSet对象
GetDataReader根据SQL命令,获取一个DataReader对象
Insert利用一个Hash表存储数据,向数据库插入数据
Update利用一个Hash表存储数据,修改数据库中的数据
5.1.2后台功能代码
单击登录按钮事件:
void btnOK_Click(object sender, EventArgs e)
string UserName = txtName.Text;
string UserPwd = Security.Encrypt(txtPwd.Text);
User user = new User();
user.LoadNameData(UserName);
if (user.Exist) //如果用户存在
{
if (user.UserPwd == UserPwd) //如果密码,转入留言列表页面
{
Session.Add("UserID", user.UserID);
Session.Add("UserIDCard", user.UserIDCard);
Session.Add("UserName", user.UserName);
if (user.UserType == 3)
{
Session["IsAdmin"] = "Admin";
Response.Redirect("Admin/AdminInfo.aspx");
}
else
{