软件开发基本流程及生命期模型课件

上传人:4**** 文档编号:243114831 上传时间:2024-09-16 格式:PPT 页数:33 大小:264KB
返回 下载 相关 举报
软件开发基本流程及生命期模型课件_第1页
第1页 / 共33页
软件开发基本流程及生命期模型课件_第2页
第2页 / 共33页
软件开发基本流程及生命期模型课件_第3页
第3页 / 共33页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,软件开发的基本流程及生命期模型,软件开发的基本流程,需求,分析,设计,实现,测试,发布,软件开发的基本流程,需求分析,概要设计,详细设计,编码,单元测试,集成测试,系统测试,发布,维护,产品研发流程,-,阶段与活动,项目论证阶段,系统设计阶段,工程研制阶段,试生产阶段,生产阶段,阶段,活动,系统设计,详细设计,制造联试,综合试验和试生产,小批量,批量生产,项目论证,包含的软件活动,系统需求分析,系统方案设计,软件需求分析,软件概要设计,软件详细设计,编码与单元,/,模块测试,软件,/,系统集成测试,系统方案,软件生存周期模型,软件生存周期,软件生存周期是指软件产品从考虑其概念开始,到该软件产品不再能使用为止的整个时期。一般包括概念阶段、需求阶段、设计阶段、实现阶段、测试阶段、安装阶段以及交付使用阶段、运行阶段和维护阶段。有时还有退役阶段。这些阶段可以有重复,执行时也可以有迭代,。,软件生存周期模型,在整个软件开发的发展过程中,为了要从宏观上,管理软件的开发和维护,,而对软件的发展过程的总体认识和描述。即对软件过程建立的模型。,生命周期模型的主要功能,确定这样一种次序,项目以这种次序确定规格,建立原型、设计、实现、检查、测试或执行一些其他活动。,建立一种标准,据此,你能确定在软件开发过程中是否是以某种次序一个任务接着一个任务地进行,选择合适的生命周期模型的重要性,选择恰当的生命周期模型,可以使项目流程化,并帮助你一步一步接近目标。,选择适宜的生命周期模型,可以提高开发速度、提升质量、加强项目跟踪和控制、减少成本、降低风险,或是改善用户关系。,不选择或错误选择生命周期模型,则会导致工作拖沓、工作重复、无谓的浪费和遭受挫折,软件生存周期模型的类型,纯瀑布模型,需求,验证,设计,验证,集成,测试,实现,测试,维护,纯瀑布模型,强项:,每个阶段要提供相应的文档,每个阶段经过了严格的评审和测试,每个阶段的所有产品经过,SQA,的审核,每个阶段的结束经过,SQA,的同意,文档驱动型,便于产品的维护,弱项:,文档驱动型,前期不利于客户对最终产品的理解,产品在开发结束后才与客户见面,可能不能很好地满足客户的需要,缺乏灵活性,必须在项目开始时说明全部需求,纯瀑布模型,应用:,有清晰定义和理解的需求的项目,一些维护性项目,将现有产品移植到一个新平台上,原型模型,快速原型,验证,设计,验证,集成,测试,实现,验证,维护,原型模型,原型模型的类型,探索型原理,把原型用于开发的需求分析阶段,目的是要型清用户的需求,确定所期望的特性,并探索各种方案的可行性。它主要针对开发目标模糊,用户与开发都对,项,目都缺乏经验的情况,通过对原型的开发来明确用户的需求。,实验型原型,主要用于设计阶段,考核;实现方案是否合适,能否实陋。对于一个大型系统,若对设计方案心中没有把握时,可通过这种原型来证实设计方案的正确性。,演化型原型,主要用于及早向用户提交一个原型系统,该原型系统或者包含系统的框架,或者包含系统的主要功能,在得到用户的认可后,将原型系统不断扩充演变为最终的软件系统。它将原型的思想扩展到软件开发的全过程。,原型模型的运用方式,抛弃策略,附加策略,原型模型,强项,定义客户的准确需求,可用于需求分析。,协调关于客户需求的不同意见。,系统表现出较高的易学性和易用性,弱项,模型不够成熟,风险较大。,客户误解为系统开发非常容易。,原型模型,应用,用户提出的需求不明确,新系统,增量模型,增量模型的例子,使用增量模型开发字处理软件。可以考虑,第一个增量发布基本的文件管理、编辑和文档生成功能,第二个增量发布更加完善的编辑和文档生成功能,第三个增量实现拼写和文法检查功能,第四个增量完成高级的页面布局功能,增量模型,强项:,产品分阶段交付给客户,客户可以很快与产品见面,客户可逐渐接受一个新的产品,并及时提出改进建议,客户可在使用产品获利的同时,进行产品开发的投资,利于各个建造之间的并行开发,人员分配灵活,弱项:,要求产品的设计具有开放式的结构,容易陷入建造,-,改错的开发方式,增量模型,应用:,系统需求和软件需求得到充分定义和清晰理解的系统,大型系统,新系统,迭代模型的一般形式,迭代模型的一般描述,迭代开发是构建软件(或者其他东西)的方式,整个生命周期以此由几个迭代组成。每个迭代是自包含的迷你项目,他们由需求分析、设计、编码和测试等活动组成。每次迭代之后将产生一个迭代版本,这是一个部分完成的系统,但它是稳定的、完整的和被测试的。更进一步说,全部团队的所有软件都是由各个迭代版本组成的。,迭代模型的例子,假如这个产品要求,6,个月交货,我在第一个月就会拿出一个产品来,当然,这个产品会很不完善,会有很多功能还没有添加进去,,bug,很 多,还不稳定,但客户看了以后,会提出更详细的修改意见,这样,你就知道自己距离客户的需求有多远,我回家以后,再花一个月,在上个月所作的需求分析、框 架设计、代码、测试等等的基础上,进一步改进,又拿出一个更完善的产品来,给客户看,让他们提意见。就这样,我的产品在功能上、质量上都能够逐渐逼近客户 的要求,不会出现我花了大量心血后,直到最后发布之时才发现根本不是客户要的东西。,迭代中的规程,迭代模型,强项:,降低了在一个增量上的开支风险,通过风险分析的方式,较好地解决了测试过多或过少的问题,将维护作为迭代的一个周期,避免了开发人员忽视维护的问题,降低了产品无法按照既定进度进入市场的风险,弱项:,风险驱动型,开发团队成员善于风险分析,才能使用好迭代模型,容易使项目遭受过度的需求增长,允许额外的和扩展的需求所带来的开发的延期或成本的增长,迭代模型,应用,:,知道项目的一般性质,但难于知道、定义和特征化详细的系统和软件需求,在项目开发早期需求可能有所变化,用户可不同程度地参与整个项目的开发过程,高风险项目,内部开发项目,大型软件开发,项目类型与软件生存周期模型,从产品所处的阶段来划分项目:,概念开发项目,以解决或验证关键技术为目的,需求明确,建议用瀑布模型。,新产品开发项目,在工期压力大的情况下,考虑采用增量模型或迭代模型,实现产品所需的功能。,产品增强项目,需求明确,可考虑采用瀑布模型。,产品维护项目,需求明确,可考虑采用瀑布模型,。,项目类型与软件生存周期模型,从需求的特性来划分项目:,需求无变更且需求必须一次性实现的项目,瀑布模型,需求无变更且需求可以分阶段实现的项目,增量模型,需求变更频繁的项目,迭代,/,构件组装模型,需求不明确,原型模型,项目类型与软件生存周期模型,从最终产品的类型来划分项目:,公用构件研发项目,需求稳定、单一,市场压力小,强调软件的可复用性,可采用瀑布模型,产品级研制项目,开始进行时,往往需求不明确,变更比较频繁,一般市场压力比较大,可采用迭代模型,系统集成项目,需求明确,已经有成熟的子系统或准子系统可以使用,可采用构件组装模型,项目类型与软件生存周期模型,从对项目的特殊要求来划分项目:,质量第一型项目,把质量放在首位,强调过程财富的积累,注重长期利益,可采用瀑布模型。,重用性第一型项目,把软件复用性放在首位,强调过程财富(构件)的积累,注重长远利益,可采用构件组装模型。,市场反应速度第一型项目,市场压力大、开发周期紧张,质量和重用性要做相应的牺牲,可采增量或迭代模型。,选择最有效的生命周期模型,在项目开始的时候,我和用户对需求的理解是否充分?在项目进行过程中,对需求的理解有可能出现改变吗?,我对系统架构的理解是否充分?是否可能在项目进展过程中对架构进行重大改变?,我需要的可靠性有多大?,需要在项目中为未来的版本提前进行多少计划和设计?,项目要承受多大的风险?,是否要被迫预先确定进度?,需要在进展中进行变更的能力吗?,需要在整个项目进展过程中给客户提供可视的进展情况吗?,需要在整个项目进展过程中给管理者提供可视的进展情况吗?,需要多少经验和技巧来成功的使用这种生命周期模型?,什么模型适合我们这个项目?,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!