UMl总结——实现图

uml实现图:包括构件图和部署图。

构件图

含义:构件图提供系统物理视图,在一个非常高的层次上显示系统中的构件与构件之间的依赖关系。将系统中可

重用的模块封装为具有可替代性的物理单元,就是构件。它是一个系统或子系统中的封装单元,提供一个或多个接

口,是系统高层的可重用部件。构件作为系统中的一个物理实现单元,包括:软件代码(源码,二进制代码,可执行

文件,脚本,命令行等),带有身份标识并且有物理实体的文件(文档,数据库)。

表示:标准构件用左边有两个小矩形的大矩形表示,构件名在大矩形内部。构件有不同的类型用来显示一组组件之间的组织与依赖关系.从软件架构的角度来描述一个系统的主要功能,使用构件最重要的是复用.

要素:构件 接口 关系

构件:是系统中遵从同一组接口且提供其实现的物理的可替换的部分,每个构件能实现一定的功能,其他构件提供使用

接口,方便软件的复用.构件类型:源代码构件,二进制构件,可执行构件,数据文件或文档.

构件特点:1 构件是物理的 2 构件事可替换的 3 构件是系统的一部分 4构件遵从从一组接口并提供对一组接口的实现.


部署图:

含义:用来描述系统硬件的物理拓扑结构以及在此结构上执行的软件.部署图描述了一个系统运行时的硬件节

点,在这些节点上运行的软件构件将在何处物理运行以及它们将如何彼此通信的静态视图。部署图包括两种基本模型

元素:节点和节点间的连接。每个模型中,仅包含一个部署图。节点包括两种类型:处理器和设备。处理器指本身具

有计算能力且能执行各各软件的节点,如服务器。处理器具有处理能力,所以在描述处理器方面应当包含了处理器的

调度和进程。调度指在处理器处理其进程中为实现一定的目的而对共同使用的资源进行时间分配。设备指本身不具备

处理能力的节点,如打印机。连接用来表示两个节点之间的硬件连接。节点之间的连接用实线表示,实线上可加连接

名和构造型。

作用:通过部署图,我们可以清楚的明白系统相关软件应该安装在哪些物理设备上。

要素

节点:它代表一个运行时的计算资源(一台实体设备),例如一台计算机、一个工作站等其它设备。

连接:节点之间最常见的关系就是关联关系(用一跟实线表示),为了更好的表示两个节点之间的关系,

我们可以通过约束来进行描述。

如何绘制

1 确定所需要的节点和节点之间的连接关系。

2根据实现描述节点













### 使用 UML 进行在线选课系统的建模 #### 1. 在线选课系统概述 在线选课系统是一种典型的软件应用场景,其核心目标是实现学生、教师以及管理员之间的交互操作。为了更好地理解该系统的结构和行为,可以利用 **UML (Unified Modeling Language)** 来构建模型[^1]。 --- #### 2. 构造块的应用 UML 的三种基本构造块——**事物**、**关系** 和 **** 可以用来描述在线选课系统的各个方面: - **事物**: 表示系统中的主要组件,例如类(Class)、对象(Object)、用例(Use Case) 等。 - **关系**: 定义这些事物之间如何相互作用,常见的有依赖(Dependency)、关联(Association)、泛化(Generalization) 等。 - ****: 将上述元素组合成可视化的表形式,用于表达特定视角下的系统特性。 对于在线选课系统而言,可以通过以下几种常见类型的 UML 来展示不同层次的信息: --- #### 3. 主要使用的 UML 及其用途 ##### (1)用例 (Use Case Diagram) 用例展示了系统外部参与者(Actor)与系统功能之间的交互情况。以下是在线选课系统可能涉及的主要角色及对应的功能: - 学生(Student): 登录、查看课程列表、选择课程、取消已选课程等; - 教师(Teacher): 发布课程信息、管理学生成绩等; - 管理员(Administrator): 维护用户账户、审核课程申请等。 ```plaintext +-------------------+ | Student | +-------------------+ | login() v +-------------------+ | View Course List | +-------------------+ | selectCourse() v +-------------------+ | Confirm Selection | +-------------------+ ... and so on. ``` 此部分可以用形工具绘制完整的 Use Case Diagram. --- ##### (2)类 (Class Diagram) 类表示了系统内部的数据结构和逻辑关系。下面是一个简化版的类定义示例: ```java // 类定义示例 public class User { private String id; private String name; public void setId(String id){ this.id = id; } public String getId(){ return id; } public void setName(String name){ this.name = name;} public String getName() {return name;} } public class Student extends User{ private Set<Course> selectedCourses; public boolean addCourse(Course course){ if(selectedCourses.contains(course)){ System.out.println("Already Selected!"); return false; }else{ selectedCourses.add(course); return true; } } } ``` 在实际开发中,还需要考虑其他细节如异常处理机制等. --- ##### (3)序列 (Sequence Diagram) 序列描绘的是多个对象间的时间顺序上的消息传递过程。比如当一名学生尝试注册一门新课程时,可能会经历以下几个阶段的操作流程[^2]: 1. 用户界面(UI Component) 向控制器(Controller Object) 请求提交表单数据; 2. 控制器验证输入合法性并调用服务层(Service Layer Method),查询数据库确认是否有剩余名额可供分配; 3. 如果成功,则更新状态并将结果反馈给前端显示;否则返回错误提示信息通知失败原因。 --- ##### (4)活动 (Activity Diagram) 活动能够清晰地展现整个业务流执行路径。针对“学生选课”的典型场景可设计如下分支判断条件节点: - 判断当前学期是否开放报名权限? - 验证所选项是否存在冲突时间安排? - 记录最终决策动作至持久存储介质当中保存历史记录以便后续追踪审计之需等等[^3]. --- #### 4. 总结说明 综上所述,借助于多种视角度相结合的方式可以帮助我们更全面深入地理解和规划复杂信息系统建设工作。每一种 UML 都有各自擅长表现的内容领域,在具体实践中应灵活选用适合当下需求的最佳方案加以运用实施[^1]. ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值