详谈软件工程之软件开发方法(一)

详谈软件工程之软件开发方法(一)

      • 一、软件开发方法
        • 1、结构化法:
        • 2、面向对象方法:
        • 3、面向服务方法:
        • 4、原型法: 其适用于需求不明确的场景,包括抛弃型原型和演变型原型。
      • 二、软件开发模型
        • 1、瀑布模型:
        • 2、增量与螺旋模型:
        • 3、V模型:
        • 4、喷泉模型:
        • 5、快速应用开发(RAD):
        • 6:构件组装模型:
      • 三、统一过程(UP/RUP)
      • 四、敏捷开发
      • 五、逆项工程
      • 六、净室工程
          • 更多资讯请扫描以下二维码或关注微信公号“愿为最亮星”,为您提供更深层次的解答。

软件工程的目标是:在给定成本、进度的前提下,开发出具有适用性、有效性、可修改性、可靠性、可理解性、可维护性、可重用性、可移植性、可追踪性、可互操作性和满足用户需求的软件产品。追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。
本章节主要讲的是软件工程中的软件开发方法论。其主要的考点在于软件开发方法和软件开发模型模块(主要是考各个模型的特点是什么,具体在哪些场景中会使用到),其他的逆向工程和净室软件工程考的比较少,最多出现一两分的综合知识题,其需要掌握的内容如下:

详谈软件工程之软件开发方法(一)
详谈软件工程之软件开发方法(一)

2、增量与螺旋模型:

增量模型采用随时间的线性序列,每一个线性序列产生一个可交付的产品,慢慢的迭代以达到最终的要求。
螺旋模型分为四个阶段即:制定计划、风险分析、实施工程以及客户评估。以原型为基础,加上瀑布模型重复沿着以上几个步骤进行开发。

详谈软件工程之软件开发方法(一)

4、喷泉模型:

喷泉模型主要支持面向对象的开发方法,系统某部分常常重复工作多次,相关功能在每次迭代中完善,其主要体现了迭代和无间隙性特征。所谓无间隙指的是在开发活动中,分析、设计、和编码没有明确的界限。

5、快速应用开发(RAD):

RAD是一个增量型的软件开发模型,其强调的是极短的开发周期。是瀑布模型的一个高速变种,通过使用大量的可复用的构件,采用基于构件的方法赢得快速开发。
RAD的流程可分为:
①、业务建模:以什么信息驱动业务过程运作生成什么信息达到什么效果以使用数据流程图来回答上述问题(相当于需求分析,理解需求);
②、数据建模:为支持业务的数据流找到数据对象集合,定义数据对象属性,并与其他数据对象关系构成数据模型,可以辅以E-R图(相当于创建业务对象,找出对象之间的关系)。
③、过程建模:使数据对象在信息流中完成各业务功能,即细化数据流图中的处理窗(相当于功能模块的实现,比如CRUD等业务)。
④、应用生成:打通各个功能模块的关系,构造出整个应用系统。
⑤、测试与交互。

6:构件组装模型:

构件组装模型指的是在整个应用开发的过程中,把各个功能模块抽取出来组成一个个可复用的构件,以便于重复使用。类似于积木一样,把整个构件整合起来,形成一个个的应用系统。其流程图如下:

详谈软件工程之软件开发方法(一)

四、敏捷开发

适用于中小型项目,理论上是不适用大型项目。但是在实际开发中,往往我们会把大型项目拆分为多个小型项目,然后使用敏捷开发方法。

详谈软件工程之软件开发方法(一)
详谈软件工程之软件开发方法(一)

Scrum 开发模型基本思想是两到四周完成一轮冲刺(Sprint),首先大致研究整个项目大致需要做哪些功能和业务(Pruduct Backlog),然后从中抽取一块功能业务作为最近一轮冲刺需要完成的目标(Sprint Backlog),通过两到四周的工作来完成(Sprint 4 weeks),每天通过扁平化的会议来了解工作的进展;然后再进行下一轮的任务来做冲刺或者是完成整个项目的功能。在这过程中迭代和增量贯穿了整个过程。

五、逆项工程

逆向工程讲的是把整个过程逆转过来,一般的用在已有系统的大版本迭代以及重做场景中。其有四个抽象级别,逻辑图如下:

详谈软件工程之软件开发方法(一)
更多资讯请扫描以下二维码或关注微信公号“愿为最亮星”,为您提供更深层次的解答。

公众号二维码

来源:华星详谈

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年6月6日
下一篇 2022年6月6日

相关推荐