單元一 初識(shí)軟件工程.ppt_第1頁(yè)
單元一 初識(shí)軟件工程.ppt_第2頁(yè)
單元一 初識(shí)軟件工程.ppt_第3頁(yè)
單元一 初識(shí)軟件工程.ppt_第4頁(yè)
單元一 初識(shí)軟件工程.ppt_第5頁(yè)
已閱讀5頁(yè),還剩50頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、軟件工程,主講人:路 景,單元一 初識(shí)軟件工程,軟件,工程,教學(xué)目標(biāo),理解軟件工程的發(fā)展歷程、基本思想及常用方法; 掌握軟件生存周期的含義及軟件生存周期模型的優(yōu)缺點(diǎn); 能夠根據(jù)軟件項(xiàng)目的自身特點(diǎn)、客戶要求等選擇合適的生命周期模型進(jìn)行項(xiàng)目開(kāi)發(fā);,你正確認(rèn)識(shí)軟件了嗎? 軟件發(fā)展簡(jiǎn)史,軟件是什么? 不同的人對(duì)軟件認(rèn)識(shí)不同。 用戶:軟件是刻在光盤(pán)上,安裝后能完成一定 功能的東西 開(kāi)發(fā)商:軟件就是一種產(chǎn)品 開(kāi)發(fā)人員:軟件是智慧的結(jié)晶,軟件的內(nèi)涵 軟件是計(jì)算機(jī)系統(tǒng)中的程序和有關(guān)文 檔的完整集合。,計(jì)算任務(wù)的處理對(duì)象和處理規(guī)則的描述;(指令序列及數(shù)據(jù)),為了便于了解程序所需的資料說(shuō)明(文字資料、圖形資料、使

2、用說(shuō)明書(shū)、設(shè)計(jì)技術(shù)資料等),軟件程序文檔,千萬(wàn)不能沒(méi)有我!,二. 軟件的特征,軟件是無(wú)形的,不是具體的物理實(shí)體 軟件與硬件的生產(chǎn)方式不同 軟件與硬件的維護(hù)不同 軟件是復(fù)雜的 軟件成本相當(dāng)昂貴,三. 軟件開(kāi)發(fā)技術(shù)的發(fā)展,計(jì)算機(jī)發(fā)展史 軟件開(kāi)發(fā)技術(shù)發(fā)展史,電子管時(shí)代 (19461958),晶體管時(shí)代 (19581965),集成電路時(shí)代 (19651970),大規(guī)模集成電路時(shí)代 (1970至今),程序設(shè)計(jì)階段(個(gè)體手工勞動(dòng)) (20世紀(jì)50年代初60年代中),程序系統(tǒng)階段(軟件作坊) (20世紀(jì)60年代中70年代初),軟件工程階段 (20世紀(jì)70年代中至今),四、軟件工程誕生的導(dǎo)火索 軟件危機(jī),1.

3、 軟件危機(jī)的含義 軟件危機(jī)是指在計(jì)算機(jī)軟件開(kāi)發(fā)和 維護(hù)過(guò)程中所遇到的一系列嚴(yán)重問(wèn)題。 軟件危機(jī)在20世紀(jì)60年代末全面爆 發(fā),主要針對(duì)如何開(kāi)發(fā)軟件、怎樣滿足 對(duì)軟件日益增長(zhǎng)的需求、如何維護(hù)現(xiàn)有 軟件三個(gè)重要問(wèn)題。,危機(jī)何在(軟件危機(jī)產(chǎn)生的原因): 軟件不符合用戶的實(shí)際需求 軟件價(jià)格昂貴 軟件開(kāi)發(fā)項(xiàng)目超支和延期 軟件質(zhì)量低,可靠性差 軟件缺少適當(dāng)?shù)奈臋n資料 難于修改和維護(hù)軟件,2. 如何化解危機(jī),我們需要從管理、技術(shù)和工具三個(gè)方面入手來(lái)解決軟件危機(jī) 加強(qiáng)軟件開(kāi)發(fā)過(guò)程的管理 推廣使用開(kāi)發(fā)軟件的成功技術(shù)和方法 開(kāi)發(fā)和使用好的軟件工具,1968年在前聯(lián)邦德國(guó)格密斯舉行了 稱(chēng)為“軟件危機(jī)”的國(guó)際學(xué)術(shù)會(huì)議

4、。,我們必須既要有技術(shù)措施,又要有管理措施!,軟件工程是解決軟件危機(jī)的唯一有效方法!,初識(shí)軟件工程,一.軟件工程的定義 軟件工程是對(duì)軟件開(kāi)發(fā)、運(yùn)行、維護(hù)的系統(tǒng)化的、有紀(jì)律的、可定量的方法之應(yīng)用,即對(duì)軟件的工程化應(yīng)用。(IEEE) 軟件工程是為了經(jīng)濟(jì)的獲得可靠的并且能在實(shí)際計(jì)算機(jī)上工作的軟件,所需要的健全的工程原理及方法的確立和使用。,軟件工程三要素,方法:軟件開(kāi)發(fā)使用的專(zhuān)業(yè)技術(shù)指明軟 件開(kāi)發(fā)“如何做” 工具:軟件開(kāi)發(fā)、維護(hù)和分析中使用的 程序系統(tǒng) 過(guò)程:將方法與工具綜合起來(lái),定義方 法使用的順序,要求交付的文 檔、資料等,二. 軟件工程的基本內(nèi)容,軟件工程研究的主要內(nèi)容是軟件開(kāi)發(fā)技術(shù)和軟件開(kāi)發(fā)

5、管理兩個(gè)方面。其目的是研究如何以較小的代價(jià)獲得高質(zhì)量的軟件。,傳統(tǒng)軟件工程學(xué)的基本內(nèi)容: 軟件生存周期模型 軟件分析 可行性分析 需求分析 軟件設(shè)計(jì) 總體設(shè)計(jì) 詳細(xì)設(shè)計(jì) 軟件實(shí)現(xiàn) 軟件測(cè)試 軟件維護(hù) 軟件管理,軟件生存周期,一. 什么是軟件生存周期? 一個(gè)計(jì)算機(jī)軟件從功能確定、設(shè)計(jì)到開(kāi)發(fā)成功投入使用,并在使用中不斷修改、增補(bǔ)和完善,直到停止該軟件使用的全過(guò)程。,你能找出上述定義中包含的軟件開(kāi)發(fā)整個(gè)過(guò)程需要完成的工作嗎?,二. 軟件生存周期的階段,項(xiàng)目實(shí)施人員,改進(jìn)后的系統(tǒng),維護(hù)、改進(jìn)、完善系統(tǒng),使用和維護(hù),軟件運(yùn)行維護(hù),測(cè)試人員,測(cè)試報(bào)告,發(fā)現(xiàn)錯(cuò)誤、 排除錯(cuò)誤(質(zhì)檢),軟件測(cè)試,程序員,系統(tǒng)程

6、序,編寫(xiě)程序,實(shí)現(xiàn)(單元測(cè)試),用戶、 開(kāi)發(fā)人員,概要設(shè)計(jì)說(shuō)明書(shū) 詳細(xì)設(shè)計(jì)說(shuō)明書(shū),建立軟件模塊結(jié)構(gòu),設(shè)計(jì)具體算法(怎么做),軟件設(shè)計(jì),軟件開(kāi)發(fā),用戶、 開(kāi)發(fā)人員,需求規(guī)格說(shuō)明書(shū),理解、表達(dá)用戶需求(“做什么”),需求分析,用戶、 開(kāi)發(fā)人員,可行性研究報(bào)告,確定總目標(biāo), 項(xiàng)目可行性研究,可行性分析與計(jì)劃,軟件定義,參與人員,主要成果,工作任務(wù),階段名稱(chēng),總體設(shè)計(jì) 詳細(xì)設(shè)計(jì),集成測(cè)試 確認(rèn)測(cè)試,三.軟件生存周期模型,軟件開(kāi)發(fā)模型是從軟件項(xiàng)目需求定義直至軟件經(jīng)使用后廢棄為止,跨越整個(gè)生存期的系統(tǒng)開(kāi)發(fā)、運(yùn)作和維護(hù)所實(shí)施的全部過(guò)程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架。,軟件生命周期模型反映了軟件生存期 各種活動(dòng)應(yīng)該如

7、何組織,8個(gè)階段應(yīng)該如 何銜接。 它實(shí)質(zhì)上反映了軟件工程三要素中的 過(guò)程,因此也被稱(chēng)為“軟件過(guò)程模型” 或“軟件生存周期模型”。,1.瀑布模型(最早的軟件開(kāi)發(fā)模型),基本思想 各項(xiàng)活動(dòng)自上而下,相互銜接,以固定次序進(jìn)行,如同瀑布流水,逐級(jí)下落。 每一階段開(kāi)發(fā)活動(dòng)應(yīng)按如下步驟進(jìn)行: 從上一項(xiàng)活動(dòng)接收本項(xiàng)活動(dòng)的工作對(duì)象 利用這一輸入完成本項(xiàng)工作 對(duì)本項(xiàng)活動(dòng)實(shí)施的工作進(jìn)行評(píng)審 將本項(xiàng)活動(dòng)工作成果,作為輸出傳給下面,優(yōu)點(diǎn)和缺點(diǎn) 優(yōu)點(diǎn): 能夠保證產(chǎn)品有較高質(zhì)量,保證缺陷能盡早發(fā)現(xiàn)。 缺點(diǎn): 在軟件開(kāi)發(fā)初期指明軟件系統(tǒng)的全部需求較困難; 易導(dǎo)致項(xiàng)目人力資源過(guò)多的閑置; 用戶要等相當(dāng)長(zhǎng)時(shí)間才能得到最初版本;

8、 上流的錯(cuò)誤會(huì)在下流進(jìn)行傳播,逆轉(zhuǎn)會(huì)延誤工期,增加成本。,適用場(chǎng)合 當(dāng)有一個(gè)明確的、相對(duì)穩(wěn)定的需求分析和很容易被理解的技術(shù)解決方案時(shí),可以采用瀑布模型。 需要對(duì)一個(gè)已有系統(tǒng)進(jìn)行明確定義的適應(yīng)性調(diào)整或增強(qiáng)的時(shí)候,可以采用瀑布模型。,2.原型模型,基本思想 (1)開(kāi)發(fā)人員根據(jù)用戶需求快速開(kāi)發(fā)一個(gè)原型 (2)征求用戶對(duì)原型的評(píng)價(jià)意見(jiàn),進(jìn)一步使需求精確化 (3)根據(jù)精確后的需求改進(jìn)、完善原型,直到滿足用戶需求為止,原型開(kāi)發(fā)途徑 (1)僅模擬軟件系統(tǒng)的人機(jī)界面和人機(jī)交互方式 (2)開(kāi)發(fā)一個(gè)工作模型,實(shí)現(xiàn)軟件系統(tǒng)中重要的或容易產(chǎn)生誤解的功能 (3)利用一個(gè)或幾個(gè)類(lèi)似的正在運(yùn)行的軟件向用戶展示軟件需求中的部

9、分或全部功能,優(yōu)點(diǎn)和缺點(diǎn) 優(yōu)點(diǎn): 原型模型能夠從實(shí)踐中了解用戶的需求,對(duì) 改善溝通和用戶參與有較好的效果,是一種良好 的啟發(fā)式方法。 缺點(diǎn): 搭建原型時(shí),經(jīng)常沒(méi)有考慮整體質(zhì)量和今后的可維護(hù)性問(wèn)題 可能采用不適當(dāng)?shù)某绦蛟O(shè)計(jì)語(yǔ)言或算法 用戶不能正確理解原型的意義,適用場(chǎng)合 需求不明確或需求經(jīng)常隨時(shí)間變化的系統(tǒng)。,3.增量模型(漸增模型),基本思想 (1)首先建立一個(gè)統(tǒng)一的體系結(jié)構(gòu)分析設(shè)計(jì) (2)在增量模型的每一個(gè)階段,都要編碼產(chǎn)生一個(gè)新的構(gòu)件(中間版本) (3)將新構(gòu)件集成到先前已經(jīng)構(gòu)成的產(chǎn)品中并作為一個(gè)整體進(jìn)行測(cè)試,直到滿足用戶需求為止 一般首先開(kāi)發(fā)產(chǎn)品的核心部分,然后再逐步開(kāi)發(fā)產(chǎn)品的附加部分,

10、開(kāi)發(fā)流程,一個(gè)典型的產(chǎn)品通常由1050個(gè)構(gòu)件組成。,優(yōu)點(diǎn)和缺點(diǎn) 優(yōu)點(diǎn): 增量模型的每個(gè)階段都交付一個(gè)可操作的 產(chǎn)品,從第一個(gè)構(gòu)件交付開(kāi)始,客戶就能做有用 的工作 缺點(diǎn): 后開(kāi)發(fā)的構(gòu)件必須能夠集成到先前已開(kāi) 發(fā)的產(chǎn)品中而不毀壞已開(kāi)發(fā)的功能。,要求體系結(jié)構(gòu)設(shè)計(jì)必須是開(kāi)放的,否則有難度,適用場(chǎng)合 當(dāng)沒(méi)有足夠的人員在規(guī)定的期限內(nèi)開(kāi)發(fā)完整的產(chǎn)品 由于不可克服的客觀原因而把交付期限規(guī)定的太短,原型模型是一種迭代的開(kāi)發(fā)形式,想想原型模型與漸增模型有什么不同之處?,4.演化模型,基本思想 第一次迭代(需求-設(shè)計(jì)-實(shí)現(xiàn)-測(cè)試-集成)-反饋- 第二次迭代(需求-設(shè)計(jì)-實(shí)現(xiàn)-測(cè)試-集成)-反饋- 采用演化模型的開(kāi)發(fā)

11、過(guò)程,實(shí)際上就是從初始的原型逐步演化成最終軟件產(chǎn)品的過(guò)程。,缺點(diǎn) 如果所有的產(chǎn)品需求在一開(kāi)始并不完全弄清楚的話,會(huì)給總體設(shè)計(jì)帶來(lái)困難及削弱產(chǎn)品設(shè)計(jì)的完整性,影響產(chǎn)品性能的優(yōu)化及產(chǎn)品的可維護(hù)性。 如果缺乏嚴(yán)格的過(guò)程管理的話,這個(gè)生命周期模型很可能退化為一種原始的無(wú)計(jì)劃的“試錯(cuò)改”模式。 心理上,可能產(chǎn)生一種影響盡最大努力的想法,認(rèn)為雖然不能完成全部功能,但還是造出了一個(gè)有部分功能的產(chǎn)品。 如果不加控制地讓用戶接觸開(kāi)發(fā)中尚未測(cè)試穩(wěn)定的功能,可能對(duì)開(kāi)發(fā)人員及用戶都產(chǎn)生負(fù)面的影響。,適用場(chǎng)合 演化模型特別適用于對(duì)軟件需求缺乏準(zhǔn)確認(rèn)識(shí)的情況。,想想演化模型與增量模型有什么不同之處?,5.螺旋模型,基本思

12、想 (1)將瀑布模型與原型模型結(jié)合起來(lái) (2)增加了風(fēng)險(xiǎn)分析 (3)將瀑布模型的多個(gè)階段轉(zhuǎn)化到多個(gè)迭代過(guò)程中,開(kāi)發(fā)過(guò)程 螺旋模型主要由4個(gè)部分組成:需求定義、風(fēng)險(xiǎn)分析、實(shí)施開(kāi)發(fā)和計(jì)劃評(píng)審。 每一次迭代均包含六個(gè)步驟: 決定目標(biāo)和解決方案 識(shí)別和解決項(xiàng)目的風(fēng)險(xiǎn) 評(píng)估解決方案 開(kāi)發(fā)本次迭代的交付物,驗(yàn)證交付物的正確性 計(jì)劃下依次迭代 提交下一次迭代的步驟和方案,優(yōu)點(diǎn)和缺點(diǎn) 優(yōu)點(diǎn): 實(shí)現(xiàn)了隨著項(xiàng)目成本投入不斷增加,風(fēng)險(xiǎn) 逐漸減小 缺點(diǎn): 需要具有相當(dāng)豐富的風(fēng)險(xiǎn)評(píng)估經(jīng)驗(yàn)和專(zhuān) 門(mén)知識(shí),而且費(fèi)用昂貴,適用場(chǎng)合 一般適用于大型軟件項(xiàng)目的開(kāi)發(fā),微軟的軟件產(chǎn)品周期,計(jì)劃,設(shè)計(jì),執(zhí)行,穩(wěn)定,發(fā)布,規(guī)劃階段和設(shè)計(jì)階

13、段,產(chǎn)品規(guī)劃(Planning) 市場(chǎng)機(jī)會(huì) 客戶需求 功能和技術(shù) 愿景(Vision) 制定計(jì)劃和過(guò)程 產(chǎn)品設(shè)計(jì)(Design) 細(xì)化需求 功能和架構(gòu)設(shè)計(jì) 界面設(shè)計(jì) 開(kāi)發(fā)計(jì)劃,實(shí)施階段和定型階段,實(shí)施階段(Implement) 編寫(xiě)代碼 構(gòu)建產(chǎn)品 產(chǎn)品定型(Stabilize) 驗(yàn)證和改進(jìn) 測(cè)試和調(diào)試,44,發(fā)布階段,產(chǎn)品發(fā)布階段(Release) 交付生產(chǎn) 在線內(nèi)容的發(fā)布和維護(hù) 進(jìn)入產(chǎn)品更新階段,45,微軟里程碑模型,由微軟軟件工程團(tuán)隊(duì)在實(shí)際中逐步創(chuàng)立 集合了各種軟件開(kāi)發(fā)模型的優(yōu)點(diǎn) 微軟軟件工程實(shí)踐的真實(shí)寫(xiě)照,什么是里程碑?,項(xiàng)目的檢查點(diǎn)(Checkpoint) 包含產(chǎn)品生命周期中的一個(gè)或多

14、個(gè)階段 基于 Exit Criteria 一系列”是/否”問(wèn)題 所有問(wèn)題的回答都是”是”時(shí),可以進(jìn)入下一階段 由M0, M1, M2, M3 RC0, RC1等一系列階段組成 M: Milestone RC: Release Candidate,微軟里程碑模型,微軟里程碑模型,49,里程碑(Milestones) M0: 規(guī)劃和設(shè)計(jì)(plan and design) Mn: 實(shí)施(coding as speced) 定型/穩(wěn)定(Stabilization: test, verify and stabilize) 交付生產(chǎn)(RTM/W: release to manufacture/web),里程碑模型術(shù)語(yǔ),8.生命周期模型的選擇原則,在前期需求明確的情況下盡量采用瀑布模型 在用戶無(wú)信息系統(tǒng)使用經(jīng)驗(yàn),需求分析人員技能不足情況下要借助原型模型 在不確定因素很多,很多東西前面無(wú)法計(jì)劃情況下,盡量采用增量、迭代和螺旋模型 在需求不穩(wěn)定情況下盡量采用增量、演化模型 在資金和成本無(wú)法一次到位情況下可采用增量模型 模型可以綜合使用,思考題:假設(shè)你被任命為一家軟件公司的項(xiàng)目負(fù)責(zé)人,你的工作是管理該公司已被廣泛應(yīng)用的字處理軟件的新版本開(kāi)發(fā)。由于市場(chǎng)競(jìng)爭(zhēng)激烈,公司規(guī)定了嚴(yán)格的完成期限并且已對(duì)外公

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論