西门子PLC PROFIBUS-DP数据总线连接器
浔之漫智控技术(上海)有限公司(xzm-wqy-sqw)
是中国西门子的合作伙伴,公司主要从事工业自动化产品的集成,销售和维修,是全国的自动化设备公司。
公司坐落于中国城市上海市,我们真诚的希望在器件的销售和工程项目承接、系统开发上能和贵司开展多方面合作。
以下是我司主要代理西门子产品,欢迎您来电来函咨询,我们将为您提供优惠的价格及快捷细致的服务!
1.3.2 原型模型1. 快速原型方法
快速原型方法是原型模型在软件分析、设计阶段的应用,用来解决用户对软件系统在需求上的模糊认识,或用来试探某种设计是否能够获得预期结果。快速原型方法具有以下特点。
(1)快速原型用来获取用户需求,或是用来试探设计是否有效。一旦需求或设计确定,原型就将被抛弃。因此,快速原型要求快速构建、容易修改,以节约原型创建成本、加快开发速度。快速原型往往采用一些快速生成工具创建,例如4GL语言。Visual Basic、Delphi等基于组件的可视化开发工具是非常有效的快速原型创建工具,也被应用于原型创建和进化。
(2)快速原型是暂时使用的,因此并不要求完整。它往往针对某个局部问题建立专门原型,如界面原型、工作流原型、查询原型等。
(3)快速原型不能贯穿软件的整个生命周期,它需要和其他的过程模型相结合才能产生作用。例如,在瀑布模型中应用快速原型,以解决瀑布模型在需求分析时期存在的不足个方面的任务,即改正性维护、适应性维护和完善性维护。
1.3 软件开发过程模型
随着软件的规模和复杂性不断增大,以开发人员的经验和技术来保证软件产品质量,单纯对结果进行检验以评估软件系统质量已经成为不可能的任务。更多情况下,必须将的观点贯穿于整个软件开发过程。这要求软件开发必须从管理和技术两方面着手,既要有良好的技术措施(方法、工具和过程),又要有必要的组织管理措施。从技术角度来说,过程设计是影响软件产品质量的决定性因素,方法和工具只有在合理设计的开发过程中,才能发挥大功效。软件过程模型是人们在软件开发实践中总结出来的,适用于具有某一类特征项目的标准开发过程。软件开发模型提供了一个框架并把必要活动映射在这个框架中,包括主要的开发阶段、各个阶段要完成的主要任务和活动、各个阶段的输入输出。
常见的软件开发过程模型很多,包括瀑布模型、演化模型(包括原型模型、增量模型和螺旋模型)、喷泉模型、RUP过程等。在实践中,软件项目开发团队必须依据拟开发项目的特点以及对用户需求的把握程度,选择某一开发过程模型做一定的剪裁,设计出适合具体项目的软件开发过程。
1.3.1 瀑布模型
瀑布模型(也称线性顺序模型)诞生于20世纪70年代,是早出现并获得广泛应用的软件过程模型。瀑布模型中的“瀑布”意味着过程中的开发活动是严格线形的,就像山顶倾泻下来的水,逐级下落。
对开发人员而言,结构化方法下,模块是概要设计时构造软件的基本元素,因此,概要设计中软件也就主要体现在模块的构成与模块接口这两个方面上。面向对象方法下,对象是概要设计时构建软件的基本元素,因此概要设计时软件主要体现在对象的原型——类设计上。概要设计时并不需要说明模块/类方法的内部细节,但是需要进行全部的有关它们构造的定义,包括功能特征、数据特征和接口等。对于模块,需要给出模块名、输入输出参数和要实现的功能描述;对于类,需要给出类名、属性名和数据类型、方法名称、方法的输入输出参数和方法的功能描述。
在进行概要设计时,模块/类的独立性是一个有关质量的重要技术性指标,可以使用模块的内聚、耦合这两个定性参数对模块独立性进行度量。
(2)软件详细设计
设计工作的第二步是详细设计,它以概要设计为依据,用于确定软件结构中每个模块的内部细节,为编写程序提供直接的依据。详细设计需要从实现每个模块功能的程序算法和模块内部的局部数据结构等细节内容上给出设计说明。
(3)编码和单元测试
编码是对软件的实现,一般由程序员完成,并以获得源程序基本模块为目标。编码必须按照“详细设计说明书”的要求逐个模块地实现。在基于软件工程的软件开发过程中,编码往往只是一项语言转译工作,即把详细设计中的算法描述语言转译成某种适当的程序设计语言或汇编语言。
为了方便程序调试,针对基本模块的单元测试也往往和编码结合在一起进行。单元测试也以详细设计结果为依据,用于检验每个基本模块在功能、算法与数据结构上是否符合设计要求。什么,为今后的软件开发做准备。这个时期往往需要分阶段地进行以下4项工作。
(1)软件任务立项
软件项目往往开始于任务立项,并需要针对项目的名称、性质、目标、意义和规模等做出回答,以此获得对准备着手开发的软件系统的高层描述。
(2)项目可行性分析
在软件任务立项报告被批准以后,接着需要进行项目可行性分析。可行性分析是针对准备进行的软件项目进行的可行性风险评估。因此,需要对准备开发的软件系统提出高层模型,并根据高层模型的特征,从技术可行性、经济可行性和操作可行性这三个方面,对项目做出是否值得往下进行的回答,由此决定项目是否继续进行下去。
(3)制定项目计划
在确定项目可以进行以后,接着需要针对项目的开展,从人员、组织、进度、资金、设备等多个方面进行合理的规划,并制定项目开发计划
以工程化的形式组织软件的开发和维护,应能够保证达到以下目标。
① 开发成本控制在预计的合理范围之内;
② 开发周期能够控制在预计的合理时间范围之内;
③ 软件的功能和性能能够满足用户需求;
④ 软件具有较高的质量;
⑤ 软件具有较高的可靠性;
⑥ 软件产品易于移植、维护、升级和使用。
简而言之,就是按时、按质开发用户需要的软件产品。那么到底如何进行软件的开发,才可视为真正的工程化软件开发呢?自从软件工程提出以来,很多该领域的专家学者提出很多关于软件工程的准则或“信条”。软件工程专家Barry W.Beohm综合这些专家学者的意见并总结TRW公司多年开发软件的经验,提出软件工程的七条基本原则。
(1)用分阶段的生命周期计划严格管理。这条基本原理要求把软件生命周期划分为若干个阶段,并制订相应的切实可行的计划,然后严格按照计划对软件的开发和维护工作进行管理。
(2)坚持进行阶段评审。在每个阶段都进行严格的评审,以尽早发现软件开发过程中所犯的错误。上以支持个人应用的软件,包括字处理、电子表格、计算机图形、多媒体、娱乐、数据库管理、个人及商业金融应用、外部网络或数据库访问等。
人工智能软件:人工智能(AI)软件利用非数值算法去解决复杂的问题,这些问题不能通过计算或直接分析得到答案。如基于知识的专家系统、模式识别(图像或声音)软件、定理证明程序和游戏软件。
1.1.3 软件危机
软件危机就是人们在开发和维护软件时遇到一系列的问题,如不能按时完成开发任务、开发经费超支、软件质量无法保证、开发工作效率低下等。具体体现在以下方面。
(1)软件开发进度难以预测,软件开发成本难以控制
软件产品不能在预算范围内、按照计划完成,拖延工期几个月甚至几年的现象并不罕见;投资一再追加,终实际成本往往比预算成本高出一个数量级。而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量,降低了软件开发组织的信誉,从而不可避免地会引起用户的不满。