大象Thinking in UML读书笔记☞ 第二章

2.1 建模

<1>.建模是什么:

            建模是对客观的事物按某个角度进行抽象用来表征这些事物从而了解事物的本身,同时把这些理解概念化。将这些逻辑概念组织起来,形成对所观察的对象本身的内部结

    构和工作原理的便于理解的表达。

           建模主要讲了两个东西:怎么建模? 模是什么?

<2>.怎么建模 && 模是什么:

           怎么建模:分析业务中都有哪些参与者,这些参与者的目标是什么。参与者的目标就是你的抽象角度

           模是什么:

           模就是对于 人 基于什么 规则 作用于 事 ,产生了什么 物 的抽象。

           问题领域 = 抽象角度的累加和

          抽象角度 = 问题领域边界之外的参与者的目标 = 业务用例

          业务用例 = 特定场景的累加和

          特定场景 = 静态的事物 + 特定的条件+ 特定的动作

2.2 用例驱动:

用例驱动包含下面四个视图:

<1> 逻辑视图:

        描述人、事、物、条件 之间的组织关系

<2> 进程视图 

        描述人、事、物、条件 之间是如何进行交互的

<3> 部署视图

        描述人、事、物、条件 之间是如何部署到物理节点上的

<4> 实施视图

        包含三点内容:

        ◆列举模型包含的所有子系统

        ◆描述子系统如何分层和层次结构构件

        ◆描述子系统的导入依赖图解

       应用于下面四个场景:

        ◆给个人、团队或分包商分配实施工作

        ◆确定程序修改代码量

        ◆考虑发不策略

        ◆阐明大规模复用的理由

        描述 人、事、物、条件如何构成系统的零部件,以及我们如何组织人力生产和组装这些"零部件"以构成最终系统 

2.3抽象层次

<1>关于抽象程度:

       抽象层次高,包含的信息少,概括性高,容易理解,实现或部署不容易。

       抽象层次低, 包含的信息多,概括性低,不容易理解,实现或部署容易。

<2>两种进行抽象分层的方法:

       关键点:如何确定抽象粒度大小

       自顶向下的分层: 好处是符合我们平时开发程序的逻辑,对过程进行精化

       自底向上的分层: 适用于在在实践中对过程进行改进,提高认知。

2.4 视图

<1> 视图用于组织UML元素,表达出模型的某一方面的含义。

        视角是指看待模型的角度,例如你看汽车外形时从前面看还是从后面看。

<2> 对于模型中的对象,应该从不同的视角来定义符合观看的人的需求的视图,例如将跨部门的流程的视图给某一个部门的职员看,非但要给他解释其他部门的东西且得不到           正确的建议

2.5 对象分析方法:

<1> 将业务中所有的东西都看做对象,哪怕是某某业务的流程

<2> 对象都是独立的:

        我们通过一个个业务场景来分析对象的特性,但对象相对于这些业务场景是独立的,业务场景中的只是这个对象在该纬度上的一个投影,显示了这个对象的一部分信息。

        我们是通过分析模型中该对象出现过的所有业务场景来理解这个对象并对其进行合适的抽象的。

<3> 对象是原子的:

        在同一层次应当将对象看做是原子的,无论在这个层次对象大到银行、医院还是小到车轮、铆钉,都不该对其内部进行探究,那样只会让分析变得混乱。

<4> 对象都是可抽象的:

       对象在不同的场景中,会展现对象的某一方面,这些事可以抽象出来的。

       对象参与的场景越多,对象就越具有抽象价值,这些具有高抽象价值的对象常常会决定系统的成败。

<5>对象具有层次性:

       对象的抽象层次越高,其描述的就越粗略,但适应能力就越广;对象的抽象层次越低,其描述的就越具体,但适应能力就越窄。分析时应依据问题的复杂度,设定多个抽象层次,在每个层次使用适合的抽象程度,从而降低分析的复杂性。



           

  • 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、付费专栏及课程。

余额充值