软件工程概念_第1页
软件工程概念_第2页
软件工程概念_第3页
软件工程概念_第4页
软件工程概念_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程概念软件由计算机程序、数据及文档组成。软件的特点抽象性软件生产无明显制造过程无磨损性对计算机硬件依赖性软件的手工开发方式软件本身复杂性软件的高成本第一页,共二十三页。1软件与硬件、数据库、人、过程等共同构成计算机系统。软件种类可以从六个方面进行划分:按功能分类应用软件系统软件支撑软件软件的概念第二页,共二十三页。2按规模分类微型小型中型大型甚大型极大型按工作方式分类分时软件实时软件交互式软件批处理式软件第三页,共二十三页。3按服务对象分类项目软件产品软件按使用频度分类一次性使用软件频繁使用软件按失效影响分类高可靠性软件一般可靠性软件每一类软件在管理方面要求程度不同。第四页,共二十三页。4软件的发展经历了三个阶段程序设计阶段—50至60年代程序系统阶段—60至70年代 软件工程阶段—70年代以后软件工程概念的出现源自软件危机。软件的发展第五页,共二十三页。5软件工程定义为“运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必须的相关文档资料。”软件工程学定义为“建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。”软件工程包括三个要素:方法、工具和过程。软件工程定义第六页,共二十三页。6软件工程需要解决的问题主要有:软件成本、软件可靠性、软件维护、软件生产率和软件复用。软件工程需要达到的基本目标:付出较低的开发成本达到要求的软件功能取得较好的软件性能开发的软件易于移植需要较低的维护费用能按时完成开发,及时交付使用软件工程的目标第七页,共二十三页。7ISO9000定义:软件过程是把输入转化为输出的一组彼此相关的资源和活动。从软件开发的观点看,它就是使用适当的资源(包括人员、硬软件工具、时间等),为开发软件进行的一组开发活动,在过程结束时将输入(用户要求)转化为输出(软件产品)。软件工程过程第八页,共二十三页。8软件工程过程定义了:方法使用的顺序、要求交付的文档资料、为保证质量和适应变化所需要的管理、软件开发各个阶段完成的里程碑软件工程过程包含四种基本的过程活动:Plan

软件规格说明Do

软件开发Check软件确认Action

软件演进第九页,共二十三页。9软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为软件的生存期软件生存期包含三个阶段:软件定义、软件开发及软件运行维护。软件生存期模型是软件工程思想的具体化,是跨越软件生存期的系统开发、运行、维护所实施的全部活动和任务的过程框架。软件生存期第十页,共二十三页。10常用的软件生存期模型有瀑布模型演化模型螺旋模型增量模型喷泉模型智能模型

软件生存期模型第十一页,共二十三页。11瀑布模型需求定义系统与软件设计集成与系统测试实现与单元测试运行与维护各项活动按自上而下,相互衔接的固定次序,如同瀑布逐级下落。每项活动均处于一个质量环(输入-处理-输出-评审)中。第十二页,共二十三页。12演化模型需求的采集与细化客户评价原型快速设计建造原型加工原型产生样品停止开始先开发一个“原型”软件,完成部分主要功能,展示给用户并征求意见,然后逐步完善,最终获得满意的软件产品。第十三页,共二十三页。13螺旋模型决定目标、方案和限制评价方案、识别风险、弱化风险

开发、验证、下一级产品

计划下一阶段集成测试第十四页,共二十三页。14螺旋模型螺旋模型将瀑布模型与演化模型结合起来,并且加入两种模型均忽略了的风险分析。螺旋模型沿着螺线旋转,自内向外每旋转一圈便开发出更完善的一个新版本。制定计划确定软件目标,选定实施方案,弄清项目开发的限制条件;风险分析分析所选方案,考虑如何识别和消除风险;实施工程实施软件开发客户评估评价开发,提出修正建议。第十五页,共二十三页。15增量模型把软件产品分解成一系列的增量构件,在增量开发迭代中逐步加入。每个构件由多个相互作用的模块构成,并且能够完成特定的功能。增量开发方法的新演进版本叫做“极限程序设计(eXtremeProgramming)”。

定义基本需求将需求赋予增量构件设计系统体系结构开发增量构件确认增量构件集成增量构件确认系统第十六页,共二十三页。16喷泉模型体现了迭代和无间隙的特性。系统某个部分常常重复工作多次,相关对象在每次迭代中随之加入演进的软件成分。无间隙是指在各项开发活动,即分析、设计和编码之间不存在明显的边界。喷泉模型是对象驱动的过程。第十七页,共二十三页。17需求阶段分析阶段设计阶段编程阶段集成与测试阶段维护与演进阶段第十八页,共二十三页。18智能模型智能模型是基于知识的软件开发模型,它把瀑布模型和专家系统综合在一起。该模型在各个开发阶段都利用了相应的专家系统来帮助软件人员完成开发工作。为此,建立了各个阶段的知识库,将模型、相应领域知识和软件工程知识分别存入数据库。以软件工程知识为基础的生成规则构成的专家系统与包含应用领域知识规则的其他专家系统相结合,构成该应用领域的开发系统。

第十九页,共二十三页。19用户要求需求分析概要设计详细设计程序编码测试维护支持需求分析的专家系统支持软件设计的专家系统

支持测试的专家系统

支持维护的专家系统第二十页,共二十三页。20在软件开发过程中必须遵循的软件工程原则有:抽象与自顶向下、逐层细化信息隐蔽和数据封装模块化局部化确定性一致性和标准化完备性和可验证性软件工程原则第二十一页,共二十三页。21软件工程的基本原理有:按软件生存期分阶段制定计划并认真实施;坚持进行阶段评审;坚持严格的产品控制;使用现代程序设计技术;明确责任,使得工作结果能够得到清楚的审查;用人少而精;不断改进开发过程。软件工程的基本原理第二十二页,共二十三页。22内容总结软件工程概念。软件与硬件、数据库、人、过程等共同构成计算机系统。程序设计阶段—50至60年代。程序系统阶段—60至70年代。软件工程阶段—70年代以后。软件工程定义为“运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必须的相关文档资料。ISO9000定义:软件过程是把输入转化为输出的一组彼此

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论