软件工程实践教程刘冰//赖涵//瞿中//王化晶作者简介、书籍目录、内容摘要、编辑推荐
本书从实用的角度出发,根据教育部高教司审定的《中国计算机科学与技术学科教程2002》中对软件工程的要求编写,并参照美国ACM和IEEE Computing Curricula 2001教程关于软件工程的描述,吸取了国内外软件工程的精华,详细介绍了软件工程、软件开发过程、软件计划、需求分析、总体设计、详细设计、编码、软件测试、软件维护、软件工程标准化和软件文档、软件工程质量、软件工程项目管理以及软件工程开发实例。各章均配有习题,以指导读者深入地进行学习,部分章后附有经典例题讲解和实验内容,帮助读者掌握相关知识。? 本书既可作为高等学校计算机专业课程的教材或教学参考书,也可作为通信、电子信息、自动化等相关专业的计算机课程教材,还可供软件工程师、软件项目管理者和应用软件开发人员阅读参考。
书籍目录
出版说明前言第1章 基础知识1.1 概述1.1.1 基本概念1.1.2 软件危机1.2 软件生存周期和软件过程1.2.1 软件生存周期1.2.2 软件开发过程模型1.2.3 软件开发方法1.2.4 软件开发工具1.3 经典例题讲解1.4 Visio绘图初步1.4.1 Visio 2007简介1.4.2 Microsoft Office Visio 2007工作环境1.5 Visio操作入门1.5.1 实验目的1.5.2 实验案例1.5.3 实验内容1.6 小结1.7 习题第2章 需求分析2.1 可行性研究2.1.1 问题定义2.1.2 可行性研究的任务2.1.3 可行性研究的步骤2.2 需求分析2.3 获取需求的方法2.4 成本—效益分析2.4.1 成本估算方法2.4.2 成本估算模型2.5 结构化分析方法2.5.1 数据流图2.5.2 数据字典2.5.3 实体关系图2.5.4 描述加工处理的结构化语言2.6 面向对象分析方法2.6.1 面向对象分析简介2.6.2 基于用例的分析建模2.6.3 评审分析模型2.7 快速原型分析方法2.8 经典例题讲解2.9 基于Rational Rose 2003的UML建模2.9.1 Rational Rose 2003简介2.9.2 Rose建模环境2.9.3 Rose模型的视图2.9.4 Rose建模界面2.10 小结2.11 习题第3章 系统设计3.1 系统设计的目的和任务3.2 系统总体设计3.2.1 总体布局3.2.2 设计原则3.2.3 总体设计的启发规则3.2.4 面向数据流的设计方法3.2.5 面向对象的设计方法3.2.6 总体设计的工具3.2.7 模块结构设计3.3 系统详细设计3.3.1 详细设计阶段的任务3.3.2 详细设计的原则3.3.3 详细设计工具3.3.4 代码设计3.3.5 数据库设计3.3.6 用户界面设计3.3.7 Jackson程序设计方法3.3.8 Warnier程序设计方法3.3.9 基于组件的设计方法3.4 经典例题讲解3.5 应用Visio进行数据库建模3.5.1 实验目的3.5.2 实验案例3.5.3 实验内容3.6 应用Visio进行软件界面设计3.6.1 实验目的3.6.2 实验案例3.7 小结3.8 习题第4章 系统实施4.1 系统实施概述4.2 程序设计风格4.3 程序设计语言的选择4.4 程序的复杂性及度量4.4.1 代码行度量法4.4.2 McCabe度量法4.5 小结4.6 习题第5章 系统测试5.1 系统测试的任务和目标5.2 系统测试方法5.2.1 黑盒测试5.2.2 白盒测试5.2.3 灰盒测试5.2.4 面向对象的测试5.2.5 人工测试5.2.6 机器测试5.3 测试步骤5.3.1 单元测试5.3.2 集成测试5.3.3 确认测试5.3.4 系统测试5.3.5 验收测试5.4 面向对象软件测试5.4.1 面向对象测试模型5.4.2 面向对象分析的测试5.4.3 面向对象设计的测试5.4.4 面向对象编程的测试5.4.5 面向对象的单元测试5.4.6 面向对象的集成测试5.4.7 面向对象的系统测试5.5 测试设计和管理5.5.1 错误曲线5.5.2 测试用例设计5.6 软件测试工具5.7 经典例题讲解5.8 小结5.9 习题第6章 系统运行和维护6.1 系统运行管理的任务和目标6.2 软件维护的概念6.3 软件维护的特点6.4 软件维护的步骤6.5 软件的可维护性6.5.1 软件可维护性概述6.5.2 软件维护的类型6.5.3 软件可维护性度量6.6 逆向工程和再工程6.7 经典例题讲解6.8 小结6.9 习题第7章 面向对象建模7.1 面向对象的软件工程7.2 面向对象方法的特点7.3 面向对象方法学当前的研究及实践领域7.4 面向对象的基本概念7.5 统一建模语言和统一过程7.5.1 统一建模语言概述7.5.2 UML的基本实体7.5.3 常用的UML图7.6 经典例题讲解7.7 应用Rose画用例图7.7.1 实验目的7.7.2 实验案例7.7.3 实验内容7.8 应用Rose画交互图7.8.1 实验目的7.8.2 实验案例7.8.3 实验内容7.9 应用Rose画类图7.9.1 实验目的7.9.2 实验案例7.9.3 实验内容7.10 应用Rose画状态图和活动图7.10.1 实验目的7.10.2 实验案例7.10.3 实验内容7.11 应用Rose画组件图和部署图7.11.1 实验目的7.11.2 实验案例7.11.3 实验内容7.12 小结7.13 习题第8章 软件工程标准化和软件文档8.1 软件工程标准化的概念8.2 软件工程标准的制定与推行8.3 软件工程标准的层次和体系框架8.3.1 软件工程标准的层次8.3.2 软件工程过程中版本控制与变更控制处理过程8.3.3 中国的软件工程标准化工作8.4 ISO 9000国际标准概述8.5 软件文档8.5.1 软件文档的作用和分类8.5.2 对软件文档编制的质量要求8.5.3 软件文档的管理和维护8.6 小结8.7 习题第9章 软件工程质量9.1 软件质量特性9.2 软件质量的度量模型9.3 软件质量保证9.4 技术评审9.5 软件质量管理体系9.5.1 软件产品质量管理的特点9.5.2 软件质量管理体系9.6 小结9.7 习题第10章 软件工程项目管理10.1 软件项目管理的特点和职能10.2 软件项目管理活动10.3 计划和组织10.3.1 项目计划的制定10.3.2 项目组人员管理原则10.3.3 人员组织与管理10.4 进度计划10.4.1 制定开发进度计划10.4.2 甘特图与时间管理10.4.3 工程网络与关键路径10.5 风险管理10.6 软件成熟度模型10.6.1 CMM简介10.6.2 CMM成熟度级别10.7 项目管理认证体系IPMP与PMP10.8 经典例题讲解10.9 应用Project 2007进行项目管理10.9.1 Project 2007简介10.9.2 Project 2007工作界面10.9.3 项目管理专用术语概览10.10 Project操作入门10.10.1 实验目的10.10.2 实验案例10.10.3 实验内容10.11 利用Project制定项目计划10.11.1 实验目的10.11.2 实验案例10.11.3 实验内容10.12 小结10.13 习题第11章 开发实例11.1 可行性研究11.2 需求分析11.3 系统设计11.4 系统实施11.5 测试11.6 运行和维护附录 国家标准文档格式下载地址参考文献
章节摘录
插图:第1章 基础知识1.1 概述1.1.1 基本概念1.软件“软件”这个词汇于20世纪60年代被首次提出。一个完整的计算机系统由软件和硬件组成,它们相互依存,缺一不可。IEEE给软件的定义:软件是计算机程序、规程以及运行计算机系统可能需要的相关文档和数据。其中:1)计算机程序是计算机设备可以接受的一系列指令和说明,为计算机的运行提供所需的功能和性能。2)数据是事实、概念或指令的结构化表示,能够被计算机设备接收、理解或处理。3)文档是描述程序研制过程、方法及使用的图文材料。从软件的内容来说,软件更像是一种嵌入式的数字化知识,其形成是一个通过交互对话和抽象理解而不断演化的过程。软件是一种特殊的产品,它具有如下特点。1)复杂性:软件比任何其他人类制造的结构更复杂,甚至硬件的复杂性和软件相比也是微不足道的。软件本质上的复杂性使软件产品难以理解,影响软件过程的有序性和软件产品的可靠性,并使维护过程变得十分困难。2)一致性:软件必须遵从人为的习惯并适应已有的技术和系统,软件需要随接口的不同而改变,随时间的推移而变化,而这些变化是不同的人设计的结果。许多复杂性来自保持与其他接口的一致,对软件的任何再设计,都无法简化这些复杂特性。3)可变性:软件产品扎根于文化的母体中,如各种应用、用户、自然及社会规律、计算机硬件等,这些因素持续不断地发生着变化,而这些变化使软件随之变化。人们总是认为软件是很容易修改的,通常忽视了修改带来的副作用,即引入新的错误,造成故障率的升高。4)不可见性:软件是客观世界和计算机之间的一种逻辑实体,不具有物理的形体特征。软件这种无法可视化的固有特性,剥夺了一些具有强大功能的概念工具的构造思路,不仅限制了个人的设计过程,也严重地阻碍了相互之间的交流。由于软件的不可见性,定义“需要做什么”成为软件开发的根本问题。
编辑推荐
《软件工程实践教程》既可作为高等学校计算机专业课程的教材或教学参考书,也可作为通信、电子信息、自动化等相关专业的计算机课程教材,还可供软件工程师、软件项目管理者和应用软件开发人员阅读参考。