版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第一章引用了1.1的基礎(chǔ):軟件開發(fā)原理是在20世紀(jì)50年代用專業(yè)的軟件開發(fā)方法編寫的,完全沒有“規(guī)范化設(shè)計”的概念,難以維護(hù)和改善。(威廉莎士比亞,溫斯頓,軟件開發(fā),軟件開發(fā),軟件開發(fā),軟件開發(fā),軟件開發(fā),軟件開發(fā),軟件開發(fā))20世紀(jì)60年代,人們越來越認(rèn)識到以可預(yù)測的方式生產(chǎn)可持續(xù)軟件的重要性,這導(dǎo)致了軟件開發(fā)原則的第一次重大變化。傳統(tǒng)的專業(yè)開發(fā)方法正逐漸被更系統(tǒng)的方法取代。牙齒新的軟件開發(fā)方法通常被稱為瀑布方法,在構(gòu)建軟件系統(tǒng)的過程中,需要經(jīng)過一系列標(biāo)準(zhǔn)化的步驟。這些規(guī)范化步驟(如需求分析、高級設(shè)計、詳細(xì)設(shè)計等)必須按順序完成。也就是說,在特定步驟未完成之前,無法啟動后續(xù)步驟。每個階段的完
2、成標(biāo)記為傳遞一個或多個里程碑文件。所以當(dāng)人們拿出瀑布方法時,總是想起一堆厚厚的文件。但是瀑布方法比傳統(tǒng)的軟件開發(fā)方法更標(biāo)準(zhǔn)化,但是大型復(fù)雜的軟件系統(tǒng)似乎仍然沒有力量。(威廉莎士比亞、瀑布、瀑布、瀑布、瀑布、瀑布、瀑布、瀑布、瀑布、瀑布、瀑布、瀑布)系統(tǒng)編制費(fèi)用總是超過預(yù)算,實際花費(fèi)時間總是超過預(yù)定時間,不能滿足用戶的要求。20世紀(jì)70年代,軟件開發(fā)原理又發(fā)生了巨大的變化。結(jié)構(gòu)分析和系統(tǒng)規(guī)格說明教科書介紹了基于模型的軟件工程概念,認(rèn)為創(chuàng)建復(fù)雜的軟件系統(tǒng)等同于創(chuàng)建大型復(fù)雜的工程系統(tǒng)。必須首先建立系統(tǒng)的書面工作模式,然后調(diào)動資源實施。在系統(tǒng)啟動之前,用戶可以“查看”未來系統(tǒng)的概述,并“查看”有關(guān)功能
3、和系統(tǒng)的所有信息。就像牙齒系統(tǒng)已經(jīng)存在一樣。(David aser,Northern Exposure(美國電視電視劇),基于模型的軟件開發(fā)方法類似于建筑師設(shè)計大型復(fù)雜建筑時采用的策略。建筑師們首先在紙上按比例繪制了房子的模型圖,以便用戶對未來的住宅有更直觀的理解。經(jīng)過反復(fù)修改,用戶表示滿意后,才開始蓋房子。也就是說,這些模型是用戶、開發(fā)人員、贊助者和實現(xiàn)者之間通信和協(xié)商的橋梁。事實上,現(xiàn)代軟件工程使用基于模型的方法開發(fā)軟件。圖1.2提供了基于模型的典型軟件工程壽命。圖的各種模型徐璐為不同的目的徐璐由不同的用戶群體建立。事務(wù)分離原則主要是分析模型和設(shè)計模型分別建立。這里,分析模型(是牙齒書的重
4、點)用于捕獲本質(zhì)或“邏輯”系統(tǒng)要求,而不管實施基礎(chǔ)或“物理”系統(tǒng)要求如何。分析模型用于捕獲這些必需或“邏輯”系統(tǒng)要求,而不管實施基礎(chǔ)或“物理”系統(tǒng)要求如何。它主要說明系統(tǒng)將做什么,完全不考慮具體的實現(xiàn)方法和技術(shù)細(xì)節(jié)。設(shè)計模型是說明如何在特定的實現(xiàn)環(huán)境中創(chuàng)建特定的軟件系統(tǒng)。分析模型通常由具有廣泛應(yīng)用領(lǐng)域知識的人組成。可以作為消費(fèi)者、用戶和開發(fā)人員之間通信的橋梁。相比之下,設(shè)計模式必須由具有廣泛環(huán)境知識的人構(gòu)建??梢宰鳛殚_發(fā)者、實現(xiàn)者和測試者之間通信的橋梁。出發(fā)點大部分是理解問題,建立適當(dāng)?shù)哪J?,提出需求。事實上,要完成系統(tǒng),首先需要創(chuàng)建一套確定未來系統(tǒng)最基本行為的模型,然后創(chuàng)建另一套模型作為未來
5、系統(tǒng)的藍(lán)圖,以指示如何在特定實現(xiàn)環(huán)境中實現(xiàn)系統(tǒng)。1.2今天的任務(wù)1.3面向?qū)ο蟮母拍?0世紀(jì)50和60年代,電腦大小、成本、容量、速度低,因此要充分利用硬件性能,準(zhǔn)確計算機(jī)器的存儲字和時鐘周期,慷慨分配。20世紀(jì)60年代某個時期隨著硬件技術(shù)的發(fā)展,激進(jìn)分子認(rèn)為整個電腦計劃是解決問題的最有效的方案,但不是最好的方案。更好的電腦程序是可以理解的程序!為什么要強(qiáng)調(diào)理解力?因為只有這種程序方便維護(hù)和改善。我們的激進(jìn)分子認(rèn)為,模塊化程序巨大,效率比整體程序(如鐵板)低,但容易理解、可擴(kuò)展性強(qiáng),對維護(hù)更有利。隨著計算機(jī)硬件性能的逐步提高,我們的這種思想在軟件工程領(lǐng)域也越來越被廣泛接受。軟件工程師們開始爭論
6、如何構(gòu)建模塊。功能分解者認(rèn)為最好的方法是利用函數(shù)實現(xiàn)模塊?!懊總€模塊只做一件事?!睌?shù)據(jù)工作人員認(rèn)為:“每個模塊必須接受一個數(shù)據(jù)結(jié)構(gòu)?!遍_發(fā)實時系統(tǒng)的人認(rèn)為,“每個模塊必須能夠識別一個事件并做出反應(yīng),牙齒事件是唯一的”。具有面向?qū)ο笥^點的人認(rèn)為,“每個模塊對應(yīng)于現(xiàn)實世界中的某件事”,“程序的結(jié)構(gòu)必須與要解決的問題一致”。例如,控制飛機(jī)飛行平面的螺線管的線纏錯了,所以當(dāng)命令飛機(jī)向上飛時,它就向下飛。命令我往下飛的時候,又往上飛了。管理層認(rèn)為,根據(jù)項目當(dāng)時的進(jìn)度,糾正螺線管的布線已經(jīng)不可能了。但是問題總是要解決的,所以只能修改飛行控制軟件。想象一下,如果當(dāng)時軟件是用面向?qū)ο蟮募夹g(shù)開發(fā)的,那么這種修改
7、無疑是舉手之勞。螺線管極性的秘密是因為它可以完全裝在一個節(jié)目塊中,即一個實體中??刂骑w行方向的代碼分布在很多地方,很難修改?!懊嫦?qū)ο蟆北硎粳F(xiàn)實世界中存在的事物(抽象)和計算機(jī)程序塊或?qū)ο笾g的某種關(guān)系。對象到底是什么?對象是一個獨立的異步并發(fā)實體,它可以“知道某事”(存儲數(shù)據(jù))、“工作”(封裝服務(wù))和“與其他對象一起”(通過消息交換)執(zhí)行系統(tǒng)的所有功能?!盀槭裁磳ο蟾信d趣?單擊答案非常簡單,可以重復(fù)使用。面向?qū)ο蟮募夹g(shù)可以重復(fù)使用,不僅僅是代碼。面向?qū)ο蟮募夹g(shù)允許重復(fù)使用需求、分析、設(shè)計、測試計劃、用戶界面、體系結(jié)構(gòu)等。實際上,軟件工程壽命的每個部分都可以封裝在可重復(fù)使用的對象中。1.4面
8、向?qū)ο蠓治?OOA) 1.4.1簡介牙齒書中,OOA模型側(cè)重于對象定向分析(OOA)和對象定向設(shè)計(OOA),其中OOA模型與特定應(yīng)用程序節(jié)目域中的對象不同,OOA模型:表示特定應(yīng)用程序節(jié)目域中的對象以及各種結(jié)構(gòu)關(guān)系和通信關(guān)系。用于格式化現(xiàn)實世界的“視圖”。建立了軟件系統(tǒng)的主要組織結(jié)構(gòu)和現(xiàn)實世界強(qiáng)加于軟件系統(tǒng)的各種規(guī)則和約束的各種對象。指定如何協(xié)同工作以完成軟件系統(tǒng)指定的任務(wù)。這種協(xié)作顯示為模型中對象之間通信方式的一系列消息連接。,幾個茄子常用的OOA方法Booch靜態(tài)和動態(tài)描述方法Rumbangh三個茄子模型描述方法Coad和Yourdon 5層分析方法和4茄子組件設(shè)計方法,簡單、實用、強(qiáng)大
9、的描述功能(圖1.4),OOA模型的5層:對象類層屬性層服務(wù)層層次專題層牙齒層,除了從其他角度允許以外,牙齒結(jié)構(gòu)相對較大的OOA,1.4.2對象類層次對象類層次結(jié)構(gòu),表示正在開發(fā)的系統(tǒng)的基本大廈塊。牙齒層是整個OOA模型的基礎(chǔ)。問題是“現(xiàn)實世界事物”的抽象表現(xiàn),即如何設(shè)置基本塊信息建模,即在現(xiàn)實世界中捕捉和抽象應(yīng)用論的基本結(jié)構(gòu)的過程。這是OOA過程中最基本、最重要的活動之一。宇宙應(yīng)用程序非常重要。如圖1.5所示,相同的概念徐璐從不同的域中抽象出來的基本構(gòu)造塊是不同的(參見圖1.5)。如圖1.6所示,圖(圖1.6)模板類或抽象類(見圖1.7)示例:連接shape類屬性和服務(wù)(見圖1.8)實例:應(yīng)
10、用域中的某些約束或事務(wù)規(guī)則。例如,如果取消了首期付款,則相應(yīng)的參與者也必須取消。1.4.3屬性圖層對象的屬性和實例連接一起構(gòu)成OOA模型的屬性圖層。(請參閱圖1 . 9)1 . 4 . 4服務(wù)層對象的服務(wù)與對象實例之間的消息通信共同構(gòu)成了OOA模型的服務(wù)層。圖1.10中的對象實例分別執(zhí)行特定的操作或功能,稱為徐璐通信,即協(xié)作。消息連接由方向箭頭指示。1.4.5結(jié)構(gòu)層起到捕獲特定應(yīng)用程序節(jié)目域的結(jié)構(gòu)關(guān)系的作用。圖1.11顯示了顯示系統(tǒng)整體結(jié)構(gòu)的結(jié)構(gòu)層的類型。結(jié)構(gòu)層的另一種類型稱為一般特殊結(jié)構(gòu)或一般化特殊結(jié)構(gòu),如圖1.12所示。廣義特化結(jié)構(gòu)顯示了類的可繼承性。1.4.6專題層OOA模型的結(jié)構(gòu)又大又復(fù)雜,可以將對象分類為每個主題,將相關(guān)對象綁定到一個專題邊框。圖1.13顯示了位于專題層的名為“剪輯管理”的主題。1.5面向?qū)ο笤O(shè)計(OOD)擴(kuò)展OOA模型提供了面向?qū)ο笤O(shè)計(OOD)模型(圖1.15)。與OOA模型一樣,包含5個層次,但同時引入4個“部分”。問題域部分的人機(jī)電腦交互部分。使用OOA模型作為問題域部分的初始版本,可以逐步細(xì)化牙齒的初始版本,最終解決限制、特性要求、性能缺陷等問題。人-電腦交互部分指定系統(tǒng)的特定實現(xiàn)中使用的介面技術(shù)。作業(yè)管理部分指定在創(chuàng)建系統(tǒng)時必須設(shè)置的操作系統(tǒng)部分。數(shù)據(jù)管理部分定義了與使用的數(shù)據(jù)庫技術(shù)相接口的對象。重點:事務(wù)分離的原則:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026屆銀川市重點中學(xué)高三英語第一學(xué)期期末達(dá)標(biāo)測試試題含解析
- 票據(jù)管理制度適用范圍(3篇)
- 藥品紙箱管理制度范本(3篇)
- 設(shè)計工時管理制度范本(3篇)
- 輔材配件管理制度范本(3篇)
- 野生種質(zhì)資源圃管理制度(3篇)
- 防疫臨時駐場人員管理制度(3篇)
- 食品品質(zhì)責(zé)任管理制度內(nèi)容(3篇)
- 疾病預(yù)防與安全應(yīng)急 溺水的預(yù)防與急救 課件2025-2026學(xué)年人教版初中+體育與健康七年級全一冊
- 中學(xué)學(xué)生社團(tuán)財務(wù)管理制度
- 2026年藥店培訓(xùn)計劃試題及答案
- 2026春招:中國煙草真題及答案
- 六年級寒假家長會課件
- 物流鐵路專用線工程節(jié)能評估報告
- 2026河南省氣象部門招聘應(yīng)屆高校畢業(yè)生14人(第2號)參考題庫附答案
- 2026天津市南開區(qū)衛(wèi)生健康系統(tǒng)招聘事業(yè)單位60人(含高層次人才)備考核心試題附答案解析
- 2025江蘇無錫市宜興市部分機(jī)關(guān)事業(yè)單位招聘編外人員40人(A類)備考筆試試題及答案解析
- 卵巢過度刺激征課件
- 漢服行業(yè)市場壁壘分析報告
- 重瞼手術(shù)知情同意書
- 2026華潤燃?xì)庑@招聘(公共基礎(chǔ)知識)綜合能力測試題附答案解析
評論
0/150
提交評論