版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件工程实践者的研究方法chapter06cn建模流程行为与模式课件软件工程实践者的研究方法chapter06cn建模流程行为与需求建模策略One view of requirements modeling, called structured analysis, considers data and the processes that transform the data as separate entities. Data objects are modeled in a way that defines their attributes and relationships. Proce
2、sses that manipulate data objects are modeled in a manner that shows how they transform data as data objects flow through the system. A second approach to analysis modeled, called object-oriented analysis, focuses on the definition of classes andthe manner in which they collaborate with one another
3、to effect customer requirements. 牛牛文库文档分享2需求建模策略One view of requirements需求建模策略一种考虑数据和处理的分析建模方法被称作结构化分析,其中数据作为独立实体转换。数据对象建模定义了对象的属性和关系,操作数据对象的处理建模应表明当数据对象在系统内流动时处理如何转换数据。第二种方法称作面向对象的分析,这种方法关注于定义类和影响客户需求的类之间的协作方式。UML和统一过程主要是面向对象的。 牛牛文库文档分享3需求建模策略一种考虑数据和处理的分析建模方法被称作结构化分析基于流的模型 牛牛文库文档分享4表示数据对象在系统间流动时,是如
4、何转换的一个数据流图 (DFD)是一种图形格式,是最为广泛使用的一种方法。 基于流的模型 牛牛文库文档分享6流模型 牛牛文库文档分享5每个基于计算机的系统都是一种信息转换.computerbasedsysteminputoutput流模型 牛牛文库文档分享7每个基于流模型的符号表示 牛牛文库文档分享6外部实体处理数据流数据存储流模型的符号表示 牛牛文库文档分享外部实体 牛牛文库文档分享7数据的构造者或消费者例如: 人, 设备, 传感器另外一个例子: 基于计算机的系统数据必须总是从某个地方起源,然后必须被送到另外一个地方。外部实体 牛牛文库文档分享9数据的处理 牛牛文库文档分享8数据转换者 (将
5、输入转换成输出)例子: 计算税收, 确定区域, 格式化报表, 展示图形为了获得某些系统功能,数据必须被处理 处理 牛牛文库文档分享10数据转换数据流 牛牛文库文档分享9流经一个系统的数据, 开始作为输入,被转换为输出 computetriangle areabaseheightarea数据流 牛牛文库文档分享11流经一数据存储 牛牛文库文档分享10数据通常被存储,用于将来使用look-upsensordatasensor #report requiredsensor #, type, location, agesensor datasensor numbertype, location, ag
6、e数据存储 牛牛文库文档分享12数据数据流图:原则所有图标必须有有意义的名字 DFD 可以分层总是从一个上下文图开始 (也称为0层次图)总是在第0层展示外部实体 数据流箭头需要有标识不表示过程型的逻辑 牛牛文库文档分享11数据流图:原则所有图标必须有有意义的名字 www.niuwk构造一个DFDI复审数据模型,将数据对象分离出来,使用一个语法解析器将操作分解出来。确定外层实体(数据的构造者和消费者)构造0层 DFD 牛牛文库文档分享12构造一个DFDI复审数据模型,将数据对象分离出来,使用一个0层DFD的例子 牛牛文库文档分享13userprocessing requestvideosourc
7、eNTSCvideo signaldigitalvideoprocessorrequestedvideosignalmonitor0层DFD的例子 牛牛文库文档分享构造一个DFDII对转换写一个描述 解析以确定下一层的转换 “平衡”页面流,以维护数据流的连续性构造一个1层DFD使用1:5 (近似) 扩展率 牛牛文库文档分享14构造一个DFDII对转换写一个描述 www.niuwk.c数据流层次 牛牛文库文档分享15Pabxyp1p2p3p45abcdefg第 0层第1层数据流层次 牛牛文库文档分享17P流模型注意事项所有泡泡都被精化,直到每个泡泡只做一件事情当层次增加的时候,扩展率不断降低对于
8、一个描述比较充分的数据流模型,大多数系统需要3到7层 当层次增加时,一个单一的数据流对象条目 (箭头)会被扩充(数据字典提供了信息) 牛牛文库文档分享16流模型注意事项所有泡泡都被精化,直到每个泡泡只做一件事情ww处理规格说明 (PSPEC) 牛牛文库文档分享17PSPECnarrativepseudocode (PDL)equationstablesdiagrams and/or charts泡泡处理规格说明 (PSPEC) 牛牛数据流图的转换: 预先看一眼 牛牛文库文档分享18映射到分析模型设计模型数据流图的转换: 预先看一眼 牛牛Control Flow ModelingRepresen
9、ts “events” and the processes that manage eventsAn “event” is a Boolean condition that can be ascertained by:listing all sensors that are read by the software.listing all interrupt conditions.listing all switches that are actuated by an operator.listing all data conditions.recalling the noun/verb pa
10、rse that was applied to the processing narrative, review all control items as possible CSPEC inputs/outputs. 牛牛文库文档分享19Control Flow ModelingRepresent创建控制流模型 事件或控制项可以实现为布尔值(例如,true或false,on或off,1或0)或条件的离散列表(空、拥挤、满)。为了选择潜在的候选事件,建议使用如下的指导原则:列出所有被软件“读”的传感器。列出所有的中断条件。列出操作人员能够启动的所有“开关”。列出所有的数据条件。回顾对处理叙述所进
11、行的名词/动词语法分析,考察所有可能作为控制流输入/输出的“控制项”。 牛牛文库文档分享20创建控制流模型 事件或控制项可以实现为布尔值(例如,控制流图 牛牛文库文档分享21读取操作员输入createuserdisplays执行问题诊断reloadprocess复制beeper on/offstartcopies donedisplay panel enabledfullproblem lightemptyjammed控制流图 牛牛文库文档分享23读取控制规范 (CSPEC) 牛牛文库文档分享22CSPEC 可以是:状态图 (sequential spec)状态变迁表判定表激活表组合规范控制规
12、范 (CSPEC) 牛牛文库构造 CSPEC 的一些方法 牛牛文库文档分享23列出软件“读”的所有传感器列出所有中断条件列出所有由操作员控制的 开关列出所有数据条件基于原始系统描述,复查所有“控制项”,作为可能的CSPEC输入/输出。通过识别系统状态描述系统行为,识别状态如何达到以及状态之间的变迁寻找可能的遗漏有其他方法到达或者离开这个状态吗?构造 CSPEC 的一些方法 牛牛行为模型行为模型表示软件如何对外部事件或激励做出响应。为构造该模型,分析员必须执行下列步骤:Evaluate all use-cases to fully understand the sequence of inter
13、action within the system.Identify events that drive the interaction sequence and understand how these events relate to specific objects.Create a sequence for each use-case.Build a state diagram for the system.Review the behavioral model to verify accuracy and consistency. 牛牛文库文档分享24行为模型行为模型表示软件如何对外部
14、事件或激励做出响应。为构造行为建模列出一个系统不同的状态 表明系统如何从一个状态转换成另外一个状态 (系统状态是如何变化的?)表明事件表明动作构造一个 状态图 或 序列图 牛牛文库文档分享25行为建模列出一个系统不同的状态 识别用例事件用例表现了涉及的参与者和系统的活动顺序。一般而言,只要系统和参与者之间交换了信息就发生事件。一旦确定了所有的事件,这些事件将被分配到所涉及的对象,对象负责生成事件或识别已经在其他地方发生的事件。 牛牛文库文档分享26识别用例事件用例表现了涉及的参与者和系统的活动顺序。一般而言状态表示在行为建模中,必须考虑两种不同的状态: 当系统执行功能的时候,每个类的状态 当系
15、统执行功能的时候,从外部观测到的系统状态。一个类的状态同时有passive和active特征 CHA93. 一个 passive state是对象所有属性的当前状态 The active state of an object indicates the current status of the object as it undergoes a continuing transformation or processing. 牛牛文库文档分享27状态表示在行为建模中,必须考虑两种不同的状态: www.niControlPanel类的状态图 牛牛文库文档分享28ControlPanel类的状态图
16、一个系统的状态模型状态状态变迁从一个状态转换到另外一个状态事件 动作 牛牛文库文档分享29一个系统的状态模型状态 牛牛文库文序列图 牛牛文库文档分享30序列图 牛牛文库文档分享32需求建模的模式软件模式是获取领域知识的一种机制从而遇到新问题时可以反复使用。在某些情况下,领域知识在同一应用领域中用于解决新问题。在另外一些情况下,通过模式获取的领域知识可借助模拟用于完全不同的应用领域。分析模式的最初创作者没有“创建”模式,但在需求工程工作中发现了模式。一旦发现模式则记载“明确的常见问题:哪种模式适用、规定的解决方案、在实践中使用模式的假设和约束,以及关于模式的某些常见的其他消息,诸如使用模式的动机和驱动力,讨论模式的优缺点,参考在实践应用中某些已知的使用模式的样例”。 牛牛文库文档分享31需求建模的模式软件模式是获取领域知识的一种机制从而遇到新问题Behavioral Modelingmake a list of the different states of a s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高级公寓装修租赁合同三篇
- 2024年化工行业员工合同范例3篇
- 2024年度物流服务合同:跨国货物运输与配送服务协议3篇
- 2024年全新建筑工地施工合作协议模板版
- 2024年度药品买卖标准合同一
- 网络推广计划
- 薪酬福利体系优化计划
- 2024年度人力资源服务合同标的与人力资源管理细节3篇
- 清洁服务招标合同三篇
- 2024年土地开垦与利用合同3篇
- 2024年国家开放大学(电大)-国家开放大学(中医学概论)考试近5年真题集锦(频考类试题)带答案
- 2024光热电站化盐操作标准
- 教育心理学-形考作业2(第四至六章)-国开-参考资料
- 2024年江苏省苏州市《保安员证》考试题库含答案(完整)
- 批创思维导论学习通超星期末考试答案章节答案2024年
- 山东某食品有限公司突发环境事件应急预案
- 2024年省绵阳市招才引智活动面向全国引进高层次和急需紧缺人才6385人高频500题难、易错点模拟试题附带答案详解
- 2023年江苏省常州市中考历史真题(解析版)
- 英语人教PEP版八年级(上册)Unit8+SectionA+2a-2d+
- 2024中石油校园招聘高频考题难、易错点模拟试题(共500题)附带答案详解
- 2024年安全员A证考试试题库附答案
评论
0/150
提交评论