第4章 結(jié)構(gòu)化分析_第1頁
第4章 結(jié)構(gòu)化分析_第2頁
第4章 結(jié)構(gòu)化分析_第3頁
第4章 結(jié)構(gòu)化分析_第4頁
第4章 結(jié)構(gòu)化分析_第5頁
已閱讀5頁,還剩184頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、1第第4 4章章 軟件軟件需求分析需求分析 4.3 4.3 軟件軟件需求分析階段的活動需求分析階段的活動 軟件工程教研室軟件工程教研室24.3 4.3 軟件軟件需求分析階段的活動需求分析階段的活動 活動活動產(chǎn)出物產(chǎn)出物需求開發(fā)需求開發(fā)會議紀(jì)要會議紀(jì)要討論紀(jì)要討論紀(jì)要分析模型分析模型需求規(guī)格需求規(guī)格說明書說明書審核通過的審核通過的規(guī)格說明書規(guī)格說明書圖圖 4-3 需求分析階段的活動需求分析階段的活動 4.3.6 需求管理需求管理需需求求獲取獲取需求分析需求分析 與建模與建模規(guī)格規(guī)格說明說明需求需求驗(yàn)證驗(yàn)證4.1 4.1 需求及需求原因需求及需求原因 4.2 需求需求 類型類型 4.3.1 4.3

2、.2,4.3.3 4.3.4 4.3.53 4.3.1 4.3.1 需求獲取需求獲取 (requirement elicitation) (requirement elicitation)1)需求獲取的目標(biāo)需求獲取的目標(biāo)2)獲取需求信息的相關(guān)者獲取需求信息的相關(guān)者3)獲取需求信息的來源獲取需求信息的來源4)獲取需求信息的基本步驟獲取需求信息的基本步驟5)獲取需求信息的方法獲取需求信息的方法41) 1) 需求獲取的目標(biāo)需求獲取的目標(biāo)q收集收集準(zhǔn)備建立的系統(tǒng)和正在使用的系統(tǒng)的準(zhǔn)備建立的系統(tǒng)和正在使用的系統(tǒng)的信信 息息,并從這些信息中,并從這些信息中提取提取用戶和系統(tǒng)需求。用戶和系統(tǒng)需求。q為下一步

3、的需求分析提供素材。為下一步的需求分析提供素材。2 2)獲取需求獲取需求信息信息的的相關(guān)者相關(guān)者圖圖 4-4 收集信息相關(guān)者收集信息相關(guān)者5 歷史歷史數(shù)據(jù)、記錄、表、報(bào)表、卡片、文字?jǐn)?shù)據(jù)、記錄、表、報(bào)表、卡片、文字描述描述、 文檔、圖文檔、圖( (手工流程、計(jì)算機(jī)流程手工流程、計(jì)算機(jī)流程) )、己有的系、己有的系 統(tǒng)、不同類型的人員統(tǒng)、不同類型的人員等信息等信息。 需求活動需求活動需求的獲取需求的獲取n安排航班飛行的安排航班飛行的時(shí)間表。時(shí)間表。n交通費(fèi)用的設(shè)置和購成交通費(fèi)用的設(shè)置和購成的的規(guī)定描述。規(guī)定描述。n航空公司的預(yù)定和售票的航空公司的預(yù)定和售票的工作工作流程。流程。3) 3) 獲取需

4、求信息獲取需求信息的來源的來源 用一段話概括進(jìn)行航班預(yù)定系統(tǒng)分析時(shí)用一段話概括進(jìn)行航班預(yù)定系統(tǒng)分析時(shí)需要收集的信息來源。需要收集的信息來源。6n航班預(yù)定業(yè)務(wù)中的航班預(yù)定業(yè)務(wù)中的各種人各種人( (旅行社和航空公司旅行社和航空公司 雇員雇員) )是如何工作的。是如何工作的。n己有的己有的預(yù)定系統(tǒng)能完成哪些工作預(yù)定系統(tǒng)能完成哪些工作, ,如何完成的。如何完成的。n法律、規(guī)章制度法律、規(guī)章制度和和規(guī)則規(guī)則管理著該行業(yè)。管理著該行業(yè)。n研究研究競爭性競爭性預(yù)定系統(tǒng)的功能。預(yù)定系統(tǒng)的功能。n了解正在發(fā)生的從旅游代理商預(yù)定機(jī)票到旅客了解正在發(fā)生的從旅游代理商預(yù)定機(jī)票到旅客 在線預(yù)定機(jī)票的在線預(yù)定機(jī)票的過渡過

5、渡。7 4) 4) 獲取需求獲取需求信息的基本步驟信息的基本步驟第第1 1步步: : 了解相關(guān)了解相關(guān)背景背景和和領(lǐng)域領(lǐng)域/ /行業(yè)行業(yè)的知識,的知識,確定產(chǎn)品所確定產(chǎn)品所 期望的期望的用戶類;用戶類;第第2 2步:步:與客戶或組織的高層人員進(jìn)行與客戶或組織的高層人員進(jìn)行交流交流,了解實(shí)際用,了解實(shí)際用 戶戶任務(wù)和目標(biāo)任務(wù)和目標(biāo)以及這些任務(wù)所支持的以及這些任務(wù)所支持的業(yè)務(wù)需求業(yè)務(wù)需求;第第3 3步:步:與客戶或組織的底層人員進(jìn)行與客戶或組織的底層人員進(jìn)行交流交流,獲取,獲取每個(gè)每個(gè) 用戶類的用戶類的詳細(xì)的詳細(xì)的用戶需求用戶需求;第第4 4步步:整理需求紀(jì)要整理需求紀(jì)要,發(fā)現(xiàn)新問題發(fā)現(xiàn)新問題,并

6、重復(fù),并重復(fù)1-31-3步;步;第第5 5步:步:需求分類和組織,需求分類和組織,以區(qū)別以區(qū)別功能需求、非功能需功能需求、非功能需 求、約束條件、業(yè)務(wù)規(guī)則、外部接口需求求、約束條件、業(yè)務(wù)規(guī)則、外部接口需求、建、建 議解決方法和附加信息;議解決方法和附加信息; 第第6 6步:步:優(yōu)先排序和解決沖突;優(yōu)先排序和解決沖突;第第7 7步:步:得到最終需求清單,并與客戶做得到最終需求清單,并與客戶做最終簽字確認(rèn)。最終簽字確認(rèn)。8 (1) (1) 思想思想: : 先了解先了解宏觀宏觀的問題,再了解的問題,再了解細(xì)節(jié)細(xì)節(jié)的問題的問題. .設(shè)設(shè) S : S : 一個(gè)軟件系統(tǒng)一個(gè)軟件系統(tǒng); D : ; D :

7、不同的問題域不同的問題域; ; P : P : 問題問題; F : ; F : 行為行為( (或功能或功能) ) S = D1 S = D1,D2D2,D3D3, DnDn 教學(xué)管理系統(tǒng)教學(xué)管理系統(tǒng) = (= (本科生教學(xué)本科生教學(xué), ,研究生教學(xué)研究生教學(xué), ,) ) DiDi = P1 = P1,P2P2,P3P3, Pm Pm 本科生教學(xué)管理本科生教學(xué)管理 = (= (教務(wù)管理教務(wù)管理, ,教師管理教師管理, , 學(xué)生管理學(xué)生管理, ,課程管理課程管理) ) PjPj = F1 = F1,F(xiàn)2F2,F(xiàn)3F3, FkFk 教務(wù)管理教務(wù)管理 = (= (學(xué)藉管理學(xué)藉管理, ,課程管理課程管理

8、, ,成績管理成績管理, , 教學(xué)質(zhì)量管理教學(xué)質(zhì)量管理, , 實(shí)踐教學(xué)實(shí)踐教學(xué), ,教學(xué)成果管理教學(xué)成果管理, ,) ) 每個(gè)行為對應(yīng)于軟構(gòu)件中的接口。每個(gè)行為對應(yīng)于軟構(gòu)件中的接口。 5) 5) 獲取需求獲取需求信息的方法信息的方法9思考如下問題思考如下問題q背景:你對一個(gè)同學(xué)已經(jīng)仰慕已久,背景:你對一個(gè)同學(xué)已經(jīng)仰慕已久,“十一十一” 快到了,你希望對方能夠與你共進(jìn)晚快到了,你希望對方能夠與你共進(jìn)晚 餐。但是由于你們只有幾面之緣,你餐。但是由于你們只有幾面之緣,你 對她對她( (他他) )的愛好一無所知的愛好一無所知q問題:你會采用哪些方式來調(diào)查獲得對方的問題:你會采用哪些方式來調(diào)查獲得對方的

9、 興趣愛好?興趣愛好? (2) 獲取需求獲取需求信息的方法信息的方法 直接直接( (面談、打電話、發(fā)信、跟蹤觀察面談、打電話、發(fā)信、跟蹤觀察),),間接調(diào)查間接調(diào)查; ;猜測。猜測。10n面對面訪談面對面訪談(face-to-face interviewing)(face-to-face interviewing)n專題討論會專題討論會(workshop)(workshop)n現(xiàn)場觀察現(xiàn)場觀察(observing on the scene)(observing on the scene)n頭腦風(fēng)暴頭腦風(fēng)暴(brainstorming)(brainstorming)n多種方法要結(jié)合在一起使用,效

10、果更好多種方法要結(jié)合在一起使用,效果更好 獲取需求獲取需求信息的方法信息的方法11 面對面訪談面對面訪談12面對面訪談面對面訪談 需求獲取中最直接的方法:需求獲取中最直接的方法: 用戶面談用戶面談(interviewing)(interviewing), “看起來很容易看起來很容易”, 但但“做起卻很難做起卻很難”。面談中存在以下問題。面談中存在以下問題: :n交流障礙、溝通不全、交流障礙、溝通不全、對問題的理解不深入或?qū)栴}的理解不深入或 有偏見。有偏見。n缺少經(jīng)驗(yàn)缺少經(jīng)驗(yàn), ,不能主動、深入挖掘問題。不能主動、深入挖掘問題。n意見沖突意見沖突,不虛心聽取別人的意見不虛心聽取別人的意見。n認(rèn)

11、為用戶不懂得計(jì)算機(jī)和程序認(rèn)為用戶不懂得計(jì)算機(jī)和程序心態(tài)心態(tài)13如何提問?如何提問?n封閉式問題:封閉式問題:q對錯(cuò)判斷或多項(xiàng)選擇題,回答只需對錯(cuò)判斷或多項(xiàng)選擇題,回答只需 要一兩個(gè)詞要一兩個(gè)詞 “每個(gè)人都能提問題,每個(gè)人都能提問題,但并不等于人人但并不等于人人都會提問題都會提問題”n開放式問題:開放式問題:q這種問題需要解釋和說明,同時(shí)向這種問題需要解釋和說明,同時(shí)向 對方表示你對他們說的話很感興趣,對方表示你對他們說的話很感興趣, 還想了解更多的內(nèi)容。還想了解更多的內(nèi)容。 n通過提問題增強(qiáng)你對談話進(jìn)展和方向通過提問題增強(qiáng)你對談話進(jìn)展和方向 的控制的控制n問題不能過于寬泛問題不能過于寬泛n最開

12、始的問題不能太難最開始的問題不能太難n談話之前有意識的準(zhǔn)備一些備用問題談話之前有意識的準(zhǔn)備一些備用問題n不能在提問之前就已經(jīng)表示不贊同不能在提問之前就已經(jīng)表示不贊同14訪談問題的分類訪談問題的分類n上下文無關(guān)的問題上下文無關(guān)的問題(context-free questions)(context-free questions): 充分理解用戶的問題,不涉及具體的解決方案充分理解用戶的問題,不涉及具體的解決方案q客戶是誰?客戶是誰?q最終用戶是誰?最終用戶是誰?q不同用戶的需求是否不同?不同用戶的需求是否不同?q這種需求目前的解決方案是什么?這種需求目前的解決方案是什么?n解決方案相關(guān)的問題解決方

13、案相關(guān)的問題(solution-context questions)(solution-context questions): 通過這類問題,探尋特定的解決方案并得到用戶通過這類問題,探尋特定的解決方案并得到用戶 認(rèn)可認(rèn)可q你希望如何解決這個(gè)問題?你希望如何解決這個(gè)問題?q你覺得該問題這樣解決如何?你覺得該問題這樣解決如何?15面談之前面談之前n確立面談確立面談目的目的n確定要包括的確定要包括的相關(guān)用戶相關(guān)用戶n確定參加會議的項(xiàng)目小組確定參加會議的項(xiàng)目小組成員成員n建立要討論的問題和要點(diǎn)建立要討論的問題和要點(diǎn)列表列表n復(fù)查復(fù)查有關(guān)文檔和資料有關(guān)文檔和資料n確立確立時(shí)間和地點(diǎn)時(shí)間和地點(diǎn)n通知通知

14、所有參加者有關(guān)會議的目的、時(shí)間和地點(diǎn)所有參加者有關(guān)會議的目的、時(shí)間和地點(diǎn)16面談之中面談之中nStep 1Step 1:事先事先準(zhǔn)備準(zhǔn)備一系列上下文無關(guān)的問題,并一系列上下文無關(guān)的問題,并 將其記錄下來以便面談時(shí)參考;將其記錄下來以便面談時(shí)參考;nStep 2Step 2:面談前,面談前,了解了解一下要面談的客戶公司的一下要面談的客戶公司的 背景資料,不要選擇自己能回答的問題背景資料,不要選擇自己能回答的問題 而浪費(fèi)時(shí)間;而浪費(fèi)時(shí)間;nStep 3Step 3:面談過程中,參考事先準(zhǔn)備的面談模板,面談過程中,參考事先準(zhǔn)備的面談模板, 以保證提出的問題是正確的。將答案以保證提出的問題是正確的。將

15、答案記記 錄錄到紙面上,并指出和記錄下到紙面上,并指出和記錄下未回答條未回答條 目和未解決問題;目和未解決問題;nStep 4Step 4:面談之后,面談之后,分析總結(jié)分析總結(jié)面談記錄。面談記錄。17面談之后面談之后n復(fù)查復(fù)查筆記的準(zhǔn)確性、完整性和可理解性筆記的準(zhǔn)確性、完整性和可理解性n把所收集的信息把所收集的信息轉(zhuǎn)化轉(zhuǎn)化為適當(dāng)?shù)哪P秃臀臋n為適當(dāng)?shù)哪P秃臀臋nn確定需要進(jìn)一步確定需要進(jìn)一步澄清澄清的問題域的問題域n向參加會議的每一個(gè)人向參加會議的每一個(gè)人發(fā)出發(fā)出此次面談的此次面談的minutes(minutes(會議紀(jì)要會議紀(jì)要) )。18面談記錄的示例面談記錄的示例(1)(1) 第第1 1部分

16、:建立客戶或用戶情況表部分:建立客戶或用戶情況表第第2 2部分:評估問題部分:評估問題q詢問用戶對哪些類型的問題缺乏好的解決方案詢問用戶對哪些類型的問題缺乏好的解決方案q它們是什么?它們是什么?( (不斷的問不斷的問“還有嗎?還有嗎?”) )第第3 3部分:理解用戶環(huán)境部分:理解用戶環(huán)境q誰是用戶?他們的經(jīng)歷和經(jīng)驗(yàn)如何?用戶的預(yù)期誰是用戶?他們的經(jīng)歷和經(jīng)驗(yàn)如何?用戶的預(yù)期 如何?如何?第第4 4部分:扼要說明理解情況部分:扼要說明理解情況q你剛才告訴我:你剛才告訴我:( (用自己的話復(fù)述客戶描述的問題用自己的話復(fù)述客戶描述的問題) )q這是否足以表達(dá)你現(xiàn)在的解決方案中存在的問題?這是否足以表達(dá)

17、你現(xiàn)在的解決方案中存在的問題?q如果有,你還有什么問題?如果有,你還有什么問題?19面談記錄的示例面談記錄的示例(2)(2) 第第5 5部分:分析人員對客戶問題的提問部分:分析人員對客戶問題的提問q對每個(gè)問題進(jìn)行以下提問:對每個(gè)問題進(jìn)行以下提問:n這是一個(gè)實(shí)際的問題嗎?這是一個(gè)實(shí)際的問題嗎?n問題產(chǎn)生的原因是什么?問題產(chǎn)生的原因是什么?n現(xiàn)在如何解決的?現(xiàn)在如何解決的?n希望如何解決?希望如何解決?n該問題的重要程度如何?該問題的重要程度如何?第第6 6部分:評估自己的解決方案部分:評估自己的解決方案q總結(jié)自己建議的解決方案;總結(jié)自己建議的解決方案;q對自己方案的優(yōu)先級排序;對自己方案的優(yōu)先級

18、排序;第第7 7部分:評估機(jī)會部分:評估機(jī)會第第8 8部分:評估可靠性、性能及其他需要部分:評估可靠性、性能及其他需要20面談記錄的示例面談記錄的示例(3)(3)第第9 9部分:其他需求部分:其他需求q法律法規(guī)、環(huán)境、行業(yè)標(biāo)準(zhǔn)等;法律法規(guī)、環(huán)境、行業(yè)標(biāo)準(zhǔn)等;對于你們已經(jīng)確定的項(xiàng)目對于你們已經(jīng)確定的項(xiàng)目, ,進(jìn)行角色扮演為客進(jìn)行角色扮演為客戶方戶方, ,用戶方用戶方, ,開發(fā)方開發(fā)方, ,通過面談來獲得需求。通過面談來獲得需求。第第1010部分:總結(jié)性提問部分:總結(jié)性提問q還有其他問題要問面談人嗎?還有其他問題要問面談人嗎?q尚未解決的問題有哪些?尚未解決的問題有哪些?q下次訪談的方式、地點(diǎn)、時(shí)

19、間、參加人等;下次訪談的方式、地點(diǎn)、時(shí)間、參加人等;第第1111部分:分析人員的總結(jié)部分:分析人員的總結(jié)q總結(jié)出客戶總結(jié)出客戶/ /用戶確認(rèn)的幾條優(yōu)先級最高的需求或用戶確認(rèn)的幾條優(yōu)先級最高的需求或 問題。問題。21面對面訪談的優(yōu)缺點(diǎn)分析面對面訪談的優(yōu)缺點(diǎn)分析n優(yōu)點(diǎn):優(yōu)點(diǎn): 直接了解用戶直接了解用戶,得到第一首材料得到第一首材料。n缺點(diǎn):缺點(diǎn):q需求工程師難以理解專業(yè)術(shù)語和需求工程師難以理解專業(yè)術(shù)語和“行話行話”,容,容 易造成很多易造成很多誤解誤解。q用戶不自覺地認(rèn)為某些需求太普通,太基本,用戶不自覺地認(rèn)為某些需求太普通,太基本, 不值得去提。但它們對需求工程師來說卻不不值得去提。但它們對需求

20、工程師來說卻不 是顯而易見的。這使得某些需求是顯而易見的。這使得某些需求被忽略。被忽略。22n專題討論會準(zhǔn)備專題討論會準(zhǔn)備q參加會議人員:主持人、用戶、技術(shù)人員、參加會議人員:主持人、用戶、技術(shù)人員、 項(xiàng)目組人員項(xiàng)目組人員q安排日程安排日程q通常在具有相應(yīng)支持設(shè)備的專用房間進(jìn)行通常在具有相應(yīng)支持設(shè)備的專用房間進(jìn)行需求研討會需求研討會 (Workshop) 獲取需求信息的方法獲取需求信息的方法 面對面訪談面對面訪談n舉行會議舉行會議q主持人掌握討論氣氛并控制會場主持人掌握討論氣氛并控制會場q自由討論階段,營造一種創(chuàng)造性的和積極自由討論階段,營造一種創(chuàng)造性的和積極 的氛圍,獲得所有相關(guān)者的意見的氛

21、圍,獲得所有相關(guān)者的意見q分配會議時(shí)間,記錄所有言論分配會議時(shí)間,記錄所有言論23 需求研討會會議需求研討會會議圖圖 4-5 4-5 參加會議人員參加會議人員24需求研討會需求研討會(Workshop)(Workshop) Figure 4-6High-Tech JAD Facility25需求研討會需求研討會(Workshop)(Workshop)n聯(lián)合應(yīng)用設(shè)計(jì)會議聯(lián)合應(yīng)用設(shè)計(jì)會議(Joint Application Design,(Joint Application Design, JAD) JAD)。讓項(xiàng)目的所有成員參加會議。讓項(xiàng)目的所有成員參加會議, ,定義需求或定義需求或 設(shè)計(jì)系統(tǒng),

22、設(shè)計(jì)系統(tǒng),n會議一般為會議一般為1 1至至2 2天,與會者暢所欲言天,與會者暢所欲言, , 在在應(yīng)用需應(yīng)用需 求上達(dá)成共識求上達(dá)成共識、對操作過程盡快取得統(tǒng)一意見。、對操作過程盡快取得統(tǒng)一意見。n促進(jìn)用戶與開發(fā)團(tuán)隊(duì)之間促進(jìn)用戶與開發(fā)團(tuán)隊(duì)之間達(dá)成共識達(dá)成共識;n揭露和解決揭露和解決妨礙項(xiàng)目成功的問題;妨礙項(xiàng)目成功的問題;n快速產(chǎn)生快速產(chǎn)生初步的系統(tǒng)定義。初步的系統(tǒng)定義。26n觀察用戶的工作流程觀察用戶的工作流程,了解基本商業(yè)需求了解基本商業(yè)需求, ,理解商業(yè)理解商業(yè) 功能功能, ,獲得對商業(yè)過程和規(guī)則的全面理解。獲得對商業(yè)過程和規(guī)則的全面理解。 現(xiàn)場觀察現(xiàn)場觀察 (Observe)nWorkfl

23、ows :工作流是處理商業(yè)事務(wù)的一系列步驟。工作流是處理商業(yè)事務(wù)的一系列步驟。 提供了一種用來描述組件和參與者之間復(fù)提供了一種用來描述組件和參與者之間復(fù)雜雜的交互關(guān)系的方法。的交互關(guān)系的方法。 n兩種方式:兩種方式:q被動觀察:需求分析人員被動觀察:需求分析人員觀看觀看用戶的工作用戶的工作q主動觀察:需求分析人員直接主動觀察:需求分析人員直接參與參與用戶的工作用戶的工作 獲取需求信息的方法獲取需求信息的方法 面對面訪談面對面訪談 需求研討會需求研討會27客戶客戶 銷售銷售 技術(shù)專家技術(shù)專家 系統(tǒng)系統(tǒng)不需要幫助不需要幫助需求不變需求不變圖圖 4-7 計(jì)算產(chǎn)品報(bào)價(jià)的計(jì)算產(chǎn)品報(bào)價(jià)的作流程作流程需要幫

24、助需要幫助詢問報(bào)價(jià)詢問報(bào)價(jià)制定需制定需求記錄求記錄檢查需求檢查需求將數(shù)據(jù)將數(shù)據(jù)錄入系統(tǒng)錄入系統(tǒng)計(jì)算計(jì)算報(bào)價(jià)報(bào)價(jià)將數(shù)據(jù)將數(shù)據(jù)錄入系統(tǒng)錄入系統(tǒng)復(fù)查報(bào)價(jià)復(fù)查報(bào)價(jià)接受訂單接受訂單需求變化需求變化28頭腦風(fēng)暴頭腦風(fēng)暴回答回答: :鉛筆有什么用途?鉛筆有什么用途? 獲取需求信息的方法獲取需求信息的方法 面對面訪談面對面訪談 需求研討會需求研討會 現(xiàn)場觀察現(xiàn)場觀察29頭腦風(fēng)暴頭腦風(fēng)暴(Brainstorming)(Brainstorming)n一般以一般以8-128-12人最佳人最佳n明確分工:明確分工:1 1名主持人、名主持人、 2 2名記錄員名記錄員n成功要點(diǎn):成功要點(diǎn):q自由暢談自由暢談q發(fā)表見解發(fā)表

25、見解q追求數(shù)量追求數(shù)量n會后:修剪、會后:修剪、 分組、分組、 排序排序30圖圖 4-8 收集信息和建模關(guān)系收集信息和建模關(guān)系 (3) (3) 獲取需求獲取需求信息和建模關(guān)系信息和建模關(guān)系 分發(fā)調(diào)查問卷分發(fā)調(diào)查問卷和用戶面談和用戶面談 復(fù)查現(xiàn)有文檔復(fù)查現(xiàn)有文檔觀察商觀察商業(yè)過程業(yè)過程獲取并理解獲取并理解系統(tǒng)的需求系統(tǒng)的需求和限制和限制達(dá)成共識,達(dá)成共識,產(chǎn)生系統(tǒng)定義產(chǎn)生系統(tǒng)定義進(jìn)一步理解系進(jìn)一步理解系 統(tǒng)的功能及規(guī)則統(tǒng)的功能及規(guī)則開發(fā)系統(tǒng)開發(fā)系統(tǒng) 需求和模型需求和模型(2)(2)獲取需求信獲取需求信 息的方法息的方法(1)(1)思想思想: : 開討論會開討論會頭腦風(fēng)暴頭腦風(fēng)暴31需求分析階段的

26、活動需求分析階段的活動 活動活動產(chǎn)出物產(chǎn)出物需求開發(fā)需求開發(fā)會議紀(jì)要會議紀(jì)要討論紀(jì)要討論紀(jì)要分析模型分析模型需求規(guī)格需求規(guī)格說明書說明書審核通過的審核通過的規(guī)格說明書規(guī)格說明書需求分析階段的活動需求分析階段的活動 需求管理需求管理需需求求獲取獲取需求分析需求分析 與建模與建模規(guī)格規(guī)格說明說明需求需求驗(yàn)證驗(yàn)證32 1) 1) 需求分析的相關(guān)者需求分析的相關(guān)者 2) 2) 結(jié)構(gòu)化分析的思想結(jié)構(gòu)化分析的思想 3) Davis3) Davis的需求分析指導(dǎo)性原則的需求分析指導(dǎo)性原則 4) 4) 需求分析的步驟需求分析的步驟 5) 5) 加快對需求理解的幾種技術(shù)加快對需求理解的幾種技術(shù) 4.3.2 4.

27、3.2 需求分析需求分析 (requirement analysis)requirement analysis)4.3.1 需求獲取需求獲取33n需求分析需求分析:對收集到的需求進(jìn)行:對收集到的需求進(jìn)行提煉、分析和提煉、分析和 審查審查,為最終用戶所看到的系統(tǒng)建立,為最終用戶所看到的系統(tǒng)建立( (概念化概念化) ) 分析模型。分析模型。n本質(zhì):本質(zhì):4.3.2 4.3.2 需求分析需求分析(requirement analysis)requirement analysis)抽象、映射、轉(zhuǎn)換抽象、映射、轉(zhuǎn)換用戶用戶的的需求需求軟件需求模型軟件需求模型q定義系統(tǒng)的邊界定義系統(tǒng)的邊界q分析需求類型分

28、析需求類型q確定需求優(yōu)先級確定需求優(yōu)先級q建立需求分析模型建立需求分析模型34 本課講述結(jié)構(gòu)化分析本課講述結(jié)構(gòu)化分析(structure analysis,analysis,SA)方法方法n最早產(chǎn)生于七十年代中期,八十年代開始成為最早產(chǎn)生于七十年代中期,八十年代開始成為 主流。主流。 qYourdonYourdon于于19891989年出版年出版 Modern Structured AnalysisModern Structured Analysisn結(jié)構(gòu)化結(jié)構(gòu)化分析分析起源于結(jié)構(gòu)化程序設(shè)計(jì)語言。起源于結(jié)構(gòu)化程序設(shè)計(jì)語言。 事先設(shè)計(jì)好事先設(shè)計(jì)好每一個(gè)每一個(gè)具體的功能模塊,然后具體的功能模塊,然

29、后 將這些設(shè)計(jì)好的模塊將這些設(shè)計(jì)好的模塊組裝成組裝成一個(gè)軟件系統(tǒng)。一個(gè)軟件系統(tǒng)。 35圖圖 4-9 需求分析相關(guān)者需求分析相關(guān)者客戶、用戶客戶、用戶管理人員管理人員軟件開發(fā)小組軟件開發(fā)小組分析人員分析人員1) 1) 需求分析的相關(guān)者需求分析的相關(guān)者36 (1) (1) 抽象抽象:透過現(xiàn)象看本質(zhì)透過現(xiàn)象看本質(zhì)抓住事物的本質(zhì)(要素)抓住事物的本質(zhì)(要素), ,捕獲問題空間捕獲問題空間 的的“一般一般/ /特殊特殊”關(guān)系是關(guān)系是認(rèn)識認(rèn)識 、構(gòu)造、構(gòu)造問題的問題的 一般途徑。一般途徑。 需求活動需求活動-需求的獲取需求的獲取2) 2) 結(jié)構(gòu)化分析的思想結(jié)構(gòu)化分析的思想n自頂向下逐層分解自頂向下逐層分解

30、(top-down)(top-down)地理特征地理特征區(qū)域區(qū)域點(diǎn)點(diǎn)線線城市城市濕地濕地山脈山脈草原草原海洋海洋水壩水壩建筑建筑橋梁橋梁機(jī)場機(jī)場水上水上陸上陸上碼頭碼頭公路公路輸油管輸油管 鐵路鐵路輸電線輸電線河流河流物質(zhì)物質(zhì)精神精神世界世界37分離問題分離問題, ,捕獲問題空間的捕獲問題空間的 “整體整體/ /部分部分”關(guān)系是關(guān)系是降低問題降低問題 復(fù)雜性復(fù)雜性的基本途徑之一的基本途徑之一。 整個(gè)整個(gè)問題問題問題的深度問題的深度問題的廣度問題的廣度問題的深度問題的深度問題的廣度問題的廣度子子問題問題1 1問題的深度問題的深度問題的廣度問題的廣度按問題深度按問題深度分而治之分而治之按問題廣度按

31、問題廣度分而治之分而治之子子問題問題2 2子子問題問題3 3子子問問題題1 1子子問問題題2 2子子問問題題3 3圖圖 4-10 問題的分解問題的分解(2) (2) 劃分:分而治之劃分:分而治之38 (3) (3) 多視圖:多視圖:從不同視角看問題從不同視角看問題( (投影投影) )捕獲并建立問題空間的多維捕獲并建立問題空間的多維“視圖視圖”是是描描 述問題述問題的基本手段之一的基本手段之一, ,是解決是解決“A A是是B B, B B是是A A” 的基本方法的基本方法. .圖圖 4-11 多視圖多視圖39 (4) (4) 自悟自悟(Introspection)(Introspection):

32、 具有領(lǐng)域和過程方面的知識具有領(lǐng)域和過程方面的知識, ,具有良好具有良好 的想象能力。的想象能力。 (5) (5) 提煉提煉(Extraction)(Extraction): 提煉方法是針對已經(jīng)有了部分需求文提煉方法是針對已經(jīng)有了部分需求文 檔的情況,通過提練,復(fù)審有代表性的文檔的情況,通過提練,復(fù)審有代表性的文 檔。檔。40 分析問題和需求的能力取決于分析問題和需求的能力取決于 分析人員的分析人員的思維思維和和經(jīng)驗(yàn)經(jīng)驗(yàn)。 經(jīng)驗(yàn)來源于:經(jīng)驗(yàn)來源于:p 開發(fā)了一些軟件并善于開發(fā)了一些軟件并善于總結(jié)總結(jié)- -創(chuàng)新與教訓(xùn)創(chuàng)新與教訓(xùn)p 跟蹤跟蹤最新技術(shù)。最新技術(shù)。 思維來源于思維來源于:嚴(yán)謹(jǐn)、邏輯和嚴(yán)

33、謹(jǐn)、邏輯和“活躍活躍”的思考習(xí)慣。的思考習(xí)慣。p 嚴(yán)謹(jǐn)嚴(yán)謹(jǐn)要求思考的對象應(yīng)該是不放過任何一要求思考的對象應(yīng)該是不放過任何一 個(gè)個(gè)“小小”問題問題 p 邏輯邏輯要求思考的過程應(yīng)該是一種要求思考的過程應(yīng)該是一種符合規(guī)則符合規(guī)則 的的推導(dǎo)推導(dǎo)過過程程p 活躍活躍思維要求思考的方式應(yīng)該是思維要求思考的方式應(yīng)該是并行并行的,的, 即不是僅一個(gè)角度,而是即不是僅一個(gè)角度,而是多個(gè)角度多個(gè)角度來思來思 考問題考問題41 Z 建立分析模型前先建立分析模型前先理解問題理解問題3) DavisDAV95A3) DavisDAV95A的需求分析指導(dǎo)性原則:的需求分析指導(dǎo)性原則: Z 為開發(fā)人機(jī)交互建立為開發(fā)人機(jī)交互

34、建立原型原型 Z 記錄每個(gè)原型的起源及記錄每個(gè)原型的起源及原因原因 Z 使用使用多個(gè)需求視圖多個(gè)需求視圖 Z 給需求賦予給需求賦予優(yōu)先級優(yōu)先級 Z 努力刪除努力刪除歧義性歧義性 42n問題的一般解決過程問題的一般解決過程待解決問題的認(rèn)識待解決問題的認(rèn)識 領(lǐng)域的術(shù)語、知識領(lǐng)域的術(shù)語、知識,類似問題的解決類似問題的解決無關(guān)的信息與使無關(guān)的信息與使人誤解的信息人誤解的信息問題的闡述問題的闡述問題的分析問題的分析尋找解決途徑尋找解決途徑報(bào)告及資料設(shè)計(jì)報(bào)告及資料設(shè)計(jì)( (文檔文檔) )實(shí)現(xiàn)實(shí)現(xiàn)設(shè)計(jì)規(guī)格說明設(shè)計(jì)規(guī)格說明問題細(xì)節(jié)定義問題細(xì)節(jié)定義(規(guī)格、限制、準(zhǔn)則規(guī)格、限制、準(zhǔn)則)圖圖 4-12 問題的一般解

35、決過程問題的一般解決過程 4) 4) 需求分析的步驟需求分析的步驟43l 發(fā)現(xiàn)和記錄初始的或原始的需求。在此,應(yīng)發(fā)現(xiàn)和記錄初始的或原始的需求。在此,應(yīng) 該開發(fā)該開發(fā)概念文檔概念文檔。還應(yīng)該標(biāo)識其它需求源,。還應(yīng)該標(biāo)識其它需求源, 并記錄它們的需求。并記錄它們的需求。 4) 4) 需求分析的步驟需求分析的步驟2) 2) 基本思想基本思想3) 3) 指導(dǎo)性原則指導(dǎo)性原則4.3.2 需求分析需求分析(1) (1) 發(fā)現(xiàn)初始需求發(fā)現(xiàn)初始需求l 分析并分析并驗(yàn)證初始需求驗(yàn)證初始需求是否有效是否有效的、正確的的、正確的。 發(fā)現(xiàn)問題發(fā)現(xiàn)問題, ,及時(shí)及時(shí)進(jìn)行修訂。進(jìn)行修訂。 l 基于對初始需求的分析,開發(fā)最

36、終的技術(shù)規(guī)基于對初始需求的分析,開發(fā)最終的技術(shù)規(guī) 約,并建立相應(yīng)的約,并建立相應(yīng)的需求文檔。需求文檔。需求引出需求引出1) 1) 相關(guān)者相關(guān)者44 例例 大學(xué)課程大學(xué)課程注冊注冊系統(tǒng)系統(tǒng)需求需求: :(1) (1) 每個(gè)大學(xué)都有若干必修課、選修課每個(gè)大學(xué)都有若干必修課、選修課 (2) (2) 每門課都有一個(gè)級別每門課都有一個(gè)級別, ,且有學(xué)分值且有學(xué)分值 (3) (3) 同一門課程可以是若干學(xué)位的一部分同一門課程可以是若干學(xué)位的一部分 (4) (4) 完成學(xué)分值完成學(xué)分值( (包括必修課包括必修課) 32) 32學(xué)分學(xué)分 (5) (5) 學(xué)生可任選學(xué)習(xí)程序?qū)W生可任選學(xué)習(xí)程序, ,完成注冊學(xué)位完

37、成注冊學(xué)位附加的需求附加的需求(1) (1) 學(xué)生選課的約束條件學(xué)生選課的約束條件: :時(shí)間表沖突時(shí)間表沖突, ,人數(shù)限制的約束人數(shù)限制的約束。 (2) (2) 輸入學(xué)生的學(xué)習(xí)計(jì)劃到注冊系統(tǒng)中并檢查一致性輸入學(xué)生的學(xué)習(xí)計(jì)劃到注冊系統(tǒng)中并檢查一致性, , 報(bào)告存在的問題報(bào)告存在的問題, ,并在學(xué)術(shù)指導(dǎo)下解決并在學(xué)術(shù)指導(dǎo)下解決, ,最終的學(xué)最終的學(xué) 習(xí)程序經(jīng)院領(lǐng)導(dǎo)批準(zhǔn)習(xí)程序經(jīng)院領(lǐng)導(dǎo)批準(zhǔn), ,并由注冊人備案并由注冊人備案。(3) (3) 學(xué)生留有注冊記錄學(xué)生留有注冊記錄。 (4) (4) 每門課程由一位老師負(fù)責(zé)每門課程由一位老師負(fù)責(zé)。45需求分析的步驟需求分析的步驟(2) (2) 對問題進(jìn)行對問題進(jìn)

38、行討論討論 理解問題背后的問題理解問題背后的問題在定義上達(dá)成在定義上達(dá)成共識共識1太多太多廢品廢品不正確銷售訂單不正確銷售訂單運(yùn)輸損耗運(yùn)輸損耗用戶退貨用戶退貨成品折舊成品折舊制造缺陷制造缺陷其它其它42536圖圖 4-13 太多廢品原因的魚骨圖太多廢品原因的魚骨圖(1 1)發(fā)現(xiàn)初始需求)發(fā)現(xiàn)初始需求練習(xí)練習(xí): 用魚骨圖描述學(xué)習(xí)好用魚骨圖描述學(xué)習(xí)好 / 差的原因差的原因46圖圖 4-14 4-14 根本原因的帕雷托圖根本原因的帕雷托圖6060根本原因的另一種圖示法根本原因的另一種圖示法不正確銷售訂單不正確銷售訂單運(yùn)輸損耗運(yùn)輸損耗用戶退貨用戶退貨成品折舊成品折舊制造缺陷制造缺陷其它其它505040

39、302010023456147 用用 戶戶 其他風(fēng)險(xiǎn)承擔(dān)人其他風(fēng)險(xiǎn)承擔(dān)人 銷售訂單輸入人員銷售訂單輸入人員(生產(chǎn)率、工作效率、滿意(生產(chǎn)率、工作效率、滿意 度)度) MIS MIS主管及開發(fā)團(tuán)隊(duì)主管及開發(fā)團(tuán)隊(duì)(對系統(tǒng)開發(fā)和維護(hù)有直接(對系統(tǒng)開發(fā)和維護(hù)有直接 責(zé)任)責(zé)任) 銷售訂單監(jiān)督員銷售訂單監(jiān)督員(有用戶界面、報(bào)告訪問系(有用戶界面、報(bào)告訪問系 統(tǒng))統(tǒng)) 首席財(cái)務(wù)官首席財(cái)務(wù)官(對公司生產(chǎn)力質(zhì)量、收益(對公司生產(chǎn)力質(zhì)量、收益 負(fù)責(zé))負(fù)責(zé)) 生產(chǎn)控制人員生產(chǎn)控制人員 ( (進(jìn)度等控制進(jìn)度等控制) )生產(chǎn)管理人員生產(chǎn)管理人員(質(zhì)量的好(質(zhì)量的好 壞)壞) 單據(jù)人員單據(jù)人員( (核實(shí)數(shù)據(jù)核實(shí)數(shù)據(jù))

40、)表表 4-2 4-2 訂單系統(tǒng)的用戶及風(fēng)險(xiǎn)承擔(dān)人表訂單系統(tǒng)的用戶及風(fēng)險(xiǎn)承擔(dān)人表需求活動需求活動 需求分析需求分析 (3) (3) 確定風(fēng)險(xiǎn)承擔(dān)人和用戶確定風(fēng)險(xiǎn)承擔(dān)人和用戶步驟步驟:(1):(1)發(fā)現(xiàn)初始需求發(fā)現(xiàn)初始需求 (2) (2) 對問題進(jìn)行討論對問題進(jìn)行討論48用例的概念在用例的概念在1986年年由由Ivar Jacobson正式正式提出之后被廣泛接受,提出之后被廣泛接受,迅速發(fā)展,已成為迅速發(fā)展,已成為OO、UML、RUP的標(biāo)準(zhǔn)規(guī)的標(biāo)準(zhǔn)規(guī)范和方法。范和方法。(4) (4) 定義系統(tǒng)的邊界定義系統(tǒng)的邊界( (面向?qū)ο笳n中詳細(xì)講述面向?qū)ο笳n中詳細(xì)講述) )使用使用“用例(use case

41、)use case)”技術(shù)進(jìn)一步啟發(fā)需技術(shù)進(jìn)一步啟發(fā)需求求需求分析需求分析步驟步驟n用例方法的思想:用例方法的思想: 從用戶的角度來看,他從用戶的角度來看,他 們并不想了解系統(tǒng)的內(nèi)部結(jié)們并不想了解系統(tǒng)的內(nèi)部結(jié) 構(gòu)和設(shè)計(jì),他們所關(guān)心的是構(gòu)和設(shè)計(jì),他們所關(guān)心的是 系統(tǒng)所能提供的服務(wù)系統(tǒng)所能提供的服務(wù),也就,也就 是被開發(fā)出來的系統(tǒng)將是如是被開發(fā)出來的系統(tǒng)將是如 何何被使用被使用的。的。參與者參與者用例用例通訊關(guān)通訊關(guān) 聯(lián)聯(lián)圖圖 4-15 use case圖圖系統(tǒng)外部系統(tǒng)外部并與該系并與該系統(tǒng)發(fā)生交統(tǒng)發(fā)生交互的人或互的人或其他系統(tǒng)其他系統(tǒng)系統(tǒng)基本系統(tǒng)基本事件流事件流49例例1 1:ATMATM系統(tǒng)的

42、用例系統(tǒng)的用例n參與者:銀行客戶參與者:銀行客戶n用例:銀行客戶使用自動提款機(jī)來進(jìn)行銀行帳戶用例:銀行客戶使用自動提款機(jī)來進(jìn)行銀行帳戶 的查詢、提款和轉(zhuǎn)帳交易的查詢、提款和轉(zhuǎn)帳交易銀行客戶銀行客戶 查詢查詢?nèi)】钊】钷D(zhuǎn)帳轉(zhuǎn)帳存款存款圖圖 4-16 ATMATM系統(tǒng)的用例系統(tǒng)的用例50銀行客戶銀行客戶維護(hù)人員維護(hù)人員后臺服務(wù)器后臺服務(wù)器例:例:ATM系統(tǒng),有哪些參與者和用例?系統(tǒng),有哪些參與者和用例?q銀行客戶銀行客戶n查詢查詢n存款、取款存款、取款n轉(zhuǎn)賬轉(zhuǎn)賬用用 例例qATMATM維護(hù)人員維護(hù)人員n維護(hù)系統(tǒng)維護(hù)系統(tǒng)q后臺服務(wù)器后臺服務(wù)器n周期性操作周期性操作圖圖 4-17 ATMATM系統(tǒng)的參與

43、者和用例系統(tǒng)的參與者和用例51ATM系統(tǒng)的參與者與角色之間的通訊關(guān)聯(lián)系統(tǒng)的參與者與角色之間的通訊關(guān)聯(lián)銀行客戶銀行客戶查詢查詢存、取款存、取款轉(zhuǎn)帳轉(zhuǎn)帳后臺服務(wù)器后臺服務(wù)器系統(tǒng)時(shí)鐘系統(tǒng)時(shí)鐘周期性任務(wù)周期性任務(wù)操作員操作員維護(hù)系統(tǒng)維護(hù)系統(tǒng)圖圖 4-18 ATM4-18 ATM系統(tǒng)的參與者與角色之間的通訊關(guān)聯(lián)系統(tǒng)的參與者與角色之間的通訊關(guān)聯(lián)參與者確定用例參與者確定用例參與者與用例對應(yīng)參與者與用例對應(yīng)n系統(tǒng)內(nèi)部定時(shí)的執(zhí)行系統(tǒng)內(nèi)部定時(shí)的執(zhí)行 一些操作,但這些操一些操作,但這些操 作并不是由外部的人作并不是由外部的人 或系統(tǒng)觸發(fā)的?;蛳到y(tǒng)觸發(fā)的。52 描述如下:描述如下: 在圖書管理系統(tǒng)中,要為每個(gè)在圖書管

44、理系統(tǒng)中,要為每個(gè)借閱者借閱者建立一個(gè)建立一個(gè)賬號,并給借閱者發(fā)放借閱卡(借閱卡可以提供借賬號,并給借閱者發(fā)放借閱卡(借閱卡可以提供借閱卡號、借閱者名)閱卡號、借閱者名). . 賬戶中存儲借閱者的個(gè)人信息,借閱信息以及賬戶中存儲借閱者的個(gè)人信息,借閱信息以及預(yù)定信息。預(yù)定信息。 例例2 2圖書館圖書管理系統(tǒng)的分析圖書館圖書管理系統(tǒng)的分析 持有借閱卡的借閱者可以持有借閱卡的借閱者可以借借閱書刊、返閱書刊、返還還書刊、書刊、查查閱書刊信息、閱書刊信息、預(yù)定預(yù)定書刊并書刊并取消預(yù)定取消預(yù)定,但這些操作都是通過但這些操作都是通過圖書管理員圖書管理員進(jìn)行的,也即進(jìn)行的,也即借閱者不直接與系統(tǒng)交互,而是圖

45、書管理員充借閱者不直接與系統(tǒng)交互,而是圖書管理員充當(dāng)借閱者的代理與系統(tǒng)交互。當(dāng)借閱者的代理與系統(tǒng)交互。53&在借閱書刊時(shí),需要在借閱書刊時(shí),需要輸入輸入: : 所借閱的書刊名、書刊的所借閱的書刊名、書刊的ISBN/ISSNISBN/ISSN號,號, 然后輸入借閱者的圖書卡號和借閱者名,然后輸入借閱者的圖書卡號和借閱者名, 完成后提交所填表格,完成后提交所填表格, 系統(tǒng)驗(yàn)證借閱者是否有效(在系統(tǒng)中存在賬號)。系統(tǒng)驗(yàn)證借閱者是否有效(在系統(tǒng)中存在賬號)。 若有效,借閱請求被接受,系統(tǒng)若有效,借閱請求被接受,系統(tǒng)查詢查詢數(shù)據(jù)數(shù)據(jù)庫系統(tǒng),看借閱者所借閱的書刊是否存在,若庫系統(tǒng),看借閱者所借閱的

46、書刊是否存在,若存在,則借閱者可以存在,則借閱者可以借出借出書刊,建立并在系統(tǒng)書刊,建立并在系統(tǒng)中中存儲存儲借閱紀(jì)錄。借閱紀(jì)錄。54& 借閱者借閱者還書后還書后, 刪除刪除關(guān)于所還書刊的借閱紀(jì)錄。關(guān)于所還書刊的借閱紀(jì)錄。& 如果借閱者所借的書刊已被借出,借閱者還如果借閱者所借的書刊已被借出,借閱者還 可可預(yù)訂預(yù)訂該書刊,一旦借閱者預(yù)定的書刊可以獲該書刊,一旦借閱者預(yù)定的書刊可以獲 得,就將書刊直接寄給借閱人(得,就將書刊直接寄給借閱人(為了簡化系為了簡化系 統(tǒng),預(yù)定書刊可獲得時(shí)就不通知借閱者了統(tǒng),預(yù)定書刊可獲得時(shí)就不通知借閱者了)。)。 另外,另外,為了簡化系統(tǒng),也不考慮書刊的

47、最長為了簡化系統(tǒng),也不考慮書刊的最長 借閱期限借閱期限,假設(shè)借閱者可以無限期地保存所,假設(shè)借閱者可以無限期地保存所 借閱的書刊。借閱的書刊。55對上述圖書館圖書管理系統(tǒng)的描述進(jìn)行對上述圖書館圖書管理系統(tǒng)的描述進(jìn)行分析分析 獲得如下獲得如下功能性需求功能性需求: (1)(1) 圖書管理員可以圖書管理員可以創(chuàng)建新的借閱者賬號創(chuàng)建新的借閱者賬號。 (2 2)借閱者持有)借閱者持有借閱卡借閱卡(借閱者名和借閱卡號)。(借閱者名和借閱卡號)。 (3 3)圖書管理員作為借閱者的代理)圖書管理員作為借閱者的代理借書借書。 (4 4)圖書管理員作為借閱者的代理)圖書管理員作為借閱者的代理預(yù)訂預(yù)訂書刊。書刊。

48、(5 5)圖書管理員作為借閱者的代理)圖書管理員作為借閱者的代理取消取消預(yù)訂。預(yù)訂。 (6 6)圖書管理員作為借閱者的代理)圖書管理員作為借閱者的代理還書還書。 56 (7 7) 圖書管理員可以圖書管理員可以修改借閱者的賬戶修改借閱者的賬戶信息。信息。 (8 8) 圖書管理員可以圖書管理員可以刪除刪除已經(jīng)存在的已經(jīng)存在的借閱者賬戶借閱者賬戶。 (9 9) 圖書管理員可以圖書管理員可以添加新的書刊種類添加新的書刊種類。 (1010) 圖書管理員可以圖書管理員可以修改書刊種類修改書刊種類信息。信息。 (1111) 圖書管理員可以圖書管理員可以刪除刪除系統(tǒng)中的系統(tǒng)中的書刊種類書刊種類。 (1212)

49、 圖書管理員可以在系統(tǒng)中圖書管理員可以在系統(tǒng)中添加書刊添加書刊的的 信息(注意區(qū)分信息(注意區(qū)分“書刊種類書刊種類”和和“書刊書刊”)。)。 (1313) 圖書管理員可以圖書管理員可以編輯書刊編輯書刊信息。信息。 (1414) 圖書管理員可以圖書管理員可以刪除書刊刪除書刊信息。信息。57q圖書管理員圖書管理員n登錄登錄n管理讀者信息管理讀者信息n管理圖書信息管理圖書信息n登記借書登記借書n登記還書登記還書q借閱借閱者:者:n登錄登錄n預(yù)訂圖書預(yù)訂圖書n取消預(yù)訂取消預(yù)訂n查詢?yōu)g覽圖書信息查詢?yōu)g覽圖書信息 討論討論 識別并描述參與者識別并描述參與者例:一個(gè)圖書館管理系統(tǒng),有哪些參與者和用例?例:一

50、個(gè)圖書館管理系統(tǒng),有哪些參與者和用例?借閱者借閱者圖書管理員圖書管理員用例用例58圖書館管理系統(tǒng)圖書館管理系統(tǒng)參與者與用例之間的通訊關(guān)聯(lián)普通讀者普通讀者登錄登錄查詢?yōu)g覽查詢?yōu)g覽預(yù)訂圖書預(yù)訂圖書圖書管理員圖書管理員管理讀者管理讀者取消預(yù)訂取消預(yù)訂管理圖書信息管理圖書信息登記借書登記借書登記還書登記還書圖圖 4-19 圖書館管理系統(tǒng)用例圖圖書館管理系統(tǒng)用例圖59用例的文字描述用例的文字描述Name of the Use Case (用例的名字用例的名字)Description (描述描述)Actor(s) (參與者參與者)Flow of events (事件流事件流) Basic flow (常規(guī)

51、流常規(guī)流) Event 1 (事件事件) Event 2 Alternate flow (備選流備選流)Pre-conditions (前置條件前置條件)Post-conditions (后置條件后置條件)n用例用例= = 橢圓橢圓 + + 名字?名字? NO!用例模型用例模型參與者參與者用例名用例名用例規(guī)約用例規(guī)約.術(shù)語表術(shù)語表圖圖 4-20 由用例圖到文字描述由用例圖到文字描述60 用例:登記借書用例:登記借書描述描述1. 目標(biāo):目標(biāo): 本用例允許圖書管理員登記普通讀者的借書記錄本用例允許圖書管理員登記普通讀者的借書記錄2 事件流:事件流: 2.1 常規(guī)流程常規(guī)流程當(dāng)讀者希望借書、圖書管理

52、員準(zhǔn)備登記有關(guān)的借書記錄當(dāng)讀者希望借書、圖書管理員準(zhǔn)備登記有關(guān)的借書記錄時(shí),時(shí),本本用例開始用例開始執(zhí)行執(zhí)行。 (1) 系統(tǒng)要求管理員系統(tǒng)要求管理員輸入輸入讀者的注冊號和所借圖書號。讀者的注冊號和所借圖書號。 (2) 圖書管理員輸入信息后,系統(tǒng)圖書管理員輸入信息后,系統(tǒng)產(chǎn)生產(chǎn)生一個(gè)唯一的借一個(gè)唯一的借 書記錄號。書記錄號。 (3) 系統(tǒng)系統(tǒng)顯示顯示新生成的借書記錄。新生成的借書記錄。 (4) 圖書管理員確認(rèn)后,系統(tǒng)圖書管理員確認(rèn)后,系統(tǒng)增加增加一個(gè)新的借書記錄。一個(gè)新的借書記錄。61 用例:登記借書用例:登記借書描述描述 2.2 備選流程備選流程 (1) 讀者沒有注冊讀者沒有注冊 在主流程中,

53、如果系統(tǒng)沒有讀者的注冊信息,在主流程中,如果系統(tǒng)沒有讀者的注冊信息, 系統(tǒng)將系統(tǒng)將顯示顯示錯(cuò)誤信息,用例結(jié)束。錯(cuò)誤信息,用例結(jié)束。 (2) 所借圖書不存在所借圖書不存在 在主流程中,如果所借圖書已被借出或者系在主流程中,如果所借圖書已被借出或者系 統(tǒng)中無該圖書,系統(tǒng)將統(tǒng)中無該圖書,系統(tǒng)將顯示顯示錯(cuò)誤信息,用例結(jié)束。錯(cuò)誤信息,用例結(jié)束。3 前提條件:用例開始前,圖書管理員必須在系統(tǒng)前提條件:用例開始前,圖書管理員必須在系統(tǒng)登錄登錄 成功。成功。4 后置條件:如果用例執(zhí)行成功,該讀者的借書記錄被后置條件:如果用例執(zhí)行成功,該讀者的借書記錄被 更新,否則,系統(tǒng)狀態(tài)不變。更新,否則,系統(tǒng)狀態(tài)不變。62

54、說明說明n在一般的用例圖中,只需表述參與者和用例之間在一般的用例圖中,只需表述參與者和用例之間 的通訊關(guān)聯(lián)。的通訊關(guān)聯(lián)。n除此之外,還可以描述:除此之外,還可以描述:q參與者與參與者之間的參與者與參與者之間的泛化泛化(generalization)(generalization)q用例和用例之間的用例和用例之間的包含包含(include)(include)q用例和用例之間的用例和用例之間的擴(kuò)展擴(kuò)展(extend)(extend)q用例和用例之間的用例和用例之間的泛化泛化(generalization)(generalization)關(guān)系關(guān)系n利用這些關(guān)系來調(diào)整已有的用例模型,把一些公利用這些關(guān)

55、系來調(diào)整已有的用例模型,把一些公 共的信息抽取出來復(fù)用,使得用例模型更易于維共的信息抽取出來復(fù)用,使得用例模型更易于維 護(hù)。護(hù)。63需求問題陳述需求問題陳述(1)(1) q學(xué)校希望用新的客戶機(jī)學(xué)校希望用新的客戶機(jī)-服務(wù)器系統(tǒng)代替原有的系統(tǒng)。服務(wù)器系統(tǒng)代替原有的系統(tǒng)。n這個(gè)系統(tǒng)允許學(xué)生通過連接到校園局域網(wǎng)的個(gè)人計(jì)算這個(gè)系統(tǒng)允許學(xué)生通過連接到校園局域網(wǎng)的個(gè)人計(jì)算機(jī)進(jìn)行課程的注冊和查看成績單。機(jī)進(jìn)行課程的注冊和查看成績單。n教師通過訪問此系統(tǒng)選擇其所教的課和記錄學(xué)生的成教師通過訪問此系統(tǒng)選擇其所教的課和記錄學(xué)生的成績。績。q學(xué)校保留原有的課程目錄數(shù)據(jù)庫系統(tǒng)來維護(hù)所有的課程學(xué)校保留原有的課程目錄數(shù)據(jù)庫

56、系統(tǒng)來維護(hù)所有的課程 信息。信息。n學(xué)校已經(jīng)購買了允許從學(xué)校的學(xué)校已經(jīng)購買了允許從學(xué)校的Unix服務(wù)器訪問這個(gè)數(shù)服務(wù)器訪問這個(gè)數(shù)據(jù)庫的開放據(jù)庫的開放SQL接口。接口。n原有系統(tǒng)的性能很差,所以新系統(tǒng)必須確保能及時(shí)訪原有系統(tǒng)的性能很差,所以新系統(tǒng)必須確保能及時(shí)訪問這個(gè)系統(tǒng)上的數(shù)據(jù)。問這個(gè)系統(tǒng)上的數(shù)據(jù)。n新系統(tǒng)讀取遺留系統(tǒng)上的課程的信息,但不更新。新系統(tǒng)讀取遺留系統(tǒng)上的課程的信息,但不更新。 作業(yè)作業(yè) 開發(fā)一個(gè)新的學(xué)生注冊系統(tǒng)。開發(fā)一個(gè)新的學(xué)生注冊系統(tǒng)。64需求問題陳述需求問題陳述(2)(2)n每學(xué)期的開始,學(xué)生請求查看本學(xué)期的所開設(shè)的課程目錄。每學(xué)期的開始,學(xué)生請求查看本學(xué)期的所開設(shè)的課程目錄。

57、 有關(guān)課程的信息,如教師、開課院系等信息會幫助學(xué)生做有關(guān)課程的信息,如教師、開課院系等信息會幫助學(xué)生做 出決定。出決定。n系統(tǒng)允許學(xué)生為本學(xué)期選擇四門課。系統(tǒng)允許學(xué)生為本學(xué)期選擇四門課。n如果學(xué)生沒有被分配到主要的選擇課程,他還有兩門備選如果學(xué)生沒有被分配到主要的選擇課程,他還有兩門備選 的課程。的課程。n每門課的學(xué)生人數(shù)是每門課的學(xué)生人數(shù)是3到到10人,人,3人以下的課程會被取消。人以下的課程會被取消。n每個(gè)學(xué)期會有一段時(shí)間讓學(xué)生更改課程表,這段時(shí)間學(xué)生每個(gè)學(xué)期會有一段時(shí)間讓學(xué)生更改課程表,這段時(shí)間學(xué)生 必須能訪問系統(tǒng)并能添加或刪除課程。必須能訪問系統(tǒng)并能添加或刪除課程。n一旦一個(gè)學(xué)生的注冊

58、結(jié)束,注冊系統(tǒng)會將此學(xué)生本學(xué)期的一旦一個(gè)學(xué)生的注冊結(jié)束,注冊系統(tǒng)會將此學(xué)生本學(xué)期的 賬單信息送到財(cái)務(wù)系統(tǒng)。賬單信息送到財(cái)務(wù)系統(tǒng)。n如果在注冊中一門課已經(jīng)人滿,學(xué)生在提交信息前必須被如果在注冊中一門課已經(jīng)人滿,學(xué)生在提交信息前必須被 通知。通知。65需求問題陳述需求問題陳述(3)(3)n學(xué)期結(jié)束,學(xué)生能進(jìn)入系統(tǒng)查看自己的成績。學(xué)期結(jié)束,學(xué)生能進(jìn)入系統(tǒng)查看自己的成績。n成績是隱秘的信息,系統(tǒng)必須提供額外的安全措施阻止未成績是隱秘的信息,系統(tǒng)必須提供額外的安全措施阻止未 授權(quán)的訪問。授權(quán)的訪問。n教師必須能訪問指出他們要教課程的系統(tǒng)。他們也需要知教師必須能訪問指出他們要教課程的系統(tǒng)。他們也需要知 道

59、是哪些學(xué)生選擇了自己的課程。道是哪些學(xué)生選擇了自己的課程。n教師能登記學(xué)生的成績。教師能登記學(xué)生的成績。 根據(jù)上述需求,檢查下面的用例圖有什么根據(jù)上述需求,檢查下面的用例圖有什么 問題問題?并繪制完整的系統(tǒng)用例圖。并繪制完整的系統(tǒng)用例圖。66用例用例圖圖 4-21 學(xué)生注冊系統(tǒng)用例圖學(xué)生注冊系統(tǒng)用例圖查看報(bào)告查看報(bào)告學(xué)生學(xué)生登錄登錄選擇所教選擇所教的課程的課程提交成績提交成績教授教授注冊員注冊員財(cái)務(wù)系統(tǒng)財(cái)務(wù)系統(tǒng)維護(hù)教維護(hù)教授信息授信息維護(hù)學(xué)維護(hù)學(xué)生信息生信息關(guān)閉注冊關(guān)閉注冊課程目錄系統(tǒng)課程目錄系統(tǒng)注冊課程注冊課程67(5) (5) 確定解決方案的約束確定解決方案的約束表表 4-3 銷售訂單輸入

60、系統(tǒng)的約束銷售訂單輸入系統(tǒng)的約束約束源約束源約束約束理由理由操作性操作性銷售訂單數(shù)據(jù)應(yīng)完全備份,并銷售訂單數(shù)據(jù)應(yīng)完全備份,并保存在數(shù)據(jù)庫保存在數(shù)據(jù)庫1年以上年以上數(shù)據(jù)丟失風(fēng)險(xiǎn)數(shù)據(jù)丟失風(fēng)險(xiǎn)太大太大 系系 統(tǒng)及統(tǒng)及操作系統(tǒng)操作系統(tǒng)這個(gè)應(yīng)用在服務(wù)器上不應(yīng)占用這個(gè)應(yīng)用在服務(wù)器上不應(yīng)占用超過超過20M字節(jié)的空間字節(jié)的空間服務(wù)器上可用的服務(wù)器上可用的存儲空間有限存儲空間有限設(shè)備預(yù)算設(shè)備預(yù)算系統(tǒng)在已有設(shè)備(服務(wù)器主機(jī))系統(tǒng)在已有設(shè)備(服務(wù)器主機(jī))上開發(fā)客戶端上開發(fā)客戶端 成本控制在已有的成本控制在已有的系統(tǒng)中維護(hù)系統(tǒng)中維護(hù)人員預(yù)算人員預(yù)算人員固定人員固定成本固定成本固定技術(shù)要求技術(shù)要求應(yīng)用面向?qū)ο蠓椒☉?yīng)用面向?qū)ο蠓椒ㄔ摷夹g(shù)能增加

溫馨提示

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

評論

0/150

提交評論