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

    面向对象的系统分析课件.ppt

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

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

    面向对象的系统分析课件.ppt

    第10章 面向对象的系统分析OOA任务:以面向对象的观点和方法描述系统或产品,以使它符合面向对象软件工程的特点。系统分析的原则:信息域建模;描述模块的功能;表示模块行为;划分模块,取得更多的细节;早期模型表示本质,后期模型提供细节。OOA的过程:和用户交互 标识类(定义属性和操作)规定类层次 确定对象之间关系 为对象行为建模10.1 领域分析10.2 OOA分析的属过程和部件10.3 OOA过程10.4 对象行为模型10.1 领域分析目的:为了既满足现行系统开发的需求,又能满足将来同类系统的开发。OOA分析级别:事务级(企业级):为整个企业建立模型,定义特定事务领域的对象模型;领域级:为一个特定应用领域建立模型,定义该应用领域的对象模型。应用级:为一个应用的特定用户需求建立模型。10.1.1 再使用和领域分析1)面向对象技术是由再使用库支持的;2)再使用库将使快速开发低成本、高可靠性的产品;3)建立再使用库须进行领域分析。10.1.2 领域分析过程1)领域分析的任务 标识出应用领域中的公共需求;面向对象的领域分析:公共对象,类等再使用部件。2)领域分析的过程 对于要分析的领域抽取:OO项:规范、设计、支持类 非OO项:计划、标准 归类这些项成为范畴,定义范畴特征,分类方式和项的命名约定(即确定组织方式);收集有代表性的应用(提取实际的或概念上的对象);分析每个应用步骤(含有已有范畴的项)标识可再使用对象(侯选)指明可再使用原因 对侯选再使用对象进行整修 估计在本领域中该对象应用的百分比 命名该对象,用CM进行管理 估计再使用对象集合的应用百分比 为这些对象开发分析模型3)领域分析的利益 使用非常高百分比的再使用部件,构造本领域的软件,低成本,高质量和快速进入市场。10.2 OOA分析的属过程和部件10.2.1 一般分析过程10.2.2 属部件(用于OOA)10.2.1 一般分析过程 *获取客户需求 *标识使用案例 *建立需求模型(CRC)*选择类和对象 *标识对象属性和操作 *组织类的层次 *建立对象关系模型 *建立对象行为模型 *审查分析模型10.2.2 属部件(用于OOA)静态部件:表明了对象的特征动态部件:控制、定时和事件处理1)类的静态视图:表示系统中存在的对象2)属性静态视图:表示对象的属性3)关系的静态视图:确定对象之间关系,相 互操作和消息格式设计。4)行为动态视图:规定操作的时间序列 5)通讯的动态视图:发送消息的时间序列6)控制和定时的动态视图:描述引起状态变化事件的本质与定时。这些部件构成了分析模型。10.3 OOA过程10.3.1 使用案例10.3.2 类责任协作者模型10.3.3 定义结构和层次10.3.4 定义系统和子系统10.3.5 对象联系模型10.3.1 使用案例 描述目标系统的一种使用情况。1)角色2)使用案例作用3)使用案例图示4)使用案例描述(事件流方法)1)角色 和系统通讯并外部于系统的任何事物(人、设备)。特点:一个角色代表一类外部实体 仅起一个作用主要角色:直接并经常和系统相互作用。次要角色:支持系统,使主要角色起作用。2)使用案例作用 描述了角色与系统的相互作用方式。角色执行的主要任务 角色输入系统的数据 角色得自系统的信息 例:房屋安全系统 角色:房主、传感器、控制板 房主使用案例:(相互作用方式)*设置和修改口令 *查询安全部位状态 *查询传感器状态 *按紧急按钮 *激活与停止系统3)使用案例图示 图例:角色 :通讯 :使用或扩展 表示关系:通讯关系:角色与案例之间 使用关系:案例与案例之间,把公用功能孤立出来,形成被使用案例(再使用)扩展关系:案例与案例间,表明了特殊性和深入内容。例:处理口令应急处理停止系统查询传感器查询安全状态激活系统房主图10.2 房主使用案例处理口令应急处理停止系统查询传感器查询安全状态激活系统房主验证口令图10.3 使用关系的框图客 户取 款 展扩使 用提前取款验证口令图10.4 使用扩展关系的框图 4)使用案例描述(事件流方法)格式:使用案例名称简要说明:前提条件:执行案例的前提条件主要事件流:案例正常流程其它事件流:案例非正常流程错误事件流:出错事件事后条件:事件后的结果 例:P222使用案例名称使用案例名称:激活系统简要说明简要说明:房主使用控制面板激活系统前提条件前提条件:系统准备号,准备好指示灯亮.主要事件流主要事件流A0:(1)房主使用数字键输入4位数字口令,该口令和系统内存储的口令比较,若正确,控制面板等待下一个命令;否则执行事件流A1.(2)房主选择stay或away命令激活系统.Stay激活房间周边传感器;away激活所有的传感器.(3)若激活成功,红色指示灯亮;否则执行事件流E1.(4)结束使用案例.其他事件流其他事件流A1:(1)控制面板响铃一次.(2)系统复位.(3)执行事件流A0.错误事件流错误事件流E1:(1)控制面板显示系统出错.(2)结束使用案例.10.3.2 类责任协作者模型类责任协作者模型:用于描述用户的需求,标出对象和类。构成:CRC卡片,顶部:类名,中左部:责任,中右部:协作者。1)类2)责任3)协作者1)类 确定:使用选择特征 持有信息 有需要的服务 多个属性 具有公共属性(对所有对象)公共操作(对所有对象实例)产生需要信息 类型:如设备(外部实体),相互作用类(学生成绩)特征:如有形的、原子的、并发的 CRC卡片:类名:类的类型:(如设备、性质、作用、事件)类的特征:(如有形、原子的、并发的)责任:协作:图10.5 CRC卡片2)责任:指类的属性及其操作。分配责任的指导原则:系统的智能应均匀分布:内聚改善,修改 容易。责任表太长,表示不均匀,分裂成新类 责任抽象级别应相同.例Control-panel责任:读入口令和显示字符 每个责任尽量具有一般性,位于类层次顶层,便于应用多态性 信息与其相关责任驻在同一类中封装性 单一对象的信息与行为局部于单一类中,不应跨多个类 适当情况下,类间共享责任:通过继承一个公共超类3)协作者 类能和其它对象协作完成其责任。定义:一个对象向另一对象发消息,则发生了协作。接收消息的对象称为协作者。Control-panel对象的责任:确定传感器状态,为取得传感器信息,必须有传感器协作。10.3.3 定义结构和层次1)概化和特化关系进一步讨论2)整体部分关系的进一步讨论1)概化和特化关系进一步讨论 需要该模型原因 紧密地联系于面向对象程序设计中的继承;将类似的类联系起来,简化问题域的描述;该模型有效地描述了问题域中特定对象关系;方便了通讯与理解问题域 概化和特化的情况 多层次特化;学生硕士研究生研究生博士研究生多层概化/特化例子图 多路继承人员教师学生学生教师图10.7 多路继承 建立模型方式 自顶向下特化:由超类特化成子类 增加子类的属性和操作 转载某些属性或操作 自底向上概化:将公共属性与操作置于超类之中 超类的例化问题 超类为无对象类:当子类中所有子类的并集等于超类集合 超类为有对象类:当子类中所有子类的并集是超类集合的子集 例:对于人员的模型,如果需要工人等对象,则需从人员类中例化。模型读方式 从下向上读为是一个或是一种 例:教师是一种人员2)整体部分关系的进一步讨论 需要该模型的原因 准确描述客观(问题域)世界中某些对象之间关系 对复杂问题抽象的强有力工具 一个复杂的系统由许多复杂对象组成,而复杂对象是由简单对象组成。通讯问题域工具 整体部分关系的种类 部件与零件:例控制面板与键盘、屏幕等。控制面板键盘显示屏指示灯111112图10.8 控制面板的组成 容器与包含物:办公室与桌子、书架等办公室桌子1n1书架1图10.9 整体部分关系的约束电话文件柜11121 群体与成员:职业学会与其成员、IFAC与其成员 关系约束与表达方式 用三角形表示整体部分关系,尖指向整体侧;整体侧数字表示零件、成员个数;部分数字表示整体个数;约束值:单个数或数对0 n,1n。复杂对象的行为 表明了高级行为 由低级部分的行为构成 例:控制面板应有行为 接收命令,由键盘实现 显示状态,由显示屏实现 程序框架class class_A public class_A();class_A();private:class_B *the_class_B5;class_C *the_class_C4;Class_AClass_CClass_B1154class class_B class class_C public:public:class_B();class_B();class_C();class_C();10.3.4 定义系统和子系统1)子系统2)子系统内含3)子系统的图示4)复杂系统的主题表示1)子系统 一些类相互作用,完成一组紧密相关的责任。2)子系统内含 子系统的责任:完成的功能 子系统的契约:接口规定 子系统的协作者:与其它子系统关系3)子系统的图示 对于复杂结构的抽象表示(见图10.12)表示方式:矩形,其内注明结构名字4)复杂系统的主题表示1.控制面板4.传感器3.传感器事件5.声音警报2.系统图10.13 OOA模型中的主题参考图控制面板显示区键 盘指示灯报文显示图显示功能键数字键LCD显示1.控制面板主题参考图10.12 主题参数10.3.5 对象联系模型 对象联系:表示对象间的关系 一个对象知道另一种对象 一个对象知道多少个另一种对象 一个对象的存在必须有多少对应的对象存在 与E_R图的区别 E_R图仅表示数量的对应 对象联系除表示数量的对应外加相互作用1)相互作用类型的对象联系(单向作用)代码框架class 系统 public:系统();系统();private:控制面板 *控制面板地址 控制面板系 统含有class 控制面板 public:控制面板();控制面板();2)事务类型的相互联系(双向联系)实现上:一个对象中应有指向另一对象的指针 参与者事务模板 例如:学生注册 约束基数的意义:一个学生可注册0次或多次,而一个注册只能由一个学生进行 事务地方模板 表示事务发生的地方,例:缴费与缴费地方 参与者地方模板 例如:学生与学院出纳窗口缴注册费0-n 1学生注册0-n 1学生学院1 0-n图10.15 参与者事务模板图10.16 地方事务模板图10.18 参与者-地方模板缴注册费注册费细目1-n 1图10.19 事务事务细目模板注册费项目注册费细目0-n 1实验费体检费保险费学费T3保险费T3-学费T2-实验费T2-学费T1保险费T1-学费事务细目项目图10.20 项目事务细目模板 事务事务细目模板 例:注册费与注册费细节 项目事务细目模板 例:注册费项目与注册费细目(每项目的交费者)对等联系:联系同一类中不同的对象学 生学 生m-n1学 生学 生m-n13)双向多对多联系课 程学 生1-n0-n课 程学 生1-n0-n学生课程学期11变换成成绩 原因:学期和成绩既不属于学生又不 属于课程 若归入学生类,则求每门课程平均分困难;若归入课程类,则求每个学生的平均分困难。以上这些关系可构成OOA的对象关系模型。10.4 对象行为模型10.4.1 对象的服务10.4.2 对象行为表示10.4.1 对象的服务1)业务政策和过程2)服务类型3)发现和标识服务1)业务政策和过程 业务政策:某项业务活动的原则性规定 例如:研究生在修满32学分后可开始论文工作 业务过程:是业务政策的具体地形式化的描述 例如:学分32 修课必修课 业务政策和过程是确定服务的基础2)服务类型 基本服务 生成对象与取消对象(构造与折构函数)生成对象时,通常属性值为空(除非构造函数设定值)设定与取得操作(SET和GET)为对象设定属性值或取得属性值 增加或消去联系 把一个对象联接到另一个对象上或者反之足球队排球队学生体育队属 性服 务王 平张 林李 林赵 立体育队成员属 性服务图10.22 增加和消去联系服务例子(a)ADD(学生体育队=“足球队”,体育队成员=“王平”)足球队排球队王 平张 林李 林赵 立体育队成员属 性服务体育队成员属 性服务图10.22 增加和消去联系服务例子(b)REMOVE(学生体育队=“排球队”,体育队成员=“张林”)搜索查询一个对象操作对于数据存贮在关系库中的实现方式:首先生成一个对象,发查询消息给该对象,然后由其方法查询数据库,取得值后,再设置对象的属性值。问题域的特定报务 对汽车租赁系统中的问题:例1 汽车类的问题,计算里程和费用:计算里程:里程=结束里程起始里程计算费用:费用=价格/公里里程汽车起始里程结束里程返还日期计算里程计算费用查返还日报表统计超期车辆例2:报表类的问题,统计超期车辆服务3)发现和标识服务 由事件标识服务:对象能生成事件或识别事件,识别事件的对象提供服务。考察激活系统案例的事件(有下划线的句子),对控制板可发现下列操作:接收口令 接收命令 比较口令 点亮指示灯 响铃 显示出错报文使用案例名称使用案例名称:激活系统简要说明简要说明:房主使用控制面板激活系统前提条件前提条件:系统准备号,准备好指示灯亮.主要事件流主要事件流A0:(1)房主使用数字键输入4位数字口令,该口令和系统内存储的口令比较,若正确,控制面板等待下一个命令;否则执行事件流A1.(2)房主选择stay或away命令激活系统.Stay激活房间周边传感器;away激活所有的传感器.(3)若激活成功,红色指示灯亮;否则执行事件流E1.(4)结束使用案例.其他事件流其他事件流A1:(1)控制面板响铃一次.(2)系统复位.(3)执行事件流A0.错误事件流错误事件流E1:(1)控制面板显示系统出错.(2)结束使用案例.由类状态标识服务:对于教师类有职称,所以应有提职的服务。由消息标识服务:接收消息的类,提供所需服务。确定服务细节,发现新服务:对于比较口令,控制面板不存贮口令,因此需类系统协作,所以系统类应有查口令操作,发现了新服务。10.4.2 对象行为表示1)序列图2)状态跃迁图1)序列图 表示使用案例中对象间相互作用的时序关系。矩形:对象或类 :角色 :表示时间,对象生命周期 :消息,可有名字和输入/出参数控制板系统传感器房主系统准备好1.输入口令2.读口令3.验证口令4.请求响铃5.准备好激活/停止系统6.选择stay/away7.请求激活/停止8.激活/停止传感器9.请求红灯亮10.接收下个命令 图10.24 激活系统的序列图2)状态-跃迁图 状态跃迁图:表示类的状态(属性值)以及引起状态变化的事件或操作。为依赖于时间的部件(类)建模 例如:ATM机,控制面板(安全屋)UML的状态跃迁图 图符 矩形:表示状态。顶部:状态名;底部:可执行活动 :表示开始状态,:结束状态.:弧表示跃迁,标号表示事件操作 例:控制板对象的状态跃迁图空闲DO:接收命令比较Entry:比较口令选择DO:接收命令重入DO:输入口令口令不正确口令正确开机关机图10.25 控制板对象的状态跃迁图激活成功 对象的操作 进入操作:进入一个状态首先执行的操作,不可中断。entry:操作名 退出操作:退出一个状态前执行的操作,不可中断。exit:操作名 活动:某一状态下的操作,可中断。Do:活动名

    注意事项

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

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




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

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

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

    收起
    展开