正在加载图片...
化为数据结构的定义。体系结构设计定义软件系统各主要成份之间的关系。接口设计根据数 据流图定义软件内部各成份之间、软件与其它协同系统之间及软件与用户之间的交互机制。 过程设计则是把结构成份转换成软件的过程性描述。在编码步骤,根据这种过程性描述,生 成源程序代码,然后通过测试最终得到完整有效的软件。 软件设计是开发阶段中最重要的步骤,它是软件开发过程中质量得以保证的关键步骤。 设计提供了软件的表示,使得软件的质量评价成为可能。同时,软件设计又是将用户要求准 确地转化成为最终的软件产品的唯一途径。另一方面,软件设计是后续开发步骤及软件维护 工作的基础。如果没有设计,只能建立一个不稳定的系统,如图4.2所示。只要出现一些小小 的变动,就会使得软件垮掉,而且难于测试 维护 维护 测试 实现 设计 有软件设计 没有软件设计 图42软件设计的重要性 (2)软件设计的过程 软件设计是一个把软件需求变换成软件表示的过程。最初这种表示只是描绘出可直接反 映功能、数据、行为需求的软件的总的框架,然后进一步细化,在此框架中填入细节,把它 加工成在程序细节上非常接近于源程序的软件表示 从工程管理的角度来看,软件设计分两步完成。首先做概要设计,将软件需求转化为数 据结构和软件的系统结构,并建立接口。然后是详细设计,即过程设计。通过对结构表示进 行细化,得到软件的详细的数据结构和算法 McGlanghlin给出在将需求转换为设计时判断设计好坏的三条特征 设计必须实现分析模型中描述的所有显式需求,必须满足用户希望的所有隐式需求 设计必须是可读、可理解的,使得将来易于编程、易于测试、易于维护。 ■设计应从实现角度出发,给出与数据、功能、行为相关的软件全貌 以上三点就是软件设计过程的目标。为达到这些目标,必须建立衡量设计的技术标准。 ①设计出来的结构应是分层结构,从而建立软件成份之间的控制。 ②设计应当模块化,从逻辑上将软件划分为完成特定功能或子功能的构件。 ③设计应当既包含数据抽象,也包含过程抽象。 ④设计应当建立具有具有独立功能特征的模块。 ⑤设计应当建立能够降低模块与外部环境之间复杂连接的接口。 ⑥设计应能根据软件需求分析获取的信息,建立可驱动可重复的方法 软件设计过程根据基本的设计原则,使用系统化的方法和完全的的设计评审来建立良好 的设计 2.软件设计的原则 (1)抽象化2 图 4.2 软件设计的重要性 化为数据结构的定义。体系结构设计定义软件系统各主要成份之间的关系。接口设计根据数 据流图定义软件内部各成份之间、软件与其它协同系统之间及软件与用户之间的交互机制。 过程设计则是把结构成份转换成软件的过程性描述。在编码步骤,根据这种过程性描述,生 成源程序代码,然后通过测试最终得到完整有效的软件。 软件设计是开发阶段中最重要的步骤,它是软件开发过程中质量得以保证的关键步骤。 设计提供了软件的表示,使得软件的质量评价成为可能。同时,软件设计又是将用户要求准 确地转化成为最终的软件产品的唯一途径。另一方面,软件设计是后续开发步骤及软件维护 工作的基础。如果没有设计,只能建立一个不稳定的系统,如图4.2所示。只要出现一些小小 的变动,就会使得软件垮掉,而且难于测试。 (2) 软件设计的过程 软件设计是一个把软件需求变换成软件表示的过程。最初这种表示只是描绘出可直接反 映功能、数据、行为需求的软件的总的框架,然后进一步细化,在此框架中填入细节,把它 加工成在程序细节上非常接近于源程序的软件表示。 从工程管理的角度来看,软件设计分两步完成。首先做概要设计,将软件需求转化为数 据结构和软件的系统结构,并建立接口。然后是详细设计,即过程设计。通过对结构表示进 行细化,得到软件的详细的数据结构和算法。 McGlanghlin 给出在将需求转换为设计时判断设计好坏的三条特征: ▪ 设计必须实现分析模型中描述的所有显式需求,必须满足用户希望的所有隐式需求。 ▪ 设计必须是可读、可理解的,使得将来易于编程、易于测试、易于维护。 ▪ 设计应从实现角度出发,给出与数据、功能、行为相关的软件全貌。 以上三点就是软件设计过程的目标。为达到这些目标,必须建立衡量设计的技术标准。 ① 设计出来的结构应是分层结构,从而建立软件成份之间的控制。 ② 设计应当模块化,从逻辑上将软件划分为完成特定功能或子功能的构件。 ③ 设计应当既包含数据抽象,也包含过程抽象。 ④ 设计应当建立具有具有独立功能特征的模块。 ⑤ 设计应当建立能够降低模块与外部环境之间复杂连接的接口。 ⑥ 设计应能根据软件需求分析获取的信息,建立可驱动可重复的方法。 软件设计过程根据基本的设计原则,使用系统化的方法和完全的的设计评审来建立良好 的设计。 2. 软件设计的原则 (1) 抽象化
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有