<legend id='as62py9l'><style id='p8b55lhq'><dir id='w4jh3mel'><q id='z5u1h4ux'></q></dir></style></legend>
  • <tfoot id='d12791xz'></tfoot>
  • <small id='2z09ge32'></small><noframes id='xhf6w92f'>

      <i id='ya5yx8hw'><tr id='gq5nn11v'><dt id='sii2byoe'><q id='ehkb2w7g'><span id='1daw38aj'><b id='58dczokn'><form id='sc9vf8n0'><ins id='f1c6lrhy'></ins><ul id='btweauxn'></ul><sub id='kb34lz6a'></sub></form><legend id='9xazuh0q'></legend><bdo id='76yusl8r'><pre id='lreh7e5m'><center id='p8grhigl'></center></pre></bdo></b><th id='54k20js6'></th></span></q></dt></tr></i><div id='h176u0wr'><tfoot id='clmtnp7b'></tfoot><dl id='1lfrekis'><fieldset id='ddgmc9wl'></fieldset></dl></div>
        <tbody id='14lqhuns'></tbody>
    1. 网站建设公司当前位置 : 网站建设公司 > 知识普及

      详谈软件工程之软件开发方法

      发布时间:2021-08-26 11:40   浏览次数:次   
      一、软件开发方法
      其用到的方法依据时间的变化主要分为结构化法、面向对象法、面向服务法以及原型法。也有些人把敏捷开发和统一过程(UP/RUP)也称之为软件开发方法。
       
      1、结构化法:
      即面向过程的开发方法。其基本思想是“自上而下,逐步求精”,把一个复杂的系统拆分,化繁为简,形成一个个的构件。其讲究的是用户至上,系统开发过程工程化、文档化、以及标准化。严格的区分来工作阶段,每个阶段都有明确的任务和应得额成果。
       
      2、面向对象方法:
      面向对象的开发方法是自底而上的,主要表现为和现实事物结合起来,把世间万物抽象出来,形成一个个的抽象对象。相比结构化法有更好的复用性,分析、设计、实现三个阶段界限不明确,其关键点在于建立一个全面的、合理的、统一的模型。
       
      3、面向服务方法:
      面向服务方法是面向对象法法的延伸。其服务建模又分为服务发现(分析)、服务规约(约定规范)、和服务实现(具体实现)三个阶段。
      SO方法主要有三个级别(操作、服务、业务流程);
      SOAD分为三个层次:基础设计层(底层的构建)、应用服务层(服务之间的接口和服务级的协调)、业务组织层(业务流程的建模和服务流程的编排)
       
      4、原型法: 其适用于需求不明确的场景,包括抛弃型原型和演变型原型。
      抛弃型原型:业务做完之后原型就已经没有用处了;
      演变型模型:在原来的模型基础之上逐步修改并一直沿用;
       
      二、软件开发模型
      IT行业中软件开发模型五花八门,在此我只罗列出比较常用的几种开发模型,其主要的经典开发模型如下图:
       
       
       
      上图中以瀑布模型以及原型为基础延伸,以迭代思想贯穿全过程,体现了迭代模型。其中原型分为两个阶段。第一个阶段用原型获取需求;第二个阶段再把系统开发起来。在我们实际开发中,一般 是在第二个阶段的时候再次使用瀑布模型来完成开发。
       
      1、瀑布模型:
      瀑布模型也称之为生命周期法,是结构方法中最常用的开发模型,其讲究的是从需求获取到开发到测试像瀑布样顺流而下。缺点是不灵活比较死板,其适用于需求明确、或二次开发的场景下使用。瀑布模型的开发构成如下图:
       
       
       
      2、增量与螺旋模型:
      增量模型采用随时间的线性序列,每一个线性序列产生一个可交付的产品,慢慢的迭代以达到最终的要求。
      螺旋模型分为四个阶段即:制定计划、风险分析、实施工程以及客户评估。以原型为基础,加上瀑布模型重复沿着以上几个步骤进行开发。
       
       
       
      3、V模型:
      V模型是以测试驱动的模型,测试贯穿的整个始终。
       
       
       
      4、喷泉模型:
      喷泉模型主要支持面向对象的开发方法,系统某部分常常重复工作多次,相关功能在每次迭代中完善,其主要体现了迭代和无间隙性特征。所谓无间隙指的是在开发活动中,分析、设计、和编码没有明确的界限。
       
      5、快速应用开发(RAD):
      RAD是一个增量型的软件开发模型,其强调的是极短的开发周期。是瀑布模型的一个高速变种,通过使用大量的可复用的构件,采用基于构件的方法赢得快速开发。
      RAD的流程可分为:
      ①、业务建模:以什么信息驱动业务过程运作?要生成什么信息?想达到什么效果?可以使用数据流程图来回答上述问题(相当于需求分析,理解需求);
      ②、数据建模:为支持业务的数据流找到数据对象集合,定义数据对象属性,并与其他数据对象关系构成数据模型,可以辅以E-R图(相当于创建业务对象,找出对象之间的关系)。
      ③、过程建模:使数据对象在信息流中完成各业务功能,即细化数据流图中的处理窗(相当于功能模块的实现,比如CRUD等业务)。
      ④、应用生成:打通各个功能模块的关系,构造出整个应用系统。
      ⑤、测试与交互。
       
      6:构件组装模型:
      构件组装模型指的是在整个应用开发的过程中,把各个功能模块抽取出来组成一个个可复用的构件,以便于重复使用。类似于积木一样,把整个构件整合起来,形成一个个的应用系统。其流程图如下:
       
       
       
      三、统一过程(UP/RUP)
      统一过程又称为UP、或RUP,是基于构件的。统一过程是一个通用的过程框架,可以用于各种各样的软件项目。
      特点:用例驱动、以基本架构为中心、迭代和增量。
      基于UP的软件过程是一个迭代的过程,他有四个阶段,分别是:
      a、初始阶段:为系统建立业务模型并确定项目的边界;
      b、细化阶段:分析问题领域,建立健全的架构基础 。主要是要完成系统的架构。
      c、构件阶段:开发剩余的构件和应用程序功能,形成产品并且进行详细的测试
      d、交互阶段:主要任务是进行β测试(用户环境,用户做的测试)
       
       
       
      四、敏捷开发
      适用于中小型项目,理论上是不适用大型项目。但是在实际开发中,往往我们会把大型项目拆分为多个小型项目,然后使用敏捷开发方法。
       
       
       
      敏捷开发方法发展的过程中,出现了很多不同的流派,例如:
      1、极限编程(XP):是所有敏捷型方法中最引人瞩目的方法,提出了四大价值观、五大原则、12大最佳实践。在对一些费用控制很严格的公司最为适用。
      b、自适应软件开发:
      c、水晶方法:讲究的是用最少的纪律约束而仍能成功的方法
      d、特性驱动开发(FDD):强调特征驱动,快速迭代,即能保证快速开发,又能保证适当文档和质量
       
       
       
       
       
      Scrum 开发模型基本思想是两到四周完成一轮冲刺(Sprint),首先大致研究整个项目大致需要做哪些功能和业务(Pruduct Backlog),然后从中抽取一块功能业务作为最近一轮冲刺需要完成的目标(Sprint Backlog),通过两到四周的工作来完成(Sprint 4 weeks),每天通过扁平化的会议来了解工作的进展;然后再进行下一轮的任务来做冲刺或者是完成整个项目的功能。在这过程中迭代和增量贯穿了整个过程。
       
      五、逆项工程
      逆向工程讲的是把整个过程逆转过来,一般的用在已有系统的大版本迭代以及重做场景中。其有四个抽象级别,逻辑图如下:
       
       
      六、净室工程
      净室工程是软件开发一种形式化方法,可以生成高质量的软件,主要强调模型的重要性,其目标和结果是非常高低的出错率,这是使用非形式化方法难以实现或者不能达到的。
       

      <small id='5sxplgto'></small><noframes id='cld7z7l4'>

      <legend id='7lshto9l'><style id='no7h6tsv'><dir id='a0fwdyag'><q id='zc6e3lk0'></q></dir></style></legend>

      • <i id='6d06ez51'><tr id='354c5r34'><dt id='5i2ua0c9'><q id='hkwlqabb'><span id='lnc9a1cf'><b id='czjien2n'><form id='1f76lfwz'><ins id='ztmgurqq'></ins><ul id='ce338y59'></ul><sub id='6cpiww71'></sub></form><legend id='9iyu9t6h'></legend><bdo id='e7x269qa'><pre id='5m0y1l0o'><center id='qw1m8y32'></center></pre></bdo></b><th id='mnur2e78'></th></span></q></dt></tr></i><div id='isusrndh'><tfoot id='f7h9si97'></tfoot><dl id='l3drj5dh'><fieldset id='q97mbzsl'></fieldset></dl></div>
          <tbody id='7jz4mq5u'></tbody>
          <tfoot id='s16df2fo'></tfoot>
          1. 本文来源于网络,若有侵权请联系3449817223#qq.com,将在第一时间删除。

                <tbody id='wdjnvrgv'></tbody>
              <tfoot id='hwrz5d3j'></tfoot>

              <legend id='tou05dju'><style id='2izlqw5v'><dir id='d2mxq6tl'><q id='e02emi7n'></q></dir></style></legend>
              • <small id='o4j1jxis'></small><noframes id='q5dndbdm'>

              • <i id='5r18v2pe'><tr id='hsqzkwqq'><dt id='i4jrl7ch'><q id='h2x041yf'><span id='ov8a0mxu'><b id='c1hahlgm'><form id='2zbr8kbl'><ins id='wagoth2u'></ins><ul id='5yvw04oe'></ul><sub id='91rhmx7c'></sub></form><legend id='1e5b5glz'></legend><bdo id='rrqbyqy8'><pre id='voz2pme3'><center id='68r9tzaj'></center></pre></bdo></b><th id='v9xqoca7'></th></span></q></dt></tr></i><div id='mles3kfu'><tfoot id='67bibv5q'></tfoot><dl id='xbehg6yu'><fieldset id='h0grm3lm'></fieldset></dl></div>