[摘要]本文首先对软件工程与其他工程在机械设计中的应用进行了简单比较,然后分别就传统软件工程方法和面向对象软件工程方法在机械设计中的应用进行了探讨。对于传统软件工程方法在机械设计中的应用,是以软件工程中结构化方法进行讨论的,面向对象方法是以Yourdon方法进行讨论的。
[关键词]机械设计 软件工程 结构化 面向对象
[中图分类号]TH12[文献标识码]A[文章编号]1009-5349(2011)09-0046-02
在科学技术的飞速发展下,单一的技术已经不再能够满足机械设计的发展要求,人们开始寻求其他的方法来应用到机械设计中去。软件工程是一类工程,是将理论和知识应用于实践的科学。应用软件工程方法进行技术设计,可以解决许多复杂的问题,在借鉴了传统工程的原则和方法的基础上,人们可以开发出高质量、低成本的软件。所以软件工程方法不仅可以应用于机械设计之中,而且很有发展前景。
一、与其他工程方法的比较
三十多年来,软件工程的研究和实践取得了长足的进展,软件工程的方法对软件产业的发展起到了很大的推动作用。软件工程方法是为开发软件这类特殊产品而产生的,它集合了一些特殊的工程学方法。从20世纪60年代以来,陆续出现了结构化程序设计技术、计算机辅助软件工程(CASE)、面向对象语言和方法、软件过程及软件过程改善研究等一系列成果,并应用到实践中。因此可以看出软件工程方法与其他工程相比有很多优越性。
(一)软件工程开发阶段划分相对明确
与其他工程相比,软件工程开发的各阶段有严格的管理,对于每一个阶段都有完整的存档和评审验收。为避免自然语音在软件开发语音中产生歧义,文档大多使用图形、表格等形式记录。
(二)软件工程有更严格的测试
与其他工程相比,软件工程拥有一整套完整的测试方法,用以发现并改正错误。通过对软件进行严谨测试,可以在实际应用中避免很多错误或损失,而这也正是其他工程方法值得学习借鉴的。
(三)开发软件采用标准的输入输出界面
与其他工程相比,应用计算机辅助软件,为避免误解或影响操作,开发软件都采用标准的输入输出界面,这样也有利于进行标准化管理。用软件工程方法开发出的软件比其他工程产品有良好的复用性,而这也正是软件工程学的根本出发点。
二、传统软件工程方法在机械设计中的应用
传统软件工程的主要环节有:人员管理与项目管理、可行性与需求分析、系统设计、程序设计、测试、维护等,如图1 所示。下面就传统软件工程中的结构化分析方法在机械设计中的应用进行阐述。
(一)可行性与需求分析
可行性与需求分析是软件开发的第二个阶段。为了准确地定义系统的目标,以免对后期工作产生影响,可行性与需求分析是很重要的一个阶段。机械设计人员可以借鉴软件工程的最具代表性的方法是结构化方法。这种方法简单的说就是把一个复杂的工程按一定规律分解开,分解成若干小问题,这样就把问题最小化,降低了工程的复杂程度,避免了理解上的偏差。
(二)系统设计
系统设计是软件开发的第三个阶段。系统设计就是对于软件的结构设计。结构化的设计方法作为传统的软件开发中具有代表性的一种设计方法,与需求分析中应用的结构化的分析方法衔接,就组成了一套完整的分析与设计技术。系统设计形成的软件结构图,即形成最终模块结构。模块化方法应用范围较广,且已被所有工程领域接受并使用。从软件工程角度看,具有良好独立性的模块才可能成为好的模块。应用软件工程方法设计的系统结构,产生的模块一般都有良好的独立性,这样就降低了系统的复杂性,从而也降低了出错的可能性。可以看出,如果在机械设计中也能够应用模块化方法,并且能够尽量增加模块的独立性,很有可能使机械设计的过程简化、正确又有效。
(三)程序设计
程序设计软件开发的第四个阶段。这个阶段就是要确定每个模块的执行过程。程序设计有很多种方法,但是比较直观又易操作的是程序流程图和过程设计语言,这两种方法对于机械设计都有很大好处,最主要的就是比自然语言描述的流程直观、准确,不会产生歧义。
(四)测试
测试是软件开发的第五个阶段,也是软件开发的核心内容之一。黑盒测试与白盒测试是软件测试的两种主要方法,为保证软件质量,这两种测试方法同时使用并贯穿于整个开发过程中。机械设计中的复查实际上就是一个测试过程,但是远不如软件测试科学有效。所以机械设计中适当增加科学有效的测试是有必要的,既可以尽早发现设计中的错误,又可以把时间以及经济损失降到最低。传统软件工程学方法有一定的可复用性,因此开发新的工程可以利用以前工程的相当一部分开发成果,从而节约了时间和成本。
三、面向对象方法在机械设计中的应用
从某种角度来看,面向对象方法在机械设计当中的应用似乎没有什么参考意义,因为面向对象方法在分析设计一个系统时,是尽量接近人类认识世界解决问题的方法和过程。但实际上,面向对象方法是以开发软件为目的的,并不是随便的一个方法就能符合要求。在机械设计初期为减少开发的随意性,可以借鉴其中的合理的方法。面向对象方法的一个主要特征是具有良好的可重用性,同样在机械设计中的可重用性也很重要。可重用性就是说在开发同类的项目时,可以采用或借鉴以前成熟的成果,或者做极少的改动就可以了。由于面向对象方法的模块独立性极强,而且具有继承性和多态性,因此即使是开发不同类项目的时候也可以采用以前的成果。重用性使工程开发工作量减小,既节省了资金与时间,又降低了出错的可能。下面仅就Yourdon方法的应用做简单探讨。
Yourdon方法主体包括分析与设计两部分,但与传统软件工程不同的是,Yourdon方法的分析与设计是紧密联系的,没有明确界线。从形式上来看,传统软件工程方法与Yourdon方法是一致的,这样就可以方便地套用了。Yourdon方法的开发与设计都采用同一个模型,简化表示如图2所示。
Yourdon方法的对象得出是从问题描述(需求的自然语言说明)出发的,然后应用“基于语言的信息分析”和“三视图模型”得到最初的对象,采用开发与设计模型逐渐细化。细化是个逐渐叠代的过程,从而得到最终系统。采用这种办法可以形成良好的体系,减少主观盲目所产生的混乱。
四、小结
通过对传统软件工程方法及面向对象方法的分析,可以看出软件工程方法用于机械设计中是可能的,而且是有益的。因为机械设计有其特殊性,为优化机械设计的过程和结果,我们可以利用软件工程中科学合理的方法,不用严格按照软件开发的方法开发。机械设计既可以利用传统软件工程方法,也可利用面向对象方法,应视具体问题的复杂程度而定。简单问题可以利用传统软件工程方法,复杂问题较适合面向对象方法。
【参考文献】
[1]郑人杰,陶永雷.实用软件工程(第二版)[M].北京:清华大学出版社,1997.
[2]Edward Yourdon,Carl Argila.Case Study inObject Oriented AnalysiS & Design[M].New York:Prent ice—Hal I,Inc,1996.
[3]齐治吕,谭庆平,宁洪.软件工程[M].北京:高等教育出版社,I997.
查看全文
false