首页 面向对象分析

面向对象分析

举报
开通vip

面向对象分析第八章面向对象分析8·1OOA的基本任务8·2OOA的基本过程8·3需求陈述8·4建立对象模型8·5建立动态模型8·6建立功能模型8·7定义服务8·8本章重点8·1OOA的基本任务面向对象分析(Object-OrientedAnalysis,简称OOA)的主要任务是完全理解用户的需求和应用领域重的关键性背景知识,并用某种无二义性的方式编写成文档资料——软件需求规格说明书(以模型描述为基本部分,再加上接口要求、性能限制等其它方面的要求说明)。OOA的关键,是识别出问题域内的对象,并分析它们相互见的关系,最终建立起问题...

面向对象分析
第八章面向对象 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 8·1OOA的基本任务8·2OOA的基本过程8·3需求陈述8·4建立对象模型8·5建立动态模型8·6建立功能模型8·7定义服务8·8本章重点8·1OOA的基本任务面向对象分析(Object-OrientedAnalysis,简称OOA)的主要任务是完全理解用户的需求和应用领域重的关键性背景知识,并用某种无二义性的方式编写成文档资料——软件需求规格 说明 关于失联党员情况说明岗位说明总经理岗位说明书会计岗位说明书行政主管岗位说明书 书(以模型描述为基本部分,再加上接口要求、性能限制等其它方面的要求说明)。OOA的关键,是识别出问题域内的对象,并分析它们相互见的关系,最终建立起问题领域的简介、精确、可理解的正确模型。在三种模型中,对象模型是最基本、最重要、最核心的。8·2OOA的基本过程OOA实质就是抽取和整理用户需求,并建立起问题域的精确模型。分析工作主要包括理解、表达和验证三部分 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 。首先系统分析员需要与用户及相关领域专家进行反复的交流,力求完全理解用户需求。为了验证需求的正确性、完整性和有效性,需要建立一个快速原型来加以验证。同时,需要从理解的需求中抽取出问题的本质属性,用模型准确的描述出来。包括三个子模型与五个层次。一、三个子模型面向对象建模得到的模型包括三个子模型:静态模型:描述系统的静态结构,包括对象的组成以及对象之间的关系。动态模型:描述系统的动态结构,给出对象之间的相互过程。功能模型:描述系统数据变换,指明做什么。对于解决问题的不同,各模型的侧重点也不同:①对象模型:最重要,开发任何系统都需要;②动态模型:对于开发交互式系统很重要;③功能模型:对于开发大运算量问题(如科学计算、编译系统等)很重要。二、五个层次类的边界类及对象层实例的边界结构层主题层主题服务层消息连接服务属性层实例连接属性三、OOA建立对象模型的五项活动(1)标识类及对象(2)标识结构(3)标识主题(4)定义属性及实例连接(5)定义服务及消息连接五个步骤常根据需要交叉进行四、进行OOA的步骤需求陈述识别类—&—对象确定结构划分主题定义属性建立动态模型建立功能模型定义服务8·3需求陈述陈述用户需求(应“做什么”),而不是设计与实现的策略(不是“怎么做”)。分清各种问题的性质、规模,功能需求,性能需求等提出可扩充性、性能与通信的要求8·4建立对象模型建立对象模型的步骤:识别类—&—对象确定关联划分主题确定属性识别继承关系迭代并反复修改模型一、确定类—&—对象【任务】:找出问题域中客观存在的对象。【策略】:S1:列出所有候选对象。S2:筛选出正确的对象。非正式分析:从需求陈述中挑出名词Class-&-Object形容词Attribute动词Method1、列出所有候选对象对象是对问题域中有意义的事物的抽象,既可以是物理实体,也可以是抽象的概念。分类如下:(1)可感知的物理实体。如飞机,汽车等。(2)人或组织的角色。如雇员,财务处等。(3)应该记忆的事件。如演出,交通事故等(4)多个对象之间的交互作用,通常具有交易或接触性质。如购买,销售等。(5)需要说明的概念。如政策法规等。1、列出所有候选对象(续)问题域描述中的名词,往往是候选的对象;根据问题域结构可提取候选的类及对象;与系统发生作用的其它系统和必要的设备可作为候选的类及对象;如:打印机等系统必须观测、记忆的与时间有关的事件可作为候选的类及对象;如:建立帐户的日期打开一个帐户等与系统发生交互的人及系统必须保留其信息的人,可作为候选的类及对象;如:柜员、储户等1、列出所有候选对象(续)这些人所属的组织单位,可作为候选的类及对象;如:总行、分行等系统必须记忆、且不在问题域约束中的顺序操作过程(为了指导人机交互)可作为候选的类及对象;如:柜员事务、远程事务等。其中属性是操作过程名,操作特权及操作步骤的描述;系统需了解掌握的物理位置、办公地点等可作为候选的类及对象;如:ATM机器、帐户等2、筛选出正确的类—&—对象严格的审查每个候选对象,去除不正确或不必要的,仅保留确实需要 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 其信息或需要其提供服务的对象。筛选依据:(1)冗余:去除重复,保留一个。(2)无关:去除与本系统无关的对象。(3)笼统:或无需记忆,或具有更明确。(4)属性:去掉为其它对象属性的名词。(5)操作:既为名词又为动词,应慎重考虑(6)实现:去除与实现相关的类。ATM自动取款机示例例:从ATM需求分析中提出的名词集合银行、ATM、系统、中央计算机、分行计算机、柜员终端、网络、总行、分行、软件、成本、市、街道、营业厅、储蓄所、柜员、储户、现金、支票、账户、事务、现金兑换卡、余额、磁卡、分行代码、卡号、用户、副本、信息、密码、类型、取款额、账单、访问筛选时依下列标准删除:、通信链路、事务日志冗余无关笼统属性操作既可为名词又可为动词的词,应慎重考虑。实现二、确定关联【任务】:确定对象之间的关联关系。【策略】:S1:初步确定关联。对应于描述性动词或动词短语需求陈述中隐含根据问题域知识得出S2:筛选。S3:完善。1、初步确定关联①需求陈述中涉及objets的动词短语:分行计算机维护账户柜员终端与分行计算机通信柜员输入针对账户的事务ATM与中央计算机交换关于事务的信息中央计算机确定事务与分行的对应关系ATM读现金兑换卡ATM与用户交互ATM吐出现金ATM打印账单系统处理并发的访问ATM、中央计算机、分行计算机及柜员终端组成网络总行拥有多台ATMATM设在主要街道上分行提供分行计算机和柜员终端柜员终端设在分行营业厅及储蓄所内分行分摊软件开发成本储户拥有账户分行计算机处理针对账户的事务1、初步确定关联(续)②需求陈述中隐含的关联总行由各个分行组成系统维护事务日志分行保管账户系统提供必要的安全性总行拥有中央计算机储户拥有现金兑换卡③根据问题域知识得出的关联现金兑换卡访问账户分行雇用柜员2、筛选删除①与已删去的object有关的关联②与问题无关的或应在实现阶段考虑的关联ATM、中央计算机、分行计算机及柜员终端组成网络总行拥有多台ATMATM设在主要街道上分行提供分行计算机和柜员终端柜员终端设在分行营业厅及储蓄所内分行分摊软件开发成本储户拥有账户总行由各个分行组成分行计算机处理针对账户的事务分行计算机维护账户柜员终端与分行计算机通信柜员输入针对账户的事务ATM与中央计算机交换关于事务的信息中央计算机确定事务与分行的对应关系ATM读现金兑换卡ATM与用户交互ATM吐出现金ATM打印账单系统处理并发的访问现金兑换卡访问账户系统维护事务日志分行保管账户系统提供必要的安全性总行拥有中央计算机储户拥有现金兑换卡分行雇用柜员2、筛选删除(续)③瞬时事件:注意关联描述静态结构ATM、中央计算机、分行计算机及柜员终端组成网络总行拥有多台ATMATM设在主要街道上分行提供分行计算机和柜员终端柜员终端设在分行营业厅及储蓄所内分行分摊软件开发成本储户拥有账户总行由各个分行组成分行计算机处理针对账户的事务分行计算机维护账户柜员终端与分行计算机通信柜员输入针对账户的事务ATM与中央计算机交换关于事务的信息中央计算机确定事务与分行的对应关系ATM读现金兑换卡ATM与用户交互ATM吐出现金ATM打印账单系统处理并发的访问现金兑换卡访问账户系统维护事务日志分行保管账户系统提供必要的安全性总行拥有中央计算机储户拥有现金兑换卡分行雇用柜员2、筛选删除(续)④三元关联:分解为二元关联或限定关联柜员输入针对账户的事务=柜员输入事务+事务修改账户分行计算机处理针对账户的事务=分行计算机处理事务+事务修改账户ATM与中央计算机交换关于事务的信息=ATM与中央计算机通信+在ATM上输入事务注:识别链属性——某实体仅用于描述另两个实体的关系,且该实体本身不包含属性。例如“公司付给员工工资”可分解为“公司雇用员工”,附链属性“工资”。2、筛选删除(续)⑤派生关联:即可用其它关联定义的冗余关联总行拥有多台ATM分行提供分行计算机和柜员终端储户拥有账户总行由各个分行组成分行保管账户总行拥有中央计算机现金兑换卡访问账户储户拥有现金兑换卡分行雇用柜员分行计算机处理事务分行计算机维护账户柜员终端与分行计算机通信柜员输入事务事务修改账户ATM与中央计算机通信在ATM上输入事务中央计算机确定事务与分行的对应关系3、完善①正名:分行提供分行计算机和柜员终端=分行拥有分行计算机+分行拥有柜员终端②分解:适当分解前面确定的class-&-objects,使其适用于不同的关联事务=远程事务+柜员事务③补充柜员输入柜员事务在ATM上输入远程事务柜员事务输进柜员终端远程事务由现金兑换卡授权④标明阶数(可能经常变动,不要花太多时间)中央计算机分行计算机现金兑换卡总行分行拥有分行代码组成通信1+通信拥有柜员终端柜员事务柜员通信1+1+拥有1+雇用输入1+1+输入账户修改1+储户保管1+拥有1+远程事务ATM拥有1+1+1+访问1+1+修改授权1+输入1+ATM取款机的对象模型三、划分主题主题是把一组具有较强联系的类组织在一起而得到的类的集合。1、主题概念及其用途主题层是在OOA基本模型(类图)之上建立一个能帮助人们从不同的认识层次来理解系统的补充模型;主题一种比类和对象抽象层次更高、粒度更大的概念,用以建立系统的高层抽象视图;主题有助于指导系统设计者或用户等理解一个大的系统模型,有助于组织一个大项目的工作。三、划分主题(续)2、主题概念的特点是由一组类构成的集合一个主题内部的对象类应具有某种意义上的内在联系描述系统中相对独立的组成部分(如一个子系统)描述系统中某一方面的事物(如人员、设备)解决系统中某一方面的问题(如输入输出)主题的划分有一定的灵活性和随意性三、划分主题(续)3、何时引入主题依赖于模型自身复杂性小系统:不需引入主题;中等系统:先标识类及对象,然后引入主题;大系统:先标识主题,对问题域进行划分,分给不同的任务组;4、主题层次的控制中小型系统可只设一层主题,最多不超两层大型系统可只设两层主题,最多不超过三层三、划分主题(续)5、如何划分主题把每个结构作为一个主题;(选取结构中最上层的类作为一主题)通过实例连接互相联系的类可划分到一个主题把不属于任何结构,也没有实例连接的类作为一个主题。三、划分主题(续)6、如何精练主题从问题域和接口复杂性两方面入手:使用问题域精练主题,即用整体/部分结构对问题域进行划分,而不是按功能分解 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 划分.按高内聚低偶合原则,通过使主题间依赖性和交互性最小原则保留能反映子问题域的主题.主题数目>7个左右,则进一步精练主题。7、主题的表示法三种表示方式:压缩方式半展开方式、全展开方式编号主题名压缩方式编号主题名半展开方式:类名类名……类名主题名主题名……下层主题三、划分主题(续)7、主题的表示法三、划分主题(续)全展开方式:编号编号编号编号类图上原有的全部内容中央计算机分行计算机现金兑换卡总行分行拥有分行代码组成通信1+通信拥有柜员终端柜员事务柜员通信1+1+拥有1+雇用输入1+1+输入账户修改1+储户保管1+拥有1+远程事务ATM拥有1+1+1+访问1+1+修改授权1+输入1+1231.总行2.分行3.ATM三、划分主题(续)四、确定属性对象所保存的信息称为它的属性。类的属性所描述的是状态信息,每个实例的属性值表达了该实例的状态值。注意:①Attribute不表示objects之间的关系,只表示其本质性质,不要与链属性、限定词混淆。②暂不考虑纯用于实现的attributes(即单纯的内部状态)。③需求陈述中与已确定的objects有关的名词、形容词可能是选择的线索。五、识别继承关系①自底向上:将具有相同属性的classes向上归纳出父类。例②自顶向下:将现有classes向下细化出子类(但分析阶段避免过度细化).例③若某class中具有几个独立的功能,则考虑分为几个classes。例④对于某class中具有自己特有属性的部分,可考虑将之列为独立存在的class,且是原有class的组成。例⑤合并无须分别考虑的若干classes。例公司职员股东姓名身分证号码……股份……职员工资……………………股东姓名身分证号码股份…………职员姓名身分证号码工资…………?从特殊类发现一般类公司职员股东姓名身分证号码……股份……职员工资……公司职员姓名身分证号码股份工资…………………………??从一般类发现特殊类收款机ABC现钞收款机DEF现钞收款机ABCDEFXYZZXY为支持复用建立结构收款机类成为可供本领域其它系统复用的领域构件支持复用的分解冷藏车…………汽车…………制冷设备…………冷藏车…………汽车…………制冷设备…………仅用一般-特殊结构两种结构同用冷藏车…………汽车…………制冷设备…………仅用整体-部分结构两种结构的变通大学生研究生研究方向指导教师……学生姓名学号班级…………研究生研究方向指导教师……学生姓名学号班级…………合并无须分别考虑的类账户余额限额类型现金兑换卡分行代码卡号储户姓名地址输入站事务日期柜员事务远程事务柜员姓名更新金额类型总行总行名分行分行名ATM现有金额付出金额柜员终端分行代码组成站号站号账号雇员号卡号输入1+拥有1+保管拥有拥有雇用发放拥有1+1+1+访问1+授权1+1+输入1+组成修改归纳组成六、建立ObjectModel8·5建立动态模型动态模型描述系统的动态结构,给出对象之间的相互作用过程。其对于仅存储静态数据(如数据库)的系统来说,并没有多少意义。但是在开发交互式系统时,却具有很重要的作用。工作步骤:S1:编写典型交互行为的脚本。S2:提取事件,并确定发送、接收对象。S3:排列事件发生顺序,绘制事件跟踪图。S4:确定对象的状态及转换,绘制状态图。一、编写脚本脚本也叫做场景,是系统在某一时间内出现的一系列事件。用于描述用户(外界系统)与目标系统之间的一个或多个典型的交互过程,以便准确把握目标系统的行为。事件=发送者+接收者+参数基本类型:①正常情况脚本;②特殊情况脚本(输入\输出取边界值时)③异常情况脚本(应允许用户异常中止或取消一个操作)一、编写脚本——示例:ATMATM系统的正常情况脚本ATM请储户插卡;储户插入一张现金兑换卡。ATM接受该卡并读它上面的分行代码和卡号。ATM要求储户输入密码;储户输入自己的密码“1234”等数字。ATM请求总行验证卡号和密码;总行要求“39”号分行核对储户密码,然后通知ATM说这张卡有效。ATM要求储户选择事务类型(取款、转帐、查询等);储户选择“取款”。ATM要求储户输入取款额;储户输入“880”。ATM确认取款额在预先规定的限额内,然后要求总行处理这个事务;总行把请求转给分行,该分行成功地处理完这项事务并返回该帐户的新余额。ATM吐出现金并请储户拿走这些现金;储户拿走现金。ATM问储户是否继续这项事务;储户回答“不”。ATM打印帐单,退出现金兑换卡,请储户拿走它们;储户取走帐单和卡。ATM请储户插卡一、编写脚本——示例:ATMATM系统的异常情况脚本ATM请储户插卡;储户插入一张现金兑换卡。ATM接受该卡并读它上面的分行代码和卡号。ATM要求储户输入密码;储户误输入“8888”。ATM请求总行验证卡号和密码;总行要求“39”号分行核对储户密码,然后通知ATM拒绝这张卡。ATM显示“密码错”,并请储户重新输入密码;储户输入“1234”;ATM请总行验证后知此次输入的密码正确。ATM要求储户选择事务类型(取款、转帐、查询等);储户选择“取款”。ATM要求储户输入取款额;储户改变主意不想取款了,敲“取消”键。ATM退出现金兑换卡,请储户拿走它;储户取走他的卡。ATM请储户插卡二、设想用户界面画事件跟踪图(eventtracingdiagram)EventActivatorReceiverTimeLine每个脚本对应一张图设想用户界面(userinterface)rapidprototype.三、画事件跟踪图要求输入取款额插卡要求密码输入密码请求验证帐户请求分行验证帐户帐户有效帐户有效要求事务类型输入类型输入取款额请求处理事务请求处理分行事务分行事务成功事务成功吐出现金请求拿走现金拿走现金请求继续此事务结束印帐单退卡请求拿走卡拿走卡显示主屏幕储户ATM总行分行ATM系统的正常情况脚本的ETD四、画状态图(eventflowdiagram)从ETD出发:Event2Event1ActionStatusClass-&-ObjectEvent1Statusdo:ActionEvent2每个具有交互行为的class-&-object对应一张图。注:①一个event若缺少activator或receiver,而对应status又不是在起点\终点,则发生错误。②画状态图时应考虑所有的事件跟踪图脚本,包括异常处理。例:ATM类的EFD插卡(可读)主屏do:显示主屏幕等待网络响应中断do:显示取消信息事务成功帐户有效do:要求密码do:验证帐户do:要求类型不可读的卡do:显示不可读卡信息退卡do:退卡;请求拿走卡取消do:显示取消信息do:要求金额结束do:打印帐单do:显示无效帐户信息do:请求继续do:吐出现金;请求拿走现金do:处理事务do:失败信息网络响应密码错输入密码插卡(不可读)拿走卡取消中止取消拿走现金继续事务失败取消等待5秒钟输入金额输入类型取消取消无效帐户8·8本章重点1)掌握OOA的主要任务和相关概念。2)掌握OOA的方法和工作过程。3)掌握对象模型、动态模型与功能模型的建立方法。具备对小型的系统进行面向对象分析的能力。
本文档为【面向对象分析】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
慢慢文档
8年外贸单证以及相关的工作经验
格式:ppt
大小:487KB
软件:PowerPoint
页数:49
分类:
上传时间:2023-04-05
浏览量:0