版权归原作者所有,如有侵权,请联系我们

[科普中国]-电脑辅助软体工程

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

电脑辅助软体工程(CASE)能提供 编码和设计同步功能的软件开发工具,可以按设计说明生成 C 语言的源码。也可以将已有的c源码逆向生成规范说明的图形设计说明。

介绍随着电子技术的发展,电子产品的生命周期日益缩短。以前以计算机为核心的系统产品开发过程是;系统分析一硬件设计一硬件调试一软件设计一软件调试一系统调试一系统评价一产品的过程。显然t这个过程已不适应现代化的要求,现代的系统开发是硬/软一体化开发。

这是一并行的过程,而软件开发周期远大于硬件开发周期,于是对软件开发速度提出了更高要求。同时,计算机的发展使之成为各行各业的重要工具,然而几乎每个行业都在面对着一个扳其敏感的问题——软件。计算机应用需要大量高质量的软件,但软件的发展却面临着重重困难倒如:软件费用在整个计算机应用系统中所占比例已超过90%;软件研制费用的75%以上是用在测试维护上软件费用的50以上都用在产品的使用期(维护和支持)。(美国国防部曾投资6,800,000美元的软件项目,而当年能提交使用的不到25%传统的软件开发是劳动力密集的及手工编程,普遍的是边做边定。由于对项目计划不周密、需求分析不充分、设计规格说明不合理常常导致软件的质量问题。甚至项目失败。

历史发展软件工程方法是以软件产品的整个生存周期为对象进行管理和组织的开发过程。要遵循一定法则通过加强开发过程的计划管理来提高软件质量。尽管软件工程方法可使复杂的、大规模的软件开发成了可能,但是不能减少开发队伍,缩短开发周期,反而会使得劳动力更加密集。

实际上就是和用计算机软件开发环境辅助生成软件产品。孤立、零散的软件包称为工具(TOOLS),而集成、序列化的工具集称为环境。以往软件开发人员使用的工具几乎都是孤立的。是面向文本编辑口、编译中和交互调试器的文本处理工具,这些工具常常通过一个文件系统来共享信息。现代化的软件开发环境与这些文本环境有着本质上的不同。首先,开发环境支持整个软件开发过程,而不仅仅只支持编程过程I其次,许多工具是图形化的,运行在工作站上,支持UNIX和Window等通用技术和标准再者。现代化的环境工具是“环境化的,能够在一系列的集成机翻下与其他环境中的工具动态的交互联系。在软件开发环境中的每一个工具。不再是满足工具的基本功能和独立于其他工具的接收器。而是能溶于整个环境中支持组织机构的目标和软件开发过程的多面手。CASE通常侧重于自动化工具支持,结构分析和结构设计等方面。CASE环境中可将大型软件项目分解、沟通和控制并提供清晰、准确、统一标准的各种文档,因而CASE有效地降低了劳动强度,打破了计算机软件生产的瓶颈。发达国家无不给予极大的重视,均将CASE列为关键技术。

自80年代中期以来,CASE技术发展很快。开始CASE集中在开发新的系统上,工具的集成度较低。CASE产品已将成熟的开发方法,先进的软件工具与硬件技术结合在一起,形成了集成的、开放式的多用户环境。在这种环境中。开发人员只需要短时间的学习,他们之间便很容易进行通信和理解。没有以往那种令人窒息的严格。于是,对E进行的项目不需要重新开始就可以有效的应用。这不仅可以在开发新系统中发挥作用,同样对于已有软件产品的改进也可以发挥作用。随着项目的积景,将由于这种积木效应而大大提高生产效率和质量。运行程序,查出错误,测试其功能,大多数程序员都是手工将测试效据输入,程序员使用回归渭试工具,这样,难免会产生渭试实倒的质量问题,使测试实例不能渭试到所存程序支持的功能,或者。渭试实倒不能检测代码的错误。

CASE能提供这样的软件测试自动化工具,人们只需清楚的说明一个被测软件,这个说明可以来自用户手册,用户需求或设计说明,甚至是旧的代码序列。它能自动产生一组用于测试程序或系统的输入值(测试实例)。这些测试实饲是程序员进行有效的测试所必要的1。测试工具利用一个包括几乎所有可能的错谩和一组规则的知识库。自动设计能覆盖被澍软件所有的功能和所有出现错误的最少实例,这为软件高质量提供了保证。在国外。CASE的用户已遍及航空、航天、通讯、电子、信息、计算机、机械、汽车、政府、银行等领域,几乎哪里有软件工程,哪里就有CASE。国内也正被越来越多的软件开发机构和人员所接受。CASE确实为软件工程提供了极为有效的武器。利用CASE开发软件,加强计划管理,加强对复杂度的控制,充分利用有限资源,缩短开发周期。提高生产效率,增加产品质量。

本词条内容贡献者为:

王沛 - 副教授、副研究员 - 中国科学院工程热物理研究所