1. 类图
类: 用矩形表示,包含类名。
属性: 表示类的特性,位于类的顶部,通常包括名称和类型。
方法: 表示类的行为,位于类的底部,通常包括名称和参数列表。
关联关系: 表示两个类之间的关联,可以是双向的,用一条直线连接两个类,并标明关联类型和角色名称。
聚合关系: 表示一种"整体部分"的关系,用带空心菱形的直线表示。
组合关系: 表示一种更强的"整体部分"关系,用带实心菱形的直线表示。
泛化关系: 表示继承关系,用带空心三角形的直线表示。
2. 对象图:
对象: 用矩形表示,包含对象名和类名,可以展示系统中具体对象的状态。
优点:
直观表达对象关系: 对象图以图形方式直观地展示了系统中对象之间的关系,有助于理解和沟通设计概念。
具体而微观: 对象图强调特定时间点上对象的状态和相互作用,有助于在设计和实现阶段详细了解系统中的对象关系。
支持动态视图: 对象图可以用于捕捉系统在运行时的瞬时状态,因此有助于动态系统建模和分析。
缺点:
局限于特定时间点: 对象图关注的是特定时间点上的对象关系,而不是对象之间的动态变化过程。这使得它在描述系统动态行为方面相对不足。
可读性受限: 对象图可能变得复杂,尤其是当系统中有大量对象和复杂的关系时,可能难以阅读和理解。
不适用于所有阶段: 对象图主要用于详细设计和实现阶段,对于高层次的系统结构和概念阶段,其他类型的图可能更合适,如类图、用例图等。
不包含操作序列: 对象图通常不包括对象之间的操作序列,而是强调对象之间的关系。在需要强调操作顺序的情况下,时序图可能更合适。
3. 用例图:
用例: 用椭圆形表示,表示系统的功能或服务。
参与者: 用符号表示,表示与系统交互的外部实体。
关联关系: 用实线表示,表示用例与参与者之间的关系。、
优点:
用户需求可视化: 用例图以图形方式清晰地表达了用户和系统之间的交互,使得用户需求更容易理解和可视化。
系统功能概览: 用例图提供了对系统功能的高层次概览,有助于捕捉系统的主要功能和用例。
用户参与: 通过在用例图中引入参与者(Actor),可以清晰地表示系统与外部实体(用户、系统、设备等)的关系,有助于明确系统的外部界限。
需求分析: 用例图在需求分析阶段起到了关键作用,帮助团队理解和沟通系统的功能需求。
易于理解: 用例图相对简单,易于理解,对于非技术人员也具有较好的可读性。
缺点:
缺乏细节: 用例图主要关注系统的高层功能,对于详细的操作步骤、数据结构等细节提供的信息相对有限。
不涉及时序: 用例图没有展示系统内部的操作顺序和时序关系,这对于一些需要详细了解操作流程的场景可能不够。
不涉及数据: 用例图没有涉及系统中的数据结构和数据流,这些信息在某些情况下可能是关键的。
过于简化: 用例图可能过于简化,无法完整地表示系统的所有复杂性和交互关系。
不适用于所有系统: 对于某些类型的系统,尤其是涉及到复杂业务规则和处理流程的系统,用例图可能不足以提供足够的细节。
4. 时序图:
生命线: 用垂直虚线表示,表示对象在一段时间内的存在。
消息: 用箭头表示,表示对象之间的通信顺序。
激活: 用矩形表示,表示对象在某个时间点上的活动状态。
优点:
交互细节清晰: 时序图以时间序列的方式清晰地展示了对象之间的交互,包括消息传递和调用顺序,有助于理解系统的动态行为。
强调时序关系: 时序图特别强调对象之间的时序关系,对于需要关注操作执行顺序的场景非常有用。
系统行为可视化: 时序图有助于可视化系统中对象的活动和状态变化,提供了一种对系统行为的直观表示。
并发处理: 时序图能够清晰地表示系统中的并发处理,展示不同对象之间的并发执行情况。
与其他图表整合: 时序图可以与其他 UML 图表(如类图、用例图)结合使用,提供了更全面的系统建模。
缺点:
复杂度: 在系统较大或对象交互较复杂的情况下,时序图可能变得非常复杂,难以阅读和理解。
不适用于所有场景: 时序图主要关注对象之间的时序关系,对于一些不强调时序的系统或场景可能显得过于细节化。
过于详细: 时序图通常关注于对象之间的交互细节,可能在某些情况下提供了过多的信息,导致分析者难以抓住主要问题。
静态: 时序图主要捕捉特定时间点上的对象交互,对于描述长时间周期的系统行为可能不够。
维护成本: 由于时序图关注对象之间的详细交互,当系统发生变化时,时序图的更新可能会比较繁琐。
5. 协作图:
类似于时序图,但更注重对象之间的合作关系。
6. 状态图:
状态: 用圆角矩形表示,表示对象在某个时间点上的状态。
转移: 用箭头表示,表示状态之间的转换条件。
标签:总结,表示,对象,关系,系统,时序,用例,UML From: https://www.cnblogs.com/liucaizhi/p/17883393.html