zoukankan      html  css  js  c++  java
  • 伟大软件的简易3步骤

    好久没有更新了,不找原因和借口。博客还是要定时总结更新,下面是之前总结的读书内容,很早之前都编辑好了,一直躺在随笔中没有发布出来,发出来,激励自己,不断前进。。。

    关于OOAD:

    伟大软件的简易3步骤:

    1. 确认你的软件做客户要它做的事。
    2. 运用基本的OO原则来增加软件的灵活性
    3. 努力实现可维护、可重用的设计。

    关于需求:

    好的需求确保你的系统如客户预期的那样运作。

    确认需求涵盖了系统的所有用例。

    运用用例找出客户忘了告诉你的事。

    用例将揭露任何不完整、遗漏的需求,你可能需要将它们加到你的系统中。

    关于OO原则

    将变化之处封装起来

    对接口编程,而不是实现

    应用程序的每一个类只有一个理由改变

    类是关于行为与功能的。

    类应该允许为扩展而开放,禁止为修改而关闭(OCP)

    通过将共同之处抽取出来并置于单一地方来避免重复的程序代码(DRY)

    系统里的每一个对象都应该具有单一的职责,所有对象的服务都应该聚焦在实现该职责上(SRP)

    子类型必须能够替换其基类型(LSP)

    关于分析与设计:

    设计良好的软件容易改变和扩展

    使用封装与继承这样的基本OO原则来确保你的软件有灵活性。

    如果设计没有灵活性,就改变它!别与坏设计妥协,即使那是你自己的坏设计,要改就是要改。

    确保你的每一个类都具有内聚性

    每一个类都应该聚焦在把一件事情做得很好上。

    随着软件的设计生命周期的展开,要持续努力提高内聚性。

    解决大问题:

    聆听客户,找出他们要你构建什么

    用户客户理解的语言组合功能列表

    确认你的功能是客户真正想要的东西

    运用用例图(以及用例)创建系统的蓝图

    将大系统分解成许多较小的部分

    将设计模式运用到系统中较小的部分

    运用基本的OOAD原则为每一个较小的部分设计程序

    编程实践:

    契约式编程为你与软件用户同意遵守的软件行为建立一个共同的协议。

    防御性编程不信任其它软件,进行广泛的错误及数据检查以确保其它软件不会给你不良的或不安全的信息。

    开发方式:

    用例驱动开发在进行应用程序的任何其它事情之前先取出系统的单一用例,并且聚焦在实现整个用例的程序代码上,包括它所有的场景。

    功能驱动开发在进行应用程序的任何其它事情之前先把焦点放在单一功能上,并且为该功能的所有行为编码。

    测试驱动开发在为功能编码之前先为功能型片段编写测试场景,接着编写软件以通过所有测试。

    良好的软件开发通常在开发周期的不同阶段,结合所有这些开发模型。

    软件生命周期

    功能列表  用例图  分解问题  需求 领域分析         初步设计                     实现                               交付

    ------------------------------------------+----------------------------------------------------------------------+-〉

       1.确认你的软件做客户要它做的事         |2.运用基本的OO原则来增加软件的灵活性 | 3.努力实现可维护、可重用的设计

  • 相关阅读:
    php 本周的起始时间
    获取微信公众号素材模板id
    复活贴
    Net 4.0 Parallel 编程(四) Task(上)
    Windows Phone 实用开发技巧120合集(电子书+源代码)
    Net 4.0 Parallel 编程(九)Task中的数据共享(下)
    收藏别人的小类库
    将DLL程序集加入GAC后的一系列问题汇总,及解决方法
    Net 4.0 Parallel 编程(七)Task中的数据共享(上)
    内存做硬盘,开启readyboost加速,全面提升系统性能!
  • 原文地址:https://www.cnblogs.com/JerryTian/p/OOAD.html
Copyright © 2011-2022 走看看