《第6章结构化分析建模.ppt》由会员分享,可在线阅读,更多相关《第6章结构化分析建模.ppt(49页珍藏版)》请在优知文库上搜索。
1、第6章 结构化分析建模结构化分析建模分析模型元素结构化需求分析面向数据的建模方法案例分析结构化分析建模需求分析的任务就是准确地指出“软件目标产品必须做什么?”需求分析的一个重要过程就是需求建模的过程结构化分析方法是一种传统的系统建模技术分析模型分析模型分析模型的目的是为基于计算机系统提供必须的信息、功能和行为域的说明模型是对系统某个方面的抽象,抛弃了具体细节,对系统中最突出的特征作简化分析模型元素:基于场景的元素基于过程的活动序列的元素基于类的元素行为元素面向信息流的元素基于数据的元素分析模式分析模式分析模式:在软件开发领域,在特定的应用领域内某些事物在所有的项目中重复发生。分析模式可以使用标
2、准的模板来表现,模板采用模式名、目的、动机、外因和环境、解决方案、结论、设计、已知应用和相关模式的格式描述分析模式信息。例如,ERP(Enterprise Resource Plan)软件就是一个高层分析模式,形成一套开发ERP软件的分析模式。分析模型的目标与原则分析模型的目标与原则分析模型必须实现三个主要目标:描述客户需要什么;为软件设计奠定基础;定义在软件完成后可以被确认的一组需求。分析模型的所有元素都可以直接映射到设计模型创建分析模型时应遵循的原则:模型应关注在问题或业务域内可见的需求,抽象的级别相对高;分析模型的每个元素都应能增加对软件需求的整体理解,并提供对信息域、功能和系统行为的深
3、入理解;基于基础机构和其他非功能的模型应推延到设计阶段再考虑;最小化整个系统内的关联;确认分析模型为所有共利益者都带来价值;尽可能保持模型简洁结构化需求分析结构化需求分析用户需求一般用自然语言描述系统需求必须用较专业的方式来描述模型是软件设计的基础,也是创建规约的基础需求分析原则:必须表示和理解问题的信息域;必须定义软件将完成的功能;必须表示软件的行为(作为外部事件的结果);必须划分描述信息、功能和行为的模型,从而使得可以以层次的方式揭示细节;分析过程应该从要素信息移向细节实现。结构化分析方法结构化分析(SA,Structured Analysis)方法是20世纪70年代,由E.Yourdon
4、等人倡导的一种适用于大型数据处理系统的、面向数据流的需求分析方法。结构化需求分析方法指导性原则:在开始建立分析模型之前先理解问题。开发模型,使用户能够了解将如何进行人机交互(使用原型技术)。记录每个需求的起源和原因,保证需求的可追踪性和可回溯性。使用多个需求分析视图,建立数据、功能和行为模型。给需求赋予优先级,优先开发重要的功能,提高开发生产效率。删除含糊性。结构化分析模型结构化分析模型系统模型从以下不同的角度表述系统:从外部来看,它是对系统分析上下文或系统环境建模;从行为上看,它是对系统行为建模;从结构上看,它是对系统的体系结构和系统处理的数据结构建模。结构化的需求分析模型有:系统行为模型:
5、数据流模型,用来描述系统中的数据处理过程状态转换模型,用来描述系统如何对事件做出响应实体关系模型:关心的是寻找系统中的数据及其之间的关系,却不关心系统中包含的功能。结构化分析模型结构数据字典实体-关系图数据流图加工规约数据对象描述状态转换图控制规约结构化分析模型结构分析模型结构的核心是数据字典(DD,Data Dictionary),包含了软件使用或生产的所有数据对象描述的中心库。分析模型结构的中间层有三种视图:数据流图(DFD,Data Flow Diagram)服务于两个目的:一是指明数据在系统中移动时如何被变换,二是描述对数据流进行变换的功能和子功能。实体关系图(E-RD,Entity-
6、Relationship Diagram)描述数据对象间的关系,用来进行数据建模活动的记号。状态转换图(STD,State Transition Diagram)指明作为外部事件的结果,系统将如何动作。分析模型结构的外层是规约描述:在实体关系图中每个数据对象的属性可以使用数据对象来描述。在数据流图中出现的每个加工/处理的功能描述包含在加工规约中。软件控制方面的附加信息包含在控制规约中面向数据的建模方法面向数据的建模方法系统建模的一个重要方面就是要定义系统处理的逻辑结构。最广泛采用的数据建模技术是实体-关系模型,它描述数据实体、关联及实体属性。实体关系模型可用ERD(Entity-Relatio
7、nships Diagram实体关系图)来表示:实体关联实体属性基数实例分析:实例分析:出卷系统N包含题目出卷要求依据抽取试卷试卷11111实例分析:实例分析:出卷系统试卷由一组题目组成,而题目来自试卷库中被挑选的题目。试卷根据出卷要求选择项目。这些实体的属性给出如下:试题:编号、科目、题干、题干图、答案、答案图、题型、知识点、难度、抽取时间试卷:编号、科目、出卷人、年级、性质、总分、难度、题目*出卷要求、总分、总难度、总题型、总知识点题目:编号、题干、题干图、答案、答案图、题型、知识点、难度实例分析:实例分析:图书馆系统1借书记录预约记录借/还/续借1M1NM包含预约借书者图书书目实例分析:
8、实例分析:图书馆系统实体:图书、借书者、管理员、借书目录、预约记录、书目属性给出如下:借书者:借书者编号、姓名、性别、借书数、最大借书数、罚金金额、有限期图书:图书号、书目号书目:书目号、书名、作者、出版社、丛书名、收藏数、在馆数、预约数借书记录:图书号、借书者编号、借出日期、应还日期、续借次数预约记录:书目号、借书者编号、预约日期实例分析:实例分析:POS机系统1NM111包含付款描述销售支付商品描述商品实例分析:实例分析:POS机系统实体有销售、支付、商品、商品描述关联:销售包含一组商品;每个商品都有相应的描述信息;每个支付对应一个销售。实体的属性:销售:编号、总价、1商品*,日期支付:编
9、号、支付客户、找零、销售编号商品:编号、数量商品描述:名称、产地、厂家、单价面向数据流的建模面向数据流的建模面向数据流的建模是结构化需求分析方法之一采用自顶向下逐层分解,描绘满足用户要求的软件模型表示:数据流图:描述系统处理过程数据字典:模型中的数据信息集合状态转换图:描述系统对内部或外部事件响应的行为模型数据流图符号数据源点或终点变换数据的处理数据存储数据流或或或数据流图举例设一个工厂采购部每天需要一张定货报表。定货的零件数据有:零件编号、名称、数量、价格、供应者等。零件的入库、出库事务通过计算机终端输入给定货系统。当某零件的库存数少于给定的库存量临界值时,就应该再次定货。数据流分析:数据源
10、点:仓管员(负责入库或出库事务给定货系统);数据终点:采购员(接收每天的定货报表);数据流:事务,定货;数据存储:定货信息,库存清单;处理:处理事务,产生报表。数据流图举例画基本系统模型采购员事务定货报表仓管员定货系统数据流图举例第一步求精定货信息库存清单定货信息库存信息采购员定货报表产生报表仓管员处理事务事务数据流图举例第二步求精仓管员采购员处理入库事务入库事务出库事务定货报表处理定货定货信息处理出库事务产生报表定货信息库存清单库存信息数据字典数据字典数据字典是分析模型中出现的所有名字的一个集合,并包括有关命名实体的描述数据字典有以下两个作用:它是所有名字信息管理的有效机制作为连接软件分析、
11、设计、实现和进化阶段的开发机构的信息存储数据字典应该由四类元素的定义组成:数据流数据流分量数据存储处理对于处理,可用输入处理输出(IPO,Input-Process-Output)视图描述更方便数据字典数据字典应对组成的数据元素定义进行自顶向下的分解。分解的原则是:当包含的元素不需要进一步定义,且每个和工程有关的人都清楚时为止数据字典中应该包括关于数据的信息:一般信息(名字、别名、描述等)定义(数据类型、长度、结构等)使用特点(值的范围、使用频率、使用条件、使用方式、条件值等)控制信息(用户、使用特点、改变数、使用权等)分组信息(文档结构、从属结构、物理位置等)三种类型的任意组合定义数据字典中
12、的任何条目。顺序:顺序连接两个或多个分量元素。一般用加号表示顺序连接关系。选择:从两个或多个可选的分量元素中选取一个。选择运算符用方括号表示,对于多个可供选择的元素,用“|”符号分隔。例如,A-1|A-2|A-3 表示三个可选数据元素。重复:描述的分量元素重复零次或多次。例如,都表示数据元素A的下限为1,上限为5。数据字典数据字典卡片方式示例名字:定货报表别名:定货信息描述:每天一次需要定货的零件表定义:定货报表=零件编号+零件名称+定货数量+价格+1供应者3 位置:输出到打印机名字:零件编号别名:描述:惟一标识一个特定零件的关键组成定义:零件编号=8位字符位置:定货报表、定货信息 库存清单名
13、字:定货数量别名:描述:某个零件一次定货的数目定义:定货数量=1|2|3|4|5 位置:定货报表 定货信息名字:价格别名:价格范围描述:某个零件目前参考价格或者上下限定义:价格=1零件单价2位置:定货报表 定货信息 库存清单状态转换图状态转换图状态模型是一种描述系统对内部或者外部事件响应的行为模型。它描述系统状态和事件,以及事件引发系统在状态间的转换。这种模型适用于描述实时系统状态模型一般采用状态转换图(简称状态图)的标记方法状态图描述了系统中某些复杂对象的状态变化状态是可观察的行为模式,用圆角矩形表示;变迁表示状态的转换,用箭头表示;事件是引发变迁的消息,用箭头上的标记表示。状态图还可以用事
14、件后的方括号表示先决条件,只有当这个条件为真时,才会发生状态变化;用状态自身的弧线箭头表示先决条件不为真时,状态不会改变。复印机控制软件状态图读命令复印重加载纸诊断问题闲置与“读命令”相关非卡纸与“读命令”相关卡纸与“完成问题”相关“满”和“开始”与“复印”相关复印与“读命令”相关满与“读命令”相关加工逻辑的描述加工逻辑的描述加工逻辑也称为过程说明,用于描述数据流图中加工逻辑的处理算法或过程用以下三种工具:过程描述语言(PDLProcedural Description Language)判定表判定树过程描述语言介于自然语言和形式语言之间的一种半形式语言,使用有限的词汇和有限的语句来描述加工逻
15、辑。它的结构可分成两层:外层:用来描述控制结构,采用顺序、选择、重复三种基本结构。内层:一般采用祈使语句的自然语言短语,使用数据字典中的名词和有限的自定义词举例统计空格 seq打开文件读入字符串Totalsum=0程序体 iter until文件结束程序体end印总数seq 印出空格总数印总数end关闭文件停止统计空格end判定表例如:某数据流图中有一个“确定保险类别”的加工,指的是申请汽车驾驶保险时,要根据申请者的情况确定不同的保险类别。加工逻辑为:如果申请者的年龄在21岁以下,要额外收费;如果申请者是21岁以上并是26岁以上的女性,适用于A类保险;如果申请者是26岁以下的已婚男性,或者26
16、岁以上的男性,适用于B类保险;如果申请者是21岁以下的女性或26岁以下的单身男性适用于C类保险;除此之外的其他申请者都适用于A类保险。判定表提取问题中的条件:年龄、性别、婚姻。标出条件的取值条件名条件名取值取值符号符号取值数取值数m年龄年龄2121年龄21未婚C类保险且额外收费已婚B类保险且额外收费未婚C类保险已婚D类保险年龄21C类保险收额外收费A类保险B类保险2126年龄21确保保险类别男性女性出卷系统:出卷系统:总体数据流图手动出卷教师出卷要求试题出卷要求试卷出卷要求试题试题试卷获取出卷要求自动出卷出卷要求保存试卷题目出卷要求出卷要求题目教师设置出卷要求出卷系统:自动出卷出卷系统:自动出卷数据流图教师出卷要求试题试题试卷试题试题试卷获取出卷要求抽取试题评价出卷要求试卷出卷要求出卷要求分析出卷计算分值题型试题写入试卷显示试卷试题出卷系统:手动出卷出卷系统:手动出卷数据流图分析出卷挑 选试题题型试题写入试卷显示试卷试题教师出卷要求试题试题试卷试题试题试卷获取出卷要求筛选试题计 算分值出卷要求试卷出卷要求出卷要求出卷系统的实体-关系图 试卷题目试题出卷要求依据抽取11包含N111图6-