《第3部分系统需求建模优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第3部分系统需求建模优秀PPT.ppt(66页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第3部分系统需求建模现在学习的是第1页,共66页学习目标l学习本节后具有如下能力:学习本节后具有如下能力:(1)解释为何要建立信息系统模型)解释为何要建立信息系统模型(2)描述三类模型)描述三类模型(3)阐述如何利用系统事件来定义系统需求)阐述如何利用系统事件来定义系统需求(4)确定和分析系统对之做出响应的事件)确定和分析系统对之做出响应的事件(5)解释如何用系统中的事务概念来定义需求)解释如何用系统中的事务概念来定义需求(6)比较数据实体和对象之间的差异)比较数据实体和对象之间的差异(7)确定和分析系统中需要的数据对象)确定和分析系统中需要的数据对象(8)阅读、解释并创建)阅读、解释并创建E
2、-R图图(9)阅读、解释并创建用例图、类图)阅读、解释并创建用例图、类图现在学习的是第2页,共66页本节要点本节要点l事件和模型事件和模型l事件和系统需求事件和系统需求l事务和系统需求事务和系统需求lE-R图图l用例图、类图用例图、类图l目标目标现在学习的是第3页,共66页 需求分析的步骤需求分析的步骤当前当前系统系统目标目标系统系统物理物理模型模型逻辑逻辑模型模型逻辑逻辑模型模型物理物理模型模型模型化模型化抽象化抽象化具体化具体化实例化实例化怎怎么么做做做做什什么么当前当前系统系统目标目标系统系统需需求求定定义义现在学习的是第4页,共66页l本章主要工作是在前面收集信本章主要工作是在前面收集
3、信息资料的基础上,通过建立各息资料的基础上,通过建立各种种模型模型来将功能需求整理成文来将功能需求整理成文档的一些技术。档的一些技术。l这些这些模型模型是在分析活动过程中是在分析活动过程中建立的,也就是通常称之为建立的,也就是通常称之为“定义系统需求定义系统需求”。现在学习的是第5页,共66页模型模型与建模与建模l模型模型是分析和设计工作后产生的文档是分析和设计工作后产生的文档l作用作用(1)建模过程可以进行系统分析)建模过程可以进行系统分析(2)系统需要不同形式和抽象层次的模型)系统需要不同形式和抽象层次的模型描述系统的各个方面。描述系统的各个方面。(3)提供了一个容易理解的信息形式)提供了
4、一个容易理解的信息形式(4)是一个交流过程,也有利于交流)是一个交流过程,也有利于交流现在学习的是第6页,共66页逻辑模型和物理模型逻辑模型和物理模型u模型是对对象系统的形式化的特征模型是对对象系统的形式化的特征 抽象,概括性或近似地表示抽象,概括性或近似地表示u构造模型的过程是一个抽象、分构造模型的过程是一个抽象、分 析的过程。析的过程。对象系统模型系统抽象(映射)模型应用模型构造的过程现在学习的是第7页,共66页 逻辑模型逻辑模型 物理模型物理模型 (本质模型、概念模型本质模型、概念模型)(实施模型、技术模型实施模型、技术模型)现现行行系系统统目目标标系系统统描述重要的业务描述重要的业务功
5、能,无论系统功能,无论系统是如何实施的。是如何实施的。描述现实系统是如描述现实系统是如何在物理上实现的。何在物理上实现的。描述新系统的主要描述新系统的主要业务功能和用户新业务功能和用户新的需求,无论系统的需求,无论系统应如何实施。应如何实施。描述新系统是如描述新系统是如何实施的(包括何实施的(包括技术)。技术)。现在学习的是第8页,共66页模型的模型的作用作用在建模过程中了解系统在建模过程中了解系统通过抽象降低复杂性通过抽象降低复杂性有助于回忆所有的细节有助于回忆所有的细节有助于开发小组间的交流有助于开发小组间的交流有助于与用户的交流有助于与用户的交流为系统的维护提供文档为系统的维护提供文档
6、现在学习的是第9页,共66页模型的模型的类型类型l数学模型:数学模型:描述系统技术方面的一描述系统技术方面的一系列公式系列公式l描述模型:描述模型:描述系统某些方面的叙描述系统某些方面的叙述性的备忘录、报表或列表述性的备忘录、报表或列表l图形模型:图形模型:图表或系统某些方面示图表或系统某些方面示意性表示意性表示现在学习的是第10页,共66页l如分析阶段创建的模型有:如分析阶段创建的模型有:事件列表、数据流图、E-R图,数据流定义、数据元素定义、过程描述、用例图、类图、位置图、顺序图、协作图、状态图l设计阶段的模型有:设计阶段的模型有:窗口界面,报表设计,系统流程图,结构图,数据库设计,网络拓
7、扑,分布图等现在学习的是第11页,共66页事件和系统需求事件和系统需求l事件事件可以描述、值得记录的在某一特定时间和可以描述、值得记录的在某一特定时间和地点发生的事情。地点发生的事情。l事件类型事件类型外部事件外部事件:系统外部发生的,通常由外部系统外部发生的,通常由外部实体或动作参与者触发。实体或动作参与者触发。临时事件临时事件:到达某一时刻所发生的事件。到达某一时刻所发生的事件。状态事件状态事件:当系统内部发生了需要处理的当系统内部发生了需要处理的情况时所引发的事件。情况时所引发的事件。现在学习的是第12页,共66页例:影响赊购账处理系统的事件例:影响赊购账处理系统的事件 现在学习的是第1
8、3页,共66页定义事件l事件事件/条件和响应条件和响应l事件序列:跟踪事件处理的生命周事件序列:跟踪事件处理的生命周期期l技术依赖事件和系统控制技术依赖事件和系统控制现在学习的是第14页,共66页导致影响系统的一个事件的一系列行为l客户在商店手拿衬衫决定购买时系统才开始接受影响现在学习的是第15页,共66页导致许多事件的某一特定客户的“事务”序列 l研究此类过程有助于定义事件。现在学习的是第16页,共66页在设计阶段之前可以忽略的事件 现在学习的是第17页,共66页用事件列表表示每个事件l事件事件l触发器触发器l来源来源l活动活动/用例用例l响应响应l目的地目的地现在学习的是第18页,共66页
9、事件列表现在学习的是第19页,共66页现在学习的是第20页,共66页续表 现在学习的是第21页,共66页事物和系统需求事物和系统需求l系统需要存储的事物信息系统需要存储的事物信息l工作过程中的产品、订单、客户等都是工作过程中的产品、订单、客户等都是事物事物l传统开发中,事物构成系统存储信息的传统开发中,事物构成系统存储信息的相关数据相关数据l对象开发中,事物是系统中交互的对象对象开发中,事物是系统中交互的对象现在学习的是第22页,共66页事物类型事物类型事物事物现在学习的是第23页,共66页事物列表过程事物列表过程l使用事件列表,确定所有名词使用事件列表,确定所有名词l使用已有系统,从当前过程
10、及当前报表中寻使用已有系统,从当前过程及当前报表中寻找其他信息找其他信息l将列表精简并记录假设或要检查的问题将列表精简并记录假设或要检查的问题(1)是系统要了解的事物吗?)是系统要了解的事物吗?(2)在你所工作的系统范围内吗?)在你所工作的系统范围内吗?(3)系统需要记住多于这些项目中的一个吗)系统需要记住多于这些项目中的一个吗?(4)与你已经定义的其他事物是同义词吗?)与你已经定义的其他事物是同义词吗?现在学习的是第24页,共66页(5)真的是从你已经定义的其他信)真的是从你已经定义的其他信息中产生系统输出吗?息中产生系统输出吗?(6)这一输入真的可以导致记录一)这一输入真的可以导致记录一些
11、你已经定义的其他信息吗?些你已经定义的其他信息吗?(7)可能是你已经定义的其他事物)可能是你已经定义的其他事物的一些属性吗?的一些属性吗?(8)当假设变化时你可能需要的)当假设变化时你可能需要的事物吗?事物吗?现在学习的是第25页,共66页事物之间的关系事物之间的关系l1:1 l1:NlN:Ml二元关系l一元(回归)关系l三元关系lN元关系现在学习的是第26页,共66页事物属性l属性属性:有关事物某方面特征:有关事物某方面特征l关键字关键字(标识符):能唯一标识事(标识符):能唯一标识事务的属性务的属性l复合属性:复合属性:包含许多相关属性的属包含许多相关属性的属性性现在学习的是第27页,共6
12、6页数据实体与对象数据实体与对象l数据实体数据实体:需要存储其信息的事物:需要存储其信息的事物l对象对象:某个特定事物,有属性,方:某个特定事物,有属性,方法和消息构成。法和消息构成。现在学习的是第28页,共66页2.1.3需求的传统描述方法需求的传统描述方法l结构化描述结构化描述(1)DFD 结合了事件触发处理和在结合了事件触发处理和在ERD中定义中定义的数据实体相结合(事件表和的数据实体相结合(事件表和ERD)重点:抽象水平(把系统分解成一个重点:抽象水平(把系统分解成一个逐渐细化的分层集合的建模技术)逐渐细化的分层集合的建模技术)现在学习的是第29页,共66页数据流图数据流图(DFD,D
13、ata Flow Diagram)描述逻辑模型的图形工具,描述逻辑模型的图形工具,表示数表示数据在系统内的变化。据在系统内的变化。DFDDFD可以用来表示一个系统或软件在可以用来表示一个系统或软件在任何层次上的抽象。任何层次上的抽象。较大型软件系统较大型软件系统DFDDFD分成多层分成多层(子图、父图概念子图、父图概念),),可以表可以表示数据流和功能的进一步的细节。示数据流和功能的进一步的细节。现在学习的是第30页,共66页画数据流图画数据流图l规则:由外向里画规则:由外向里画l画系统的输出、输入画系统的输出、输入l画系统的内部画系统的内部l画加工的内部画加工的内部现在学习的是第31页,共6
14、6页用用DFDDFD描述系统的逻辑模型描述系统的逻辑模型l 数据流程图(DFD)l l描述数据在系统中的流动和变化l l描述对数据流进行变换的功能l 数据字典(DD)l 处理小说明l l对DFD中加工功能的详细描述l 实体-联系图(E-R图)功能数据现在学习的是第32页,共66页现在学习的是第33页,共66页1.数据流程图的四个基本成分数据存储 或或数据流或或 外部项或或数据处理(加工)现在学习的是第34页,共66页2.怎样画DFDl了解DFD的特性l画分层DFD现在学习的是第35页,共66页1)DFD的特性l与程序流程图不同,DFD不表示程序的控制结构,只描述数据的流动l DFD分成多层(子
15、图、父图概念)表示,从而逐步展开数据流和功能的细节。现在学习的是第36页,共66页S S2 21 13 32.22.22.12.12.32.33.13.13.23.2 顶层顶层0 0层层1 1层层(基本系统模型基本系统模型)(系统的子功能系统的子功能)DFDDFD的分层表示的分层表示现在学习的是第37页,共66页2)画分层DFD(1)(1)先画出顶层先画出顶层DFDDFD。(2)(2)自顶向下画出各层自顶向下画出各层DFDDFD 分解原则:分解原则:分解后的软件成分有相对独立功能分解后的软件成分有相对独立功能 一次分解不要加入细节过多一次分解不要加入细节过多 由外向里画由外向里画DFDDFD报
16、名单合格报名单检验 报名单现在学习的是第38页,共66页2)画分层DFD(3)(3)先考虑稳定状态,忽略系统的工作条件,先考虑稳定状态,忽略系统的工作条件,即怎么开始、怎么结束的。即怎么开始、怎么结束的。(4)(4)忽略琐碎的枝节,如出错处理等。忽略琐碎的枝节,如出错处理等。(5)(5)随时准备重画随时准备重画 报名单合格报名单检验 报名单错误的报名单现在学习的是第39页,共66页3)画分层DFD的指导原则(1 1)父图)父图-子图平衡子图平衡(2 2)局部数据存储)局部数据存储(3 3)编号)编号(4 4)分解的程度)分解的程度现在学习的是第40页,共66页父图-子图平衡父图父图-子图平衡:
17、子图平衡:模型分解时必须保持父图的输入输出数据流和子图输入输出数据流相同。现在学习的是第41页,共66页父图-子图平衡A1 14 42 23 3BFEGCD现在学习的是第42页,共66页父图-子图平衡缺少缺少C C3.13.1ED3.33.33.23.2对加工对加工3细化细化的子图:的子图:加工加工3现在学习的是第43页,共66页购书单购书单教材购教材购销系统销系统教材购销系统的顶层教材购销系统的顶层DFD学生学生领书单领书单缺书单缺书单进书通知进书通知书库保书库保管员管员现在学习的是第44页,共66页购书单购书单缺书缺书单单销售销售教材教材采购采购教材教材1 12 2第第0层层DFD 教材购
18、销系统教材购销系统教材存量表教材存量表学学生生F1F1缺书登记表缺书登记表F2F2书书库库保保管管员员进书通知进书通知教材入教材入库信息库信息领书单领书单现在学习的是第45页,共66页1.21.2第第1层层DFD 销售子系统销售子系统(1.0)无效无效书单书单教材存量表教材存量表F1F1开发票开发票F2F2缺书登记表缺书登记表学学生生各班学生用书表各班学生用书表F3F3售书登记表售书登记表F4F41.11.1 审查审查有效性有效性1.31.3 登记并登记并开领书单开领书单学学生生1.51.5补售补售教材教材1.41.4登记登记缺书缺书购书单购书单发票发票领书领书 单单 有效有效购书单购书单教材
19、入库信息教材入库信息现在学习的是第46页,共66页 按书号按书号汇总缺书汇总缺书2.12.12.32.3第第1层层DFD 采购子系统采购子系统(2.0)待购教材表待购教材表F5F5教材一览表教材一览表F6F6书书库库保保管管员员进书通知进书通知教材存量表教材存量表F1F12.22.2按出版社按出版社统计缺书统计缺书修改教材库修改教材库存和待购量存和待购量F2F2缺书登记表缺书登记表缺缺书书单单教材入库信息教材入库信息缺缺书书单单现在学习的是第47页,共66页父图-子图平衡补充说明领领书书单单1.31.3发票发票1.3.31.3.31.3.21.3.2教材教材1.3.11.3.1学生学生领领书书
20、单单父图父图子图子图发票学生教材发票学生教材借助借助数据字典数据字典判断判断:现在学习的是第48页,共66页局部数据存储的使用出现在加工之间的界面时,才画出来出现在加工之间的界面时,才画出来。XXXX.1.1.2.2.3.31 1父图父图子图子图现在学习的是第49页,共66页加工编号加工的编号原则:加工的编号原则:子图图号为分解的父图中的加工号,同级子图在最后数字以序号区别。现在学习的是第50页,共66页S S2 21 13 32.22.22.12.12.32.33.13.13.23.2 顶层顶层(不编号)(不编号)0 0层层1 1层层现在学习的是第51页,共66页分解的程度分解的程度分解的深
21、度与层次:分解的深度与层次:按功能情况定,一般设深度为按功能情况定,一般设深度为3-5 如超过如超过7个加工最好分解画,否则容易出错个加工最好分解画,否则容易出错现在学习的是第52页,共66页数据词典数据词典l对数据流图中包含的所有元素的定义的对数据流图中包含的所有元素的定义的集合构成了数据词典。集合构成了数据词典。l词典中可有以下四种类型的条目词典中可有以下四种类型的条目数据流数据流数据项数据项(指不再分解的数据单位)(指不再分解的数据单位)文件文件加工加工(加工小说明)(加工小说明)现在学习的是第53页,共66页 A、数据流条目数据流条目给出某个数据流的定义,通常是列出该给出某个数据流的定
22、义,通常是列出该 数据流的各组成数据项。数据流的各组成数据项。例如:报名单姓名单位名年龄性别课程名例如:报名单姓名单位名年龄性别课程名 常用符号:、()、常用符号:、()、C、数据项条目数据项条目 数数据据项项条条目目给给出出某某个个数数据据单单项项的的定定义义,通通常常是是数数据据项项的的值值类类型型,允允许的取值范围。许的取值范围。B、文件条目、文件条目给出某个文件的定义,文件的定义通常是列出文件记给出某个文件的定义,文件的定义通常是列出文件记录的组成数据流。例如:录的组成数据流。例如:订单文件订单编号顾客名称产品名称订货数量交货日期订单文件订单编号顾客名称产品名称订货数量交货日期D、加工
23、条目加工条目 加工类条目就是加工类条目就是“加工小说明加工小说明”。一般应该单独列出。一般应该单独列出。现在学习的是第54页,共66页需求建模实例:需求建模实例:数据字典条目的定义数据字典条目的定义预订请求客人数据住宿期限预订请求客人数据住宿期限+客房类别客房类别客人数据客人姓名客人数据客人姓名+地址地址+身份证号码身份证号码 +护照号码护照号码+支付方式支付方式 身份证号码身份证号码=十进制十进制1515数字数字1818护照号码字母护照号码字母 +8+8数字数字88字母字母“A A”“Z Z”十进制数字十进制数字“0 0”“9 9”现在学习的是第55页,共66页需求建模实例:需求建模实例:数
24、据字典条目的定义数据字典条目的定义F1:F1:航班信息文件航班信息文件 航空公司名称航班号航空公司名称航班号起点终点日期起点终点日期 起飞时间降落时间起飞时间降落时间 航空公司名称航空公司名称22字母字母44 航班号航班号33十进制数字十进制数字33 字母字母“A A”“Z Z”十进制数字十进制数字“0 0”“9 9”起点终点起点终点11汉字汉字1010 起飞时间降落时间时分起飞时间降落时间时分现在学习的是第56页,共66页需求建模实例:需求建模实例:数据字典条目的定义数据字典条目的定义 时时“0000”“2323”分分“0000”“5959”日期年月日日期年月日 年年200020002001
25、20012002200220042004 月月“0101”“1212”日日“0101”“3131”现在学习的是第57页,共66页小说明小说明l数据流图中每一个基本加工(即不再进数据流图中每一个基本加工(即不再进一步被分解的加工)都必须有一个一步被分解的加工)都必须有一个“小小说明说明”l小说明中应精确描述用户要求一个加工小说明中应精确描述用户要求一个加工“做什么做什么”加工的激发条件加工的激发条件加工逻辑加工逻辑加工优先级加工优先级加工执行频率加工执行频率出错处理出错处理现在学习的是第58页,共66页评估评估DFDDFD质量质量l最小化复杂度最小化复杂度l信息超量信息超量:太多的信息同时显示,
26、使太多的信息同时显示,使人难以理解人难以理解。l7272规则规则:模型中组成元素之间的连接模型中组成元素之间的连接数不超过数不超过9的模型设计规则。的模型设计规则。l接口最小化接口最小化:通过限制模块之间的连接通过限制模块之间的连接数来达到简化模型的原则数来达到简化模型的原则现在学习的是第59页,共66页l平衡平衡:进出处理的数据流与进出分进出处理的数据流与进出分解的解的DFD的数据流在数据内容上的数据流在数据内容上保持一致状态。保持一致状态。l黑洞黑洞:带有输入数据的并不用来:带有输入数据的并不用来产生数据的处理或数据存储。产生数据的处理或数据存储。l奇迹奇迹:带有没有任何产生来源数据:带有
27、没有任何产生来源数据的一个处理或数据存储。的一个处理或数据存储。现在学习的是第60页,共66页关联图关联图l是描述系统抽象概念的是描述系统抽象概念的DFD。所有的外部实体和进出系统的数据流所有的外部实体和进出系统的数据流都在一张图中显示。都在一张图中显示。系统最高层,系统最高层,0层图层图现在学习的是第61页,共66页2.1.4需求的面向对象描述方法l用例图用例图l用例场景用例场景l顺序图顺序图l协作图协作图l状态图状态图现在学习的是第62页,共66页用例:用户注册,用户注册成为系统会员用例:用户注册,用户注册成为系统会员编号编号UC1UC1参与者参与者用户前置条件 用户访问系统,系统运行正常
28、用户访问系统,系统运行正常后置条件系统记录用户注册信息系统记录用户注册信息基本路径 扩展点4a.用户提供的信息不正确:4a1.系统提示输入正确信息4a2.返回3补充说明 注册信息包括用户实名电话传真Email联系地址联系地址省份城市街道邮编设计约束注册反应时间不能超过注册反应时间不能超过3 3秒秒现在学习的是第63页,共66页1.用户请求注册。用户请求注册。2.系统显示注册界面。系统显示注册界面。3.用户提交注册信息。用户提交注册信息。4.系统验证注册信息是否正确。系统验证注册信息是否正确。5.系统生成用户名和密码,保存系统生成用户名和密码,保存注册信息。注册信息。6.系统显示系统显示注册成功
29、注册成功信息,信息,进入会员页面。进入会员页面。现在学习的是第64页,共66页思考题思考题1,在系统开发期间建立模型的原因是什么?在系统开发期间建立模型的原因是什么?2,模型的三种类型是什么?,模型的三种类型是什么?3,定义系统需求的两个关键概念是什么?,定义系统需求的两个关键概念是什么?4,什么是事件?,什么是事件?5,事件的三种类型是什么?,事件的三种类型是什么?6,哪一种类型事件发生于确定的时间和地点,哪一种类型事件发生于确定的时间和地点?7,哪一种类型事件不会导致系统输入,但是,哪一种类型事件不会导致系统输入,但是能导出系统输出?能导出系统输出?8,哪一种类型事件可以成为雇员辞职,哪一
30、种类型事件可以成为雇员辞职?现在学习的是第65页,共66页9,什么是触发器、来源?什么是触发器、来源?10,什么是活动或用例?什么是响应?什,什么是活动或用例?什么是响应?什么是目的地?么是目的地?11,在传统方法中事物称为什么?在面向,在传统方法中事物称为什么?在面向对象方法中事物称为什么?对象方法中事物称为什么?12,什么是关系?什么是关系基数?,什么是关系?什么是关系基数?13,解释一下需求模型为什么是逻辑模型,解释一下需求模型为什么是逻辑模型而不是物理模型?而不是物理模型?14,在,在DFD上如何表示事件表的每一列?上如何表示事件表的每一列?15,什么是黑洞?什么是奇迹?如何发现,什么是黑洞?什么是奇迹?如何发现?现在学习的是第66页,共66页