• 西电软件体系结构笔记CH3:软件体系结构建模和文档化


    CH3:软件体系结构建模和文档化

    1.UML

    1.1 Use Case

    用例图:理解系统功能需求的宝贵工具

    用于显示若干的角色与系统提供用例之间的关系,用例是系统的功能

    是系统的外部视图,没有与系统内部的类的交互

    image-20220615143233230

    1.2 Class Diagram

    类图:表示类class和类class之间的联系,对系统静态结构的描述

    image-20220615143618256

    1.3 Object Diagram

    对象图:是系统在某一个时间点的对象的快照,表示的是实例instance而不是类,所以也叫Instance diagram

    对象图展示对象之间的连接关系,显示连接在一起的对象的示例

    image-20220615143839305

    1.4 Package Diagram

    包图表示的是更高层次的单元:

    使用包图可以将相关元素纳入一个系统

    image-20220615143948091

    1.5 Sequence Diagram

    多个对象之间随着时间推移的交互关系

    image-20220615144346129

    序列图便于展示对象之间的协作。

    • 如果想要看一个use case中的多个对象的行为,那么使用序列图
    • 如果想看一个对象在多个use case中的行为,那么使用状态图
    • 如果想看多个对象在多个线程中的行为,那么使用活动图

    1.6 Communication Diagram

    协作图(通信图):描述对象之间的动态协作

    image-20220615144755184

    协作图(通信图)是一种交互图,强调的是发送和接收消息的对象之间的组织结构。一 个协作图显示了一系列的对象及对象之间的联系以及对象间发送和接收的消息。

    • 强调时间:序列图
    • 强调上下级关系:协作图

    交互图 { 协作图、通信图:强调上下级关系 序列图:强调时间推移 交互图

    {" role="presentation" style="position: relative;">{
    交互图{协作图、通信图:强调上下级关系序列图:强调时间推移

    1.7 State Diagram

    描述类的对象所有可能的状态以及事件发生时的状态的转移条件。通常状态图是对类图的补充

    image-20220615145303126

    1.8 Activity Diagram

    满足用例要求所要进行的活动以及活动间的约束关系

    重点:支持并行行为parallel

    image-20220615151148930

    1.9 Component Diagram

    组件图:描述代码构件物理结构和各个构件之间的依赖关系

    image-20220615151414060

    1.10 Deployment Diagram

    软硬件的物理结构,硬件节点,软件视图。

    image-20220615151707964

    1.11 Composite Structures

    复合结构:分层地将类分解为内部结构

    image-20220615152418273

    1.12 Interaction Diagram

    交互概述图:活动图和序列图的结合

    image-20220615152755144

    1.13 Timing Diagram

    时序图:交互图的另一种形式,一般针对一个或者多个对象描述。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TqnyPtI7-1660183318746)(https://cdn.jsdelivr.net/gh/Holmes233666/blogImage@main/img/image-20220615153103421.png)]

    2. “4+1”视图

    逻辑视图:支持行为要求。关键抽象,对象或者对象类

    • 类图
    • 对象图
    • 状态图
    • 协作图

    过程视图:解决并发和分发

    • 活动图

    开发视图:组织软件

    • 包图
    • 组件图

    物理视图:其他元素映射到处理和通信结点

    • 部署图

    用例视图(场景):其他视图映射到重点的用例,帮助用户理解系统功能

    image-20220615160837510
  • 相关阅读:
    Python基于PC版微信实现机器人
    Spring Boot的魔法:构建高性能Java应用
    数巅科技联合长江计算打造AskBot企业智能问答一体机
    银行数仓项目实战(一)--什么是数据仓库
    Ruby 里表的增删改查
    【实战技能】单片机bootloader的CANFD,I2C,SPI和串口方式更新APP视频教程(2022-08-01)
    Rocket如何实现顺序消费
    python基于django学生成绩管理系统o8mkp
    STM32物联网项目-SPI FLASH编程
    Vue3 基础 – 快速上手 & 常用指令
  • 原文地址:https://blog.csdn.net/weixin_45745854/article/details/126279572