2.統壹開發過程(USDP):這是壹個叠代和增量開發過程;
每壹次叠代都會離最終目標越來越近。
這種方法的優點:過程中需求的變化不會影響整個項目的開發,項目控制更加靈活。
降低成本;
便於更好地維護項目進度;
促進團隊的協作發展;
便於適應用戶需求的動態變化。
問題2:軟件開發中可能用到的主要生命周期模型有哪些?描述軟件開發過程中各種活動如何執行的軟件生命周期模型有哪些?軟件生命周期模型建立了軟件開發和推演中各階段的順序約束,以及開發過程中所遵守的規則和約束,便於各種活動的協調、各種人員的有效溝通、活動的重用和活動的管理。常見的軟件生命周期模型包括瀑布模型、進化模型、螺旋模型和噴泉模型。
問題3:軟件開發模型有多少種?就像蓋大樓壹樣,軟件是壹步壹步建起來的。在增量模型中,軟件是作為壹系列增量組件來設計、實現、集成和測試的,每個組件都由代碼片段組成,這些代碼片段提供由各種交互模塊形成的特定功能。增量模型並不在每個階段交付完整的可運行產品,而是交付滿足客戶需求的可運行產品的子集。整個產品分成幾個組件,開發者壹個壹個交付產品。這樣做的好處是軟件開發可以更好地適應變化,客戶可以不斷地看到開發出來的軟件,從而降低開發風險。但是,增量模型也有以下缺陷:(1)由於每個組件都是逐漸納入到現有的軟件體系結構中的,所以添加組件壹定不能破壞已構建的系統部分,這就要求軟件具有開放的體系結構。(2)在發展過程中,需求的變化是不可避免的。增量模型的靈活性可以使其在適應這種變化方面比瀑布模型和快速原型模型模型好得多,但也容易退化為邊做邊改模型,從而失去軟件過程控制的完整性。使用增量模型時,第壹個增量往往是實現基本需求的核心產品。核心產品交付給用戶後,經過評估形成下壹步的增量開發計劃,包括核心產品的修改和壹些新功能的發布。這壹過程在每次增量發布後重復進行,直到生產出最終的完美產品。比如用增量模型開發文字處理軟件。可以認為第壹個增量發布基本的文件管理、編輯和文檔生成功能,第二個增量發布更完善的編輯和文檔生成功能,第三個增量實現拼寫和語法檢查功能,第四個增量完成高級頁面布局功能。5.螺旋模型1988,Barry Boehm正式出版了軟件系統開發的螺旋模型,將瀑布模型與快速原型模型相結合,強調了其他模型所忽略的風險分析,特別適用於大型復雜系統。螺旋模型沿著螺旋叠代數次,圖中的四個象限分別代表以下活動:(1)制定計劃:確定軟件目標,選擇實現方案,明確項目開發的約束條件;(3)實施項目:實施軟件開發和驗證;(4)客戶評估:對開發工作進行評估,提出修改建議,制定下壹步計劃。螺旋模型是風險驅動的,強調支持軟件復用的備選方案和約束,有助於將軟件質量作為壹個特殊目標融入產品開發。但螺旋模型也有壹定的限制,具體如下:(1)螺旋模型強調風險分析,但要讓很多客戶接受並相信這種分析,並做出相關反應,並不容易。因此,這種模型通常適合於內部的大型軟件開發。(2)如果風險分析的執行會極大地影響項目的利潤,那麽進行風險分析是沒有意義的。因此,螺旋模型只適用於大型軟件項目。壹個階段首先是確定階段的目標,完成這些目標的選擇方案及其約束條件,然後從風險的角度分析方案的發展策略,盡量消除各種潛在的風險,有時是通過構建原型。如果某些風險無法消除,該方案將立即終止,否則將開始下壹步開發。最後,評估這壹階段的成果,設計下壹階段。6.增量模型主要是針對那些不能事先完全定義需求的軟件開發。用戶可以給出待開發系統的核心需求,當看到核心需求的實現時,可以有效地給出反饋,以支持系統的最終設計和實現。軟件開發人員根據用戶的需求,首先開發核心系統。核心系統投入運行後,用戶試用,完成工作,提出細化系統,增強系統能力的需求。軟件開發人員根據用戶的反饋實施開發的叠代過程。第壹次叠代過程由需求、設計、編碼、測試、集成等階段組成,為整個系統增加壹個可定義、可管理的子集。在開發模式上,采用批量循環開發的方法,每個循環開發壹部分功能,成為該產品原型的新功能。因此,設計是不斷發展的...>;& gt
問題4:軟件開發模型有多少種?軟件開發模型是指軟件開發的所有過程、活動和任務的結構框架。軟件開發包括需求、設計、編碼、測試,有時還包括維護。
軟件開發模型能夠清晰直觀地表達軟件開發的全過程,明確定義要完成的主要活動和任務,可以作為軟件項目工作的基礎。
最早的軟件開發模式是1970W?羅伊斯提出的瀑布模型。模型給出壹個固定的順序,生命周期活動就像流水壹樣從上壹個階段逐漸過渡到下壹個階段,最終得到開發的軟件產品並投入使用。但當計算擴展到統計分析、商務等領域時,大部分程序都是用高級語言編寫的(如FORTRAN、COBOL)。瀑布模型也有壹些缺點,例如缺乏靈活性,不能通過並發活動闡明不夠精確的需求。
典型的開發模式有:①瀑布模式;②增量模型/進化/叠代;(3)原型模型;④螺旋模型;⑤噴泉模型;⑥智能模型;7.混合模型
1.構建和修復模型。
可惜很多產品都是邊做邊換型號開發出來的。在這種模式下,既沒有規範,也沒有設計,軟件隨著客戶的需求不斷修改。
在這種模式下,開發人員拿到項目後立即根據需求編寫程序,調試後生成軟件的第壹個版本。提供給用戶後,如果程序出現錯誤或者用戶提出新的需求,開發者會再次修改代碼,直到用戶滿意為止。
這是壹種作坊式的開發方法,對於寫幾百行的小程序來說還不錯,但是這種方法對於任何規模的開發都不盡如人意。主要問題如下:
(1)缺乏規劃設計環節,軟件的結構隨著不斷修改越來越差,無法繼續修改;
(2)忽視需求環節給軟件開發帶來很大風險;
(3)不考慮測試和程序的可維護性,沒有任何文檔,維護軟件是非常困難的。
2.瀑布模型
溫斯頓·羅伊斯(Winston Royce)在1970提出了著名的瀑布模型,直到20世紀80年代初,它還是唯壹被廣泛使用的軟件開發模型。
瀑布模型將軟件生命周期分為規劃、需求分析、軟件設計、編程、軟件測試和運維六個基本活動,並自上而下規定了它們的固定順序,像瀑布壹樣壹步步落下。
在瀑布模型中,軟件開發的所有活動都是嚴格以線性方式進行的,當前活動接受前壹個活動的工作結果,並實現所需的工作內容。需要驗證當前活動的工作結果。如果通過驗證,結果將作為下壹個活動的輸入,繼續下壹個活動;否則,它將被修改。
瀑布模型強調文檔的作用,需要在每個階段進行仔細的驗證。但是這種模型的線性過程過於理想化,已經不適合現代軟件開發模式,幾乎被業界所拋棄。它的主要問題是:
(1)每個階段的劃分是完全固定的,階段之間產生大量的文檔,大大增加了工作量;
(2)由於開發模型是線性的,用戶直到整個過程結束才能看到開發結果,增加了開發的風險;
(3)早期的錯誤可能要到開發後期的測試階段才能發現,會帶來嚴重的後果。
我們要認識到,線性是最容易掌握和熟練運用的思維方法。當人們...> & gt
問題5:軟件工程中常用的V模型有哪些,是瀑布模型的修訂版,強調驗證活動,最早由Paul Rook在1980中提出。在瀑布模型中,由於早期的錯誤可能要到開發的後期測試階段才能被發現,因此可能會帶來嚴重的後果。v模型在這方面改進了瀑布模型,即在軟件開發的生命周期中,開發活動和測試活動幾乎同時開始,這兩個並行的動態過程會大大降低出現bug和錯誤的概率。v模型是瀑布模型的變體,它反映了測試活動與分析和設計之間的關系。
問題6:軟件開發壹般包括哪些內容?中國目前軟件領域的主流主要是這幾大領域的發展。
1系統應用和硬件應用
2網站
3工業應用,包括C/S模式和B/S模式。
為什麽我把系統應用和硬件應用放在壹起?這是因為兩者都是更深層次的開發。
系統應用,如防火墻、殺毒、特洛伊殺馬、BT下載等。我的機器壹半以上都是這樣的軟件。
其實遊戲也是壹種系統應用。為什麽?因為遊戲開發是壹個對網絡技術、集群技術、安全技術、圖形計算技術、人工智能技術進行深度綜合測試的軟件,是壹個對CPU、內存、顯卡、網絡性能都有嚴重考驗的應用。
硬件應用:在工業控制、交通、汽車、醫療、
數碼相機、數碼攝像機、攝像機、MP3、DVD、數字電視、洗衣機、冰箱、空調、微波爐、電飯煲、u盤、手機底層。
這些都是硬件應用。
而開發這類應用,C是主流。為什麽C是主流?因為各種底層驅動和內核都是用C寫的,而用硬件應用編程往往使用與硬件相對應的匯編,所以C是最接近匯編、與匯編交互良好的開發語言,當然也必然屬於C。
看看C的應用領域有多廣。
再說現在的視頻播放,IPTV,3G應用幾乎都是C大顯身手的領域。如果想加入這些行業,C是必須的。
接下來,我們來看看網站領域。
現在和將來,網絡肯定會變得越來越流行。這是毫無疑問的。目前主流的網站開發主要是JSP、ASP、ASPX、PHP、Ruby、Python和Perl,Python和Perl比較少。因此,如果妳想投身於網站的開發,妳必須學習JSP,ASP,ASPX和PHP。為什麽這麽想學?因為現在幾乎有同樣多的公司使用這些技術來開發網站。想找工作或者跳槽,不會遇到什麽開發語言。事實上,這些服務器端語言非常容易學習。WEB應用無非就是壹個訪問HTML CSS JS的服務器端語言數據庫,是對妳學習SQL的壹個考驗。網站的主流是MYSQL,ORACLE和SQLSERVER,HTML CSS JS不管用什麽服務器端語言都是通用的。很多同學問如何快速學習?我給他們的建議是:下載壹個完整網站的源代碼,看看裏面用了哪些功能。很多網站的功能都很相似,妳會很快提高自信心,不會對網站的發展感到無所適從。其實技術並不難。如果妳開始學習設計模式,OO,壹個框架和反射技術,妳會越來越害怕陷入技術的深淵。實際上在實際商業開發中並沒有用到。
在工業領域,現在既有B/S,也有C/S。
目前B/S行業應用的主流開發是JAVA和ASPX,上面我們都談到了。
C/S,它分為兩個分支。有的公司跟風,用C#或者VB。大部分還在win32時代,大部分公司用的都是PB和DELPHI。國內大部分公司都在開發工業應用軟件,所以這樣的程序員最多。
我已經給同學們回信了,我也是這麽寫的。但是很多同學回信,說妳說了那麽多技巧,怎麽學?不知道現在能進什麽公司,不用學C,PB,DELPHI,PHP,JAVA,MYSQL,ORACLE,SQLSERVER。
所以,經過壹些親身經歷,我的拙見是:
c,JAVA,壹定要學,現在大學也差不多開了這兩門課。
數據庫方面,甲骨文更難。可以借鑒SQLSERVER,因為MYSQL和SQLSERVER很像。
WEB開發?妳學過JAVA,PHP很好學。PHP比JAVA簡單多了。
在行業應用開發中,可以學習DELPHI,現在用的是PB...> & gt
問題7:從事軟件開發的軟件公司使用的模型有什麽區別?最早的軟件開發模式是1970W?羅伊斯提出的瀑布模型。模型給出壹個固定的順序,生命周期活動就像流水壹樣從上壹個階段逐漸過渡到下壹個階段,最終得到開發的軟件產品並投入使用。但當計算擴展到統計分析、商務等領域時,大部分程序都是用高級語言編寫的(如FORTRAN、COBOL)。瀑布模型也有壹些缺點,例如缺乏靈活性,不能通過並發活動闡明不夠精確的需求。常見的軟件開發模型包括進化模型、螺旋模型、噴泉模型和智能模型。編輯本段中的典型開發模型。典型的開發模式有:
1.構建和修復模型;
2.瀑布模型;
3.快速原型模型;
4.增量模型(進化模型);
5.螺旋模型;
6.噴泉模型;
7.智能模型(第四代技術(4GL)););
8.混合模式;
9.RUP模式;
10.IPD模型
1.構建和修復模型。
可惜很多產品都是邊做邊換型號開發出來的。在這種模式下,既沒有規範,也沒有設計,軟件隨著客戶的需求壹次又壹次的不斷修改。
在這種模式下,開發人員拿到項目後立即根據需求編寫程序,調試後生成軟件的第壹個版本。提供給用戶後,如果程序出現錯誤或者用戶提出新的需求,開發者會再次修改代碼,直到用戶滿意為止。
這是壹種作坊式的開發方法,對於寫幾百行的小程序來說還不錯,但是這種方法對於任何規模的開發都不盡如人意。主要問題如下:
(1)缺乏規劃設計環節,軟件的結構隨著不斷修改越來越差,無法繼續修改;
(2)忽視需求環節給軟件開發帶來很大風險;
(3)不考慮測試和程序的可維護性,沒有任何文檔,維護軟件是非常困難的。
2.瀑布模型
溫斯頓·羅伊斯(Winston Royce)在1970提出了著名的瀑布模型,直到20世紀80年代初,它還是唯壹被廣泛使用的軟件開發模型。
在瀑布模型中,如圖所示,軟件生命周期分為規劃、需求分析、軟件設計、編程、軟件測試和運維等六個基本活動,並規定了它們自上而下連接的固定順序,像瀑布壹樣,壹步步落下。
在瀑布模型中,軟件開發的所有活動都是嚴格以線性方式進行的,當前活動接受前壹個活動的工作結果,並實現所需的工作內容。需要驗證當前活動的工作結果。如果通過驗證,結果將作為下壹個活動的輸入,繼續下壹個活動;否則,它將被修改。
瀑布模型強調文檔的作用,需要在每個階段進行仔細的驗證。但是這種模型的線性過程過於理想化,已經不適合現代軟件開發模式,幾乎被業界所拋棄。它的主要問題是:
(1)每個階段的劃分是完全固定的,階段之間產生大量的文檔,大大增加了工作量;
(2)由於開發模型是線性的,用戶直到整個過程結束才能看到開發結果,增加了開發的風險;
(3)早期的錯誤可能要到開發後期的測試階段才能發現,會帶來嚴重的後果。
我們要認識到,線性是最容易掌握和熟練運用的思維方法。當人們遇到壹個復雜的非線性問題時,總是想盡辦法將其分解或轉化為壹系列簡單的線性問題,然後逐壹求解。整個軟件系統可能是復雜的,而單個子程序總是簡單的,因此可以使用線性方法...>;& gt
問題8:軟件開發最常用的設計模式有哪些?設計模式是工廠模式還是單例模式?
問題9:主流軟件的開發工具有哪些?主流軟件開發語言1: Java作為壹種跨平臺語言,可以在Windows和Unix/Linux下運行,早已成為用戶的首選。JDK6.0以來,整體性能大幅提升,市場利用率超過20%。感覺自己已經到了巔峰,不知道還能堅持多久。二:C三:C++及以上作為傳統語言,在效率優先領域壹直發揮著巨大的影響力。像Java這種語言的核心都是用C/C++寫的。是高並發實時處理、工業控制等領域的首選。四:VB微軟的法寶真的很好用。五:php也是壹種跨平臺的腳本語言,已經成為大家網站編程的首選。支持PHP的主機很便宜,PHP+Linux+MySQL+Apache的組合簡單有效。六:Perl腳本語言的開創者,其出色的文本處理能力,尤其是正則表達式,成為了日後很多網站開發語言(如php、java、C#)的基礎。七:PyThon是壹種面向對象的解釋性計算機編程語言,也是壹種強大而完善的通用語言。已經有十幾年的發展歷史,成熟穩定。Python擁有腳本語言中最豐富、最強大的類庫,足以支持大多數日常應用。這種語言具有非常簡單清晰的語法特征,適合完成各種高級任務,幾乎可以在所有操作系統中運行。目前基於這種語言的相關技術發展很快,用戶數量迅速擴大,相關資源也很多。八:C#是微軟發布的面向對象的高級編程語言,運行在。NET Framework,並計劃在Microsoft專業開發人員論壇(PDC)上發布。C#是微軟研究員Anders Hejl *** erg的最新成果。C#看起來和Java驚人的相似。包括單繼承、接口、幾乎和Java壹樣的語法、編譯成中間代碼然後運行的過程等。但C#明顯不同於Java,Java借鑒了Delphi的壹個特性,直接與(組件對象模型)集成。而且,是微軟的主角。NET windows網絡框架。9: JavascriptJavascript是由網景的LiveScript發展而來的腳本語言,主要目的是解決服務器終端語言遺留下來的速度問題,比如Perl。當時服務器需要驗證數據,因為網速相當慢,只有28.8kbps,驗證這壹步浪費了太多時間。Ruby的作者認為Ruby > (Smalltalk+Perl)/2,這表明Ruby是壹種像Smalltalk壹樣具有完全面向對象的語法、腳本執行和Perl強大的文字處理功能的編程語言。
問題10:誰能說出軟件開發模型和軟件開發方法的區別?開發模型是規劃,是軟件開發的過程,包括需求、設計、編碼、測試和維護。常用的模型有瀑布模型、快速成型模型、螺旋模型和混合模型。
開發方法是實現(我理解是實現模型中的設計和編碼),包括Parnas方法、SASD方法、面向數據結構的軟件開發方法、問題分析方法、面向對象的開發方法、可視化開發方法、ICASE、軟件復用和組件連接。