软件工程——软件开发模型
2015-09-30 20:19
274 查看
软件工程简介
软件危机的出现,软件工程的概念被提了出来。软件工程是将系统性的、规范化的、可定量的方法应用于软件的开发、运行和维护。
软件工程包含为完成软件需求、设计、构建、测试和维护所需的知识、方法和工具。软件工程不局限在理论之上,更重要在实践上,能够帮助软件组织协调团队、运用有限的资源,遵守已定义的软件工程规范,通过一系列可复用的、有效的方法,在规定的时间内达到预先设定的目标。针对软件工程的实施,无论是采用什么样的方法和工具,先进的软件工程思想始终是最重要的。只有在正确的工程思想指导下,才能制定正确的技术路线,才能正确地运用方法和工具达到软件工程或项目管理的既定目标。
软件开发生命周期模型
软件生存周期模型确立了软件开发和演绎中各阶段的次序限制以及各阶段,确立开发过程中所遵守的规定和限制,便于各种活动的协调、管理。
下边,我们就常见的几个模型,做介绍与比较。
关于敏捷开发
接触过一段时间的敏捷开发,一开始,从表面上看来,敏捷开发理念与软件工程的经典理论是完全对立的。不过,后来,时间长了,觉得自己想的很肤浅。
虽然敏捷开发中没有像软件工程经典理论那样,在一开始就做出很完美的设计文档,但是敏捷开发也不是一定不要文档的,只是它把这部分尽可能地简化,去掉不必要的工作。并且有很多工作,只要简单的UML或者只要用草稿纸画个简单流程图,它的功能也是经典理论中的文档的功能是一样的,只是形式不大一样,更不是对立的。
敏捷开发整个流程跟经典理论不一样,但细分它的过程,也有经典理论的很多基本元素,好比其中的设计,也是要按需求来做,只不过是形式不一样了。
在敏捷开发中,用户是与开发者一同工作,也不是经典理论中先定流程,人再根据流程去做,而是更加注重人在开发中的作用,以人为中心,这个跟经典理论的以过程为中心确实是不一样的。
在开发者素质上,由于经典理论中把每个过程规范得很好,每一个步骤的开发者无需具备非凡的智力,只要胜任自己本职就行了。而敏捷开发中对开发者要求要高点,但也不是每个开发者都要求很高,它更强调的是集思广益,博取众长,每人的能力能得到更好的体现。
相关文章推荐
- 现代软件工程开发体验:结对编程
- 切不可一辈子靠技术生存
- 软件开发流程
- Linux之父盟友分道扬镳 直言开源模式软肋
- 经典老文回顾:Unix传奇
- 简单好用的hash表-----uthash
- 软件开发价格估算方法
- 从Windows的角度看Mac OS X上的软件开发兼谈跨平台开发的一些可行方向
- 是时候抛弃Eclipse转向IntelliJ了
- 最牛B的编码套路
- 软件开发的组织和角色分工
- IT人士 不能一辈子靠技术生存
- 软件工程中的模型
- jsp股票K线图控件
- 学习新技术的10个建议
- 计算机专业
- 软件开发人员的作战手册 - 让程序员活的久一点
- 软件开发人员的作战手册 - 让程序员活的久一点
- 软件文档知多少?
- 用Python开发主机批量管理工具