软件工程第五章总体

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(5)设计应有性质不同的可区分的数据和过 程表达式。
(6)设计应利用软件需求分析中得到的信息 和可重复的方法。
软件工程第五章总体
5.3 软件总体设计
需求分析阶段所形成的数据流图是软件总体设计的基 础。我们要从可供选择的方案中选取合理的方案,为 每一个方案准备一份系统流程图,列出系统组成的物 理元素,进行效益分析,制定实现方案的进度。我们 要从合理的方案中选择一个最佳的方案向用户推荐。
(1)设计应当模块化(modular),也就是说,软件 应被逻辑地划分为能完成特定功能和子功能的构件。
(2)设计应形成具有独立功能特征的模块(如子程 序或过程)。
软件工程第五章总体
软件设计原则(续)
(3)设计应使模块之间和与外剖环境之间接 口的复杂性尽量地减少。
(4)设计应该有一个分层的组织结构,这样 人们可对软件各个构件进行理性的控制。
软件工程第五章总体
软件的需求分析到设计的转换图
图5--5 结构化演化
软件工程第五章总体
不Байду номын сангаас结构的表示
从下图可以看出,一个问题可以有多种可供选 择的结构。选择某种结构又由软件设计方法来 决定。
软件工程第五章总体
5.4.5 程序结构
程序结构(program structure)给出了程序构 件(模块)的组织(通常叫分层),这种组织 包含了控制的层次。
吗?
软件工程第五章总体
设计基本原理
5.4.1 抽象 5.4.2 细化 5.4.3 模块化
软件工程第五章总体
5.4.4 软件体系结构
软件总体设计的主要任务就是软件结构的设计。 软件体系结构(software architecture)包含 了计算机程序的两个重要特性:
(1)过程构件(模块)的层次结构。 (2)数据结构。
接着,设计定义的过程方面逐渐发展成为一种叫做结 构化编程(structured programming)的原则。
之后,提出了把数据流和数据结构翻译成设计定义的 方法。
近年来,则建立采用OO的设计方法。 总结过去软件设计的发展,可以归纳为是一个持续发
展的过程。
软件工程第五章总体
5.2.2设计活动间的关系
当用户接受方案后,就要为这个最佳的方案设计软件 结构,一般情况下,这个软件结构要通过反复修改使 之合理。
同时还要进行必要的数据库设计。在分布式系统中还 要进行网络设计。
另外,还要制定测试计划和确定测试要求。 在详细设计前一定要进行软件总体设计。
软件工程第五章总体
5.3.1 总体设计基本任务
软件工程第五章总体
总体设计
系统的总体设计是在前面系统分析的基础上, 为后期将要构造的系统实体建立一个模型 (model)或表达式(representation)。构造 这样的模型需要有开发人员的直觉和以前开发 这类实体经验的判断、开发方法的采用、产品 质量的准则,是一个综合的过程。而且经过多 次的重复,直到最终拿出最后的设计模型。
结构与程序的关系。 (6)系统出错处理设计:出错信息,补救措施,系统恢复设计。 5.评审
软件工程第五章总体
5.4 设计基本原理
软件设计要回答下列问题: (1)使用什么样的准则才能把软件划分成为
各个单独的构件? (2)怎样把功能或数据结构的细节从软件概
念表达式中分离出来? (3)定义软件设计的技术质量有统一的准则
软件工程第五章总体
总体设计基本任务(续)
4. 软件总体设计文档 总体设计说明书的主要内容如下: (1)引言:编写目的,背景,定义,参考资料。 (2)总体设计:需求规定,运行环境,基本设计概念和处理流
程,结构。 (3)接口设计:用户接口,外部接口,内部接口。 (4)运行设计:运行模块组合,运行控制,运行时间。 (5)系统数据结构设计:逻辑结构设计,物理结构设计,数据
1.软件系统结构设计 (1)采用某种设计方法,将一个复杂的系统
按功能划分成模块。 (2)确定每个模块的功能。 (3)确定模块之间的调用关系。 (4)确定模块之间的接口,即模块之间传递
的信息。 (5)评价模块结构的质量。
软件工程第五章总体
总体设计基本任务(续)
2.数据结构及数据库设计 1)数据结构的设计 2)数据库的设计 (1)概念设计 (2)逻辑设计 (3)物理设计 3. 网络系统设计
软件工程第五章总体
5.1 软件设计的重要性
软件设计处于软件工程过程的技术核心地位
图5-1 软件设计与软件工程
软件工程第五章总体
5.1 软件设计的重要性
软件设计的重要性还反映在质量上。
图5-2 设计的重要性
软件工程第五章总体
5.2 设计过程
软件设计是一个把需求转换为软件表达式的过 程。这个表达式过程一般情况下是分为两步走。
从软件工程的角度讲是分为总体设计和详细设 计。
总体设计主要是把需求转换为数据结构和软件 体系结构,而详细设计主要集中在体系结构表 达式的细化,从而产生详细的数据结构和软件 的算法表达式。
软件工程第五章总体
5.2.1 软件设计的发展
早期的设计工作中,着重在开发模块化程序模块所需 要的准则,以及按照自顶向下(top-down)的方式逐 步细化软件体系结构上。
软件工程
Software Engineering
第五章 总体设计
软件工程第五章总体
第五章 总体设计
软件设计的重要性 设计过程 软件总体设计 设计基本原理 体系结构设计 结构化设计 IDEF0图设计方法 软件结构优化
软件工程第五章总体
总体设计
总体设计的基本目标就是概要地回答系统应该 如何实现。所以设计在任何工程产品或系统中, 是开发阶段的第一步。设计(design)可以定 义为应用各种技术和原理,对一个设备、一个 过程或一个系统,作出足够详细的决策,使之 有可能在物理上得以实现的过程。
总体设计和详细设计除了必须有先进的设计技 术外,还要有同步的管理技术支持。如图5-3 所示
图5-3 设计技术和管理方面之间的关系
软件工程第五章总体
5.2.3 设计与软件质量
在整个设计过程中,设计每一步的质量都要进行正式 的技术评审(formal technical reviews)。要按照设 计准则对于设计表达式的质量的评价。我们这里给出 下列软件设计原则:
相关文档
最新文档