软件工程:用例图相关知识和多实例分析

目录

一、用例图相关知识

1. 基本介绍

2. 常用符号

二、用例图实例分析

1. 新闻管理系统

2. 医院病房监护系统

3. 实验上机安排系统

4. 远程网络教学系统


一、用例图相关知识

1. 基本介绍

用例图(use case diagram)是用户与系统交互的最简表示形式,展现了用户和与他相关的用例之间的关系。用例图描述人们如何使用一个系统,是外部参与者所能观察到的系统功能的模型图。

用例图呈现了一些参与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。

此外,用例图须辅以外部的文档描述,详细说明每个用例的前置条件,事件流,后置条件。用例的文档描述须严谨细致。

2. 常用符号

符号说明图例

参与者

(Actor)

指系统以外的、需要使用系统或与系统交互的事物。包括:人、设备、外部系统等。参与者是系统外部的一个实体,参与者只可能存在于边界之外,边界之内的所有人和事物都不是参与者。  

系统边界

(System Scope)

虚拟系统边界。表明我们要实现的软件系统,内含多个用例。

用例

(Use Case)

用例,代表系统提供的功能,是用例图中最重要的元素。一般情况下,须配合详细的用例描述,严谨细致地说明该用例的相关角色、前置条件、主时间流、后置条件、特殊处理情况等。
关系

关联关系

(Association)

用例和参与者之间是关联关系。每个用例都有参与者启动,每个用例必须和一个参与者关联,有一个参与者来参与(包含和扩展的用例除外)。

包含关系

(Include)

包含是一种依赖关系。两个以上用例有共同功能,可分解到单独用例,形成包含依赖。箭头方向由基本用例指向被包含用例,执行基本用例时,每次都必须调用被包含的用例。一个用例功能过多,可分解成小用例,构成包含依赖。

扩展关系

(Extend)

扩展是一种依赖关系,扩展用例为基用例添加新的行为,相当于为基础用例提供一个附加功能;箭头方向由扩展用例指向被扩展用例(即基本用例),扩展用例依赖于被扩展用例(基本用例),不是完整的独立用例,无法单独执行。不会有参与者指向扩展用例。

泛化关系

(Generalization)

代表一般与特殊的关系,与继承类似。由于Actor实际上是一个类,因此它们之间可以存在泛化关系。在泛化关系中,子用例继承了父用例的行为和含义,子用例也可以增加新的行为和含义或覆盖父用例中的行为和含义。

二、用例图实例分析

1. 新闻管理系统

某一新闻管理系统主要用来发布新闻,管理员只需要一个,登录后可以在后台发布新闻。任何人可以浏览新闻,浏览者可以注册成为系统会员,注册后可对新闻进行评论。管理员在后台可以对新闻、评论、注册会员进行管理,如修改、删除等。

2. 医院病房监护系统

现在有一个医院病房监护系统,用户提出的系统功能要求如下:
在医院病房监护系统中,病症监视器安置在每个病房,将病人的病症信号实时传送到中央监视系统进行分析处理。

在中心值班室里,值班护士使用中央监视系统对病员的情况进行监控,根据医生的要求随时打印病人的病情报告,系统会定期自动更新病历。
当病症出现异常时,系统会立即自动报警, 通知值班医生及时处理, 同时立即打印病人的病情报告,立即更新病历。

3. 实验上机安排系统

学校拟开发一套实验上机安排系统,可以帮助教师的安排上机。系统的主要功能有以下几个方面:
教师可提交课程实验项目,安排实验机房,查询实验安排结果,打印实验安排报表等。

学生可查询实验项目,查询课程实验安排等。

管理员可管理教师、学生、课程等基本信息,同时还能管理新闻公告、查询实验安排等。

所有用户均有修改密码,查看新闻公告等功能。

4. 远程网络教学系统

网络的普及带给了人们更多的学习途径,随之而来的管理远程网络教学的“远程网络教学系统”诞生了。“远程网络教学系统”的功能需求如下:
学生登录网站后,可以浏览课件、查找课件、下载课件、观看教学视频。
教师登录网站后,可以上传课件、上传教学视频、发布教学心得、查看教学心得、修改教学心得。
需要登录“远程网络教学系统”后才能正常使用该系统的所有功能。如果忘记密码,可与通过“找回密码”功能恢复密码。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/295744.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

关于“Python”的核心知识点整理大全63

目录 20.2.11 使用 Git 跟踪项目文件 1. 安装Git 2. 配置Git 3. 忽略文件 .gitignore 注意 4. 提交项目 20.2.12 推送到 Heroku 注意 20.2.13 在 Heroku 上建立数据库 20.2.14 改进 Heroku 部署 1. 在Heroku上创建超级用户 注意 注意 20.2.11 使用 Git 跟踪项目文件…

C语言编译器(C语言编程软件)完全攻略(第二十六部分:C-Free使用教程(使用C-Free编写C语言程序))

介绍常用C语言编译器的安装、配置和使用。 二十六、C-Free使用教程(使用C-Free编写C语言程序) 1、安装C-Free 5.0 C-Free 是一款国产的Windows下的C/C IDE,最新版本是 5.0,整个软件才 14M,非常轻巧,安装…

Spring见解2

3.基于注解的IOC配置 学习基于注解的IOC配置&#xff0c;大家脑海里首先得有一个认知&#xff0c;即注解配置和xml配置要实现的功能都是一样的&#xff0c;都是要降低程序间的耦合。只是配置的形式不一样。4 3.1.创建工程 3.1.1.pom.xml <?xml version"1.0" e…

python面试pytorch面试

python面试 python中啥类型是不可更改的&#xff0c;啥类型是可以更改的 为什么Python执行速度慢&#xff0c;我们如何改进它&#xff1f; 自己总结&#xff1a; 1c语言属于编译型语言&#xff1a; 它的代码经过编译后再运行&#xff0c;执行速度快&#xff1b;不能跨平台&am…

SpringIOC之support模块DelegatingMessageSource

博主介绍&#xff1a;✌全网粉丝5W&#xff0c;全栈开发工程师&#xff0c;从事多年软件开发&#xff0c;在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战&#xff0c;博主也曾写过优秀论文&#xff0c;查重率极低&#xff0c;在这方面有丰富的经验…

基于多反应堆的高并发服务器【C/C++/Reactor】(中)创建并初始化TcpServer实例 以及 启动

对于一个TcpServer来说&#xff0c;它的灵魂是什么&#xff1f;就是需要提供一个事件循环EventLop(EventLoop)&#xff0c;不停地去检测有没有客户端的连接到达&#xff0c;有没有客户端给服务器发送数据&#xff0c;描述的这些动作&#xff0c;反应堆模型能够胜任。当服务器和…

图像处理中的DCT变换

图像处理中的DCT变换 Discrete Cosine Transform&#xff0c;离散余弦变换。 来源及公式推导&#xff0c;可以查看下面链接&#xff0c;介绍的比较详细&#xff0c;这里就不再重复说明了&#xff1a; 详解离散余弦变换&#xff08;DCT&#xff09; - 知乎 (zhihu.com)DCT变换…

DS|图(连通与生成树)

题目一&#xff1a;DS图 -- 图的连通分量 题目描述&#xff1a; 输入无向图顶点信息和边信息&#xff0c;创建图的邻接矩阵存储结构&#xff0c;计算图的连通分量个数。 输入要求&#xff1a; 测试次数t 每组测试数据格式如下&#xff1a; 第一行&#xff1a;顶点数 顶点…

VsCode开发工具的入门及基本使用

大家好&#xff0c;我是[阿猫的故乡]。很高兴能有机会与大家分享关于VsCode开发工具的入门及基本使用的知识。 文章目录 文章目录 前言 一、VsCode是什么&#xff1f; 二、使用步骤 1.如何下载 2.如何使用 总结 前言 在开发者社区中&#xff0c;Visual Studio Code&#xff08…

IPv6路由协议---IPv6静态路由

IPv6路由协议 路由是数据通信网络中最基本的要素。路由信息就是知道报文发送的路径信息,路由的过程就是报文转发的过程。 根据路由目的地的不同,路由可划分: 1.网段路由:目的地为网段,IPv4地址子网掩码长度小于32位或IPv6地址前缀长度小于128位。 2.主机路由:目的地为主…

算法第十一天-递增顺序搜索树

递增顺序搜索树 题目要求 解题思路 1.二叉搜索树&#xff08;BST&#xff09; 2.任意两个不同节点 遇到二叉搜索树&#xff0c;立即想到这句话&#xff1a;[二叉搜索树&#xff08;BST&#xff09;的中序遍历是有序的]。这是解决所有二叉搜索树问题的关键。 要求BST的任意两…

小H靶场笔记:DC-4

DC-4 January 4, 2024 2:37 PM Tags: teehee提权 Owner&#xff1a;只惠摸鱼 信息收集 探测靶机ip&#xff0c;发现应该是192.168.199.134 扫一下开放端口&#xff08;22、80&#xff09;、服务、版本、漏洞 根据扫描结果&#xff0c;在80端口可能有CSRF漏洞&#xff0c;…

关于目标检测任务中,YOLO(txt格式)标注文件的可视化

1. 前言 本文是针对yolo标注格式txt文件的可视化脚本介绍 如果是VOC格式的xml文件&#xff0c;参考&#xff1a;关于目标检测任务中&#xff0c;XML(voc格式)标注文件的可视化 代码比较简单&#xff0c; 50行这样 。。。。 下面是代码的目录结构&#xff0c;1.jpeg 是数据…

Jenkins接口调用

Jenkins是好用&#xff0c;但是接口文档写的稀烂 1、授权&#xff0c;Jenkins不推荐使用创建单个任务时创建的token&#xff0c;推荐这个用户下的创建user token。 点击自己账号信息&#xff0c;即可创建token。 2、postman选择basic auth&#xff0c;输入账号密码&#xff0…

有网友希望我推荐几个创建产品手册工具,这不就来了!

上次我有说到&#xff0c;企业应该充分认识到产品手册的重要性&#xff0c;并采取有效的策略和措施来制作和传播高质量的产品手册&#xff0c;以提升品牌知名度和市场份额。后台有网友问我除了设计排版的那种产品手册工具&#xff0c;还有什么方式可以去做产品手册。今天就介绍…

力扣题:高精度运算-1.4

力扣题-1.4 [力扣刷题攻略] Re&#xff1a;从零开始的力扣刷题生活 力扣题1&#xff1a;306. 累加数 解题思想&#xff1a;首先先通过secondStart和secondEnd可以确定num1 num[0:secondStart],num2 num[secondStart:secondEnd]&#xff0c;然后遍历secondStart和secondEnd…

鸿蒙系列--动态共享包的依赖与使用

一、前言 HarmonyOS的共享包相当于Android的Library&#xff0c;在HarmonyOS中&#xff0c;给开发者提供了两种共享包&#xff0c;HAR&#xff08;Harmony Archive&#xff09;静态共享包&#xff0c;和HSP&#xff08;Harmony Shared Package&#xff09;动态共享包 区别&…

Android ValueAnimator属性动画ObjectAnimator使View颜色渐变,Kotlin

Android ValueAnimator属性动画ObjectAnimator使View颜色渐变&#xff0c;Kotlin 设置背景颜色渐变&#xff1a; private var iv: ImageView? nulloverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activit…

Baumer工业相机堡盟工业相机如何联合NEOAPI SDK和OpenCV实现相机图像转换为Mat图像格式(C#)

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK实现相机掉线自动重连&#xff08;C#&#xff09; Baumer工业相机Baumer工业相机的图像转换为OpenCV的Mat图像的技术背景在NEOAPI SDK里实现相机图像转换为Mat图像格式联合OpenCV实现相机图像转换为Mat图像格式测试演示图 工业相机…

macOS系统卡顿光标转圈圈

macOS系统卡顿转圈圈 可以试试以下方法&#xff0c;&#xff08;也可能是其他原因&#xff09;仅供参考&#xff0c;不好使别骂我 当电脑出现卡顿&#xff0c;可以尝试清理缓存目录 点击访达你的用户名字上的磁盘&#xff0c;点击系统 点击这个资源库&#xff0c;然后找到【…