1樓:渝粵教育
一、需求的分類
需求分析是構建軟體系統的一個重要過程。一般,把需求型別分成三個型別:
1、業務需求(business requirement)反映了組織機構或客戶對系統、產品高層次的目的要求,它們在專案檢視與範圍文件中予以說明。
2、使用者需求(user requirement) 文件描述了使用者使用產品必須要完成的任務,這在使用例項文件或方案指令碼說明中予以說明。
3、功能需求(functional requirement)定義了開發人員必須實現的軟體功能,使得使用者能完成他們的任務,從而滿足了業務需求。
業務需求和使用者需求是軟體需求分析的基礎,也是軟體構建的前提。系統分析員通過對業務需求和使用者需求的分解,將其轉換成克一形式化描述的軟體功能需求。開發
軟體系統最為困難的部分,就是準確說明開發什麼。這就需要在開發的過程中不斷的與使用者進行交流與**,使系統更加詳盡,準確到位。這就需要確定使用者是否需
要這樣的產品型別以及獲取每個使用者類的需求。
二、需求的質量分解
一般情況下,採用如下的手段描述軟體需求的質量:
正確性:所有需求必須是正確的、合理的、滿足任務書要求的。
必要性:所有需求必須是為完成指定任務所必需的。
可行性:在指定的環境和條件下,所有的需求必須是可行的。
完備性:為完成指定任務,這些需求是完備的、無遺漏的。
一致性:所有需求相互之間沒有矛盾,是一致的。
非退化:任一需求的引入都不會導致軟體效能的退化。
無歧義:任一需求的陳述都是確定的、不會導致多義性的。
可驗證:任一需求都是可以測試、可以驗證的。
可追蹤:人以需求都可以追蹤到專案的任務書或規格說明的需求。
三、需求的隱含質量要求
除了這些可以量化的質量標準,還有一些需求的標準是隱含的。這些要求及時客戶沒有提出來,在實現的時候也應該考慮到,否則,可能導致專案的失敗。
操作方便:每一個客戶都會有操作方面的要求,只是具體的表現方式不一樣。一般,客戶在開始的時候對操作很難對操作有很具體的考慮,他會想當然個認為新的軟體
系統會和他以前所熟悉的某一個系統類似。而事實並非如此。當他發現新的軟體系統不方便使用的時候,就會提出修改的建議。有的時候,這種修改對軟體系統的影
響是災難性的。
可以保證操作質量:一般,系統分析員會認為客戶應該勾畫出系統執行過程中可能發現的重要風險,然後在系統實現的時候予以考
慮。然而,在溝通的過程中,客戶認為的重要的風險會和系統分析員所理解的有所不同,而被忽略的一部分,往往是很基本的那部分,因為對於客戶而言,這些內容
應該是顯而易見的;而系統分析員一把並不瞭解這些事實。例如,在一個治理保險公司客戶的系統裡面,修改職業是需要嚴格稽核的,假如系統分析員以前接觸的業
務以電子商務居多,他可能自然而然的認為客戶修改職業僅僅是一個一般性的變更。
四、客戶對需求的影響
目前很多系統分析員在進行需求分析的時候,把主要精力放在瞭解客戶的業務流程,並試圖將其用形式化的手段描述。而事實上,這樣瞭解到的客戶需求往往是不完整的,甚至具有很大的片面性。除了隱含需求的定義比較困難以外,客戶本身也是影響需求質量的一個重要因素。
1、客戶有不同的需要。一些客戶知道他們需要什麼,而另外一些人知道他們不需要什麼。一些客戶希望進行具體討論,而另外一些客戶則滿足於模糊的承諾。
2、客戶有不同的個性。
3、客戶和供給商之間有著不同的通訊方式。一些人非常熟悉產品以及生產廠商,而另外一些人則可能素未謀面,僅僅通過信件往來和幾個匆忙的**與生產廠商溝通。
4、客戶也經常是矛盾的。事實上,很少有客戶能夠明確的知道怎樣的一個系統對自己是最有益處的,他們往往在集中方案之間徘徊,於是經常產生需求的變動。生產廠商經常陷入客戶自己的矛盾之中。
客戶的負面影響可能對於能夠在預算內按時完成專案產生很大的影響。儘管客戶需要對需求的質量負責任,但是,當一個軟體專案因為客戶事先沒有預料到的情況而導致失敗的時候,即使客戶不會追究開發方的責任,就軟體專案本身而言,也已經是失敗的。
五、目前控制需求質量的手段
目前,專案經理和系統分析員主要通過聽證、評審、確認等手段控制軟體需求的質量。
聽證:主要是指通過正式或者非正式的渠道召開有關人員的會議,聽求大家對新的軟體系統的要求和意見。
評審:組織有關的專家對軟體需求進行評價,指出目前的需求由那些不合理的地方,以及修改的意見等。評審一般發生在初步的軟體需求已經形成以後。
確認:開發方將整理過的需求分析說明書交給客戶確認。假如客戶認可該需求分析說明書,就形成正式的需求分析文件,並作為一個重要基線治理。
這些需求控制手段可以提高軟體需求的質量,但是仍然無法保證需求是可用的。因為:
1、聽證會的參與者並不一定代表使用者的真實意圖。實踐中經常碰到這樣的情況。即使他是目標軟體的最主要使用者,他也經常會遺忘一些他覺得是很基本的,而事實上對於軟體系統是很重要的細節。
2、參與評審的專家並不一定對軟體的最終質量負責,因此,他可能把工作的重點放在發現需求中的問題,而不是確認需求是否可行。
3、客戶確認只代表客戶對需求負責人,不代表客戶承認需求的質量。假如因為需求的質量導致軟將專案無法進展,客戶只能承擔經濟上的責任,而專案小組並不能因此緩解軟體專案陷入的尷尬。
六、用逆向溝通改善需求的質量
逆向溝通,就是在需求調研的過程中,除了瞭解客戶的情況,同時,向客戶提出一些建議,供客戶參考。
一般認為,客戶在其所在的領域具有比較
資深的經歷,因此需要嚴格遵守客戶的意見。事實上,客戶雖然在其所在的領域內很資深,但是,他們的角度是單純的業務流程,而不是從實現資訊科技角度構件的
業務流程。因此,系統分析員要充分的說明對於實現一個業務系統而言,現有的業務流程應該做如何的剪裁,以及需要注重哪些要點。
雖然,逆向溝通不能完全保證需求的質量,有效的逆向溝通可以大大減少因為對業務流程的理解不一致而造成的需求質量的下降。
七、逆向溝通的主要要點
1、所提出的業務需求是否符合行業的規範。
不同的行業對於業務流程有一定的規範,例如財務,審計,工程設計,都具有一定的行業規範,這些規範一方面是對行業行為的一種約束,同時,也是行業內經驗的
歸納和總結。例如,審計準則不但約束了審計過程中的不規範行為,同時也保護了註冊會計師的利益。部分企業由於所處的狀況的不同,沒有完全遵守行業規範,這
造成了需求變更的隱患。系統分析員在**業務流程的過程中,應該留一客戶的業務流程是否符合行業規範,假如有不符合的地方,應該進行適當的引導。即使客戶
目前實施行業規範有難度,也應該注重其理由,以猜測其業務流程變更的可能性。
2、展望系統發展環境,留有適當的擴充套件介面。
每個行業的發展趨勢應該有一定的規律可遵循。企業本身的發展變化是引起需求變更的最主要因素,因此,提前猜測行業的發展趨勢對於軟體預留一定的發展介面是很重要的。
客戶沒有預料到行業的變化趨勢,一方面,可能參與軟體需求的客戶代表並不是關注行業和企業發展趨勢的人員;另一方面,客戶關注需求的程度可能和系統實現人員
不同,有些客戶會很自然接受的變化,會對系統有很重大的影響,相反,一些客戶認為很重大的變化,可能對系統的影響是很小的。
3、探索適合
於資訊化的工作流程。
客戶有的時候會提出對資訊系統的要求,但是,客戶所提到的要求,是在他的理解中,資訊系統應該具有的樣子。系統分析員應該深入挖掘這些要求背後的隱含目
標,以便設計最適合客戶,也最有利於實現的系統框架。例如,為了控制員工的工作時間,客戶可能要求在軟體限時使用。可是,能夠實現控制員工工作時間的手段
有很多,而且,客戶提到的並不一定是最適合、最有效的方式。
4、合理使用批處理方式。
對於一些規模不大的系統,集中處理(批處理)的方式是合適的。可是,假如系統的規模很大,涉及的交易很多,而且對交易的實時性要求很高,集中的批量處理不是一個很好的方法。是否使用批處理方式,要根據業務需求的型別,系統的容量,以及以後的發展趨勢決定。
5、留有操作痕跡
一個資料的產生,應該有一定的來由,不應該有沒有根源的資料。
保留操作痕跡可能造成資料空間的急劇增加,但是,對於一些重要的資料,必須做到操作可以追溯。追溯的內容根據操作的重要程度有所不同,一般可能包括以下內容:操作人員,操作時間,操作以前的狀況,操作以後的狀況,操作所通過的模組,操作的機器資訊。
6、操作可以恢復
對於錯誤的操作,可以恢復到操作以前的狀況。恢復過程作為一個重要的操作,應該留有痕跡。也就是說,業務資料恢復到了操作以前的狀況,但是系統必須紀錄前一次操作和本次逆向操作的有關資訊,以備核查。
同時,逆操作應該比操作本身具有更高的授權級別和操作限制。
7、重要流程有校驗的功能
所謂重要流程,指對下一步操作有重要影響的流程,或者無法回溯的流程。例如,傳送客戶對賬單,對賬單發到客戶手裡以前還可以重新列印已修復一些錯誤,但
是,假如已經發給客戶,即使可以修復,也會產生一定的不良影響。因此,在這些流程上應該進行比較細緻的校驗。校驗可以採用自動校驗,前提是有比較可靠的校
驗演算法,否則,通過有經驗的操作員進行校驗是比較有效的方式。另外,一旦發現校驗失敗的案例,必須把這些案例作為重要的時間進行核查,以找到原因,糾正以
前的校驗演算法。
八、逆向溝通的實現條件
1、熟悉業務流程的業務邏輯分析師
系統分析員熟悉業務流程是實現逆向溝通的前提。在進入一個新的領域以前,系統分析員必須花費大量的經歷,瞭解這個行業的狀況,行業的發展趨勢,行業內企業
的運作模式,行業的目標企業在這個行業所處的地位等資訊。這些資訊會為以後分析客戶的需求,瞭解需求的質量,分析需求的合理性打下很好的基礎。
2、工作由被動轉變為主動
假如認為提出一個完整的需求是客戶的責任,那麼一切逆向溝通都會被認為是沒有必要的。如前所述,雖然客戶對需求的質量負有最終的責任,但是,系統分析員的
積極溝通,將會提高需求的質量,減少專案擱淺的可能性。另外,有很多責任是無法具體定位為客戶的責任還是專案組的責任。因此,採用積極的手段,確保專案的
成功是系統分析員應該採用的態度。
綜述良好的需求分析是軟體成功的基礎。以上是作者對需求分析工作實踐的一次小結以及綜合性的思考,是對需求分析本身所做的一次分析。在此基礎上,作者提出了逆
向溝通的設想,即系統分析員主動進行溝通,提出指導性意見。當軟體融合了客戶和系統分析員雙方聰明,其質量將會進一步得以提高。
國內中高風險地區名單,國內中高風險地區名單最新
全國疫情中高風險地區名單 截至2020年12月31日17時 如下 中風險地區 北京市朝陽區酒仙橋街道漢庭酒店大山子店 包括底商 北京市順義區高麗營鎮張喜莊村,北京市順義區高麗營鎮東馬各莊村,北京市順義區南法信 地區 鎮西杜蘭村,北京市順義區南法信 地區 鎮東海洪村,遼寧省瀋陽市皇姑區基業百花園小區。...
中高風險地區怎麼界定
高風險地區是指本行政區域內累計確診病例超過5例,14天內有聚集性疫情發生。病例和無症狀感染者居住地,以及活動頻繁且疫情傳播風險較高的工作地和活動地等區域,劃為高風險區。原則上以居住小區 村 為單位劃定,根據流調研判結果可調整風險區域範圍。實行封控措施,期間 足不出戶 上門服務 封控期間發現新的感染者...
北京疫情中高風險地區有哪些
2021年2月以來,北京沒有中高風險地區。截至2020年,6月28日15時,北京西城區金融街街道 豐臺區太平橋街道從疫情中風險地區調成低風險地區。北京市共有5個高風險地區 豐臺區花鄉 地區 鄉 新村街道,大興區西紅門 地區 鎮 黃村 地區 鎮,海淀區永定路街道 37箇中風險地區,涉及豐臺 大興 海淀...