需求建模方法与技术.ppt
《需求建模方法与技术.ppt》由会员分享,可在线阅读,更多相关《需求建模方法与技术.ppt(144页珍藏版)》请在三一办公上搜索。
1、1,需求工程 Ch05 需求建模方法与技术,Mail:,主讲教师:赵 辉,2,第5章 需求建模方法与技术,需求建模主要是根据待开发软件系统的需求,利用某种建模方法建立该系统的逻辑模型(也称需求模型或分析模型),以帮助软件开发人员检测软件需求的一致性、完全性、二义性和错误等。软件建模方法特点:1.提供描述手段;2.提供基本步骤。,3,第5章 需求建模方法与技术,5.1 什么是模型5.2 软件工程中的模型5.3 结构化的需求建模方法5.4 面向对象的需求建模方法5.5 基于图形的需求建模技术,4,5.1 什么是模型,模型的定义由某些人根据其目的而对事物进行的抽象描述。根据实物、设计图或设想,按比例
2、生成或其他特征制成的同实物相似的物体。当一个数学结构作为某个形式语言(即包括常符号、函数 符号、谓词符号的集合)的解释时,称为模型。为了理解事物而对事物作出的一种抽象,是对事物的一种无二义性的书面描述。,5,5.1 什么是模型,模型的分类 描述性模型规约性模型探测性模型,需求模型既是描述性模型(描述问题域),又是规约性模型(软件的需求规格说明)。,6,5.2 软件工程中的模型,软件工程中模型的概念 对客观世界的问题领域进行抽象并用某描述方法给予表示的结果称为模型。注意问题:问题域中有什么对象?应该选择什么样的关系或动作?如何用适当的模型给予表示?,7,5.2 软件工程中的模型,软件工程中模型的
3、分类开发过程模型信息流模型 设计模型 交互作用模型 状态迁移模型 用于构造细节的原理模型 过程成熟度模型 其它模型(可靠性模型,成本估算模型),8,5.3 结构化的需求建模方法,SA方法的特点表达问题时尽可能使用图形符号的方式,这样即使非计算机专业人员也易于理解;设计数据流图时只考虑系统必须完成的基本功能,完全不需要考虑如何具体地实现这些功能。,9,5.3.1 SA方法的基本思想,基本思想按照由抽象到具体、逐层分解的方法,确定软件系统内部的数据流、变换(或加工)的关系,并用数据流图给予表示。复杂系统分解示例,10,5.3.2 SA方法的描述手段,组成一套分层的数据流图 一本词典 其它补充材料
4、数据流图(DFD:Data Flow Diagram)描述系统内部处理流程、用于表达软件系统需求模型的一种图形工具,亦即是描述系统中数据流程的图形工具。,11,5.3.2 SA方法的描述手段,DFD的简例,源点,数据流,数据加工,文件,终点,12,5.3.2 SA方法的描述手段,数据流 数据流是由一组数据项组成的数据,通常用带用带标识的有向孤给予表示。数据流可以加工之间,源点与加工之间,终点与加工之间,加工与文件之间流动。在数据流的命名中,不能使用缺乏具体含义的词如“数据”、“信息”等当作为数据流名。不能把控制流作为数据流。,13,5.3.2 SA方法的描述手段,加工(变换)对数据进行的操作或
5、变换就称为加工。加工的命名方法最高层的加工可以是软件系统的名字;加工的名字最好由一个谓语动词加上一个宾语组成;不能使用空洞或含糊的动词作为加工名;当遇到不能合适命名的加工时,可以考虑将加工分解。,14,5.3.2 SA方法的描述手段,文件文件是存放数据的逻辑单位,且通常用图形符号“”,“”和“”分别表示加工要写文件,读文件和读写文件。另外,在这个图形符号中还要给出文件名。源点和终点源点和终点用于表示数据的来源和最终去向,且通常用图形方框给予表示。,15,5.3.2 SA方法的描述手段,例:某培训中心管理信息系统,16,5.3.2 SA方法的描述手段,分层的DFD对于大型而又复杂的软件系统,如果
6、用一张DFD说出所有的数据流和加工,整个图就会变得相当复杂和难以理解,而且一张纸也难以写下这样的图。为了控制复杂性,通常可采用分层的方法。分层DFD的组成 顶层、底层和中间层。,17,5.3.2 SA方法的描述手段,画完整的分层的DFD需注意的几个问题 在画DFD时应区别于流程图 DFD的完整性问题 DFD的一致性问题(示例)在分层DFD中文件的表示 分解层次的深度(准则),18,5.3.2 SA方法的描述手段,一致性问题示例,19,5.3.2 SA方法的描述手段,分解层次深度的应验性准则某个加工的分解最好不超过78层,尽量减少分解层次;分解应根据问题的逻辑特性进行,不能硬性分解;每个加工被分
7、解为子加工后,子图中的子加工数不要太多,通常为710个;上层可分解快些,下层应该慢些,因为上层比较抽象,易于理解;,20,5.3.2 SA方法的描述手段,分解要均匀,即在一张DFD中,有些已是基本加工,另外一些还要被分解为多层;分解到什么程度才能到达底层DFD呢?一般来说应满足两个条件:一个是加工能用几句或十几句话就可清楚地描述其含义。另一个是一个加工基本上只有一个输入流和一个输出流。,21,5.3.2 SA方法的描述手段,画分层的DFD的步骤 先确定软件系统的输入/出数据流、源点和终点;将基本系统模型加上源点和终点构成顶层DFD;画出各层的DFD。(准则),22,5.3.2 SA方法的描述手
8、段,画每张DFD时,应遵循的准则 将所有软件的输入/出数据流用一连串加工连接起来;应集中精力找出数据流;标识找到的数据流,分析该数据流的组成成分及来去方向,并将其与某加工连接,标识加工;当加工需要用到的共享和暂存数据时,设置文件及其标识;,23,5.3.2 SA方法的描述手段,画每张DFD时,应遵循的准则 分析加工的内部,如果加工还比较抽象或其内部还有数据流,则需将该加工进一步分解,直至到达底层图;为所有的数据流命名;为所有加工命名编号。,24,5.3.2 SA方法的描述手段,在画DFD时还应注意的情况画图时只考虑如何描述实际情况,不要急于考虑系统应如何启动,如何工作,如何结束等与时间序列相关
9、的问题;画图时可暂不考虑一些例外情况如出错处理等;画图的过程是一个重复的过程,一次性成功可能性较小,需要不断地修改和完善。,25,5.3.2 SA方法的描述手段,示例 某医院拟开发一个分布式患者监护系统(PMS:Patients Monitoring System)。PMS将用于监视病房中每个患者的重要生理信号(如体温、血压、脉博信号等),并能定时更新和管理患者的病历。此外,当患者的生理信号超过医生规定的安全范围时,系统能立即通知护理人员,并且护理人员在需要时可随时通过系统产生某患者有关报告。,26,5.3.2 SA方法的描述手段,PMS的主要功能为:通过一个病床监视器实现本地监测,以获得患者
10、的生理信号。在护士办公室实现中央监测 更新和管理患者病历 产生患者情况的报告以及报警信息,27,5.3.2 SA方法的描述手段,第0层数据流图,28,5.3.2 SA方法的描述手段,第1层数据流图,29,5.3.2 SA方法的描述手段,第2层数据流图,30,5.3.2 SA方法的描述手段,数据字典数据词典是由DFD中所有元素的“严格定义”组成。其作用就是DFD中出现的每个元素提供详细的说明,即DFD中出现的每个数据流名、文件名和加工名都在数据词典中应有一个条目以定义相应的含义。,31,5.3.2 SA方法的描述手段,数据词典中的条目类型数据流条目:用于定义数据流,主要说明由哪些数据项组成数据流
11、,采用简单的形式符号方式定义。对于复杂的数据流,可采用向顶向下逐步细化的方式定义数据项。例:订票单顾客信息+订票日期+出发日期+航班号+顾客信息 姓名+性别+身份证号+联系电话,32,5.3.2 SA方法的描述手段,当数据项由多个更小的数据元素组成时,可利用集合符号“”给予说明。如:选修课程 课程表+教师+教材 课程表 课程名+星期几+上课时间+教室 当某些数据项是几个不同的数据流的公用数据项时,可将它们列为专门的数据项条目。如:教室101|102|航班号Mu712|Mu814|,数据词典中的条目类型数据流条目:用于定义数据流,33,5.3.2 SA方法的描述手段,当所有出现在DFD中的数据流
12、都给予定义后,最后的工作就是对出现在数据流中的数据项进行汇总,然后以表格的形式汇录每一数据项。如:,数据词典中的条目类型数据流条目:用于定义数据流,34,5.3.2 SA方法的描述手段,文件条目:用于定义文件 除说明组成文件的所有数据项(与数据流的说明相同)外,还可说明文件的组成方式。如:航班表文件 航班号+出发地+目的地+时间 组成方式 按航班号大小排列,35,5.3.2 SA方法的描述手段,加工条目:用于说明加工 加工条目主要描述加工的处理逻辑或“做什么”。加工条目并不描述具体的处理过程,但可以按处理的顺序描述加工应完成的一些功能,而且描述加工的手段通常使用自然语言,或者结构化的人工语言,
13、或者使用判定表或判定树的形式。,36,5.3.2 SA方法的描述手段,实例:某培训中心管理信息系统中的“处理报名”加工描述如下:根据报名要求查询收费标准文件,确定相应费用。学生注册 根据选修课程登录课程统计文件 产生注册单等 由所有的数据条目、文件条目和加工条目就构成一本数据词典。,37,练 习,某学校计算机教材购销系统有以下功能:学生买书,首先填写购书单,系统根据各班学生用书表以及售书登记表审查有效性,若有效,计算机根据教材存量表进一步判断书库是否有书,若有书,计算机把领书单返回给学生,学生凭领书单到书库领书。对脱销的教材,系统用缺书单的形式通知书库,新书购进库后,也由书库将进书通知返回给系
14、统。请就以上系统功能画出分层的DFD图,并建立主要的文件条目的数据字典.,38,5.3.3 实例说明,某学校拟开发一个运动会管理系统。有关运动会的业务流程如下:(1)确定运动会的举办时间和地点,设置哪些项目,报名时间等(2)确定一些限制规定,如每人最多可参加几个项目,每个项目每队最多可由多少人参加,取前几名,打破单项比赛记录后的处理等。,39,5.3.3 实例说明,(3)由各参加队提供报名单后,需给每个运动员编号,并统计每个项目的参加人数及名单,最后根据每个项目的参加人数等具体情况排出比赛日程。(4)在运动会期间不断接受各项目的比赛成绩,及时公布单项名次,累计团体总分。(5)比赛结束后,公布最
15、终的团体名次。,40,5.3.3 实例说明,第0层数据流图,41,5.3.3 实例说明,第1层数据流图,42,5.3.3 实例说明,第2层数据流图,43,5.3.3 实例说明,第2层数据流图,44,5.3.3 实例说明,数据字典说明数据流条目,45,5.3.3 实例说明,汇总后的数据项,46,5.3.3 实例说明,文件条目,47,5.3.3 实例说明,加工条目,48,5.3.3 实例说明,49,5.3.4 SA方法的分析步骤,为简单起见,我们将现实中已存在的人工系统称为当前系统,把待开发的计算机系统(主要是指软件系统)称为目标系统。步骤理解和分析当前的现实环境,以获得当前系统的具体模型;建立当
16、前系统的逻辑模型;建立目标系统的逻辑模型;进一步完善目标系统的逻辑模型,50,5.4 面向对象的需求建模方法,面向对象的需求建模方法到目前为上已有许多不同的版本,其中具有代表性的是OOD、OMT、OOSE、OOAP和UML等。在这些需求建模方法中,本节将主要介绍基于OMT的需求建模方法,而且重点放在需求建模方面,有关UML的内容将在后面章节给予说明。,51,5.4.1 面向对象方法中的一些基本概念,对象客观世界中存在大量实体。实体可以是物理的,也可以是概念的,所谓对象就是以上的客观实体的抽象,并且是构成概念模型的基本单元。对象是具有相同状态的一组操作组成。对象是封装数据结构及可以施加这些数据构
17、上的操作的封装体。这个封装体,可以有可以唯一标识它的名字,而且向外可提供一组服务。,52,5.4.1 面向对象方法中的一些基本概念,对象图形表示如下:,53,5.4.1 面向对象方法中的一些基本概念,类 类是对具有相同性质和操作的一个或多个对象的描述,并且是一组对象的集合。性质继承性质继承是指能够直接获得已有的性质和特征,而不需要重复定义它们。性质继承主要是由父类与子类的关系引起的,其中子类除了具有自己的属性和内部操作外,还可继承父类的全部属性和内部操作。,54,5.4.1 面向对象方法中的一些基本概念,消息 消息是系统运行过程中对象之间相互传递的、请求服务的信息。通过消息实现对象之间的通信是
18、OOM的重要原则之一。类之间的关系 类之间的泛化关系 这种关系主要是因类之间继承关系而形成的类层次结构。在OOM中用“一般 特殊”或“Is a”这一关系来定义这种结构。,55,5.4.1 面向对象方法中的一些基本概念,泛化关系的表示,56,5.4.1 面向对象方法中的一些基本概念,类之间组成关系 这种关系是因一个对象是另一个对象的组成部分而形成的结构关系。,组成关系的表示,57,5.4.1 面向对象方法中的一些基本概念,对象属性间的静态关系 所谓对象属性间的静态关系是指可以通过对象中的属性形成对象间的一种相关依赖关系。关联与实例连接的关系就像类与对象的关系一样,实例连接可看做是关联的实例。,实
19、例连接的图形表示,58,5.4.1 面向对象方法中的一些基本概念,对象行为间的动态关系 这种动态行为关系主要是由对象间的消息连接而形成的。一个对象可以通过消息向其它对象提出执行动作的要求,动作执行完后的对象通过消息可发送执行的结果等。,59,5.4.2 面向对象的需求分析,根据面向对象的过程模型,面向对象的需求分析从概念上被分为问题分析和应用分析两个方面。,60,5.4.2 面向对象的需求分析,问题分析 问题分析的主要任务是收集并确认用户的需求信息,对实际问题进行功能分析和过程分析,从中抽象出问题中的基本概念、属性和操作,然后用泛化、组成和关联结构描述概念实体间的静态关系。最后,将概念实体标识
20、为问题域中的对象类,以及定义对象类之间的静态结构关系和信息连接关系。最终建立关于对象的分析模型。,61,5.4.2 面向对象的需求分析,应用分析 应用分析的主要任务是动态描述系统中对象的合法状态序列,并用动态模型表达对象的动态行为、对象之间的消息传递和协同工作的动态信息。虽然面向对象的概念是相同的,但由于分析工作的出发点、过程和模型的表达不同,故形成了不同的面向对象的分析方法。如:OMT方法和OOAD方法。,62,5.4.3 OMT方法的图形描述工具,OMT方法中的三种需求模型及其描述工具对象模型类图 动态模型状态转换图和序列图 功能模型数据流图,63,5.4.3 OMT方法的图形描述工具,状
21、态转换图 状态转换图(简称状态图)通过描述系统的状态及引起系统状态转换的事件来表示系统的行为。此外,状态图还指明了作为特定事件的结果系统将做哪些动作(如处理数据)。,64,5.4.3 OMT方法的图形描述工具,一个状态图主要由状态、事件和状态变换组成,其中:状态:状态是任何可以被观察到的系统行为模式。事件:事件是在某个特定时刻发生的事情,它能引起系统做动作,并使系统从一个状态转换到另一个状态。状态转换:由某事件引起的两个状态之间的变化称为状态转换。,65,5.4.3 OMT方法的图形描述工具,画状态图的基本步骤:确定初态;确定事件(事件可由动作或输入信息等形成),并根据事件以及某些限制条件确定
22、由当前状态转到下一个状态以形成一个状态转换;重复2的过程,直到最后确定结束状态为止。,66,5.4.3 OMT方法的图形描述工具,状态图示例例1:一个人带着一头狼、一头羊以及一棵青菜,处于河的左岸。有一条小船,每次只能携带人和其余的三者之一。人和他的伴随品都希望渡到河的右岸,而每摆渡一次,人仅能带其中之一。然而,如果人留下狼和羊不论在左岸还是在右岸,狼肯定会吃掉羊。类似地,如果单独留下羊和菜,羊也肯定会吃掉菜。如何才能既渡过河而羊和菜又不被吃掉呢?,67,5.4.3 OMT方法的图形描述工具,68,5.4.3 OMT方法的图形描述工具,例2:电话系统状态图,69,5.4.3 OMT方法的图形描
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 需求 建模 方法 技术
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6033956.html