西门子交换机全国代理商
(4)软件产品难以维护
软件产品本质上是开发人员的代码化的逻辑思维活动,他人难以替代。除非是开发者本人,否则很难及时检测、排除系统故障。为使系统适应新的硬件环境,或根据用户的需要在原系统中增加一些新的功能,又有可能增加系统中的错误。
(5)软件缺少适当的文档资料
文档资料是软件必不可少的重要组成部分。实际上,软件的文档资料是开发组织和用户之间权利和义务的合同书,是系统管理者、总体设计者向开发人员下达的任务书,是系统维护人员的技术指导手册,是用户的操作说明书。缺乏必要的文档资料或者文档资料不合格理,是其他软件工作的基础,而其他的系统应用(如编译器、编辑器和文件管理程序)则用以支持开发人员、应用人员的基础性工作。它们均具有以下特点:与计算机硬件频繁交互,需要精细调度、资源共享及灵活的进程管理的并发操作,复杂的数据结构,多外部接口。
实时软件:管理、分析、控制现实世界中发生的事件的程序称为实时软件。实时软件的组成通常包括:一个数据收集部件,负责从外部环境获取和格式化信息;一个分析部件,负责将信息转换成应用时所需要的形式;一个控制/输出部件,负责响应外部环境;一个负责协调其他各部件的管理部件。实时系统有较严格的时间响应要求(一般从1毫秒到1分钟)否则可能带来灾难性的后果。
商业软件:商业信息处理是大的软件应用领域。具体的“系统”(如工资表、帐目支付和接收、存货清单等)均可归为管理信息系统(MIS)软件,它们可以访问一个或多个包含商业信息的大型数据库。该领域的应用将已有的现实手工数据重新构造,变换成一种能够辅助商业操作或管理决策的形式。辅助商业操作的通常称为交互式事务性操作软件(也称OLTP,online Transaction Processing,在线事务处理系统),管理决策的通常称为支持开发工作也没有任何管理,是一种“个体化”的手工开发,软件成功与否完全依赖于开发人员的技能和经验。这一时期的软件开发成果除了程序清单之外,基本没有其他文档资料。
从20世纪60年代中期到70年代中期,是计算机系统发展的第二代。在这期间计算机技术有了很大发展。多道程序、多用户概念开始出现并变得普及,操作系统、数据库技术、编程语言也陆续出现了。软件应用范围与系统功能的增多促使软件产品数量急剧膨胀,软件也变得更加复杂。“软件作坊”是这段时期的主要软件开发组织方式,由于“软件作坊”基本还是采用早期的个体化开发方法,使得开发出来的软件依然广泛存在难以维护、不可复用的问题,出现了所谓的“软件危机”。
浔之漫智控技术(上海)有限公司(xzm-wqy-sqw)
是中国西门子的合作伙伴,公司主要从事工业自动化产品的集成,销售和维修,是全国的自动化设备公司。
公司坐落于中国城市上海市,我们真诚的希望在器件的销售和工程项目承接、系统开发上能和贵司开展多方面合作。
以下是我司主要代理西门子产品,欢迎您来电来函咨询,我们将为您提供优惠的价格及快捷细致的服务!
“软件工程”概念的提出(1968年),标志计算机系统发展到第三代。从此,人们考虑用工程化的概念、原理、技术和方法来开发和维护软件,避免软件危机带来的问题。因而“软件工厂”成为软件开发的主要组织方式。在这一时期,结构化的工程方法获得了广泛应用,并已成为了一种成熟的软件工程方法学;而自20世纪90年代起,面向对象的工程方法,也已被应用于软件开发之中。此外,许多软件企业采用工程化的原理、技术和工具实施软件产品开发,以适应软件产业化发展的需要。软件也由单纯的程序发展成为了包括程序、数据、文档等诸多要素集合的软件产品
① 开发成本控制在预计的合理范围之内;
② 开发周期能够控制在预计的合理时间范围之内;
③ 软件的功能和性能能够满足用户需求;
④ 软件具有较高的质量;
⑤ 软件具有较高的可靠性;
瀑布模型(也称线性顺序模型)诞生于20世纪70年代,是早出现并获得广泛应用的软件过程模型。瀑布模型中的“瀑布”意味着过程中的开发活动是严格线形的,就像山顶倾泻下来的水,逐级下落。
对开发人员而言,结构化方法下,模块是概要设计时构造软件的基本元素,因此,概要设计中软件也就主要体现在模块的构成与模块接口这两个方面上。面向对象方法下,对象是概要设计时构建软件的基本元素,因此概要设计时软件主要体现在对象的原型——类设计上。概要设计时并不需要说明模块/类方法的内部细节,但是需要进行全部的有关它们构造的定义,包括功能特征、数据特征和接口等。对于模块,需要给出模块名、输入输出参数和要实现的功能描述;对于类,需要给出类名、属性名和数据类型、方法名称、方法的输入输出参数和方法的功能描述。
在进行概要设计时,模块/类的独立性是一个有关质量的重要技术性指标,可以使用模块的内聚、耦合这两个定性参数对模块独立性进行度量。
(2)软件详细设计
设计工作的第二步是详细设计,它以概要设计为依据,用于确定软件结构中每个模块的内部细节,为编写程序提供直接的依据。详细设计需要从实现每个模块功能的程序算法和模块内部的局部数据结构等细节内容上给出设计说明。
(3)编码和单元测试
编码是对软件的实现,一般由程序员完成,并以获得源程序基本模块为目标。编码必须按照“详细设计说明书”的要求逐个模块地实现。在基于软件工程的软件开发过程中,编码往往只是一项语言转译工作,即把详细设计中的算法描述语言转译成某种适当的程序设计语言或汇编语言。
为了方便程序调试,针对基本模块的单元测试也往往和编码结合在一起进行。单元测试也以详细设计结果为依据,用于检验每个基本模块在功能、算法与数据结构上是否符合设计要求。什么,为今后的软件开发做准备。这个时期往往需要分阶段地进行以下4项工作。