Web模式下“软件工程”双语教学系统开发技术的研究


1.引言

  “软件工程”双语教学系统设计的主要意图是建立完整的软件工程双语课的网络教学平台,帮助教师更好地教,促进学生更好地学,建立完整的网上教学和交流环境,充分利用该课的多种教学资源,提高该课程的教学质量。本文以WEB模式下“软件工程”双语教学系统为背景,阐述了该课程网络教学平台开发的部分相关技术。

  2.研究中涉及的关键技术

  (1)多层体系结构

  系统体系结构采用典型的四层B/S结构,体系结构如图1所示。


图1  四层B/S结构图

  (2)在ASP.NET中实现多层模式

  在ASP.NET中,利用代码隐藏技术实现页面代码与控制代码的分离。页面代码对应于视图层,后台控制代码对应于控制层。由于各层代码分离,降低了耦合度,还减少了代码的冗余。其实现形式如表1所示。

  表1 ASP. NET中的多层模式表

  VIEW

  Aspx文件

  CONTROLLER

  Aspx.cs文件

  MODEL

  数据库类、数据库处理类

  (3) 运用ASP.NET技术操作数据

  在ASP.NET的结构中,IIS为Windows操作系统的一个组件,所有Web客户端和ASP.NET应用程序之间的联系通过IIS来进行。ASP.NET应用程序是建立在.NET框架技术的基础上的,在这些应用程序中可以充分利用由.NET框架技术提供的各种特性,体现.NET框架技术对RAD和OOP技术的支持,实现减少编程工作量和快速开发的目标。

  3.“软件工程”双语教学系统的设计

  软件工程双语教学系统的设计既要符合学科领域教育教学规律,又要符合现代网络教学信息处理技术的要求;既要方便老师课前课后的配套工作,又要满足学生获取多方信息及信息反馈的要求。

  3.1 “软件工程”双语教学系统主要功能

  基于Web的“软件工程”双语教学系统,主要含有:教学支持与交互、教学资源、系统管理这三大部分,每部分又包括各自的功能模块,各功能模块的设置如图2所示。

  图2系统功能模块

  3.2 “软件工程”双语教学系统的开发及运行环境

  操作系统及开发平台:Microsoft Windows 2000 Server,IIS5.0,Microsoft.NET。

  数据库管理系统:以SQL Server 2000为后台数据库,通过ADO.NET访问。

  开发工具及语言:以Visual C#.NET作为主要开发语言。

  Web开发平台:ASP.NET。

  运行平台:Windows客户端+Web Brower浏览器。

  4.数据库设计及数据访问的实现

  对软件工程双语教学系统中数据库的设计,要考虑到数据的唯一性、非空性、域值、主键、外键等,还要尽可能消除数据的冗余。本系统使用SQL Server 2000做为数据库支持。

  4.1数据库表的设计

   Admin:管理员信息表,字段属性如表2所示,字段不允许为空。

  表2 Admin表字段属性

  列名

  数据类型

  长度

  说明

  userid(PK)

  varchar

  20

  管理员ID

  pwd

  char

  20

  密码

  name

  nvarchar

  40

  姓名

  lastlogintime

  smalldatetime

  4

  上次登陆时间

  regtime

  smalldatetime

  4

  添加时间

  Courseware:课件信息表,字段属性如表3所示。

  表3 Courseware表字段属性

  列名

  数据类型

  长度

  允许空

  说明

  cid(PK)

  int

  4

  课件ID

  typeid(PK)

  int

  4

  课件类型

  src

  varchar

  100

  路径

  header

  varchar

  100

  √

  标题

  uploadtime

  smalldatetime

  4

  √

  上传时间

  Forum:帖子具体信息表,字段属性如表4所示。

  表4 Forum表字段属性

  列名

  数据类型

  长度

  允许空

  说明

  forumid(PK)

  int

  4

  帖子回复ID

  title

  varchar

  100

  标题

  content

  text

  100

  内容

  isclose

  bit

  1

  是否关闭

  ftype

  int

  4

  类型

  initiator

  int

  20

  发起人ID号

  createdate

  datetime

  8

  发表时间

  username

  varchar

  32

  √

  发表人

  Files:普通资源信息表,字段属性如表5所示。

  表5 Files表字段属性

  列名

  数据类型

  长度

  允许空

  说明

  fid(PK)

  int

  4

  文件ID

  uploadtime

  smalldatetime

  4

  上传时间

  fsize

  numeric

  9

  文件大小

  filedescribe

  text

  100

  √

  备注

  ftid

  nvarchar

  4

  文件类型

  downnum

  int

  4

  下载次数

  filepath

  nvarchar

  100

  √

  文件路径

  Cnews:课程信息表,字段属性如表6所示,字段不允许为空。

  表6 Cnews表字段属性

  列名

  数据类型

  长度

  说明

  nid(PK)

  int

  4

  信息ID

  ctitle

  nvarchar

  50

  标题

  content

  text

  100

  内容

  userid

  varchar

  50

  发布人

  reptime

  smalldatetime

  4

  发布时间

  Reguser:用户信息表(学生、教师),字段属性如表7所示。

  表7 Reguser表字段属性

  列名

  数据类型

  长度

  允许空

  说明

  rid(PK)

  int

  4

  用户ID

  username

  varchar

  40

  用户名

  pwd

  char

  20

  密码

  mail

  varchar

  100

  √

  邮箱

  lastlogintime

  smalldatetime

  4

  √

  上次登陆时间

  realname

  nvarchar

  40

  √

  真实姓名

  sex

  char

  8

  √

  性别

  birthday

  smalldatetime

  4

  √

  生日

  discribe

  text

  100

  √

  备注

  department

  nvarchar

  100

  √

  部门

  flag

  bit

  1

  身份

  times

  int

  4

  √

  登陆次数

  right

  bit

  1

  是否可用

  Testquestion:试题信息表,字段属性如表8所示。

  表8 Testquestion表字段属性

  列名

  数据类型

  长度

  允许空

  说明

  tid(PK)

  int

  4

  试题ID

  question

  text

  500

  题目

  ttype

  nvarchar

  30

  试题类型

  A

  nvarchar

  50

  √

  选择答案A

  B

  nvarchar

  50

  √

  选择答案B

  C

  nvarchar

  50

  √

  选择答案C

  D

  nvarchar

  50

  √

  选择答案D

  answer

  text

  100

  √

  其它答案

  Video:视频信息表,字段属性如表9所示,字段不允许为空。

  表9 Video表字段属性

  列名

  数据类型

  长度

  说明

  videoid(PK)

  int

  4

  视频ID

  vfilepath

  varchar

  100

  文件路径

  addtime

  datetime

  8

  添加时间

  vfilename

  varchar

  50

  文件名

  3.2 数据库部分E-R图

  用户访问数据对应的E-R图,如图3所示。

  图3 访问数据的E-R图

  4.2 数据访问的程序设计

  数据访问需要两个层次的程序设计,一个是数据库存储过程的设计,另一个是应用程序中数据连接的设计。存储过程是数据库对象,用T-SQL语言编写的程序;应用程序中数据连接的设计,因业务层应用程序通过ADO.NET的对象从数据库中提取数据,放入DataSet对象中,供该层应用程序服务使用,故数据库连接接口由SQLBASE类实现,其核心代码如下:

  数据库连接语句获取:

public  static  string  sqlConnection= System.Configuration.ConfigurationManager.AppSettings["connectionStrings"].ToString();

  执行SQL语句填充DataSet:

    public static DataSet FillDataSet(string sql)

    {

        DataSet ds = new DataSet();

        SqlConnection conn = new SqlConnection(sqlConnection);

        try

        {

          conn.Open();

          SqlCommand sqlCommd = new SqlCommand(sql, conn);

          SqlDataAdapter adapter = new SqlDataAdapter(sqlCommd);

          adapter.Fill(ds);

          conn.Close();

          return ds;

        }

        catch

        {

          conn.Close();

          throw;

        }

}

  执行SQL填充SqlDataReader:

    public static SqlDataReader ExecuteReader(string sql)

    {

       SqlConnection conn = new SqlConnection(sqlConnection);

       SqlCommand cmd = new SqlCommand(sql, conn);

       try

       {

         conn.Open();

         SqlDataReader sd= cmd.ExecuteReader(CommandBehavior.CloseConnection);

         return sd;

       }

       catch

       {

         conn.Close();

         throw;

       }

}

  执行无返回数据表的SQL语句:

    public static bool ExcuteNonQuery_SQL(string sql)

    {

      SqlConnection conn = new SqlConnection(sqlConnection);

      SqlCommand cmd = new SqlCommand(sql, conn);

      try

       {

         conn.Open();  

         cmd.ExecuteNonQuery();

         return true;

       }

      catch

       {

         conn.Close();

         return false;

       }

}

  执行带参数的无返回数据的存储过程:

public static bool ExcuteNonQuery(string SpName, SqlParameter[] parms,out int intResult)

   {

     SqlConnection conn = new SqlConnection(sqlConnection);

     SqlCommand cmd = new SqlCommand(SpName,conn);

     cmd.CommandType = CommandType.StoredProcedure;

     foreach (SqlParameter parm in parms)

     cmd.Parameters.Add(parm);

     try

     {

       conn.Open();

       cmd.ExecuteNonQuery();

       intResult = 0;

       return true;

     }

       catch

        {

          conn.Close();

          intResult=3;

          return false;

        }

    }

  5. 系统主界面

  “软件工程”双语教学系统目前已经实现,用户可以通过首页到达该网站的任何地方。首页设计力求简单、快捷、内容分类清晰、操作方便,登录后可进入系统。软件工程双语教学系统的首页如图4所示。

  图4系统首页

  6.结束语

  “软件工程”双语教学系统主要结合计算机软件工程课程而进行研发的,系统基本功能齐全并已实现,具有实用性,对目前方兴未艾的双语教学网络平台会提供很大的帮助。


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3