zoukankan      html  css  js  c++  java
  • UML简介(原创)

    臭鸡蛋什么的等下再扔,UML是个很大的主题,轮不到我来做什么总结,只是谈谈我的观点

    软件工程领域在1995年至1997年取得了前所未有的进展,其成果超过软件工程领域过去15年来的成就总和。其中最重要的、具有划时代重大意义的成果之一就是统一建模语言(UML:Unified Modeling Language)的出现。(书上说的)

    它对软件工业产生和将要产生什么样的影响呢?

    1. 规范化了软件设计规则
      我始终认为,软件工业是与传统工业具有共同特征的工业,注意:仅仅是工业而已,并不是像一些人叫嚣的“软件设计是科学”、“软件设计是艺术”。软件——就是设计来满足某种特定需要的工业产品,从这个角度来看,软件与录音机、水杯子并没有什么区别。
      那究竟是什么让软件工业、软件工程如此之难又如此具有魅力呢?关键是软件设计的创造性和复杂性。我们仍然热衷于软件工程和软件设计的探索,很大程度上是因为它的复杂性和不确定性。换句话说,由于软件工业发展时间短、本身的逻辑体系比较复杂,以致于到目前为止,还没有任何人或者任何技术能够完整的归纳软件设计的体系。举个例子,大家有没有想过在化工领域,几十年以前,人们对分子结构、分子式表达都没有概念时,化学工业是个什么样子呢?不确定、依靠大量实验总结规律、复杂,难以解释的现象一定不比现在的软件工业问题少。
      所以说,UML是软件工业的一项革命性的探索和尝试,它的设计理念并不新鲜,无非就是分子式之于化工、机械制图于机械设计制造。它给软件工业带来的,是一门共同语言,形成基本的可相互理解的语言平台。
    2. 使得团队间沟通更加顺畅
      软件团队最主要的工作和问题是什么?相信不论是老教授、软件个体户还是上百人的大开发团队都有一个共识——交流。然而在过往的经历中,我们付出了太多的沟通代价,许多简单的问题,却要花费大量的精力来沟通以达成一致。
      UML的出现,使得很多复杂设计可以用快速的图示方法表现出来,形成可以“观赏”的设计图稿。要知道,人对于具象影像的理解和记忆能力,要远远大于抽象的文字符号和语义。
    3. 加快了设计模式、最佳实践的推广和普及
      软件开发,代码重用是基本,也是每个程序员都必须掌握的技能,那软件设计呢?概念重用,最大限度的重用现有设计概念,也会大大简化和加快设计的进度。Design Pattern大家都听说过了吧,大量的设计模式和最佳实践可以被反复重用,极大的提高设计的质量和效率。
      如果没有UML,
      首先,Pattern是什么,恐怕就会难到一大片设计员了。记得第一次看Design Pattern的时候,一个字——晕,很多概念非常难以理解(天资鲁顿,又没文化:(),UML表现的Pattern,相对就简单多了,也更容易为软件设计人员所接受了。
      其次,任何时候,设计师只要想利用原有模式或者创造新的模式,只需要简单的勾划UML草图,这较之伪代码要高效的多了。其他参与人员也非常容易利用UML设计图纸,理解设计师的概念。
      另外,XP软件工程所倡导的Refactor(重构),需要对设计进行经常性的迭代式更新,UML的设计图纸会使得这类设计变更更加容易实现。
    4. 提高了软件的设计质量
      有了这样的统一设计工具之后,才能够真正谈得上设计软件,否则,恐怕只能叫做“编”软件,编到哪里就算哪里,谁也不知道软件最终是个啥样。
      结合XP工程的Test Driven(测试驱动)模式,在软件设计阶段就结合需求,设计软件的测试用例代码。这是对测试的深刻理解,是降低测试代价最佳方案,当然,也是最终软件产品的强有力的保障。
  • 相关阅读:
    Linux下一些命令
    Javascript实现Base64解码
    C语言中指针和数组的区别
    hdu 1166 线段树 解法 484MS
    fatjar: eclipse导出工具
    每天一道面试题(1)~~~
    windows Emacs的安装与配置
    编程者入门:谈Servlet/JSP的配置详解
    RMQ谈:Range Minimum/Maximum Query 区间最小/大值查询 ST优化
    Lisp in a box 装配指南
  • 原文地址:https://www.cnblogs.com/nianshi/p/681565.html
Copyright © 2011-2022 走看看