第7章-系統(tǒng)設計概述_第1頁
第7章-系統(tǒng)設計概述_第2頁
第7章-系統(tǒng)設計概述_第3頁
第7章-系統(tǒng)設計概述_第4頁
第7章-系統(tǒng)設計概述_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第7章系統(tǒng)設計概述本章主要內(nèi)容7.1系統(tǒng)設計的任務要求7.2系統(tǒng)設計的內(nèi)容7.3系統(tǒng)設計說明書什么是設計?比如服裝通過分析獲得某個人或某個群體的需要(根據(jù)職業(yè)、場合、身材、氣質(zhì)風格、個人要求等進行分析,確定需求)設計則是根據(jù)需求完成具體服裝式樣的裁剪設計圖,以及材料選擇、配飾設計等以下是設計圖:設計信息系統(tǒng)的設計現(xiàn)實領(lǐng)域的各種需求系統(tǒng)的邏輯模型可使用的實際系統(tǒng)針對需求,進行計算機信息系統(tǒng)的物理模型設計實現(xiàn)設計模型7.1系統(tǒng)設計的任務要求通俗地說,設計就是要回答“怎么做”完成技術(shù)實現(xiàn)方案的制定,即信息系統(tǒng)的物理模型一個邏輯模型,可以提出多個物理模型根據(jù)物理模型進行實施,得到最終的物理系統(tǒng)7.1.1系統(tǒng)設計的目標設計系統(tǒng)之前,先看看評價信息系統(tǒng)的標準,這些標準對任何設計方法都適用:信息系統(tǒng)的功能:是否滿足用戶的需求系統(tǒng)的效率:響應時間、操作的方便性系統(tǒng)的可靠性:抗干擾能力、故障恢復系統(tǒng)的工作質(zhì)量:準確性、使用效果系統(tǒng)的可變更性:修改和維護的難易程度系統(tǒng)的經(jīng)濟性:系統(tǒng)收益與支出比與需求相同,設計的重點也在于軟件,因為相對軟件,硬件方案的復雜度和多樣性較小。信息系統(tǒng)的可變更性變化是不變的真理。統(tǒng)計表示:在信息系統(tǒng)的整個生命周期中,系統(tǒng)維護成本占總成本的80%左右。因此,可變更性是衡量信息系統(tǒng)設計的重要指標。7.1.2良好的結(jié)構(gòu)設計結(jié)構(gòu)簡單系統(tǒng)各組成元素分工明確,易于理解元素之間的關(guān)系清晰簡潔變動靈活謹防軟件維護中的“水波效應”使系統(tǒng)各組成元素內(nèi)部的改變?nèi)菀讓崿F(xiàn),改動對其它部分的影響盡量減少提前考慮將來最易出現(xiàn)的擴展和變更1.低劣設計帶來的問題糟糕的軟件設計可能包含一下癥狀:僵化性(rigidity):系統(tǒng)很難改變,即使一個簡單的改動也會導致大量有耦合關(guān)聯(lián)的其它部分的連鎖反應。脆弱性(fragility):改變系統(tǒng)的某個部分,會破壞許多無關(guān)的其它部分。固化性(immobility):系統(tǒng)各部分緊密聯(lián)結(jié)無法分開,很難將系統(tǒng)分解成可供其它系統(tǒng)重用的部件。粘滯性(viscosity):當軟件需要改動時,設計不容易保持穩(wěn)定,逐漸脫離最初的設計思路而走樣,造成軟件不同版本之間存在較大差異。不必要的復雜性(needlesscomplexity):過度設計,很多非常聰明的超前的結(jié)構(gòu)目前還不需要,什么時候需要不得而知。不必要的重復性(needlessrepetition):因為忽視抽象而使很多代碼看上去是重復的,將來修改一處時,導致多處修改?;逎裕╫pacity):很難閱讀、理解,不能很好地表現(xiàn)出設計者的意圖,難以與需求規(guī)格描述進行對照。一個低劣的建筑設計方案,技藝高超的工匠也無法造出精品。2.基本設計方法為了設計出結(jié)構(gòu)良好的系統(tǒng),方法如下:(1)把系統(tǒng)劃分為一些部分,其中每一部分的功能簡單明確,內(nèi)容簡明易懂,易于修改。這樣的組成單元可以是模塊、類、組件、服務和子系統(tǒng)。(2)系統(tǒng)功能單元的劃分按層次進行。整個系統(tǒng)分解成若干子系統(tǒng),然后每個子系統(tǒng)按功能再分解為更小的功能單元(如菜單項、人機窗口界面、業(yè)務功能組件等),依次下去。最底層的基本單元可以設計成一個函數(shù)、子過程、或類的一個方法。(3)每一個功能單元應盡可能封裝為獨立的元素,對外提供必要的使用接口,隱藏內(nèi)部的數(shù)據(jù)、算法等實現(xiàn)細節(jié),并盡可能減少各單元間的控制關(guān)系和數(shù)據(jù)交換,使得系統(tǒng)各部分之間是松耦合的狀態(tài)?!蔼毩⒍还铝ⅰ?4)各功能單元對外的接口、以及相互間的控制和依賴等關(guān)系要闡明。這樣,在修改時可以追蹤和控制。3.系統(tǒng)設計師的素質(zhì)要求創(chuàng)造性設計思維;豐富的編程經(jīng)驗和很強的邏輯思維能力;具備將復雜的問題分解成簡單問題的能力,設計易于使用和維護的軟件結(jié)構(gòu),并保證較好的重用性;應對系統(tǒng)結(jié)構(gòu)尤其是軟件結(jié)構(gòu)具有較強美感,善于運用巧妙優(yōu)美的設計模式;應有大局觀,懂得平衡各種開發(fā)局限的制約,權(quán)衡時間、進度成本與系統(tǒng)質(zhì)量、性能等因素提出最佳方案。軟件設計師職位描述架構(gòu)設計師(系統(tǒng)架構(gòu)師)、軟件設計師其他設計相關(guān)職位UI設計師、數(shù)據(jù)庫設計師、高級網(wǎng)絡工程師7.1.3從分析過渡到設計分析的目標是做正確的事(dotherightthing)設計工作就是正確地做事(dothethingright)分析與設計任務和目標不同,但在一些軟件開發(fā)過程方法(如敏捷方法)中,分析和設計沒有嚴格的階段劃分。因為工作內(nèi)容或模型有較強關(guān)聯(lián),分析到設計的建模過程某種程度上是一個從粗到精、從抽象到具體的過程。例如分析階段建立了領(lǐng)域?qū)ο竽P?,完成了對領(lǐng)域?qū)ο笞畋举|(zhì)和核心的分析和抽象,設計階段還會基于該模型進一步完善和擴充。7.2系統(tǒng)設計的內(nèi)容一般劃分為兩部分:總體設計設計軟件的體系結(jié)構(gòu)(也稱架構(gòu),achitecture)設計軟件結(jié)構(gòu),即具體組成元素及其關(guān)系(structure)設計系統(tǒng)對外接口和服務詳細設計各項具體細節(jié),涉及軟硬件的各個方面詳細設計內(nèi)容包括:輸入設計輸出設計人機交互設計(用戶界面設計)模塊處理過程詳細設計/類及用例的詳細設計數(shù)據(jù)庫設計事物代碼體系設計計算機系統(tǒng)和網(wǎng)絡設計軟件結(jié)構(gòu)的演變粒度越來越大,范圍越來越廣服務組件粒度范圍業(yè)務組件技術(shù)組件事件及流程類及方法子程序與業(yè)務的契合基于模塊封裝的軟件結(jié)構(gòu)采用強調(diào)自頂向下、逐層分解的功能模塊設計,也稱為結(jié)構(gòu)化設計。主要包括:將系統(tǒng)劃分成功能模塊(Module);決定每個模塊的功能;決定模塊的調(diào)用關(guān)系;決定模塊的界面(Interface,接口),即調(diào)用時傳入的信息(函數(shù)參數(shù)),以及返回的信息(返回值)。主要模型:模塊結(jié)構(gòu)圖(SC,StructureChart),也稱功能結(jié)構(gòu)圖?;趯ο蠓庋b的軟件結(jié)構(gòu)強調(diào)面向?qū)ο蟮姆庋b,主要包括:識別系統(tǒng)中的對象(Object),設計類(Class);決定每個類的屬性(Attribute)和操作(Operation);決定對象之間的協(xié)作/通信關(guān)系;主要模型:類圖(ClassDiagram)類的方法本質(zhì)上也是模塊封裝基于服務封裝的軟件結(jié)構(gòu)從概念上講,SOA中有三個主要的抽象級別元素:操作:代表單個邏輯工作單元的事務。SOA操作可以與面向?qū)ο笾蓄惖姆椒ㄏ嗵岵⒄?。服務:代表操作的邏輯分組。例如,如果我們將客戶信用視為服務,則按照客戶名稱獲得客戶信用數(shù)據(jù)、建立信用記錄、更新客戶信用等就代表相關(guān)的操作。業(yè)務流程:為實現(xiàn)特定業(yè)務目標而執(zhí)行的一組長期運行的動作或活動,如:批準一項貸款、本科生轉(zhuǎn)專業(yè)、完成訂單等。業(yè)務流程可以通過編排一組服務來定義和實現(xiàn)。主要模型:構(gòu)件圖(ComponentDiagram)/SoaML/BPMN底層基于類來實現(xiàn)軟件設計的兩類模型軟件模型最主要的兩個方面:靜態(tài)模型主要表示軟件結(jié)構(gòu),即組成元素及其關(guān)系,一種是開發(fā)態(tài)的源程序結(jié)構(gòu),另一種是運行態(tài)的構(gòu)件結(jié)構(gòu),即程序打包編譯后的組件結(jié)構(gòu)(Component,如jar、dll)。可以采用模塊結(jié)構(gòu)圖(結(jié)構(gòu)化方法)、類圖(面向?qū)ο蠓椒ǎ?gòu)件圖等描述軟件結(jié)構(gòu)。動態(tài)模型主要表示軟件執(zhí)行動作的步驟和流程控

溫馨提示

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

評論

0/150

提交評論