实用软件工程与实训
2013-3
清华大学出版社
第1章 软件工程概述1 1.1 软件危机1 1.1.1 软件的定义及特点1 1.1.2 软件危机的产生原因2 1.1.3 解决软件危机的方法3 1.2 软件工程3 1.2.1 软件工程的定义及目标3 1.2.2 软件工程研究的内容4 1.3 软件的开发方法4 1.3.1 面向过程的方法4 1.3.2 面向数据的方法5 1.3.3 面向对象的方法6 1.3.4 三种开发方法的比较7 1.4 软件生命周期7 1.5 软件开发模型8 1.5.1 瀑布模型9 1.5.2 原型模型10 1.5.3 增量模型11 1.5.4 螺旋模型12 1.5.5 统一软件开发过程13 1.6 小结15 1.7 习题16第2章 可行性研究17 2.1 可行性研究的任务17 2.2 可行性研究的内容17 2.3 可行性研究的步骤18 2.4 小结19 2.5 习题19第3章 软件需求分析20 3.1 需求分析的任务20 3.2 需求分析的步骤21 3.3 结构化分析方法23 3.3.1 结构化分析方法概述23 3.3.2 数据流图23 3.3.3 数据字典25 3.3.4 实体-关系图26 3.4 需求分析图形工具28 3.5 软件需求规格说明书29 3.6 案例分析: 图书管理系统需求分析35 3.7 小结40 3.8 习题40第4章 概要设计41 4.1 软件设计概述 41 4.1.1 软件设计概念与重要性41 4.1.2 软件设计的任务与策略42 4.2 软件设计基本原则43 4.3 概要设计的任务和步骤46 4.4 软件结构图47 4.5 结构化设计方法48 4.5.1 变换流与事务流48 4.5.2 变换分析49 4.5.3 事务分析50 4.6 数据设计52 4.7 接口设计54 4.8 概要设计说明书55 4.9 案例分析: 图书管理系统概要设计57 4.10 小结59 4.11 习题59第5章 详细设计60 5.1 详细设计的目标与任务 60 5.2 详细设计的工具61 5.2.1 流程图615.2.2 盒图62 5.2.3 判定表63 5.2.4 过程设计语言PDL63 5.3 用户界面设计64 5.4 详细设计说明书66 5.5 案例分析: 图书管理系统详细设计68 5.6 小结70 5.7 习题70第6章 程序编码71 6.1 结构化程序设计71 6.2 程序设计风格72 6.3 程序设计语言的选择 74 6.3.1 程序设计语言的分类74 6.3.2 选择语言的一般准则 75 6.3.3 不同程序设计语言的特点76 6.4 小结77 6.5 习题78第7章 软件测试79 7.1 软件测试概述79 7.1.1 软件测试的定义和目标79 7.1.2 软件测试的原则80 7.2 软件测试方法80 7.3 黑盒测试用例设计81 7.3.1 等价类划分法81 7.3.2 边界值分析法82 7.3.3 决策表法83 7.3.4 因果图法84 7.3.5 黑盒测试案例分析85 7.4 白盒测试用例设计88 7.4.1 逻辑覆盖法88 7.4.2 路径覆盖法90 7.4.3 循环覆盖法92 7.4.4 白盒测试案例分析93 7.5 软件测试步骤 94 7.5.1 单元测试94 7.5.2 集成测试957.5.3 确认测试 98 7.5.4 系统测试 99 7.6 案例分析: 图书管理系统测试101 7.7 小结102 7.8 习题103第8章 软件维护104 8.1 软件维护过程104 8.1.1 软件维护的种类104 8.1.2 软件维护的策略105 8.1.3 软件维护的过程106 8.1.4 软件维护的困难108 8.1.5 软件维护的副作用 108 8.2 软件可维护性110 8.2.1 决定软件可维护性的因素110 8.2.2 提高软件的可维护性111 8.3 软件逆向工程与再工程113 8.4 小结114 8.5 习题114第9章 面向对象技术115 9.1 面向对象技术概述 115 9.1.1 面向对象方法简介115 9.1.2 面向对象的基本概念116 9.2 UML建模 119 9.2.1 UML简介119 9.2.2 用例图121 9.2.3 类图、对象图和包图122 9.2.4 构件图和部署图126 9.2.5 状态机图128 9.2.6 顺序图129 9.2.7 通信图130 9.2.8 活动图130 9.3 面向对象分析130 9.4 面向对象设计133 9.5 面向对象的软件测试 135 9.6 案例分析: 图书管理系统分析与设计136 9.6.1 图书管理系统分析1369.6.2 图书管理系统设计142 9.7 小结144 9.8 习题144第10章 软件工程管理 145 10.1 软件工程管理概述 145 10.2 软件规模估算146 10.2.1 软件开发成本估算方法146 10.2.2 代码行技术和任务估算技术147 10.2.3 COCOMO模型 148 10.3 软件质量 150 10.3.1 软件质量特性 150 10.3.2 软件质量保证措施 151 10.4 ISO 9000软件质量体系151 10.4.1 ISO 9000国际标准152 10.4.2 企业软件质量体系的建立和实施153 10.5 软件配置管理155 10.5.1 软件配置项155 10.5.2 软件配置管理155 10.6 CMM软件能力成熟度模型158 10.6.1 CMM的基本概念 158 10.6.2 软件能力成熟度等级 159 10.6.3 关键过程区域161 10.7 软件项目的组织与计划162 10.7.1 软件项目管理163 10.7.2 软件开发进度计划 164 10.7.3 人员配备与组织 167 10.8 软件工程标准与软件文档169 10.8.1 软件工程标准169 10.8.2 软件文档的编写170 10.9 小结172 10.10 习题173第11章 综合实例(1) --网站新闻管理系统174 11.1 问题定义174 11.2 需求分析174 11.2.1 用例图174 11.2.2 类图176 11.3 软件设计178 11.3.1 系统体系结构178 11.3.2 数据库设计178 11.3.3 功能设计180 11.3.4 界面设计181 11.4 系统测试184 11.4.1 用户界面测试184 11.4.2 功能测试184 11.4.3 数据库测试185第12章 综合实例(2) --网上书店系统187 12.1 问题定义187 12.2 需求分析188 12.3 软件设计192 12.3.1 系统体系结构192 12.3.2 功能模块192 12.3.3 数据库设计193 12.4 系统测试196 12.4.1 用户界面测试196 12.4.2 功能测试196 12.4.3 数据库测试197第13章 实训指导199 实训1 初识Visio 2003199 实训2 初识Rational Rose 2003205 实训3 需求分析209 实训4 数据库设计211 实训5 面向对象分析217 实训6 初识Visual Studio 2005 219 实训7 初识JUnit 225 实训8 初识Project 2007 229 综合习题239参考文献243
杜文洁、白萍主编的《实用软件工程与实训》选材注意把握高职高专学生的专业知识背景与接受能力,以“实例教学”的方法激发学生的学习兴趣。在教材编写上,力求做到结合实际、注重应用、便于教学,注重内容的新颖、实用和系统性。在结构安排上,深入阐述软件工程的基础理论知识,循序渐进,做到理论和实际相结合。在每章内容后面均附有小结和习题。