




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 利用“4+1”視圖建模方法進行“網 上 選課系統”軟件體系結構設計所學專業: 軟件工程 年級班級: 2010級軟工-2 班 所屬小組: 第六組 組負責人: 耿奇云 組內成員: 耿奇云 郜振南 楊建威 成員學號: 1010107041 1010107040 1010107054 河南農業大學信息與管理科學學院2012年12月19日一、 引言(一) 運用4+1視圖方法:針對不同需求進行架構設計要開發出用戶滿意的軟件并不是件容易的事,軟件架構師必須全面把握各種各樣的需求、權衡需求之間有可能的矛盾之處,分門別類地將不同需求一一滿足。Philippe Kruchten提出的4+1視圖方法為軟件架構師一
2、一征服需求提供了良好基礎,如圖1示。圖1運用4+1視圖方法針對不同需求進行架構設計場景視圖:場景視圖關注案例描述,即對案軟件需求的功能描述和非功能描述;對應于UML建模中的用例建模。邏輯視圖:邏輯視圖關注功能,不僅包括用戶可見的功能,還包括為實現用戶功能而必須提供的輔助功能模塊;它們可能是邏輯層、功能模塊等。開發視圖:開發視圖關注程序包,不僅包括要編寫的源程序,還包括可以直接使用的第三方SDK和現成框架、類庫,以及開發的系統將運行于其上的系統軟件或中間件。開發視圖和邏輯視圖之間可能存在一定的映射關系:比如邏輯層一般會映射到多個程序包等。處理視圖:處理視圖關注進程、線程、對象等運行時概念,以及相
3、關的并發、同步、通信等問題。處理視圖和開發視圖的關系:開發視圖一般偏重程序包在編譯時期的靜態依賴關系,而這些程序運行起來之后會表現為對象、線程、進程,處理視圖比較關注的正是這些運行時單元的交互問題。物理視圖:物理視圖關注目標程序及其依賴的運行庫和系統軟件最終如何安裝或部署到物理機器,以及如何部署機器和網絡來配合軟件系統的可靠性、可伸縮性等要求。物理視圖和處理視圖的關系:處理視圖特別關注目標程序的動態執行情況,而物理視圖重視目標程序的靜態位置問題;物理視圖是綜合考慮軟件系統和整個IT系統相互影響的架構視圖。(二) 軟件需求分類需要架構設計的多重視圖方法,從根本上來說是因為需求種類的復雜性所致。軟
4、件需求包括功能需求和非功能需求。非功能需求包括質量屬性和約束條件。質量屬性包括運行期質量屬性和開發期質量屬性。軟件需求分類如圖2所示。圖2 軟件需求分類(三) 網上選課需求1網上選課系統需求描述管理員通過系統管理界面進入,建立本學期要開設的各門課程,并將課程信息保存到數據庫中,并可以對課程進行一定的改動和刪除操作。學生通過瀏覽器可以查詢已選課程信息并進行選課,教師可以選擇所要上的課程并提交所選課程的成績。管理員同時負責維護各項信息。以上信息統一保存到數據庫中。2網上選課系統需求表1 網上選課系統:需求種類分析非功能需求功能需求約束運行期質量屬性開發期質量屬性項目預算有限用戶平均電腦操作水平偏低
5、開發人員分散在不同地點要求能在Windowsall 系統上運行 高性能易用性易理解模塊間松散耦合實現不同用戶所要執行的不同功能提高不同用戶的操作效率保證數據庫中數據的一致性和完整性二、 網上選課系統場景建模場景視圖:場景視圖關注案例描述,即對案軟件需求的功能描述和非功能描述;對應于UML建模中的用例建模。(一) 用例建模與分析步驟根據網上選課系統需求概述進行用例建模與分析。用例建模與分析步驟如圖3示。1.確定網上選課系統的邊界范圍,找出系統外部的參與者和外部系統2.確定各個參與者應有的系統行為,并命名為用例3. 把系統中公共的系統行為分解為新的用例,供其它用例引用4. 把系統中一些變更的行為分
6、解為擴展用例5. 編制用例的腳本6. 繪制系統的用例圖7. 把系統用例中特殊情況的用例畫成單獨的子用例圖(二) 用例建模具體過程1. 確定系統邊界范圍,找出參與者系統參與者包括:管理員、學生和老師圖42. 確定每一個參與者所希望的系統行為管理員:登陸、課程管理、學生管理和老師管理學生:登錄、選課、查詢課程老師:登錄、查詢課程、提交成績圖53. 把公共系統行為分解為新的用例將管理員、學生和老師的登陸抽取為公共用例;圖64. 擴展用例將所有操作保存的用例擴展為數據庫。圖75. 用例圖優化抽取用戶角色,實現統一登錄;抽取課程管理用例,與學生信息管理、教師信息管理等用例并列圖86. 用自然語言和事件流
7、編寫網上選課用例腳本(1)用戶登陸腳本:1)運行程序,彈出登錄界面;2)在登陸界面輸入用戶名、密碼和用戶類型; 3)提交信息進行驗證;A1:用戶信息驗證異常4)進入操作界面。A1:用戶信息驗證異常3a)提示用戶用戶名或密碼或用戶類型錯誤3b)重新輸入用戶名、密碼和用戶類型3c)轉到3)老師的選課腳本:一、(1)運行程序,彈出登陸界面,(2)在登陸界面輸入用戶名、密碼和用戶類型; (3)提交信息進行驗證;A:用戶信息驗證異常(4)進入操作界面。A:用戶信息驗證異常1、提示用戶用戶名或密碼或用戶類型錯誤2、重新輸入用戶名、密碼和用戶類型3、轉到(3)二、(1)登陸成功后,在選課界面進行選課;(2)
8、選擇課程,單擊完成,系統進行驗證;A1:課程信息異常,重新進行選課;(3)選課成功;(4)退出程序;老師的提交成績腳本如下:(1) 用戶登陸界面后輸入用戶名、密碼和用戶類型;(2) 提交信息進行驗證:如果信息異常系統將退出,用戶需重新登陸(3) 用戶登陸成功后進入學生成績界面,并提交學生的成績,因此顯示選課學生的姓名、學號、班級、成績;(4) 系統確認輸入的信息完整沒有缺失或錯誤;(5) 系統將輸入的學生成績存儲建檔;(6) 用戶提交成績成功后退出程序。若提交失敗將退回(3);學生的選課教本:(1) 用戶登陸界面后輸入用戶名、密碼和用戶類型;(2) 提交信息進行驗證:如果信息異常系統將退出,用
9、戶需重新登陸(3) 用戶登陸失敗將返回(1),登陸 成功后進入學生選課系統;(4) 學生選擇所要選擇的課程后提交,系統將確認改門課程是否已滿;A:若所選課程人數已滿,選課失敗,返回(3)重新選課;若選課成功,則系統將會把改課程添加到學生的課程表里;(5) 用戶退出程序;學生的查詢課程教本:(1) 用戶登陸界面后輸入用戶名、密碼和用戶類型;(2) 提交信息進行驗證:如果信息異常系統將退出,用戶需重新登陸;(3) 用戶登陸失敗將返回(1),登陸 成功后進入學生主頁查詢課程;(4) 用戶退出程序管理員的教師信息教本:(1)用戶登陸界面后輸入用戶名、密碼和用戶類型;(2)提交信息進行驗證:如果信息異常
10、系統將退出,用戶需重新登陸;(3)用戶登陸失敗將返回(1),登陸成功后進入管理員主頁;(4)管理員在主頁上進行教師的信息管理操作;(5)用戶推出程序;管理員的教師信息教本:(1)用戶登陸界面后輸入用戶名、密碼和用戶類型;(2)提交信息進行驗證:如果信息異常系統將退出,用戶需重新登陸;(3)用戶登陸失敗將返回(1),登陸成功后進入管理員主頁;(4)管理員在主頁上進行學生的信息管理操作;(5)用戶推出程序;管理員的教師信息教本:(1)用戶登陸界面后輸入用戶名、密碼和用戶類型;(2)提交信息進行驗證:如果信息異常系統將退出,用戶需重新登陸;(3)用戶登陸失敗將返回(1),登陸成功后進入管理員主頁;(
11、4)管理員在主頁上進行課程管理界面進行相應的操作;(5)用戶推出程序;7. 繪制用例圖根據分析與描述,本網上選課系統的用例圖如下圖10三、 網上選課系統邏輯視圖邏輯視圖:邏輯視圖對應于功能需求,設計滿足功能需求的架構。邏輯視圖關注功能,不僅包括用戶可見的功能,還包括為實現用戶功能而必須提供的輔助功能模塊;它們可能是邏輯層、功能模塊等。首先根據功能需求進行初步設計,進行大粒度的職責劃分和邏輯視圖設計如下。應用層:負責設備狀態的顯示,提供模擬控制臺供用戶發送調試命令表示層:使用通訊層和嵌入層進行交互會話層:負責在RS232協議之上實現一套專用的“應用協議”邏輯層:當應用層發送來包含調試指令的協議包
12、時,由通訊層負責按RS232協議將之傳遞給嵌入層持久連通層:當嵌入層發送來原始數據時,由通訊層將之解釋成應用協議包發送給應用層數據庫層:嵌入層負責對調試設備的具體控制,以及高頻度地從數據采集器讀取設備狀態數據,設備控制指令的物理規格被封裝在嵌入層內部,讀取數據采集器的具體細節也被封裝在嵌入層內部 網上選課系統架構的邏輯視圖四、 網上選課系統開發視圖開發視圖:開發視圖對應于開發期質量屬性,設計滿足開發期質量屬性的架構,包括擴展性、可重用性、可移植性、易理解性和易測試性等。開發視圖關注程序包,不僅包括要編寫的源程序,還包括可以直接使用的第三方SDK和現成框架、類庫,以及開發的系統將運行于其上的系統
13、軟件或中間件。開發視圖和邏輯視圖之間可能存在一定的映射關系:比如邏輯層一般會映射到多個程序包等。軟件架構的開發視圖應當為開發人員提供切實的指導。任何影響全局的設計決策都應由架構設計來完成,這些決策如果漏到了后邊,最終到了大規模并行開發階段才發現,可能造成程序員碰頭兒臨時決定的情況大量出現,軟件質量必然將下降甚至導致項目失敗。其中,采用哪些現成框架、哪些第三方SDK、乃至哪些中間件平臺,都應該考慮是否由軟件架構的開發視圖確定下來。下圖展示了網上選課系統的(一部分)軟件架構開發視圖: 圖* 網上選課系統架構的開發視圖圖* 網上選課系統架構的開發視圖五、 網上選課系統過程視圖處理視圖:處理視圖,即過
14、程視圖,設計滿足運行期質量屬性的架構,對應于運行期質量屬性,包括易用性、性能、可伸縮性、持續可用性、魯棒性和安全性等。處理視圖關注進程、線程、對象等運行時概念,以及相關的并發、同步、通信等問題。處理視圖和開發視圖的關系:開發視圖一般偏重程序包在編譯時期的靜態依賴關系,而這些程序運行起來之后會表現為對象、線程、進程,處理視圖比較關注的正是這些運行時單元的交互問題。性能是軟件系統運行期間所表現出的一種質量水平,一般用系統響應時間和系統吞吐量來衡量。為了達到高性能的要求,軟件架構師應當針對軟件的運行時情況進行分析與設計,這就是我們所謂的軟件架構的處理視圖的目標。處理視圖關注進程、線程、對象等運行時概
15、念,以及相關的并發、同步、通信等問題。下圖展示了網上選課系統架構的處理視圖。可以看出,架構師為了滿足高性能需求,采用了多線程的設計: 應用層中的線程代表主程序的運行,它直接利用了MFC的主窗口線程。無論是用戶交互,還是串口的數據到達,均采取異步事件的方式處理,杜絕了任何忙等待無謂的耗時,也縮短了系統響應時間。 通訊層有獨立的線程控制著上上下下的數據,并設置了數據緩沖區,使數據的接收和數據的處理相對獨立,從而數據接收不會因暫時的處理忙碌而停滯,增加了系統吞吐量。 設備調試系統架構的處理視圖用戶登錄時序圖:管理員時序圖: 老師序列圖:學生示意圖:六、 網上選課系統物理視圖物理視圖:物理視圖,是和部
16、署相關的架構決策,對應于安裝和部署需求。物理視圖關注目標程序及其依賴的運行庫和系統軟件最終如何安裝或部署到物理機器,以及如何部署機器和網絡來配合軟件系統的可靠性、可伸縮性等要求。物理視圖和處理視圖的關系:處理視圖特別關注目標程序的動態執行情況,而物理視圖重視目標程序的靜態位置問題;物理視圖是綜合考慮軟件系統和整個IT系統相互影響的架構視圖。軟件最終要駐留、安裝或部署到硬件才能運行,而軟件架構的物理視圖關注目標程序及其依賴的運行庫和系統軟件最終如何安裝或部署到物理機器,以及如何部署機器和網絡來配合軟件系統的可靠性、可伸縮性等要求。圖所示的物理架構視圖表達了網上選課系統軟件和硬件的映射關系。可以看
17、出,嵌入部分駐留在調試機中,而PC機上是常見的桌面可執行程序的形式。 網上選課系統架構的物理視圖I我們還可能根據具體情況的需要,通過物理架構視圖更明確地表達具體目標模塊及其通訊結構,如下圖所示。 網上選課系統架構的物理視圖II七、 小結所謂本立道生。深入理解軟件需求分類的復雜性,明確區分功能需求、約束、運行期質量屬性、開發期質量屬性等不同種類的需求就是本,因為各類需求對架構設計的影響截然不同。本文通過具體案例的分析,展示了如何通過RUP的4+1視圖方法,針對不同需求進行架構設計,從而確保重要的需求一一被滿足。本文通過比較系統地描述網上選課系統的用例圖的一步步操作完成過程和相關的用戶時序圖以及更加深入的“4+1”視圖中的邏輯視圖、開發視圖、進程視圖、物理視圖和場景視圖的繪制描述,并對涉及到的軟件架構模式進行了簡單明了的解釋說明,直接深入地描述展示了軟件需求開發過程中包括非功能和功能方面的各種需要要求,展示說明了軟件體系結構設計在軟件開發和程序設計中的重要地位。參考文獻1. Philippe Kruchten著,周伯生等譯. Rational統一過程引論(原書第2版). 機械工業出版社,2002.2. Karl E. Wiegers著,劉偉琴等譯. 軟件需求(第2版). 清華大學出版社,2004.3. 劉寅虓. 系統分析之路(平裝,第一版
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 網絡流量充值優惠合作協議
- 浙江省公務員(機關工作人員)考試體育專業試卷
- 六一六年級游戲活動方案
- 六一參觀公司活動方案
- 六一徒步活動方案
- 六一攝影特價活動方案
- 六一文體匯演活動方案
- 六一活動周親子活動方案
- 六一活動匯演活動方案
- 六一游園知識活動方案
- 【護士資格考試】云南省精神病醫院模擬檢測練習題
- 底座工藝規程編制及工裝設計
- 國企治理三會一層詳解
- 高溫高壓設備警示牌
- GB/T 42064-2022普通照明用設備閃爍特性光閃爍計測試法
- JJG 700-2016氣相色譜儀
- GB/T 21299-2015玻璃容器瓶罐公差
- GB/T 1355-2021小麥粉
- GB/T 10228-2008干式電力變壓器技術參數和要求
- 在梨狀肌綜合征的診斷中的應用演示
- GA/T 1587-2019聲紋自動識別系統測試規范
評論
0/150
提交評論