西门子DI模块EM221CN
束。
事实上,软件工程项目的目标之间存在着相互关系,使几个目标都达到理想状态通常是非常困难的。对于一个软件开发方法,对其评价就是它对满足哪方面的目标比其他方法更有利。事实上,软件工程项目开发的方法就是为了力求在几个目标间达到平衡。
(4)采纳现代程序设计技术。
从20世纪60年代的结构化软件开发技术,到现在的面向对象技术,从和、第二代语言,到第四代语言,人们已经充分认识到方法大于气力。采用先进的技术既可以提高软件开发的效率,又可以降低软件维护的成本。
(5)能清楚地审查结果。
软件是一种看不见、摸不着的逻辑产品。软件开发小组的工作进展情况可见性差,难于评价和管理。为更好地进行管理,应根据软件开发的总目标及完成期限,尽量明确地规定开发小组的责任和产品标准,从而能清楚地审查所得到的结果。
(6)开发小组的人员应少而精。
开发人员的素质和数量是影响软件质量和开发效率的重要因素,应该少而精。高素质开发人员的效率比低素质开发人员的效率要高几倍到几十倍,开发工作中犯的错误也要少很多;当开发小组为N人时,可能的通信信道为N(N-1)/2,可见随着人数N的增大,通信开销将急剧增大。
不断改进软件工程实践的必要性。
巴利·玻姆提出应把承认不断改进软件工程实践的必要性作为软件工程的第七条原理。积极采纳新的软件开发技术,不断总结经验,收集进度和消耗等数据,进行出错类型和问题报告统计。这些数据既可以用来评估新的软件技术的效果,也可以用来指明必须着重注意的问题和应该优先进行研究的工具和技术。的可维护程度非常低。
实时的现实世界在不停地变化,而许多程序的错误难以改正,更对软件的定义为“计算机程序、方法、规则、相关的文档数据以及在计算机上运行程序必需的数据”。由此可以看出软件其实包含五个配置部分,其中方法和规则是在文档中说明,并由程序加以实现。软件开发是一种组织良好、管理严格、各类人员协同配合、共同完成的工程项目。软件危机的解决途径可以从以下两方面着手。
(1)应该推广在实践中总结出来的开发软件的成功技术和方法,并且探索更好的、更有效的技术和方法,尽快纠正在计算机系统早期发展阶段形成的关于软件开发的错误概念。
(2)应该使用更好的软件工具。在适当的软件工具支持下,开发人员可以更好地完成工作。
按工程化的原则和方法组织软件开发工作是有效的,也是摆脱软件危机的一个主要方法。不可能使这些程序适应新的硬件环境,也不可能根据用户需要在原有程序上增加新功能。“可重用软件”仍有很长的一段路要走。
(5)软件通常没有适当的文档数据。来许多困难。开
有统一的、规范的方法论的指导,文件资料不齐全,忽视人与人的交流。
(3)忽视测试阶段的工作,提交用户的软件质量差。
(4)忽视软件的维护。
(5)缺少规范而盲目编写程序。
(6)软件的成本不断提高。20世纪60年代中期到20世纪70年代中期,人们以“软件作坊”的形式开发软件。开发的方法基本上仍然沿用早期的个性化软件开发方式,当软件的数量急剧膨胀,软件需求日趋复杂,维护的难度越来越大,开发成本越来越高,失败的软件开发项目屡见不鲜,“软件危机”就这样开始了。“软件危机”使得人们开始对软件及其特性进行更进一步的研究,人们改变了早期对软件的不正确看法,那些被认为很难被别人看懂、通篇充满了程序技巧和窍门的程序不再是**的程序。而除了功能正确、性能优良之外,容易看懂、容易使用、容易修改和扩充的程序才是真正**的程序。
在软件开发和维护工作中存在如此之多的严重问题,一方面与软件本身的特点有关,另一方面与软件开发和维护的不正确方法有关。总体来说,有如下5点。
(1)忽视软件开发前期的需求分析。
随着微电子技术的进步和生产自动化的不断发展,硬件成本逐年下降