西门子S7-200模块CPU224XPCN中央处理单元
在完成对软件的验收之后,软件系统可以交付用户使用,并对项目进行总结。
1.2.3 软件运行与维护期
软件系统的运行是一个比较长久的过程,跟软件开发机构有关的主要任务是对系统进行经常性的有效维护。软件的维护过程,也就是修正软件错误,完善软件功能,由此使软件不断进化升级的过程,以使系统更加持久地满足用户的需要。因此,对软件的维护也可以看成为对软件的再一次开发。在这个时期,对软件的维护主要涉及三瀑布模型是一种基于里程碑的、阶段性的过程模型,它所提供的是里程碑式的软件开发工作流程,文档是瀑布模型中每个阶段的成果体现,模型的回溯性很差。因此,瀑布模型要求项目严格按规程推进,瀑布模型从上至下按顺序进行的几个阶段有固定的衔接次序,瀑布模型中的阶段只能逐级到达,不能跨越。每个阶段都有明确的任务,都需要产生确定的成果。并且前一阶段输出的成果被作为后一阶段的输入条件,在某个阶段的工作任务已经完成,并准备进入到下一个阶段之前,需要针对这个阶段的文档进行严格的评审,直到确认以后才能启动下一阶段的工作。
瀑布模型必须等到所有开发工作全部做完以后才能获得可以交付的软件产品,它适用于具有以下特征的项目。
① 需求稳定、变化很小且开发人员能够一次
取全部需求的项目;
② 软件开发人员具有丰富经验,对于应用领域非常熟悉;
③ 软件项目本身的风险很低。在系统开发的前期阶段,为了确保系统具有优良的结构,仍需要针对整个系统进行需求分析和概要设计,需要确定系统的基于增量构件的需求框架,并以需求框架中构件的组成及关系为依据,完成对软件系统的体系结构设计。
(2)在完成软件体系结构设计之后,可以进行增量构件的开发。这个时候,需要对构件进行需求细化,然后进行设计、编码测试和有效性验证。
(3)在完成了对某个增量构件的开发之后,需要将该构件集成到系统中去,并对已经发生了改变的系统重新进行有效性验证,然后再继续下一个增量构件的开发。
增量模型具有以下特点。
(1)开发初期的需求定义可以是大概的描述,只是用来确定软件的基本结构,而对于需求的细节性描述,则可以延迟到增量构件开发时进行,以增量构件为单位逐个地进行需求补充。
(2)可以灵活安排增量构件的开发顺序,并逐个实现和交付使用。这不仅有利于用户尽早地用上系统,而且用户在以增量方式使开发软件:根据对风险的认识,决定采用合适的软件开发模型,实施软件开发。
(4)制订计划:对项目进行阶段评审,制定项目下一个阶段的工作计划。
对软件项目进行风险分析也是需要费用的,假如项目风险分析
高,甚至超过项目开发费用,将得不偿失。实际上,只有较大型的项目才有较高的风险,才有进行各个阶段详细风险分析的必要。因此,螺旋模型主要应用于大型软件项目之中。
1.3.5 喷泉模型RUP的目标是在可预见的日程和预算控制下,确保满足*终用户需求的高质量软件的产生。RUP的特点如下。
(1)RUP是一个可剪裁定制的软件开发过程模型。任何开发团队或开发企业都可以以RUP为基础,设计适用自身和项目特点的开发过程。
(2)RUP为如何适用UML提供了指导,强调建立和维护模型,而不是侧重于产生大量的书面文档。
(3)RUP能够有效提高开发效率。使用RUP,开发团队可共享统一语言、过程和开发软件的模型视图。
RUP吸收了许多在实践中已经证明的软件开发实践经验,这些**工程实践经验包括以下内容。
(1)迭代式开发。RUP支持迭代的过程,把开发的风险分散到每一次迭代中,大大降低了项目的风险。而且每一次迭代都产生一个可执行的版本,频繁的状态检查也可以确保项目按时完成。
(2)使用基于组件的体系结构。组件是实现明确功能的二进制模块或子系统,以接口的方式向外界提供功能和服务,它直观、便于理解,设计灵活、可修改,能够更好地保证软件重用。RUP支持基于组件的软件开发。
(3)可视化的软严格控制软件变化。软件的变化是不可控制的。RUP描述了如何跟踪、控制需求变更,以确保软件能够成功迭代地开发。