在线英语自学系统的设计与实现——课程及自测管理的设计(ASP.NET
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
目  录 [资料来源:http://think58.com]
1 引言 1
1.1 选题背景 1
1.2 国内外研究现状 1
1.3 课题研究意义 1
2 理论基础 2
2.1 数据库技术 2
2.2 面向对象技术 3
2.3 B/S结构的WEB程序设计技术 3
3 需求分析 4
3.1 现行系统描述 4
3.2 现行系统存在的主要问题分析 5
3.3 解决方案 5
4 设计设计 6
4.1 系统总体架构 6
4.2 数据库设计 7
4.3 系统功能模块分析 8
4.3.1 登录模块 8
4.3.2 获取课文列表 10
4.3.3 课程自学模块 11
4.3.4 在线自测模块 13
5 系统实施及测试 18
5.1 实施概况 18
5.2 测试方案 19
5.3 测试结果 20
结    论 21
参考文献 21
致    谢 22
声    明 23
4.3.1 登录模块
主要实现当用户登录时,如果没有该用户名,则提示“不存在用户”;如果有该用户名,但输入密码时输入了错误的密码,则提示“密码错误”。图如下所示: [资料来源:http://THINK58.com]
[来源:http://www.think58.com]
图2 “登录用户不存在”提示图 [版权所有:http://think58.com]
例如,在用户ID栏里输入名为“aaa”的用户,但是这个用户名在数据库中并不存在,则系统提示“不存在名为aaa的用户”。 [资料来源:http://THINK58.com]
[资料来源:THINK58.com]
图3 “登录密码错误”提示图
[来源:http://think58.com]
当用户在用户ID栏里填写了正确的用户名,但密码错误,则系统会提示“密码错误,请重试”。相关代码如下: [资料来源:www.THINK58.com]
string name = textName.Value.Trim()
string password = textPassword.Value.Trim() [来源:http://www.think58.com]
       IDataService ds = new DataService()
[资料来源:http://THINK58.com]
       int result = ds.StudentLogin(name, password) [资料来源:http://think58.com]
       switch (result)
    {
[资料来源:http://think58.com]
      case 0: //登录成功 [资料来源:http://www.THINK58.com]
         Session[name] = name
         FormsAuthentication.RedirectFromLoginPage(name, true)
[版权所有:http://think58.com]
         break
      case 1: //密码错误
         errorMessage.InnerText = 密码错误,请重试。 [来源:http://www.think58.com]
         break
[版权所有:http://think58.com]
      case 2: //不存在用户
[资料来源:http://THINK58.com]
         errorMessage.InnerText = 不存在名为\ + name + \的用户 [资料来源:www.THINK58.com]
         break
[资料来源:THINK58.com]
     }
调用了ds.StudentLogin()存储过程,具体为: [资料来源:www.THINK58.com]
CREATE PROCEDURE dbo.studentLogin
         @name varchar(20),
         @password varchar(20) [资料来源:http://THINK58.com]
AS
IF EXISTS
(   SELECT id
[资料来源:THINK58.com]
         FROM student
[来源:http://www.think58.com]
         WHERE name=@name [资料来源:http://THINK58.com]
         AND          password=@password [资料来源:http://think58.com]
)
[资料来源:http://think58.com]
BEGIN
[资料来源:www.THINK58.com]
         SELECT 0 --验证成功
END [来源:http://www.think58.com]
ELSE IF EXISTS
(   SELECT id [来源:http://www.think58.com]
          FROM student
          WHERE name=@name
) [来源:http://www.think58.com]
BEGIN [来源:http://www.think58.com]
         SELECT 1 --密码错误
END
[来源:http://think58.com]
ELSE [来源:http://think58.com]
BEGIN
[资料来源:THINK58.com]
         SELECT 2 --用户不存在 [资料来源:http://think58.com]
END
[资料来源:http://think58.com]
RETURN
GO
4.3.2 获取课文列表
图4 选择模块图 [资料来源:www.THINK58.com]
当合法用户通过系统身份验证,会进入到欢迎画面,这时可以选择“课程自学”和“在线自测”。当用户选择了“课程自学”后,出现课程列表,如下图: [资料来源:THINK58.com]
[来源:http://www.think58.com]
图5 可用课程列表图
[来源:http://www.think58.com]
当用户登录后选择课文学习后,显示可以阅读的课文列表,用户可以选择想要学习的课程。相关代码如下:
[版权所有:http://think58.com]
protected void Page_Load(object sender, EventArgs e) [来源:http://www.think58.com]
{ [资料来源:THINK58.com]
  IDataService ds = new DataService() [资料来源:http://think58.com]
  ArrayList lessonList = ds.GetLessonList() [版权所有:http://think58.com]
  this.lessonListRepeater.DataSource = lessonList [资料来源:www.THINK58.com]
  this.lessonListRepeater.DataBind() [资料来源:http://THINK58.com]
 } [资料来源:www.THINK58.com]
其中调用了ds.GetLessonList()存储过程,具体为:
CREATE PROCEDURE dbo.getLessonList
[来源:http://www.think58.com]
AS [资料来源:http://THINK58.com]
         SELECT id,title [资料来源:http://www.THINK58.com]
         FROM lesson [来源:http://www.think58.com]
         RETURN [资料来源:http://THINK58.com]
GO
[资料来源:www.THINK58.com]
4.3.3 课程自学模块
当用户选择了一篇课文,则调用该课文内容:课程名,课文,课后词汇。如下图:
[来源:http://think58.com]
图6 显示课程信息图
[资料来源:http://THINK58.com]
相关代码如下: [来源:http://www.think58.com]
protected Lesson lesson = new Lesson() [资料来源:http://THINK58.com]
protected void Page_Load(object sender, EventArgs e)
    {int lessonId = Convert.ToInt32(Request[id]) [资料来源:THINK58.com]
      IDataService ds = new DataService() [来源:http://think58.com]
      lesson = ds.GetOneLesson(lessonId)
[资料来源:http://think58.com]
      //课后词汇 [版权所有:http://think58.com]
      this.vocabulary.DataSource = lesson.Vocabulary
      this.vocabulary.DataBind()
     } [来源:http://www.think58.com]
其中调用了ds.GetOneLesson()和getVocabulary(),分别从数据库中调用课文和与课文相关的词汇。
getOneLesson()://调用课文 [资料来源:http://think58.com]
 
[来源:http://www.think58.com]
毕业设计(www.think58.com)上一篇:小型门户网自助建站系统的设计与实现(ASP.NET)
下一篇:教学智能评教系统的设计与实现(ASP.NET C#)