經(jīng)典案例
  • 金融大數據解決方案
  • 汽車(chē)大數據解決方案
  • 政府大數據解決方案
  • 鐵路大數據解決方案
  • 電力大數據解決方案
  • 軍工大數據解決方案
  • 解放軍總裝備部
  • 中國航天科工集團
  • 航天科技集團

軟件開(kāi)發(fā)需求分析工作內容和流程

發(fā)布于:2020-01-03 21:15來(lái)源:北京軟件開(kāi)發(fā)公司 作者:北京軟件開(kāi)發(fā)公司 點(diǎn)擊:
    【北京華盛恒輝科技有限公司 ——(hivekion)是一家軟件定制開(kāi)發(fā)公司,專(zhuān)注IT產(chǎn)品研發(fā)與服務(wù),堅持穩健經(jīng)營(yíng)、持續創(chuàng )新、開(kāi)放合作,在安全生產(chǎn)、大數據處理等領(lǐng)域構筑了端到端的解決方案優(yōu)勢,為企業(yè)客戶(hù)提供有競爭力的IT解決方案、 產(chǎn)品和服務(wù)。
     當軟件開(kāi)發(fā)公司在承接軟件外包項目時(shí),需求公司團隊進(jìn)行項目開(kāi)發(fā),交付產(chǎn)品,需求分
是一個(gè)非常主要核心的過(guò)程,所以我們對需求分析進(jìn)行分解。

1到用戶(hù)前的準備

1.1 組織隊伍

       根據實(shí)際的工作量及其他情況,組建需求調研團隊,提供辦公設備,明確崗位職責、召開(kāi)項目啟動(dòng)會(huì )。

1.2準備相應文檔

       乙方的系統分析師同甲方的需求提供人員正式接觸前,制定一個(gè)問(wèn)詢(xún)表及需求分析計劃。
       一般情況下只需要完成一個(gè)整體細節問(wèn)詢(xún)表,問(wèn)詢(xún)用戶(hù)為明確需求已經(jīng)完成的文檔情況(如果可以在進(jìn)行正式接觸前可以得到并了解完成好)、業(yè)務(wù)目的、當前目標、長(cháng)遠目標、當前準備情況、完成的業(yè)務(wù)功能列表、將來(lái)系統操作人員的業(yè)務(wù)及電腦技術(shù)了解情況、終操作用戶(hù)、當前及將來(lái)的硬件、軟件及網(wǎng)絡(luò )環(huán)境等問(wèn)題。
      由軟件開(kāi)發(fā)公司的系統分析師根據對業(yè)務(wù)的了解程度,適當編寫(xiě)各業(yè)務(wù)功能細節問(wèn)詢(xún)表。不過(guò)業(yè)務(wù)功能細節問(wèn)詢(xún)表的使用,是在業(yè)務(wù)需求調研過(guò)程中用戶(hù)表明其需求后,再根據問(wèn)題還沒(méi)有明確的情況下再進(jìn)行問(wèn)詢(xún)的。
      其他業(yè)務(wù)相關(guān)政策法規、技術(shù)文檔、技術(shù)支持人員的通信錄等也要進(jìn)行相應的準備。

1.3 聯(lián)系及了解用戶(hù)方

      同用戶(hù)進(jìn)行聯(lián)系并取得對方的人員名單、分工情況、權重、工作計劃、工作時(shí)間、節假日安排(特別是用戶(hù)公司內部的額外規定),如果可能的情況下要求也有用戶(hù)的IT人員參加需求過(guò)程,實(shí)際的需求如果沒(méi)有IT人員的參加,在后面的更改一般是IT人員提出的。應在需求過(guò)程中把用戶(hù)IT人員的需求調研,作為業(yè)務(wù)調研中一部分。

1.4 編寫(xiě)計劃

       根據當前情況,編寫(xiě)需求分析計劃,明確正式開(kāi)始日期,中間階段性日期(時(shí)間段可多個(gè),調研時(shí)間不大于3天),結束時(shí)間,人員名單,分工情況,需用戶(hù)提供的幫助等。將計劃發(fā)送給用戶(hù)請其確認,在可能的情況下協(xié)調用戶(hù)和開(kāi)發(fā)商的計劃,以便共同開(kāi)展工作。對于計劃如果能編寫(xiě)及控制到每日是好的,但是否可以達到真正可控制到日,那就看你的能力了。如果每3天為一個(gè)中間性階段進(jìn)行控制,延遲的時(shí)間可以通過(guò)加班來(lái)彌補。計劃好根據一天工作8小時(shí)進(jìn)行。如果要去用戶(hù)所在地進(jìn)行工作,還要準備相應的辦公工具,人手一臺筆記本電腦(電源插座及網(wǎng)絡(luò )互連線(xiàn)也要考慮)是比較好的資源配置。

2需求調研

2.1 需求調研啟動(dòng)

      本次所說(shuō)的第一日是軟件開(kāi)發(fā)公司的系統開(kāi)發(fā)人員到用戶(hù)處正式需求調研過(guò)程的第一日。如果是異地調研,那么在第一日前一日軟件開(kāi)發(fā)公司的系統開(kāi)發(fā)人員應到達用戶(hù)所在地,住宿,了解住宿地周邊情況。好是早些休息,為第一日工作開(kāi)始做好準備。一般第一日的上午是軟件開(kāi)發(fā)公司的系統分析人員和用戶(hù)業(yè)務(wù)需要者進(jìn)行整體介紹,了解辦公環(huán)境,建立需求調研過(guò)程辦公環(huán)境。如果是小型項目涉及人員不多(雙方人員共同不多于3人),一般上午可以進(jìn)行調研工作1到2小時(shí),不然下午才能正式開(kāi)始工作(也就說(shuō)做計劃時(shí)第1天一般只有半日的工作時(shí)間)。

2.2 調研過(guò)程

      調研的過(guò)程推薦軟件開(kāi)發(fā)公司系統開(kāi)發(fā)人員有專(zhuān)人進(jìn)行會(huì )議記錄,并在每日會(huì )議結束后,當場(chǎng)宣布本次會(huì )議的結果,并由參加會(huì )議人員進(jìn)行簽字。第二日復印或發(fā)送電子文件給參加會(huì )議人員及相關(guān)人員。以便做到有據可查,明確過(guò)程。軟件開(kāi)發(fā)公司系統開(kāi)發(fā)人員每周對用戶(hù)提供開(kāi)發(fā)周報,告訴用戶(hù)當前開(kāi)發(fā)的進(jìn)展、是否有問(wèn)題、是否用戶(hù)協(xié)助等,這是一個(gè)好的加強雙方溝通的方法。
      注意:在調研過(guò)程的中系統開(kāi)發(fā)人員的變更會(huì )對計劃產(chǎn)生重大的影響,不要簡(jiǎn)單認為是人員更換的問(wèn)題。因為在調研過(guò)程中對業(yè)務(wù)的理解,不是通過(guò)看看文檔就可以達到。3天通過(guò)討論達到對需求理解的程序,9天對文檔的學(xué)習也不一定能達到。

2.3 三個(gè)階段

       分析的初期,即總體分析階段,需要得到整體意義上的輪廓需求,此時(shí),應與客戶(hù)方總工以上層次的人員進(jìn)行交流,這一層次的人,對未來(lái)的系統會(huì )有完整的描繪,可以劃分出子系統、及其之間的關(guān)系,這也是高級管理層對系統的期望??梢砸源俗鳛榫V領(lǐng)性的文檔指導進(jìn)一步的分析,并約束后續的分析過(guò)程,避免需求范圍漫無(wú)邊際的擴大;專(zhuān)業(yè)系統分析階段,通常,客戶(hù)單位都會(huì )有專(zhuān)業(yè)分工,彼此之間既相互獨立,又會(huì )在某些點(diǎn)上發(fā)生聯(lián)系。此階段應與客戶(hù)方專(zhuān)業(yè)人員進(jìn)行深入的討論。這一層次的人,對自己的專(zhuān)業(yè)相當熟悉,對專(zhuān)業(yè)內的需求會(huì )非常到位,大都年富力強,有相當的閱歷和理解能力,甚至自己都可以繪制業(yè)務(wù)流圖,總結業(yè)務(wù)功能點(diǎn)。對他們應充分鼓勵,盡量調動(dòng)其積極性;系統關(guān)聯(lián)分析階段,在各專(zhuān)業(yè)系統得到充分分析的基礎上,緊接著(zhù)就要理清它們之間的關(guān)系,這是提升需求檔次的關(guān)鍵階段,也是高級領(lǐng)導層和專(zhuān)業(yè)人員都關(guān)心的階段。通常,客戶(hù)單位都會(huì )有一些零散的軟件,如財務(wù)軟件,部頒軟件等,這些專(zhuān)業(yè)軟件都發(fā)揮著(zhù)重要的作用,但都是些信息孤島,客戶(hù)會(huì )很自然的希望能把這些信息融合到整個(gè)系統中來(lái),為更多的人所共享。同時(shí),也希望數據能夠在各專(zhuān)業(yè)系統間順暢的流動(dòng),從而減少重復勞動(dòng),提高工作效率。此階段應把總工層和專(zhuān)業(yè)人員召集到一起,共同理清系統間的接口。經(jīng)過(guò)這三個(gè)階段,對需求的描述將比較準確和完整。

3 一般情況下需明確的問(wèn)題


當前整體業(yè)務(wù)需求的目的
要求提供的需求功能列表
將來(lái)發(fā)展的設想
明確服務(wù)器、客戶(hù)機的軟、硬件及性能要求(容量、速度、可操作性等)
用戶(hù)目前相關(guān)的技術(shù)人員和業(yè)務(wù)人員情況
將來(lái)終系統操作人員的技術(shù)及業(yè)務(wù)人員情況
用戶(hù)需求的系統及用戶(hù)本身或其它系統的接口要求
用戶(hù)的其它要求

 

4 需求完全明確情況

     
       對于整體調研過(guò)后就要進(jìn)行各個(gè)具體業(yè)務(wù)需求的調研,對于具體需求調研如果是用戶(hù)提供的現有文檔,
軟件開(kāi)發(fā)公司的系統分析人員只是對業(yè)務(wù)進(jìn)行了解及進(jìn)行修改為系統分析人員及業(yè)務(wù)人員全可以看懂的需求說(shuō)明書(shū),那么這個(gè)過(guò)程就比較容易。只要系統分析人員把業(yè)務(wù)文檔看懂看明白,并且對于一些難理解的業(yè)務(wù)描述修改為易懂(有些業(yè)務(wù)名詞有一定的專(zhuān)業(yè)性就要進(jìn)行額外的說(shuō)明)、明確進(jìn)出的單據(數據項)就可以。當然編寫(xiě)需求說(shuō)明書(shū)具體的細節可以參見(jiàn)其他的眾多的書(shū)籍及文件模版。

5 需求不完全明確情況

     
       如果用戶(hù)對于自己的需求在調研開(kāi)始并沒(méi)有完全明確,需要進(jìn)行引導及細化,那么這個(gè)過(guò)程就比較麻煩了。
對于用戶(hù)本身需求不明情況下,對于業(yè)務(wù)要先從基本業(yè)務(wù)進(jìn)行細化,對于不明業(yè)務(wù)或不確定業(yè)務(wù)在后面進(jìn)行。對于進(jìn)出的單據一般在這種情況下用戶(hù)當沒(méi)有現存文檔,這個(gè)過(guò)程只需明確單據進(jìn)出的必須數據源就可以,如果做到細節,由用戶(hù)在需求調研期確定單證,是不太可能的----只是設計單據的樣式、風(fēng)格就不是短時(shí)間可以完成的。對于報表也只能明確基本報表要求及數據項。一般這種情況使用原型法進(jìn)行,先做一個(gè)簡(jiǎn)單的,在簡(jiǎn)單的上面再進(jìn)行完善。對于用戶(hù)本身需求不明情況下的調研要做每日(或2到3天,多3天為間隔)的工作(分析進(jìn)展)記錄,由雙方簽字,因為調研過(guò)程會(huì )出現為用戶(hù)要求添加一支新業(yè)務(wù),對新業(yè)務(wù)進(jìn)行分析后,因某些原因發(fā)現不能添加。這個(gè)過(guò)程的結果是一個(gè)0,但為證明是0這結果可能花了很長(cháng)的時(shí)間。要記錄這個(gè)過(guò)程,說(shuō)明調研過(guò)程中做了什么事情,有時(shí)有些人可能會(huì )說(shuō)為什么這么長(cháng)時(shí)間才出這點(diǎn)點(diǎn)東西,到時(shí)以便說(shuō)明原因。


6 需求分析的方法

  1.  
  2. 繪制系統關(guān)聯(lián)圖,這種關(guān)聯(lián)圖是用于定義系統與系統外部實(shí)體間的界限和接口的簡(jiǎn)單模型。同時(shí)它也明確了通過(guò)接口的信息流和物質(zhì)流。
  3. 創(chuàng )建用戶(hù)界面原型,當開(kāi)發(fā)人員或用戶(hù)不能確定需求時(shí),開(kāi)發(fā)一個(gè)用戶(hù)界面原型——一個(gè)可能的局部實(shí)現,這樣使得許多概念和可能發(fā)生的事更為直觀(guān)明了。用戶(hù)通過(guò)評價(jià)原型將使項目參與者能更好地相互理解所要解決的問(wèn)題。
  4. 分析需求可行性,在允許的成本、性能要求下,分析每項需求實(shí)施的可行性,明確與每項需求實(shí)現相聯(lián)系的風(fēng)險,包括與其它需求的沖突,對外界因素的依賴(lài)和技術(shù)障礙。
  5. 確定需求的優(yōu)先級別,應用分析方法來(lái)確定使用實(shí)例、產(chǎn)品特性或單項需求實(shí)現的優(yōu)先級別。以?xún)?yōu)先級為基礎確定產(chǎn)品版本將包括哪些特性或哪類(lèi)需求。當允許需求變更時(shí),在特定的版本中加入每一項變更,并在那個(gè)版本計劃中作出需要的變更。
  6. 為需求建立模型,需求的圖形分析模型是軟件需求規格說(shuō)明極好的補充說(shuō)明。它們能提供不同的信息與關(guān)系以有助于找到不正確的、不一致的、遺漏的和冗余的需求。這樣的模型包括數據流圖、實(shí)體關(guān)系圖、狀態(tài)變換圖、對話(huà)框圖、對象類(lèi)及交互作用圖。
  7. 依據分析階段確定合適的客戶(hù)方配合人員。
  8.  多方位描述同一需求
      有一些需求貫穿了從基層人員到高層領(lǐng)導,對此需求應該從各個(gè)角度、各個(gè)方位給以描述,總結之后才能得到完整的表達,否則可能會(huì )漏掉一些信息。這也為后續的設計工作打好基礎。比如,在設備管理類(lèi)軟件中,有一個(gè)概念叫"缺陷",指由于材料老化或外力作用,使得設備處于不正常的運行狀態(tài),但還沒(méi)有到立刻就釀成"事故"的程度,但如不及時(shí)檢修,就可能出事。對于設備缺陷業(yè)務(wù),就涉及到從班組人員到領(lǐng)導,上上下下對此都非常關(guān)心,但各層次的人關(guān)心的側重點(diǎn)卻不盡相同:領(lǐng)導關(guān)心"消缺率"(即缺陷消除率)、"消缺及時(shí)率";專(zhuān)業(yè)人員關(guān)心缺陷類(lèi)型和處理方法;班組人員關(guān)心消缺工作的人員安排及時(shí)間地點(diǎn)。缺陷的業(yè)務(wù)處理流程依賴(lài)于"設備缺陷單"(用于記錄缺陷及消除情況),如果僅僅局限于從由基層得到的設備缺陷單上的數據結構(設備名稱(chēng)、缺陷發(fā)現人、發(fā)現時(shí)間、二級單位確認時(shí)間、缺陷性質(zhì)、安排消缺時(shí)間、消缺人員、消除日期、處理方法),無(wú)法滿(mǎn)足專(zhuān)業(yè)人員的分析要求:對設備的缺陷情況按類(lèi)型、零部件、型號、生產(chǎn)廠(chǎng)家等分類(lèi)統計,為設備采購時(shí)作為選型參考、調整設備及其零部件的檢修周期以減少缺陷發(fā)生的頻率等,因此需要在原來(lái)的設備缺陷單上增加一些相關(guān)信息。
  1. 清晰化每一數據項
由于需求將作為設計的基礎,弄清所有的數據項的來(lái)龍去脈對于設計是必不可少的。不能有模糊不清的地方,同時(shí)通過(guò)對數據項來(lái)源的分析,可以讓分析人員更清楚的看到數據的流動(dòng)情況,也會(huì )發(fā)現一些新的需求點(diǎn)。
  1. 充分挖掘潛在需求
由于分析人員對軟件技術(shù)非常熟悉,一些由于技術(shù)所帶來(lái)的潛在需求對于客戶(hù)來(lái)說(shuō),一般很難被發(fā)現。不實(shí)現這些需求,對整個(gè)系統也沒(méi)什么實(shí)質(zhì)性的影響;實(shí)現這些需求,則會(huì )錦上添花。
對這些潛在需求,會(huì )有兩種處理方式:告訴客戶(hù),客戶(hù)會(huì )得到啟發(fā),可能進(jìn)一步提出新的需求,會(huì )有一些更大膽的想法,從而擴大了需求范圍,增加了工作量,甚至會(huì )影響到工期;不告訴客戶(hù),等客戶(hù)想到了再說(shuō)。
這些需求如果對于產(chǎn)品軟件,可能會(huì )是一個(gè)賣(mài)點(diǎn),要盡可能的去挖掘。但對項目軟件,考慮各種風(fēng)險,有時(shí)候可能會(huì )回避,或對客戶(hù)隱瞞。

  1. 積累領(lǐng)域知識
領(lǐng)域知識對于分析人員很重要,這些知識的廣度和深度影響分析結果的準確性和分析進(jìn)度。分析人員應該通過(guò)各種途徑去獲取這些,不斷積累,并進(jìn)行比較和總結。
  1. 抱著(zhù)學(xué)習與指導并存的態(tài)度
面對一個(gè)新的客戶(hù)時(shí),分析人員首先必須抱著(zhù)謙遜的學(xué)習的態(tài)度,把這看成是豐富領(lǐng)域知識的機會(huì )。但并非客戶(hù)單位的任何層次的人都有值得學(xué)習的東西,隨著(zhù)分析人員接觸的領(lǐng)域客戶(hù)不斷增多,分析人員對該領(lǐng)域的理解也會(huì )越來(lái)越深,逐漸會(huì )成長(cháng)為領(lǐng)域專(zhuān)家,會(huì )有很多地方超過(guò)客戶(hù)對領(lǐng)域的理解,此時(shí),要以自己的深入理解去指導客戶(hù),說(shuō)服客戶(hù),甚至糾正客戶(hù)的一些錯誤的認識,得到客戶(hù)的信任與尊敬,這對迅速順利的完成需求分析會(huì )很有幫助。

7 完成需求確認



        對于需求終的確認需求先由系統開(kāi)發(fā)人員對編寫(xiě)的文檔進(jìn)行內部審核及修訂,然后交由用戶(hù)業(yè)務(wù)人員進(jìn)行確認,明確系統開(kāi)發(fā)人員已經(jīng)了解業(yè)務(wù)需求,并進(jìn)行簽字確認。


8 誤區

       
       在進(jìn)行需求分析的時(shí)候,容易陷入一些誤區,導致分析結果不理想。

8.1 分析結果越復雜越好

      這是技術(shù)型分析人員經(jīng)常碰到的情況,認為分析出錯綜復雜的關(guān)系,花哨的圖表才能顯示出分析水平高。其實(shí),分析經(jīng)常要經(jīng)歷"簡(jiǎn)單-復雜-簡(jiǎn)單"的過(guò)程,前一個(gè)簡(jiǎn)單表現為分析人員"認為簡(jiǎn)單";隨著(zhù)分析的深入,原以為簡(jiǎn)單的問(wèn)題會(huì )越來(lái)越復雜;后,經(jīng)過(guò)概括、消化、分解,使得需求簡(jiǎn)單明了。

8.2 必須一次到位

      由于項目工期緊,或者客戶(hù)單位地理位置偏遠,不想反復去現場(chǎng),希望通過(guò)一次需求分析就能得到完整的、不再改變的結果。有這種情況時(shí),表現為分析人員對客戶(hù)方配合人員窮追猛問(wèn),或堅持要求配合人員做出保證,承諾需求范圍不再擴大等等。結果往往是雙方關(guān)系緊張,配合人員怕?lián)熑?,提出過(guò)多的靈活的、可配置的一些要求,無(wú)端增加了后續設計和編碼的工作量。一次到位的想法是不現實(shí)的,隨著(zhù)開(kāi)發(fā)工作的進(jìn)行,用戶(hù)經(jīng)常會(huì )提出以前沒(méi)想到的需求,或者更改已有的需求。需求必然有一個(gè)迭代的過(guò)程,變是不可避免的,關(guān)鍵是對于變化的控制,比如通過(guò)正規而繁復的流程提高需求變化時(shí)客戶(hù)付出的代價(jià):告知客戶(hù)如此變化將會(huì )使工期延長(cháng),或需要追加資金等等,盡管對于"軟件屬于買(mǎi)方市場(chǎng)"的現狀來(lái)說(shuō),開(kāi)發(fā)方往往叫不起這個(gè)板,但這樣的控制還是有一定的效果的。

8.3 客戶(hù)的需求必須全部滿(mǎn)足

      陷入這一誤區的分析人員,往往自己的領(lǐng)域知識欠缺,對客戶(hù)的需求是否合理,缺乏分辨能力,只能由客戶(hù)牽著(zhù)走,這樣會(huì )帶來(lái)很大的風(fēng)險:造成需求冗余,項目返工,更有對需求變化失去控制的危險,隨著(zhù)項目的開(kāi)展,整個(gè)軟件開(kāi)發(fā)團隊會(huì )越來(lái)越痛苦。所以必須加深自己的領(lǐng)域知識,變被動(dòng)接受為主動(dòng)引導,進(jìn)而拒絕客戶(hù)的不合理需求。

    【北京華盛恒輝科技有限公司 ——(hivekion)是一家軟件定制開(kāi)發(fā)公司,專(zhuān)注IT產(chǎn)品研發(fā)與服務(wù),堅持穩健經(jīng)營(yíng)、持續創(chuàng )新、開(kāi)放合作,在安全生產(chǎn)、大數據處理等領(lǐng)域構筑了端到端的解決方案優(yōu)勢,為企業(yè)客戶(hù)提供有競爭力的IT解決方案、 產(chǎn)品和服務(wù)。
tag標簽:
------分隔線(xiàn)----------------------------
------分隔線(xiàn)----------------------------
QQ客服熱線(xiàn)