軟件開發過程問題分析(軟件研發過程中的問題)

                                  軟件開發 352
                                  今天給各位分享軟件開發過程問題分析的知識,其中也會對軟件研發過程中的問題進行解釋,如果能碰巧解決你現在面臨的問題,別忘了關注本站,現在開始吧!軟件開發過程中會有哪些風險? 1、未經權威部門確認的功能標準、開發規范以及質量技術標準,均可能導致軟件無法達到預期標準,從而引起質量風險。2、在理解項目標準及范圍等問題上,企業管理層、項目組以及技術性人員的接不一致,導致計劃與資金安排有所改變,因而極易引發風險。

                                  今天給各位分享軟件開發過程問題分析的知識,其中也會對軟件研發過程中的問題進行解釋,如果能碰巧解決你現在面臨的問題,別忘了關注本站,現在開始吧!

                                  軟件開發過程中會有哪些風險?

                                  1、未經權威部門確認的功能標準、開發規范以及質量技術標準,均可能導致軟件無法達到預期標準,從而引起質量風險。

                                  2、在理解項目標準及范圍等問題上,企業管理層、項目組以及技術性人員的接不一致,導致計劃與資金安排有所改變,因而極易引發風險。

                                  3、潛在的維護、驗證、接口、實現以及設計等環節出現的問題,存在技術空白及未知領域,為軟件開發工作帶來較大的風險。

                                  4、來自于外包項目組、客戶、國家政策以及市場等方面的變化及壓力,這類風險具有明顯的不可控特點,一旦遭遇,應謹慎對待,及時制定解決策略。

                                  風險防范與控制措施

                                  1、出臺合理的軟件開發模式與相關規程,確保開發工作合理、有序進行,并符合國家出臺的相關標準及要求。

                                  2、對于項目組全體成員的開發行為進行嚴格規范,加強小組成員之間的交流與互動,以免由于溝通與交流不當,引發軟件開發風險。

                                  3、定期開展業務和技術交流大會,引導技術人員摒除過于落后、陳舊的工作思想,通過引進先進的技術、設備與驗證方式,明確技術人員的預期發展目標,令其不斷的改進自我、完善自我,提升技術及設備的質量及效果。

                                  4、對開發所用的方法及技術進行客觀、合理的評價,避免由于無法把握技術而引發風險。

                                  5、建立完善的風險應對程序與管理計劃,如此一來,才能確保在發生風險的時候,能夠快速、合理、技術的作出反映,并通過制定適宜的策略,對風險進行專業性處理。

                                  (轉)軟件開發需求分析五個常見錯誤及應對措施

                                  在軟件開發的傳統瀑布模型中,需求分析的第一個階段也是最重要的階段。這個階段包括以最清楚的形式搜集與客戶要求和定義有關的信息以及希望產品解決的問題。

                                  這種分析包括了解客戶的商業背景和限制、產品必須執行的功能、它必須實現的性能水平、以及它必須兼容的外部系統。用來了解這些問題的技巧包括客戶面談、使用情況和軟件特性“購物清單”。分析結果一般以正式需求規范的形式呈現,并作為下一個步驟的輸入。

                                  至少,這是它理論上的應用情況。實際上,這個理論模型存在著許多問題,這些問題可能給分析過程的其它步驟造成延遲或連鎖性錯誤。本文討論項目經理在這個階段中遇到的一些常見問題,并提出可能的解決方案。

                                  在需求分析階段,可能最常見的問題就是客戶對于他們的需要僅有一個模糊的概念,而要由你提出合適的問題、進行必要的分析,把這個不確定的概念轉化成一個正式文本化的軟件需求規范;這個規范反過來又可用作一個項目計劃和工程結構的基礎。

                                  要解決這個問題,你應當:

                                  軟件開發項目中遇到的第二個問題是,隨著項目的發展,在第一階段定義的需求發生了變化。隨著開發不斷取得進展,軟件原型得以確定,這時客戶能夠更加清楚的發現原始計劃中存在的問題并做出必要的糾正,于是需求也因而改變。需求發生改變還可能是因為外部環境的變化要求改造原始的商業問題,并因此有必要開發一個與最初建議的解決方案全然不同的解決方案。優秀的項目經理意識到這些可能性,并往往制定了后備計劃來應對這些變化。

                                  要解決這個問題,你應當:

                                  我們常常聽到客戶這樣說:“這是一個非常緊迫的任務,我們需要項目在X周內完成?!背R姷腻e誤就是,沒有進行詳細分析,并了解項目的范圍以及完成項目所必需的資源,就同意客戶的要求。未經討論就同意不合理的時間表,你實際上在給客戶造成傷害:項目很有可能被延期(因為不可能按時完成),或存在質量問題(因為你在趕工,沒有進行適當的檢驗)。

                                  要解決這個問題,你應當:

                                  通常,客戶和工程師之間由于背景差異以及理解技術條款的不同方式,他們無法進行有效地溝通。這可能導致混亂和嚴重的溝通問題;因此,項目經理的一項重要任務——特別是在需求分析階段——就是保證雙方能夠準確了解交付成果以及必須完成的任務。

                                  要解決這個問題,你應當:

                                  Bolman和Deal這兩位學者認為一位高效的項目經理是一個把組織看作一個“競爭舞臺”的人,它理解權力、沖突、談判和聯盟的重要性。這樣的經理不僅熟悉運作和職能任務,他或她還認識到為通用目標制定議程、建立觀點一致的聯盟以及向抗拒性的經理說明一個特定職位合法性的重要性。

                                  在給大型組織執行大型項目時,這些技巧尤其重要,因為信息常常分散在各處,因此需求分析往往會受到信任問題、內部利益沖突和信息低效這些因素的阻礙。

                                  要解決這個問題,你應當:

                                  軟件開發過程中的常見問題有哪些?

                                  1.前言應用軟件系統是事件驅動的軟件系統,系統通過接口接受事件后,交由系統業務層處理,業務層處理完事件后將需要的信息存入數據庫,整個應用軟件系統分為三個子系統:接口子系統,業務子系統,數據庫子系統,業務子系統進一步分為三個子系統:表示層,業務層,數據接入層。其中業務層是整個系統的核心,表示層負責通過接口子系統接收系統事件交給業務層處理,數據接入層供業務層使用完成數據的持久化。每個層對編程人員的技術要求是不同的,表示層需要了解的技術根據接口子系統選擇的不同而不同:如windows界面,需要對MFC有比較深入的了解,web界面則要求對asp,asp.net,或jsp有比較深入的了解。數據訪問層需要的技術則由數據庫子系統的選擇決定,另外還需要了解:ODBC,JDBC等。接口子系統的選擇:windows界面,java界面,web界面,命令行接口,CTI, API等 數據庫子系統的選擇:關系數據庫,普通文件等基于以上對應用軟件系統的理解,軟件開發流程的輸入是用戶的業務需求,輸出就是系統的業務層、表示層、數據接入層的代碼,以及接口和數據庫,以及各種文檔。因此得到比較理想化的軟件開發流程圖,該圖使用uml中的活動圖描述。2.需求分析階段需求分析階段的常見問題是:需求分析不夠深入,對問題域沒有仔細研究,急于進入設計階段。造成這種問題一方面是因為項目管目趕進度以及存在于管理人員頭腦中的根深蒂固的想法:任何時候不能讓任何人員閑著,另外很大的原因是很多人不知道如何進一步深入研究問題域。需求分析階段不僅要列出系統的use case,更重要的是要列出use case的輸入輸出和例外情況等,以及問題域中的對象之間的靜態關系和動態關系,如對象間的包含關系,繼承關系,調用關系等。需求分析階段另外一個常見的問題是常常將需求分析等同于數據庫設計,需求分析階段定義的是系統作什么,而不是怎么做,需求分析的結果應該與具體的技術實現無關。數據庫設計是技術實現的細節,應該盡可能的推遲技術細節的決策,不應該使技術細節束縛了我們對系統需求的理解。需求分析階段應該從用戶的角度對系統建模,不應將大量的技術細節暴露給用戶,導致系統易用性差。需求分析階段可以進一步細分為業務需求分析階段和系統功能需求分析階段。在很多研發性質的系統中,不注重業務需求分析,只有系統功能需求分析,導致開發人員知其然不知其所以然。系統功能規范文檔與業務需求文檔的重要區別有以下幾點:內容不同:系統需求分為功能需求和非功能需求,功能需求進一步分為業務功能需求和非業務功能需求。系統需求規范文檔除了包括業務需求文檔中的業務功能需求,功能規范文檔需要增加以下內容:系統的非業務功能需求,由于業務需求由計算機系統實現而產生的功能需求,如系統需要系統管理員管理,系統管理員的角度產生一些非業務功能需求,另外需要描述系統非功能需求:數據量,性能要求,響應速度,可用性要求,可靠性要求,界面語言要求等等。 閱讀的對象不同:業務需求文檔是用來與業務人員交流,功能規范文檔是開發人員開發的依據 使用的語言不同:業務需求文檔使用自然語言書寫,而功能規范文檔使用比較嚴謹的語言,如:uml書寫 對編寫人的要求不一樣:業務需求編寫人員只需要對業務系統熟悉,系統規范由系統架構師完成 體現系統架構師價值的地方是編寫系統規范文檔和業務層設計, 系統規范文檔是下一步界面設計,業務層設計和數據庫設計的依據,表示層,業務層,數據訪問層之間是相互聯系的,它們之間的關系應該在系統規范文檔中找到。3.架構設計階段架構設計階段的常見問題是將架構設計理解為技術架構設計,實際上架構設計分為技術架構設計和業務架構設計。技術架構一般由系統軟件商提供,可以在不同的應用軟件系統中使用,例如:微軟的MFC, SUN的J2EE等。對于一個應用軟件系統,更重要的是業務架構的設計,也就是將需求分析階段中得到的各種關系,根據系統的非功能需求將需求分析轉變為代碼。其實沒有業務架構的設計也是可以的,很多項目中直接將對象之間的各種關系以數據庫的方式實現,這樣的系統不是面向對象的,因此面向對象設計的很多好處不能體現。由于在架構設計階段中沒有進一步細分,通常會導致不能準確估計任務量,造成項目計劃變成擺設。4.詳細設計階段詳細設計階段一個重要的任務是系統持久化設計。對應用系統而言,持久化設計只是管理存儲的機制,有多種技術手段可以選擇:可以是面向對象數據庫管理系統,簡單的文件,或者是關系數據庫,也可以是使用ORM工具等??傊畱摪阉舻阶詈笞鳛榧毠澨幚?。我們不應該將我們的系統和任何特定的技術綁定在一起。我們可以根據需求自由選擇需要的持久化技術,并且保留在將來需要時更改持久化技術的自由。5.編碼階段編碼階段還處于小農經濟,自給自足,沒有分工合作。編碼階段以use case為粒度安排工作,這樣的安排方式要求每一個開發人員必須對表示層,業務層,數據接入層的所有技術都要有比較深入的了解,由于每個開發人員各自只對自己的use case負責,對別人的use case不了解,但是每一個use case會有功能重復的地方,導致大量的重復工作。編碼階段工作安排的粒度應該是類,編碼階段工作的安排原則是先分層,再分割,按照表示層,業務層,數據訪問層分開后,每一層內可以進一步分為不同類,使用測試驅動的編程方法,每個編程人員單獨編寫代碼,并進行單元測試。每個層次的編程人員只需要對某一種技術有比較深入的了解。6.測試階段很多人分不清什么是單元測試,什么是集成測試,什么是系統測試?測試的順序是先單元測試,然后是集成測試,最后是系統測試。單元測試是源代碼級的測試,一般由編程人員自己使用各種unit工具測試,是白盒測試。集成測試是在單元測試結束后,將一個或若干個單元作為一個子系統的黑盒測試,測試子系統內的所有組件可以正確的交互,集成測試通過對子系統不斷增加新的單元最后完成整個系統的測試,集成測試不應由開發人員完成。7.結束軟件開發過程中,各種輔助工具以及process很重要,但是使用工具和process的最終目的是為了更高效的在開發人員之間溝通交流,記錄存在開發人員腦子里的想法,不要為了process而process。不能以為會使用MS word,就認為可以成為作家。最后引用Robert Martin的《敏捷軟件開發:原則、模式與實踐》中的一句話作為本文的結束:過渡信賴工具和過程以及低估智力和經驗都是軟件開發災難的源泉。 注: 本文摘自網絡 臺州極速網絡有限公司愿以雄厚的技術實力基礎

                                  軟件項目設計與開發過程管理分析

                                  軟件項目設計與開發過程管理分析

                                  軟件項目的規劃,是軟件設計與開發過程中比較復雜的階段,也是決定軟件開發質量和開發水平的關鍵,做好軟件項目的整體規劃將會為整個軟件項目的運行奠定良好的基礎。以下是我為您收集整理的軟件項目設計與開發過程管理分析論文,以供參考,歡迎借鑒閱讀。

                                  摘要: 軟件項目設計與開發的管理,其目的就是要從管理的角度,對軟件項目在設計開發中的各個環節進行規范和監督,通過多種形式的有效管理措施,確保軟件項目開發過程的高質量和低成本。對此,本文在分析軟件項目設計與開發原則的基礎上,結合軟件項目設計與開發的全過程,就軟件項目設計與開發的有效管理問題進行重點探討。

                                     關鍵詞: 軟件項目;設計與開發;過程管理;有效性

                                  對軟件項目設計與開發的全過程進行有效的管理,不僅是要為了順利實現軟件的特定功能與性能,還要確保能夠保質、保量、低成本的完成軟件開發的任務,使軟件在投入使用后也能夠保持穩定性、可靠性、實用性和經濟性。簡單的說,軟件設計與開發的過程就是要將需求轉變為軟件表達的過程,要想切實提高軟件項目設計與開發過程管理的有效性,不僅要堅持正確的軟件項目設計原則,還要明確軟件的設計流程,在設計與開發的各個過程都采取行之有效的管理對策。

                                  一、軟件項目設計與開發的基本原則

                                  (一)實用性

                                  實用性指的是軟件項目的設計與開發一定要能夠滿足現代企業經營管理的需求,能夠促進企業的不斷發展,要避免“形式主義”、“中看不中用”等問題,否則有可能導致企業軟件開發資金的浪費,難以取得良好的投資回報效果。因此,在選擇軟件設計與開發技術時,不能過度追求先進性和高投入,而是應當在充分了解企業實際需求的基礎上,結合企業的發展方向,充分滿足企業在不同層次和環節上的管理需求,這也是決定軟件開發項目成敗的關鍵因素。

                                  (二)先進性

                                  毋庸置疑,在信息技術不斷變化發展的時代背景下,先進性是軟件項目設計開發過程中必須充分考慮的問題,這可以有效降低企業在未來的投入,避免未來在軟件項目開發中的重復建設和系統升級等問題。因此,企業在進行軟件項目的開發設計時,一定要面向社會經濟的未來發展方向和人民生活需求的變化趨勢,緊跟社會步發展的步伐,與信息技術、計算機技術、通信技術以及相關學科的發展方向保持一致,這樣才能不斷推動社會的進步。

                                  (三)經濟性

                                  任何一個軟件項目的設計與開發,都必須充分考慮到投入產出比的問題,力爭用最小的經濟投入獲取最大的投資回報,實現最好的軟件開發設計效果和更高的經濟效益,這也是軟件開發企業的主要目標。因此,在保證軟件開發質量的前提下,軟件的開發費用需要控制在合理的預算范圍之一,并盡量壓縮,在設計開發過程中必須要考慮到軟件在后期運行維護過程中的費用投入,實現軟件項目設計與開發全過程費用的節約。

                                  (四)系統性

                                  在軟件項目的開發設計中,一定保證其整體功能的完整性,既能滿足企業在整體上的管理需要,設計與開發的系統必須能夠全面、完整覆蓋企業管理的軟件信息系統,又要能夠滿足采購、生產、銷售等個別部門的`管理需求,便于各個部門之間信息數據的傳遞和銜接。此外,還應當制定系統的軟件項目設計與開發的管理規范,如開發文檔的管理規范、報表文件規范、數據格式規范等,這是確保軟件系統開發和操作水平的重要條件。

                                  (五)可靠性

                                  為了充分保證軟件項目系統運行的高效、平穩和準確,不僅要保證軟件系統在正常運行狀況下數據傳遞的準確性和系統運行的可靠性,還需要確保軟件系統項目在非正常狀態下的可靠運行,因此在軟件項目的開發設計過程中要提前針對一些緊急情況制定相應的應對策略。一個優秀、可靠的軟件系統,必然是一個靈活的系統,即使在軟、硬件環境發生故障時,仍舊能夠保持部分使用或正常運行。

                                  二、軟件項目設計與開發的全過程管理

                                  (一)軟件項目設計與開發的啟動

                                  在軟件項目的設計與開發過程中,實施全過程管理的第一個階段就是項目的啟動。在軟件項目的啟動階段,首先,要明確軟件項目設計與開發的目的,并在軟件開發與軟件使用的雙方協議或者合同中進行約束,并對軟件設計的主題、工程量進行量化,合理確定軟件項目開發和設計的階段目標和周期。其次,要加強同軟件用戶的充分溝通,了解用戶的軟件使用需求,理清軟件記錄的關鍵點,制定出完整的軟件設計與開發流程;再次,對于在調研過程中所獲取的原始資料,一定要進行加工處理,理清相關的約束條件和非功能性的客戶需求,確保軟件開發與建設項目具有很強的可實現性。

                                  (二)軟件項目設計與開發的規劃

                                  軟件項目的規劃,是軟件設計與開發過程中比較復雜的階段,也是決定軟件開發質量和開發水平的關鍵,做好軟件項目的整體規劃將會為整個軟件項目的運行奠定良好的基礎。具體說來,軟件項目規劃主要包括項目預算、風險分析與預測、進度管理、質量控制等內容,在編制軟件項目的開發計劃時,一定要理清各個開發環節之間的關系,并制定出完整、科學的項目計劃書,以期為軟件項目設計與開發的全過程管理提供相應的參考依據。

                                  (三)軟件項目設計與開發的實施

                                  軟件項目實施階段的有效管理,其目的就是要保證軟件項目安裝在預先設置的計劃上正常運行,確保項目不要偏離預定的開發進程和設計目標。在軟件項目的實施階段,一定要按照軟件項目的初步規劃進行,并在實施過程中,增強對軟件項目開發的有效控制,確保成本支出控制在相應的預算定額之內。同時,要對軟件項目開發的成果進行動態的監控,隨時與原先的計劃過程進行比較,對于出現的偏差或缺陷要及時進行調整,確保各項軟件開發指標和系統功能的順利實現。

                                  (四)軟件項目設計與開發的結束

                                  一個完善的軟件項目管理過程,必然離不開軟件項目的結束,這時相關人員要進一步確認軟件項目在設計與開發過程中取得的成就,做好軟件項目的交接、評審等工作。

                                  三、結語

                                  總之,為了提高軟件項目設計與開發的質量和水平,軟件設計人員需要首先認識到軟件質量的重要性,樹立應有的軟件項目質量管理意識,要堅持正確的軟件設計與開發原則,懂得加強過程管理與控制,同時還要對風險控制、配置管理等環節給予足夠的重視,采用科學的技術方法和先進的管理技術來提高軟件項目質量管理的有效性。

                                  參考文獻:

                                  [1]李勇華,駱啟武,付春燕.基于問題管理提升軟件項目過程質量的實踐[J].計算機與現代化,2007,4.

                                  [2]商惠華.基于過程改進的軟件質量管理模型[J].計算機工程與設計,2011,5.

                                  [3]雷堅.項目管理在軟件開發中的應用探究[J].軟件導刊,2011,7.

                                  ;

                                  關于軟件開發會遇到什么問題及對策

                                  軟件開發的過程中遇到的問題有很多,主要的會有以下問題:

                                  1、調研的時候分析不到位帶來的問題

                                  在軟件開發過程中,你需要做的很基礎的就是調研工作,在這個時候你得跟客戶進行直接的交流,掌握其需求并且針對性的分析,以確??蛻羲磉_的需求能夠充分的實現。但事實上,在于客戶的交流中,可能會因為對需求表達不夠明確,以及不斷的更換需求,還有就是分析人員自身在理解上有所偏差,這就會造成軟件開發進展變得比較有難度。

                                  2、前期對功能的梳理不可能一蹴而就

                                  在具體到軟件開發過程的時候,工程師都會簡單的梳理下可能需要達到的功能,但是并不能做到完美的梳理工作。而真的在執行的時候,可能經常會出現一些細微的變動,但是這些變動你又不得不重視,有可能根本就沒辦法控制。只要你的軟件沒有真正的開發出來,中途可能面臨的各種更改就會是持續不斷的。

                                  3、測試階段不是工作完成而是繼續改進

                                  可能在進入到測試階段的時候,你會以為軟件開發過程走到了終點,但其實這個時候的測試只是為了要找出更多的錯誤,而不是說你的程序就已經是完美的了。通常這個測試都是在公司內部來進行的,再把各種調試工作和模塊接口處理等工作做完之后,還要等待客戶的試用,知道真的萬無一失才可以提交報告。

                                  以上就是對于軟件開發過程中可能會遇到哪些問題的簡單介紹,我們啟云時代就是做軟件開發定制的,多年來積累下的經驗都分享啦希望能都幫助你。

                                  關于軟件開發過程問題分析和軟件研發過程中的問題的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。

                                  掃碼二維碼
                                  免费在线观看av