文档详情

5结构化分析与设计[精].ppt

发布:2017-01-16约2.74万字共169页下载文档
文本预览下载声明
复旦大学计算机科学与工程系 软件工程课程 软件工程 第5章 结构化分析与设计 结构化方法 一种面向数据流的传统软件开发方法 以数据流为中心构建软件的分析模型和设计模型 分为: 结构化分析(Structured Analysis 简称SA) 结构化设计(Structuresd Design 简称SD) 结构化程序设计(Structured Programmin 简称SP) 内容摘要 结构化分析方法概述 数据流图 分层数据流图的审查 数据字典 描述基本加工的小说明 结构化设计概述 数据流图到软件体系结构的映射 初始结构图的改进 小结 内容摘要 5.1结构化分析方法概述 5.2数据流图 5.3分层数据流图的审查 5.4数据字典 5.5描述基本加工的小说明 5.6结构化设计概述 5.7数据流图到软件体系结构的映射 5.8初始结构图的改进 小结 5.1结构化分析方法 发展历史 提出:20世纪60年代末到70年代初 成熟:20世纪70年代末到80年代中期 主要思想:抽象与自顶向下的逐层分解 (控制复杂性的两个基本手段) 抽象:在每个抽象层次上忽略问题的内部复杂性,只关注整个问题与外界的联系 分解:将问题不断分解为较小的问题,直到每个最底层的问题都足够简单为止 5.1.1结构化分析方法中的抽象与分解 抽象:从作为整体的软件系统开始(第一层),每一抽象层次上只关注于系统的输入输出 分解:将系统不断分解为子系统、模块…… 随着分解层次的增加,抽象的级别越来越低,也越接近问题的解(算法和数据结构) 5.1.2结构化分析过程 理解当前的现实环境,获得当前系统的具体模型(物理模型) 从当前系统的具体模型抽象出当前系统的逻辑模型 分析目标系统与当前系统逻辑上的差别,建立目标系统的逻辑模型 为目标系统的逻辑模型作补充 5.1.3结构化分析模型的描述 数据字典是模型的核心,它包含了软件使用和产生所有数据的描述 数据流图:用于功能建模,描述系统的输入数据流如何经过一系列的加工变换逐步变换成系统的输出数据流 实体—关系图:用于数据建模,描述数据字典中数据之间的关系 内容摘要 5.1结构化分析方法概述 5.2数据流图 5.3分层数据流图的审查 5.4数据字典 5.5描述基本加工的小说明 5.6结构化设计概述 5.7数据流图到软件体系结构的映射 5.8初始结构图的改进 小结 5.2数据流图 Data Flow Diagram(简称DFD):描述输入数据流到输出数据流的变换(即加工)过程,用于对系统的功能建模。 5.2数据流图 Data Flow Diagram(简称DFD):描述输入数据流到输出数据流的变换(即加工)过程,用于对系统的功能建模。 源或宿 存在于软件系统之外的人员或组织,表示软件系统输入数据的来源和输出数据的去向,因此也称为源点和终点 例如,对一个考务处理系统而言 考生向系统提供报名单(输入数据流),所以考生是考试系统(软件)的一个源 考务处理系统要将考试成绩的统计分析表(输出数据流)传递给考试中心,所以考试中心是该系统的一个宿 源或宿用相同的图形符号表示 当数据流从该符号流出时表示是源 当数据流流向该符号时表示是宿 当两者皆有时表示既是源又是宿 加工和文件 加工:描述输入数据流到输出数据流的变换 每个加工用一个定义明确的名字标识 至少有一个输入数据流和一个输出流 可以有多个输入数据流和多个输出数据流 文件:保存数据信息的外部单元 每个文件用一个定义明确的名字标识 由加工进行读写 DFD中称为文件,但在具体实现时可以用文件系统实现也可以用数据库系统等实现 数据流 每个数据流用由一组固定成分的数据组成并拥有一个定义明确的名字标识 如:运动会管理系统中,报名单(数据流)由队名、姓名、性别、参赛项目等数据组成 数据流的流向 从一个加工流向另一个加工 从加工流向文件(写文件) 从文件流向加工(读文件) 从源流向加工 从加工流向宿 示例:图书订购系统DFD 数据流图的扩充符号 描述一个加工的多个数据流之间的关系 星号(*):表示数据流之间存在“与”关系 所有输入数据流同时存在时,才能进行加工处理 或加工处理的结果是同时产生所有输出数据流 加号(+):表示数据流之间存在“或”关系 至少存在一个输入数据流时才能进行加工处理 或加工处理的结果是至少产生一个输出数据流 异或(⊕):表示数据流之间存在“异或”(互斥)关系 必须存在且仅存在一个输入数据流时,才能进行加工处理 或加工处理的结果是产生且仅产生一个输出数据流 数据流图的扩充符号 对数据流图进行分层 George Miller在著名的论文“神奇的数字7加减2:我们处理信息的能力的某种限制”中指出:人们在一段时间内的短期记忆似乎限制在5~9件事情之内 根据自顶向下逐层分解的思想将数据流图画成层次结构 每个层次
显示全部
相似文档