一、什么是用例建模(Use Case Modeling)
1、用例(Use Case)
(1)概念:用例是软件工程或系统工程中对系统如何反应外界请求的描述,是一种通过用户的使用场景来获取需求的技术。
(2)作用:每个用例提供了一个或多个场景,该场景说明了系统是如何和最终用户或其它系统互动,也就是谁可以用系统做什么,从而获得一个明确的业务目标。
(3)注意点:编写用例时要避免使用技术术语,而应该用最终用户或者领域专家的语言。
(4)用例一般是由软件开发者和最终用户共同创作的。
2、用例建模的步骤
(1)确定参与者
参与者:存在于系统外部,与系统交互的人、硬件和其他系统
确定方法:回答下列问题
a.系统开发完成后,有哪些人会使用这些系统?
b.系统在使用过程中需要从哪些人或者系统中获得数据?
c.系统需要为哪些人或者系统提供数据?
d.系统与哪些系统具有关联性?
e.系统由谁进行维护和管理?
(2)确定用例
用例:考察每个参与者与系统的交互和需要系统提供的服务
通常规则:用例应该典型地描绘系统的某个功能从开始到结束的过程
确定方法:针对每一个参与者,回答下列问题
a.参与者为什么要使用这个系统?
b.参与者是否会在系统中创建、修改、删除、访问、存储数据?如果是,参与者是如何完成这些操作的?
c.参与者是否会将外部的某些事件通知给该系统?
d.系统是否会将内部的某些事件通知该参与者?
(3)识别参与者和用例之间的关系,绘制和检查用例图
(4)细化每个用例的用例规约
包括:简要说明、事件流、特殊需求、前置和后置条件
(5)用例模型检查
包括:功能需求的完备性、模型是否易于理解、是否存在不一致性、避免二义性语义
二、项目需求
1、工程实践题目:智能合约的工具调研
2、项目需求:对目前流行的智能合约领域的分析、测试、验证等相关工具或者框架展开调研,主要内容包括工具类型、可检测到的漏洞种类、工具开发语言、存在的不足及改进方法,选取其中两个工具进行完善,开发一个系统进行以上内容的整合。
三、用例图
1、系统用例
2、工具用例——以Slither为例