1.結(jié)構(gòu)化方法:分析,設(shè)計,程序設(shè)計構(gòu)成,面向數(shù)據(jù)流的開發(fā)方法,分解和抽象的原則,數(shù)據(jù)流圖建立功能模型,完成需求分析工作。
2.Jackson方法:面向數(shù)據(jù)結(jié)構(gòu)開發(fā)方法。數(shù)據(jù)結(jié)構(gòu)為驅(qū)動,適合小規(guī)模的項目,當(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ù)雜時采用。
4.面向?qū)ο箝_發(fā)方法:分析,設(shè)計,實現(xiàn),Booch,Coad,OMT,為統(tǒng)一各種面向?qū)ο蠓椒ǖ男g(shù)語,概念和模型,推出UML (Unified Modeling Language)統(tǒng)一化建模語言,成為工業(yè)標(biāo)準(zhǔn)。
這需要看將來想從事什么類型軟件的開發(fā)吧。如果在國內(nèi)開發(fā)windows類型應(yīng)用程序,據(jù)說vb比較流行,但如果開發(fā)和硬件關(guān)系較大的嵌入式程序,則使用較多的還是C語言,而網(wǎng)絡(luò)這個方面,無論是有線還是無線,大多數(shù)都選擇了JAVA。以上是從應(yīng)用角度來講的,如果從性能和投入方面分析,C語言無疑性能上最好的,但它的復(fù)雜度太高,開發(fā)和維護(hù)費用較大,一般比較好的游戲程序或者速度要求較高的程序會選擇C++來開發(fā),而VB等由于它的簡易性,可以極大縮短開發(fā)周期,也是程序員的寵兒之一。另外有一種語言python在國內(nèi)逐漸出現(xiàn),國外好像已經(jīng)流行了十幾年吧,linux的引導(dǎo)程序和BT的一些組件都是用它開發(fā)的,具有開發(fā)周期短,易維護(hù)等特點,運行速度也比JAVA要快,并且面向?qū)ο?,無平臺限制,據(jù)說還開放了源碼,不過由于在國內(nèi)流行時間不長,各大公司出于對以前開發(fā)代碼的兼容性的需要,可能一時間接受不這個語言,但可以明顯看出,它的發(fā)展?jié)摿ο喈?dāng)大。
總而言之,C為基礎(chǔ),掌握J(rèn)AVA,會用VB,了解python,應(yīng)該看得出這幾個詞匯之間的輕重差別吧。:
軟件開發(fā)的內(nèi)容是:需求、設(shè)計、編程和測試!
需求:不僅僅是用戶需求,應(yīng)該是開發(fā)中遇到的所有的需求。比如,你首先要知道做這個項目是為了解決什么問題;測試案例中應(yīng)該輸入什么數(shù)據(jù)……為了清楚地知道這些需求,你經(jīng)常要和客戶、項目經(jīng)理等交流。
設(shè)計:編碼前,肯定有個計劃告訴你要做什么,結(jié)構(gòu)是怎樣等等。你一定要按照這個來做,否則可能會一團(tuán)糟。
編程:如果在項目截止日,你的程序不能跑起來或達(dá)不到客戶的要求,你就拿不到錢。
測試:目的是讓你知道,什么時候算是完成了。如果你聰明,你就應(yīng)該先寫測試,這樣可以及時知道你是否真地完成了。否則,你經(jīng)常會不知道,到底有哪些功能是真正完成了,離預(yù)期目標(biāo)還差多遠(yuǎn)。
軟件開發(fā)中,客戶和開發(fā)人員都有自己的基本權(quán)利和義務(wù)。
客戶:
定義每個用戶需求的商業(yè)優(yōu)先級;
制訂總體計劃,包括用多少投資、經(jīng)過多長時間、達(dá)到什么目的;
在項目開發(fā)過程中的每個工作周,都能讓投資獲得最大的收益;
通過重復(fù)運行你所指定的功能測試,準(zhǔn)確地掌握項目進(jìn)展情況;
1.結(jié)構(gòu)化方法:分析,設(shè)計,程序設(shè)計構(gòu)成,面向數(shù)據(jù)流的開發(fā)方法,分解和抽象的原則,數(shù)據(jù)流圖建立功能模型,完成需求分析工作。
2.Jackson方法:面向數(shù)據(jù)結(jié)構(gòu)開發(fā)方法。數(shù)據(jù)結(jié)構(gòu)為驅(qū)動,適合小規(guī)模的項目,當(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ù)雜時采用。
4.面向?qū)ο箝_發(fā)方法:分析,設(shè)計,實現(xiàn),Booch,Coad,OMT,為統(tǒng)一各種面向?qū)ο蠓椒ǖ男g(shù)語,概念和模型,推出UML (Unified Modeling Language)統(tǒng)一化建模語言,成為工業(yè)標(biāo)準(zhǔn)。
你說的是方法還是模式,如果是模式,有以下三種
瀑布模型(Waterfall Model)是一個項目開發(fā)架構(gòu),瀑布模型核心思想是按工序?qū)栴}化簡,將功能的實現(xiàn)與設(shè)計分開,便于分工協(xié)作,即采用結(jié)構(gòu)化的分析與設(shè)計方法將邏輯實現(xiàn)與物理實現(xiàn)分開。
1、瀑布模型有以下優(yōu)點
1)為項目提供了按階段劃分的檢查點。
2)當(dāng)前一階段完成后,您只需要去關(guān)注后續(xù)階段。
3)可在迭代模型中應(yīng)用瀑布模型。
增量迭代應(yīng)用于瀑布模型。迭代1解決最大的問題。每次迭代產(chǎn)生一個可運行的版本,同時增加更多的功能。每次迭代必須經(jīng)過質(zhì)量和集成測試。
2、瀑布模型有以下缺點
1)在項目各個階段之間極少有反饋。
2)只有在項目生命周期的后期才能看到結(jié)果。
3)通過過多的強(qiáng)制完成日期和里程碑來跟蹤各個項目階段。
盡管瀑布模型招致了很多批評,但是它對很多類型的項目而言依然是有效的,如果正確使用,可以節(jié)省大量的時間和金錢。
面向?qū)ο筮@個概念很抽象。不過我覺得是3者當(dāng)中最適合于軟件系統(tǒng)的開發(fā)。
每個人對于面向?qū)ο筮@個概念的看法都有點不同,開發(fā)的系統(tǒng)越多,對于面向?qū)ο筮@個概念就理解的越深刻。有關(guān)于面向?qū)ο蟮慕忉?,你可以參考下這個:?wtp=tt
原型模型的特點:
(1)開發(fā)人員和用戶在“原型”上達(dá)成一致。這樣一來,可以減少設(shè)計中的錯誤和開發(fā)中的風(fēng)險,也減少了對用戶培訓(xùn)的時間,而提高了系統(tǒng)的實用、正確性以及用戶的滿意程度。
(2)縮短了開發(fā)周期,加快了工程進(jìn)度。
(3)降低成本。
原型模型的缺點:
當(dāng)告訴用戶,還必須重新生產(chǎn)該產(chǎn)品時,用戶是很難接受的。這往往給工程繼續(xù)開展帶來不利因素。
不宜利用原型系統(tǒng)作為最終產(chǎn)品。采用原型模型開發(fā)系統(tǒng),用戶和開發(fā)者必須達(dá)成一致:原型被建造僅僅是用戶用來定義需求,之后便部分或全部拋起,最終的軟件是要充分考慮了質(zhì)量和可維護(hù)性等方面之后才被開發(fā)。
原發(fā)布者:FX資料庫
1軟件開發(fā)實施方案系統(tǒng)開發(fā)嚴(yán)格按照軟件工程的方法進(jìn)行組織,系統(tǒng)的開發(fā)過程按照需求分析、系統(tǒng)分析與設(shè)計要求、系統(tǒng)編碼、系統(tǒng)測試幾個過程有序推進(jìn)。下表所示系統(tǒng)開發(fā)流程圖,采用原型及迭代方式開發(fā),根據(jù)用戶需求持續(xù)改進(jìn),直到最終用戶確認(rèn)滿意。1.1開發(fā)流程總述如下圖示流程定義了我公司內(nèi)部的軟件開發(fā)過程,以指導(dǎo)和規(guī)范軟件項目中開發(fā)過程的定義和相應(yīng)的實施。該過程可劃分為一系列子過程,包括:軟件需求分析、設(shè)計、編碼、測試、驗收、維護(hù),每個子過程又由一系列任務(wù)和活動組成,如設(shè)計過程又可分為結(jié)構(gòu)設(shè)計和詳細(xì)設(shè)計。但是在實際開發(fā)項目中,情況仍然會是千變?nèi)f化的,因此我們也并不是一成不變的死板執(zhí)行一個僵化的工作流程,我們的原則是在一個規(guī)范流程的指導(dǎo)和約束下,根據(jù)具體工程項目的實際要求,為每一個項目評估并制定真正能夠最好的滿足該項目要求的開發(fā)流程。
圖1.41軟件開發(fā)流程總圖在應(yīng)用系統(tǒng)軟件開發(fā)項目中,我們?nèi)詫⒆裱@一思想,這一點將在隨后的項目開發(fā)實施計劃部分有具體的體現(xiàn),在這里和下面的相關(guān)章節(jié)中,我們?nèi)詫@著這個完整的開發(fā)流程來分析說明,以此來闡明我們對項目開發(fā)的完整過程管理思想和相關(guān)實踐。下面我們對這個軟件開發(fā)工作流程進(jìn)行簡要地分解說明。1.2軟件需求分析(1)概述由于應(yīng)用系統(tǒng)與眾多相關(guān)應(yīng)用軟件需要進(jìn)行交互,因此需要先對這些應(yīng)用系統(tǒng)進(jìn)行分別梳理,充分做好需求調(diào)研工作,編寫經(jīng)項目單位認(rèn)可并評審?fù)ㄟ^的《系統(tǒng)需求
分享到:
收藏推薦 軟件開發(fā)方法的研究在軟件工程中是很重要的一個方面。程序設(shè)計方法研究的是小規(guī)模程序設(shè)計,而軟件開發(fā)方法則是研究在大規(guī)模軟件的開發(fā)過程中如何組織、管理人員和資源、指導(dǎo)人們開發(fā)軟件系統(tǒng)的方法,本文對一些常用到的軟件開發(fā)方法做一個概述和比較。(反復(fù));④真正實現(xiàn)。 (3)優(yōu)點:適應(yīng)用戶需求的模糊不清和多變。 (4)局限性:必須有一定的工具和環(huán)境做為支撐的條件。結(jié)構(gòu)化分析與設(shè)計方法(sA/sD) (l)基本思想:自頂向下按功能劃分系統(tǒng),逐步求精問題解,將軟件開發(fā)過程看做是軟件生命周期,建立瀑布模型。 該方法由DeMarco和You記。n公司提出并逐步使之完善。 (2)基本步驟:分析~設(shè)計~編碼~測試~運行/維護(hù) (3)優(yōu)點:應(yīng)用時間長、簡單、直觀、易于接受,已有了一定的應(yīng)用基礎(chǔ)并開辟了應(yīng)用市場。 (4)局限性:功能經(jīng)常要變,難于適應(yīng)變化要求;后期發(fā)現(xiàn)的錯誤維護(hù)代價太高;不支持開發(fā)的反復(fù)。
聲明:本網(wǎng)站尊重并保護(hù)知識產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請在一個月內(nèi)通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習(xí)鳥. 頁面生成時間:2.619秒