计算机软件设计方法的探讨

时间:2022-10-05 03:20:11

计算机软件设计方法的探讨

【摘要】:随着信息化时代的到来, 计算机已广泛应用于社会各领域, 发挥着无与伦比的作用,而计算机软件的开发与完善极大地提高了计算机的使用效益,又促进了计算机硬件的更新换代, 因此计算机软件设计方法的发展已成为人们关注的焦点之一。本文结合国内外在软件工程方面的最新理论及成果, 以及在项目开发中实行软件工程化探索的经验,探讨了计算机软件设计的几种常用方法,以期会给软件开发者提供有益的启迪。

【关键词】:软件 设计 方法

开发一个软件首先要给出功能说明,然后确定解题方案或算法,设计流程图,最后编写代码。为此,根据系统的实际需求,分别针对具体情况选择采用不同的软件设计方法,可以充分发挥软件设计各种方法的优势。

1.问题的提出

随着计算机技术的迅速发展,软件开发供不应求的局面日益加速,应用滞后已达数年,软件设计人员已成为一种贫乏资源,形成新的 软件危机”。(软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。)主要包括三个方面的问题:一是如何开发软件,怎样满足对软件增长的需求;二是如何维护数量不断膨胀的已有软件;三是如何大幅度提高软件生产率已成为软件界的众矢之的和当务之急,为此,探索计算机的软件设计方法有助予人们更好地开发软件。

2.几种典型的软件设计方法

2.1模块化设计法

模块化设计的基本概念是:

(1)每个模块完成一个单一和相对独立的功能;

(2)每个模块应只有一个入口和一个出口, 每个模块应尽可能小;

(3)上层模块只调用下层模块;

(4)整个系统由模块构成。

为降低软件系统的复杂性, 模块化没计采用分而治之的思想, 将问题分解为若干子问题, 对子问题再作进一步分解。直至能用模块实现为止, 这样自顶向下逐级分解, 形成一个层次的模块结构。模块可见部分是它的接口, 而其内部的数据和操作细节则对外部是隐藏的。模块可以由多人同时编程、单独测试和最后集成。模块化设计提高了程序的可读性和可修改性。

在模块化设计中,按什么思想准则和方法来分解系统和划分模块,就产生不同的设计方法。

2.2结构化分析与设计方法(SA/SD)

结构化分析与设计方法的基本思想是自顶向下按功能的不同划分不同的子系统,然后对每个子系统按照逐步求精的方法求得问题解,将软件开发过程看作是软件生命周期,建立的是瀑布模型。

其基本步骤为:分析一设计一编码一测试一运行/维护。

这种方法的主要优点是应用时间长、简单、直观、易于接受,并且已有了一定的应用基础并开辟了应用市场。局限性主要在于功能经常变化,难于适应变化要求;后期发现的错误维护代价太高;不支持功能复用,造成大量的代码冗余。

2.3数据流设计法

数据流没计法在设计过程中是面向数据流信息的。它以分析阶段使用结构化分析产生的数据流图(DFD)为基础,检查DFD中信息流的特征,确定信息流是变换型还是事物型,然后采用变换分析或事物分析来导出相应的软件结构。

数据流设计法提出了两个定性准则来评价软件结构中模块的独立性,即内聚和藕合,发展了模块的概念。模块的实现目标是高内聚和低偶合,实现了这个目标的软件设计就是成功的设计。

2.4原型法

原型法分为两种,渐增型和示例型。渐增型是设计的每一步都是最终产品的一部分。而示例型则是快速开发出的运行系统只是一个示例而已。原型法的基本思想是借助程序自动生成环境或软件工程支持环境,构造一个实际系统简化的模型,供开发人员和用户交流,使设计具有灵活性,其要点是,第一要快,否则便失去意义;第二原型要能运转起来,用户可以观察到效果,提供修改意见。开发的基本步骤是首先简化系统,其次实现原型,然后经过反复修改,最终真正实现。

2.5面向对象的设计法

面向对象的设计法是基于对象的概念将系统进行分解的。面向对象的没计法从定义问题开始, 用自然语言对问题进行非形式化的陈述,利用一些简单规则,可以识别和确定出我们感兴趣的那些对象、对象的属性及其上的操作,得到一个用对象表示的现实世界模型。然后, 对这个模型进行简单映射,即一个模块对应于模型中的一个对象或对象类,这样就得到了问题的软件设计解。

3、软件设计方法应遵循的原则

(1)选取适宜开发范型。该原则与软件设计有关,在软件设计中,软件需求、硬件需求以及其他因素之间是相互制约、相互影响的,经常需要权衡。因此,必须认识需求定义的易变性,采用适宜的开发范型予以控制,以保证软件产品满足用户的要求。

(2)采用合适的软件设计方法。在软件设计中,通常要考虑软件的模块化、抽象与信息隐蔽、局部化、一致性以及适应性等特征,合适的设计方法有助于这些特征的实现,以达到软件工程的目标。

(3)提供高质量的软件设计方法支持。“工欲善其事,必先利其器”。在软件设计方法中,软件工具与环境对软件设计过程的支持颇为重要,软件设计方法的质量与开销直接取决于对软件设计所提供的支撑质量和效用。

(4)重视软件设计过程的管理。软件设计的管理,直接影响可用资源的有效利用,生产满足目标的软件产品,提高软件组织的生产能力等问题,因此,当软件设计过程得以有效管理时,才能实现有效的软件设计方法。

4、方法是软件设计的思路,不是一层不变的定律

(1)方法是使后人分享前人的成功,避开前人的失败,把注意力集中在尚未开拓领域的创造性劳动上,所以方法和软件设计人员的创造性是没有冲突的。

(2)没有放之四海而皆准的方法,任何方法都有其局限性,所以软件设计人员大不必拘泥于某种特定的方法。

5、结束语

软件工程的目标是以最小的代价开发出满足用户需求的软件,软件设计方法是开发软件所使用的技术和手段,它既推动了计算机的广泛应用, 又能开发出大量功能完善、界面友好、操作便利的系统与应用软件。

参考文献:

[1]《软件工程》,郑人杰,清华大学出版社,1999。

[2]《软件工程引论》,孙桂茹,南开大学出版社,1995。

[3]《软件工程发展综述》,吴迤,科技信息,2008。

[4]《软件开发技术》,潘锦平,上海科技出版社,1985。

[5]《关于应用型软件设计方法的探讨》,钱旭,计算机应用研究,1996。

[6]《软件危机现象与面向对象方法分析》,陈一明,湖北民族学院学报,2001。

上一篇:浅谈成人高校中文教学中的语言艺术 下一篇:高中体育与健康选项教学组织形式