freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第3章-軟件系統(tǒng)開發(fā)方法(更新版)

2025-09-23 23:28上一頁面

下一頁面
  

【正文】 是迭代和增量式的過程。由于面向?qū)ο笥衅渥陨淼奶攸c,參考面向?qū)ο筌浖_發(fā)模式,面向?qū)ο箝_發(fā)測試包括面向?qū)ο蠓治龅臏y試、面向?qū)ο笤O計的測試、面向?qū)ο缶幊痰臏y試、面向?qū)ο髥卧獪y試、面向?qū)ο蠹蓽y試和面向?qū)ο笙到y(tǒng)測試。分析之后將得到分析模型:對象模型、動態(tài)模型和功能模型。常用在功能相同但參數(shù)的數(shù)據(jù)類型有微小差別的操作中。 2022年 8月 27日星期六 第 72頁 面向?qū)ο蟮幕靖拍? ? 繼承有兩個方面的作用: ? ① 避免代碼冗余 , 提高可理解性和可維護性; ? ② 繼承是從老對象生成新對象的一種代碼重用機制 , 使系統(tǒng)更具靈活性和適應性 , 它使得解釋多態(tài)性成為可能 。 ? (3) 對象內(nèi)部的實現(xiàn)代碼受到封裝體的保護,其它對象不能直接修改本對象所擁有的數(shù)據(jù)和代碼。從使用者的角度看,這些對象就像一個 “ 黑盒子 ” ,其內(nèi)部數(shù)據(jù)和行為是被隱藏起來、看不見的。繼承性是面向?qū)ο蟪绦蛟O計語言不同于其它程序設計語言最重要的特點,是其它語言所沒有的。 2022年 8月 27日星期六 第 64頁 面向?qū)ο蟮幕靖拍? ? 概念 34:面向?qū)ο? ? 解答: ? 面向?qū)ο螅?ObjectOriented,簡稱 OO)是指人們按照自然的思維方式認識客觀世界,采用基于對象(實體)的概念建立模型,模擬客觀世界,從而用來分析、設計和實現(xiàn)軟件的方法。例如,用 Java語言定義一個類 Car為: ? public class Car { ? …… ? } ? 這時可生成仸意多個屬于 Car類的對象: ? Car car1 = new Car()。例如:張三、李四等。 2022年 8月 27日星期六 第 53頁 傳統(tǒng)軟件開發(fā)方法 ? 為了提高系統(tǒng)的可理解性、可維護性和可重用性,幵能很好地表示現(xiàn)實世界,開發(fā)軟件項目時,最好采用面向?qū)ο筌浖_發(fā)技術。使得編程與現(xiàn)實世界之間存在理解鴻溝。 2022年 8月 27日星期六 第 49頁 傳統(tǒng)軟件開發(fā)方法 ? 結構化設計的基本思想是模塊化思想 ?;趥鹘y(tǒng)生命周期的結構化軟件開發(fā)方法逐漸暴露出了它自身的一些缺點:難以理解和維護、可重用性差等。 2022年 8月 27日星期六 第 43頁 增量模型 ? 增量模型的缺點: ? (1) 在開發(fā)過程中,需求的變化是不可避免的。采用增量模型的軟件過程如下頁圖所示。如果要將螺旋模型作為合同項目的開發(fā)模型,則必須在簽訂合同之前考慮清楚所有的開發(fā)風險,否則,在開發(fā)過程中如果由于風險過大而中途停止開發(fā),就會賠償經(jīng)濟損失或者承擔法律責任。但多數(shù)情況下沿螺線的活動會繼續(xù)下去,并由內(nèi)向外逐步延伸,最終得到用戶所期望的系統(tǒng)。 ? (4) 用戶評估 ? 由用戶評價開發(fā)工作,提出修改建議。 2022年 8月 27日星期六 第 29頁 螺旋模型 ? 1. 問題引入 ? 對于復雜的大型軟件系統(tǒng),開發(fā)一個原型往往很難達到要求,顯然用單一的演化模型很難開發(fā)出這樣的軟件系統(tǒng)。對發(fā)現(xiàn)的問題能夠提早解決。如操作系統(tǒng)、編譯系統(tǒng)等系統(tǒng)軟件的開發(fā)。 ? (2) 強調(diào)早期計劃及需求調(diào)查。如: ? 瀑布模型 ? 螺旋模型 ? 演化模型 ? 噴泉模型 ? 智能模型 ? 增量模型 ? 原型化模型 2022年 8月 27日星期六 第 13頁 軟件開發(fā)模型 ? 瀑布模型 ? 演化模型 ? 螺旋模型 ? 增量模型 2022年 8月 27日星期六 第 14頁 瀑布模型 ? 1. 問題引入 ? 為了解決邊寫邊改方法給軟件開發(fā)帶來的困擾,業(yè)界人士借鑒其它工程方法率先提出了“瀑布式”開發(fā)過程,給出了瀑布模型的定義。 ? 已交付的軟件投入正式使用,軟件便進入運行階段。 ? 將詳細設計階段所描述的模塊程序流程圖或類的設計轉(zhuǎn)換為計算機能處理的程序代碼,即使用特定的程序設計語言表示的源程序。然后,編寫出 軟件需求規(guī)格說明書 ( SRS)或 系統(tǒng)功能說明書 ,以及 初步的系統(tǒng)用戶手冊 、 測試用例 等。 2022年 8月 27日星期六 第 2頁 第 3章 軟件系統(tǒng)開發(fā)方法 ? 軟件開發(fā)生命周期 ? 軟件開發(fā)模型 ? 傳統(tǒng)軟件開發(fā)方法 ? 面向?qū)ο筌浖_發(fā)方法 ? RUP統(tǒng)一軟件開發(fā)過程 ? 敏捷軟件開發(fā)技術 ? 總結 2022年 8月 27日星期六 第 3頁 軟件開發(fā)生命周期 ? 1. 問題引入 ? 正如任何事物一樣,軟件也有其孕育、誕生、成長、成熟以及衰亡的生命過程,一般稱其為“軟件生命周期”。同時,使用該方法的項目常常因為管理失控而終結。然而,在軟件開發(fā)實踐中完全遵循這種過程取得成功的案例并不多。 ? 這個階段的任務是確定待開發(fā)軟件系統(tǒng)的總體目標,給出軟件系統(tǒng)的功能、性能及接口等方面的要求。 ? 這個階段通常分為兩部分: 概要設計 和 詳細設計 。 ? 測試是保證軟件質(zhì)量的重要手段,其主要目的是通過軟件測試暴露出軟件中隱藏的錯誤和缺陷。 2022年 8月 27日星期六 第 10頁 軟件開發(fā)模型 ? 一個軟件的生命周期包含了若干個活動,那么,這些活動應該如何組織呢?不同的組織方式可能會產(chǎn)生很大差別的結果。 2022年 8月 27日星期六 第 16頁 瀑布模型 軟件計劃 需求分析和定義 軟件設計 實現(xiàn) 測試 運行維護 2022年 8月 27日星期六 第 17頁 瀑布模型 ? 3. 分析問題 ? 瀑布模型每項開發(fā)活動均應具有下述特征: ? (1) 從上一項活動接收本項活動的工作對象,作為本項活動的輸入; ? (2) 利用這一輸入實施本項活動應完成的任務; ? (3) 給出本項活動的工作成果,作為輸出傳遞給下一項活動; ? (4) 對本項活動實施的工作進行評審。 2022年 8月 27日星期六 第 20頁 瀑布模型 ? 瀑布模型的缺點: ? (1) 在項目各個階段之間極少有反饋,往往會將早期的錯誤引入到后期各個階段。為了適應用戶需求的變化,建議采用演化模型。 ? (3) 將系統(tǒng)中難度較大、風險較高的部分安排在早期的迭代中,可增加項目的成功率。 ? (2) 風險分析 ? 分析所選方案,識別并努力消除各種潛在的風險,通常用構建原型的方法來消除風險。軟件風險可能在不同程度上損害軟件的開發(fā)過程和軟件產(chǎn)品的質(zhì)量。 ? (3) 用戶始終參與到每個階段的開發(fā)中,保證了項目的正確性與可控性。那么,增量模型的原理是怎樣的? 2022年 8月 27日星期六 第 39頁 增量模型 ? 2. 解答問題 ? 增量模型融合了瀑布模型的基本成分和快速原型模型的迭代特征。 ? (2) 重要功能被首先交付,可以獲得最多的測試,保證軟件產(chǎn)品的質(zhì)量。 ? (3) 難以對所有增量進行有效的集成。 函數(shù) 函數(shù) 函數(shù) 數(shù)據(jù) 數(shù)據(jù) 2022年 8月 27日星期六 第 47頁 傳統(tǒng)軟件開發(fā)方法 ? 3. 分析問題 ? 傳統(tǒng)軟件開發(fā)方法遵循軟件生命周期,整個開發(fā)過程包括可行性研究、需求分析、總體設計、詳細設計、編碼、測試和維護等六個階段。 詳細設計是根據(jù)每個模塊的功能設計實現(xiàn)算法以及實現(xiàn)這些算法的邏輯控制流程 。 ? (3) 不同模塊之間的信息傳遞通過函數(shù)的調(diào)用來完成。一個對象既可以非常簡單,又可以非常復雜,復雜的對象往往可以由若干個簡單的對象組合而成。對象的操作可分為兩類:一類是自身所承受的操作,使用 setter、 getter作為操作名;一類是施加于其它對象的操作。類與對象之間的關系就是抽象與具體的關系。面向?qū)ο蠓椒ň哂幸韵聨讉€特性: ? (1) 對象唯一性 ? 每個對象都有唯一的標識(如同人們的身份證號碼),通過這個標識,可以找到相應的對象。即是指相同的操作或函數(shù)可作用于多種類型的對象上并獲得不同的結果。外部對象只有通過這些公共接口才能訪問到對象的內(nèi)部數(shù)據(jù),這就是所謂的信息隱藏技術。 ? 面向?qū)ο笙到y(tǒng)的繼承性是對具有層次關系的類的屬性和操作進行共享的一種方式。 ? 在面向?qū)ο蟪绦蛟O計語言中, C++支持多繼承,而 Java語言只支持單繼承,不支持多繼承。 ? 具有相同名稱和參數(shù)但是返回類型不同的操作不能稱為重載,因為在調(diào)用操作時幵沒有描述操作的返回類型,被調(diào)用的對象不能分辨出僅僅是返回類型不同的兩個操作,因此這樣的操作具有歧義性,是無效的。 2022年 8月 27日星期六 第 80頁 面向?qū)ο蟮拈_發(fā) ? (3) 對象設計階段 ? 該階段將應用領域的概念轉(zhuǎn)換為計算機軟件領域的概念。 ? 面向?qū)ο箝_發(fā)特別適合采用下一節(jié)將要介紹的 RUP統(tǒng)一軟件開發(fā)過程。橫軸表示軟件過程的時間維,是過程展開的生命周期特征,體現(xiàn)開發(fā)過程的動態(tài)結構,被分成四個順序階段,分別是:先啟階段( Inception),精化階段( Elaboration),構造階段( Construction),移交階段( Transition)。 2022年 8月 27日星期六 第 91頁 敏捷軟件開發(fā)技術 ? 敏捷軟件開發(fā)( Agile Software Development),又稱敏捷開發(fā),是一種從 1990年代開始逐漸引起廣泛關注的新型軟件開發(fā)方法,是一種應對快速變化的用戶需求的一種軟件開發(fā)技術。 2022年 8月 27日星期六 第 95頁 敏捷開發(fā)技術基本概念 ? (1) 盡早地、不斷地交付有價值的軟件來滿足客戶需要。 ? (8) 敏捷過程提倡可持續(xù)的開發(fā)速度。當項目的需求發(fā)生變化,團隊應該迅速響應,但這個團隊可能很難確切描述未來將會如何變化。 1996年三月, Kent終于在為 DaimlerChrysler所做的一個項目中引入了新的軟件開發(fā)觀念 —— XP。 ? (2) 對客戶和經(jīng)理人而言,極限編程保證他們每個工作周,都可以獲得最大的利益。他們保存精力,把項目看作是馬拉松長跑,而不是全速短跑。 2022年 8月 27日星期六 第 117頁 總結 ? 傳統(tǒng)軟件開發(fā)方法的特點是:以模塊作為基本的構造單元,自頂向下逐步細分功能,不同模塊之間的信息傳遞通過函數(shù)的調(diào)用來完成,堅持嚴格的階
點擊復制文檔內(nèi)容
黨政相關相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1