第1章 软件工程概述-1.pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第1章 软件工程概述-1.pptx》由会员分享,可在线阅读,更多相关《第1章 软件工程概述-1.pptx(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第1章 软件工程概述1.1 软件 1.1.1 软件的概念及特点概念:计算机软件是由专业人员开发并长期维护的软件产品。完整的软件产品包括了在各种不同容量和体系结构计算机上的可执行的程序,运行过程中产生的各种结果,以及以硬复制和电子表格等多种方式存在的软件文档1.1 软件 特点:1)具有抽象性2)无明显的制造过程3)存在退化问题4)对计算机系统有着不同程度的依赖性5)尚未完全摆脱人工的开发方式6)软件本身是复杂的7)成本相当昂贵8)相当多的软件工作涉及社会因素1.1 软件 1.1.2 软件的分类1.2 软件危机 1.2.1 软件危机的表现与原因在软件开发的过程中,会经常出现一些不能按时完成任务、产
2、品质量得不到保证、工作效率低下和开发经费严重超支等现象。计算机软件的开发、维护和应用过程中普遍出现的这一些严重的问题便是软件危机人们对软件产品认识的不足以及对软件开发的内在规律理解的偏差是软件危机出现的本质原因。1.2 软件危机 1.2.2 软件危机的启示 软件危机给我们的最大启示,是使我们更加深刻的认识到软件的特性以及软件产品开发的内在规律。l软件产品是复杂的人造系统,具有复杂性、不可见性和易变性,难以处理。l个人或小组在开发小型软件时使用到的非常有效的编程技术和过程,在开发大型、复杂系统时难以发挥同样的作用。l从本质上讲,软件开发的创造性成分很大、发挥的余地也很大,很接近于艺术。它介于艺术
3、与工程之间的某一点,并逐步向工程一段漂移,但很难发展到完全的工程。1.2 软件危机 l计算机和软件技术的快速发展,提高了用户对软件的期望,促进了软件产品的演化,为软件产品提出了新的、更多的需求,难以在可接受的开发进度内保证软件的质量。l几乎所有的软件项目都是新的,而且是不断变化的。项目需求在开发过程中会发生变化,而且很多原来预想不到的问题会出现,对设计和实现手段进行适当的调整是不可避免的。l“人月神化”现象生产力与人数并不成正比。1.3 软件工程 1.3.1 软件工程的概念IEEE对软件工程的定义为:1)将系统化、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件2)对
4、1)中所述方法的研究具体说来,软件工程是以借鉴传统工程的原则、方法,以提高质量,降低成本为目的指导计算机软件开发和维护的工程学科。它是一种层次化的技术1.3 软件工程 软件工程层次图1.3 软件工程 1.3.2 软件工程研究的内容 软件工程研究的内容主要包括以下两个部分:软件开发技术。主要研究软件开发方法、软件开发过程、软件开发工具和环境。软件开发过程管理。主要研究软件工程经济学和软件管理学。1.3 软件工程 1.3.3 软件工程目标和原则软件工程要达到的基本目标包括:达到要求的软件功能取得较好的软件性能开发出高质量的软件付出较低的开发成本需要较低的维护费用能按时完成开发工作,及时交付使用1.
5、3 软件工程 软件工程的7条基本原则用分阶段的生没周期计划进行严格的管理坚持进行阶段评审实行严格的产品控制采用现代程序设计技术软件工程结果应能清楚地审查开发小组的人员应该少而精承认不断改进软件工程实践的必要性1.3 软件工程 1.3.4 软件工程知识体系IEEE在2014年发布的软件工程知识体系指南中将软件工程知识体系划分为以下15个知识领域。1软件需求2软件设计3软件构建4软件测试5软件维护6软件配置管理7软件工程管理8软件工程过程9软件工程模型和方法10软件质量11软件工程职业实践12软件工程经济学13计算基础14数学基础15工程基础1.4 软件过程概述 软件的诞生和生命周期是一个过程,我
6、们总体上称这个过程为软件过程。软件过程是为了开发出软件产品,或者是为了完成软件工程项目而需要完成的有关软件工程的活动,每一项活动又可以分为一系列的工程任务。任何一个软件开发组织,都可以规定自己的软件过程,所有这些过程共同构成了软件过程过程定义了运用方法的顺序,应该交付的文档资料,为保证软件质量和协调变化所需要采取的管理措施,以及标志软件开发各个阶段任务完成的里程碑。通常,使用生命周期模型简洁地描述软件过程。生命周期模型规定了把生命周期划分为哪些阶段及各个阶段的执行顺序,因此也称为过程模型1.5 软件生命周期 1.5.1软件生命周期的概念软件产品的生命周期是指从设计该产品的构想开始,到软件需求的
7、确定、软件设计、软件实现、产品测试与验收、投入使用以及产品版本的不断更新,到最终该产品被市场淘汰的全过程。软件生命周期这个概念从时间的角度将软件的开发和维护的复杂过程分解为了若干个阶段,每个阶段都完成特定的相对独立的任务。1.5 软件生命周期 1.5.2传统软件生命周期的各个阶段在传统的软件工程中,软件产品的生命周期一般可以划分为6个阶段,如图所示。传统的软件生命周期1.6 软件过程模型 在软件工程中,人们通过建立抽象的软件开发模型,把软件生命周期中的各个活动或步骤安排到一个框架中,将软件开发的全过程清晰且直观地表达出来。常见的软件开发模型有很多种,这里主要介绍瀑布模型、快速原型模型、增量模型
8、、螺旋模型、喷泉模型、基于组件的开发模型、统一软件开发过程模型以及敏捷模型与极限编程。1.6 软件过程模型 1.6.1 瀑布模型瀑布模型是一种线性的开发模型,具有不可回溯性。开发人员必须等前一阶段的任务完成后,才能开始进行后一阶段的工作,并且前一阶段的输出往往就是后一阶段的输入。由于其不可回溯性,如果在软件生命周期的后期发现并要改正前期的错误,那么需要付出很高的代价。传统的瀑布模型是文档驱动的。如图所示。1.6 软件过程模型 1.6.1 瀑布模型瀑布模型的优点是过程模型简单,执行容易;缺点是无法适应变更。瀑布模型适应于具有以下特征的软件开发项目。在软件开发的过程中,需求不发生或发生很少变化,并
9、且开发人员可以一次性获取到全部需求。否则,由于瀑布模型较差的可回溯性,在后续阶段中需求经常性的变更需要付出高昂的代价。软件开发人员具有丰富的经验,对软件应用领域很熟悉。软件项目的风险较低。瀑布模型不具有完善的风险控制机制1.6 软件过程模型 1.6.2 快速原型模型快速原型的基本思想是快速建立一个能反映用户主要需求的原型系统,让用户在计算机上试用它,通过实践来了解目标系统的概貌。通常,用户试用原型系统之后会提出许多修改意见,开发人员按照用户的意见快速地修改原型系统,然后再次请用户试用反反复复地改进,直到原型系统满足用户的要求。1.6 软件过程模型 1.6.2 快速原型模型快速原型模型适用于具有
10、以下特征的软件开发项目。1.已有产品或产品的原型(样品),只需客户化的工程项目2.简单而熟悉的行业或领域3.有快速原型开发工具4.进行产品移植或升级1.6 软件过程模型 1.6.3 增量模型增量模型是把待开发的软件系统模块化,将每个模块作为一个增量组件,从而分批次地分析、设计、编码和测试这些增量组件。运用增量模型的软件开发过程是递增式的过程。相对于瀑布模型而言,采用增量模型进行开发,开发人员不需要一次性地把整个软件产品提交给用户,而是可以分批次进行提交。1.6 软件过程模型 增量模型的最大特点就是将待开发的软件系统模块化和组件化。基于这个特点,增量模型具有以下优点。将待开发的软件系统模块化,可
11、以分批次地提交软件产品,使用户可以及时了解软件项目的进展。以组件为单位进行开发降低了软件开发的风险。一个开发周期内的错误不会影响到整个软件系统。开发顺序灵活。开发人员可以对构件的实现顺序进行优先级排序,先完成需求稳定的核心组件。当组件的优先级发生变化时,还能及时地对实现顺序进行调整。增量模型的缺点是要求待开发的软件系统可以被模块化。如果待开发的软件系统很难被模块化,那么将会给增量开发带来很多麻烦。1.6 软件过程模型 增量模型适用于具有以下特征的软件开发项目。软件产品可以分批次地进行交付待开发的软件系统能够被模块化软件开发人员对应用领域不熟悉,难以一次性地进行系统开发项目管理人员把握全局的水平
12、较高1.6 软件过程模型 1.6.4 螺旋模型螺旋模型是一种用于风险较大的大型软件项目开发的过程模型。该模型将瀑布模型与快速原型模型结合起来,并且加入了这两种模型忽略了的风险分析。它把开发过程分为制定计划、风险分析、实施工程和客户评估4种活动。螺旋模型适应于风险较大的大型软件项目的开发。它的优点是将风险分析扩展到各个阶段中,大幅度降低了软件开发的风险。但是这种模型的控制和管理较为复杂,可操作性不强,对项目管理人员的要求较高。1.6 软件过程模型 1.6 软件过程模型 1.6.5 喷泉模型喷泉模型是一种过程模型,同时也支持面向对象开发。在面向对象的方法中,分析模型和设计模型采用相同的符号标示体系
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第1章 软件工程概述-1 软件工程 概述
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内