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

付費下載

下載本文檔

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

文檔簡介

1Chapter5UnderstandingRequirements

SoftwareEngineering:APractitioner’sApproach,7/e

byRogerS.Pressman2軟件需求分析的目標是準確理解用戶的要求,進行細致的調(diào)查分析,將用戶的非形式化的要求轉(zhuǎn)化為完整的需求定義(需求規(guī)格說明書)。需求包括:功能要求性能要求運行環(huán)境要求數(shù)據(jù)要求可靠性要求安全保密要求用戶界面要求可移植性需求可復用性需求外部接口要求資源使用要求軟件成本消耗與開發(fā)進度要求其它非功能性的限制和要求,如法規(guī)需求、質(zhì)量標準、驗收標準、可維護性要求等WhatisRequirement?3RequirementsEngineering-IInception(起始)—askasetofquestionsthatestablish…basicunderstandingoftheproblemthepeoplewhowantasolutionthenatureofthesolutionthatisdesired,andtheeffectivenessofpreliminarycommunicationandcollaborationbetweenthecustomerandthedeveloperElicitation(導出)—elicitrequirementsfromallstakeholdersElaboration(精化)—createananalysismodelthatidentifiesdata,functionandbehavioralrequirements4RequirementsEngineering-IINegotiation(協(xié)商)—agreeonadeliverablesystemthatisrealisticfordevelopersandcustomersSpecification(規(guī)格說明)—canbeanyone(ormore)ofthefollowing:AwrittendocumentAsetofmodelsAformalmathematicalAcollectionofuserscenarios(use-cases)AprototypeValidation(確認)—areviewmechanismthatlooksforerrorsincontentorinterpretationareaswhereclarificationmayberequiredmissinginformationinconsistencies(amajorproblemwhenlargeproductsorsystemsareengineered)conflictingorunrealistic(unachievable)requirements.5InceptionIdentifystakeholders“whoelsedoyouthinkIshouldtalkto?”RecognizemultiplepointsofviewWorktowardcollaborationThefirstquestionsWhoisbehindtherequestforthiswork?Whowillusethesolution?WhatwillbetheeconomicbenefitofasuccessfulsolutionIsthereanothersourceforthesolutionthatyouneed?6ElicitingRequirementsmeetingsareconductedandattendedbybothsoftwareengineersandcustomersanagenda(會議議程)issuggesteda“facilitator(協(xié)調(diào)召集人)"(canbeacustomer,adeveloper,oranoutsider)controlsthemeetinga“definitionmechanism(論證形式)"(canbesheets,charts,orwallstickersoranelectronicbulletinboard,chatroomorvirtualforum)isusedgoalis(a)toidentifytheproblem(b)proposeelementsofsolution(c)negotiatedifferentapproaches(d)specifysolutionrequirements工程實踐體會(1)調(diào)研前盡量了解相關(guān)背景知識(2)調(diào)研中按業(yè)務流程引導客戶根據(jù)開發(fā)需要介紹業(yè)務(3)善于聆聽,留心收集用戶原始資料(如表單/文件)

(4)調(diào)研過程需漸進、反復地進行7ElicitingRequirements備注:QFD:QualityFunctionDeployment(質(zhì)量功能展開法)8ElicitationWorkProductsastatementofneedandfeasibility.aboundedstatementofscopeforthesystemorproduct.alistofcustomers,users,andotherstakeholderswhoparticipatedinrequirementselicitationadescriptionofthesystem’stechnicalenvironment.alistofrequirements(organizedbyfunction)andthedomainconstraintsthatapplytoeach.asetofusagescenariosthatprovideinsightintotheuseofthesystemorproduct.anyprototypes

developedtobetterdefinerequirements.2023/1/119軟件開發(fā)的進度安排指導進度安排的基本原則活動和任務的劃分相互依賴性時間分配工作量確認2023/1/1110進度安排的表示(1)甘特圖(GanttChart)用水平線段表示任務,線段的長度表示完成任務所需要的時間線段的起點和終點分別對應著任務的開工時間和完成時間優(yōu)點:標明了各任務的計劃進度和當前進度,能動態(tài)地反映軟件開發(fā)進展情況。每個任務還可以進一步細分,形成一個子圖。缺點:難以反映多個任務之間存在的復雜的邏輯關(guān)系。1/11/202311實例-香港娛樂網(wǎng)進度表活動1月2月3-4月5月6月7月……12月合同簽定協(xié)商機房裝修設(shè)計裝修硬件采購選型采購安裝軟件開發(fā)設(shè)計開發(fā)開發(fā)調(diào)試運維運維運維網(wǎng)站宣傳策劃宣傳人員招聘招聘系統(tǒng)運行1萬人/天,且不斷增加2023/1/1112進度安排的表示(2)PERT圖(PlanEvaluationandReviewTechnique)2023/1/1113PERT圖的特點活動與任務活動與任務之間有聯(lián)系關(guān)鍵結(jié)點通過計算每個活動的最早開工時間和最晚開工時間,可以得到關(guān)鍵結(jié)點(即活動和任務)關(guān)鍵路徑通過關(guān)鍵結(jié)點可以找到該PERT圖中的關(guān)鍵路徑機動時間結(jié)點的機動時間=最晚開工時間-最早開工時間細化每個結(jié)點可以進一步細分,形成一個子圖。2023/1/1114最早開工時間的計算(1)從左向右開始(2)第一個活動的最早開工時間為0(3)考慮進入該活動的所有作業(yè)(4)對于每個作業(yè)都計算它的持續(xù)時間與起始活動的最早開工時間之和(5)選取上述和數(shù)中的最大值作為該活動的最早開工時間。最晚開工時間的計算(1)從右向左開始(2)最后(右)一個活動的最早開工時間就是它的最晚開工時間(3)考慮離開該活動的所有作業(yè)(4)對每個作業(yè),從作業(yè)的結(jié)束活動的最晚開工時間減去該活動的持續(xù)時間(5)選取上述差數(shù)中的最小值作為該活動的最晚開工時間。2023/1/1115例對于前述PERT圖可按照上述規(guī)則計算出活動4的最早開工時間?;顒?的最早開工時間=max{2+3,6+0}=6例對于前述PERT圖可按照上述規(guī)則計算出活動8的最晚開工時間?;顒?的最晚開工時間=min{21-6,20-0}=15最早開工時間和最晚開工時間的計算例子16BuildingtheAnalysisModelElements(成分)ofanalysismodelScenario-basedelementsFunctional—processingnarrativesforsoftwarefunctionsUse-case—descriptionsoftheinteractionbetweenan“actor”andthesystemClass-basedelementsClassDiagram(Impliedbyscenarios)BehavioralelementsStatediagramFlow-orientedelementsDataflowdiagram17Use-CasesAcollectionofuserscenariosthatdescribethread(線索)ofusageofasystemEachscenarioisdescribedfromthepoint-of-viewofan“actor”—apersonordevicethatinteractswiththesoftwareinsomewayEachscenarioanswersthefollowingquestions:Whoistheprimaryactor,thesecondaryactor(s)?Whataretheactor’sgoals?Whatpreconditionsshouldexistbeforethestorybegins?Whatmaintasksorfunctionsareperformedbytheactor?Whatextensionsmightbeconsideredasthestoryisdescribed?Whatsysteminformationwilltheactoracquire,produce,orchange?Willtheactorhavetoinformthesystemaboutchangesintheexternalenvironment?Whatinformationdoestheactordesirefromthesystem?Doestheactorwishtobeinformedaboutunexpectedchanges?2023/1/1118用例圖用例圖主要用于描述系統(tǒng)分析人員從用戶角度看到的系統(tǒng)功能需求。一個用例模型由若干個用例圖構(gòu)成,用例圖的主要元素是用例(UseCase)和參與者(Actor)以及用例之間的關(guān)系。參與者是與系統(tǒng)交互的人或其它系統(tǒng),它通常是具有某種特定功能的角色,而不是某個具體的人或物。用例是可以被參與者感受到的、系統(tǒng)中的一個完整功能。用例描述了系統(tǒng)所執(zhí)行的動作序列集,并為參與者產(chǎn)生一個可供觀察的結(jié)果。用例具有下列特點:用例捕獲用戶可見的需求,實現(xiàn)一個具體的用戶目標。用例可大可小,但必須是對一個具體的用戶目標實現(xiàn)的完整描述。用例由參與者激活,并提供確切的返回值給參與者。2023/1/1119用例圖的例子小人代表參與者,橢圓代表用例,它們之間的連線可以是單向或雙向的,該方向表明行為的發(fā)起者。

泛化(Generalization)關(guān)系:將特定用例抽象為更一般的用例,子用例繼承父用例的行為和含義,增加新行為或覆蓋父用例的行為。擴充(Extend)關(guān)系:將一個用例(基用例)中的特殊情況抽取出來形成另一個用例,將必須執(zhí)行的行為(基用例)與可選行為(擴展用例)區(qū)分開。包含(Include)關(guān)系:多個用例可能共享一些功能,將其放在一個單獨的用例中,則新用例與其它使用該功能的用例之間構(gòu)成包含關(guān)系。20Use-CaseDiagram21NegotiatingRequirementsIdentifythekeystakeholdersThesearethepeoplewhowillbeinvolvedinthenegotiationDetermineeachofthestakeholders“winconditions”WinconditionsarenotalwaysobviousNegotiateWorktowardasetofrequirementsthatleadto“win-win”Win-Win實例

——第四方就業(yè)服務產(chǎn)業(yè)鏈共贏模式勞務工工友網(wǎng)絡(luò)社區(qū)HRO/RPO提供高質(zhì)量的人力資源/招聘流程外包通過外包協(xié)議進行結(jié)算提供匹配的就業(yè)信息服務第一方求職者招聘企業(yè)勞動力信息數(shù)據(jù)庫第四方就業(yè)服務產(chǎn)業(yè)鏈共贏模式手機客戶端用戶信息搜集第三方第三方就業(yè)服務平臺呼叫中心崗位匹配遠程面試廣告業(yè)務增值收入說明:紅色箭頭為盈利收入實線為服務提供虛線為信息采集派遣機構(gòu)中介機構(gòu)培訓機構(gòu)第二方需求個體、企業(yè)個體雇傭者勞務工信息服務收費23ValidatingRequirements-IIseachrequirementconsistentwiththeoverallobjectiveforthesystem/product?Haveallrequirementsbeenspecifiedattheproperlevelofabstraction?Istherequirementreallynecessaryordoesitrepresentanadd-onfeaturethatmaynotbeessentialtotheobjectiveofthesystem?Iseachrequirementboundedandunambiguous(清晰的)?Doeseachrequirementhaveattribution?Thatis,isasource(aspecificindividual)notedforeachrequirement?Doanyrequirementsconflictwithotherrequirements?24ValidatingRequirements-IIIseachrequirementachievableinthetechnicalenvironmentthatwillhousethesystemorproduct?Iseachrequirementtestable,onceimplemented?Doestherequirementsmodelproperlyreflecttheinfor

溫馨提示

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

評論

0/150

提交評論