西门子交换机全国一级供货商
经满足。如果评估结果令人满意的话,可以允许项目进入下一个阶段。
初始阶段的目标是为系统建立商业案例并确定项目的边界;细化阶段的目标是分析问题领域,建立健全的体系结构基础,编制项目计划,淘汰项目中高风险的元素;在构建阶段,所有剩余的构件和应用程序功能被开发并集成为产品,所有的功能被详细测试;交付阶段的重点是确保软件对终用户是可用的。
RUP中有9个核心工作流,其中前6个(业务建模、需求分析、设计、实现、测试、发布)核心过程工作流,后3个(配置和变更管理、项目管理、环境)为核心支持工作流。从RUP的核心工作流的构成可以看到,除了业务建模,RUP的工作任务和瀑布过程模型的差异不大,说明RUP更强调以(现实系统的)的业务分析作为用户需求的主要收集来源,这在管理信息系统之类的软件项目中尤为重要。
以现实系统分析作为需求分析的基础,是RUP过程与其他过程模型的显著不同。本书结合瀑布过程模型和RUP过程,设计了适用于管理信息系统之类软件项目的开发过程模型(具体见1.6节),设计的过程模型具有方便实用、各阶段模型衔接性好的特点。开发人员或企业也可以此过程模型为基础,设计适用于自身和特定项目的软件开发过程。
浔之漫智控技术(上海)有限公司(w)
是中国西门子的合作伙伴,公司主要从事工业自动化产品的集成,销售和维修,是全国的自动化设备公司。
公司坐落于中国城市上海市,我们真诚的希望在器件的销售和工程项目承接、系统开发上能和贵司开展多方面合作。
以下是我司主要代理西门子产品,欢迎您来电来函咨询,我们将为您提供优惠的价格及快捷细致的服务!
(1)RUP是一个可剪裁定制的软件开发过程模型。任何开发团队或开发企业都可以以RUP为基础,设计适用自身和项目特点的开发过程。
(2)RUP为如何适用UML提供了指导,强调建立和维护模型,而不是侧重于产生大量的书面文档。
(3)RUP能够有效提高开发效率。使用RUP,开发团队可共享统一语言、过程和开发软件的模型视图。
RUP吸收了许多在实践中已经证明的软件开发实践经验,这些佳工程实践经验包括以下内容。
(1)迭代式开发。RUP支持迭代的过程,把开发的风险分散到每一次迭代中,大大降低了项目的风险。而且每一次迭代都产生一个可执行的版本,频繁的状态检查也可以确保项目按时完成。
(2)使用基于组件的体系结构。组件是实现明确功能的二进制模块或子系统,以接口的方式向外界提供功能和服务,它直观、便于理解,设计灵活、可修改,能够更好地保证软件重用。RUP支持基于组件的软件开发。
(3)可视化的软严格控制软件变化。软件的变化是不可控制的。RUP描述了如何跟踪、控制需求变更,以确保软件能够成功迭代地开发。
(2)在完成软件体系结构设计之后,可以进行增量构件的开发。这个时候,需要对构件进行需求细化,然后进行设计、编码测试和有效性验证。
(3)在完成了对某个增量构件的开发之后,需要将该构件集成到系统中去,并对已经发生了改变的系统重新进行有效性验证,然后再继续下一个增量构件的开发。
增量模型具有以下特点。
(1)开发初期的需求定义可以是大概的描述,只是用来确定软件的基本结构,而对于需求的细节性描述,则可以延迟到增量构件开发时进行,以增量构件为单位逐个地进行需求补充。
(2)可以灵活安排增量构件的开发顺序,并逐个实现和交付使用。这不仅有利于用户尽早地用上系统,而且用户在以增量方式使开发软件:根据对风险的认识,决定采用合适的软件开发模型,实施软件开发。
(4)制订计划:对项目进行阶段评审,制定项目下一个阶段的工作计划。
对软件项目进行风险分析也是需要费用的,假如项目风险分析费用过高,甚至超过项目开发费用,将得不偿失。实际上,只有较大型的项目才有较高的风险,才有进行各个阶段详细风险分析的必要。因此,螺旋模型主要应用于大型软件项目之中。
软件系统的运行是一个比较长久的过程,跟软件开发机构有关的主要任务是对系统进行经常性的有效维护。软件的维护过程,也就是修正软件错误,完善软件功能,由此使软件不断进化升级的过程,以使系统更加持久地满足用户的需要。因此,对软件的维护也可以看成为对软件的再一次开发。在这个时期,对软件的维护主要涉及三瀑布模型是一种基于里程碑的、阶段性的过程模型,它所提供的是里程碑式的软件开发工作流程,文档是瀑布模型中每个阶段的成果体现,模型的回溯性很差。因此,瀑布模型要求项目严格按规程推进,瀑布模型从上至下按顺序进行的几个阶段有固定的衔接次序,瀑布模型中的阶段只能逐级到达,不能跨越。每个阶段都有明确的任务,都需要产生确定的成果。并且前一阶段输出的成果被作为后一阶段的输入条件,在某个阶段的工作任务已经完成,并准备进入到下一个阶段之前,需要针对这个阶段的文档进行严格的评审,直到确认以后才能启动下一阶段的工作。
瀑布模型必须等到所有开发工作全部做完以后才能获得可以交付的软件产品,它适用于具有以下特征的项目。
① 需求稳定、变化很小且开发人员能够一次性获取全部需求的项目;
② 软件开发人员具有丰富经验,对于应用领域非常熟悉;