前言


传统的高校专业培养方案是将整个专业人才培养过程按照科目分解为一门一门的课程进行教学,而每一门课程的内容再按照知识的相关性组织成章节,学生依次学习各章节的内容,从而掌握这门课的内容,有时也会通过一些涉及多个章节的练习来掌握一些综合知识。其组织方式类似于生产线“工艺专业化”原则布局,可将其称为“知识模块化”组织方式。
通常来说,计算机软件开发类的课程所涉及的知识比较庞杂,其理论体系没有传统学科那么完备。以模块化的方式组织课程内容、开展课程教学,可以将庞杂凌乱的知识根据学习心理机制和认识、记忆规律组织起来,使其条理化。其最大的优势就在于知识传授效率的最大化。
但模块化组织方式最大的缺点在于学生缺少对整体框架的认识,停留在掌握知识的层面,而不会运用知识。例如,传统的Web开发技术课程内容通常按照HTML、CSS、ASP.NET(或者JSP等其他动态Web开发技术)、ADO.NET(或者其他数据库访问技术)、JavaScript等模块分别予以介绍和强化。经过反复训练,对每个模块学生都可以掌握得很好,但面对一个具体的软件开发项目时,学生会觉得无从下手。
针对模块化组织方式的缺陷,人们提出了综合化或者项目化的组织方式。也就是首先设定一个课程的应用型目标,然后通过一个或多个应用项目,将相关的知识串联起来。学生的学习过程始终围绕着应用项目开展,通过项目的需要来驱动学习。这种方式不但可以让学生快速掌握知识,而且可以更好地运用所学的知识。
综合化组合方式的主要问题在于具体的实施,其中项目的设计水平直接决定了综合化组织方式的实际效果,在实践中常常会存在以下问题。
(1) 综合性和实践性不足,无法从根本上满足学生对认识软件整体框架和完整开发过程的需求。
(2) 受教学大纲的限制,为了能够覆盖大纲规定的内容,不得不设计一些脱离实际应用的内容。
本书的编写从内容的组织上来说采用了综合化的方式。为了避免综合化方式可能产生的问题,设计了由简单到复杂的三个软件项目,通过这三个项目的有机结合,既保证了项目设计的合理性、综合性,又保证了内容的全面性。
由于开发一个Web应用软件,涉及“软件工程”“Web程序设计”和“数据库原理与应用”等方面的内容,这些内容从实践的角度看应该是互相融合、互相依赖的。要开发一个真正的软件系统,必须同时交叉运用这些课程所涉及的内容。为此,将这些课程由纵向分割改变为综合交叉,具体的Web项目和内容组织如下表所示。








项目
内 容 分 类
教 学 内 容
实践作用分析


小明音乐库
管理系统

软件工程 需求分析基本概念; 

 界面设计基本概念; 

 类图、活动图
需求分析和概要设计

Web程序设计
 HTML框架、常用标签; 

 网站发布和动态网站原理; 

 ASP.NET原理和基础; 

 Request对象和Response对象; 

 ASP.NET Literal控件
Web软件界面构造

数据库原理与应用
 数据库基本概念; 

 概念模型设计(ER图、类图); 

 关系模型设计; 

 创建数据库表的SQL; 

 SELECT语句(单表、连接、嵌套)
 数据库系统的基本概念; 

 数据库表的设计、创建、操纵

Web程序设计
 ADO.NET连接数据库、连接串; 

 DbCommand对象和DataReader对象的简单应用; 

 单表和主从表的CRUD操作
 通过ADO.NET操纵数据库; 

 基本ASP.NET控件的使用


企业KPI
查询系统

软件工程
 角色用例分析; 

 功能模块设计; 

 界面设计
软件需求分析和概要设计
Web程序设计
 CSS和DIV页面布局; 

 ASP.NET母版页
软件系统界面实现技术

数据库原理与应用
 概念模型设计(类图、数据流图、数据字典); 

 关系数据库理论基本概念; 

 范式理论和模式分解; 

 三级模式(索引和视图); 

 数据库实施(用户和权限)
正确、合理的数据库模型

软件工程Web程序设计
 三层架构概念; 

 UI、BLL和DAL的项目创建; 

 EntityFramework; 

 用户登录和身份验证; 

 网站状态管理(SessionState/Cookie/HiddenField/QueryString)
 软件系统架构的概念和实践; 

 ORM数据库访问技术; 

 用户管理模块的实现; 

 Web应用状态管理的实现
Web程序设计
 GridView控件和数据绑定表达式; 

 状态管理的运用; 

 Visible属性控制; 

 TreeView树形控件
ASP.NET中的常用编程技巧

Web程序设计
 JavaScript和DOM模型; 

 JavaScript日期控件; 

 jQuery和jQuery日期控件; 

 MsChart控件和jqPlot图表插件
Web界面综合设计
续表



项目
内 容 分 类
教 学 内 容
实践作用分析


小明电器
商城

软件工程
 业务流程图; 

 功能模块图; 

 界面设计
熟悉软件分析和设计方法

Web程序设计
 CSS模板的应用; 

 完整的三层架构; 

 表单认证和角色控制
完善Web软件架构
数据库原理与应用
 数据库保护(触发器、事务、恢复); 

 数据库并发控制(乐观并发控制); 

 LINQ和SQL统计、分组统计
数据库应用的综合实践

Web程序设计
 Repeater控件; 

 分页机制; 

 购物车
Web程序设计的综合实践
本书根据近期的技术发展对第1版进行了修订,删除了ASP.NET成员资格管理的内容,采用EntityFramework的数据库访问技术取代LINQ to SQL技术,以Visual Studio Express 2017和SQL Server 2017 Express为开发平台,使用C#开发语言。为方便教师教学和读者自学,本书提供了配套的实例源代码、素材等,读者可到http://www.tup.com.cn下载。读者还可以扫描书中的二维码观看配套演示视频,进一步加深对书中内容的理解。
本书仅要求读者具备面向对象程序设计基础,书中对于项目所用编程知识、数据库技术都有详细讲解,适合作为高等院校计算机相关专业的“Web程序设计”“网络程序设计”“数据库原理与应用”等课程的项目实训教材,也适合对Web软件开发感兴趣的读者自学使用。
本书第1~9章、第13~15章由蒋冠雄编写,戴振中编写第10~12章,叶晓彤编写第16、17章,全书由蒋冠雄和沈士根负责统稿。
本套系列图书《Web程序设计——ASP.NET实用网站开发》《Web程序设计——SP.NET上机实验指导》第1版、第2版、第3版(微课版)分别于2009年、2014年、2018年出版,《Web程序设计——ASP.NET项目实训》第1版于2017年出版。截至2019年3月,《Web程序设计——ASP.NET实用网站开发》累计印刷25次,《Web程序设计——ASP.NET上机实验指导》累计印刷17次,《Web程序设计——ASP.NET项目实训》累计印刷3次,受到了众多高校和广大读者的欢迎,很多不相识的读者发来邮件与我们交流并提供了宝贵意见。在此表示衷心感谢。
希望本书能成为初学者从入门到精通的阶梯。对于书中存在的疏漏及不足之处,欢迎读者批评指正,以便再版时改进。
编者
2019年3月