軟件需求最佳實踐六章(第一部分 )_第1頁
軟件需求最佳實踐六章(第一部分 )_第2頁
軟件需求最佳實踐六章(第一部分 )_第3頁
軟件需求最佳實踐六章(第一部分 )_第4頁
軟件需求最佳實踐六章(第一部分 )_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

軟件需求最正確實踐廣聯達軟件股份計價產品線部2021年8月20日需求分析與建模最正確實踐說明:本章內容實例較多,且方法介紹主要是管理類軟件的需求分析,且涉及很多新的概念性內容,與我們日常工作差距較大,且理解起來有一定難度,故我們本次分享只了解其分析的原理。前言

需求分析是需求工程中最為核心的工作,而需求建模是需求分析的主要手段。

在日常工作中由于分析過于抽象,很多時候讓人感到無從入手,甚至導致被輕易地滑過了,直接將需求捕獲的結論整理到了需求規(guī)格說明書中。1、需求分析與建模的要點與誤區(qū)2、理清框架與脈絡目錄3、周期一的產物需求分析的任務并不是分析系統如何實現用戶的需要,這種認識是對需求分析最常見的誤解。需求分析實際上是業(yè)務分析,也就是選擇一種業(yè)務導向的線索將零散的需求串起來,形成一個體系完整、內容清晰地框架,以指導后續(xù)的設計、開發(fā)工作。注:需求分析就是先分解,再提煉,在這個過程中消除矛盾。需求分析到底做什么?分解分解是人類控制、認知復雜事物的最正確實踐,不管是采用結構化的分析方法還是面向對象分析方法,分解都是必須的手段。需求分析人員應當根據工程的特點、團隊的特點具體選用分解的結構。分解常用的四種分解結構業(yè)務流程為主線索的分解結構程序結構為主線索的分解結構基于場景的分解結構基于數據的分解結構業(yè)務流程為主線索的分解結構系統級職責區(qū)塊崗位間崗位級動作級程序結構為主線索的結構基于場景的分解結構基于數據的分解結構提煉分解時一種自頂向下的方法,當你按任何一種線索進行分解時,就會破壞其他線索的完整性;當出現這種現象時就會阻礙需求人員建立全面理解,因此我們還需要采用自底向上的方法進行提煉。將每個事件中的相同的類進行提煉,抽取出共性的局部建立針對整個系統的全局領域模型。消除矛盾在分析過程中,會發(fā)現有些需求是相互矛盾、相互沖突的。由于你是把收集的信息放在一個預先定義的結構中發(fā)現的這些矛盾,因此能很快的知道他影響到哪些層面。這樣,能很快找到相應的人員,通過進一步的捕獲來消除矛盾建模的目標與要點建模是需求分析的主要手段,它通過簡化、強調來幫助需求分析人員理清思路,達成共識。注:需求建模的過程遠比建模的結果更重要。建模的目標與要點建模的目的:幫助我們按照實際情況或按我們需要的樣式對系統進行可視化;提供一種詳細說明系統的結構或行為的方法;給出一個指導系統構造的模板;對我們做出的決策進行文檔化。注:模型是用來溝通的,只有當需要時才構建。建模的目標與要點建模原那么:選擇創(chuàng)立什么模型對如何動手解決問題和如何形成解決方案有著深遠影響。每種模型可以在不同的精度級別上表示;最好的模型是與現實相聯系的;單個模型是不充分的,對每個重要的系統最好用一組幾乎獨立的模型區(qū)處理。建模工具選擇建模語言:UML〔unified(統一)modeling(建模)language(語言)〕它是一種統一的、標準化的建模語言,它能為許許多多參與軟件設計和開發(fā)的人提供一種“公共語言〞,使他們能夠基于共同的“模型〞來理解業(yè)務、需求,理解軟件和架構如何構造。建模工具選擇需求階段使用到的UML圖:使用頻率圖名功能關注要點主體活動圖說明業(yè)務流程,以及業(yè)務活動的步驟事類圖說明業(yè)務實體之間的關系,體現結構規(guī)則物用例圖說明角色和使用場景之間的關系人輔助構件圖說明主體域劃分以及它們之間的服務接口接口部署圖描述系統的部署環(huán)境,體現設計約束設計約束1、需求分析與建模的要點與誤區(qū)2、理清框架與脈絡目錄3、周期一的產物理清脈絡和框架這個階段的任務是理清需求的結構框架〔領域類圖〕和行為脈絡〔流程圖和用例圖〕,該工作的輸入是需求定義階段的業(yè)務事件列表和報表列表,輸出的是領域模型和用例模型。在整個過程中是針對每個業(yè)務事件進行業(yè)務流程分析、業(yè)務實體分析和用例分析;針對每類報表進行業(yè)務實體分析和用例分析。理清框架與脈絡階段的工作任務流程圖類圖用例圖談每個業(yè)務事件的過程了解業(yè)務術語間的關系確定不同角色的任務業(yè)務流程分析業(yè)務流程分析是針對每個業(yè)務事件來進行的,業(yè)務事件是業(yè)務流程的觸發(fā),沿著對業(yè)務事件的響應序列,找到所有相關的業(yè)務活動,表述出這些業(yè)務活動之間的關系就是該任務的關鍵目標。業(yè)務流程分析與流程管理理論的關系一個企業(yè)或組織的核心價值是對外部客戶的申請進行處理,在為客戶創(chuàng)造價值的同時為企業(yè)或組織創(chuàng)造價值,因此業(yè)務事件是觸發(fā)業(yè)務流程最核心的線索。業(yè)務流程有一個很內在的特點就是“內在性〞,也就是業(yè)務流程之間的關聯性相對較弱,它是高內聚的。在進行業(yè)務流程分析時如果需求人員具有一定的流程管理理論的根底,那就能夠更好的識別流程可能的變化。流程的6大特性目標性:流程是針對目標進行設計的,換句話說,流程是一個整體,或許從一個局部來說是低效的,但目標是整個流程的高效,是為了更好的滿足用戶的需要。內在性:流程本身是一個高內聚的整體,它是一個很好的別離業(yè)務耦合點的線索。整體性:通常流程是由多個業(yè)務活動組成的,分析的要點在于確定業(yè)務活動之間的關系。動態(tài)性:流程是行為流,不是一個靜態(tài)的快照,而是一個順序的行為流。層次性:組成流程的活動本身也可以是流程,要求分析人員要理清楚流程的層次結構性:流程之間的關系主要包括串聯、并聯和反響三種流程理念示意圖流程設計的原那么流程應以產出為中心,而非任務為中心。讓那些需要得到流程產出的人自己執(zhí)行流程。在決策點位于工作執(zhí)行的地方,在業(yè)務流程中建立控制程序。流程多樣化。單點接觸客戶。ESIA分析法ESIA指的是:消除〔Eliminate〕、簡化〔Simply〕、整合〔Integrate〕和自動化〔Automate〕四個步驟,簡稱ESIA法業(yè)務流程的要點與產物理解流程的層次性了解流程類型掌握以業(yè)務事件識別、尋求流程的技巧流程的層次性組織級層次:宏觀讀者:高層經理特點:按部門梳理,每個活動通常都是一個流程部門級層次:脈絡讀者:中層經理特點:體現部門中的具體崗位i,每個活動是一個崗位負責執(zhí)行的崗位級層次:細節(jié)讀者:操作層特點:列出的細節(jié)的業(yè)務步驟流程的類型生產性流程它是組織價值體現的核心。管理型流程它是對生產性流程的管控,對一些質量、效率進行監(jiān)督的控制性流程。支持性流程這是對生產性流程的一種補充。流程分析的產物業(yè)務流程是很多邏輯性的東西,簡單的用漢字來表述是很困難的,我們應該盡可能的借助模型。常用的模型有:跨職責流程圖、活動圖和數據流圖流程分析的產物源于商業(yè)建模領域的標準,使用Visio制作是UML標準中定義的一種圖,使用Rose制作是結構化分析與設計方法中推薦的一種圖,使用Visio制作跨職責流程圖跨職責流程元素文檔業(yè)務活動判斷頁面內流程引用頁面間流程引用并行流程跨職責流程繪制要點善于、敢于拋棄細節(jié),不要過早的鉆研到業(yè)務活動的具體步驟中。拋棄一次成型的思路,不要精雕細琢,而是要出草稿、談問題、修正草稿、再談論、再修正……最終達成共識?;顒訄D數據流圖業(yè)務實體分析在業(yè)務流程中,必須會涉及許多業(yè)務實體〔或稱為業(yè)務數據、業(yè)務術語〕,要正確的構建出信息系統,就必須對這些業(yè)務事件建立正確的認識。具體來說就是要了解這個問題域中有哪些業(yè)務實體,它們之間存在什么樣的邏輯關系、數量關系,以及相應的結構規(guī)那么,這樣的工作即是領域建模。業(yè)務實體分析領域建模的過程中應當采用“自底向上〞的方法,也就是針對每一個業(yè)務事件、每一類報表創(chuàng)立局部的領域類圖片段,當完成這些建模工作之后,再對其進行抽象、提煉形成全局的領域模型。業(yè)務實體分析業(yè)務實體分析產物的兩種可選模型:類圖:是面向對象分析與設計方法引入的,它是NML標準的一局部。E/R圖:也稱為實體關系圖,與數據庫結合的更加緊密,但在領域建模階段語義不夠豐富。業(yè)務實體分析類的表示法:類是對一組具有相同屬性、操作、關系和語義的對象的描述。關系是類之間的,語義是蘊藏的,因此對于一個類而言,其關鍵特性是屬性〔成員變量〕和操作〔成員方法〕。業(yè)務實體分析類的表示方法:業(yè)務實體分析類之間的關系:關聯關系泛化關系聚合與組合關系類圖E/R圖角色與使用場景分析發(fā)現使用系統的角色〔參與者〕,了解并梳理這些角色將如何使用系統〔場景〕,從而更好地完成“人〞的視角的需求梳理。參與者:系統之外,透過系統邊界與系統進行有意義交互的任何事務。用例:在系統中執(zhí)行的一系列動作,這些動作將生成特定執(zhí)行者可見的價值結果。角色與使用場景分析用例圖:表示用例與用例之間的關系、參與者與用例之間的關系、參與者與參與者間的關系。如以下圖:角色與使用場景分析預定座位辦理結賬等候排隊檢查座位信息安排座位處理現金結賬處理銀行卡結賬收款銀行POS系統棋牌室管理系統客戶總臺效勞員角色與使用場景分析用例之間的關系:包含關系:如“預訂座位〞包括了“檢查座位信息〞。擴展關系:如:處理排隊信息時當沒有空座位時用戶的選擇就會有兩種:取消、等候泛化關系:如現金收款、卡轉賬與收款之間的關系。角色與使用場景分析用例的來源:自頂而下導出法自底向上合并法角色與使用場景分析自頂而下導出法:邊界確定確定角色確定用例繪制用例圖角色與使用場景分析自底向上合并法:收集原始需求確定參與者合并用例繪制用例圖角色與使用場景分析用例技術應用要點:用例的粒度取決于業(yè)務流程和任務分工用業(yè)務動詞命名用例很重要采用先事后人的方式分析是要點角色與使用場景分析用例技術應用要點:用例的粒度取決于業(yè)務流程和任務分工用業(yè)務動詞命名用例很重要采用先事后人的方式分析是要點1、需求分析與建模的要點與誤區(qū)2、理清框架與脈絡目錄3、周期一的產物周期一的產物工作任務說明業(yè)務事件分析報表分析抽象與整理填充需求規(guī)格說明周期

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論