当前位置: 100md首页 > 电子书籍 > 资料下载2021 >
编号:46645
软件工程导论第六版张海藩.pdf
http://www.100md.com 2020年11月17日
第1页
第5页
第15页
第25页
第47页

    参见附件(98456KB,364页)。

    软件工程导论第六版张海藩

    软件工程导论第六版张海藩作者对第四版作了下述的精心修改:增加了目前比较流行的Rational统一过程、以极限编程为杰出代表的敏捷过程以及微软过程的介绍,并且对书中的一些具体内容作了适当的增删或修改。需要的就快来吧

    相关内容部分预览

    内容简介· · · · · ·

    《软件工程导论(第5版)》的前4个版本累计销售近一百万册,已成为软件工程领域的经典教材,先后荣获全国普通高等学校工科电子类专业优秀教材二等奖、一等奖,并被评为全国优秀畅销书、全国高校出版社优秀畅销书和北京高等教育精品教材。为了反映最近4年来软件工程的发展状况,作者对第四版作了下述的精心修改:增加了目前比较流行的Rational统一过程、以极限编程为杰出代表的敏捷过程以及微软过程的介绍,并且对书中的一些具体内容作了适当的增删或修改。《软件工程导论(第5版)》可作为高等院校“软件工程”课程的教材或教学参考书,也可供有一定实际经验的软件工作人员和需要开发应用软件的广大计算机用户阅读参考。

    目录

    第1章软件工程学概述1

    1.1软件危机11.1.1软件危机的介绍11.1.2产生软件危机的原因31.1.3消除软件危机的途径4

    1.2软件工程51.2.1软件工程的介绍51.2.2软件工程的基本原理71.2.3软件工程方法学9

    1.3软件生命周期11

    1.4软件过程141.4.1瀑布模型151.4.2快速原型模型161.4.3增量模型171.4.4螺旋模型191.4.5喷泉模型211.4.6Rational统一过程221.4.7敏捷过程与极限编程251.4.8微软过程29

    1.5小结31

    习题132

    第2章可行性研究35

    2.1可行性研究的任务35

    2.2可行性研究过程36

    2.3系统流程图382.3.1符号382.3.2例子382.3.3分层40

    2.4数据流图40[][]软件工程导论(第6版)[][]目录[][]2.4.1符号402.4.2例子422.4.3命名442.4.4用途45

    2.5数据字典472.5.1数据字典的内容472.5.2定义数据的方法472.5.3数据字典的用途482.5.4数据字典的实现49

    2.6成本/效益分析492.6.1成本估计502.6.2成本/效益分析的方法51

    2.7小结53

    习题253

    第3章需求分析55

    3.1需求分析的任务563.1.1确定对系统的综合要求563.1.2分析系统的数据要求573.1.3导出系统的逻辑模型583.1.4修正系统开发计划58

    3.2与用户沟通获取需求的方法583.2.1访谈583.2.2面向数据流自顶向下求精593.2.3简易的应用规格说明技术593.2.4快速建立软件原型61

    3.3分析建模与规格说明62

    3.3.1分析建模62

    3.3.2软件需求规格说明62

    3.4实体联系图62

    3.4.1数据对象63

    3.4.2属性63

    3.4.3联系63

    3.4.4实体联系图的符号64

    3.5数据规范化64

    3.6状态转换图65

    3.6.1状态653.6.2事件65

    3.6.3符号66

    3.6.4例子66

    3.7其他图形工具67

    3.7.1层次方框图68

    3.7.2Warnier图68

    3.7.3IPO图69

    3.8验证软件需求70

    3.8.1从哪些方面验证软件需求的正确性70

    3.8.2验证软件需求的方法70

    3.8.3用于需求分析的软件工具71

    3.9小结72

    习题373

    第4章形式化说明技术75

    4.1概述75

    4.1.1非形式化方法的缺点75

    4.1.2形式化方法的优点76

    4.1.3应用形式化方法的准则76

    4.2有穷状态机77

    4.2.1概念77

    4.2.2例子794.2.3评价82

    4.3Petri网824.3.1概念82

    4.3.2例子84

    4.4Z语言854.4.1简介85

    4.4.2评价88

    4.5小结88

    习题489

    第5章总体设计91

    5.1设计过程91

    5.2设计原理94

    5.2.1模块化94

    5.2.2抽象955.2.3逐步求精95

    5.2.4信息隐藏和局部化96

    5.2.5模块独立97

    5.3启发规则99

    5.4描绘软件结构的图形工具102

    5.4.1层次图和HIPO图102

    5.4.2结构图103

    5.5面向数据流的设计方法104

    5.5.1概念104

    5.5.2变换分析105

    5.5.3事务分析111

    5.5.4设计优化112

    5.6小结113

    习题5114

    第6章详细设计117

    6.1结构程序设计117

    6.2人机界面设计119

    6.2.1设计问题119

    6.2.2设计过程121

    6.2.3人机界面设计指南122

    6.3过程设计的工具124

    6.3.1程序流程图124

    6.3.2盒图125

    6.3.3PAD图126

    6.3.4判定表127

    6.3.5判定树128

    6.3.6过程设计语言128

    6.4面向数据结构的设计方法129

    6.4.1Jackson图130

    6.4.2改进的Jackson图131

    6.4.3Jackson方法132

    6.5程序复杂程度的定量度量136

    6.5.1McCabe方法137

    6.5.2Halstead方法139

    6.6小结140

    习题6140

    第7章实现145

    7.1编码146

    7.1.1选择程序设计语言146

    7.1.2编码风格147

    7.2软件测试基础149

    7.2.1软件测试的目标150

    7.2.2软件测试准则150

    7.2.3测试方法151

    7.2.4测试步骤151

    7.2.5测试阶段的信息流152

    7.3单元测试153

    7.3.1测试重点153

    7.3.2代码审查154

    7.3.3计算机测试155

    7.4集成测试156

    7.4.1自顶向下集成157

    7.4.2自底向上集成158

    7.4.3不同集成测试策略的比较159

    7.4.4回归测试160

    7.5确认测试160

    7.5.1确认测试的范围160

    7.5.2软件配置复查161

    7.5.3Alpha和Beta测试161

    7.6白盒测试技术162

    7.6.1逻辑覆盖162

    7.6.2控制结构测试165

    7.7黑盒测试技术171

    7.7.1等价划分172

    7.7.2边界值分析175

    7.7.3错误推测175

    7.8调试176

    7.8.1调试过程176

    7.8.2调试途径178

    7.9软件可靠性179

    7.9.1基本概念179

    7.9.2估算平均无故障时间的方法180

    7.10小结182

    习题7183

    第8章维护189

    8.1软件维护的定义189

    8.2软件维护的特点190

    8.2.1结构化维护与非结构化维护差别巨大190

    8.2.2维护的代价高昂1908.2.3维护的问题很多191

    8.3软件维护过程192

    8.4软件的可维护性194

    8.4.1决定软件可维护性的因素194

    8.4.2文档1958.4.3可维护性复审196

    8.5预防性维护197

    8.6软件再工程过程198

    8.7小结200

    习题8201

    第9章面向对象方法学引论203

    9.1面向对象方法学概述203

    9.1.1面向对象方法学的要点203

    9.1.2面向对象方法学的优点205

    9.2面向对象的概念2099.2.1对象209

    9.2.2其他概念211

    9.3面向对象建模215

    9.4对象模型216

    9.4.1类图的基本符号217

    9.4.2表示关系的符号218

    9.5动态模型223

    9.6功能模型224

    9.6.1用例图224

    9.6.2用例建模227

    9.73种模型之间的关系228

    9.8小结229

    习题9229

    第10章面向对象分析231

    10.1面向对象分析的基本过程231

    10.1.1概述231

    10.1.23个子模型与5个层次232

    10.2需求陈述23310.2.1书写要点233

    10.2.2例子234

    10.3建立对象模型235

    10.3.1确定类与对象236

    10.3.2确定关联238

    10.3.3划分主题241

    10.3.4确定属性241

    10.3.5识别继承关系244

    10.3.6反复修改244

    10.4建立动态模型247

    10.4.1编写脚本247

    10.4.2设想用户界面248

    10.4.3画事件跟踪图249

    10.4.4画状态图250

    10.4.5审查动态模型251

    10.5建立功能模型253

    10.5.1画出基本系统模型图253

    10.5.2画出功能级数据流图254

    10.5.3描述处理框功能254

    10.6定义服务255

    10.7小结256

    习题10256

    第11章面向对象设计259

    11.1面向对象设计的准则259

    11.2启发规则261 [2]

    11.3软件重用263

    11.3.1概述263

    11.3.2类构件265

    11.3.3软件重用的效益266

    11.4系统分解267

    11.5设计问题域子系统270

    11.6设计人机交互子系统273

    11.7设计任务管理子系统275

    11.8设计数据管理子系统277

    11.8.1选择数据存储管理模式277

    11.8.2设计数据管理子系统278

    11.8.3例子280

    11.9设计类中的服务280

    11.9.1确定类中应有的服务280

    11.9.2设计实现服务的方法281

    11.10设计关联282

    11.11设计优化283

    11.11.1确定优先级283

    11.11.2提高效率的几项技术284

    11.11.3调整继承关系285

    11.12小结287

    习题11288

    第12章面向对象实现289

    12.1程序设计语言289

    12.1.1面向对象语言的优点289

    12.1.2面向对象语言的技术特点290

    12.1.3选择面向对象语言294

    12.2程序设计风格294

    12.2.1提高可重用性295

    12.2.2提高可扩充性297

    12.2.3提高健壮性297

    12.3测试策略298

    12.3.1面向对象的单元测试298

    12.3.2面向对象的集成测试299

    12.3.3面向对象的确认测试299

    12.4设计测试用例299

    12.4.1测试类的方法300

    12.4.2集成测试方法301

    12.5小结303

    习题12304

    第13章软件项目管理305

    13.1估算软件规模305

    13.1.1代码行技术305

    13.1.2功能点技术306

    13.2工作量估算308

    13.2.1静态单变量模型308

    13.2.2动态多变量模型308

    13.2.3COCOMO2模型309

    13.3进度计划312

    13.3.1估算开发时间312

    13.3.2Gantt图314

    13.3.3工程网络315

    13.3.4估算工程进度316

    13.3.5关键路径318

    13.3.6机动时间318

    13.4人员组织320

    13.4.1民主制程序员组320

    13.4.2主程序员组321

    13.4.3现代程序员组322

    13.5质量保证324

    13.5.1软件质量324

    13.5.2软件质量保证措施326

    13.6软件配置管理328

    13.6.1软件配置329

    13.6.2软件配置管理过程329

    13.7能力成熟度模型331

    13.8小结334

    习题13335

    附录AC++类库管理系统的分析与设计337

    A.1面向对象分析337

    A.1.1需求337

    A.1.2建立对象模型338

    A.2面向对象设计339

    A.2.1设计类库结构339

    A.2.2设计问题域子系统340

    A.2.3设计人机交互子系统341

    A.2.4设计其他类344

    前言

    第6版前言《软件工程导论》已经出版了5个版本,累计发行量达到130万册,颇受读者欢迎,先后被评为全国优秀畅销书(前10名)、全国高校出版社优秀畅销书和北京高等教育精品教材、“

    十二五”普通高等教育本科国家级规划教材。经过4年多的时间,这一学科有了不少新的发展,为了跟踪学科的发展方向,更好地为广大读者服务,作者根据几年来的教学实践和软件开发经验对第5版进行了认真系统的修订,编写出了第6版。

    鉴于先进、适用的软件过程对提高软件生产率和确保软件产品质量有相当大的作用,第6版在保持原书结构及篇幅基本不变的前提下,主要考虑知识的更新换代,由牟永敏负责对书中面向过程部分的内容进行了适量删减,同时,为了加强软件工程的实践教学,增加了面向对象设计部分的内容,此外还对书中的一些具体内容作了适当修改。全书由张海藩统一定稿。

    丁媛、刘梦婷、刘昂、李慧丽、张亚楠等同学对第6版增加的内容进行了测试,并提出了有益的建议,谨在此表示感谢。编者[]2013年5月

    编辑推荐

    “十二五”普通高等教育本科***规划教材、北京高等教育精品教材、全国优秀畅销书、全国高校出版社优秀畅销书。

    本书配套PPT教案可到清华大学出版社官网。

    软件工程导论(第6版)套装

    软件工程导论(第6版)学习辅导(21世纪软件工程专业规划教材)

    1.权威版本。已经出版了6个版本,累计销售超180万册,被众多高校选作教材,成为软件工程领域的经典教材。

    2.精心修订。为了反映软件工程发展的*状况,作者不断精心修改,编写了新版本。

    3.全面系统。全面系统地讲述了软件工程的概念、原理和典型的方法学,并介绍了软件项目的管理技术。

    4.适用面广。可作为高等院校“软件工程”课程的教材或教学参考书,也可供有一定实际经验的软件工作人员和从事开发应用软件的广大计算机用户参考。

    5.配套完整。除主教材外,配套出版了《软件工程导论(第6版)学习辅导》,提供了与教材内容密切配合的习题和解题思路,还提供了三套模拟试题以及参考答案。为便于教学,本书制作了电子教案,提供给选用本教材的教师。

    软件工程导论第六版张海藩截图