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

软考中级软件设计师(下午题)--- UML建模

1.

用户通过了操作仿真系统中的机器人来探索虚拟世界,系统中共有2个主要功能,分别是机器人探索虚拟世界(Run Robots)与手动控制机器人(Manipulate Robots),所以U1、U2分别为Run Robots与Manipulate Robots

U3、U4 处于 Run Program 用例下,所以是自动控制(Run)与单步控制(Step)

U5与show errors关联,表示U5与该行为是同级的,就像丈夫与妻子,所以应该为Write

U6、U7、U8就是剩下的3种手动控制方式


如果把 Run Program 看为一个一般的父类,那么 Run与Step 就是两个特殊的子类,所以是泛化关系;之所以不是扩展关系是因为U3、U4执行是 Run Program的具体方式,而非不同场景所产生的行为

extend表示的是扩展关系:如果一个用例明显混合了两种或两种以上的不同场景,那么就可以把这个用例分为一个基本用例和一个或多个扩展用例。最一开始的Select Robot用例应该是选中一个机器人,然后手动控制它;目前Select Robot 用例中只保留了“选中一个机器人”(基本用例)及其相关操作的触发条件,而相关操作的实现通过不同的子用例Move、Left、Read、Write(扩展用例)来实现

include表示的是包含关系:当可以从两个或两个以上用例中提取公共行为时,应该使用包含关系来表示他们与该公共行为之间的联系


Interpreter、parser用于解析文件,所以C1为文件

文件是由虚拟世界的描述与机器人行为聚合的,所以C2为机器人在虚拟世界中的行为

Interpreter、parser还用于解析指令集,说明Interpreter、parser和Instruction Set之间有关联关系,所以C4为Instruction Set

C3聚合而成了C4,所以C3为Instuction

用Editor来编写文件,Editor与文件之间有关联关系,所以C5为Editor

不难发现,关联关系很多都是用xxx来做yyy,xxx与yyy之间就有了关联关系;依赖关系是xxx的变化会影响yyy

2. 

注:问题1作答只能用说明中给的英文词汇

Person lives at 1个address,所以C1为Address;C2与registration相互关联,所以是Riding

Person 是 C3、C4 的泛化,C4才和registration相互关联,所以C3为无效选民(Ineligible),C4为合法选民(Eligible)


每个人只有1个住址,M1为1;无论是Town还是City都住了非常多人,所以M2为*;一个选区肯定有非常多人注册,所以M3为*;每个合法选民只能注册一个选取,所以M4为1;一个选取(例如德克萨斯州)肯定包含了非常多的City与Town,所以M5为*;纽约只能属于一个选区,所以M6为1


至少选择一个选区,至少住在一个居住地,所以将M1、M4从1改为1…*即可

3.

排序是U1、U2的一个泛化,所以U1为按姓氏的字典排序,U2为按邮政编码排序

创建与修改地址簿都包含了保存地址簿这一操作,所以U6为保存地址簿,U3、U4为创建地址簿与修改地址簿

U5为U4的扩展关系,把U4、U5的组合看作是创建地址簿这一行为整体用例,那么打开地址簿就不对了(没有地址簿打开什么);所以U4只可能是修改地址簿,修改地址簿之前得要先打开地址簿;U5为打开地址簿


属性是类中的变量,方法是类中的函数

AddressBook(地址簿管理类)属性:PersonAddress中的所有属性都要有1个(要不然怎么增删改查),部门编号

AddressBook方法:添加、创建、打开、修改、删除、保存

PersonAddress属性:姓名、地址、城市、省份、邮政编码、联系电话、员工号(没有主码,自己搞一个出来)

4.

选择元素后,可以移动元素或调整元素大小,所以U1、U2分别为移动元素与调整元素大小

U1、U2与选择元素视作一个整体(操作元素)时,U1、U2开始前都得先要选择元素,所以构成了扩展关系


C1与工具形成了泛化关系,C2与元素有selected关联所以是选择元素,C1也就只能是创建工具

C1是文本工具、C3、C4、C5的泛化,所以C3为线条工具,C4为矩形工具,C5为椭圆工具,C

C6、C7、C8和元素形成泛化关系,所以是具体的xx元素,那么只可能是线条、矩形和椭圆了

5.

一个Category当中可以有某件商品,也可一件商品都没有,所以(1)为 0…*;一件商品仅属于一种分类,所以(2)为 1

一件商品可以有多个促销活动(淘宝里,商品A和不同种类商品搭配一起买,促销力度不一样),也可以完全没有促销,所以(3)为 0…*;一个促销活动肯定有一件及以上的商品,所以(4)为 1…*

一个账号可以买一单,也可以一单也不买,所以(6)为 0…*;用户选择某一促销活动,系统生成一个促销订单,所以(5)为 1


category读取了商品信息,categoryManager从category中读取分类信息,所以是(8)是getCategories

businessman(商人)从categorymanager那获取所有商品信息,即getCommodities(9)

先是createPromotion(10),然后再addCommodities(11)


聚合关系是一种特殊的关联关系。

关联关系不强调整体与部分间的结构关系,两个对象在概念上处于一个级别;而聚合关系是一种“has-a”的关系,一个对象明确拥有另一个对象,这种拥有关系可以松散也可以强烈

http://www.dtcms.com/a/580902.html

相关文章:

  • 机械臂时间最优规划
  • 【LeetCode刷题】两数之和
  • 10 月热搜精选
  • 郑州商城网站开发摄影网站源码 国外
  • Docker 加载镜像时报 no space left on device 的彻底解决方案
  • 5、prometheus标签
  • python+django/flask基于机器学习的就业岗位推荐系统
  • Mysql作业5
  • 为什么Vue 3需要ref函数?它的响应式原理与正确用法是什么?
  • STM32外设学习--TIM定时器--输入捕获---测频方法(代码编写)
  • 如何设置JVM参数避开直接内存溢出的坑?
  • (七)嵌入式面试题收集:8道
  • AI搜索营销破局:光引GEO多平台适配与实时优化引擎开发详解
  • 【有源码】基于Hadoop+Spark的起点小说网大数据可视化分析系统-基于Python大数据生态的网络文学数据挖掘与可视化系统
  • Windows10 wsl2 ubuntu22.04 docker安装
  • 使用docker-compose部署应用保姆级教程
  • 【Linux工具链】从跨平台适配到一键部署:yum多架构支持+Vim远程编辑+gcc交叉编译,解决多场景开发效率瓶颈
  • 简单做网站企业宣传视频制作免费模板
  • 西安SEO网站建设哪家好食品网站的网页设计
  • 网站开发公司哪家好嘉兴市建设工程监理协会网站
  • 天津做一个简单的网站首页wap门户网站源码
  • 热门软件排行榜泰州网站关键词优化
  • 怎么查询网站开发公司个人网站数据库大小
  • 营销型网站和传统网站区别ui设计技能就业培训
  • 威宁住房和城乡建设局网站wordpress is ssl
  • 网站域名缴费wordpress怎么改登陆地址
  • 网站底备案号链接代码小程序登录入口qq浏览器
  • 电商网站建设功能个人网页免费域名注册入口
  • 网站建设所用系统没有文字的网站怎么优化
  • 站长工具seo综合查询隐私查询做网站功能