- 用例图 Use Case Diagram
Use-Cases: A collection of user scenarios that describe the thread of usage of a system
主要包含涉及的角色,角色对应的行为,第三方参与部分
- 参与者:与系统交互的用户或其他软硬件系统,用小人形表示
- 用例:系统中执行的一系列动作,用椭圆表示。
- 关系参与者与用例、参与者之间、用例之间的联系。连线
- 边界:一组用例描述的系统或子系统,用矩形框表示。
example: SafeHome
Our research indicates that the market for home security systems is growing at a rate of 40% per year. We would like to enter this market by building a microprocessor-based home security system that would protect against and/or recognize a variety of undesirable situations such as illegal entry, fire, flooding, and others. The product will use appropriate sensors to detect each situation, can be programmed by the homeowner, and will automatically telephone a monitoring agency when a situation is detected.

我的理解是找到里面的人 (onwer, monitoring agency, 然后可以加个 administrator),物件 (sensor),中间的框是个系统,然后里面的椭圆写上对应的交互行为,连上线,感觉比较主观
- CRC Card
每个卡片应该包含:类名,类的描述信息,职责,合作类
example

- 类图 class diagram
主要的信息:类名,属性 (name: type),方法 (name (parameter): return type)
example


- 状态图 state diagram
节点:开始状态,结束状态,状态
边:行为
状态:圆角矩形 state name, state variables, state activities
转移:带有标记的箭头
初始状态:实心圆
终止状态:实心环
分支:菱形
example


- 时序图 sequence diagram
对象(参与者上面要画个人)、生命线(对象下面的虚线)、控制焦点、消息
![]()
实心箭头表示同步消息:一个对象向另一个对象发出同步消息后,将处于阻塞状态,一直等到另一个对象的回应(图里面的请求是同步的)
简单箭头表示异步
箭头的画法存疑
-
数据流图 data flow diagram
外部实体(数据的原点和终点):软件系统外部环境中的实体(包括人、组织或其他软件系统),用方框
加工 Process:对数据进行处理的单元,比如内部的 xx 系统,用圆角矩形或椭圆
数据存储:数据库,用右侧开口的矩形或者左右开口的矩形
数据流:箭头方向即数据流动方向,数据流名标在数据流线上面
看例子:
![]()
-
软件架构图 architecture
以前后端分离的系统为例(前端,后端,数据库)
![]()
三个大框分别是客户端、服务器、数据库层
里面小框,前端就是 Web app 和移动 app,后端就是各种系统,数据库就是各种数据库(表?) -
泳道图 Swimlane Diagram
跨职能流程图。旨在展示工作流中每个步骤涉及的流程和职能部门。在表示 use-case 的同时,描述对活动负责的 actor/analysis class
最上面放实体,然后分成一列一列,其他的和流程图一样
![]()



