软件工程第三章 软件过程模型和开发方法

1.软件过程:开发软件产品的一系列活动的集合,定义了软件开发和维护的一组有序活动集合

怎么理解?

写不同的软件有不同的过程。自己手写一个2048小项目软件,和黑神话悟空的开发两者完全不同。

2.软件过程类型:

1)线性(linear)

2)迭代(iterative)

3)增量(incremental)

4)  并行(parallel)

3.典型的软件过程模型:

瀑布模型、原型模型、增量模型、UP模型、螺旋模型

4.瀑布模型:

步骤和第一章的软件生命周期很相似:需求分析, 软件设计 , 编码实现, 软件测试,运行维护

隐式包含两个理想化的假设:

假设一:软件开发活动完成后,经过评审或测试不会出现任何问题。

假设二:需求分析阶段就能获得关于软件系统的完整需求。

适用于需求易于定义、不易变动的软件系统开发。

带反馈的瀑布模型、V形瀑布模型,尝试解决假设一不成立的情况。

瀑布模型的缺点很明显,得到需要的软件系统的时间会很晚,实际的软件开发过程不会像瀑布模型这样的理想顺序进行。

5.原型模型:

解决瀑布模型的问题,开始给用户一个模型,解决开发者和用户需求分析不一致的问题。

比如房地产商售楼部的大楼模型。能给用户一个直观的对产品的印象。

思想:在软件开发早期(通常是需求分析阶段)根据用户的初步需求构建软件原型并将其交给用户使用。

6.增量模型:

改进式的瀑布模型,不一次性实现软件的所有功能,而是在确定好软件开发和总体设计之后,采用增量开发的模式渐进性地实现。

适用于初始需求明确,需要尽早交付满足核心需求的产品的情况,有限功能后续拓展。

优点:用户可以更早的使用软件,核心功能能更早的被调试

7.UP(unified process), 统一过程。

初始 细化 构造 发布

8.敏捷方法:主张软件开发要以代码、以人为核心,迭代、增量式地开发。

敏捷 =  理念 + 优秀实践 + 具体应用

9.极限编程(XP)

核心理念和价值观:交流、反馈、简单、勇气

重要实施原则之一:

重构(refactoring): 在不改变程序代码功能的前提下,改进代码设计和结构,使程序代码具有更高的质量。

重构方法:

1.提炼类、方法,解决重复代码、冗余代码的问题。

2.分解条件式,解决条件逻辑太过复杂的问题。

3.封装字段、隐藏方法。解决数据暴露的问题。

4.提取方法。解决方法过长的问题。

等等参见常见重构方法大汇总-优快云博客

10.测试驱动开发(TDD)

11.Scrum:一种特殊的敏捷方法。

包含三类角色。

Scrum主人(SM)

产品拥有者(PO)

开发团队

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值