软件开发范式选用原则

来源:互联网 发布:食品添加剂 知乎 编辑:程序博客网 时间:2024/05/17 09:23

<!-- /* Font Definitions */ @font-face{font-family:宋体;panose-1:2 1 6 0 3 1 1 1 1 1;mso-font-alt:SimSun;mso-font-charset:134;mso-generic-font-family:auto;mso-font-pitch:variable;mso-font-signature:3 135135232 16 0 262145 0;}@font-face{font-family:"/@宋体";panose-1:2 1 6 0 3 1 1 1 1 1;mso-font-charset:134;mso-generic-font-family:auto;mso-font-pitch:variable;mso-font-signature:3 135135232 16 0 262145 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal{mso-style-parent:"";margin:0cm;margin-bottom:.0001pt;text-align:justify;text-justify:inter-ideograph;mso-pagination:none;font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:"Times New Roman";mso-fareast-font-family:宋体;mso-font-kerning:1.0pt;} /* Page Definitions */ @page{mso-page-border-surround-header:no;mso-page-border-surround-footer:no;}@page Section1{size:595.3pt 841.9pt;margin:72.0pt 90.0pt 72.0pt 90.0pt;mso-header-margin:42.55pt;mso-footer-margin:49.6pt;mso-paper-source:0;layout-grid:15.6pt;}div.Section1{page:Section1;} /* List Definitions */ @list l0{mso-list-id:1958634047;mso-list-type:hybrid;mso-list-template-ids:-1511509336 298209300 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}@list l0:level1{mso-level-number-format:japanese-counting;mso-level-text:%1、;mso-level-tab-stop:42.0pt;mso-level-number-position:left;margin-left:42.0pt;text-indent:-21.0pt;}@list l0:level2{mso-level-number-format:alpha-lower;mso-level-text:"%2/)";mso-level-tab-stop:63.0pt;mso-level-number-position:left;margin-left:63.0pt;text-indent:-21.0pt;}ol{margin-bottom:0cm;}ul{margin-bottom:0cm;}-->

              软件开发范式选用原则

一、项目简介省略

二、介绍几种常见范式:1、瀑布模型:按照工序将开发过程分成需求分析、设计、编码、测试、运行过程,并且规定他们 自上而下顺序执行;瀑布模型有利于软件开发的组织和管理,提高开发质量和效率。然而实际软件开发过程并不是这样顺序。2、原型模型:基于形式化规格说明和软件模型开发,以规格说明为基础开发一个软件模型,用户可以从界面、功能、性能对原型进行评审,然后修改需求和软件模型,直至被确认。3、增量开发:增量模型融合了瀑布模型和原型模型迭代特征。增量模型随着时间的发展,不断发布新的产品,往往先发布的产品是核心产品,而后续产品不断补充,直道产生一个完整的产品。增量模型人员分配灵活,但是如果增量包之间有关联就要进行全面的需求分析。适用需求经常改变的软件开发过程;

三、我在这个项目中如何选择开发范式的呢?
   
首先从客户特点分析:客户这次参与和协助我们开发的财务组一个部门,而整个系统除了涵盖财务相关内容,还包括采伐、销售、计划等业务内容,这样的现实就决定了我们不可能得到采伐、销售部门的直接需求,这样肯定存在需求变化的隐患;客户对业务在系统中如何运作最好用的概念没有,只能寄望系统开发出来后,看了系统才能给出如何在系统中执行业务的要求;
   
从我们开发方看,我们对林业业务一点不懂,连基本常识和概念都没有,所以在需求开发阶段我们也不可能给客户什么帮助;另外我们和客户不在同一城市,我们不可以经常见面交流,而电话交流效果不好。项目团队中我做过多个系统经验丰富和学习业务能力很强,其他人员对林业业务不敏感。
   
这样的客观条件决定我们只有先开发一个模型系统让客户根据这个模型提出修改意见,我们也在开发模型过程中检验我们需求,提高对业务的认识。
   
经过我们对需求整理后,发现有些模块完全依赖于前面业务模块,所以我把这些模块放到后面开发,等前面被依赖的模块开发好了,客户确认了再开发这些模块。
   
所以我采用的开发范式是,整体上使用原型模型,在这个大模型中部分使用增量开发。
   
在选用开发范式是往往一个范式不能解决所有开发过程问题,需要不同范式相互补充;另外采用这种开发对系统性能方面没有考虑,导致项目结束了还要优化性能。

四、从我们项目选用这样的开发范式效果分析:
   
总体效果:从最后结果来看我们开发的产品满足客户要求,客户很满意,从过程看,我们没有多少返工,是按照预定的进度有序完成开发的,我们开发团队工作的很愉快。
   
符合我们对需求的把握:刚开始我们对需求基本不了解,我们也要在交流过程中整理和分析客户需求,而最好的交流平台就是软件模型,客户也难以做到一次就完整全面的描述需求,他们需要通过模型才能改进需求和提出更好的需求。只有客户提出了完整的需求,并且我们理解了这些需求,这两个条件是我们能做好这个软件的前提条件。我们通过原型化范式方法推动了双方对软件需求的认识,对这个软件开发有决定意义
   
符合用户评审需求:用户基本没有通过文档就可以看到将来系统是怎么样,以及怎么运行的,基于这样的事实让用户评审需求文档就不能达到全面评审(只能评审范围、业务和模块映射和模块功能)不能通过文档进行评审的内容对于一个系统同样重要,甚至是至关重要。通过这个原型客户对系统就有直观的感受,对需求是如何转换成系统功能就明白了,这时就可以评判出这样转换是否合理。
   
满足客户对系统改动:作为一个新系统,易操作性只有客户使用后才能提出来,靠我们开发单方面是不行的,所以开发一个原型化系统不光可以改进需求,同样可以改进系统易用性,在这个项目中客户通过原型系统提出了大量易用性问题。
   
对于我们开发团队的意义:我们采用这个开发范式符合实际情况。首先保证了软件质量,在开发之中把不确定因素都考虑进来,而且都给出了合理解决办法,从而保证开发出来的软件是客户想要的软件,在需求上和客户要求没有偏差。保证了项目进度,采用这种方法不会出现开发结束时发现软件完全不是客户想要的东西,又要从头再来,而是一次成功。

五、采用这种方法的缺点就是用户要经常参与系统讨论。开发成本会增加。
   

原创粉丝点击