当前位置:主页 > 课后答案 > 软件工程习题答案
软件工程概论

《软件工程概论》课后习题答案

  • 更新:2021-05-28
  • 大小:1.88 MB
  • 类别:软件工程
  • 作者: 郑人杰
  • 出版:清华大学出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

《软件工程概论》是1998年4月1日清华大学出版社出版的图书,作者是郑人杰。

本书是根据作者出版的软件工程大学本科教材,结合在清华夜大学、高教自学考试培训、软件水平考试培训多年的教学实践,经过精练选材而写成的。

书中引入近年出现的软件工程新思想、新方法,保留了部分经典的传统技术,较为系统地介绍了软件开发技术和软件项目管理方法。其内容包括软件工程概述、软件需求分析与建模、软件设计与程序设计、软件测试、软件质量保证与标准、软件工程管理与过程改进等。同时在各章节结合实例,插入大量图表,使读者能够对软件工程的知识有一个全面的了解。全书文字流畅,内容丰富,可读性强。

本书可适用于大专院校软件工程课程教学,也可用于软件工程技术培训。对于非计算机专业的本科生与研究生,也可选用本书作为软件工程教科书。

目录

  • 第1章软件工程概述1
  • 1.1软件的概念、特点和分类1
  • 1.1.1软件的概念与特点1
  • 1.1.2软件的分类3
  • 1.2软件的发展和软件危机6
  • 1.3软件工程过程和软件生存期8
  • 1.3.1软件工程过程(softwareengineeringprocess)1.3.2软件生存期(lifecycle)9
  • 1.4软件生存期模型10
  • 1.4.1瀑布模型(waterfallmodel)10
  • 1.4.2演化模型(evolutionalmodel)11
  • 1.4.3螺旋模型(spiralmodel)11
  • 1.4.4喷泉模型(waterfountainmodel)13
  • 1.4.5智能模型(intelligencemodel)13
  • 1.5软件工程的基本目标13
  • 1.5.1软件工程的定义13
  • 1.5.2软件工程项目的基本目标14
  • 第2章软件需求分析15
  • 2.1软件需求分析概述15
  • 2.1.1软件需求分析的任务15
  • 2.1.2需求分析的过程16
  • 2.1.3软件需求分析的原则19
  • 2.2结构化分析方法21
  • 2.2.1数据流图(DFD,dataflowdiagram)21
  • 2.2.2数据词典(DD,datadictionary)24
  • 2.2.3加工逻辑说明27
  • 2.3结构化数据系统开发方法(DSSD)——面向数据结构的分析方法之一30
  • 2.3.1Warnier图30
  • 2.3.2DSSD的分析方法31
  • 2.4Jackson系统开发方法(JSD)——面向数据结构的分析方法之二34
  • 2.4.1进程模型35
  • 2.4.2JSD方法的步骤35
  • 2.4.3实体动作分析36
  • 2.4.4实体结构分析37
  • 2.4.5定义初始模型38
  • 2.5原型化方法(prototyping)40
  • 2.5.1软件原型的分类41
  • 2.5.2快速原型开发模型41
  • 2.6系统动态分析44
  • 2.6.1状态迁移图44
  • 2.6.2Petri网45
  • 2.7结构化分析与设计方法(SADT)48
  • 第3章软件设计51
  • 3.1软件设计的目标和任务51
  • 3.1.1软件设计在开发阶段中的重要性51
  • 3.1.2软件设计任务52
  • 3.2程序结构与程序结构图54
  • 3.2.1程序的树状结构和网状结构55
  • 3.2.2结构图(structurechart,简称SC)55
  • 3.3模块的独立性57
  • 3.3.1模块(module)57
  • 3.3.2模块独立性(moduleindependence)58
  • 3.3.3耦合性(coupling)58
  • 3.3.4内聚性(cohesion)60
  • 3.3.5信息隐蔽63
  • 3.4结构化设计方法——面向数据流的设计方法63
  • 3.4.1典型的系统结构形式64
  • 3.4.2变换分析66
  • 3.4.3事务分析69
  • 3.4.4软件模块结构的改进71
  • 3.5结构化数据系统开发方法(DSSD)
  • ——面向数据结构的设计方法之一75
  • 3.5.1一种简化的设计方法75
  • 3.5.2导出逻辑输出结构76
  • 3.5.3导出逻辑处理结构(LPS)76
  • 3.6Jackson系统开发方法(JSD)
  • ——面向数据结构的分析与设计方法之二78
  • 3.6.1JSD功能描述78
  • 3.6.2决定系统时间特性82
  • 3.6.3实现82
  • 第4章详细设计描述的工具87
  • 4.1程序流程图(programflowchart)87
  • 4.2N\|S图90
  • 4.3PAD91
  • 4.4PDL93
  • 第5章程序编码100
  • 5.1对源程序的质量要求100
  • 5.2结构化程序设计101
  • 5.2.1关于GOTO语句的争论101
  • 5.2.2结构化程序设计的原则102
  • 5.2.3程序设计自顶向下,逐步求精104
  • 5.3程序设计风格106
  • 5.3.1源程序文档化107
  • 5.3.2数据说明110
  • 5.3.3语句结构110
  • 5.3.4输入和输出(I/O)114
  • 5.4程序复杂性度量115
  • 5.4.1代码行度量法115
  • 5.4.2McCabe度量法116
  • 5.4.3Halstead的软件科学117
  • 第6章面向对象技术120
  • 6.1面向对象的概念120
  • 6.2基于复用的开发过程123
  • 6.2.1应用生存期123
  • 6.2.2类生存期124
  • 6.3面向对象分析与模型化126
  • 6.3.1面向对象分析(OOA,object\|orientedanalysis)126
  • 6.3.2论域分析(domainanalysis)126
  • 6.3.3应用分析(applicationanalysis)129
  • 6.3.4对象模型技术(OMT,objectmodeltech.)129
  • 6.4高层设计134
  • 6.5类的设计135
  • 6.5.1通过复用设计类135
  • 6.5.2类设计的方针136
  • 6.5.3类设计的过程138
  • 6.6Coad与Yourdon面向对象分析与设计技术143
  • 6.6.1面向对象的分析143
  • 6.6.2面向对象的设计145
  • 6.7Booch的方法146
  • 6.7.1Booch方法的设计过程147
  • 6.7.2Booch方法的基本的模型147
  • 6.8面向对象设计的实现151
  • 6.8.1类的实现151
  • 6.8.2系统的实现153
  • 第7章软件测试155
  • 7.1软件测试的基础155
  • 7.1.1什么是软件测试155
  • 7.1.2软件测试的目的和原则156
  • 7.1.3软件测试的对象157
  • 7.1.4测试信息流158
  • 7.1.5测试与软件开发各阶段的关系159
  • 7.2测试用例设计160
  • 7.3白盒测试的测试用例设计161
  • 7.3.1逻辑覆盖161
  • 7.3.2语句覆盖162
  • 7.3.3判定覆盖163
  • 7.3.4条件覆盖163
  • 7.3.5判定\|条件覆盖164
  • 7.3.6条件组合覆盖164
  • 7.3.7路径测试165
  • 7.4黑盒测试的测试用例设计165
  • 7.4.1等价类划分165
  • 7.4.2边界值分析168
  • 7.4.3错误推测法171
  • 7.4.4因果图171
  • 7.5软件测试的策略174
  • 7.5.1单元测试(unittesting)175
  • 7.5.2组装测试(integratedtesting)177
  • 7.5.3确认测试(validationtesting)181
  • 7.5.4系统测试(systemtesting)183
  • 7.5.5测试的步骤及相应的测试种类183
  • 7.6人工测试186
  • 7.6.1静态分析186
  • 7.6.2人工测试187
  • 7.7调试(Debug,排错)189
  • 7.7.1调试的步骤189
  • 7.7.2几种主要的调试方法190
  • 7.7.3调试原则193 [2]
  • 第8章软件维护194
  • 8.1软件维护的概念194
  • 8.1.1软件维护的定义194
  • 8.1.2影响维护工作量的因素195
  • 8.1.3软件维护的策略195
  • 8.2软件维护活动196
  • 8.2.1软件维护申请报告196
  • 8.2.2软件维护工作流程197
  • 8.2.3维护档案记录198
  • 8.2.4维护评价198
  • 8.3程序修改的步骤及修改的副作用198
  • 8.3.1分析和理解程序199
  • 8.3.2修改程序199
  • 8.3.3重新验证程序202
  • 8.4软件可维护性202
  • 8.4.1软件可维护性的定义203
  • 8.4.2可维护性的度量203
  • 8.5提高可维护性的方法206
  • 8.5.1建立明确的软件质量目标和优先级206
  • 8.5.2使用提高软件质量的技术和工具206
  • 8.5.3进行明确的质量保证审查207
  • 8.5.4选择可维护的程序设计语言208
  • 8.5.5改进程序的文档209
  • 8.6逆向工程和再工程210
  • 第9章软件工程标准化与软件文档211
  • 9.1软件工程标准化211
  • 9.1.1什么是软件工程标准211
  • 9.1.2软件工程标准化的意义213
  • 9.1.3软件工程标准的层次213
  • 9.1.4中国的软件工程标准化工作214
  • 9.2软件质量认证215
  • 9.2.1ISO9000系列标准及软件质量认证215
  • 9.2.2ISO9000系列标准的内容216
  • 9.2.3制定与实施ISO9000系列标准217
  • 9.2.4ISO9000\|3的要点218
  • 9.3在开发机构中推行软件工程标准化220
  • 9.4软件文档的作用与分类221
  • 9.4.1软件文档的作用和分类221
  • 9.4.2对文档编制的质量要求223
  • 9.4.3文档的管理和维护225
  • 9.5软件过程成熟度模型227
  • 9.5.1软件机构的成熟性227
  • 9.5.2软件过程成熟度模型228
  • 9.5.3关键过程领域229
  • 9.5.4成熟度提问单230
  • 第10章软件管理232
  • 10.1软件生产率和质量的度量232
  • 10.1.1软件度量232
  • 10.1.2面向规模的度量232
  • 10.1.3面向功能的度量233
  • 10.1.4软件质量的度量234
  • 10.1.5影响软件生产率的因素235
  • 10.2软件项目的估算236
  • 10.2.1对估算的看法236
  • 10.2.2软件项目计划的目标237
  • 10.2.3软件的范围237
  • 10.2.4软件开发中的资源237
  • 10.2.5软件项目估算240
  • 10.2.6分解技术241
  • 10.3软件开发成本估算243
  • 10.3.1软件开发成本估算方法244
  • 10.3.2专家判定技术245
  • 10.3.3软件开发成本估算的经验模型245
  • 10.4软件项目进度安排249
  • 10.4.1软件开发小组人数与软件生产率250
  • 10.4.2任务的确定与并行性251
  • 10.4.3制定开发进度计划251
  • 10.4.4进度安排的方法252
  • 10.4.5项目的追踪和控制254
  • 10.5软件项目的组织与计划255
  • 10.5.1软件项目管理的特点255
  • 10.5.2制定计划257
  • 10.5.3软件项目组织的建立258
  • 10.5.4人员配备262
  • 10.5.5指导与检验263
  • 10.6软件配置管理265
  • 10.6.1软件配置管理265
  • 10.6.2配置标识267
  • 10.6.3版本控制269
  • 10.6.4变更控制269
  • 10.6.5配置状态报告(configurationstatusreporting,CSR)271
  • 10.6.6配置审计(configurationaudit)271
  • 附录软件产品开发文档编写指南273
  • 参考文献287

资源下载

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

相关资源

网友留言