软件工程实用教程
作者 : 吕云翔 王洋 王昕鹏 编著
出版日期 : 2010-10-27
ISBN : 978-7-111-31844-6
适用人群 : 本书适合作为高等院校计算机、软件工程及相关专业本科
定价 : 29.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 242
开本 : 16
原书名 :
原出版社:
属性分类: 教材
包含CD :
绝版 :
图书简介

本书介绍了软件工程的基本原理和实现的流程,主要内容包括基本概念、可行性分析及需求分析、软件设计、编码及实现、软件测试与维护、面向对象的软件工程、软件项目管理等。此外本书还包括相关的实验以及贯穿全书的案例。

图书特色

软件工程实用教程
吕云翔 王洋 王昕鹏 编著

本书是结合作者多年从事软件工程课程教学的经验编写而成的,采用理论和实践相结合的方式,按照典型的软件开发过程来组织内容。为了体现软件工程知识体系的层次,并具有更好的实践指导意义,书中除了介绍软件工程的基本概念、理论、方法和过程外,还十分重视软件工程相关工具的使用,并通过实际案例来讲述软件工程在实际软件项目开发中的应用和体现。

本书特点:
在介绍理论知识的同时,适当选取可操作性和实用性强的实例进行讲解,以加深学生对软件工程思想和方法的理解和掌握。
每章基本按照基础理论和知识介绍、相关技术和方法介绍、软件工程工具使用介绍以及实际软件项目应用介绍的顺序来组织内容,并给出相应的练习题,以加深学生对重点知识的掌握。
最后一章介绍了一个相对完整的项目开发实例,贯穿面向对象的软件工程相关内容,并给出了一些建议练习项目供读者进行实际开发,并同时让读者在这个过程中体会软件工程的基本知识和相关工具的应用。

图书前言

20世纪60年代,为了解决出现的“软件危机”,人们提出了软件工程的概念,并将其定义为“为了经济地获得可靠的和能在实际机器上高效运行的软件,而建立和使用的健全的工程规则”。经过40多年的发展,人们对软件工程有了更全面更科学的认识,软件工程已经成为一门包括理论、方法、过程等内容的独立的学科,并出现了相应的软件工程支撑工具。
  然而即使在21世纪的今天,软件危机的种种表现依然没有彻底地得到解决,现实中的很多项目依然挣扎在无法完成或无法按照规定的时间、成本、按预期的质量完成的泥潭中,面临着失败的危险。究其原因,是软件工程的思想和方法并未深入到计算机科学技术,特别是软件开发领域中,并指导人们的开发行为。
  为了振兴中国的计算机和软件产业,培养具备软件工程思想和技术,并具有相应开发经验的人才,国家近年来十分重视软件工程相关课程的建设和人才培养。除了建立专门的软件工程专业,也倡导在计算机科学与技术及相关专业开设软件工程课程,使得软件工程思想和技术在中国的IT人才中得到普及。
  本书面向普通大学计算机及相关专业的学生,也可供计算机和软件开发爱好者自学使用。为了体现软件工程知识体系的层次,并具有更好的实践指导意义,本书除了介绍软件工程的基本概念、理论、方法和过程,还十分重视软件工程相关工具使用方法的介绍,并通过实际案例来讲述软件工程在实际软件项目开发中的应用和体现。
  本书按照典型的软件开发过程来组织内容,全书分为8章。第1章概要介绍软件工程的起源,软件工程相关概念,软件工程方法、过程和工具;第2~5章分别介绍软件可行性研究及软件需求分析,软件设计,软件编码及实现,软件测试与维护;第6章详细介绍了面向对象的软件工程;第7章介绍了软件工程中涉及的管理方面的相关内容,包括项目计划、软件资源管理、进度管理、人员管理、风险管理等内容。
  每章开头的“本章目标”概述了该章的主要内容;每章基本按照基础理论和知识介绍、相关技术和方法介绍、软件工程工具使用介绍和实际软件项目应用介绍的顺序来组织内容;每章小结对该章主要内容进行总结和回顾;在每章的最后给出了一定数量的练习题,帮助读者检验该章的学习效果,加深重点知识的印象。
  为了进一步加强本书的实践指导意义,本书在第8章安排进行一个相对完整的项目开发,贯穿面向对象的软件工程相关内容,并在该章给出了一些建议练习项目,读者可以选择一些项目进行实际开发,并在这个过程中体会软件工程的基本知识和相关工具的应用。
  本书作者一直在北京航空航天大学软件学院担任软件工程课程的教学工作,进行了大量的教学探索和研究。在编写本书的过程中,大量借鉴了笔者和同事在北航软件学院教学中的相关经验。在此感谢北航软件学院同仁的支持和帮助,以及提供的各种宝贵资料和建议。
  由于作者的学习能力和水平有限,书中难免有错误和缺陷,恳请广大读者给予批评指正,也希望各位能将教学和学习过程中的经验、心得与我们交流。
编者
2010年6月于北京
yunxianglu@hotmail.com 

上架指导

计算机\软件工程

封底文字

本书是结合作者多年从事软件工程课程教学的经验编写而成的,采用理论和实践相结合的方式,按照典型的软件开发过程来组织内容。为了体现软件工程知识体系的层次,并具有更好的实践指导意义,书中除了介绍软件工程的基本概念、理论、方法和过程,还十分重视软件工程相关工具的使用,并通过实际案例来讲述软件工程在实际软件项目开发中的应用和体现。

本书主要特点
·在介绍理论知识的同时,适当选取可操作性和实用性强的实例进行讲解,以加深学生对软件工程思想和方法的理解和掌握。
·每章基本按照基础理论和知识介绍、相关技术和方法介绍、软件工程工具使用介绍和实际软件项目应用介绍的顺序来组织内容,并给出相应的练习题,以加深学生对重点知识的掌握。
·最后一章介绍了一个相对完整的项目开发实例,贯穿面向对象的软件工程相关内容,并给出了一些建议练习项目供读者进行实际开发,并在这个过程中体会软件工程的基本知识和相关工具的应用。

图书目录

前言
教学建议

第1章  软件工程概述 1
1.1  软件概述 1
1.1.1  软件的概念及特点 1
1.1.2  软件的分类 3
1.2  软件危机 4
1.2.1  软件危机的表现与原因 4
1.2.2  软件危机的启示 5
1.3  软件工程 6
1.3.1  软件工程概念 6
1.3.2  软件工程发展 7
1.3.3  软件工程目标和原则 9
1.3.4  软件工程知识体 10
1.4  软件过程 12
1.4.1  软件过程概念 12
1.4.2  软件过程标准 13
1.4.3  软件生存周期模型 15
1.5  软件开发方法 20
1.6  软件工程工具 22
1.7  软件工程课程学习资源 25
1.8  “学生档案管理系统”案例介绍 26
1.9  小结 26
1.10  练习题 27
第2章  可行性研究及软件需求分析 28
2.1  可行性研究 28
2.1.1  项目立项概述 28
2.1.2  可行性研究内容 29
2.1.3  可行性研究步骤 29
2.2  需求分析基本概念 31
2.2.1  需求分析任务 31
2.2.2  需求分析步骤 32
2.2.3  需求管理 33
2.3  结构化需求分析方法 34
2.4  结构化分析建模 35
2.4.1  实体联系图 35
2.4.2  数据流图 37
2.4.3  数据字典 40
2.4.4  状态迁移图 41
2.5  Visio的功能及使用方法介绍 42
2.6  利用Visio绘制“学生档案管理系统”
的数据流图 48
2.7  “学生档案管理系统”软件需求说明书 52
2.8  小结 58
2.9  练习题 59
第3章  软件设计 60
3.1  软件设计的基本概念 60
3.1.1  软件设计的意义和目标 60
3.1.2  软件设计原则 60
3.1.3  软件设计分类 62
3.2  软件的体系结构 63
3.2.1  软件体系结构建模 64
3.2.2  软件体系结构风格 64
3.2.3  软件质量属性 67
3.3  软件概要设计 67
3.3.1  软件概要设计中的重要概念和原则 67
3.3.2  软件概要设计方法 69
3.4  软件详细设计 71
3.4.1  数据设计 71
3.4.2  界面设计 74
3.4.3  构件设计 75
3.4.4  面向数据结构的设计方法 78
3.5  利用面向数据流的方法设计“学生
档案管理系统” 79
3.6  “学生档案管理系统”软件设计说明书 81
3.7  小结 91
3.8  练习题 92
第4章  软件编码及实现 94
4.1  程序设计语言 94
4.1.1  程序设计语言的发展与分类 94
4.1.2  常见程序设计语言介绍 95
4.1.3  选择程序设计语言的考虑因素 96
4.2  编码风格 97
4.3  Visual Studio 101
4.3.1  Visual Studio界面介绍 103
4.3.2  Helloworld程序 104
4.3.3  加法程序 107
4.3.4  图形界面 109
4.3.5  调试 114
4.4  使用Visual Studio实现“学生档案
管理系统”用户验证模块 116
4.4.1  建立数据库和表 116
4.4.2  编写数据库操作代码 118
4.4.3  编写页面和逻辑代码 119
4.5  小结 120
4.6  练习题 121
第5章  软件测试与维护 122
5.1  软件测试的基本概念 122
5.1.1  软件测试原则 122
5.1.2  软件测试分类 124
5.1.3  软件测试模型 125
5.2  软件测试策略 127
5.2.1  软件测试步骤 127
5.2.2  软件测试信息流 127
5.2.3  软件测试文档 128
5.3  测试用例 129
5.3.1  测试用例设计方法 130
5.3.2  测试用例场景 130
5.4  软件测试方法 131
5.4.1  等价类划分法 131
5.4.2  基本路径测试法 133
5.5  软件维护 135
5.5.1  软件维护的概念 135
5.5.2  软件维护过程 137
5.5.3  软件的可维护性 137
5.5.4  软件维护的副作用 138
5.6  使用Visual Studio的Unit Test功能 139
5.6.1  新建一个Project 139
5.6.2  编码 139
5.6.3  建立Unit Test 140
5.6.4  进行测试 141
5.7  “学生档案管理系统”的测试分析报告 143
5.8  “学生档案管理系统”的使用说明书 150
5.9  小结 156
5.10  练习题 156
第6章  面向对象的软件工程 158
6.1  面向对象概述 158
6.1.1  面向对象的基本概念 158
6.1.2  面向对象的实施步骤 160
6.2  面向对象建模语言 161
6.2.1  “4+1”视图 161
6.2.2  UML相关图 162
6.3  面向对象的分析 164
6.4  面向对象的设计 166
6.5  面向对象的实现 167
6.6  面向对象的测试 168
6.7  利用Rose工具绘制“学生档案管理
系统”的用例图 169
6.8  利用Rose工具绘制“学生档案管理
系统”的顺序图 175
6.9  利用Rose工具绘制“学生档案管理
系统”的类图 176
6.10  小结 180
6.11  练习题 181
第7章  软件工程管理 182
7.1  软件项目管理 182
7.1.1  软件项目管理概述 182
7.1.2  项目计划 183
7.1.3  项目范围管理 184
7.1.4  项目资源和成本管理 185
7.1.5  项目时间管理 186
7.2  软件组织和人员管理 188
7.3  软件质量保证 190
7.3.1  软件质量管理 190
7.3.2  CMM模型 191
7.4  软件配置管理 192
7.5  风险管理 193
7.5.1  软件风险 193
7.5.2  软件风险管理 194
7.6  软件文档 196
7.7  Project的功能及使用方法介绍 197
7.8  利用Project对“学生档案管理系统”
的开发过程进行管理 203
7.9  小结 208
7.10  练习题 209
第8章  项目综合实践 210
8.1  面向对象的分析 210
8.1.1  收集并整理原始需求 210
8.1.2  构建并描述用例模型 211
8.1.3  优化用例模型 212
8.2  面向对象的设计 214
8.2.1  确定候选业务对象 214
8.2.2  确定属性 214
8.2.3  确定服务 215
8.2.4  确定关系 215
8.3  系统实现与测试 218
8.4  小结 230
8.5  练习题 230
参考文献 232

教学资源推荐
作者: (美)Stephen R. Schach 著 范德比尔特大学
作者: 江颉 董天阳 王婷 编著
作者: (美)Michael J.Laszlo
参考读物推荐
作者: Alan Shalloway, James R.Trott
作者: (美)Martin Fowler
作者: [加]托马斯·埃尔(Thomas Erl) [德]安德烈·托斯特(Andre Tost) [印]萨塔德鲁·罗伊(Satadru Roy) [英]菲利普·托马斯(Philip Thomas)著