结构化分析建模.ppt

上传人:牧羊曲112 文档编号:6015478 上传时间:2023-09-14 格式:PPT 页数:49 大小:229KB
返回 下载 相关 举报
结构化分析建模.ppt_第1页
第1页 / 共49页
结构化分析建模.ppt_第2页
第2页 / 共49页
结构化分析建模.ppt_第3页
第3页 / 共49页
结构化分析建模.ppt_第4页
第4页 / 共49页
结构化分析建模.ppt_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《结构化分析建模.ppt》由会员分享,可在线阅读,更多相关《结构化分析建模.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-Relationship Diagram)描述数据对象间的关系,用来进行数据建模活动的记号。状态转换图(ST

6、D,State Transition Diagram)指明作为外部事件的结果,系统将如何动作。分析模型结构的外层是规约描述:在实体关系图中每个数据对象的属性可以使用数据对象来描述。在数据流图中出现的每个加工/处理的功能描述包含在加工规约中。软件控制方面的附加信息包含在控制规约中,面向数据的建模方法,系统建模的一个重要方面就是要定义系统处理的逻辑结构。最广泛采用的数据建模技术是实体-关系模型,它描述数据实体、关联及实体属性。实体关系模型可用ERD(Entity-Relationships Diagram实体关系图)来表示:实体关联实体属性基数,实例分析:出卷系统,实例分析:出卷系统,试卷由一组题

7、目组成,而题目来自试卷库中被挑选的题目。试卷根据出卷要求选择项目。这些实体的属性给出如下:试题:编号、科目、题干、题干图、答案、答案图、题型、知识点、难度、抽取时间试卷:编号、科目、出卷人、年级、性质、总分、难度、题目*出卷要求、总分、总难度、总题型、总知识点题目:编号、题干、题干图、答案、答案图、题型、知识点、难度,实例分析:图书馆系统,实例分析:图书馆系统,实体:图书、借书者、管理员、借书目录、预约记录、书目属性给出如下:借书者:借书者编号、姓名、性别、借书数、最大借书数、罚金金额、有限期图书:图书号、书目号书目:书目号、书名、作者、出版社、丛书名、收藏数、在馆数、预约数借书记录:图书号、

8、借书者编号、借出日期、应还日期、续借次数预约记录:书目号、借书者编号、预约日期,实例分析:POS机系统,实例分析:POS机系统,实体有销售、支付、商品、商品描述关联:销售包含一组商品;每个商品都有相应的描述信息;每个支付对应一个销售。实体的属性:销售:编号、总价、1商品*,日期支付:编号、支付客户、找零、销售编号商品:编号、数量商品描述:名称、产地、厂家、单价,面向数据流的建模,面向数据流的建模是结构化需求分析方法之一采用自顶向下逐层分解,描绘满足用户要求的软件模型表示:数据流图:描述系统处理过程数据字典:模型中的数据信息集合状态转换图:描述系统对内部或外部事件响应的行为模型,数据流图符号,数

9、据流图举例,设一个工厂采购部每天需要一张定货报表。定货的零件数据有:零件编号、名称、数量、价格、供应者等。零件的入库、出库事务通过计算机终端输入给定货系统。当某零件的库存数少于给定的库存量临界值时,就应该再次定货。数据流分析:数据源点:仓管员(负责入库或出库事务给定货系统);数据终点:采购员(接收每天的定货报表);数据流:事务,定货;数据存储:定货信息,库存清单;处理:处理事务,产生报表。,数据流图举例,画基本系统模型,数据流图举例,第一步求精,数据流图举例,第二步求精,数据字典,数据字典是分析模型中出现的所有名字的一个集合,并包括有关命名实体的描述数据字典有以下两个作用:它是所有名字信息管理

10、的有效机制作为连接软件分析、设计、实现和进化阶段的开发机构的信息存储数据字典应该由四类元素的定义组成:数据流数据流分量数据存储处理对于处理,可用输入处理输出(IPO,Input-Process-Output)视图描述更方便,数据字典,应对组成的数据元素定义进行自顶向下的分解。分解的原则是:当包含的元素不需要进一步定义,且每个和工程有关的人都清楚时为止数据字典中应该包括关于数据的信息:一般信息(名字、别名、描述等)定义(数据类型、长度、结构等)使用特点(值的范围、使用频率、使用条件、使用方式、条件值等)控制信息(用户、使用特点、改变数、使用权等)分组信息(文档结构、从属结构、物理位置等)三种类型

11、的任意组合定义数据字典中的任何条目。顺序:顺序连接两个或多个分量元素。一般用加号表示顺序连接关系。选择:从两个或多个可选的分量元素中选取一个。选择运算符用方括号表示,对于多个可供选择的元素,用“|”符号分隔。例如,A-1|A-2|A-3 表示三个可选数据元素。重复:描述的分量元素重复零次或多次。例如,都表示数据元素A的下限为1,上限为5。,数据字典卡片方式示例,状态转换图,状态模型是一种描述系统对内部或者外部事件响应的行为模型。它描述系统状态和事件,以及事件引发系统在状态间的转换。这种模型适用于描述实时系统状态模型一般采用状态转换图(简称状态图)的标记方法状态图描述了系统中某些复杂对象的状态变

12、化状态是可观察的行为模式,用圆角矩形表示;变迁表示状态的转换,用箭头表示;事件是引发变迁的消息,用箭头上的标记表示。状态图还可以用事件后的方括号表示先决条件,只有当这个条件为真时,才会发生状态变化;用状态自身的弧线箭头表示先决条件不为真时,状态不会改变。,复印机控制软件状态图,加工逻辑的描述,加工逻辑也称为过程说明,用于描述数据流图中加工逻辑的处理算法或过程用以下三种工具:过程描述语言(PDLProcedural Description Language)判定表判定树,过程描述语言,介于自然语言和形式语言之间的一种半形式语言,使用有限的词汇和有限的语句来描述加工逻辑。它的结构可分成两层:外层:

13、用来描述控制结构,采用顺序、选择、重复三种基本结构。内层:一般采用祈使语句的自然语言短语,使用数据字典中的名词和有限的自定义词,举例,统计空格 seq打开文件读入字符串Totalsum=0程序体 iter until文件结束程序体end印总数seq 印出空格总数印总数end关闭文件停止统计空格end,判定表,例如:某数据流图中有一个“确定保险类别”的加工,指的是申请汽车驾驶保险时,要根据申请者的情况确定不同的保险类别。加工逻辑为:如果申请者的年龄在21岁以下,要额外收费;如果申请者是21岁以上并是26岁以上的女性,适用于A类保险;如果申请者是26岁以下的已婚男性,或者26岁以上的男性,适用于B

14、类保险;如果申请者是21岁以下的女性或26岁以下的单身男性适用于C类保险;除此之外的其他申请者都适用于A类保险。,判定表,提取问题中的条件:年龄、性别、婚姻。标出条件的取值,判定表,计算所有条件的组合数N。N=322提取可能争取的动作或措施。适用于A类保险、B类保险、C类保险,额外收费共四种。制作判定表完善判定表缺少判定采取的动作有冗余的列,制作判定表,合并后的判定表,判定树,判定树是判定表的变形,一般情况下它比判定表更直观,且易于理解和使用,出卷系统:总体数据流图,出卷系统:自动出卷数据流图,出卷系统:手动出卷数据流图,出卷系统的实体-关系图,数据字典举例,名称:试卷别名:无描述:试卷信息定

15、义:试卷=试卷编号+课程名+出卷人+时间+总分+难度+试题 试卷编号=1字符串10课程名=1字符30 出卷人=1字符8 时间=日期 总分=整数,数据字典举例,名称:出卷要求别名:要求描述:出卷的卷面要求定义:出卷要求=总分+总难度+总题型+总知识点 总分=整数 总难度=难分数比例+中分数比例+易分数比例 总题型=1题型分数比例*总知识点=1知识点分数比例*位置:自动出卷,手动出卷,设置出卷要求,数据字典举例,名称:试题别名:题目描述:题库中的题目定义:试题=试题编号+题干+题干图+答案+答案图+题型+难度+知识点+抽取时间 试题编号=1字符10 题干=1字符200 题干图文件名=30字符40

16、答案=1字符200 答案图文件名=30字符40 题型=【|选择|填空|简答|改错|应用|】难度=【|难|中|易|】知识点=【|】抽取时间=日期位置:自动出卷,手动出卷,题库系统,图书馆系统,图书馆系统,图书馆系统实体关系图,图书馆系统数据字典,小结,分析模型帮助用户逐层深入理解问题,为软件设计提供基础。分析建模的元素有基于场景的用例建模、基于过程的活动序列建模、基于类的建模、行为建模、基于信息流的建模和基于数据的建模。结构化分析方法是一种自顶向下,逐步分解的面向数据和数据流的建模方法。面向数据的建模以实体、关系和属性三个基本元素描述系统,涉及数据及其它们之间的关系,用ERD表示。基于数据流的方法用于描述数据如何在系统中流动或被变换,用数据流图、数据字典、加工规程等形式表示。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号