收藏 分享(赏)

软件文档写作10-开发文档2.ppt

上传人:Facebook 文档编号:3284895 上传时间:2018-10-10 格式:PPT 页数:23 大小:272.50KB
下载 相关 举报
软件文档写作10-开发文档2.ppt_第1页
第1页 / 共23页
软件文档写作10-开发文档2.ppt_第2页
第2页 / 共23页
软件文档写作10-开发文档2.ppt_第3页
第3页 / 共23页
软件文档写作10-开发文档2.ppt_第4页
第4页 / 共23页
软件文档写作10-开发文档2.ppt_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、1,6.4 软件概要设计文档概要设计阶段的主要任务是把系统的功能需求分配给软件结构,形成软件的系统结构,并完成表达。目前,整个软件界对软件结构的组成要素和描述还没有形成统一的规范,主要还是依赖于设计者的知识、经验和技巧。此外,由于人们对同一设计方法的理解和表达差别很大,所使用的符号体系、约定和流行的术语概念缺乏严格和一致性、系统性,没有形成对软件结构整体设计的一般性指导。因此,研究和建立形式化、规范化的描述方法s软件界的一项重要课题。我们前面曾经介绍的“软件视图”表达方法及对软件文档风格的影响,就是试图在这个方面有所进展。,2,回顾其中主要的表达类型有:1. 模块视图类型能为系统主要实现单元编

2、制文档服务;2. 组件和连接器(C&C)视图类型能为系统执行单元编制文档服务;3. 分配视图类型能为系统软件与其开发和执行环境之间的关系编制文档服务。我们已经介绍的类型风格主要有:分解风格、使用风格、泛化风格、分层风格、部署风格、实现风格和工作任务风格等。这3种视图类型代表着系统设计师在设计系统时必须考虑的3种视角:将系统看成实现单元、运行时执行单元、从软件元素到环境结构的映射。而文档就是要记录这些内容。反映到概要设计具体的表现形式,主要是:结构化设计表达、面向对象设计表达。,3,1. 结构化表现形式结构化程序设计在数据类型和结构化控制描述支持下,主程序和子过程按照一定的构造逻辑分层布置,是主

3、要的程序设计思想。在这样的思想下,系统的结构被映射为主程序和一系列具有调用关系的子过程的集合。这在程序设计语言中,直接与主程序和过程/函数的概念相对应。更复杂的系统设计包含了库、包、模块、程序覆盖等概念。常用的概要设计结构化表现方法有:层次图、HIPO图、结构图等。如下图是一个层次图的例。,4,简单的层次图缺乏追踪性,而HIPO图可以弥补此一缺点。实际上,HIPO图是由H图和IPO图两部分组成:H图就是层次图;和H图每个方框相对应的,应该有一张IPO图描述该方框代表的模块的处理过程。如下图,是一个带编号的H图的例,具有可追踪性。,IPO图使用的符号既少又简单,能够方便的描述数据输入、处理和输出

4、之间的关系。如下图是一个主文档更新的IPO例子。,5,图中,箭头清楚的指出了数据通信的情况。Yourdon提出的结构图是进行软件结构设计的另一个有力的表达方法。而且,结构图较之层次图有更强的描述力。,6,下图是结构图的一个例子:,结构图还有一些附加的符号,用以表示模块的选择调用和循环调用。如下图,左图是选择调用,右图是循环调用。,7,2. 面向对象设计表现形式数据抽象和面向对象设计是在主程序和子过程设计基础上建立和发展起来的重要的软件描述方法。数据抽象是面向对象设计的理论基础。类和对象是该描述方法的基础粒度。与传统软件工程将设计描述基础建立在模块或包上不同,面向对象设计方法的描述将软件的组成建

5、立在类和对象的粒度上,极大的改变了软件描述的特性,并一举带来软件结构的革命性变化。目前,面向对象方法已经成为软件下图设计的基础和出发点。一些重要的软件设计思想,如消息、组件、控件、部件等,都是在此基础上提出来的,都可以从类和对象中找到踪迹。面向对象设计文档表达根据下图结构的表达,有多种方式,下面逐个介绍。,8,(1) 面向对象设计(OOD)的 4个部分这4个部分是问题域、人机交互部分、任务管理部分和数据管理部分。如下图所示。,- 问题域部分:OOD根据需求分析中对问题域的描述,针对实现要求进行必要的整补和调整。其重点是:重用类设计、组合问题域专用类、调整继承的支持级别、提供数据管理部分以及增加

6、底层细节。 - 人机交互部分设计:突出人如何命令系统,及系统如何向用户提交信息。尤其对非计算机专业用户如何提交信息。 - 任务管理部分设计:设计策略要点是识别并设计任务,加上包含在每个任务中的服务。 - 设计管理部分设计:该部分主要是为了隔离数据管理方案对系统设计表达的影响。设计既包含数据存放方法的设计,也包含相应服务的设计。,9,(2) 概要设计OOD与OOA的表现形式有相似之处,但OOD需要针对实现的要求进行必要的整补和调整。面向对象系统的一个典型的系统结构是模型/视图/控制器(MVC)框架结构。其中,模型是指应用中的对象,其操作独立于用户界面;视图则管理用户界面的输出;控制器处理应用的输

7、入。见下图。,系统结构实际上是一些抽象的类的集合,提供了系统的最上层设计。定义这些抽象类的新的子类和把它们实例化,可以实现所要求的特定行为,借此可以构造待开发的系统。概要设计过程编档就是记录这一构造过程和结果。,10,(3) 概要设计技术的常用表示方法有继承机制、聚集关系、对象关联、注册/观察器、虚拟设备和代理结构等多种表示方法。 继承机制的表示通常将父类放在上面,将子类放在下面。如左图,下图是表示鸡、鸭、猫、狗和动物之间的继承关系。,11, 聚集关系的表示若类B的定义将类A的对象作为数据成员,则B和A之间是一种聚集关系,其表示方法如右图所示。, 对象关联的表示对象不是独立存在的,总是要以一定

8、形式与其它对象发生关系的。如一对一、一对多的单向关系。主要关联方式分内嵌关联和外嵌关联两种。,图:内嵌关联结构表示,图:外嵌关联结构表示,12, 注册/观察器的表示一种将新的信息一对一的迅速传送或通知给相关对象的对象协作机制。特别在分布式环境中,对象通信代价很高时,这是一种高效的手段,在网络软件设计时常用。见下图例。,13, 虚拟设备的表示虚拟设备是操作系统的一个重要概念。使用这种概念,可以为在不同设备上实现相同功能,或以相同操作接口访问不同设备提供可能和方便。如图,14, 代理结构的表示代理是一种在应用和被访问对象之间建立的桥梁或关口。通过代理的虚拟作用,达到控制对象访问的目的。代理具有的作

9、用或特性可以包括间接性、委托性、临时替代性、虚拟性、安全性/保护性、远程性和多源性。下图是代理模式的实现结构表示的例。,15,网络代理连接的表示例子:,多源代理连接的例子,16,6.5 软件详细设计文档详细设计在概要设计之后,其工作重点是考虑实现各个模块的规定功能,表达的是模块内部的逻辑关系、数据结构和模块接口细节等,表达的方法主要有程序流程图、N-S图、PAD图、PDL语言以及判定表、树等。 程序流程图程序流程图也称程序框图,是一种独立于任何程序设计语言的表达工具,因其直观、清晰,易学、易用,而深受欢迎。然而,由于其存在致命的缺点可以随意转向的箭头,使得设计难以规范、质量难以保证。目前,国际

10、标准化机构已经不再推荐使用。程序流程图主要由5种基本的控制结构构成,图见下页。,17,(1) 顺序结构(sequential structure),(2) 选择结构(selective structure),(3) 先判定型循环结构(while-loop structure),(4) 后判定型循环结构(until-loop structure),(5) 多情况选择(case structure),程序流程图(Program Flow Chart)的5种基本控制结构:,18, N-S图:Nassi & Shneiderman 1973年提出,又称为盒图(Box Diagram)。Chapin 1

11、974年作扩充,故也称为Chapin charts。N-S图规定了6种图形构件。,19,N-S图的例:,20, PAD图(Problem Analysis Diagram):日立公司,1973年提出。为ISO所极力推荐。也有5种基本控制结构。,21,例:N-S图的例转换到PAD图。,22, PDL(Program Design Language):是一种非正文形式的过程设计工具。 PDL语言的特点: 有固定的关键字外语法,有完整的结构化的控制结构、数据说明和模块特征; 内语法使用自然语言描述处理特征,为使用者提供方便,提高可读性; 有数据说明机制。包括简单的(标量和数组)和复杂的(链表和层次结构)数据结构; 有子程序定义和调用机制,及各种方式的接口说明。,例:,23,国标(GB8567-88)关于概要设计和详细设计的模板主要有: 1. 概要设计说明书 2. 数据库设计说明书 3. 组装测试计划 4. 详细设计说明书一个“人力资源管理系统详细设计报告”的例,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 中等教育 > 小学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报