西门子TD200代理商
管理重要性的认识有所提高,但在软件管理方面的进步远比在设计方法学和实现方法学上的进步小,至今还提不出一套管理软件开发的通用指导原则。下工夫。
③ 软件在使用过程中,没有磨损、老化的问题。软件在生存周期后期不会因为磨损而老化,但会为了适应硬件、环境以及需求的变化而进行修改,而这些修改有不可避免的引入错误,导致软件失效率升高,从而使软件退化。当修改的成本变得难以接受时,软件就会被抛弃。
④ 软件对硬件和环境有着不同程度的依赖性。这导致了软件移植的问题。
⑤ 软件的开发至今尚未完全摆脱手工作坊式的开发方式,生产效率低。
⑥ 软件是复杂的,而且以后会更加复杂。软件是人类有史以来生产的复杂度*高的工业产品。软件涉及人类社会的各种行业,软件开发常常涉及其他领域的专业知识,这对软件工程师提出了很高的要求。
⑦ 软件的成本相当昂贵。软件需要投入大量、高强度的脑力劳动,成本非常高,风险也大。现在软件的开销已大大超过了硬件的开销。
⑧ 软件工作牵涉很多社会因素。许多软件的开发运行涉及机构、体制和管理方式等问题,还会涉及人们的观念和心理。这些人的因素,常常成为软件开发的困难所在,直接影响到项目的成败。
软件与所见即所得的硬件区别明显,其中*明显的是硬件有老化耗损现象,硬件失效
浔之漫智控技术(上海)有限公司(xzm-wqy-sqw)是中国西门子的合作伙伴,公司主要从事工业自动化产品的集成,销售和维修,是全国的自动化设备公司。公司坐落于中国城市上海市,我们真诚的希望在器件的销售和工程项目承接、系统开发上能和贵司开展多方面合作。以下是我司主要代理西门子产品,欢迎您来电来函咨询,我们将为您提供优惠的价格及快捷细致的服务!
其原因
软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
1968年,北大西洋公约组织的计算机科学家在联邦德国召开的国际学术会议上,第一次提出了“软件危机”(Software Crisis)这个名词。
1.1.1 软件及其特性
第一个编写软件的人是ADA(Augusta Ada Lovelace),在19世纪60年代他尝试为Babbage(Charles Babbage)的机械式计算机写软件。尽管他的努力失败了,但他的名字永远载入了计算机发展的史册。
在20世纪50年代,软件伴随着第一台电子计算机的问世诞生了。以编写软件为职业的人也开始出现,他们是经过训练的数学家和电子工程师。20世纪60年代美国大学里开始出现授予计算机专业的学位,专门教人们编写软件。
20世纪中叶软件产业从零开始起步,在短短的50多年时间里迅速发展成为推动人类社会发展的龙头产业,并造就了一批百万、亿万富翁。随着信息产业的发展,软件对人类社会的发展越来越重要。
那么,如何给软件定义?软件是什么?
首先要说明的是,软件对于人类而言是一个全新的东西,其发
四五十年的时间。人们对软件的认识经历了一个由浅到深的过程。
在计算机系统发展的初期,硬件通常用来执行一个单一的程序,而这个程序又是为一个特定的目的而编制的。早期当通用硬件成为平常事情的时候,软件的通用性却是很有限的。大多数软件是由使用该软件的个人或机构研制的,软件往往带有强烈的个人色彩。早期的软件开发也没有什么系统的方法可以遵循,软件设计是在某个人的头脑中完成了一个隐藏的过程。而且,除了源代码往往没有软件说明书等文档。
从20世纪60年代中期到70年代中期是计算机系统发展的第二个时期,在这一时期软件开始作为一种产品被广泛使用,出现了“软件作坊”专职应别人的需求编写软件。这一软件开发的方法基础上仍然沿用早期的个体化软件开发方式,但软件的数量急剧膨胀,软件需求日益复杂,维护的难度越来越大,开发成本令人吃惊,而失败的软件开发项目却屡见不鲜。“软件危机”就这样开始了!
“软件危机”使得人们开始对软件及其特性进行更深一步的研究,人们改变了早期对软档;式”进行的。起码,如果听说这个软件是“由出价*低的软件公司开发的”,我的心里一定不会太好受。
另一方面,如果你的企业需要开发大型的、打包销售的消费类软件,并且又善于
工程学权衡,那么你很可能会使用“足够好的软件”这种方法。这类软件工程成功的秘诀就是以量取胜:消费类软件的市场充满了竞争,消费者决定是否购买某个软件的依据不是细致的比较,而是别人的评论和软件厂商的市场宣传,因此软件厂商只有以较低的价格卖出极其大量的产品才可能占据市场。
设计师,负责创建设计规格;在过去的30年中,软件工程社群一直用“工程学”这个略显呆板的比喻来看待软件开发过程。现在,软件工程际上,“足够好的软件”只不过是软件工程思想的一个衍生物,它的出现完全合乎逻辑。它体现出了人们在资源、进度、功能和缺陷等各方面作出的工程学权衡。航天飞机的软件*重视安全性,因此必须尽可能地减少其中的缺陷,并同时接受项目组为了提高质量而提出的资源、进度方面的要求;另一方面,打包的商用软件(例如文字处理软件、Web浏览器等)则要求开发者快速实现大量的功能,因此开发者就会很自然地作出“节省排除已知缺陷的时间从而压缩进度”的工程学权衡。这种权衡的核心思想是:对于某些类型的已知缺陷,花时间去排除它们并不经济。已经成为了计算机专业学生的一门必修课。在各个大学的计算机系中,软件工程也是一个活跃的研究领域。人们*关注的是软件工程项目中那种确定的、可重复的开发方式。按照IEEE的定义,这种方式就是:
软件工程是指采用一种有组织、有纪律、可计量的方式来开发、使用及维护软件,也即在软件领域中对工程学的采用。
对于强调安全性的软件系统,这种有组织、有纪律、可计量的开发方式已经被证明是非常有效的。例如,为航天飞机编写软件的团队就使用这种开发方式,并成功地获得了缺陷率极低的软件系统: