单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,,,,,,,,,,,,,,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,,,*,第二章 系统分析,,——,结构化分析方法,,第二章 系统分析——结构化分析方法,本节内容:,结构化方法概述,结构化建模工具,数据流图,数据字典,描述语言,/,方法,本节内容:结构化方法概述,为什么需要建模?,软件工程中模型的概念,对客观世界的问题领域进行抽象并用某种描述方法给予表示的结果称为模型特点,由于软件工程中多数模型是用于表示问题领域中的元素以及元素间的关系或相互作用等,故在建模过程中应该注意问题域中,有什么对象,应该选择什么样的关系或动作,,然后用适当的模型给予表示为什么需要建模?软件工程中模型的概念,1,、结构化方法概述,分析建模的开始于,20,世纪,60-70,年代,,但结构化分析方法的第一次出现是作为另一个重要课题,—“,结构化设计,”的附属品 其目的是需要一种,图形符号体系,来表示数据和对数据进行变换的处理,这些处理最终能被映射到软件体系结构的设计中结构化分析这个词汇最初由,Douglas Ross,提出,由,DeMarco,进行了推广,,,定义了创建信息流模型的关键图形符号,。
1、结构化方法概述分析建模的开始于20世纪60-70年代,但,一种,面向数据流,的传统软件开发方法,以,数据流,为中心构建软件的分析模型和设计模型分为:,结构化分析,(Structured Analysis,简称,SA,),结构化设计,(Structuresd Design,简称,SD,),结构化程序设计,(Structured Programmin,简称,SP,),1,、结构化方法概述,一种面向数据流的传统软件开发方法,以数据流为中心构建软件的分,主要思想:,抽象与自顶向下的逐层分解,(,控制复杂性的两个基本手段,),,抽象:,在每个抽象层次上忽略问题的内部复杂性,只关注整个问题与外界的联系分解:,将问题不断分解为较小的问题,直到每个最底层的问题都足够简单为止1,、结构化方法概述,主要思想:抽象与自顶向下的逐层分解(控制复杂性的两个基本手,抽象:从作为整体的软件系统开始,(,第一层,),,每一抽象层次上只关注于系统的输入输出分解:将系统不断分解为子系统、模块,……,随着分解层次的增加,抽象的级别越来越低,也越接近问题的解,(,算法和数据结构,),2.4,,2.3,,2.2,,2.1,,,2,,1,,4,,3,,,1.3,,1.2,,1.1,,,X,,抽象:从作为整体的软件系统开始(第一层),每一抽象层次上只关,2、结构化建模,主要工具,数据字典:,是模型的核心。
数据流图,(,DFD,图,):,描述数据流在系统中流动的过程,,,及对数据流进行变换的功能,,,用于,功能建模,实体关系图,(,ER,图,):,描述数据对象间的关系,,,用于,数据建模,状态迁移图,(,STD,图,):,描述对外部事件的响应方式,,,表示系统的各种行为模式(称为状态)以及在状态间进行变迁的方式,用于,行为建模,2、结构化建模主要工具数据字典:是模型的核心3,、数据流图,Data Flow Diagram,(,简称,DFD,),:描述输入数据流到输出数据流的变换,(,即加工,),过程,用于对系统的功能建模,基本元素包括:,,数据流,(data flow),:由一组固定成分的数据组成,代表数据的流动方向;,加工,(process),:即处理,描述输入数据流到输出数据流的变换;,文件,(file),:使用文件、数据库等保存某些数据结果供以后使用;,,,,,源或宿,(source or sink),:即外部实体,表示数据输入源和输出汇点,用实体名字来表示;,,,,,,或,或,或,3、数据流图Data Flow Diagram(简称DFD),(,1,)源或宿,存在于软件系统之外的人员或组织,表示软件系统输入数据的来源和输出数据的去向,因此也称为源点和终点。
例如,对一个图书馆信息管理系统而言,读者向系统提供查询条件,(,输入数据流,),,所以读者是管理系统的一个源,管理系统向供货商发出购书请求(输出数据流),所以供货商是管理系统的一个源,源或宿用相同的图形符号表示,当数据流从该符号流出时表示是源,当数据流流向该符号时表示是宿,当两者皆有时表示既是源又是宿,(1)源或宿存在于软件系统之外的人员或组织,表示软件系统输入,(,2,)加工和文件,加工:描述输入数据流到输出数据流的变换,每个加工用一个定义明确的,名字,标识,至少有一个,输入数据流和一个输出流,可以有多个,输入数据流和多个输出数据流,文件:保存数据信息的外部单元,每个文件用一个定义明确的,名字,标识,由加工进行,读写,DFD中称为文件,但在具体实现时可以用文件系统实现也可以用数据库系统等,实现,(2)加工和文件加工:描述输入数据流到输出数据流的变换,(,3,)数据流,每个数据流用由一组固定成分的数据组成并拥有一个定义明确的,名字,标识,如:图书馆管理系统中,读者信息,(,数据流,),由编号、姓名、性别、有效证件号码、联系方式、登记日期、有效期等数据组成,数据流的流向,从一个加工流向另一个加工,从加工流向文件,(,写文件,),从文件流向加工,(,读文件,),从源流向加工,从加工流向宿,(3)数据流每个数据流用由一组固定成分的数据组成并拥有一个定,,例:图书订购系统,DFD,图书库存,入库单,图书代理商,,书库,管理,,,收费,,制作,财务报表,财务报表,经理,帐务数据库,,,,制作,发书单,,图书,订购,核准的订购单,发书单,订购单,顾客,顾客,收费数据,,,帐单,库存状态,查询信息,/,库存变化,库存状态,库存查询,采购单,,,,例:图书订购系统DFD图书库存入库单图书代理商书库收费制作财,数据流图的扩充符号,描述一个加工的多个数据流之间的关系,星号,(,*,),:表示数据流之间存在,“与”,关系,所有输入数据流同时存在时,才能进行加工处理,或加工处理的结果是同时产生所有输出数据流,加号,(,+,),:表示数据流之间存在,“或”,关系,至少存在一个输入数据流时才能进行加工处理,或加工处理的结果是至少产生一个输出数据流,异或,(⊕),:表示数据流之间存在“异或”,(,互斥,),关系,必须存在且仅存在一个输入数据流时,才能进行加工处理,或加工处理的结果是产生且仅产生一个输出数据流,数据流图的扩充符号描述一个加工的多个数据流之间的关系,,,多个数据流之间的关系,,多个数据流之间的关系,对数据流图进行分层,根据,自顶向下,逐层分解的思想将数据流图画成层次结构,George Miller,在著名的论文“神奇的数字,7,加减,2,:我们处理信息的能力的某种限制”中指出:人们在一段时间内的短期记忆似乎限制在,5,~,9,件事情之内,每个层次画在独立的数据流图中,加工个数可,大致,控制在“,7,加减,2,”,的范围中,对数据流图进行分层根据自顶向下逐层分解的思想将数据流图画成层,数据流图的各个层次,顶层图只有代表整个软件系统的,1,个加工,,,描述了软件系统与外界,(,源或宿,),之间的数据流。
顶层图中的加工经分解后的图称为,0,层图,(,只有,1,张,),中间层图,中至少有一个加工,(,也可以有多个,),在下层图中分解成一张子图处于最底层的图称为,底层图,,其中所有的加工不再分解成新的子图数据流图的各个层次顶层图只有代表整个软件系统的1个加工,描述,图和加工的编号,顶层图只有一个代表整个软件系统的加工,该加工不必编号0,层图中的加工编号分别为,1,,,2,,,3,,,…(,或,1.0,,,2.0…),子图号:若父图中的加工号,x,分解成某一子图,则该子图号记为“图,x”,子图中加工的编号:若父图中的加工号为,x,的加工分解成某一子图,则该子图中的加工编号分别为,x.1,、,x.2,、,x.3…,图和加工的编号顶层图只有一个代表整个软件系统的加工,该加工不,数据流图的分层示意图,顶层,0,层,1,层,n,层,…,数据流图的分层示意图 顶层0层1层n层…,实例说明,——,图书馆信息管理系统,(,1,)书籍管理,书籍类别管理,:增、删除、改等管理书籍信息管理,:新书入库,书籍信息修改,管理员按不同方式查询、统计,读者按不同方式查询出版社信息管理,:增、删除、改等管理图书注销,:从书籍信息表中删去破损的书籍记录。
2,)读者管理,读者类别信息管理,:增、删除、改等管理读者信息管理,:办理、挂失、暂停借、注销阅卡,录入、修改、删除读者信息3,)借阅管理,借书管理,:根据借阅卡编号和图书编号,进行借书登记把超期图书以列表的形式显示出来,并以电子邮件或打印成书面通知读者提供读者网上查询自己的借阅情况(包括超期提示)续借管理,:提供读者在符合规定的情况下网上续借还书管理,:在借阅信息表中找到相应的记录,将借书记录删除,更新该记录的相应数据(图书信息表)根据违反规定情况计算和登记罚款记录实例说明——图书馆信息管理系统(1)书籍管理,,顶层图,顶层图,,0,层图,0层图,,1,层图,——,对,1.0,的分解,1层图——对1.0的分解,,1,层图,——,对,2.0,的分解,1层图——对2.0的分解,,1,层图,——,对,3.0,的分解,1层图——对3.0的分解,2,层图(底层图),,——,对,3.2,的分解(,1,),2层图(底层图),2,层图(底层图),,——,对,3.2,的分解(,2,),2层图(底层图),总结:画分层数据流图的步骤,1,.画系统的输入和输出,2,.画系统内部,3,.画加工内部,4,.重复第,3,步,直至每个尚未分解的加工都足够简单,(,即不必再分解,),总结:画分层数据流图的步骤1.画系统的输入和输出,绘制数据流程图的规则,对于源点,/,宿点:,数据不能直接从源点移动到宿点。
必须由加工移动数据;否则该数据流不在,DFD,上出现;,源点,/,宿点的标签时名词短语;,,正确:,绘制数据流程图的规则对于源点/宿点: 正确:,绘制数据流程图的规则,对于加工:,不存在只有输出的加工处理,如果只有输出,那它必定是一个源点;,不存在只有输入的加工处理,如果只有输入,那它必定是一个宿点;,加工处理的标签是动词短语绘制数据流程图的规则对于加工:,对于文件(数据存储):,数据不能从一个文件直接移到另一个文件,数据必须由加工移动;,数据不能直接从外部源点移动到文件;,数据不能直接从文件移动到外部宿点;,文件标签是名词短语绘制数据流程图的规则,对于文件(数据存储):绘制数据流程图的规则,绘制数据流程图的规则,对于数据流:,一个数据流在符号之间的流动是单向的若是双向移动,应用两个单独的箭头表示数据流中分叉意味着完全相同的数据从一个共同的位置转向两个或多个不同的加工、文件或外部实体数据流不能直接回到它离开的同一个加工另外必须至少有一个加工操作该数据流、产生另外的数据流和最初的数据流返回给开始的加工到达文件的数据流意味着更新(增、删、改)离开文件的数据流意味着检索或使用数据流的标签是名词短语。
在同一箭头上所有流作为一个包一起移动时,可以在一个箭头上出现多个数据流名词短语绘制数据流程图的规则对于数据流:,第二章-系统分析—结构化分析方法课件,分层数据流图的审查,检查图中是否存在错误或不合理,(,不理想,),的部分,一致性:分层,DFD,中不存在矛盾和冲突,完整性:分层,DFD,本身的完整性,即是否有遗漏的数据流、加工等元素,其他需要注意的问题,分层数据流图的审查检查图中是否存在错误或不合理(不理想)的部,(,1,)分层数据流图的一致性,父图与子图平衡,任何一张,DFD,子图边界上的输入,/,输出数据流必须与其父图中对应的加工的输入,/,输出数据流保持一致,数据守恒,一个加工所有输出数据流中的数据,必须能从该加工的输入数据流中直接获得,或者能通过该加工的处理而产生,多余的数据流:加工未使用其输入数据流中的某些数据项,局部文件,一个加工的输出数据流不能与该加工的输入数据流同名,,,(1)分层数据流图的一致性父图与子图平衡,父图与子图不平衡的实例,加工,2,的输入数据流有,M,和,N,,输出数据流是,T,而子图,(,右图,),边界上的输入数据流是,N,,输出数据流是,S,和,T,1,,2,,3,,,,A,B,C,M,N,T,,2.1,,2.2,,2.3,,,N,P,S,T,Q,父图与子图不平衡的实例加工2的输入数据流有M和N,输出数据流,父图与子图平衡的实例,注意:如果父图某加工的一个数据流,对应于子图中几个数据流,而子图中组成这些数据流的数据项全体正好等于父图中的这个数据流,那么它们仍算是平衡的,.,,,,,,,,,,,e,2.5,2.4,2.3,2.2,2.1,b2,b1,a,c,d,,,,,b,2,1,a,c,d,e,(a),父图,(b),子图,父图与子图平衡的实例注意:如果父图某加工的一个数据流,对应于,数据不守恒的实例,由于“正式成绩清单”中缺少“考生通知单”中的姓名、通信地址等数据,这些数据也无法由加工,2.3,自己产生,因此,加工,2.3,不满足数据守恒的条件,考生名册,,,2.5,分析,试题难度,难度分析表,,2.4,分类,统计成绩,分类统计表,,2.3,制作,通知单,考生通知单,,2.2,审定,合格者,正式成绩清单,合格标准,试题得分清单,,,,,2.1,检查,成绩清单,成绩清单,正确成绩清单,错误成绩清单,由此可见:,1.,数据流的组成对,DFD,是有影响的,2.,构建,DFD,与建立数据字典应交替进行,以便于对分层,DFD,的校验,数据不守恒的实例由于“正式成绩清单”中缺少“考生通知单”中的,加工的输出数据流,不能,与该加工的输入数据流,同名,同一个加工的输出数据流和输入数据流即使组成成份相同,仍应对它们取不同的名字,以表示它们是不同数据流。
例如,,“,报名单,”,和,“,合格报名单,”,允许一个加工有二个相同的数据流分别流向二个不同的加工加工的输出数据流不能与该加工的输入数据流同名同一个加工的输出,(,2,)分层数据流图的完整性,每个加工至少有一个输入数据流和一个输出数据流,在整套分层数据流中,每个文件应至少有一个加工读该文件,有另一个加工写该文件,分层数据流图中的每个数据流和文件都必须命名,(,除了流入或流出文件的数据流,),,并保持与数据字典的一致,分层,DFD,中的每个基本加工,(,即不再分解子图的加工,),都应有一个加工规约,(2)分层数据流图的完整性每个加工至少有一个输入数据流和一个,(,3,)其它需注意的问题,适当命名:每个数据流、加工、文件、源和宿都应被适应地命名,名字应符合被命名对象的实际含义,名字应反映整个对象,(,如数据流、加工,),,而不是仅反映它的某一部分,避免使用空洞的、含义不清的名字,如数据、信息、处理、统计等,如果发现某个数据流或加工难以命名时,往往是,DFD,分解不当的征兆,此时应考虑重新分解,画数据流而不是画控制流,判断准则:这条线上是否有数据流过,(3)其它需注意的问题适当命名:每个数据流、加工、文件、源和,避免一个加工有过多的数据流,当一个加工存在许多数据流时往往意味着分解不合理,解决办法:重新分解,1),把需要重新分解的某张图,(,含有该复杂加工的图,),的所有子图连接成一张图,2),把连接后的图重新划分成几个部分,使各部分之间的联系最小,3),重新定义父图,即第,2),步中的每个部分作为父图中的一个加工,4),重新建立各子图,即第,2),步中的每个部分都是一张子图,5),为所有的加工重新命名和编号,避免一个加工有过多的数据流,数据流图重新分解示例,( b ),原加工,2,子图,,,,,2.2,,2.1,,2.3,,,,,,2.4,,2.5,,,,,,H,J,I,C,K,L,E,M,N,( d ),重新分解后的父图,,,,4,,5,,,2’,,,3,,2”,,,,,,,,,1,,,,,A,B,H,G,J,I,C,K,L,D,E,M,F,P,N,( a ),原父图,3,,,,4,,5,,,,,1,,,2,,,,,,,,H,A,B,J,I,C,K,L,D,E,M,F,P,N,G,( c ),合并,,,,4,,5,,,,,,3,,2.4,,2.5,,,,,,,,2.2,,2.1,,2.3,,,,,,,,1,,,F,A,B,H,J,I,C,K,L,D,E,M,P,N,G,数据流图重新分解示例( b ) 原加工2子图2.22.12.,局部文件,考虑分层数据流中一个文件应画在哪些,DFD,中,而不该画在哪些,DFD,中,任何一个文件都应同时包含读和写该文件的数据流,除非该文件是当前系统与另一个软件系统所共享,(,应在需求说明中指明,),在一张,DFD,中当一个文件作为若干个加工之间的交界面,(,一个写另一个读,),时该文件应画出,在一张,DFD,中当一个文件仅与一个加工进行读写操作,并且在该,DFD,的父,(,祖先,),图中未出现过该文件则该文件是相应加工的内部文件,在当前,DFD,中不应画出,一个文件一旦在某张,DFD,中画出,那么在它的子孙图中应根据父图与子图平衡的原则画出该文件,在子孙图中,这个文件可能只有读或写文件中的一种数据流,局部文件考虑分层数据流中一个文件应画在哪些DFD中,而不该画,(,3,)其它需注意的问题,分解尽可能均匀,理想目标:任何两个加工的分解层数之差不超过,1,应尽可能使分解均匀,对于分解不均匀的情况应重新分解,先考虑稳定状态,忽略琐碎的枝节,先考虑稳定状态下的各种问题,暂时不考虑系统如何启动、如何结束、出错处理以及性能等问题,随时准备重画,对于一个复杂的软件系统,往往要经过反复多次的重画和修改才能构造出完整、合理、满足用户需求的分层,DFD,分析阶段遗漏下来的一个错误,到开发后期要化费几百倍代价来纠正这个错误,(3)其它需注意的问题分解尽可能均匀,4,、数据字典,数据流图与数据字典是密不可分的,两者结合起来构成软件的逻辑模型,(,分析模型,),数据字典由字典条目组成,每个条目描述,DFD,中的一个元素,数据字典条目包括:数据流、文件、数据项,(,组成数据流和文件的数据,),、加工、外部实体。
4、数据字典数据流图与数据字典是密不可分的,两者结合起来构成,数据字典的描述符号,,数据字典的描述符号,(,1,)数据字典的构成,数据字典(,DD,,,Data Dictionary,):对于数据流图中出现的所有被命名的图形元素加以定义,使得每一个图形元素的名字都有一个确切的解释其定义应是严密的、精确的,无二义性的,它由以下内容组成:,数据流词条,数据元素词条,数据文件词条,加工词条,外部实体,(1)数据字典的构成数据字典(DD,Data Diction,数据流词条,,数据流名称,唯一标识数据流的名称,简要描述,简要介绍该数据流的作用,即它产生的原因和结果,数据流来源,来源于何处,数据流去向,流向何处,数据流组成,描述该数据流的内部数据元素的组成,备注,需要的情况下描述数据流量和流通量等信息,数据流词条数据流名称唯一标识数据流的名称简要描述简要介绍该数,例:图书馆管理系统,DFD,的数据字典,,1,、,数据流,词条,,(,1,)数据流名:,图书信息,说明:图书信息是图书信息的描述;,数据流来源:图书馆管理系统数据流去向:图书馆管理人员,数据流定义:图书信息,=,图书编号,+ISBN+,作者,+,出版社,+,价格,+,书架号,+{,借阅情况,},,例:图书馆管理系统DFD的数据字典,数据字典,,1,、,数据流词条,,(,2,)数据流名:,读者信息,说明:读者信息是读者的描述信息;,数据流来源:图书馆管理系统。
数据流去向:图书馆管理人员和读者,数据流定义:读者信息,=,读者编号,+,姓名,+,性别,+,有效证件号码,+,联系方式,数据字典,数据字典,,1,、,数据流词条,,(,3,)数据流名:,借阅信息,说明:借阅信息是读者借阅图书的情况;,数据流来源:图书馆管理系统,数据流去向:图书馆管理员和读者,数据流定义:借阅信息,=,读者编号,+{,图书编号,+,借书日期,+,应还日期,},数据字典,数据元素词条,数据元素名称,唯一标识数据元素的名称或编号,简要描述,简要描述该数据元素的作用,以及位于哪一个数据结构内,类型,数字、字符等类型,长度,该数据类型规定的取值范围,例如姓名的长度为,60,个字符,取值范围,该姓名的取值范围必须大于,2,个字符且小于,60,个字符,备注,,数据元素词条数据元素名称唯一标识数据元素的名称或编号简要描述,数据字典,,2,、,数据元素,,(,1,)数据元素名:,姓名,说明:读者(借阅图书)名称,来自“读者基本信息表”;,数据类型:字符型,长度:,60,取值范围:,GB 2312,,备注:无,数据字典,数据文件词条,数据文件名称,唯一标识数据文件的名称,简要描述,简要描述该数据文件存放的是什么数据,输入数据,写入该数据文件的数据内容或数据结构,输出数据,从该数据文件读出的数据内容或数据结构,数据文件组成,描述该数据文件的数据结构组成,存储方式,数据文件的操作方式以及关键字,备注,,数据文件词条数据文件名称唯一标识数据文件的名称简要描述简要描,数据字典,,3,、,数据文件词条,,(,1,)数据文件名:,读者信息表,简述:存放的是读者的基础信息数据。
数据文件组成:表单形式存储,文件内容:读者信息表,=,学号,+,姓名,+,性别,+,出生日期,+,有效证件号码,+,联系方式,+,登记日期,+,有效期至;,存储方式,:,以学生学号,/,教工工资号为记录关键字升序排列,数据字典,数据字典,,2,、,数据文件词条,,(,2,)数据文件名:,借阅信息表,简述:存放的是借书信息数据数据文件组成,:,表单形式存储,文件内容:借阅信息表,=,图书编号,+,读者编号,+,借阅日期,+,应还日期,+,状态,存储方式,:,以图书编号和读者编号为记录关键字升序排列,,数据字典,加工词条,加工名称,唯一标识加工的名称,简要描述,描述加工逻辑和规则以及功能简述,加工编号,反映该加工的层次,输入数据流,描述进入该加工的一个或多个数据流,输出数据流,描述流出该加工的一个或多个数据流,加工逻辑,简述该加工的逻辑或规则(参见加工逻辑说明一节),备注,,加工词条加工名称唯一标识加工的名称简要描述描述加工逻辑和规则,3,、加工词条,,加工名称:过期罚款管理,加工描述:过期还书罚款加工过程,加工编号:,3.2.2,输入数据流:过期信息,输出数据流:罚款数,加工规则:,BEGIN,,读取过期信息;,,读取图书基本信息;,,按每天,0.5,元计算罚款金额;,,IF,罚款金额,>,图书价格的,3,倍,,THEN,罚款金额,=,图书价格的,3,倍;,输出罚款金额;,END,3、加工词条,外部实体词条,外部实体名称,唯一标识外部实体的名称,简要描述,指明该实体的性质以及与系统之间的关系,有关数据流,指明该外部实体与系统之间交互的数据流有哪些,备注,,外部实体词条 外部实体名称唯一标识外部实体的名称简要描述指明,外部实体词条,3,、实体词条,,实体名称:管理员,简要描述:管理图书借阅等,,一切事宜,数据流:,1,、借还(还)书信息,2,、罚款信息,外部实体词条 3、实体词条,5,、加工逻辑说明,在写,基本,加工逻辑的说明时,应满足如下的要求:,对数据流图的每一个,基本加工,,必须有一个加工逻辑说明;,加工逻辑说明必须描述基本加工如何把输入数据流变换为输出数据流的,加工规则,;,加工逻辑说明必须描述实现,加工的策略,而不是实现加工的细节。
5、加工逻辑说明在写基本加工逻辑的说明时,应满足如下的要求:,加工逻辑的描述方法,结构化语言,:介于自然语言和形式语言之间的一种半形式语言,判定表,:适用于加工逻辑包含多个条件,而不同的条件组合需做不同的动作,判定树,:判定表的变种,它本质上与判定表是相同的,只是表示形式不同,加工逻辑的描述方法结构化语言:介于自然语言和形式语言之间的一,(,1,)结构化英语,PDL,结构化英语也称为,PDL,,是一种介于自然语言和形式化语言之间的半形式化语言它是在自然语言基础上加了一些限制而得到的语言,是使用有限的词汇和有限的语句来描述加工逻辑其词汇表由英语命令动词、数据词典中定义的名字、有限的自定义词和控制结构关键词:,IF_THEN_ELSE,WHILE_DO,REPEAT_UNTIL,CASE_OF,等组成其动词的含义要具体,尽可能少用或不用形容词和副词1)结构化英语PDL结构化英语也称为PDL,是一种介于自然,结构化语言书写加工规约注意事项,语句力求精炼,语句必须易读、易理解、无二义,主要使用祈使句,祈使句中的动词要明确表达要执行的动作,所有名字必须是数据字典中有定义的名字,不使用形容词、副词等修饰语,不使用含义相同的动词,如,“,修改,”,、,“,修正,”,等,可以使用常用的算术和关系运算符,,总之要尽可能精确、无二义、简明扼要、易理解,,结构化语言书写加工规约注意事项语句力求精炼,3,、加工词条,(,1,)加工,3.2.2,:过期罚款管理,加工逻辑:,,BEGIN,,读取过期信息;,,读取图书基本信息;,,按每天,0.5,元计算罚款金额;,,IF,罚款金额,>,图书价格的,3,倍,,THEN,罚款金额,=,图书价格的,3,倍;,输出罚款金额;,END,3、加工词条,(,2,)判定表,判定表的组成元素,条件桩,(Condition Stub),:列出各种条件的对象,如发货单金额,赊欠天数等,每行写一个条件对象,条件条目,(Conditien entry),:列出各条件对象的取值,条件条目的每一列表示了一个可能的条件组合,动作桩,(action stub),:列出所有可能采取的动作,如发出发货单等,每行写一个动作,动作条目,(action eutry),:列出各种条件组合下应采取的动作,,“,审批发货单”加工的判定表,发货单金额,>,500,>,500,≤500,≤500,赊欠天数,>,60,≤60,>,60,≤60,发不批准通知,√,,,,发出批准书,,√,√,√,发出发货单,,√,√,√,发出赊欠报告,,,√,,(2)判定表判定表的组成元素“审批发货单”加工的判定表发货单,判定表的其它形式,发货单金额,>,500,≤500,-,赊欠天数,>,60,>,60,≤60,发不批准通知,√,,,发出批准书,,√,√,发出发货单,,√,√,发出赊欠报告,,√,,发货单金额≤,500,0,0,1,1,发货单金额>,500,1,1,0,0,赊欠天数≤,60,0,1,0,1,赊欠天数>,60,1,0,1,0,发不批准通知,√,,,,发出批准单,,√,√,√,发出发货单,,√,√,√,发出赊欠报告,,,√,,“,审批发货单,”,加工的简化判定表,“,审批发货单,”,加工的另一种判定表,判定表的其它形式发货单金额>500≤500-赊欠天数>60>,(,3,)判定树,本质上与判定表是相同的,只是表示形式不同,例如“审批发货单”加工逻辑的判定树描述入下:,(3)判定树本质上与判定表是相同的,只是表示形式不同,5,、状态迁移图,状态迁移图(,STD,),是一种描述系统的状态、以及相互转化关系的图形方式。
一般有四要素①,现态:是指当前所处的状态②条件:又称为,“,事件,”,当一个条件被满足,将会触发一个动作,或者执行一次状态的迁移③动作:条件满足后执行的动作动作执行完毕后,可以迁移到新的状态,也可以仍旧保持原状态动作不是必需的,当条件满足后,也可以不执行任何动作,直接迁移到新状态④次态:条件满足后要迁往的新状态次态,”,是相对于,“,现态,”,而言的,,“,次态,”,一旦被激活,就转变成新的,“,现态,”,了也可概括为:状态、迁移条件5、状态迁移图状态迁移图(STD),是一种描述系统的状态、以,①状态框:用方框表示状态,包括所谓的,“,现态,”,和,“,次态,”,②条件及迁移箭头:用箭头表示状态迁移的方向,并在该箭头上标注触发条件③节点圆圈:当多个箭头指向一个状态时,可以用节点符号(小圆圈)连接汇总④动作框:用椭圆框表示⑤附加条件判断框:用六角菱形框表示电梯系统的状态迁移图,①状态框:用方框表示状态,包括所谓的“现态”和“次态”状态迁移表,除了状态迁移图,我们还可以用表格的形式来表示状态之间的关系这种表一般称为状态迁移表作为状态迁移图的有益补充,状态迁移表除了状态迁移图,我们还可以用表格的形式来表示状态,SA,方法的适用范围:,,主要适用于数据处理,特别是大型管理信息系统的需求分析,主要用于分析系统的功能,是一种直接根据数据流划分功能层次的分析方法。
SA,方法的特点:,,(,1,)表达问题时尽可能使用图形符号的方式,这样即使非计算机专业人员也易于理解;,(,2,)设计数据流图时只考虑系统必须完成的基本功能,不需要考虑如何具体地实现这些功能小结:,SA方法的适用范围:小结:,作业,:,完成智能停车场收费系统的数据流程图和数据字典设计作业:完成智能停车场收费系统的数据流程图和数据字典设计。