当前位置: 首页 > article >正文

软件工程--需求分析与用例模型

面向对象分析(ObjectOrientedAnalysis,简称OOA)

分析和理解问题域,找出描述问题域所需的类和对象,分析它们的内部构成和外部关系,建立独立于实现的OOA模型,暂时忽略与系统实现有关的问题。

主要使用UML中的以下几种图描述OOA模型:

  • 用例图
  • 类图
  • 活动图(或泳道图)
  • 时序图(或协作图)

用例模型:

概念

  • 用例图是显示一组用例、参与者以及它们之间关系的图
  • 用例图用来描述用户的需求,他从用户的角度描述系统的功能,并指出各功能的操作者,强调谁在使用系统,系统为参与者完成哪些功能。

■参与者actor(线条人)

  • DFD数据流图的外部实体=用例图的参与者(线条人)
  • 位于目标系统的外部,指用户在系统中扮演的角色,代表一类使用系统某个功能的人或事。

参与者有三大类:

  • 系统用户
  • 与建造的系统交互的其它系统

UML中的符号表示:

  • 参与者是人,用“小人图”
  • 参与者是某个系统时用“方框图”。


■用例(椭圆)
■用例间的关系(用例之间的线)
■系统(方框)--只圈系统功能(可以没有)
 

创建用例建模的步骤:

  • 确定系统的范围和边界
  • 确定系统的用例和参与者
  1. 识别参与者
  2. 识别用例
  • 用例说明
  • 确定用例之间的关系
  • 建立用例图并定义用例图的层次结构
  • 评审用例模型

如何识别参与者

  • 谁使用系统的功能?
  • 谁从系统获取信息?
  • 谁向系统提供信息?
  • 谁来负责维护和管理系统以保证其正常行?
  • 系统需要访问哪些外部硬件设备?
  • 系统需要与哪些其它软件系统进行交互?

PS.管理员的功能不能全部都连,只连管理

如何识别用例(usecase)

 找到参与者后,据此来确定系统的用例,主要考虑各个参与者需要系统为其提供什么样的服务(或功能)。

  • 参与者用系统完成什么任务?
  • 参与者是否会在系统中创建、修改、删除、访问、存储数据?若是,参与者又是如何完成这些操作的?
  • 参与者是否会将外部的某些事件通知给系统?
  • 系统是否会将内部的某些事件通知给参与者?

识别用例的要点

  1. 可观测一用例止于系统边界
  2. 由参与者观测一业务语言、用户观点
  3. 系统执行一用例是有意义的目标
  4. 结果值一结果值由系统生成
  5. 一组用例实例一用例的粒度

关系

角色和角色之间:泛化关系(继承):实线+箭头

三角空箭头

用例和用例之间的关系:包含关系

用例与用例之间的扩展关系:

表示只有在某些特定情况下用例2才会使用到用例1,此时用例1的事件流将被插入到用例2的事件流中。

期末考试题库

练习


http://www.kler.cn/news/362737.html

相关文章:

  • Unity 开发学习笔记(0):
  • 落实“双碳”行动,深兰科技推动分子能源技术在AI硬件产品领域的应用及产业化进程
  • Python网络通信:从基础到高级应用
  • 【C++篇】探索STL之美:熟悉使用String类
  • Redis提供了专门的命令来实现自增操作
  • 100种算法【Python版】第4篇——回溯法
  • Python包——Matplotlib
  • C++STL之list
  • 探索卷积层参数量与计算量
  • MySQL--基本介绍
  • HBuilder X 中Vue.js基础使用2(三)
  • 基于 Konva 实现Web PPT 编辑器(三)
  • qt生成uuid,转成int。ai回答亲测可以
  • 线性可分支持向量机的原理推导 9-32线性分类超平面的位置 公式解析
  • Dubbo接口解析
  • WordPress多站点子目录模式更换域名的教程方法
  • elementUI进度条el-progress不显示白色
  • 使用预测或实际LTV计算ROI
  • ubuntu22 安装labelimg制作自己的深度学习目标检测数据集
  • 微软大哥,全球第一(交易积累)
  • IDEA 如何导入NC65项目
  • 【贪心算法】(第十一篇)
  • Docker 基础入门
  • 将Django项目从PyCharm迁移到VSCode
  • Vue实现消息提示功能
  • Apache请求日志采集