基于ASP.NET 2005计算机等级考试系统C#作编程语言论文

2009年4月25日星期六

基于ASP.NET 2005计算机等级考试系统C#作编程语言论文


目前网络应用软件运行的模式主要有二类: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后台功能代码

单击登录按钮事件:

    protected
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

               
{

                   
Session["IsAdmin"] = "Teacher";

                   
Response.Redirect("Teacher/Default.aspx");

               
}

           
}

           
else  //如果密码错误,给出提示,光标停留在密码框中

           
{

               
Response.Write("<Script
Language=JavaScript>alert(\"密码错误,请重新输入密码!\")</Script>");


               
txtPwd.Focus();

           
}

       
}

       
else   //如果用户不存在

       
{

           
Response.Write("<Script
Language=JavaScript>alert(\"对不起,用户不存在!\")</Script>");


       
}

    }


 




结   

这学期的毕业设计使我经历了一个完整的软件开发过程,从开发数据库,选择题目,需求分析,总体设计,详细设计直到最后编码测试,这使我有了初步的软件开发经验,进一步提高了相关软件的熟练程度。虽然是第一次编写这样的软件,没有经验,但前期工作做了充分准备,再加上老师的指导与同学的帮助,才得以顺利完成,基本上实现需求分析中提出的试题管理、试卷生成、在线考试、试卷评判、权限管理、在线报名及站内公告等功能要求。


由于个人能力及时间有限,有一些实际问题没有考虑到。软件中不可避免地存在着不足和疏漏,有待进一步完善。如试卷题型只考虑了单选和填空两种,答题后对主观题的自动评分不智能,试卷的生成没能实现题库自动选题等。所以,最后所完成的系统还显得较为稚嫩,尤其是在扩展性、安全性和可维护性方面还存在着很大的不足。但是,通过本次程序设计,开阔了自己的视野,拓宽了自己的知识面,提高了认识和学习新事物的能力,特别是增强了自己在程序设计方面的信心和动手实践能力,这些对于未来的工作无疑将是一笔宝贵的财富。


0 评论:

发表评论