软件设计策略挂


广告


软件设计是一个过程概念化的软件需求转化为软件实现。软件设计以用户的需求和挑战,并试图寻找最佳的解决方案。软件被概念化寻找最佳的设计实现预期的解决方案.

有软件设计的多个变体。让我们简单地读那些:

结构化设计

结构化设计是一个概念化的问题到解决方案的几个组织良好的元素。它基本上是涉及该解决方案的设计。结构化设计的好处是把它提供更深入的了解这个问题正在得到解决。结构化的设计也使设计师更准确地集中在这一问题变得更为简单.

结构化的设计主要是基于“分而治之”的策略,其中一个问题分成几个小问题,每个小问题单独解决,直到整个问题就解决了.

通过解决方案模块解决了小块的问题。结构化的设计重点这些模块很好组织为了实现精确解.

在层次结构中排列这些模块。它与对方沟通。一个好的结构化的设计即始终遵循一些规则的多个模块之间的通信 -

凝聚力 - 所有的功能相关的元素进行分组.

耦合 - 不同模块之间的通信.

一个好的结构化设计具有高内聚低耦合的安排.

面向功能的设计

在面向功能的设计中,该系统由许多较小的子系统称为函数组成。这些函数是能够在系统中执行的重大任务。该系统被认为是顶视图的所有功能.

功能导向设计继承了一些性能的结构化的设计分而治之的方法使用.

这种设计机制将整个系统分成更小的函数,通过隐瞒的信息和他们的操作提供抽象的方法。这些功能模块可以共享信息相互之间通过信息的传递与全球范围内使用可用的信息.

函数的另一个特点是程序的当一个程序调用一个函数,该函数更改,有时是程序的不能接受由其他模块的状态。功能导向设计作品好在哪里并不重要的系统状态和程序/功能工作的输入,而不是一种状态.

设计过程

  • 整个系统是看到如何数据流动系统中采用的数据流程图。
  • DFD 描述了如何更改数据和整个系统的功能状态.
  • 整个系统从逻辑上被分成更小的单位称为函数在其运作的基础上在系统中.
  • 每个函数然后介绍了在大.

面向对象设计

面向对象设计作品周围的实体和其特性而不是在软件系统中涉及到的功能。这种设计战略重点实体和其特点。软件解决方案的整个概念是围绕经营实体.

让我们看看面向对象设计的重要概念:

  • 对象 - 解决方案设计中涉及的所有实体被都称为对象。例如,人、 银行、 公司和客户都视为对象。每个实体都有一些与之关联的属性并有一些方法要在属性上执行.

  • - 一类是对象的普遍描述。对象是类的实例。类定义了所有的属性,这些属性的对象可以具有与方法,它定义了对象的功能.在该解决方案的设计,属性被存储为变量和功能都通过的方法或程序来定义.

  • 封装 - 在面向对象的设计,(数据变量) 的属性和方法 (数据操作)捆绑在一起被称为封装。封装不仅捆绑对象的重要信息,而且还会限制访问的数据和方法从外面的世界。这就被所谓的信息隐藏.

  • 继承 - 面向对象的设计允许在层次结构的方式堆积越低类似类或子类可以导入、 执行和重新使用允许的变量和方法从他们眼前的超级类。面向对象设计的这种性质被称为继承。这使得它更容易来定义特定的类,从具体创建广义的类.

  • 多态性 - 面向对象设计语言提供一种机制在哪里执行类似任务的但在参数中,会发生变化的方法可以分配相同的名称。这被称为多态性,它允许一个单一的界面执行任务的不同类型。取决于如何来调用该函数,获取执行各自部分的代码.

设计过程

软件设计过程可以看作一系列定义良好的步骤。虽然设计方法不同而有所不同 (面向功能或面向对象的但它可能有涉及的下列步骤:

  • 解决方案的设计是从要求或以前使用的系统和/或系统序列图中创建的.
  • 对象确定并分为几类代表属性特征的相似性.
  • 类层次结构和它们之间的关系定义.
  • 应用程序框架定义.

软件设计方法

这里有两个通用的方法进行软件的设计:

自上而下的设计

我们知道一个系统由多个子系统组成,它包含多个组件。此外,这些子系统和部件可能有其发病的子系统和组件和系统中创建的层次结构.

自顶向下设计需要整个软件系统作为一个实体,然后将其分解,以实现一个以上的子系统或部件的基础上的一些特征。每个子系统或部件然后当作一个系统,并进一步分解。这个过程不断运行,直到系统中的自顶向下的层次结构的最低级别的实现.

自顶向下的设计开始,系统的通用模型,并不断定义它的更具体的部分。当所有的组件组成,整个系统开始存在.

自上而下的设计更适合当软件解决方案需要从头开始设计和具体细节是未知的.

自底向上的设计

自下而上的设计模式从最具体的和基本的组成部分。它继续与使用基本或更低级别的组件组成成分较高水平。它不断创造更高层次的组件,直到所需的系统没有演变为一个单一的组成部分。与每个台阶,抽象的量增加.

自下而上的策略是更合适的系统需要从一些现有的系统,其中所述基本图元可以在新的系统中使用时创建.

无论是自上而下和自下而上的方法是不实际的个别。相反,两者很好地结合起来使用.



Advertisements