精华内容
下载资源
问答
  • ProBuilder 相对于传统的强大但复杂的建模工具: 3Dmax / Maya /Zbrush ,具备灵活、简单、快速的特点,非常适合中小游戏(VR/AR) 的前期游戏创意、3D项目灵感设计等环节。    * ProBuilder能干什么:&...
  • 一、瀑布模型(WaterfallModel)定义:瀑布模型即生存周期模型,其核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理...特点:在瀑布模型中,软件开...

    一、瀑布模型(

    Waterfall Model

    )

    定义

    :瀑布模型即生存周期模型,其核心思想是按工序将问题化简,将功能的

    实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现

    与物理实现分开。

    结构

    :瀑布模型将软件生命周期划分为计划、需求分析制定、软件设计、程序

    编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互

    衔接的固定次序,如同瀑布流水,逐级下落。

    特点

    :在瀑布模型中,软件开发的各项活动严格按照线性方式进行,当前活动

    接受上一项活动的工作结果影响,实施完成所需的工作内容

    二、增量模型(

    Incremental Model

    )

    定义

    :又称演化模型。增量模型融合了瀑布模型的基本成分(重复应用)和

    原型实现的迭代特征,该模型采用随着日程时间的进展而交错的线性序列,

    每一个线性序列产生软件的一个可发布的“增量”

    特点

    :当使用增量模型时,第

    1

    个增量往往是核心的产品,即第

    1

    个增量实

    现了基本的需求,但很多补充的特征还没有发布。客户对每一个增量的使用

    和评估都作为下一个增量发布的新特征和功能,

    这个过程在每一个增量发布

    后不断重复,直到产生了最终的完善产品。增量模型强调每一个增量均发布

    一个可操作的产品。

    三、螺旋模型(

    Spiral Model

    )

    定义:

    1988

    年,

    Barry

    Boehm

    正式发表了软件系统开发的“螺旋模型”

    ,它

    将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,

    特别适合于大型复杂的系统。

    展开全文
  • 第二种是在软件开发初始阶段只能提供基本需求时采用的渐进式开发模型,如原型模型、螺 旋模型等。实践中经常将几种模型组合使用以便充分利用各种模型的优点。1.瀑布模型瀑布模型也称软件生存周期模型,由 W.Royce...

    软件开发模型大体上可分为两种类型,第一种是以软件需求完全确定为前提的瀑布模型。 第二种是在软件开发初始阶段只能提供基本需求时采用的渐进式开发模型,如原型模型、螺 旋模型等。实践中经常将几种模型组合使用以便充分利用各种模型的优点。

    5af173f377caa155814a1fcb680d8a25.png

    1.瀑布模型

    瀑布模型也称软件生存周期模型,由 W.Royce 于 1970 年首先提出。

    根据软件生存周 期各个阶段的任务,瀑布模型从系统需求分析开始,逐步进行阶段性变换,直至通过验收测 试并得到用户确认的软件产品为止。瀑布模型上一阶段的变换结果是下一阶段变换的输入, 相邻的两个阶段具有因果关系,紧密相联。

    一个阶段工作的失误将蔓延到以后的各个阶段。 为了保证软件开发的正确性,每一阶段任务完成后,都必须对它的阶段性产品进行评审,确 认之后再转入下一阶段的工作。评审过程发现错误和疏漏后,应该反馈到前面的有关阶段修 正错误、弥补疏漏,然后再重复前面的工作,直至某一阶段通过评审后再进入下一阶段,这 种形式的瀑布模型是带有反馈的瀑布模型,

    模型中各个阶段的任务和软件 开发活动如前所述。 瀑布模型在软件工程中占有重要的地位,它提供了软件开发的基本框架,这比依靠“个 人技艺”开发软件好得多。它有利于大型软件开发过程中人员的组织和管理,有利于软件开 发方法和工具的研究与使用,从而提高了大型软件项目开发的质量和效率。

    瀑布模型的主要特点是:

    阶段间的顺序性和依赖性,开发过程是一个严格的下导式过程, 即前一阶段的输出是后一阶段的输入,每一阶段工作的完成需要确认,而确认过程是严格的 追溯式过程,

    后一阶段出现了问题要通过前一阶段的重新确认来解决。因此,问题发现得越 晚解决问题的代价就越高。

    瀑布模型的主要缺点是:

    (1)在软件开发的初始阶段指明软件系统的全部需求是困难的,有时甚至是不现实的。 从认识论上讲,人的认识是一个多次反复的过程,实践——认识——再实践——再认识,多 次认识,多次飞跃,最后才能获得对客观世界较为正确的认识。软件开发是人的一个智力认 识活动,也不可能一次完成,需要多次反复地进行,但瀑布模型中划分的几个阶段没有反映 出这种认识过程的反复性,缺乏灵活性。

    (2)软件开发是个知识密集型的开发活动,需要人们合作交流才能完成,因此,人员 间的通信和活动间的并行和串行都是必需的,但在瀑布模型中没有这方面的体现。随着软件 开发项目规模的日益庞大,由此引发的问题显得更为严重。

    3379579a81a824f8de00730feebf7549.png

    2. 快速原型法模型 快速原型法是针对瀑布模型(即传统的生存周期法)提出来的一种方法。

    它的基本思想是 回避(或暂时回避)传统的生存周期法中的一些难点,顺从用户需求出发,快速建立一个原型。 使用户通过这个原型初步表达出自己的要求,在征求用户对原型意见的过程中,进一步修改、 完善、确认软件系统的需求并达到一致的理解,这就大大避免了在瀑布模型冗长的开发过程 中,看不见最终软件产品雏形的现象。通过反复修改、完善,逐步靠近用户的全部需求,最 终形成一个完全满足用户要求的新体系。

    因此,快速原型法的最大特点是快捷,且避免了许 多由于不同理解而造成的错误。 原型开发模型如图 6.7 所示。

    快速开发原型的途径有三种:

    (1)利用计算机模拟软件系统的人机界面和人机交互方式。

    (2)开发一个工作原型,实现软件系统的部分功能,而这部分功能是重要的,也 可能是容易产生误解的。

    (3)利用类似软件向客户展示软件需求中的部分或全部功能。 为了快速开发原型,要尽量采用软件重用技术,在算法时/空开销方面也可以让步,以 便争取时间,尽快向用户提供原型。原型应充分展示软件的可见部分,如数据的输入方式、 人机界面、数据的输出格式等。

    d34025c13abd3946c99736d767a63a75.png

    快速原型法模型在各个阶段用户反馈活动的基础上,突出了快速的改进过程,它改变 了瀑布模型的线性结构,采用逐步求精方法使原型逐步完善,以满足用户的要求,是一种在 新的高层次上不断反复推进的过程。

    由于原型是用户和软件开发人员共同设计和评审的,因此利用原型能统一用户和软件开 发人员对软件项目需求的理解,有助于需求的定义和确认。利用原型定义和确认软件需求之 后,就可以对软件系统进行设计、编码、测试和维护。

    原型系统的不足之处有以下两点:

    (1)为了使系统尽快运行起来,系统开发人员在初期往往考虑得不周全,有可能使原 型不能成为最终软件产品的一部分,只是一个示例而已。这样,在实际开发软件产品时,仍 有许多工作要做。

    (2)原型模型需要大量完备和实用的软件工具的支持才能实现,即原型模型对工具和 环境的依赖性较高。 3.螺旋模型 螺旋模型是 B.Boehm 于 1988 年提出的。它是瀑布模型与原型模型的结合,不仅体现 了两个模型的优点,而且还增加了新的成分——风险分析。

    它由四个部分组成:

    (1)需求定义 当初次建立原型时,必须对用户需求进行分析;当针对已有原型构造新的更为丰富和完 善的原型时,必须将用户对已有原型的评价意见、改进建议以及对新原型的需求进行分析。

    (2)风险分析 根据初始需求或改进意见,评审可选方案,给出消除或减少风险的途径。

    (3)工程实现 针对前面得到的用户需求,进行软件设计、编码、调试和测试。

    (4)评审 检查原型是否实现了用户需求,邀请用户实际操作该原型,要求用户进行评价,提出改 进意见和进一步的需求。

    fff0bb41e7c89785359e9e34daa47a62.png

    螺旋模型是由以上步骤组成的迭代模型。软件开发过程每迭代一次,螺旋线就增加一周, 软件开发又前进一个层次,系统又生成一个新版本,而软件开发的时间和成本又有了新的投 入。

    在大多数场合,软件开发过程沿螺旋线的路径连续进行,希望最终得到一个用户满意的 软件版本。理论上,迭代过程可以无休止地进行下去,但在实践中,迭代结果必须尽快收敛 到用户允许的或可接受的目标范围内。只有降低迭代次数,减少每次迭代的工作量,才能降 低软件开发的时间和成本。

    螺旋模型的每一周期都包括需求定义、风险分析、工程实现和评审四个阶段。这是对典 型生存周期的发展。它不仅保留了生存周期模型中系统地、按阶段逐步进行软件开发和“边 开发、边评审”的风格,而且还引入了风险分析,并把制作原型作为风险分析的主要措施。

    用户始终关心、参与软件开发并对阶段性的软件产品提出评审意见,这对保证软件产品的质 量是十分有利的。

    展开全文
  • 软件开发的模型种类瀑布模型,原型模型,快速原型模型,增量模型,螺旋模型,V字模型,W模型,X模型,H模型,喷泉模型和XP开发模型等等。瀑布模型的三个特征:1.项目分解为独立的不同阶段。2.阶段之间具有顺序性和...

    软件开发的模型种类

    瀑布模型,原型模型,快速原型模型,增量模型,螺旋模型,V字模型,W模型,X模型,H模型,喷泉模型和XP开发模型等等。

    瀑布模型的三个特征:

    1.项目分解为独立的不同阶段。

    2.阶段之间具有顺序性和依赖性,每个阶段通过预先定义的输出与下一个阶段发生联系。

    3.如果发现问题,则退回到上一阶段,一次跳一个阶段,直到在某个较早阶段改正该错误。

    优点

    1简单

    2易于组织,易于管理

    3质量保证

    缺点

    1.缺乏灵活性,不能适应用户需求的改变

    2.开发阶段的小错误会被逐级放大,可能导致软件产品的报废

    3.退回上一级的开发需要十分昂贵的代价

    4.随着软件规模和复杂性的增加,对于需求不能完全确认的软件开发项目将产生很大的风险。

    使用场景

    1.需求分析做的比较好的系统。

    2.二次开发的系统。

    94d1fdfc016c1d801786b6ede59b7623.png

    原型开发模型

    特点

    1.原型模型在需求获取阶段就通过不断的用户交互产生原型

    2.使用原型导出系统需求规则说明。并能在完成SRS后丢弃原型

    3.在用户接受SRS后,选择合适的生存周期模型构建实际的产品

    快读原型模型和原型模型的区别

    不进行丢弃原型

    优点

    1.有助于获取用户需求,加强对需求的理解

    2.尽早发现软件中的错误

    3.支持需求的动态变化

    缺点

    1不能支持风险分析

    2开发者为了是一个原型快速的运行起来,往往在实现过程中采用折衷的手段。软件系统的组成部分可能会打折扣。

    适合场景

    1.开发人员在不了解的应用领域开发

    2.客户不清楚其所在开发软件项目的最终目标

    dc6f71226cfc4d0b83ad33fb7823000f.png

    螺旋模型

    优点

    1有助于获取用户需求,加强对需求的理解

    2尽早发现软件中的错误

    3支持需求的动态变化

    4支持风险的分析,可降低或者小醋和软件开发风险

    5适用于需求动态变化,事先难以确认并且开发风险较大的系统

    缺点

    1螺旋模型开发的成败,很大程度上依赖于风险评估的成败。需要开发人员具有相当丰富的风险评估经验和专门支持

    场景

    1需求不能完全确认,同时又存在技术和资金或者开发时间等风险因素的大型开发项目

    a7617ca280ceb4e00a20bb6c2c39551e.png

    V字模型

    1活动更加并行化,可减少生存周期结束进行测试所需要的时间

    2通过事先为每种活动设计测试,实际上是在进行更好的事先确认同样可以降低最后一刻暴露问题的风险

    3测试有具有和是技能的人员进行设计

    优点

    1在验证和确认上具有很大的优势

    W字模型

    强调:测试是伴随这整个软件的开发周期,而且测试的对象不仅仅是程序,需求,功能和设计同样要测试

    优点

    1在V模型的基础上,增加了开发阶段的同步测试,构成了W模型;测试与开发周期同步进行,有利于尽早的发现问题。

    展开全文
  • 在软件开发过程中,我们经常会遇到各种各样的开发模型,那么这些开发模型有什么特点?哪些项目适用?过程中存在哪些问题?质量管理的重点在哪?接下来让我们按照开发模型的常见程度,结合日常质量工作经验,全网独一...

    2b793d57f44710d836b5c78a220879d5.png

    在软件开发过程中,我们经常会遇到各种各样的开发模型,那么这些开发模型有什么特点?哪些项目适用?过程中存在哪些问题?质量管理的重点在哪?接下来让我们按照开发模型的常见程度,结合日常质量工作经验,全网独一份的来总结下吧……

    (PS:最后有个表格,方便清晰的比对了各模型特点)

    一、边做边改模型,Build and Fix Model

    1、模型说明:

    一种类似作坊的开发方式,或者说是单人写代码的形式,开发者根据需求编写程序功能,调通可用后就可以交付给买方/用户/客户使用,使用过程中,若程序有bug或用户/客户有新的需要,则开发者修复或新增功能;

    2、模型特点:

    (1)成型快,可应急,功能小而简;

    (2)是后续很多开发模型的鼻祖;

    3、使用范围:

    小工具,插件,简单功能应用,个人外包;

    4、存在问题:

    可拓展性差,质量差,可维护性差,只适合单一少变的需求;

    5、质量管理重点:

    多次修改,一次成型,自查自验,关注用户/客户使用环境(兼容性)。

    二、迭代模型,Stagewise Model

    1、模型说明:

    也被称作迭代增量式开发,有别于传统的瀑布模型,迭代将大块的需求拆解成多个周期下实现功能,每个迭代周期彼此之间功能基本独立,需求批量小;

    2、模型特点:

    (1)将软件过程拆解成可重复的多次,每次算作一个迭代,迭代周期通常不大于两周;

    (2)每个迭代都包括了需求分析、设计、开发与测试;

    (3)每次迭代仅需要完成部分功能需求,因此不必要在前期就把所有需求整理好,可以分批整理,分批迭代;

    (4)迭代过程中可以不断接收用户/客户反馈来细化需求,调整功能,新增的需求可纳入下个迭代;

    (5)集成颗粒度小,持续集成,持续验证,开发进度快,进入市场快;

    3、使用范围:

    (1)需求量多,初期整体需求不清晰,只有部分清晰的软件项目;

    (2)面向市场,抢占先机,小步快跑,先发出功能,再快速迭代优化,特别适合创新型项目,如原来的滴滴、美团、共享xx等;

    4、存在问题:

    (1)管理难度较大,特别是需求管理,需求变更;

    (2)迭代的拆解,工作量要均衡,迭代之间的功能实现方式、架构方式可能存在冲突;

    (3)新需求容易代替老需求,后来的迭代容易覆盖前面的迭代,造成浪费;

    (4)交付周期内容易出现前松后紧的情况,造成迭代2、3的质量较差;

    5、质量管理重点:

    (1)严格看护需求管理有效性,特别是需求变更,牵引CCB评审;

    (2)需求价值评估很重要,不能因为迭代多而忽略;

    (3)开展工作量评估很重要,迭代出口质量评估也很重要;

    (4)重视原型演示,重视用户/客户建议,及时响应用户/客户;

    (5)快速检查,快速跟进闭环,每日风险、问题例行升级,例行清零。

    三、敏捷软件开发模型,Agile Development Model

    1、模型说明:

    (1)类似迭代模型的进阶版,明确了一种能应对快速变化需求的软件开发能力,按照敏捷宣言的四种核心价值和十二条原则,更强调个体和互动、可以工作的软件、与客户紧密合作、响应不断的变化;

    (2)常见敏捷开发方法框架:Scrum、Xp、FDD、Lean、OpenUP、Crystal、AMDD、ADM、LSD、AUP等,前三种需要多熟悉下;

    2、模型特点:

    (1)在敏捷开发过程中,软件项目被分割成多个子项目或者叫特性,特性之间存在关联但又彼此可独立,每个特性分由不同的小组实现;

    (2)特性小组按小迭代分批交付Story(用户故事),关注Story颗粒度、价值和实现工作量;

    (3)从Feature、Story到Task,开发过程的任务安排围绕Tasks完成,到Story实现,交付特性功能;

    3、使用范围:

    (1)互联网产品,用户画像比较模糊,用户群体分类较多的产品;

    (2)扁平化组织,创意产品,创新类软件/系统;

    (3)规模要小或中等,不适合大规模团队;

    4、存在问题:

    (1)沟通成本高,对人员素质、能力要求高,敏捷不等于简单无序;

    (2)规模越大,沟通越繁杂,沟通效率越低,容易失控;

    (3)文档不详细,流程不够清晰,初期团队建立到稳定,磨合期较长,对骨干人员离职敏感,交接难度较大;

    5、质量管理重点:

    (1)熟悉敏捷运作方式,包括特性团队的划分组建、站立会、沟通汇报机制要定义好;

    (2)聚焦沟通的价值,减少会议拖沓,降低沟通成本;

    (3)持续性的赋能,避免木桶效应。

    四、瀑布模型,Waterfall Model

    1、模型说明:

    模型按照软件生命周期从计划、需求、设计、开发、测试、上线、运维的顺序,规定了自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落;

    2、模型特点:

    (1)强调文档,开发过程按步就班,进入下一个活动前需要保证上个活动验证通过;

    (2)可以帮助质量人员充分理解软件生命周期过程中业务活动,掌握此模型,可以打牢软件过程活动的基础;

    3、使用范围:

    需求稳定明确,传统行业,特别是追求安全、可靠、稳定的行业软件/系统,如银行、军品、航天、核工业等;

    4、存在问题:

    (1)文档较多,工作量大;

    (2)集成较晚,发现错误较晚,测试压力大;

    (3)开发成果体现慢,软件生命周期长,交流成本大;

    5、质量管理重点:

    (1)严控准入准出标准;

    (2)所有输出都需要评审基线,避免改动;

    (3)关注集成情况和测试质量,特别是测试充分性评估。

    五、快速原型模型,Rapid Prototype Model

    1、模型说明:

    首先开发实现一个快速原型,可用的demo、交互原型页面、视频演示等,通过与用户/客户研讨,收集评价建议后调整细化需求;之后按照优化后且经用户/客户认可的原型基础上实现功能;

    2、模型特点:

    (1)尽快实现一个原型,并可与用户/客户研讨;

    (2)用户/客户评价原型的建议意见用来清晰化需求;

    (3)优化后的原型经过用户/客户签字认可,需求变化小,交付成功率高;

    3、使用范围:

    (1)可以快速出原型的,规模复杂难定义的软件/系统;

    (2)历史已有或行业有现成类似的产品,在此类产品上做创新、拓展、改进;

    (3)有工具或适合用工具(如Axure等)实现原型的产品;

    4、存在问题:

    (1)开发者与用户/客户彼此理解不一致,准确的原型设计较难,在原型实现上耗时长,工作量大;

    (2)原型无法反映内部的实现逻辑,在框架选择、架构设计上,拓展性较差;

    (3)在最初原型基础上,后续的修修补补会造成质量问题;

    (4)限制了创新和想象力;

    5、质量管理重点:

    (1)注重原型本身的质量,这是后续开发的基础;

    (2)原型演示是一方面,另一方面在于原型要有详细说明批注,方便具体的实现不会偏离需求;

    (3)评审原型说明文档,确保每个功能、交互清晰,跟进用户/客户建议意见闭环。

    六、增量模型,Incremental Model

    1、模型说明:

    将一个软件/系统拆解成一个个构件,以增量方式,设计、实现、集成和测试相应的构件,每个构件都是由多个模块或代码集合实现的单一功能,再把这些构件一个个拼装起来,有点类似插件化开发;

    2、模型特点:

    (1)每一个构件对应一类功能,需求清晰,功能明确;

    (2)可以分阶段实现产品各个功能,过程中用户/客户可以不断看到新的构件成品,降低开发风险;

    (3)引进了增量的概念,无须等到所有需求都出来,只要有了初步框架或开头,就能逐步开发;

    (4)可插件化、服务化方便,按插件收费,市场运营简单,风险降低;

    3、使用范围:

    (1)技术风险较大,用户/客户需求较为稳定的软件/系统;

    (2)对已有产品升级或新版本开发;

    (3)在现有原型软件/系统上开发;

    (4)一些逻辑清晰,成部件化、构件化、插件化、功能分块的产品;

    4、存在问题:

    (1)前期分类划分,框架开放性、结构化不好的话,容易影响后期的构件开发,新增插件

    (2)构件之间功能可能彼此冲突或重叠,降低了独立性,浪费工作量;

    (3)每个构件之间的颗粒度大小差异大,软件/系统功能轻重不一;

    5、质量管理重点:

    (1)注重框架选取的质量,评估扩展性、开放性要满足要求;

    (2)注重接口测试,最好自动化测试接口数据;

    (3)组织定期的回顾、评审,保证各个构件之间功能各有特性,开发过程一致性,成品质量一致性(按检查表);

    (4)各构件开发需要评估优先级、难易度。

    七、演化模型,Evolutionary Model

    1、模型说明:

    主要针对事先不能完整定义需求的软件/系统进行二次或多次开发:
    第一次或多次是试验开发,用户/客户可以给出初步的核心需求或理念,开发者试验性生产出原型产品,在用户/客户试用后,提出进一步需求,试验开发的目的在于探索可行性,跟用户/客户弄清软件需求;
    最终次是正式开发,在试验开发的基础上,按照之前的反馈,最终生产出符合需要的产品;

    2、模型特点:

    (1)每一次的试验开发都会演化出新的功能或系统,是逐步清晰逐步完善的一个过程;

    (2)多次演化最终明确了用户需求,提高系统质量,降低交付风险;

    3、使用范围:

    (1)需求不清楚,或不完整的软件/系统;

    (2)规模较小型或中型;

    (3)每次的演化周期以及最终正式开发周期短;

    4、存在问题:

    (1)演化过程成本高,每次试验开发都相当于交付一个成品,且这个成品还可能被弃用;

    (2)演化需要遵循一定的方向,避免演化多次后反而觉得初期方案更好或者走入误区死胡同;

    (3)开发者要有能力定义初期需求、分组功能、明确核心需求,如果起点就错了,后面演化的价值就大大降低;

    (4)演化随着次数的增加,结构稳定性降低,初期技术不成熟或后期有成熟技术都将增加返工成本;

    5、质量管理重点:

    (1)管理好演化路径,过程试验开发的配置项要妥善版本控制;

    (2)避免分支泛化,注意分支管理的质量;

    (3)务必记录每一次演化模型用户/客户给的意见建议,要落入下次演化中改进。

    八、混合模型,Hybrid Model

    1、模型说明:

    将几种模型,按照开发过程的需要,混合使用;

    2、模型特点:

    灵活、方便,按需要而定制;

    3、使用范围:

    (1)不太适合单一开发模型开发的软件/系统;

    (2)新兴类的软件/系统;

    4、存在问题:

    (1)滥用或乱用导致四不像,管理混乱,不成体系;

    (2)模型之间彼此冲突,没有突出优点,反而都是缺点;

    (3)模型结合存在难度,对管理者经验要求严苛;

    5、质量管理重点:

    (1)如无必要,不建议使用混合模型;

    (2)掌握各个模型的优缺点,突出优点,避免缺点;

    (3)把控各个模型的质量管理重点。

    九、螺旋模型,Spiral Model

    1、模型说明:

    强调风险分析:螺旋模型按照螺旋线进行多次迭代,循环开展下面四类活动:

    (1)制定计划:目标确立,制定需求分析、设计、实现方案,理清楚限制性因素;

    (2)风险分析:评估方案,分析风险,消除风险;

    (3)设计实施:软件/系统实施验证;

    (4)用户/客户反馈:评价功能实现情况,提出意见建议,回到第1步制定计划;

    2、模型特点:

    (1)强调风险管控开发,四类活动不断循环,整体开发运作过程清晰,风险可控;

    (2)客户始终参与其中,反馈意见建议保证了交付成功率;

    3、使用范围:

    (1)规模较大的软件/系统;

    (2)对风险敏感的,或一旦风险变成问题后,损失大的软件/系统;

    (3)风险分析管控的成本远低于项目利润;

    4、存在问题:

    (1)风险分析的方式、维度、程度等方面,不同人的理解不一致,前期需要定义和明确;

    (2)团队需要擅长识别风险、分析风险,并处置风险,不然风险分析将流于形式,模型变成摆设;

    (3)一些重大风险容易卡壳,造成进度阻碍或交付瓶颈;

    5、质量管理重点:

    (1)团队应赋能掌握风险识别、分析、处置方式方法,包括措施的制定等;

    (2)质量人员始终跟进风险闭环,重大风险及时升级。

    十、喷泉模型,Fountain Model

    1、模型说明:

    以用户需求为动力,以对象为驱动的模型,主要用于描述面向对象的软件开发过程,过程中有点类似瀑布模型,但每个阶段可以是彼此重叠的,开发人员可以同步进行开发;

    2、模型特点:

    (1)各个阶段可以同步进行开发,提高开发效率,节省开发时间,适合面向对象的软件开发过程;

    (2)形象化的理解喷泉模型就是软件生命周期可以套叠,就像朝上喷出水一样,可以从上到下重叠在一起;

    3、使用范围:

    (1)面向对象开发过程软件/系统;

    (2)中小型项目;

    4、存在问题:

    (1)各个开发阶段可以重叠,需要大量的开发人员,项目管理难度大,人力要求多,容易闲置;

    (2)要求严格的管理文档,评审难度大,且过程中每个时期都可能产出各个阶段的文档,评审工作量大;

    5、质量管理重点:

    (1)重视代码质量,开展代码评审,问题代码RCA分析和闭环;

    (2)规范化评审流程,聚焦评审关注点,提升评审效率。

    十一、智能模型,Intelligent Model

    1、模型说明:

    智能模型也称为“基于知识的软件开发模型”,瀑布模型可以作为其基础框架,引入专家系统,结合专家的知识来帮助开发者的工作;过程中根据需要可以引入其它模型;

    2、模型特点:

    模型在实施过程中,采用归纳和推理机制,帮助软件人员完成开发工作;为了解决过程中需求涉及的交叉学科,建立相应知识库,将瀑布模型(根基)、软件工程知识与特定领域的知识分别存入数据库,用来支撑开发者工作;

    3、使用范围:

    (1)混合学科、交叉学科涉及的新领域项目;

    (2)不同的工程类生产方式套用到软件开发过程中开发软件/系统;

    4、存在问题:

    (1)智能模型拥有一组工具(如数据查询、报表生成、数据处理、屏幕定义、代码生成、高层图形功能及电子表格等),4GL的使用方法存在难度;

    (2)混合学科、交叉学科、新的工程类生产方式的知识难点;

    5、质量管理重点:

    (1)深入理解4GL的内容和使用方式,明确编程规范和代码质量要求;

    (2)组织引导团队开展知识管理;

    (3)做好设计、代码方面的评审,保证业务流程符合交叉学科的实际流程;

    (4)流程验证充分性评估。

    以上即是11种常见软件开发模型的情况概述,质量人员应尽可能充分理解前面几种模型的特点,了解业务过程活动,输入细节,才能有效的开展相应的质量看护工作。

    最后我们来看下这个汇总表:

    a06e48da4c5d708523aea9992b0c6290.png

    2f831fc9660791a4578035d99b00d263.png
    文章首发于微信公众号“流程与质量”
    展开全文
  •  基本思想: 在管理信息系统开发的开始阶段,凭借系统开发售货员对用户需求的理解与用户共同确定系统的基本要求和主要功能,在强有力的人、软件环境支持下,给出一个满足用户需求的初始系统原型,然后与用户反复...
  • 快速原型模型的特点

    千次阅读 2020-05-30 14:31:06
    原来优秀的人每天都有额外的给自己安排事情,真正做到了每日都有收获,每日都要学习一个自己不会的东西,那么今天我要分享的就是极速原型模型的特点,以下也是我前几天背的,然后今天就当是默写一遍了吧。...
  • 边改边做模型特点:既没有规格说明,也没有详细的设计,代码随用户需求的变化一...瀑布模型特点:(1)强调阶段之间的顺序性和依赖性:只有前一活动结束后,其工作成果应该能够清晰地被审查,评审通过以后,后一项开发...
  • Vue开发人员的原型开发工具 OverVue是一种原型工具,允许开发人员动态创建和可视化Vue应用程序,实现组件层次结构的实时直观树形显示和实时生成的代码预览。 可以将生成的样板作为模板导出以进行进一步开发。 这个...
  • 首先,给客户或开发讲解原型时,产品的交互其实是重点,至于细节,首先在对用户体验的影响上占的权重没有人们想象中大,其次,细节在客户,开发和真实的用户眼里的效果是不一样的。如果你说客户的需求是最重要的标准...
  • 模型的优缺点瀑布模型有以下优点:1)为项目提供了按阶段划分的检查点。2)当前一阶段完成后,您只需要...快速原型模型有以下优点1)克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险。快速原型模型有以下缺...
  • 控制器开发的V流程中,有两个与实时性强相关的环节:快速控制原型(RCP)与硬件在环仿真(HIL)。RCP和HIL怎么区分?简单而言,我们可以参考以下公式:RCP=假的控制器+真的被控对象 HIL=真的控制器+假的被控对象1. ...
  • 从2017年开始,苹果就在...据外媒最新报道称,苹果正在开发一款可折叠的iPhone原型机,它的特点是将两个独立的显示面板通过铰链连接,而不是像三星Galaxy Fold那样只有一块屏,换句话说就是,苹果这款新机看起来更类...
  • 常见的软件开发模型之———瀑布模型、原型模型(快速原型模型)一.瀑布模型1.1瀑布模型的基本思想1.2.瀑布模型的特点1.3.瀑布模型的优点1.4.瀑布模型的缺点1.5 瀑布模型的应用范围二. 原型模型(快速原型模型)2.1 ...
  • 答:所谓软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。主要是指如何开发软件,怎样满足对软件日益增长的需求,如何维护数量不断膨胀的先有软件。表现:(1)对于软件开发的成本和进度的估计很...
  • 答:所谓软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。主要是指如何开发软件,怎样满足对软件日益增长的需求,如何维护数量不断膨胀的先有软件。表现:(1)对于软件开发的成本和进度的估计很...
  • “可用型原型工具”用于制作软件系统的界面,是微简公司提出的一个新概念。可用型原型工具,不同于传统的原型工具或软件开发工具。...可用型原型工具的特点应该包括: 1、原型即界面,二者...
  • 1. 软件危机的表现形式对软件开发成本和进度估计不准确已完成的软件不符合用户需求软件产品质量差,可靠性得不到保证软件产品可维护性差软件成本在计算机总成本中的比例逐渐变大软件开发生产率提高速度比不上计算机...
  • 瀑布模型瀑布模型(经典生命周期)提出了软件开发的系统化的、顺序的方法。其流程从用户需求规格说明开始,通过策划、建模、构建和部署的过程,最终提供一 个完整的软件并提供持续的技术支持。优点:1. 强调开发的阶段...
  • 原型设计

    千次阅读 2019-04-26 15:08:52
    《人月神话》作者弗雷德里克·布鲁克斯第一次提出了:“在获取核制定软件需求时,将快速原型开发作为迭代计划的一部分”。 于是后来快速原型成为一个开发模型,它的特点就是快速开发,快速修改,目的就是为了解决...
  • 几款开发、画原型图、前端框架分享

    万次阅读 热门讨论 2016-09-11 22:27:37
    工欲善其事必先利其器,好用的工具大大提高工作效率。在做GIS系统中,有幸跟杨琛师哥一起做项目,新...特点:快速上手、简单易学、专用移动端、交互丰富,可在线使用、有安装包、国产。 官网: https://modao.cc/
  • 1. 与计算机硬件相比,计算机软件有哪些特点?计算机硬件是有形的设备,具有明显的可见性。但是人们却不能直接观察计算机软件的物理形态,只能通过他的实际运行情况来了解他的功能,特性和质量。人们在分析,设计,开发...
  • (瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型)各种模型的概念特点优点缺点和不同。 (张海藩,吕云翔)著软件工程 复习记录 文章目录一、瀑布模型二、快速原型模型三、增量模型四、螺旋模型五、喷泉模型...
  • 利用原型特点和概念,可以提取共有属性。 对象的有个隐式的属性:__proto__ ,指向构造函数的原型 Function.prototype 对象原型具有指向构造函数的属性:constructor。 <script type...
  • Python非常适合用来做原型开发或其他专门的编码任务,同时又不用为了维护而烦恼。3、Python拥有大量的标准库来支持一般的编码任务,例如连接网络服务器、用正则表达式搜索文字、读取和修改文件等。4、Python的交互...
  • “瀑布模型”和“原型模型”的基本原理和特点的对比分析关键字:软件过程模型、瀑布模型、原型模型软件过程模型综述:也称为软件开发模型,是软件开发全部过程、活动和任务的结构框架。也可以说是一种开发策略,这种...
  • 这一篇文章我将介绍我所开发系统的质量属性的实现。实现质量属性依赖于基本的设计决策—战术。 那么,什么是战术呢? 战术是对质量属性的控制产生影响的设计决策,构架策略就是构架中所采用的战术的集合。 战术的...
  • 原型化方法

    2019-06-12 11:20:00
    原型法的特点: 1、可以使系统开发的周期缩短、成本和风险降低、速度加快。获得较高的综合开发效益。 2、原型法是以用户为中心来开发系统的,用户参与的程度大大提高,开发的系统符合用户的需求,因而增加了用户的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 865
精华内容 346
关键字:

原型开发特点