软工概论第6章需求建模B_第1页
软工概论第6章需求建模B_第2页
软工概论第6章需求建模B_第3页
软工概论第6章需求建模B_第4页
软工概论第6章需求建模B_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 第6章 需求建模:流、行为、模式和Web应用2需求建模策略n一种考虑数据和处理的需求建模方法被称作结构化分析,其中数据可作为独立实体转换。 n数据对象模型的方式定义了它们的属性和关系。n操作数据对象的建模过程表明当数据对象通过系统时如何转换数据。 n分析建模的第二种方法称作面向对象分析,这种方法关注于n定义类n影响客户需求的类之间的协作方式3面向流建模n数据流图数据流图4流模型输入输出计算机系统5流模型符号6外部实体数据总是起源某个地方并传送一些信息7过程数据总是以某种方式被处理以达到系统功能8数据流数据流BpAC*pABC+输入A输出B与C输入A输出B或C附加符号pABC输出A输入B或C

2、,或输入B和C+10数据存储11数据流图:原则n所有图标必须标注有意义的名称nDFD通过一些细化的数字级别来演变n总是以一个上下文分层图开始(也称为0层)n总是在第0层显示外部实体n总是标注数据流箭头n并不代表程序逻辑12创建数据流图-In审查用户场景和(或)数据模型以分离数据对象并从语法解析上确定“操作”n确定外部实体(生产者和数据使用者)n创建第0层数据流图13第0层数据流图举例14创建数据流图-IIn写一个转换的叙述性描述n从语法上解析(分离名词和动词)确定下一个层的转换n“平衡”流以维持数据流连续性n开发第1层DFDn使用1:5(大约)的膨胀比n连续性:流入系统或流入某一层变换的数据对

3、象必须与流入更细化层的变换具有相同的数据对象(或其组成部分)15数据流层次16流建模说明n每一个泡泡被精化只做一件事n当层数增加时,膨胀比减小n大多数系统需要3到7层为一个合适的流模型n当层数增加时(数据字典提供信息),可能会扩展单一的数据流项(箭头)领书单 进书通知 购书单 缺书单 DFD练习售书系统学生教材购销系统书 库保 管员领书单 进书通知 进书通知 购书单缺书单 DFD练习售书系统 1销售 2采购书库保管员学生F1教材存量表 F2缺书登记表 购书单 发票 领书单 DFD练习售书系统 1审查并开发票 2开领书单书库保管员学生各班学生用书表教材库存量 数据流图数据流图DFD 面向过程的分

4、析方法也称面向过程的分析方法也称结构化分析结构化分析,采用,采用“自顶向下,由外到内,逐层分解自顶向下,由外到内,逐层分解”的分析思想,的分析思想,即将一个复杂的系统逐层分解成许多简单的基本即将一个复杂的系统逐层分解成许多简单的基本加工,当信息加工,当信息“流流”过系统时,被系统加工变换。过系统时,被系统加工变换。 先画出的顶层数据流图,再逐层画出的底层先画出的顶层数据流图,再逐层画出的底层数据流图,具体地描述上层系统的细节。数据流图,具体地描述上层系统的细节。 不需再进一步分解的加工不需再进一步分解的加工( (处在叶子部位的加处在叶子部位的加工工) ),都必须有一个,都必须有一个加工说明加工

5、说明。加工说明常常用。加工说明常常用结构化语言、判定树和判定表来描述。结构化语言、判定树和判定表来描述。 22过程规格说明书( PSPEC )23DFDs: 前瞻控制流建模n针对事件驱动的应用问题n产生控制信息而不是报告或显示信息n处理信息时非常关注时间和性能n处理这类问题应采用数据流建模+控制流建模These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressma

6、n.2425控制流建模n代表“事件”和管理事件的过程n确定一个“事件”是布尔条件,通过: 列出所有被软件“读”的传感器。 列出所有的中断条件。 列出操作人员能够启动的所有“开关”。 列出所有的数据条件。 回顾对处理叙述所进行的名词或动词的语法解析,考察所有可能作为控制规格说明输入/输出的“控制项”。 通过标识其状态来描述系统的行为,标识如何达到这些状态,并定义状态间的迁移。 关注可能的疏忽,即关注那些描述控制中非常普遍的错误;例如,提问“有什么其他途径可以达到或离开这个状态吗?26控制规格说明(CSPEC)combinatorial spec27行为建模n行为模型显示了软件如何对外部事件或激励

7、作出响应。要生成模型,分析师必须按照如下步骤进行: 评估所有的用例,以保证完全理解系统内的交互顺序。 识别驱动交互顺序的事件,并理解这些事情如何与特定的对象相互关联。 为每个用例生成序列。 创建系统状态图。 评审行为模型以验证准确性和一致性。识别用例事件n查看p118页的例子n应确认每个事件的参与者,应标记交换的所有信息,而且应列出任何条件或限制。These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e (McGraw-Hill 2009). Slides copyrig

8、ht 2009 by Roger Pressman.2829状态图n在行为建模的场合下,必须考虑两种不同的状态描述: n系统执行其功能时每个类的状态n系统执行其功能时从外部观察到的系统状态n类状态具有被动和主动两种特征CHA93。 n被动状态只是某个对象所有属性的当前状态。n一个对象的主动状态指的是对象进行持续变换或处理时的当前状态。30 ControlPanel类的状态图readi ngl ockedsel ecti ngpassword enteredcom pari ngpassword = i ncorrect & num berOfTri es m axTri esti m er l

9、 ockedTi m e计时器锁定时间敲击键盘输入密码密码正确重试输入的次数允许重试的最多次数计时器锁定时间成功激活密码不正确并且重试输入的次数 m axTri essel ecti ngti m er l ockedTi m eAAFi gure 8. 27 Sequence di agram (parti al ) for SafeHom e securi ty functi onacti vati on successf ul系统就绪输入密码查找请求结果密码正确激活请求成功请求成功激活计时器锁定时间重试输入的次数允许重试最多的次数决策表决策表(DT) 决策表以紧凑的形式决策表以紧凑的形式

10、描述复杂的逻辑。决策描述复杂的逻辑。决策表与表与if-else、switch-case语句类似,将条件语句类似,将条件判断与执行的动作联系判断与执行的动作联系起来。起来。 决策表通常分成四个决策表通常分成四个区域,如右图区域,如右图6-9所示。所示。条件条件条件选择条件选择动作动作动作选择动作选择条件对应于一个变量、关系或预测,其可能的组合条件对应于一个变量、关系或预测,其可能的组合在条件选择中列出。动作是一个函数或操作。动作在条件选择中列出。动作是一个函数或操作。动作选择当条件满足时所执行的动作,如下图所示。选择当条件满足时所执行的动作,如下图所示。条件条件不能打印不能打印红灯闪红灯闪不能识

11、别打印机不能识别打印机动作动作检查电源线检查电源线检查打印机数据线检查打印机数据线检查是否安装驱动程序检查是否安装驱动程序检查墨盒检查墨盒检查是否卡纸检查是否卡纸42写软件规格说明书直到有人将它写下来,每直到有人将它写下来,每个人都应该明确的知道做个人都应该明确的知道做什么!什么!43需求建模的模式n软件模式是获取领域知识的一种机制从而遇到新问题时可以反复使用。n领域知识在同一应用领域中用于解决新问题n通过模式获取的领域知识可借助模拟用于完全不同的应用领域 n分析模型最初的创作者没有“创建”模式。n一旦发现模式则记载。44发现分析模式n在需求模型的描述中最基本的元素是用例。n一套连贯用例可以成

12、为服务于发现一个或多个分析模式的基础。n语义分析模式(SAP)“是描述了一小套连贯用例,这些用例一起描述了通用应用的基础” Fer0045举例n考虑下面要求控制和监控“实时查看摄像机”和汽车临近传感器的初步软件用例:用例:监控反向运动用例:监控反向运动描述:描述: 当车辆安装了反向齿轮,控制软件就能从后向视频摄像机将一段视频输入到仪表显示器上。控制软件在仪表显示器上叠加各种各样距离和方向的线,以便车辆向后运动时驾驶员能保持方向。控制软件还能监控临近传感器,以判定在车后方10英尺内是否有物体存在。如果临近传感器检测到某个物体在车后方3英尺内就会让车自动停止。. 46举例n在需求收集和建模阶段,本

13、用例包含(在一套连贯用例中)各种将要精练和详细阐述的功能。n无论完成得如何精练,建议用例要简单,但还要广泛地适用于SAP,即具有基于软件的监控和在一个物理系统中对传感器和执行器的控制。n在本例中,“传感器”提供临近信息和视频信息。“执行器”用于车辆的停止系统(如果一个物体离车辆很近就会调用它)。n但是更常见的情况是发现大量的应用模式。47执行器-传感器 模式I模式名:执行器模式名:执行器- -传感器传感器目的:目的:详细说明在嵌入式系统中的各种传感器和执行器。 动机:动机:嵌入式系统常有各种传感器和执行器。这些传感器和执行器都直接或间接地连接到一个控制单元。虽然许多传感器和执行器看上去十分不同

14、,但它们的行为是相似的,足以让它们构成一个模式。这个模式显示了如何为一个系统指定传感器和执行器,包括属性和操作。执行器-传感器模式为被动式传感器使用“拉机制”(对消息的显示要求),为主动传感器使用“推机制”(消息广播)。约束:约束:每个被动传感器必须有某种方法读取传感器的输入和表示传感器值的属性。每个主动传感器必须能在其值发生变更时广播更新消息。每个主动传感器应该能发送一个生命刻度,即在特定时间帧中发布状态信息,以便检测出错误动作。每个执行者必须有某种方法调用ComputingComponent计算构件决定的适当应答。每个传感器和执行器能测试接受值或发送值的有效性,并且当值超过指定边界时能设定

15、其操作状态。48执行器-传感器 模式II适用性:对有多个传感器和执行器的任何系统都是非常有用的。结构体:下图显示了执行器-传感器模式的UML类图,执行器、被动传感器和主动传感器是抽象类。这个模式中有四种不同的传感器和执行器。传感器和执行器的常见类型为Boolean、Integer、和Real。就基本数据类型而言,复杂类是不能用值简单表示的,例如雷达设备。虽然如此但是这些设备还应该继承来自抽象类的接口,因为它们应该具备基本的功能如查询操作状态。被动传感器计算构件执行器实型执行器布尔型执行器整型传感器复合型传感器主动传感器被动实型传感器被动布尔型传感器被动整型传感器被动复合型传感器主动布尔型传感器

16、主动实型传感器主动复合型传感器主动整型传感器49执行器-传感器 模式III行为:下图描述了执行器-传感器例子的UML顺序图。这个例子可以应用于SafeHome功能,用以控制安全摄像机的调整(例如遥摄、聚焦)。这里在读取或设置一个值时,ControlPanel需要一个传感器(被动传感器)和一个执行器(遥摄控制器)进行以诊断为目的核查操作状态。名Set Physcal Value 和Get Physical Value的消息不是对象间的信息,相反它们描述了系统物理设备和相关软件对应项之间的交互活动。在图的下部即在水平线以下,PositionSensor报告操作状态为零。接着ComputingCom

17、ponent发送位置传感器失败的错误代码给FaultHandler错误处理程序,它将决定这些错误如何影响系统,并需要采取什么措施。从传感器获得的数据经过计算得到执行器所需的应答。获得操作状态获得值获得物理值获得操作状态设定值设定 物理值获得操作状态存储错误50执行器-传感器 模式IIIn参见 SEPA(软件工程实践者的研究方法)第7版关于下面更多的信息:n参与者n协作者n结果51Web应用系统的需求模型内容分析。给出由Web应用系统提供的全部系列内容 。内容包括文本、图标和图像、视频和音频数据。数据建模用来确定和描述每一个数据对象。交互分析。详细描述了用户与Web应用系统采用了哪种交互方式。开

18、发用例提供这种交互方式的详细描述。功能分析。作为交互分析一部分创建的使用场景(用例)定义了将用于Web应用系统内容并描述其他处理功能的操作。所有的操作和功能都被详细的描述。配置分析。详细描述Web应用系统驻留的环境和基础设施。 52什么时候完成分析?n在有些WebE 情况下,归并分析和设计。但是,有一个明确的分析活动出现,当:n所建Web应用的规模大且(或者)复杂度增加n相关利益者的人数之多nWeb 应用团队人数之多nWeb应用的目标和宗旨(在规划时决定的)将影响商业底线nWeb应用的成功将对商业成功有很大的压力53内容模型n内容对象是从用例中提取n通过检查直接或间接引用的内容的场景的描述n每

19、一个内容对象的属性都是确定的n内容对象间的关系和(或者)Web应用系统维护的内容层次n关系实体-关系图或 UMLn层次数据树或UML54数据树Fi gure 18.3 Data tree for a SafeHom e com ponentcom ponent partNum berpartNam epartTypedescri pti onpri ceM arketi ngDescri pti onPhotographTechDescri pti onSchem ati cVi deoW hol esal ePri ceRetai l Pri ce构件部件编号部件名称部件类型描述说明价格零售

20、价格批发价格视频原理图技术描述照片营销描述55交互模型n由四个元素组成n用例n顺序图n状态图n 用户界面原型n这些元素中的每一个都是重要的UML符号并在附录I中有描述56顺序图Fi gure 18. 5 Sequence di agram for use-case: sel ect SafeHom e com ponentsnew custom er: Room: Fl oorPl andescribes room *places room in floor plan: Product Com ponentselects product com ponent*: Bi l l of M ate

21、ri al sadd to BoMFl oorPl an Reposi torysave floor plan configurationsave bill of m aterialsBoM Reposi tory57状态图Fi gure 18. 6 Parti al state di agram for n ne ew w c cu us st to om m e er r i nteracti onnew custom erVal i dati ng usersystem status=“ i nput ready” di spl ay m sg = “ enter useri d” di

22、 spl ay m sg =“ enter psw d” entry/ l og-i n requested do: run user val i dati on exi t/set user access sw i tchsel ect “ l og-i n”useri d val i datedpassw ord val i datedSel ecti ng user acti onsystem status=“ l i nk ready” di spl ay: navi gati on choi ces” entry/ val i dated user do: l i nk as req

23、ui red exi t/user acti on sel ected sel ect other functi onssel ect custom i zati on functi onal i tysel ect e-com m erce (purchase) functi onal i tyCustom i zi ngsystem status=“ i nput ready” di spl ay: basi c i nstructi ons entry/val i dated user do: process user sel ecti on exi t/custom i zati on

24、 term i natedsel ect descri pti vecontentroom bei ng defi nedDefi ni ng roomsystem status=“ i nput ready” di spl ay: room def. w i ndow entry/ room def. sel ected do: run room queri es do: store room vari abl es exi t/room com pl etedsel ect descri pti vecontentBui l di ng fl oor pl ansystem status=

25、“ i nput ready” di spl ay: fl oor pl an w i ndow entry/ fl oor pl an sel ected do: i nsert room i n pl ace do: store fl oor pl an vari abl es exi t/room i nserti on com pl etedsel ect descri pti vecontentsel ect enter room i n fl oor pl anSavi ng fl oor pl ansystem status=“ i nput ready” di spl ay:

26、storage i ndi cator entry/ fl oor pl an save sel ected do: store fl oor pl an exi t/save com pl etedsel ect save fl oor pl anroom i nserti on com pl etednext sel ecti oncustom i zati on com pl eteal l room sdefi ned58功能模型n功能模型描述Web应用系统的两个处理元素n用户可观察到的功能是由Web应用系统传递给最终用户的n分析类中的操作实现与类相关的行为 n一个活动图能用来表示过程流59活动图Fi gure 18. 7 Acti vi ty di agram for c co om m p pu ut te eP Pr ri ic ce e( () ) o op pe er ra at ti io on ni ni ti al i ze total Costi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论