按图索骥---软件的设计图纸 序: 我一直以为,在软件设计中,各种图要比文档重要的多。图可以更加直接的反应软件的构造。尤其是在面向对象的软件设计中。图可以让我们直观的了解各个类和对象直接的交互和关系。 1、 用例图 定义:展示系统中参与者与用例之间的关系 我的理解 :用例图是根据需求分析得到的,也是软件设计中的第一张图纸。描述了软件系统的全部用户(角色)和全部功能点(业务需求),以及他们之间的关系。也是软件开发中最重要的一张图纸。 用例准则:用例描述了为参与者提供可测量的价值的一个动作顺序,如:提取资金,登记文件。 参与者准则:参与者是和系统进行一次或多次交互的某个角色,它可以是人,组织,进程或者外部系统,如:客户,学生,付款机 技巧:通过竖排用例,隐含表达用例之间的时间顺序。 用例名以意义明确的动词开头。 主要参与者放在图的左上角 图例: 2、 类图 定义:类图展示的系统中的类,类之间的相互关系,类的方法和属性。 理解:根据用例图,可以基本上设计出系统的类和他们的之间的关系。类图描述的就是类的静态结构 类关系: 关联:关联指的是类之间的特定的对应关系,在 UML 中拥戴实现的箭头表示。按照类之间的数量对比,关联可分为以下 3 种。 聚合:聚合指的是整体与部分之间的关系,在 UML 中用带实线的菱形箭头表示。例如台灯和灯泡之间就是聚集关系。当台灯类(ReadingLamp 类)由灯泡类(Bulb 类)和 Circuit 类聚集而成时,在 ReadingLamp 类中应该包含 Bulb 类和 Circuit 类型的成员变量。 聚集关系中,子系统允许被拆卸和替换。例如:电灯和灯泡 Bulb bulb1 = new Bulb(); //创建第一个灯泡 Bulb bulb2 = new Bulb(); //创建第二个灯泡 ReadingLamp lamp = new ReadingLamp(bulb1); //创建的时候使用第一个灯泡 lamp.setBulb(bulb2); //创建以后还可以换成第二个灯泡 组合:是关联关系的一种,是比聚集关系强的关联关系。它要求普通的聚合关系中代表的对象负责代表部分的对象的生命周期,合成关系是不能共享的。 合成关系中,子系统不允许被拆卸和替换。例如:Window s 的窗口和窗口上的菜单就是组合关系。生命周期一致指的是部分必须在组合创建的同时或者之后创建,在组合销毁之前或者同时销毁,部分的生命周期不会超出组合的生命周期。 依赖:依赖指的是类之间的调用关系,在 UML 中用带虚线的箭头表示。如果类A 访问...