网站大量收购独家精品文档,联系QQ:2885784924

01何谓软体设计-知识分享平台.PPT

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
01何谓软体设计-知识分享平台

第10章 軟體設計    * * * * * * * * * * * * * * * * * * * * * * * * 圖10.8 軟體成本與模組化之間的平衡 軟體設計的基本法則(7/9) 逐步精細化 是將抽象化的物件逐漸加入細節,以展現其具體的樣貌。功能分解或者結構化程式設計,就是此一準則的應用。 逐步精細化的優點是符合直覺,適合用來設計演算法。但是並非所有問題都適合由上向下展開,尤其是複雜度主要與資料有關的問題,反而會產生不良的副作用。 本方法也不必然導致好的模組化,因為是否建立副程式是獨立判斷的決定。 軟體設計的基本法則(8/9) 資訊隱藏 將模組內的資訊隱藏有許多好處,例如,降低模組間的耦合度,使得出現意外副作用的可能性降低;侷限區域內的設計決策對全體的影響;以及減輕人員的資訊超載,減少設計或瞭解系統所必須知道的資訊等。 資訊隱藏的設計,強調經由受控制的介面進行通訊,避免使用全域變數或資料。不僅資訊隱藏,模組內部的執行細節也被封裝起來,避免外部任何直接的存取 。 圖10.10 資訊隱藏的模組設計 演算法 資料結構 外部介面的細節 資料使用的規範 軟體設計的基本法則(9/9) 繼承 是一種設計再用的機制,也是一個降低系統複雜度的好方法。透過繼承,可將原本複雜的事務加以歸納與整理。 另一個好處,是改進系統承受變動的能力。透過繼承使用,元件可以被再定義,以適應變動的需要,而不必修改原始設計。 過度使用繼承會增加系統的複雜度,且某種程度上破壞了模組化的價值。因此應避免過長的繼承路徑,且進行定期檢討與結構的重整。 軟體設計的基本法則(1/10) 功能導向設計(或者又稱為結構化設計): 藉由對問題的分解,從概括著手,逐步由上而下將問題展開;如同建築師先構造出事物的整體,然後逐漸精細化,發展出構造的每個細節。 物件導向設計: 從資料與程序的抽象化入手,藉著資訊隱藏來避免複雜度的問題;先勾勒出物件架構的基本模型,然後向上組合發展出系統的樣貌。 目前最成熟的兩種軟體設計方法 系統設計的方法(2/10) 功能導向設計的基本精神,是從系統應具備的功能角度切入,利用資料流程圖為工具,描繪系統的實際作業現況,或概念上的邏輯模型。 此一方法的特色,是可由粗略到精細,從上到下逐步分解,將大略的作業(或問題)分解成較小型的作業,並重複上述的動作,直到有關細節都已浮現為止。 資料流程圖藉由描述資料的流向,說明系統中各個處理單元與資料之間的關係 。 功能導向設計 系統設計的方法(3/10) 外部實體(終結者、來源、目的):以長方形或橢圓形表示,代表資料的來源或消失處。屬於系統模型之外,不必知道它是什麼或如何產生。 處理單元:以圓形或圓角長方形表示,將流進的資料予以加工後流出。 資料流:以箭頭表示,描述資料在任意兩個系統元件之間的流向。 資料站:以兩條平行線(有時左端的開口會封起來)表示,代表資料暫時停留之處,停留時間可長可短。 資料流程圖由下列元件組成 圖10.11 資料流範例圖 系統設計的方法(4/10) 優點: 易於溝通、符號容易學習、不需要軟體專業知識、可清楚地定義系統範圍,並內含抽象化與模組化的設計法則。 同一套工具可用於描述問題現況,以及對未來的系統期望。 缺點:隨著系統的成長,系統易於過度複雜。 資料流程圖(DFD) 系統設計的方法(5/10) 交易分析:所產生的結構圖,其副程式模組各自功能獨立。 轉換分析:產生的副程式模組會被依序呼叫,以共同完成某項任務。 轉換的步驟為: 決定主要的資訊流(由輸入到輸出的主要流程)。 找出其中負責最基礎運算的處理單元。 重畫DFD,將輸入放在左邊而輸出放在右邊,中間是該處理單元。 重畫資料流以產生結構圖初稿。 結構化方法提供的方式: 圖10.12 從資料流程圖轉換成模組結構圖 結構化設計的特色: 以系統的邏輯模型為基礎,借助一套標準的設計準則與圖表等工具,逐層地將系統分解成多個大小適當、功能單一、具有一定獨立性的模組,把一個複雜的系統轉換成易於實現、易於維護的模組化結構。 優點: 系統開發的整體性和全局性;在整體考量的前提下分析及設計系統。 開發流程清楚易懂,在專案上易於分階段管理。 缺點: 系統缺乏彈性,對於功能演化的適應性不佳。 系統設計的方法(6/10) 早期的資料導向設計,以資訊工程方法為代表。經過長時間的演變,如今融入到物件導向方法中,並演化出完整的符號體系與方法論。 物件導向方法有著許多優點,例如,可重複使用、高度模組化等。但其缺點,為系統易流於過度龐雜、結構鬆散。 系統設計的方法(7/10) 物件導向設計 資訊的保留:候選物件的資訊必須被記住,才能使系統正常工作。 必要的服務:候選物件擁有一組可標識的操作,而它們可以用某種方式修改物件屬性的值。 包含多個屬性:單一或少量

文档评论(0)

wumanduo11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档