




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、第三章系統(tǒng)概要設計中的架構(gòu)設計系統(tǒng)分析的目的就是把需求轉(zhuǎn)換為系統(tǒng)的設計,分析與設計是一個前后相互關聯(lián)的過程。通過對本章內(nèi)容的學習,讀者將被引入軟件開發(fā)的設計階段。軟件系統(tǒng)的設計一般分為概要設訓和詳細設計,概要設計中最重要的工作是系統(tǒng)的架構(gòu)設計。從軟件系統(tǒng)的開發(fā)實現(xiàn)角度來看,系統(tǒng)的架構(gòu)設計主要可以分為邏輯架構(gòu)設計與物理架構(gòu)設計兩個緊密相關的設計內(nèi)容。系統(tǒng)的邏輯架構(gòu)設計結(jié)果定義了應用系統(tǒng)中的基本邏輯組成元素,以及這些邏輯元素之間的關系,這在UML中主要通過架構(gòu)包圖來表示;系統(tǒng)的物理架構(gòu)設計主要關注“目標程序及其依賴的運行庫和系統(tǒng)軟件”如何安裝或部署到客戶最終環(huán)境的物理主機中.以及如何部署主機(如各
2、種形式的服務器主機)和網(wǎng)絡配置來保證軟件系統(tǒng)的可靠性、可伸縮性和穩(wěn)定運行性等方面的要求.這主要通過UML中的部署圖來表示。在系統(tǒng)的架構(gòu)設計中,應盡可能地分析清楚系統(tǒng)中哪些邏輯元素是穩(wěn)定的需求,哪些是經(jīng)常變化的需求。以便在進行系統(tǒng)設計時,能夠?qū)④浖到y(tǒng)的核心部分建立在穩(wěn)定的需求上。本章主要介紹系統(tǒng)概要設計中與“架構(gòu)設計”有關的內(nèi)容,并通過州上商城項目中系統(tǒng)架構(gòu)設計的示例來闡述與架構(gòu)設計有關的思想、原則和方法以及模式的具體應用。3.1 概要設計3.1.1 軟件系統(tǒng)設計概述.軟件系統(tǒng)設計概述(1)什么是系統(tǒng)設計?系統(tǒng)設計就是通過某種特定的平臺,完成軟件系統(tǒng)的整體功能(也就是把軟件需求轉(zhuǎn)變?yōu)檐浖木唧w
3、方案)的實現(xiàn)。從工程管理的角度來看,軟件設計分為如下兩個階段:概要設計和詳細設計。圖3.1為概要設計和詳細設計的具體工作內(nèi)容。圖3.l概要設計和詳細設計的具體工作內(nèi)容概要設計的工作重點在于進行系統(tǒng)的靜態(tài)結(jié)構(gòu)或者高層架構(gòu)設汁;詳細設計的工作重點在于系統(tǒng)的用戶界面、動態(tài)結(jié)構(gòu)設計以及測試計劃的制定等。(2)系統(tǒng)的概要設計。將軟件系統(tǒng)的功能性需求和非功能性需求轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)和軟件的系統(tǒng)結(jié)構(gòu),并合理地設計和規(guī)劃出組成軟件系統(tǒng)的物理元素:程序、數(shù)據(jù)庫、過程、文件等內(nèi)容。分析設計人員可以利用UML中的包圖來建立和體現(xiàn)軟件系統(tǒng)的體系架構(gòu)。圖3.2所示為某圖書館管理系統(tǒng)項目中的架構(gòu)包圖。表示層JSP頁面>
4、自定義標簽圖3.2某圖書館管理系統(tǒng)項目中的架構(gòu)包圖從上面的架構(gòu)包圖中,很明顯地能夠看出,該系統(tǒng)采用標準的4層架構(gòu)實現(xiàn):表示層、控制層、業(yè)務處理層和數(shù)據(jù)訪問層;并日還能夠了解每層中各個核心的組件及其關系。(3)系統(tǒng)的詳細設計(重點是系統(tǒng)的動態(tài)結(jié)構(gòu)設計)。通過對軟件系統(tǒng)結(jié)構(gòu)表示的進一步細化和完善,最后獲得軟件系統(tǒng)的詳細數(shù)據(jù)結(jié)構(gòu)和算法、關鍵性問題的解決等方面的解決方案。為此,分析設計人員可以利用UML中的類圖建立相應的體系結(jié)構(gòu),同時再輔以UML中的4種動態(tài)分析圖(順序圖、活動圖、狀態(tài)圖和協(xié)作圖),進一步地描述和體現(xiàn)系統(tǒng)中各個用例的實現(xiàn)行為。圖3,3所示為某圖書館管理系統(tǒng)項目中業(yè)務層的類圖。Stock
5、Managerlnterface(from采購)RuleManagerlntertace(from規(guī)則)圖3.3某圖書館管理系統(tǒng)項目中業(yè)務層的類圖在分析階段,軟件系統(tǒng)的開發(fā)者通過建立特定的軟件系統(tǒng)模型來表示真實世界中的問題,以便理解業(yè)務過程以及這個過程中需要用到的各種信息(業(yè)務數(shù)據(jù)和數(shù)據(jù)之間的關系)圖3,4所示為某圖書館管理系統(tǒng)項目中管理員的各種可能的活動狀態(tài)圖示。圖3.4某圖書館管理系統(tǒng)項目中管理員的各種可能的活動狀態(tài)在具體實施系統(tǒng)的分析時,首先要學會分解問題,把復雜軟件系統(tǒng)中的各種信息和需求進行綜合考慮,然后分解成多個易于理解的小問題。最后通過建立軟件系統(tǒng)的需求模型來對問題領域進行組織、構(gòu)
6、造和模擬,并且編制出相應的技術(shù)文檔。在對軟件系統(tǒng)進行分析建模的過程中,必須要邀請用戶方的有關人員參與,并且需要用戶進一步地解釋這些需求。其目的是驗證開發(fā)者建立的軟件模型是否是正確的、合理的、可行的。因為軟件系統(tǒng)的設計本身,實際上也是個建模的過程,它把分析階段得出的信息,也就是需求模型,轉(zhuǎn)換為稱為解決方案的設計模型。利用組件圖能夠幫助客戶理圖3,5所示為某圖書館管理系統(tǒng)項目中的各個組件的圖示,同時組件圖還能幫助開發(fā)解最終的系統(tǒng)結(jié)構(gòu),并使開發(fā)人員的實現(xiàn)工作有一個明確的目標;組中的其他人員(如幫助文檔人員)理解系統(tǒng)。TAciionSenlct二組件生Actron's匚勺組件Tj業(yè)務實體口組件
7、,一;午匚n圖書管理牛疝件卜規(guī)則管理整件匚n用戶管理匚口組件L二汨二數(shù)據(jù)訪問DA。組件II組件圖3.5某圖書館管理系統(tǒng)項目中的各個組件的圖示.為什么要進行軟件系統(tǒng)的設計(1)進行軟件系統(tǒng)設計的主要原因。因為建立的軟件系統(tǒng)邏輯模型中的用例及用例圖并不是分析模型,或者說不能夠滿足系統(tǒng)的分析需要。它們只是形成分析模型中的素材,而對于用例的分析,開發(fā)者可以構(gòu)造出一個分析模型,但是很少有開發(fā)者直接根據(jù)這個分析模型去完成軟件系統(tǒng)的程序編程實現(xiàn)的。為什么呢叫發(fā)者首先應該了解這樣一個事實,從用例及用例圖得到的分析模型,只表達了軟件系統(tǒng)中的一些關鍵性概念,而不能表達軟件系統(tǒng)中的性能和系統(tǒng)的外觀(如用戶界面GUI
8、)等方面的內(nèi)容。系統(tǒng)分析模型對于最終的軟件系統(tǒng)結(jié)構(gòu)設計來說,又往往過于簡單和粗糙,而在軟件開發(fā)中倡導的“組件復用”、“模塊分離”和“面向接口編程實現(xiàn)”等原則在這個系統(tǒng)分析模型中都不能被考慮。因此,軟件系統(tǒng)的分析設計人員有必要再對前面構(gòu)造出的分析模型進一步地設計和完善,以最終構(gòu)造出開發(fā)者期望的軟件系統(tǒng)發(fā)計模型。以利于指導軟件系統(tǒng)的編程實現(xiàn)。(2)進行軟件系統(tǒng)設計的目的。對軟件系統(tǒng)進行全面設計的主要目的是指明一種易轉(zhuǎn)化成軟件系統(tǒng)功能代碼的解決方案,是對系統(tǒng)分析工作的進一步細化和具體實現(xiàn)。也就是進一步細化分析階段提取的各個類(包括其操作和屬性),并H增加新的類以處理諸如系統(tǒng)中涉及的數(shù)據(jù)庫系統(tǒng)、用戶接
9、口、與其他設備的通信、控制和驅(qū)動其他的設備等技術(shù)領域的問題。.系統(tǒng)設計的基本要求(1)系統(tǒng)分析和系統(tǒng)設計兩者之間應該是相互合作的。系統(tǒng)分析是面向問題的,是明確和了解問題的過程,重在理解和翻譯,靈活性一般比較高;而系統(tǒng)設計則是面向解決方案的,是排除技術(shù)困難和解決問題的過程,重在精化和適應,受約束性和限制條件一般比較多。從整體上看,分析和設計是不同的,在分析階段關注的是對需求的描述和理解,而在設計階段,主要考慮的是具體的技術(shù)實現(xiàn)方案。它們是保障問題和針對該問題的解決方案趨于合理和有效的基本動力。(2)在進行軟件系統(tǒng)設計時應該注意的要點。應該考慮能否使用重復的體系結(jié)構(gòu)模式或者重用成熟的系統(tǒng)架構(gòu)。也就
10、是要考慮本系統(tǒng)能否達到在體系結(jié)構(gòu)級別上的軟件重用,即能否在不同的軟件體系結(jié)構(gòu)中,使用同一個體系結(jié)構(gòu)。比如,人們經(jīng)常提及的客戶服務器模式的C/S體系結(jié)構(gòu)和瀏覽器服務器模式的B/S體系結(jié)構(gòu)等的具體應用問題。體系結(jié)構(gòu)從更高的層面上應該考慮的問題主要體現(xiàn)在“不變”的因素上。軟件系統(tǒng)的體系結(jié)構(gòu)一般應關注應用系統(tǒng)中的設計模式,更加體現(xiàn)在通過技術(shù)解決這些業(yè)務差異所帶來的影響。比如,關注是否是分布式應用程序、系統(tǒng)分層是如何設計和實現(xiàn)的,也關注系統(tǒng)的性能和安全性等方面的要求是如何滿足的。為了能夠達到該設計目標,軟件系統(tǒng)的設計者必須要了解和分離系統(tǒng)中的“不變”和“可變”部分,然后將它們分離開。對“不變”部分或者是
11、穩(wěn)定的部分,盡可能地加以重用。.軟件設計中的“3W原則軟件設計既是面對軟件工程的具體應用技術(shù),同時也是聚焦于大批開發(fā)者相互協(xié)作結(jié)果的藝術(shù),成功的軟件系統(tǒng)產(chǎn)品應該來自于合理的系統(tǒng)設計。什么是合理的系統(tǒng)設計呢?軟件系統(tǒng)的開發(fā)者在進行軟件系統(tǒng)開發(fā)時,最需要考慮的問題就是他們開發(fā)和設計出的軟件系統(tǒng)或者產(chǎn)品必須滿足客戶企業(yè)發(fā)展戰(zhàn)略規(guī)劃的需求,并且能夠幫助企業(yè)解決實際經(jīng)營中的問題,提高本企業(yè)在同行業(yè)中的競爭力。一個合理的軟件系統(tǒng)的設計,應該遵守軟件設計中的“3w”原則。Who(為誰而設計,應該明確軟件系統(tǒng)的真正用戶是誰)。為誰設計表達的是軟件系統(tǒng)的開發(fā)者必須認真研究客戶企業(yè)的業(yè)務領域、研究企業(yè)本身的工作特
12、點,從而對于企業(yè)本身的業(yè)務規(guī)則和流程有深刻的理解,最后形成針對這個企業(yè)業(yè)務經(jīng)營狀態(tài)的解決方案。What(要解決用戶在應用系統(tǒng)時的哪些問題,功能有哪些?性能又有哪些?)。要解決用戶的什么問題,表達的是開發(fā)者必須把企業(yè)存在的問題提取出來,分析研究哪些問題可以用信息化技術(shù)或者特定的軟件系統(tǒng)和工具解決;同時還應該搞清楚,企業(yè)應用了該信息化技術(shù)以后,企業(yè)的業(yè)務流程需要進行的更改,以及這些更改帶給企業(yè)的正面和負面影響。Why(為什么要解決這些問題?將這些問題解決后,能否為用戶帶來價值、降低開發(fā)方的成本等)。為什么要解決這些用戶問題,表達的是如何幫助企業(yè)產(chǎn)生可度量的價值,而這些價值是在研究企業(yè)目前存在的問題
13、的基礎上產(chǎn)生的,沒有這些價值的產(chǎn)生,對軟件系統(tǒng)的投資是沒有意義的。價值不可度量,企業(yè)領導者就不可能積極地支持應用該軟件系統(tǒng)或者開發(fā)出某套軟件系統(tǒng)。另外,還要注意的是設計必須是便于用戶使用的。減少系統(tǒng)維護和培訓資源的消耗,而且系統(tǒng)應操作簡單、應用方便?!?W”原則的本質(zhì),就是要求軟件系統(tǒng)的設計者圍繞“用戶”而不是圍繞“開發(fā)者”或者“時髦的技術(shù)”來開展軟件系統(tǒng)的設計和開發(fā)工作。因此滿足“用戶的需求、便于用戶的使用,同時又能使開發(fā)出的軟件系統(tǒng)在應用新技術(shù)方面盡可能簡單.相應地降低開發(fā)成本”,這就是軟件系統(tǒng)的開發(fā)者應該追求的設計目標。軟件系統(tǒng)設計過程中的各項活動,其實就是權(quán)衡“利與弊”的過程,設計人員
14、需要在“簡單”與“復雜”之間、“功能實現(xiàn)”與“系統(tǒng)性能”之間、一種“技術(shù)方案”與另一種也可行的“技術(shù)方案”之間進行權(quán)衡。因此,好的設計方案,一定是“中庸”的設計。.軟件系統(tǒng)常用的設計方法(1)面向過程的設計方法。面向過程設計方法的基礎建立在3種能夠構(gòu)成結(jié)構(gòu)化程序的邏輯構(gòu)造方面,順序、選擇和重復上;并且面向過程的設計方法采用的是“自頂向下、逐步精化”的瀑布式設計方法,由于瀑布式設計方法是按“自頂而下”的順序進行的,這就要求設計者在一開始就要對系統(tǒng)需要解決的各個問題有全面的、周密的了解。(2)面向?qū)ο蟮脑O計方法。面向?qū)ο蟮脑O計方法主要定義系統(tǒng)中各種可能類型的對象,并對每種類型的對象進行細化,以找出
15、對象之間的關系;面向?qū)ο蟮脑O計方法關注的是消息和響應機制。3.1.2面向?qū)ο笤O計方法1.面向?qū)ο笤O計方法(1)面向?qū)ο笤O計方法的特點。在面向?qū)ο笤O計(Object-OrientedDesign,OOD)方法中,可以充分利用對象具有的抽象性、封裝性、繼承性、多態(tài)性等特性,同時面向?qū)ο笤O計方法是一種“自下而上”的設計方法,這與面向過程的設計方法中的“自上而下”剛好相反。另外,面向?qū)ο笤O計方法的最基本的概念是類、職責、狀態(tài)、角色等,及與這些概念相關的耦合度、聚合度、可重用性、可擴展性、可維護性等。(2)“自下而上”的設計方法的優(yōu)點是能夠形成一種螺旋上升的軟件開發(fā)方式。不像面向過程式設計那樣,在設計的
16、開始階段就需要明確整個軟件系統(tǒng)本身,面向?qū)ο蟮脑O計往往從問題的一部分(局部)著手,一點一點地構(gòu)建整個軟件系統(tǒng)的各個模塊。隨著開發(fā)者在開發(fā)過程中逐步加深對軟件系統(tǒng)需求的理解,開發(fā)者將分階段和分層次地添加對這些新功能的具體實現(xiàn)。這些新的理解以及開發(fā)中遇到的需求變化.都會再作用到軟件系統(tǒng)開發(fā)本身(也包括設計階段),從而形成一種螺旋式上升的開發(fā)方式和開發(fā)過程。在這種開發(fā)方式中,對于已有的系統(tǒng)設計或者部分編程實現(xiàn)的代碼,只需要進行局部修改或者調(diào)整以體現(xiàn)系統(tǒng)的變化即可。.面向?qū)ο笤O計方法與面向過程設計方法的最根本的區(qū)別(1)面向?qū)ο蟮脑O計方法將整個軟件系統(tǒng)看成對象集。面向?qū)ο蟮脑O計方法把軟件系統(tǒng)看成是一起
17、工作來完成某項任務的對象集合,對象是軟件系統(tǒng)中對消息做出響應的事物。對象之間的關系體現(xiàn)問題之問的關系,對象中的屬性體現(xiàn)問題的特征,對象中的方法體現(xiàn)問題的行為或者功能服務。在面向?qū)ο蟮脑O計中產(chǎn)生的各個邏輯對象,其實就是對軟件系統(tǒng)所在問題域中各個問題的映射,設計的結(jié)果是有指導意義的。(2)面向?qū)ο笤O計方法關注的核心。面向?qū)ο笤O計方法中關注的不是它該做什么(這在面向?qū)ο蟮姆治鲋幸呀?jīng)明確),而是它如何做出反應,也就是對消息的響應,這是與面向過程方法的根本不同點。由于面向?qū)ο蠓椒ò褜ο罂闯绍浖到y(tǒng)對消息做出響應的事物,這種與面向過程完全不同的看待計算機軟件系統(tǒng)的方法,必然會構(gòu)造出完全不同的分析、設計和編
18、程實現(xiàn)方式。(3)在面向?qū)ο笤O計(當然也包括編程實現(xiàn))中更多地看重類之間的關系。從面向?qū)ο蟮慕嵌葋砜锤鱾€對象之間的關系時,一般有“關聯(lián)”、“繼承”和“內(nèi)聚”等形式。面向?qū)ο缶幊痰倪^程就是將各個類按以上的各種關系組合在一起,這些關系本身都非常簡單,不過組合在一起卻能提供強大的設計能力。例如例3.1的代碼示例體現(xiàn)了客戶和訂單之間的關聯(lián)關系,因為每個訂單對應特定的客戶,每個客戶對應一些特定的訂單。例3-1體現(xiàn)了客戶和訂單之間關聯(lián)關系的代碼示例。PublicclassUserInfoPrivateArrayListOrders;/其他的成員定義,在此加以省略PublicclassOrderprivat
19、eUserInfosomeOneUser;/其他的成員定義,在此加以省略面向過程中的結(jié)構(gòu)化設計歷來備受冷落的主要原因就是軟件系統(tǒng)的需求和系統(tǒng)的設計之間存在一定的分離和鴻溝,因為在結(jié)構(gòu)化設計中的模塊和模塊之間的關系,被緊緊地局限于信息流,這限制了對模塊之間眾多關系(比如繼承和內(nèi)聚關系)的表達,也無法體現(xiàn)模塊和模塊之間其他的眾多關系,包含各種各樣的結(jié)構(gòu)、行為、依賴、包含(在結(jié)構(gòu)化設計中這種關系隱含在分層中)、繼承、關聯(lián)關系等。(4)面向?qū)ο蟮脑O計是適應性過程,而面向過程的設計是預測的。面向?qū)ο笤O計更多地將重點放在“職責”的劃分、“變化點”的隔離、“交互機制”的確定等問題上,并且面向?qū)ο蟮脑O計認為變
20、化是不可避免的驅(qū)動因素,整個設計是在迭代變更中完成的。.面向?qū)ο笤O計的應用場合(1)設計中強調(diào)的是軟件系統(tǒng)的重用和重構(gòu)。面向?qū)ο蟮脑O計,更傾向于建立一種靈活多變、便于修改、便于升級的軟件系統(tǒng),設計中強調(diào)的是軟件系統(tǒng)中各種組件的重用和重構(gòu)。(2)設計中強調(diào)的是軟件系統(tǒng)的可擴展性。由于面向?qū)ο笤O計技術(shù)的成熟和不斷發(fā)展,面向?qū)ο笤O計已經(jīng)形成了一系列的重要設計原則和方法、設計模式。這些原則和方法可以大大提高系統(tǒng)的設計質(zhì)量;從而使得應用面向?qū)ο笤O計的方法設計和建立一個大型的、分布式的、可升級的、可維護的而且安全的軟件系統(tǒng)成為可能。3.1.3系統(tǒng)設計中的概要設計.概要設計又稱為系統(tǒng)的結(jié)構(gòu)設計(1)在什么時
21、候應該進行系統(tǒng)的概要設計。在系統(tǒng)需求相對比較明確并對需求進行域建模之后,接著進行系統(tǒng)的概要設計。概要設計對隨后進行的編程實現(xiàn)、單元測試和集成測試、系統(tǒng)安裝部署實施和維護工作都將起到關鍵性的影響作用。通過對系統(tǒng)進行概要設計,將系統(tǒng)開發(fā)過程中“做什么”的邏輯模型變換為“如何做”的物理模型。(2)系統(tǒng)概要設計的重要性系統(tǒng)分析過程中產(chǎn)生的分析模型和系統(tǒng)設計過程中產(chǎn)生的設計模型,兩者應該是交錯的,并且是迭代進行的;概要設計的重要性,主要體現(xiàn)在它是把系統(tǒng)需求轉(zhuǎn)化為軟件系統(tǒng)的實現(xiàn)過程中最重要的開發(fā)環(huán)節(jié),并且系統(tǒng)概要設計的優(yōu)劣會在根本上決定軟件系統(tǒng)的整體質(zhì)量和性能。.系統(tǒng)概要設計中涉及的主要內(nèi)容(1)制定本軟
22、件系統(tǒng)的開發(fā)規(guī)范。制定本軟件系統(tǒng)的各種開發(fā)規(guī)范是項目小組今后共同開發(fā)的基礎,有了開發(fā)規(guī)范和程序模塊之間、項目成員彼此之間的接口規(guī)則、方式和方法,開發(fā)團隊中的各個成員就有了共同的工作語言、工作平臺,使整個軟件開發(fā)工作可以協(xié)調(diào)、有序地進行。制定規(guī)范涉及的主要內(nèi)容如下:代碼體系、模塊之間的接口和命名規(guī)則。規(guī)定設計文檔的編制標準。規(guī)定與硬件、操作系統(tǒng)的接口規(guī)約和命名規(guī)則。(2)體系結(jié)構(gòu)設計(架構(gòu)設計)。體系結(jié)構(gòu)是對復雜軟件系統(tǒng)的一種抽象,如客戶/服務器(C/S)和瀏覽器/Web服務器/數(shù)據(jù)庫服務器(B/W/S)結(jié)構(gòu)等的應用。同時在架構(gòu)設計中還應該考慮采用框架技術(shù)的形式和服務器的平臺類型等內(nèi)容。(3)劃
23、分系統(tǒng)中的各個模塊并進行組件類的設計。根據(jù)用戶的需求,實現(xiàn)從功能上來劃分各個功能模塊。在模塊設計中應該遵守功能獨立的單一職責原則(Single-ResponsibilityPrinciple,SRP)。因為功能獨立的模塊可以降低開發(fā)、測試、維護等階段的代價,而且被重用的可能性更高。(4)數(shù)據(jù)結(jié)構(gòu)與算法設計。設計高效率的程序是基于良好的數(shù)據(jù)結(jié)構(gòu)與算法的,而不是基于編程技巧的。因為數(shù)據(jù)結(jié)構(gòu)與算法就是一類數(shù)據(jù)的表示及其相關的操作。確定軟件系統(tǒng)涉及的文件系統(tǒng)的結(jié)構(gòu),以及數(shù)據(jù)庫中數(shù)據(jù)訪問的模式,進行數(shù)據(jù)完整性和安全性的設計,并確定輸入、輸出文件的詳細數(shù)據(jù)結(jié)構(gòu)是本階段需要考慮的問題。(5)數(shù)據(jù)庫的邏輯設計
24、。根據(jù)模塊設計和劃分出的各個實體類、實體類之間的關系、實體類中各個成員的屬性等確定出數(shù)據(jù)庫表中的字段和各個字段的數(shù)據(jù)類型。構(gòu)造數(shù)據(jù)庫的表結(jié)構(gòu)必須遵循一定的規(guī)則。在關系數(shù)據(jù)庫中,這種規(guī)則就是范式。一般說來,數(shù)據(jù)庫只需滿足到第3范式(3NF)即可一一通常被認為在性能、擴展性和數(shù)據(jù)完整性方面達到了比較好的平衡。(6)其他如可靠性等方面的設計。軟件系統(tǒng)在運行過程中,為了能夠適應環(huán)境的變化和用戶新的功能要求,需經(jīng)常對軟件進行修正、完善。在軟件開發(fā)的一開始就要確定軟件可靠性和其他質(zhì)量指標,考慮相應措施,使得軟件易于修改和易于維護。3.概要設計中涉及系統(tǒng)設計的基本原則軟件系統(tǒng)設計的主要任務是什么?如何正確地進行系統(tǒng)各個子模塊的功能劃分?在模塊劃分時要遵守的原則和方法、設計的目標是什么加價一個軟件系統(tǒng)設計的優(yōu)劣,主要考查如下指標是否達到或者滿足。(1)先進性。在設計思想、系統(tǒng)構(gòu)架、采用技術(shù)和選用平臺上均要有一定的先進性、前瞻性和擴充性。特別要考慮一定時
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 外源氮對錳介導凋落物難降解有機碳轉(zhuǎn)化過程的影響
- 上海精裝修房買賣合同范例
- 農(nóng)村采購吸糞車合同范例
- 貴州省社區(qū)醫(yī)務人員職業(yè)延遲滿足、體面勞動感知與職業(yè)認同的關聯(lián)研究
- 基于深度強化學習的多房間住宅冷暖控制算法研究
- 公寓出售標準合同范例
- 冰激淋生產(chǎn)銷售合同范例
- led燈具采購合同范例
- 預制蓋板場地施工方案
- 云南白藥購銷合同范例
- 機電控制與可編程序控制器課程設計
- 布朗德戰(zhàn)略導向的薪酬管理體系
- SOP標準作業(yè)指導書樣板
- 食品經(jīng)營餐飲操作流程(共1頁)
- JTS 144-1-2010 港口工程荷載規(guī)范
- 產(chǎn)液剖面介紹
- 彎矩二次分配法EXCEL計算
- 美國UNF和unc螺紋標準
- 童話故事《老鼠搬雞蛋》.ppt
- 河北省省直行政事業(yè)單位資產(chǎn)(房屋)租賃合同書(共7頁)
- 220kV、110kV設備基礎施工方案
評論
0/150
提交評論