軟件工程基礎(chǔ)講解-資料課件_第1頁
軟件工程基礎(chǔ)講解-資料課件_第2頁
軟件工程基礎(chǔ)講解-資料課件_第3頁
軟件工程基礎(chǔ)講解-資料課件_第4頁
軟件工程基礎(chǔ)講解-資料課件_第5頁
已閱讀5頁,還剩83頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

軟件工程主講:姜寧教材《軟件工程》張海藩清華大學(xué)出版社

參考書目《軟件工程實(shí)踐者的研究方法》機(jī)械工業(yè)出版社《軟件工程》盧瀟清華大學(xué)出版社軟件業(yè)的生存之道人月神話學(xué)習(xí)方式完成必要的作業(yè)完成每次的實(shí)驗題目完成一次綜合性的項目分析開發(fā)軟件工程師的基本功底扎實(shí)的基礎(chǔ)

豐富的想象力最簡單的是最好交流能力良好的編程風(fēng)格韌性和毅力“開發(fā)流程+英文優(yōu)勢”印度軟件在中國的發(fā)展

根據(jù)統(tǒng)計數(shù)據(jù),2019年前三個季度,有21家印度公司在中國直接投資,但投資總額僅為1700萬美元,在同期外國IT企業(yè)在華直接投資中所占的比例小得可憐??紤]到從2019年起,印度前四名的軟件企業(yè)塔塔、InfoSys、Wipro以及Satyam就已陸續(xù)在上海登陸學(xué)習(xí)目的對項目的定位分析軟件工程思想建模軟件工程是典型的計算機(jī)科學(xué)和數(shù)學(xué),管理科學(xué),心理學(xué),社會學(xué)等學(xué)科的綜合。軟件的發(fā)展程序設(shè)計階段(20世紀(jì)40年代初~60年代中期)程序系統(tǒng)階段(60年代中期到70年代末期)軟件工程階段(20世紀(jì)70年代中)第四階段個體化的軟件環(huán)境

軟件規(guī)模小,編寫者和使用者往往是同一個人,除程序清單外,無其它文檔資料?!败浖鞣弧?/p>

比較廣泛使用產(chǎn)品軟件,仍沿用個體化開發(fā)方法。軟件維護(hù)工作很難進(jìn)行,甚至不可維護(hù)(不能修改運(yùn)行時發(fā)現(xiàn)的錯誤,不能適應(yīng)新的硬件環(huán)境)由于軟件的“不可維護(hù)”,而導(dǎo)致了“軟件危機(jī)”。微處理器出現(xiàn)

個人計算機(jī)產(chǎn)品、分布式系統(tǒng)對軟件開發(fā)提出更高要求,軟件在工業(yè)、學(xué)術(shù)界應(yīng)用廣泛,個人應(yīng)用少。更強(qiáng)大的硬件和軟件復(fù)雜操作系統(tǒng)控制的強(qiáng)大的桌面系統(tǒng),局域網(wǎng)和廣域網(wǎng),先進(jìn)的應(yīng)用軟件配合,成為主流。集中主機(jī)環(huán)境轉(zhuǎn)變?yōu)榉植嫉腃/S,B/S環(huán)境。面向?qū)ο蠹夹g(shù)取代傳統(tǒng)技術(shù)。

例:Windows95有1000萬行代碼

Windows2000有5000萬行代碼Exchange2000和Windows2000開發(fā)人員結(jié)構(gòu)Exchange2000Windows2000項目經(jīng)理25人約250人開發(fā)人員140人約1700人測試人員350人約3200人軟件工程概論什么是軟件軟件的分類軟件的發(fā)展軟件生存期軟件工程軟件工程的目的和要求軟件是計算機(jī)系統(tǒng)中與硬件相互依存的另一部分,它是包括程序,數(shù)據(jù)及其相關(guān)文檔的完整集合軟件=程序+數(shù)據(jù)+文檔資料程序是按事先設(shè)計的功能和性能要求執(zhí)行的指令序列數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu)文檔是與程序開發(fā),維護(hù)和使用有關(guān)的圖文材料軟件的分類按軟件的功能進(jìn)行劃分:系統(tǒng)軟件使計算機(jī)系統(tǒng)各個部件、相關(guān)軟件和數(shù)據(jù)協(xié)調(diào)、高效地工作的軟件操作系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)設(shè)備驅(qū)動程序通信處理程序等支撐軟件協(xié)助用戶開發(fā)軟件的工具軟件文本編輯程序文件格式化程序磁盤向磁帶進(jìn)行數(shù)據(jù)傳輸?shù)某绦虺绦驇煜到y(tǒng)支持需求分析、設(shè)計、實(shí)現(xiàn)、測試和支持管理的軟件應(yīng)用軟件商業(yè)數(shù)據(jù)處理軟件工程與科學(xué)計算軟件計算機(jī)輔助設(shè)計/制造軟件系統(tǒng)仿真軟件智能產(chǎn)品嵌入軟件醫(yī)療、制藥軟件事務(wù)管理、辦公自動化軟件計算機(jī)輔助教學(xué)軟件按軟件規(guī)模進(jìn)行劃分:類別參加人員數(shù) 研制期限源程序行數(shù)

微型 1 1~4周0.5k小型1 1~6月1k~2k

數(shù)值計算或數(shù)據(jù)處理,通常沒有與其它程序的接口。需要按一定的標(biāo)準(zhǔn)化技術(shù)、正規(guī)的資料書寫以及定期的系統(tǒng)審查。只是沒有大題目那樣嚴(yán)格。中型2~5 1~2年5k~50k

軟件人員之間、與用戶之間的聯(lián)系、協(xié)調(diào)的配合關(guān)系。因而計劃、資料書寫以及技術(shù)審查需要比較嚴(yán)格地進(jìn)行。應(yīng)用程序和系統(tǒng)程序。系統(tǒng)的軟件工程方法是完全必要的。大型5~20 2~3年50k~100k

編譯程序、小型分時系統(tǒng)、實(shí)時控制系統(tǒng)等。二級管理,若干小組,每組5人以下。人員調(diào)整往往不可避免,新手的培訓(xùn)。采用統(tǒng)一的標(biāo)準(zhǔn),實(shí)行嚴(yán)格的審查是絕對必要的。甚大型100~10004~5年1M(=1000k)

若干個子項目,每一個子項目都是一個大型軟件。子項目之間具有復(fù)雜的接口。如遠(yuǎn)程通信系統(tǒng)、多任務(wù)系統(tǒng)、大型操作系統(tǒng)、大型數(shù)據(jù)庫管理系統(tǒng)、軍事指揮系統(tǒng)通常現(xiàn)有這樣的規(guī)模。很顯然,這類問題沒有軟件工程方法的支持,它的開發(fā)工作是不可想象的。極大型2000~50005~10年1M~10M

軍事指揮、彈道導(dǎo)彈防御系統(tǒng)。只是對軟件工程技術(shù)依賴的程度不同而已。按軟件工作方式劃分:

實(shí)時處理軟件分時軟件交互式軟件批處理軟件按軟件服務(wù)對象的范圍劃分:

項目軟件

合同約束,實(shí)驗研究特殊定制的產(chǎn)品軟件

提供市場,功能、性能、培訓(xùn)及服務(wù)按使用的頻度進(jìn)行劃分:低頻度使用頻繁使用按軟件失效的影響進(jìn)行劃分:高可靠性軟件一般可靠性軟件軟件的特點(diǎn)軟件是一種邏輯實(shí)體,而不是具體的物理實(shí)體。因而它具有抽象性軟件的生產(chǎn)與硬件不同,在它的開發(fā)過程中沒有明顯的制造過程在軟件的運(yùn)行和使用期間,沒有硬件那樣的機(jī)械磨損,老化問題軟件對硬件和環(huán)境有著不同程度的依賴性,導(dǎo)致了軟件升級和移植的問題。傳統(tǒng)的手工開發(fā)方式使軟件開發(fā)的效率受到很大的限制。因此,應(yīng)促進(jìn)軟件技術(shù)自動生成技術(shù)和其他一些有效的軟件開發(fā)工具或軟件開發(fā)環(huán)境。軟件本身是復(fù)雜的實(shí)際問題的復(fù)雜性程序邏輯結(jié)構(gòu)的復(fù)雜性軟件成本相當(dāng)昂貴大多數(shù)軟件是新開發(fā)的,而不是通過已有的構(gòu)件組裝而來的。相當(dāng)多的軟件工作涉及到社會因素軟件生產(chǎn)隨規(guī)模增大而復(fù)雜度增大以美國宇航局的軟件系統(tǒng)為例:1963年水星計劃系統(tǒng)200萬條指令1967年雙子星座計劃系統(tǒng)400萬條指令1973年阿波羅計劃系統(tǒng)1000萬條指令1979年哥倫比亞航天飛機(jī)系統(tǒng)4000萬條指令假設(shè)1個人一年生產(chǎn)一萬條有效指令,那么是否4000人生產(chǎn)一年,或400人生產(chǎn)10年就能完成任務(wù)嗎?答案是否定的。一萬條指令的復(fù)雜度決不僅僅是100條指令復(fù)雜度的100倍。軟件開發(fā)進(jìn)度難以預(yù)測拖延工期幾個月甚至幾年的現(xiàn)象并不罕見,這種現(xiàn)象降低了軟件開發(fā)組織的信譽(yù)。以丹佛新國際機(jī)場為例。該機(jī)場規(guī)模是曼哈頓機(jī)場的兩倍,寬為希思機(jī)場的10倍,可以全天侯同時起降三架噴氣式客機(jī);投資1.93億美元建立了一個地下行李傳送系統(tǒng),總長21英里,有4,000臺遙控車,可按不同線路在20家不同的航空公司柜臺、登機(jī)門和行李領(lǐng)取處之間發(fā)送和傳遞行李;支持該系統(tǒng)的是5,000個電子眼、400臺無線電接受機(jī)、56臺條形碼掃描儀和100臺計算機(jī)。按原定計劃要在1993年萬圣節(jié)前啟用,但一直到1994年6月,機(jī)場的計劃者還無法預(yù)測行李系統(tǒng)何時能達(dá)到可使機(jī)場開放的穩(wěn)定程度。典型失敗系統(tǒng)的例子IBM公司開發(fā)OS/360系統(tǒng),共有4000多個模塊,約100萬條指令,投入5000人年,耗資數(shù)億美元,結(jié)果還是延期交付。在交付使用后的系統(tǒng)中仍發(fā)現(xiàn)大量(2000個以上)的錯誤。沒有一種單純的技術(shù)或管理上的進(jìn)步,能夠獨(dú)立地承諾在10年內(nèi)大幅度地提高軟件的生產(chǎn)率、可靠性和簡潔性確實(shí),直到上個世紀(jì)末,20多年以來,軟件行業(yè)的生產(chǎn)效率依然沒有數(shù)量級的提高,軟件在幫助傳統(tǒng)行業(yè)提高效率的同時,自身卻成為最原始意義上的“手工行業(yè)”。雖然,許多大型的企業(yè)級應(yīng)用軟件采取了大規(guī)模的生產(chǎn)和協(xié)作,但是這種軟件往往開發(fā)時間長,效率低,無法動態(tài)調(diào)整,無法由僵硬變得靈活和敏捷。軟件業(yè)也需要脫離手工作坊時代和工業(yè)時代,而走進(jìn)敏捷定制的后工業(yè)時代。軟件生產(chǎn)方式的落后,加之需求和環(huán)境的進(jìn)一步復(fù)雜,使得傳統(tǒng)軟件的生產(chǎn)方式,不但不能緩解軟件工程的危機(jī),而是處于不斷加深的危機(jī)之中?;ヂ?lián)網(wǎng)應(yīng)用時代,企業(yè)期望的是以更低的成本,更快的速度,獲得高質(zhì)量、高靈活性的隨處可得的軟件。顯然,依靠傳統(tǒng)軟件業(yè)落后的生產(chǎn)方式和僵化的軟件結(jié)構(gòu),無法面對互聯(lián)網(wǎng)應(yīng)用的挑戰(zhàn)。矛盾在不斷加劇,危機(jī)在不斷加深。僵化的軟件結(jié)構(gòu)無法產(chǎn)生銀彈——從代碼級做起的軟件,強(qiáng)調(diào)功能實(shí)現(xiàn),天生具有龐大、僵化、無法適應(yīng)變化的缺點(diǎn)。編碼式的軟件,無論是采取何種方式,都無法真正實(shí)現(xiàn)“敏捷定制”。代碼級的編程、代碼級的維護(hù)使得效率不可能真正地提高。軟件開發(fā)中的問題計劃很難制定致使經(jīng)費(fèi)預(yù)算常常突破

由于缺乏軟件開發(fā)的經(jīng)驗,主觀盲目地制定計劃,執(zhí)行起來和實(shí)際情況有很大差距,對于工作量估計不準(zhǔn)確,進(jìn)度計劃無法遵循,開發(fā)工作完成的期限一拖再拖。已經(jīng)拖延了的項目,為了加快進(jìn)度趕上去而增加人力,反而更加延誤了。需求在開發(fā)的初期階段提得不夠明確,或是未能得到確切的表達(dá)。

軟件人員和用戶又未能及時交換意見,使得一些問題不能及時解決,造成開發(fā)后期矛盾的集中暴露。然而這時問題既難于分析,也難于挽回。開發(fā)過程沒有統(tǒng)一的、公認(rèn)的方法論和規(guī)范指導(dǎo)加之不重視文字資料工作,資料很不完整;忽視每個人與其他人的接口部分,發(fā)現(xiàn)了問題修修補(bǔ)補(bǔ),這樣的軟件很難維護(hù)。未能充分做好檢測工作

在運(yùn)行中暴露出大量的問題,輕者影響系統(tǒng)的正常工作,重者發(fā)生事故,甚至造成生命財產(chǎn)的重大損失。

美國IBM公司在1963年至1966年開發(fā)的IBM360機(jī)的操作系統(tǒng)。5000人-年的工作量,1000人投入,近100萬行源程序。每次發(fā)行的新版本都是從前一版本中找1000個程序錯誤,項目負(fù)責(zé)人F.D.Brook總結(jié)時說:“正像一只逃亡的野獸落到泥潭中做垂死的掙扎,越是掙扎,陷得越深。最后無法逃脫滅頂?shù)臑?zāi)難?!鞍垂こ袒脑瓌t和方法組織軟件開發(fā)是軟件開發(fā)中的問題一個主要出路。

軟件工程階段,約為70年代以后。50年代到60年代時,程序設(shè)計曾經(jīng)被看做是一種任人發(fā)揮創(chuàng)造才能的技術(shù)領(lǐng)域。寫出的程序通篇充滿了程序技巧,這些程序很難被別人看懂。然而隨著計算機(jī)的廣泛使用,人們逐漸拋棄了這種觀點(diǎn)。對于稍大的程序,并需要較長時間為許多人使用的程序,人們要求這些程序容易看懂、容易使用,并且容易修改和擴(kuò)充。多個軟件人員分工合作、共同完成;只有在項目的總體要求和技術(shù)規(guī)范的約束下充分發(fā)揮和施展。軟件危機(jī)的具體體現(xiàn)(1)軟件開發(fā)進(jìn)度難以預(yù)測(2)軟件開發(fā)成本難以控制(3)用戶對軟件功能難以滿足(4)軟件產(chǎn)品質(zhì)量無法保證(5)軟件產(chǎn)品難以維護(hù)(6)軟件缺少文檔資料軟件工程的定義軟件工程:是一門研究如何用系統(tǒng)化、規(guī)范化、數(shù)量化等工程原則和方法去進(jìn)行軟件的開發(fā)和維護(hù)的學(xué)科。實(shí)質(zhì)上,軟件工程就是采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護(hù)軟件,把經(jīng)過時間考驗而證明正確的管理方法和最先進(jìn)的軟件開發(fā)技術(shù)結(jié)合起來,應(yīng)用到軟件開發(fā)和維護(hù)過程中去。IEEE:(InstituteofElectricalandElectronicsEngineers)軟件工程是將系統(tǒng)化的、規(guī)范的、可度量的方法應(yīng)用于軟件的開發(fā)、運(yùn)行和維護(hù)過程,即將工程化應(yīng)用于軟件中的方法的研究。軟件工程三要素:

方法、工具和過程工具層:為軟件工程方法提供了自動的或半自動的軟件支撐環(huán)境。

CASE:計算機(jī)輔助軟件工程,將各種軟件工具、開發(fā)機(jī)器和一個存放開發(fā)過程信息的工程數(shù)據(jù)庫組合起來形成一個軟件工程環(huán)境。使用軟件工程工具可以有效地改善軟件開發(fā)過程,提高開發(fā)效率,降低開發(fā)成本軟件工程三要素方法層:提供了軟件開發(fā)的各種方法。方法覆蓋了一系列的任務(wù),包括項目計劃與估算方法、需求分析和設(shè)計的方法、編程、測試方法及維護(hù)方法等軟件工程方法為軟件開發(fā)提供了“如何做”的技術(shù)軟件工程三要素過程層:是軟件工程的基礎(chǔ)。軟件工程過程是為了獲得軟件產(chǎn)品,在軟件工具支持下由軟件人員完成的一系列軟件工程活動。(具體實(shí)施)軟件工程過程定義了:方法使用的順序要求交付的文檔資料為保證質(zhì)量和適應(yīng)變化所需要的管理軟件開發(fā)各個階段完成的里程碑軟件工程項目的基本目標(biāo)付出較低的開發(fā)成本達(dá)到要求的軟件功能取得較好的軟件性能開發(fā)的軟件易于移植需要較低的維護(hù)費(fèi)用能按時完成開發(fā)工作,及時交付使用軟件開發(fā)項目力圖在以上目標(biāo)的沖取得一定程度的平衡。軟件生存期

lifecycle軟件有一個孕育、誕生、成長、成熟、衰亡的生存過程。這個過程即為計算機(jī)軟件的生存期軟件生存期的六個步驟,即制定計劃、需求分析、設(shè)計、程序編碼、測試及運(yùn)行維護(hù)制定計劃確定要開發(fā)軟件系統(tǒng)的總目標(biāo)給出功能、性能、可靠性以及接口等方面的要求完成該軟件任務(wù)的可行性研究估計可利用的資源(計算機(jī)硬件,軟件,人力等)、成本、效益、開發(fā)進(jìn)度制定出完成開發(fā)任務(wù)的實(shí)施計劃,連同可行性研究報告,提交管理部門審查需求分析和定義對待開發(fā)軟件提出的需求進(jìn)行分析并給出詳細(xì)的定義編寫軟件需求說明書或系統(tǒng)功能說明書及初步的系統(tǒng)用戶手冊提交管理機(jī)構(gòu)評審軟件設(shè)計概要設(shè)計—把各項需求轉(zhuǎn)換成軟件的體系結(jié)構(gòu)。結(jié)構(gòu)中每一組成部分都是意義明確的模塊,每個模塊都和某些需求相對應(yīng)詳細(xì)設(shè)計—對每個模塊要完成的工作進(jìn)行具體的描述,為源程序編寫打下基礎(chǔ)編寫設(shè)計說明書,提交評審。程序編寫把軟件設(shè)計轉(zhuǎn)換成計算機(jī)可以接受的程序代碼,即寫成以某一種特定程序設(shè)計語言表示的“源程序清單”寫出的程序應(yīng)當(dāng)是結(jié)構(gòu)良好、清晰易讀的,且與設(shè)計相一致的軟件測試單元測試,查找各模塊在功能和結(jié)構(gòu)上存在的問題并加以糾正組裝測試,將已測試過的模塊按一定順序組裝起來按規(guī)定的各項需求,逐項進(jìn)行有效性測試,決定已開發(fā)的軟件是否合格,能否交付用戶使用運(yùn)行/維護(hù)改正性維護(hù)運(yùn)行中發(fā)現(xiàn)了軟件中的錯誤需要修正適應(yīng)性維護(hù)為了適應(yīng)變化了的軟件工作環(huán)境,需做適當(dāng)變更完善性維護(hù)為了增強(qiáng)軟件的功能需做變更軟件開發(fā)過程模型軟件生存期模型是跨越整個生存期的系統(tǒng)開發(fā)、運(yùn)作和維護(hù)所實(shí)施的全部過程、活動和任務(wù)的結(jié)構(gòu)框架瀑布模型原型模型(快速原型模型)螺旋模型噴泉模型構(gòu)件組裝模型統(tǒng)一過程RUP模型

第四代技術(shù)瀑布模型

需求分析7%系統(tǒng)設(shè)計6%軟件編程7%軟件測試13%軟件維護(hù)67%用戶要求分析報告系統(tǒng)設(shè)計報告源程序測試報告更改要求UAMATMMPUTPUAMPA系統(tǒng)分析員M項目管理員P程序員T高級程序員U用戶瀑布模型優(yōu)點(diǎn):a.強(qiáng)調(diào)開發(fā)的階段性;b.強(qiáng)調(diào)早期計劃及需求調(diào)查;

c.強(qiáng)調(diào)產(chǎn)品測試。將系統(tǒng)邏輯設(shè)計與物理實(shí)現(xiàn)嚴(yán)格分開,盡可能在設(shè)計結(jié)果通過審查確定無誤時開始編碼工作,推遲物理實(shí)現(xiàn)的觀點(diǎn)是瀑布型模型的一個重要知道思想。缺點(diǎn):

a.依賴于早期進(jìn)行的唯一一次需求調(diào)查,不能適應(yīng)需求的變化;

b.由于是單一流程,開發(fā)中的經(jīng)驗教訓(xùn)不能反饋應(yīng)用于本產(chǎn)品的過程;

c.風(fēng)險往往遲至后期的開發(fā)階段才顯露,因而失去及早糾正的機(jī)會??焖僭停≧apidPrototype)基本思想是:軟件開發(fā)人員在與用戶進(jìn)行需求分析時,以比較小的代價快速建立一個能夠反映用戶主要需求的原型系統(tǒng),讓用戶在計算機(jī)上進(jìn)行操作,在實(shí)踐過程中提出改進(jìn)意見,開發(fā)人員根據(jù)用戶的意見,對原型進(jìn)行補(bǔ)充和完善,然后再由用戶試用、評價、提出建議,重復(fù)這一過程,直到用戶對開發(fā)的原型系統(tǒng)滿意為止。需求分析原型開發(fā)原型評價最終系統(tǒng)設(shè)計最終系統(tǒng)實(shí)現(xiàn)原型模型用戶反饋快速原型(RapidPrototype)在功能上等價于產(chǎn)品的一個子集。注意,這里說的是功能上。瀑布模型的缺點(diǎn)就在于不夠直觀,快速原型法就解決了這個問題。它最重要的目的是為了確定用戶的真正需求。螺旋模型螺旋模型沿著螺線旋轉(zhuǎn),在四個象限上分別表達(dá)了四個方面的活動,即:制定計劃──確定軟件目標(biāo),選定實(shí)施方案,弄清項目開發(fā)的限制條件風(fēng)險分析──分析所選方案,考慮如何識別和消除風(fēng)險實(shí)施工程──實(shí)施軟件開發(fā)客戶評估──評價開發(fā)工作,提出修正建議

優(yōu)點(diǎn):a.強(qiáng)調(diào)嚴(yán)格的全過程風(fēng)險管理。b.強(qiáng)調(diào)各開發(fā)階段的質(zhì)量。c.提供機(jī)會檢討項目是否有價值繼續(xù)下去。缺點(diǎn):

a.引入非常嚴(yán)格的風(fēng)險識別,風(fēng)險分析,和風(fēng)險控制,這對風(fēng)險管理的技能水平提出了很高的要求。這需要人員,資金,和時間的投入。

噴泉模型軟件的開發(fā)方法是基于迭代和無間隙的特性時,就可以使用噴泉模型來構(gòu)造開發(fā)模型。迭代:是指系統(tǒng)的某個部分的工作需要多次重復(fù),經(jīng)過每次的重復(fù)后,該部分的功能將被補(bǔ)充和完善。無間隙:是指軟件開發(fā)各個階段的活動(分析、設(shè)計和編碼)之間不存在明顯的邊界。噴泉模型演化模型

演化模型是利用一種迭代的方法使軟件漸進(jìn)地開發(fā),經(jīng)過一段時間的演化,逐步完善。需求往往不夠清晰,且常常變化。緊迫的市場期限。先提交一個有限的版本,其目標(biāo)只是在于探索可行性,弄清軟件需求。細(xì)節(jié)部分可以進(jìn)一步定義和開發(fā)。演化模型主要針對事先不能完整定義需求的軟件開發(fā)。用戶可以給出待開發(fā)系統(tǒng)的核心需求,并且當(dāng)看到核心需求實(shí)現(xiàn)后,能夠有效地提出反饋,以支持系統(tǒng)的最終設(shè)計和實(shí)現(xiàn)。增量模型增量模型將軟件的開發(fā)過程分成若干個日程時間交錯的線性序列,每個線性序列產(chǎn)生軟件的一個可發(fā)布的“增量”版本,后一版本是對前一版本的修改和補(bǔ)充,重復(fù)增量發(fā)布的過程,直至產(chǎn)生最終的完善產(chǎn)品增量模型融合了瀑布模型的基本成分(重復(fù)地應(yīng)用)和演化模型的迭代特征增量模型強(qiáng)調(diào)每一個增量都發(fā)布一個可運(yùn)行的產(chǎn)品增量模型特別適用于:需求經(jīng)常變化的軟件開發(fā)市場急需而開發(fā)人員和資金不能在設(shè)定的市場期限之前實(shí)現(xiàn)一個完善的產(chǎn)品的軟件開發(fā)增量模型能有計劃地管理技術(shù)風(fēng)險,如早期增量版本中避免采用尚未成熟的技術(shù)統(tǒng)一過程RUP模型RUP是一種用例(Use-case)驅(qū)動的軟件開發(fā)過程RUP是以體系結(jié)構(gòu)(Architecture)為中心的過程迭代開發(fā)與增量開發(fā)相結(jié)合的過程基于第四代技術(shù)的模型第四代技術(shù)的模型優(yōu)點(diǎn):軟件生產(chǎn)所需的時間大大降低,小型應(yīng)用軟件的分析和設(shè)計所需的時間也降低了。缺點(diǎn):需要更多的分析、設(shè)計和測試,生成的結(jié)果源代碼效率較低,利用4GT開發(fā)的大型軟件系統(tǒng)的可維護(hù)性是令人懷疑的。形式化方法模型形式化方法模型是用數(shù)學(xué)來描述計算機(jī)軟件的方法。采用嚴(yán)格的數(shù)學(xué)表示體系來說明、開發(fā)和驗證系統(tǒng)能消除其他軟件工程范型難以克服的問題更容易發(fā)現(xiàn)和糾正二義性、不完整性和不一致性在商業(yè)環(huán)境中的可用性還需考慮:形式化模型的開發(fā)還很費(fèi)時和昂貴很少有軟件開發(fā)者具有形式化方法所需的背景知識難以使用該模型作為與對其一無所知的用戶進(jìn)行溝通的機(jī)制混合模型混合模型容許一個項目沿著最有效的路徑發(fā)展適應(yīng)性強(qiáng)軟件開發(fā)方法簡述軟件開發(fā)方法是指軟件開發(fā)過程中所應(yīng)遵循的方法和步驟。

1、結(jié)構(gòu)化方法2、面向數(shù)據(jù)結(jié)構(gòu)的開發(fā)方法3、面向?qū)ο蟮姆椒?、可視化開發(fā)方法結(jié)構(gòu)化方法結(jié)構(gòu)化方法也稱為面向功能的軟件開發(fā)方法或Yourdon方法,是20世紀(jì)80年代使用最廣泛的軟件開發(fā)方法。結(jié)構(gòu)化方法采用結(jié)構(gòu)化分析方法(StructuredAnalysis,SA)對軟件進(jìn)行需求分析,然后用結(jié)構(gòu)化設(shè)計方法(StructuredDesign,SD)進(jìn)行總體設(shè)計和詳細(xì)設(shè)計,最后是結(jié)構(gòu)化編程(StructuredProgramming,SP)。結(jié)構(gòu)化方法結(jié)構(gòu)化分析(SA)方法是一種面向數(shù)據(jù)流的需求分析方法,它適用于分析大型數(shù)據(jù)處理系統(tǒng)。結(jié)構(gòu)化分析方法的基本思想是按照功能分解的原則,自頂向下,逐層分解,把一個問題分解成若干個小問題,每個小問題再分解成若干個更小的問題,經(jīng)過多次逐層分解,每個最低層的問題都是足夠簡單、容易解決的,這個過程就是分解的過程。SA方法的分析結(jié)果由數(shù)據(jù)流圖DFD、數(shù)據(jù)詞典和加工邏輯說明幾個部分組成結(jié)構(gòu)化方法結(jié)構(gòu)化設(shè)計(SD)方法是一個面向數(shù)據(jù)流的軟件設(shè)計方法,它可以與SA方法銜接,SD方法采用結(jié)構(gòu)圖(SC)來描述程序的結(jié)構(gòu)。結(jié)構(gòu)圖的基本成分由模塊、調(diào)用和輸入/輸

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論