摘要:软件工程之中的结构化设计方法研究具有非常强的现实意义,本文在概述了软件结构设计的基础上,对结构化设计的具体流程以及体系结构设计方法进行了分析,希望能够对我们的工作起到一定指导和促进的作用。 

  关键词:软件工程;结构化设计;设计方法; 

  中图分类号:TP311.5 文献标识码:A 文章编号:1007-9599 (2013) 01-0242-02 

  针对一些大型项目的开发,为了提升软件的质量及其开发效率,在我们对程序进行详细设计之前,必须要对软件的总体结构进行确定,而在软件总体结构确定的过程中,结构化设计方法属于一个主要的手段。基于此,本文关于软件工程之中的结构化设计方法的研究具有非常强的实践指导作用。 

  1 软件结构设计概述 

  1.1 软件设计概念及原则 

  在软件设计的过程中,最为基本的目标是使用抽象概括的方式确定目标系统,换句话说,软件设计主要是将系统物理模型确定下来的过程。在软件设计的过程中,我们会将比较复杂的问题分解为很多比较小的、容易解决的问题。另外,在对其进行模块分解的过程中,我们会对每一个模块进行独立的开发及测试,然后使其组装成为比较完成的程序,这样可以确保程序具有比较好的理解性以及比较清晰的结构,对于后续的测试及修改都比较有利,了解这些内容对于加深我们对结构化设计的理解非常有帮助。 

  1.2 结构化设计 

  所谓结构化设计,主要属于一种面向数据流的设计方式,具体来看,这是基于模块化、自顶而下细化、结构化程序设计等基础的一种设计方法,其最为基础的思想是把系统设计成为功能单一、相对独立的模块组成结构。 

  在结构化软件设计过程中,从技术角度来看,设计阶段主要包括数据设计、接口设计、体系结构设计以及过程设计。其中数据设计主要是将实体关系转化为文件系统结构以及数据库表结构。至于体系结构设计主要是对软件模块之间的关系进行定义。而接口设计则是以数据流图对系统内部中的各种关系及交互机制进行定义。最后,过程设计则是对软件各组成部分的算法以及内部数据结构确定下来,并采取某种形式对算法进行描述。 

  如果从工程管理这一角度出发的话,则软件设计则可以分为概要设计以及详细设计这两部分,其中概要设计主要包含软件需求到软件体系结构的转换、系统级接口的确定等。至于详细设计则是对每个模块的实现算法以及数据结构进行确定、采取合理的方法对算法以及数据结构细节进行表示。 

  2 结构化设计的具体实施方法 

  2.1 结构化设计流程 

  (1)对数据流图进行研究、分析及审查,这主要可以帮助我们从软件需求规格说明中掌握数据流加工过程。 

  (2)以数据流图为依据对数据处理的类型进行确定,需要注意的是,针对事务型及变换型,我们要对其进行分别分析及处理。 

  (3)通过数据流图对系统初始结构图进行推导。 

  (4)采取启发式原则对系统初始结构图进行改进,直到结构图满足我们的要求为止。 

  (5)利用数据字典以及分析模型ER图对数据进行设计,这又包括数据文件设计以及数据库设计。 

  (6)以状态转换图、加工规格说明为依据,进行过程设计。 

  2.2 体系结构设计方法 

  (1)基于数据流方法设计过程。这一设计方法也被称之为过程驱动设计方法,在使用这一方法的过程中,主要是和软件需求分析阶段的SA进行衔接,然后将数据流图所表示的信息转化为程序结构设计描述。 

  (2)典型数据流及典型系统结构。对于典型数据流类型来说在,主要包括事务型数据流以及变换型数据流,在数据流的类型存在区别的时候,其所获得的系统结构也会存在差异。一般来说,我们会把系统中的全部数据流认作变换流,数据沿输入通道进到系统中,经历数据变化,把数据外部形势转变为内部表示,再利用变化中心进行处理,最后沿输出通道离开系统,而这种数据就被称之为变换流。不过,在遇到明显带有事务特性数据流的时候,则最好采取事务型映射方法设计。 

  具体来说,变换流系统结构图主要包括了输入、变换中心以及输出这三个部分。至于事务流,其数据则会沿输入通道到达事务中心,然后事务中心将以输入数据的类型为依据选择一个动作进行执行,在事务流中,事务中心是明显存在的,各种活动流将以事务中心作为起点按照辐射的形状流出。 

  (3)变换映射方法。所谓变换分析,主要是从数据流图中将系统结构图导出,其具体的步骤为:首先,对数据流图进行重画;其次,对有效输入、有效输出以及变换中心部分进行区分;第三,进行一级分解及二级分解。 

  具体来说,在对数据流图进行重画的过程中,为建立好系统结构,要对数据流图进行平铺,其中物流输入在左边,物理输出在右边。至于确定有效输入、有效输出以及变换中心的过程中,则要注意程序的核心功能为变换中心,输入属于逻辑输入流,而输出属于逻辑输出流。而第一级分级中,顶层模块负责整个系统功能,它又可以分为输入控制模块、变换控制模块以及输出控制模块。