第1章 软件工程概述 1
1.1软件工程的基本概念 1
1.1.1软件 1
1.1.2软件工程的定义 2
1.1.3软件工程的目标 2
1.2软件工程的知识体系结构 3
1.2.1软件开发技术 3
1.2.2软件工程管理 5
1.2.3软件工具及方法 8
1.3软件过程 11
1.3.1软件过程改进的目标 11
1.3.2软件过程管理的主要内容 11
1.4软件生命周期模型 12
1.4.1线性顺序模型(Linear Sequential Model) 12
1.4.2原型(Prototype)实现模型 14
1.4.3螺旋模型(Spiral Model) 15
1.5常见的软件工程过程模型 16
1.5.1CMM 16
1.5.2XP 18
思考题 21
参考文献 21
第2章 软件项目管理 23
2.1可行性分析 23
2.2开发过程定义 23
2.3时间控制 25
2.4质量管理 27
2.5角色定义与分配 30
思考题 31
参考文献 32
第3章 软件需求分析 33
3.1软件需求分析概述 33
3.2软件需求分析的过程 34
3.2.1需求的识别 34
3.2.2需求的分析与综合 35
3.2.3需求的表示 36
3.2.4需求的验证 36
3.3结构化分析方法(SA) 37
3.3.1概述 37
3.3.2工作内容和任务 38
3.3.3如何画基本数据流图 38
3.4面向对象的方法(OOA) 44
3.4.1概述 44
3.4.2UML分析设计实例 45
思考题 50
参考文献 50
第4章 软件设计 51
4.1软件设计概述 51
4.2架构设计 52
4.2.1概述 52
4.2.2常见的软件架构C/S,B/S,B/A/S,C/A/S及多层体系架构 53
4.2.3各自的优缺点 54
4.2.4关于软件体系结构的选取 55
4.3结构化设计 56
4.3.1概述 56
4.3.2工作内容和任务 56
4.3.3程序结构 57
4.3.4结构图 57
4.3.5变换型问题 59
4.3.6模块说明 60
4.4面向对象设计 61
4.4.1对象结构—类图 61
4.4.2类图优化 62
4.4.3组织建模元素——包 63
4.4.4对象行为——状态图 64
4.4.5构造程序——组件图 64
4.4.6ATM系统的实施图 65
4.4.7回顾ATM项目的开发过程 66
思考题 66
第5章 数据分析、设计及实现 67
5.1数据库分析与设计 67
5.1.1数据库分析与设计概述 67
5.1.2数据库设计的基本阶段 67
5.2典型数据库设计模式 79
5.2.1如何设计主从关系的表 79
5.2.2如何设计出入库类型的表 80
5.2.3如何实现基于角色的数据库设计 81
5.2.4如何设计树形结构的数据库 82
5.3数据库编程常见问题 83
5.3.1如何实现多表连接查询 83
5.3.2如何实现主从表删除 83
5.3.3如何获得自动增长量 84
5.3.4如何手动实现自增长的编码 84
5.3.5如何实现出入库类型的表 86
5.3.6如何查询快要过期的产品 87
5.3.7如何查询各门课的第一名的成绩 87
5.3.8如何将SQL上的数据导出并还原到另一台机器 88
思考题 88
第6章 软件构造 89
6.1软件构造概述 89
6.2.NET框架介绍 89
6.2.1.NET Framework 89
6.2.2.NET平台的优点 90
6.2.3.NET构架 90
6.3VB.NET面向对象编程 93
6.3.1面向对象的技术要点 93
6.3.2面向对象的开发的优点 94
6.3.3如何使用名称空间 94
6.3.4面向对象的实现 96
6.3.5如何进行继承 102
6.3.6如何使用接口 104
6.3.7早的和晚的捆绑的使用 106
6.3.8如何使用交叉语言的继承 107
6.4ADO.NET 109
6.4.1ADO.NET的定义 110
6.4.2使用ADO.NET 110
6.5ASP.NET 115
6.5.1ASP.NET概述 115
6.5.2ASP.NET举例 116
6.6综合应用举例 139
6.6.1如何实现登录 139
6.6.2如何实现注册功能 141
6.6.3如何实现后台数据维护 142
6.6.4如何实现购物车功能 147
思考题 152
第7章 软件测试的理论及实践 153
7.1软件测试基本概念 153
7.1.1软件产品质量的评定 153
7.1.2软件测试的目的 153
7.1.3测试和质量之间的关系 153
7.2测试的重要原则和规律 154
7.3测试的生命周期 155
7.4测试过程中涉及的文档规范及测试流程 155
7.5测试的分类和策略 156
7.5.1按阶段分类 156
7.5.2按内容分类 157
7.5.3在测试过程中应该注意的几点问题 160
7.6测试自动化工具 161
7.7测试案例 162
7.7.1单元测试的实例 162
7.7.2压力测试的实例 162
7.8主流自动化测试工具 165
思考题 166
第8章 软件工程实例——构件库管理系统 167
8.1项目背景介绍 167
8.2项目规划 168
8.2.1项目简介 168
8.2.2项目管理 170
8.3项目分析设计 171
8.3.1数据库设计 171
8.3.2UML设计 182
8.3.3网页结构图 192
8.3.4网页功能与布局设计 194
8.4项目实现 201
8.4.1主要技术攻关 201
8.4.2网页截图 202
8.4.3主要源代码 208
思考题 274
附录A 各类文档模板 275
A1个人任务分配 275
A2个人时间记录日志 276
A3会议记录 277
A4角色定义 278
A5缺陷记录日志 278
A6数据库设计说明书 279
附录B 开发过程中的各类规范 281
B1文档格式规范 281
B1.1文档格式规范 281
B1.2目录 281
B1.3内容 282
B2VB.NET代码命名规范 283
B3数据库命名规范 286
B3.1数据表命名规范 286
B3.2数据库使用规范 287
B4Web开发规范 287
B4.1导航规范 287
B4.2内容编辑规范 288
B5形象设计规范 288
B5.1标志(logo) 288
B5.2标准色 289
B5.3标准字体 289
B6CSS书写规范 289
B6.1所有的CSS尽量采用外部调用 289
B6.2CSS推荐模板 289
B6.3body标识 290
B7JS调用规范 290
B8首页代码规范 290
B9尺寸规范 291
B10目录结构规范 291
B11命名规范 292
B11.1一般文件及目录命名规范 292
B11.2图片的命名规范 292
附录C 互联网软件开发的各类资源 293