西门子全国授权经销商
浔之漫智控技术(上海)有限公司(xzm-wqy-sqw)
是中国西门子的合作伙伴,公司主要从事工业自动化产品的集成,销售和维修,是全国的自动化设备公司之一。
公司坐落于中国城市上海市,我们真诚的希望在器件的销售和工程项目承接、系统开发上能和贵司开展多方面合作。
以下是我司主要代理西门子产品,欢迎您来电来函咨询,我们将为您提供优惠的价格及快捷细致的服务!
螺旋过程模型符合典型软件项目的发展特点,但是跟简单的瀑布过程模型相比,它需要投入更多的精力来更细致地管理其过程。这主要由于每次在快速原型过程模型中,首先是快速进行系统分析,在设计人员和用户的紧密配合下,快速确定软件系统的基本要求,尽快实现一个可运行的、功能简单的原型系统,然后对原型系统逐步求精、不断扩充完善得到终的软件系统。所谓“原型系统”就是应用系统的模型,用户在开发者的指导下试用原型,在试快速原型过程模型中,首先是快速进行系统分析,在设计人员和用户的紧密配合下,快速确定软件系统的基本要求,尽快实现一个可运行的、功能简单的原型系统,然后对原型系统逐步求精、不断扩充完善得到终的软件系统。所谓“原型系统”就是应用系统的模型,用户在开发者的指导下试用原型,在试用的过程中考核评价原型的特性,分析其运行结果是否满足规格说明的要求,以及规格说明的描述是否满足用户的期望。开发人员根据用户用的过程中考核评价原型的特性,分析其运行结果是否满足规格说明的要求,以及规格说明的描述是否满足用户的期望。开发人员根据用户迭代完成之后都必须保证文档的一致性,特别是代码应该实现文档中描述的设计并且满足文档中记录的需求。此外,为了提高开发小组的生产效率,往往会在前一个迭代结束之前就开始一次新的迭代,这为协调文档的一致性增加了一定难度。
同时还应该认识到,形成一套完整而成熟的软件开发过程不是一蹴而就的,它需要一个从无序到有序、从特殊到一般、从定性到定量、后再从静态到动态的历程,或者说软件开发组织在形成成熟的软件过程之前必须经历一系列的探索阶段。因此,有必要建立一个软件过程成熟度模型来对过程作出一个客观、公正的评价,以促进软件开发组织改进软件开发过程,这就是所谓的软件能力成熟度模型(CMM)要做的工作。
1.2 软件缺陷与软件故障1. 什么是软件缺陷和软件故障
软件是由人来完成的,所有由人做的工作都不会是的。软件开发是很复杂的工作,开发人员很容易出现错误,虽然软件从业人员、专家和学者付出了很多努力,但软件错设计阶段应把已确定的各项需求,转换成相应的体系结构,在结构中每一组成部分都是功能明确的模块,每个模块都能体现相应的需求,这一步骤称为总体设计。然后进行详细设计,对某个模块要完成的工作进行具体的描述,以便为程序编写打下基础。
• 编码阶段的工作是编写各种层次的螺旋过程模型的一个额外的优点就是能够在每次迭代中都收集到过程中产生的各种度量数据。例如,在次迭代时记录下小组进行设计和实现所耗费的时间,依此即可以改进后续设计和实现所耗费时间的估计方法,这对于没有任何历史数据的开发组织尤其具有价值。
螺旋开发过程需要多少次迭代?这取决于具体的情况。例如,由3人组成的开发小组、耗时4个月的项目大概需要2次或者3次迭代,而项目若采用5次迭代,则所需要的管理费用通常会超过新增迭代所创造的价值。3. 增量过程模型
当迭代的速度加快,每次迭代只是在前一次的基础上增加少量功能的时候,这种迭代过程就是增量开发过程。
增量过程模型是用一种几乎连续的过程小幅度地推进项目,如图1.3所示。增量过程模型在项目的后期尤其适用,比如当项目处于维护阶段,或者立项的产品与原先开发出来的产品结构极为相似。代码,包括可视化开发系统生成的代码和用第四代程序设计语言编写的代码等。
• 软件测试主要是为了发现程序中的错误。
• 运行维护主要是对软件进行修复和改动,使它能够持续发挥作用。
在实际软件开发过程中,并不是严格按照图1.1中所示各阶段顺序执行的,因此过程中的各部分之间都有某种程度的重叠。造成这种重叠的原因是上述任何一个阶段都不可能在下一阶段开始之前完全结束。软件开发人员很少像图1.1所示的那样使用单纯的瀑布过程模型,除非是很小的项目或者是开发的产品与软件开发人员以前做过的项目类似,这主要是因为绝大多数软件都是复杂的、非线性的。2. 螺旋过程模型
螺旋过程模型需要经历多次需求分析、设计、实现、测试这组顺序活动。这样做有多种原因,其中主要的原因是规避风险;另一个原因是在早期构造软件的局部版本时即交给客户以获得反馈;还有一个原因是为了避免像瀑布过程模型一样一次集成大量的代码。
螺旋过程模型的基本思路是依据前一个版本的结果构造新的版本,这个不断重复迭代的过程形成了一个螺旋上升的路径务用。软件的维护是指对软件系统进行修改或对软件需求变化作出反映的过程。当发现软件中的潜伏错误,或用户对软件需求进行修改,或软件运行环境发生变化时,都需要对软件进行维护。软件维护的成功与否直接影响软件的应用效果和软件的生存周期。软件的可维护性与软件的设计密切相关,因此在软件开发过程中应该重视对软件可维护性的支持。
软件生存周期的后一个阶段是终止对软件系统的支持,软件停止使用。
1.1.3 软件过程模型
软件开发过程包含各种复杂的风险因素,为了解决由这些因素带来的种种问题,软件开发人员经过多年的摸索,总结出了多种软件工程的实现方式——软件过程模型,如瀑布过程模型、螺旋过程模型、增量过程模型、快速原型过程模、敏捷过程模型等。这些软件过程模型是软件开发的指导思想和全局性框架,它们的提出和发展反映了人们对软件过程的认识观,体现了人们对软件过程认识的提高和飞跃。软件开发所遵循的软件过程是保证高质量软件开发的一个至关重要的因素。1. 瀑布过程模型
瀑布过程模型反映了早期人们对软件工程的认识水平,是人们所熟悉的一种线性思维的体现。
瀑布过程模型强调阶段
软件开发是按照需求规格说明书的要求由抽象到具体、逐步完成软件开发的过程。软件开发一般由设计和实现等几个阶段组成,其中设计可分为概要设计和详细设计,主要是根据软件需求规格说明书建立软件系统的结构、算法、数据结构和各程序模块之间的接口信息,规定设计约束,为编写源代码提供必要的说明。实现也称为编码,就是将软件设计的结果转换成计算机可运行的程序代码。在程序编码中,开发人员必须要制订统一、符合标准的编写规范,以保证程序的可读性和易维护性,提高程序的运行效率。3. 软件测试
的划分及其顺序性、各阶段工作及其文档的完备性,是一种严格线性的、按阶段顺序的、逐步细化的开发模式。2. 软件开发