UML案例分析

首先需要花大約20分鐘來思考解決這個問題,如果對問題不是很熟悉,也可以在完成題目之后,找相關的資料翻閱(例如看UML類圖的基本情況,UML狀態圖的基本情況,然后結合這些信息 做一個自我評價,看這個題目的相關知識是否掌握透徹),然后再看分析與講解。在看分析與講解的時候,需要注意分析的思路比這道提的答案更重要一些。

可以在圖上標注:

首先,繼承關系是很具有代表性的,因為在整個題干描述中,只有一個地方存在繼承關系:

藝術家分為樂隊和歌手,歌手樂隊都屬于藝術家,因此藝術家和歌手樂隊直接存在繼承關系。

藝術家是父類,樂隊和歌手是子類。

所以A是藝術家。

那么D和C必然有一個是樂隊一個是歌手。那么根據關系來判斷,C和D直接是聚合關系,多個歌手聚合為一個樂隊,那么根據空心菱形的方向,空心菱形指向的是整體部分,所以C是樂隊,D是歌手。無論編寫和演奏,都是由藝術家來做的,那么編寫演奏的是什么呢?所以B是歌曲,歌曲是放在哪里的呢?根據描述,所以唱片包含了音軌,音軌包含了歌曲。E是音軌,F是唱片。因為唱片是整體部分

問題2:

根據題目中的描述,給出圖13-1中的1~6的處的多重度。

首先看C和D的關系:

D是樂隊,是由2名或2名以上的歌手組成,那么(2)就是2..*, 反過來,一名歌手對應的樂隊是怎么樣的呢?是不是一名歌手就對應一個樂隊呢?

歌手和樂隊的關系: 一名歌手可以不屬于任何一個樂隊,也可以屬于一個或多個樂隊。

那么(1)就是0..*

我們判斷多重度的時候,站在C的緯度來看一個樂隊對應多少歌手,然后確定2處多重度是什么,然后站在D的角度來看一個歌手對應多少個樂隊來確認1的位置的多重度。是從2個角度來看待問題和分析問題。

繼續看B E F之 間的關系,看B和E之間的關系,也就是歌曲和音軌的關系,一條音軌包含一首歌曲或為空。那么3位置是0..1,一首歌曲可以分布在多條音軌上,那么4位置是1..*(注意如果包含0那么就沒有意義了,所以不包含0)

一張唱片可以有多條音軌,也就是1條或多條。一條音軌只能在一張唱片上出現。那么5位置是1..*, 6位置是1

問題3:

圖13-1中缺少了一條關聯,請住處這條關聯兩端所對應的類以及每一端的多重度。

分析: 缺了關聯,要從整個題干來分析,題干的1 2段落的內容都表現在圖里了,繼續往下看,發現 一條音軌和上一條音軌或者下一條音軌需要創建聯系,關系是0-1,因為音軌如果有上一條或者下一條,那么就對應了上一條或下一條音軌,如果沒有的話,就是0的情況。所以答案是0-1的多重度,兩端都是音軌。

問題4:

根據圖13-2所示的播放器行為UML狀態圖,給出從關閉狀態到播放狀態所經過的最短事件序列。(假設電池一開始就是有電的)

根據圖,標注起點“關閉”,終點“播放”,可以知道一條路徑是按任意鍵,打開,歌曲選擇,播放。

另一條路徑是連接電腦,充電或同步歌曲,進入完成狀態,斷開連接,打開,歌曲選擇,播放,可以知道按任意鍵是最短的路徑。

根據做案例題,發現UML類型的題難度不高,可能出現的圖有2種,少的時候需要1種,多的時候3種。所以要求大家對UML常見的類型圖有一個基本的認識否則不知道這個圖表達的是什么意思,也就無從解決問題,但是對圖有一個基本的概念的認知,要解答這種問題本身技術難度并不高。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/211037.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/211037.shtml
英文地址,請注明出處:http://en.pswp.cn/news/211037.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

matlab 最小二乘擬合空間直線(方法三)

目錄 一、算法原理1、算法過程2、參考文獻二、代碼實現三、結果展示四、相關鏈接博客長期更新,GPT與爬蟲自重,你也未必能爬到最新版本。 一、算法原理 1、算法過程 空間直線的點向式方程為:

poe與chatgpt那個功能更強大

在當前的人工智能領域,Poe Al Chat以其卓越的聊天能力和實用的功能,受到了大家的廣泛關注和喜愛。本文好為您個紹Poe Al Chat的功能,以及我們國內用戶如何進行充值訂閱。Poe Al Chat是一個基于OpenAl的GPT模型開發的人工智能聊天工具。它能夠…

基于Springboot的校園失物招領系統(有報告)。Javaee項目,springboot項目。

演示視頻: 基于Springboot的校園失物招領系統(有報告)。Javaee項目,springboot項目。 項目介紹: 采用M(model)V(view)C(controller)三層體系結構…

Docker鏡像和容器的簡單操作

1.鏡像管理 搜索鏡像: 這種方法只能用于官方鏡像庫 搜索基于 centos 操作系統的鏡像 # docker search centos 按星級搜索鏡像: 查找 star 數至少為 100 的鏡像,默認不加 s 選項找出所有相關 ubuntu 鏡像&#xf…

為 setTimeout 或 setInterval 提供一個字符串作為第一個參數(js的問題)

首先,需要知道的是為 setTimeout 或 setInterval 提供一個字符串作為第一個參數,這本身并不是一個錯誤。它是完全合法的JavaScript代碼。這里的問題更多的是性能和效率的問題。很少有人解釋的是,如果你把字符串作為setTimeout或setInterval的…

46.0/基本的 HTML 標簽(詳細版)

目錄 46.1 標題 46.2 段落 Paragraph, 46.3 換行 46.4 HTML 注釋 46.5 空格 46.6 水平線 46.7 控制網頁中文字的標記 46.8 居中標記 46.9 預格式化文本 46.10 網頁背景 46.1 標題 標記解釋 標題使用 <h1> 至 <h6> 標簽進行定義。 <h1> 定…

uniapp如何制作一個收縮通訊錄(布局篇)

html&#xff1a; <view class"search"><view class"search_padding"><u-search change"search" placeholder"請輸入成員名稱" v-model"keyword"></u-search></view></view> <view…

C語言有哪些預處理操作?

C語言的預處理是在編譯之前對源代碼進行處理的階段&#xff0c;它主要由預處理器完成。預處理器是一個獨立的程序&#xff0c;它負責對源代碼進行一些文本替換和處理&#xff0c;生成經過預處理的代碼。以下是C語言預處理的一些重要特性&#xff1a; 1&#xff0c;頭文件包含 #…

Ansible中執行流控制

1.ansible中的迭代循環 創建目錄和文件 vim createfile.yaml - name: create file playbook hosts: all tasks: - name: create file file: path: "/mnt/{{item[name]}}" state: …

Unity 自定義窗口

放在Editor文件夾下&#xff1b; #if UNITY_EDITORusing System; using UnityEditor; using UnityEngine;namespace EditorCustumTool {/// <summary>/// 自定義窗口/// </summary>public class CustomWindow : EditorWindow{public enum FlagType{Flag1 101,Fl…

前端知識筆記(三十六)———HTTP 緩存機制

一、強制緩存 只要瀏覽器判斷緩存沒有過期&#xff0c;則直接使用瀏覽器的本地緩存而無需再請求服務器。 強制緩存是利用下面這兩個 HTTP 響應頭部&#xff08;Response Header&#xff09;字段實現的&#xff0c;它們都用來表示資源在客戶端緩存的有效期&#xff1a; Cache-…

java中對象和Map互相轉換的幾種方式

在Java中&#xff0c;將對象和Map相互轉換是常見的操作&#xff0c;可以通過不同的方式實現這種轉換。以下是幾種常見的方法以及示例說明&#xff1a; 1. 使用Hutool工具類 Hutool是一個優秀的Java工具包&#xff0c;提供了豐富的工具方法&#xff0c;其中就包括對象和Map之間…

【基于ESP32無線藍牙上傳電腦Excel透傳數據】

【基于ESP32無線藍牙上傳電腦透傳數據】 1. 引言2. 環境搭建2.1 硬件準備:2.2 軟件準備:2.3. 配置Excel端口接收功能3. 測試代碼4. 連接電腦和 ESP324.1 燒錄程序4.2 啟動藍牙服務4.3 測試數據透傳5. 總結1. 引言 隨著物聯網技術的發展,越來越多的設備開始支持無線通信,其…

fl studio2024官方體驗版如何破解?

fl studio2024全稱Fruity Loops Studio2024&#xff0c;這款軟件也被人們親切的稱之為水果&#xff0c;它是一款功能強大的音樂創作編輯軟件&#xff0c;擁有全功能的錄音室&#xff0c;大混音盤以及先進的音樂制作工具&#xff0c;用戶通過使用該軟件&#xff0c;就可以輕松制…

輕量封裝WebGPU渲染系統示例<43>- 材質組裝流水線(MaterialPipeline)之燈光和陰影(源碼)

目標: 數據化&#xff0c;模塊化&#xff0c;自動化 備注: 從這個節點開始整體設計往系統規范的方向靠攏。之前的都算作是若干準備。所以會和之前的版本實現有些差異。 當前示例源碼github地址: https://github.com/vilyLei/voxwebgpu/blob/feature/material/src/voxgpu/sa…

redis過期提醒

redis過期提醒 有一次看redis的配置文件發現一個notify-keyspace-events配置&#xff0c;注釋里邊長篇大論的&#xff0c;那我得看看這是干啥的&#xff0c;看完注釋內容&#xff0c;發現不得了了&#xff0c;redis竟然還有過期提醒的功能 接下來得大家解釋一下&#xff1a; 首…

EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks(2020)

文章目錄 -Abstract1. Introductiondiss former methodour method 2. Related Work3. Compound Model Scaling3.1. 問題公式化3.2. Scaling Dimensions3.3. Compound Scaling 4. EfficientNet Architecture5. Experiments6. Discussion7. Conclusion 原文鏈接 源代碼 - 本文中…

LeNet

概念 代碼 model import torch.nn as nn import torch.nn.functional as Fclass LeNet(nn.Module):def __init__(self):super(LeNet, self).__init__() # super()繼承父類的構造函數self.conv1 nn.Conv2d(3, 16, 5)self.pool1 nn.MaxPool2d(2, 2)self.conv2 nn.Conv2d(16…

Bash腳本處理ogg、flac格式到mp3格式的批量轉換

現在下載的許多音樂文件是flac和ogg格式的&#xff0c;QQ音樂上下載的就是這樣的&#xff0c;這些文件尺寸比較大&#xff0c;在某些場合使用不便&#xff0c;比如在車機上播放還是mp3格式合適&#xff0c;音質這些在車機上播放足夠了&#xff0c;要求不高。比如本人就喜歡下載…

軟件接口安全設計規范

《軟件項目接口安全設計規范》 1.token授權機制 2.https傳輸加密 3.接口調用防濫用 4.日志審計里監控 5.開發測試環境隔離&#xff0c;脫敏處理 6.數據庫運維監控審計