欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    面向对象分析 (2)精选文档.ppt

    • 资源ID:52100241       资源大小:3.57MB        全文页数:50页
    • 资源格式: PPT        下载积分:18金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要18金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    面向对象分析 (2)精选文档.ppt

    面向对象分析面向对象分析(2)本讲稿第一页,共五十页第八章第八章 面向对象分析面向对象分析&81 OOA的基本任务的基本任务&82 OOA的基本过程的基本过程&83 需求陈述需求陈述&84 建立对象模型建立对象模型&85 建立动态模型建立动态模型&86 建立功能模型建立功能模型&87 定义服务定义服务&88 本章重点本章重点本讲稿第二页,共五十页81 OOA的基本任务的基本任务 面向对象分析面向对象分析(Object-Oriented Analysis,简称简称OOA)的主要任务是的主要任务是完全理解用户的需求和应完全理解用户的需求和应用领域重的关键性背景知识,并用某种无二义性的用领域重的关键性背景知识,并用某种无二义性的方式编写成文档资料方式编写成文档资料软件需求规格说明书软件需求规格说明书(以(以模型描述为基本部分,再加上模型描述为基本部分,再加上接口要求接口要求、性能限性能限制制等其它方面的要求说明)。等其它方面的要求说明)。OOA的关键,是识别出问题域内的对象,并分的关键,是识别出问题域内的对象,并分析它们相互见的关系,最终建立起问题领域的简介、析它们相互见的关系,最终建立起问题领域的简介、精确、可理解的正确模型。精确、可理解的正确模型。在三种模型中,对象模型是最基本、最重要、在三种模型中,对象模型是最基本、最重要、最核心的。最核心的。本讲稿第三页,共五十页82 OOA的基本过程的基本过程OOA实质就是抽取和整理用户需求,并建实质就是抽取和整理用户需求,并建立起问题域的精确模型。分析工作主要包括理立起问题域的精确模型。分析工作主要包括理解、表达和验证三部分内容。解、表达和验证三部分内容。首先系统分析员需要与用户及相关领域专家进首先系统分析员需要与用户及相关领域专家进行反复的交流,力求完全理解用户需求。行反复的交流,力求完全理解用户需求。为了验证需求的正确性、完整性和有效性,为了验证需求的正确性、完整性和有效性,需要建立一个快速原型来加以验证。需要建立一个快速原型来加以验证。同时,需要从理解的需求中抽取出问题的本同时,需要从理解的需求中抽取出问题的本质属性,用模型准确的描述出来。包括质属性,用模型准确的描述出来。包括三个子模三个子模型型与与五个层次五个层次。本讲稿第四页,共五十页一、三个子模型一、三个子模型面向对象建模得到的模型包括三个子模型:面向对象建模得到的模型包括三个子模型:静态模型静态模型:描述系统的静态结构,包括对象的组:描述系统的静态结构,包括对象的组成以及对象之间的关系。成以及对象之间的关系。动态模型动态模型:描述系统的动态结构,给出对象之间的相:描述系统的动态结构,给出对象之间的相互过程。互过程。功能模型功能模型:描述系统数据变换,指明做什么。:描述系统数据变换,指明做什么。对于解决问题的不同,各模型的侧重点也不同:对于解决问题的不同,各模型的侧重点也不同:对象模型:最重要,开发任何系统都需要;对象模型:最重要,开发任何系统都需要;动态模型:对于开发交互式系统很重要;动态模型:对于开发交互式系统很重要;功能模型:对于开发大运算量问题(如科学计算、功能模型:对于开发大运算量问题(如科学计算、编译系统等)很重要。编译系统等)很重要。本讲稿第五页,共五十页二、五个层次二、五个层次类的边界类的边界类及对象层类及对象层实例的边界实例的边界结构层结构层主题层主题层主题主题服务层服务层消息连接消息连接服务服务属性层属性层实例连接实例连接属性属性本讲稿第六页,共五十页三、三、OOAOOA建立对象模型的五项活动建立对象模型的五项活动(1)(1)标识类及对象标识类及对象(2)(2)标识结构标识结构(3)(3)标识主题标识主题(4)(4)定义属性及实例连接定义属性及实例连接(5)(5)定义服务及消息连接定义服务及消息连接五个步骤常根据需要交叉进行五个步骤常根据需要交叉进行本讲稿第七页,共五十页四、进行四、进行OOAOOA的步骤的步骤n需求陈述需求陈述 n识别类识别类&对象对象n 确定结构确定结构n 划分主题划分主题n 定义属性定义属性n 建立动态模型建立动态模型n 建立功能模型建立功能模型n 定义服务定义服务本讲稿第八页,共五十页83 需求陈述需求陈述u陈述用户需求(应“做什么”),而 不是设计与实现的策略(不是“怎么做”)。u分清各种问题的性质、规模,功能需求,性能需求等u提出可扩充性、性能与通信的要求本讲稿第九页,共五十页84 建立对象模型建立对象模型 建立对象模型的步骤建立对象模型的步骤:F识别类识别类&对象对象F确定关联确定关联F划分主题划分主题F确定确定属性属性F识别继承关系识别继承关系F迭代并反复修改模型迭代并反复修改模型本讲稿第十页,共五十页一、确定类一、确定类&对象对象【任务任务】:找出问题域中客观存在的对象。】:找出问题域中客观存在的对象。【策略策略】:】:S1:列出所有候选对象。:列出所有候选对象。S2:筛选出正确的对象。:筛选出正确的对象。非正式分析:从需求陈述中挑出非正式分析:从需求陈述中挑出 名词名词 Class-&-Object 形容词形容词 Attribute 动词动词 Method本讲稿第十一页,共五十页1 1、列出所有候选对象、列出所有候选对象对象是对问题域中有意义的事物的抽象,既对象是对问题域中有意义的事物的抽象,既可以是物理实体,也可以是抽象的概念。分类如可以是物理实体,也可以是抽象的概念。分类如下:下:(1 1)可感知的物理实体)可感知的物理实体。如飞机,汽车等。如飞机,汽车等。(2 2)人或组织的角色)人或组织的角色。如雇员,财务处等。如雇员,财务处等。(3 3)应该记忆的事件)应该记忆的事件。如演出,交通事故等。如演出,交通事故等(4 4)多个对象之间的交互作用)多个对象之间的交互作用,通常具有交易或接,通常具有交易或接触性质。如购买,销售等。触性质。如购买,销售等。(5 5)需要说明的概念)需要说明的概念。如政策法规等。如政策法规等。本讲稿第十二页,共五十页1 1、列出所有候选对象(续)、列出所有候选对象(续)F问题域描述中的问题域描述中的名词名词,往往是候选的对象往往是候选的对象;根据根据问题域结构可提取候选的类及对象问题域结构可提取候选的类及对象;F与与系系统统发发生生作作用用的的其其它它系系统统和和必必要要的的设设备备可可作作为为候选的类及对象候选的类及对象;如:如:打印机等打印机等F系统必须观测、记忆的与时间有关的系统必须观测、记忆的与时间有关的 事件事件可作为候选的类及对象可作为候选的类及对象;如:建立帐户的日如:建立帐户的日期期 打开一个帐户等打开一个帐户等F与系统发生交互的与系统发生交互的人人及系统必须保留其信息的及系统必须保留其信息的人人,可作为候选的类及对象可作为候选的类及对象;如:柜员、储户等如:柜员、储户等本讲稿第十三页,共五十页1 1、列出所有候选对象(续)、列出所有候选对象(续)F这些人所属的这些人所属的组织组织单位,可作为候选的类及对象单位,可作为候选的类及对象;如:总行、分行等如:总行、分行等F系统必须记忆、且不在问题域约束中的顺序系统必须记忆、且不在问题域约束中的顺序操操作过程作过程(为了指导人机交互为了指导人机交互)可作为候选的类及对可作为候选的类及对象象;如:柜员事务、远程事务等。如:柜员事务、远程事务等。其中属性是其中属性是操作过程名操作过程名,操作特权及操作步骤的描述操作特权及操作步骤的描述;F系统需了解掌握的物理位置、办公系统需了解掌握的物理位置、办公地点地点等可作为等可作为候选的类及对象候选的类及对象;如:如:ATMATM机器、帐户等机器、帐户等本讲稿第十四页,共五十页2 2、筛选出正确的类、筛选出正确的类&对象对象 严格的审查每个候选对象,去除不正确或不必严格的审查每个候选对象,去除不正确或不必要的,仅保留确实需要记录其信息或需要其提要的,仅保留确实需要记录其信息或需要其提供服务的对象。筛选依据:供服务的对象。筛选依据:(1 1)冗余)冗余:去除重复,保留一个。去除重复,保留一个。(2 2)无关:)无关:去除与本系统无关的对象。去除与本系统无关的对象。(3 3)笼统:)笼统:或无需记忆,或具有更明确。或无需记忆,或具有更明确。(4 4)属性:)属性:去掉为其它对象属性的名词。去掉为其它对象属性的名词。(5 5)操作:)操作:既为名词又为动词,应慎重考虑既为名词又为动词,应慎重考虑(6 6)实现:)实现:去除与实现相关的类。去除与实现相关的类。本讲稿第十五页,共五十页ATMATM自动取款机示例自动取款机示例例:从例:从ATM需求分析中提出的名词集合需求分析中提出的名词集合银行、银行、ATM、系统、中央计算机、分行计算机、系统、中央计算机、分行计算机、柜员终端、网络、总行、分行、软件、成本、市、柜员终端、网络、总行、分行、软件、成本、市、街道、营业厅、储蓄所、柜员、储户、现金、支票、账户、街道、营业厅、储蓄所、柜员、储户、现金、支票、账户、事务、现金兑换卡、余额、磁卡、分行代码、卡号、用户、事务、现金兑换卡、余额、磁卡、分行代码、卡号、用户、副本、信息、密码、类型、取款额、账单、访问副本、信息、密码、类型、取款额、账单、访问筛选时依下列标准删除:筛选时依下列标准删除:、通信链路、事务日志、通信链路、事务日志 冗余冗余 无关无关 笼统笼统 属性属性 操作操作 既可为名词又可为动词的既可为名词又可为动词的词,应慎重考虑。词,应慎重考虑。实现实现本讲稿第十六页,共五十页二、确定关联二、确定关联【任务任务】:确定对象之间的关联关系。】:确定对象之间的关联关系。【策略策略】:】:S1:初步确定关联。:初步确定关联。对应于描述性动词或动词短语对应于描述性动词或动词短语 需求陈述中隐含需求陈述中隐含 根据问题域知识得出根据问题域知识得出 S2:筛选。:筛选。S3:完善。:完善。本讲稿第十七页,共五十页1 1、初步确定关联、初步确定关联 需求陈述中涉及需求陈述中涉及objets的动词短语:的动词短语:分行计算机维护账户分行计算机维护账户 柜员终端与分行计算机通信柜员终端与分行计算机通信 柜员输入针对账户的事务柜员输入针对账户的事务 ATM与中央计算机交换关于事与中央计算机交换关于事务的信息务的信息 中央计算机确定事务与分行的对中央计算机确定事务与分行的对应关系应关系 ATM读现金兑换卡读现金兑换卡 ATM与用户交互与用户交互 ATM吐出现金吐出现金 ATM打印账单打印账单 系统处理并发的访问系统处理并发的访问 ATM、中央计算机、中央计算机、分行计算机及柜员终端分行计算机及柜员终端组成网络组成网络 总行拥有多台总行拥有多台ATM ATM设在主要街道上设在主要街道上 分行提供分行计算机和分行提供分行计算机和柜员终端柜员终端 柜员终端设在分行营业柜员终端设在分行营业厅及储蓄所内厅及储蓄所内 分行分摊软件开发成本分行分摊软件开发成本 储户拥有账户储户拥有账户 分行计算机处理针对账分行计算机处理针对账户的事务户的事务本讲稿第十八页,共五十页1 1、初步确定关联(续)、初步确定关联(续)需求陈述中隐含的关联需求陈述中隐含的关联 总行由各个分行组成总行由各个分行组成 系统维护事务日志系统维护事务日志 分行保管账户分行保管账户 系统提供必要的安全系统提供必要的安全性性 总行拥有中央计算机总行拥有中央计算机 储户拥有现金兑换卡储户拥有现金兑换卡 根据问题域知识得出的关联根据问题域知识得出的关联 现金兑换卡访问账户现金兑换卡访问账户 分行雇用柜员分行雇用柜员本讲稿第十九页,共五十页2 2、筛选删除、筛选删除 与已删去的与已删去的object 有关的关联有关的关联 与问题无关的或应在实现阶段考虑的关联与问题无关的或应在实现阶段考虑的关联 ATM、中中央央计计算算机机、分分行行计计算机及柜员终端组成网络算机及柜员终端组成网络 总行拥有多台总行拥有多台ATM ATM设在主要街道上设在主要街道上 分分行行提提供供分分行行计计算算机机和和柜柜员员终端终端 柜柜员员终终端端设设在在分分行行营营业业厅厅及及储蓄所内储蓄所内 分行分摊软件开发成本分行分摊软件开发成本 储户拥有账户储户拥有账户 总行由各个分行组成总行由各个分行组成 分行计算机处理针对账户的事务分行计算机处理针对账户的事务 分行计算机维护账户分行计算机维护账户 柜员终端与分行计算机通信柜员终端与分行计算机通信 柜员输入针对账户的事务柜员输入针对账户的事务 ATM与中央计算机交换关于事务的信息与中央计算机交换关于事务的信息 中央计算机确定事务与分行的对应关系中央计算机确定事务与分行的对应关系 ATM读现金兑换卡读现金兑换卡 ATM与用户交互与用户交互 ATM吐出现金吐出现金 ATM打印账单打印账单 系统处理并发的访问系统处理并发的访问 现金兑换卡访问账户现金兑换卡访问账户 系统维护事务日系统维护事务日志志 分行保管账户分行保管账户 系统提供必系统提供必要的安全性要的安全性 总行拥有中央计算机总行拥有中央计算机 储户拥有现金兑储户拥有现金兑换卡换卡 分行雇用柜员分行雇用柜员本讲稿第二十页,共五十页2 2、筛选删除(续)、筛选删除(续)瞬时事件:注意关联描述静态结构瞬时事件:注意关联描述静态结构 ATM、中中央央计计算算机机、分分行行计计算机及柜员终端组成网络算机及柜员终端组成网络 总行拥有多台总行拥有多台ATM ATM设在主要街道上设在主要街道上 分分行行提提供供分分行行计计算算机机和和柜柜员员终端终端 柜柜员员终终端端设设在在分分行行营营业业厅厅及及储蓄所内储蓄所内 分行分摊软件开发成本分行分摊软件开发成本 储户拥有账户储户拥有账户 总行由各个分行组成总行由各个分行组成 分行计算机处理针对账户的事务分行计算机处理针对账户的事务 分行计算机维护账户分行计算机维护账户 柜员终端与分行计算机通信柜员终端与分行计算机通信 柜员输入针对账户的事务柜员输入针对账户的事务 ATM与中央计算机交换关于事务的信息与中央计算机交换关于事务的信息 中央计算机确定事务与分行的对应关系中央计算机确定事务与分行的对应关系 ATM读现金兑换卡读现金兑换卡 ATM与用户交互与用户交互 ATM吐出现金吐出现金 ATM打印账单打印账单 系统处理并发的访问系统处理并发的访问 现金兑换卡访问账户现金兑换卡访问账户 系统维护事务日系统维护事务日志志 分行保管账户分行保管账户 系统提供必系统提供必要的安全性要的安全性 总行拥有中央计算机总行拥有中央计算机 储户拥有现金兑储户拥有现金兑换卡换卡 分行雇用柜员分行雇用柜员本讲稿第二十一页,共五十页2 2、筛选删除(续)、筛选删除(续)三元关联:分解为二元关联或限定关联三元关联:分解为二元关联或限定关联 柜员输入针对账户的事务柜员输入针对账户的事务 =柜员输入事务柜员输入事务+事务修改账户事务修改账户 分行计算机处理针对账户的事务分行计算机处理针对账户的事务 =分行计算机处理事务分行计算机处理事务+事务修改账户事务修改账户 ATM与中央计算机交换关于事务的信息与中央计算机交换关于事务的信息 =ATM与中央计算机通信与中央计算机通信+在在ATM上输入事务上输入事务注:注:识别链属性识别链属性 某实体仅用于描述另两个实体的某实体仅用于描述另两个实体的关系,且该实体本身不包含属性。例如关系,且该实体本身不包含属性。例如“公司付给员工公司付给员工工资工资”可分解为可分解为“公司雇用员工公司雇用员工”,附链属性,附链属性“工资工资”。本讲稿第二十二页,共五十页2 2、筛选删除(续)、筛选删除(续)派生关联:即可用其它关联定义的冗余关联派生关联:即可用其它关联定义的冗余关联 总行拥有多台总行拥有多台ATM 分分行行提提供供分分行行计计算算机机和和柜员终端柜员终端 储户拥有账户储户拥有账户 总行由各个分行组成总行由各个分行组成 分行保管账户分行保管账户 总行拥有中央计算机总行拥有中央计算机 现金兑换卡访问账户现金兑换卡访问账户 储户拥有现金兑换卡储户拥有现金兑换卡 分行雇用柜员分行雇用柜员 分行计算机处理事务分行计算机处理事务 分行计算机维护账户分行计算机维护账户 柜员终端与分行计算机柜员终端与分行计算机通信通信 柜员输入事务柜员输入事务 事务修改账户事务修改账户 ATM与中央计算机通信与中央计算机通信 在在ATM上输入事务上输入事务 中央计算机确定事务与中央计算机确定事务与分行的对应关系分行的对应关系本讲稿第二十三页,共五十页3 3、完善、完善 正名:分行提供分行计算机和柜员终端正名:分行提供分行计算机和柜员终端 =分行拥有分行计算机分行拥有分行计算机+分行拥有柜员终端分行拥有柜员终端 分解:适当分解前面确定的分解:适当分解前面确定的class-&-objects,使其使其适用于不同的关联适用于不同的关联 事务事务=远程事务远程事务+柜员事务柜员事务补充补充 柜员输入柜员事务柜员输入柜员事务 在在ATM上输入远程事务上输入远程事务 柜员事务输进柜员终端柜员事务输进柜员终端 远程事务由现金兑换卡授权远程事务由现金兑换卡授权标明阶数(可能经常变动,不要花太多时间)标明阶数(可能经常变动,不要花太多时间)本讲稿第二十四页,共五十页中央计算机中央计算机分行计算机分行计算机现金兑换卡现金兑换卡总总 行行分分 行行拥有拥有分行分行代码代码组成组成通信通信1+通信通信拥有拥有柜员终端柜员终端柜员事务柜员事务柜员柜员通信通信1+1+拥有拥有1+雇用雇用输入输入1+1+输入输入账账 户户修修改改1+储储 户户保管保管1+拥有拥有1+远程事务远程事务ATM拥拥有有1+1+1+访问访问1+1+修改修改授权授权1+输入输入1+ATMATM取款机的对象模型取款机的对象模型本讲稿第二十五页,共五十页三、划分主题三、划分主题主题是把一组具有较强联系的类组织在一起主题是把一组具有较强联系的类组织在一起而得到的类的集合。而得到的类的集合。1 1、主题概念及其用途、主题概念及其用途主题层是在主题层是在OOAOOA基本模型基本模型(类图类图)之上建立一个能之上建立一个能帮助人们从不同的认识层次来理解系统的补充帮助人们从不同的认识层次来理解系统的补充模型;模型;主题一种比类和对象抽象层次更高、粒度更大的概主题一种比类和对象抽象层次更高、粒度更大的概念,用以建立系统的高层抽象视图;念,用以建立系统的高层抽象视图;主题有助于指导系统设计者或用户等理解一个主题有助于指导系统设计者或用户等理解一个大的系统模型大的系统模型,有助于组织一个大项目的工作。有助于组织一个大项目的工作。本讲稿第二十六页,共五十页三、划分主题(续)三、划分主题(续)2 2、主题概念的特点、主题概念的特点是由一组类构成的集合是由一组类构成的集合一个主题内部的对象类应具有某种意义上的内在联一个主题内部的对象类应具有某种意义上的内在联系系描述系统中相对独立的组成部分(如一个子系描述系统中相对独立的组成部分(如一个子系统)统)描述系统中某一方面的事物(如人员、设备)描述系统中某一方面的事物(如人员、设备)解决系统中某一方面的问题解决系统中某一方面的问题(如输入输出如输入输出)主题的划分有一定的灵活性和随意性主题的划分有一定的灵活性和随意性本讲稿第二十七页,共五十页三、划分主题(续)三、划分主题(续)3 3、何时引入主题、何时引入主题 依赖于模型自身复杂性依赖于模型自身复杂性F小系统小系统:不需引入主题不需引入主题;F中等系统中等系统:先标识类及对象先标识类及对象,然后引入主题然后引入主题;F大系统大系统:先标识主题先标识主题,对问题域进行对问题域进行 划分划分,分给不同的任务组分给不同的任务组;4 4、主题层次的控制、主题层次的控制F中小型系统可只设一层主题,最多不超两层中小型系统可只设一层主题,最多不超两层F大型系统可只设两层主题,最多不超过三层大型系统可只设两层主题,最多不超过三层本讲稿第二十八页,共五十页三、划分主题(续)三、划分主题(续)5 5、如何划分主题、如何划分主题F把每个结构作为一个主题;把每个结构作为一个主题;(选取结构中最上层的类作为一主题选取结构中最上层的类作为一主题)F通过实例连接互相联系的类可划分到一个主题通过实例连接互相联系的类可划分到一个主题F把不属于任何结构,也没有实例连接的类作为一个把不属于任何结构,也没有实例连接的类作为一个主题。主题。本讲稿第二十九页,共五十页三、划分主题(续)三、划分主题(续)6 6、如何精练主题、如何精练主题 从从问题域问题域和和接口复杂性接口复杂性两方面入手两方面入手:F使用问题域精练主题使用问题域精练主题,即用整体即用整体/部分结构对问题部分结构对问题域进行划分域进行划分,而不是按功能分解方法划分而不是按功能分解方法划分.F按高内聚低偶合原则按高内聚低偶合原则,通过使主题间依赖性和通过使主题间依赖性和交互性最小原则保留能反映子问题域的主题交互性最小原则保留能反映子问题域的主题.F主题数目主题数目77个左右个左右,则进一步精练主题。则进一步精练主题。本讲稿第三十页,共五十页7 7、主题的表示法、主题的表示法三种表示方式三种表示方式:压缩方式压缩方式 半展开方式、全展开方式半展开方式、全展开方式编号编号 主题名主题名压缩方式压缩方式编号编号 主题名主题名半展开方式:半展开方式:类名类名 类名类名 类名类名主题名主题名主题名主题名下层下层主题主题三、划分主题(续)三、划分主题(续)本讲稿第三十一页,共五十页7 7、主题的表示法、主题的表示法三、划分主题(续)三、划分主题(续)全展开方式:全展开方式:编号编号编号编号编号编号编号编号 类图上原有的全部内容类图上原有的全部内容本讲稿第三十二页,共五十页中央计算机中央计算机分行计算机分行计算机现金兑换卡现金兑换卡总总 行行分分 行行拥有拥有分行分行代码代码组成组成通信通信1+通信通信拥有拥有柜员终端柜员终端柜员事务柜员事务柜员柜员通信通信1+1+拥有拥有1+雇用雇用输入输入1+1+输入输入账账 户户修修改改1+储储 户户保管保管1+拥有拥有1+远程事务远程事务ATM拥拥有有1+1+1+访问访问1+1+修改修改授权授权1+输入输入1+1231.1.总总 行行 2.2.分分 行行 3.3.ATM三、划分主题(续)三、划分主题(续)本讲稿第三十三页,共五十页四、确定属性四、确定属性对象所保存的信息称为它的属性对象所保存的信息称为它的属性。类的属性类的属性所所描述的是描述的是状态信息状态信息,每个实例的属性值每个实例的属性值表达了表达了该该实例的状态值。实例的状态值。注意注意:AttributeAttribute不表示不表示objects objects 之间的关系,只表示之间的关系,只表示其本质性质,不要与链属性、限定词混淆。其本质性质,不要与链属性、限定词混淆。暂不考虑纯用于实现的暂不考虑纯用于实现的 attributesattributes(即单纯的(即单纯的内部状态)。内部状态)。需求陈述中与已确定的需求陈述中与已确定的 objects objects 有关的名词、有关的名词、形容词可能是选择的线索。形容词可能是选择的线索。本讲稿第三十四页,共五十页五、识别继承关系五、识别继承关系 自底向上:将具有相同属性的自底向上:将具有相同属性的classes向上归纳出父向上归纳出父类。类。例例 自顶向下:自顶向下:将现有将现有classes向下细化出子类(但分析向下细化出子类(但分析阶段避免过度细化)阶段避免过度细化).例例 若某若某class中具有几个独立的功能,则考虑分为几中具有几个独立的功能,则考虑分为几个个classes。例。例 对于某对于某class中具有自己特有属性的部分,可考虑将中具有自己特有属性的部分,可考虑将之列为独立存在的之列为独立存在的class,且是原有,且是原有class的组成。的组成。例例 合并无须分别考虑的若干合并无须分别考虑的若干classes。例例本讲稿第三十五页,共五十页公司职员公司职员股东股东姓名姓名身分证号码身分证号码股份股份职员职员工资工资股东股东姓名姓名身分证号码身分证号码股份股份职员职员姓名姓名身分证号码身分证号码工资工资?从特殊类发现一般类从特殊类发现一般类本讲稿第三十六页,共五十页公司职员公司职员股东股东姓名姓名身分证号码身分证号码股份股份职员职员工资工资公司职员公司职员姓名姓名身分证号码身分证号码股份股份工资工资?从一般类发现特殊类从一般类发现特殊类本讲稿第三十七页,共五十页收款机收款机ABC现钞收款机现钞收款机D DE EF F现钞收款机现钞收款机ABCDEFXYZZXY为支持复用建立结构为支持复用建立结构 收款机类成收款机类成为可供本领域为可供本领域其它系统复用其它系统复用的领域构件的领域构件支持复用的分解支持复用的分解本讲稿第三十八页,共五十页冷藏车冷藏车汽车汽车制冷设备制冷设备冷藏车冷藏车汽车汽车制冷设备制冷设备仅用一般仅用一般-特殊结构特殊结构两种结构两种结构同同 用用冷藏车冷藏车汽车汽车制冷设备制冷设备仅用整体仅用整体-部分结构部分结构两种结构的变通两种结构的变通本讲稿第三十九页,共五十页大学生大学生研究生研究生研究方向研究方向指导教师指导教师学生学生姓名姓名学号学号班级班级研究生研究生研究方向研究方向指导教师指导教师学生学生姓名姓名学号学号班级班级合并无须分别考虑的类合并无须分别考虑的类本讲稿第四十页,共五十页账账 户户余额余额限额限额类型类型现金兑换卡现金兑换卡分行代码分行代码卡号卡号储储 户户姓名姓名地址地址输入站输入站事事 务务日期日期柜员事务柜员事务远程事务远程事务柜柜 员员姓名姓名更更 新新金额金额类型类型总总 行行总行名总行名分分 行行分行名分行名ATM现有金额现有金额付出金额付出金额柜员终端柜员终端分分行行代代码码组成组成站号站号站号站号账号账号雇员号雇员号卡号卡号输输入入1+拥拥有有1+保管保管拥拥有有拥拥有有雇雇用用发放发放拥有拥有1+1+1+访访问问1+授权授权1+1+输入输入1+组成组成修修改改归归 纳纳组组 成成六、六、建立建立 Object Model本讲稿第四十一页,共五十页85 建立动态模型建立动态模型动态模型描述系统的动态结构,给出对动态模型描述系统的动态结构,给出对象之间的相互作用过程。其对于仅存储静态数象之间的相互作用过程。其对于仅存储静态数据据(如数据库如数据库)的系统来说,并没有多少意义。但的系统来说,并没有多少意义。但是在是在开发交互式系统开发交互式系统时,却具有很重要的作用。时,却具有很重要的作用。工作步骤:工作步骤:S1:编写典型交互行为的脚本。:编写典型交互行为的脚本。S2:提取事件,并确定发送、接收对象。:提取事件,并确定发送、接收对象。S3:排列事件发生顺序,绘制事件跟踪图。:排列事件发生顺序,绘制事件跟踪图。S4:确定对象的状态及转换,绘制状态图。:确定对象的状态及转换,绘制状态图。本讲稿第四十二页,共五十页一、编写脚本一、编写脚本脚本也叫做脚本也叫做场景场景,是,是系统在某一时间内出系统在某一时间内出现的一系列事件现的一系列事件。用于描述用户。用于描述用户(外界系统外界系统)与与目标系统之间的一个或多个典型的交互过程,目标系统之间的一个或多个典型的交互过程,以便准确把握目标系统的行为。以便准确把握目标系统的行为。事件发事件发送者接收者参数送者接收者参数基本类型:基本类型:正常情况脚本;正常情况脚本;特殊情况脚本特殊情况脚本(输入输入 输出取边界值时输出取边界值时)异常情况脚本异常情况脚本(应允许用户应允许用户异常中止异常中止或或取消取消一个操作一个操作)本讲稿第四十三页,共五十页一、编写脚本一、编写脚本示例:示例:ATMATMATM系统的正常情况脚本 ATM请储户插卡;储户插入一张现金兑换卡。ATM接受该卡并读它上面的分行代码和卡号。ATM要求储户输入密码;储户输入自己的密码“1234”等数字。ATM请求总行验证卡号和密码;总行要求“39”号分行核对储户密码,然后通知ATM说这张卡有效。ATM要求储户选择事务类型(取款、转帐、查询等);储户选择“取款”。ATM要求储户输入取款额;储户输入“880”。ATM确认取款额在预先规定的限额内,然后要求总行处理这个事务;总行 把请求转给分行,该分行成功地处理完这项事务并返回该帐户的新余额。ATM吐出现金并请储户拿走这些现金;储户拿走现金。ATM问储户是否继续这项事务;储户回答“不”。ATM打印帐单,退出现金兑换卡,请储户拿走它们;储户取走帐单和卡。ATM请储户插卡本讲稿第四十四页,共五十页一、编写脚本一、编写脚本示例:示例:ATMATMATM系统的异常情况脚本 ATM请储户插卡;储户插入一张现金兑换卡。ATM接受该卡并读它上面的分行代码和卡号。ATM要求储户输入密码;储户误输入“8888”。ATM请求总行验证卡号和密码;总行要求“39”号分行核对储户密码,然后通知ATM拒绝这张卡。ATM显示“密码错”,并请储户重新输入密码;储户输入“1234”;ATM请总行验证后知此次输入的密码正确。ATM要求储户选择事务类型(取款、转帐、查询等);储户选择“取款”。ATM要求储户输入取款额;储户改变主意不想取款了,敲“取消”键。ATM退出现金兑换卡,请储户拿走它;储户取走他的卡。ATM请储户插卡本讲稿第四十五页,共五十页二、设想用户界面二、设想用户界面画事件跟踪图画事件跟踪图(event tracing diagram)EventActivatorReceiverTimeLine每个脚本对每个脚本对应一张图应一张图设想用户界面设想用户界面(user interface)rapid prototype.三、画事件跟踪图三、画事件跟踪图本讲稿第四十六页,共五十页要求输入取款额要求输入取款额插插 卡卡要求密码要求密码输入密码输入密码请求验证帐户请求验证帐户请求分行验证帐户请求分行验证帐户帐户有效帐户有效帐户有效帐户有效要求事务类型要求事务类型输入类型输入类型输入取款额输入取款额请求处理事务请求处理事务请求处理分行事务请求处理分行事务分行事务成功分行事务成功事务成功事务成功吐出现金吐出现金请求拿走现金请求拿走现金拿走现金拿走现金请求继续此事务请求继续此事务结结 束束印帐单印帐单退退 卡卡请求拿走卡请求拿走卡拿走卡拿走卡显示主屏幕显示主屏幕储户储户ATM总行总行分行分行ATM系统的正常情况脚本的系统的正常情况脚本的ETD本讲稿第四十七页,共五十页四、画状态图四、画状态图(event flow diagram)从从ETD出发:出发:Event 2Event 1ActionStatusClass-&-ObjectEvent 1Status do:Action Event 2每个具有交互行为的每个具有交互行为的 class-&-object 对应一张图。对应一张图。注:注:一个一个event 若缺少若缺少activator 或或 receiver,而对应,而对应 status 又不是在起点又不是在起点终点,则发生错误。终点,则发生错误。画状态图时应考虑画状态图时应考虑所有的所有的事件跟踪图脚本,包事件跟踪图脚本,包括异常处理。括异常处理。本讲稿第四十八页,共五十页例:例:ATM类的类的EFD插卡插卡(可读可读)主主 屏屏 do:显示主屏幕显示主屏幕 等待网络响应等待网络响应中中 断断 do:显示取消信息显示取消信息事务成功事务成功帐户帐户有效有效do:要求密码要求密码do:验证帐户验证帐户do:要求类型要求类型不可读的卡不可读的卡 do:显示不可读显示不可读卡信息卡信息 退退 卡卡 do:退卡;请求退卡;请求拿走卡拿走卡取取 消消 do:显示取消信息显示取消信息 do:要求金额要求金额结结 束束 do:打印帐单打印帐单 do:显示无效帐显示无效帐户信息户信息 do:请求继续请求继续do:吐出现金;吐出现金;请求拿走现金请求拿走现金do:处理事务处理事务do:失败信息失败信息网络响应网络响应密码错密码错输入密码输入密码插卡插卡(不可读不可读)拿拿走走卡卡取取消消中止中止取消取消拿走拿走现金现金继续继续事务失败事务失败取取消消等等待待5秒秒钟钟输入输入金额金额输入输入类型类型取消取消取消取消无无效效帐帐户户本讲稿第四十九页,共五十页88 本章重点本章重点1 1)掌握掌握OOAOOA的主要任务和相关概念。的主要任务和相关概念。2 2)掌握掌握OOAOOA的方法和工作过程。的方法和工作过程。3 3)掌握掌握对象模型、动态模型与功能模型的建对象模型、动态模型与功能模型的建立方法。具备对小型的系统进行面向对象分析立方法。具备对小型的系统进行面向对象分析的能力。的能力。本讲稿第五十页,共五十页

    注意事项

    本文(面向对象分析 (2)精选文档.ppt)为本站会员(石***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开