软件系统设计概述概要课件.ppt
《软件系统设计概述概要课件.ppt》由会员分享,可在线阅读,更多相关《软件系统设计概述概要课件.ppt(60页珍藏版)》请在三一办公上搜索。
1、软件系统设计概述,杨福林,目录,软件设计的概述软件设计的基本原理模块设计概要设计概述结构化设计方法JACKSON设计方法数据设计和文件设计过程设计(详细设计)设计的评审,软件设计的目标和任务软件设计重要性软件设计方法软件设计阶段,软件设计的概述,讨论要点,(1)如何将需求分析模型转换为软件设计?(2)作为软件工程师在软件设计方面应使用哪些基本原则和概念?,软件设计的概述,一. 软件设计的目标 软件需求:解决“做什么” 软件设计:解决“怎么做”二.软件设计的任务 问题结构(软件需求) 软件结构 从软件需求规格说明书出发,形成软件的具体设计方案。,映射,软件设计的目标和任务,数据设计侧重于数据结构
2、的定义。系统结构设计,包括接口设计和体系结构设计,定义软件系统各主要成份之间的关系。过程设计则是把结构成份转换成软件的过程性描述。在编码步骤,根据这种过程性描述,生成源程序代码,然后通过测试最终得到完整有效的软件。,软件设计的目标和任务,软件的开发阶段,软件设计的重要性,为什么软件设计很重要?,软件设计是开发阶段中最重要的步骤,它是软件开发过程中质量得以保证的关键步骤。设计提供了软件的表示,使得软件的质量评价成为可能。同时,软件设计又是将用户要求准确地转化成为最终的软件产品的唯一途径。另一方面,软件设计是后续开发步骤及软件维护工作的基础。如果没有设计,只能建立一个不稳定的系统。,软件设计的重要
3、性,只要出现一些小小的变动,就会使得软件垮掉,而且难于测试。,软件设计方法,结构化设计方法(SD)面向数据结构的设计方法(JSD方法)面向对象的设计方法(OOD),软件设计的阶段,软件设计的阶段,(1)概要设计(总体设计)确定软件的结构以及各组成成分(子系统或模块)之间的相互关系。(2)详细设计(过程设计,模块设计)确定模块内部的算法和数据结构,产生描述各模块程序过程的详细文档。,软件设计的概述软件设计的基础模块设计基础概要设计概述结构化设计方法JACKSON设计方法数据设计和文件设计过程设计(详细设计)设计的评审,目录,软件设计基础,软件体系结构 程序结构 数据结构 软件过程 自顶向下,逐步
4、细化 模块化 抽象化 信息隐蔽,一软件体系结构,软件结构包括两部分:程序结构和数据结构软件的体系结构通过一个划分过程来完成。该划分过程从需求分析确立的目标系统的模型出发,对整个问题进行分割,使其每个部分用一个或几个软件成份加以解决,整个问题就解决了,软件设计基础,软件设计基础,一软件体系结构,二程序结构,程序结构(控制层次)表明了程序各个部件(模块)的组织情况。,软件设计基础,三. 数据结构,软件设计基础,数据结构是数据的各个元素之间的逻辑关系的一种表示。数据结构设计应确定数据的组织、存取方式、相关程度以及信息的不同处理方法。 数据结构的组织方法和复杂程度可以灵活多样,但典型的数据结构种类是有
5、限的,它们是构成一些更复杂结构的基本构件块。,三. 数据结构,软件设计基础,四软件过程,软件过程则着重描述各个模块的处理细节。软件过程必须提供精确的处理说明,包括事件的顺序、正确的判定点、重复的操作等等。,软件设计基础,软件设计基础,四软件过程,五. 自顶向下,逐步细化,将软件的体系结构按自顶向下方式,对各个层次的过程细节和数据细节逐层细化,直到用程序设计语言的语句能够实现为止,从而最后确立整个的体系结构。,软件设计基础,六模块化(Modularity),软件系统的模块化是指整个软件被划分成若干单独命名和可编址的部分,称之为模块。这些模块可以被组装起来以满足整个问题的需求。把问题子问题的分解与
6、软件开发中的系统子系统或系统模块对应起来,就能够把一个大而复杂的软件系统划分成易于理解的比较单纯的模块结构。,软件设计基础,模块化是软件设计的一个基本准则 高层模块 从整体上把握 问题,隐蔽细节 复杂问题 较小问题 分解 可减小解题所需的总的工作,分解,软件设计基础,模块化和软件成本图,成本或工作量,模块数量,软件总成本,集成成本,成本/模块,M,最小成本区域,软件设计基础,七抽象化,软件系统进行模块设计时,可有不同的抽象层次。在最高的抽象层次上,可以使用问题所处环境的语言概括地描述问题的解法。在较低的抽象层次上,则采用过程化的方法。,软件设计基础,(1) 过程的抽象在软件工程中,从系统定义到
7、实现,每进展一步都可以看做是对软件解决方法的抽象化过程的一次细化。在软件需求分析阶段,用“问题所处环境的、为大家所熟悉的术语”来描述软件的解决方法。在从概要设计到详细设计的过程中,抽象化的层次逐次降低。产生源程序时到达最低抽象层次。,软件设计基础,(2)数据抽象 在不同层次上描述数据对象的细节,定义与该数据对象相关的操作。例如,在CAD软件中,定义一个叫做drawing的数据对象。可将drawing规定为一个抽象数据类型,定义它的内部细节为:,TYPE drawing IS STRUCTURE DEFIND number IS STRING LENGTH(12); geometry DEFIN
8、D notes IS STRING LENGTH(256); BOM DEFIND END drawing TYPE;,软件设计基础,数据抽象drawing本身由另外一些数据抽象,如geometry、BOM (bill of materials) 构成定义drawing的抽象数据类型之后,可引用它来定义其它数据对象,而不必涉及drawing的内部细节例如,定义:blue-print IS INSTANCE OF drawing;,软件设计基础,七. 信息隐蔽,由 parnas 方法提倡的信息隐蔽是指,每个模块的实现细节对于其它模块来说是隐蔽的。也就是说,模块中所包含的信息(包括数据和过程)不允
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 系统 设计 概述 概要 课件

链接地址:https://www.31ppt.com/p-1848242.html