展开全部

主编推荐语

再工程领域的集大成之作,指引你学会如何以最小的花费,在最短的时间通过再工程方法使旧版系统焕发新生。

内容简介

本书结合真实案例和示例代码,充分展示探究旧有代码真实状态、制定再工程计划、引入最新的工具和方法以提升性能的思维、方法和最佳实践,从而将新架构以及开发进展集成到不可离线的关键业务系统中。全书共分两部分。第一部分包括第1~5章。第1章以面向服务的架构为基础,讲解如何明确最终目标的架构。第2章分析3种常见架构模式的区别、工作机制,以及如何选择适用的架构和设计模式。第3章以一个较高的层次重新认识单元测试的理念和实现。第4章讲解如何利用依赖倒置原则打破应用程序的紧耦合,以便进行优化。第5章介绍对单元测试使用测试替身的要点。第二部分包括第6~13章。第6章介绍如何从整体上认识再工程项目的原解决方案,辨析当前代码的真实状态。第7章分析再工程团队在项目规划和管理方面所面临的挑战,并给出解决方案。第8章介绍高效的再工程工具、方法。第9章介绍如何清除旧版解决方案。第10章讲解具体添加核心服务、类、库的方法,以建立再工程基础。第11章讨论如何将新的架构整合到旧版系统。第12章介绍架构重构中的一些重难点任务。第13章讲解将窗体重构为控制器的方法和具体步骤。

目录

  • 版权信息
  • 译者序
  • 前言
  • 什么是软件再工程
  • 什么是旧软件
  • 软件老化的原因
  • 警示标志
  • 开发者对功能请求存在抵触情绪
  • 发布后存在着大量缺陷修复工作
  • 软件质量问题长期存在
  • 软件再工程的目标和优点
  • 引入现代架构
  • 在线增加新功能
  • 灵活使用敏捷方法
  • 降低风险
  • 降低成本
  • 本书的读者对象
  • 致谢
  • 第一部分 目标架构
  • 第1章 实现面向服务的架构
  • 1.1 面向服务的架构概览
  • 1.2 理解标准化服务约定
  • 1.3 理解耦合
  • 1.4 理解服务抽象
  • 1.5 设计可复用服务
  • 1.6 理解服务自治和服务组合
  • 1.7 理解服务的无状态性
  • 1.8 一个服务示例
  • 1.9 总结
  • 第2章 理解应用程序架构
  • 2.1 使用架构模式
  • 2.2 架构模式概览
  • 2.3 MVP、MVC和MVVM的区别
  • 2.4 处理UI事件
  • 2.5 模式如何工作
  • 2.6 应该选择哪种模式
  • 2.7 总结
  • 第3章 单元测试
  • 3.1 一个单元测试示例
  • 3.2 创建单元测试
  • 3.3 编写测试
  • 3.4 检测异常
  • 3.5 理解Assert的强大
  • 3.6 单元测试与集成测试比较
  • 3.7 使用InternalsVisibleTo属性
  • 3.8 理解测试驱动开发
  • 3.9 了解单元测试的更多内容
  • 3.10 总结
  • 第4章 理解依赖倒置原则
  • 4.1 理解紧耦合
  • 4.2 实现抽象工厂模式
  • 4.3 引入接口
  • 4.4 创建单元测试
  • 4.5 理解服务定位
  • 4.6 使用依赖注入
  • 4.7 为什么服务定位对再工程来说更好
  • 4.8 总结
  • 第5章 对单元测试使用测试替身
  • 5.1 测试替身如何工作
  • 5.2 测试替身可以满足什么需要
  • 5.3 创建存根
  • 5.4 创建模拟
  • 5.5 使用模拟系统服务
  • 5.6 了解测试替身的更多内容
  • 5.7 总结
  • 第二部分 再工程
  • 第6章 回顾最初的解决方案
  • 6.1 分析代码
  • 6.2 分析一般代码结构
  • 6.3 管理语言迁移
  • 6.4 删除死代码
  • 6.5 使用全局变量
  • 6.6 适度代码转换
  • 6.7 使用自动化代码转换实用工具
  • 6.8 使用数据访问技术
  • 6.9 总结
  • 第7章 项目规划
  • 7.1 管理期望
  • 7.2 创建再工程团队
  • 7.3 识别开发工具和生成过程
  • 7.4 清理旧版解决方案
  • 7.5 建立基础
  • 7.6 重构以使用基本服务
  • 7.7 重构以使用高级服务
  • 7.8 向利益相关者报告进展情况
  • 7.9 管理沟通和培训
  • 7.10 总结
  • 第8章 识别开发工具和生成过程
  • 8.1 使用源代码管理
  • 8.2 理解集中式系统和分布式系统的优缺点
  • 8.3 评估主机托管服务
  • 8.4 管理功能和缺陷
  • 8.5 使用持续集成服务器和生成服务器
  • 8.6 使用Visual Studio 2010开发工具
  • 8.7 总结
  • 第9章 清理旧版解决方案
  • 9.1 组织文件系统
  • 9.2 项目结构化
  • 9.3 确定项目类别
  • 9.4 理解项目类型
  • 9.5 再工程项目建议
  • 9.6 重构解决方案结构
  • 9.7 影响逻辑的重构
  • 9.8 总结
  • 第10章 建立基础
  • 10.1 添加新项目
  • 10.2 使用Prism、Unity和Enterprise Library版本
  • 10.3 修改外壳程序
  • 10.4 创建服务定位器
  • 10.5 建立Bootstrapper类
  • 10.6 总结
  • 第11章 服务的基本重构
  • 11.1 使用DialogService
  • 11.2 使用LogWriterService
  • 11.3 跟踪会话信息
  • 11.4 以SOA方式访问资源
  • 11.5 使用消息聚合器
  • 11.6 转换静态类
  • 11.7 重构静态类
  • 11.8 总结
  • 第12章 服务的高级重构
  • 12.1 使用知识库模式
  • 12.2 使用通用对象管理器
  • 12.3 用命令调度服务简化复杂代码
  • 12.4 总结
  • 第13章 重构为控制器
  • 13.1 使用旧版方法创建窗体
  • 13.2 准备视图
  • 13.3 引入控制器
  • 13.4 优化控制器
  • 13.5 总结
  • 附录 用Visual Studio 2012再工程.NET项目
  • 用Visual Studio 2012检验源代码管理
  • 管理并行开发
  • 隔离下做出更改
  • 用Visual Studio 2012进行单元测试
  • 写入一个单元测试方法
  • 运行单元测试
  • 使用“编辑并继续”功能
  • 使用持续测试运行程序
  • 使用Fakes为“不可测试”的代码编写单元测试
  • 使用代码度量查找难维护的代码
  • 查找代码重复项
  • 总结
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

机械工业出版社有限公司

机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。