• 敏捷软件开发 第十八章


    本章将薪水支付案例大致分析了一下,过程中还提到了一些注意事项,摘取一些进行记录

    1、不要过早地设计数据库

    将用户素材进行一些记录之后,我们首先想到的是,开始设计数据库,并且在这里关系型数据库比较合适,从需求中我们可以清楚地知道表和字段的可能样子。

    不过,如果一开始就着手设计数据库的话,数据库难免会成为我们的关注中心。

    而数据库是实现细节!

    我们应该尽可能地推迟数据库的设计,有太多的应用程序之所以和数据库绑定在一起而无法分离,就是因为一开始设计时就把数据库考虑在内了。

    抽象的定义是:本质部分的放大,无关紧要部分的去除

    在项目初始设计的阶段,数据库时无关紧要的,它只不过是一项用来存储和访问数据的技术而已。

    2、基于用例分析

    我们首先需要考虑的是系统的行为而不是数据。

    一种捕获、分析系统行为的方法就是创建用例(user case),用例和极限编程中的用户素材的概念非常详细,我们可以认为用例就是用稍多一点细节详细描述的用户素材。

    当我们将用户素材转换为具有详细细节的用例时,不应该陷入过多的细节,只要有助于考虑出实现每个素材的代码设计即可。

    在用例分析中,粗略的 UML 图、设计原则和设计模式都是非常有帮助的。

    3、找出潜在的抽象

    为了有效使用 OCP,我们必须要搜寻并找出隐藏于应用背后的抽象。

    通常情况下,应用的需求,甚至用例不会表述,甚至间接提及这些抽象。

    需求和用例太关注于细节以至于不能表达潜在抽象的一般性。

    要发现潜在的抽象,就要仔细地考虑需求,并且要能洞察出用户社团的误导。过度信赖工具和过程以及低估智力和经验都是灾难的源泉。

  • 相关阅读:
    row_number() over(partition by的用法
    java基础之--动态代理
    Java中主要有一下三种类加载器;
    HBase基本shell命令
    IntelliJ IDE 基础经验备案 四-查找快捷键
    Docker:5 扩展学习之安装mysql并且将数据挂载到本地磁盘
    Docker:4 扩展学习之修改docker容器配置
    nginx安装部署《简单版》
    Redis基础学习: 与外部交互的数据类型
    Redis基础学习: 内部数据结构
  • 原文地址:https://www.cnblogs.com/stone94/p/10665760.html
Copyright © 2020-2023  润新知