清华软件工程:第05章-结构化分析与设计ppt课件.ppt
《清华软件工程:第05章-结构化分析与设计ppt课件.ppt》由会员分享,可在线阅读,更多相关《清华软件工程:第05章-结构化分析与设计ppt课件.ppt(110页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、复旦大学计算机科学与工程系 软件工程课程1我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程2 一种面向数据流的传统软件开发方法一种面向数据流的传统软件开发方法 以数据流为中心构建软件的分析模型以数据流为中心构建软件的分析模型和设计模型和设计模型 分为:分为: 结构化分析(Structured Analysis 简称SA) 结构化设计(Structuresd Design 简称SD) 结构化程序设计(Structured Progr
2、ammin 简称SP)我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程3 结构化分析方法概述结构化分析方法概述 数据流图数据流图 分层数据流图的审查分层数据流图的审查 数据字典数据字典 描述基本加工的小说明描述基本加工的小说明 结构化设计概述结构化设计概述 数据流图到软件体系结构的映射数据流图到软件体系结构的映射 初始结构图的改进初始结构图的改进 小结小结我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢
3、?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程4 数据流图数据流图 分层数据流图的审查分层数据流图的审查 数据字典数据字典 描述基本加工的小说明描述基本加工的小说明 结构化设计概述结构化设计概述 数据流图到软件体系结构的映射数据流图到软件体系结构的映射 初始结构图的改进初始结构图的改进 小结小结我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课
4、程5 发展历史发展历史 提出:20世纪60年代末到70年代初 成熟:20世纪70年代末到80年代中期 主要思想:主要思想:抽象抽象与自顶向下的逐层与自顶向下的逐层分解分解(控制复杂性的两个基本手段控制复杂性的两个基本手段) 抽象:在每个抽象层次上忽略问题的内部复杂性,只关注整个问题与外界的联系 分解:将问题不断分解为较小的问题,直到每个最底层的问题都足够简单为止我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程6 抽象:从作为整体的
5、软件系统开始抽象:从作为整体的软件系统开始(第一层第一层),每一每一抽象层次上只关注于系统的输入输出抽象层次上只关注于系统的输入输出 分解:将系统不断分解为子系统、模块分解:将系统不断分解为子系统、模块 随着分解层次的增加,抽象的级别越来越低,也随着分解层次的增加,抽象的级别越来越低,也越接近问题的解越接近问题的解(算法和数据结构算法和数据结构)2.42.32.22.121431.31.21.1X我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课
6、程软件工程课程7 理解当前的现实环境,获得当前系统的具理解当前的现实环境,获得当前系统的具体模型体模型(物理模型物理模型) 从当前系统的具体模型抽象出当前系统的从当前系统的具体模型抽象出当前系统的逻辑模型逻辑模型 分析目标系统与当前系统逻辑上的差别,分析目标系统与当前系统逻辑上的差别,建立目标系统的逻辑模型建立目标系统的逻辑模型 为目标系统的逻辑模型作补充为目标系统的逻辑模型作补充我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程8
7、 数据字典是模型的核心,它数据字典是模型的核心,它包含了软件使用和产生所有包含了软件使用和产生所有数据的描述数据的描述 数据流图:用于功能建模,数据流图:用于功能建模,描述系统的输入数据流如何描述系统的输入数据流如何经过一系列的加工变换逐步经过一系列的加工变换逐步变换成系统的输出数据流变换成系统的输出数据流 实体实体关系图:用于数据建关系图:用于数据建模,描述数据字典中数据之模,描述数据字典中数据之间的关系间的关系实体实体-关系图关系图 数据流图数据流图状态转换图状态转换图数据数据字典字典 状态转换图:用于行为建模,描述系统接收哪些外状态转换图:用于行为建模,描述系统接收哪些外部事件,以及在外
8、部事件的作用下的状态迁移情况部事件,以及在外部事件的作用下的状态迁移情况我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程9 结构化分析方法概述结构化分析方法概述 分层数据流图的审查分层数据流图的审查 数据字典数据字典 描述基本加工的小说明描述基本加工的小说明 结构化设计概述结构化设计概述 数据流图到软件体系结构的映射数据流图到软件体系结构的映射 初始结构图的改进初始结构图的改进 小结小结我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什
9、么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程10 Data Flow Diagram(简称简称DFD):描述输入:描述输入数据流到输出数据流的变换数据流到输出数据流的变换(即加工即加工)过程,过程,用于对系统的功能建模,基本元素包括:用于对系统的功能建模,基本元素包括:数据流数据流(data flow):由一组固定成分的数据组成,代表:由一组固定成分的数据组成,代表数据的流动方向数据的流动方向加工加工(process):描述了输入数据流到输出数据流的变换,:描述了输入数
10、据流到输出数据流的变换,即将输入数据流加工成输出数据流即将输入数据流加工成输出数据流文件文件(file):使用文件、数据库等保存某些数据结果供以:使用文件、数据库等保存某些数据结果供以后使用后使用源或宿源或宿(source or sink):由一组固定成分的数据组成,:由一组固定成分的数据组成,代表数据的流动方向代表数据的流动方向我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程11 存在于软件系统之外的人员或组织,表示软件存在于软
11、件系统之外的人员或组织,表示软件系统输入数据的来源和输出数据的去向,因此系统输入数据的来源和输出数据的去向,因此也称为源点和终点也称为源点和终点 例如,对一个考务处理系统而言 考生向系统提供报名单考生向系统提供报名单(输入数据流输入数据流),所以考生是考试系统,所以考生是考试系统(软件软件)的一个源的一个源 考务处理系统要将考试成绩的统计分析表考务处理系统要将考试成绩的统计分析表(输出数据流输出数据流)传递传递给考试中心,所以考试中心是该系统的一个宿给考试中心,所以考试中心是该系统的一个宿 源或宿用相同的图形符号表示源或宿用相同的图形符号表示 当数据流从该符号流出时表示是源当数据流从该符号流出
12、时表示是源 当数据流流向该符号时表示是宿当数据流流向该符号时表示是宿 当两者皆有时表示既是源又是宿当两者皆有时表示既是源又是宿 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程12 加工:描述输入数据流到输出数据流加工:描述输入数据流到输出数据流的变换的变换 每个加工用一个定义明确的名字标识 至少有一个输入数据流和一个输出流 可以有多个输入数据流和多个输出数据流 文件:保存数据信息的外部单元文件:保存数据信息的外部单元 每个文件用
13、一个定义明确的名字标识 由加工进行读写 DFD中称为文件,但在具体实现时可以用文件系统实现也可以用数据库系统等实现我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程13 每个数据流用由一组固定成分的数据组成每个数据流用由一组固定成分的数据组成并拥有一个定义明确的名字标识并拥有一个定义明确的名字标识 如:运动会管理系统中,报名单(数据流)由队名、姓名、性别、参赛项目等数据组成 数据流的流向数据流的流向 从一个加工流向另一个加工 从加工
14、流向文件(写文件) 从文件流向加工(读文件) 从源流向加工 从加工流向宿我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程14图书库存入库单 图书代理商书库管理收费制作财务报表财务报表经理帐务数据库制作发书单图书订购核准的订购单发书单订购单顾客顾客收费数据帐单我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物复旦大学计算机科学与工程系复旦大学计算机
15、科学与工程系 软件工程课程软件工程课程15 描述一个加工的多个数据流之间的关系描述一个加工的多个数据流之间的关系 星号():表示数据流之间存在“与”关系 所有输入数据流同时存在时,才能进行加工处理所有输入数据流同时存在时,才能进行加工处理 或加工处理的结果是同时产生所有输出数据流或加工处理的结果是同时产生所有输出数据流 加号():表示数据流之间存在“或”关系 至少存在一个输入数据流时才能进行加工处理至少存在一个输入数据流时才能进行加工处理 或加工处理的结果是至少产生一个输出数据流或加工处理的结果是至少产生一个输出数据流 异或( ):表示数据流之间存在“异或”(互斥)关系 必须存在且仅存在一个输
16、入数据流时,才能进行加工处理必须存在且仅存在一个输入数据流时,才能进行加工处理 或加工处理的结果是产生且仅产生一个输出数据流或加工处理的结果是产生且仅产生一个输出数据流我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程16 George Miller在著名的论文在著名的论文“神奇的数神奇的数字字7加减加减2:我们处理信息的能力的某种:我们处理信息的能力的某种限制限制”中指出:人们在一段时间内的短期中指出:人们在一段时间内的短期记忆似
17、乎限制在记忆似乎限制在59件事情之内件事情之内 根据自顶向下逐层分解的思想将数据流图根据自顶向下逐层分解的思想将数据流图画成层次结构画成层次结构 每个层次画在独立的数据流图中,加工个每个层次画在独立的数据流图中,加工个数可数可大致大致控制在控制在“7加减加减2”的范围中的范围中我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程17 顶层图只有代表整个软件系统的顶层图只有代表整个软件系统的1个加工,个加工,描述了软件系统与外界描述了软
18、件系统与外界(源或宿源或宿)之间的数之间的数据流据流 顶层图中的加工经分解后的图称为顶层图中的加工经分解后的图称为0层图层图(只有只有1张张) 中间层图中至少有一个加工中间层图中至少有一个加工(也可以有多也可以有多个个)在下层图中分解成一张子图在下层图中分解成一张子图 处于最底层的图称为底层图,其中所有的处于最底层的图称为底层图,其中所有的加工不再分解成新的子图加工不再分解成新的子图我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程
19、18 顶层图只有一个代表整个软件系统的加工,顶层图只有一个代表整个软件系统的加工,该加工不必编号。该加工不必编号。 0层图中的加工编号分别为层图中的加工编号分别为1,2,3, 子图号:若父图中的加工号子图号:若父图中的加工号x分解成某一分解成某一子图,则该子图号记为子图,则该子图号记为“图图x” 子图中加工的编号:若父图中的加工号为子图中加工的编号:若父图中的加工号为x的加工分解成某一子图,则该子图中的的加工分解成某一子图,则该子图中的加工编号分别为加工编号分别为x.1、x.2、x.3我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没
20、有错:表里边有一个活的生物复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程19 简化的资格和水平考试的考务处理系统简化的资格和水平考试的考务处理系统 分成多个级别,如初级程序员、程序员、分成多个级别,如初级程序员、程序员、高级程序员、系统分析员等,凡满足一定高级程序员、系统分析员等,凡满足一定条件的考生都可参加某一级别的考试条件的考生都可参加某一级别的考试 考试的合格标准将根据每年的考试成绩由考试的合格标准将根据每年的考试成绩由考试中心确定考试中心确定 考试的阅卷由阅卷站进行,因此,阅卷工考试的阅卷由阅卷站进行,因此,阅卷工作不包含在软件系统中作不包含在软件系统中
21、我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程20 1对考生送来的报名单进行检查对考生送来的报名单进行检查 2对合格的报名单编好准考证号后将准考证送对合格的报名单编好准考证号后将准考证送给考生,并将汇总后的考生名单送给阅卷站给考生,并将汇总后的考生名单送给阅卷站 3对阅卷站送来的成绩清单进行检查,并根据对阅卷站送来的成绩清单进行检查,并根据考试中心制订的合格标准审定合格者考试中心制订的合格标准审定合格者 4制作考生通知单送给考生
22、制作考生通知单送给考生 5进行成绩分类统计进行成绩分类统计(按地区、年龄、文化程按地区、年龄、文化程度、职业、考试级别等分类度、职业、考试级别等分类)和试题难度分析,和试题难度分析,产生统计分析表产生统计分析表我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程21 报名单地区序号姓名文化程度职业报名单地区序号姓名文化程度职业考试级别通信地址考试级别通信地址 正式报名单准考证号报名单正式报名单准考证号报名单 准考证地区序号姓名准考证号
23、考试准考证地区序号姓名准考证号考试级别考场级别考场 考生名单准考证号考试级别考生名单准考证号考试级别其中其中w表示表示w重复多次重复多次 考生名册正式报名单考生名册正式报名单 统计分析表分类统计表难度分析表统计分析表分类统计表难度分析表 考生通知单准考证号姓名通信地址考考生通知单准考证号姓名通信地址考试级别考试成绩合格标志试级别考试成绩合格标志我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程22 确定源或宿:考生、阅卷站和考试中心
24、确定源或宿:考生、阅卷站和考试中心它们都既是源又是宿 顶层图唯一的加工:顶层图唯一的加工:软件系统软件系统(考务处理系统考务处理系统) 确定数据流:系统的输入确定数据流:系统的输入/输出信息输出信息输入数据流:报名单(来自考生)、成绩清单(来自阅卷站)、合格标准(来自考试中心)输出数据流:准考证(送往考生)、考生名单(送往阅卷站)、考生通知书(送往考生)、统计分析表(送往考试中心)额外的输出流(考虑系统的健壮性):不合格报名单(返回给考生),错误成绩清单(返回给阅卷站) 顶层图通常没有文件顶层图通常没有文件我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感
25、到愉快,证实我的猜测没有错:表里边有一个活的生物复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程23考务处理系统考试中心考生不合格报名单阅卷站错误成绩清单成绩清单考生名单合格标准报名单准考证考生通知单统计分析表我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物复旦大学计算机科学与工程系复旦大学计算机科学与工程系 软件工程课程软件工程课程24 以下确定加工、数据流、文件、源或宿的以下确定加工、数据流、文件、源或宿的一般方法适用于一般方法适用于0层图及其各层子图层图及其各层子图 确定
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 清华 软件工程 05 结构 化分 设计 ppt 课件
限制150内