上海松江西门子代理商
(5)生产方式落后。有人统计,硬件的性能价格比在过去30年中增长了106。一种新器件的出现,其性能较旧器件提高,价格反而有所下降,而软件则相形见绌。软件规模与复杂性增长了几个数量级,但生产方式仍然采用个体手工方式开发,根据个人习惯爱好工作,无章可循,无规范可依靠,带有很强的“个性化”特征的程序,因缺乏文档而根本不能维护,加剧了供需之间的矛盾。
(6)开发工具落后,生产效率提高缓慢。软件开发工具趋于原始,没有出现高效率的开发工具,因而软件生产效率低下。还有软件开发人员忽视需求分析的重要性,轻视软件工程是指导计算机软件开发和维护的一门工程学科。软件工程采用工程的概念、原理、技术和方法来开发和维护软件。
人们曾从不同的角度给软件工程下过各种定义,下面给出两种比较典型的定义。
1968年,在和届NATO会议上曾经给出了软件工程的一种早期定义:“软件工程就是为了经济地获得可靠的且能在实际机器上有效地运行的软件,而建立和使用完善的工程原理。”这个定义不仅指出了软件工程的目标是经济地开发出高质量的软件,而且强调了软件工程是一门工程学科,它应该建立并使用完善的工程原理。
1993年,IEEE进一步给出了一个更全面更具体的定义:“软件工程是:① 把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件开发;② 研究① 中提到的途径。”
虽然软件工程的不同定义使用了不同的词句,强调的重点也有所差异,但是它的中心思想是把软件当作一种工业产品,要求“采用工程化的原理和方法对软件进行计划、开发和维护。”宗旨是为了提高软件生产率、降低生产成本,以较小的代价获得高质量的软件产品。
2.软件工程基本目标
软件工程是一门工程性学科,目的是成功地建造一个大型软件系统。所谓成功是指要达到以下几个目标:
(1)降低软件开发成本;
(2)满足用户要求的全部软件功能;
(3)符合用户要求,令用户满意的软件性能;
(4)具有较好的易用性、可重用性和可先后提出l00余条关于软件工程的准则。的软件工程学家B.W.Boehm综合有关专家和学者的意见,总结了多年来开发软件的经验,于1983年在一篇论文中提出了软件工程7条基本原理。他认为这7条基本原理是确保软件产品质量和开发效率原理的西门子小集合。它们之间相互独立,其中任意6条原理的组合都不能代替另一条原理,因此,它们是缺一不可的西门子小集合。下面简单介绍软件工程的7条基本原理。
(1)用分阶段的生存周期计划严格管理
阶段划分为计划、分析、设计、编程、测试和运行维护。B.W.Boehm认为在软件的整个生存周期中应该制定并严格执行6类计划:项目概要计划、里程碑计划、项目控制计划、产品控制计划、验证计划和运行维护计划。
(2)坚持进行阶段评审
上一阶段评审没有通过,就不能进入下一阶段工作。在软件生存周期的每个阶段都要进行严格的评审,以便尽早发现在软件开发中犯下的错误并及时改正,对于保证软件质量、提高开发效率是非常重要的。
(3)实行严格的产品控制
尽管面向对象软件开发支持用户需求变化,但是在开发过程中,改变一项要求是要付出较高代价的。在实际开发过程中,由于外部环境等的变化,相应地改变用户需求是一种客观需要,是难免的,显然不能硬性禁止用户提出改变需求的要求,而只是依据科学的产品控制技术来适应这种要求。
浔之漫智控技术(上海)有限公司(xzm-wqy-sqw)
是中国西门子的合作伙伴,公司主要从事工业自动化产品的集成,销售和维修,是全国的自动化设备公司。
公司坐落于中国城市上海市,我们真诚的希望在器件的销售和工程项目承接、系统开发上能和贵司开展多方面合作。
以下是我司主要代理西门子产品,欢迎您来电来函咨询,我们将为您提供优惠的价格及快捷细致的服务!
(4)采用现代程序设计技术
实践表明,采用先进的程序设计技术既可以提高软件的开发效率,又可以提高软件的维护效率。面向对象技术在许多领域已经取代了传统的结构化开发方法。软件的开发效率、可维护性、可重用性都有一定程度的提高。
(5)结果应能清楚地审查软件工程是随着计算机系统的发展而逐步形成的计算机科学领域中的一门新兴学科。软件工程的发展经过了3个时代。
1.程序设计时代
1946年到1956年为程序设计年代。这个时代人们用很大力气研究和发展计算机硬件,经历了从电子管计算机到晶体管计算机的变革,然而对计算机软件的研究和发展却不够重视。当时,由于硬件的价格昂贵,运行速度低,内存容量小,所以当时的程序员非常强调“程序设计技巧”,把缩短每一个微秒的CPU时间和节省每一个二进制存储单元,作为程序设计的重要目标,但设计的程序难读、难懂、难修改。
2.程序系统时代
1956年到1968年为程序系统时代,或者程序+说明时代。在这个时代硬件经历了从晶体管计算机到集成电路计算机的变革,CPU速度和内存容量都有了很大的提高,从而为计算机在众多领域中的应用提供了潜在的可能性。这个时代的另一个重要特征是出现了“软件作坊”。这是因为随着计算机应用的普及和深化,需要的软件往往规模相当庞大,以致单个用户无法开发,此外许多不同的部门和企业往往需要相同或者类似的软件,各自开发就会浪费很大人力。在这种形势下,“软件作坊”就应运而生了。不过这个时代的开发方法基本上沿用了程序设计时代的开发方法,但开始提出了结构化的方法。随着计算机应用日益普及,软件需求量急剧增长,用户的需求和使用环境发生变化时,软件可修改性很差,往往需要重新编制程序,其研制时间很长,不能及时满足用户要求,质量得不到保证,开发人员的素质和落后的开发技术不适应规模大、ISO 9000把软件过程定义为:“把输入转化为输出的一组彼此相关的资源和活动”。
软件过程是为了获得高质量所需要完成的一系列任务的框架,它规定了完成多项任务的工作步骤。其中框架由几个重要过程组成,包括用来获取、供应、开发、操作和维护软件所用的基本的、一致的要求。各种组织和开发机构可以根据具体情况进行选择和取舍。计划时期的主要任务是调查用户需求,分析新系统的主要目标,分析开发该系统的可行性。用户提出一个软件开发要求后,系统分析员首先要分析该软件项目的性质是什么,通过对用户和使用部门负责人的访问和调查,开会讨论即可得到解决。因此,用户和系统分析员的相互理解与配合是搞好这一时期工作的关键。
(1)问题定义
问题定义是计划时期的和步。这一步必须回答的问题是“用户需要计算机解决的问题是什么”。由系统分析员根据对问题的理解,提出关于“系统目标与范围的说明”,请用户审查和认可。
(2)可行性研究
在对问题的性质、目标、规模清楚之后,还要确定该问题有没有行得通的解决办法。在这个阶段要为前一步提出的问题寻找一种以上在技术上可行,且在经济上有较高效益的可操作解决方案。为此,系统分析员应在高层次上做一次简化的、抽象的需求分析和概要设计,探索这个问题是否值得去解决。西门子后写出可行性研究报告。有时可行性研究报告要包含“系统流程图”,用来描述新系统(含硬件与软件)的组成。
2.开发时期
开发时期要完成设计、编码和测试3大任务。其中设计任务用需求分析、概要设计和详细设计3个阶段完成。
(1)需求分析
需求分析阶段仍然不是具体地解决问题。其任务在于弄清用户对目标系统的全部需求,准确地确定“目标系统必须做什么”,确定目标系统必须具备哪些功能。