劉軍
南京厚建軟件有限責任公司 江蘇南京 210000
當前,在各個行業(yè)與領域中廣泛應用計算機,基于該背景人們越來越贊同與認可軟件開發(fā)行業(yè)。近年來國內(nèi)軟件行業(yè)愈加成熟,對軟件提出更高要求,必須滿足規(guī)范化以及實用性的需求,但是以往傳統(tǒng)的開發(fā)形式已無法達到,對于現(xiàn)階段的軟件行業(yè)而言,亟需處理的問題有兩個,一個是促進軟件開發(fā)的發(fā)展,實現(xiàn)其流程化,另一個是以不同職能部門為對象,做好工作劃分工作以及協(xié)同合作。在軟件開發(fā)過程中,從需求分析切入,合理、有效指導設計工作,因此無論是在軟件行業(yè)中還是開發(fā)流程時,需求分析均發(fā)揮著不容小覷的作用。
當實際開發(fā)軟件時,發(fā)達國家以及發(fā)展中國家始終需要處理各類積軟件開發(fā)問題。近年來計算機硬件取得極大進步,并且全社會對計算機軟件的需求呈現(xiàn)持續(xù)上漲的趨勢,與此相比相關人員開發(fā)高質(zhì)量軟件的能力極為落后。之所以出現(xiàn)軟件問題,通常有兩方面的原因,一方面是主觀原因,另一方面是客觀原因。從客觀上來講,因為軟件具有與眾不同的特征,所以導致開發(fā)以及維護工作面臨較多難題。而長期以來,人們?nèi)骈_發(fā)計算機系統(tǒng),并將其應用于實際工作中,在此期間積累了大量成功經(jīng)驗,能夠徹底攻克一系列難以解決的問題。不過,現(xiàn)階段大量軟件專業(yè)人員自身存在問題,他們并未對軟件開發(fā)以及維護形成正確、清晰的認知。當開展實踐的時候,往往利用使用不正確、不規(guī)范的技能與方法。
在軟件開發(fā)以及維護工作開展的過程中,之所以出現(xiàn)錯誤認知,以及發(fā)生錯誤行為,主要是因為在計算機系統(tǒng)初期發(fā)展中,軟件開發(fā)表現(xiàn)出鮮明的個性化特征。一般情況下,錯誤認知以及行為的具體表現(xiàn)是,對軟件開發(fā)過程構成威脅,大幅降低其整體性。輕視需求分析重要性,在人們的認知中軟件開發(fā)等同于寫程序。
(1)需求的定義。針對軟件需求而言,以目標軟件系統(tǒng)為對象,用戶對其功能與性能等不同內(nèi)容的期望。在探究與正確認知對應問題之后,針對與問題相關的功能與系統(tǒng)行為等,完成模型的構建??茖W處理用戶需求,進一步凸顯其精確化以及完全化特征,進而制定為需求規(guī)格說明。在軟件開發(fā)生命周期中,通過開展各項活動,組成其需求分析環(huán)節(jié)[1]。
從需求定義角度來講,即用戶處理問題或者是實現(xiàn)目標應具備的條件。必須確保系統(tǒng)達到相關規(guī)范和要求,并符合規(guī)范的文檔說明。一般而言,需求即為清楚指出一定要達到目標的規(guī)格說明。其中詳細論述了系統(tǒng)行為及其屬性,當實際開展過程開發(fā)工作時,以此約束系統(tǒng)。
(2)需求的層次。軟件需求通常包含有三個層次,第一個層次為業(yè)務需求,第二個層次為用戶需求,第三個層次為功能需求。首先就業(yè)務需求而言,針對系統(tǒng)以及產(chǎn)品,可能是組織機構,也可能是客戶,對其提出層次更高的要求,在范圍文檔中進行詳細說明。然后從用戶需求的角度來講,闡明了用戶應用產(chǎn)品一定要落實的任務,在實例文檔使用說明中進行準確論述,可以反映出業(yè)務需求。此外就功能需求而言,明確了開發(fā)人員一定要完成的軟件功能,讓用戶落實其任務,由此達到業(yè)務需求。
(3)需求分析的任務。在需求分析環(huán)節(jié),應科學編制需求規(guī)格說明書,并且獲得開發(fā)方以及用戶的認可,該說明書可以精準闡釋系統(tǒng)所要開發(fā)的內(nèi)容,可以十分細致地規(guī)劃技術需求,主要有以用戶群體為對象以及以機器與其它軟件系統(tǒng)為對象的接口。通過制定全面、精準的需求,能夠提高系統(tǒng)功能的明確性,防止由于性能與應用存在問題而無法滿足用戶需求。與此同時,能夠在很大程度上減少開發(fā)成本??s短開發(fā)人員之間的距離,加強彼此的溝通,避免大量返工。在此之中,承擔測試工作的人員能夠掌握系統(tǒng)實際情況,更為高效地進行測試。從維護人員的角度來講,能夠讓他們向更深處了解系統(tǒng),減少維護成本。在開發(fā)期間,文檔始終發(fā)揮著指導作用[2]。
(1)是獲得用戶需求的有效途徑。開發(fā)軟件需要服務于用戶。要確保所開發(fā)的軟件從根本上達到用戶要求,第一步需要明確用戶需求。對于軟件開發(fā)而言,為最終取得成功,必須不斷提高對軟件需求的理解深度,雖然軟件開發(fā)人員能夠非常成功地完成設計與編碼,不過無法從根本上達到用戶需求,只會違背軟件開放方向,不能獲得用戶認可,導致開發(fā)人員面臨較大困惑。
(2)是決定項目成功的關鍵性因素。在一個項目之中,需求分析至關重要,不僅是其出發(fā)點,還是建設的基石。根據(jù)長期以來失敗的項目實際情況來看,絕大部分是因為需求分析模糊。所以,為時項目最終獲得成功,必須完全掌控需求分析。項目整體風險往往有兩方面的表現(xiàn),一方面是需求分析模糊,另一方面是業(yè)務流程缺乏合理性[3]。
(3)是系統(tǒng)分析和軟件設計的橋梁。在開展需求分析工作時,主要是明確客戶需求。在同一項目中,通常軟件工程師應用的詞匯和客戶應用的詞匯存在較大差異??蛻裘鞔_自身需求,但是不知通過何種方式落實計算機技術。許多軟件設計者并未掌握事物運行過程。在此情況下配備專業(yè)作業(yè)人員之后,方可密切聯(lián)系商業(yè)與電腦世界。面向掌握關鍵信息的用戶,由其獲取能夠利用的信息,而且合理轉(zhuǎn)變所獲取的信息,使其成為規(guī)范的形式。在軟件工程師明確這部分形式之后,在接下來開展系統(tǒng)設計工作時便可將其作為重要依據(jù)。
綜上所述,在軟件開發(fā)項目中,需求分析不僅是其出發(fā)點,還是質(zhì)量控制的開端。與此同時,需求分析發(fā)揮著相當重要的作用,主要包括決策作用以及方向作用等。一旦需求環(huán)節(jié)發(fā)生問題,便會在接下來的環(huán)節(jié)埋下隱患。因此,在進行軟件開發(fā)實踐時,必須提高對需求分析的重視程度。