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

目录

一、用例图相关知识

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. 远程网络教学系统

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

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

L1-084:拯救外星人

你的外星人朋友不认得地球上的加减乘除符号,但是会算阶乘 —— 正整数 N 的阶乘记为 “N!”,是从 1 到 N 的连乘积。所以当他不知道“57”等于多少时,如果你告诉他等于“12!”,他就写出了“479001600”这个答案。 本题就请你写程序…

条款35:考虑virtual函数以外的其它选择

1.前言 假设我们在写一个3D游戏软件,打算为游戏内的人物设计一个继承体系。游戏内容属于暴力砍杀类型,游戏中的角色被伤害或其它因素导致健康状态下降的情况是一个常见属性。因此设计一个成员函数healthValue,它会返回一个整数,表…

2024年天津体育学院专升本专业考试考生入场及考前须知

天津体育学院2024年高职升本科招生专业考试考生考前须知 一、考生入场及考试要求 1.考生于1月6日笔试考试当天,根据考试时间提前30分钟到达天津体育学院新校区东门,凭专业考试准考证、有效身份证原件,经查验合格后方可允许进入学校。 2.笔…

Linux 中 EXPORT_SYMBOL宏详解

Linux 中 EXPORT_SYMBOL宏详解 大家好,我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!在今天的文章中,我们将深入研究C/C编程中一个关键的宏——EXPORT_SYMBOL&…

PLC分段传送带控制示例

一、为了节约用电,将长长的传送带进行分段,哪断上有物品,哪断才运行 二、每一断末尾都有传感器,传感器能感受到物体有没有到传送带的末尾 三、这个传感器是接近开关 四、控制流程 五、IO地址分配 六、按下启动按钮后,…

问题 C: 活动选择

题目描述 学校在最近几天有n个活动,这些活动都需要使用学校的大礼堂,在同一时间,礼堂只能被一个活动使。由于有些活动时间上有冲突,学校办公室人员只好让一些活动放弃使用礼堂而使用其他教室。    现在给出n个活动使用礼堂的起…

Apache网页优化

本章主要介绍如何对Apache网页进行优化 Apache 网页压缩Apache 网页缓存Apache 隐藏版本信息Apache 网页防盗链 目录 1、网页压缩与缓存 1.1、网页压缩 (1)gzip介绍 (2)HTTP压缩的过程 (3)Apache的…

免费的GPT4来了,你还不知道吗?

程序员的公众号:源1024,获取更多资料,无加密无套路! 最近整理了一波电子书籍资料,包含《Effective Java中文版 第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》&…

在Linux写自己的第一个程序“hello Linux”

01.nano指令 我们在Windows中有很多的编译环境,大家应该都很熟悉,但是在Linux中,我们怎么写代码呢? 这里,我介绍一个非常简单的指令->nano 这个指令就类似于我们Windows中的记事本,使用方法也很简单 …

网络连接 UDP2,UDP Connect, bind, send, recieve认知, -入门8

LWIP编程接口有RAW, NETCONN, SOCKET 2.UDP函数的理解 #define UDP_SERVER_PORT 8000 //PC side #define UDP_CLIENT_PORT 1234 // ctrl board side //PC IP address #define DEST_IP_ADDR0 192 #define DEST_IP_ADDR1 168 #define DEST_IP_ADDR2 3 #define DEST_IP_ADDR3 11…

SRS服务器RTMP2WebRTC外网拉流配置

将前端服务开放到外网,并且在外网使用WebRTC拉流,要求全部使用同一端口。 外网地址:10.172.59.42(域名:test.com)外网端口为33333内网SRS服务器地址:192.168.5.177,内网端口为10090…

算法训练day60|单调栈part0

参考:代码随想录 84.柱状图中最大的矩形 要求当前柱形的左右两边第一个比他小的位置 对于高度为5的柱子(index为2) mid 他的左边第一个比他小的柱子为1,index为1 left 他的右边第一个比他小的柱子高度为2,index为4…

待做事项提醒 项目

GitHub - kesin/taskover: Taskover is a simple planlist tools to manage your task easily. app-version - APP 版本管理系统 源码地址:https://github.com/xtTech/app-version/ 考试答题:https://gitee.com/beautiful-life/exam 追风考试系统 vu…

【sed学习】sed -i和sed -i -e有什么区别

前言: 项目脚本有句sed -i $aPRODUCT_PACKAGES rtk_mdnsd device.mk sed -i -e $a/vendor/bin/ipv4lld u:object_r:ipv4lld_exec:s0 sepolicy/file_contexts不太清楚sed -i和sed -i -e有什么区别,学习一下 sed -i 和 sed -i -e 是用于编辑文件中匹配模式…

GB∕T 33171-2016 城市交通运行状况评价规范

免登陆免积分下载地址 标准号:GB/T 33171-2016 中文标准名称:城市交通运行状况评价规范 英文标准名称:Specification for urban traffic performance evaluation 中国标准分类号(CCS)R85 国际标准分类号(…

提前终止 Lambda forEach 的两种方法

在Java中,Lambda表达式提供了一种简便的方式来对集合进行迭代处理。然而,有时我们可能希望在特定条件下提前终止forEach的执行。这篇博客将介绍两种实现这一目标的方法。 方法一:使用异常 我们可以通过在Lambda表达式中抛出自定义异常的方式…

软件测试|SQL中的null值,该如何理解?

深入理解SQL中的Null值:处理缺失数据的重要概念 简介 Null值在SQL中是用于表示缺失或未知数据的特殊值。本文将深入探讨Null值的概念、处理方法和注意事项,以帮助读者更好地理解和处理SQL中的缺失数据。 在SQL数据库中,Null值是一种特殊的…

gitlab高级功能之Kubernetes Agent介绍

文章目录 1. 前置条件2. 简介3. GitLab Kubernetes Agent 的部署3.1 启用 Agent 服务端3.2 创建 Agent 配置和清单仓库 4. 安装agent4.1 连接k8s集群4.2 在集群中部署4.3 修改资源清淡,调整pod的副本数 5. 思考 1. 前置条件 gitlab 14.5 专业版k8s集群helm客户端工…

xadmin-plus

python之Xadmin-plus是什么? xadmin-plus: xadmin的django3.2版本支持。 Xadmin是一个非常优秀的Django Admin插件,可惜的是已经停止更新。Xadmin-plus对其进行了升级兼容。支持python3.10、Django3.2。 特性 Django Admin直接替换基于Twitter Boots…

uniapp存储讲解

在 Uni-app 中,你可以使用本地缓存来存储应用程序的数据。Uni-app 提供了两种本地缓存方式:uni.setStorageSync 和 uni.setStorage。其中,uni.setStorageSync 同步方式存储数据,适合小数据量的存储;而 uni.setStorage …