当前位置:主页 > 课后答案 > 软件工程习题答案
软件工程导论(第6版)

《软件工程导论(第6版)》课后习题答案

  • 更新:2021-03-19
  • 大小:2.44 MB
  • 类别:软件工程
  • 作者:张海藩、牟永敏
  • 出版:清华大学出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

本书正文共13章,第1章是概述,第2~8章顺序讲述软件生命周期各阶段的任务、过程、结构化方法和工具,第9~12章分别讲述面向对象方法学引论、面向对象分析、面向对象设计和面向对象实现,第13章介绍软件项目管理。附录讲述了用面向对象方法开发软件的过程,对读者深入理解软件工程学很有帮助,也是上机实习的好材料。

目录

  • 第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
  • 参考文献347

资源下载

资源下载地址1:https://pan.baidu.com/s/1_mCnM08ni3sfOOMiTeLpYA

相关资源

网友留言