《大象》读书笔记(1)

一、为什么需要UML

1)面向过程与面向对象

面向过程方法把世界看成一个相互联系的系统,无法满足复杂多变变化软件需求。

面向对象方法把世界看成一个个独立的对象,在外力的作用下相互联系。

问题:对象是怎么抽象出来的?什么样的对象组合是好的?该如何理解对象组合表达的含义?

2UML带来了什么

现实世界----业务模型----概念模型----设计模型

业务模型:人——参与者 事——用例(业务场景、用例场景) 物——业务对象模型

概念模型:边界类、实体类、控制类

RUP:统一过程

二、建模基础

建模:指通过对客观事物建立一种抽象的方法用以表征事物并获得对事物本身的理解,同时把这种理解概念化,将这些逻辑概念组织起来,构成一种对所观察的对象的内部结构的工作原理的便于理解的表达。

用例驱动:逻辑视图 进程视图 部署视图 实施视图

对象分析方法:一切都是对象 对象都是独立的 对象都具有原子性 对象都是可抽象的 对象都有层次性

三、UML核心元素

版型:UML元素基础定义的扩展,一个元模型有很多版型。

参与者: 位于边界之外(可以非人)

业务主角:与业务系统有交互的人和事物,具有完整的目标,位于边界之外

业务工人:与业务系统交互,完成业务主角的目标,位于边界之内

涉众:参与者是涉众的代表

用户:参与者的实例

用例:捕获现实世界需求

用例的特征:独立 执行结果可观测 必须由参与者发起 必然是动宾短语 一个用例是一个单元

用例的粒度是抽象层次决定的

业务用例:用于业务建模,描述客户现有业务

业务用例实现:业务用例的实现方式

概念用例:获取业务模型的关键概念和核心业务

系统用例:定义软件系统范围。

系统用例实现:系统用例的实现方式

边界:边界决定视界和抽象层次

业务实体:是类的版型,代表业务角色使用业务用例时处理的事物,具有属性和方法,是抽象视角的体现

包:为元素分类的容器

分包原则:高内聚 低耦合 依赖关系不传递且单向

包的版型:领域包 子系统 组织结构

分析类:获取系统的职责

边界类:用于内外交互

控制类:用于控制行为

实体类:对实体对象的建模

分析类的三高:高于设计实现 高于语言实现 高于实现方式

设计类:实现代码的映射,具有属性、方法、可见性

关系: 对象之间的联系

关联关系:互相引用,“知道”对方的存在

依赖关系

扩展关系:用例场景的分支,可选的行为

包含关系

实现关系:说明基本用例的实现方式

精化关系:基本用例的细化

泛化关系:对象之间的继承关系

聚合关系:表达整体由部分构成,不是强依赖的。

组合关系:表达整体由部分构成,是强依赖的

组件:实现特定功能,具备符合标准的接口

            完备性 独立性 逻辑性 透明性

组件的应用:分布式应用 应用集成 第三方系统 SOA服务

节点:软件、硬件的部署单元  应用环境:分布式 多设备

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值