
书将带领读者开发完成《小明音乐库管理系统》、《企业KPI查询系统》和《小明电器商城》三个完整的Web软件项目。每个项目都按照小型敏捷软件开发的思想,介绍了需求分析、功能设计、界面设计、数据库设计、系统架构搭建以及功能实现等整个过程所需要的思考方法和知识运用技巧。这三个案例从简单到复杂,所需要的知识和技能层层递进,形成一条螺旋式上升的学习路径。为方便教师教学和读者自学,本书提供了完整的案例源代码和素材。
传统的高校专业培养方案是将整个专业人才培养过程按照科目分解为一门一门的课程进行教学,而每一门课程的内容再按照知识的相关性组织成章节,学生依次学习各章节的内容,从而掌握这门课的内容,有时也会通过一些涉及多个章节的练习来掌握一些综合知识。其组织方式类似于生产线“工艺专业化”原则布局,可将其称为“知识模块化”组织方式。
通常来说,计算机软件开发类的课程所涉及的知识比较庞杂,其理论体系没有传统学科那么完备。以模块化的方式组织课程内容、开展课程教学,可以将庞杂凌乱的知识根据学习心理机制和认识、记忆规律组织起来,使其条理化。其最大的优势就在于知识传授效率的最大化。
但模块化组织方式最大的缺点在于学生缺少对整体框架的认识,停留在掌握知识的层面,而不会运用知识。例如,传统的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软件界面构造
数据库原理与应用
数据库基本概念;
概念模型设计(ER图、类图);
关系模型设计;
创建数据库表的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月
第1篇小明音乐库管理系统
第1章需求分析和设计
1.1需求分析
1.2概要设计
习题1
第2章Web界面开发
2.1编写页面
2.2发布网站
2.3实现首页
习题2
第3章数据库设计
3.1数据库基本概念
3.2概念模型
3.3数据模型
习题3
第4章创建并访问数据库
4.1准备工作
4.2定义数据
4.3查询数据
习题4
第5章实现前台页面
5.1连接数据库
5.2修改首页布局
5.3实现首页音乐列表
5.4实现动态音乐列表
5.5实现动态详细资料页
5.6发布MPMM网站
习题5
第6章实现后台管理
6.1界面设计
6.2数据更新功能
6.3音乐分类管理
6.4音乐资料管理
习题6
第2篇企业KPI查询系统
第7章需求分析和设计
7.1需求分析
7.2概要设计
习题7
第8章Web界面设计和实现
8.1界面详细设计
8.2实现登录页面布局
8.3实现母版页布局
习题8
第9章数据库设计
9.1概念模型设计
9.2逻辑模型设计
9.3三级模式结构设计
习题9
第10章系统设计和实现
10.1数据库实施
10.2系统架构
10.3用户登录和权限
习题10
第11章实现管理功能
11.1指标管理
11.2部门指标管理
11.3数据采集列表页面
11.4数据采集明细页面
习题11
第12章高级Web界面开发
12.1数据分析模块
12.2JavaScript基础
12.3实现日期输入
12.4jQuery基础
12.5实现指标走势图
习题12
第3篇小明电器商城
第13章需求分析
13.1背景
13.2业务流程分析
13.3用例分析
习题13
第14章系统设计
14.1功能模块设计
14.2界面设计
14.3系统架构
习题14
第15章数据库管理
15.1数据库设计和实施
15.2数据库可编程性
15.3数据库保护
习题15
第16章系统实现
16.1搭建系统架构
16.2实现管理员后台
16.3实现业务后台
习题16
第17章完成系统
17.1前台浏览页面
17.2购物车模块
17.3我的商城
17.4分组统计分析
习题17
附录部分习题参考答案
本书根据近期的技术发展对第1版进行了修订,删除了ASP.NET成员资格管理的内容,采用EntityFramework的数据库访问技术取代LINQ to SQL技术,采用Visual Studio Express 2017和SQL Server 2017 Express为开发平台,使用C#开发语言。对为方便教师教学和读者自学,本书提供了配套的实例源代码、素材等,读者可到http://www.tup.com.cn下载。 读者还可以扫描书中的二维码观看配套演示视频,进一步加深对书中内容的理解。
蒋冠雄,男,中共党员,1975年1月10日出生,硕士,讲师。浙江师范大学数学教育专业理学学士,杭州电子科技大学计算机软件与应用专业工学硕士,绍兴文理学院计算机科学与工程系专业主任。历年来承担《计算机网络》、《计算机图形学》、《面向对象程序设计》、《算法分析与设计》、《实用网络技术》、《Web项目实训》等课程等。