软件工程实践探索

软件工程为何出现

为了解决软件危机,用工程化的思想来进行软件开发,于是出现了一门新的学科——软件工程。

说道软件工程,就不得不说与之相关的devops,其中包括持续集成,持续交付和持续部署等

这些东西不是和某种软件工程方法关联的,而是软件开发需求,是为了保证软件质量而准备的,而软件工程是为了解决客户端需求和软件实现之间的你,因为客户需求在软件开发中经常是明确的,也是频繁变更的的,DevOps和敏捷开发没有什么关系

传统的软件工程开发方法

瀑布流模型

瀑布流模型是传统软件开发方法中最出名的,因为无法应对客户频繁的变化、现在已经被淘汰。

瀑布模型将软件生命周期分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了他们自上而下、相互衔接的固定次序。

提示:瀑布开发模型,它是以文档为驱动的。因为在瀑布的整个开发过程中,要写大量的文档,把需求文档写出来后,开发人员都是根据文档进行开发的,一切以文档为依据。

其他传统方法

除了瀑布流模型,传统的软件开方法有增量模型、原型模型、螺旋式模型。

敏捷开发

敏捷开发是当下最流行的开发方式,

敏捷开发的敏捷不是说开发进度会加快,而是对需求的变化可以敏捷应对

敏捷开发有两种实现模型:极限编程以及Scrum

敏捷宣言((Agile Development))

敏捷开发是一个软件开发理念,甚至可以说是软件开发的信仰!

宣言

我们一直在实践中探寻更好的软件开发方法,
身体力行的同时也帮助他人。由此我们建立了如下价值观:

个体和互动 高于 流程和工具
工作的软件 高于 详尽的文档
客户合作 高于 合同谈判
响应变化 高于 遵循计划

也就是说,尽管右项有其价值,
我们更重视左项的价值。

敏捷宣言的12条原则

我们最重要的目标,是通过持续不断地
及早交付有价值的软件使客户满意。

欣然面对需求变化,即使在开发后期也一样。
为了客户的竞争优势,敏捷过程掌控变化。

经常地交付可工作的软件,
相隔几星期或一两个月,倾向于采取较短的周期。

业务人员和开发人员必须相互合作,
项目中的每一天都不例外。

激发个体的斗志,以他们为核心搭建项目。
提供所需的环境和支援,辅以信任,从而达成目标。

不论团队内外,传递信息效果最好效率也最高的方式是
面对面的交谈。

可工作的软件是进度的首要度量标准。

敏捷过程倡导可持续开发。
责任人、开发人员和用户要能够共同维持其步调稳定延续。

坚持不懈地追求技术卓越和良好设计,敏捷能力由此增强。

以简洁为本,它是极力减少不必要工作量的艺术。

最好的架构、需求和设计出自自组织团队。

团队定期地反思如何能提高成效,
并依此调整自身的举止表现

宣言和12条原则就是我们在实现敏捷开发过程中的向导!

提示:敏捷开发它只写有必要的文档,或尽量少写文档,敏捷开发注重的是人与人之间,面对面的交流,所以它强调以人为核心。
敏捷宣言:http://agilemanifesto.org/iso/zhchs/manifesto.html

敏捷开发的两种实现

在敏捷宣言和12条原则下,有两种流行的实现模型:极限变成(xp)Scrum

极限编程(XP)

测试驱动开发

首先文档比测试枯燥太多,其次,最终用户的使用就是对程序的终极测试所以测试驱动的方法明显更加高效。

Scrum

参考文献:

敏捷开发之Scrum扫盲,及敏捷开发中XP与SCRUM的区别

敏捷开发 与 传统开发

你大概走了假敏捷:认真说说敏捷的实现和问题(手绘版)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值