软件工程学运用研究

时间:2022-04-10 11:36:00

软件工程学运用研究

传统软件工程学方法应用于工程软件开发的第二个过程是需求分析,也就是工程要做什么问题,这似乎是一目了然的。然而根据软件开发的经验,需求分析恰恰是至关重要的,它要准确的定义系统的目标,防止由于目标不清对后期工作产生影响。工程管理者可以借鉴一些软件工程的需求分析方法,最具有代表性的方法是结构化分析方法,自顶向下逐层分解,把一个复杂的工程问题分解成若干小问题,从而降低问题的复杂程度,防止产生理解上的偏差。

任何工程项目在施工前都要完成设计,这需要好的方法、策略。软件开发的第三个过程就是概要设计,即是进行软件的结构设计。软件开发中具有代表性的是面向数据流的方法,它与结构化分析方法衔接组成完整的分析与设计技术,概要设计最终形成了软件结构图,如果应用于工程可以形成施工管理的框架。在这里对于软件工程有一个重要概念:模块的独立性。模块化方法已被所有工程领域接受,但是并不是有模块就一定是好模块,而应用软件工程方法产生的系统结构一般来说模块都有良好的独立性,从而降低了系统的复杂性以及出错的可能性。如果工程中应用模块化方法同时尽量增加模块的独立性,很有可能使工程开发简化、正确、有效。

软件开发的第四个过程就是详细设计。确定每个模块的执行过程有很多种方法,比较直观的是程序流程图和过程设计语言。对应于工程可以理解为底层模块的详细设计,就是确定具体的工作流程,较上层的是工作和管理流程,他们比自然语言描述的工作和管理流程直观、精确而且不会有二义性。

现今软件开发的核心内容之一是测试,分黑盒测试与白盒测试,两种同时使用并贯穿于整个开发过程之中,这是保证软件质量的必要过程。工程开发也有测试过程,但远不如软件测试科学、充分,所以有时会出现上文(所遇到的情况,因此工程中引入适当的、科学的测试是很必要的。

面向对象方法应用于工程开发面向对象方法就是分析、设计一个系统时尽量接近人类认识世界、解决问题的方法和过程,从这个角度看,似乎这种方法没有什么参考意义,但实际上以开发软件为目的的面向对象方法必须经得起所交付的软件的考验,并不是随便想一个方法就能达到要求。其他工程方法可以借鉴其中合理的方法,以减少开发的盲目性。

具有良好可重用性是面向对象方法的主要特征。工程开发的可重用性同样很有价值,它使开发同类的项目采用以前的成果,只需做极少的改动就可以了;由于对象的模块独立性极强而且具有继承性和多态性,因此即使开发不同类的项目也可以采用以前的成果。重用使工程开发工作量减小,降低出错可能。

多年来,已发展出很多种面向对象的开发方法,现今占主导地位,但以笔者体会,虽然科学全面,但过于复杂,计算机专业人员都难以完全掌握,而(方法很简单,易于掌握并应用到其他工程中去,因此下面仅就应用做简单探讨。