软件工程方法与实践

分類: 图书,计算机/网络,软件工程/开发项目管理,
作者: 窦万峰等编著
出 版 社: 机械工业出版社
出版时间: 2009-5-1字数:版次: 1页数: 286印刷时间:开本: 16开印次: 1纸张:I S B N : 9787111267584包装: 平装内容简介
软件工程学将计算机科学理论与现代工程方法论相结合,着重研究软件过程模型、分析与设计方法、软件工程开发与管理技术和工具,是指导软件生产和管理的一门新兴的、综合性的应用科学。本书分别从传统的结构化开发范型和面向对象开发范型两个方面,把软件工程的概念和理论知识融入到实践当中,通过丰富的案例分析与设计,更深入地理解软件开发中各个阶段的技术、方法和管理过程。本书包括软件工程与过程、软件需求分析与建模、软件设计、软件测试与维护和软件工程管理五个部分,共16章,深入介绍了软件开发“工程化”思想。
本书适合作为高等院校软件工程课程的教材,即适用于计算机专业的学生,也适用于其他非计算机专业从事软件开发与应用及管理的专业学生和技术人员学习的教材。本书还可以成为从事软件开发人员必备的参考书。
本书将软件工程原理和实践分析相结合,以案例项目为主线贯穿全书,介绍了软件工程涉及的概念。原理和方法,按照软件工程阶段要求建立系统模型,包括分析。设计、测试、管理等。在每个阶段安排能够体现该阶段原理和思想的案例,全面介绍软件工程的要点,使学生能够深入理解软件工程的原理。方法和技术并充分认识开发过程和迭代工作的重要性,同时进一步了解企业软件工程运用的规范和要求,为日后工作中出色完成项目任务和迭代任务打下坚实的基础。
本书特点
坚持基本理论适度,强调工程实践和应用环节,把软件工程的概念和理论知识融入实践之中。
以”案例”为驱动,以实践教学为基础,提供5个典型案例支持,不同的案例介绍和分析层次充分体现技术的适用性和方法的实用性。
注重教学资源的配套,为任课教师配有电子教案。
配套教材《软件工程实验教程》,引导学生学习软件生命周期各阶段所用到的CASE工具,包括软件文档标准与规范。软件分析与设计、软件测试和软件项目管理四个部分,共设计了15个实验,培养学生实践创新能力和专业技能。
目录
前言
教学建议
第一部分软件工程与过程
第1章概述
1.1软件工程的基本概念
1.1.1软件的角色和特性
1.1.2软件演化
1.1.3软件神化和危机
1.1.4软件危机的解决途径
1.2工程化思想
1.2.1工程化所涉及的范围
1.2.2工程化管理思想
1.3软件工程两大范型
1.4软件工程思想与基本原理
1.4.1软件工程基本原理
1.4.2软件工程思想
1.5软件工程活动
1.5.1软件开发活动
1.5.2软件项目管理活动
1.5.3软件过程改进活动
1.6小结
习题
第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.4.3自适应软件开发
2.4.4动态系统开发
2.4.5特征驱动开发
2.5软件工程实践
2.5.2沟通实践
2.5.3计划实践
2.6小结
习题
第3章软件过程模型
3.1瀑布模型
3.2增量模型
3.2.1增量构造模型
3.2.2演化提交模型
3.3螺旋模型
3.4协同开发模型
3.5面向对象过程模型
3.5.1面向对象概念
3.5.2统一过程模型
3.5.3组件集成模型
3.6面向方面的软件开发
3.7小结
习题
第4章案例研究
4.1案例研究中涵盖的内容
4.2案例1:出卷系统
4.3案例2:短信系统
4.4案例3:POS机系统
4.5案例4:ATM机系统
4.6案例5:图书馆系统
4.7小结
习题
第二部分软件需求分析与建模
第5章软件需求分析过程
5.1什么是软件需求
5.1.1功能需求
5.1.2非功能需求
5.1.3领域需求
5.2需求分析过程
5.2.1初步沟通
5.2.2导出需求
……
第6章结构化分析建模
第7章面向对象分析
第三部分软件设计与建模
第8章软件设计
第9章结构化设计方法
第10章面向对象设计
第11章软件实现
第四部分软件测试与维护
第12章软件测试
第13章软件维护
第五部分软件工程管理
第14章软件项目管理
第15章软件项目估算
第16章软件项目计划与管理
参考文献
书摘插图
第1章概述
软件工程(Software Engineering,SE)的概念是在20世纪60年代末期提出的。这一概念的提出,目的是倡导以工程的原理、原则和方法进行软件开发,用来解决当时出现的“软件危机”。
B.W.Boehm为软件工程下的定义为:“运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。”
Fritz Bauer为软件工程下的定义为:“软件工程是为了经济地获得能够在实际机器上有效运行的可靠软件而建立和使用的一系列完善的工程化原则。”
1983年IEEE(国际电气与电子工程师协会)提出了IEEE软件工程标准术语,将软件工程定义为:“开发、运行、维护和修复软件的系统方法”。其中,“软件”的定义为:“计算机程序、方法、规则、相关的文件资料以及在计算机上运行时所必需的数据。”
尽管软件工程的具体定义不尽相同,且又有一些学者提出了更完善的定义,但其主要思想都是在强调在软件开发的过程中应用工程化思想的重要性。
软件工程的目标是:根据需求分析确定可行性后,在给定的时间内开发出具有可修改性、有效性、可靠性、可维护性、可重用性、可适应性、可移植性、开销合宜并满足用户需要的软件产品。
1.1软件工程的基本概念
软件工程的主旨是以工程化的思想进行软件开发,以生产高质量和高效率的软件,也就是说,软件工程研究的基础就是软件。那么,软件是怎么定义的?又有哪些特性?
……