结构化的需求分析与建模课件

上传人:工**** 文档编号:568334031 上传时间:2024-07-24 格式:PPT 页数:42 大小:740.50KB
返回 下载 相关 举报
结构化的需求分析与建模课件_第1页
第1页 / 共42页
结构化的需求分析与建模课件_第2页
第2页 / 共42页
结构化的需求分析与建模课件_第3页
第3页 / 共42页
结构化的需求分析与建模课件_第4页
第4页 / 共42页
结构化的需求分析与建模课件_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《结构化的需求分析与建模课件》由会员分享,可在线阅读,更多相关《结构化的需求分析与建模课件(42页珍藏版)》请在金锄头文库上搜索。

1、第四章 结构化分析与建模(一)4.1 需求建模概述与结构化建模需求建模概述与结构化建模4.2 数据模型数据模型与与ERER图图本章结构本章结构4.3 功能模型数据流图功能模型数据流图4.4 行为模型状态转换图行为模型状态转换图4.5 数据字典数据字典4.6 判定表和判定树判定表和判定树 “化学制品跟踪系统化学制品跟踪系统”的项目开发组正在进行第一的项目开发组正在进行第一次软件需求规格说明的评审。参加者有次软件需求规格说明的评审。参加者有Dave(项目经(项目经理),理),Lori(需求分析者),(需求分析者),Helen( (高级程序员高级程序员) ),Ramesh ( (测试专家测试专家)

2、),Tim( (化学制品的产品代表者化学制品的产品代表者) ),还有还有Roxanne ( (化学制品仓库的产品代表者化学制品仓库的产品代表者) )。 Tim开始说:开始说:“我阅读过整个软件需求规格说明。我阅读过整个软件需求规格说明。大部分都符合我的需求,但是有几个部分我很难同意。大部分都符合我的需求,但是有几个部分我很难同意。我不能确信在化学制品请求过程中,我们是否确定了我不能确信在化学制品请求过程中,我们是否确定了这些这些步骤步骤。”Ramesh又补充说:又补充说:“当一个请求通过系当一个请求通过系统时,我很难想象用于覆盖该请求状态变化的所有测统时,我很难想象用于覆盖该请求状态变化的所有

3、测试用例。我发现许多关于试用例。我发现许多关于状态变化状态变化的需求散布在整个的需求散布在整个软件需求规格说明中,但我无法确定是否有一些需求软件需求规格说明中,但我无法确定是否有一些需求遗漏了或存在不一致性。遗漏了或存在不一致性。”引言与要点Roxanne有一个类似的问题。有一个类似的问题。“当我阅读了如何真正当我阅读了如何真正请求一种化学药品时,我感到困惑请求一种化学药品时,我感到困惑”,她说,她说,“单单个需求是能感觉到的,但我难以想像我所要完成的个需求是能感觉到的,但我难以想像我所要完成的步骤顺序步骤顺序。”在各评审员提出其它相关的问题后,在各评审员提出其它相关的问题后,Lori做出了总

4、结:做出了总结:“看来软件需求规格说明似乎没有看来软件需求规格说明似乎没有完全告诉我们对于理解系统所需的各个方面,也不完全告诉我们对于理解系统所需的各个方面,也不能确保我们没有错过一个需求或不犯任何错误。我能确保我们没有错过一个需求或不犯任何错误。我将将画一些图来帮助我们想像这些需求,并看一下能画一些图来帮助我们想像这些需求,并看一下能否澄清这些问题域。否澄清这些问题域。谢谢你们的反馈意见。谢谢你们的反馈意见。”引言与要点相关基础概念v所谓所谓模型模型,就是为了理解事物而对该事物做出的,就是为了理解事物而对该事物做出的一种抽象,在软件工程中的模型由一组一种抽象,在软件工程中的模型由一组图形符号

5、图形符号和组织这些符号的和组织这些符号的规则规则组成组成 。v经过对需求获取的资料进行分析,并以此建立起经过对需求获取的资料进行分析,并以此建立起来的模型称之为来的模型称之为需求分析模型需求分析模型。引言与要点v需求分析模型主要描述软件目标系统的需求分析模型主要描述软件目标系统的数据信息、数据信息、处理功能、用户界面及运行处理功能、用户界面及运行的外部行为,它并不的外部行为,它并不涉及软件的具体实现细节。涉及软件的具体实现细节。v模型帮助分析员理解系统的模型帮助分析员理解系统的信息、功能和行为信息、功能和行为;模型成为评审焦点;模型也是设计基础。模型成为评审焦点;模型也是设计基础。v建模充分体

6、现了建模充分体现了“分而治之分而治之”这一古老而有效的这一古老而有效的概念。把复杂而困难的问题分解细化后,逐个解概念。把复杂而困难的问题分解细化后,逐个解决它们。决它们。v建模能有效地将需求映射到软件结构中建模能有效地将需求映射到软件结构中 。BKBK第四章 结构化分析与建模(一)4.1 需求建模概述与结构化建模需求建模概述与结构化建模4.2 数据模型数据模型与与ERER图图本章结构本章结构4.3 功能模型数据流图功能模型数据流图4.4 行为模型状态转换图行为模型状态转换图4.5 数据字典数据字典4.6 判定表和判定树判定表和判定树需求分析阶段模型的作用v帮助系统分析员理解系统的信息、功能和行

7、为,帮助系统分析员理解系统的信息、功能和行为,使得需求分析任务更加容易实现,结果更加系统使得需求分析任务更加容易实现,结果更加系统化。化。v它是评审焦点,是确定它是评审焦点,是确定SRSSRS完整性、一致性和精确完整性、一致性和精确性的重要依据。性的重要依据。v它是设计的基础,是软件要素的表示视图。它是设计的基础,是软件要素的表示视图。 从客户需求到分析模型从客户需求到分析模型v认真听取客户陈述他们的需求之后,分析人员就认真听取客户陈述他们的需求之后,分析人员就可以挑选出关键字,将这些关键字转换成特定的可以挑选出关键字,将这些关键字转换成特定的模型元素。模型元素。v表表4.14.1列出了一些可

8、能的映射列出了一些可能的映射:单词类型单词类型 示示 例例 分析模型组件分析模型组件 名词名词 人、组织、软件系统、数据项或存人、组织、软件系统、数据项或存在的对象在的对象 数据存储数据存储(DFD)(DFD) 执行者执行者( (用例图用例图) ) 实体或实体属性实体或实体属性(ERD)(ERD) 类或类属性类或类属性( (类图类图) ) 动词动词 动作、用户可做的事情或可能发生动作、用户可做的事情或可能发生的事件的事件 处理过程处理过程(DFD)(DFD) 用例用例( (用例图用例图) ) 关系关系(ERD)(ERD) 状态状态(STD)(STD) 活动活动( (活动图活动图) ) 表表4.

9、1 映射映射示例示例 “一位一位化学家化学家或或化学品仓库保管人员化学品仓库保管人员可以提出可以提出获得一种或多种获得一种或多种化学制品化学制品的的请求请求:一是提供一个存:一是提供一个存在于在于化学制品仓库清单化学制品仓库清单上的化学品上的化学品容器容器,二是向外,二是向外界界供应商供应商提交一份提交一份订购订购新的化学品的新的化学品的订单订单。提出请提出请求的人求的人在准备其请求时,必须能够通过在线查找在准备其请求时,必须能够通过在线查找供供应商目录表应商目录表找到特定的化学品。从准备请求直到执找到特定的化学品。从准备请求直到执行请求或取消请求期间,系统必须跟踪每一个化学行请求或取消请求期

10、间,系统必须跟踪每一个化学品请求的品请求的状态状态。系统还必须跟踪每个化学品的。系统还必须跟踪每个化学品的历史历史记录记录,从,从公司公司收到化学品直到它完全被用尽或丢弃收到化学品直到它完全被用尽或丢弃为止。为止。”化学制品跟踪系统示例化学制品跟踪系统示例结构化分析的模型v结构化分析是一种建立模型的活动,创建结构化分析是一种建立模型的活动,创建描述描述信信息内容和信息流息内容和信息流的模型,依据功能和行为对系统的模型,依据功能和行为对系统进行划分。进行划分。v建模时建模时, , 需需要要关注系统最复杂和风险最大的部分,关注系统最复杂和风险最大的部分,以及最容易产生歧义和不确定性的部分。以及最容

11、易产生歧义和不确定性的部分。结构化分析的模型结构化分析模型图结构化分析模型图4.2 数据模型与ER图v数据模型包括三种互相关联的信息:数据模型包括三种互相关联的信息:数据对象数据对象、描述数据对象的属性描述数据对象的属性和数据对象相互连接的和数据对象相互连接的关系关系。1. 数据对象是一个外部实体、一个事物(如报告)、数据对象是一个外部实体、一个事物(如报告)、一次行为(如电话呼叫)或事件(一个警报)、一次行为(如电话呼叫)或事件(一个警报)、一个角色(如销售人员)、一个组织单元(如销一个角色(如销售人员)、一个组织单元(如销售部门、人事部门)、一个地点(如仓库)或一售部门、人事部门)、一个地

12、点(如仓库)或一个结构(如文件)。个结构(如文件)。4.2 数据模型与ER图v如,人或车可以被认为是数据对象,因为它们可如,人或车可以被认为是数据对象,因为它们可以用一组属性来定义。以用一组属性来定义。v“数据对象描述数据对象描述” 包括了包括了数据对象数据对象及其及其所有的所有的属性属性。数据模型只封装了数据,没有对数据的操。数据模型只封装了数据,没有对数据的操作。作。2.属性属性属性定义了数据对象的性质,数据对象有许多属属性定义了数据对象的性质,数据对象有许多属性,应选择一组本质的属性。性,应选择一组本质的属性。例如,教师的属性有教工号、姓名、性别、职称例如,教师的属性有教工号、姓名、性别

13、、职称、专业、研究方向、担任课程、住址、电话等。、专业、研究方向、担任课程、住址、电话等。如果设计如果设计“教学管理系统教学管理系统”,关心与教学有关的,关心与教学有关的属性、排除与教学无关的属性。属性、排除与教学无关的属性。3. 关系关系数据对象是相互关联的,如人可以数据对象是相互关联的,如人可以“拥有拥有”车。车。拥有即它们间的一种关系。拥有即它们间的一种关系。实体和实体之间的关系被抽象为联系。联系分为:实体和实体之间的关系被抽象为联系。联系分为:1)一对一(一对一(1:1)(一个丈夫只能有一个妻子)(一个丈夫只能有一个妻子) 2) 一对多(一对多(1:N)(一个母亲有多个孩子一个母亲有多

14、个孩子)3) 多对多(多对多(M:N)(侄子与叔叔侄子与叔叔)实体实体关系图关系图概念概念v最常使用的数据模型是实体最常使用的数据模型是实体关系图关系图(Entity-Relationship Diagram(Entity-Relationship Diagram,ERD)ERD)v实体用单名词来命名,在实体实体用单名词来命名,在实体- -关系图中用关系图中用矩形框矩形框来表示实体。实体来表示实体。实体关系图中的关系图中的菱形菱形框代表关系,它确定了一对实体之间在逻辑框代表关系,它确定了一对实体之间在逻辑上和数量上的连接。关系的命名要能描述关上和数量上的连接。关系的命名要能描述关系的系的本质本

15、质。v主键主键: 能唯一地标识该实体的属性或属性能唯一地标识该实体的属性或属性组。组。ERD的图例ERD的实例图图4-2-1 4-2-1 “某校课程管理系统某校课程管理系统”的实体联系的实体联系图图图图4-2-2 4-2-2 “化学制品跟踪系统化学制品跟踪系统”的实体联系的实体联系图图 4.3 功能模型数据流图v数据流模型把数据流模型把功能分解方法功能分解方法运用到系统分析上,运用到系统分析上,把复杂的问题进一步分解到把复杂的问题进一步分解到更详细的层次更详细的层次。v数据流模型很适用于事务处理系统和其他功能密数据流模型很适用于事务处理系统和其他功能密集型应用程序。集型应用程序。数据流图四种基

16、本图形符号数据流图四种基本图形符号v数据流图有四种基本图形符号:数据流图有四种基本图形符号: 画数据流程图的原则画数据流程图的原则数据流程图上所有图形符号必须是前面所数据流程图上所有图形符号必须是前面所述的四种基本元素。述的四种基本元素。 数据流程图的主图必须含有前面所述的四数据流程图的主图必须含有前面所述的四种基本元素,缺一不可。种基本元素,缺一不可。 数据流程图上的数据流必须封闭在外部实数据流程图上的数据流必须封闭在外部实体之间,外部实体可以是一个,也可以是体之间,外部实体可以是一个,也可以是多个。多个。 4.3 功能模型数据流图画数据流程图的原则画数据流程图的原则处理过程至少有一个输入数

17、据流和一个输处理过程至少有一个输入数据流和一个输出数据流。出数据流。 任何一个数据流子图必须与它的父图上的任何一个数据流子图必须与它的父图上的一个处理过程对应,两者的输入数据流和一个处理过程对应,两者的输入数据流和输出数据流必须一致,即所谓输出数据流必须一致,即所谓“平衡平衡”。 数据流程图上的每个元素都必须有名字。数据流程图上的每个元素都必须有名字。 4.3 功能模型数据流图为方便储户,某银行拟开发为方便储户,某银行拟开发计算机储蓄系统计算机储蓄系统,储户携带存折,储户携带存折前去银行办理取款手续,他应把存折和填好的取款单一并交前去银行办理取款手续,他应把存折和填好的取款单一并交给银行工作人

18、员检验。工作人员需核对账目,发现存折有效给银行工作人员检验。工作人员需核对账目,发现存折有效性问题、取款单填写问题或是存折、账卡与取款单不符等问性问题、取款单填写问题或是存折、账卡与取款单不符等问题时均应报告储户。在检验通过的情形下,银行则应将取款题时均应报告储户。在检验通过的情形下,银行则应将取款信息登记在存折和账卡上,并通知付款。根据付款通知给储信息登记在存折和账卡上,并通知付款。根据付款通知给储户付款。户付款。飞机机票预订系统DFD图下图是一个飞机机票预订系统的数据流图,它反映的功能是:下图是一个飞机机票预订系统的数据流图,它反映的功能是: 旅行社把预订机旅行社把预订机票的旅客信息票的旅

19、客信息 (姓名、年龄、单位、身份证号码、旅行时间、目的地等姓名、年龄、单位、身份证号码、旅行时间、目的地等)输入机输入机票预订系统。系统为旅客安排航班,打印出取票通知单票预订系统。系统为旅客安排航班,打印出取票通知单(附有应交的账款附有应交的账款)。旅客。旅客在飞机起飞的前一天凭取票通知单交款取票,系统检验无误,输出机票给旅客。在飞机起飞的前一天凭取票通知单交款取票,系统检验无误,输出机票给旅客。 画数据流程图的基本步骤把一个系统看成一个整体功能,明确信息的输入把一个系统看成一个整体功能,明确信息的输入和输出。和输出。 找到系统的外部实体。一旦找到外部实体,则系找到系统的外部实体。一旦找到外部

20、实体,则系统与外部世界的界面就可以确定下来,系统的数统与外部世界的界面就可以确定下来,系统的数据流的据流的源点和终点源点和终点也就找到了。也就找到了。 找出外部实体的输入数据流和输出数据流。找出外部实体的输入数据流和输出数据流。 在图的边上画出系统的外部实体。在图的边上画出系统的外部实体。 画数据流程图的基本步骤从外部实体的输入流(源)出发,按照系统的逻从外部实体的输入流(源)出发,按照系统的逻辑需要,逐步画出一系列逻辑处理过程,直至找辑需要,逐步画出一系列逻辑处理过程,直至找到外部实体处理所需的输出流,形成数据流的封到外部实体处理所需的输出流,形成数据流的封闭。闭。 将系统内部数据处理又分别

21、看做整体功能,其内将系统内部数据处理又分别看做整体功能,其内部又有信息的处理、传递、存储过程。部又有信息的处理、传递、存储过程。 如此一级一级地剖析,直到所有处理步骤都很具如此一级一级地剖析,直到所有处理步骤都很具体为止。体为止。 数据流图的层次结构数据流图的层次结构 为了表达数据处理过程的数据加工情况,为了表达数据处理过程的数据加工情况,需要采用需要采用层次结构层次结构的数据流图。按照系统的数据流图。按照系统的层次结构进行的层次结构进行逐步分解逐步分解,并以分层的数,并以分层的数据流图反映这种结构关系,能清楚地表达据流图反映这种结构关系,能清楚地表达和容易理解整个系统。和容易理解整个系统。分

22、层的数据流图分层的数据流图数据流图的层次结构数据流图的层次结构v在多层数据流图中,在多层数据流图中,顶层流图顶层流图仅包含仅包含一个一个加工加工,它代表被开发系统。它的输入流是,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出该系统的输入数据,输出流是系统所输出数据。数据。v底层流图底层流图是指其是指其加工不需再做分解加工不需再做分解的数据的数据流图,它处在最底层。流图,它处在最底层。v中间层流图中间层流图则表示则表示对其上层父图的细化对其上层父图的细化。它的每一加工可能继续细化,形成子图。它的每一加工可能继续细化,形成子图。数据流图的层次结构数据流图的层次结构经过初步的需求

23、分析,得到系统功能要求:经过初步的需求分析,得到系统功能要求:1 1、监视病员的病症(血压、体温、脉搏等)。、监视病员的病症(血压、体温、脉搏等)。2 2、定时更新病历。、定时更新病历。3 3、病员出现异常情况时报警。、病员出现异常情况时报警。4 4、随机地产生某一病员的病情报告。、随机地产生某一病员的病情报告。医院病房监护系统产生产生病情报告病情报告监视病情监视病情更新病历更新病历系统功能要求:系统功能要求: 1 1、监视病员的病症(血压、体温、脉搏等)、监视病员的病症(血压、体温、脉搏等) 2 2、定时更新病历、定时更新病历 3 3、病员出现异常情况时报警。、病员出现异常情况时报警。 4

24、4、随机地产生某一病员的病情报告。、随机地产生某一病员的病情报告。顶层:顶层:病员病员护士护士护士护士病员监病员监护系统护系统病员病员日志日志病症信号病症信号要求报告要求报告病症病症报告报告报警报警医院病房监护系统医院病房监护系统病员病员日志日志医院病房监护系统顶层医院病房监护系统顶层DFDDFD图图第一层:第一层:病员病员护士护士护士护士中央监视中央监视病症信号病症信号要求报告要求报告病症病症报告报告报警报警局部监视局部监视生成报告生成报告病员极限病员极限更新日志更新日志病员数据病员数据格式化格式化病员数据病员数据生理信号生理信号极限值极限值1324日志数据日志数据日志数据日志数据第二层:加

25、工第二层:加工“中央监视中央监视”分解分解计算超过计算超过极限值否极限值否病员数据据超过极限值报警开解信号开解信号产生产生报警信息报警信息病员极限病员极限格式化格式化病员数据病员数据体温血压、体温脉搏生理信号极限值时间脉搏血压日期时钟时钟格式化病员数据3.13.23.23.33.33.43.4医院病房监护系统二层医院病房监护系统二层DFDDFD图图计算超过计算超过极限值否极限值否病员数据超过极限值报警开解信号开解信号产生产生报警信息报警信息病员极限病员极限格式化格式化病员数据病员数据体温血压、体温、脉搏生理信号极限值时间脉搏血压日期时钟时钟格式化病员数据3.13.23.23.33.33.43.

26、4第二层:加工第二层:加工“中央监视中央监视”分解分解医院病房监护系统分层医院病房监护系统分层医院病房监护系统分层医院病房监护系统分层DFDDFDDFDDFD图图图图第一层第一层格式化格式化病员数据病员数据生理信号生理信号极限值极限值病员病员护士护士护士护士中央监视中央监视病员病员日志日志病症信号病症信号要求报告要求报告病症病症报告报告报警报警局部监视局部监视生成报告生成报告病员极限病员极限更新日志更新日志病员病员数据数据1324日志数据日志数据多层数据流图实例多层数据流图实例商店业务处理系统商店业务处理系统 经过分析,商店业务处理的主要功能应当有经过分析,商店业务处理的主要功能应当有销售、采购、会计销售、采购、会计三大项。主要数据流输入的三大项。主要数据流输入的源点和输出终点是顾客和供应商。源点和输出终点是顾客和供应商。然后从输入端开始,根据商店业务工作流程,然后从输入端开始,根据商店业务工作流程,画出数据流流经的各加工框,逐步画到输出端,画出数据流流经的各加工框,逐步画到输出端,得到第一层数据流图。得到第一层数据流图。数据流图实例数据流图实例商店业务处理系统商店业务处理系统第一层数据流图第一层数据流图销售细化销售细化第二层数据流图第二层数据流图

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号