【新版】系统架构设计师 - 知识点 - 面向对象开发方法

在这里插入图片描述

个人总结,仅供参考,欢迎加好友一起讨论

文章目录

  • 架构 - 知识点 - 面向对象开发方法
  • 面向对象开发方法
    • 面向对象的分析
      • 需求模型
      • 分析模型
    • 面向对象的设计
  • 用例模型关系、UML事务关系、类的关系

架构 - 知识点 - 面向对象开发方法

面向对象开发方法

  • 分析阶段

    工具:用例图、类图、包图

  • 设计阶段

    工具:序列图(时序图、顺序图)、协作图(通信图)、状态图、活动图、程序流程图、

    系统流程图

    设计原则:单一职责、开放-封闭、里式替换、依赖倒置、接口隔离、组合重用、迪米特原

    设计模式:单例、抽象工厂、原型、建造者、工厂方法、外观、桥接、组合、享元、代理、

    适配器、装饰器、策略、模板方法、观察者、迭代器、责任链、命令、备忘录、状态机、

    访问者、中介者、解释器

  • 相关工作模型

    喷泉模型

面向对象的分析

面向对象分析工作的两大核心建模(或者叫工作成果):需求模型和分析模型

OOA大致上遵循如下5个基本步骤:

  1. 确定对象和类。这里所说的对象是对数据及其处理方式的抽象,它反映了系统保存和处理现实世界中某些事物的信息的能力。类是多个对象的共同属性和方法集合的描述,它包括如何在一个类中建立一个新对象的描述。
  2. 确定结构。结构是指问题域的复杂性和连接关系。类成员结构反映了泛化-特化关系,整体-部分结构反映整体和局部之间的关系。
  3. 确定主题。主题是指事物的总体概貌和总体分析模型。
  4. 确定属性。属性就是数据元素,可用来描述对象或分类结构的实例,可在图中给出,并在对象的存储中指定。
  5. 确定方法。方法是在收到消息后必须进行的一些处理方法:方法要在图中定义,并在对象的存储中指定。对于每个对象和结构来说,那些用来增加、修改、删除和选择的方法本身都是隐含的(虽然它们是要在对象的存储中定义的,但并不在图上给出),而有些则是显示的。

需求模型

需求模型:用例图建立,属于需求工作成果,为分析工作提供依据,利用用例及用例图表示需求。

构建用例模型的4个阶段:

  • 识别参与者
  • 合并需求获得用例
  • 细化用例描述
  • 调整用例模型(第4阶段,选择性阶段)

分析模型

分析模型:用类图建立,属于分析工作成果,利用包图及类图表示目标软件系统的总体框架结构。

建立分析模型的过程:

  • 定义概念类

    阅读和理解需求文档或用例描述

    筛选出名词或名词短语,建立初始类清单(候选类)

    将候选类分成三类,分别是显而易见的类、明显无意义的类和不确定类别的类

    舍弃明显无意义的类

    讨论不确定类别的类,直到将它们都合并或调整到其他两个类别,并进行相应的操作

  • 确定类之间的关系

    对确定的类进行理清这些类之间的关系,类之间的主要关系有关联、依赖、泛化、聚合、组合和实现等

  • 为类添加职责

    类的职责包括两个方面的内容,一个是类所维护的知识,即成员变量或属性;另一个是类能够执行的行为,即成员方法或责任

  • 建立交互图等

    多个对象的行为通常采用对象交互来表示,可以使用uml的顺序图、活动图、通信图等

面向对象的设计

面向对象的设计过程可以分为:

1 设计用例实现方案

UML的交互图(顺序图、协作图)适于用例实现方案的表示。该设计方法包含如下三个步骤:

(1)提取边界类、实体类和控制类

(2)构造交互图。UML交互图,以交互图作为用例的精确实现方案

(3)根据交互图精化类图

在UML交互图中,对每个类的对象都规定了它必须响应的消息以及类的对象之间的消息传递通道。

2 设计技术支撑方案

在许多软件项目中,应用功能往往都需要一组技术支撑机制为其提供服务。例如,数据持久存储服务、

安全控制服务、分布式事务管理服务、并发与同步控制服务和可靠消息服务等

3 设计用户界面

4 精化设计模型

之前的设计模型可能是粗粒度的,这一步对设计模型进行更加详细的设计。比如某些核心算法、处理过

程,使用程序流程图、系统流程图来进一步说明

用例模型关系、UML事务关系、类的关系

用例模型关系:

包含关系,扩展关系,泛化关系

UML事务关系:

依赖关系,关联关系,泛化关系,实现关系

类的关系:

依赖关系,关联关系,组合关系,聚合关系,泛化关系,实现关系

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/616734.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

嵌入式实时操作系统的调度机制与优化

大家好,今天给大家介绍嵌入式实时操作系统的调度机制与优化,文章末尾附有分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!可进群免费领取。 嵌入式实时操作系统的调度机制与优化 一、引言 嵌入式实…

SpringBoot3整合Mybatis plus

Java版本:17 Spring Boot版本:3.1.10 Mybatis plus版本:3.5.5 源码地址:Gitee仓库 01 创建我们的项目工程 首先,我们创建一个maven工程spring-boot3-demo,pom文件配置如下。 这里我们将spring-boot-start…

【C Hash Map from Redis】

将Redis源码中的哈希表底层逻辑提取,并进行最小demo级测试将对应文件抽出,通过宏替换等方式保证源码编译通过main.c编写测试demo ,注册哈希函数和值比较函数(必选项) /* Hash Tables Implementation.** This file imp…

2024/4/11 直流电机调速/PWM

一、直流电机简介和PWM原理 直流电机是一种将电能转换为机械能的装置。一般的直流电机有两个电极,当电极正接时,电机正转,当电极反接时,电机反转 直流电机主要由永磁体(定子)、线圈(转子&…

VulNyx - Ready

目录 信息收集 arp nmap nikto Redis未授权访问漏洞 漏洞扫描 redis-cli 写入公钥 ssh连接 get root.txt 信息收集 arp ┌─[rootparrot]─[~/vulnyx] └──╼ #arp-scan -l Interface: enp0s3, type: EN10MB, MAC: 08:00:27:16:3d:f8, IPv4: 192.168.9.102 Starti…

Docker快速上手及常用命令速查

Docker快速上手 安装 在ubuntu上安装docker: sudo apt-get install docker docker -v #查看版本在centos7上安装docker:(docker在YUM源的Extras仓库中) yum install docker systemctl start dockerdocker常用命令速查 #查看docker信息 docker info #查看本地镜…

JavaScript中的Blob、Buffer、ArrayBuffer和TypedArray详解

文章的更新路线:JavaScript基础知识-Vue2基础知识-Vue3基础知识-TypeScript基础知识-网络基础知识-浏览器基础知识-项目优化知识-项目实战经验-前端温习题(HTML基础知识和CSS基础知识已经更新完毕) 正文 摘要:本文详细介绍了JavaS…

Linux安装和管理程序

1. Linux 软件包封装类型: (1)RPM/DEB软件包: REHL、CentOS、OpenSUSE等系列系统支持 Ubuntu、Debian等系列系统支持 软件包名称格式XXX.rpmXXX.deb管理命令rpm yumdpkg apt-get (2)源代码软件包&…

【MYSQL管理工具】数据库备份和恢复

🔥作者主页:小林同学的学习笔录 🔥mysql专栏:小林同学的专栏 目录 1.MYSQL管理 1.1 系统数据库 1.2 常用工具 1.2.1 mysql 1.2.2 mysqladmin 1.2.3 mysqlbinlog 1.2.4 mysqlshow 1.2.5 mysqldump 1.2.6 mysqlimport/sour…

分类预测 | Matlab实现RIME-LSSVM霜冰算法优化最小二乘支持向量机数据分类预测

分类预测 | Matlab实现RIME-LSSVM霜冰算法优化最小二乘支持向量机数据分类预测 目录 分类预测 | Matlab实现RIME-LSSVM霜冰算法优化最小二乘支持向量机数据分类预测分类效果基本介绍程序设计参考资料 分类效果 基本介绍 1.Matlab实现RIME-LSSVM霜冰算法优化最小二乘支持向量机数…

Vue 3 项目中如何使用 TypeScript 类型来优化 Vuex 的状态管理?

在 Vue 3 项目中,使用 TypeScript 可以极大地优化 Vuex 的状态管理,提供更强的类型检查和更好的开发体验。以下是一些使用 TypeScript 来优化 Vuex 状态管理的方法: 定义状态类型: 使用 TypeScript 的接口(Interfaces&…

redis的主从复制(docker方式快速入门和实战)

目录 一、主从复制简介 二、配置主从服务器 2.1使用配置文件的形式来主从复制 2.2使用纯代码的方式来进行主从复制; 2.3脱离主服务器 三、一些注意事项 一、主从复制简介 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器…