〖本章小结〗
软件设计的基本目标是用比较抽象概括的方式确定目标系统如何完成预定的任务。就是说,软件设计是确定系统的物理模型,包括系统的模块结构和每一个模块的结构细节。
软件设计分概要设计和详细设计两个阶段,在概要设计阶段建立软件体系结构、确定系统级接口、全局数据结构或数据库模式,在详细设计阶段确立每一个模块的实现算法、局部数据结构,并用一种适当的方法表示算法和数据结构的细节,以便在程序编码阶段可直接根据这些细节实现程序的逻辑。
讨论软件体系结构是近年来新出现的课题。软件体系结构设计的三要素是程序构件(模块)的层次结构、构件之间交互的方式,以及数据的结构。对此请加以关注,需要对各种体系结构进行比较,了解各种结构的特点。
比较在进行软件体系结构设计时应遵循的一个重要原则是模块独立性,建立高内聚和低耦合的模块结构。软件系统应由一组功能相对独立的模块组成,模块之间的接口应尽可能简单。
一种典型的软件设计方法是结构化设计方法,它依据抽象和自顶向下、逐层细化的原则,从数据流图出发,从抽象到具体地分析和建立软件的层次结构。许多计算机科学家经过长期实践和摸索,基于用结构化设计方法建立的系统结构,提出了若干启发式原则,以完善模块结构和软件的体系结构。这些启发式原则必须掌握,以指导软件系统结构的开发。
Jackson系统开发方法(简称JSD方法)是一种典型的面向数据结构的开发方法。它以自己特定的符号建立系统数据结构的表示。从系统涉及的实体的分析和设计出发,建立系统的模型,再加入时间特性,将其转换为系统的处理模型,最后用伪码给出过程性描述。本章重点讨论JSD方法的最后一部分,即JSP结构程序设计方法。要求了解如何从系统的输入/输出数据结构导出程序结构。以及有关结构冲突的讨论。
软件的详细设计涉及算法的设计,但因算法的设计与问题领域有关,在本章不做讨论,本章重点讨论表达算法逻辑的工具,包括程序流程图、N�DS图、PAD、判定表、PDL和HIPO。要求重点掌握前3种,比较它们的特点,会用它们表达程序的逻辑。
��设计评审是具有重要意义的质量保证活动。需要了解设计评审的意义和主要的评审内容。
|