《Web开发项目实践》实施方案一、基本信息课程名称:Web开发项目实践课程代码:90714134学分/总学时:2学分/18学时适用专业:信息管理与信息系统专业适用班级:IM140703使用学期:2015-2016学年第2学期二、课程描述《Web开发项目实践》是信息管理和信息系统专业的主要实践教学环节之一,是《Web应用程序开发》课程的实践教学实施阶段。本课程要求学生综合运用所学的理论知识及技术,在教师的指导下完成Web应用系统的分析、设计和实现。其目的在于使学生加深对Web应用程序开发的理论和知识的理解,掌握Web应用程序开发的基本方法和技术,为学生进行毕业设计及今后从事信息管理方面的工作打下基础。三、课程目的通过本课程的学习能使学生理解Web工作的基本原理,熟练掌握.NET环境下Web应用程序的开发技术。本课程通过Web信息系统的设计、开发、调试等实践环节,使学生掌握页面设计、Web服务器控件使用、状态管理、数据库连接及编辑的技术,为学生从事信息系统管理、信息系统开发方面的工作打下基础。四、课程进入条件1.知识储备要求进入本课程之前,学生应该具备以下知识和技术能力:C#程序设计能力。掌握面向对象的编程知识,掌握C#语法、数据类型、流程控制语句、应用C#进行Windows窗体界面设计。Web相关基础知识。熟练掌握各种网页元素、HTML语言的使用,熟悉CSS样式表的编写和使用。数据库基本理论及系统设计能力。理解数据模型、关系数据库的基本理论,具备数据库的需求分析、概念设计、逻辑设计能力。运用关系数据库标准语言SQL的能力。能熟练的使用SQL语句建立数据库、建立数据表、建立视图、查询数据、更新数据。ASP.NET程序设计能力。深刻理解ASP.NET网站结构和窗体模型,掌握ASP.NET的常用控件、母版页、主题、状态管理的使用方法。ADO.NET数据访问技术。掌握数据绑定控件的使用,能通过Connection、Command、DataSet、DataTable对象查询、操纵数据。2.前期准备工作学生需要完成并提交某一Web应用系统的系统分析与设计才能进入本课程的学习。主要内容包括:Web信息系统的开发背景、需求分析、可行性分析与项目计划书、项目目标、系统的模块构成及模块的功能。对Web信息系统所要处理的数据进行分析,通过E-R图设计相应的网站数据库。通过SQLServer管理平台或VisualStudio创建数据库、数据表。五、课程开展方式第一阶段数据访问相关类设计【教学目的】以电子商务网站为例,对系统所要处理的数据进行分析,设计相应的数据访问类,包括公共类、数据访问层类、业务逻辑层类。【教学重难点】1.ADO.NET数据库访问技术2.公共类的设计3.数据访问层类的设计。4.业务逻辑层类的设计。【教学方法和授课手段】由老师首先介绍系统的架构模型,得出系统所包含的类。然后老师针对公共类、数据访问层类、业务逻辑层类设计方法进行讲解,重点介绍如何在类的继承、类与接口、ADO.NET数据库访问对象之间建立联系,以便实现程序功能方面。之后有学生上机实现数据访问类。【技能要点】1.类的定义。2.ADO.NET对象。【课时安排】8课时【授课时间】第1天【主要教学过程和内容】以电子商务网站为例,说明数据访问相关类的设计与实现。1.Web.Config文件配置为了使应用程序方便移植,为版本控制提供更好的支持,需要在应用程序配置文件(也就是Web.Config文件)中设置数据库连接信息。2.数据库操作类在电子商务网站中共建了5个公共类,具体如下。CommonClass:用于管理在项目中用到的公共方法,如弹出提示框、随机验证码等。DBCIass:用于管理在项目中对数据库的各种操作,如连接数据库、获取数据集DataSet等。GoodsClass:用于管理对商品信息的各种操作。OrderClass:用于管理对购物订单信息的各种操作。UserClass:用于管理对用户信息的各种操作。3.CommonClass类的创建CommonClass类用于管理在项目中用到的公共方法,主要包括MessageBox方法、MessageBoxPage法和RandomNum方法,下面分别介绍.MessageBox方法:在客户端弹出对话框,提示用户执行某种操作。MessageBoxPage方法:在客户端弹出对话框,提示用户执行某种操作或已完成了某种操作,并刷新页面。RandomNum方法:生成由英文字母和数字组合成的4位验证码,常用于登录界面,用于防止用户利用注册机自动注册、登录或灌水。4.DBCIass类DBClass类用于管理在项目中对数据库的各种操作,主要包括GetConnection方法、ExecNonQuery方法、ExecScalar方法、GetDataSet等方法,下面分别详细介绍。GetConnection方法:创建与数据库的连接,并返回SqlConnection类对象。ExecNonQuery方法:用来执行SQL语句,并返回受影响的行数.当用户对数据库进行添加、修改或删除操作时,可以调用该方法。ExecScalar方法:返回查询结果中的第一行第一列值。当用户从数据库中检索数据,并获取查询结果中的第一行第一列的值时,可以调用该方法。GetDataSet方法:从数据库中检索数据,并将查询的结果使用SqlDataAdapter对象的Fill()方法填充到DataSet数据集,然后返回该数据集的表的集合。5.业务逻辑层设计业务逻辑层负责复杂的业务计算。下面以商品信息类的模糊查询方法说明其设计:publicDataTablesearch(stringstrKeyWord)//对商品信息进行模糊查询//参数strKeyWord:查询关键字信息//返回查询结果数据表DataTable/returns{SqlCommandmyCmd=dbObj.GetCommandProc(proc_SearchGI);SqlParameterkey=newSqlParameter(@keywords,SqlDbType.VarChar,50);//添加参数key.Value=strKeyWord;myCmd.Parameters.Add(key);//执行操作dbObj.ExecNonQuery(myCmd);DataTabledsTable=dbObj.GetDataSet(myCmd,tbBI);returndsTable;}第二阶段网站前台设计与实现【教学目的】以电子商务网站为例,对网站的首页、购物车实现技术进行分析,说明其实现过程。【教学重难点】1.主题、母版页、站点导航2.ASP.NET状态管理【教学方法和授课手段】由老师首先介绍首页、购物车实现技术,演示首页、购物车实现过程。之后由学生上机根据所要实现的网站,实现首页及其他前台页面。【技能要点】1.母版页、站点导航。2.状态管理。【课时安排】10课时【授课时间】第2、3天【主要教学过程和内容】1.网站前台设计与实现(1)首页技术分析在设计网站首页功能模块时,主要采用了母版页技术,用来封装前台每个页面的页头、页尾、分类导航条和用户登录。而在母版页的这些设计中又主要应用了用户自定义控件。用户自定义控件简称用户控件,它是一种服务器控件,以.ascx为扩展名并被保存在单独的文件中。用户控件拥有自己对象模型的类,页面开发人员可以对其编程。它比服务器端包含文件提供了更多的功能,为创建具有复杂用户界面元素的控件带来了极大方便。用户控件声明性语法与创建ASP.NET网页的语法非常相似。主要的差别在于用户控件使用@Control指令取代了@Pag指令,并且用户控件不包括html,body和form元素.要创建一个用户控件,一般有下面几个步骤:1创建一个新文件并为其指定一个扩展名为.ascx的文件名。2在该页面的顶部创建一个@Control指令,并指定要为控件(如果有)使用的编程语言。3添加用户希望显示的控件。4添加用户控件要执行的任务(如处理控件事件或从数据源读取数据)代码。5如果希望在用户控件和宿主页之间共享信息,则在控件中创建相应的属性。根据需要,可以创建为公共成员或使用get和set访问器创建属性。(2)首页实现过程2.购物车设计与实现(1)购物车管理模块概述购物车功能的实现是电子商务网站的关键,主要用于显示及管理用户的购物信息。用户在浏览商品的过程中,如果遇到想要购买的商品,即可将该商品的信息添加到购物车中。通过购物车管理页面,可以进行查看和编辑商品信息等操作。购物车管理页包括的功能主要有:将商品添加到购物车。浏览购物车中的商品信息。修改购物车中的商品数量。删除购物车中的商品。清空购物车。(2)购物车管理模块技术分析在实现购物车管理页的功能时主要应考虑两点:一是如何区分用户与购物车的对应关系,二是购物车中商品存放的结构。用户与购物车的对应关系,即每个用户都有自已的购物车,购物车不能混用,而且必须保证当用户退出系统时,其购物车也随之消失。这种特性正是Session对象的特性,所以使用Session对象在用户登录期间传递购物信息。实现购物功能的实质是增加一个(商品名,商品个数)的(名,值)对,该结构是一个结构数组,所以可以使用结构数组来表示用户的购买情况。(3)购物车管理页实现过程第三阶段网站后台设计与实现【教学目的】以电子商务平台为例,对网站的后台登陆、库存管理、销售订单管理实现技术进行分析,说明其实现过程。【教学重难点】1.数据绑定与数据绑定控件2.ADO.NET数据访问对象的使用【教学方法和授课手段】由老师首先分析后台登陆、库存管理、销售订单管理所用到的主要技术,演示后台登陆、库存管理、销售订单管理的实现过程。之后根据所要实现的网站,由学生上机实现首页及其他前台页面。【技能要点】1.数据绑定与数据绑定控件。2.ADO.NET数据访问对象的使用。【课时安排】10课时【授课时间】第4、5天【主要教学过程和内容】1.后台登录模块设计与实现(1)后台登录模块概述在网站前台页面底部设置了进入后台登录页的“后台入口”超链接。后台登录页面主要是用来对进入网站后台的用户进行安全性检查,以防止非法用户进入该系统的后台。同时使用了验证码技术,防止使用注册机恶意登录本站后台。(2)后台登录模块技术分析在后台登录模块中主要应用了验证码技术。目前,网站为了防止用户利用机器人自动注册、登录、灌水,采用了验证码技术。所谓验证码,就是一串随机产生的数字与英文字母组合成的4位字符串。在实现的过程中,将数字、英文字母存储到字符串变量strchar中,使用String.Split方法以指定的分隔符(逗号)分离字符串strchar,将返回的字符串数组存储到字符串数组变景VcArray中,最后使用随机类Random成员方法Next(intt=rand.Next(61)),根据返回值t来获取字符串数组VcArray中的字符。(3)后台登录模块实现过程2.商品库存管理模块设计与实现(1)商品库存管理模块概述电子商务网站的商品库存管理模块主要实现对商品信息的管理,包括对商品信息和商品类型信息的查询、添加、修改和删除功能。当用户通过后台身份验证后,进入到网站后台管理模块,在该界面的功能管理中,用户可以根据实际需要查询、浏览、修改和删除商品信息;而当单击“商品添加”按钮时,用户可以根据实际需要添加商品信息。同样,对商品类别的管理与添加类似。(2)商品库存管理模块技术分析商品管理界面中在显示商品“所属类别”和商品“热销价”时,主要应用了数据绑定表达式。在ASP.NET1.0中主要应用的是DataBind.Eval方法,该方法是一个完全成熟的方法,可以在程序中的任何地方使用。DataBinder.Eval方法的语法如下:%#DataBinder.Eval(ContainerDataItem,expression)Containter.DataItem表达式引用对该表达式进行计算的对象。该表达式通常是一个字符串,表示数据项