当前位置:主页 > 课后答案 > 软件工程习题答案
软件工程面向对象和传统的方法(第八版)

《软件工程面向对象和传统的方法(第八版)》课后习题答案

  • 更新:2021-07-12
  • 大小:1.17 MB
  • 类别:软件工程
  • 作者:Stephen、R.Schach
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

《软件工程:面向对象和传统的方法(原书第8版)》是2019年12月机械工业出版社出版的图书,作者是韩松。

本书是软件工程领域的经典著作,被加州大学伯克利分校等180多所美国高校选作教材。本书第8版继续保持了前七版的特色,采用传统方法与面向对象方法并重的方式,全面系统地介绍软件工程的理论与实践,并新增了第10章(第一部分的关键内容)和第18章(新兴技术)两章内容。全书分为两大部分,第一部分介绍软件工程概念,第二部分着重软件工程技术,教师可根据不同教学目的从任一部分开始讲授课程。本书是高等院校软件工程课程的理想教材,同时也是专业软件开发人员和管理者的理想参考书。

目录

  • ObjectOriented and Classical Software Engineering,8E
  • 出版者的话
  • 译者序
  • 前言
  • 第1章软件工程的范畴
  • 1.1历史方面
  • 1.2经济方面
  • 1.3维护性方面
  • 1.3.1维护的传统和现代观点
  • 1.3.2交付后维护的重要性
  • 1.4需求、分析和设计方面
  • 1.5小组编程方面
  • 1.6为什么没有计划阶段
  • 1.7为什么没有测试阶段
  • 1.8为什么没有文档阶段
  • 1.9面向对象范型
  • 1.10正确看待面向对象范型
  • 1.11术语
  • 1.12道德问题
  • 本章回顾
  • 进一步阅读指导
  • 习题
  • 第一部分软件工程概念
  • 第2章软件生命周期模型
  • 2.1理论上的软件开发
  • 2.2Winburg小型实例研究
  • 2.3Winburg小型实例研究心得
  • 2.4野鸭拖拉机公司小型实例研究
  • 2.5迭代和递增
  • 2.6修订的Winburg小型实例研究
  • 2.7迭代和递增的风险和其他方面
  • 2.8迭代和递增的控制
  • 2.9其他生命周期模型
  • 2.9.1编码-修补生命周期模型
  • 2.9.2瀑布生命周期模型
  • 2.9.3快速原型开发生命周期模型
  • 2.9.4开源生命周期模型
  • 2.9.5敏捷过程
  • 2.9.6同步-稳定生命周期模型
  • 2.9.7螺旋生命周期模型
  • 2.10生命周期模型的比较
  • 本章回顾
  • 进一步阅读指导
  • 习题
  • 第3章软件过程
  • 3.1统一过程
  • 3.2面向对象范型内的迭代和递增
  • 3.3需求流
  • 3.4分析流
  • 3.5设计流
  • 3.6实现流
  • 3.7测试流
  • 3.7.1需求制品
  • 3.7.2分析制品
  • 3.7.3设计制品
  • 3.7.4实现制品
  • 3.8交付后维护
  • 3.9退役
  • 3.10统一过程的各阶段
  • 3.10.1开始阶段
  • 3.10.2细化阶段
  • 3.10.3构建阶段
  • 3.10.4转换阶段
  • 3.11一维与二维生命周期模型
  • 3.12改进软件过程
  • 3.13能力成熟度模型
  • 3.14软件过程改进方面的其他努力
  • 3.15软件过程改进的代价和收益
  • 本章回顾
  • 进一步阅读指导
  • 习题
  • 第4章软件小组
  • 4.1小组组织
  • 4.2民主小组方法
  • 4.3传统的主程序员小组方法
  • 4.3.1《纽约时报》项目
  • 4.3.2传统的主程序员小组方法的不实用性
  • 4.4主程序员小组和民主小组之外的编程小组
  • 4.5同步-稳定小组
  • 4.6敏捷过程小组
  • 4.7开源编程小组
  • 4.8人员能力成熟度模型
  • 4.9选择合适的小组组织
  • 本章回顾
  • 进一步阅读指导
  • 习题
  • 第5章软件工程工具
  • 5.1逐步求精法
  • 5.2成本-效益分析法
  • 5.3分治
  • 5.4关注分离
  • 5.5软件度量
  • 5.6CASE
  • 5.7CASE的分类
  • 5.8CASE的范围
  • 5.9软件版本
  • 5.9.1修订版
  • 5.9.2变种版
  • 5.10配置控制
  • 5.10.1交付后维护期间的配置控制
  • 5.10.2基准
  • 5.10.3产品开发过程中的配置控制
  • 5.11建造工具
  • 5.12使用CASE技术提高生产力
  • 本章回顾
  • 进一步阅读指导
  • 习题
  • 第6章测试
  • 6.1质量问题
  • 6.1.1软件质量保证
  • 6.1.2管理独立
  • 6.2非执行测试
  • 6.2.1走查
  • 6.2.2管理走查
  • 6.2.3审查
  • 6.2.4审查与走查的对比
  • 6.2.5评审的优缺点
  • 6.2.6审查的度量
  • 6.3执行测试
  • 6.4应该测试什么
  • 6.4.1实用性
  • 6.4.2可靠性
  • 6.4.3健壮性
  • 6.4.4性能
  • 6.4.5正确性
  • 6.5测试与正确性证明
  • 6.5.1正确性证明的例子
  • 6.5.2正确性证明小型实例研究
  • 6.5.3正确性证明和软件工程
  • 6.6谁应当完成执行测试
  • 6.7测试什么时候停止
  • 本章回顾
  • 进一步阅读指导
  • 习题
  • 第7章从模块到对象
  • 7.1什么是模块
  • 7.2内聚
  • 7.2.1偶然性内聚
  • 7.2.2逻辑性内聚
  • 7.2.3时间性内聚
  • 7.2.4过程性内聚
  • 7.2.5通信性内聚
  • 7.2.6功能性内聚
  • 7.2.7信息性内聚
  • 7.2.8内聚示例
  • 7.3耦合
  • 7.3.1内容耦合
  • 7.3.2共用耦合
  • 7.3.3控制耦合
  • 7.3.4印记耦合
  • 7.3.5数据耦合
  • 7.3.6耦合示例
  • 7.3.7耦合的重要性
  • 7.4数据封装
  • 7.4.1数据封装和产品开发
  • 7.4.2数据封装和产品维护
  • 7.5抽象数据类型
  • 7.6信息隐藏
  • 7.7对象
  • 7.8继承、多态和动态绑定
  • 7.9面向对象范型
  • 本章回顾
  • 进一步阅读指导
  • 习题
  • 第8章可重用性和可移植性
  • 8.1重用的概念
  • 8.2重用的障碍
  • 8.3重用实例研究
  • 8.3.1Raytheon导弹系统部
  • 8.3.2欧洲航天局
  • 8.4对象和重用
  • 8.5设计和实现期间的重用
  • 8.5.1设计重用
  • 8.5.2应用框架
  • 8.5.3设计模式
  • 8.5.4软件体系结构
  • 8.5.5基于组件的软件工程
  • 8.6其他设计模式
  • 8.6.1FLIC小型实例研究
  • 8.6.2适配器设计模式
  • 8.6.3桥设计模式
  • 8.6.4迭代器设计模式
  • 8.6.5抽象工厂设计模式
  • 8.7设计模式的种类
  • 8.8设计模式的优缺点
  • 8.9重用及互联网
  • 8.10重用和交付后维护
  • 8.11可移植性
  • 8.11.1硬件的不兼容性
  • 8.11.2操作系统的不兼容性
  • 8.11.3数值计算软件的不兼容性
  • 8.11.4编译器的不兼容性
  • 8.12为什么需要可移植性
  • 8.13实现可移植性的技术
  • 8.13.1可移植的系统软件
  • 8.13.2可移植的应用软件
  • 8.13.3可移植的数据
  • 8.13.4模型驱动结构
  • 本章回顾
  • 进一步阅读指导
  • 习题
  • 第9章计划和估算
  • 9.1计划和软件过程
  • 9.2周期和成本估算
  • 9.2.1产品规模的度量
  • 9.2.2成本估算技术
  • 9.2.3中间COCOMO
  • 9.2.4COCOMO II
  • 9.2.5跟踪周期和成本估算
  • 9.3软件项目管理计划的组成
  • 9.4软件项目管理计划框架
  • 9.5IEEE 软件项目管理计划
  • 9.6计划测试
  • 9.7计划面向对象的项目
  • 9.8培训需求
  • 9.9文档标准
  • 9.10用于计划和估算的CASE工具
  • 9.11测试软件项目管理计划
  • 本章回顾
  • 进一步阅读指导
  • 习题
  • 第二部分软件生命周期的工作流
  • 第10章第一部分的关键内容
  • 10.1软件开发:理论与实践
  • 10.2迭代和递增
  • 10.3统一过程
  • 10.4工作流概述
  • 10.5软件小组
  • 10.6成本-效益分析法
  • 10.7度量
  • 10.8CASE
  • 10.9版本和配置
  • 10.10测试术语
  • 10.11执行测试和非执行测试
  • 10.12模块性
  • 10.13重用
  • 10.14软件项目管理计划
  • 本章回顾
  • 习题
  • 第11章需求
  • 11.1确定客户需要什么
  • 11.2需求流概述
  • 11.3理解应用域
  • 11.4业务模型
  • 11.4.1访谈
  • 11.4.2其他技术
  • 11.4.3用例
  • 11.5初始需求
  • 11.6对应用域的初始理解:MSG基金实例研究
  • 11.7初始业务模型:MSG基金实例研究
  • 11.8初始需求:MSG基金实例研究
  • 11.9继续需求流:MSG基金实例研究
  • 11.10修订需求:MSG基金实例研究
  • 11.11测试流:MSG基金实例研究
  • 11.12传统的需求阶段
  • 11.13快速原型开发
  • 11.14人的因素
  • 11.15重用快速原型
  • 11.16需求流的CASE工具
  • 11.17需求流的度量
  • 11.18需求流面临的挑战
  • 本章回顾
  • 进一步阅读指导
  • 习题
  • 第12章传统的分析
  • 12.1规格说明文档
  • 12.2非形式化规格说明
  • 12.3结构化系统分析
  • 12.4结构化系统分析:MSG基金实例研究
  • 12.5其他半形式化技术
  • 12.6建造实体-关系模型
  • 12.7有穷状态机
  • 12.8Petri网
  • 12.9Z
  • 12.9.1Z:电梯问题实例研究
  • 12.9.2Z的分析
  • 12.10其他的形式化技术
  • 12.11传统分析技术的比较
  • 12.12在传统分析阶段测试
  • 12.13传统分析阶段的CASE工具
  • 12.14传统分析阶段的度量
  • 12.15软件项目管理计划:MSG基金实例研究
  • 12.16传统分析阶段面临的挑战
  • 本章回顾
  • 进一步阅读指导
  • 习题
  • 第13章面向对象分析
  • 13.1分析流
  • 13.2抽取实体类
  • 13.3面向对象分析:电梯问题实例研究
  • 13.4功能建模:电梯问题实例研究
  • 13.5实体类建模:电梯问题实例研究
  • 13.5.1名词抽取
  • 13.5.2CRC卡片
  • 13.6动态建模:电梯问题实例研究
  • 13.7测试流:面向对象分析
  • 13.8抽取边界类和控制类
  • 13.9初始功能模型:MSG基金实例研究
  • 13.10初始类图:MSG基金实例研究
  • 13.11初始动态模型:MSG基金实例研究
  • 13.12修订实体类:MSG基金实例研究
  • 13.13抽取边界类:MSG基金实例研究
  • 13.14抽取控制类:MSG基金实例研究
  • 13.15用例实现:MSG基金实例研究
  • 13.15.1Estimate Funds Available for Week用例
  • 13.15.2Manage an Asset用例
  • 13.15.3Update Estimated Annual Operating Expenses用例
  • 13.15.4Produce a Report用例
  • 13.16类图递增:MSG基金实例研究
  • 13.17测试流:MSG基金实例研究
  • 13.18统一过程中的规格说明文档
  • 13.19关于参与者和用例更详细的内容
  • 13.20面向对象分析流的CASE工具
  • 13.21面向对象分析流的度量
  • 13.22面向对象分析流面临的挑战
  • 本章回顾
  • 进一步阅读指导
  • 习题
  • 第14章设计
  • 14.1设计和抽象
  • 14.2面向操作设计
  • 14.3数据流分析
  • 14.3.1小型实例研究:字数统计
  • 14.3.2数据流分析扩展
  • 14.4事务分析
  • 14.5面向数据设计
  • 14.6面向对象设计
  • 14.7面向对象设计:电梯问题实例研究
  • 14.8面向对象设计:MSG基金实例研究
  • 14.9设计流
  • 14.10测试流:设计
  • 14.11测试流:MSG基金实例研究
  • 14.12详细设计的形式化技术
  • 14.13实时设计技术
  • 14.14设计的CASE工具
  • 14.15设计的度量
  • 14.16设计流面临的挑战
  • 本章回顾
  • 进一步阅读指导
  • 习题
  • 第15章实现
  • 15.1编程语言的选择
  • 15.2第四代语言
  • 15.3良好的编程实践
  • 15.3.1使用一致和有意义的变量名
  • 15.3.2自文档代码的问题
  • 15.3.3使用参数
  • 15.3.4为增加可读性的代码编排
  • 15.3.5嵌套的if语句
  • 15.4编码标准
  • 15.5代码重用
  • 15.6集成
  • 15.6.1自顶向下的集成
  • 15.6.2自底向上的集成
  • 15.6.3三明治集成
  • 15.6.4面向对象产品的集成
  • 15.6.5集成的管理
  • 15.7实现流
  • 15.8实现流:MSG基金实例研究
  • 15.9测试流:实现
  • 15.10测试用例选择
  • 15.10.1规格说明测试与代码测试
  • 15.10.2规格说明测试的可行性
  • 15.10.3代码测试的可行性
  • 15.11黑盒单元测试技术
  • 15.11.1等价测试和边界值分析
  • 15.11.2功能测试
  • 15.12黑盒测试用例:MSG基金实例研究
  • 15.13玻璃盒单元测试技术
  • 15.13.1结构测试:语句、分支和路径覆盖
  • 15.13.2复杂性度量
  • 15.14代码走查和审查
  • 15.15单元测试技术的比较
  • 15.16净室
  • 15.17测试对象时潜在的问题
  • 15.18单元测试的管理方面
  • 15.19何时该重实现而不是调试代码制品
  • 15.20集成测试
  • 15.21产品测试
  • 15.22验收测试
  • 15.23测试流:MSG基金实例研究
  • 15.24实现的CASE工具
  • 15.24.1软件开发全过程的CASE工具
  • 15.24.2集成化开发环境
  • 15.24.3商业应用环境
  • 15.24.4公共工具基础结构
  • 15.24.5环境的潜在问题
  • 15.25测试流的CASE工具
  • 15.26实现流的度量
  • 15.27实现流面临的挑战
  • 本章回顾
  • 进一步阅读指导
  • 习题
  • 第16章交付后维护
  • 16.1开发与维护
  • 16.2为什么交付后维护是必要的
  • 16.3对交付后维护程序员的要求是什么
  • 16.4交付后维护小型实例研究
  • 16.5交付后维护的管理
  • 16.5.1缺陷报告
  • 16.5.2批准对产品的修改
  • 16.5.3确保可维护性
  • 16.5.4迭代维护造成的问题
  • 16.6面向对象软件的维护
  • 16.7交付后维护技能与开发技能
  • 16.8逆向工程
  • 16.9交付后维护期间的测试
  • 16.10交付后维护的CASE工具
  • 16.11交付后维护的度量
  • 16.12交付后维护:MSG基金实例研究
  • 16.13交付后维护面临的挑战
  • 本章回顾
  • 进一步阅读指导
  • 习题
  • 第17章UML的进一步讨论
  • 17.1UML不是一种方法
  • 17.2类图
  • 17.2.1聚合
  • 17.2.2多重性
  • 17.2.3组合
  • 17.2.4泛化
  • 17.2.5关联
  • 17.3注解
  • 17.4用例图
  • 17.5构造型
  • 17.6交互图
  • 17.7状态图
  • 17.8活动图
  • 17.9包
  • 17.10组件图
  • 17.11部署图
  • 17.12UML图回顾
  • 17.13UML和迭代
  • 本章回顾
  • 进一步阅读指导
  • 习题
  • 第18章新兴技术
  • 18.1面向层面技术
  • 18.2模型驱动技术
  • 18.3基于组件技术
  • 18.4面向服务技术
  • 18.5面向服务技术和基于组件技术的比较
  • 18.6社交计算
  • 18.7Web工程
  • 18.8云技术
  • 18.9Web 3.0
  • 18.10计算机安全
  • 18.11模型检查
  • 18.12目前和未来
  • 本章回顾
  • 进一步阅读指导
  • 附录
  • 附录A学期项目:巧克力爱好者匿名
  • 附录B软件工程资源
  • 附录C需求流:MSG基金实例研究
  • 附录D结构化系统分析:MSG基金实例研究
  • 附录E分析流:MSG基金实例研究
  • 附录F软件项目管理计划:MSG基金实例研究
  • 附录G设计流:MSG基金实例研究
  • 附录H实现流:MSG基金实例研究(C++版)
  • 附录I实现流:MSG基金实例研究(Java版)
  • 附录J测试流:MSG基金实例研究

资源下载

资源下载地址1:https://pan.baidu.com/s/1r37PMx7dEWN0W61-gfTlcA

相关资源

网友留言