计算机软件设计方法投诉举报
计算机软件设计方法
计算机软件设计方法.doc
点击下载文
文档为doc格式
下载本文到电脑,方便收藏和打印
1、下载的文档为doc格式,下载后可用Word文档或者wps打开进行编辑;
2、若打开文档排版布局出现错乱,请安装最新版本的word/wps软件;
3、下载时请不要更换浏览器或者清理浏览器缓存,否则会导致无法下载成功。
4、下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。
计算机软件设计方法计算机软件设计方法

计算机软件设计方法

计算机软件设计方法

计算机软件设计方法【1】

【摘要】:随着信息化时代的到来, 计算机已广泛应用于社会各领域, 发挥着无与伦比的作用,而计算机软件的开发与完善极大地提高了计算机的使用效益,又促进了计算机硬件的更新换代, 因此计算机软件设计方法的发展已成为人们关注的焦点之一。

本文结合国内外在软件工程方面的最新理论及成果, 以及在项目开发中实行软件工程化探索的经验,探讨了计算机软件设计的几种常用方法,以期会给软件开发者提供有益的启迪。

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

开发一个软件首先要给出功能说明,然后确定解题方案或算法,设计流程图,最后编写代码。

为此,根据系统的实际需求,分别针对具体情况选择采用不同的软件设计方法,可以充分发挥软件设计各种方法的优势。

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。

计算机软件设计与实现【2】

摘 要:计算机在现在的工作与生活中的作用越来越重要,应用在各个领域,计算机技术以后将会朝高速、小型、超智能化的方向发展,而计算机软件技术的优化发展是实现这种发展趋势的保证。

越来越多的计算机软件的推出为计算机技术的发展做出了重大的贡献。

基于各种门类的计算机软件的不断出现,本文主要探讨计算机软件设计的现状、计算机软件设计与实现所要遵循的原则和软件设计的主要方法。

关键词:计算机;软件设计;原则

计算机作为一向高端技术,从当初被研发出来之后便紧密的与人们的生活时刻联系在一起。

特别是随着信息时代的到来,计算机为我们提供方便的重要原因是众多的计算机软件的出现,计算机软件提高了计算机的使用效率,大大满足了人们的各种需求,因此,计算机软件的设计越来越受到人们的关注。

1 计算机软件设计的现状

1.1 计算机软件的分类。

计算机软件技术主要是对软件进行操作的一项技术。

主要研究内容分为两个方面:一是怎样优化相应支撑体系;二是对相应的方法手段进行开发探索。

计算机软件系统是可运营的一种系统,已经形成了层次分明的模型体系,主要可以分为以下三类:应用软件;支撑软件;系统软件。

1.2 计算机软件技术的规划。

在当代,各个国家对计算机软件的设计都特别重视。

很多国家投入大量的人力物力,并出台一系列软件设计政策进行鼓励计算机软件的设计开发。

大部分国家主要将开发重点放在计算机软件开发方法上,我国对发展软件业给予了重视,被行业在信息产业纲要里放在了最重要的位置,可见,国家对计算机软件的设计与研发的重视。

1.3 计算机系统软件的研发现状。

计算机系统软件是更具硬件特征的软件系统,计算机系统软件分为不同的种类,以后分别具体分析各种不同种类的系统软件现状。

1.3.1 操作系统的研发现状。

计算机靠操作系统发挥基本功能,对计算机最为重要。

操作系统不仅管理各种硬件,如显示器、打印机等等;同时,也起到对软件的运营进行统筹管理的功能,对软件的运营系统进行操作;可以作为支撑软件支撑相应应用软件,使人机界面更加的先进。

操作系统也对用户能够开发应用系统提供保障,是一种基础设施。

近年来,计算机网络技术在不断发展,未来的操作系统会朝着更加智能化,网络化等方向发展。

1.3.2 商业操作系统研开现状。

操作系统嵌入技术是一种新兴的技术。

嵌入技术是把计算机软件与硬件与机电设备进行结合,作为一个新的系统,使得这个新的系统具有很多原来的设备所不具有的优点。

嵌入技术在各个领域得到广泛应用。

现在,嵌入系统已经产生很多产品并且投入运用,取得了良好的成果。

以后,也会越来越引起厂商对这一领域进行投资,促进这个领域的发展。

1.3.3 数据库操作系统研发现状。

(1)网络化。

数据库系统的重要组成部分是可以支持网络型的,是数据库系统的支柱。

对数据库系统研发被各数据库公司以及学术界放在首要位置,作为发展的中心。

比如,被微软公司作为公司某项重要计划核心部分的就是SQL Server;(2)数据库系统的安全及相应技术。

在现代计算机系统中计算机处于核心地位,人们把注意力越来越多的放在数据库的安全上。

当前世界上多数国家都出台了一些数据库系统的安全规定。

其中,美国制定的两个规则起到主导作用,分别是《可信计算机系统的评估标准》与《可信计算机系统的评估标准》标准;(3)嵌入式技术。

嵌入式技术已经被国内外专家们当作重点进行研究与开发,取得了很大的进展。

已经应用在各个领域。

这一技术涉及了很多其他的数据库领域,比如移动通信技术、分布式计算技术等领域;(4)软件工程环境研发现状。

这项技术主要侧重怎样合理安排方法、工具、技术。

这个概念从推出到现在已经延续了40多年之久。

软件工程环境是在一起的软件构件,实现工作活动的自动化支持。

从刚开始的整体的研发到后来的逐步分散化。

上世纪九十年代,CASE工具得到广泛应用,发展成CASE工具集成。

2 计算机软件设计与实现当遵循的原则

2.1 准确抓住用户的需求。

由于用户对软件的要求各不相同,软件的设计时为了满足用户的需求,因此,计算机软件的设计要在和客户不断沟通交流及对行业领域进行研究获取用户的需求,才能真正确定软件设计的方向,更加适应于用户和市场要求。

2.2 应当不断重构。

计算机软件设计不是一个一步到位的过程,而是循序渐进。

设计者对计算机软件的设计是一个不断改进、不断完善的过程,不应该担心软件设计之初有哪些不足,而是应当不断重构,最终使产品达到完美。

在真正知道客户的需求之后,应当先进行方案的设计,先进行初级设计,然后在不断完善,逐渐满足客户的所有需求。

而不是先设计出一个完美的方案,然后进行修改,这个方案比较急于求成,设计出来的软件优化空间很小。

新加功能与对软件的改善应当轮流进行,增加新功能的时候,充分保证现有代码的正确性,同时对代码进行适当的修改,从而使所有的新功能测试都能通过。

而对设计进行改善时,应当保证用现有的测试用例能验证修改的正确性。

2.3 应当始终面向代码。

所有的软件设计在编写代码之前都是一个想法,是没有现实意义的空想,编写代码是软件设计最有价值的部分,也是将空想变成真实的一种手段。

很多完美的想法方案由于代码的不完全实现导致没能达到预期效果。

所以,在软件设计的过程中必须将代码的编写放在首要位置,将好的构思,马上用代码表现出来,并且进行对代码的准确性与系统相容性进行检测。

3 计算机软件设计的方法

计算机软件是按照特定的规格进行设计的,根据一些条件,主要有结构化程序设计、面向对象的程序设计、“由顶至下设计”法这三种软件设计方法。

3.1 结构化程序设计。

在计算机软件设计中,具有良好结构的程序,在编码、检测和维护中都比较省力。

它的主要流程是先了解用户的需求,以此为软件设计的切入点,根据实际功能将系统分成一些子系统,再根据实现的功能把子系统分割成模块,针对模块布置各个模块的具体要求与说明,明确各个模块是按怎样的方法实现和程序中的其他部分对接。

3.2 面向对象的程序设计。

面向对象就是由实例入手,找到实际问题系统里面存在的实体,分析试题的属性、特征等,以此构成各对象类间的结构层次,最后构建出完整的软件系统。

主要有封装性、继承性、多态性三个特点。

封装性主要针对数据并且对数据的操作实现一体化;继承性主要针对某类继承它所属代码的属性及操作;多态性则是类等级中各层共享同一函数的名字。

3.3 “由顶至下设计”法。

此方法处理分层问题最有效,将整个系统功能的最抽象表述作为最高层次,从这个层次出发设计子系统,然后依靠这些子系统实现较高层次的系统功能,再以子系统作为基础是基础更详尽的子系统。

这个方法可以分清各种复杂的处理层次,并且多个要素间关系清晰。

4 结束语

组成计算机的硬件和软件部分,其中以计算机软件技术的设计研发推动了计算机的广泛应用。

计算机软件目前已经在各个领域中取得了优异的成果。

计算机软件设计在计算机的发展上有着极为重要的意义,在计算机软件技术的开发中,一些操作方便,功能强大的软件为人们的工作生活带来了很大的方便。

参考文献:

[1]王鸿侃.浅谈计算机软件的设计与实现策略[J].计算机与软件,2013(13):149.

[2]车江涛,侯明.计算机软件技术的现状与发展趋势[J].计算机光盘软件与应用,2012(12):42-44.