




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程、软件生命周期和软件过程模型等概念回顾停下来,思考才是进步的本质
--李维.《大道至简.序》议程软件工程软件生命周期软件开发过程模型什么是软件?软件是计算机系统中与硬件相对应的另一部分,包括一系列程序、数据及其相关文档的集合。三要素:程序文档数据软件的特征特性:复杂性一致性不会磨损和“老化”易变性移植性成本高时间故障率软件演化-1第一代:程序设计阶段。1946年到60年代初,其主要特征是程序生产方式为个体手工方式。第二代:程序系统阶段。60年代初到70年代初,软件工程学科诞生。软件的开发方式由个体生产发展到了小组生产,软件的开发与维护费用以惊人的速度增加,维护困难,导致软件危机。软件演化-2第三代:传统软件工程阶段。20世纪70年代中期至80年代中期,软件工程师把工程化的思想加入到软件的开发过程中,用工程化的原则、方法和标准来开发和维护软件。第四代:面向对象阶段。20世纪80年代中期至今,面向对象的方法学受到了人们的重视,促进了软件业的飞速发展,软件产业在世界经济中已经占有举足轻重的地位。软件工程定义-1FritzBauer的定义:
软件工程是为了经济地获得能够在实际机器上有效运行的可靠软件而建立和使用的一系列完善的工程化原则。1968年在NATO科技会议上首次提出软件工程的概念软件工程定义-2B.W.Boehm的定义:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必须的相关文件资料。巴利·玻姆,软件工程估算模型COCOMO模型之父、软件过程螺旋式模型之父。软件工程定义-31983年美国《IEEE软件工程标准术语》的定义为:
软件工程是开发、运行、维护和修复软件的系统方法,其中“软件”的定义为:计算机程序、方法、规则、相关的文档资料以及在计事机上运行时所必需的数据。软件工程化思想把软件看作是一个工程产品两个方面:软件工程讨论软件工程软件工程议程软件工程软件生命周期软件开发过程模型软件生命周期
任何有生命的动物、植物和人,都有一个生存周期(LifeCycle),例如人的生存周期为胎儿、婴儿、幼儿、儿童、少年、青年、中年、老年、死亡。没有生命的事物或实体,例如PC机、路由器、家具、房子、汽车,它们也有一个生存周期,这个生存周期就是使用寿命,即生产周期加上使用周期。
序号名称1立项/签合同2需求分析3概要设计4详细设计5编码实现6软件测试7软件发布与实施8软件维护9版本更新或退役软件生命周期主要过程获取过程获取过程供应过程管理过程运行过程开发过程维护过程获取者供应者管理者运行者用户开发者维护者开发者维护者组织过程:管理、改进...支持过程:文档、质量保证、配置管理...合同使用合同观点管理观点运行观点开发观点支持观点主要过程之间关系讨论对不同类型软件生命周期的认识?产品类:操作系统、数据库、开发语言、各种应用项目类:定制化类、各种应用领域软件、应用领域类的产品化。议程软件工程软件生命周期软件开发过程模型软件过程定义:软件过程是为了开发出软件产品,或者是为了完成软件工程项目而需要完成的有关软件工程的活动通常使用生命周期模型简洁地描述软件过程。生命周期模型规定了把生命周期划分为哪些阶段及各个阶段的执行顺序,也称为过程模型瀑布模型瀑布模型提供了软件开发的基本框架。瀑布模型将软件生命周期划分为软件计划、需求分析和定义、软件设计、软件实现、软件测试、软件运行和维护这6个阶段,规定了它们自上而下、相互衔接的固定次序,如同瀑布流水逐级下落而得名它是一个软件开发架构,开发过程是通过一系列阶段顺序展开的。每个阶段都会产生循环反馈各个阶段产生的文档是维护软件产品时必不可少的,没有文档的软件几乎是不可能维护的。瀑布模型示意图瀑布模型特点顺序性和依赖性推迟实现质量保证的观点是一种线性模型强调文档的作用增量模型增量模型(IncrementalModel)也称为渐增模型,是在项目的开发过程中以一系列的增量方式开发系统。软件被作为一系列的增量构件来设计、实现、集成和测试,每一个构件是由多种相互作用的模块所形成的提供特定功能的代码片段构成.增量方式包括:增量开发:以一定的时间间隔开发部分工作软件增量提交:以一定的时间间隔增量方式向用户提交工作软件及相应文档增量模型融合了线性顺序模型的基本成份和原型实现模型的迭代特征。增量模型分为渐增模型和原型模型渐增模型是瀑布模型的变种,有两类渐增模型:增量构造模型:它在瀑布模型基础上,对一些阶段进行整体开发,对另一些阶段进行增量开发。前面的开发阶段按瀑布模型进行整体开发,后面的开发阶段按增量方式开发。演化提交模型:它在瀑布模型的基础上,所有阶段都进行增量开发,也就是说不仅是增量开发,也是增量提交。增量构造模型需求分析设计编码1测试1测试2编码2编码3测试3螺旋模型螺旋模型(SpiralModel)是结合了瀑布模型和快速原型模型的迭代开发模型强调了其他模型均忽略了的风险分析:风险识别风险分析风险控制特别适合于大型复杂的系统每一个周期都包括需求定义、风险分析、工程实现和评审螺旋模型示意图螺旋模型活动四个象限分别代表了以下活动:制定计划:确定软件目标,选定实施方案,确定项目开发的限制条件;风险分析:分析评估所选方案,考虑如何识别和消除风险;实施工程:实施软件开发和验证;客户评估:评价开发工作,提出修正建议,制定下一步计划。螺旋模型是风险驱动的模型协同开发模型协同开发模型(CollaborativeDevelopmentModel,简称CDM),有时也叫做协同工程,可以表示为一系列框架活动、软件工程动作和任务以及相应的状态。在某一特定时间,建模活动可能处于任何一种状态。协同开发模型定义了一系列事件,这些事件将触发软件工程活动、动作或任务的状态转换。协同开发模型空状态开发状态等待变更状态评审状态修改状态建立基线状态结束状态建模活动面向对象过程模型面向对象是一种的程序设计方法,或者说它是一种程序设计范型。基本思想是使用对象,类,继承,封装,消息等基本概念来进行程序设计。面向对象的要素:抽象:强调实体的本质、内在的属性,忽略一些无关紧要的属性。类实现了对象的数据(即状态)和行为的抽象,是对象的共性的抽象。封装性:指所有软件部件内部都有明确的范围以及清楚的外部边界。共享性:面向对象的特征:对象惟一性;分类性;继承性;多态性(多形性)。统一过程模型统一过程(UnifiedProcess,UP)是风险驱动的、基于用例技术的、以架构为中心的、迭代的、可配置的软件开发流程。统一过程是以用例驱动的,以架构为中心,迭代和增量的过程。统一过程是一个软件开发过程,是一个通用的过程框架:初始细化构造移交统一过程的四个阶段统一过程五个核心工作流需求(RequirementsCapture):致力于开发正确的系统分析(Analysis):更精确地理解需求设计(Design):深入理解与非功能性需求和约束相联系的问题实现(Implementation):实现系统与集成测试(Test):验证实现的结构核心工作流统一过程准则准则迭代的开发软件需求管理基于构件的体系结构可视化软件建模验证软件质量控制软件的变更统一过程主要的优点是提高了团队生产力测试驱动模型作业大家每个人所
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 雇佣汽车司机协议书
- 退出公司股份协议书
- 足球培训合同协议书
- 餐饮外带打包协议书
- 书画院分院合作协议书
- 便利店劳动合同协议书
- 青岛养老产业协议书
- 装修公司和解协议书
- 充电桩租赁合同协议书
- 苏北计划资助协议书
- 湖北省华大新高考联盟2025届5月名校高考预测卷高三语文试卷 含解析
- 第23课《“蛟龙”探海》课件-2024-2025学年统编版语文七年级下册第六单元
- 2024-2024年上海市高考英语试题及答案
- 医院培训课件:《医务人员职业暴露及安全防护》
- 强透水性地质条件下泥水盾构泥浆成膜技术
- 苗木迁移工程施工方案
- GB/T 7124-2008胶粘剂拉伸剪切强度的测定(刚性材料对刚性材料)
- GB/T 2410-1980透明塑料透光率和雾度试验方法
- 矿井火灾防治课件
- 最新安全生产管理教材电子版
- (完整版)马克思主义基本原理概论知识点
评论
0/150
提交评论