軟件工程的方法有很多方面的意義。包括專案管理,分析,設(shè)計(jì),程序的編寫,測試和質(zhì)量控制。
軟件設(shè)計(jì)方法可以區(qū)別為重量級的方法和輕量級的方法。重量級的方法中產(chǎn)生大量的正式文檔。
著名的重量級開發(fā)方法包括ISO9000,CMM,和統(tǒng)一軟件開發(fā)過程(RUP)。
輕量級的開發(fā)過過程沒有對大量正式文檔的要求。著名的輕量級開發(fā)方法包括極限編程(XP)和敏捷流程(AgileProcesses)。
1.結(jié)構(gòu)化方法:分析,設(shè)計(jì),程序設(shè)計(jì)構(gòu)成,面向數(shù)據(jù)流的開發(fā)方法,分解和抽象的原則,數(shù)據(jù)流圖建立功能模型,完成需求分析工作。
2.Jackson方法:面向數(shù)據(jù)結(jié)構(gòu)開發(fā)方法。數(shù)據(jù)結(jié)構(gòu)為驅(qū)動(dòng),適合小規(guī)模的項(xiàng)目,當(dāng)輸入數(shù)據(jù)結(jié)構(gòu)和輸出結(jié)構(gòu)之間沒有對應(yīng)關(guān)系,難用此方法,JSD(Jackson Structure Prograamming)是JSP(JacksonSystem Development)的擴(kuò)充
3.原型化方法:和演化模型相對應(yīng),需求不清,業(yè)務(wù)理論不確定,需求經(jīng)常變化,規(guī)模不大去不太復(fù)雜時(shí)采用。
4.面向?qū)ο箝_發(fā)方法:分析,設(shè)計(jì),實(shí)現(xiàn),Booch,Coad,OMT,為統(tǒng)一各種面向?qū)ο蠓椒ǖ男g(shù)語,概念和模型,推出UML (Unified Modeling Language)統(tǒng)一化建模語言,成為工業(yè)標(biāo)準(zhǔn)。
分享到:
收藏推薦 軟件開發(fā)方法的研究在軟件工程中是很重要的一個(gè)方面。程序設(shè)計(jì)方法研究的是小規(guī)模程序設(shè)計(jì),而軟件開發(fā)方法則是研究在大規(guī)模軟件的開發(fā)過程中如何組織、管理人員和資源、指導(dǎo)人們開發(fā)軟件系統(tǒng)的方法,本文對一些常用到的軟件開發(fā)方法做一個(gè)概述和比較。(反復(fù));④真正實(shí)現(xiàn)。 (3)優(yōu)點(diǎn):適應(yīng)用戶需求的模糊不清和多變。 (4)局限性:必須有一定的工具和環(huán)境做為支撐的條件。結(jié)構(gòu)化分析與設(shè)計(jì)方法(sA/sD) (l)基本思想:自頂向下按功能劃分系統(tǒng),逐步求精問題解,將軟件開發(fā)過程看做是軟件生命周期,建立瀑布模型。 該方法由DeMarco和You記。n公司提出并逐步使之完善。 (2)基本步驟:分析~設(shè)計(jì)~編碼~測試~運(yùn)行/維護(hù) (3)優(yōu)點(diǎn):應(yīng)用時(shí)間長、簡單、直觀、易于接受,已有了一定的應(yīng)用基礎(chǔ)并開辟了應(yīng)用市場。 (4)局限性:功能經(jīng)常要變,難于適應(yīng)變化要求;后期發(fā)現(xiàn)的錯(cuò)誤維護(hù)代價(jià)太高;不支持開發(fā)的反復(fù)。
你說的是方法還是模式,如果是模式,有以下三種
瀑布模型(Waterfall Model)是一個(gè)項(xiàng)目開發(fā)架構(gòu),瀑布模型核心思想是按工序?qū)栴}化簡,將功能的實(shí)現(xiàn)與設(shè)計(jì)分開,便于分工協(xié)作,即采用結(jié)構(gòu)化的分析與設(shè)計(jì)方法將邏輯實(shí)現(xiàn)與物理實(shí)現(xiàn)分開。
1、瀑布模型有以下優(yōu)點(diǎn)
1)為項(xiàng)目提供了按階段劃分的檢查點(diǎn)。
2)當(dāng)前一階段完成后,您只需要去關(guān)注后續(xù)階段。
3)可在迭代模型中應(yīng)用瀑布模型。
增量迭代應(yīng)用于瀑布模型。迭代1解決最大的問題。每次迭代產(chǎn)生一個(gè)可運(yùn)行的版本,同時(shí)增加更多的功能。每次迭代必須經(jīng)過質(zhì)量和集成測試。
2、瀑布模型有以下缺點(diǎn)
1)在項(xiàng)目各個(gè)階段之間極少有反饋。
2)只有在項(xiàng)目生命周期的后期才能看到結(jié)果。
3)通過過多的強(qiáng)制完成日期和里程碑來跟蹤各個(gè)項(xiàng)目階段。
盡管瀑布模型招致了很多批評,但是它對很多類型的項(xiàng)目而言依然是有效的,如果正確使用,可以節(jié)省大量的時(shí)間和金錢。
面向?qū)ο筮@個(gè)概念很抽象。不過我覺得是3者當(dāng)中最適合于軟件系統(tǒng)的開發(fā)。
每個(gè)人對于面向?qū)ο筮@個(gè)概念的看法都有點(diǎn)不同,開發(fā)的系統(tǒng)越多,對于面向?qū)ο筮@個(gè)概念就理解的越深刻。有關(guān)于面向?qū)ο蟮慕忉?,你可以參考下這個(gè):?wtp=tt
原型模型的特點(diǎn):
(1)開發(fā)人員和用戶在“原型”上達(dá)成一致。這樣一來,可以減少設(shè)計(jì)中的錯(cuò)誤和開發(fā)中的風(fēng)險(xiǎn),也減少了對用戶培訓(xùn)的時(shí)間,而提高了系統(tǒng)的實(shí)用、正確性以及用戶的滿意程度。
(2)縮短了開發(fā)周期,加快了工程進(jìn)度。
(3)降低成本。
原型模型的缺點(diǎn):
當(dāng)告訴用戶,還必須重新生產(chǎn)該產(chǎn)品時(shí),用戶是很難接受的。這往往給工程繼續(xù)開展帶來不利因素。
不宜利用原型系統(tǒng)作為最終產(chǎn)品。采用原型模型開發(fā)系統(tǒng),用戶和開發(fā)者必須達(dá)成一致:原型被建造僅僅是用戶用來定義需求,之后便部分或全部拋起,最終的軟件是要充分考慮了質(zhì)量和可維護(hù)性等方面之后才被開發(fā)。
1.結(jié)構(gòu)化方法:分析,設(shè)計(jì),程序設(shè)計(jì)構(gòu)成,面向數(shù)據(jù)流的開發(fā)方法,分解和抽象的原則,數(shù)據(jù)流圖建立功能模型,完成需求分析工作。
2.Jackson方法:面向數(shù)據(jù)結(jié)構(gòu)開發(fā)方法。數(shù)據(jù)結(jié)構(gòu)為驅(qū)動(dòng),適合小規(guī)模的項(xiàng)目,當(dāng)輸入數(shù)據(jù)結(jié)構(gòu)和輸出結(jié)構(gòu)之間沒有對應(yīng)關(guān)系,難用此方法,JSD(Jackson Structure Prograamming)是JSP(JacksonSystem Development)的擴(kuò)充3.原型化方法:和演化模型相對應(yīng),需求不清,業(yè)務(wù)理論不確定,需求經(jīng)常變化,規(guī)模不大去不太復(fù)雜時(shí)采用。
4.面向?qū)ο箝_發(fā)方法:分析,設(shè)計(jì),實(shí)現(xiàn),Booch,Coad,OMT,為統(tǒng)一各種面向?qū)ο蠓椒ǖ男g(shù)語,概念和模型,推出UML (Unified Modeling Language)統(tǒng)一化建模語言,成為工業(yè)標(biāo)準(zhǔn)。
國外大的軟件公司和機(jī)構(gòu)一直在研究軟件開發(fā)方法這個(gè)概念性的東西,而且也提出了很多實(shí)際的開發(fā)方法,比如:生命周期法、原型化方法、面向?qū)ο蠓椒ǖ鹊?。下面介紹幾種流行的開發(fā)方法: 結(jié)構(gòu)化開發(fā)方法是由E.Yourdon 和 L.L.Constantine 提出的,即所謂的SASD 方 法, 也可稱為面向功能的軟件開發(fā)方法或面向數(shù)據(jù)流的軟件開發(fā)方法。
Yourdon方法是80年代 使用最廣泛的軟件開發(fā)方法。它首先用結(jié)構(gòu)化分析(SA)對軟件進(jìn)行需求分析,然后用結(jié)構(gòu)化設(shè)計(jì)(SD)方法進(jìn)行總體設(shè)計(jì),最后是結(jié)構(gòu)化編程(SP)。它給出了兩類典型的軟件結(jié)構(gòu)(變換型和事務(wù)型)使軟件開發(fā)的成功率大大提高。 產(chǎn)生原型化方法的原因很多,主要隨著我們系統(tǒng)開發(fā)經(jīng)驗(yàn)的增多,我們也發(fā)現(xiàn)并非所有的需求都能夠預(yù)先定義而且反復(fù)修改是不可避免的。當(dāng)然能夠采用原型化方法是因?yàn)殚_發(fā)工具的快速發(fā)展,比如用VB,DELPHI等工具我們可以迅速的開發(fā)出一個(gè)可以讓用戶看的見、摸的著的系統(tǒng)框架,這樣,對于計(jì)算機(jī)不是很熟悉的用戶就可以根據(jù)這個(gè)樣板提出自己的需求。
軟件開發(fā)是一項(xiàng)包括計(jì)劃、分析、設(shè)計(jì)、編碼和測試、維護(hù)系統(tǒng)工程。
一、計(jì)劃
對所要解決的問題進(jìn)行總體定義,包括了解用戶的要求及現(xiàn)實(shí)環(huán)境,從技術(shù)、經(jīng)濟(jì)和社會因素等3個(gè)方面研究并論證本軟件項(xiàng)目的可行性,編寫可行性研究報(bào)告,探討解決問題的方案,并對可供使用的資源(如計(jì)算機(jī)硬件、系統(tǒng)軟件、人力等)成本,可取得的效益和開發(fā)進(jìn)度作出估計(jì),制訂完成開發(fā)任務(wù)的實(shí)施計(jì)劃。
二、分析
軟件需求分析就是對開發(fā)什么樣的軟件的一個(gè)系統(tǒng)的分析與設(shè)想。它是一個(gè)對用戶的需求進(jìn)行去粗取精、去偽存真、正確理解,然后把它用軟件工程開發(fā)語言(形式功能規(guī)約,即需求規(guī)格說明書)表達(dá)出來的過程。
三、設(shè)計(jì)
軟件設(shè)計(jì)可以分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩個(gè)階段。實(shí)際上軟件設(shè)計(jì)的主要任務(wù)就是將軟件分解成模塊是指能實(shí)現(xiàn)某個(gè)功能的數(shù)據(jù)和程序說明、可執(zhí)行程序的程序單元。可以是一個(gè)函數(shù)、過程、子程序、一段帶有程序說明的獨(dú)立的程序和數(shù)據(jù),也可以是可組合、可分解和可更換的功能單元。
四、編碼
軟件編碼是指把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)可以接受的程序,即寫成以某一程序設(shè)計(jì)語言表示的“源程序清單”。充分了解軟件開發(fā)語言、工具的特性和編程風(fēng)格,有助于開發(fā)工具的選擇以及保證軟件產(chǎn)品的開發(fā)質(zhì)量。
五、測試
軟件測試的目的是以較小的代價(jià)發(fā)現(xiàn)盡可能多的錯(cuò)誤。要實(shí)現(xiàn)這個(gè)目標(biāo)的關(guān)鍵在于設(shè)計(jì)一套出色的測試用例(測試數(shù)據(jù)與功能和預(yù)期的輸出結(jié)果組成了測試用例)。
六、維護(hù)
維護(hù)是指在已完成對軟件的研制(分析、設(shè)計(jì)、編碼和測試)工作并交付使用以后,對軟件產(chǎn)品所進(jìn)行的一些軟件工程的活動(dòng)。即根據(jù)軟件運(yùn)行的情況,對軟件進(jìn)行適當(dāng)修改,以適應(yīng)新的要求,以及糾正運(yùn)行中發(fā)現(xiàn)的錯(cuò)誤。編寫軟件問題報(bào)告、軟件修改報(bào)告。
擴(kuò)展資料:
軟件開發(fā)是根據(jù)用戶要求建造出軟件系統(tǒng)或者系統(tǒng)中的軟件部分的過程。軟件開發(fā)是一項(xiàng)包括需求捕捉、需求分析、設(shè)計(jì)、實(shí)現(xiàn)和測試的系統(tǒng)工程。軟件一般是用某種程序設(shè)計(jì)語言來實(shí)現(xiàn)的。通常采用軟件開發(fā)工具可以進(jìn)行開發(fā)。
軟件分為系統(tǒng)軟件和應(yīng)用軟件,并不只是包括可以在計(jì)算機(jī)上運(yùn)行的程序,與這些程序相關(guān)的文件一般也被認(rèn)為是軟件的一部分。
參考資料來源:百度百科-軟件開發(fā)
聲明:本網(wǎng)站尊重并保護(hù)知識產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請?jiān)谝粋€(gè)月內(nèi)通知我們,我們會及時(shí)刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習(xí)鳥. 頁面生成時(shí)間:2.783秒