软件开发模型PPT课件
- 格式:pptx
- 大小:279.02 KB
- 文档页数:67


常见软件开发模型
模型 优点 缺点
瀑布模型
文档驱动 系统可能不满足客户的需求
快速原型模型 关注满足客户需求 可能导致系统设计差、效率低,难于维护
增量模型 开发早期反馈及时,易于维护 需要开放式体系结构,可能会设计差、效率低
螺旋模型 风险驱动 风险分析人员需要有经验且经过充分训练
瀑布模型(Waterfall Model)
1970年Winston Royce提出了著名的"瀑布模型",直到80年代早期,它一直是唯一被广泛采用的软件开发模型。
瀑布模型中,如图所示,将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。
在瀑布模型中,软件开发的各项活动严格按照线性方式进行,当前活动接受上一项活动的工作结果,实施完成所需的工作内容。当前活动的工作结果需要进行验证,如果验证通过,则该结果作为下一项活动的输入,继续进行下一项活动,否则返回修改。
瀑布模型强调文档的作用,并要求每个阶段都要仔细验证。但是,这种模型的线性过程太理想化,已不再适合现代的软件开发模式,几乎被业界抛弃,其主要问题在于:
(1) 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量;
(2) 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险;
(3) 早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果。
快速原型模型(Rapid Prototype Model)
快速原型模型的第一步是建造一个快速原型,实现客户或未来的用户与系统的交互,用户或客户对原型进行评价,进一步细化待开发软件的需求。通过逐步调整原型使其满足客户的要求,开发人员可以确定客户的真正需求是什么;第二步则在第一步的基础上开发客户满意的软件产品。
显然,快速原型方法可以克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险,具有显著的效果。快速原型的关键在于尽可能快速地建造出软件原型,一旦确定了客户的真正需求,所建造的原型将被丢弃。因此,原型系统的内部结构并不重要,重要的是必须迅速建立原型,随之迅速修改原型,以反映客户的需求。
402 中国工程物理研究院科技年报 表1项目策划阶段检查表 阶段 具体检查项 结果 备注
项目 策划 软件开发设计方法选择是否正确? 组织的标准软件开发过程是否裁减形成该项目的软件过程?裁减的软件开发过程是否适用?是否得到批准? 是否对规模、工时、成本、缺陷预计?预计的方法是否正确?选择的参考值是否记录? 预计的结果与计划进度表之间是否矛盾? 开发计划的内容是否完整,格式是否正确?目标量化是否合适?策略是否可行? 开发计划是否进行了评审?是否有记录? 开发计划是否得到用户的认可? 是否向项目组成员传达了被批准的开发计划? 开发计划变更的方法是否明确? 综上所述,SQA相关活动的开展和建立是一个持续改进的过程,需要单位领导的全力支持和全员的积 极参与。软件研发单位只有真正建立了SQA规范,培养了专业的SQA人员,建立起SQA体系,软件项 目管理才能实现由人治到法治,才能彻底提高软件开发过程质量,从而保证软件质量和开发进度。
6—23模型驱动的软件开发模式 薛振伟 为了探讨以代码为中 tl,的传统软件开发模式的缺点以及模型驱动的软件开发模式,展开了对模型驱动 架构(MDA)的体系结构以及模型驱动的软件开发过程的讨论,最后对其进行了评价。 在传统的软件开发模式当中,大部分开发过程都是以代码为中心的,这种开发模式逐渐暴露出越来越 多的缺点和问题,主要体现在3个方面:混淆了解决问题的内在本质和外在手段,参与者在问题域与解决 域之间存在断层,开发过程应对变更的能力不足。 模型驱动架构是一种基于UML以及相关工业标准的框架,将软件系统建立在各种模型的基础上,通 过模型的变换来驱动系统的开发。相比而言,以模型为中心的基于MDA的软件开发模式在众多大型软件 项目中越来越展现出卓越的解决问题的能力和强大的生命力。 基于MDA的软件开发生命周期是由软件系统的建模行为驱动 的,整个开发过程都是围绕模型的创建和变换开展的,如图l 所示。 从整体来看,当完整实现MDA后,对生命周期的关注点 从“代码”转移到了“模型”。与传统开发过程相比较,MDA 开发过程有许多地方没有改变,仍然需要先找出需求并加以表 示,需要测试系统、部署系统。改变较大的是分析、设计和编 码这3项活动,以及参与MDA开发过程的3类参与者角色。 首先,在分析阶段,需要由PIM分析员来开发一个PIM, 图1 MDA软件开发生命周期 他们主要由一组专业领域人士组成,主要关注问题域的业务规范及需要实现的功能,并且由业务需要和业 务模型来驱动。 其次,在设计阶段,需要由PSM创建者来将PIM变换成一个或多个PSM。他们需要对不同的平台、
软件开发流程模型
1、V 模型模型图
定义:RAD (Rap Application Development,快速应⽤开发) 模型是软件开发过程中的⼀个重要模型,由于其模型构图形似字母V,所以⼜称
软件开发的V模型。它通过开发和测试同时进⾏的⽅式来缩短开发周期,提⾼开发效率。
优点:相对于瀑布模型,V模型测试能够尽早的进⼊到开发阶段。
缺点:虽然测试尽早的进⼊到开发阶段,但是真正进⾏软件测试是在编码之后,这样忽视了测试对需求分析,系统设计的验证,时间效率上
也⼤打折扣。
2、瀑布模型模型图
定义:瀑布模型(Waterfall Model)是将软件⽣存周期的各项活动规定为按固定顺序⽽连接的若⼲阶段⼯作,形如瀑布流⽔,最终得到软件产
品。
地位:这是⼀种经典模型,提供了软件开发的基本框架。
优点:1)各阶段划分清晰
2)强调计划与需求分析
3)适合需求稳定的产品开发
缺点:1)单⼀流程,不可逆
2)风险显露得晚,纠正机会少
3)测试只是其中⼀个阶段,缺乏全过程测试思想
3、敏捷开发模型
流程图
定义:从1990年代开始逐渐引起⼴泛关注,是⼀种以⼈为核⼼、快速迭代、循序渐进的开发⽅法。强调以⼈为本,专注于交付对客户有价值
的软件。是⼀个⽤于开发和维持复杂产品的框架。就是把⼀个⼤项⽬分为多个相互联系,但也可独⽴运⾏的⼩项⽬,并分别完成,在此过程
中软件⼀直处于可使⽤状态。
优点:敏捷确实是项⽬进⼊实质开发迭代阶段,⽤户很快可以看到⼀个基线架构版的产品。敏捷注重市场快速反应能⼒,也即具体应对能
⼒,客户前期满意度⾼。
缺点:但敏捷注重⼈员的沟通,忽略⽂档的重要性,若项⽬⼈员流动⼤太,⼜给维护带来不少难度,特别项⽬存在新⼿⽐较多时,⽼员⼯⽐
较累。需要项⽬中存在经验较强的⼈,要不⼤项⽬中容易遇到瓶颈问题。
V模型理解
V模型的中⼼思想是,研发⼈员和测试⼈员需要同时⼯作,在软件做需求分析的同时就会有测试⽤例的跟踪,这样可以尽快找出程序错误和
需求偏离,从⽽更⾼效的提⾼程序质量,最⼤可能的减少成本,同时满⾜⽤户的实际软件需求。V模型的重要意义在于,⾮常明确的表明了
软件开发公司 Altia — 基于模型的 HMI 设计及开发软件
随着消费电子和车辆电子的飞速发展,车载仪表和车载娱乐系统在内的 HMI(Human
Machine Interface- 人机交互界面)普遍向多功能多元化趋势发展,HMI 开发面临难度大、周期长、成本高的挑战。美国 Altia 公司 25 年以来致力于为用户提供全套灵活易用的 HMI
开发工具,秉承所见即所得的开发理念,采用基于模型的开发手段,快速将概念设计实现为最终嵌入式代码,在保证高品质图形界面的同时,大幅提升开发效率。
产品介绍
Altia 采用基于模型的设计理念,它提供自动代码生成器、语言翻译器、API 函数以及 GL,可方便地将 HMI 图形界面设计直接转换为可执行的源代码,并与用户应用程序无缝集成,最终在多种操作系统及硬件平台上运行和显示,提高了设计效率,实现了从需求定义到产品实现的 HMI V 模式开发流程:
感谢您的阅读!