- 1、本文档共110页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
复旦大学计算机科学与工程系 软件工程课程 软件工程 第5章 结构化分析与设计 结构化方法 一种面向数据流的传统软件开发方法 以数据流为中心构建软件的分析模型和设计模型 分为: 结构化分析(Structured Analysis 简称SA) 结构化设计(Structuresd Design 简称SD) 结构化程序设计(Structured Programmin 简称SP) 内容摘要 结构化分析方法概述 数据流图 分层数据流图的审查 数据字典 描述基本加工的小说明 结构化设计概述 数据流图到软件体系结构的映射 初始结构图的改进 小结 内容摘要 结构化分析方法概述 数据流图 分层数据流图的审查 数据字典 描述基本加工的小说明 结构化设计概述 数据流图到软件体系结构的映射 初始结构图的改进 小结 结构化分析方法 发展历史 提出:20世纪60年代末到70年代初 成熟:20世纪70年代末到80年代中期 主要思想:抽象与自顶向下的逐层分解(控制复杂性的两个基本手段) 抽象:在每个抽象层次上忽略问题的内部复杂性,只关注整个问题与外界的联系 分解:将问题不断分解为较小的问题,直到每个最底层的问题都足够简单为止 结构化分析方法中的抽象与分解 抽象:从作为整体的软件系统开始(第一层),每一抽象层次上只关注于系统的输入输出 分解:将系统不断分解为子系统、模块…… 随着分解层次的增加,抽象的级别越来越低,也越接近问题的解(算法和数据结构) 结构化分析过程 理解当前的现实环境,获得当前系统的具体模型(物理模型) 从当前系统的具体模型抽象出当前系统的逻辑模型 分析目标系统与当前系统逻辑上的差别,建立目标系统的逻辑模型 为目标系统的逻辑模型作补充 结构化分析模型的描述 数据字典是模型的核心,它包含了软件使用和产生所有数据的描述 数据流图:用于功能建模,描述系统的输入数据流如何经过一系列的加工变换逐步变换成系统的输出数据流 实体—关系图:用于数据建模,描述数据字典中数据之间的关系 内容摘要 结构化分析方法概述 数据流图 分层数据流图的审查 数据字典 描述基本加工的小说明 结构化设计概述 数据流图到软件体系结构的映射 初始结构图的改进 小结 数据流图 Data Flow Diagram(简称DFD):描述输入数据流到输出数据流的变换(即加工)过程,用于对系统的功能建模,基本元素包括: 源或宿 存在于软件系统之外的人员或组织,表示软件系统输入数据的来源和输出数据的去向,因此也称为源点和终点 例如,对一个考务处理系统而言 考生向系统提供报名单(输入数据流),所以考生是考试系统(软件)的一个源 考务处理系统要将考试成绩的统计分析表(输出数据流)传递给考试中心,所以考试中心是该系统的一个宿 源或宿用相同的图形符号表示 当数据流从该符号流出时表示是源 当数据流流向该符号时表示是宿 当两者皆有时表示既是源又是宿 加工和文件 加工:描述输入数据流到输出数据流的变换 每个加工用一个定义明确的名字标识 至少有一个输入数据流和一个输出流 可以有多个输入数据流和多个输出数据流 文件:保存数据信息的外部单元 每个文件用一个定义明确的名字标识 由加工进行读写 DFD中称为文件,但在具体实现时可以用文件系统实现也可以用数据库系统等实现 数据流 每个数据流用由一组固定成分的数据组成并拥有一个定义明确的名字标识 如:运动会管理系统中,报名单(数据流)由队名、姓名、性别、参赛项目等数据组成 数据流的流向 从一个加工流向另一个加工 从加工流向文件(写文件) 从文件流向加工(读文件) 从源流向加工 从加工流向宿 示例:图书订购系统DFD 数据流图的扩充符号 描述一个加工的多个数据流之间的关系 星号(*):表示数据流之间存在“与”关系 所有输入数据流同时存在时,才能进行加工处理 或加工处理的结果是同时产生所有输出数据流 加号(+):表示数据流之间存在“或”关系 至少存在一个输入数据流时才能进行加工处理 或加工处理的结果是至少产生一个输出数据流 异或(⊕):表示数据流之间存在“异或”(互斥)关系 必须存在且仅存在一个输入数据流时,才能进行加工处理 或加工处理的结果是产生且仅产生一个输出数据流 对数据流图进行分层 George Miller在著名的论文“神奇的数字7加减2:我们处理信息的能力的某种限制”中指出:人们在一段时间内的短期记忆似乎限制在5~9件事情之内 根据自顶向下逐层分解的思想将数据流图画成层次结构 每个层次画在独立的数据流图中,加工个数可大致控制在“7加减2”的范围中 数据流图的各个层次 顶层图只有代表整个软件系统的1个加工,描述了软件系统与外界(源或宿)之间的数据流 顶层图中的加工经分解后的图称为0层图(只有1张) 中间层图中至少有一个加工(也可以有多个)在下层图中分解成一张子图
文档评论(0)