读书人

实用软件工程(第3版) [平装]

发布时间: 2013-12-19 04:44:05 作者: rapoo

实用软件工程(第3版) [平装]

编辑推荐

《实用软件工程(第3版)》:普通高等教育“十一五”国家级规划教材。

目录

第1章 软件工程的内容与方法1
1.1 软件的定义2
1.2 软件工程的定义4
1.3 软件工程在软件行业中的作用8
1.4 软件工程方法论10
1.4.1 软件工程方法论的提出10
1.4.2 面向过程的方法10
1.4.3 面向对象的方法12
1.4.4 面向元数据的方法13
*1.4.5 形式化方法14
*1.4.6 面向业务基础平台的方法18
1.4.7 软件工程方法论小结20
1.5 软件工程实践论21
1.5.1 软件工程实践论的提出21
1.5.2 面向流程分析21
1.5.3 面向元数据设计22
1.5.4 面向对象实现22
1.5.5 面向功能测试22
1.5.6 面向过程管理23
1.5.7 软件工程实践论小结23
1.6 软件支持过程24
1.7 软件管理过程25
1.8 实例分析——某港口信息系统建设案例26
1.9 本章小结27
习题1 28

第2章 软件生命周期与开发模型29
2.1 软件生命周期模型概论30
2.2 瀑布模型31
2.3 增量模型33
2.4 原型模型34
2.5 迭代模型36
2.6 螺旋模型39
2.7 喷泉模型41
2.8 XP模型41
2.9 各种模型之间的关系42
2.10 本章小结44
习题2 45

第3章 软件立项与合同46
3.1 软件立项方法与文档47
3.2 签订合同的方法与文档47
3.3 软件招标与投标48
3.4 下达任务的方法与文档49
3.5 本章小结53
习题3 53

第4章 软件需求分析55
4.1 需求分析的基本概念56
4.2 需求分析的任务59
4.3 需求分析的方法65
4.4 需求描述工具69
4.4.1 描述工具概述69
4.4.2 面向元数据的需求描述工具70
4.4.3 面向过程的需求描述工具71
4.4.4 面向对象的需求描述工具74
4.5 需求过程管理79
4.6 需求分析文档81
4.7 本章小结83
习题4 84

第5章 软件策划85
5.1 软件策划概论86
5.2 软件规模估计方法89
5.3 软件费用与资源估计方法91
5.4 软件策划文档92
5.5 本章小结93
习题5 93

第6章 软件建模94
6.1 三个模型的建模思想95
6.2 数据模型设计概论98
6.3 数据库设计的理论与方法102
6.4 数据模型建模实例分析——“混凝土公司信息管理 系统”建模案例108
6.5 三个模型建模实例分析——“某省级新华书店信息 管理系统”建模案例111
6.6 三个模型建模思想总结116
6.7 本章小结117
习题6 117

第7章 软件设计118
7.1 软件设计概论119
7.2 软件设计原理121
7.3 面向过程设计125
7.3.1 面向过程的概要设计125
7.3.2 面向过程的详细设计128
7.4 面向对象设计131
7.4.1 面向对象设计描述工具132
7.4.2 面向对象设计的步骤140
7.5 面向元数据设计143
7.6 软件设计方法总结146
7.7 软件设计文档146
7.8 本章小结148
习题7 149

第8章 软件测试150
8.1 软件测试概论151
8.2 软件测试模型153
8.3 黑盒测试方法156
8.3.1 等价类划分法156
8.3.2 边界值分析法157
8.3.3 错误推测法158
8.3.4 因果图分析法158
8.3.5 场景分析法159
8.3.6 黑盒测试用例设计160
8.3.7 黑盒测试的优缺点162
8.4 白盒测试方法163
8.5 灰盒测试方法167
8.6 测试过程与测试文档167
8.7 本章小结171
习题8 171

第9章173
软件实施与维护173
9.1 软件产品的分类174
9.2 软件产品的发布176
9.3 软件产品的实施177
9.4 软件维护的传统方法178
9.5 软件维护的最新方法181
9.6 软件维护文档184
9.7 本章小结185
习题9 186

第10章 软件管理187
10.1 软件过程改进模型CMMI188
10.1.1 CMMI内容简介188
10.1.2 CMMI实施思路192
*10.1.3 成熟度等级2过程域的解释196
*10.2 敏捷文化现象197
10.3 软件配置管理199
10.3.1 配置管理的基本概念199
10.3.2 配置管理员的职责202
10.3.3 配置管理工具VSS的工作原理203
10.4 软件质量保证204
10.4.1 软件质量保证基本概念205
10.4.2 软件质量保证文档207
10.5 软件项目管理208
10.5.1 项目与项目管理的定义208
10.5.2 项目经理的七项职责及十项工作程序209
10.5.3 项目经理对程序员的八项要求211
10.5.4 从大学生到项目经理213
10.5.5 软件企业人才管理策略214
10.5.6 软件企业架构及工作流215
10.6 本章小结218
习题10218
参考文献220

序言

软件工程是研究软件开发和软件管理的一门工程科学,是计算机应用及软件工程相关专业的主干课,也是软件分析设计人员、程序开发人员、软件测试人员、软件管理人员、软件售前和售后工程师、软件高层决策者必不可少的专门知识领域。本书作者根据多年的软件企业开发和高校教学的交叉从业经验,按照IT企业软件研发思路的工作流程,面向工程实践安排了书中的章节次序,采用大量工程应用案例和图表,用IT企业生产软件和管理软件的模式,构架了软件工程和软件项目管理的新体系。本书第1版和第2版分别出版于2003年和2006年,由于其独特、新颖、实用的内容和实践体系而受到众多高校师生的欢迎,并入选普通高等教育“十一五”国家级规划教材。
在即将进入“十二五”规划之际,教育部已开始实施“卓越工程师”计划,为高等工程教育带来了新的活力。一方面,目前的高校教育改革更加注重学生素质和能力的培养,更加注重工程应用和创新,更加注重实践课程和课程设计,专业课程学时也有不同程度的压缩。另一方面,目前我国高校理工科大学有研究型、工程型、应用型三种类型,其比例分别为5%,15%和80%,对高校人才进行分类培养是大势所趋。为此,本次第3版教材的修订,明确定位面向工程型和应用型高校,对内容进行了精心提炼和修改,由16章压缩为10章,去掉了不少陈旧内容,增加了许多新思想、新方法、新技术和新工具的内容,它比第2版更具科学性、先进性、工程性、实用性,更贴近高校师生的实际需求,更能体现软件企业目前的真实应用。
本书内容及特色
全书共分10章,适合于课堂教学。
第1章软件工程的内容与方法,用简练的笔触介绍了软件、软件工程、软件工程学科体系、软件工程方法论、软件工程实践论和软件开发标准、企业文化等内容。
第2章软件生命周期与开发模型,用形象的语言阐述了瀑布模型、增量模型、原型模型、迭代模型、螺旋模型、喷泉模型、XP模型的本意、特点、选择条件,并且论述了各种模型之间的联系与区别。
第3章软件立项与合同,说明软件项目或软件产品的源头是立项或签订合同,介绍立项和签订合同的方法,以及项目招标、投标概念,并且给出实用的《投标书》编写参考指南。
第4章软件需求分析,结合“图书馆信息系统”应用案例分析,论述了面向流程的需求分析任务和需求分析技巧,以及“面向过程、面向元数据、面向对象”三种需求分析方法,还阐述了这三种方法的三种不同描述工具。
第5章软件策划,论述软件策划方法,重点介绍软件项目工作量和开发费用的各种估计方法。
第6章软件建模,提出“功能模型、业务模型、数据模型”三个模型的建模思想,以及这“三个模型”的描述方式与UML“用例图、时序图和类图”等图之间的关系,并且分析了“混凝土公司信息系统”典型应用案例。另外,还提出了数据模型设计中的“第三者插足”模式与“列变行”模式。最后还给出了“某省级新华书店信息管理系统”综合应用建模案例分析。
第7章软件设计,通过图、表、实例介绍了软件设计原理,讨论了“功能模型、业务模型、数据模型”的建模思想,与“浏览层、业务逻辑层、数据层”B/A/S三层结构设计思想之间的对应关系,详细论述“面向过程、面向元数据、面向对象”三种设计方法,提出了面向对象设计的具体实施步骤。
第8章软件测试,介绍软件测试V模型,详述软件测试中常用的黑盒测试、白盒测试和灰盒测试技术,以及测试用例的设计方法。
第9章软件实施与维护,阐述了软件实施的主要工作是实现软件产品的客户化,以及软件维护的最新方法。
第10章软件管理,论述软件管理是面向过程的,管理的主要模型是CMMI,管理的中心议题是软件配置管理、软件质量保证和软件项目管理。软件配置管理是基础,软件质量保证是核心,软件项目管理是关键。
本书适合作为高校计算机、软件工程、电子信息、信息与计算科学、信息管理与信息系统等专业本科生教材。也可作为IT企业培训教材或软件工作者的自学读物。
教学安排建议及教学服务
建议先修课程:数据结构、面向对象程序设计、操作系统、编译原理、计算机网络和数据库原理与应用等。
建议理论教学时数:48~64学时。
关于实践环节:配套软件工程实践课程,建议48学时。本书配套出版《软件工程实践教程(第2版)》,介绍开发工具PowerDesigner,RationalRose,并给出了三个应用开发项目——“网上投票系统(.NET平台)”、“网上论坛系统(J2EE平台)”和“学生信息管理系统(VB平台)”。

文摘

插图:



作量,最多时有1000人投入开发工作,源程序代码近100万行。尽管投入了这么多的人力和物力,得到的结果却极其糟糕。据统计,该操作系统每次发行的新版本,都是从前一个旧版本中找出1000个程序错误而修正的结果。可想而知,这样的软件质量糟糕到什么地步。
由此可见,所谓软件危机,就是在软件开发和维护过程中所遇到一系列难以控制的问题。“软件危机”这个专业术语的首次出现,是1968年NATO North Atlantic Treaty Organization,北约)的计算机科学家,在联邦德国召开的国际学术会议上提出的。
为了克服软件危机,同样是在1968年,北约科技委员会召集了近50名一流的编程人员、计算机科学家和工业界巨头,讨论和制定摆脱“软件危机”的对策。就在那次会议上,第一次提出了软件工程(Software Engineering)这个专业术语。当时人们的想法是:若借用建筑工程或机器制造工程的思想、标准、规范、规程去开发软件与维护软件,也许能克服软件危机。以后的实践证明:用工程的方法开发软件与维护软件是个好主意,但是要完全克服软件危机,还有许多其他工作要做。 2.软件工程定义 1993年,权威杂志IEEE对软件工程的定义是:软件工程是将系统化的、严格约束的、可量化的方法,应用于软件开发、运行和维护中去。
2001年,软件工程大师Roger S Pressman对软件工程的定义是:软件工程是一个过程、一组方法和一系列工具。
由于软件技术飞速发展,所以软件工程的定义也要与时俱进。下面,根据当前软件技术的进展状况,给出现代软件工程的最新定义。
软件工程是研究软件开发和软件管理的一门工程学科。
这里,一是强调开发。开发是软件工程的主体,开发是在规定的时间、按照规定的成本、开发出符合规定质量要求的软件。二是强调管理,或过程管理。当然,开发中有管理,管理是为了更好地开发。所以开发和管理是一个问题的相辅相成的两个方面。许多软件项目的失败,不是在开发技术上出了问题,而是在管理过程上出了问题。所以在某种程度上说,对于一个软件企业,过程管理比开发技术更重要。三是强调工程。要将软件的开发(包括维护)当作一项工程,既要按照工程的办法去开发,又要按照工程的办法去管理。四是强调学科。时至今日,软件工程不只是一门课程,而是一个学科体系,即软件工程知识体系。 3.软件工程学科体系 软件工程作为一个学科体系,到21世纪初才初步形成。2001年4月18日,美国发布了软件工程知识体系指南SWEBOK(guide to the Soft Ware Engineering Boay Of Knowledge)0.95版。2004年,软件工程学科体系的内容才基本确立,就在这一年,美国ACM和IEEE-CS联合制订了SWEBOK 2004年版,它将软件工程学科体系的知识划分为如下10个知识域:
(1)软件需求(Software Requirements)。软件需求是真实世界中的问题而必须展示的特性。软件需求知识域有7个子域:需求基础、需求过程、需求获取、需求分析、需求规格说明、需求确认、实践考虑。

喜欢实用软件工程(第3版) [平装]请与您的朋友分享,由于版权原因,读书人网不提供图书下载服务

读书人网 >软件工程

热点推荐