軟件需求工程

出版時間:2012-2  出版社:科學(xué)出版社  作者:康雁 主編  頁數(shù):242  字?jǐn)?shù):401000  

內(nèi)容概要

本書為讀者理解軟件需求工程提供了一個新的視角。全書共11章,包括需求概述、需求工程、需求獲取、需求分析、基于UML的需求建模技術(shù)、需求模式、需求與面向?qū)ο筌浖_發(fā)、需求文檔、需求驗證、軟件需求管理與安全需求工程。本書引入CDIO的概念,強調(diào)“做中學(xué)”,以培養(yǎng)學(xué)生的實際動手能力和實踐能力;并著重講述了需求工程中有關(guān)安全需求的內(nèi)容;在介紹軟件需求工程領(lǐng)域的經(jīng)典理論、最新進展和發(fā)展方向的同時,也介紹了相關(guān)的實用技術(shù)和工具。這些原理、技術(shù)和工具能夠應(yīng)用在大型工業(yè)和商業(yè)軟件的項目開發(fā)中,為軟件工業(yè)的從業(yè)人員提供系統(tǒng)深入的指導(dǎo)。
本書可作為高等院校計算機專業(yè)學(xué)生、教師以及研究人員的教材和參考書,對于工業(yè)和計算機產(chǎn)業(yè)的從業(yè)人員也具有實用價值。

作者簡介

康雁

書籍目錄

前言第1章 需求概述1.1 需求問題的提出1.2 不同項目的需求視圖1.2.1 信息系統(tǒng)的需求視圖1.2.2 嵌入式系統(tǒng)的需求視圖1.2.3 軟件產(chǎn)品的需求視圖1.3 需求的定義1.3.1 幾種主要的需求定義1.3.2 需求定義的一些基本原則1.3.3 優(yōu)秀需求的特性1.4 需求定義的實踐1.4.1 需求定義任務(wù)概述1.4.2 問題分析五步法1.4.3 需求定義的要素1.4.4 需求定義的范圍1.5 需求的層次和分類1.5.1 軟件需求的層次1.5.2 軟件需求的分類1.6 需求在總體方案中的位置1.6.1 軟件的生命周期1.6.2 需求與其他軟件項目過程的關(guān)系習(xí)題第2章 需求工程2.1 需求工程的定義2.1.1 需求工程的提出2.1.2 需求工程的定義2.2 需求工程的內(nèi)容2.2.1 需求獲取2.2.2 需求分析2.2.3 編寫規(guī)格說明書2.2.4 需求驗證2.2.5 需求管理2.3 需求過程的改進2.3.1 需求工程面臨的困難2.3.2 不適當(dāng)?shù)男枨筮^程引起的風(fēng)險2.3.3 需求過程的改進2.3.4 需求過程的推薦方法2.4 敏捷需求流程2.4.1 傳統(tǒng)開發(fā)過程的需求問題2.4.2 敏捷需求流程2.4.3 極限需求流程2.4.4 增量需求流程2.5 需求工程與CDIO2.5.1 CDIO簡介2.5.2 需求工程與CDIO習(xí)題第3章 需求獲取3.1 問題域3.2 問題框架3.2.1 需求式行為問題框架3.2.2 命令式行為問題框架3.2.3 信息顯示問題框架3.2.4 簡單工件問題框架3.2.5 交換問題框架3.3 多框架問題3.4 確定需求開發(fā)計劃3.5 需求獲取方法3.5.1 面向目標(biāo)的方法3.5.2 基于場景的方法3.5.3 面向方面的方法3.5.4 面向視點的方法3.5.5 基于知識的方法3.6 需求獲取技術(shù)習(xí)題第4章 需求分析4.1 需求分析和業(yè)務(wù)建模4.2 建立系統(tǒng)關(guān)聯(lián)圖4.3 構(gòu)建用戶接口原型4.4 建立數(shù)據(jù)字典4.5 結(jié)構(gòu)化分析建模方法4.5.1 數(shù)據(jù)建模4.5.2 功能建模4.5.3 行為建模4.5.4 結(jié)構(gòu)化分析總結(jié)4.6 面向?qū)ο蠼<夹g(shù)4.6.1 UML的提出4.6.2 UML對用例驅(qū)動需求工程的支持習(xí)題第5章 基于UML的需求建模技術(shù)5.1 項目概述5.1.1 項目背景5.1.2 UML的面向?qū)ο蠓治鲞^程5.2 用例模型分析與設(shè)計5.2.1 劃分用戶群5.2.2 用例模型設(shè)計5.2.3 檢查用例模型5.2.4 調(diào)整用例模型5.2.5 描述用例規(guī)約5.3 類圖模型設(shè)計5.4 動態(tài)模型設(shè)計5.4.1 狀態(tài)圖模型設(shè)計5.4.2 順序圖模型設(shè)計5.4.3 活動圖模型設(shè)計5.5 可視化建模工具5.5.1 Rose界面簡介5.5.2 Rose的四種視圖簡介5.5.3 用Rose生成代碼5.5.4 逆向工程習(xí)題第6章 需求模式6.1 需求模式構(gòu)思6.1.1 包含要素6.1.2 基本細節(jié)6.1.3 額外需求6.1.4 需求模式分類6.1.5 使用需求模式的優(yōu)點6.2 領(lǐng)域和設(shè)計模式6.2.1 領(lǐng)域6.2.2 設(shè)計模式6.3 需求模式間的關(guān)系6.3.1 需求模式分類6.3.2 修改需求模式6.3.3 需求模式用例及組6.4 使用和編寫需求模式6.4.1 使用需求模式時應(yīng)注意的問題6.4.2 裁剪需求模式6.4.3 尋找潛在的需求模式6.4.4 如何編寫需求模式6.5 需求模式實例6.5.1 信息需求模式實例6.5.2 系統(tǒng)間接口需求模式實例習(xí)題第7章 需求與面向?qū)ο筌浖_發(fā)7.1 系統(tǒng)需求7.1.1 系統(tǒng)的誕生7.1.2 用例7.1.3 業(yè)務(wù)建模7.1.4 系統(tǒng)建模7.2 估算7.2.1 基于需求的軟件規(guī)模估算7.2.2 基于需求的工作量估算7.3 分析7.3.1 抽取和面向?qū)ο?.3.2 類和關(guān)系7.3.3 序列和事件7.3.4 因果關(guān)系和控制7.4 設(shè)計7.4.1 設(shè)計模式7.4.2 用戶和接口設(shè)計7.5 編程7.5.1 使用Java實現(xiàn)UML7.5.2 使用MDA工具生成代碼7.6 測試7.6.1 測試的原因7.6.2 測試的方法7.6.3 使用JUnit進行測試用例的編寫習(xí)題第8章 需求文檔8.1 為什么需要文檔8.1.1 文檔在需求工程中的位置8.1.2 文檔的作用8.2 文檔編寫的基本原則8.3 常見需求文檔8.3.1 需求文檔的分類8.3.2 項目視圖和范圍文檔8.3.3 用戶需求文檔8.4 軟件需求規(guī)格說明8.4.1 高質(zhì)量軟件需求規(guī)格說明的特性8.4.2 軟件需求規(guī)格說明模版8.4.3 模版分析與應(yīng)用8.5 文檔寫作技巧8.5.1 文檔常見錯誤8.5.2 實用寫作技巧習(xí)題第9章 需求驗證9.1 需求驗證9.1.1 需求驗證的提出9.1.2 需求驗證的目的和任務(wù)9.1.3 需求驗證的內(nèi)容9.1.4 需求驗證的方法9.2 驗證接口和程序9.3 需求評審9.3.1 需求評審的方法9.3.2 需求評審的過程9.3.3 需求評審的實踐9.4 測試需求習(xí)題第10章 軟件需求管理10.1 概述10.1.1 需求開發(fā)與需求管理10.1.2 ISO9001中對軟件需求管理的要求10.1.3 CMM及CMMI中對軟件需求管理的要求10.2 需求管理活動實踐10.2.1 需求管理流程中的角色10.2.2 需求基線10.2.3 需求確認(rèn)10.2.4 需求跟蹤10.2.5 需求變更管理10.3 需求風(fēng)險管理10.3.1 需求風(fēng)險識別10.3.2 需求風(fēng)險評估10.3.3 需求風(fēng)險控制10.4 需求管理工具10.5 CDIO應(yīng)用案例10.5.1 概述10.5.2 需求確認(rèn)10.5.3 需求跟蹤習(xí)題第11章 安全需求工程11.1 安全工程概述11.1.1 安全工程11.1.2 ISSE過程11.1.3 SSE-CMM過程11.2 安全需求的定義11.2.1 安全服務(wù)的分類11.2.2 安全需求的分類11.2.3 安全需求的開發(fā)過程11.3 安全需求獲取11.4 安全風(fēng)險評估11.4.1 風(fēng)險評估方法11.4.2 形成風(fēng)險分析報告11.5 確定安全需求11.5.1 安全需求報告概述11.5.2 安全需求報告撰寫說明11.5.3 安全需求的描述方法11.6 CDIO應(yīng)用案例11.6.1 概述11.6.2 網(wǎng)上書店系統(tǒng)模型及其功能11.6.3 網(wǎng)上書店系統(tǒng)安全需求分析習(xí)題參考文獻

章節(jié)摘錄

版權(quán)頁:插圖:第1章 需求概述1.1 需求問題的提出Ac公司由于業(yè)務(wù)擴展,現(xiàn)有員工數(shù)已增長到5000名。原有的工資系統(tǒng)已使用10年以上,最近員工的工資計算一直在出錯,因此財務(wù)部門最近一直在加班,公司的總經(jīng)理李云約見了信息技術(shù)主管王奇?!拔覀円ㄔ煲粋€新的工資支付系統(tǒng),取代早已落伍的舊系統(tǒng)”,李云說道,“新的系統(tǒng)允許員工以無紙化的方式登記時間卡信息,并自動根據(jù)員工的工作時間和銷售總額(對于有提成的員工)生成用于支付工資的支票。你們小組能在五個月內(nèi)開發(fā)出該系統(tǒng)嗎?”“我已經(jīng)明白這個項目的重要性了”,王奇說,“但在我制訂計劃前,我們必須收集一些系統(tǒng)的需求?!崩钤朴X得很奇怪,“你的意思是什么?我不是剛告訴你需求了嗎?”“實際上,你只說明了整個項目的概念與目標(biāo)”,王奇解釋道,“這些高層次的業(yè)務(wù)需求并不能為我們提供足夠的詳細信息以確定究竟要開發(fā)什么樣的軟件,以及需要多長時間。我需要一些分析人員與薪酬金部門專家進行討論,然后才能真正明白達到業(yè)務(wù)目標(biāo)所需的各種功能和用戶的要求。”李云此前還從未遇到過與這位系統(tǒng)開發(fā)人員類似的看法,他堅持道,“那些專家沒有時間與你們詳細討論各種細節(jié),你不能讓你的手下的人說明要做的系統(tǒng)嗎?”王奇盡力解釋從使用新系統(tǒng)的用戶處收集需求的合理性,“如果我們只是憑空猜想用戶要求,結(jié)果不會令人滿意。我們只是軟件開發(fā)人員,而并非部門專家。我們并不能真正明白需要系統(tǒng)做什么。我曾經(jīng)嘗試過,未真正明白這些問題就匆忙開始編碼,結(jié)果沒有人對產(chǎn)品滿意。”李云說明了一些業(yè)務(wù)需求,但他并不能描述用戶需求,因為他并不是“工資支付系統(tǒng)”的實際使用者。只有實際用戶才能描述此系統(tǒng)必須達成的目標(biāo),但他們又不能指出完成這些目標(biāo)所需的所有具體的功能需求。像這樣的對話經(jīng)常出現(xiàn)在軟件開發(fā)過程中。要求開發(fā)一個新信息系統(tǒng)的客戶通常并不懂得從系統(tǒng)的實際用戶處得到信息的重要性。通常意義下,客戶是指直接或間接從產(chǎn)品中獲得利益的個人或組織。軟件客戶包括提出要求、支付款項、選擇、具體說明或使用軟件產(chǎn)品的項目風(fēng)險承擔(dān)者或是獲得產(chǎn)品所產(chǎn)生的結(jié)果的人。市場人員在有了一個很不錯的新產(chǎn)品想法后,也就自認(rèn)為能充分代表產(chǎn)品用戶的興趣要求。然而,直接從產(chǎn)品的實際用戶處收集需求有著不可替代的必要性。完成的軟件通常存在著以下問題:對軟件的開發(fā)成本和進度的估計不準(zhǔn)確、用戶對已完成的系統(tǒng)不滿意、軟件的質(zhì)量不可靠、軟件的可維護程度較低、軟件沒有適當(dāng)?shù)奈臋n資料、軟件的成本不斷提高、軟件開發(fā)生產(chǎn)的效率較低。軟件的發(fā)展經(jīng)歷了這么久,為什么依然存在這么多問題?為什么軟件的完成總需要這么長的時間?為什么開發(fā)成本總居高不下?為什么不能在把軟件交付給用戶之前發(fā)現(xiàn)軟件中所有的錯誤?軟件的這些問題與軟件本身的特點,以及軟件開發(fā)和維護的方法不正確有關(guān)。但對用戶要求沒有完整正確的認(rèn)識就匆忙著手編寫程序是許多軟件開發(fā)工程失敗的主要原因之一。只有用戶才真正了解他們自己的需要,但許多用戶在開始時并不能準(zhǔn)確具體地描述他們的需要,軟件開發(fā)人員需要做大量深入細致的調(diào)查研究工作,反復(fù)多次地與用戶交流信息,才能真正全面、準(zhǔn)確、具體地了解用戶的要求。對問題和目標(biāo)的正確認(rèn)識是解決任何問題的前提和出發(fā)點,軟件開發(fā)同樣也不例外。急于求成,倉促上陣,對用戶要求沒有正確認(rèn)識就匆忙著手編寫程序,這就如同不打好地基就蓋高樓一樣,最終必然倒塌。Standish[1]在1994年通過對8380個項目的調(diào)查發(fā)現(xiàn),在美國,每年用于軟件開發(fā)的費用在一千多億美元以上。調(diào)查顯示,31%的項目在完成之前被取消,52.7%的項目實際所花費的成本為預(yù)算成本的189%。其中,導(dǎo)致項目失敗的8個最主要原因中有5個都與需求有關(guān)。這些可以量化的數(shù)據(jù)觸目驚心,但還有很多機會成本是無法估量的。例如,美國丹佛市的機場由于沒能開發(fā)出可信賴的處理行李的軟件,而每天要耗費10萬美金。2008年,Standish又做了一項調(diào)查,這一年的數(shù)據(jù)顯示項目成功比率再次下降,按時、在預(yù)算內(nèi)交付、并且完成了應(yīng)有功能的成功項目只有32%。在過去40多年中,軟件開發(fā)的狀況可描述成一種社會性的苦惱。大規(guī)模的軟件開發(fā)舉步維艱,好像陷入困境苦苦掙扎的恐龍。雖然有一些成功的例子,但多數(shù)項目在經(jīng)歷一個漫長痛苦的過程后遭到慘敗。并且,每一個成功的軟件開發(fā)項目都有一些不被人注意的漏洞而存在隱憂。為了幫助軟件開發(fā)組織找到明確的改進方向,Standish集團還針對成功項目總結(jié)出了十大成功保證,并針對徹底失敗項目總結(jié)出了十大敗因,如表1.1所示。從表1.1中可以看出,十大成功保證中有三個是直接與需求相關(guān)的(加粗表示),累計權(quán)重達到37.1%;而十大敗因中與需求直接相關(guān)的更是高達五個(加粗表示),累計權(quán)重高達51.6%,從中可以看到需求問題對項目的影響程度。下面具體給出五個與需求有關(guān)的敗因描述。(1)不完整的需求。主要是因為需求往往涉及決策者、事務(wù)管理層、操作層等不同層面的用戶,需要讓不同層次的人負(fù)責(zé)不同的部分,并最終匯總起來。(2)缺乏用戶參與。主要是因為在很多的軟件項目中,用戶缺乏主動參與意識,不能有效地參與到項目中來。另一方面,用戶對軟件開發(fā)項目不感興趣或是不能理解深奧的技術(shù)用語。(3)不切實際的用戶期望。主要原因在于軟件的無形和成本的不透明,用戶很難理解有些需求是技術(shù)上無法實現(xiàn)的,或是在當(dāng)前的費用與時間預(yù)算內(nèi)無法實現(xiàn)的。(4)需求變更頻繁。主要是因為用戶沒有意識到變更對軟件項目的負(fù)面影響。另一方面,軟件人員對變更沒有進行有效的分類、統(tǒng)計,而是將所有需求變更當(dāng)成一個問題來解決。(5)提供了不再需要的需求。最后開發(fā)出來的軟件中常常存在著幾乎沒有被使用的功能,因此需要基于業(yè)務(wù)領(lǐng)域的知識來衡量需求的必要性和充分性。Walker[2]指出了一些作為現(xiàn)代軟件管理過程框架理論基礎(chǔ)的“基本公理”,即2-8原則:80%的軟件成本是由20%的構(gòu)件消耗的。由此可見需求在軟件工程活動中所占的比重。Brooks[3]在1987年的經(jīng)典文章NoSilverBullet:EssenceandAccidentsofSoft-wareEngineering中充分說明了需求過程在軟件項目中所扮演的重要角色:開發(fā)軟件系統(tǒng)最為困難的部分就是準(zhǔn)確說明開發(fā)什么。需求的好壞直接關(guān)系到軟件的成功與否。客戶提出的需求是軟件系統(tǒng)的源頭,它定義了軟件系統(tǒng)的意圖和目的。如果需求遺漏或完成得不好,不管系統(tǒng)多么完美,系統(tǒng)也是失敗的。為了得到有效的需求,需要采用有效的方法與用戶廣泛地交流。1.2 不同項目的需求視圖隨著信息化應(yīng)用的逐漸深入,軟件項目在企業(yè)、政府等各類組織中所擔(dān)負(fù)的角色也越來越多,應(yīng)用層面也逐漸豐富。同時,不同的軟件項目具有不同的特點,這對需求也帶來影響。在此,主要從信息系統(tǒng)、嵌入式系統(tǒng)、軟件產(chǎn)品等不同角度說明如何進行相關(guān)的需求工作。1.2.1 信息系統(tǒng)的需求視圖1.信息系統(tǒng)的本質(zhì)與分類根據(jù)信息系統(tǒng)的定義,權(quán)威信息系統(tǒng)是人、數(shù)據(jù)、過程和接口的組合,它們之間相互作用,支持并改進企業(yè)的日常動作,并支持管理人員和用戶解決問題和做出決策。這個定義,包含了以下幾個要素。(1)支持企業(yè)日常動作:也就是對企業(yè)流程進行電子化,并且將其固化下來。(2)支持解決問題:信息系統(tǒng)具有解決企業(yè)動作中存在問題的使命,這也通常是發(fā)起信息系統(tǒng)開發(fā)項目的主要原因之一。(3)支持決策:通過有效地獲取、加工、處理數(shù)據(jù),為管理人員提供決策的支持。當(dāng)今社會是數(shù)據(jù)的海洋,充滿了生產(chǎn)數(shù)據(jù)、銷售數(shù)據(jù)、客戶數(shù)據(jù)、日程數(shù)據(jù)。信息系統(tǒng)的核心作用是:根據(jù)應(yīng)用對數(shù)據(jù)進行有效處理,從而得出對人們更有價值的信息。在信息工程框架中,將信息系統(tǒng)分為聯(lián)機事務(wù)處理系統(tǒng)、管理信息系統(tǒng)、主管信息系統(tǒng)、決策支持系統(tǒng)、專家系統(tǒng)、辦公自動化系統(tǒng)等幾種主要的類型。各類信息系統(tǒng)間的關(guān)系可分為以下幾種。(1)聯(lián)機事務(wù)處理系統(tǒng)是數(shù)據(jù)的生產(chǎn)者。聯(lián)機事務(wù)處理系統(tǒng)負(fù)責(zé)對流程進行電子化,在這個過程中,將通過用戶輸入、系統(tǒng)采集等方式積累大量的數(shù)據(jù)。(2)管理信息系統(tǒng)是數(shù)據(jù)的消費者。管理信息系統(tǒng)是為中層管理人員(事務(wù)型管理人員)提供服務(wù)的,主要是通過查詢、分析、統(tǒng)計的手段來完成監(jiān)督、控制等活動,其核心的載體是報表。(3)主管信息系統(tǒng)、決策支持信息是數(shù)據(jù)的高級消費者。這兩類系統(tǒng)是為高層管理人員(決策型管理人員)提供服務(wù)的,其形式與管理信息類似,但將會對數(shù)據(jù)做更深層次的挖掘。(4)專家系統(tǒng)是個人知識的沉淀,同時也是數(shù)據(jù)的消費者。(5)辦公自動化系統(tǒng)是溝通與協(xié)作的直接支持。2.聯(lián)機事務(wù)處理系統(tǒng)聯(lián)機事務(wù)處理系統(tǒng)的核心價值在于實現(xiàn)流程的電子化,許多組織的信息系統(tǒng)建設(shè)是從此類系統(tǒng)開始。其相互依賴的核心三元素是人、流程和工具。其中工作流程是一個企業(yè)或組織的主線索,體現(xiàn)企業(yè)或組織的響應(yīng)外部客戶請求的存在價值,使得為客戶創(chuàng)造價值的同時也為自己帶來價值。同時流程也是聯(lián)機事務(wù)處理系統(tǒng)需求視圖的關(guān)鍵線索。需求人員根據(jù)信息系統(tǒng)的目標(biāo)選擇相關(guān)的流程,確定系統(tǒng)的目標(biāo),然后再將它實現(xiàn)出來。如果想將成熟的軟件產(chǎn)品部署到企業(yè)/組織中,會涉及系統(tǒng)中內(nèi)建的流程機制與企業(yè)/組織現(xiàn)有業(yè)務(wù)流程的融合,可能是修改企業(yè)的流程以適應(yīng)軟件,也可能是修改軟件的內(nèi)建流程以適應(yīng)企業(yè)。企業(yè)對于流程施加的約束如果只是紙質(zhì)的規(guī)定就容易不被遵守,完全由員工的自覺性來決定是否能夠按流程規(guī)則進行。如果建立電子化的流程,流程則可固化。但是固化流程也會限制靈活性,對業(yè)務(wù)產(chǎn)生一定的約束,使得不合理的流程帶來不良的后果。流程分析(業(yè)務(wù)事件)是聯(lián)機事務(wù)處理系統(tǒng)的關(guān)鍵線索和主要視圖。導(dǎo)致這一結(jié)果主要有兩個原因:結(jié)構(gòu)化分解過早考慮程序結(jié)構(gòu)和流程分析相對零散。從前面第二節(jié)的分析已可看到,結(jié)構(gòu)化分析采用自頂向下的縱向角度而非業(yè)務(wù)流程的角度,使得需求結(jié)構(gòu)和軟件設(shè)計脫離開來,割裂了業(yè)務(wù)流程,使用戶無法很好地參與到需求驗證中,也易丟失分析需求的線索。流程分析相對零散,流程圖的詳細程度和流程圖間的關(guān)系很難限定,使得流程圖不能成為有體系的線索。3.管理信息系統(tǒng)組織管理信息系統(tǒng)是從組織競爭戰(zhàn)略高度出發(fā),通過開發(fā)和有效利用各種信息與智力資源來提高組織競爭優(yōu)勢的信息系統(tǒng)。它是管理信息發(fā)展成熟化與現(xiàn)代化的重要標(biāo)志,也是組織信息管理技術(shù)的主要集成,駕馭著組織信息系統(tǒng)的發(fā)展方向。組織管理信息系統(tǒng)從網(wǎng)絡(luò)結(jié)構(gòu)上講,可以分為組織網(wǎng)絡(luò)、信息網(wǎng)絡(luò)、人際網(wǎng)絡(luò);從功能效用上講包括競爭環(huán)境監(jiān)視、市場變化預(yù)警、技術(shù)動向跟蹤、競爭對手分析、競爭策略制定、信息安全保護、管理信息知識庫等幾個方面;從模塊結(jié)構(gòu)上講,包括管理信息搜集、管理信息分析和管理信息服務(wù)三大模塊,其中管理信息分析模塊處于管理信息系統(tǒng)的核心位置。管理信息系統(tǒng)主要針對組織的現(xiàn)狀,分析組織的類型與市場定位走向,詳細收集組織內(nèi)部的基礎(chǔ)數(shù)據(jù)資料。系統(tǒng)針對企業(yè)/組織中的中層管理人員,核心是實現(xiàn)數(shù)據(jù)信息化。企業(yè)/組織中的中層管理人員是企業(yè)/組織中的執(zhí)行層,通常管理的是企業(yè)/組織中的各種事務(wù)。管理活動的本質(zhì)是計劃、控制、組織、協(xié)調(diào),在企業(yè)/組織的日常動作中產(chǎn)生了大量的數(shù)據(jù)。管理信息系統(tǒng)根據(jù)實際需要對其進行加工和整理,產(chǎn)生對管理活動有價值的信息,并通過針對業(yè)務(wù)事件、業(yè)務(wù)實體的一系列查詢、統(tǒng)計操作提供對管理活動的支持。對查詢、統(tǒng)計的需求分析是管理信息系統(tǒng)的關(guān)鍵線索和主要視圖。管理信息系統(tǒng)分析、處理的數(shù)據(jù)是由聯(lián)機事務(wù)處理系統(tǒng)提供的。在傳統(tǒng)的需求實踐中工作次序往往有所顛倒,首先分析功能性需求(聯(lián)機事務(wù)處理系統(tǒng)的主體),再分析查詢、統(tǒng)計類需求(管理信息系統(tǒng)的主體)。在需求的早期如果只是從查詢、統(tǒng)計的格式開始,用戶不易提出相關(guān)的細節(jié)描述,也不易分析得出目的,體現(xiàn)管理理念與需求。整理管理信息系統(tǒng)的關(guān)鍵線索時,可從Why(目的是什么)、What(怎樣獲得)、How(如何展現(xiàn))三個層次進行,如表1.2所示。表1.2 管理信息系統(tǒng)需求的要點類別 要點 說明目的 從管理場景出發(fā),借助對管理控制點來理解目的Why 使用部門/職位 了解需求的使用者,以便有針對性地調(diào)研相關(guān)場景 諸如用戶數(shù)量、查詢頻率等非功能性場景描述What 關(guān)聯(lián)實體 以類圖或E-R圖表示,說明數(shù)據(jù)的來源關(guān)鍵指標(biāo)及計算規(guī)則 細化推導(dǎo)出關(guān)聯(lián)的字段,以及派生屬性的計算方法How 展現(xiàn)形式 以虛擬窗口等形式說明最終的呈現(xiàn)方式輸入輸出需要 說明是否打印,以什么格式提供等其他信息從管理信息系統(tǒng)響應(yīng)的用戶層次來看,可分為事務(wù)管理類和決策管理類。分別響應(yīng)中層管理人員和高層管理人員的需求。高層管理人員則更側(cè)重于不同維度,特別是從自然屬性(如客戶的職業(yè)、年齡、愛好等)維度進行分析,它是對數(shù)據(jù)的進一步抽象和整理。事務(wù)管理類主要是從業(yè)務(wù)事件的管理和業(yè)務(wù)實體情況的基本分解角度展開。它可大致分成四種類型。(1)進度類型:關(guān)注于業(yè)務(wù)事件相關(guān)的進度信息,是中層管理人員對業(yè)務(wù)進程進行管控的有效手段。它通常是按周期或日程(如日、周、月等)生成的以及對前一周期關(guān)鍵活動匯總的關(guān)鍵指標(biāo)信息。(2)異常信息:業(yè)務(wù)事件中發(fā)生的異常通常是中層管理人員采取相應(yīng)措施的時機,因此通常也是他們很關(guān)注的視角。它是當(dāng)業(yè)務(wù)事件在執(zhí)行過程中出現(xiàn)異常,需要提醒管理者注意時由系統(tǒng)自動生成,例如時間延期的工期報告。(3)常規(guī)信息:它是就某一情況為管理者提供詳細的數(shù)據(jù),通常提供的是針對一個業(yè)務(wù)實體的信息。(4)需求信息:它是用來按中層管理人員的要求提供相應(yīng)信息的,通常涉及多個業(yè)務(wù)實體之間的信息,例如供銷存信息等。而決策管理類管理信息系統(tǒng)則會在一個事實(可能是業(yè)務(wù)實體也可能是業(yè)務(wù)事件)的基礎(chǔ)上,結(jié)合其關(guān)心的幾個不同維度來建模。例如決策管理人員可對銷售數(shù)據(jù)按以下維度進行分析:時間維(銷售周期、特定的時間段等)、客戶維(某個客戶、某類客戶等)、產(chǎn)品維(某個產(chǎn)品、某類產(chǎn)品等)、銷售人員維(某個銷售人員、某個銷售小組等),甚至可能對多個維度進行綜合分析。有時,這種維度可能是一種自然屬性。當(dāng)基本的數(shù)據(jù)庫操作也不能很好地滿足時,常需要對歷史數(shù)據(jù)進行抽取、加工、轉(zhuǎn)換,產(chǎn)生如數(shù)據(jù)倉庫、數(shù)據(jù)集市的需求。4.其他信息系統(tǒng)(1)決策支持系統(tǒng):系統(tǒng)針對的是企業(yè)的高層管理人員,它解決的是非結(jié)構(gòu)化問題。結(jié)構(gòu)化問題是通過計算機自動得出解決方案的問題,例如安全庫存量的判斷、現(xiàn)金流預(yù)警等。由于這類問題都已經(jīng)有了歷史積累的經(jīng)驗,因此只需將模型或算法實現(xiàn)出來,通過報表呈現(xiàn)給管理人員解決它。在企業(yè)/組織中并非所有問題都是可以通過計算機自動獲取解決方案,此類問題稱作非結(jié)構(gòu)化問題,諸如廣告投放、產(chǎn)品定價等都沒有現(xiàn)成的模式可以依賴。對于此類問題,系統(tǒng)只能夠為其提供一些相應(yīng)的決策支持,最終的決定還是需要管理人員借助自己的智慧來處理。當(dāng)然,非結(jié)構(gòu)化問題也可能轉(zhuǎn)換成結(jié)構(gòu)化問題。決策支持系統(tǒng)需求最為關(guān)鍵的地方是決策場景,為管理人員的日常生活進行建模。決策場景是決策支持系統(tǒng)的關(guān)鍵線索和主要視圖。可根據(jù)用戶的關(guān)注點將不同的決策場景分組,以便更好地梳理系統(tǒng)的結(jié)構(gòu)。(2)專家系統(tǒng):對企業(yè)/組織而言,專家系統(tǒng)最關(guān)鍵的價值在于實現(xiàn)個人知識到企業(yè)知識的轉(zhuǎn)換。對于那些需要經(jīng)驗積累的工作崗位,需要將相關(guān)知識轉(zhuǎn)換為計算機可識別并提供的準(zhǔn)則。工作場景是專家系統(tǒng)的關(guān)鍵線索和主要視圖。系統(tǒng)中相對于具體場景而言不僅只需有數(shù)據(jù)視圖,還要有經(jīng)驗?zāi)P汀⑴袛嗄P偷?。?)辦公自動化:它通常會涉及聯(lián)機事務(wù)處理系統(tǒng)和管理信息系統(tǒng),另外它有一個很重要的功能部分,就是對協(xié)同的支持。企業(yè)的流程從串行改為并行可提高工作效率,而并行流程會涉及并行部門、崗位之間的溝通和協(xié)作問題,這些協(xié)作場景也成為系統(tǒng)的需求線索。例如要設(shè)計實現(xiàn)公文流轉(zhuǎn)、審批等功能,若先將這些場景歸納出來,再針對每個場景細化其中的行為需求,就能很好地完成此類系統(tǒng)的需求收集與整理工作。并行工作流是辦公自動化系統(tǒng)的關(guān)鍵線索和主要視圖,除此外,如日程表、行事歷、備忘錄等對個人事務(wù)的支持也可作為場景整理出來,然后再對其進行相應(yīng)的行為分析,就能夠使需求的整理更完整。1.2.2 嵌入式系統(tǒng)的需求視圖除了以電腦為載體的信息系統(tǒng)外,還存在部署在受限設(shè)備上的嵌入式系統(tǒng)。嵌入式系統(tǒng)又稱嵌入式計算機系統(tǒng),是以應(yīng)用為中心,以計算機技術(shù)為基礎(chǔ),能夠滿足應(yīng)用對功能、性能、體積、成本、功耗等方面要求的專用系統(tǒng)。它的首要功能不是計算,而是受嵌入其中的計算機所控制的一個系統(tǒng),具有嵌入性和專用性的特點。一個嵌入式系統(tǒng)由硬件和軟件兩部分組成從最終用戶的角度可將嵌入式系統(tǒng)分為以下三類型:面向直接用戶、面向特定設(shè)備和綜合應(yīng)用。

編輯推薦

《軟件需求工程》特色:介紹軟件需求工程領(lǐng)域的經(jīng)典理論、最新進展和發(fā)展方向,引入“CDIO”的概念,強調(diào)“做中學(xué)”,介紹相關(guān)實用技術(shù)和工具,結(jié)合典型實例闡述軟件需求工程在軟件開發(fā)中的重要作用,著重介紹軟件工程中有關(guān)安全需求的部分,內(nèi)容豐富,便于從事軟件開發(fā)的專業(yè)人士和計算機專業(yè)的學(xué)生學(xué)習(xí)和參考。

圖書封面

評論、評分、閱讀與下載


    軟件需求工程 PDF格式下載


用戶評論 (總計1條)

 
 

  •   介紹的還算比較全面,不過程度不夠深入,可能只相當(dāng)于導(dǎo)論性質(zhì)的入門書,對于想了解了解需求工程的人看看還算可以的,專業(yè)的看了就會感覺有點浮于表面了。
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7