使用的ea环境:
适合用例建模的情况:
不适合:
非功能性需求(Robert Grady软件质量准则“FURPS”):
在系统之外,透过系统边界与系统进行有意义交互的任何事物
对参与者赋予能更好地表达其角色(作用)的名称,避免使用个人姓名。
同种类的用例之间可以进行通信。(例如下图中,经历可以参加雇员的所有用例)
没有实际意义的参与者,不允许访问任何用例(例如下图中的用户actor没有具体指向性)
用例实例是系统执行的一系列动作,这些动作将生成特定参与者可观测的结果值。
可观测性:用例止于系统边界,这意味着用例重点在于描述交互行为,而不显示内在的系统活动
结果值:用例必须是有意义的目标
系统执行:结果值由系统生成
使用的语言是相应场景条件下的业务语言(用户词汇),且应该站在用户的观点。
一组用例实例即为用例的粒度
需要注意的是下面两个问题:
步骤当用例(这样主要是会使得过于详细,不具有简洁性,在大型用例集合中选用优先级不高)
系统活动当用例(同上太详细了,不应该划分为用例,只用在用例对应的事件流中进行说明就行了)
对于用例粒度的理解最好把握一个原则:当前用例独立而完整。
下图中include“打印借书证”用例是一个正确的用法。
这是因为办证和补证本身互相独立,但他们都包含了“打印借书证”这一公共部分,此时将多个用例的公共部分细化为一个新的用例就比上面单一化列出某一用例的include用例要好,它能够进一步表明办证和补证的独立性,也从逻辑上说明了用例的完整性,比如只要打印借书证功能正常,补证可以不考虑办证的情况而正常办理。
用例图是框架,用例规约文档就是其内在的补充。
事件流一般是可观测的、体现客户利益的文字。
事件流有两种类型:
活动图能够直观清晰的分析用例,了解动作与动作之间的依赖关系。一张完整的活动图是所有用例的集成图。同时用例能对整个系统的工作过程加以区分。
包含关系(Include):基用例中复用被包含用例的行为;一般提取公共步骤,便于复用。
扩展关系(Extend):通过扩展用例对基用例增加附加的行为,表示功能被扩展。一般扩展发生在要处理某些特殊情况时。
泛化关系(Generalization):父与子的关系,派生用例继承泛化用例的行为并添加新行为。
是围绕用例的需求来组织的,一个开发周期要被指派一个到多个用例,如果完全版本的用例在一个开发周期中处理起来太复杂的话,那就采用简化版本的用例。
用例分类原则: 高级别用例——对系统核心体系影响最大的用例。
目的是为了让用例图能够更为清晰的表现出系统的业务逻辑关系和层次。对系统进行模块的分割。是为了应对庞大数量的用例。
常见的分包方式:
题目详情:
管理员通过学校网络课程管理系统,建立本学期要开设的各种课程,将课程信息发布到网上,并可以对课程进行改动和删除。
学生通过自己的计算机进入系统,可以浏览课程目录,查询课程详细信息,选择课程,网上支付课程费用。
管理员 | 学生 |
---|---|
建立课程 | 浏览课程目录 |
发布课程 | 查询课程信息 |
修改课程信息 | 选择课程 |
删除课程 | 网上付费 |
在这里紧以管理员“建立课程”这一用例为例——
文件——新建项目——(在弹出的提示框中给相应的EAP项目文件)命名
在跳出的“模型向导”中选择”use case“模板,(如果模型向导没有跳出来,可以点击项目浏览器栏中的第一个小图标):
然后我们可以看到在项目浏览器中出现了相应use case的模板(默认格式是两个包,一个是用户包,一个是基本事件流包,我们可以对默认包里的组件进行更改,也可以新建包弄自己的)
补充说明:
当前视图中“工具栏”可以通过点击视图上方的"<<"调出来(最好把当前项目浏览器——工具栏——视图界面工作界面进行保存,就不用每次开始都要重新调出来了。保存方法:窗口——保存工作区布局——命名——确定)
ea刚开始学的时候一定要自己多瞎点看看,大不了就点崩而已哈!
接下来我们先直接利用默认包分析一下当前案例:
emmmm解释一哈,当时写这个博客的时候也在写自己的uml作业叫某学校网上选课管理系统,导致我根目录的用例图名称起成“某学校网上选课系统”了,哭,但我真的懒得再截图了,将就一哈哈哈,反正其他内容没错,只是取名取错了…… 就当它叫“图书馆的图书借阅”吧
管理员:
借阅者:书目查询
在这个流程过程中涉及用例较多,所以我们可以采用包的形式对业务逻辑进行分层与控制。包图的相关知识可以看我以前的总结。
显然这个例子中我们使用nesting关系。
在根目录里的用例图“某学校网上管理系统”进行绘制,使用的package组件会自动生成子包放在当前的“Use Case Model”根下
然后我们进入对应的子包“借书证管理”中绘制用例图:
然后我们进入对应的子包“图书管理”中绘制用例图:
然后我们进入对应的子包“借阅管理”中绘制用例图:
这个时候我们再返回根目录的“某学校网上选课系统”就可以看到相应的包信息已经自动填充上去啦!
当然上述任何一张你画好的图你想保存的话,就先选中你要保存的图片所在,鼠标点击菜单栏中的图片——保存图到文件。
文章浏览阅读198次。本文主要整理Java的多线程机制、Java多线程的原理以及使用方法。线程的创建(基础)在Java中创建线程有两种方法:使用Thread类和使用Runnable接口。但在使用Runnable接口时需要建立一个Thread实例。所以无论是通过Thread类还是Runnable接口建立线程,都必须建立Thread类或它的子类的实例。Thread构造函数如下:public Thread();pu..._java 线程池 stepping
文章浏览阅读1.7k次。【matlab】【函数学习记录】寻找矩阵最大和次大极值点。_matlab如何求一个矩阵最大值和次大值
文章浏览阅读4.7k次,点赞2次,收藏5次。0x00 前言简述最近单位在做等保测评,由本人从事安全运维方面的工作(PS:曾经做过等保等方面的安全服务),所以自然而然的与信安的测评人员一起对接相关业务系统的检查,在做主机系统测评检查时发现了系统中某些配置不符合等保要求,需要对不满足要求的主机做进一步整改,好在我们众多的系统基本都是运行在虚拟机上搭建的kubernetes集群中,这样一来就可以尽可能减少加固系统给应用带来的影响,我们可以一台一台加固更新。在这样环境的驱动下不得不将通宵熬夜,我准备好了枸杞和保温杯,当然也把测试环境也准备了一套,并将以前_利用shell检查linux安全基线
文章浏览阅读835次。、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、rgb颜色空间灰度图像是一个特殊的彩色图像,r=g=b,如图所以,要将彩色图像转化为灰度图像,只需令每个像素的r=g=b=x即可.而x等于多少,视不同情况而定。补充:黑色 r=0 g=0 b=0白色 r=..._9a:e8:ec:54:a4:oc
文章浏览阅读1.4w次,点赞7次,收藏9次。重装centos7时,遇到见面卡死在[ok] started GNOME display manager此时按ctrl + alt f3 切换到登录界面,输入用户名 , 密码即可登录_centos7 started gnome display manager
文章浏览阅读7.9k次,点赞5次,收藏57次。使用前需要在微信公众号平台配置HTTPS服务器域名,但是可以做一个不合验的操作来发起请求.配置服务器域名的文档:https://mp.weixin.qq.com/wxamp/devprofile/get_profile?token=290458817&lang=zh_CN一,wx.reqiuest的常用参数二,创建项目的初始化第一步:删除index和logs这两个没用的页面第二步:创建自己想要的页面和顶部的配置第三步:实现点击标签滑动效果三,API接口的使用1,通过wx.g_微信小程序猫眼电影
文章浏览阅读1.1k次。搭建步骤一、Ubuntu 18.04.1 安装 apache2二、Apache修改网站根目录及默认网页三、安装数据库四、安装 --php五、安装 phpmyadmin六、安装并配置 WordPress七、开启apache2 Rewrite模块八、配置SSL一、Ubuntu 18.04.1 安装 apache2更新源sudo apt install apache2 -ysystemctl s..._个人部署玩
文章浏览阅读273次。html部分textarea首行自动缩进问题一开始, 在代码中 标签textarea我是这么写的,但是当我查看页面的时候,发现首行自动缩进了好几个空格,但是我想要的是,一进去,获取焦点后,就是在首位,没有缩进. 如下代码:<textarea rows="3" cols="70" class="text-note" maxlength="150"></textarea&..._web开发的奇葩问题
文章浏览阅读1w次。这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入有大神知道解决方法吗?在官网上下载的Ansys学生版本,安装后出现这个提示“RSS被禁用”,而且也没有桌面快捷方式。欢迎_rss被禁用
文章浏览阅读710次。在本教程中,我们将分析合成孔径雷达 (SAR) 图像,以检测地球表面具有统计意义的变化。正如副词“统计地”暗示的那样,我们需要对 SAR 图像的统计特性有基本的了解才能继续,而形容词“显着”意味着我们学习了假设检验的基础知识。我们将特别关注 GEE 档案中双极化强度 Sentinel-1 SAR 图像的时间序列。教程分为四部分:1. 单视和多视图像统计 2. 假设检验 3.多时态变化检测 4. 应用大部分材料基于我的文本Image Analysis, Classification and Cha_sentinel-1 change detection
文章浏览阅读706次。解决问题启动Vue项目执行npm run serve报错原因:使用了不同的编辑器,而且配置文件弄混了1.删除node_modules文件夹。2.使用国内镜像重新安装npm install --registry=https://registry.npm.taobao.orgnpm install -g cnpm --registry=https://registry.npm.taobao.orgcnpm install3.重新运行npm run serve...
文章浏览阅读911次。AQS 以及其实现类 ReentrantLock、ReentrantReadWriteLock 源码分析。_readwrite lock aqs