軟件工程英文教學(xué)課件:Ch5 Understanding Requirements_第1頁
軟件工程英文教學(xué)課件:Ch5 Understanding Requirements_第2頁
軟件工程英文教學(xué)課件:Ch5 Understanding Requirements_第3頁
軟件工程英文教學(xué)課件:Ch5 Understanding Requirements_第4頁
軟件工程英文教學(xué)課件:Ch5 Understanding Requirements_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1Chapter 5Understanding RequirementsSoftware Engineering: A Practitioners Approach, 7/e by Roger S. Pressman2軟件需求分析的目標(biāo)是準(zhǔn)確理解用戶的要求,進(jìn)行細(xì)致的調(diào)查分析,將用戶的非形式化的要求轉(zhuǎn)化為完整的需求定義(需求規(guī)格說明書)。需求包括:功能要求性能要求運(yùn)行環(huán)境要求數(shù)據(jù)要求可靠性要求安全保密要求用戶界面要求可移植性需求可復(fù)用性需求外部接口要求資源使用要求軟件成本消耗與開發(fā)進(jìn)度要求其它非功能性的限制和要求,如法規(guī)需求、質(zhì)量標(biāo)準(zhǔn)、驗(yàn)收標(biāo)準(zhǔn)、可維護(hù)性要求等What is Requireme

2、nt?3Requirements Engineering-IInception(起始)ask a set of questions that establish basic understanding of the problemthe people who want a solutionthe nature of the solution that is desired, and the effectiveness of preliminary communication and collaboration between the customer and the developerElic

3、itation(導(dǎo)出)elicit requirements from all stakeholdersElaboration(精化)create an analysis model that identifies data, function and behavioral requirements4Requirements Engineering-IINegotiation(協(xié)商)agree on a deliverable system that is realistic for developers and customersSpecification (規(guī)格說明)can be any

4、one (or more) of the following:A written documentA set of modelsA formal mathematicalA collection of user scenarios (use-cases)A prototypeValidation (確認(rèn))a review mechanism that looks forerrors in content or interpretationareas where clarification may be requiredmissing informationinconsistencies (a

5、major problem when large products or systems are engineered)conflicting or unrealistic (unachievable) requirements. 5InceptionIdentify stakeholders“who else do you think I should talk to?”Recognize multiple points of viewWork toward collaborationThe first questionsWho is behind the request for this

6、work?Who will use the solution?What will be the economic benefit of a successful solutionIs there another source for the solution that you need?6Eliciting Requirementsmeetings are conducted and attended by both software engineers and customersan agenda(會(huì)議議程) is suggested a “facilitator(協(xié)調(diào)召集人) (can b

7、e a customer, a developer, or an outsider) controls the meetinga “definition mechanism(論證形式) (can be sheets, charts, or wall stickers or an electronic bulletin board, chat room or virtual forum) is usedgoal is (a) to identify the problem (b)propose elements of solution(c)negotiate different approach

8、es (d)specify solution requirements工程實(shí)踐體會(huì)(1)調(diào)研前盡量了解相關(guān)背景知識(shí)(2)調(diào)研中按業(yè)務(wù)流程引導(dǎo)客戶根據(jù)開發(fā)需要介紹業(yè)務(wù)(3)善于聆聽, 留心收集用戶原始資料(如表單/文件) (4)調(diào)研過程需漸進(jìn)、反復(fù)地進(jìn)行7Eliciting Requirements備注: QFD: Quality Function Deployment (質(zhì)量功能展開法)8Elicitation Work Productsa statement of need and feasibility.a bounded statement of scope for the system

9、 or product.a list of customers, users, and other stakeholders who participated in requirements elicitation a description of the systems technical environment.a list of requirements (organized by function) and the domain constraints that apply to each.a set of usage scenarios that provide insight in

10、to the use of the system or product.any prototypes developed to better define requirements.2022/7/189軟件開發(fā)的進(jìn)度安排指導(dǎo)進(jìn)度安排的基本原則活動(dòng)和任務(wù)的劃分相互依賴性時(shí)間分配工作量確認(rèn)2022/7/1810進(jìn)度安排的表示(1)甘特圖(Gantt Chart)用水平線段表示任務(wù),線段的長(zhǎng)度表示完成任務(wù)所需要的時(shí)間線段的起點(diǎn)和終點(diǎn)分別對(duì)應(yīng)著任務(wù)的開工時(shí)間和完成時(shí)間優(yōu)點(diǎn):標(biāo)明了各任務(wù)的計(jì)劃進(jìn)度和當(dāng)前進(jìn)度,能動(dòng)態(tài)地反映軟件開發(fā)進(jìn)展情況。每個(gè)任務(wù)還可以進(jìn)一步細(xì)分,形成一個(gè)子圖。缺點(diǎn): 難以反映多個(gè)任務(wù)之

11、間存在的復(fù)雜的邏輯關(guān)系。7/18/202211實(shí)例香港娛樂網(wǎng)進(jìn)度表活動(dòng)1月2月3-4月5月6月7月12月合同簽定協(xié)商機(jī)房裝修設(shè)計(jì)裝修硬件采購選型采購安裝軟件開發(fā)設(shè)計(jì)開發(fā)開發(fā)調(diào)試運(yùn)維運(yùn)維運(yùn)維網(wǎng)站宣傳策劃宣傳人員招聘招聘系統(tǒng)運(yùn)行1萬人/天,且不斷增加2022/7/1812進(jìn)度安排的表示(2)PERT圖(Plan Evaluation and Review Technique)2022/7/1813PERT圖的特點(diǎn)活動(dòng)與任務(wù)活動(dòng)與任務(wù)之間有聯(lián)系關(guān)鍵結(jié)點(diǎn)通過計(jì)算每個(gè)活動(dòng)的最早開工時(shí)間和最晚開工時(shí)間,可以得到關(guān)鍵結(jié)點(diǎn)(即活動(dòng)和任務(wù))關(guān)鍵路徑通過關(guān)鍵結(jié)點(diǎn)可以找到該P(yáng)ERT圖中的關(guān)鍵路徑機(jī)動(dòng)時(shí)間結(jié)點(diǎn)的機(jī)動(dòng)時(shí)

12、間=最晚開工時(shí)間-最早開工時(shí)間細(xì)化每個(gè)結(jié)點(diǎn)可以進(jìn)一步細(xì)分,形成一個(gè)子圖。2022/7/1814最早開工時(shí)間的計(jì)算(1)從左向右開始(2)第一個(gè)活動(dòng)的最早開工時(shí)間為0(3)考慮進(jìn)入該活動(dòng)的所有作業(yè)(4)對(duì)于每個(gè)作業(yè)都計(jì)算它的持續(xù)時(shí)間與起始活動(dòng)的最早開工時(shí)間之和(5)選取上述和數(shù)中的最大值作為該活動(dòng)的最早開工時(shí)間。最晚開工時(shí)間的計(jì)算(1)從右向左開始(2)最后(右)一個(gè)活動(dòng)的最早開工時(shí)間就是它的最晚開工時(shí)間(3)考慮離開該活動(dòng)的所有作業(yè)(4)對(duì)每個(gè)作業(yè),從作業(yè)的結(jié)束活動(dòng)的最晚開工時(shí)間減去該活動(dòng)的持續(xù)時(shí)間(5)選取上述差數(shù)中的最小值作為該活動(dòng)的最晚開工時(shí)間。2022/7/1815例 對(duì)于前述PERT

13、圖可按照上述規(guī)則計(jì)算出活動(dòng)4的最早開工時(shí)間。活動(dòng)4的最早開工時(shí)間= max2+3,6+0 = 6例 對(duì)于前述PERT圖可按照上述規(guī)則計(jì)算出活動(dòng)8的最晚開工時(shí)間?;顒?dòng)8的最晚開工時(shí)間= min21-6,20-0= 15最早開工時(shí)間和最晚開工時(shí)間的計(jì)算例子16Building the Analysis ModelElements(成分) of analysis modelScenario-based elementsFunctionalprocessing narratives for software functionsUse-casedescriptions of the interactio

14、n between an “actor” and the systemClass-based elementsClass Diagram (Implied by scenarios)Behavioral elementsState diagramFlow-oriented elementsData flow diagram17Use-CasesA collection of user scenarios that describe thread(線索) of usage of a systemEach scenario is described from the point-of-view o

15、f an “actor”a person or device that interacts with the software in some wayEach scenario answers the following questions:Who is the primary actor, the secondary actor (s)?What are the actors goals?What preconditions should exist before the story begins?What main tasks or functions are performed by t

16、he actor?What extensions might be considered as the story is described?What system information will the actor acquire, produce, or change?Will the actor have to inform the system about changes in the external environment?What information does the actor desire from the system?Does the actor wish to b

17、e informed about unexpected changes?2022/7/1818用例圖用例圖主要用于描述系統(tǒng)分析人員從用戶角度看到的系統(tǒng)功能需求。一個(gè)用例模型由若干個(gè)用例圖構(gòu)成,用例圖的主要元素是用例(Use Case)和參與者(Actor)以及用例之間的關(guān)系。參與者是與系統(tǒng)交互的人或其它系統(tǒng),它通常是具有某種特定功能的角色,而不是某個(gè)具體的人或物。用例是可以被參與者感受到的、系統(tǒng)中的一個(gè)完整功能。用例描述了系統(tǒng)所執(zhí)行的動(dòng)作序列集,并為參與者產(chǎn)生一個(gè)可供觀察的結(jié)果。用例具有下列特點(diǎn):用例捕獲用戶可見的需求,實(shí)現(xiàn)一個(gè)具體的用戶目標(biāo)。用例可大可小,但必須是對(duì)一個(gè)具體的用戶目標(biāo)實(shí)現(xiàn)的完

18、整描述。用例由參與者激活,并提供確切的返回值給參與者。2022/7/1819用例圖的例子小人代表參與者,橢圓代表用例,它們之間的連線可以是單向或雙向的,該方向表明行為的發(fā)起者。 泛化(Generalization)關(guān)系:將特定用例抽象為更一般的用例,子用例繼承父用例的行為和含義,增加新行為或覆蓋父用例的行為。 擴(kuò)充(Extend)關(guān)系:將一個(gè)用例(基用例)中的特殊情況抽取出來形成另一個(gè)用例,將必須執(zhí)行的行為(基用例)與可選行為(擴(kuò)展用例)區(qū)分開。包含(Include)關(guān)系:多個(gè)用例可能共享一些功能,將其放在一個(gè)單獨(dú)的用例中,則新用例與其它使用該功能的用例之間構(gòu)成包含關(guān)系。 20Use-Case

19、 Diagram21Negotiating RequirementsIdentify the key stakeholdersThese are the people who will be involved in the negotiationDetermine each of the stakeholders “win conditions”Win conditions are not always obviousNegotiateWork toward a set of requirements that lead to “win-win”Win-Win實(shí)例第四方就業(yè)服務(wù)產(chǎn)業(yè)鏈共贏模式勞

20、務(wù)工工友網(wǎng)絡(luò)社區(qū)HRO/RPO提供高質(zhì)量的人力資源/招聘流程外包通過外包協(xié)議進(jìn)行結(jié)算提供匹配的就業(yè)信息服務(wù)第一方求職者招聘企業(yè)勞動(dòng)力信息數(shù)據(jù)庫第四方就業(yè)服務(wù)產(chǎn)業(yè)鏈共贏模式手機(jī)客戶端用戶信息搜集第三方第三方就業(yè)服務(wù)平臺(tái)呼叫中心崗位匹配遠(yuǎn)程面試廣告業(yè)務(wù)增值收入說明:紅色箭頭為盈利收入 實(shí)線為服務(wù)提供 虛線為信息采集派遣機(jī)構(gòu)中介機(jī)構(gòu)培訓(xùn)機(jī)構(gòu)第二方需求個(gè)體、企業(yè)個(gè)體雇傭者勞務(wù)工信息服務(wù)收費(fèi)23Validating Requirements - IIs each requirement consistent with the overall objective for the system/produc

21、t?Have all requirements been specified at the proper level of abstraction? Is the requirement really necessary or does it represent an add-on feature that may not be essential to the objective of the system?Is each requirement bounded and unambiguous(清晰的)?Does each requirement have attribution? That

22、 is, is a source (a specific individual) noted for each requirement? Do any requirements conflict with other requirements?24Validating Requirements - IIIs each requirement achievable in the technical environment that will house the system or product?Is each requirement testable, once implemented?Does the requirements model properly

溫馨提示

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

評(píng)論

0/150

提交評(píng)論