版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
復(fù)習軟件工程學概述可行性分析與需求分析總體設(shè)計詳細設(shè)計實現(xiàn)維護面向?qū)ο蠓椒▽W引論面向?qū)ο蠓治雒嫦驅(qū)ο笤O(shè)計上海大學計算機學院1軟件工程學概述軟件危機定義:指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題。典型表現(xiàn):開發(fā)成本和進度的估計常常很不準確;用戶對“已完成的”軟件系統(tǒng)不滿意;“閉門造車”;軟件質(zhì)量不可靠;軟件常常是不可維護的;軟件成本的比例逐年上升;軟件產(chǎn)品“供不應(yīng)求”;產(chǎn)生軟件危機的原因軟件的規(guī)模加大、復(fù)雜性提高、性能增強;軟件是邏輯產(chǎn)品,尚未完全認識其本質(zhì)和特點;缺乏系統(tǒng)的開發(fā)、維護大型軟件項目的技術(shù)手段和管理方法;用戶和軟件開發(fā)人員的理解鴻溝;錯誤的認識和作法上海大學計算機學院2軟件工程學概述軟件工程定義軟件工程是指導(dǎo)計算機軟件開發(fā)和維護的一門工程學科。采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護軟件,把經(jīng)過時間考驗而證明正確的管理技術(shù)和當前能夠得到的最好的技術(shù)方法結(jié)合起來,以經(jīng)濟地開發(fā)出高質(zhì)量的軟件并有效地維護它。本質(zhì)特性軟件工程的中心課題是控制復(fù)雜性和諧地合作是開發(fā)軟件的關(guān)鍵……上海大學計算機學院3軟件工程學概述軟件工程的7條基本原理用分階段的生命周期計劃嚴格管理堅持進行階段評審實行嚴格的產(chǎn)品控制采用現(xiàn)代程序設(shè)計技術(shù)結(jié)果應(yīng)能清楚地審查開發(fā)小組的人員應(yīng)該少而精承認不斷改進軟件工程實踐的必要性上海大學計算機學院4軟件工程學概述軟件生命周期是軟件產(chǎn)品或系統(tǒng)一系列相關(guān)活動的全周期。軟件生命周期的3個大階段軟件定義:
確定軟件開發(fā)總目標;確定工程的可行性;導(dǎo)出實現(xiàn)策略及系統(tǒng)功能;估計資源和成本,并且制定工程進度表。問題定義、可行性研究、需求分析軟件開發(fā):具體設(shè)計和實現(xiàn)在前一個時期定義的軟件總體設(shè)計、詳細設(shè)計、編碼和單元測試、綜合測試軟件維護:使軟件持久地滿足用戶的需要上海大學計算機學院5軟件工程學概述生命周期中各階段的任務(wù)1.問題定義:
“要解決的問題是什么?”;確定用戶要求解決的性質(zhì)、工程的目標和規(guī)模。2.可行性研究:
“對于上一個階段所確定的問題有行得通的解決辦法嗎?”,經(jīng)濟可行性、技術(shù)可行性、法律可行性、不同的方案3.需求分析:
“為了解決這個問題,目標系統(tǒng)必須做什么”,確定系統(tǒng)必須具有的功能和性能,系統(tǒng)要求的運行環(huán)境,并且預(yù)測系統(tǒng)發(fā)展的前景。4.總體設(shè)計(概要設(shè)計):
“概括地說,應(yīng)該怎樣實現(xiàn)目標系統(tǒng)?”;設(shè)計出實現(xiàn)目標系統(tǒng)的幾種可能的方案。推薦一個最佳方案。5.詳細設(shè)計:
“應(yīng)該怎樣具體地實現(xiàn)這個系統(tǒng)呢?”;設(shè)計出程序的詳細規(guī)格說明。6.編碼和單元測試:
寫出正確的容易理解、容易維護的程序模塊;仔細測試編寫出的每一個模塊。7.綜合測試:
集成測試和驗收測試,現(xiàn)場測試或平行運行8.軟件維護:
使系統(tǒng)持久地滿足用戶的需要。包括:改正性維護,適應(yīng)性維護,完善性維護,預(yù)防性維護。上海大學計算機學院6軟件工程學概述
生命周期模型規(guī)定了把生命周期劃分成哪些階段及各個階段的執(zhí)行順序,因此,也稱為過程模型。典型的過程模型瀑布模型(Waterfallmodel)快速原型開發(fā)模型(RapidPrototypingmodel)增量模型(Incrementalmodel)螺旋模型(Spiralmodel)噴泉模型其它模型極限編程XP(eXtremeProgramming)RUP(RationalUnifiedProcess)建造—修補模型(Build-and-fixmodel)上海大學計算機學院7軟件工程學概述瀑布模型特點階段間具有順序性和依賴性推遲實現(xiàn)的觀點清楚地區(qū)分邏輯設(shè)計與物理設(shè)計,盡可能推遲程序的物理實現(xiàn)。質(zhì)量保證的觀點(文檔驅(qū)動)每個階段都必須完成規(guī)定的文檔每個階段結(jié)束前都要對所完成的文檔進行評審缺點開發(fā)過程一般不能逆轉(zhuǎn),否則代價太大。規(guī)格說明很難理解:“我知道這是按我的要求做的,但不是我想要的樣子。”軟件的實際情況必須到項目開發(fā)的后期客戶才能看到。上海大學計算機學院8軟件工程學概述增量模型把軟件產(chǎn)品作為一系列增量構(gòu)件來設(shè)計、編碼、集成和測試。優(yōu)點每個階段交付一個可用的產(chǎn)品。減少一個全新產(chǎn)品給客戶帶來的心理上的影響。分階段地交付產(chǎn)品不需要大的資金支出。需求經(jīng)常變化,增量模型的靈活性使其具有更加優(yōu)越的適用性。缺點需要一個開放的結(jié)構(gòu),方便構(gòu)件的加入。上海大學計算機學院9軟件工程學概述上海大學計算機學院10生命周期模型優(yōu)點缺點瀑布模型文檔驅(qū)動的有序方法交付產(chǎn)品可能不符合客戶的要求快速原型模型確保交付的產(chǎn)品符合客戶的要求還沒有證明無懈可擊增量模型增大投資的早期回報要求開放的結(jié)構(gòu),可能退化為建造-修補模型螺旋模型結(jié)合上述所有模型的特性只能用于大型的內(nèi)部軟件產(chǎn)品,開發(fā)者必須精通風險分析和風險排除可行性分析與需求分析需求分析的任務(wù)準確地回答“系統(tǒng)必須做什么?”“分析軟件需求和書寫軟件需求規(guī)格說明書”軟件需求用戶解決問題或達到目標所需要的條件或能力;系統(tǒng)或系統(tǒng)部件要滿足合同、標準、規(guī)范或其他正式規(guī)定文檔所需具有的條件或能力反映上述兩個定義中所描述的條件或能力的文檔說明需求層次:業(yè)務(wù)需求用戶需求功能與非功能需求具體任務(wù)確定對系統(tǒng)的綜合要求
功能需求、性能需求、可靠性和可用性需求、出錯處理需求、接口需求、約束、逆向需求、擴展需求分析系統(tǒng)的數(shù)據(jù)要求導(dǎo)出系統(tǒng)的邏輯模型書寫軟件需求規(guī)格說明書修正系統(tǒng)開發(fā)計劃上海大學計算機學院11需求分析數(shù)據(jù)流圖數(shù)據(jù)流圖(DFD)符號數(shù)據(jù)源點/數(shù)據(jù)終點數(shù)據(jù)流數(shù)據(jù)存儲加工/處理根據(jù)描述畫數(shù)據(jù)流圖上海大學計算機學院12總體設(shè)計總體設(shè)計的任務(wù)“概括地說,系統(tǒng)應(yīng)該如何實現(xiàn)?”系統(tǒng)劃分:即確定組成系統(tǒng)的程序、文件、數(shù)據(jù)庫、人工過程和文檔等設(shè)計軟件的結(jié)構(gòu):即確定每個程序是由哪些模塊組成,以及這些模塊相互間的關(guān)系。上海大學計算機學院13總體設(shè)計設(shè)計原理模塊化模塊化的根據(jù)C(P1+P2)>C(P1)+C(P2)E(P1+P2)>E(P1)+E(P2)抽象抽象就是抽出事物的本質(zhì)特性而暫不考慮它們的細節(jié)逐步求精為了能集中精力解決主要問題而盡量推遲對問題細節(jié)的考慮。信息隱藏和局部化信息隱藏原理:應(yīng)該這樣設(shè)計和確定模塊,使得一個模塊內(nèi)包含的信息(過程和數(shù)據(jù))對于不需要這些信息的模塊來說,是不能訪問的。局部化:把一些關(guān)系密切的軟件元素物理地放得彼此靠近。模塊獨立每個模塊完成一個相對獨立的子功能,并且與其它模塊間的接口簡單。模塊獨立性的衡量標準模塊內(nèi)聚(Cohension):模塊內(nèi)各元素交互的程度模塊耦合(Coupling):模塊間交互程度上海大學計算機學院14總體設(shè)計各種耦合的含義設(shè)計時力爭做到低耦合。應(yīng)該采取的設(shè)計原則是:盡量使用數(shù)據(jù)耦合,少用控制耦合和特征耦合,限制公用耦合的范圍,完全不用內(nèi)容耦合。上海大學計算機學院15耦合程度高低耦合內(nèi)容耦合共用耦合控制耦合印記(特征)耦合數(shù)據(jù)耦合總體設(shè)計各種內(nèi)聚的含義設(shè)計時力爭做到高內(nèi)聚,并且能夠辨認出低內(nèi)聚的模塊,通過修改設(shè)計提高模塊的內(nèi)聚程度。上海大學計算機學院16內(nèi)聚程度低高內(nèi)聚偶然性內(nèi)聚邏輯性內(nèi)聚時間性內(nèi)聚過程性內(nèi)聚通信性內(nèi)聚順序內(nèi)聚功能性內(nèi)聚信息性內(nèi)聚總體設(shè)計啟發(fā)規(guī)則改進軟件結(jié)構(gòu)提高模塊獨立性模塊規(guī)模應(yīng)該適中深度、寬度、扇出和扇入都應(yīng)適當模塊的作用域應(yīng)該在控制域之內(nèi)模塊的作用域:受該模塊內(nèi)一個判定影響的所有模塊的集合。模塊的控制域:模塊本身以及所有直接或間接從屬于它的模塊的集合。所有受判定影響的模塊應(yīng)該都從屬于做出判定的那個模塊,最好局限于做出判定的那個模塊本身及它的直屬下級模塊。力爭降低模塊接口的復(fù)雜程度設(shè)計單入口單出口的模塊模塊功能應(yīng)該可以預(yù)測上海大學計算機學院17總體設(shè)計上海大學計算機學院18模塊的判定作用范圍(a)差的結(jié)構(gòu)圖;(b)不理想的結(jié)構(gòu)圖;(c)理想的結(jié)構(gòu)圖TOPABCDEF(b)TOPABCDEF(a)TOPABCDEF(c)總體設(shè)計結(jié)構(gòu)圖描述軟件系統(tǒng)的模塊層次結(jié)構(gòu),清楚地反映出程序中各模塊之間的調(diào)用關(guān)系和數(shù)據(jù)傳遞。上海大學計算機學院19AB輸入數(shù)據(jù)輸出數(shù)據(jù)調(diào)用模塊被調(diào)用模塊選擇調(diào)用循環(huán)調(diào)用總體設(shè)計面向數(shù)據(jù)流的設(shè)計方法基本思想:DFD結(jié)構(gòu)圖兩種信息流類型變換流:掌握從變換流到初始結(jié)構(gòu)圖的轉(zhuǎn)換事務(wù)流上海大學計算機學院20詳細設(shè)計詳細設(shè)計的任務(wù)不是具體地編寫程序,而是設(shè)計程序的“藍圖”,確定每個模塊的處理過程。結(jié)構(gòu)程序設(shè)計自頂向下逐步求精;具有單入、單出的控制結(jié)構(gòu)(取消GOTO語句);結(jié)構(gòu)化定理:任何單入口單出口的程序都可以由“順序”、“選擇”和“循環(huán)”三種基本結(jié)構(gòu)實現(xiàn)。過程設(shè)計的工具(重點是畫圖)程序流程圖盒圖PAD圖判定表上海大學計算機學院21詳細設(shè)計程序流程圖的基本符號上海大學計算機學院22(1)順序結(jié)構(gòu)AB(2)選擇結(jié)構(gòu)PBAFT(3)先判定型循環(huán)結(jié)構(gòu)TPSF(4)后判定型循環(huán)結(jié)構(gòu)FSTP(5)多情況選擇(casestructure)詳細設(shè)計PAD圖的基本符號上海大學計算機學院23詳細設(shè)計判定表上海大學計算機學院24實現(xiàn)編碼風格編碼風格的作用就是使代碼容易讀;風格良好的代碼更容易閱讀和理解,錯誤更少;使用一致和有意義的標識符名用縮進顯示程序結(jié)構(gòu)用加括號的方式排除二義性避免大量使用循環(huán)嵌套和條件嵌套當心運算符的副作用把數(shù)定義稱常量利用sizeof()計算對象的大小清晰的代碼,而非最巧妙的代碼程序的注釋序言性注釋和功能性注釋對一段程序注釋,而不是每一個語句使用數(shù)據(jù)結(jié)束標記(EOF、BOF),不要指定數(shù)據(jù)的數(shù)目來判斷文件的結(jié)束。上海大學計算機學院25實現(xiàn)測試測試的目的就是在軟件投入生產(chǎn)性運行之前,盡可能多地發(fā)現(xiàn)軟件中的錯誤。測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程。調(diào)試的目的是診斷并改正錯誤。對軟件規(guī)格說明、設(shè)計和編碼的最后復(fù)審。開發(fā)總工作量的40%以上,極端情況下,其他開發(fā)步驟總成本的3倍到5倍。好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤的測試方案。成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試。測試只能查找出程序中的錯誤,不能證明程序中沒有錯誤。Pareto原理:80%的錯誤很可能是20%的模塊造成的。從“小規(guī)模”測試逐步到“大規(guī)?!睖y試。窮舉測試是不可能的。為了達到最佳的測試效果,應(yīng)該由獨立的第三方從事測試工作。上海大學計算機學院26實現(xiàn)測試方法黑盒測試:又稱功能測試或數(shù)據(jù)驅(qū)動測試白盒測試:又稱結(jié)構(gòu)測試或邏輯驅(qū)動測試測試步驟模塊測試(單元測試)在這個測試步驟中所發(fā)現(xiàn)的往往是編碼和詳細設(shè)計的錯誤子系統(tǒng)測試模塊放在一起形成一個子系統(tǒng)來測試著重測試模塊的接口系統(tǒng)測試經(jīng)過測試的子系統(tǒng)裝配成一個完整的系統(tǒng)來測試發(fā)現(xiàn)的往往是軟件設(shè)計中的錯誤,也可能發(fā)現(xiàn)需求說明中的錯誤驗收測試(確認測試)它的目標是驗證軟件的有效性(如果軟件的功能和性能如同用戶所合理期待的那樣,軟件就是有效的)用戶積極參與,可能主要使用實際數(shù)據(jù)進行測試發(fā)現(xiàn)的往往是系統(tǒng)需求說明書中的錯誤平行運行上海大學計算機學院27集成測試實現(xiàn)回歸測試回歸測試是指重新執(zhí)行已經(jīng)做過的測試的某個子集,以保證變化(程序改錯、新模塊加入等)沒有帶來非預(yù)期的副作用。()Alpha測試Alpha測試由用戶在開發(fā)者的場所進行,并且在開發(fā)者對用戶的“指導(dǎo)”下進行測試。開發(fā)者負責記錄發(fā)現(xiàn)的錯誤和使用中遇到的問題。總之,Alpha測試是在受控的環(huán)境中進行的。()Beta測試軟件的多個用戶在一個或多個用戶的實際使用環(huán)境下進行的測試。開發(fā)者通常不在測試現(xiàn)場,是在開發(fā)者無法控制的環(huán)境下進行的軟件現(xiàn)場應(yīng)用。上海大學計算機學院28實現(xiàn)集成測試方法非漸增式集成先分別測試每個模塊,再把所有模塊按設(shè)計要求放在一起結(jié)合成所要的程序。先進行單元測試,再進行集成測試漸增式集成 將單元測試與集成測試結(jié)合在一起,把下一個要測試的模塊同已經(jīng)測試好的那些模塊結(jié)合起來進行測試,測試完以后再把下一個應(yīng)該測試的模塊結(jié)合進來測試。自頂向下(Top-Down)集成自底往上(Bottom-Up)集成三明治式(Sandwich)集成上海大學計算機學院29實現(xiàn)幾種集成測試方法的優(yōu)缺點上海大學計算機學院30方法優(yōu)點不足非漸增式集成自頂向下集成自底往上集成三明治式集成錯誤隔離較早發(fā)現(xiàn)主要設(shè)計錯誤錯誤隔離可復(fù)用模塊得到充分測試錯誤隔離較早發(fā)現(xiàn)主要設(shè)計錯誤可復(fù)用模塊得到充分測試沒有錯誤隔離手段主要設(shè)計錯誤發(fā)現(xiàn)遲可復(fù)用模塊得不到充分測試主要設(shè)計錯誤發(fā)現(xiàn)遲實現(xiàn)白盒測試技術(shù):邏輯覆蓋定義:以程序內(nèi)部的邏輯結(jié)構(gòu)為基礎(chǔ)的設(shè)計測試用例的技術(shù)類型語句覆蓋:選擇足夠多的測試數(shù)據(jù),使被測程序中每個語句至少執(zhí)行一次。
判定覆蓋:判定覆蓋又叫分支覆蓋,選擇足夠多的測試數(shù)據(jù)使每個判定的每個分支都至少執(zhí)行一次。條件覆蓋:選擇足夠多的測試數(shù)據(jù)使每個判定表達式中的每個條件都取到各種可能的結(jié)果判定/條件覆蓋:選取足夠多的測試數(shù)據(jù),使得判定表達式中的每個條件都取到各種可能的值,而且每個判定表達式也都取到各種可能的結(jié)果。條件組合覆蓋:選取足夠多的測試數(shù)據(jù),使得每個判定表達式中條件的各種可能組合都至少出現(xiàn)一次。設(shè)計測試用例(會做)上海大學計算機學院31實現(xiàn)黑盒測試技術(shù)等價劃分把程序的輸入域劃分成若干個數(shù)據(jù)類,每類中的一個典型值在測試中的作用與這一類中所有其他值的作用相同。據(jù)此導(dǎo)出測試用例。設(shè)計測試用例(1)設(shè)計一個新的測試方案以盡可能多地覆蓋尚未被覆蓋的有效等價類,重復(fù)這一步驟直到所有有效等價類都被覆蓋為止;(2)設(shè)計一個新的測試方案,使它覆蓋一個而且只覆蓋一個尚未被覆蓋的無效等價類,重復(fù)這一步驟直到所有無效等價類都被覆蓋為止。邊界值分析著重測試輸入等價類和輸出等價類的邊界,選取的測試數(shù)據(jù)應(yīng)該剛好等于、剛剛小于和剛剛大于邊界值。會用等價劃分和邊界值分析法設(shè)計測試用例上海大學計算機學院32維護所謂軟件維護就是在軟件已經(jīng)交付使用之后,為了改正錯誤或滿足新的需要而修改軟件的過程。保證軟件在一個相當長的時期能夠正常運行。60%以上,這個百分比還在持續(xù)上升。維護類型改正性維護 診斷和改正錯誤的過程。17%~21%適應(yīng)性維護 為了適應(yīng)環(huán)境的變化進行的修改軟件的活動。18%~25%完善性維護 增加新功能或修改已有功能。50%~66%預(yù)防性維護 為了改進未來的可維護性或可靠性,或為了給未來的改進奠定更好的基礎(chǔ)而修改軟件。4%左右上海大學計算機學院33維護可維護性:維護人員理解、改正、改動或改進這個軟件的難易程度。提高可維護性是支配軟件工程方法學所有步驟的關(guān)鍵目標。決定軟件可維護性的因素1)可理解性2)可測試性3)可修改性4)可移植性5)可重用性上海大學計算機學院34面向?qū)ο蠓椒▽W引論面向?qū)ο蠓椒▽W的4個要點客觀世界是由各種對象(Object)組成。面向?qū)ο蟮能浖到y(tǒng)是由對象組成的。對象組成對象類(Class)。類是具有相同屬性和行為的對象的集合。每個對象類定義了一組數(shù)據(jù)和一組方法。按照子類(派生類)與父類(基類)的關(guān)系,對象類組成一個層次結(jié)構(gòu)的系統(tǒng)(類等級)。子類繼承(inheritance)父類的數(shù)據(jù)和方法。對象彼此之間僅能通過傳遞消息(Message)互相聯(lián)系。上海大學計算機學院35OO=objects+classes+inheritance+communicationwithmessages面向?qū)ο?對象+類+繼承+消息通信面向?qū)ο蠓椒▽W引論上海大學計算機學院36總存在用錯誤的數(shù)據(jù)調(diào)用正確的模塊,或用正確的數(shù)據(jù)調(diào)用錯誤的模塊的危險。與人類習慣的思維方法一致,解空間與問題空間一致以對象為核心,數(shù)據(jù)以及數(shù)據(jù)上的操作封裝為一個統(tǒng)一體--對象軟件系統(tǒng)由對象組成,以對象間的消息模擬實體間的聯(lián)系。抽象思維,歸納思維,演繹思維開發(fā)圍繞建立問題領(lǐng)域的對象模型,是一個逐步深化的漸進過程解空間與問題空間不一致以算法為核心,數(shù)據(jù)和過程分離。軟件系統(tǒng)由模塊組成,模塊間通過調(diào)用來集成系統(tǒng)。自頂向下按部就班。較差基于功能分解,需求變化大多針對功能功能變化引起軟件結(jié)構(gòu)的整體修改較好功能需求變化僅需要作一些局部性的修改可派生子類以實現(xiàn)功能擴充或修改較差標準函數(shù)庫不是自含的和獨立的模塊重用,則相應(yīng)的數(shù)據(jù)也必須重用。較好通過對象實例或派生類方便修改和擴充,且不影響原有類的使用較易可分解成相互獨立的小產(chǎn)品較難分而不解較好穩(wěn)定性好,易修改,易理解。較差穩(wěn)定性較差,較難修改,較難理解。思維方法特性面向?qū)ο蠓椒▊鹘y(tǒng)方法穩(wěn)定性開發(fā)大型軟件可維護性可重用性面向?qū)ο蠓椒▽W引論面向?qū)ο蟮囊恍└拍顚ο螅悍庋b了數(shù)據(jù)結(jié)構(gòu)及可以施加在這些數(shù)據(jù)結(jié)構(gòu)上的操作(服務(wù)或方法)的封裝體。類:具有相同數(shù)據(jù)和相同操作的一組相似對象的集合消息:要求某個對象執(zhí)行在定義它的那個類中所定義的某個操作的規(guī)格說明。方法:對象所能執(zhí)行的操作,也就是類中所定義的服務(wù)。(如C++的成員函數(shù))屬性:類中所定義的數(shù)據(jù)(如C++的數(shù)據(jù)成員)封裝:表示對象狀態(tài)的數(shù)據(jù)和實現(xiàn)操作的代碼與局部數(shù)據(jù),都被封裝在黑盒子里面,不能從外面直接訪問或修改這些數(shù)據(jù)和代碼。繼承:是子類自動地共享基類中定義的數(shù)據(jù)和方法的機制。多態(tài)性:同一方法,不同的子類有不同的實現(xiàn)。函數(shù)重載:是指在同一作用域內(nèi)的若干個參數(shù)特征不同的函數(shù)可以使用相同的函數(shù)名字。上海大學計算機學院37面向?qū)ο蠓治雒嫦驅(qū)ο蠓治龌卷樞驅(qū)ふ翌悾?-對象;識別結(jié)構(gòu);識別主題;定義屬性;建立動態(tài)模型;建立功能模型;定義服務(wù)。上海大學計算機學院38面向?qū)ο蠓椒▽W面向?qū)ο蠼HN模型對象模型:它是對模擬客觀世界實體的對象以及對象彼此間的關(guān)系的映射,描述系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)。動態(tài)模型:描述系統(tǒng)的控制結(jié)構(gòu)。功能模型:描述系統(tǒng)的功能建模圖形工具(根據(jù)描述畫圖)類圖:類圖描述類及類與類之間的靜態(tài)關(guān)系(關(guān)聯(lián)、聚集、泛化等)。類的狀態(tài)圖:通過描繪對象的狀態(tài)及引起對象狀態(tài)轉(zhuǎn)換的事件,來表示對象的行為。用例圖:描述的是外部行為者所理解的系統(tǒng)功能。系統(tǒng)、行為者、用例及用例之間的關(guān)系。事件跟蹤圖(順序圖)上海大學計算機學院39面向?qū)ο笤O(shè)計面向?qū)ο笤O(shè)計的任務(wù)系統(tǒng)設(shè)計:
確定實現(xiàn)系統(tǒng)的策略和目標系統(tǒng)的高層結(jié)構(gòu);對象設(shè)計:確定解空間中的類、關(guān)聯(lián)、接口形式及實現(xiàn)服務(wù)的算法。上海大學計算機學院40面向?qū)ο笤O(shè)計面向?qū)ο笤O(shè)計的準則模塊化、抽象、信息隱藏耦合(1)交互耦合 對象之間的耦合通過消息連接來實現(xiàn),則這種耦合就是交互耦合。應(yīng)該盡量減少消息中包含的參數(shù)個數(shù),降低參數(shù)的復(fù)雜程度。減少對象發(fā)送(或接收)的消息數(shù)。(2)繼承耦合 繼承是一般化類與特殊類之間耦合的一種形式。設(shè)計應(yīng)該使特殊類盡量多繼承并使用其一般化類的屬性和服務(wù)。內(nèi)聚(1)服務(wù)內(nèi)聚 一個服務(wù)應(yīng)該完成一個且僅完成一個功能。(2)類內(nèi)聚 類的屬性和服務(wù)應(yīng)該全都是完成該類對象的任務(wù)所必需的,其中不包含無用的屬性或服務(wù)。(3)一般-特殊內(nèi)聚一般
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電動巴士采購合同
- 房屋買賣合同的補充協(xié)議樣本
- 購房貸款合同的法律維權(quán)
- 施工總包合同書范本
- 水果退貨政策購銷合同
- XX公司客戶關(guān)系管理制度方案
- 幼兒園安全事故報告與疾病管理制度
- 2024天貓?zhí)詫毜赇伷放剖跈?quán)與代理銷售合作合同3篇
- 2024版汽車租賃與車輛所有權(quán)變更及保險服務(wù)合同3篇
- 經(jīng)濟管理與成本控制制度
- 電廠化學系統(tǒng)簡介課件
- 擋土墻計算實例
- 《無機化學》第七章分子結(jié)構(gòu)和晶體結(jié)構(gòu)
- 醫(yī)療耗材配送服務(wù)方案
- 動物生物技術(shù)(課件)
- EPC總承包項目設(shè)計的總體安排與資源配置方案
- 浙江省溫州市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細及行政區(qū)劃代碼
- 甲醇鈉車間操作規(guī)范流程(堿法)
- 建材行業(yè)重大安全事故隱患檢查表(根據(jù)2022版工貿(mào)行業(yè)重大生產(chǎn)安全事故隱患判定標準編制)
- 金屬催化偶聯(lián)反應(yīng)(共30張)課件
- 小學語文人教五年級上冊(統(tǒng)編2023年更新)第六單元-《父愛之舟》學歷案
評論
0/150
提交評論