软件工程软件工程软件工程 (40).pdf

上传人:刘静 文档编号:52867665 上传时间:2022-10-24 格式:PDF 页数:17 大小:3.53MB
返回 下载 相关 举报
软件工程软件工程软件工程 (40).pdf_第1页
第1页 / 共17页
软件工程软件工程软件工程 (40).pdf_第2页
第2页 / 共17页
点击查看更多>>
资源描述

《软件工程软件工程软件工程 (40).pdf》由会员分享,可在线阅读,更多相关《软件工程软件工程软件工程 (40).pdf(17页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、面向对象分析(Object-Oriented Analysis,OOA)Object-Oriented Analysis,OOA)面向对象分析技术关注应用领域中的实体,并将其建模为对象 面向对象分析技术主要基于分类、泛化、聚合关系在对象集合之间建立结构 对象的行为是执行预定的动作(服务/活动)对象通过执行动作来完成状态变迁 3 面向对象分析的起源 面向对象程序设计(OOPOOP)Booch86 Booch86 将OOPOOP中的概念上推到分析和设计阶段 数据库设计(Database designDatabase design)Chen 76 Chen 76 将数据语义建模概念,如实体-关系、泛

2、化、聚合、和分类用于系统分析和设计 结构化分析(Structured Analysis Structured Analysis)Ross 77 Ross 77 将结构化分析方法与技术,如SADTSADT方法等用于系统分析与建模 知识表示(Knowledge RepresentationKnowledge Representation)Borgida85 Borgida85 采用基于问题框架和语义网络的知识表示方法 4 面向对象分析方法举例面向对象分析方法举例 Peter Coad的面向对象方法 Coad91 “对象”是问题领域中真实存在的实体,有“定义清晰的边界”对象中封装有属性和行为 面向对

3、象分析的五个核心概念:对象、属性、结构、服务和主题 5 患者患者 患者姓名患者姓名 家庭住址家庭住址 医师姓名医师姓名 预约预约 类标识符类标识符 属性属性 服务服务 软件系统建模原则软件系统建模原则 支持修改和重用 有经验的工程师重用已有的设计有经验的工程师重用已有的设计 模型组件重用 模型结构重用 有智慧的工程师规划未来有智慧的工程师规划未来 建立可重用的模型组件 建立易于修改的模型结构 五大有力武器:抽象抽象:关注重点,暂忘细节 分解分解:将问题切分,分而治之 多视角映射多视角映射:切换关注点,分别讨论 模块化模块化:建立稳定结构、缩小变化影响范围 模式模式:多次成功应用的模型结构 So

4、urce:Adapted from Davis,1990,p48 and Loucopoulos&Karakostas,1995,p78 based on symptoms:no response from device;incorrect response;self-test failure;etc.based on location:instrumentation fault,communication fault,processor fault,etc 对象建模原则1:抽象 抽象 在对象间找出共性在对象间找出共性,忽略不相关细节忽略不相关细节 关注对象间的一般关注对象间的一般/特殊关系特

5、殊关系 将具有相同属性或角色的对象放入同一个类集合中 再通过父子关系,将由共性的类定义为同一个父类的子类 例如:需求是处理航天器故障 将故障按不同的故障类型纵向分类。继承继承/一般-特殊结构(Gen-Spec StructuresGen-Spec Structures)一般-特殊结构将类组织成基于继承关系的分类层次结构 自底向上是从特殊到一般的类(generalization)自顶向下是从一般到特殊的类(specialization).8 患者 医师姓名 住院患者 病房号 病床号 门诊患者 上次诊疗记录 下次预约记录 对象建模原则对象建模原则2 2:分解分解 分解 表达整体部分关系,细分为聚合

6、和组合 例如:目标是飞行器研发 将问题分解为子系统研发:导航系统;数据处理系统;指挥控制系统;环境控制系统;等 这是我们对问题的分解 现实世界中的设计可以组件化 系统分解方式决定系统的体系结构设计 整体-部分结构(Whole-Part StructuresWhole-Part Structures)整体部分结构描述对象间的组合关系.例如,一个交通灯对象由0-3个灯组,支撑杆和位置对象组合而成。10 交通灯交通灯 支撑杆支撑杆 位置位置 灯组灯组 服务建模(ServicesServices)对象为其周遭的其他对象提供服务,例如,医生对象对外提供的服务包括:体检,出体检报告等。Coad 的OOA方

7、法中,定义了三种类型的服务:瞬时服务(Occurrence services):对象的创建、结束,修改等等 计算服务(Calculate services):对象为其他对象完成计算任务等 监控服务(Monitor services):对象持续监控流程,检查预设条件是否满足 我们用带箭头的虚线来表示一个对象引用另一个对象的服务 11 从面向对象到面向服务,是看待问题的视角的切换 服务关系(Services relationshipsServices relationships)12 医生 住院病人 病房号 病床号 病历 就诊记录 检查结果 体检 出体检报告 看病 做体检 取数据 0 0 0.0.

8、m m 1 1 0 0,1 1 医生医生和和住院病人住院病人对象调用彼此的对象调用彼此的服务服务 医生医生对象调用对象调用病历病历对象的对象的取取数据数据服务服务 对象建模原则对象建模原则3 3:投影投影 投影:从多个视角分别建模问题的不同方面从多个视角分别建模问题的不同方面 一如建筑施工中的不同视角的图纸 例如:需要进行飞行器需求建模需要进行飞行器需求建模 投影建议分别建模投影建议分别建模:安全性、容错性、实时性 注意:投影和分解有共同点投影和分解有共同点:分解定义整体-部分关系 投影定义视图 分解的假设是子模块间依赖性较小分解的假设是子模块间依赖性较小 Source:Adapted fro

9、m Davis,1990,p48-51 UMLUML类图模型例类图模型例 :patient Name Date of Birth physician history:in-patient Room Bed Treatments food prefs:out-patient Last visit next visit prescriptions:patient Name Date of Birth physician history:heart Natural/artif.Orig/implant normal bpm:eyes Natural/artif.Vision colour:kidne

10、y Natural/artif.Orig/implant number Source:Adapted from Davis,1990,p67-68 10.10.21.20.10.1继承继承 Generalization (an abstraction hierarchy)组合组合Aggregation(a partitioning hierarchy)面向对象的分析方法学 识别对象和类(类是对象的抽象定义)识别类之间的关系,建立由继承和组合关系组成的类层次结构 定义主题,通过主题将对象模型组织成多个抽象层次或视角,一般说来通过继承关系或整体部分关系联系起来的类同属于一个主题 识别各个对象内部的

11、属性信息,并将其赋予相应抽象层次的类 为每个类定义服务 15 面向对象分析的局限性 16 医生 住院患者 病房号 病床号 病历 就诊记录 检查结果 体检 出体检报告 看病 做检查 取数据 1 1 0.0.m m 0 0,1 1 医生医生和和住院病人住院病人对象对象调用彼此的服务调用彼此的服务 医生医生对象调用对象调用病历病历对对象的象的取数据取数据服务服务 患者 医生姓名 门诊患者 诊疗记录 预约记录 0.0.m m 1 1 面向对象分析常用术语对照表 OOAOOA OOSE OOD OMT OOSE OOD OMT (Jacobson)(Jacobson)(BoochBooch)()(Rum

12、baughRumbaugh)Metaclass Object Instance Object Object Gen-Spec Inheritance inherits Generalization Whole-Part Consists-of Aggregation Instance conn.Acquaintance Link Message Stimuli Message Event Message conn.Communication Attribute Attribute Attribute Service Operation Operation Subject View(subsystem)Sheet(Execution thread)Use case Scenario (user)Actor 17

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com