軟件開發(fā)
軟件需求分析方法
一、軟件開發(fā)項目需求分析概述
需求分析是軟件開發(fā)過程的重要階段,尤其是大型軟件項目(如ERP系統(tǒng))的開發(fā)過程中尤為重要的環(huán)節(jié)。需求分析主要任務是以文檔的形式進行展現(xiàn)解決用戶的“問題”的過程,通俗的講,即對用戶所需要的“系統(tǒng)”在功能性、目的性、應用性以及可靠性等方面的深入剖析。通常軟件項目開發(fā)需求分析的包含問題的識別、分析和匯總、各類需求描述文檔的產(chǎn)生和文檔的評審四方面的內(nèi)容。由此可見,需求分析階段并不是用戶軟件系統(tǒng)的實現(xiàn)階段,而是在邏輯層次對用戶所需系統(tǒng)的描述。因此可見,需求分析階段不僅僅需要開發(fā)人員的參與,也需要用戶進行參與。
隨著軟件開發(fā)的復雜度以及功能性的增加,需求分析作為軟件生命周期中定義階段必不可少的環(huán)節(jié),發(fā)揮著舉足輕重的作用,是后續(xù)的項目編碼、測試以及維護階段的基礎,很難想像,缺乏必要需求分析的用戶系統(tǒng),能夠十分貼切的滿足用戶的需求。另外,大中型軟件項目開發(fā)過程中,一旦用戶需求發(fā)生變化,往往造成巨大的代碼更改、系統(tǒng)集成、接口設計工作,需要耗費難以預估的人力和財力。需要提及的是,需求分析也是軟件工程領域研究的重要內(nèi)容。總之,軟件項目開發(fā)設計階段的需求分析,無論從后續(xù)工作持續(xù)性保障、還是對于系統(tǒng)深入了解以及后期維護都有著重要的作用。
二、軟件開發(fā)項目需求分析問題研究
2.1用戶參與度不足
需求分析階段是對用戶系統(tǒng)進行功能定義、性能描述、系統(tǒng)可靠性的深入劃分和探析的過程,離開了用戶的參與或者用戶的參與度不夠不利于需求分析工作的順利展開和實施。開發(fā)人員往往對于系統(tǒng)的開發(fā)過程以及開發(fā)工具的運用是相對熟練的,而對于具體用戶所需的功能是不甚了解:而用戶人員對于系統(tǒng)功能的描述通常也具有一定的局限性,甚至于用戶也不明白真正的自身需求。因此,軟件需求分析如果缺乏用戶的參與,不能達成用戶與開發(fā)人員的共識,容易出現(xiàn)開發(fā)人員對于系統(tǒng)理解的片面性以及對于功能分析的不完整性,嚴重的甚至導致后續(xù)開發(fā)與測試階段出現(xiàn)返工,造成嚴重的人力財力資源浪費。
2.2用戶需求的不確定性
由于用戶對于開發(fā)工作的不熟悉以及用戶對所需功能的不確定(主要指需求的變更和需求的增加),容易導致軟件項目的急劇龐大,項目規(guī)模的可控性、項目復雜度以及項目的風險都會伴隨需求的變化進行變得不確定。另外,用戶需求的不確定導致項目代碼的結構可能出現(xiàn)變化,使得代碼規(guī)范中“高內(nèi)聚、低耦合”的原則容易被打破,代碼的整體結構性被打破,也給代碼的維護帶來了一些難度;當然系統(tǒng)的穩(wěn)定性、健壯性往往也會受到影響??傊脩粜枨蟮牟淮_定也是需求分析階段所面臨問題的重要方面。
2.3需求分析深入度和全面性不足
除了上述內(nèi)容的不足,需求分析深入性和全面性的欠缺也是該階段所容易出現(xiàn)的問題之一。分析深入度的缺乏,使得子系統(tǒng)模塊在系統(tǒng)邊界的劃分、功能定義、子系統(tǒng)接口都會出現(xiàn)問題;需求全面性的分析不足,則可能導致用戶的功能完整性受到影響,部分用戶需求被忽略,在后期編碼時出現(xiàn)補丁似的代碼,系統(tǒng)的結構會受到破壞,嚴重時可能導致項目開發(fā)周期和項目經(jīng)費出現(xiàn)危機,甚至出現(xiàn)災難性對軟件開發(fā)事項??梢?,軟件的需求分析工作展開時,不僅僅需要各方人員的通力合作,也需要對于用戶系統(tǒng)形成一個具有完整性和一致性的認識。
三、軟件開發(fā)項目需求分析問題解決方法探討
3.1提升用戶參與度,加強用戶與開發(fā)人員的合作
軟件開發(fā)項目需求分析問題的解決,首先應該加強用戶與開發(fā)人員的合作,保障各方人員交流的暢通性。這主要是基于需求分析的目的。用戶或多或少在功能需求方面有自身的見解,而開發(fā)設計人員有著嫻熟的開發(fā)技術,但對于用戶具體的功能以及其他方面的技術需求則了解的相對不足,因此,彼此通過加強溝通交流,能夠快速形成對于用戶系統(tǒng)的深入了解,并且在互相交流的同時,容易做到對系統(tǒng)功能全面性的了解??梢?,提升用戶在需求分析階段的參與度是結論相關問題的必要手段。
3.2做好系統(tǒng)各類需求狀態(tài)的跟蹤
軟件系統(tǒng)需求分析包括運行環(huán)境的定義,系統(tǒng)穩(wěn)定性保障,系統(tǒng)功能性的要求,系統(tǒng)可靠性等諸多方面內(nèi)容。尤其是在系統(tǒng)功能性定義的時候,不僅僅要加強較高邏輯層次的系統(tǒng)定義,也要加強數(shù)據(jù)流,數(shù)據(jù)結構定義,子模塊定義,子模塊功能劃分以及各個接口功能時的準確分析定義。可見,需求分析涉及的內(nèi)容比較多,應在保障需求分析有效性的同時,提升需求分析各個部分模塊狀態(tài)的跟蹤,保障各個模塊內(nèi)容需求分析準確性,最終形成需求整體的準確性保障。
3.3提升需求分析的完整性和一致性
需求分析除了加強人員合作和各類需求的跟蹤之外,還應提升需求分析的完整性和一致性。保障軟件系統(tǒng)邏輯定義與數(shù)據(jù)流的一致性,整體功能的實現(xiàn)與各模塊功能的一致性,提升軟件功能性與穩(wěn)定性的一致性等。當然,除了一致性的保障以外,還應在系統(tǒng)分析的完整度和深入性進一步加強,保障用戶的功能需求和性能需求都能得到較好的實現(xiàn)與滿足,避免后期代碼重新編寫或者返工的情況出現(xiàn)??梢?,提升軟件系統(tǒng)需求分析的完整性和一致性也是解決其問題的重要方面。
3.4運用好需求分析的各種開發(fā)工具
需求分析的諸多方面需要形成各種文檔,供文檔審查時使用,當然也是系統(tǒng)實現(xiàn)的基本參考,因此,運用好需求分析的各種開發(fā)工具,如數(shù)據(jù)結構定義時的各種定義工具;數(shù)據(jù)流程圖繪制工具;功能模塊設計圖等各種需求分析符號對于需求分析有著巨大的幫助。運用好這些符號工具,一方面有利于用戶對于系統(tǒng)定義的準確度了解,避免了由于技術而引起“溝通”難題;另一方面有利于后續(xù)編碼測試工作的順利展開,一些需求設計優(yōu)秀文檔甚至能夠直接翻譯成特定的編程語言??傊?,運用好需求分析開發(fā)工具也是解決需求分析問題的有效手段。
以上就是我們深圳市組創(chuàng)微電子有限公司為您介紹的軟件開發(fā)項目需求分析問題及解決方法。如果您有智能電子產(chǎn)品的軟硬件功能開發(fā)需求,可以放心交給我們,我們有豐富的電子產(chǎn)品定制開發(fā)經(jīng)驗,可以盡快評估開發(fā)周期與IC價格,也可以核算PCBA報價。我們是多家國內(nèi)外芯片代理商:松翰、應廣、杰理、安凱、全志、realtek,有MCU、語音IC、藍牙IC與模塊、wifi模塊。我們的擁有硬件設計與軟件開發(fā)能力。涵蓋了電路設計、PCB設計、單片機開發(fā)、軟件定制開發(fā)、APP定制開發(fā)、微信公眾號開發(fā)、語音識別技術、藍牙wifi開發(fā)等。還可以承接智能電子產(chǎn)品研發(fā)、家用電器方案設計、美容儀器開發(fā)、物聯(lián)網(wǎng)應用開發(fā)、智能家居方案設計、TWS耳機開發(fā)、藍牙耳機音箱開發(fā)、兒童玩具方案開發(fā)、電子教育產(chǎn)品研發(fā)。
注:部分圖片內(nèi)容來源于網(wǎng)絡,如有侵權,請聯(lián)系刪除。
- 返回頂部