注册 登录 进入教材巡展 进入在线书城
#
  • #

出版时间:2019年12月

出版社:机械工业出版社

以下为《软件工程:面向对象和传统的方法(原书第8版)》的配套数字资源,这些资源在您购买图书后将免费附送给您:
  • 机械工业出版社
  • 9787111362739
  • 1版
  • 73611
  • 47229338-0
  • 16开
  • 2019年12月
  • 700
  • 工学
  • 软件工程
  • TP311.5
  • 计算机通信类
  • 本科
内容简介
本书是软件工程领域的经典著作,被加州大学伯克利分校等180多所美国高校选作教材。本书第8版继续保持了前七版的特色,采用传统方法与面向对象方法并重的方式,全面系统地介绍软件工程的理论与实践,并新增了第10章(第一部分的关键内容)和第18章(新兴技术)两章内容。全书分为两大部分,第一部分介绍软件工程概念,第二部分着重软件工程技术,教师可根据不同教学目的从任一部分开始讲授课程。本书是高等院校软件工程课程的理想教材,同时也是专业软件开发人员和管理者的理想参考书。
目录
出版者的话译者序前言第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.6case5.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中间cocomo9.2.4cocomo ii9.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.8case10.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.9z12.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.018.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基金实例研究