网站资讯 news
您现在的位置:首页 > 网站资讯 > 关于软件开发模型的思考
NEWS

新闻资讯

关于软件开发模型的思考

发布时间:2017/03/15 网站资讯 浏览次数:799

昆山网站建设
这里我指的软件开发模型包括以前的软件生命周期模型,现在的软件开发过程,大体上来讲就是指导软件开发如何进行的一个工作方法集。
下面我对几种常见的软件开发模型做一个评述,从概念角度纸上谈兵,不要骂我。
Waterfall模型
常见观点:
•文档驱动的开发模型。
•在需求非常明确的前提下可以使用,也适用于有长期专职开发人员的小型项目开发。
•严格限定了开发的各阶段,缺乏迭代性。
•缺乏对变化的支持。我的看法:
难道当时的人就不知道有了问题从头修正(也是相当于迭代嘛),可能他更关注的是阶段的划分。
原型法
常见观点:
•需求驱动的开发模型。
•帮助理解需求。
•增强和用户的交流,增加用户好感。•缺乏结构化的系统和严谨的开发流程,很难作为一个项目进行管理。我的看法:
难道不是相当于走了一个初始的完整流程,然后不停的迭代。
原型不是就一个整体的架构吗,然后在做不断的修正与扩展。
螺旋式开发模型
常见观点:
•风险驱动的开发模型。灵活。可以根据风险的处理情况选择需要的阶段(Loop),
•因而演变为Waterfall、进化原型等模型。
•各阶段都有评估和风险分析,可根据变化调整项目实施过程。
•适用于复杂的、风险大的项目。
我的看法:
一个扭曲了的线性模型,经过一个360度循环,重新迭代而已;可能给出一个螺旋形的图形,在进行了一个跌代以后,从图形很直观地看出来各个阶段都进行了扩展一样。
RUP
常见观点:
•开发过程分解为多个迭代过程,每个过程可以有自己的开发模型。
•可以快速提交可用的系统,然后根据反馈实施下一个迭代。•是一个开发框架,对每个迭代的具体过程缺乏支持:
1)如果迭代太少,很容易会蜕变为Code-Fix模式,迭代太多则往往因文档驱动而导致测试和集成的复杂度和费用太大。
2)因而无法克服以往开发模型的不足。经常蜕变成Waterfall模型。我的看法:
很多方法都是这样嘛,包括XP,从规范的角度来讲,RUP更注重文档,更强调角色的划分,XP相对少一些,更注重交互和交互方式。
结论:
各种软件开发模型都是线性模型,细化程度不同而已,离不开评估->需求->分析->设计->开发->测试->发布->维护几个阶段,然后在不同的阶段之间加入0个、一个或者N个并行与迭代的过程。
我觉得差异仅仅是目的不同,如果着重强调的是阶段的划分,他就是Waterfall原型;如果强调的是效果直观化,他就是原型法;如果强调的是防范风险,他就是螺旋式开发模型,如果开发队伍不大,为了有效了解需求和加强交互,他就是XP;如果开发队伍庞大,需要一种有效的方式来规范工作,加强大量开发人员的沟通,他就是RUP。
如果设计模式的目的是为了分解功能职责,实现可动态组合和调整的架构,从而更好的提高软件的灵活性与可复用性。我觉得软件开发模型的目的就是通过优化流程,组建高效团队,来提高软件的质量,使软件开发过程处于可管理、可度量的状态,从而有效提高软件生产效率。
我们需要知道一定数量的设计模式,开发设计人员有一种共同交流语言,并在软件开发过程中利用这些经验,最终提高提高软件的灵活性与可复用性。不过关键是要明白设计模式的用意和目的,过多的局限在设计模式反而不能使得益于他。
同样,我们需要知道一定数量的软件开发模型,从而吸取他人经验,提高软件生产效率,不过关键还是要围绕我们的最终目的来采用合适的方法,过多的软件开发模型反而会使我们迷失(例如,有迭代模型,有增量模型,但是不同人写的书对他的理解就不一样,个人理解迭代模型是为了改进软件质量,增量模型是不同的阶段和时间逐步组合功能)。
软件开发工程首选云风网络我们专业从事推广托管 网站建设 网站优化等网络服务,服务行业超过5000家,是值得您信赖合作的网络运营公司:http://www.yunfengnet.com/

云风网络是集昆山网站制作,昆山网页设计,昆山网站推广于一体的昆山网络公司,业务涵盖:昆山手机网站制作,昆山网站设计,昆山网络建设,昆山做网站,昆山网站建设,电话:13912673321

相关推荐
点击这里给我发消息 技术咨询
回到顶部