失效链接处理 |
软件工程导论(第6版) PDF 下载
本站整理下载:
版权归出版社和原作者所有,链接已删除,请购买正版
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/23317749.html
相关截图:
资料简介: 本书的前5个版本累计销售达130万册,已成为软件工程领域的经典教材,先后荣获全国普通高等学校工科电子类专业优秀教材二等奖、一等奖,并被评为全国优秀畅销书(前19名)、全国高校出版社优秀畅销书、北京高等教育精品教材和“十二五”普通高等教育本科*规划教材。为了反映最近4年来软件工程的发展状况,作者对第5版作了精心修改,编写了第6版。 本书全面系统地讲述了软件工程的概念、原理和典型的方法学,并介绍了软件项目的管理技术。本书正文共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分析建模与规格说明623.3.1分析建模623.3.2软件需求规格说明62 3.4实体联系图623.4.1数据对象633.4.2属性633.4.3联系633.4.4实体联系图的符号64 3.5数据规范化64 3.6状态转换图653.6.1状态653.6.2事件653.6.3符号663.6.4例子66 3.7其他图形工具673.7.1层次方框图683.7.2Warnier图683.7.3IPO图69 3.8验证软件需求703.8.1从哪些方面验证软件需求的正确性703.8.2验证软件需求的方法703.8.3用于需求分析的软件工具71 3.9小结72 习题373第4章形式化说明技术75 4.1概述754.1.1非形式化方法的缺点754.1.2形式化方法的优点764.1.3应用形式化方法的准则76 4.2有穷状态机774.2.1概念774.2.2例子794.2.3评价82 4.3Petri网824.3.1概念824.3.2例子84 4.4Z语言854.4.1简介854.4.2评价88 4.5小结88 习题489第5章总体设计91 5.1设计过程91 5.2设计原理945.2.1模块化945.2.2抽象955.2.3逐步求精955.2.4信息隐藏和局部化965.2.5模块独立97 5.3启发规则99 5.4描绘软件结构的图形工具1025.4.1层次图和HIPO图1025.4.2结构图103 5.5面向数据流的设计方法1045.5.1概念1045.5.2变换分析1055.5.3事务分析1115.5.4设计优化112 5.6小结113 习题5114第6章 详细设计117 6.1结构程序设计117 6.2人机界面设计1196.2.1设计问题1196.2.2设计过程1216.2.3人机界面设计指南122 6.3过程设计的工具1246.3.1程序流程图1246.3.2盒图1256.3.3PAD图1266.3.4判定表1276.3.5判定树1286.3.6过程设计语言128 6.4面向数据结构的设计方法1296.4.1Jackson图1306.4.2改进的Jackson图1316.4.3Jackson方法132 6.5程序复杂程度的定量度量1366.5.1McCabe方法1376.5.2Halstead方法139 6.6小结140 习题6140第7章 实现145 7.1编码1467.1.1选择程序设计语言1467.1.2编码风格147 7.2软件测试基础1497.2.1软件测试的目标1507.2.2软件测试准则1507.2.3测试方法1517.2.4测试步骤1517.2.5测试阶段的信息流152 7.3单元测试1537.3.1测试重点1537.3.2代码审查1547.3.3计算机测试155 7.4集成测试1567.4.1自顶向下集成1577.4.2自底向上集成1587.4.3不同集成测试策略的比较1597.4.4回归测试160 7.5确认测试1607.5.1确认测试的范围1607.5.2软件配置复查1617.5.3Alpha和Beta测试161 7.6白盒测试技术1627.6.1逻辑覆盖1627.6.2控制结构测试165 7.7黑盒测试技术1717.7.1等价划分1727.7.2边界值分析1757.7.3错误推测175 7.8调试1767.8.1调试过程1767.8.2调试途径178 7.9软件可靠性1797.9.1基本概念1797.9.2估算平均无故障时间的方法180 7.10小结182 习题7183第8章 维护189 8.1软件维护的定义189 8.2软件维护的特点1908.2.1结构化维护与非结构化维护差别巨大1908.2.2维护的代价高昂1908.2.3维护的问题很多191 8.3软件维护过程192 8.4软件的可维护性1948.4.1决定软件可维护性的因素1948.4.2文档1958.4.3可维护性复审196 8.5预防性维护197 8.6软件再工程过程198 8.7小结200 习题8201第9章面向对象方法学引论203 9.1面向对象方法学概述2039.1.1面向对象方法学的要点2039.1.2面向对象方法学的优点205 9.2面向对象的概念2099.2.1对象2099.2.2其他概念211 9.3面向对象建模215 9.4对象模型2169.4.1类图的基本符号2179.4.2表示关系的符号218 9.5动态模型223 9.6功能模型2249.6.1用例图2249.6.2用例建模227 9.73种模型之间的关系228 9.8小结229 习题9229第10章面向对象分析231 10.1面向对象分析的基本过程23110.1.1概述23110.1.23个子模型与5个层次232 10.2需求陈述23310.2.1书写要点23310.2.2例子234 10.3建立对象模型23510.3.1确定类与对象23610.3.2确定关联23810.3.3划分主题24110.3.4确定属性24110.3.5识别继承关系24410.3.6反复修改244 10.4建立动态模型24710.4.1编写脚本24710.4.2设想用户界面24810.4.3画事件跟踪图24910.4.4画状态图25010.4.5审查动态模型251 10.5建立功能模型25310.5.1画出基本系统模型图25310.5.2画出功能级数据流图25410.5.3描述处理框功能254 10.6定义服务255 10.7小结256 习题10256第11章面向对象设计259 11.1面向对象设计的准则259 11.2启发规则261 11.3软件重用26311.3.1概述26311.3.2类构件26511.3.3软件重用的效益266 11.4系统分解267 11.5设计问题域子系统270 11.6设计人机交互子系统273 11.7设计任务管理子系统275 11.8设计数据管理子系统27711.8.1选择数据存储管理模式27711.8.2设计数据管理子系统27811.8.3例子280 11.9设计类中的服务28011.9.1确定类中应有的服务28011.9.2设计实现服务的方法281 11.10设计关联282 11.11设计优化28311.11.1确定优先级28311.11.2提高效率的几项技术28411.11.3调整继承关系285 11.12小结287 习题11288第12章面向对象实现289 12.1程序设计语言28912.1.1面向对象语言的优点28912.1.2面向对象语言的技术特点29012.1.3选择面向对象语言294 12.2程序设计风格29412.2.1提高可重用性29512.2.2提高可扩充性29712.2.3提高健壮性297 12.3测试策略29812.3.1面向对象的单元测试29812.3.2面向对象的集成测试29912.3.3面向对象的确认测试299 12.4设计测试用例29912.4.1测试类的方法30012.4.2集成测试方法301 12.5小结303 习题12304第13章软件项目管理305 13.1估算软件规模30513.1.1代码行技术30513.1.2功能点技术306 13.2工作量估算30813.2.1静态单变量模型30813.2.2动态多变量模型30813.2.3COCOMO2模型309 13.3进度计划31213.3.1估算开发时间31213.3.2Gantt图31413.3.3工程网络31513.3.4估算工程进度31613.3.5关键路径31813.3.6机动时间318 13.4人员组织32013.4.1民主制程序员组32013.4.2主程序员组32113.4.3现代程序员组322 13.5质量保证32413.5.1软件质量32413.5.2软件质量保证措施326 13.6软件配置管理32813.6.1软件配置32913.6.2软件配置管理过程329 13.7能力成熟度模型331 13.8小结334 习题13335附录AC 类库管理系统的分析与设计337 A.1面向对象分析337A.1.1需求337A.1.2建立对象模型338 A.2面向对象设计339A.2.1设计类库结构339A.2.2设计问题域子系统340A.2.3设计人机交互子系统341A.2.4设计其他类344参考文献347 |