软件工程与实践(第2版)

软件工程与实践(第2版)"

作者:贾铁军、俞小怡、沈学东、杨志和、覃海焕
ISBN:9787302429500
定价:¥49
字数:千字
页数:
出版时间:2016.04.01
开本:
版次:2-6
装帧:
出版社:清华大学出版社
简介

教材特色:上海市高校优秀教材奖及精品课程负责人主编,突出“教、学、练、做、用一体化”,实用、新颖、操作性强。设有教学目标、新技术及应用案例、同步实验与课程设计指导、开发文档、实践与练习题及部分答案,并提供多媒体课件等。

主要内容:全书共分10章,包括软件工程基础概述、软件研发可行性分析、软件项目立项与计划、需求分析、软件设计、面向对象开发技术、软件实现技术、软件测试与维护、软件项目管理、软件工程新技术与现代软件工程新体系及方法、WebApp实用软件开发综合案例等。体现软件研发的新知识、新技术、新方法、新成果、新标准及新应用和同步实验及课程设计指导与实用文档模版等。

    本书可作为高校计算机与信息类、工程与管理类等学科专业的相关课程的教材,也可作为培训教材及参考用书。可根据进行选学。

前言

进入21世纪这个现代信息化社会,信息技术的快速发展和广泛应用对人类社会的进步、工作和生活带来深刻变革。一个国家信息化建设与发展和信息技术应用水平体现了该国的综合国力,决定了国际竞争地位。软件已经成为信息化的核心,是信息技术及其应用与发展的关键,备受世界瞩目的软件产业已经成为发展最快的朝阳产业,软件开发、管理、维护能力和先进的软件技术,直接影响国家信息化建设发展和信息技术的应用水平,软件工程技术和管理与应用水平已成为促进软件产业健康发展的关键。随着各行业信息化、数字化、电子与现代化建设及网络技术的快速发展和在各种业务方面的广泛应用,对软件需求、管理和维护技术的要求越来越高,尽快培养和提高软件的研发、管理及维护的相关知识、素质、能力极为重要。

在世界范围内,各国都极为重视并加快信息化的建设和软件产品的研发与应用,也极大地促进了软件工程的快速发展。为了不断提高软件开发的质量和软件管理、应用与维护的水平,必须学习、研究和应用软件工程的基本理论和技术,才能使我国的软件产业在国际竞争中占有一席之地,并带动整个信息化建设、发展和技术应用水平及综合国力的提高。

软件工程是计算机科学与技术学科中的一个重要分支,是一门指导计算机及手机等软件进行研发、运行、维护和管理的工程领域。主要利用工程化的思想、概念、原理、技术和方法,在可行性分析、计划、开发、运行、维护、管理和应用软件过程中,将最佳的技术与方法和科学管理紧密结合,以较经济的手段获得满足用户需求的安全可靠软件的一系列方法,即软件工程=工程原理+技术方法+管理技术。软件工程不仅具有一般工程学科的共性,还具有智能性、抽象性、复杂性、更新性、系统性、工程化、综合性和学科交叉性等特点。 \软\件\工\程\与\实\践\(第2版)\// 

软件工程是一个综合利用计算机科学、工程科学、管理科学、数学等综合交叉多学科的领域,涉及的内容及研究的范围很广泛,不仅涵盖软件的开发方法和技术、管理与维护技术,还包括软件工具、环境及软件开发的标准和规范。现在,软件工程学科正处于发展完善过程中,一些有关概念、体系结构和内容等尚未统一,根据软件工程研究的对象和任务,软件工程学科主要包括软件工程原理、软件工程过程、软件工程方法、软件工程技术、软件工程模型、软件工程管理、软件工程度量、软件工程环境、软件工程应用等基本内容。30多年来,我们一直坚持“校企合作、产学研用结合”,始终从事计算机及信息领域的教学、科研和学科专业建设与管理工作,多次主持过相关方面的项目研究,积累了丰富的实践经验, 为满足高校对高等专业人才相关知识、素质和能力培养的需要,编写了这部教材,谨以此奉献给各位。

本书从实用的角度出发,根据教育部高教司审定的《中国计算机科学与技术学科教程2009》中对软件工程的要求,并参照美国计算机协会ACM(Association for Computing Machinery )和IEEE Computing Curricula 教程关于软件工程方面的有关内容,吸取了国内外软件工程的实用技术、新方法、新成果、新应用和新标准规范,本书也是上海市高校教育高地暨特色专业建设项目成果之一。由于受欢迎,特此出版第2版。

全书主要内容共分10章,包括软件工程基础概述、软件研发可行性分析、软件项目立项与开发计划、软件需求分析、软件设计、面向对象开发技术、软件实现技术、软件测试与维护、软件项目管理、软件工程新技术与现代软件工程新体系及方法、Web实用软件开发综合应用,同步实验和课程设计指导等。书中增加了很多新典型实际应用案例,以及经过多年实践总结出来的研发案例分析、同步实验、课程设计指导及最新研究成果等,以便实际应用。书中带*部分为选学内容。

本书旨在重点介绍软件工程技术、方法和实际应用等方面的最新成果。本教材主要是专门针对高校相关高等专业人才培养要求编写的特色教材,其主要特点如下。

(1)   内容先进,结构新颖。吸收了国内外大量的新知识、新技术、新方法和国际通用准则。注重科学性、先进性、操作性。图文并茂、学以致用。

(2)   注重实用性和特色。坚持“实用、特色、规范、可操作性”原则,突出“教、学、练、做、用一体化”和实用性强及素质能力培养,增加大量典型案例,在内容安排上将理论知识与实际应用有机结合,配有典型及综合应用案例与同步实验指导。

(3)   资源配套,便于教学。为了方便师生教学,配有电子教案,附有“同步实验指导”和“课程设计指导”及练习与实践习题,并附有部分习题答案及常用文档指南。

本书由上海市高校优秀教材奖获得者及多次获得上海市高校精品课程负责人贾铁军教授任主编,统稿并编写第1章、第3章、第4章、第7章和第10章及目录、附录等,俞小怡副教授(大连理工大学)任副主编并编写第2章,沈学东副教授(上海)任副主编并编写第5章,杨志和博士任副主编并编写第6章和第8章,覃海焕博士任副主编并编写第9章,一些专业教师和研究生参加了审校和修改等工作,对全书的文字、图表进行了校对编排及查阅资料等,并完成了部分课件制作。

非常感谢清华大学出版社广大员工的辛勤工作,他们为本书的编写提供了许多重要帮助、指导意见和参考资料。同时,感谢对本书编写给予大力支持与帮助的各位同仁、院校和相关企业单位。对编写过程中参阅大量的重要文献资料难以完全准确注明,在此深表诚挚谢意!

由于水平有限,书中难免存在不妥之处,敬请见谅!欢迎提出宝贵意见和建议。

编者2015年10月于上海

目录

第1章软件工程基础概述1

1.1软件工程的发展1

1.1.1软件危机概述1

1.1.2软件工程的发展过程3

1.2软件及软件工程概述5

1.2.1软件的概念特点和分类5

1.2.2软件工程的概念及特点7

1.2.3软件工程学及其主要内容8

1.2.4软件过程及开发过程13

1.2.5软件工程基本原理及原则16

1.3软件生存周期17

1.3.1软件生存周期的有关概念17

1.3.2软件生存周期的阶段划分17

1.3.3软件生存周期各阶段的任务18

1.4软件开发模型19

1.4.1瀑布模型概述19

1.4.2快速原型模型概述21

1.4.3增量模型概述21

1.4.4螺旋模型概述22

1.4.5喷泉模型概述22

1.4.6基于面向对象的模型24

*1.4.7其他软件开发模型24

1.4.8软件开发模型的选定27

1.5实验一软件开发准备及Visio应用28

1.5.1任务一软件开发前准备工作28

1.5.2任务二Microsoft Visio 2013应用29\软\件\工\程\与\实\践\(第2版)\// 1.6本章小结32

1.7练习与实践一32

第2章可行性分析及开发计划34

2.1软件问题的提出和定义34

2.1.1软件问题的提出34

2.1.2软件问题初步调研35

2.1.3软件问题定义的内容36

2.2可行性分析及立项39

2.2.1可行性分析的概念及目的39

2.2.2可行性分析的任务及内容40

2.2.3可行性分析的过程44

2.3软件立项及合同签订45

2.3.1软件立项方法及文档46

2.3.2签订合同的方法与文档46

2.3.3任务下达的方式及文档48

2.4系统流程图48

2.4.1系统流程图基本符号48

2.4.2系统流程图主要用途49

2.5软件开发计划51

2.5.1软件开发计划的目的及分类51

2.5.2软件开发计划的内容及制订51

2.5.3软件开发计划书55

2.6实验二软件可行性分析报告59

2.6.1实验目的59

2.6.2实验任务及要求59

2.6.3实验内容及步骤59

2.7本章小结61

2.8练习与实践二61

第3章软件需求分析64

3.1软件需求分析概述64

3.1.1软件需求分析的概念及特点64

3.1.2软件需求分析的目的和原则66

3.2软件需求分析的任务及过程67

3.2.1软件需求分析的任务67

3.2.2软件需求分析的过程70

3.3软件需求分析描述工具71

3.3.1软件需求描述工具概述71

3.3.2业务流程图72

3.3.3数据流图及数据字典73

3.3.4处理过程描述81

3.4软件需求分析方法83

3.4.1软件需求分析方法的种类83

3.4.2结构化分析方法84

3.4.3面向流程分析方法85

3.5软件需求分析文档88

3.5.1软件需求文档概述88

3.5.2软件需求文档编写90

3.6实验三需求分析文档与PowerDesigner建模93

3.6.1实验目的93

3.6.2实验要求94

3.6.3实验内容和步骤94

3.6.4实验报告要求94

3.7本章小结95

3.8练习与实践三96

第4章软件设计98

4.1软件设计概述98

4.1.1软件设计的概念和目标98

4.1.2软件设计的过程99

4.2软件总体设计100

4.2.1软件总体设计的任务100

4.2.2总体设计的原则和过程100

4.2.3软件总体设计的方法104

4.3软件详细设计108

4.3.1详细设计的任务和原则109

4.3.2详细设计的方法和工具109

4.4数据库设计概述111

4.4.1数据库设计的任务及步骤111

4.4.2概念数据模型设计112

4.4.3逻辑结构及物理结构设计112

4.5网络系统设计概述113

4.5.1网络技术及结构设计113

4.5.2网络站点及接入设计114

4.5.3网络性能及安全性设计115

4.6用户界面设计118

4.6.1界面设计的意义及任务118

4.6.2用户界面设计的原则118

4.6.3对话设计基本方法119

4.6.4数据输入界面设计120

4.6.5数据输出界面设计122

4.6.6控制界面的设计124

4.7软件设计文档125

4.7.1系统/子系统设计(结构设计)说明(SSDD)125

4.7.2详细设计文档及设计评审131

4.8实验四编写详细设计文档132

4.8.1实验目的132

4.8.2实验内容及步骤132

4.8.3实验结果133

4.9本章小结133

4.10练习与实践四134

第5章面向对象开发技术135

5.1面向对象的相关概念135

5.1.1对象与类136

5.1.2继承及多态性137

5.1.3消息与方法138

5.2面向对象方法概述138

5.2.1面向对象方法的概念138

5.2.2面向对象方法的特点139

5.2.3面向对象开发过程及范型139

5.2.4面向对象开发方法140

5.3面向对象分析143

5.3.1面向对象分析的任务143

5.3.2面向对象分析的过程143

5.3.3对象建模技术144

5.3.4UML概述147

5.4面向对象设计151

5.4.1面向对象设计的准则及任务152

5.4.2系统设计的过程153

5.4.3对象设计的过程156

5.4.4类设计的目标及方法157

5.5面向对象分析和设计实例159

5.5.1图书管理信息系统OOA实例159

5.5.2图书管理信息系统OOD实例162

5.6实验五Rational Rose应用165

5.6.1用Rational Rose绘制用例图165

5.6.2用Rational Rose绘制类图167

5.7本章小结172

5.8练习与实践五173

第6章软件实现174

6.1软件实现概述174

6.1.1软件实现的任务及过程174

6.1.2软件实现的准则175

6.1.3软件实现策略与管理176

6.2编程语言与编码技术179

6.2.1编程语言概述179

6.2.2编程语言的选择183

6.2.3常用编程方法186

6.2.4编程规范及风格188

6.3常用编程工具与环境192

6.3.1常用集成开发环境193

6.3.2编码管理系统及编译程序194

6.3.3软件生成技术195

6.4软件实现的文档196

6.4.1实现文档的组成及要求196

6.4.2软件用户手册编写197

6.5实验六应用软件编程实现199

6.6本章小结200

6.7练习与实践六200

第7章软件测试与维护202

7.1软件测试概述202

7.1.1软件测试的概念及内容202

7.1.2软件测试的目的和原则204

7.2软件测试的特点及过程205

7.2.1软件测试的特点205

7.2.2软件测试的过程206

7.3软件测试阶段及任务209

7.3.1单元测试及任务209

7.3.2集成测试与软件集成209

7.3.3有效性测试及内容212

7.3.4系统测试及验收213

7.4软件测试策略及面向对象测试214

7.4.1软件测试策略214

7.4.2面向对象软件测试 216

7.5软件测试方法、用例及标准217

7.5.1软件测试方法217

7.5.2软件测试用例设计及方法222

7.5.3软件测试标准和工具225

7.5.4软件测试文档228

7.6软件调试与发布229

7.6.1软件调试的特点及过程229

7.6.2软件调试的方法230

7.6.3软件调试的原则231

7.6.4软件推广及发布232

7.7软件维护233

7.7.1软件维护概述233

7.7.2软件维护策略及方法234

7.7.3软件维护过程及任务234

*7.7.4软件再工程技术235

7.8实验七软件测试与调试应用236

7.9本章小结237

7.10练习与实践七238

第8章软件项目管理240

8.1软件项目管理概述240

8.1.1软件项目管理的概念及特点240

8.1.2软件项目管理的过程及内容242

8.2软件项目的启动与组织管理243

8.2.1软件项目的启动过程及任务243

8.2.2软件项目组织管理245

8.3软件项目进度管理248

8.3.1软件项目进度估算248

8.3.2软件项目进度安排251

8.4软件项目的过程管理255

8.4.1软件项目需求管理255

8.4.2软件项目质量管理256

8.4.3软件配置管理259

8.4.4软件项目风险管理261

8.5软件项目监控与验收265

8.5.1软件项目监控过程265

8.5.2软件项目监控内容及方法266

8.5.3软件项目评审268

8.5.4软件项目收尾与验收269

8.6实验八软件项目管理应用271

8.7本章小结273

8.8练习与实践八274

第9章软件工程新技术及体系277

9.1软件工程新技术277

9.1.1面向服务的计算277

9.1.2云计算技术281

9.1.3大数据技术285

*9.2能力成熟度集成模型287

9.2.1CMMI概述287

9.2.2CMMI能力成熟度级别288

9.2.3CMMI的评估及应用289

*9.3软件工程新体系291

9.3.1IBM Rational软件工程体系291

9.3.2微软软件工程体系293

9.3.3敏捷软件工程体系297

*9.4形式化方法及其软件工程体系301

9.4.1形式化方法301

*9.4.2净室软件工程体系303

9.5本章小结307

9.6练习与实践九308

第10章WebApp开发综合案例310

10.1WebApp项目开发概述310

10.1.1WebApp的特点及类型311

10.1.2WebApp的开发任务、过程和方法312

10.1.3WebApp需求分析315

10.1.4WebApp设计方法318

10.1.5WebApp测试技术和方法322

10.1.6WebApp项目管理325

10.2Web商品进销存信息系统327

10.2.1系统需求分析327

10.2.2系统设计333

10.2.3系统实现338

10.3Web图书商城信息系统343

10.3.1可行性分析343

10.3.2软件需求分析344

10.3.3软件设计348

10.3.4软件实现352

10.4课程设计任务书及评价356

10.4.1课程设计任务书356

10.4.2课程设计报告评价358

10.5本章小结360

附录A练习与实践习题部分参考答案361

附录B软件工程部分文档编写指南365

参考文献379

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个