借助计算机来完成某项工作,通常都要先编写相应的计算机程序或程序设计。完成一个结构CAD系统也必然要经过程序设计才能实现。程序设计要使用专门的程序语言。我国结构程序设计中所采用的语言,在20世纪60年代和70年代初以ALGOL语言为主。此后逐步广泛使用的主要是BASIC语言和FORTRAN语言。随着CAD和人工智能的发展,PASCAL、C、LISP、PROLOG、VB、VC、C++等有着各自特长的程序语言也逐步进入土木工程领域的计算机程序设计中。
过去人们通常认为,程序设计的中心问题就是学会使用一种程序语言,以编写程序。然而学会用程序语言编程只是整个程序设计中的一部分。据有关资料介绍,编写程序在整个系统的研制过程中仅占15%的工作量,一个大型程序设计系统在投入使用后的维护工作量为原来研制工作量的两倍。维护工作量是如此之高,这就使我们必须注意在程序研制阶段就应考虑为以后的维护工作提供方便。
要编制一个好的程序系统并没有一种绝对的规则,就像工程设计没有一种绝对规则一样。但对于程序设计的好坏,现在已逐渐形成了一套评价的客观标准。这些标准大致分为以下几个主要方面:
瞯程序的可读性。
瞯正确性与可靠性。
瞯使用方便且效率高。
瞯软件的可移植性。
瞯易于调试与维护。
要开发一个优秀的结构CAD软件,除采用科学的软件工程方法外,还要有一批科学工作者的优良组合和他们长期不懈的努力,而且他们在结构理论、工程力学、结构设计、计算机科学和专业工程实践上都应该是有广泛和长期的工作经验的。(www.daowen.com)
直到20世纪70年代中期,人们才认识到软件的维护是软件研究的一个关键领域。造成软件维护工作量大的原因之一是程序研制过程中所采用的设计方法不够科学。为了解决这一问题,人们开展了对于程序设计方法论的研究与实践,其目标是使软件正确可靠和降低软件研制活动的费用。总的来说,程序设计已从强调灵活的技巧和局部效率向着强调程序结构化和整体集成功能的方向发展。这实际上是逐步发展起来的关于程序的设计编写与调试的一套方法论,其要点可归纳为以下几方面:
①编程结构化。为了使程序设计者能按照一定的结构形式,而不是随心所欲地设计编写程序,使编制的程序易读、易修改,以提高程序设计和维护工作的效率,荷兰Dijkctra提出了“结构化程序设计方法”。结构化程序规定了三种基本的结构,它们是顺序结构、分支选择结构和循环结构。编程结构化又称结构化程序设计,它可使编写的程序层次分明、逻辑清楚、容易阅读。
②分层处理技术。为了解决现实世界中的许多复杂问题,人们往往需要根据问题的内在联系将其分割成有层次的一系列问题来分别求解。对于一个大型程序系统设计来说,也需采用分层的办法来处理,在每一层里集中解决一个问题,并为下一层的执行做好准备。分层处理技术的主要内容是将程序划分为多个层次的若干模块,每个模块完成一个或几个预定功能。
为了保证模块的独立性,各模块之间只能通过接口与其他模块连接。另外,对于一个较大的软件系统,要由多人合作才能完成,模块化也为此提供了较好的合作条件。
③避免过多使用GOTO语句,特别是逆转的GOTO语句。这是结构化程序设计的基本要求之一。
对于应用软件,特别是大型的CAD软件,可移植性高低同样是衡量软件质量的重要指标。因为研制一个大型应用软件系统不但要耗费大量的人力物力,而且还要花费相当长的时间才能研制成功。在其研制和应用期间,不可避免地发生运行环境的变化,如计算机硬件设备的换代和系统软件的更新。可移植性强即等于延长了软件的生存期,从而可节省新的开发投资。可移植性主要表现在软件对支撑环境的独立性和软件本身的封闭性。提高可移植性的办法是尽可能采用标准的高级语言文本编写程序。例如,用FORTRAN、VB、VC等语言编写,并尽量避免采用非标准语句和函数。此外,在软件中采用统一的I/O模块,也是提高可移植性的手段之一。
应当指出,程序设计方法论仍在发展探索之中,千万不能把上述有关内容当作一成不变的教条套用,而应当通过实践来发展和丰富其内容。然而程序设计发展到今天,已经奠定了很多必要的理论基础。我们正在达到一个可以认为程序设计是一门科学而不仅仅是一种技巧的阶段。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。