第7章 需求分析
????????需求分析,就是要對需求調(diào)研收集到的資料、信息逐個地進(jìn)行拆分夺饲、研究,從大量的不確定“需求”中確定出哪些需求最終要轉(zhuǎn)換為確定的“功能需求”施符。需求分析的作用非常重要往声,后續(xù)設(shè)計的依據(jù)主要來自于需求分析的成果,包括:項目的目的戳吝、范圍浩销、深度等,同時分析的成果構(gòu)成了需求工程主要交付物需求規(guī)格說明書中的核心內(nèi)容骨坑。
7.1 基本概念
7.1.1 定義與作用
????????1.定義
????????需求分析撼嗓,是對收集到的需求進(jìn)行細(xì)致的分析、研判欢唾,準(zhǔn)確地理解客戶的目標(biāo)且警、業(yè)務(wù)等對信息化的需求,最終將這些需求轉(zhuǎn)換為準(zhǔn)確的功能需求定義礁遣。需求分析就是確定系統(tǒng)必須要做什么的過程斑芜。
????????2.作用
? ? ? ?需求分析的結(jié)果要確定目標(biāo)系統(tǒng)的完整、準(zhǔn)確祟霍、清晰和具體的要求杏头,包括:系統(tǒng)覆蓋的業(yè)務(wù)范圍盈包、功能需求、設(shè)計原則等醇王。需求分析階段是分析系統(tǒng)在功能上需要“實現(xiàn)什么”呢燥,而不考慮如何去“實現(xiàn)”。需求分析完成后寓娩,給出需求規(guī)格說明書叛氨,這個資料的用途有兩個:回答客戶的需求、作為后續(xù)設(shè)計的輸入棘伴。
????????(1)對客戶:確定了系統(tǒng)需要開發(fā)/交付的全部內(nèi)容寞埠,是雙方簽訂/驗收合同的依據(jù)。
????????(2)對設(shè)計:是規(guī)劃系統(tǒng)范圍焊夸、目標(biāo)仁连、原則等的依據(jù),是具體設(shè)計的指導(dǎo)阱穗。
7.1.2 內(nèi)容與能力
????????1.作業(yè)內(nèi)容
????????需求分析的主要作業(yè)內(nèi)容是將需求的內(nèi)容經(jīng)過歸集饭冬、過濾、轉(zhuǎn)換颇象、確認(rèn)等一系列的步驟伍伤,最終形成需求規(guī)格說明書,這個說明書的主要內(nèi)容之一就是功能需求一覽遣钳。
????????以調(diào)研的成果為基礎(chǔ)扰魂,通過進(jìn)一步的分析,對需求從高到低進(jìn)行分層蕴茴,分析工作包括:
????????● 分層:將收集到的需求歸集為目標(biāo)需求劝评、業(yè)務(wù)層需求和功能層需求。
????????● 轉(zhuǎn)換:將分層后的需求倦淀,按照目標(biāo)需求→業(yè)務(wù)需求→功能需求順序進(jìn)行轉(zhuǎn)換蒋畜。
????????● 功能:通過一系列的分析、轉(zhuǎn)換撞叽,最終獲得功能需求姻成。在分析轉(zhuǎn)換的過程中,清晰客戶的目的愿棋、目標(biāo)科展、價值、期望等糠雨,從而確定未來系統(tǒng)的設(shè)計理念才睹、設(shè)計主線、原則等。
????????2.能力要求
????????除去要掌握與需求調(diào)研者相同的知識和方法外琅攘,需求分析者還需要具有以下的基本能力(不限于此)垮庐。
????????1)建模與分析能力
????????由于要在分析階段解決所有尚未清晰的客戶需求,特別是客戶提出的需求當(dāng)中包括:目標(biāo)需求坞琴、難點和痛點等類型的需求哨查,它們比較抽象,必須要通過建模置济、分析的手段才能精準(zhǔn)地搞清楚客戶的需求是什么解恰,然后在此基礎(chǔ)上給出讓客戶滿意的功能需求。
????????2)專業(yè)業(yè)務(wù)知識需求分類中的第二個層次是業(yè)務(wù)需求浙于,這個需求不是簡單地用功能名稱來說明的,而是用比較專業(yè)的提法來說明業(yè)務(wù)場景挟纱,例如羞酗,需要成本的精細(xì)管理、需要業(yè)務(wù)財務(wù)一體化的處理等紊服,只有掌握了比較專業(yè)的業(yè)務(wù)基礎(chǔ)知識才能給出解決方案檀轨。
????????3)設(shè)計與實現(xiàn)的知識需求分析工作中,常常需要做出一些原型向客戶進(jìn)行說明欺嗤,這就需要需求分析師具有一定的設(shè)計能力和技術(shù)實現(xiàn)的基礎(chǔ)知識参萄。
7.1.3 思路與理解
????????在獲得了大量的需求之后,下一步要考慮的是:如何梳理需求煎饼。面對大量的需求資料讹挎,作為需求分析師要理解如下一些基本要點。
????????1.理解:客戶是說不清需求的
????????永遠(yuǎn)不要抱怨吆玖,客戶說不清楚他想要什么筒溃、說不清楚業(yè)務(wù)邏輯等,因為客戶中如有某個人可以說得很清楚時沾乘,這個企業(yè)的規(guī)模往往比較小怜奖,而說不清的客戶通常企業(yè)規(guī)模比較大、業(yè)務(wù)復(fù)雜翅阵、分工細(xì)歪玲,所以常常會碰到客戶存在著“上下之間說不清”“橫向之間說不清”的現(xiàn)象,這是正常的掷匠。正是因為他們不能用符合信息化標(biāo)準(zhǔn)的方式說清楚滥崩,才需要懂得信息化標(biāo)準(zhǔn)的需求分析師來幫助梳理,所以槐雾,當(dāng)需求分析師介入之后還梳理不清楚夭委,這就不是客戶的問題了。
????????2.識別:真假需求
????????識別出獲得需求背后的真實需求,是需求分析工作的重點之一株灸,需求雖然是按照部門采集的崇摄,但是每個需求的提供者很大程度是站在自己的崗位上提出的,這些需求在“人-人”環(huán)境中是合理的慌烧,但是在“人-機(jī)-人”環(huán)境中是否還是合理的逐抑,就需要需求分析師要能夠進(jìn)行識別、判斷屹蚊,是否具有這個能力主要依據(jù)的還是需求分析師本人具有多少“行業(yè)知識”和“設(shè)計知識”厕氨,前者從業(yè)務(wù)視角判斷,后者從信息化的視角判斷汹粤,如果這兩個方面的知識都比較弱命斧,就難以判斷出需求是否是真實的需求(這就是需求分析師被看作“傳聲筒”的原因)。
????????3.需求分析工作的場所
????????因為對收集到的原始資料進(jìn)行分析時會發(fā)現(xiàn)很多不清楚的內(nèi)容嘱兼,例如国葬,流程構(gòu)成圖的缺失部分、訪談內(nèi)容的真實意圖芹壕、既存表單的計算邏輯等汇四,需求分析師不清楚的內(nèi)容可能用戶一句話就可以解答,這樣的內(nèi)容不屬于分析的對象踢涌,大量類似的問題如果在現(xiàn)場與用戶直接確認(rèn)通孽,分析工作的效率將會提升很多。這里再次強(qiáng)調(diào):盡量將需求資料中只有詢問用戶才能搞清楚的內(nèi)容在客戶現(xiàn)場搞清楚睁壁。
7.2 需求的分析
7.2.1 需求的分層
????????1.需求的分層
????????對獲取的需求按照獲取它們的順序以及需求之間內(nèi)在的關(guān)聯(lián)關(guān)系分為三個層次背苦,即:目標(biāo)需求、業(yè)務(wù)需求以及功能需求堡僻。
????????1)第一層:目標(biāo)需求
????????(1)提出者:通常是由項目投資人糠惫、產(chǎn)品購買者、實際用戶的管理者钉疫、信息中心負(fù)責(zé)人等硼讽,他們是對系統(tǒng)提出目標(biāo)性需求的人,也被稱為“客戶”牲阁。
????????(2)需求內(nèi)容:說明企業(yè)為什么要開發(fā)系統(tǒng)固阁,希望做成什么樣的系統(tǒng),信息化目標(biāo)是什么城菊,通常采用戰(zhàn)略备燃、理念、希望凌唬、價值等的形式表達(dá)并齐。
????????(3)需求作用:用于指導(dǎo)系統(tǒng)的頂層設(shè)計,對業(yè)務(wù)需求轉(zhuǎn)換的指導(dǎo)等。
????????2)第二層:業(yè)務(wù)需求
????????(1)提出者:包括目標(biāo)需求的提出者况褪、企業(yè)的高層管理者撕贞、各個部門的管理者以及普通員工,他們從業(yè)務(wù)層面提出需求测垛,也被稱為“用戶”捏膨。
????????(2)需求內(nèi)容:從客戶實際的工作出發(fā)說明希望系統(tǒng)可以應(yīng)對哪些業(yè)務(wù)、如何對應(yīng)食侮,通常采用業(yè)務(wù)術(shù)語(場景)來描述業(yè)務(wù)的內(nèi)容号涯、過程、規(guī)則等锯七。它的來源有2個:
????????①從目標(biāo)需求轉(zhuǎn)換而來链快;
????????②由提出者根據(jù)工作需要直接提出。
????????(3)需求作用:用于進(jìn)行業(yè)務(wù)架構(gòu)起胰、功能規(guī)劃久又、業(yè)務(wù)優(yōu)化等。
????????3)第三層:功能需求
????????(1)提出者:所有的目標(biāo)需求和業(yè)務(wù)需求的提出者效五、系統(tǒng)的直接用戶。
????????(2)需求內(nèi)容:給出系統(tǒng)必須提供的業(yè)務(wù)處理功能炉峰,以及對該功能的具體描述畏妖。它的來源有2個:
????????①由業(yè)務(wù)需求轉(zhuǎn)換而來;
????????②由用戶根據(jù)工作需要直接提出疼阔。
????????(3)需求作用:它是后續(xù)設(shè)計工程輸入依據(jù)戒劫,也是需求工程的主要成果之一。
????????2.三層需求的轉(zhuǎn)換
????????可以從上面的定義中看出這三類需求之間是有層次關(guān)系的婆廊,即:目標(biāo)需求高于業(yè)務(wù)需求迅细、業(yè)務(wù)需求高于功能需求。反過來看也容易理解:功能是為了支持業(yè)務(wù)淘邻,業(yè)務(wù)是為了落實目標(biāo)茵典。它們來自于不同層次的提供者,且各自側(cè)重點不同宾舅。
????????(1)目標(biāo)需求:提出了系統(tǒng)的構(gòu)建方向统阿、目標(biāo),比較抽象筹我,需要轉(zhuǎn)換為對應(yīng)的業(yè)務(wù)需求扶平。
????????(2)業(yè)務(wù)需求;提出了系統(tǒng)要支持的業(yè)務(wù)內(nèi)容蔬蕊,是從業(yè)務(wù)上相互理解的基礎(chǔ)结澄。
????????(3)功能需求:提出了系統(tǒng)要實現(xiàn)的功能內(nèi)容,是從功能上相互理解的基礎(chǔ)。目標(biāo)需求和業(yè)務(wù)需求要想落實到系統(tǒng)中并影響系統(tǒng)的設(shè)計麻献,必須采用以下兩種方式们妥。
????????方式一:作為設(shè)計的理念,指導(dǎo)系統(tǒng)的規(guī)劃和架構(gòu)形式赎瑰。
????????方式二:轉(zhuǎn)換為具體的功能需求王悍,可以是業(yè)務(wù)功能或是管控功能的形式。
????????①目標(biāo)需求:提出了“管理智能化”的目標(biāo)餐曼,但是不清楚具體的業(yè)務(wù)如何處理压储。
????????②業(yè)務(wù)需求:說明了符合目標(biāo)需求的業(yè)務(wù)處理方式,是客戶希望獲得的效果源譬。
????????③功能需求:對應(yīng)業(yè)務(wù)需求給出功能需求集惋,實現(xiàn)這個功能需求就可以滿足業(yè)務(wù)需求。
????????3.三層需求的區(qū)別
????????1)目標(biāo)需求與業(yè)務(wù)需求
????????(1)目標(biāo)需求:從高的層次給出了實現(xiàn)管理信息化的希望踩娘,方向性強(qiáng)刮刑,但需要解讀、轉(zhuǎn)換养渴。
????????(2)業(yè)務(wù)需求:直接提出了采用信息化手段后可以處理哪些業(yè)務(wù)雷绢。
????????2)業(yè)務(wù)需求與功能需求
????????(1)需求提供者在說不清楚具體的功能時采用“業(yè)務(wù)需求”的方式說明。
????????(2)如果清楚地知道要什么功能,則直接采用“功能需求”的方式說明。
????????注:隱性與顯性
????????相對于直接說明功能的功能需求询张,目標(biāo)需求和業(yè)務(wù)需求是“隱性的功能需求”澎怒,從這兩個需求中是否能夠正確地解讀出功能需求,是非常考驗需求分析師的能力的。
7.2.2 需求的轉(zhuǎn)換
????????1.分層的處理
????????需求調(diào)研記錄的三種形式(圖、文踪宠、表)與需求的分層有如下的對應(yīng)關(guān)系,按照它們之間的關(guān)系妈嘹,可以將收集到的原始需求拆分為上述三層需求柳琢。
????????①訪談記錄(文字):內(nèi)容最為復(fù)雜,它同時包含三個層次的需求蟋滴。
????????②現(xiàn)狀構(gòu)成(圖形):可以表達(dá)業(yè)務(wù)需求染厅、功能需求,但無法表達(dá)目標(biāo)需求津函。
????????③既存表單(表格):直接表達(dá)的是功能需求肖粮,可能有業(yè)務(wù)需求,但沒有目標(biāo)需求尔苦。
????????2.轉(zhuǎn)換的處理
????????將原始需求拆分為三層需求(目標(biāo)涩馆、業(yè)務(wù)和功能)后行施,下面要對不同層的需求采用不同的方法進(jìn)行分層之間的轉(zhuǎn)換:目標(biāo)需求→業(yè)務(wù)需求,業(yè)務(wù)需求→功能需求魂那。
????????1)目標(biāo)需求的轉(zhuǎn)換對目標(biāo)需求的內(nèi)容進(jìn)行深入的理解蛾号、分析,并將目標(biāo)需求的內(nèi)容與企業(yè)的實際業(yè)務(wù)場景進(jìn)行關(guān)聯(lián)涯雅,從而找出可以支持目標(biāo)需求落地的業(yè)務(wù)活動鲜结,解讀目標(biāo)需求帶來了:
????????● 對目標(biāo)需求的理解,這是指導(dǎo)后續(xù)的業(yè)務(wù)優(yōu)化活逆、系統(tǒng)規(guī)劃的指針精刷。
????????● 確定了目標(biāo)需求轉(zhuǎn)換的業(yè)務(wù)需求。
????????2)業(yè)務(wù)需求的轉(zhuǎn)換業(yè)務(wù)需求有兩個來源:一是從訪談記錄等直接獲得蔗候,二是從目標(biāo)需求轉(zhuǎn)換而來怒允。但不論哪一種來源,其向功能需求的轉(zhuǎn)換方式是一樣的锈遥。
????????● 清晰地描述業(yè)務(wù)需求纫事,可以用圖形、文字等所灸。
????????● 從描述的業(yè)務(wù)需求中識別出功能需求丽惶。
????????3)功能需求的確認(rèn)
????????功能需求有兩個來源:一是從訪談、表單直接獲得爬立,二是從業(yè)務(wù)需求轉(zhuǎn)換而來蚊夫。不論是哪一種來源,都要對功能需求進(jìn)行確認(rèn)懦尝。
????????● 對比各類調(diào)研資料,并與客戶反復(fù)溝通壤圃,最終確定所有的需求都是真實的功能需求陵霉。
????????● 將功能需求匯總,形成功能需求一覽伍绳。
????????3.轉(zhuǎn)換的判斷
????????在轉(zhuǎn)換過程中踊挠,并非所有收到的需求都可以進(jìn)行轉(zhuǎn)換,以下的情節(jié)就不適合轉(zhuǎn)換冲杀。
????????1)目標(biāo)需求
????????有些客戶提出的高層次需求根據(jù)客觀的原因不能轉(zhuǎn)為目標(biāo)需求效床,只能作為一個后續(xù)設(shè)計的指導(dǎo)思想、理念权谁,例如:
????????● 需求太過高大上剩檀,超前的需求造成技術(shù)難度大、成本過高旺芽、開發(fā)周期長沪猴;
????????● 客戶的整體素質(zhì)較低辐啄,導(dǎo)入高水平的管理系統(tǒng)后沒有匹配的高水平管理團(tuán)隊;等等运嗜。
????????2)業(yè)務(wù)需求
????????有些需求是客戶基于自己常年在“人-人”環(huán)境中積累的壶辜,但是這些需求不適合于“人-機(jī)-人”的處理方式,需要企業(yè)決策管理層進(jìn)行思想担租、意識方面的改變砸民,例如:
????????● 很多工作流程、工作崗位是“因人而設(shè)”的奋救,采用系統(tǒng)管理后就不需要了岭参;
????????● 很多管理方式和規(guī)則在使用系統(tǒng)管理后,按照標(biāo)準(zhǔn)化流程運行就不需要了菠镇;等等冗荸。
????????3)功能需求
????????采用系統(tǒng)進(jìn)行工作處理后,原本大量由人工處理的工作就不存在了利耍,因此蚌本,客戶現(xiàn)實的做法與未來系統(tǒng)的功能也不是一一對應(yīng)的了,客戶所提的功能可能由其他功能替代隘梨,或與其他功能功能合并等程癌。
7.2.3 三種需求分析法
????????1.第一層:目標(biāo)需求的分析方法
????????做目標(biāo)需求的分析,需求分析師要能夠做到與企業(yè)決策者轴猎、高級管理層具有相同的視角嵌莉,要能夠理解他們的思考方式、戰(zhàn)略構(gòu)想捻脖、未來的期望等锐峭,沒有這樣的高度、相應(yīng)的背景知識可婶,就很難從他們提出的需求中找到可以落地的內(nèi)容沿癞,進(jìn)而找到對應(yīng)的功能需求。與功能需求相比較矛渴,目標(biāo)需求很多都是用抽象的方式描述的椎扬,如理念、目的具温、策略等蚕涤。
????????目標(biāo)需求是信息系統(tǒng)規(guī)劃中頂層設(shè)計的指導(dǎo),因此理解目標(biāo)需求铣猩,并能夠?qū)⒛繕?biāo)需求用圖形正確地表達(dá)出來揖铜,讓相關(guān)人員(客戶、業(yè)務(wù)剂习、技術(shù)等)對目標(biāo)需求達(dá)成一致的認(rèn)知蛮位,能夠做這樣的分析才是最高水平的需求分析師较沪。
????????2.第二層:業(yè)務(wù)需求的分析方法
????????做業(yè)務(wù)需求的分析,需求分析師要盡可能地掌握客戶的業(yè)務(wù)知識(或借助業(yè)務(wù)專家的幫助)失仁,同時還要非常熟練地掌握業(yè)務(wù)的表達(dá)方式尸曼,因為需求分析師有責(zé)任清晰地告訴后續(xù)的業(yè)務(wù)設(shè)計師:這個業(yè)務(wù)需求對應(yīng)的實際業(yè)務(wù)是什么、業(yè)務(wù)的構(gòu)成萄焦、業(yè)務(wù)的邏輯控轿。
????????業(yè)務(wù)需求的完美解析和表達(dá),通常都會給信息系統(tǒng)增加亮點和價值拂封,同時它也是需求分析中最能充分地顯示需求分析師專業(yè)能力的地方茬射。
????????3.第三層:功能需求的分析方法
????????對于功能需求的分析,需求分析師要掌握一定的業(yè)務(wù)設(shè)計能力冒签,這樣才能夠區(qū)分業(yè)務(wù)領(lǐng)域需要什么樣的“功能需求”在抛,每個“功能需求”的內(nèi)容、功能萧恕、規(guī)則刚梭,這個功能需求對應(yīng)的實際業(yè)務(wù)處理活動是什么,等等票唆。
7.3 需求分析1——現(xiàn)狀構(gòu)成圖
7.3.1 資料梳理
????????現(xiàn)狀構(gòu)成圖主要提供了業(yè)務(wù)需求和功能需求朴读,由于現(xiàn)狀構(gòu)成圖可能來源于客戶或是需求分析師在調(diào)研現(xiàn)場的隨手記錄,圖中的內(nèi)容和表達(dá)可能不規(guī)范走趋,因此要對現(xiàn)狀構(gòu)成圖進(jìn)行梳理衅金,梳理主要是基于業(yè)務(wù)知識、業(yè)務(wù)經(jīng)驗簿煌,采用邏輯的氮唯、系統(tǒng)的手法進(jìn)行。
????????節(jié)點1:
????????有活動描述姨伟、有對應(yīng)實體(申請單)您觉,僅按照規(guī)定調(diào)整了名稱(名詞+動詞)。
????????節(jié)點2:
????????①上沒有實體授滓,未來的系統(tǒng)不對應(yīng),因此去除“供貨商溝通”節(jié)點肆糕。
????????節(jié)點3:
????????①上只有實體“合同書”般堆,因此在②上增加了對應(yīng)的活動“合同簽訂”。
????????節(jié)點4:
????????①上沒有實體诚啃,經(jīng)過確認(rèn)淮摔,增加了對應(yīng)的實體“驗收單”。同時始赎,參考①的現(xiàn)狀圖和橙,②采用了標(biāo)準(zhǔn)的流程圖畫法重新進(jìn)行繪制仔燕,②去掉了無效的步驟同時補(bǔ)全了作為流程的缺失內(nèi)容。
????????梳理后的流程圖是按照信息化實現(xiàn)方式對現(xiàn)狀構(gòu)成圖優(yōu)化的結(jié)果魔招,因此晰搀,業(yè)務(wù)流程圖的流轉(zhuǎn)必須要符合流程標(biāo)準(zhǔn),即有“實體”就必須有產(chǎn)生它的活動办斑,“實體”是該活動處理的結(jié)果外恕。以下兩種情況都是無效的要去掉:有實體無活動,有活動無實體乡翅。最終流程上留下來的只能是:既有活動又有對應(yīng)的實體鳞疲。
7.3.2 分析與轉(zhuǎn)換
????????1.分析與轉(zhuǎn)換
????????由于圖形表達(dá)的特殊性,例如蠕蚜,流程是由節(jié)點構(gòu)成的尚洽,節(jié)點對應(yīng)的是功能,因此對現(xiàn)狀構(gòu)成的流程圖進(jìn)行梳理后靶累,可以同時獲得業(yè)務(wù)邏輯(流程)和功能需求(節(jié)點)腺毫。功能需求包括以下兩個方面。
????????(1)輸入功能:帶有數(shù)據(jù)輸入界面的功能尺铣。
????????(2)打印功能:可以打印輸出表單的功能拴曲。通過對現(xiàn)狀構(gòu)成圖的梳理,獲得了業(yè)務(wù)架構(gòu)的設(shè)計參考資料凛忿,以及要素之間的業(yè)務(wù)邏輯關(guān)系澈灼,這兩者對后續(xù)的設(shè)計工程都具有非常重要的價值。
????????2.轉(zhuǎn)換結(jié)果記錄
????????將梳理店溢、轉(zhuǎn)換的結(jié)果最終形成以下兩個資料叁熔。
????????(1)現(xiàn)狀構(gòu)成圖一覽。
????????(2)功能需求規(guī)格書(也稱為需求4件套)床牧。這兩個資料之間的關(guān)系是:記載在功能需求一覽中的所有功能荣回,都必須要編制對應(yīng)的功能需求規(guī)格書。至此戈咳,就完成了對需求現(xiàn)狀構(gòu)成圖的分析和處理心软。
7.4 需求分析2——訪談記錄
7.4.1 資料梳理
????????需求主要來源于訪談記錄(包括問卷),這類需求是以文字形式記錄的著蛙,需求分析的主要工作量也是集中在訪談記錄删铃。
????????1.分層需求
? ? ? ?包含的3個需求層內(nèi)容在前面已經(jīng)介紹過:目標(biāo)需求、業(yè)務(wù)需求和功能需求踏堡,在下節(jié)中分別對這三層的需求進(jìn)行詳細(xì)說明猎唁。
????????2.待定需求
????????后兩類收集到的需求由于表面上沒有前述分層需求的特征,無法直接歸類到分層需求中去顷蟆,所以暫時歸集到“待定需求”分類中诫隅,又因為待定需求中內(nèi)容不同腐魂,再將待定需求分為以下兩個不同的類型。
????????(1)類型1:難點逐纬、痛點等類型的內(nèi)容蛔屹。
????????(2)類型2:不滿、抱怨风题、吐槽等類型的內(nèi)容判导。
7.4.2 分析與轉(zhuǎn)換1——目標(biāo)需求
????????1.目標(biāo)需求的理解
????????目標(biāo)需求不能直接給出對應(yīng)的功能需求,因為目標(biāo)需求是用目標(biāo)沛硅、理念眼刃、思想、價值等抽象化的形式表達(dá)的摇肌,因此針對目標(biāo)需求必須首先找到其對應(yīng)的業(yè)務(wù)場景擂红,也就是要先將目標(biāo)需求轉(zhuǎn)換到業(yè)務(wù)需求上,然后再提供對業(yè)務(wù)需求的理解围小,最后去尋找對應(yīng)的功能需求昵骤。
????????2.目標(biāo)需求的分析
????????1)目標(biāo)需求的內(nèi)容
????????目標(biāo)需求大多來自于企業(yè)的高層,目標(biāo)需求反映了企業(yè)的投資信息系統(tǒng)的目的肯适、設(shè)想变秦,本案例的企業(yè)高層提出的理念(目標(biāo)需求)。從目標(biāo)需求的內(nèi)容上不能直接看出它對應(yīng)著什么業(yè)務(wù)需求框舔,更看不出需要采用什么功能做支持蹦玫,對比業(yè)務(wù)需求和功能需求,會感受到目標(biāo)需求的表達(dá)方式比較抽象刘绣。
????????2)目標(biāo)需求的解讀
????????通過與企業(yè)領(lǐng)導(dǎo)的溝通樱溉,并詳細(xì)了解企業(yè)下一步的發(fā)展戰(zhàn)略。
????????3)用示意圖表達(dá)結(jié)果
????????在理解了上述目標(biāo)需求后纬凤,需求分析師要將自己對目標(biāo)需求的理解福贞、分析成果表達(dá)出來,因為理解的正確與否是需要與客戶進(jìn)行溝通停士、確認(rèn)的挖帘,其最好的方式就是用圖形表達(dá)。
????????示意圖是對不清晰恋技、抽象的對象肠套,采用簡單、形象的圖形表達(dá)出其大體的輪廓猖任、意思,示意圖不特別強(qiáng)調(diào)邏輯的準(zhǔn)確性
????????3.目標(biāo)需求→業(yè)務(wù)需求的轉(zhuǎn)換
? ? ? ? 理解了目標(biāo)需求的含義瓷耙,下面尋找支持這些含義的業(yè)務(wù)場景朱躺,這些場景可以用來表達(dá)業(yè)務(wù)需求刁赖,它們可以支持目標(biāo)需求的落地。
7.4.3 分析與轉(zhuǎn)換2——業(yè)務(wù)需求
????????1.業(yè)務(wù)需求的理解
????????在調(diào)研時會發(fā)現(xiàn)客戶熟悉自己的業(yè)務(wù)长搀,但是并不清楚自己的需求對應(yīng)的是什么樣的軟件功能宇弛,所以他們通常采用描述業(yè)務(wù)處理過程的形式說明自己想要完成什么任務(wù),然后再通過與需求分析師的溝通源请、分析枪芒,最后轉(zhuǎn)換成為功能需求。
????????業(yè)務(wù)需求的表達(dá)谁尸,必須是用客戶用語表達(dá)舅踪,業(yè)務(wù)需求不能是理念、概念層面的內(nèi)容良蛮,業(yè)務(wù)需求的內(nèi)容必須要能夠用具體的業(yè)務(wù)場景來描述或是用圖形來表達(dá)抽碌。業(yè)務(wù)需求,是客戶導(dǎo)入信息系統(tǒng)要解決的具體任務(wù)决瞳,業(yè)務(wù)需求是驗證系統(tǒng)設(shè)計與開發(fā)成果的標(biāo)準(zhǔn)货徙,客戶驗收的不是功能模塊的多少,而是業(yè)務(wù)的需求是否被滿足皮胡。業(yè)務(wù)需求的表達(dá)方式很多痴颊,根據(jù)需求分析師的知識背景不同,感受也就不同屡贺。
????????2.業(yè)務(wù)需求的分析
????????業(yè)務(wù)需求有兩個來源蠢棱,一是直接由客戶提出來的,二是從目標(biāo)需求轉(zhuǎn)換而來的烹笔。不論是從哪個來源收集到的業(yè)務(wù)需求裳扯,在業(yè)務(wù)需求的分析階段,都必須給出清晰的業(yè)務(wù)處理描述谤职,說明這個業(yè)務(wù):
????????● 業(yè)務(wù)需求是什么內(nèi)容饰豺、要解決什么業(yè)務(wù)。
????????● 采用什么方式或是流程允蜈,流程上有哪些節(jié)點冤吨。
????????● 業(yè)務(wù)處理要遵循哪些管理規(guī)則。
????????3.業(yè)務(wù)需求→功能需求的轉(zhuǎn)換
????????經(jīng)過分析饶套,得到了文字漩蟆、圖形或是表格的分析資料后,下一步就是從中識別需要什么功能妓蛮,將識別出的功能歸集后怠李,就獲得了“功能需求”。
7.4.4 分析與轉(zhuǎn)換3——功能需求
????????由于客戶不一定理解信息系統(tǒng)的設(shè)計與開發(fā)工作,因此要對由他們直接提出來的功能需求進(jìn)行甄別:是否是真實的需求捺癞?該需求的可行性夷蚊?提出的功能需求是否有重疊?在“人-人”環(huán)境中需要的功能在進(jìn)入到“人-機(jī)-人”環(huán)境中是否還需要髓介?等等惕鼓。
????????進(jìn)入了功能需求階段,就沒有轉(zhuǎn)換作業(yè)了唐础,需要的是對已經(jīng)收集到的功能需求進(jìn)行最終確認(rèn)箱歧,判斷其是否是真實的需求。按照功能的作用一膨,可以將功能需求再分為兩大類型:業(yè)務(wù)功能和系統(tǒng)功能呀邢。
????????1)業(yè)務(wù)功能
????????顧名思義,就是直接用來處理客戶業(yè)務(wù)的功能汞幢,如合同簽訂驼鹅、計劃編制、企業(yè)基礎(chǔ)數(shù)據(jù)維護(hù)等森篷,每個業(yè)務(wù)功能對應(yīng)著現(xiàn)實中客戶的某個具體的工作输钩。通常不加任何特殊說明時提到的功能指的就是“業(yè)務(wù)功能”,包括活動仲智、字典买乃、看板和表單4種形式
????????2)系統(tǒng)功能
????????業(yè)務(wù)功能通常是用界面形式表達(dá)的,還有一些功能它們不是直接用來處理某個具體的業(yè)務(wù)工作钓辆,而是只有使用信息系統(tǒng)才會出現(xiàn)的功能剪验,是間接地為業(yè)務(wù)功能提供支持的,例如:
????????● 如登錄前联、注冊功戚、權(quán)限、時限等都是系統(tǒng)功能似嗤,它們不是用來直接處理業(yè)務(wù)的啸臀,在“人-人”環(huán)境中也沒有對應(yīng)的工作,沒有信息系統(tǒng)的存在也就沒有這些需求了烁落。
????????● 另外乘粒,客戶需要業(yè)務(wù)流程可以實現(xiàn)自動推送信息,實現(xiàn)“事找人”的工作方式伤塌,這些屬于系統(tǒng)功能灯萍。
????????2.功能需求的確認(rèn)
????????最終要對收集到的功能需求進(jìn)行最后的確認(rèn),功能需求有兩個來源每聪,一是從業(yè)務(wù)需求轉(zhuǎn)換而來的旦棉,二是直接由客戶提出來的齿风。
????????1)來自業(yè)務(wù)需求轉(zhuǎn)換的功能需求由于已經(jīng)過業(yè)務(wù)需求階段的分析、轉(zhuǎn)換绑洛,不需要再進(jìn)行確認(rèn)聂宾,直接將確定的功能需求記入到功能需求一覽中。
????????2)來自客戶直接提出的功能需求這個部分由于是從需求調(diào)研中直接獲得的诊笤,還沒有經(jīng)過確認(rèn),功能需求分析階段的工作主要是指來自這個部分的內(nèi)容巾陕。
????????【方法1】用業(yè)務(wù)邏輯確認(rèn)讨跟。用業(yè)務(wù)構(gòu)成圖等,從業(yè)務(wù)邏輯上推演
????????【方法2】用業(yè)務(wù)數(shù)據(jù)確認(rèn)鄙煤。由于不是所有的功能都會出現(xiàn)在業(yè)務(wù)構(gòu)成圖上晾匠,還可以通過檢查從某個功能上輸入的數(shù)據(jù)是否被引用來判斷該功能是否需求,如果找不到使用的地方梯刚,就可以判斷該功能不需要凉馆。
7.4.5 分析與轉(zhuǎn)換4——待定需求
????????1.待定需求的理解
????????1)在對收集到的需求資料進(jìn)行分層時會發(fā)現(xiàn),存在著很多難以判斷是否是需求的說明亡资,從描述上看它們與標(biāo)準(zhǔn)的需求說明(目標(biāo)澜共、業(yè)務(wù)、功能)有很大的差異锥腻,它們的表達(dá)方式可以分為兩種類型嗦董。
? ? ? ?(1)類型1——難點痛點:正常說明現(xiàn)實工作中存在的難點、痛點瘦黑。
? ? ? ?(2)類型2——吐槽抱怨:采用吐槽京革、抱怨的方式講述工作中存在的問題。
7.5 需求分析3——既存表單
7.5.1 資料梳理
????????對既存表單的梳理主要是對中間的過渡表單進(jìn)行確認(rèn)幸斥,這一類的表單是手工作業(yè)環(huán)境下必須要做的匹摇,但是在信息系統(tǒng)中就不需要了。這部分的分析工作必須在現(xiàn)場調(diào)研時解決甲葬,因為它不是后期可以分析出來的廊勃,只能向客戶直接詢問才能得到,因此演顾,如果在客戶現(xiàn)場進(jìn)行了充分的調(diào)研供搀,將收集到的既存表單搞清楚,那么在分析階段就不需要再進(jìn)行梳理了钠至。
????????注:功能需求與實體(表單)的關(guān)系
????????(1)1個業(yè)務(wù)功能必須對應(yīng)1個實體葛虐。
????????(2)1個實體可能不止對應(yīng)1個功能,例如既存表單在做功能設(shè)計時棉钧,可能需要有兩個功能屿脐,即:活動功能→用于輸入數(shù)據(jù),表單功能→用于展示數(shù)據(jù)。
7.5.2 分析與轉(zhuǎn)換
????????1.分析與轉(zhuǎn)換梳理后的既存表單的诵,通過在調(diào)研現(xiàn)場的梳理和確認(rèn)万栅,基本上就可以確定它是真實的需求。每個表單都要對應(yīng)兩類功能西疤,即:輸入類功能烦粒、表單類功能。
????????● 輸入類功能:帶有數(shù)據(jù)輸入界面的功能代赁。
????????● 表單類功能:可以打印輸出表單的功能扰她。
????????2.轉(zhuǎn)換結(jié)果記錄
????????● 將識別出的功能需求名稱和概述記入功能需求一覽中。
????????● 編寫每個功能需求的功能需求規(guī)格書(需求4件套)
7.6 需求分析匯總
7.6.1 需求規(guī)格說明書
????????1.需求規(guī)格說明書
????????也有稱為“需求分析報告”的芭碍,但不論稱呼為何徒役,都是對需求工程所做的具體功能、事項窖壕、原則的總結(jié)忧勿。主要包括以下內(nèi)容:
????????● 引言:包括項目目的、背景瞻讽、用語等基礎(chǔ)信息鸳吸。
????????● 項目概述:對項目自身的說明、包括范圍卸夕、主要處理對象层释、與其他系統(tǒng)的關(guān)系等。
????????● 功能需求:本項目具體的功能需求快集、需求的詳細(xì)說明等贡羔。
????????● 非功能性需求:對未來系統(tǒng)的性能、安全等的需求等个初。
????????● 技術(shù)需求:接口乖寒、軟件、硬件院溺、網(wǎng)絡(luò)楣嘁、部署等。
????????● 各類措施:質(zhì)量保證珍逸、驗收標(biāo)準(zhǔn)等逐虚。
????????根據(jù)項目的內(nèi)容、規(guī)模以及大小谆膳,還會有其他的內(nèi)容
????????2.解決方案
????????對需求調(diào)研和分析的成果還有另外一種使用形式叭爱,即解決方案。解決方案的目的是對客戶進(jìn)行概要說明漱病,相對于需求規(guī)格說明書來說买雾,解決方案包含的范圍更加廣泛把曼、深度淺一些。解決方案也有其重點強(qiáng)調(diào)的內(nèi)容漓穿,例如:
????????● 項目的目的嗤军、導(dǎo)入信息化給企業(yè)帶來的價值、企業(yè)的變化等內(nèi)容晃危。
????????● 項目周期叙赚、項目計劃、項目金額僚饭。
????????● 項目組織纠俭、資源構(gòu)成、管理方法浪慌。
????????● 質(zhì)量保證、風(fēng)險控制朴则、保證措施等权纤。兩種方式?jīng)]有嚴(yán)格的區(qū)分,根據(jù)需要確定是否需要分為兩個資料乌妒,一般來說汹想,小型的項目只需要前者,大型項目兩個都需要撤蚊,向客戶匯報古掏、討論的資料大都采用解決方案的形式,最終合同簽字和驗收的依據(jù)是需求規(guī)格說明書侦啸。
????????重點介紹需求規(guī)格說明書——“功能需求”中兩個重要的文檔槽唾,即:功能需求一覽和功能需求規(guī)格書。這兩個文檔的內(nèi)容貫穿了本書所講的軟件工程部分光涂,是后續(xù)設(shè)計庞萍、開發(fā)交付的重要指導(dǎo),也是本書分析與設(shè)計方法的主要成果忘闻。
7.6.2 功能需求一覽
????????將收集并經(jīng)過了確認(rèn)的功能需求進(jìn)行歸集钝计,形成功能需求一覽
????????(1)業(yè)務(wù)領(lǐng)域:是客戶業(yè)務(wù)的不同板塊,也是未來的信息系統(tǒng)劃分的基礎(chǔ)齐佳。
????????(2)功能名稱:這里僅僅是“功能需求”的名稱私恬,還不是正式的功能。
????????(3)功能說明:說明功能需求的目的炼吴、作用本鸣。
????????(4)實體信息:“數(shù)量”指的是收集到的實體有幾份;“名稱”是表單或報表的名稱缺厉。
????????(5)顯示終端:在信息系統(tǒng)實現(xiàn)時對應(yīng)哪幾類的終端永高。
????????功能需求一覽的內(nèi)容會隨著不同的需求和設(shè)計階段發(fā)生變化隧土。
????????(1)需求分析階段:功能需求一覽經(jīng)過初步分析,確認(rèn)為是“功能需求”命爬。
????????(2)概要設(shè)計階段:業(yè)務(wù)功能一覽通過對業(yè)務(wù)的分析和設(shè)計曹傀,正式定為“業(yè)務(wù)功能”。
????????(3)應(yīng)用設(shè)計階段:業(yè)務(wù)組件一覽通過對系統(tǒng)的分析和設(shè)計饲宛,正式定為“開發(fā)對象”皆愉。
????????從(1)到(3),由于不同的設(shè)計視角艇抠,會一定程度上改變需求分析的結(jié)果幕庐,或?qū)⒁粋€功能拆分為兩個(增加),或?qū)蓚€合并為一個(減少)家淤,同時會伴隨著名稱异剥、定義等的變化。
7.6.3 功能需求規(guī)格書(需求4件套)
????????功能需求規(guī)格書記錄了功能需求的詳細(xì)內(nèi)容絮重,是需求分析工作量最大的一部分冤寿。功能的詳細(xì)需求采用了結(jié)構(gòu)化的記錄形式,從4個視角對功能需求進(jìn)行描述青伤,包括:需求原型督怜、控件定義、規(guī)則說明狠角、邏輯圖形号杠。將這4個視角的描述方法歸納為4個模板,這4個模板合在一起可以完整地丰歌、無歧義地描述一個功能需求的全部屬性姨蟋,這也是“需求4件套”稱謂的來源。以下說明中采用“需求4件套”的簡稱立帖。
????????1.需求4件套模板4個模板的內(nèi)容芬探,每一個功能需求就對應(yīng)一個需求4件套。
????????1)模板1:需求原型對功能需求進(jìn)行詳細(xì)描述的依據(jù)有兩個來源:
????????一是根據(jù)訪談記錄等收集到的客戶說明厘惦,
????????二是根據(jù)收集到的既存表單偷仿。不論是哪一種,這里需要做的事情都是對“需求的記錄”宵蕉,而不是“功能設(shè)計”酝静,因此重點都在對字段、字段背后的邏輯羡玛、數(shù)據(jù)算式等的描述别智。不需要表現(xiàn)按鈕、菜單等系統(tǒng)界面的功能稼稿。需求原型的形式可以采用以下幾種形式繪制薄榛,將繪制完成后的原型截圖貼附在4件套的模板1上讳窟,因為不是設(shè)計采用哪種方法都可以。
????????①既存表單:直接使用既存表單的原件掃描或是截圖敞恋。
????????②表格軟件:用表格軟件繪制簡單原型丽啡,重點是標(biāo)出字段的位置。
????????③專用軟件:采用專用的界面設(shè)計軟件繪制原型硬猫。
????????2)模板2:控件定義
????????采用表格的形式补箍,對需求原型上的全部字段進(jìn)行逐一的定義和描述,包括:字段類型啸蜜、管理規(guī)則坑雅、計算公式等。在模板上衬横,將記錄字段的載體稱為“控件”裹粤。
????????3)模板3:規(guī)則說明
????????由于模板2“控件定義”是對每個字段進(jìn)行的單獨說明,對于兩個字段之間的關(guān)系蜂林、本功能需求與其他功能需求的關(guān)系蛹尝,以及其他復(fù)雜的需要用大段文字描述的說明,都放在模板3“規(guī)則說明”中表述悉尾。規(guī)則說明是進(jìn)行文章體說明的地方,所以沒有特別的格式要求挫酿。
????????4)模板4:邏輯圖形
????????利用原型构眯、表格斗埂,以及文章體的說明仍然難以描述的內(nèi)容凯旭,例如,復(fù)雜的業(yè)務(wù)邏輯耘分、多重的管理方式等葱弟,可以采用圖形的方式表達(dá)壹店,將繪制完成的圖形粘貼在模板4上
????????2.需求4件套的傳遞與繼承
????????描述功能需求的資料“需求4件套”是對“功能”進(jìn)行的第一次描述,這個需求4件套在后續(xù)不同設(shè)計階段中芝加,要被傳遞和繼承多次
????????(1)需求工程-需求分析階段:重點在對功能的需求進(jìn)行記錄→形成“需求4件套”硅卢。
????????(2)設(shè)計工程-詳細(xì)設(shè)計階段:重點在對功能的業(yè)務(wù)進(jìn)行設(shè)計→形成“業(yè)務(wù)4件套”。
????????(3)設(shè)計工程-應(yīng)用設(shè)計階段:重點在對功能的應(yīng)用進(jìn)行設(shè)計→形成“組件4件套”藏杖。它們都是從(1)開始的将塑,最后向技術(shù)設(shè)計和編碼開發(fā)提交的是(3)組件4件套。由于“需求4件套”與“業(yè)務(wù)4件套”的描述方式相同蝌麸,因此更加詳細(xì)的記錄方法
小結(jié)
????????需求分析的兩個主要工作成果是功能需求一覽和需求規(guī)格說明書点寥,這兩個資料基本上決定了這個軟件項目的主要內(nèi)容,依據(jù)這些需求可以確定如下的內(nèi)容(不限于此)来吩。
????????1.軟件設(shè)計的需求
????????從軟件的實現(xiàn)過程看敢辩,需求分析的成果主要確定了以下的內(nèi)容蔽莱。
????????(1)客戶價值:通過分析、客戶確認(rèn)等戚长,確定了客戶投資信息化的目的盗冷、目標(biāo)、期望历葛、痛點等內(nèi)容正塌,這是系統(tǒng)確定設(shè)計理念、系統(tǒng)的管控深度的關(guān)鍵判斷依據(jù)恤溶。
????????(2)業(yè)務(wù)范圍:準(zhǔn)確無誤地確定了未來信息系統(tǒng)需要覆蓋的全部業(yè)務(wù)內(nèi)容乓诽,包括客戶組織維度(集團(tuán)、公司咒程、部門鸠天、崗位)、業(yè)務(wù)領(lǐng)域的維度(銷售帐姻、生產(chǎn)稠集、物流、財務(wù)等)等饥瓷。
????????(3)功能與規(guī)模:確定了基本的業(yè)務(wù)處理形式(業(yè)務(wù)架構(gòu)剥纷、業(yè)務(wù)邏輯)、功能需求的內(nèi)容(所需要的業(yè)務(wù)功能模塊呢铆、管控方式等)晦鞋。
????????2.軟件管理的需求從軟件的過程管理上看,需求分析的成果成為下述工作的依據(jù)棺克。
????????(1)開發(fā)工期:確定了業(yè)務(wù)處理的形態(tài)悠垛、難易度,以及功能需求的數(shù)量等娜谊,也就基本上確定了可控的開發(fā)工期确买,基于上述內(nèi)容制定控制用里程碑計劃和詳細(xì)的推進(jìn)計劃。
????????(2)需用資源:根據(jù)內(nèi)容和計劃纱皆,可以確定開發(fā)所需的各類人才資源的數(shù)量湾趾,其中也包括各個設(shè)計部分需要的資源能力(所掌握的設(shè)計知識、經(jīng)驗等)派草。
????????(3)項目管理:按照項目管理要求撑帖,制定組織方案(計劃、資源澳眷、風(fēng)險胡嘿、質(zhì)量、驗收等)钳踊。從上面的內(nèi)容可以看出衷敌,需求分析的作用不僅是后續(xù)的設(shè)計開發(fā)工作的輸入勿侯,而且也是軟件過程管理的輸入。
????????(1)方法按順序進(jìn)行轉(zhuǎn)換:目標(biāo)需求→業(yè)務(wù)需求→功能需求缴罗。
????????(2)要求采用魚骨圖/思維導(dǎo)圖助琐、排比圖、示意圖等的聯(lián)合表達(dá)分析的過程面氓。
????????在理解了目標(biāo)需求的解答方法后兵钮,再看業(yè)務(wù)需求和功能需求就覺得很容易理解了。有一種“居高臨下”的感覺舌界。