针对工程实践项目的用例建模Use Case Modeling
一、什么是用例建模(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为例

针对工程实践项目的用例建模Use Case Modeling的更多相关文章
- 用例建模 Use Case Modeling
用例建模 以您的工程实践项目为例,在理解项目需求的基础上进行用例建模,抽取Abstract use case,画出用例图,并确定每一个用例的范围High level use case,对关键用例进一步 ...
- 用例建模Use Case Modeling
我的工程实践选题为ESP32低功耗的实现,本项目基于ESP32嵌入式开发平台. 以此题为例,在理解项目需求的基础上进行用例建模,抽取Abstract use case,画出用例图,并确定每一个用例的范 ...
- 用例建模Use Case Modeling——传感器智能分析引擎
系统用例分析 我的工程实践小组做的课题主要是实现传感器数据采集平台的设计与开发.该搜索引擎完成对传感器数据的采集和发布,企业可以在平台上上传自己的传感器数据信息,同时也能够浏览市面上其他传感器信息,以 ...
- Go 在游戏行业中的工程实践
在今年 1 月由七牛云主办的 ECUG Con 十周年盛会上,真有趣技术总监陈明达带来了题为< Go 在游戏行业中的工程实践>的精彩分享,深入讲解了 Go 的工程经验,错误和异常处理,in ...
- android 实践项目 总结 (修改)
Android手机定位与地图实现 在一个不熟悉的环境中,获得自己的位置,选择合适的就餐地点,住宿和公交路线成为一项难题.本次的实践项目就是为了解决上述难题的,通过调用百度地图的接口实现定位.查询公交路 ...
- Android 实践项目开发 总结
Android 实践项目开发 总结 课程:移动平台应用开发实践 班级:201592 姓名:杨凤 学号:20159213 成绩:___________ 指导老师:娄嘉鹏 ...
- webpack 从入门到工程实践
from:https://www.jianshu.com/p/9349c30a6b3e?utm_campaign=maleskine&utm_content=note&utm_medi ...
- 再学UML-UML用例建模解析(一)
UML(统一建模语言)是当前软件开发中使用最为广泛的建模技术之一,通过使用UML可以构造软件系统的需求模型(用例模型).静态模型.动态模型和架构模型.UML通过图形和文字符号来描述一个系统,它是绘制软 ...
- 深入理解 ProtoBuf 原理与工程实践(概述)
ProtoBuf 作为一种跨平台.语言无关.可扩展的序列化结构数据的方法,已广泛应用于网络数据交换及存储.随着互联网的发展,系统的异构性会愈发突出,跨语言的需求会愈加明显,同时 gRPC 也大有取代R ...
随机推荐
- @Data注解getset不起作用
在idea的setting安装Lombok插件,重启idea
- Python数据结构 - 利用headp模块寻找最大N个元素并实现优先队列
用headp找到最大最小的N个值 import heapq nums = [1, 8, 2, 23, 7, -4, 18, 23, 42, 37, 2] print(heapq.nlargest(3, ...
- Java 学习笔记之 线程interrupt方法
线程interrupt方法: interrupt方法是用来停止线程的,但是他的使用效果并不像for+break那样,马上就停止循环. 调用interrupt()其实仅仅是在当前线程中打了一个停止标记, ...
- sbt 学习笔记(1)sbt安装和交互式界面使用
下载sbt: http://www.scala-sbt.org/download.html 解压zip文件F:\sbt-0.13.15 配置环境变量 如果需要可以修改F:\sbt-0.13.15\sb ...
- 项目一:ssm超市订单管理系统
声明:项目参考于课程教材,学习使用,仅在此记录 项目介绍 ssm超市订单管理系统,功能模块有订单管理,供应商管理,用户管理,密码修改,退出系统,管理模块中包括基本的增删改查 集成工具使用idea,基于 ...
- SpringBoot第二十五篇:SpringBoot与AOP
作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/11457867.html 版权声明:本文为博主原创文章,转载请附上博文链接! 引言 作者在实际 ...
- go语言正则表达式
我们前两节课爬取珍爱网的时候,用到了很多正则表达式去匹配城市列表.城市.用户信息,其实除了正则表达式去匹配,还可以利用goquery和xpath第三方库匹配有用信息.而我利用了更优雅的正则表达式匹配. ...
- Mac安装Command Line Tools
从App Store上下载的Xcode,默认是不会安装Command Line Tools的,Command Line Tools是在Xcode中的一款工具,可以在命令行中运行C程序. 在终端中输入命 ...
- Python操作三大主流数据库☝☝☝
Python操作三大主流数据库☝☝☝ Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的数 ...
- PHP reset
1.函数的作用:重置数组内部指针,并返回第一个元素 2.函数的参数: @param array $array 3. 例子一: <?php $arr1 = []; $arr2 = [false, ...