软件工程(二)——过程模型

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_21107433/article/details/82846657

笔者正在学习《软件工程-实践者的研究方法》这本书,记录下一些读书笔记,共勉!

软件过程:一个为建造高质量软件所需要完成的活动、动作和任务的框架。

1.通用过程模型

软件工程的通用过程框架定义了五种框架活动:沟通、策划、建模、构建和部署。软件过程中的过程流描述了在执行顺序和执行时间上,如何组织框架中的活动、动作和任务。

1.1 定义框架活动

1.2 明确任务集

任务集:定义了为达到一个软件工程动作的目标所需要完成的工作。

1.3 过程模式

过程模式描述了软件工程工作中遇到的过程相关的问题、明确了问题环境并给出了针对该问题的一种或几种可证明的解决方案。通俗的说,过程模式提供了一个模板——一种在软件过程的背景下,统一描述问题解决方案的方法。
在这里插入图片描述

2.惯用过程模型

2.1瀑布模型

瀑布模型,又称为经典生命周期(classic life cycle),提出了一个系统的、顺序的软件开发方法,从用户需求规格说明开始,通过计划、建模、构建和部署的过程,最终提供一个完整的软件并提供持续的技术支持。
在这里插入图片描述

2.2增量过程模型

许多情况下,初始的软件需求有明确的定义,但是整个开发过程却不宜单纯运用线性模型;同时,可能迫切需要为用户迅速提供一套功能有限的软件产品,然后在后续版本中再进行细化和扩展功能。这时候可采用增量过程模型。增量过程模型在每个阶段运用线性序列,每个线性序列以一种演化过程流生产增量类似的方式生产出一个可交付增量。
在这里插入图片描述
注意:运用增量模型的时候,第一个增量往往是核心产品,满足了基本的需求,但是许多附加的特性(已知的和未知的)没有提供。客户使用该核心产品或进行仔细评价,并根据评价结果制定下一个增量。增量模型侧重于每一个增量都提交一个可以运行的产品。

2.3演化过程模型

软件开发过程中,商业和产品需求常常发生变化,直接导致最终产品难以实现;严格的交付时间使开发团队不可能圆满完成任务。演化模型是迭代的过程模型,软件开发人员能够逐步开发出更完整的软件版本。

2.3.1原型开发模型

在这里插入图片描述
两种情况下可以使用原型开发模型:
①客户提出了一些基本功能,但是没有详细定义功能和特性需求;
②开发人员可能对算法效率、操作系统的兼容性和人机交互的形式等情况不确定。

2.3.2螺旋模型

在这里插入图片描述
螺旋模型是一种演进式软件过程模型,结合了原型的迭代性质和瀑布模型的系统性和可控性的特点,具有快速开发越来越完善软件版本的潜力。

3.专用过程模型

专用过程模型应用面比较单一,只适用于某些特定的软件工程方法。

3.1基于构件的开发

基于构件的开发模型具有许多螺旋模型的特点,本质上是演化模型,需要以迭代的方式构件软件。基于构件开发模型采用预先打包的软件构件开发应用系统。
基于构件的开发模型由以下步骤组成:
①对于该问题领域研究和评估可用的基于构件的产品;
②考虑构件集成的问题;
③设计软件架构容纳这些构件;
④将构建集成到架构中;
⑤进行充分的测试以保证功能正常。

3.2形式化方法模型

形式化方法模型的主要活动是生成计算机软件形式化的数学规格说明,形式化方法使软件开发人员可以应用严格的数学符号来说明、开发和验证基于计算机的系统。

3.3面向方面的软件开发

面向方面的软件开发(Aspect-Oriented Programming, AOP),为定义、说明、设计和构建方面(aspect)提供过程和方法,是对横切关注点局部表示的一种机制。(横切关注点:Crossing Concern,涉及系统多个方面的功能、特性和信息的关注点)

猜你喜欢

转载自blog.csdn.net/sinat_21107433/article/details/82846657