章 方法學 結構化,原型化_第1頁
章 方法學 結構化,原型化_第2頁
章 方法學 結構化,原型化_第3頁
章 方法學 結構化,原型化_第4頁
章 方法學 結構化,原型化_第5頁
已閱讀5頁,還剩146頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第3章系統(tǒng)分析方法學3.1系統(tǒng)分析:是一種問題解決技術,是整個系統(tǒng)設計開發(fā)的基礎。包括需求獲取和調查研究的技術3.2掌握幾個關鍵術語(見后頁)

1系統(tǒng)分析系統(tǒng)設計模型驅動分析結構化分析對象對象建模面向對象的方法面向對象分析原型獲取原型快速架構分析敏捷方法需求獲取功能需求和非功能需求用例用例建模業(yè)務需求用例應用數據模型上下文數據模型邏輯模型物理模型系統(tǒng)分析用例3.3Parnas方法:最早的軟件開發(fā)方法由D.Parnas在1972年提出的。當時軟件在可維護性和可靠性方面存在著嚴重問題,因此Parnas針對這兩個問題的提出。1信息隱蔽原則現在信息隱蔽原則已成為軟件工程學中的一條重要原則。2設計時應對可能發(fā)生的種種意外故障采取措施。遺憾:沒有給出明確的工作流程。所以這一方法不能獨立使用,只能作為其它方法的補充。33.4結構化方法學(以Yourdon方法

為主)3.4.1包括SA,SD,SP。自頂向下,逐步求精,基本原則:抽象與分解/主要對系統(tǒng)過程建模特點:A階段性B推遲實施C文檔管理優(yōu)缺點43.4.2結構化分析應用的工具(技術)除了語言或表的描述外,圖形類的有以下:1組織結構圖(OrganizationChart)2業(yè)務流程圖(從業(yè)務角度)3系統(tǒng)流程圖(傾向用于設計)4上下文圖5DFD(數據流圖,數據流程圖)6數據字典7數據立即存取圖(DIAD)8判定樹(也用于設計)9判定表(也用于設計)10功能分解圖(FDD從功能模塊角度,功能結構圖,功能模塊圖)511狀態(tài)轉換圖(狀態(tài)遷移圖。用作行為建模)12U-C矩陣13Varner圖(描述數據結構圖層的圖)14表格分配圖15ERD圖(E-R圖,實體關系圖,數據建模)16數據存儲規(guī)范化NF其中不能用計算機處理的是源終點673.4.2.1組織機構圖描述行政方面的描述雇員、職稱和群體關系的一種圖表,它形象地反映了組織內各機構、崗位上下左右相互之間的關系。組織結構圖是組織結構的直觀反映,也是對該組織功能的一種側面詮釋。83.4.2.2業(yè)務流程圖(TransactionFlowDiagram,TFD)定義:用一些規(guī)定的符號及連線來表示某個具體業(yè)務處理過程。業(yè)務流程圖的繪制是按照業(yè)務的實際處理步驟和過程進行的。業(yè)務流程圖是一種系統(tǒng)分析人員都懂的共同語言,用來描述系統(tǒng)組織結構、業(yè)務流程注重業(yè)務職能的流程,業(yè)務的流轉而非事務91.業(yè)務流程圖的基本符號及含義102.畫業(yè)務流程圖的步驟與例子(1)現行系統(tǒng)業(yè)務流程總結畫業(yè)務流程圖之前,對現行系統(tǒng)進行詳細調查,寫出現行系統(tǒng)業(yè)務流程總結。例如,開發(fā)人員在系統(tǒng)調查階段了解到某企業(yè)的會計核算形式是科目匯總表的核算形式,其帳務處理業(yè)務流程如下:根據審核無誤的原始憑證匯總表編制記帳憑證,包括現金收付、銀行收付、轉帳憑證。根據現金收付款憑證登記現金日記帳。根據銀行收付款憑證登記銀行存款日記帳。根據銀行送來的對帳單對銀行存款日記帳核對。根據記帳憑證及所付原始憑證登記有關明細帳。根據記帳憑證,按相同的借貸方匯總出科目匯總表。根據科目匯總表登記匯總分類帳。將明細帳科目余額與財產物資實用數核對。把總分類帳余額與有關明細帳余額核對。根據總帳、明細帳余額編制各種會計報表。11(2)業(yè)務流程圖突出部門和崗位的輸入輸出12(3)帶泳道的業(yè)務流程圖泳道圖在某些文檔里會被稱為“以活動為單位的流程圖”,浮在泳道中的都是一個個活動。突出活動關系,表示各部門的責任131415163.業(yè)務流程圖的特點(1)圖的形式是按業(yè)務部門劃分的橫式圖(后面泳道圖)。(2)圖描述的主體是票據、帳單的業(yè)務處理。(3)票據、帳單流動路線與實際業(yè)務處理過程一一對應。(4)圖中票據、帳單是有“生”、“死”的,即用它的一次生命周期來表示出一筆業(yè)務的處理情況。4.業(yè)務流程圖的作用5業(yè)務流程圖與數據流程圖173.5.2.3系統(tǒng)流程圖(SystemFlowchart)系統(tǒng)流程圖又叫事務流程圖,反應主體框架。是在計算機事務處理應用進行系統(tǒng)分析時常用的一種描述方法(另一個是數據流圖),它描述了計算機事務處理中從數據輸入開始到獲得輸出為止各個處理工序過程描繪系統(tǒng)物理模型的傳統(tǒng)工具?;舅枷胧怯脠D形符號以黑盒子的形式描繪系統(tǒng)理念的每個部件包括程序,文件,數據庫,表格,人工過程等,表達信息在各個部件之間流動的情況,而不是表示對信息進行加工處理的控制過程18192021基本處理工序1、變換把輸入單據變換成磁盤文件,或把磁盤文件變換成輸出單據,或把某一磁盤文件的內容由一個介質文件傳送到另一介質文件:2223一般在在進行輸入變換同時,還可進行形式性的邏輯檢查,如輸入單據的數據范圍,錄入錯誤等等。2、合并把多個文件合并為一個文件,如:243、劃分是合并的逆操作,將合并工序的輸入文件與輸出文件對調即可:254、分類(排序)按指定的鍵(關鍵字)以升序或降序改變原文件的記錄排列順序。例如,將如下記錄排列的舊文件,按關鍵字升序,依次進行分類,得到新文件:26分類也可和輸入或輸出操作一起進行:275、更新將多個文件作為輸入根據關鍵項目進行對照,對文件進行內容修正、刪除、增加等改寫工作,一般更新的內容先要寫入一個臨時文件:28用系統(tǒng)流程圖設計管理系統(tǒng)應該注意的問題1、盡量縮短處理時間。2、盡量減少空閑時間。3、要考慮便于完成程序的調試。工序數和系統(tǒng)的類型,由于存儲容量和中間介質的使用如何,使用幾臺機器問題,也要受到影響。因此在這個階段,可對存儲容量和機器結構進行預測。29

庫存清單系統(tǒng)的系統(tǒng)流程圖系統(tǒng)流程圖表示的人工銷售教材的一個物理模型。信息流始于學生,又終于學生。313.4.2.4上下文圖(ContextMapping)上下文數據流圖,上下文事件圖(其實也是數據流圖),上下文數據模型(書203),問題分析階段的上下文(P122)等。根據圖的類別不同,上下文圖當然形式也不一樣。323.4.2.5DFD(數據流圖:DataFlowDiagram)1數據流圖:描述數據流從輸入到輸出的變化過程。2上下文圖:顯示了系統(tǒng)界限,用數據流連接實體和過程3DFD

4個元素4分層數據流圖,原則和注意事項34數據流圖四種基本符號數據加工/處理/變換數據源點或終點(外部實體)數據流(dataflow)數據存儲文件或或或數據流圖幾種附加符號分層的數據流圖

F0A0B0F11A0B0F12F13F14F15p1C1D1M1N1F21M1F22N1F23K2F24W2F25p1Y2X2第n

層第n+2

層3839P239圖9-16,事件圖(事件上下文圖),系統(tǒng)圖,基本圖等功能分解圖后,要考慮系統(tǒng)響應什么業(yè)務事件。什么樣的響應比較合適。外部事件,時序事件,狀態(tài)事件。P238用例技術也是確定事件和響應的流行方法之一。事件分解圖:增加事件處理過程到分解圖中系統(tǒng)圖:合并多個事件圖基本圖:顯示單個事件所有的基本過程,數據存儲和數據流4041源點終點處理過程采購員倉庫管理員產生報表處理事務數據流數據存儲訂貨報表(包含數據項)零件編號零件名稱訂貨數量目前價格主要供應者次要供應者事務零件編號事務類型數量訂貨信息(見訂貨報表)庫存清單

零件編號

庫存量

庫存量臨界值42433.4.2.6數據字典(DataDictionary)結構化分析方法的核心,與各模型的圖形表示配合,能清楚地表達數據處理的要求1、4種類型數據內容的符號的使用方法:標示符=字母字符+字母數字串字母數字串=0{字母或數字}7字母或數字=【字母字符\數字字符】

46軟件工程47詞條描述——對于在模型中每一個被命名的圖形元素,均加以定義,其內容有:名字,別名或編號,分類,描述,定義,位置,其它,等。數據流詞條描述數據流名:說明:簡要介紹它產生的原因和結果數據流來源:來自何方數據流去向:去向何處數據流組成:數據結構數據量流通量:數據量,流通量軟件工程48數據元素詞條描述類型:數字(離散值,連續(xù)值),文字(編碼類型)長度取值范圍相關的數據元素及數據結構數據文件詞條描述數據文件名:簡述:存放的是什么數據輸入/輸出數據:數據文件組成:數據結構存儲方式:順序,直接,關鍵碼存取頻率:軟件工程49加工邏輯詞條描述加工名:加工編號:反映該加工的層次簡要描述:加工邏輯及功能簡述輸入/輸出數據流:加工邏輯:簡述加工程序,加工順序數據源及數據詞條描述

名稱:外部實體名簡要描述:什么外部實體有關數據流:數目:軟件工程50數據結構的描述

符號

含義

舉例=被定義為+與

x=a+b[...,...]或[...|...]或x=[a,b],x=[a|b]{...}或m{...}n重復

x={a},x=3{a}8(...)可選

x=(a)“...”基本數據元素

x="a"..連結符

x=1..9軟件工程51存折=戶名+所號+帳號+開戶日+性質+(印密)+1{存取行}50戶名=2{字母}24所號=001..999帳號=00000001..99999999開戶日=年+月+日性質=“1”..“6”注:“1”表示普通戶,“5”表示工資戶等印密=“0”注:印密在存折上不顯示存取行=日期+(摘要)+支出+存入+余額+操作+復核3.4.2.7事件立即存儲圖數據流程圖中定義了數據存儲,在數據字典中表述了數據存儲的結構后,可以使用數據立即存取圖來進行數據存取分析按供應商編號等來查詢該供應商的基本信息,訂單編號等查詢訂單的信息訂單編號等查詢對應的入庫商品的信息。供應商名稱等查詢對應訂單信息及商品的入庫信息相反地,通過輸入商品編號等可以查詢對應的訂單信息和供應商信息。5253通過這些存檔的數據,完成匯總報表操作。包括訂單信息的匯總、入庫單的匯總,生成訂單匯總表和入庫統(tǒng)計表。通過輸入訂購方式、供應商提供商品編號等完成匯總操作。數據存儲之間通過這種關聯管理,來實現快速查詢供應商、訂單、入庫商品信息的操作,且有效的控制了數據的冗余,提高了系統(tǒng)查詢得效率。543.4.2.8處理邏輯表達(PL)1判定樹(決策樹)步驟畫決策樹圖形計算節(jié)點期望損益值修枝選擇最佳決策方案多級決策步驟分段決策最后決策55軟件工程56判定樹檢查發(fā)貨單金額>$500金額$500

欠款>60天不發(fā)出批準書

欠款60天發(fā)貨單發(fā)出批準書、

欠款>60天發(fā)出批準書、發(fā)貨單及賒欠報告

欠款60天發(fā)出批準書、發(fā)貨單表達加工邏輯的一種工具。有時侯比判定表更直觀。軟件工程57條件條件項動作動作項規(guī)則單個條件單個動作2判定表如果數據流圖的加工需要依賴于多個邏輯條件的取值,使用判定表來描述比較合適。軟件工程58以“檢查發(fā)貨單”為例操在償還欠款前不予批準作發(fā)出批準書發(fā)出發(fā)貨單發(fā)出賒欠報告1234條發(fā)貨單金額>$500>$500≤$500≤$500件賒欠情況>60天≤60天>60天≤60天軟件工程59if發(fā)貨單金額超過$500thenif欠款超過了60天then

在償還欠款前不予批準

else(欠款未超期)發(fā)批準書,發(fā)貨單

else(發(fā)貨單金額未超過$500)

if欠款超過60天then

發(fā)批準書,發(fā)貨單及賒欠報告

else(欠款未超期)發(fā)批準書,發(fā)貨單

3結構化語言:商店業(yè)務“檢查發(fā)貨單”3.4.2.9狀態(tài)轉換圖狀態(tài)狀態(tài)是任何可以被觀察到的系統(tǒng)行為模式,一個狀態(tài)代表系統(tǒng)的一種行為模式。事件事件是某個特定時刻發(fā)生的事情,它是引起系統(tǒng)做動作或狀態(tài)轉換的控制信息。符號例子633.4.2.10ER圖(概念模型)對現實世界的實體及其之間關系的抽象。數據庫表是屬于數據模型,用來描述數據的結構關系。首先通過需求分析的人員根據客戶抽象出ER圖,然后由數據庫的設計人員根據ER圖和用戶對查詢等方面的需求設計出數據庫的表結構,以及相關的視圖和索引實體型屬性聯系規(guī)范化(第1,2,3范式)64651對1關系在兩個實體連線方向寫1;1對多關系在1的一方寫1,多的一方寫N多對多關系則是在兩個實體連線方向各寫N,M軟件工程66結構化分析方法最初只是著眼于數據流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數據流圖和數據字典為主要工具,建立系統(tǒng)的邏輯模型。擴充后,將建模技術擴展到數據建模、功能建模和行為建模,以實體-關系圖、數據流圖和控制流圖、狀態(tài)-遷移圖為工具,數據字典為核心,從不同視點建立系統(tǒng)的分析模型。結構化分析方法軟件工程67結構化分析的分析模型實體—關系圖狀態(tài)—遷移圖數據流圖數據對象描述加工規(guī)格說明數據字典控制規(guī)格說明3.4.3結構化設計應用的工具(技術)將分析部分的邏輯模型轉化為物理模型1系統(tǒng)結構圖2物理DFD3層次方框圖(描述數據結構的)4層次結構圖(H圖,層次圖,軟件層次圖)5IPO圖(輸入處理輸出圖)6HIPO圖(概要設計)7N-S盒圖(詳細)8PAD圖(問題分析圖,PAM方法中用,詳細)9系統(tǒng)流程圖10處理流程圖(詳細)11程序網絡圖(少)6812系統(tǒng)資源圖(少)13程序流程圖(詳細)13軟件結構圖14程序結構圖(詳細)15Petri圖網(形式化的方法)16jackson圖(詳細)17PDL(過程設計語言,偽碼,詳細)693.4.3.1系統(tǒng)結構圖703.4.3.2物流數據流圖在設計部分,利用之前的DFD經過變換型分析設計和事務型分析設計(Yourdon方法)DFD轉成物理DFD利用DFD,數據字典等畫出HIPO圖并逐步細化,得出模塊的詳細層次結構(更精細的H圖),即模塊分解圖713.4.3.3層次方框圖用樹形結構的一系列多層次的矩形描述數據的層次結構.頂層是一個單獨的矩形框,它代表完整的數據結構,下面的各層矩形框代表這個數據的子集,最底層的各個框代表組成這個數據的實際數據元素(不能再分割的元素)與層次圖(H圖,層次結構圖)差異727374層次圖層次方框圖作用描繪軟件結構描繪數據結構矩形框模塊數據元素連線調用關系組成關系3.4.3.4IPO與HIPOHIPO圖:Hierarchyplusinput-processing-output圖表示軟件系統(tǒng)結構的工具。HIPO圖以模塊分解的層次性以及模塊內部輸入、處理、輸出三大基本部分為基礎建立的。H圖描述軟件的層次結構,同結構圖一樣未指明調用順序。對一些重要模塊還必須根據數據流圖、數據字典及H圖繪制具體的IPO圖IPO圖:input-processing-output圖輸入/處理/輸出圖的簡稱,

描述輸入數據、對數據的處理和輸出數據之間的關系。HIPO圖=IPO圖+hierarchychart(層次圖)75HIPO圖三個部分1總體HIPO2HIPO(帶編號的層次圖)3低層主要模塊詳細的IPO圖76777879企業(yè)訂單處理系統(tǒng)的數據流程圖(如下圖),應用HIPO圖法進行模塊層次功能分解8081828384853.4.3.5N-S圖流程線不一定是必需的,人們設計了一種新的流程圖,它把整個程序寫在一個大框圖內,這個大框圖由若干個小的基本框圖構成。特點:功能域明確很容易確定局部和全局數據的作用域不可能任意轉移控制很容易表示嵌套關系及模塊的層次關系86

盒圖(N-S圖)N-S圖的基本符號88含GOTO語句的用程序流程圖,改為N_S圖。

3.4.3.6PAD圖PAM開發(fā)方法(問題分析法,ProblemAnalysisMethod)兼顧Yourdon方法、Jackson方法和自底向上的軟件開發(fā)方法的優(yōu)點,避免它們的缺陷。基本思想:考慮到輸入、輸出數據結構,指導系統(tǒng)的分解,在系統(tǒng)分析指導下逐步綜合。具體步驟:從輸入、輸出數據結構導出基本處理框;分析這些處理框之間的先后關系;按先后關系逐步綜合處理框,直到畫出整個系統(tǒng)的PAD圖。本質上是綜合的自底向上的方法,但在逐步綜合之前已進行了有目的的分解,這個目的就是充分考慮系統(tǒng)的輸入、輸出數據結構。

90優(yōu)點:1用表示結構優(yōu)化控制結構的PAD符號所設計出來的程序必然是程序化程序2PAD圖所描述的程序結構十分清晰.一種二維樹形結構圖,較好的詳細設計表示方法之一,遠遠優(yōu)于NS圖和PDL語言。

3易讀4易轉換為高級語言5可表示程序邏輯也可表示數據結構9192933.4.3.7流程圖

1流程圖使用約定2流程圖的三種基本結構:

順序、選擇、循環(huán)。

工資管理信息系統(tǒng)流程圖963.4.3.8處理流程圖系統(tǒng)流程圖對每一處理功能只是列出其處理功能名稱,而處理流程圖則使用各種符號具體地規(guī)定了處理過程中的各個細節(jié),包括程序名和文件名。處理流程圖實際上是系統(tǒng)流程圖的展開可具體化,屬于詳細設計的內容,應和處理功能的模塊設計一起進行。97扣款文件處理功能流程圖

983.4.3.9程序網絡圖991003.4.3.101011023.4.3.11軟件結構圖1.結構圖的符號(1)方框代表模塊。直線,表示上層模塊對下層模塊的調用(2)方框之間的大箭頭或直線表示模塊的調用關系。(3)帶注釋的小箭頭表示模塊調用時傳遞的信息及其傳遞方向。尾部加空心圓的小箭頭表示傳遞數據信息。尾部加實心圓的小箭頭表示傳遞控制信息。(4)選擇結構(5)循環(huán)結構,模塊M循環(huán)調用模塊A,B,C103注意:層次圖和結構圖并不嚴格表示模塊的調用次序,層次圖和結構圖只表明一個模塊調用那些模塊,至于模塊內還有沒有其他成分則完全沒有表示。作用:描述模塊間參數交換情況、評價模塊間耦合情況、確定模塊間的接口。結構圖一般不列入設計文檔,只用于設計階段檢查模塊設計的正確性和模塊獨立性。104

1052.結構圖的繪制

學生成績管理系統(tǒng)的結構圖3.4.3.12程序流程圖描述程序中控制流的情況,即程序中處理的執(zhí)行順序和執(zhí)行序列所依賴的條件,圖中的有向線段表示的是控制流,從一個處理走到下一個處理1程序流程圖的標準符號2優(yōu)缺點107108109缺點:(1)并不是逐步求精的好工具。使程序員容易過早地考慮程序的具體控制流程,而忽略了程序的全局結構;(2)程序流程圖中用箭頭代表控制流,這樣使得程序員不受任何約束,可以完全不顧結構程序設計的精神,隨意轉移控制;(3)程序流程圖在表示數據結構方面存在不足。3.4.3.13程序的系統(tǒng)結構圖:反應的是系統(tǒng)中模塊的調用關系和層次關系,誰調用誰有一個先后次序關系。途中的有向線段表示調用時程序的控制從調用模塊一道被調用模塊,并隱含了當調用結束時控制將交回給調用模塊1113.4.3.14JACKSON圖(面向數據結構的)對輸入、輸出數據結構明確的中小型系統(tǒng)特別有效,如商業(yè)應用中的文件表格處理。也可與其它方法結合,用于模塊的詳細設計。113面向數據結構的設計方法1)順序結構

ABCDA由B、C、D三個元素順序組成2)選擇結構

AB°C°D°根據條件A選擇B、C、D中的某一個3)重復結構AB*A由B出現N次組成改進的Jackson圖

ABCD改進的Jackson圖ABoCoDoABo-oAB*S(i)S(i)I(i)(a)(b)(c)(d)3.4.3.15PDL語言(過程設計語言)特點:(1)詳細設計階段工具。(2)用PDL寫出的程序,既可以很抽象,又可以很具體。因此,容易實現自頂向下逐步求精的設計原則。(3)PDL描述同自然語言很接近,易于理解。(4)PDL描述可以直接作為注釋插在源程序中,成為程序的內部文檔。這對提高程序的可讀性是非常有益的。(5)PDL描述與程序結構相似,因此自動產生程序比較容易。缺點:不如圖形描述形象直觀,常將PDL描述與一種圖形描述結合起來使用。3.5原型化方法(動態(tài)分析法)1與結構法比較2優(yōu)點3其他具體特點幾點:(1)原型化的生命周期和結構化的區(qū)別(2)原型生命周期劃分的步驟

(3)使用原型化(4)不同類原型開發(fā)法1191201211)進化式原型開發(fā)基本思路是:先給出一個系統(tǒng)的最初實現,讓用戶去使用和評價,不斷進行細化和改善,經過多次這樣的反復過程后形成最終的完善的系統(tǒng)。開發(fā)抽象描述建立原型系統(tǒng)使用原型系統(tǒng)系統(tǒng)充分嗎?交付系統(tǒng)否是軟件工程1222)拋棄式原型開發(fā)基本思路是:原型的根本作用是弄清楚需求和為風險評估提供補充信息。通過評估后,原型被拋棄,重新規(guī)劃和實施系統(tǒng)的開發(fā)??蚣苄枨箝_發(fā)原型確定系統(tǒng)評估原型開發(fā)軟件問題可驗證系統(tǒng)問題可交付的軟件系統(tǒng)可復用構件3.6面向對象的分析和設計3.6.1概述1定義:面向對象方法是一種運用對象、類、繼承、封裝、聚合、消息傳遞、多態(tài)性等概念來構造系統(tǒng)的軟件開發(fā)方法。2面向對象=對象+類+繼承+消息通信3面向對象的主要特征:封閉性(Encapsulation)

繼承性(Inheritance)

多態(tài)性(Polymorphism1234對象與封裝:對象是描述客觀事物的一個實體,構成系統(tǒng)的一個基本單位。要素:面向對象的軟件系統(tǒng)是由對象組成的。復雜的對象由比較簡單的對象組合而成。而且把數據也封裝在里。5對象的三要素:標識(名字),屬性(狀態(tài)或數據,描述靜態(tài)特征的),服務(操作,行為,或方法,描述動態(tài)特征)。1246類(class)具有共同屬性和行為的對象的抽象類與對象的關系類是對象的抽象對象是類的實例類對象對象、實體與類對象實體類抽象數據類計算機世界現實世界計算機邏輯的實現影射抽象實例化抽象概念世界

7封裝封裝是軟件開發(fā)方法的重要原則,兩涵義:把對象的全部屬性和全部服務結合在一起,形成一個不可分割的獨立單位(對象)。盡可能隱蔽對象的內部細節(jié)(信息隱蔽)封裝:要提供接口傳統(tǒng)方法數據與過程是分離的過程1輸入輸出過程2過程3數據實體屬于該對象的數據對象處理數據的方法消息消息對象把數據和處理數據的方法封狀成一個單元8傳統(tǒng)方法和面向對象方法的比較傳統(tǒng)方法系統(tǒng)是過程的集合過程與數據實體交互過程接受輸入并產生輸出面向對象方法系統(tǒng)是交互對象的集合對象與人或其它對象交互對象發(fā)送與響應消息9繼承(繼承性inheritance)繼承性是父類和子類之間共享數據和方法的機制繼承性具有傳遞性繼承性包括單繼承和多重繼承

子類繼承部分增加部分父類共性部分繼承性作用

使軟件系統(tǒng)具有開放性更好地進行抽象與分類增強代碼的重用率10多態(tài)(多態(tài)性polymorphism)不同的對象收到同一消息可產生完全不同的結果,這一現象叫做多態(tài)多態(tài)的效果用戶發(fā)送一個通用的消息,而實現的細節(jié)則由接收對象自行決定11消息(message)消息通信

對象之間相互請求或相互協作的途徑,是要求某個對象執(zhí)行某個功能操作的規(guī)格說明消息內容

通常包含接收方及請求接收方完成的功能信息發(fā)送方

發(fā)出消息,請求接收方響應接收方

收到消息后,經過解釋,激活方法,予以響應12主動對象:可以使開發(fā)者從系統(tǒng)建模開始用對象表達問題域中事物的主動行為和系統(tǒng)中的每個任務。被動對象,兩個不足:1不符合客觀世界2非多個任務。

概念,注意兩點,Classname如果是主動對象用@在前面@CLASSNAMEattibutesOperations()類:具有相同屬性和服務的一個或一組對象的抽象定義。134軟件工程1353.6.2典型的面向對象分析(OOA)建模方法每種方法都有各自的分析過程和符號體系。Booch方法認為開發(fā)是螺旋上升過程:4個步驟/周期強調邏輯視圖和物理視圖的區(qū)別提供靜態(tài),動態(tài)模型軟件工程136Booch方法包含“微開發(fā)過程”和“宏開發(fā)過程”。微開發(fā)過程定義了一組任務,并在宏開發(fā)過程的每一步驟中反復使用它們以維持演進途徑。Booch的OOA宏開發(fā)過程的任務包括標識類和對象、標識類和對象的語義、定義類與對象間的關系,以及進行一系列求精實現分析模型。軟件工程137Rumbaugh(OMT)方法又稱為對象模型化技術OMT,從具體到抽象,用于分析、系統(tǒng)設計和對象級設計。分析活動建立三個模型:1)對象模型描述對象、類、層次和關系2)動態(tài)模型描述對象和系統(tǒng)的行為3)功能模型類似于高層的DFD,描述穿越系統(tǒng)的信息流軟件工程138Coad和Yourdon方法其OOA過程概述如下:1)使用“要找什么”準則標識對象;2)定義對象之間的一般化∕特殊化結構(又稱為分類結構);3)定義對象之間的整體∕部分結構(又稱為組裝結構);4)標識主題(系統(tǒng)構件的表示);5)定義對象的屬性及對象之間的實例連接;6)定義服務及對象之間的消息連接。OOA的結構

類的邊界Class&objectlayer(類及對象層)Attributelayer(屬性層)Servicelayer(服務層)Structurelayer(結構層)Subjectlayer(主題層)實例的邊界實例連接消息連接主題服務屬性(1)主題層(2)對象層(類)對象是屬性及其專用服務的一個封裝體,是對問題域中的人事和物等客觀實體進行的抽象描述。(3)結構層(關系層)在OO方法中組裝結構和分類結構是兩種重要的結構類型:整體與部分,一般與特殊(4)屬性層(有的叫特征層)對象的屬性值屬性值,就是一些狀態(tài)的信息數據(5)服務層一個服務就是收到一條信息后所執(zhí)行的處理操作服務是對模型化的現實世界的進一步抽象140客觀世界中的實體——問題域中的對象;計算機中的實體——解空間對象;軟件工程141Jacobson方法又稱為OOSE(面向對象軟件工程)。特色是強調用例(UseCase)。Jacobson方法概述如下:標識系統(tǒng)的用戶和它們的整體責任;通過定義參與者及其職責、用例、對象和關系的初步視圖,建立需求模型;通過標識界面對象、建立界面對象的結構視圖、表示對象行為、分離出每個對象的子系統(tǒng)和模型,建立分析模型。軟件工程142Wirfs―Brock方法不明確地區(qū)分分析和設計任務。從評估客戶規(guī)格說明到設計完成,是一個連續(xù)的過程。與Wirfs―Brock分析有關的任務如下:1)

評估客戶規(guī)格說明;2)

使用語法分析從規(guī)格說明中提取候選類;3)

將類分組以標識超類;4)

定義每一個類的職責;5)

將職責賦予每個類;6)

標識類之間的關系;7)

基于職責定義類之間的協作;8)

建立類的層次表示;9)

構造系統(tǒng)的協作圖。軟件工程143UML的OOA方A三大類模型:對象模型,動態(tài)模型,功能模型對象模型:5個層次,4種關系類和對象,確定結構與關聯,劃分主題,定義屬性,定義服務對象和類之間的關系:4種:

一般---特殊結構(分類結構)

整體---部分結構(組裝結構)

實例關聯(一個類的屬性中含有另一個類的實例)

消息關聯

溫馨提示

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

評論

0/150

提交評論