欢迎来到天天文库
浏览记录
ID:27322700
大小:1.42 MB
页数:50页
时间:2018-11-30
《《软体设计整》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第10章軟體設計1本章大綱10.1何謂軟體設計?10.2軟體架構10.3軟體設計的基本法則10.4系統設計的方法10.5設計時應注意事項10.6結語2學習目標瞭解何謂軟體設計瞭解何謂軟體架構瞭解軟體設計的法則瞭解軟體設計的法則3軟體設計是軟體工程技術的核心。設計是管理系統複雜度的活動;將複雜的事物,用一套清楚的架構加以統御,使之不致於失控。良好的設計可將系統化繁為簡,減少系統開發的成本,提高系統的可靠度。且具有簡單、容易維護、易於擴充及變更等屬性。不當的設計隨著時間的演化,系統會變得複雜而瑣碎,不只維護成本增加,系統的穩定性也隨之降低。且會導致不穩定的系統、不易測試及不易
2、維護等問題。何謂軟體設計?(1/4)軟體設計的意義4何謂軟體設計?(2/4)軟體工程是顧客或用戶提出需求,而工程師設法找出問題的解答。過程分為五個步驟:定義及描述問題(需求定義)。分析問題(需求分析)。尋找適當之解答(系統分析)。發展最佳的解決方案(系統設計)。實施解決方案(撰寫程式)。軟體設計所處的階段5何謂軟體設計?(3/4)架構與風格:軟體有各種不同的架構類型,如資料流、貯藏庫、事件驅動、物件導向等,如何選擇牽涉到工程師的認知與信念,見仁見智,屬於價值觀或哲學的範疇。高階系統設計:包含發散與收斂兩個交互運用的過程,產出系統的概念架構。此時注重的是工程設計原則的運用與
3、設計方法的實踐。在發散階段,思考所有可能的解決方案;而在收斂階段,比較方案的好壞、成本與限制,找出可優先選擇的方案。低階細部設計:即演算法的展開。軟體設計的層次6何謂軟體設計?(4/4)資料模型:資料設計是要建立資訊系統背後的資料模型,以存放從應用領域裡所產生的資料。系統結構:結構設計主要任務是決定系統需要哪些構成元件,並定義出它們的角色與彼此間的連結關係。用戶介面:介面設計主要的任務,是安排系統的操作畫面與人機互動的方式。軟體元件:元件設計將系統結構中的元件,轉換成以程式語言描述的執行步驟。軟體系統的概念性描述:7圖10.2SWEBOK與軟體設計有關的議題8軟體架構(1
4、/9)軟體架構:系統的基本組織,具體地表現在元件、元件對彼此與對環境間的關係,以及設計與演化的原則。軟體架構包含:一組用來執行系統功能的軟體元件。一組用來提供元件間溝通、協調與合作的連結器。一組描述元件間如何組成系統的限制。能夠讓設計者瞭解整個系統特性的語意模型。9軟體架構(2/9)結構:由多個元件所組織成的架構,元件被安排或組織起來的方式。框架:增加設計抽象化的層級,從相似的軟體中找出可重複使用的設計樣版,以提高設計的抽象層次。動態:著重在行為層面的程式架構,描述架構的動態行為。流程:著重在系統必須與企業的流程相互配合,描述系統的商業或技術流程。功能:表現系統功能面的階
5、層關係,系統的功能階層組織。軟體架構的描述的模型:10軟體架構(3/9)資料流(又稱為連接管與過濾器):系統是由過濾器(元件)與連接管(連結器)所構成,在一個定義好的資料流上運作,過濾器負責資料的轉換並獨立運作;連接管則以串接的方式負責在過濾器間傳遞資料。常見的軟體架構型態11圖10.3連接管與過濾器示意圖12軟體架構(4/9)呼叫與回覆:呼叫與回覆架構的特色是控制流程隨著呼叫而轉移,中間包含資料(或參數)的傳遞,而被呼叫者執行完成後,控制權重新回到呼叫者。交互作用程序(又稱為間接呼叫):透過事件與作業系統,間接地連結呼叫者與被呼叫者;而兩個交互作用的程序或物件雙方,不必
6、知道對方的存在。本架構最大的好處,是元件再用與系統演化。缺點則是,宣告者元件無法知道誰會受到事件的影響、運算的順序、何時結束及資料交換問題。13軟體架構(5/9)系統架構會依功能或服務的不同,設計成多層系統,由外向內包覆(或由內向外擴充),每一層負責特定的功能,提供服務給它的上一層,同時扮演下一層的顧客。其優點是:符合軟體工程的原則、易於擴充與演化及非常適合設計再用。缺點則為:不是所有系統都可以用階層的方式設計、為了效能的考量,必須將邏輯上的高階函數與低階實作綁在一起,以及不容易找出適當的抽象階層。階層式系統的另一種類型是虛擬機架構。階層式(又成多層式系統):14軟體架構
7、(6/9)架構特點是有一個共同分享的資料中心,與一組相互獨立的元件。包含兩種模式:儲藏庫:負責保存系統的狀態與資料,被動地等待元件對它的存取和運算。具永久儲存資料的特性。看板:發號施令的中心,各個元件會解讀看板的指示訊息,然後進行相關運算。通常應用在人工智慧系統。資料導向倉庫(又稱資料中心架構)15圖10.5儲存庫架構示意圖16軟體架構(7/9)每一種架構皆有其適用性,在開發系統前,設計者必須先瞭解系統的特性,才能依照需要挑選適當的架構進行系統開發。挑選的考量:共享相依:元件之間共用相同的資源。流程相依:類似生產者與消費者之間
此文档下载收益归作者所有