日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

交流设计

發(fā)布時(shí)間:2023/12/3 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 交流设计 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

軟件設(shè)計(jì)至關(guān)重要。 它是應(yīng)用程序的基礎(chǔ)。 就像一個(gè)藍(lán)圖,它為來自不同背景的聚會(huì)提供了一個(gè)通用平臺(tái)。 它有助于理解,協(xié)作和發(fā)展。

設(shè)計(jì)不應(yīng)僅視為開發(fā)的要素。 它不應(yīng)該只存在于開發(fā)人員的頭腦中,否則團(tuán)隊(duì)將發(fā)現(xiàn)它幾乎無法增長,因?yàn)橹R(shí)很難獲得。 而且,當(dāng)員工離職時(shí),公司會(huì)損失更多的價(jià)值。

應(yīng)用程序代碼應(yīng)通過將領(lǐng)域模型有效地轉(zhuǎn)換為清晰的抽象來描述設(shè)計(jì)。 這些應(yīng)該經(jīng)過良好的編碼,良好的命名和良好的定義。 但這還不夠。

設(shè)計(jì)不僅應(yīng)存在于代碼中。 盡管使用該層來表達(dá)設(shè)計(jì)對(duì)于開發(fā)團(tuán)隊(duì)來說可能已經(jīng)足夠,但其他可能對(duì)應(yīng)用程序設(shè)計(jì)感興趣的人卻被拒絕訪問。 他們要么無法物理檢索代碼,要么沒有軟件開發(fā)背景,要么就沒有時(shí)間自己弄清楚設(shè)計(jì)。

有時(shí),在編寫大量代碼之前,需要在多團(tuán)隊(duì)組織中討論和完善高級(jí)設(shè)計(jì)。 在這種情況下,很明顯,即使代碼表達(dá)了設(shè)計(jì),也不應(yīng)僅將其包含在代碼中。 為此,設(shè)計(jì)建模已成為一個(gè)單獨(dú)的過程。

表達(dá)系統(tǒng)設(shè)計(jì)

設(shè)計(jì)不僅涉及類以及它們之間的相互關(guān)系。 這也與合作和行為有關(guān)。 關(guān)于用例,狀態(tài)和活動(dòng)。

交流設(shè)計(jì)的主要形式如下。 由于UML的普及性, UML被用作參考,但是沒有人會(huì)受制于其符號(hào)或術(shù)語,因?yàn)橹攸c(diǎn)應(yīng)該放在有效的溝通上。

結(jié)構(gòu)體

概述圖

使用一組描述部署策略,程序包,模塊和組件的圖來描述系統(tǒng)結(jié)構(gòu)概述。

最高級(jí)別的概述之一是部署,根據(jù)應(yīng)用程序使用的基礎(chǔ)結(jié)構(gòu)實(shí)體進(jìn)行描述。 UML描述了實(shí)現(xiàn)該目的的部署圖 ,該部署圖由節(jié)點(diǎn)組成,例如Web服務(wù)器,應(yīng)用程序服務(wù)器,數(shù)據(jù)庫服務(wù)器和客戶端。

系統(tǒng)中部署的組件具有外部依賴性。 這些應(yīng)記錄在案。 UML為此目的規(guī)定了程序包圖 ,它描述了程序包合并和導(dǎo)入關(guān)系。

詳細(xì)圖

在較低的層次上,通過展示類及其之間的關(guān)系來描述系統(tǒng)的結(jié)構(gòu)。

類圖

類圖描述了系統(tǒng)的類,包括它們的屬性,操作(或方法)以及它們之間的關(guān)系。

關(guān)系可以具有多種類型,例如,依賴關(guān)系,關(guān)聯(lián)關(guān)系,組成,繼承。 應(yīng)該清楚地表達(dá)它們,以便開發(fā)人員團(tuán)隊(duì)可以手動(dòng)設(shè)計(jì)系統(tǒng),也可以使用根據(jù)類圖生成類的工具來設(shè)計(jì)系統(tǒng)。

在UML中 ,類成員可以具有以下類型的可見性:

  • 公開 :+
  • 私人的 :–
  • 受保護(hù)的 :#
  • 派生 :/,該屬性是根據(jù)另一個(gè)元素的屬性計(jì)算得出的
  • 包裝方式 :?

在UML中 ,定義了以下關(guān)系:

  • 關(guān)聯(lián) :表示一系列鏈接,可以是單向或雙向的; 關(guān)聯(lián)可以被命名;
  • 繼承/泛化 :一類是另一類的專門形式
  • 實(shí)現(xiàn)/實(shí)現(xiàn) :一個(gè)類實(shí)現(xiàn)一個(gè)接口
  • 依賴性 :兩個(gè)元素之間的單向關(guān)系,當(dāng)對(duì)一個(gè)元素的更改導(dǎo)致需要更改另一個(gè)元素時(shí)發(fā)生
  • 集合 :“具有”關(guān)聯(lián),只能是雙向的; 在聚合關(guān)系中,聚合組件可以存在于容器外部
  • 組成 :更強(qiáng)大的聚合關(guān)系,其中聚合的組件不能“生活”在容器外部,例如汽車的引擎

類結(jié)構(gòu)圖

這種類型的圖顯示了類的內(nèi)部結(jié)構(gòu)。 它們可以包括其協(xié)作者如何與之交互以及如何與之交互。

在UML中 , 復(fù)合結(jié)構(gòu)圖包括內(nèi)部零件,端口和連接器。 端口促進(jìn)了班級(jí)內(nèi)部以及與外界的交流。 連接器位于零件和端口之間。

斐波那契系統(tǒng)的復(fù)合結(jié)構(gòu)圖如下所示:

互動(dòng)互動(dòng)

系統(tǒng)中發(fā)生的交互與其結(jié)構(gòu)一樣重要,甚至更多。 實(shí)際上,行為是用戶體驗(yàn)的,因此對(duì)其進(jìn)行精確描述和早期建模可以使參與該項(xiàng)目的每個(gè)人都省去很多麻煩。

用例

用戶與系統(tǒng)進(jìn)行交互以滿足目標(biāo)。 實(shí)現(xiàn)目標(biāo)所需的一組交互作用形成一個(gè)用例 。

與一組用戶故事相反,表示這些交互對(duì)于以緊湊的形式可視化需求非常重要。 UML定義了用例圖 ,其中涉及不同的參與者和系統(tǒng)。

互動(dòng)概述

在更高的層次上,可以用模塊之間的交互來描述系統(tǒng),通常是為了建模控制流。 就此而言, UML定義了交互概述圖和活動(dòng)圖 。 交互概述圖可以描述由多個(gè)交互組成的控制流,而活動(dòng)圖的詳細(xì)程度較低,描述了實(shí)際條件,邏輯和動(dòng)作。

詳細(xì)互動(dòng)

消息序列圖捕獲了協(xié)作類之間的操作順序。 在UML中 ,它們稱為序列圖。 這些類型的圖不僅描述了類如何交互,而且還包括時(shí)間元素,建立了交互的順序或順序:

水平箭頭顯示兩個(gè)協(xié)作者之間交換的消息。 垂直線(也稱為生命線)捕獲了兩個(gè)類之間可能發(fā)生的所有通信。

在具有復(fù)雜約束和條件的環(huán)境中,系統(tǒng)狀態(tài)可能難以可視化。 最直觀地,該系統(tǒng)可以表示為狀態(tài)機(jī),其節(jié)點(diǎn)數(shù)量與狀態(tài)一樣多,并且條件在狀態(tài)之間切換,這些狀態(tài)附加到標(biāo)記過渡的箭頭上。 為了提高可讀性,應(yīng)抽象出復(fù)雜的條件并以簡潔的方式表達(dá)。

在UML中 ,狀態(tài)圖使用標(biāo)準(zhǔn)化表示法表示狀態(tài)。 實(shí)心圓表示初始狀態(tài)。 空心圓代表最終狀態(tài)。 圓角矩形表示給定的命名狀態(tài)。 箭頭表示與事件關(guān)聯(lián)的過渡。 還提供了事件名稱:

建模技術(shù)

可以使用文本和圖形兩種基本方法來描述設(shè)計(jì)。 通常,人們傾向于對(duì)圖像更感興趣,但文本模型傾向于更具描述性。 存在混合功能,可以同時(shí)進(jìn)行高級(jí)概述和可視化詳細(xì)信息的功能。

執(zhí)行文本建模,以形式化語言表達(dá)需求。 這些模型傾向于以犧牲整體概觀為代價(jià)提供更多細(xì)節(jié)。 在某些方面,創(chuàng)建速度被認(rèn)為比圖形方法要高,因?yàn)樵趫D形方法中,設(shè)計(jì)人員需要在鼠標(biāo)和鍵盤之間進(jìn)行切換。 格式化趨向于更快,更高質(zhì)量。 同樣,鑒于基于文本的格式,版本控制的使用變得更加自然。

但是,對(duì)于文本建模,理解模塊往往是一項(xiàng)更具挑戰(zhàn)性的任務(wù)。 更現(xiàn)代的工具提供了顯示基于樹的結(jié)構(gòu)或狀態(tài)機(jī)的方法來克服此問題,但這并不總是足夠的。 無法解決的一個(gè)特定問題仍然是動(dòng)畫和模擬,如果需要,應(yīng)將其視為轉(zhuǎn)向圖形方法的基礎(chǔ)。

使用圖形建模,用戶無需使用建模工具即可學(xué)習(xí)任何東西。 設(shè)計(jì)往往不太像編程,因?yàn)橛脩艨梢詫⒏嗟膬?nèi)容與他們要建模的概念聯(lián)系起來。 學(xué)習(xí)系統(tǒng)時(shí),從高級(jí)到低級(jí)再回到高級(jí)很容易。

結(jié)論

交流設(shè)計(jì)與設(shè)計(jì)同等重要。 必須避免將設(shè)計(jì)鎖定在開發(fā)人員的思想和/或代碼中。 相反,應(yīng)該有效地進(jìn)行溝通,以便項(xiàng)目中的每個(gè)人都可以訪問它。

翻譯自: https://www.javacodegeeks.com/2016/08/communicating-design.html

總結(jié)

以上是生活随笔為你收集整理的交流设计的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。