沈阳软件公司-沈阳软件开发-沈阳凯安信通有限公司

沈阳软件公司--沈阳软件开发--企业管理软件

« 软件开发结构化生命周期方法需求分析的方法与步骤1 »

软件设计的原则

 

 
软件设计的原则
 
(1)   抽象化
对软件进行模块设计的时候,可以有不同的抽象层次。在最高的抽象层次上,可以使用问题所处环境的语言描述问题的解法。而在较低的抽象层次上,则采用过程化的方法。
 
(2)   自顶向下,逐步细化
Niklaus Wirth提出的设计策略。将软件的体系结构按自顶向下方式,对各个层次的过程细节和数据细节逐层细化,直到用程序设计语言的语句能够实现为止,从而最后确立整个的体系结构。
 
(3)   模块化
实际上,如果模块是相互独立的,当模块变得越小,每个模块花费的工作量越低;但当模块数增加时,模块间的联系也随之增加,把这些模块联接起来的工作量也随之增加。如图4.3所示。因此,存在一个模块个数M, 它使得总的开发成本达到最小。
 
(4) 控制层次
 程序结构的深度:程序结构的层次数称为结构的深度。结构的深度在一定意义上反映了程序结构的规模和复杂程度。
程序结构的宽度:层次结构中同一层模块的最大模块个数称为结构的宽度。
模块的扇入和扇出:扇出表示一个模块直接调用(或控制)的其它模块数目。扇入则定义为调用(或控制)一个给定模块的模块个数。多扇出意味着需要控制和协调许多下属模块。而多扇入的模块通常是公用模块。
 
(5) 结构划分
程序结构可以按水平方向或垂直方向进行划分。水平划分按主要的程序功能来定义模块结构的各个分支。顶层模块是控制模块,用来协调程序各个功能之间的通信和运行。其下级模块的最简单的水平划分方法是建立三个分支:输入、处理(数据变换)和输出。这种划分的优点是:由于主要的功能相互分离,易于修改、易于扩充,且没有副作用。缺点是:需要通过模块接口传递更多的数据,使程序流的整体控制复杂化。
垂直划分也叫做因子划分。主要用在程序的体系结构中,且工作自顶向下逐层分布:顶层模块执行控制功能,少做实际处理工作,而低层模块是实际输入、计算和输出的具体执行者。这种划分的优点是:对低层模块的修改不太可能引起副作用的传播,而恰恰对计算机程序的修改常常发生在低层的输入、计算或输出模块中。因此,程序的整体控制结构不太可能被修改,便于将来的维护。
 
(6) 数据结构
数据结构是数据的各个元素之间的逻辑关系的一种表示。数据结构设计应确定数据的组织、存取方式、相关程度、以及信息的不同处理方法。数据结构的组织方法和复杂程度可以灵活多样,但典型的数据结构种类是有限的,它们是构成一些更复杂结构的基本构件块。图
 
(7) 软件过程
程序结构描述了整个程序的控制层次关系和各个部分的接口情况,而图4.6所示的软件过程则着重描述各个模块的处理细节。
软件过程必须提供精确的处理说明,包括事件的顺序、正确的判定点、重复的操作直至数据的组织和结构等等。程序结构与软件过程是有关系的。对每个模块的处理必须指明该模块所在的上下级环境。软件过程遵从程序结构的主从关系,因此它也是层次化的。
 
(8) 信息隐蔽
如何分解一个软件才能得到最佳的模块组合?为了明确怎样去做,需要了解什么是“信息隐蔽”。由parnas提倡的信息隐蔽是指,每个模块的实现细节对于其它模块来说是隐蔽的。就是说,模块中所包含的信息(包括数据和过程)不允许其它不需要这些信息的模块使用。
 
 

沈阳软件开发,沈阳软件公司,专业excel服务器,E立方】可按照您的要求定制开发各种企业管理软件.

 

友情介绍——沈阳广告公司

 

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Spirit Build 80722 Code detection by Codefense

Copyright xxxx-xxxx Your WebSite. Some Rights Reserved.