第7章 面向对象软件设计与实现.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 面向对象软件设计与实现7.1 面向对象分析7.1.1 面向对象分析过程面向对象分析大体上按照下列顺序进行 寻找类与对象,识别结构,识别主题,定义属性,建立动态模型,建立功能模型,定义服务 7.1.2 面向对象分析原则定义有实际意义的对象模型的描述要规范、准确 共享性封装性7.2 建立对象模型7.2.1 确定类与对象找出候选的类与对象对象是对问题域中有意义的事物的抽象,它们既可能是物理实体,也可能是抽象概念 大多数客观事物可分为下述5类 可感知的物理实体人或组织的角色 应该记忆的事件 两个或多个对象的相互作用,通常具有交易或接触的性质需要说明的概念 7.2 建立对象模型筛选出正确的类与对象筛选时主要依据下列标准,删除不正确或不必要的类与对象冗余无关笼统属性操作实现7.2 建立对象模型7.2.2 确定关联两个或多个对象之间的相互依赖、相互作用的关系就是关联,分析确定关联,能促使分析员考虑问题域的边缘情况,有助于发现那些尚未被发现的类与对象 确定关联有以下步骤初步确定关联需求陈述中使用的描述性动词或动词词组,通常表示关联关系 通过分析需求陈述,还能发现一些在陈述中隐含的关联 分析员还应该与用户及领域专家讨论问题域实体间的相互依赖、相互作用关系,根据领域知识再进一步补充一些关联 7.2 建立对象模型筛选筛选时主要根据下述标准删除候选的关联 已删去的类之间的关联 与问题无关的或应在实现阶段考虑的关联 瞬时事件三元关联派生关联应该去掉那些可以用其他关联定义的冗余关联 7.2 建立对象模型进一步完善通常从下述方面进行改进正名分解补充发现了遗漏的关联就应该及时补上 标明重数7.2 建立对象模型7.2.3 划分主题在开发大型、复杂系统的过程中,为了降低复杂程度,人们习惯于把系统再进一步划分成几个不同的主题应该按问题领域而不是用功能分解方法来确定主题 应该按照使不同主题内的对象相互间依赖和交互最少的原则来确定主题 7.2 建立对象模型7.2.4 确定属性确定属性的过程包括分析和选择两个步骤 分析通常,在需求陈述中用名词词组表示属性往往用形容词表示可枚举的具体属性 分析员还必须借助于领域知识和常识才能分析得出需要的属性应该仅考虑与具体应用直接相关的属性 应该首先找出最重要的属性分析阶段不要考虑那些纯粹用于实现的属性 7.2 建立对象模型选择通常有以下几种常见情况误把对象当作属性误把关联类的属性当作一般对象的属性 把限定误当成属性 误把内部状态当成了属性过于细化在分析阶段应该忽略那些对大多数操作都没有影响的属性 存在不一致的属性 7.2 建立对象模型7.2.5 识别继承关系一般说来,可以使用两种方式建立继承(即泛化)关系 自底向上:抽象出现有类的共同性质泛化出父类,这个过程实质上模拟了人类归纳思维过程 自顶向下:把现有类细化成更具体的子类,这模拟了人类的演绎思维过程 7.2 建立对象模型7.2.6 反复修改仅仅经过一次建模过程很难得到完全正确的对象模型,软件开发过程就是一个多次反复修改、逐步完善的过程 在建模的任何一个步骤中,如果发现了模型的缺陷,都必须返回到前期阶段进行修改 7.3 建立动态模型建立动态模型的步骤:编写典型交互行为的脚本从脚本中提取出事件,确定触发每个事件的动作对象以及接受事件的目标对象排列事件发生的次序,确定每个对象可能有的状态及状态间的转换关系,并用状态图描绘它们 比较各个对象的状态图,检查它们之间的一致性,确保事件之间的匹配 7.3 建立动态模型7.3.1 编写脚本脚本是指系统在某一执行期间内出现的一系列事件编写脚本的目的,是保证不遗漏重要的交互步骤,它有助于确保整个交互过程的正确性和清晰性脚本描写的范围并不是固定的,主要由编写脚本的具体目的决定 编写脚本的过程,实质上就是分析用户对系统交互行为的要求的过程 编写脚本时,首先编写正常情况的脚本。然后,考虑特殊情况。最后,考虑出错情况 脚本描述事件序列,对于每个事件,都应该指明触发该事件的动作对象、接受事件的目标对象以及该事件的参数 7.3 建立动态模型7.3.2 设想用户界面大多数交互行为都可以分为应用逻辑和用户界面两部分,应用逻辑是内在的、本质的内容,用户界面是外在的表现形式 用户界面的美观程度、方便程度、易学程度以及效率等,是用户使用系统时最先感受到的 用户对系统的“第一印象”往往从界面得来,用户界面的好坏往往对用户是否喜欢、是否接受一个系统起很重要的作用 在分析阶段用户界面的细节并不太重要,重要的是在这种界面下的信息交换方式 7.3 建立动态模型7.3.3 画事件跟踪图用自然语言书写的脚本往往不够简明,而且有时在阅读时会有二义性。为了有助于建立动态模型,通常在画状态图之前先画出事件跟踪图 确定事件仔细分析每个脚本,以便从中提取出所有外部事件 事件

文档评论(0)

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

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

1亿VIP精品文档

相关文档