【转】面向对象分析方法

2023-05-16

一、什么是OOA?

Object-Oriented Analysis

(面向对象分析方法)是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题。

OOA与结构化分析有较大的区别

OOA所强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理

业务现状和方法的分析。

OOA与面向过程分析区别

面向过程:分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用

就可以了。

面向对象:把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在

整个解决问题的步骤中的行为。

二、OOA概念与思想

面向对象 = 对象 + 类 +类间的关系 + 消息
1.OOA概念与思想之对象(object)
对象是现实世界中个体或事物的抽象表示,是其属性和相关操作的封装。        例如,人张三就是一个对象,他具有身高180cm,体重55kg,年龄23岁等属性,对于该对象可以实施吃饭、睡觉等操作。
2.OOA概念与思想之类(class) 
类表示某些对象在属性和操作方面的共同特征,即类是具有相同属性、操作、关系的对象集合的总称。
例如,人类,每个人都有身高、体重等属性和吃饭睡觉等操作。
3.OOA概念与思想之类间的关系
类间的五种关系:继承、聚合、组合、关联、依赖
耦合从高到低的顺序 继承>组合>聚合>关联>依赖
三.OOA组成
(面向对象的分析)模型由5个层次(主题层、对象类层、结构层、属性层和服务层)和5个活动(标识对象类、
标识结构、定义主题、定义属性和定义服务)组成。在这种方法中定义了两种对象类之间的结构,一种称为分类结构,
一种称为组装结构。分类结构就是所谓的一般与特殊的关系。组装结构则反映了对象之间的整体与部分的关系。
1.OOA组成之5个层次
2.OOA组成之5个层次

OOA模型由5个层组成:
(1)主题层,按模块进行划分,从而降低模型的复杂程度;
(2)类与对象层,描述了系统中的类与对象;
(3)结构层,描述了类之间的继承关系和“整体-部分”结构;
(4)属性层,描述了属性以及类和对象之间的实例连接;
(5)服务层,描述了方法以及类和对象之间的消息连接。

OOA过程的5项活动分别对应OOA 模型的5个层次,这5项活动和5个层次又继续贯穿在OOD(面向对象的设计)过程中

3.OOA模型及其规约
4.OOA模型及其规约之模型
基本模型(类图)以直观的方式表达最重要的系统构造信息,其主要成分包括:类、属性、操作、
一般-特殊结构、整体-部分结构、关联和消息。类图分为三个层次:对象层、特征层、关系层.
对象层—给出系统中所有反映问题域与系统责任的对象,用类符号表达属于每一类的对象
特征层—给出每一个类的内部特征,即给出每个类的属性和操作。
关系层—给出各个类之间的关系:继承关系(用一般-特殊结构表示)、聚合关系(用整体-部分结构表示)
、关联关系(静态关系)、依赖关系(动态关系) 。
5.OOA模型及其规约之规约
OOA的主要原则
(1)抽象原则。系统中的对象是对现实世界中事物的抽象; 类是系统中对象的抽象。
(2)分类原则。就是把具有相同属性和服务的对象划分为一 类,用类作为这些对象的抽象描述。
(3)聚合原则。聚合将一个复杂的事物看成由若干比较简单的事物组合形成的,从而简化对
复杂事物的描述。
(4)关联原则。在面向对象分析过程中,运用关联原则可以在系统模型中明确地标识对象
之间的静态联系。
(5)消息通信原则。这一原则要求对象之间只能通过消息进行通信,而不允许在对象之外直接
地存取对象内部的属性。通过消息进行通信是由于封装原则而引起的。
(6)粒度控制原则
四、OOA步骤(OOA五大活动)
在用OOA具体地分析一个事物时,大致上遵循如下五个基本步骤:
第一步,确定对象和类。这里所说的对象是对数据及其处理方式的抽象,它反映了系统保存
和处理现实世界中某些事物的信息的能力。类是多个对象的共同属性和方法集合的描述,
它包括如何在一个类中建立一个新对象的描述。
      第二步,确定结构(structure)。结构是指问题域的复杂性和连接关系。类成员结构反映了
泛化-特化关系,整体-部分结构反映整体和局部之间的关系
      第三步,确定主题(subject)。主题是指事物的总体概貌和总体分析模型
      第四步,确定属性(attribute)。属性就是数据元素,可用来描述对象或分类结构的实例,
可在图中给出,并在对象的存储中指定。
      第五步,确定方法(method)。方法是在收到消息后必须进行的一些处理方法:方法要
在图中定义,并在对象的存储中指定。对于每个对象和结构来说,那些用来增加、修改、删除和
选择一个方法本身都是隐含的
(虽然它们是要在对象的存储中定义的,但并不在图上给出),而有些则是显示的。
五、OOA步骤方法二
1、建立需求模型—用例图
a.确定系统边界
b.发现参与者
c.确定用况
2、建立基本模型—类图
a.发现对象、定义它们的类
b.定义对象的内部特征—属性和操作
c.定义对象的外部关系–一般-特殊结构、整体-部分结构、关联和消息。
3、建立辅助模型—包图、顺序图、活动图等
4、建立模型规约
5、原型开发
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【转】面向对象分析方法 的相关文章

随机推荐

  • 关于微信开放平台配置-网站应用

    官方的使用说明 xff1a https open weixin qq com cgi bin showdocument action 61 dir list amp t 61 resource res list amp verify 61
  • 10-9 查询年龄18-20之间的学生信息(MSSQL)

    分数 5 全屏浏览题目 切换布局 作者 张庆 单位 集美大学 本题目要求编写SQL语句 xff0c 检索出 stu表中年龄在18 20之间的学生记录 注意 计算年龄时以年计算 xff0c 不考虑出生月份 假定当前日期为 2020 03 01
  • Python-面向对象常用方法(初始化与str)

    一 初始化方法 xff1a 当使用类名 xff08 xff09 创建对象时 xff0c 会 自动 执行以下操作 xff1a 1 为对象在内存中 分配空间 创建对象 2 为对象的属性 设置初始值 初始化方法 init 初始化方法 就是 ini
  • 在CentOS8上实现私有CA和证书申请

    私有CA创建的参看配置文件 etc pki tls openssl cnf root 64 y zilong cat etc pki tls openssl cnf CA default dir 61 etc pki CA 所有证书存放的目
  • (原创)iOS中cell高度自适应方法UITableView设置

    一 xff1a 修改tableView 的heightForRowAtIndexPath代理方法 xff0c 每一行都设置为动态高度 span class hljs built in CGFloat span tableView span
  • VGG数据预处理

    参考文献 Very Deep Convolutional Networks for Large Scale Image Recognition 本文的目的 目标检测 语义分割等领域都会涉及到预训练模型 xff0c 一般是在ImageNet上
  • 关于pip将第三方包下载到本地的相关方法

    1 原因 很多客户的场景无法连外网 xff0c 需要将第三方包导入安装 2 命令 国内源 xff1a 中国科学技术大学 https pypi mirrors ustc edu cn simple 豆瓣 xff1a http pypi dou
  • Debian6.02 终端中文设置--FBTerm + ucimf

    目前字符终端的中文支持有cce zhcon和最新的fbterm xff0c cce和zhcon已经停止更新维护 xff0c 只有fbterm目前在不断开发更新中 xff0c 而且在我的系统上一运行zhcon就死机 xff0c 所以fbter
  • 苹果电脑桌面文件不见了怎么恢复

    苹果电脑桌面文件不见了怎么恢复 xff1f 不少使用苹果电脑的用户都会遇到这样一个问题 xff0c 就是自己存放在桌面上的文件突然都不见了 xff0c 怎么也找不到 xff0c 导致无法打开各种文件 xff0c 那么苹果电脑桌面文件不见了怎
  • H5资源本地化策略 - iOS

    一 资源拦截 映射 为了增强用户浏览H5页面的体验 xff0c 减少页面白屏时间 xff0c 实现 js css image 等资源文件 xff0c 以及页面html文件的本地映射 xff08 非首次打开wkwebview本身有302缓存机
  • IOS WKWebView与Cookie问题梳理

    1 WK 脚本注入Cookies信息 代码示例 Ajax iframe请求配置cookies WKWebViewConfiguration configuration if configuration configuration 61 WK
  • 如何在iOS应用中更好的调试H5页面

    前言 在APP中 xff0c H5页面可以通过加载vConsole脚本 xff0c 来查看页面的日志 异常 网络加载 设备信息 储存信息 元素 但是 xff0c JS脚本加载于页面Dom挂载之后 xff0c 这样就会使得这一区间的信息丢失
  • 10-17 查询没有选修‘C语言‘课程的学生(MSSQL)

    分数 10 全屏浏览题目 切换布局 作者 张庆 单位 集美大学 本题目要求编写SQL语句 xff0c 检索出没有选修 39 C语言 39 课程的学生记录 xff0c 输出结果集按照学号升序排序 提示 xff1a MSSQLServer 评测
  • xcworkspace结合cocoapods的应用说明

    一 主工程Project 1 xff09 创建 App Project 2 xff09 添加CocoaPods的 Podfile 文件 source 39 https github com CocoaPods Specs git 39 pl
  • 基于OC端的Bridge-API组件化应用

    前言 在移动应用开发中 xff0c 组件化可以提高代码的模块化和重用性 xff0c 降低耦合度 当下大部分APP都至少包含一到两种Hybrid框架 xff0c H5基本是必要的 xff0c 还可能叠加React Natvie Weex或Fl
  • IOS内存管理

    一 堆与栈 1 栈区 stack xff1a 由编译器自动分配释放 xff0c 函数的参数值 xff0c 局部变量等值 2 堆区 heap xff1a 一般由开发人员分配释放 xff0c 若不释放 xff0c 则可能会引起内存泄漏 NSSt
  • TestFlight应用

    一 内部测试与外部测试的区别 内部测试只能添加100名成员不需要beta审核 xff08 beta审核 xff1a 通过审核未发布上线 xff09 xff0c 外部测试能添加10000名成员需要beta审核 二 内部测试构建 1 在App
  • 通用链接-Universal Link

    前言 通用链接与URL Scheme的用途类似 xff0c 主要是实现从外部唤醒App xff0c 并执行某些操作 xff08 如 xff1a 打开指定页面 xff09 由于使用URL Scheme xff08 wechat path qu
  • CocoaPods - podspec私有库配置

    工程引用 Podfile中添加以下cocoaPods指令 xff0c 在终端输入pod install 构建 source 39 https github com zhengmiaokai Specs git 39 pod 39 JPUti
  • 【转】面向对象分析方法

    一 什么是OOA xff1f Object Oriented Analysis 面向对象分析方法 是在一个系统的开发过程中进行了系统业务调查以后 xff0c 按照面向对象的思想来分析问题 OOA与结构化分析有较大的区别 OOA所强调的是在系