




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1:軟件危機:問題1:如何開發(fā)軟件,以滿足對軟件日益增 長的需求。問題 2 :如何維護數(shù)量不斷膨脹的軟件。表現(xiàn): 對軟件開發(fā)成本和時間估計不準,用戶對已完成軟件不滿意, 軟件質量不可靠,軟件不可維護,軟件缺少文檔,軟件成本 過高,軟件跟不上硬件發(fā)展速度。原因:與軟件本身特點有 關,缺乏可見性,質量難以評價,規(guī)模龐大難以維護。與軟 件開發(fā)維護的不當方法有關,輕視需求分析和維護,對用戶 的要求沒有完整準確的認識就編寫程序,忽視程序,文檔, 數(shù)據(jù)等軟件配置。2:軟件工程:采用工程的概念,原理,技術和方法開發(fā)與 維護軟件,把正確的管理技術和軟件開發(fā)技術結合起來,經(jīng) 濟的開發(fā)出高質量的軟件并有效的維護。
2、即把系統(tǒng)化的,規(guī) 范的,可度量的途徑應用于軟件開發(fā),運行和維護的過程。3:軟件工程7條基本原理:用分階段的生命周期計劃嚴格管 理,堅持進行階段評審,實行嚴格的產(chǎn)品控制,采用現(xiàn)代程 序設計技術,結果應能清楚地審查,開發(fā)小組的人員應該少 而精,承認不斷改進軟件工程實踐的必要性。4:軟件工程領域:軟件需求,設計,構建(寫代碼),測試, 維護,配置管理,工程管理,工程過程,工程工具,軟件質量。5:軟件生命周期:軟件定義(問題定義,可行性研究,需 求分析),軟件開發(fā)(概要設計,詳細設計,編碼和單元測試,綜合測試),運行維護(改正性維護,適應性維護,完 善性維護,預防性維護)。生命周期模型6:瀑布模型:就
3、是把一個開發(fā)過程分成收集需求,分析, 設計,編碼,測試,維護六部分,只有完成前面一步才能開 始后面一步,上一步的輸出的文檔就是這一步的輸入文檔, 每一步完成都要交出合格的文檔,每一步都會有反饋,如果 反饋有錯誤就退回前一步解決問題。瀑布模型的缺點:實際 的項目開發(fā)很難嚴格按該模型進行;由于用戶只能通過文檔 來了解產(chǎn)品,客戶往往很難清楚地給出所有的需求,而瀑布 模型不適應用戶需求的變化;軟件的實際情況必須到項目開 發(fā)的后期客戶才能看到。7:快速原型模型:就是根據(jù)用戶的需求迅速設計出一個原 型系統(tǒng),原型系統(tǒng)具有基本的功能,然后用戶使用原型并對 原型提出需求和改變,開發(fā)人員再對原型進行修改和完善知
4、道用戶滿意。優(yōu)點:容易適應需求的變化;有利于開發(fā)與培 訓的同步;開發(fā)費用低、開發(fā)周期短且對用戶更友好。 缺點: 快速建立起來的系統(tǒng)結構加上連續(xù)的修改可能會導致產(chǎn)品 質量低下;使用這個模型的前提是要有一個展示性的產(chǎn)品原 型,因此在一定程度上可能會限制開發(fā)人員的創(chuàng)新。8增量模型:就是把軟件分成許多個構件,每個構件分別 當做一個軟件來分析,設計,編碼,測試。開發(fā)人員一次一 個構件的提交給用戶,最后組裝到一起。增量模型的優(yōu)點: 一開始不用投入太多人力,如果核心產(chǎn)品很受歡迎,則可增 加人力實現(xiàn)下一個增量;可先發(fā)布部分功能給客戶,讓客戶 逐漸適應。缺點:并行開發(fā)構件有可能遇到不能集成的風險, 軟件必須具備
5、開放式的體系結構。9:螺旋模型:螺旋模型基本做法是在快速原型模型的每一 個原型前引入一個非常嚴格的風險分析,每個原型經(jīng)過制定 計劃,風險分析,實施工程,客戶評估四步走。每個原型都 標識一個或多個主要風險,直到所有的主要風險因素都被確 定。螺旋模型由風險驅動,強調可選方案和約束條件從而支 持軟件的重用,有助于將軟件質量作為特殊目標融入產(chǎn)品開 發(fā)之中。優(yōu)點:設計上的靈活性,可以在項目的各個階段進行變更;以小的分段來構建大型系統(tǒng),使成本計算變得簡單容易;客戶始終參與每個階段的開發(fā),保證了項目不偏離正確方向以及項目的可控性;缺點:采用螺旋模型需要具有相 當豐富的風險評估經(jīng)驗和專門知識,在風險較大的項目
6、開發(fā) 中,如果未能夠及時標識風險,勢必造成重大損失;過多的 迭代次數(shù)會增加開發(fā)成本,延遲提交時間。10:噴泉模型:以用戶需求為動力,以對象為驅動的模型, 主要用于描述面向對象的軟件開發(fā)過程。該模型認為軟件開 發(fā)過程自下而上周期的各階段是相互迭代和無間隙的特性。 噴泉模型不像瀑布模型那樣,需要分析活動結束后才開始設 計活動,設計活動結束后才開始編碼活動。該模型的各個階 段沒有明顯的界限,開發(fā)人員可以同步進行開發(fā)。其優(yōu)點是 可以提高軟件項目開發(fā)效率,節(jié)省開發(fā)時間,適應于面向對 象的軟件開發(fā)過程。缺點:由于噴泉模型在各個開發(fā)階段是 重疊的,因此在開發(fā)過程中需要大量的開發(fā)人員,因此不利 于項目的管理。
7、10.1 :總結:一開始是瀑布模型,但是瀑布模型因為是文檔 驅動,最終交付的產(chǎn)品不一定符合用戶需求,所以有了快速 原型模型,增量模型能在軟件早起就讓投資者獲得回報,但 是需要軟件具有開發(fā)體系架構,螺旋模型是風險驅動,但是 需要專業(yè)的風險分析人,噴泉模型的軟件生命周期是循環(huán)的, 適用于面向對象范型。11: rational統(tǒng)一過程是一個軟件開發(fā)過程框架,就是指團隊可以根據(jù)具體的項目組或軟件開發(fā)企業(yè)的不同需求,能夠 定義,配置,定制和實施一致的軟件開發(fā)過程,包括3核心:用于成功開發(fā)軟件的一組基本觀念和原則,一套關于可重用 方法內容和過程構件的框架(在框架內定義自己的開發(fā)方法 和過程),基礎的方法和
8、過程定義語言。12: RUP的最佳實踐:描述了一個指導開發(fā)團隊達成目標的 迭代式的軟件開發(fā)過程,包括:迭代式開發(fā)(每次迭代過程 中需求改變,每個迭代過程以完成可執(zhí)行版本結束,讓用戶 不斷介入和提出意見并改進),管理需求(用腳本來確定需求),使用基于組件的架構(使用功能清晰的模塊),可視化建模(可視化圖形更容易令人理解,幫助人們提高管理軟件 復雜性的能力),驗證軟件質量(軟件質量評估貫穿整個開 發(fā)過程),控制軟件變更(確保每個更改都是可接受和可跟 蹤的)。13:敏捷過程:宣告了以下 4個價值觀:個體和交互高于過 程和工具(團隊合作很重要,應該根據(jù)團隊成員和交互方式 配置項目環(huán)境),可以使用的軟件
9、高于面面俱到的文檔(主 要精力放在創(chuàng)建),客戶合作高于合同談判(開發(fā)團隊與客 戶密切協(xié)作),響應變化高于遵循計劃(計劃必須有足夠的 靈活性,在需要時能夠迅速調整)14:極限編程:就是把好的開發(fā)實踐運用到極致,廣泛運用 于模糊且經(jīng)常改變的場合。過程:首先,項目組針對客戶代 表提出的要求進行討論,對體系結構進行試探,然后項目組 根據(jù)客戶設定的優(yōu)先級指定交付計劃,然后開始多個迭代過 程。迭代期中新用戶故事不在本次迭代內解決,開發(fā)出的新 版本軟件通過驗收測試之后交付用戶使用。極限編程可以迅 速快捷的響應變化和不確定的需求,同時保持開發(fā)速度。 迭代過程:項目組根據(jù)項目速率,選擇需要完成的用戶需求 或應該
10、消除的差錯,制定出本次迭代計劃,每天舉行一次站 立會議解決遇到問題,調整迭代計劃,開發(fā)出的新功能必須 通過單元測試,立即繼承,得到新的可運行版本由客戶代表進行驗收測試,客戶代表提出問題,項目組根據(jù)問題提出新 的用戶要求,算出新的項目速率,并在站立會議上討論。15:能力成熟模型CMM因為問題是由管理軟件過程的方法不 當引起的,所以新軟件技術的運用并不會自動提高生產(chǎn)率和 軟件質量,能力成熟模型有助于軟件開發(fā)組織建立一個有規(guī) 律,成熟的軟件過程,改進后的過程將開發(fā)出高質量的軟件, 并節(jié)約時間和經(jīng)費。軟件開發(fā)既包括技術方面也包括管理方 面,CMM1過改變管理方面,從而改變技術方面。16:CMM吉構:成
11、熟度等級(對軟件過程的改進的 5個步驟), 過程能力(改進的軟件過程實現(xiàn)預期結果的能力),關鍵過程域(完成一些關鍵過程域就進入下一個成熟度等級),目標(定義每個關鍵過程域的目的),公共特性(把關鍵實踐歸入5個公共特性之中,指示一個關鍵過程域的實施和規(guī)范 化是否有效),關鍵實踐(若干個關鍵實踐描述關鍵過程域) 17:軟件過程:為了獲得高質量軟件產(chǎn)品所需要完成的一系 列任務的框架,規(guī)定各項任務的工作步驟。傳統(tǒng)方法學之結構化分析18:傳統(tǒng)的軟件工程采用結構化分析完成需求分析工作。19:需求分析的第一步就是盡可能準確的了解用戶當前的情 況和需要解決的問題,分析員對用戶的要求反復求精細化, 理解用戶需求
12、,得出對目標系統(tǒng)完整的準確的和具體的要求。 結構化分析就是通過建立數(shù)據(jù)模型,功能模型,行為模型給 出完整的需求規(guī)格說明書和全面的設計表示。20:與用戶溝通的方法:會談,簡易應用規(guī)格說明書,軟件 原型。21:結構化分析實質上是一種創(chuàng)建模型的活動,模型可以描 述用戶需求,為軟件設計奠定基礎,定義一組需求,一旦開 發(fā)出軟件產(chǎn)品之后,就可以用這組需求為標準來驗收。分析 模型的核心是數(shù)據(jù)字典,圍繞這個核心有三種圖22:實體關系圖可以數(shù)據(jù)對象描述,數(shù)據(jù)流圖(就是 A和B 兩個數(shù)據(jù)流經(jīng)過一個處理系統(tǒng)出來C數(shù)據(jù))可以處理規(guī)格說明,狀態(tài)轉換圖可以控制規(guī)格說明23:通過需求分析創(chuàng)建分析模型外還要寫出軟件規(guī)格需求說
13、 明,這是分析階段的最終成果。24:數(shù)據(jù)字典:對數(shù)據(jù)的數(shù)據(jù)項、數(shù)據(jù)結構、數(shù)據(jù)流、數(shù)據(jù) 存儲、處理邏輯、外部實體等進行定義和描述,其目的是對 數(shù)據(jù)流程圖中的各個元素做出詳細的說明從而是用戶和系 統(tǒng)分析員雙方對輸入輸出存儲的成分以及中間計算結果有 共同的理解。25:結構化分析舉例:項目:系統(tǒng)分析員研究學校自己的計 算機生成工資明細表和各種財務報表的可能性。過程包括問 題定義,可行性研究,需求分析 3階段。(1)問題定義:考慮用戶面臨的問是什么,用戶為什么要 做這個項目,考慮項目規(guī)模,預花費的費用(2)可行性研究:抽象和簡化了的系統(tǒng)分析和設計的全過 程,目的是以最小的代價確定問題是否可以解決。澄清系
14、統(tǒng) 規(guī)模和目標,研究現(xiàn)有系統(tǒng),導出高層邏輯模型,進一步確 定系統(tǒng)規(guī)模和目標,導出供選擇的解法,推薦最佳方案,草 擬開發(fā)計劃,寫出文檔提交審查。(3) 需求分析:回答“系統(tǒng)必須做什么”,在可行性研究的 基礎上,以前一段產(chǎn)生的文檔為出發(fā)點,分析員設計出更為 精確的數(shù)據(jù)流圖,寫出數(shù)據(jù)字典,更詳盡的定義系統(tǒng)應該完 成的每一個邏輯功能。寫出文檔初稿,定義邏輯系統(tǒng),細化數(shù)據(jù)流圖,書寫正式文檔,技術審查和管理復查結構化設計26:軟件設計的目標是設計出所要開發(fā)的軟件的模型。對軟 件需求有了完整,準確,具體的理解后,接下來的工作就是 用軟件正確的實現(xiàn)需求。傳統(tǒng)的軟件工程用結構化設計,把 軟件設計工作分為概要設計
15、(分析軟件規(guī)格說明書,對軟件 進行功能分解,劃分模塊,設計出預定模塊的結構)和詳細 設計(詳細設計每個模塊的算法和數(shù)據(jù)結構)。結構化分析為結構化設計提供輸入信息,由數(shù)據(jù)模型,功能模型,行為 模型描述的軟件需求給軟件設計者,軟件設計者再完成數(shù)據(jù) 設計,體系結構設計,接口設計,過程設計。27:軟件設計的原理:模塊化(把程序劃分為獨立命名獨立 訪問的模塊,每個模塊完成一個子功能),抽象(高層次抽 象一開始以概括的方式敘述問題的解法,然后低層次抽象把面向問題的術語和面向實現(xiàn)的術語結合起來敘述問題的解法,最后再最低層用直接實現(xiàn)的方式敘述問題的解法),逐步求精(即將系統(tǒng)功能按層次進行分解,每一層不斷將功能
16、 細化,到最后一層都是功能單一、簡單易實現(xiàn)的模塊),細節(jié)隱藏。28:模塊獨立:獨立的模塊比較容易開發(fā),測試和維護,耦合(一個軟件結構內不同模塊之間的互聯(lián)程度,耦合的強度 取決于模塊間接口和復雜程度),內聚(一個模塊內各個元 素彼此結合的緊密程度),我們追求的是低耦合和高內聚。29:結構化設計啟發(fā)規(guī)則:提高模塊獨立性,模塊規(guī)模適中, 深度寬度扇出扇入都要適中,模塊的作用于在可控范圍內, 降低接口復雜度,模塊單入單出,模塊功能可預測。30:軟件結構表示法:層次圖(系統(tǒng)模塊下面是各分模塊,分模塊又引出分分模塊),HIPO圖(在層次圖的基礎上家一 個IPO表,更好的現(xiàn)實輸入,處理,輸出三部分的關系),
17、結構圖(在層次圖的基礎上,更詳細的描述了模塊的信息和 之間的數(shù)據(jù)流)31:面向數(shù)據(jù)流的設計方法定義了一些不同的映射,利用這 些映射可以把數(shù)據(jù)流圖變換成軟件結構,通常說結構化設計 方法就是基于數(shù)據(jù)流的設計方案。數(shù)據(jù)流映射成信息流,信 息流有變換流和事務流兩種。32:人機界面設計問題:系統(tǒng)響應時間,用戶幫助設施,出 錯信息處理,命令交互。人機界面設計也是一個迭代的過程, 創(chuàng)建設計模型,創(chuàng)建原型,用戶評估返回意見修改。33:過程設計:過程設計不僅僅是在邏輯上實現(xiàn)每個模塊的 功能,更重要的是設計出的過程簡明易懂。如果一個程序的 代碼塊僅僅通過順序,選擇,循環(huán)3鐘控制結構進行連接,并每個代碼塊只有一個入
18、口和一個出口,那么這個就是結構 化程序。34:過程設計工具:程序流程圖,盒圖,PAD圖,判定表,判定樹35:面向數(shù)據(jù)結構的設計方法:不明確的使用軟件結構的概 念,對于模塊獨立原理沒有給予重視,這種方法適合再詳細 設計階段,完成軟件結構設計之后,用面向數(shù)據(jù)結構的方法 來設計每一個模塊的處理過程。結構化實現(xiàn)36:實現(xiàn)分為編碼和測試。37:測試分為黑盒測試(知道了產(chǎn)品應具有的功能,測試每 個功能能否正常使用,是在程序接口進行的測試)和白盒測 試(知道產(chǎn)品內部工作過程,通過測試來檢驗產(chǎn)品內部動作 是否按照規(guī)格說明書的規(guī)定正常進行,是在程序的每條通路 測試)38:測試準則:所有的測試都應能有用戶需求的根
19、據(jù);應該 早早指定測試計劃;采用二八原理;逐步測試小模塊,然后 測試大模塊;窮舉測試是不可能的;測試應由第三方來做。38.5 :設計測試方案基本目標是選用盡可能少的高校測試數(shù) 據(jù)。39:白盒測試方案:邏輯覆蓋:語句覆蓋(所有語句都走一 遍),判定覆蓋(判定結果的每個可能結果都執(zhí)行一遍),條件覆蓋(判定表達式中每個結果都走一遍),判定/條件覆蓋(結合前面兩個),條件組合覆蓋(判定表達式的條件的各 種組合都執(zhí)行一次)40:白盒測試技術:邏輯覆蓋,控制結構測試(基本路徑測試,條件測試,數(shù)據(jù)流測試,循環(huán)測試)41:黑盒測試技術:等價劃分,邊界值分析,錯誤推測。42:測試4步驟:單元測試:最開始測試每個
20、單獨的模塊, 采用白盒測試,檢查模塊控制結構中的特定路徑。集成測試:把模塊裝配在一起形成完整的軟件包,在裝配的同時進行測 試,解決程序驗證和程序構造兩個問題,采用黑盒測試。確 認測試:對軟件所滿足的所有功能,行為,性能需求的最終 測試,采用黑盒測試。系統(tǒng)測試:所有系統(tǒng)元素都能正常配 合。43:調試是在測試發(fā)現(xiàn)錯誤之后排除錯誤的過程。44:軟件可靠性:程序在給定時間間隔內,按照規(guī)格說明書 運行的概率。面向對象方法學45:傳統(tǒng)的軟件工程方法學不適合大型軟件產(chǎn)品的開發(fā), 現(xiàn)在是面向對象方法學,面向對象開發(fā)軟件的時候通常建立 3種模型:對象模型,動態(tài)模型,功能模型。對象模型是后 二者的基礎,是最最最核
21、心的。46:用對象分解取代功能分解,面向過程的設計方法以算法 為核心,把數(shù)據(jù)和處理過程相互分割開來。面向對象以對象 為核心,對象是對世界實體的抽象,把實體的內部狀態(tài),靜 態(tài)屬性,動態(tài)行為都封裝在一個對象里面。對象之間通過傳 遞消息通信。面向過程設計方法把精力集中在設計算法上, 按照計算機的要求設計,設計者站在計算機的立場上,但是 計算機和人類觀點差別很大,面向對象就是站在人類觀點的 立場上,面向對象是一種以數(shù)據(jù)或信息為主線,把數(shù)據(jù)和處 理相結合的方法,對象不被動的等待外界對它操作,而是進 行處理的主體,必須發(fā)消息讓對象執(zhí)行對象自己的操作,而 不能從外界直接對它的私有數(shù)據(jù)進行操作。47:面向對象
22、方法學的優(yōu)點:與人類習慣的思維方法一致, 穩(wěn)定性好,可重用性好,可維護性好,易開發(fā)大型軟件。48:對象模型:對象模型表示靜態(tài)的,結構化的數(shù)據(jù),描述 系統(tǒng)的靜態(tài)結構,為后兩個提供了框架。49:動態(tài)模型:表示瞬時的,行為化的系統(tǒng)的控制性質,規(guī) 定了對象模型中的對象的合法變化系列,用狀態(tài)轉換圖描述50:功能模型:表示變化的系統(tǒng)的功能性質,它指明了系統(tǒng) 應該做什么,更直接的反應了用戶的需求。51:功能模型指明做什么。動態(tài)模型規(guī)定什么時候做,對象 模型規(guī)定,誰做。面向對象分析52:面向對象分析的關鍵在于:識別出問題域內的對象,分 析他們之間的關系,最終建立 3種模型。53:面向對象分析:尋找類和對象,識別結構,識別主題, 定義屬性,建立動態(tài)模型,建立功能模型,定義服務。54:對象模型有 5個層次:主題層,類與對象層,結構層, 屬性層,服務層。55:建立對象模型:首先確定對
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 寶石的性質與評估試題及答案
- 2024年系統(tǒng)分析師考試的科技應用趨勢試題及答案
- 2024年記者證考試過程中的注意事項試題及答案
- 新聞資訊分析2024年記者證考試試題及答案
- 2024年多媒體設計師視覺傳達設計試題及答案
- 江西西部計劃考試模擬練習試題與答案
- 2024年調酒師飲酒禮儀試題
- 掌握2024年珠寶鑒定師試題及答案
- 2024年檔案檢索技巧試題及答案
- 2024年系統(tǒng)分析師考試要點試題及答案
- 2024年蘇州市市屬事業(yè)單位招聘工作人員筆試真題
- 浙教版九年級數(shù)學同步訓練:二次函數(shù)與幾何結合壓軸題(Ⅱ)(原卷版)
- 筒倉防雷施工方案
- 【地理】2024-2025學年人教版七年級下冊地理背誦知識點
- 2025年上海工藝美術職業(yè)學院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 23G409先張法預應力混凝土管樁
- 2024年寧波職業(yè)技術學院高職單招職業(yè)技能測驗歷年參考題庫(頻考版)含答案解析
- 市場營銷活動規(guī)范管理辦法
- 《企業(yè)績效考核工作探究的國內外文獻綜述》3200字
- 2024年09月全國2024年中國銀行信息科技運營中心校園招考筆試歷年參考題庫附帶答案詳解
- 2025年臨床醫(yī)師定期考核必考復習題庫及答案(620題)
評論
0/150
提交評論