一、什么是用例建模(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的更多相关文章

  1. 用例建模 Use Case Modeling

    用例建模 以您的工程实践项目为例,在理解项目需求的基础上进行用例建模,抽取Abstract use case,画出用例图,并确定每一个用例的范围High level use case,对关键用例进一步 ...

  2. 用例建模Use Case Modeling

    我的工程实践选题为ESP32低功耗的实现,本项目基于ESP32嵌入式开发平台. 以此题为例,在理解项目需求的基础上进行用例建模,抽取Abstract use case,画出用例图,并确定每一个用例的范 ...

  3. 用例建模Use Case Modeling——传感器智能分析引擎

    系统用例分析 我的工程实践小组做的课题主要是实现传感器数据采集平台的设计与开发.该搜索引擎完成对传感器数据的采集和发布,企业可以在平台上上传自己的传感器数据信息,同时也能够浏览市面上其他传感器信息,以 ...

  4. Go 在游戏行业中的工程实践

    在今年 1 月由七牛云主办的 ECUG Con 十周年盛会上,真有趣技术总监陈明达带来了题为< Go 在游戏行业中的工程实践>的精彩分享,深入讲解了 Go 的工程经验,错误和异常处理,in ...

  5. android 实践项目 总结 (修改)

    Android手机定位与地图实现 在一个不熟悉的环境中,获得自己的位置,选择合适的就餐地点,住宿和公交路线成为一项难题.本次的实践项目就是为了解决上述难题的,通过调用百度地图的接口实现定位.查询公交路 ...

  6. Android 实践项目开发 总结

      Android 实践项目开发 总结 课程:移动平台应用开发实践  班级:201592  姓名:杨凤  学号:20159213 成绩:___________       指导老师:娄嘉鹏       ...

  7. webpack 从入门到工程实践

    from:https://www.jianshu.com/p/9349c30a6b3e?utm_campaign=maleskine&utm_content=note&utm_medi ...

  8. 再学UML-UML用例建模解析(一)

    UML(统一建模语言)是当前软件开发中使用最为广泛的建模技术之一,通过使用UML可以构造软件系统的需求模型(用例模型).静态模型.动态模型和架构模型.UML通过图形和文字符号来描述一个系统,它是绘制软 ...

  9. 深入理解 ProtoBuf 原理与工程实践(概述)

    ProtoBuf 作为一种跨平台.语言无关.可扩展的序列化结构数据的方法,已广泛应用于网络数据交换及存储.随着互联网的发展,系统的异构性会愈发突出,跨语言的需求会愈加明显,同时 gRPC 也大有取代R ...

随机推荐

  1. Python学习笔记整理总结【Memcache & Redis(基础+主从架构)】

    一.Memcached1.简介Memcached 是一个高性能的分布式内存对象缓存系统,一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度.提高可扩展性.用来存储 ...

  2. 23种设计模式之观察者模式(Observer Pattern)

    观察者模式(Observer Pattern):定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主体对象,这个主题对象在状态发生变化时,会通知所有观察者.当一个对象改变需要同时改变其他对象, ...

  3. 12.Django基础十之Form和ModelForm组件

    一 Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户 ...

  4. 使用.net core3.0 正式版创建Winform程序

    前阵子一直期待.net core3.0正式版本的出来,以为这个版本出来,Winform程序又迎来一次新生了,不过9.23日出来的马上下载更新VS,创建新的.net core Winform项目,发现并 ...

  5. Python基础(十四)

    今日主要内容 装饰器扩展 有参装饰器 多个装饰器装饰一个函数 递归 一.装饰器扩展 (一)含有参数的装饰器 先来回顾一下装饰器的标准模式 def wrapper(fn): def inner(*arg ...

  6. Linux下查看版本信息

    Linux下如何查看版本信息, 包括位数.版本信息以及CPU内核信息.CPU具体型号等.   1.# uname -a   (Linux查看版本当前操作系统内核信息)   2.# cat /proc/ ...

  7. CentOS 安装lsof命令

    1.在控制台上输入:# yum install lsof,安装过程中按y进行确认 2.使用lsof -i :port 可以产看端口的进程信息

  8. JQuery 数组按指定长度分组

    JQuery方法 // 将data每3个一组进行分组 var data = ['法国','澳大利亚','智利','新西兰','西班牙','加拿大','阿根廷','美国','0','国产','波多黎各' ...

  9. Python基础(十六)

    今日主要内容 内置模块(标准库) 序列化 hashlib collections 软件开发规范 一.内置模块(标准库) (一)序列化模块 什么是序列化? 将一种数据结构(如列表.字典)转换为另一种特殊 ...

  10. spring boot使用vue+vue-router构建单页面应用

    spring boot http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/ vue https: ...