UML——前两章

来源:互联网 发布:投诉淘宝客服人员电话 编辑:程序博客网 时间:2024/06/01 08:57

前言

   软件开发过程中,在生命周期中,我们大都知道要写文档,但是针对这种团队集体完成的事情,如果中间出现了人员流动问题,这时侯有文档仅仅是不够的。为了让大多数开发人员和用户能直观的了解软件开发的进度和流程就引入了UML(Unified Modeling Language)统一建模语言。

分析

横向:

   软件开发过程中,在整体状态可以划分为外部和内部两大部分,其中内部自认为可以分为动态行为和静态结构。其中每个开发部分都需要UML中图让开发过程尽最大的可视化。如下图:

            

纵向:

   初识UML,一开始就知道有九种图,但是九种图都是干什么的呢?九种图都应用在哪几个阶段呢?就像师父问我,各个阶段都有哪些文档知道吗?为什么要写文档?大致的划分了一下,如图:
               

基点

   UML是基于面向对象的一门语言,其中在面向对象的设计技术中,面对对象的基本原则是(区别于面向过程的显著的特点)抽象、封装、模块性、层次性。
1、面向对象和类有什么异同点:
对象和类:
   对象是具有状态、标识和行为的一个实物。
   类是一组具有相同属性、行为、关系和语义的对象的描述。
注:一个对象是一个类的实例。
2、什么是抽象?
   将真实的客观环境抽象成一个名词,比如下面一个购买商品应用情景:
                   
3、什么是封装?
   对客户隐藏实现,客户看到只是接口,对于里面的东西一概不知。比如遥控控制电视,我们都能控制电视,但是这种功能具体怎么实现的呢?我们一概不知。
4、什么是模块性?
   就是将我们的系统分为不同的功能模块,然后进行面向对象设计。对于一个购买东西的流程。可以如图:
                   
5、什么是层次性?
                 

关系

a、关联关系:“实线+箭头”
   这一种特别常用的关系,但是关系并不是很突出,为了让开发者对图一针见血,需要很强的关系来形容。如下图就是关联关系:
                     
b、聚合关系:“空心菱形+实线+箭头”
   聚合关系,部分可以独立于整体而存在。如下图:
                      
c、组合关系:“实心菱形+实线+箭头”
   部分不可以独立于整体而存在。如下图:
                      
d、泛化关系:“空三角+实线”
   泛化关系就是"is kind of"继承关系。
e、依赖关系:“虚线+箭头”
   一种使用关系,一个事物规格说明的变化可能影响到使用它的另一个事物,但反之未必。

总结

   至此,我们已经了解到了开发阶段的每个阶段需要什么UML图,UML图中的四大关系的应用和具体表示方法。在后面的学习中,开始我们对UML九大图中每个图的详细认识吧。未完待续~~~
   本人是一枚菜鸟,如果不合适的地方,望大神斧正!
                        若安好,便是晴!

   




 






0 1