




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、軟件設計與體系結構數據結構數據結構指的是數據之間的相互關系,即數 據的組織形式。數據結構是計算機存儲、組織數 據的方式。數據結構是指相互之間存在一種或 多種特定關系的數據元素的集合。通常情況下, 精心選擇的數據結構可以帶來更高的運行或者 存儲效率。數據結構往往同高效的檢索算法和 索引技術有關。我們把數據結構設計、數據庫設計、甚至數 據文件設計等統一稱為數據模型設計。在數據模型設計中有一個重要概念:持久數 據操作,它包括寫入、查詢、更新和刪除四類基 本操作以及由它們復合而成的業務數據操作。在很多軟件系統中,數據是其核心,因此, 對數據元素的格式、結構、訪存、表示等機制進 行良好建模和優化,是提高
2、軟件設計質量和系統 性能的基礎,對軟件系統的應用具有重要意義。面向組件設計面向組件思想是在軟件規模擴大,復雜度上 升的背景下,以面向對象為基礎而提出的一種軟 件設計思想。可以把它理解為一種更粗粒度的面向對象,其粒度一般大于對象,但具體要到什么 程度,又可以根據實際情況來決定。這種思想以 組件為基礎,強調“服務”的概念。在面向組件開發中,應用程序是由一系列可 以互相交互的二進制模塊組合而成的。一個具體的二進制組件可能并不能完成什 么工作。有些組件是為了提供一些常規服務而編 寫的,例如通信的封裝或者文件訪問組件。 也有 一些是為了某些特定應用而專門開發的。 一個應 用程序的設計者可以通過把這些不同
3、的組件提 供的功能粘合在一起來實現他們需要的商業邏 輯。很多面向組件的技術例如:COM、J2EE、CORBA和.NET都為二進制組件提供了 的無縫鏈接的機制。而唯一的不同就是你需要在 組件通信上花費的力氣。一般的多用于對 dll,lib的處理上。簡單說,就是QQ迅雷和IE捆綁起來就叫 面向組件。面向組件具有以下特點:低耦合性,高重用 性,高互操作性,進程的透明性,語言和開發環境 的獨立性 軟件體系結構風格軟件體系結構風格是軟件設計人員在長期的 軟件設計過程中總結出來的一些規律性的東西, 經過提煉總結而成。軟件體系結構風格是軟件體 系結構設計上的模式,因此可以看作是一種廣義 的軟件設計模式,但一
4、般不認為是俠義的軟件設 計模式。定義:在構件和連接子的層次描述的可重復使 用的軟件設計問題解決方案。管道/過濾器風格:一個顯著特征是:系統中 構件之間通過數據流松散耦合。也就是說,構件 之間的依賴僅僅是數據流,而不是通常的接口函 數調用火消息傳遞。編譯器采用的也是管道 /過 濾器風格層次風格:這種設計風格便于將復雜的系統進 行分解;同時也便于構件替換:只要保持接口一 致,就可以將某一層的軟件替換, 而不會影響到 系統的其它部分。層次風格的優點是結構清晰、 可替換性好、便于控制復雜性;但也有缺點,如 效率低。客戶/服務器風格:從向外提供服務的構件出 發,沿著連接關系遞次搜索各構件和連接子,如果形
5、成的拓撲結構是一棵倒置的樹,那么這個系統的體系結構就是客戶/服務器風格的,這種風 格使得服務功能的實現很集中,便于系統實現, 因而得到廣泛使用。軟件開發過程模型軟件生存周期包含了軟件從概念形成到最 終退役的所有活動,而對于一個具有的軟件項 目,開發人員更加關注的是開發過程中包含的活 動以及其具體安排。軟件開發是一個復雜的過 程,尤其是在多數項目開發中,不能一次就全部、 精確地生成需求規格說明,因此軟件開發各個階 段之間的關系極少是嚴格線性順序的, 相反應該 是帶有反饋的迭代過程。這種對軟件開發中對所 含活動的安排方式,可以用軟件開發過程模型表 示。它給出了軟件開發中各個活動之間的關系, 它是軟
6、件開發過程的概括,是軟件工程的重要內 容。它能為軟件工程管理提供里程碑和進度表, 為軟件開發過程提供原則和方法。經典的軟件開發模型大體可分為三種類型: 第一種是以軟件需求完全確定為前提的瀑布模 型;第二種是在軟件開發初始階段只能提供基本 需求時采用的漸進式開發模型,如原型模型、螺旋模型等;第三種是以形式化開發方法為基礎的 變換模型。軟件體系結構與算法結構區別與聯系軟件體系結構是軟件系統的結構,包含軟件 元素、軟件元素外部可見的屬性以及這些軟件元 素之間的關系。軟件體系結構是軟件系統的基本組織,包含 構件、構件之間、構件與環境之間的關系,以及 相關的設計與演化原則。軟件體系結構的風格(style
7、 )描述某一特 定領域中系統組織方式的慣用模式, 反映了領域 中眾多系統所共有的結構和語義特性。算法結構的三種結構順序結構:按從上到下的順序進行。選擇結構:先根據條件作出判斷,再決定執 行哪一種操作,必須包含判斷框。循環結構:從某處開始,按照一定條件,反 復執行某一處理步驟,有兩類:直到和當型循環 結構。軟件開發過程模型與軟件文檔模型區別與聯系軟件生命周期包含了軟件從概念形成到最 終退役的所有活動,而對于一個具體的軟件項 目,開發人員更加關注的是開發過程中包含的活 動以及其具體安排。軟件開發過程模型給出了軟件開發中各個 活動之間的關系,它是軟件開發過程的概括,是 軟件工程的重要內容。能為軟件工
8、程管理提供里程碑和進度表,為 軟件開發過程提供原則和方法軟件開發過程模型主要有:瀑布模型(V模型、噴泉模型)、螺旋模型、原型模型(鋸齒 模型、快速原型)、構件組裝模型 (增量模型)、 統一軟件過程RUP莫型軟件體系結構風格與設計模式區別與聯系軟件體系結構風格是軟件設計人員在長期的 軟件設計過程中總結出來的一些規律性的東西, 經過提煉總結而成。軟件體系結構風格是軟件體 系結構設計上的模式,因此可以看作是一種廣義 的軟件設計模式,但一般不認為是俠義的軟件設 計模式。主要區別在于:軟件體系結構風格描述 系統整體結構框架上的特點,粒度更大;而軟件設計模式則更加面向具體問題,指出的是一個在 更小的粒度上
9、的設計特點。軟件設計模式和軟件體系結構風格都是可重 復使用的軟件設計問題解決方案,只不過前者描 述的是類和對象層次的問題、粒度大小,而后者 描述的是構件和連接子層次的問題、粒度更大。設計模式是對通用設計問題的重復解決方案。軟件體系結構風格是描述某一特定應用領域中系統組織方式的慣用模式。軟件框架是整個或部分系統的可重用設計模式比框架更加抽象框架是模式的特例化設計模式被實現成為框架后,可以極大的減輕 從設計到實現的鴻溝利用了模式的框架比沒有利用模式的框架更 容易理解、更能被設計與實現重用 通常成熟的 框架包含了多種設計模式一個框架不僅可以具體實現一個模式,還可以 具體的實現多個模式設計模式與風格兩
10、者為近義詞,通常情況下可以互相通用風格主要是指大的,宏觀的設計。模式既可宏觀,又可微觀。抽象的概念抽象是從眾多的事物中抽取出共同的、 本質 性的特征,而舍棄其非本質的特征。要抽象,就 必須進行比較,沒有比較就無法找到共同的部 分。共同特征是指那些能把一類事物與他類事 物區分開來的特征,這些具有區分作用的特征又 稱本質特征。因此抽取事物的共同特征就是抽取 事物的本質特征,舍棄不同特征。所以抽象的過 程也是一個裁剪的過程,不同的、非本質性的特 征全部裁剪掉了。所謂的共同特征,是相對的,是指從某一個 刻面看是共同的。所以在抽象時,同與不同,決 定于從什么角度上來抽象。抽象的角度取決于分 析問題的目的
11、。軟件工程過程中的每一步部可以看作是對 軟件解決方法的抽象層次的一次細化。 在進行軟 件設計時,抽象與逐步求精、模塊化密切相關, 幫助我們定義軟件結構中模塊的實體,由抽象到 具體地分析和構造出軟件的層次結構,提高軟件的可理解性“抽象”是一個心理學概念,它要求人們將 注意力集中在某一層次上考慮問題, 而忽略那些 低層次的細節。“逐步求精”可視為一種早期的自頂向下 設計策略,其主要思想是,針對某個功能的宏觀 描述用逐步求精的方法不斷地分解,逐步確立過 程細節,直至該功能用程序語言描述的算法實現 為止。在軟件設計過程中,抽象與逐步求精是一般 都是結合起來進行應用。列舉抽象實例假如我們開發一個系統時需
12、要對員工進行建模,員工包含3個屬性:姓名、工號以及工資。經理也是員工,除了含有 員工的屬性外,另外還有一個員工的屬性。請使用繼承的思想設計出員工類和經理類。要求 類中提供必要的方法進行屬性訪問。員工類:name id pay經理類:繼承了員工,并有自己特有的 bonus.abstract class Employee(private String name;private String id; private double pay; Employee(String name,String id,double pay) ( =name; this.id=id; this.pay
13、=pay; public abstract void work(); class Manager extends Employee ( private double bonus;Manager(String name,String id,double pay,double bonus) ( super(name,id,pay);注意這里調用父類的構造函數; this.bonus=bonus; public void work()System.out.println("manager work");)class emplo extends Employee(emplo(String name,String id,doublepay)(super(name,id,pay);)public void work()(System.out.println("employ work");)class AbDemo(public static void main(String args)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 疫苗接種與群體免疫動力學考核試卷
- 管道工程社會責任報告與評估考核試卷
- 禮儀用品行業服務品質管理考核試卷
- 組織文化與員工參與度考核試卷
- 原動設備制造企業的戰略管理與規劃考核試卷
- 租賃設備的市場調研方法與技巧考核試卷
- 禮儀用品行業市場風險防范考核試卷
- 稀土金屬壓延加工的智能化制造趨勢分析考核試卷
- 天津農學院《發動機原理》2023-2024學年第二學期期末試卷
- 山東省聊城市東阿縣2025屆初三教學質量檢測試題(二)化學試題含解析
- 畢業設計(論文)-人形機器人設計
- 2022年新高考山東政治高考真題(含答案)
- 新能源電力設備項目立項報告(模板范本)
- 第六章 納米復合材料
- 萬能外圓磨床作業指導書
- SAP-BASIS-常維護手冊
- 乙炔氣柜施工方案
- 兒童故事小壁虎借尾巴ppt課件
- 《春日》PPT課件
- 屋頂分布式光伏發電項目資金申請報告寫作模板
- 公路路基土建工程項目拌合站建設方案詳細
評論
0/150
提交評論