构建分析模型完整课件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
小结 流模型关注当数据对象通过处理函数转换时的流动。在结构化分析的过程中提取的流模型使用数据流图,即一种建模符号,描述当数据对象在系统中移动时输人如何转变成输出。使用处理规格说明(或叙述)来说明转换数据的每一个软件功能。除了数据流,该建模元素还说明了控制流,这是显示事件如何影响系统行为的一种表现方式。 小结 基于类的建模使用从基于场景和面向流的建模元素中提取的信息确定分析类。可以使用语法分析从文本叙述中提取候选类、属性和操作,并制定了用于定义类的标准。CRC索引卡可以用于定义类之间的联系。此外,可以使用各种UML建模符号定义类之间的层次、联系、关联、聚合和依赖。使用分析包可以将类分类和分组,在某种意义上为大型系统提供了更好的管理。 前面三种分析建模元素提供了软件的静态视图,而行为建模描述了动态行为。行为模型使用基于场景、面向流和基于类的元素作为输人,从整体上表现分析类和系统的状态。要实现这一点,要识别状态,定义导致类(或系统)做出状态转移的事件,以及确认当转移完成时所发生的动作。状态图和顺序图是用于行为建模的UML表达方式。 * 重要的是要注意到在系统描述中给出(在更高的抽象层)分析模型的某些元素,并在需求工程的工作实际上是作为系统工程的一部分开始的。此外,分析模型的所有元素都可以直接跟踪到设计模型。通常难以清楚地区分这两个重要的建模活动之间的设计和分析工作,有些设计总是作为分析的一部分进行,而有些分析将在设计中进行。 * 数据对象可能是外部实体(例如产生或使用信息的任何东西)、事物(例如报告或显示)、发生(例如电话呼叫)或事件(例如警报)、角色(例如销售人员)、组织单位(例如财务部)、地点(例如仓库)或结构(例如文件)。例如,人或车可以被认为是数据对象,因为他们可以用一组属性来定义。“数据对象描述”包括了数据对象及其所有属性。 创建控制流模型 对于很多类应用问题来说,为了获得关于软件需求的有益理解,使用数据模型和数据流图是很有必要的。然而,就像我们已经提到的,有一大类应用问题是事件驱动的而不是数据驱动的;这类问题产生控制信息而不是报告或显示信息,并且,处理信息时非常关注时间和性能。这样的应用除了数据流建模外还需要使用控制流建模。 控制规格说明 控制规格说明(Control Specification, CSPEC)使用两种不同的方式表现系统的行为(在被引用的层次上)。CSPEC包含一个状态图,该图是行为的序列说明;也可能包括程序激活表—行为的组合说明。 处理规格说明 处理规格说明(Process Specification, PSPEC)用于描述出现在求精过程中最终层次的所有流模型的处理。处理规格说明的内容可以包括叙述性正文、处理算法的程序设计语言(Program Design Language, PDL)描述”、数学方程、表、图或图表。通过为流模型中的每个泡泡提供PSPEC,软件工程师创建了“小规格说明”(mini-spec),小规格说明可以作为实现处理的软件构件的设计指南。 基于类的建模 我们如何开发基于类的分析模型的元素—类和对象、属性、操作、包、CRC模型和协作图? 识别分析类 通过检查问题的陈述,或通过对为系统开发的用例或处理叙述进行“语法分析”(使用本章前面早已使用的术语),可以开始类的识别。带有下划线的每个名词或名词词组可以确定为类,并将这些名词输人到一个简单的表中,同义词应被标注出。如果要求某个类实现一个解决方案,那么这个类就是解决方案的一部分。否则,如果某个类只需要说明一个解决方案,那么这个类就是问题空间的一部分。一旦所有的名词都被分离出来,我们该寻找什么? 还需要特别注意的是:什么不能是类或对象。通常,决不应该用“强制性的过程的名称”为类命名。例如,如果医疗图像系统的软件开发人员使用名字InvertImage甚至用ImageInversion定义对象,就可能犯下一个小小的错误。从软件获得的Image当然可能是一个类(这是信息域中的一部分),图像的翻转是适用于该类的一个操作,很可能在Image类中定义操作inversion(),但是不可能定义单独的类来暗示“图像翻转”。如Cashman所言:“面向对象的目的是包装,但仍保持独立的数据以及对数据的操作。” 描述属性 属性描述已经选择的、包含在分析模型中的类。实质上,属性是定义类—明确类在问题空间的环境下意味着什么。 定义操作 操作定义了某个对象的行为。尽管存在很多不同类型的操作,但通常可以粗略地划分为四种类型:(1)以某种方式操作数据(例如,添加、删除、重新格式化、选择)。(2)执行计算的操作; (3)请求某个对象的状态的操作。(4)监视某个对象发生某个控制事件的操作。这些功能通过在属性和/或相关属性上的操作实现。因此,操作必须“理

文档评论(0)

a13355589 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档