版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第5章 构造化分析与设计 一种面向数据流的传统软件开发方法一种面向数据流的传统软件开发方法 以数据流为中心构建软件的分析模型以数据流为中心构建软件的分析模型和设计模型和设计模型 分为:分为: 构造化分析构造化分析(Structured Analysis 简称简称SA) 构造化设计构造化设计(Structuresd Design 简简称称SD) 构造化程序设计构造化程序设计(Structured Programmin 简称简称SP) 构造化分析方法概述构造化分析方法概述 数据流图数据流图 分层数据流图的审查分层数据流图的审查 数据字典数据字典 描画根本加工的小阐明描画根本加工的小阐明 构造化设计
2、概述构造化设计概述 数据流图到软件体系构造的映射数据流图到软件体系构造的映射 初始构造图的改良初始构造图的改良 小结小结 开展历史开展历史 提出:提出:20世纪世纪60年代末到年代末到70年代初年代初 成熟:成熟:20世纪世纪70年代末到年代末到80年代中期年代中期 主要思想:笼统与自顶向下的逐层分解主要思想:笼统与自顶向下的逐层分解(控制复杂性的两个根本手段控制复杂性的两个根本手段) 笼统:在每个笼统层次上忽略问题的内部笼统:在每个笼统层次上忽略问题的内部复杂性,只关注整个问题与外界的联络复杂性,只关注整个问题与外界的联络 分解:将问题不断分解为较小的问题,直分解:将问题不断分解为较小的问题
3、,直到每个最底层的问题都足够简单为止到每个最底层的问题都足够简单为止 笼统:从作为整体的软件系统开场笼统:从作为整体的软件系统开场(第一层第一层),每一每一笼统层次上只关注于系统的输入输出笼统层次上只关注于系统的输入输出 分解:将系统不断分解为子系统、模块分解:将系统不断分解为子系统、模块 随着分解层次的添加,笼统的级别越来越低,也随着分解层次的添加,笼统的级别越来越低,也越接近问题的解越接近问题的解(算法和数据构造算法和数据构造)2.42.32.22.121431.31.21.1X 了解当前的现实环境,获得当前系统的详了解当前的现实环境,获得当前系统的详细模型细模型(物理模型物理模型) 从当
4、前系统的详细模型笼统出当前系统的从当前系统的详细模型笼统出当前系统的逻辑模型逻辑模型 分析目的系统与当前系统逻辑上的差别,分析目的系统与当前系统逻辑上的差别,建立目的系统的逻辑模型建立目的系统的逻辑模型 为目的系统的逻辑模型作补充为目的系统的逻辑模型作补充 数据字典是模型的中心,它数据字典是模型的中心,它包含了软件运用和产生一切包含了软件运用和产生一切数据的描画数据的描画 数据流图:用于功能建模,数据流图:用于功能建模,描画系统的输入数据流如何描画系统的输入数据流如何经过一系列的加工变换逐渐经过一系列的加工变换逐渐变换成系统的输出数据流变换成系统的输出数据流 实体实体关系图:用于数据建关系图:
5、用于数据建模,描画数据字典中数据之模,描画数据字典中数据之间的关系间的关系实体实体-关系图关系图 数据流图数据流图形状转换图形状转换图数据数据字典字典 形状转换图:用于行为建模,描画系统接纳哪些外形状转换图:用于行为建模,描画系统接纳哪些外部事件,以及在外部事件的作用下的形状迁移情况部事件,以及在外部事件的作用下的形状迁移情况 5.1构造化分析方法概述构造化分析方法概述 5.2数据流图数据流图 5.3分层数据流图的审查分层数据流图的审查 5.4数据字典数据字典 5.5描画根本加工的小阐明描画根本加工的小阐明 5.6构造化设计概述构造化设计概述 5.7数据流图到软件体系构造的映射数据流图到软件体
6、系构造的映射 5.8初始构造图的改良初始构造图的改良 小结小结 Data Flow Diagram(简称简称DFD):描画:描画输入数据流到输出数据流的变换输入数据流到输出数据流的变换(即加即加工工)过程,用于对系统的功能建模。过程,用于对系统的功能建模。 Data Flow Diagram(简称简称DFD):描画:描画输入数据流到输出数据流的变换输入数据流到输出数据流的变换(即加即加工工)过程,用于对系统的功能建模。过程,用于对系统的功能建模。数据流数据流(data flow):由一组固定成分的数据组成,代表:由一组固定成分的数据组成,代表数据的流动方向数据的流动方向加工加工(process
7、):描画了输入数据流到输出数据流的变换,:描画了输入数据流到输出数据流的变换,即将输入数据流加工成输出数据流即将输入数据流加工成输出数据流文件文件(file):运用文件、数据库等保管某些数据结果供以:运用文件、数据库等保管某些数据结果供以后运用后运用源或宿源或宿(source or sink):由一组固定成分的数据组成,:由一组固定成分的数据组成,代表数据的流动方向代表数据的流动方向 存在于软件系统之外的人员或组织,表示软件存在于软件系统之外的人员或组织,表示软件系统输入数据的来源和输出数据的去向,因此系统输入数据的来源和输出数据的去向,因此也称为源点和终点也称为源点和终点 例如,对一个考务处
8、置系统而言例如,对一个考务处置系统而言 考生向系统提供报名单考生向系统提供报名单(输入数据流输入数据流),所以考,所以考生是考试系统生是考试系统(软件软件)的一个源的一个源 考务处置系统要将考试成果的统计分析表考务处置系统要将考试成果的统计分析表(输出输出数据流数据流)传送给考试中心,所以考试中心是该系传送给考试中心,所以考试中心是该系统的一个宿统的一个宿 源或宿用一样的图形符号表示源或宿用一样的图形符号表示 当数据流从该符号流出时表示是源当数据流从该符号流出时表示是源 当数据流流向该符号时表示是宿当数据流流向该符号时表示是宿 当两者皆有时表示既是源又是宿当两者皆有时表示既是源又是宿 加工:描
9、画输入数据流到输出数据流加工:描画输入数据流到输出数据流的变换的变换 每个加工用一个定义明确的名字标识每个加工用一个定义明确的名字标识 至少有一个输入数据流和一个输出流至少有一个输入数据流和一个输出流 可以有多个输入数据流和多个输出数可以有多个输入数据流和多个输出数据流据流 文件:保管数据信息的外部单元文件:保管数据信息的外部单元 每个文件用一个定义明确的名字标识每个文件用一个定义明确的名字标识 由加工进展读写由加工进展读写 DFD中称为文件,但在详细实现时可中称为文件,但在详细实现时可以用文件系统实现也可以用数据库系以用文件系统实现也可以用数据库系统等实现统等实现 每个数据流用由一组固定成分
10、的数据组成每个数据流用由一组固定成分的数据组成并拥有一个定义明确的名字标识并拥有一个定义明确的名字标识 如:运动会管理系统中,报名单如:运动会管理系统中,报名单(数据流数据流)由队名、姓名、性别、参赛工程等数据组由队名、姓名、性别、参赛工程等数据组成成 数据流的流向数据流的流向 从一个加工流向另一个加工从一个加工流向另一个加工 从加工流向文件从加工流向文件(写文件写文件) 从文件流向加工从文件流向加工(读文件读文件) 从源流向加工从源流向加工 从加工流向宿从加工流向宿图书库存入库单 图书代理商书库管理收费制造财务报表财务报表经理帐务数据库制造发书单图书订购核准的订购单发书单订购单顾客顾客收费数
11、据帐单 描画一个加工的多个数据流之间的关系描画一个加工的多个数据流之间的关系 星号星号():表示数据流之间存在:表示数据流之间存在“与与关系关系 一切输入数据流同时存在时,才干进展一切输入数据流同时存在时,才干进展加工处置加工处置 或加工处置的结果是同时产生一切输出或加工处置的结果是同时产生一切输出数据流数据流 加号加号():表示数据流之间存在:表示数据流之间存在“或或关系关系 至少存在一个输入数据流时才干进展加至少存在一个输入数据流时才干进展加工处置工处置 或加工处置的结果是至少产生一个输出或加工处置的结果是至少产生一个输出数据流数据流 异或异或( ):表示数据流之间存在:表示数据流之间存在
12、“异或异或(互斥互斥)关系关系 必需存在且仅存在一个输入数据流时,必需存在且仅存在一个输入数据流时,才干进展加工处置才干进展加工处置 或加工处置的结果是产生且仅产生一个或加工处置的结果是产生且仅产生一个输出数据流输出数据流TAB*CTAB*CTAB+CTAB+CTABC+TABC+ George Miller在著名的论文在著名的论文“神奇的数神奇的数字字7加减加减2:我们处置信息的才干的某种:我们处置信息的才干的某种限制中指出:人们在一段时间内的短期限制中指出:人们在一段时间内的短期记忆似乎限制在记忆似乎限制在59件事情之内件事情之内 根据自顶向下逐层分解的思想将数据流图根据自顶向下逐层分解的
13、思想将数据流图画成层次构造画成层次构造 每个层次画在独立的数据流图中,加工个每个层次画在独立的数据流图中,加工个数可大致控制在数可大致控制在“7加减加减2的范围中的范围中 顶层图只需代表整个软件系统的顶层图只需代表整个软件系统的1个加工,个加工,描画了软件系统与外界描画了软件系统与外界(源或宿源或宿)之间的数之间的数据流据流 顶层图中的加工经分解后的图称为顶层图中的加工经分解后的图称为0层图层图(只需只需1张张) 中间层图中至少有一个加工中间层图中至少有一个加工(也可以有多也可以有多个个)在下层图中分解成一张子图在下层图中分解成一张子图 处于最底层的图称为底层图,其中一切的处于最底层的图称为底
14、层图,其中一切的加工不再分解成新的子图加工不再分解成新的子图 顶层图只需一个代表整个软件系统的加工,顶层图只需一个代表整个软件系统的加工,该加工不用编号。该加工不用编号。 0层图中的加工编号分别为层图中的加工编号分别为1,2,3, 子图号:假设父图中的加工号子图号:假设父图中的加工号x分解成某分解成某一子图,那么该子图号记为一子图,那么该子图号记为“图图x 子图中加工的编号:假设父图中的加工号子图中加工的编号:假设父图中的加工号为为x的加工分解成某一子图,那么该子图的加工分解成某一子图,那么该子图中的加工编号分别为中的加工编号分别为x.1、x.2、x.3X1321.11.21.41.32.12
15、.21.1.11.1.22.1.32.1.22.1.12.2.22.2.32.2.1顶顶层层中中 间间 层层底底 层层0图1图2图 1画系统顶层图画系统顶层图 2画系统内部画系统内部 3画加工内部画加工内部 4反复第反复第3步,直至每个尚未分解的加步,直至每个尚未分解的加工都足够简单工都足够简单(即不用再分解即不用再分解) 简化的资历和程度考试的考务处置系统简化的资历和程度考试的考务处置系统 分成多个级别,如初级程序员、程序员、分成多个级别,如初级程序员、程序员、高级程序员、系统分析员等,凡满足一定高级程序员、系统分析员等,凡满足一定条件的考生都可参与某一级别的考试条件的考生都可参与某一级别的
16、考试 考试的合格规范将根据每年的考试成果由考试的合格规范将根据每年的考试成果由考试中心确定考试中心确定 考试的阅卷由阅卷站进展,因此,阅卷任考试的阅卷由阅卷站进展,因此,阅卷任务不包含在软件系统中务不包含在软件系统中 1对考生送来的报名单进展检查对考生送来的报名单进展检查 2对合格的报名单编好准考证号后将准考证送对合格的报名单编好准考证号后将准考证送给考生,并将汇总后的考生名单送给阅卷站给考生,并将汇总后的考生名单送给阅卷站 3对阅卷站送来的成果清单进展检查,并根据对阅卷站送来的成果清单进展检查,并根据考试中心制定的合格规范审定合格者考试中心制定的合格规范审定合格者 4制造考生通知单送给考生制
17、造考生通知单送给考生 5进展成果分类统计进展成果分类统计(按地域、年龄、文化程按地域、年龄、文化程度、职业、考试级别等分类度、职业、考试级别等分类)和试题难度分析,和试题难度分析,产生统计分析表产生统计分析表 报名单地域序号姓名文化程度职业报名单地域序号姓名文化程度职业考试级别通讯地址考试级别通讯地址 正式报名单准考证号报名单正式报名单准考证号报名单 准考证地域序号姓名准考证号考试准考证地域序号姓名准考证号考试级别考场级别考场 考生名单准考证号考试级别考生名单准考证号考试级别其中其中w表示表示w反复多次反复多次 考生名册正式报名单考生名册正式报名单 统计分析表分类统计表难度分析表统计分析表分类
18、统计表难度分析表 考生通知单准考证号姓名通讯地址考考生通知单准考证号姓名通讯地址考试级别考试成果合格标志试级别考试成果合格标志 确定源或宿:考生、阅卷站和考试中心确定源或宿:考生、阅卷站和考试中心 它们都既是源又是宿它们都既是源又是宿 顶层图独一的加工:软件系统顶层图独一的加工:软件系统(考务处置考务处置系统系统) 确定数据流:系统的输入确定数据流:系统的输入/输出信息输出信息 输入数据流:报名单输入数据流:报名单(来自考生来自考生)、成果清、成果清单单(来自阅卷站来自阅卷站)、合格规范、合格规范(来自考试中心来自考试中心) 输出数据流:准考证输出数据流:准考证(送往考生送往考生)、考生名、考
19、生名单单(送往阅卷站送往阅卷站)、考生通知书、考生通知书(送往考生送往考生)、统计分析表统计分析表(送往考试中心送往考试中心) 额外的输出流额外的输出流(思索系统的强壮性思索系统的强壮性):不合:不合格报名单格报名单(前往给考生前往给考生),错误成果清单,错误成果清单(前前往给阅卷站往给阅卷站) 顶层图通常没有文件顶层图通常没有文件考务处置系统考试中心考生不合格报名单阅卷站错误成果清单成果清单考生名单合格规范报名单准考证考生通知单统计分析表 以下确定加工、数据流、文件、源或宿的以下确定加工、数据流、文件、源或宿的普通方法适用于普通方法适用于0层图及其各层子图层图及其各层子图 确定加工:将父图中
20、某加工分解而成的子确定加工:将父图中某加工分解而成的子加工加工 根据功能分解来确定加工:将一个复杂的根据功能分解来确定加工:将一个复杂的功能分解成假设干个较小的功能,较多运功能分解成假设干个较小的功能,较多运用于高层用于高层DFD中的分解中的分解 根据业务处置流程确定加工:分析父图中根据业务处置流程确定加工:分析父图中待分解加工的业务处置流程,业务流程中待分解加工的业务处置流程,业务流程中的每一步都能够是一个子加工的每一步都能够是一个子加工 特别要留意在业务流程中数据流发生变化特别要留意在业务流程中数据流发生变化或数据流的值发生变化的地方,应该存在或数据流的值发生变化的地方,应该存在一个加工,
21、例如:一个加工,例如:编制准考证号正式报名单合格报名单 确定数据流确定数据流 在父图中某加工分解而成的子图中,父图在父图中某加工分解而成的子图中,父图中相应加工的输入中相应加工的输入/输出数据流都是且仅输出数据流都是且仅是子图边境上的输入是子图边境上的输入/输出数据流输出数据流 分解后的子加工之间应增添相应的新数据分解后的子加工之间应增添相应的新数据流表示加工过程中的中间数据流表示加工过程中的中间数据 假设某些中间数据需求保管以备后用,那假设某些中间数据需求保管以备后用,那么可以成为流向文件的数据流么可以成为流向文件的数据流 同一个源或加工可以有多个数据流流向一同一个源或加工可以有多个数据流流
22、向一个加工,假设它们不是一同到达和一同加个加工,假设它们不是一同到达和一同加工的,那么可以将它们分成假设干个数据工的,那么可以将它们分成假设干个数据流,例如:流,例如:读取银行卡信息客户银行卡数据密码 确定文件确定文件 假设父图中该加工存在读写文件的数据流,假设父图中该加工存在读写文件的数据流,那么相应的文件和数据流都应画在子图中那么相应的文件和数据流都应画在子图中 在分解子图中,假设需求保管某些中间数在分解子图中,假设需求保管某些中间数据以备后用,那么可以将这些数据组成一据以备后用,那么可以将这些数据组成一个新的文件个新的文件 新文件新文件(初次出现的文件初次出现的文件)至少应有一个加至少应
23、有一个加工为其写入记录,同时至少存在另一个加工为其写入记录,同时至少存在另一个加工来读该文件的记录工来读该文件的记录 留意:从父图中承继下来的文件在子图中留意:从父图中承继下来的文件在子图中能够只对其进展读,或只进展写能够只对其进展读,或只进展写 确定源和宿确定源和宿 0层图和其它子图中通常不用画出源和宿层图和其它子图中通常不用画出源和宿 有时为了提高可读性,可以将顶层图中的有时为了提高可读性,可以将顶层图中的源和宿画在源和宿画在0层图中层图中 最终得到考务处置系统最终得到考务处置系统0层图层图 根据功能分解方法识别出两个加工:考试根据功能分解方法识别出两个加工:考试报名、统计成果报名、统计成
24、果 数据流数据流 承继顶层图中的输入数据流和输出数据流承继顶层图中的输入数据流和输出数据流 定义二个加工之间的数据流:由于这二个定义二个加工之间的数据流:由于这二个加工分别在考试前后进展,因此登记报名加工分别在考试前后进展,因此登记报名单所产生的结果单所产生的结果“考生名册应作为文件考生名册应作为文件保管以便考试后由统计成果加工援用保管以便考试后由统计成果加工援用考生名册1考试报名报名单考生名单不合格报名单准考证2统计成果统计分析表合格规范考生通知单错误成果清单成果清单 复杂的加工可以继续分解成复杂的加工可以继续分解成1张张DFD子图子图 分解方法分解方法 将该加工看作一个小系统,该加工的输入
25、将该加工看作一个小系统,该加工的输入/输出数据流就是这个假设的小系统的输入输出数据流就是这个假设的小系统的输入/输出数据流输出数据流 然后采用画然后采用画0层图的方法,画出该加工的子层图的方法,画出该加工的子图图 以以0层图中加工层图中加工1(考试报名考试报名)为例为例 根据业务处置流程来确定由加工根据业务处置流程来确定由加工1的分解的分解 与加工与加工1相关的业务流程:首先检查考生送相关的业务流程:首先检查考生送来的报名单,然后编准考证号,并产生准考来的报名单,然后编准考证号,并产生准考证,最后产生考生名单和考生名册证,最后产生考生名单和考生名册(文件文件) 3个子加工:检查报名单、编准考证
26、号、登记考个子加工:检查报名单、编准考证号、登记考生生 “合格报名单和合格报名单和“正式报名单是新添加的正式报名单是新添加的数据流,其它数据流都是加工数据流,其它数据流都是加工1原有的原有的 在加工在加工1的分解中没有新的文件产生的分解中没有新的文件产生1.3登记考生考生名单1.2编准考证号准考证 正式报名单1.1检查报名单合格报名单报名单不合格报名单考生名册2.5分析试题难度难度分析表2.4分类统计成果分类统计表考生名册2.3制造通知单考生通知单2.2审定合格者正式成果清单合格规范试题得分清单2.1检查成果清单成果清单正确成果清单错误成果清单 构造化分析方法概述构造化分析方法概述 数据流图数
27、据流图 分层数据流图的审查分层数据流图的审查 数据字典数据字典 描画根本加工的小阐明描画根本加工的小阐明 构造化设计概述构造化设计概述 数据流图到软件体系构造的映射数据流图到软件体系构造的映射 初始构造图的改良初始构造图的改良 小结小结 检查图中能否存在错误或不合理检查图中能否存在错误或不合理(不理想不理想)的部分的部分 一致性:分层一致性:分层DFD中不存在矛盾和冲突中不存在矛盾和冲突 完好性:分层完好性:分层DFD本身的完好性,即能否本身的完好性,即能否有脱漏的数据流、加工等元素有脱漏的数据流、加工等元素 本节将从分层本节将从分层DFD的一致性和完好性、构的一致性和完好性、构造分层造分层D
28、FD时需留意的问题以及分解程度时需留意的问题以及分解程度等几个方面来阐明如何审查分层等几个方面来阐明如何审查分层DFD的合的合理性理性 父图与子图平衡父图与子图平衡 任何一张任何一张DFD子图边境上的输入子图边境上的输入/输出数输出数据流必需与其父图中对应的加工的输入据流必需与其父图中对应的加工的输入/输出数据流坚持一致输出数据流坚持一致 数据守恒数据守恒 一个加工一切输出数据流中的数据,必需一个加工一切输出数据流中的数据,必需能从该加工的输入数据流中直接获得,或能从该加工的输入数据流中直接获得,或者能经过该加工的处置而产生者能经过该加工的处置而产生 多余的数据流:加工未运用其输入数据流多余的
29、数据流:加工未运用其输入数据流中的某些数据项中的某些数据项 部分文件部分文件 一个加工的输出数据流不能与该加工的输一个加工的输出数据流不能与该加工的输入数据流同名入数据流同名 加工加工2的输入数据流有的输入数据流有M和和N,输出数据,输出数据流是流是T 而子图而子图(右图右图)边境上的输入数据流是边境上的输入数据流是N,输出数据流是输出数据流是S和和T123ABCMNT2.12.22.3NPSTQ 留意:假设父图某加工的一个数据流,对应于子图中几留意:假设父图某加工的一个数据流,对应于子图中几个数据流,而子图中组成这些数据流的数据项全体正好个数据流,而子图中组成这些数据流的数据项全体正好等于父
30、图中的这个数据流,那么它们仍算是平衡的等于父图中的这个数据流,那么它们仍算是平衡的e2.52.42.32.22.1b2b1acdb21acde(a) 父图(b) 子图a:考生通知单;b:统计分析表;b1:分类统计表;b2:难度分析表;c:错误成果清单;d成果清单;e合格规范。由于由于“正式成果清单中短少正式成果清单中短少“考生通知单中考生通知单中的姓名、通讯地址等数据,这些数据也无法由加的姓名、通讯地址等数据,这些数据也无法由加工工2.3本人产生,因此,加工本人产生,因此,加工2.3不满足数据守恒不满足数据守恒的条件的条件考生名册2.5分析试题难度难度分析表2.4分类统计成果分类统计表2.3制
31、造通知单考生通知单2.2审定合格者正式成果清单合格规范试题得分清单2.1检查成果清单成果清单正确成果清单错误成果清单由此可见:由此可见:1.数据流的组成对数据流的组成对DFD是是有影响的有影响的2.构建构建DFD与建立数据字与建立数据字典应交替进展,以便于对典应交替进展,以便于对分层分层DFD的校验的校验 思索分层数据流中一个文件应画在哪些思索分层数据流中一个文件应画在哪些DFD中,中,而不该画在哪些而不该画在哪些DFD中中 任何一个文件都应同时包含读和写该文件的数任何一个文件都应同时包含读和写该文件的数据流,除非该文件是当前系统与另一个软件系据流,除非该文件是当前系统与另一个软件系统所共享统
32、所共享(应在需求阐明中指明应在需求阐明中指明) 在一张在一张DFD中当一个文件作为假设干个加工之中当一个文件作为假设干个加工之间的交界面间的交界面(一个写另一个读一个写另一个读)时该文件应画出时该文件应画出 在一张在一张DFD中当一个文件仅与一个加工进展读中当一个文件仅与一个加工进展读写操作,并且在该写操作,并且在该DFD的父的父(祖先祖先)图中未出现图中未出现过该文件那么该文件是相应加工的内部文件,过该文件那么该文件是相应加工的内部文件,在当前在当前DFD中不应画出中不应画出 一个文件一旦在某张一个文件一旦在某张DFD中画出,那么在它的中画出,那么在它的子孙图中应根据父图与子图平衡的原那么画
33、出子孙图中应根据父图与子图平衡的原那么画出该文件该文件 在子孙图中,这个文件能够只需读或写文件中在子孙图中,这个文件能够只需读或写文件中的一种数据流的一种数据流“试题得分清单文件是加工试题得分清单文件是加工2的部分文件,根据笼统原的部分文件,根据笼统原那么不应该将这类表示加工巧节的部分文件画在其父图那么不应该将这类表示加工巧节的部分文件画在其父图(如图如图c)中,正确的画法是图中,正确的画法是图a和和b21(a) 父图考生名册(b) 子图2.52.42.32.22.1试题得分清单考生名册(c) 含部分文件的父图21试题得分清单考生名册 同一个加工的输出数据流和输入数据流即同一个加工的输出数据流
34、和输入数据流即使组成成份一样,仍应对它们取不同的名使组成成份一样,仍应对它们取不同的名字,以表示它们是不同数据流字,以表示它们是不同数据流 例如,例如,“报名单和报名单和“合格报名单合格报名单 允许一个加工有二个一样的数据流分别流允许一个加工有二个一样的数据流分别流向二个不同的加工向二个不同的加工 每个加工至少有一个输入数据流和一个输出数每个加工至少有一个输入数据流和一个输出数据流据流 在整套分层数据流中,每个文件应至少有一个在整套分层数据流中,每个文件应至少有一个加工读该文件,有另一个加工写该文件加工读该文件,有另一个加工写该文件 分层数据流图中的每个数据流和文件都必需命分层数据流图中的每个
35、数据流和文件都必需命名名(除了流入或流出文件的数据流除了流入或流出文件的数据流),并坚持与,并坚持与数据字典的一致数据字典的一致 分层分层DFD中的每个根本加工中的每个根本加工(即不再分解子图的即不再分解子图的加工加工)都应有一个加工规约都应有一个加工规约 适当命名:每个数据流、加工、文件、源适当命名:每个数据流、加工、文件、源和宿都应被顺应地命名,名字应符合被命和宿都应被顺应地命名,名字应符合被命名对象的实践含义名对象的实践含义 名字应反映整个对象名字应反映整个对象(如数据流、加工如数据流、加工),而,而不是仅反映它的某一部分不是仅反映它的某一部分 防止运用空洞的、含义不清的名字,如数防止运
36、用空洞的、含义不清的名字,如数据、信息、处置、统计等据、信息、处置、统计等 假设发现某个数据流或加工难以命名时,假设发现某个数据流或加工难以命名时,往往是往往是DFD分解不当的征兆,此时应思索分解不当的征兆,此时应思索重新分解重新分解 画数据流而不是画控制流画数据流而不是画控制流 判别准那么:这条线上能否有数据流过判别准那么:这条线上能否有数据流过 防止一个加工有过多的数据流防止一个加工有过多的数据流 当一个加工存在许多数据流时往往意味着当一个加工存在许多数据流时往往意味着分解不合理分解不合理 处理方法:重新分解处理方法:重新分解 1)把需求重新分解的某张图把需求重新分解的某张图(含有该复杂加
37、含有该复杂加工的图工的图)的一切子图衔接成一张图的一切子图衔接成一张图 2)把衔接后的图重新划分成几个部分,使把衔接后的图重新划分成几个部分,使各部分之间的联络最小各部分之间的联络最小 3)重新定义父图,即第重新定义父图,即第2)步中的每个部分步中的每个部分作为父图中的一个加工作为父图中的一个加工 4)重新建立各子图,即第重新建立各子图,即第2)步中的每个部步中的每个部分都是一张子图分都是一张子图 5)为一切的加工重新命名和编号为一切的加工重新命名和编号( b ) 原加工2子图222.12.32.42.5HJICKLEMN( d ) 重新分解后的父图452321ABHGJICKLDEMFPN(
38、 a ) 原父图34512HABJICKLDEMFPNG( c ) 合并4532.42.52.22.12.31FABHJICKLDEMPNG 分解尽能够均匀分解尽能够均匀 理想目的:任何两个加工的分解层数之差理想目的:任何两个加工的分解层数之差不超越不超越1 应尽能够使分解均匀,对于分解不均匀的应尽能够使分解均匀,对于分解不均匀的情况应重新分解情况应重新分解 先思索稳定形状,忽略琐碎的枝节先思索稳定形状,忽略琐碎的枝节 先思索稳定形状下的各种问题,暂时不思先思索稳定形状下的各种问题,暂时不思索系统如何启动、如何终了、出错处置以索系统如何启动、如何终了、出错处置以及性能等问题及性能等问题 随时预
39、备重画随时预备重画 对于一个复杂的软件系统,往往要经过反对于一个复杂的软件系统,往往要经过反复多次的重画和修正才干构造出完好、合复多次的重画和修正才干构造出完好、合理、满足用户需求的分层理、满足用户需求的分层DFD 分析阶段脱漏下来的一个错误,到开发后分析阶段脱漏下来的一个错误,到开发后期要化费几百倍代价来纠正这个错误期要化费几百倍代价来纠正这个错误 可参照以下几条与分解有关的原那么:可参照以下几条与分解有关的原那么: 7加减加减2 分解应自然,概念上合理、明晰分解应自然,概念上合理、明晰 只需不影响只需不影响DFD的易了解性,可适当的易了解性,可适当多分解几个加工,以减少层数多分解几个加工,
40、以减少层数 普通说来,上层分解得快些普通说来,上层分解得快些(即多分即多分解几个加工解几个加工),下层分解得慢些,下层分解得慢些(即少即少分解几个加工分解几个加工) 分解要均匀分解要均匀1 问题描画:问题描画:1顾客将订票单交给预订系统顾客将订票单交给预订系统 1如是不合法订票单,那么输出无效订票信息;如是不合法订票单,那么输出无效订票信息; 2对合法的订票以及预交款要登录到一个记账文件中;对合法的订票以及预交款要登录到一个记账文件中; 3系统有航班目录文件,根据填写的施行时间和目的系统有航班目录文件,根据填写的施行时间和目的地为顾客安排航班;地为顾客安排航班; 4在获得正确航班信息和确认已交
41、了部分预付款时发在获得正确航班信息和确认已交了部分预付款时发出取票单,并记录到票单文件中;出取票单,并记录到票单文件中;2在指定日期内顾客用取票单换取机票在指定日期内顾客用取票单换取机票 1系统根据票单文件对取票单进展有效性检查,无效系统根据票单文件对取票单进展有效性检查,无效的输出无效取票信息;的输出无效取票信息; 2持有有效取票单的顾客在补交了剩余款后将获得机持有有效取票单的顾客在补交了剩余款后将获得机票;票; 3记账文件将被更新,机票以及顾客信息将被登录到记账文件将被更新,机票以及顾客信息将被登录到机票文件。机票文件。试根据要求画出分层的数据流图。试根据要求画出分层的数据流图。 2某培训
42、中心要研制一个计算机管理系统。它的业某培训中心要研制一个计算机管理系统。它的业务是:务是: 将学员发来的信件搜集分类后,按几种不同的情况将学员发来的信件搜集分类后,按几种不同的情况处置。处置。 1) 假设是报名的,那么将报名数据送给担任报名事假设是报名的,那么将报名数据送给担任报名事务的职员,他们将查阅课程文件,检查该课程能务的职员,他们将查阅课程文件,检查该课程能否额满,然后在学生文件、课程文件上登记,并否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学开出报告单交财务部门,财务人员开出发票给学生。生。 2) 假设是想注销原来已选修的课程,那么由注销人假设是
43、想注销原来已选修的课程,那么由注销人员在课程文件、学生文件和帐目文件上做相应的员在课程文件、学生文件和帐目文件上做相应的修正,并给学生注销单。修正,并给学生注销单。 3) 假设是付款的,那么由财务人员在帐目文件上登假设是付款的,那么由财务人员在帐目文件上登记,也给学生一张收费收据。记,也给学生一张收费收据。 要求:要求: 对以上问题画出数据流程图。对以上问题画出数据流程图。 3高孝录取统分子系统有如下功能:高孝录取统分子系统有如下功能: 1计算规范分:根据考生原始分计算,计算规范分:根据考生原始分计算,得到规范分,存入考生分数文件;得到规范分,存入考生分数文件; 2计算录取线分:根据规范分、招
44、生方计算录取线分:根据规范分、招生方案文件中的招生人数,计算录取线,存入案文件中的招生人数,计算录取线,存入录取线文件。录取线文件。 试根据要求画出该系统的数据流程图试根据要求画出该系统的数据流程图 4某网站发帖子系统有如下功能:某网站发帖子系统有如下功能:(1) 记录发帖内容:访客在表单中输入文字,记录发帖内容:访客在表单中输入文字,系统进展检查,无误后将内容存入文件。系统进展检查,无误后将内容存入文件。(2) 显示帖子内容:读出文件,按一定格式显示帖子内容:读出文件,按一定格式显示在屏幕上。显示在屏幕上。请根据要求画出该系统的数据流程图请根据要求画出该系统的数据流程图 5A校的考务系统具有
45、下述功能:输入报校的考务系统具有下述功能:输入报名单,自动编制准考证号,输出准考证号,名单,自动编制准考证号,输出准考证号,输入成果清单,输出成果通知单,输出成输入成果清单,输出成果通知单,输出成果分布单,输入合格规范、输出录取通知果分布单,输入合格规范、输出录取通知单,进展试题难度分析、输出难度分析表。单,进展试题难度分析、输出难度分析表。 6某校教务系统具备以下功能,输入用户某校教务系统具备以下功能,输入用户ID号及口令后,阅历证进入教务管理系统,号及口令后,阅历证进入教务管理系统,可进展如下功能的处置:可进展如下功能的处置: 查询成果:查询成果以及从名次表中查询成果:查询成果以及从名次表
46、中得到名次信息。得到名次信息。 学籍管理:根据学生总成果排知名次学籍管理:根据学生总成果排知名次信息。信息。 成果处置:处置单科成果并输入成果处置:处置单科成果并输入成果表中。成果表中。就以上系统功能画出就以上系统功能画出0层,层,1层的层的DFD图。图。 7某高校学分制学生选课系统,有如下要求:某高校学分制学生选课系统,有如下要求:学生根据学期开学开课清单填写选课单;学生根据学期开学开课清单填写选课单;学生选课系统对每个学生选课单进展处置,学生选课系统对每个学生选课单进展处置,根据教学方案检查该学生能否有尚未获得根据教学方案检查该学生能否有尚未获得学分的必修课,假设有那么要求重修;计学分的必
47、修课,假设有那么要求重修;计算各门课程上课时间冲突,假设不发生冲算各门课程上课时间冲突,假设不发生冲突或冲突小于突或冲突小于20%,那么可以选修,否那,那么可以选修,否那么根据重修么根据重修必修必修限选限选必选的优先级,必选的优先级,删除已选课程。最后产生每个学生的个人删除已选课程。最后产生每个学生的个人课表和每门课程选课学生名单。课表和每门课程选课学生名单。 该系统用该系统用SA方法画出的分层方法画出的分层DFD 8某企业销售管理系统的功能为:某企业销售管理系统的功能为: (1)接受顾客的订单,检验订单,假设库存有货,进接受顾客的订单,检验订单,假设库存有货,进展供货处置,即修正库存,给仓库
48、开备货单,并且将订展供货处置,即修正库存,给仓库开备货单,并且将订单留底;假设库存量缺乏,将缺货订单登入缺货记录。单留底;假设库存量缺乏,将缺货订单登入缺货记录。 (2)根据缺货记录进展缺货统计,将缺货通知单发给根据缺货记录进展缺货统计,将缺货通知单发给采购部门,以便采购。采购部门,以便采购。 (3)根据采购部门发来的进货通知单处置进货,即修根据采购部门发来的进货通知单处置进货,即修正库存,并从缺货记录中取出缺货订单进展供货处置。正库存,并从缺货记录中取出缺货订单进展供货处置。 (4)根据留底的订单进展销售统计,打印统计表给经根据留底的订单进展销售统计,打印统计表给经理。理。 根据上述的功能描
49、画,画出数据流程图。根据上述的功能描画,画出数据流程图。 构造化分析方法概述构造化分析方法概述 数据流图数据流图 分层数据流图的审查分层数据流图的审查 数据字典数据字典 描画根本加工的小阐明描画根本加工的小阐明 构造化设计概述构造化设计概述 数据流图到软件体系构造的映射数据流图到软件体系构造的映射 初始构造图的改良初始构造图的改良 小结小结 数据流图与数据字典是密不可分的,两者数据流图与数据字典是密不可分的,两者结合起来构成软件的逻辑模型结合起来构成软件的逻辑模型(分析模型分析模型) 数据字典由字典条目组成,每个条目描画数据字典由字典条目组成,每个条目描画DFD中的一个元素中的一个元素 数据字
50、典条目包括:数据流、文件、数据数据字典条目包括:数据流、文件、数据项项(组成数据流和文件的数据组成数据流和文件的数据)、加工、源、加工、源或宿或宿 加工逻辑的详细阐明可以用加工逻辑的详细阐明可以用“小阐明来小阐明来描画描画(5.5节节)nm83符符 号号名名 称称举举 例例定义为定义为x 表示表示x由由组成组成与与ab 表示表示a和和b,或或a,b表示表示a或或b或或ab表示表示a或或b反复反复a 表示表示a反复反复0或多次或多次反复反复a 表示表示a反复反复3到到8次次()可选可选(a) 表示表示a反复反复0或或1次次根本数据元素根本数据元素a 表表a是根本数据是根本数据 不同的开发组织或团
51、队可以根据工程的需不同的开发组织或团队可以根据工程的需求定义字典条目的描画内容求定义字典条目的描画内容 字典条目中的描画内容主要包括字典条目中的描画内容主要包括 DFD元素的根本信息元素的根本信息(称号、别名、简述、称号、别名、简述、注解注解) 定义定义(数据类型、数据组成数据类型、数据组成) 运用特点运用特点(取值范围、运用频率、激发条取值范围、运用频率、激发条件件) 控制信息控制信息(来源、去向、访问权限来源、去向、访问权限)等等 称号:数据流名称号:数据流名(可以是中文名或英文名可以是中文名或英文名) 别名:称号的另一个名字别名:称号的另一个名字 简述:对数据流的简单阐明简述:对数据流的
52、简单阐明 数据流组成:描画数据流由哪些数据项组成数据流组成:描画数据流由哪些数据项组成 数据流来源:描画数据流从哪个加工或源流出数据流来源:描画数据流从哪个加工或源流出 数据流去向:描画数据流流入哪个加工或宿数据流去向:描画数据流流入哪个加工或宿 数据量:系统中该数据流的总量数据量:系统中该数据流的总量 如考务处置系统中如考务处置系统中“报名单的总量是报名单的总量是100000张张 或者单位时间处置的数据流数量,如或者单位时间处置的数据流数量,如80000张张/天天 峰值:某时段处置的最大数量峰值:某时段处置的最大数量 如每天上午如每天上午9:00至至11:00处置处置60000张表单张表单
53、注解:对该数据流的其它补充阐明注解:对该数据流的其它补充阐明 数据流组成是数据流条目的中心,它列出数据流组成是数据流条目的中心,它列出组成该数据流的各数据项,例如:组成该数据流的各数据项,例如: 培训报名单姓名单位课程培训报名单姓名单位课程 运发动报名单队名姓名性别参运发动报名单队名姓名性别参赛工程赛工程 当一个数据流的组成比较复杂时,可以将当一个数据流的组成比较复杂时,可以将其分解成几个数据流,例如:其分解成几个数据流,例如: 课程课程名任课教师教材时间地课程课程名任课教师教材时间地点点 时间地点星期几第几节教室时间地点星期几第几节教室3131发票单位称号商品名数量单价金额发票单位称号商品名
54、数量单价金额 总金额日期总金额日期(营业员营业员)单位称号单位称号商品名商品名数量数量单价单价金额金额总金额总金额日期营业员51称号:文件名称号:文件名别名:同数据流条目别名:同数据流条目简述:对文件的简单阐明简述:对文件的简单阐明文件组成:描画文件的记录由哪些数据项组成文件组成:描画文件的记录由哪些数据项组成(与数据流条与数据流条目中的文件组成描画方法一样目中的文件组成描画方法一样)写文件的加工:描画哪些加工写文件写文件的加工:描画哪些加工写文件读文件的加工:描画哪些加工读文件读文件的加工:描画哪些加工读文件文件组织:描画文件的存储方式文件组织:描画文件的存储方式(顺序、索引顺序、索引),排
55、序的关键,排序的关键字字运用权限:描画各类用户对文件读、写、修正的运用权限运用权限:描画各类用户对文件读、写、修正的运用权限数据量:文件的最大记录个数数据量:文件的最大记录个数存取频率:描画对该文件的读写频率存取频率:描画对该文件的读写频率注解:对该文件的其它补充阐明注解:对该文件的其它补充阐明称号:数据项名称号:数据项名别名:同数据流条目别名:同数据流条目简述:对数据项的简单描画简述:对数据项的简单描画数据类型:描画数据项的类型,如整型、实型、字符串等数据类型:描画数据项的类型,如整型、实型、字符串等计量单位:指明数据项值的计量单位,如公斤、吨等计量单位:指明数据项值的计量单位,如公斤、吨等
56、取值范围:描画数据项允许的值域,如取值范围:描画数据项允许的值域,如1100编辑方式:描画该数据项外部表示的编辑方式,如编辑方式:描画该数据项外部表示的编辑方式,如23,345.67与其它数据项的关系:描画该数据项与数据字典中其它数据与其它数据项的关系:描画该数据项与数据字典中其它数据项的关系项的关系注解:对数据项的其它补充阐明注解:对数据项的其它补充阐明称号:加工名称号:加工名别名:同数据流条目别名:同数据流条目加工号加工号: 加工在加工在DFD中的编号中的编号简述:对加工的功能的简要阐明简述:对加工的功能的简要阐明输入数据流:描画加工的输入数据流,包括读哪些文件名输入数据流:描画加工的输入
57、数据流,包括读哪些文件名输出数据流:描画加工的输出数据流,包括写哪些文件名输出数据流:描画加工的输出数据流,包括写哪些文件名加工逻辑:简要描画加工逻辑,或者对加工规约的索引加工逻辑:简要描画加工逻辑,或者对加工规约的索引根本加工的加工逻辑用小阐明描画,在加工条目中可填写对加工规根本加工的加工逻辑用小阐明描画,在加工条目中可填写对加工规约的索引约的索引非根本加工分解而成的非根本加工分解而成的DFD子图已反映了它的加工逻辑,不用书写子图已反映了它的加工逻辑,不用书写小阐明小阐明异常处置:描画加工处置过程中能够出现的异常情况,及其处置方异常处置:描画加工处置过程中能够出现的异常情况,及其处置方式式加
58、工激发条件:描画执行加工的条件,如,加工激发条件:描画执行加工的条件,如,“身份认证正确,身份认证正确,“收到报名单收到报名单执行频率:描画加工的执行频率,如,每月执行一次,每天执行频率:描画加工的执行频率,如,每月执行一次,每天0点执行点执行注解:对加工的其它补充阐明注解:对加工的其它补充阐明 称号:源或宿的名称号:源或宿的名(外部实体名外部实体名) 别名:同数据流条目别名:同数据流条目 简要描画:对源或宿的简要描画简要描画:对源或宿的简要描画(包括指明该外包括指明该外部实体在部实体在DFD中是用作中是用作“源,还是源,还是“宿,还宿,还是是“既是源又是宿既是源又是宿) 输入数据流:描画源向
59、系统提供哪些输入数据流输入数据流:描画源向系统提供哪些输入数据流 输出数据流:描画系统向宿提供哪些输出数据流输出数据流:描画系统向宿提供哪些输出数据流 注解:对源或宿的其它补充阐明注解:对源或宿的其它补充阐明只需那些有必要补充阐明的只需那些有必要补充阐明的别名才给出相应的别名条目别名才给出相应的别名条目别名:别名的名字别名:别名的名字类型:指出别名属于那个种类型:指出别名属于那个种类类(数据流、文件、数据、加数据流、文件、数据、加工、源或宿工、源或宿)根本名:别名的正式称号根本名:别名的正式称号(原原名名)简述:同正式称号的简述简述:同正式称号的简述阐明:对别名的补充阐明阐明:对别名的补充阐明
60、例如例如原始的数据项条目如下:原始的数据项条目如下:数据项称号:开户日期数据项称号:开户日期别名:开设日期别名:开设日期简述:客户建立帐户的日期简述:客户建立帐户的日期类型:日期类型:日期注解:年注解:年1949其别名条目如下:其别名条目如下:别名:开设日期别名:开设日期类型:数据项类型:数据项根本名:开户日期根本名:开户日期简述:客户建立帐户的日期简述:客户建立帐户的日期阐明:阐明:1986年以后不再运用此别年以后不再运用此别名名 提倡采用公用的软件工具或者常用的适用程序提倡采用公用的软件工具或者常用的适用程序(如,正文编辑程序、电子表格如,正文编辑程序、电子表格)来建立数据字来建立数据字典
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026山东大众报业(集团)有限公司公开招聘笔试参考题库及答案解析
- 2026年中国铁路投资集团有限公司应届高校毕业生招聘25名考试备考题库及答案解析
- 2026万里运业股份有限公司招聘16人考试备考题库及答案解析
- 2026四川广安市农业农村局遴选3人考试备考题库及答案解析
- 2026年广西柳州市壶西实验中学初三中考信息卷(一)英语试题含解析
- 温州市达标名校2026届初三年级三月考英语试题含解析
- 2025-2026学年重庆市十八中学初三下学期第一次半月考语文试题含解析
- 2026届湖北省麻城思源实验校初三下学期校内第一次质量检测试题英语试题含解析
- 人力资源管理招聘与配置流程模板
- 湖北省随州市随县2026年初三语文试题中考模拟试题含解析
- 公务摄影拍摄技巧分享课件
- 华东师范大学 PPT 37
- 第八章左拉优质获奖课件
- 深圳市新能源汽车充电设施“一线三排”工作指引
- GB/T 7233.1-2023铸钢件超声检测第1部分:一般用途铸钢件
- 华为智慧化工园区解决方案-
- 静脉输液(最终版)课件
- 建筑工程安全生产教育施工事故案例分析实用课件
- 河北单招考试三类练习题及答案
- 计算机软件著作权登记申请表范本
- 六年级下册道德与法治第5课应对自然灾害课件
评论
0/150
提交评论