软件工程 第5章 总体设计

软件工程 第5章 总体设计

ID:43601745

大小:355.50 KB

页数:98页

时间:2019-10-11

软件工程 第5章  总体设计_第1页
软件工程 第5章  总体设计_第2页
软件工程 第5章  总体设计_第3页
软件工程 第5章  总体设计_第4页
软件工程 第5章  总体设计_第5页
资源描述:

《软件工程 第5章 总体设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、软件工程SoftwareEngineering2021年7月18日1广东工业大学计算机学院第5章总体设计本章内容:5.1软件设计的重要性5.2设计过程5.3软件总体设计5.4设计基本原理5.5体系结构设计5.6结构化设计5.7软件结构优化2021/7/182广东工业大学计算机学院5.1软件设计的重要性软件设计处于软件工程过程的技术核心地位。2021/7/183广东工业大学计算机学院在设计中所作的决策将最终影响软件实现的成功与否、也影响软件维护的难易程度。所以,在软件设计过程中的这些决策是开发阶段非常关键的一步。软件设计的重要性还反映在质量(quality)上。2021/7/184广东工业大

2、学计算机学院2021/7/185广东工业大学计算机学院5.2设计过程软件设计是一个把需求转换为软件表达式的过程。从软件工程的角度讲是分为总体设计和详细设计。总体设计主要是把需求转换为数据结构和软件体系结构,而详细设计主要集中在体系结构表达式的细化,从而产生详细的数据结构和软件的算法表达式。2021/7/186广东工业大学计算机学院总体设计和详细设计除了必须有先进的设计技术外,还要有同步的管理技术支持。2021/7/187广东工业大学计算机学院软件设计原则:1)设计应当模块化(modular),也就是说,软件应被逻辑地划分为能完成特定功能和子功能的构件。(2)设计应形成具有独立功能特征的模块

3、(如子程序或过程)。(3)设计应使模块之间和与外部环境之间接口的复杂性尽量地减少。2021/7/188广东工业大学计算机学院(4)设计应该有一个分层的组织结构,这样人们可对软件各个构件进行理性的控制。(5)设计应有性质不同的可区分的数据和过程表达式。(6)设计应利用软件需求分析中得到的信息和可重复的方法。2021/7/189广东工业大学计算机学院5.3软件总体设计1.软件系统结构设计(1)采用某种设计方法,将一个复杂的系统按功能划分成模块。(2)确定每个模块的功能。(3)确定模块之间的调用关系。(4)确定模块之间的接口,即模块之间传递的信息。(5)评价模块结构的质量。2021/7/1810

4、广东工业大学计算机学院2.数据结构及数据库设计1)数据结构的设计根据需求分析阶段对系统数据的组成、操作约束和数据之间的关系的描述,确定数据结构特性。2021/7/1811广东工业大学计算机学院2)数据库的设计一般的软件系统都有数据的存储,存储要借助数据库技术。数据库的设计是指数据存储文件的设计。设计包括以下三个方面:(1)概念设计。(2)逻辑设计。(3)物理设计。2021/7/1812广东工业大学计算机学院3.网络系统设计如果采用的是网络环境,则要进行网络系统的设计。要分析网络负荷与容量,遵照网络系统设计原则,确定网络系统的需求。要进行网络结构设计,选择好网络操作系统,确定网络系统配置,制

5、定网络拓扑结构。2021/7/1813广东工业大学计算机学院4.软件总体设计文档总体设计说明书是总体设计阶段结束时提交的技术文档。按国标GB8576–88的《计算机软件产品开发文件编制指南》规定,软件设计文档可分为“总体设计说明书”、“详细设计说明书”和“数据库设计说明书”。这些文档的内容与格式请参考有关资料。2021/7/1814广东工业大学计算机学院5.评审在该阶段,对设计部分是否完整地实现了需求中规定的功能、性能等要求,设计方案的可行性、关键的处理及内外部接口定义正确性、有效性以及各部分之间的一致性等,都一一进行评审。2021/7/1815广东工业大学计算机学院5.4设计基本原理软件

6、设计要回答下列问题:(1)使用什么样的准则才能把软件划分成为各个单独的构件?(2)怎样把功能或数据结构的细节从软件概念表达式中分离出来?(3)定义软件设计的技术质量有统一的准则吗?2021/7/1816广东工业大学计算机学院5.4.1抽象抽象是认识复杂现象过程中使用的思维工具,即抽出事物本质的共同特性而暂不考虑它的细节,不考虑其他因素。随着对抽象不同层次的展开,过程抽象(ProceduralAbstraction)和数据抽象(DataAbstraction)就建立了。2021/7/1817广东工业大学计算机学院5.4.2细化逐步细化是一种自顶向下的设计策略。程序的体系结构开发是由过程细节层

7、次不断地细化而成的。分层的开发则是以逐步的方式由分解一个宏功能直到获得编程语言语句。细化实际上是一个详细描述的过程。在高层抽象定义时,从功能说明或信息描述开始,就是说明功能或信息的概念,而不给出功能内部的工作细节或信息的内部结构。细化则是设计者在原始说明的基础上进行详细说明,随着不断的细化(详细说明)给出更多的细节。2021/7/1818广东工业大学计算机学院5.4.3模块化模块具有以下几种基本属性:(1)接口:指模块的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。