利用“4+1”視圖建模方法進行“網(wǎng)上選課系統(tǒng)”軟件體系結(jié)構(gòu)設(shè)計_第1頁
利用“4+1”視圖建模方法進行“網(wǎng)上選課系統(tǒng)”軟件體系結(jié)構(gòu)設(shè)計_第2頁
利用“4+1”視圖建模方法進行“網(wǎng)上選課系統(tǒng)”軟件體系結(jié)構(gòu)設(shè)計_第3頁
利用“4+1”視圖建模方法進行“網(wǎng)上選課系統(tǒng)”軟件體系結(jié)構(gòu)設(shè)計_第4頁
利用“4+1”視圖建模方法進行“網(wǎng)上選課系統(tǒng)”軟件體系結(jié)構(gòu)設(shè)計_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上 利用“4+1”視圖建模方法進行“網(wǎng) 上 選課系統(tǒng)”軟件體系結(jié)構(gòu)設(shè)計所學(xué)專業(yè): 軟件工程 年級班級: 2010級軟工-2 班 所屬小組: 第六組 組負責(zé)人: 耿奇云 組內(nèi)成員: 耿奇云 郜振南 楊建威 成員學(xué)號: 河南農(nóng)業(yè)大學(xué)信息與管理科學(xué)學(xué)院2012年12月19日一、 引言(一) 運用4+1視圖方法:針對不同需求進行架構(gòu)設(shè)計要開發(fā)出用戶滿意的軟件并不是件容易的事,軟件架構(gòu)師必須全面把握各種各樣的需求、權(quán)衡需求之間有可能的矛盾之處,分門別類地將不同需求一一滿足。Philippe Kruchten提出的4+1視圖方法為軟件架構(gòu)師一一征服需求提供了良好基礎(chǔ),如圖1示。圖1

2、運用4+1視圖方法針對不同需求進行架構(gòu)設(shè)計場景視圖:場景視圖關(guān)注案例描述,即對案軟件需求的功能描述和非功能描述;對應(yīng)于UML建模中的用例建模。邏輯視圖:邏輯視圖關(guān)注功能,不僅包括用戶可見的功能,還包括為實現(xiàn)用戶功能而必須提供的輔助功能模塊;它們可能是邏輯層、功能模塊等。開發(fā)視圖:開發(fā)視圖關(guān)注程序包,不僅包括要編寫的源程序,還包括可以直接使用的第三方SDK和現(xiàn)成框架、類庫,以及開發(fā)的系統(tǒng)將運行于其上的系統(tǒng)軟件或中間件。開發(fā)視圖和邏輯視圖之間可能存在一定的映射關(guān)系:比如邏輯層一般會映射到多個程序包等。處理視圖:處理視圖關(guān)注進程、線程、對象等運行時概念,以及相關(guān)的并發(fā)、同步、通信等問題。處理視圖和開

3、發(fā)視圖的關(guān)系:開發(fā)視圖一般偏重程序包在編譯時期的靜態(tài)依賴關(guān)系,而這些程序運行起來之后會表現(xiàn)為對象、線程、進程,處理視圖比較關(guān)注的正是這些運行時單元的交互問題。物理視圖:物理視圖關(guān)注目標(biāo)程序及其依賴的運行庫和系統(tǒng)軟件最終如何安裝或部署到物理機器,以及如何部署機器和網(wǎng)絡(luò)來配合軟件系統(tǒng)的可靠性、可伸縮性等要求。物理視圖和處理視圖的關(guān)系:處理視圖特別關(guān)注目標(biāo)程序的動態(tài)執(zhí)行情況,而物理視圖重視目標(biāo)程序的靜態(tài)位置問題;物理視圖是綜合考慮軟件系統(tǒng)和整個IT系統(tǒng)相互影響的架構(gòu)視圖。(二) 軟件需求分類需要架構(gòu)設(shè)計的多重視圖方法,從根本上來說是因為需求種類的復(fù)雜性所致。軟件需求包括功能需求和非功能需求。非功能需

4、求包括質(zhì)量屬性和約束條件。質(zhì)量屬性包括運行期質(zhì)量屬性和開發(fā)期質(zhì)量屬性。軟件需求分類如圖2所示。圖2 軟件需求分類(三) 網(wǎng)上選課需求1網(wǎng)上選課系統(tǒng)需求描述管理員通過系統(tǒng)管理界面進入,建立本學(xué)期要開設(shè)的各門課程,并將課程信息保存到數(shù)據(jù)庫中,并可以對課程進行一定的改動和刪除操作。學(xué)生通過瀏覽器可以查詢已選課程信息并進行選課,教師可以選擇所要上的課程并提交所選課程的成績。管理員同時負責(zé)維護各項信息。以上信息統(tǒng)一保存到數(shù)據(jù)庫中。2網(wǎng)上選課系統(tǒng)需求表1 網(wǎng)上選課系統(tǒng):需求種類分析非功能需求功能需求約束運行期質(zhì)量屬性開發(fā)期質(zhì)量屬性項目預(yù)算有限用戶平均電腦操作水平偏低開發(fā)人員分散在不同地點要求能在Windo

5、wsall 系統(tǒng)上運行 高性能易用性易理解模塊間松散耦合實現(xiàn)不同用戶所要執(zhí)行的不同功能提高不同用戶的操作效率保證數(shù)據(jù)庫中數(shù)據(jù)的一致性和完整性二、 網(wǎng)上選課系統(tǒng)場景建模場景視圖:場景視圖關(guān)注案例描述,即對案軟件需求的功能描述和非功能描述;對應(yīng)于UML建模中的用例建模。(一) 用例建模與分析步驟根據(jù)網(wǎng)上選課系統(tǒng)需求概述進行用例建模與分析。用例建模與分析步驟如圖3示。1.確定網(wǎng)上選課系統(tǒng)的邊界范圍,找出系統(tǒng)外部的參與者和外部系統(tǒng)2.確定各個參與者應(yīng)有的系統(tǒng)行為,并命名為用例3. 把系統(tǒng)中公共的系統(tǒng)行為分解為新的用例,供其它用例引用4. 把系統(tǒng)中一些變更的行為分解為擴展用例5. 編制用例的腳本6. 繪

6、制系統(tǒng)的用例圖7. 把系統(tǒng)用例中特殊情況的用例畫成單獨的子用例圖(二) 用例建模具體過程1. 確定系統(tǒng)邊界范圍,找出參與者系統(tǒng)參與者包括:管理員、學(xué)生和老師圖42. 確定每一個參與者所希望的系統(tǒng)行為管理員:登陸、課程管理、學(xué)生管理和老師管理學(xué)生:登錄、選課、查詢課程老師:登錄、查詢課程、提交成績圖53. 把公共系統(tǒng)行為分解為新的用例將管理員、學(xué)生和老師的登陸抽取為公共用例;圖64. 擴展用例將所有操作保存的用例擴展為數(shù)據(jù)庫。圖75. 用例圖優(yōu)化抽取用戶角色,實現(xiàn)統(tǒng)一登錄;抽取課程管理用例,與學(xué)生信息管理、教師信息管理等用例并列圖86. 用自然語言和事件流編寫網(wǎng)上選課用例腳本(1)用戶登陸腳本:

7、1)運行程序,彈出登錄界面;2)在登陸界面輸入用戶名、密碼和用戶類型; 3)提交信息進行驗證;A1:用戶信息驗證異常4)進入操作界面。A1:用戶信息驗證異常3a)提示用戶用戶名或密碼或用戶類型錯誤3b)重新輸入用戶名、密碼和用戶類型3c)轉(zhuǎn)到3)老師的選課腳本:一、(1)運行程序,彈出登陸界面,(2)在登陸界面輸入用戶名、密碼和用戶類型; (3)提交信息進行驗證;A:用戶信息驗證異常(4)進入操作界面。A:用戶信息驗證異常1、提示用戶用戶名或密碼或用戶類型錯誤2、重新輸入用戶名、密碼和用戶類型3、轉(zhuǎn)到(3)二、(1)登陸成功后,在選課界面進行選課;(2)選擇課程,單擊完成,系統(tǒng)進行驗證;A1:

8、課程信息異常,重新進行選課;(3)選課成功;(4)退出程序;老師的提交成績腳本如下:(1) 用戶登陸界面后輸入用戶名、密碼和用戶類型;(2) 提交信息進行驗證:如果信息異常系統(tǒng)將退出,用戶需重新登陸(3) 用戶登陸成功后進入學(xué)生成績界面,并提交學(xué)生的成績,因此顯示選課學(xué)生的姓名、學(xué)號、班級、成績;(4) 系統(tǒng)確認輸入的信息完整沒有缺失或錯誤;(5) 系統(tǒng)將輸入的學(xué)生成績存儲建檔;(6) 用戶提交成績成功后退出程序。若提交失敗將退回(3);學(xué)生的選課教本:(1) 用戶登陸界面后輸入用戶名、密碼和用戶類型;(2) 提交信息進行驗證:如果信息異常系統(tǒng)將退出,用戶需重新登陸(3) 用戶登陸失敗將返回(

9、1),登陸 成功后進入學(xué)生選課系統(tǒng);(4) 學(xué)生選擇所要選擇的課程后提交,系統(tǒng)將確認改門課程是否已滿;A:若所選課程人數(shù)已滿,選課失敗,返回(3)重新選課;若選課成功,則系統(tǒng)將會把改課程添加到學(xué)生的課程表里;(5) 用戶退出程序;學(xué)生的查詢課程教本:(1) 用戶登陸界面后輸入用戶名、密碼和用戶類型;(2) 提交信息進行驗證:如果信息異常系統(tǒng)將退出,用戶需重新登陸;(3) 用戶登陸失敗將返回(1),登陸 成功后進入學(xué)生主頁查詢課程;(4) 用戶退出程序管理員的教師信息教本:(1)用戶登陸界面后輸入用戶名、密碼和用戶類型;(2)提交信息進行驗證:如果信息異常系統(tǒng)將退出,用戶需重新登陸;(3)用戶登

10、陸失敗將返回(1),登陸成功后進入管理員主頁;(4)管理員在主頁上進行教師的信息管理操作;(5)用戶推出程序;管理員的教師信息教本:(1)用戶登陸界面后輸入用戶名、密碼和用戶類型;(2)提交信息進行驗證:如果信息異常系統(tǒng)將退出,用戶需重新登陸;(3)用戶登陸失敗將返回(1),登陸成功后進入管理員主頁;(4)管理員在主頁上進行學(xué)生的信息管理操作;(5)用戶推出程序;管理員的教師信息教本:(1)用戶登陸界面后輸入用戶名、密碼和用戶類型;(2)提交信息進行驗證:如果信息異常系統(tǒng)將退出,用戶需重新登陸;(3)用戶登陸失敗將返回(1),登陸成功后進入管理員主頁;(4)管理員在主頁上進行課程管理界面進行相

11、應(yīng)的操作;(5)用戶推出程序;7. 繪制用例圖根據(jù)分析與描述,本網(wǎng)上選課系統(tǒng)的用例圖如下圖10三、 網(wǎng)上選課系統(tǒng)邏輯視圖邏輯視圖:邏輯視圖對應(yīng)于功能需求,設(shè)計滿足功能需求的架構(gòu)。邏輯視圖關(guān)注功能,不僅包括用戶可見的功能,還包括為實現(xiàn)用戶功能而必須提供的輔助功能模塊;它們可能是邏輯層、功能模塊等。首先根據(jù)功能需求進行初步設(shè)計,進行大粒度的職責(zé)劃分和邏輯視圖設(shè)計如下。應(yīng)用層:負責(zé)設(shè)備狀態(tài)的顯示,提供模擬控制臺供用戶發(fā)送調(diào)試命令表示層:使用通訊層和嵌入層進行交互會話層:負責(zé)在RS232協(xié)議之上實現(xiàn)一套專用的“應(yīng)用協(xié)議”邏輯層:當(dāng)應(yīng)用層發(fā)送來包含調(diào)試指令的協(xié)議包時,由通訊層負責(zé)按RS232協(xié)議將之傳遞

12、給嵌入層持久連通層:當(dāng)嵌入層發(fā)送來原始數(shù)據(jù)時,由通訊層將之解釋成應(yīng)用協(xié)議包發(fā)送給應(yīng)用層數(shù)據(jù)庫層:嵌入層負責(zé)對調(diào)試設(shè)備的具體控制,以及高頻度地從數(shù)據(jù)采集器讀取設(shè)備狀態(tài)數(shù)據(jù),設(shè)備控制指令的物理規(guī)格被封裝在嵌入層內(nèi)部,讀取數(shù)據(jù)采集器的具體細節(jié)也被封裝在嵌入層內(nèi)部 網(wǎng)上選課系統(tǒng)架構(gòu)的邏輯視圖四、 網(wǎng)上選課系統(tǒng)開發(fā)視圖開發(fā)視圖:開發(fā)視圖對應(yīng)于開發(fā)期質(zhì)量屬性,設(shè)計滿足開發(fā)期質(zhì)量屬性的架構(gòu),包括擴展性、可重用性、可移植性、易理解性和易測試性等。開發(fā)視圖關(guān)注程序包,不僅包括要編寫的源程序,還包括可以直接使用的第三方SDK和現(xiàn)成框架、類庫,以及開發(fā)的系統(tǒng)將運行于其上的系統(tǒng)軟件或中間件。開發(fā)視圖和邏輯視圖之間可能

13、存在一定的映射關(guān)系:比如邏輯層一般會映射到多個程序包等。軟件架構(gòu)的開發(fā)視圖應(yīng)當(dāng)為開發(fā)人員提供切實的指導(dǎo)。任何影響全局的設(shè)計決策都應(yīng)由架構(gòu)設(shè)計來完成,這些決策如果漏到了后邊,最終到了大規(guī)模并行開發(fā)階段才發(fā)現(xiàn),可能造成程序員碰頭兒臨時決定的情況大量出現(xiàn),軟件質(zhì)量必然將下降甚至導(dǎo)致項目失敗。其中,采用哪些現(xiàn)成框架、哪些第三方SDK、乃至哪些中間件平臺,都應(yīng)該考慮是否由軟件架構(gòu)的開發(fā)視圖確定下來。下圖展示了網(wǎng)上選課系統(tǒng)的(一部分)軟件架構(gòu)開發(fā)視圖: 圖* 網(wǎng)上選課系統(tǒng)架構(gòu)的開發(fā)視圖圖* 網(wǎng)上選課系統(tǒng)架構(gòu)的開發(fā)視圖五、 網(wǎng)上選課系統(tǒng)過程視圖處理視圖:處理視圖,即過程視圖,設(shè)計滿足運行期質(zhì)量屬性的架構(gòu),對

14、應(yīng)于運行期質(zhì)量屬性,包括易用性、性能、可伸縮性、持續(xù)可用性、魯棒性和安全性等。處理視圖關(guān)注進程、線程、對象等運行時概念,以及相關(guān)的并發(fā)、同步、通信等問題。處理視圖和開發(fā)視圖的關(guān)系:開發(fā)視圖一般偏重程序包在編譯時期的靜態(tài)依賴關(guān)系,而這些程序運行起來之后會表現(xiàn)為對象、線程、進程,處理視圖比較關(guān)注的正是這些運行時單元的交互問題。性能是軟件系統(tǒng)運行期間所表現(xiàn)出的一種質(zhì)量水平,一般用系統(tǒng)響應(yīng)時間和系統(tǒng)吞吐量來衡量。為了達到高性能的要求,軟件架構(gòu)師應(yīng)當(dāng)針對軟件的運行時情況進行分析與設(shè)計,這就是我們所謂的軟件架構(gòu)的處理視圖的目標(biāo)。處理視圖關(guān)注進程、線程、對象等運行時概念,以及相關(guān)的并發(fā)、同步、通信等問題。下

15、圖展示了網(wǎng)上選課系統(tǒng)架構(gòu)的處理視圖??梢钥闯?,架構(gòu)師為了滿足高性能需求,采用了多線程的設(shè)計: 應(yīng)用層中的線程代表主程序的運行,它直接利用了MFC的主窗口線程。無論是用戶交互,還是串口的數(shù)據(jù)到達,均采取異步事件的方式處理,杜絕了任何忙等待無謂的耗時,也縮短了系統(tǒng)響應(yīng)時間。 通訊層有獨立的線程控制著上上下下的數(shù)據(jù),并設(shè)置了數(shù)據(jù)緩沖區(qū),使數(shù)據(jù)的接收和數(shù)據(jù)的處理相對獨立,從而數(shù)據(jù)接收不會因暫時的處理忙碌而停滯,增加了系統(tǒng)吞吐量。 設(shè)備調(diào)試系統(tǒng)架構(gòu)的處理視圖用戶登錄時序圖:管理員時序圖: 老師序列圖:學(xué)生示意圖:六、 網(wǎng)上選課系統(tǒng)物理視圖物理視圖:物理視圖,是和部署相關(guān)的架構(gòu)決策,對應(yīng)于安裝和部署需求。

16、物理視圖關(guān)注目標(biāo)程序及其依賴的運行庫和系統(tǒng)軟件最終如何安裝或部署到物理機器,以及如何部署機器和網(wǎng)絡(luò)來配合軟件系統(tǒng)的可靠性、可伸縮性等要求。物理視圖和處理視圖的關(guān)系:處理視圖特別關(guān)注目標(biāo)程序的動態(tài)執(zhí)行情況,而物理視圖重視目標(biāo)程序的靜態(tài)位置問題;物理視圖是綜合考慮軟件系統(tǒng)和整個IT系統(tǒng)相互影響的架構(gòu)視圖。軟件最終要駐留、安裝或部署到硬件才能運行,而軟件架構(gòu)的物理視圖關(guān)注目標(biāo)程序及其依賴的運行庫和系統(tǒng)軟件最終如何安裝或部署到物理機器,以及如何部署機器和網(wǎng)絡(luò)來配合軟件系統(tǒng)的可靠性、可伸縮性等要求。圖所示的物理架構(gòu)視圖表達了網(wǎng)上選課系統(tǒng)軟件和硬件的映射關(guān)系??梢钥闯觯度氩糠竹v留在調(diào)試機中,而PC機上是

17、常見的桌面可執(zhí)行程序的形式。 網(wǎng)上選課系統(tǒng)架構(gòu)的物理視圖I我們還可能根據(jù)具體情況的需要,通過物理架構(gòu)視圖更明確地表達具體目標(biāo)模塊及其通訊結(jié)構(gòu),如下圖所示。 網(wǎng)上選課系統(tǒng)架構(gòu)的物理視圖II七、 小結(jié)所謂本立道生。深入理解軟件需求分類的復(fù)雜性,明確區(qū)分功能需求、約束、運行期質(zhì)量屬性、開發(fā)期質(zhì)量屬性等不同種類的需求就是本,因為各類需求對架構(gòu)設(shè)計的影響截然不同。本文通過具體案例的分析,展示了如何通過RUP的4+1視圖方法,針對不同需求進行架構(gòu)設(shè)計,從而確保重要的需求一一被滿足。本文通過比較系統(tǒng)地描述網(wǎng)上選課系統(tǒng)的用例圖的一步步操作完成過程和相關(guān)的用戶時序圖以及更加深入的“4+1”視圖中的邏輯視圖、開發(fā)視圖、進程視圖、物理視圖和場景視圖的繪制描述,并對涉及到的軟件架構(gòu)模式進行了簡單明了的解釋說明,直接深入地描述展示了軟件需求開發(fā)過程中包括非功能和功能方面的各種需要要求,展示說明了軟件體系結(jié)構(gòu)設(shè)計在軟件開發(fā)和程序設(shè)計中的重要地位。參考文獻1. Philippe Kruchten著,周伯生等譯. Rational統(tǒng)一過程引論(原書第2版). 機械工業(yè)出版社,2002.2. Karl E. Wiegers著,劉偉琴等譯. 軟件需求(第2版). 清華大學(xué)出版社,2004.3. 劉寅虓. 系統(tǒng)分析之路(平裝,第一版). 電子工業(yè)出

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論