• 步步为营UML建模系列总结


    转载自:http://www.cnblogs.com/springyangwc/archive/2012/01/16/2323723.html

    软件开发为什么需要UML

    (软件越来越复杂),开发人员仍然沿用25年前的方法来开发,这就是问题的根本所在 。--IvarJacobson 
    掌握软件开发的方法就能不断的复制成功。 
    你应该使用UML吗?一个字:是!旧的面向对象符号正在快速地消逝。它们还会残留在UML稳固前出版的书上面,但新的书、文章等等将会全部以UML作为符号。如果你正在使用旧的符号,你就应该在1998年间转换到UML。如果你正要开始使用建模符号,你就该直接学习UML。       --Martin Fowler, 1997  
    用UML进行软件开发是一个可以积累的软件开发的过程。可以防止知识和信息的流失。

    UML 建模的一般过程

      0.业务 
      1.需求 
      2.分析:结构 
      3.分析:行为 
      4.设计

    1

     

    面向对象模型

    面向对象方法支持三种基本的活动:识别对象和类,描述对象和类之间的关系,以及通过描述每个类的功能定义对象的行为。

    为了发现对象和类,开发人员要在系统需求和系统分析的文档中查找名词和名词短语,包括可感知的事物(汽车、压力、传感器);角色(司机、教师、客户);事件(着陆、中断、请求);互相作用(借贷、开会、交叉);人员;场所;组织;设备和地点。通过浏览使用系统的脚本发现重要的对象和其责任,是面向对象分析和设计过程初期重要的技术。

    当重要的对象被发现后,通过一组互相关联的模型详细表示类之间的关系和对象的行为,这些模型从四个不同的侧面表示了软件的体系结构:静态逻辑、动态逻辑、静态物理和动态物理。

    静态逻辑模型描述实例化(类成员关系)、关联、聚集(整体/部分)、和一般化(继承)等关系,这被称为对象模型。一般化关系表示属性和方法的继承关系。定义对象模型的图形符号体系通常是从用于数据建模的实体关系图导出的。对设计十分重要的约束,如基数(一对一、一对多、多对多),也在对象模型中表示。

    动态逻辑模型描述对象之间的互相作用。互相作用通过一组协同的对象、对象之间消息的有序序列、参与对象的可见性定义的途径来定义系统运行时的行为。Booch方法中的对象交互作用图被用来描述重要的互相作用,显示参与的对象和对象之间按时间序列的消息。可见性图用来描述互相作用中对象的可见性。对象的可见性定义了一个对象如何处于向它发送消息的方法的作用域之中。例如,它可以是方法的参数、局部变量、新的对象或当前执行方法的对象的部分。

    静态物理模型通过模块描述代码布局,动态物理模型描述软件的进程和线程体系结构。

    综上所述,面向对象方法用于系统开发有如下优点:

    (1)强调从现实世界中客观存在的事物(对象)出发来认识问题域和构造系统,使系统能更准确地反映问题域。

    (2)运用人类日常的思维方法和原则(体现于OO方法的抽象、分类、继承、封装、消息等基本原则)进行系统开发,有利于发挥人类的思维能力,有效控制系统复杂性。

    (3)对象的概念贯穿于开发全过程,使各个开发阶段的系统成分具有良好的对应关系,显著提高系统的开发效率与质量,并大大降低系统维护的难度。

    (4)对象概念的一致性,使参与系统开发的各类人员在开发的各所段具有共同语言,有效地改善了人员之间的交流和协作。

    (5)对象的相对稳定性和对易变因素隔离,增强了系统对环境的适应能力。

    (6)对象、类之间的继承关系和对象的相对独立性,对软件复用提供了强有力的支持。 

    作者:spring yang

    出处:http://www.cnblogs.com/springyangwc/ 

  • 相关阅读:
    django静态资源转移
    QT5 内置Multimedia开发音乐播放器
    Qt Creator 设置编码格式为 UTF-8
    QT 出错 moc_mainwindow.obj:-1: error: LNK2019: 无法解析的外部符号 " 中被引用...
    linux 安装node, 添加软链接,更改npm安装源
    django.template.exceptions.TemplateDoesNotExist: index.html
    centos下使用virtualenv建立python虚拟环境
    win7上 nginx 出现 403 Forbidden
    django安装xadmin中出现的报错汇总
    centos安装mysql57
  • 原文地址:https://www.cnblogs.com/colder/p/2381624.html
Copyright © 2020-2023  润新知