传统的开发方法课件_第1页
传统的开发方法课件_第2页
传统的开发方法课件_第3页
传统的开发方法课件_第4页
传统的开发方法课件_第5页
已阅读5页,还剩45页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

傳統的開發方法軟

件

工

程

方

法

在軟體工程中,把面向對象方法產生之前的軟體開發方法統稱為傳統的開發方法,主要有面向數據流的結構化方法和面向數據結構的Jackson方法。

7.1面向數據流的開發方法結構化方法是從分析、設計到實現都使用結構化思想的軟體開發方法,軟

件

工

程

方

法是結構化分析SA(StructuredAnalysis)、結構化設計SD(StructuredDesign)和結構化程式設計SP(StructuredProgramming)的總稱。一、概述結構化方法是指基於模組化的思想,按照“自頂向下、逐步求精”的原理對系統的功能和結構進行劃分,利用一定的工具,按照特定步驟工作的軟體開發方法。它的2個基本原則是抽象與分解。軟

件

工

程

方

法

結構化方法的優點:(1)簡單、實用。(2)適合於瀑布模型,易為開發者掌握。(3)成功率較高。(4)特別適合於數據處理領域中的應用,對其他領域的應用也基本適用。結構化方法的缺點:(1)對於規模大的專案,特別複雜的應用不太適應。(2)難於解決軟體重用的問題。(3)難於適應需求的變化。(4)難於徹底解決維護問題。二、結構化分析結構化分析是一種面向數據流的需求分析方法,適合於數據處理類型的軟體系統。特點:清晰、簡明,易於學習和掌握。在處理一個複雜系統時,結構化分軟

件

工

程

方

法分析方法的辦法是:(1)把分析對象抽象成為一個系統;(2)由頂向下層層分解,得到若干簡單的子系統;(3)理解子系統的每一個細節、前後順序和相互關係,找出各部分之間的介面。在分層過程中,採用不同程度的“抽象”級別。最高層的問題最抽象,低層的較為具體。軟

件

工

程

方

法軟

件

工

程

方

法

結構化分析方法要用到以下幾個工具:數據流圖、數據字典、結構化語言、判定表和判定樹。1、數據流圖(P155及P156附加符號)

畫數據流圖的注意事項:(1)數據流、加工、數據檔的命名要合適。(2)數據流名稱只能是名詞或名詞短語。(3)不能將數據流畫成物流。軟

件

工

程

方

法(4)每個加工至少有一個輸入數據流和一個輸出數據流。(5)每一層的子圖應編號,該編號就是其父圖中相應加工的編號。(6)父圖與子圖要保持平衡。(7)局部數據存儲。(8)分解的程度:為了提高數據流的易理解性,分解應自然,概念上合理、清晰,加工之間的邏輯聯繫盡可能少,且分解要均勻。軟

件

工

程

方

法2、數據字典數據字典是以一種準確的和無二義的方式對數據流圖中的所有名字進行定義(或說明)的匯總。數據字典的條目可以分成4種類型:數據流、數據檔、資料項目和加工。在數據字典中出現的符號,見課本P160表7-1。加工條目是對某個加工進行描述。理想的加工邏輯說明應該是嚴格精確且容易被軟體人員和用戶所理解。軟

件

工

程

原

理資料項目“數量”的字典條目資料項目名:數量別名:購書量取值:正整數備注:軟

件

工

程

原

理數據流“發票”的字典條目數據流名:發票別名:購書發票組成:學名+姓名+{書號+單價+數量+總價}+書費合計備注:軟

件

工

程

原

理數據檔“各班學生用書表”的字典條目檔案名:各班學生用書表別名:組成:{系編號+專業和班編號+年級+{書號}}組織:按系、專業和班編號從小到大排列備注:軟

件

工

程

方

法3.4書寫銷售單訂貨單(貨號+訂貨量)銷售單(單價+合計+銷售稅款+總計)書寫銷售單價格檔軟

件

工

程

方

法加工名:書寫銷售單編號:3.4輸入數據流:訂貨單輸出數據流:銷售單激發條件:收到訂貨單加工邏輯:按照訂貨單上的貨號訪問價格檔,並將價格檔記錄的單價複製到銷售單的單價上去。確定合計=單價×訂貨量確定銷售稅款=合計的3%確定總計=合計+銷售稅款執行頻率:150次/天注釋:軟

件

工

程

方

法

其中,加工邏輯一般稱為加工邏輯小說明。目前,表達加工邏輯小說明的工具有:結構化語言、判定樹、判定表等。

P164-165表7-2、表7-3有錯誤!三、結構化設計結構化設計是以模組化技術為基礎的軟體設計方法。包括概要設計和詳細設計兩個方面。1、表示軟體結構的圖形工具軟

件

工

程

方

法(1)HIPO圖。

HIPO(HierarchyPlusInPut/Processing/OutPut)圖是表示軟體系統結構的工具。它可分為兩部分:H圖和IPO圖。(a)H圖(層次圖)

H圖用於描述軟體系統中各個組成部分的層次結構,矩形框表示一個模組,矩形框之間的直線表示模組之間的調用關係。下麵是AutoCAD系統的H圖:軟

件

工

程

方

法繪新圖1.0編輯已有圖形2.0繪圖機繪圖3.0打印機繪圖4.0參數設置5.0文件管理6.0編譯型字體文體7.0修複受損圖形文件9.0轉換舊版本圖形文件8.0返回10.0繪圖AutoCAD(b)IPO圖描述每個模組輸入/輸出數據、處理功能及模組調用的詳細情況。軟

件

工

程

方

法輸入處理輸出軟

件

工

程

方

法課堂練習:某學生成績管理系統可按姓名、學號、班級進行查詢,並可以實現添加、刪除、修改和輸出某一個學生的成績或某個班級所有學生的成績。用所學知識,畫出該系統的HIPO圖。軟

件

工

程

方

法(2)結構圖。結構圖(StructureChar,簡稱SC)是軟體結構設計的另一個有力工具。它以特定的符號定義了模組的名字和功能、模組間的調用關係和模組間資訊的傳遞。結構圖的主要內容有:(a)模組下圖顯示了SC圖使用的6種模組:軟

件

工

程

方

法傳入模組傳出模組變換模組源模組端(漏)模組控制模組XXXXXYYYYY(b)模組調用和資訊傳遞軟

件

工

程

方

法AB調用模組被調模組A查詢學生成績B查找學生記錄學號查找成功信號記錄地址數據資訊控制資訊軟

件

工

程

方

法ACBDEFXY結構圖示例(提問:該圖與課本P169圖7-14的不同之處)軟

件

工

程

方

法2、面向數據流的設計結構化設計方法是目前使用最廣泛的一種設計方法,也是最基礎的軟體設計方法。通常所說的結構化設計是一種面向數據流設計DFOD(DataFlowOrientedDesign),是與數據流分析(DFA)對應的軟體設計技術。(1)變換分析設計的過程:(a)找出系統的主加工,確定邏輯輸入和邏輯輸出。(b)設計模組結構的頂層和第一層。軟

件

工

程

方

法(c)設計中、下層模組。

輸入模組的功能是向它的調用模組提供數據,應由接收和轉換成調用模組所需的資訊兩部分組成,即每個輸入模組可以設計成兩個下屬模組:一個接收,一個轉換。

輸出模組的功能是將它的調用模組產生的結果送出,它應由將數據轉換成下屬模組所需的形式和發送數據兩部分組成,即每個輸出模組可以設計成兩個下屬模組:一個轉換,一個發送。軟

件

工

程

方

法取卡片編輯卡片檢查次序讀記錄記錄記錄順序記錄順序卡片順序卡片修改資訊讀卡片檢查順序卡片卡片順序卡片MFUP寫記錄列印報告取順序記錄取修改資訊匹配修改記錄修改後記錄記錄卡片順序記錄

修改資訊

記錄卡片

匹配結果記錄報告軟

件

工

程

方

法檢查順序檢查合理性構成記錄核對匹配修改產生新記錄檢查新記錄修改卡片舊檔正確檔順序卡片修改資訊記錄修改資訊需修改的記錄不需修改的資訊修改後的記錄新記錄新檔*軟

件

工

程

方

法(2)事務分析設計的過程:(a)確定DFD中的事務中心和加工路徑。(b)設計軟體結構的頂層和第一層。(c)事務結構中、下層模組的設計、優化等工作同變換結構。在實際情況下,數據流圖往往是變換型和事務型結構的混合,此時,一般以變換分析為主,事務分析為輔進行設計:先找出主加工,設計出結構圖的上層,然後根據數據流圖的特點,軟

件

工

程

方

法適當地運用變換分析或事務分析。XYZUVAB1B2B3C1C2C3D軟

件

工

程

方

法systemGetAXYZPutDAction1ActionnDetail1DetailnAB1C1B2C2C3B3D……事務層操作層細節層棱形有什麼含義?軟

件

工

程

方

法(3)結構圖的改進結構圖的改進是圍繞著結構化設計的總則進行的,即要使每個模組執行一個功能,模組間傳送數據型參數,而且參數盡可能少。改進結構圖時可從6個方面考慮:(a)功能性模組的組成。一個功能性模組應包括:

a)執行某項具體任務的部分。

b)當完不成任務時,通知調用模組發生了例外情況的部分。軟

件

工

程

方

法c)若要返回一系列數據給它的調用模組,則應包括數據結束時通知調用模組“檔完”的部分。(b)消除重複的功能。XYQ1

Q2

軟

件

工

程

方

法XYQ’XYQQ1’Q2’YXQ2’QQXY

軟

件

工

程

方

法(c)模組的作用範圍和控制範圍。一個判定的作用範圍是指受這個判定影響的模組的集合。一個模組的控制範圍是指模組本身和它的全部下屬模組。

SD方法認為應該使判定的作用範圍處於判定所在模組的控制範圍之內。如果在設計中沒有恰當地安排判定的作用範圍和模組的控制範圍,則會產生以下不良的後果:重複判軟

件

工

程

方

法定;增加模組間的耦合;產生病態控制流或數據流。如果判定的作用範圍不在判定的控制範圍之內,可採用以下手段對結構圖進行改進:

a)將作判定的模組合併到它的調用模組中,從而使判定處於足夠高的位置。

b)將受判定影響的模組下移到控制範圍內。

c)把判定上移到足夠的位置。軟

件

工

程

方

法TOPXYABB1B2

TOP

XYABB1B2TOPXY

ABB1B2TOPXYAB

B1B2

軟

件

工

程

方

法(d)模組的大小。模組的大小指的是其篇幅,即指根源程式的行數。一般來說,模組的大小以一頁左右(通常不超過100行)為宜,這樣的篇幅易於閱讀和理解。較大的模組可以分解成較小模組,比較小的模組可以合併成大一點的模組。但滿足以下條件的模組,不論大小,仍可保持獨立:

a)它的塊內聯系是功能性的。

b)它與其他模組的塊間聯繫較小。軟

件

工

程

方

法c)它的調用模組較複雜或者它有多個調用模組(即複用性好)。(e)深度、寬度、扇出和扇入。

深度表示軟體結構中控制的層數。

寬度表示控制的總分布。軟

件

工

程

方

法

扇出是直接由一個模組控制的模組數目。

扇入表明直接控制一個給定模組的模組數目。根據經驗,一個設計得的好的典型系統的平均扇出通常在3-4之間(扇出的上限通常是5-9)。(f)程式的效率。程式結構的優化步驟:

a)使SD方法設計出的基本程式能軟

件

工

程

方

法成功運行,以此作為優化的基礎,即不應破壞原有的程式結構。

b)找出基本程式中最頻繁執行的一些模組,對它位進行局部優化。四、結構化程式設計將軟體設計轉換成電腦可以接受的根源程式。軟

件

工

程

方

法提問:請說出上圖中哪個模組的扇入值最大,是多少?扇出呢?12345678910軟

件

工

程

方

法7.2面向數據結構的開發方法

Jackson方法是英國人MichaelJackson在1970年提出的。它的發展分為2個階段,前期主要研究以處理數據為主的結構化程式設計JSP(JacksonStructuredProgramming),後期吸收了軟體工程的功能分割、逐步求精等設計思想,集中研究軟體系統的開發JSD(JacksonSystemDevelopment)。一、Jackson方法的三種基本結構

Jackson方法認為,內在數據結構是軟

件

工

程

方

法至關緊要的,可利用輸入數據結構、輸出數據結構來推導出程式結構。1、用Jackson圖表示的數據結構:(1)順序結構。順序結構的數據由一個或多個數據元素組成,每個數據元素按確定次序出現一次。ACBDA由B、C、D3個元素順序組成軟

件

工

程

方

法(2)選擇結構。選擇結構的數據包含兩個或多個數據元素,每次使用這個數據時,按一定條件從這些數據元素中選擇一個。AC°B°D°A是B或C或D中的某一個軟

件

工

程

方

法AB*(3)重複結構。重複結構的數據根據使用時的條件由一個數據元素出現零次或多次構成。A由B出現N次(N≧0)組成軟

件

工

程

方

法例子:軟

件

工

程

方

法2、Jackson圖與軟體結構的層次圖(如P167圖7-9)的異同:(1)兩者在形式上相當類似;(2)兩者的含義不同:

①層次圖中的一個方框通常代表一個模組,Jackson圖即使在描繪程式結構時,一個方框也並不代表一個模組,通常只代表幾個語句。

②層次圖表現的是調用關係,而Jackson圖表現的是組成關係。軟

件

工

程

方

法3、用Jackson圖表示程式結構的偽代碼形式描述:

①順序結構

Aseq

doBdo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论