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