




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
課名:軟件工程主講:謝明志Email:tommyshell@163.com使用教材:軟件系統(tǒng)開發(fā)技術(shù)(修訂版) 潘錦平施小英姚天昉西安電子科技大學(xué)出版社10/18/20221第一章軟軟件工工程概述1/15/20202§1.1軟件工程程的背景景和歷史史1968年由NATO(北大西洋洋公約組組織)在德國Garmish召開的學(xué)學(xué)術(shù)會議上,F(xiàn)eitzBauer首先提出出了“軟件工工程”概念。1/15/20203軟件工程程與編程程前者是一一門學(xué)科科,一種種科學(xué)理理論來指指導(dǎo)軟件件系統(tǒng)開開發(fā),標(biāo)標(biāo)準(zhǔn)化,,自動(dòng)化化的過程程考慮如何何分解一一個(gè)系統(tǒng)統(tǒng),以便便各人分分工開發(fā)發(fā);考慮慮如何說說明每個(gè)個(gè)部分的的規(guī)格要要求;怎怎樣才能能易于維維護(hù)單純的代代碼編寫寫是軟件工工程發(fā)展展的前身身是軟件工工程中占占據(jù)很少少時(shí)間和和空間的的一部分分1/15/20204計(jì)算機(jī)學(xué)學(xué)科的發(fā)發(fā)展計(jì)算機(jī)科科學(xué)(CS))計(jì)算機(jī)科科學(xué)(CS))計(jì)算機(jī)工工程(CE))軟件工程程(SE))信息系統(tǒng)統(tǒng)(IS))計(jì)算學(xué)科科(computingdiscipline)1/15/2020560年代代以來工廠管理理病人監(jiān)護(hù)護(hù)工資統(tǒng)發(fā)發(fā)圖書館管管理機(jī)票預(yù)定定學(xué)籍管理理1/15/20206早期第二階段段第第三階段段第第四階段段面向批處處理多用戶分布式系系統(tǒng)強(qiáng)大的桌桌面系統(tǒng)統(tǒng)有限的分分布實(shí)時(shí)嵌入“智智能”面向?qū)ο笙蠹夹g(shù)自定義軟軟件數(shù)據(jù)庫低成本硬硬件專家系統(tǒng)軟件產(chǎn)品品消費(fèi)者的的影響人工神經(jīng)經(jīng)網(wǎng)絡(luò)并行計(jì)算算網(wǎng)絡(luò)計(jì)算算機(jī)195019601970198019902000Evolutionofsoftware#1/15/20207為什么發(fā)發(fā)展如此此之快不準(zhǔn)確的的時(shí)間和和金錢的的估算軟件質(zhì)量量的低下下相對硬件件產(chǎn)品開開發(fā)軟件件開發(fā)費(fèi)費(fèi)用的增增加維護(hù)、增增強(qiáng)軟件件系統(tǒng)的的必要性性硬件價(jià)格格大幅度度下降1/15/20208軟件技術(shù)術(shù)面臨的的問題規(guī)模復(fù)雜性生產(chǎn)率1/15/20209Windows95有1000萬行代碼Windows2000有5000萬行代碼例:Exchange2000和和Windows2000開發(fā)人員員結(jié)構(gòu)Exchange2000Windows2000項(xiàng)目經(jīng)理25人約250人開發(fā)人員140人約1700人測試人員350人約3200人1/15/202010《人月神話話》焦油坑史前史中中,沒有有別的場場景比巨巨獸在焦焦油坑中中垂死掙掙扎的場場面更令令人震撼撼。上帝帝見證著著恐龍、、猛犸象象、劍齒齒虎在焦焦油中掙掙扎。它它們掙扎扎得越是是猛烈,,焦油糾糾纏得越越緊,沒沒有任何何猛獸足足夠強(qiáng)壯壯或具有有足夠的的技巧,,能夠掙掙脫束縛縛,它們們最后都都沉到了了坑底。。1/15/202011軟件危機(jī)機(jī)的主要要特征軟件開發(fā)發(fā)周期大大大超過過規(guī)定日期;軟件開發(fā)發(fā)成本嚴(yán)嚴(yán)重超標(biāo)標(biāo);軟件質(zhì)量量難于保證。1/15/202012軟件工程程的定義義FritzBauer在NATO會議上給出的的定義::“軟件工程程是為了經(jīng)濟(jì)濟(jì)地獲得得可靠的的和能在在實(shí)際機(jī)機(jī)器上高高效運(yùn)行行的軟件件而確立和和使用的健全的工程原理(方方法)。”1/15/202013軟件工程程的定義義(2))IEEE【IEE83】】給出的軟件工程程定義:“軟件工程程是開發(fā)、運(yùn)運(yùn)行、維維護(hù)和修修復(fù)軟件件的系統(tǒng)統(tǒng)方法。”1/15/202014軟件工程程的定義義(3))IEEE【IEE93】】給出了一一個(gè)更加加綜合的的定義::“將系統(tǒng)化化的、規(guī)規(guī)范的、、可度量量的方法法應(yīng)用于于軟件的的開發(fā)、、運(yùn)行和和維護(hù)的的過程,,即將工工程化應(yīng)應(yīng)用于軟軟件中?!?/15/202015軟件工程程是一門門交叉學(xué)學(xué)科軟件工程程的主要要研究內(nèi)內(nèi)容軟件開發(fā)發(fā)技術(shù):軟件開發(fā)發(fā)方法學(xué)軟件開發(fā)發(fā)過程軟件工具具和軟件工工程環(huán)境軟件工程程管理:軟件管理理學(xué)軟件經(jīng)濟(jì)濟(jì)學(xué)軟件心理學(xué)軟件工程程所包含含的內(nèi)容容不是一一成不變變的,隨著人們們對軟件件系統(tǒng)的的研制開開發(fā)和生生產(chǎn)的理理解。應(yīng)用發(fā)展展的眼光光看待它它。1/15/202016軟件工程程—一種層次次化技術(shù)術(shù)工具方法過程質(zhì)量焦點(diǎn)點(diǎn)Softwareengineeringlayers軟件工程程三個(gè)要素素:方法、工工具、過過程1/15/202017軟件工程與一一般工程程的差異異軟件是邏邏輯產(chǎn)品而不是實(shí)物產(chǎn)品軟件的功功能依賴賴于硬件件和軟件件的運(yùn)行行環(huán)境以以及人們們對它的的操作軟件設(shè)計(jì)計(jì)的復(fù)雜雜性軟件特征征:功能的多多樣性實(shí)現(xiàn)的多多樣性能見度低低軟件結(jié)構(gòu)構(gòu)合理性性差智力密集集及知識識產(chǎn)權(quán)保保護(hù)1/15/202018軟件工程程知識結(jié)構(gòu)構(gòu)2001年5月ISO//IECJTC1(ISO和IEC的第一聯(lián)聯(lián)合技術(shù)術(shù)委員會會)發(fā)布布了《SWEBOK指南V0.95(試用版))》SWEBOK把把軟件工工程學(xué)科科的主體體知識分分為10個(gè)知識識領(lǐng)域。。1/15/202019軟件工程程知識結(jié)構(gòu)構(gòu)軟件需求求軟件設(shè)計(jì)計(jì)軟件構(gòu)造造軟件測試試軟件維護(hù)護(hù)軟件配置置管理軟件工程程管理軟件工程程過程軟件工程程工具和和方法軟件質(zhì)量量1/15/202020“軟件工工程”課程與其它軟軟件專業(yè)業(yè)課的區(qū)區(qū)別(1)立足于系系統(tǒng)的整整體。(2)講授系統(tǒng)統(tǒng)分析、、系統(tǒng)設(shè)設(shè)計(jì)、測試及維維護(hù)的理理論和方方法。(3)構(gòu)筑一個(gè)軟件系統(tǒng),實(shí)踐軟件開發(fā)發(fā)全過程程。1/15/202021“軟件工工程”課課程教學(xué)學(xué)的目標(biāo)轉(zhuǎn)變對軟件的的認(rèn)識::上升程序系系統(tǒng)轉(zhuǎn)變思維定式式:上升程序員系系統(tǒng)工程程師(系統(tǒng)分析析員)1/15/202022軟件產(chǎn)品品的標(biāo)準(zhǔn)準(zhǔn)化軟件開發(fā)發(fā)過程的的標(biāo)準(zhǔn)化化1/15/202023軟件的工工業(yè)化生生產(chǎn)過程程應(yīng)具備備的特點(diǎn)點(diǎn):明確的工工作步驟驟詳細(xì)具體體的規(guī)范范化文檔檔明確的質(zhì)質(zhì)量評價(jià)價(jià)標(biāo)準(zhǔn)“一個(gè)好好的工業(yè)業(yè),應(yīng)有有一套良好的標(biāo)標(biāo)準(zhǔn)來配配套”1/15/202024軟件工程程技術(shù)的的兩個(gè)特特點(diǎn)強(qiáng)調(diào)規(guī)范范化強(qiáng)調(diào)文檔檔化1/15/202025§1.2軟件和軟軟件生命命期模型型(SoftwareLifeCycle)軟件產(chǎn)品品或軟件件系統(tǒng)從從設(shè)計(jì)、、投入使使用到被被淘汰的的全過程程。1/15/202026軟件生存存期的階階段劃分分(1)可行性研研究與計(jì)計(jì)劃(2)需求分析析(3)總體設(shè)計(jì)計(jì)(4)詳細(xì)設(shè)計(jì)計(jì)(5)實(shí)現(xiàn)(6)集成測試試(7)確認(rèn)測試試(8)使用和維維護(hù)成長期((開發(fā)期期)懷孕期((計(jì)劃期期)成年期((運(yùn)行期期)1/15/202027新的國際際標(biāo)準(zhǔn)定定義的軟件生存存過程(1995ISO/IEC12207)軟件生存存期過程程支持過程程組織過程程主要過程程獲取過程供應(yīng)過程開發(fā)過程運(yùn)行過程維護(hù)過程文檔編制過程配置管理過程質(zhì)量保證過程驗(yàn)證過程確認(rèn)過程聯(lián)合評審過程審核過程問題解決過程管理過程基礎(chǔ)設(shè)施過程改進(jìn)過程培訓(xùn)過程1/15/202028軟件工作作的范圍圍只考慮編寫程序序涉及整個(gè)個(gè)軟件生存存周期擴(kuò)展到1/15/202029軟件開發(fā)模型是軟軟件開發(fā)發(fā)全部過過程、活活動(dòng)和任任務(wù)的結(jié)構(gòu)框架架。它能直直觀表達(dá)達(dá)軟件開開發(fā)全過過程,明明確規(guī)定定要完成成的主要要活動(dòng)、、任務(wù)和和開發(fā)策策略。軟軟件開發(fā)模型也常常稱為::軟件過程模型軟件生存存周期模型軟件工程程范型軟件開發(fā)發(fā)模型1/15/202030可行性研研究與計(jì)計(jì)劃需求分析析設(shè)計(jì)編碼運(yùn)行維護(hù)護(hù)測試定義階段開發(fā)階段維護(hù)階段段瀑布模型型(WaterfallModel)1/15/202031開發(fā)軟件件不僅僅僅是編程程1/15/202032按照傳統(tǒng)統(tǒng)瀑布模模型開發(fā)發(fā)軟件的的特點(diǎn)1.階段間具具有順序序性和依依賴性。。2.推遲實(shí)現(xiàn)現(xiàn)的觀點(diǎn)點(diǎn)。3.每個(gè)階段段必須完完成規(guī)定定的文檔檔;每個(gè)階段段結(jié)束前前完成文文檔審查查,及早改正正錯(cuò)誤。。1/15/202033原型模型型(快速原型模型)原型范型型用戶測試試運(yùn)行原型型建造/修修改原型聽取用戶意見1/15/202034采用原型模型的軟件生存存周期分析定義義系統(tǒng)需求求生成原型系統(tǒng)設(shè)計(jì)程序設(shè)計(jì)編碼測試運(yùn)行和維護(hù)原型化含原型化化的軟件生存存期1/15/202035§1.3軟件質(zhì)量量的評價(jià)價(jià)成功的標(biāo)標(biāo)準(zhǔn):用戶在用用戶可很很容易做做完要做做的事失敗的根根本原因因:開發(fā)人員員寫出的的東西達(dá)達(dá)不到用戶要求求(人的問題題.技術(shù)問題題)1/15/202036質(zhì)量與生生產(chǎn)率質(zhì)量是軟軟件需求求方最關(guān)關(guān)心的問問題,用用戶即使使不圖物物美價(jià)廉廉,也要要求個(gè)貨貨真價(jià)實(shí)實(shí)質(zhì)量與生生產(chǎn)率之之間有著著內(nèi)在的的聯(lián)系,,高生產(chǎn)產(chǎn)率必須須以質(zhì)量量合格為為前提質(zhì)量與生生產(chǎn)率的的提高就就指望程程序員與與程序經(jīng)經(jīng)理非得在質(zhì)質(zhì)量與生生產(chǎn)率之之間分個(gè)個(gè)主次不不可,那那么應(yīng)該該是質(zhì)量量第一,,生產(chǎn)率率第二1/15/202037質(zhì)量與生生產(chǎn)率((2)質(zhì)量直接接體現(xiàn)在在軟件的的每段程程序中,,高質(zhì)量量自然是是開發(fā)人人員的技技術(shù)追求求,也是是職業(yè)道道德的要要求高質(zhì)量對對所有的的用戶都都有價(jià)值值,而高高生產(chǎn)率率只對開開發(fā)方有有意義如果一開開始就追追求高生生產(chǎn)率,,容易使使人急功功近利,,留下隱隱患1/15/202038不貪污的的官就是是好官嗎“運(yùn)行正正確”的的程序就就是高質(zhì)質(zhì)量的程程序嗎??也許運(yùn)行行速度很很低并且且浪費(fèi)內(nèi)內(nèi)存;也也許代碼碼寫得一一塌糊涂涂1/15/202039軟件的質(zhì)質(zhì)量因素素軟件的質(zhì)質(zhì)量因素素很多,,如正確確性、精精確性、、可靠性性、容錯(cuò)錯(cuò)性、性性能、效效率、易易用性、、可理解解性、簡簡潔性、、可復(fù)用用性、可可擴(kuò)充性性、兼容容性等等等(還可可以列出出十幾個(gè)個(gè))一般說來來傾向于于可維護(hù)護(hù)性、可可靠性、、可理解解性和效效率1/15/202040軟件質(zhì)量量因素分分類和武武學(xué)分類正確性與精確性易用性可理解性與簡潔性性能與效率可復(fù)用性與可擴(kuò)充性少林派、武當(dāng)派華山派昆侖派峨嵋派崆峒派1/15/202041正確性與與精確性性機(jī)器不會會主動(dòng)欺欺騙人,,軟件運(yùn)運(yùn)行不正正確或者者不精確確一般都都是人造造成的需求分析析錯(cuò)了,,那么對對客戶而而言這個(gè)個(gè)軟件也也存在錯(cuò)錯(cuò)誤如果軟件件沒有100%%地按需求求規(guī)格執(zhí)執(zhí)行,那那么這個(gè)個(gè)軟件也也存在錯(cuò)錯(cuò)誤程序員要要為“正正確”、、“精確確”四個(gè)個(gè)字竭盡盡全力1/15/202042性能與效效率用戶都希希望軟件件的運(yùn)行行速度高高些(高高性能)),并且且占用資資源少些些(高效效率)舊社會地地主就是是這么對對待長工工的:干干活要快快點(diǎn),吃吃得要少少點(diǎn)通過優(yōu)化化算法、、數(shù)據(jù)結(jié)結(jié)構(gòu)和代代碼組織織來提高高軟件系系統(tǒng)的性性能與效效率優(yōu)化化的關(guān)鍵鍵工作是找找出限制制性能與與效率的的“瓶頸頸”1/15/202043易用性導(dǎo)致軟件件易用性性差的根根本原因因是開發(fā)發(fā)人員犯犯了“錯(cuò)錯(cuò)位”的的毛病::他以為為只要自自己用起起來方便便,用戶戶也一定定會滿意意當(dāng)用戶真真的感到到軟件很很好用時(shí)時(shí),一股股溫暖的的感覺油油然而生生,于是是就用““友好””來評價(jià)價(jià)易用性性1/15/202044可理解性性與簡潔潔性(Note1)開發(fā)人員員只有在在自己思思路清晰晰時(shí)才可可能寫出出讓別人人能理解解的程序序編程時(shí)還還要注意意不可濫濫用技巧巧,應(yīng)該該用自然然的方式式編程簡潔是一一種美如果把學(xué)學(xué)術(shù)文章章寫得很很簡潔,,讓人很很容易理理解,它它往往中中不了1/15/202045可復(fù)用性性與可擴(kuò)擴(kuò)充性一種方式式是原封封不動(dòng)地地使用現(xiàn)現(xiàn)成的軟軟件構(gòu)件件一種方式式是對現(xiàn)現(xiàn)成的軟軟構(gòu)件進(jìn)進(jìn)行必要要的擴(kuò)充充后再使使用可復(fù)用性性好的程程序一般般也具有有良好的的可擴(kuò)充充性1/15/202046可行性研究與計(jì)劃需求分析設(shè)計(jì)編碼運(yùn)行維護(hù)測試測試已經(jīng)經(jīng)開始返回上級級,再……..瀑布模型型的質(zhì)量保保障體系系1/15/202047小結(jié)(Note2)軟件的高高質(zhì)量主主要是設(shè)設(shè)計(jì)出來來的不是“管管”出來來的更不能依依賴質(zhì)量量檢查。。1/15/202048第二章可可行性性研究與與計(jì)劃1/15/202049系統(tǒng)流程程圖(Note3)輸入單據(jù)據(jù)磁盤文件件處理輸出單據(jù)據(jù)1/15/202050數(shù)據(jù)流程程圖數(shù)據(jù)源點(diǎn)點(diǎn)和終點(diǎn)點(diǎn)變換數(shù)據(jù)據(jù)的加工工文件數(shù)據(jù)邏輯關(guān)系系符號::與、或或、異或或1/15/202051§2.1可可行性研研究基本本概念可行性研研究的任任務(wù):可行性研研究的主主要任務(wù)務(wù)是“了了解客戶戶的要求求及現(xiàn)實(shí)實(shí)環(huán)境,,從技術(shù)術(shù)、經(jīng)濟(jì)濟(jì)和社會會因素等等三方面面研究并并論證本本軟件項(xiàng)項(xiàng)目的可可行性,,編寫可可行性研研究報(bào)告告,制定定初步項(xiàng)項(xiàng)目開發(fā)發(fā)計(jì)劃。?!?/15/202052可行性研研究的內(nèi)內(nèi)容(1)技術(shù)可行行性(2)經(jīng)濟(jì)可行行性(3)操作可行行性(4)社會可行行性(法律可行行性)(5)抉擇1/15/202053技術(shù)可行行性(Note4)度量一個(gè)個(gè)特定技技術(shù)信息息系統(tǒng)解解決方案案的實(shí)用用性及技技術(shù)資源源的可用用性考慮的問問題開發(fā)風(fēng)險(xiǎn)險(xiǎn)分析資源分析相關(guān)技術(shù)術(shù)的發(fā)展展(現(xiàn)有技技術(shù)能否否實(shí)現(xiàn)新新系統(tǒng),,技術(shù)難難點(diǎn)、建建議采用用技術(shù)的的先進(jìn)性性)1/15/202054經(jīng)濟(jì)可行行性度量系統(tǒng)統(tǒng)解決方方案的性性能價(jià)格格比考慮的問問題成本/效益分析析有形成本本、效益益無形成本本、效益益價(jià)值和成成本的關(guān)關(guān)系質(zhì)量與價(jià)價(jià)值、成成本的關(guān)關(guān)系價(jià)值/成本的均均衡1/15/202055經(jīng)濟(jì)可行行性考慮慮的問題題(Note5)成本和效效益的估估算開發(fā)成本本的估算算開發(fā)效益益的估算算運(yùn)行成本本的估算算運(yùn)行效益益的估算算1/15/202056成本分析析代碼行技技術(shù)(page19)任務(wù)估算算技術(shù)(page20)總成本、、總?cè)肆αο鄬φ`誤差在內(nèi)內(nèi)Putnam估估算模型型(page21))COCOMO模模型比較較復(fù)雜1/15/202057效益分析析系統(tǒng)的經(jīng)經(jīng)濟(jì)效益益=使用用新系統(tǒng)統(tǒng)增加收收入+使使用心系系統(tǒng)可以以節(jié)省的的運(yùn)行費(fèi)費(fèi)用總的效益益和軟件件生存周周期有關(guān)關(guān)貨幣的時(shí)時(shí)間價(jià)值值(page23)投資回收收期(page23))投資回收收率(page23))純收入((page23)投資回收收率1/15/202058系統(tǒng)開發(fā)發(fā)和每年年運(yùn)行費(fèi)費(fèi)用舉例例1.系統(tǒng)開發(fā)發(fā)費(fèi)用((一次)).2名系統(tǒng)分分析員(450小時(shí)/名,45美元/小時(shí))$40,500.5名系統(tǒng)開開發(fā)人員員(275小時(shí)/名,36美元/小時(shí))$49,500.1名數(shù)據(jù)庫庫管理員員(30小時(shí)/名,42美元/小時(shí))$1,260.2名技術(shù)寫寫作者(120小時(shí)/名,25美元/小時(shí))$$6,000.1名秘書(160小時(shí)/名,15美元/小時(shí))$$2,4001/15/202059系統(tǒng)開發(fā)發(fā)和每年年運(yùn)行費(fèi)費(fèi)用舉例例.1名數(shù)據(jù)通通訊專家家(60小時(shí)/名,42美元/小時(shí))$2,4002名在轉(zhuǎn)換換期間數(shù)數(shù)據(jù)輸入入人員$49,,500(40小時(shí)/名,12美元/小時(shí))1/15/202060系統(tǒng)開發(fā)發(fā)和每年年運(yùn)行費(fèi)費(fèi)用舉例例培訓(xùn):三天的開開發(fā)人員員內(nèi)部培培訓(xùn)課程程$7,00030個(gè)用戶,,三天的的內(nèi)部培培訓(xùn)課程程$10,,000物資:復(fù)印$500磁盤、紙紙張等消消耗品$6501/15/202061系統(tǒng)開發(fā)發(fā)和每年年運(yùn)行費(fèi)費(fèi)用舉例例購買硬件件、軟件件:20臺工作站站W(wǎng)indows軟件$1,00020臺工作站站內(nèi)存升升級$8,000網(wǎng)絡(luò)軟件件$17,,50020臺工作站站辦公軟軟件產(chǎn)品品$20,,000系統(tǒng)開發(fā)發(fā)總費(fèi)用用$161,6701/15/202062系統(tǒng)開發(fā)發(fā)和每年年運(yùn)行費(fèi)費(fèi)用舉例例2.年運(yùn)行費(fèi)費(fèi)用(每每年)人員:維護(hù)程序序員/分析員(250小時(shí)/年,42美元/小時(shí))$10,,500網(wǎng)絡(luò)管理理員(300小時(shí)/年,50美元/小時(shí))$$15,000購買硬件件、軟件件升級::硬件$5,000軟件$6,000物資和雜雜項(xiàng)$3,500每年總運(yùn)運(yùn)行費(fèi)用用$40,,0001/15/202063操作可行性用戶使用用可能性性時(shí)間進(jìn)度度可行性性組織和文文化上的的可行性性1/15/202064社會可行行性(法律可行行性)開發(fā)項(xiàng)目目是否會會在社會會上或政政治上引引起侵權(quán)權(quán)、破壞壞或其它它責(zé)任問問題1/15/202065可行性研研究計(jì)劃劃的完成成可行性研研究計(jì)劃劃1/15/202066§2.3可行性研研究的步步驟(page15)(1)復(fù)查確認(rèn)認(rèn)系統(tǒng)目目標(biāo)、規(guī)規(guī)模(2)研究正使使用系統(tǒng)統(tǒng)工作流流程(3)導(dǎo)出新系系統(tǒng)高層層邏輯模模型(4)重新定義義問題(5)導(dǎo)出和評評價(jià)供選選擇的方方案(6)推薦可行的方方案(7)草擬開發(fā)發(fā)計(jì)劃(8)編寫可行行性研究究報(bào)告,送審1/15/202067第三章需需求分分析和規(guī)規(guī)格說明明1/15/202068§3.1為什么需需要需求求分析開發(fā)人員員往往急急于求成成希望對開開發(fā)進(jìn)行行指導(dǎo)希望開發(fā)發(fā)人員對對用戶的的要求理理解希望用戶戶理解開開發(fā)人員員測試部門門有理可可依1/15/202069需求分析析的任務(wù)務(wù)準(zhǔn)確地定義未來系統(tǒng)統(tǒng)的目標(biāo)標(biāo),確定定為了滿滿足用戶戶的需求求系統(tǒng)必必須做什什么。用用<需求規(guī)格格說明書書>規(guī)范的形形式準(zhǔn)確確地表達(dá)達(dá)用戶的的需求。1/15/202070什么是用用戶需求求思考、涉涉及的幾幾個(gè)問題題如何識別別、獲取取需求?你能夠采采取何種種手段與與用戶進(jìn)進(jìn)行交流流溝通?何為需求求建模?你如何理理解模型型與建模模?1/15/202071軟件需求求分析的的幾個(gè)階階段問題分析析問題評估估和方案案綜合建模規(guī)約復(fù)審系統(tǒng)分析析員的主主要焦點(diǎn)是“做做什么(what)”,,不是““怎樣做做(how)”1/15/202072需求獲取取面臨的的挑戰(zhàn)(Note6)客戶說不不清楚需需求需求易變變性問題的復(fù)復(fù)雜性和和對問題題空間理解的不不完備性性與不一一致性1/15/202073§3.2需求獲取取的常用用方法(Note7)建立分析析小組領(lǐng)域?qū)<壹遥褐髦鹘窍到y(tǒng)分析析員:導(dǎo)導(dǎo)演客戶訪談?wù)剢栴}分析析與確認(rèn)認(rèn)1/15/202074某出版社社系統(tǒng)調(diào)調(diào)查表編號提出問題1您在哪個(gè)部門工作?2出版業(yè)務(wù)流程是什么?3您每日都處理那些文件、數(shù)據(jù)、報(bào)表?4工作中手工處理特別麻煩的事情是什么?5工作中手工處理什么問題解決不了?影響效率的問題有哪些?6您認(rèn)為提高工作效率,節(jié)省工作時(shí)間,減輕工作強(qiáng)度可采取哪些辦法?1/15/202075某出版社社系統(tǒng)調(diào)調(diào)查表編號提出問題7您的部門需要成本核算和統(tǒng)計(jì)的內(nèi)容有哪些?8您的部門采用計(jì)算機(jī)管理工作情況如何?9如何改進(jìn)業(yè)務(wù)流程使之更合理?10哪些問題是目前傳統(tǒng)手工方法根本無法解決的?11出版社計(jì)算機(jī)管理信息系統(tǒng)需要解決什么問題?1/15/202076聽一個(gè)故事事(Note8)主人公::Contoso制藥公司司的高級級管理長長官GerhardContoso公司的信信息系統(tǒng)統(tǒng)開發(fā)小小組的新新管理員員Cynthia內(nèi)容:客戶的需需求觀
1/15/202077誰是客戶戶客戶是指指直接或或間接從從產(chǎn)品中中獲得利利益的個(gè)個(gè)人或組組織軟件客戶戶包括提提出要求求、支付付款項(xiàng)、、選擇、、具體說說明或使使用軟件件產(chǎn)品的的項(xiàng)目風(fēng)風(fēng)險(xiǎn)承擔(dān)擔(dān)者(stakeholder))或是獲得得產(chǎn)品所所產(chǎn)生的的結(jié)果的的人。1/15/202078客戶與開開發(fā)人員員之間的的合作關(guān)關(guān)系(Note10)高質(zhì)量的的需求來來源于客客戶與開開發(fā)人員員之間有有效的交交流與合合作通常,開開發(fā)人員員與客戶戶或客戶戶代理人人成為一一種對立立關(guān)系1/15/202079軟件客戶戶需求權(quán)權(quán)利書((1)(Note11)客戶有如如下權(quán)利利:1.要求分析析人員使使用符合合客戶語語言習(xí)慣慣的表達(dá)達(dá)。2.要求分析析人員了了解客戶戶系統(tǒng)的的業(yè)務(wù)及及目標(biāo)。。3.要求分析析人員組組織需求求獲取期期間所介介紹的信信息,并并編寫軟軟件需求求規(guī)格說說明。4.要求開發(fā)發(fā)人員對對需求過過程中所所產(chǎn)生的的工作結(jié)結(jié)果進(jìn)行行解釋說說明。5.要求開發(fā)發(fā)人員在在整個(gè)交交流過程程中保持持和維護(hù)護(hù)一種合合作的職職業(yè)態(tài)度度。1/15/202080軟件客戶戶需求權(quán)權(quán)利書((2)(Note12)6.要求開發(fā)發(fā)人員對對產(chǎn)品的的實(shí)現(xiàn)及及需求都都要提供供建議,,拿出主主意。7.描述產(chǎn)品品使其具具有易用用、好用用的特性性。8.可以調(diào)整整需求,,允許重重用已有有的軟件件組件。。9.當(dāng)需要對對需求進(jìn)進(jìn)行變更更時(shí),對對成本、、影響、、得失((trade--off)有個(gè)真實(shí)實(shí)可信的的評估。。10.獲得滿足足客戶功功能和質(zhì)質(zhì)量要求求的系統(tǒng)統(tǒng),并且且這些要要求是開開發(fā)人員員同意的的。1/15/202081軟件客戶戶需求義義務(wù)書(1)(Note13)客戶有下下列義務(wù)務(wù):1.給分析人人員講解解業(yè)務(wù)及及說明業(yè)業(yè)務(wù)方面面的術(shù)語語等專業(yè)業(yè)問題。。2.抽出時(shí)間間清楚地地說明需需求并不不斷完善善。3.當(dāng)說明系系統(tǒng)需求求時(shí),力力求準(zhǔn)確確詳細(xì)。。4.需要時(shí)要要及時(shí)對對需求做做出決策策。5.要尊重開開發(fā)人員員的成本本估算和和對需求求的可行行性分析析。1/15/202082軟件客戶戶需求義義務(wù)書((2)(Note14)6.對單項(xiàng)需需求、系系統(tǒng)特性性或使用用實(shí)例劃劃分優(yōu)先先級。7.評審需求求文檔和和原型。。8.一旦知道道要對項(xiàng)項(xiàng)目需求求進(jìn)行變變更,要要馬上與與開發(fā)人人員聯(lián)系系。9.在要求需需求變更更時(shí),應(yīng)應(yīng)遵照開開發(fā)組織織確定的的工作過過程來處處理。10.尊重需求求工程中中開發(fā)人人員采用用的流程程(過程程)。1/15/202083“簽約””意味著著什么(Note15)客戶與開開發(fā)人員員關(guān)系中中的重要要部分客戶代表表經(jīng)常把把“簽約約”看作作是毫無無意義的的更為重要要的是簽簽名是建建立在一一個(gè)需求求協(xié)議的的基線上上與你的重重要客戶戶一起討討論權(quán)利利書和義義務(wù)書,,以達(dá)成成協(xié)議,,并付諸諸實(shí)踐1/15/202084高質(zhì)量的的需求過過程帶來來的好處處(Note16)開發(fā)后期期和整個(gè)個(gè)維護(hù)階階段的重重做的工工作大大大減少強(qiáng)調(diào)需求求質(zhì)量并并不能引引起某些些人的重重視,他們錯(cuò)誤誤地認(rèn)為為在需求求上消耗耗多少時(shí)時(shí)間就會會導(dǎo)致產(chǎn)產(chǎn)品開發(fā)發(fā)推遲多多少時(shí)間間將選定系系統(tǒng)的需需求明確確地分配配到各軟軟件子系系統(tǒng),強(qiáng)強(qiáng)調(diào)采用用產(chǎn)品工工程的系系統(tǒng)方法法。這樣樣能簡化化硬軟件件的集成成1/15/202085優(yōu)秀需求求具有的的特性(Note17)1.完整性2.正確性3.可行性4.必要性5.劃分優(yōu)先先級6.無二義性性7.可驗(yàn)證性性1/15/202086§3.3需求獲取取的內(nèi)容容1.用戶需求求分類(1)功能性需需求:定義了系系統(tǒng)做什什么(描描述系統(tǒng)統(tǒng)必須支支持的功能和和過程))(2)非功能性性需求((技術(shù)需需求):定義了系系統(tǒng)工作作時(shí)的特特性(描述操操作環(huán)境境和性能能目標(biāo)))1/15/202087兩類需求求包括的的內(nèi)容(1)功能(2)性能(3)環(huán)境(4)界面(5)用戶或人人 的因因素(6)文檔(7)數(shù)數(shù)據(jù)(8)資資源(9)安安全保保密(10))軟件成成本消耗耗 與開開發(fā)進(jìn)度度(11))質(zhì)量保保證1/15/202088(1)功能需求求系統(tǒng)做什什么?系統(tǒng)何時(shí)時(shí)做什么么?系統(tǒng)何時(shí)時(shí)及如何何修改或升級??1/15/202089(2)性能需求求軟件開發(fā)發(fā)的技術(shù)術(shù)性指標(biāo)標(biāo)例如:存儲容量量限制執(zhí)行速度度、相應(yīng)應(yīng)時(shí)間吞吐量1/15/202090(3)環(huán)境需求求硬件設(shè)備備:機(jī)型、外外設(shè)、接接口、地點(diǎn)、分分布、溫溫度、濕度、磁磁場干擾擾等軟件:操作系統(tǒng)統(tǒng)網(wǎng)絡(luò)數(shù)據(jù)庫1/15/202091(4)界面需求求有來自其其它系統(tǒng)統(tǒng)的輸入入嗎?到自其它它系統(tǒng)的的輸出嗎嗎?對數(shù)據(jù)格格式有規(guī)規(guī)定嗎??對數(shù)據(jù)存存儲介質(zhì)質(zhì)有規(guī)定定嗎?1/15/202092(5)用戶或人人的因素素用戶類型型?各種用戶戶熟練程程度?需受何種種訓(xùn)練??用戶理解解、使用用系統(tǒng)的的難度??用戶錯(cuò)誤誤操作系系統(tǒng)的可可能性??1/15/202093(6)文檔需求求需哪些文文檔?文檔針對對哪些讀讀者?1/15/202094(7)數(shù)據(jù)需求求輸入、輸輸出數(shù)據(jù)據(jù)的格式式?接收、發(fā)發(fā)送數(shù)據(jù)據(jù)的頻率率?數(shù)據(jù)的準(zhǔn)準(zhǔn)確性和和精度??數(shù)據(jù)流量量?數(shù)據(jù)需保保持的時(shí)時(shí)間?1/15/202095(8)資源需求求軟件運(yùn)行行時(shí)所需需的數(shù)據(jù)據(jù)、軟件件。內(nèi)存空間間等資源源。軟件開發(fā)發(fā)、維護(hù)護(hù)所需的的人力、、支撐軟件件、開發(fā)發(fā)設(shè)備等等。1/15/202096(9)安全保密密要求需對訪問問系統(tǒng)或或系統(tǒng)信信息加以以控制嗎嗎?如何隔離離用戶之之間的數(shù)數(shù)據(jù)?用戶程序序如何與與其它程程序和操操作系統(tǒng)統(tǒng)隔離??系統(tǒng)備份份要求?1/15/202097(10))軟件成本本消耗與開發(fā)進(jìn)進(jìn)度需求求開發(fā)有規(guī)規(guī)定的時(shí)時(shí)間表嗎嗎?軟硬件投投資有無無限制?1/15/202098(11))質(zhì)量保證證系統(tǒng)的可可靠性要要求?系統(tǒng)必須須監(jiān)測和和隔離錯(cuò)錯(cuò)誤嗎??規(guī)定系統(tǒng)統(tǒng)平均出出錯(cuò)時(shí)間間?出錯(cuò)后,,重啟系系統(tǒng)允許許的時(shí)間間?系統(tǒng)變化化如何反反映到設(shè)設(shè)計(jì)中??維護(hù)是否否包括對對系統(tǒng)的的改進(jìn)??系統(tǒng)的可可移植性性?1/15/202099怎樣寫需需求分析析報(bào)告作報(bào)告時(shí)時(shí)要先從從宏觀上上講一、、二、三三、四、、五,再再從細(xì)節(jié)節(jié)上講A、B、C、D、E。需求分析析不象偵偵探推理理那樣從從蛛絲馬馬跡著手手。應(yīng)該該先了解解宏觀的的問題,,再了解解細(xì)節(jié)的的問題如圖S={{D1,D2,D3,…Dn}Di={P1,P2,P3,…Pm}Pj={F1,F(xiàn)2,F(xiàn)3,…Fk}1/15/2020100怎樣寫需需求分析析報(bào)告1/15/2020101§3.4需求的開開發(fā)和管管理整個(gè)軟件件需求工工程研究究領(lǐng)域劃劃分為需需求開發(fā)發(fā)和需求求管理兩兩部分更更合適需求工程程域的層層次分解解示意圖圖1/15/2020102需求開發(fā)發(fā)(Note18)問題獲取?。╡licitation)分析(analysis))編寫規(guī)格格說明((specification)驗(yàn)證(verification)1/15/2020103知識技能能(Note19)絕大部分分的軟件件開發(fā)人人員都沒沒有接受受過高效效需求工工程所需需技能的的正規(guī)培培訓(xùn)培訓(xùn)需求求分析人人員所有有的開發(fā)發(fā)人員都都應(yīng)接受受一個(gè)基基本的需需求工程程培訓(xùn)培訓(xùn)軟件件需求的的用戶代代表和管管理人員員參與軟軟件開發(fā)發(fā)的用戶戶代表應(yīng)應(yīng)接受為為期一天天左右,關(guān)于需求求工程的的培訓(xùn),,開發(fā)管管理者和和客戶管管理者也也應(yīng)參加加讓開發(fā)人人員了解解應(yīng)用領(lǐng)領(lǐng)域的基基本概念念組織一一些簡短短的關(guān)于于客戶業(yè)業(yè)務(wù)活動(dòng)動(dòng)、術(shù)語語、目標(biāo)等方面面的討論論會以幫幫助開發(fā)發(fā)人員對對應(yīng)用領(lǐng)領(lǐng)域有個(gè)個(gè)基本了了解1/15/2020104需求獲取取(1))(Note20)確定需求求開發(fā)過過程編寫項(xiàng)目目視圖和和范圍文文檔項(xiàng)目目視圖將用戶群群分類并并歸納各各自特點(diǎn)點(diǎn)選擇每類類用戶的的產(chǎn)品代代表建立起典典型用戶戶的核心心隊(duì)伍把把同類產(chǎn)產(chǎn)品或你你的產(chǎn)品品的先前前版本用用戶代表表召集起起來,從從他們那那里收集集目前產(chǎn)產(chǎn)品的功功能需求求和非功功能需求求1/15/2020105需求獲取取(2))(Note21)讓用戶代代表確定定使用實(shí)實(shí)例召開應(yīng)用用程序開開發(fā)聯(lián)系系會議分析用戶戶工作流流程觀察察用戶執(zhí)執(zhí)行業(yè)務(wù)務(wù)任務(wù)的的過程確定質(zhì)量量屬性和和其它非非功能需需求在功功能需求求之外再再考慮一一下非功功能的質(zhì)質(zhì)量特點(diǎn)點(diǎn)通過檢查查當(dāng)前系系統(tǒng)的問問題報(bào)告告來進(jìn)一一步完善善可查看需需求是否否有足夠夠的靈活活性以允允許重用用一些已已有的軟軟件組件件1/15/2020106需求分析析(Note22)繪制系統(tǒng)統(tǒng)關(guān)聯(lián)圖圖。建立數(shù)據(jù)據(jù)字典。。為需求建建立模型型。建立用戶戶接口原原型。確定需求求優(yōu)先級級。1/15/2020107需求規(guī)格格說明((SRS)(Note23)采用原始始模板在在你的組組織中要要為編寫寫軟件需需求文檔檔定義一一種標(biāo)準(zhǔn)準(zhǔn)模板指明需求求的來源源為每項(xiàng)需需求注上上標(biāo)號制制定一種種慣例來來為每項(xiàng)項(xiàng)需求提提供一個(gè)個(gè)獨(dú)立的的可識別別的標(biāo)號號或記號號記錄業(yè)務(wù)務(wù)規(guī)范業(yè)業(yè)務(wù)規(guī)范范創(chuàng)建需求求跟蹤能能力矩陣陣1/15/2020108需求驗(yàn)證證(Note24)對需求文文檔進(jìn)行行正式審審查以需求為為依據(jù)編編寫測試試用例編寫用戶戶手冊在在需求開開發(fā)早期期即可起起草一份份用戶手手冊確定合格格的標(biāo)準(zhǔn)準(zhǔn)讓用戶戶描述什什么樣的的產(chǎn)品才才算滿足足他們的的要求和和適合他他們使用用的1/15/2020109需求管理理(Note25)確定一個(gè)個(gè)選擇、、分析和和決策需需求變更更的過程程建立變更更控制委委員會評估每項(xiàng)項(xiàng)選擇的的需求變變更跟蹤所有有受需求求變更影影響的工工作產(chǎn)品品建立需求求基準(zhǔn)版版本和需需求控制制版本文文檔維護(hù)需求求變更的的歷史記記錄記錄錄跟蹤每項(xiàng)項(xiàng)需求的的狀態(tài)建建立一個(gè)個(gè)數(shù)據(jù)庫庫衡量需求求穩(wěn)定性性記錄基基準(zhǔn)需求求的數(shù)量量和變更更數(shù)量使用需求求管理工工具商業(yè)業(yè)化的需需求管理理工具1/15/2020110項(xiàng)目管理理(Note26)選擇一種種合適的的軟件開開發(fā)方法法生存周周期項(xiàng)目開發(fā)發(fā)計(jì)劃的的進(jìn)度安安排將會會不斷改改變發(fā)生需求求變更時(shí)時(shí)協(xié)商項(xiàng)項(xiàng)目約定定編寫文檔檔和管理理與需求求相關(guān)的的風(fēng)險(xiǎn)跟蹤需求求工程所所耗的工工作量1/15/2020111分析編寫文檔評審,商議基準(zhǔn)需求說明需求變更過程管理客戶需求市場當(dāng)前基線修正后基線市場,客戶,管理項(xiàng)目環(huán)境需求開發(fā)發(fā)與需求求管理之之間的界界限(Note27)1/15/2020112§3.5改進(jìn)需求求過程(Note28)軟件開發(fā)發(fā)過程的的改進(jìn)有有以下兩兩個(gè)主要要目標(biāo)::解決在以以前項(xiàng)目目或目前前項(xiàng)目中中遇到的的問題。。防止和避避免你可可能在將將來的項(xiàng)項(xiàng)目中要要遇到的的問題。。1/15/2020113四條改進(jìn)進(jìn)軟件的的原則(Note29)改進(jìn)過程程應(yīng)該是是革命性性的、徹徹底的、、連續(xù)的的、反復(fù)復(fù)的人們和組組織機(jī)構(gòu)構(gòu)都只有有在他們們獲得激激勵(lì)時(shí)才才愿意變變更過程變更更是面向向目標(biāo)的的將改進(jìn)活活動(dòng)看作作一些小小項(xiàng)目1/15/2020114過程改進(jìn)進(jìn)周期(Note30)評價(jià)當(dāng)前前采用的的方法指定活動(dòng)動(dòng)改進(jìn)計(jì)計(jì)劃創(chuàng)建、實(shí)實(shí)驗(yàn)和實(shí)實(shí)施新過過程評價(jià)結(jié)果果圖:軟件件開發(fā)過過程改進(jìn)進(jìn)的周期期發(fā)現(xiàn)和建建議活動(dòng)計(jì)劃劃新的過程程,實(shí)驗(yàn)驗(yàn)結(jié)果,,獲得經(jīng)經(jīng)驗(yàn)實(shí)施情況況怎樣活動(dòng)計(jì)劃劃的效果果如何新過程是是否達(dá)到到預(yù)期目目標(biāo)?計(jì)劃下一一步的改改進(jìn)周期期1/15/2020115§3.6軟件需求求與風(fēng)險(xiǎn)險(xiǎn)管理(Note31)聽一個(gè)故故事:同樣在Contoso制藥公司司主人公“化學(xué)制制品跟蹤蹤系統(tǒng)””的項(xiàng)目目管理人人員Dave首席程序序員Helen首席測試試員Ramesh內(nèi)容需求工程程的風(fēng)險(xiǎn)險(xiǎn)為何物??1/15/2020116軟件風(fēng)險(xiǎn)險(xiǎn)管理的的要素(Note32)風(fēng)險(xiǎn)管理理就是使用用某些工工具和步步驟把項(xiàng)項(xiàng)目風(fēng)險(xiǎn)險(xiǎn)限制在在一個(gè)可可接受的的范圍內(nèi)內(nèi)。風(fēng)險(xiǎn)險(xiǎn)管理提提供了一一種標(biāo)準(zhǔn)準(zhǔn)的方法法來指出出風(fēng)險(xiǎn)并并把風(fēng)險(xiǎn)險(xiǎn)因素編編成文檔檔,評估估其潛在在的威脅脅,以及及確定減減少這些些風(fēng)險(xiǎn)評價(jià)價(jià)(riskassessment)風(fēng)險(xiǎn)避免免(riskavoidance)風(fēng)險(xiǎn)控制制(riskcontrol)1/15/2020117編寫項(xiàng)目目風(fēng)險(xiǎn)文文檔(Note33)1/15/2020118與需求有有關(guān)的風(fēng)風(fēng)險(xiǎn)下面介紹紹的風(fēng)險(xiǎn)險(xiǎn)因素是是按需求求工程中中獲取、、分析、、編寫規(guī)規(guī)格說明明、驗(yàn)證證和管理理匯總起起來的,,并推薦薦了一些些方法用用于降低低風(fēng)險(xiǎn)發(fā)發(fā)生的可可能性或或減輕風(fēng)風(fēng)險(xiǎn)發(fā)生生給項(xiàng)目目帶來的的影響。。這張清單單僅僅是是一個(gè)起起點(diǎn),在在你做項(xiàng)項(xiàng)目逐漸漸積累經(jīng)經(jīng)驗(yàn)過程程中,加加入你的的風(fēng)險(xiǎn)因因素清單單和減輕輕風(fēng)險(xiǎn)的的策略。。使用這這里提供供的條目目來幫助助你識別別需求風(fēng)風(fēng)險(xiǎn)并采采用條件件—結(jié)果果的格式式來書寫寫風(fēng)險(xiǎn)說說明。1/15/2020119需求獲取取(Note34)1)產(chǎn)品視圖圖與范圍圍2)需求開發(fā)發(fā)所需時(shí)時(shí)間3)需求規(guī)格格說明的的完整性性和正確確性4)對革新產(chǎn)產(chǎn)品的需需求5)明確非功功能需求求6)客戶贊同同產(chǎn)品需需求7)未加說明明的需求求8)把已有的的產(chǎn)品作作為需求求基線9)給出期望望的解決決辦法1/15/2020120需求分析析(Note35)1)劃分需求求優(yōu)先級級2)帶來技術(shù)術(shù)困難的的特性3)不熟悉的的技術(shù)、、方法、、語言、、工具或或硬件平平臺1/15/2020121需求規(guī)格格說明(Note36)1)需求理解解2)時(shí)間壓力力對TBD的影響3)具有二義義性的術(shù)術(shù)語4)需求說明明中包括括了設(shè)計(jì)計(jì)1/15/2020122需求驗(yàn)證證(Note37)1)未經(jīng)驗(yàn)證證的需求求2)審查的有有效性1/15/2020123需求管理理(Note38)1)變更需求求2)需求變更更過程3)未實(shí)現(xiàn)的的需求4)擴(kuò)充項(xiàng)目目范圍1/15/2020124建立項(xiàng)目目視圖與與范圍(Note39)一個(gè)項(xiàng)目目可能包包括一些些與軟件件沒有直直接關(guān)系系的需求求,例如如:硬件件的購買買、產(chǎn)品品的安裝裝、維護(hù)護(hù)或廣告告。但在在此,我我們只關(guān)關(guān)心與軟軟件產(chǎn)品品有關(guān)系系的業(yè)務(wù)務(wù)需求。。1/15/2020125通過業(yè)務(wù)務(wù)需求確確定項(xiàng)目目視圖(Note40)項(xiàng)目視圖圖可以把把項(xiàng)目參參與者定定位到一一個(gè)共同同和明確確的方向向上項(xiàng)目視圖圖描述了了產(chǎn)品所所涉及的的各個(gè)方方面和在在一個(gè)完完美環(huán)境境中最終終所具有有的功能能市場需求求文檔&視圖和范范圍的文文檔來自各個(gè)個(gè)渠道的的業(yè)務(wù)需需求可能能會發(fā)生生沖突1/15/2020126項(xiàng)目視圖圖和范圍圍文檔的的模板(Note41)a.業(yè)務(wù)需求求a.1背景a.2業(yè)務(wù)機(jī)遇遇a.3業(yè)務(wù)目標(biāo)標(biāo)a.4客戶或市市場需求求a.5提供給客客戶的價(jià)價(jià)值a.6業(yè)務(wù)風(fēng)險(xiǎn)險(xiǎn)b.項(xiàng)目視圖圖的解決決方案b.1項(xiàng)目視圖圖陳述b.2主要特性性b.3假設(shè)和依依賴環(huán)境境c.范圍和局局限性c.1首次發(fā)行行的范圍圍c.2隨后發(fā)行行的范圍圍c.3局限性和和專用性性d.業(yè)務(wù)環(huán)境境d.1客戶概貌貌d.2項(xiàng)目優(yōu)先先級e.產(chǎn)品成功功的因素素1/15/2020127計(jì)算機(jī)學(xué)學(xué)科的發(fā)發(fā)展計(jì)算機(jī)科學(xué)(CS)計(jì)算機(jī)科學(xué)(CS)計(jì)算機(jī)工程(CE)軟件工程(SE)信息系統(tǒng)(IS)計(jì)算學(xué)科(computingdiscipline)計(jì)算學(xué)科科是研究究通過在在計(jì)算機(jī)機(jī)上建立立模型并并模擬物物理過程程來進(jìn)行行科學(xué)調(diào)調(diào)查和研研究的學(xué)學(xué)科.1/15/2020128學(xué)科的3個(gè)形態(tài)態(tài)理論抽象(模模型化))設(shè)計(jì)重復(fù)出現(xiàn)現(xiàn)的概念念綁定(binding)概念與形形式模型型一致性和和完備性性抽象層次次重用……典型的學(xué)學(xué)科方法法:數(shù)學(xué)方法法系統(tǒng)科學(xué)學(xué)方法……計(jì)算中抽抽象的本本質(zhì)和使使用。在在處理復(fù)復(fù)雜事務(wù)務(wù)、構(gòu)造造系統(tǒng)、、隱藏細(xì)細(xì)節(jié)和獲獲取重復(fù)復(fù)模式方方面使用用抽象,,通過具具有不同同層次的的細(xì)節(jié)和和指標(biāo)的的抽象,,能夠表表達(dá)一個(gè)個(gè)實(shí)體和和系統(tǒng)計(jì)算機(jī)科科學(xué)與技技術(shù)學(xué)科科的方法法論1/15/2020129模型(model)模型:現(xiàn)實(shí)世界界某些重重要方面面的表示示。有時(shí)我們們使用術(shù)術(shù)語“抽象”來表示示模型,,因?yàn)槲椅覀儚默F(xiàn)現(xiàn)實(shí)世界界中抽象出對我們們特別有有用的東東西。1/15/2020130抽象(模型化)源于實(shí)驗(yàn)驗(yàn)科學(xué),主要要素素為數(shù)據(jù)據(jù)采集方方法和假假設(shè)的形形式說明明,模型的構(gòu)構(gòu)造與預(yù)預(yù)測實(shí)驗(yàn)驗(yàn)分析結(jié)結(jié)果分析析.在為可能能的算法法數(shù)據(jù)結(jié)結(jié)構(gòu)和系系統(tǒng)結(jié)構(gòu)構(gòu)等構(gòu)造造模型時(shí)時(shí)使用此此過程.抽象的結(jié)結(jié)果是概概念符號號模型1/15/2020131§3.4需求分析析的步驟驟當(dāng)前系統(tǒng)目標(biāo)系統(tǒng)物理模型邏輯模型邏輯模型物理模型模型化抽象化具體化實(shí)例化怎么做做什么當(dāng)前系統(tǒng)目標(biāo)系統(tǒng)需求定義1/15/2020132邏輯模型型和物理理模型模型是對對對象系系統(tǒng)的形形式化的的特征抽象,概概括性或或近似地地表示構(gòu)造模型型的過程程是一個(gè)個(gè)抽象、、分析的過程程。對象系統(tǒng)模型系統(tǒng)抽象(映射)模型應(yīng)用模型構(gòu)造的過程1/15/2020133邏輯模型型物物理理模型(本質(zhì)模模型、概念模型型)(實(shí)施模型型、技術(shù)術(shù)模型))現(xiàn)行系統(tǒng)目標(biāo)系統(tǒng)描述重要要的業(yè)務(wù)務(wù)功能,,無論系系統(tǒng)是如如何實(shí)施施的。描述現(xiàn)實(shí)實(shí)系統(tǒng)是是如何在在物理上上實(shí)現(xiàn)的的。描述新系系統(tǒng)的主主要業(yè)務(wù)務(wù)功能和和用戶新新的需求求,無論論系統(tǒng)應(yīng)應(yīng)如何實(shí)實(shí)施。描述新系系統(tǒng)是如如何實(shí)施施的(包包括技術(shù)術(shù))。1/15/2020134分析階段段中常用用的模型型(邏輯模模型)數(shù)據(jù)流圖圖(DFD)實(shí)體―聯(lián)系圖((ERD)類圖實(shí)例圖時(shí)序圖狀態(tài)圖協(xié)作圖事件列表表數(shù)據(jù)流定定義數(shù)據(jù)元素素定義……1/15/2020135數(shù)據(jù)流圖圖(DFD,DataFlowDiagram))(Note42)描述邏輯輯模型的的圖形工工具,表表示數(shù)數(shù)據(jù)在系系統(tǒng)內(nèi)的的變化。。DFD可以用來來表示一一個(gè)系統(tǒng)統(tǒng)或軟件件在任何何層次上上的抽象象。較較大型軟軟件系統(tǒng)統(tǒng)DFD分成多層層(子圖、父父圖概念念),可以表示示數(shù)據(jù)流流和功能能的進(jìn)一一步的細(xì)細(xì)節(jié)。1/15/2020136數(shù)據(jù)流程程圖的表表示(32)數(shù)據(jù)源點(diǎn)點(diǎn)和終點(diǎn)點(diǎn)變換數(shù)據(jù)據(jù)的加工工文件數(shù)據(jù)邏輯關(guān)系系符號::與、或或、異或或1/15/2020137畫數(shù)據(jù)流流圖(page32-33)規(guī)則:由由外向里里畫畫系統(tǒng)的的輸出、、輸入化系統(tǒng)的的內(nèi)部畫加工的的內(nèi)部1/15/2020138應(yīng)該注意意的幾個(gè)個(gè)問題(34)適當(dāng)?shù)孛嫈?shù)據(jù)流流而不是是控制流流先考慮穩(wěn)穩(wěn)定狀態(tài)態(tài)忽略瑣碎碎的枝節(jié)節(jié)隨時(shí)準(zhǔn)備備重畫1/15/2020139分層數(shù)據(jù)據(jù)流圖對于大型型系統(tǒng),,往往使使用一張張數(shù)據(jù)流流圖畫出出所有數(shù)數(shù)據(jù)流和和加工是是不可能能的自頂向下下逐層分分解不要一下下子引入入過多細(xì)細(xì)節(jié),應(yīng)應(yīng)該逐步步增加細(xì)細(xì)節(jié)例子(page35):圖3.13(a)畫出出了…...。圖圖3說明明“產(chǎn)生生新文件件”………。顯然然……。。1/15/2020140由頂向下下畫分層層數(shù)據(jù)流流圖(page37)描繪中應(yīng)應(yīng)該注意意的問題題:編號父圖和子子圖的平平衡局部文件件分解的程程度1/15/2020141實(shí)例———運(yùn)動(dòng)會會管理系系統(tǒng)自學(xué)3..3.5節(jié)(Page40)1/15/2020142數(shù)據(jù)流圖圖的改進(jìn)進(jìn)檢查數(shù)據(jù)據(jù)流圖的的正確性性數(shù)據(jù)守恒恒(42)文件的使使用(page42)父圖和子子圖的平平衡(43)提高數(shù)據(jù)據(jù)流圖的的易理解解性簡化加工工間的聯(lián)聯(lián)系(page43)分解的均均勻(page43)適當(dāng)?shù)孛?4)重新分解解(page44)1/15/2020143數(shù)據(jù)實(shí)體體關(guān)聯(lián)圖圖(Note43)與數(shù)據(jù)流流圖描繪繪了系統(tǒng)統(tǒng)中發(fā)生生的過程程一樣,,實(shí)體聯(lián)聯(lián)系圖((entity--relationshipdiagram,ERD)描繪了系系統(tǒng)的數(shù)數(shù)據(jù)關(guān)系系分析實(shí)體體聯(lián)系圖圖有助于于對業(yè)務(wù)務(wù)或系統(tǒng)統(tǒng)數(shù)據(jù)組組成的理理解和交交互,并并暗示產(chǎn)產(chǎn)品將有有必要包包含一個(gè)個(gè)數(shù)據(jù)庫庫。實(shí)體(entity)是物理數(shù)數(shù)據(jù)項(xiàng)((包括人人)或者者數(shù)據(jù)項(xiàng)項(xiàng)的集合合,這對對所分析析的業(yè)務(wù)務(wù)或所要要構(gòu)造的的系統(tǒng)是是很重要要的1/15/2020144化學(xué)制品倉庫存貨清單化學(xué)制品容器存儲執(zhí)行化學(xué)制品請求1MM1“化學(xué)制制品跟蹤蹤系統(tǒng)””的實(shí)體體聯(lián)系圖圖1/15/2020145需求建模模實(shí)例酒店管理理系統(tǒng)的局部DFD已預(yù)訂的入住預(yù)訂請求求預(yù)訂預(yù)訂確認(rèn)未預(yù)訂的入住已預(yù)訂的的入住請求求未預(yù)訂的的入住請求求客人數(shù)據(jù)據(jù)客房數(shù)據(jù)據(jù)預(yù)訂確認(rèn)認(rèn)信息客人信息息夜審結(jié)算信息財(cái)務(wù)系統(tǒng)時(shí)鐘1/15/2020146需求建模模實(shí)例::某金融貿(mào)貿(mào)易系統(tǒng)統(tǒng)用例圖(UML)風(fēng)險(xiǎn)分析交易估計(jì)進(jìn)行交易進(jìn)行交易接待員酒店系統(tǒng)財(cái)務(wù)系統(tǒng)1/15/2020147需求建模模實(shí)例::用例圖舉舉例(UML)簽定一份份保險(xiǎn)單客戶保險(xiǎn)銷售人員銷售統(tǒng)計(jì)計(jì)客戶統(tǒng)計(jì)計(jì)1/15/2020148需求建模模實(shí)例::UML類圖實(shí)例例(Note44)客人姓名地址身份證號碼護(hù)照號碼……預(yù)訂……入住住宿編號付款方式……退房……客房狀態(tài)日期人數(shù)……設(shè)置狀態(tài)……客房……服務(wù)日期數(shù)量設(shè)置……讀取……服務(wù)類別名稱價(jià)格設(shè)置……10..*10..*0..*0..11..*10..*1*1/15/2020149需求建模模實(shí)例::描述客房狀態(tài)態(tài)的狀態(tài)態(tài)圖(Note45)取消預(yù)定入住已預(yù)訂空閑占用維修維修完成退房換房入住事件創(chuàng)建1/15/2020150需求建模模實(shí)例::接電話的的順序圖(UML)受話者交換機(jī)遠(yuǎn)程交換機(jī)受話者拿起話筒聽通話聲撥號碼鈴響信號鈴響鈴響停止信號拿起話筒鈴響停止<10deabc{b-a<1}{e-d<5}{c-b<10}路徑1/15/2020151需求建模模實(shí)例::
UML協(xié)作圖舉舉例計(jì)算機(jī)隊(duì)列打印服務(wù)器打印機(jī)打印文件打印機(jī)忙保存打印文件打印機(jī)空閑打印文件1/15/2020152§3.5數(shù)據(jù)詞典典(DD,DataDictionary)DD是對所有有與系統(tǒng)統(tǒng)相關(guān)的的數(shù)據(jù)元元素的一一個(gè)有組組織的列列表,以及精確的、、嚴(yán)格的的定義,使得用用戶和系系統(tǒng)分析析員對于于輸入、、輸出、、存儲成成分和中中間計(jì)算算有共同同的理解解1/15/2020153詞典與數(shù)數(shù)據(jù)流圖圖之間關(guān)關(guān)系(page44)數(shù)據(jù)流圖圖描述了了系統(tǒng)的的“分解解”;依靠“詞詞典”來來說明各各個(gè)成分分的含義義;數(shù)據(jù)流圖圖中所有有名字的的定義就就構(gòu)成一一本詞典典;數(shù)據(jù)流圖圖和詞典典結(jié)合在在一起構(gòu)構(gòu)成了““需求說說明書””數(shù)據(jù)流圖圖中出現(xiàn)現(xiàn)的每一一個(gè)數(shù)據(jù)據(jù)流名、、每一個(gè)個(gè)文件名名和每一一個(gè)加工工名在詞詞典中都都應(yīng)該有有一個(gè)條條目給出出這個(gè)名名字的定定義。1/15/2020154詞典條目目的各種種類型(page.45)四個(gè)類型型條目數(shù)據(jù)流文件數(shù)據(jù)項(xiàng)((指不在在分解的的數(shù)據(jù)單單位)加工詞典條目目的實(shí)例例(page46-47)結(jié)合上次次自習(xí)的的內(nèi)容自自行學(xué)習(xí)習(xí)本節(jié)1/15/2020155需求建模模實(shí)例::數(shù)據(jù)字典典條目的的定義預(yù)訂請求求=客人人數(shù)據(jù)++住宿期期限+客房類別別客人數(shù)據(jù)據(jù)=客人人姓名+地址+身份證號號碼+[護(hù)照號碼碼]+支付方式式身份證號號碼=十進(jìn)制15{數(shù)字}18護(hù)照號碼碼=字母母+8{{數(shù)字}8字母=“A”…““Z”十進(jìn)制數(shù)數(shù)字=““0”…““9”1/15/2020156需求建模模實(shí)例::數(shù)據(jù)字典典條目的的定義F1:航班信息息文件={航空公司司名稱++航班號號+起點(diǎn)++終點(diǎn)++日期++起飛飛時(shí)間++降落時(shí)時(shí)間}航空公司司名稱==2{字母}4航班號==3{十進(jìn)制數(shù)數(shù)字}3字母=“A”…““Z”十進(jìn)制數(shù)數(shù)字=““0”…““9”起點(diǎn)=終終點(diǎn)=1{漢字}10起飛時(shí)間間=降落落時(shí)間==時(shí)+分分1/15/2020157需求建模模實(shí)例::數(shù)據(jù)字典典條目的的定義
時(shí)=“00”……“23”分=“00”……“59”日期=年年+月++日年=[2000|2001|2002|2004]月=“01”……“12”日=“01”……“31”1/15/2020158§3.6小說明數(shù)據(jù)流圖圖中每一一個(gè)基本本加工((即不再再進(jìn)一步步被分解解的加工工)都必必須有一一個(gè)“小小說明””小說明中中應(yīng)精確確描述用用戶要求求一個(gè)加加工“做做什么””加工的激激發(fā)條件件加工邏輯輯加工優(yōu)先先級加工執(zhí)行行頻率出錯(cuò)處理理1/15/2020159結(jié)構(gòu)化的的語言(page51)構(gòu)成方式式語態(tài)詞匯舉例1/15/2020160判定表與與判定樹樹(56)有些問題題不易用用單純的的語言表表達(dá)判定表組組成:條件樁條件條目目操作樁操作條目目判定樹1/15/2020161§3.7模型的作作用在建模過過程中了了解系統(tǒng)統(tǒng)通過抽象象降低復(fù)復(fù)雜性有助于回回憶所有有的細(xì)節(jié)節(jié)有助于開開發(fā)小組組間的交交流有助于與與用戶的的交流為系統(tǒng)的的維護(hù)提提供文檔檔1/15/2020162需求分析析建模方方法分析建模模方法結(jié)構(gòu)化分分析(傳傳統(tǒng)建模模方法))面向?qū)ο笙蠓治?/15/2020163模型的作作用計(jì)算機(jī)世世界現(xiàn)實(shí)世界界影射1/15/2020164計(jì)算機(jī)世界現(xiàn)實(shí)世界結(jié)構(gòu)化開發(fā)方法結(jié)構(gòu)化分析結(jié)構(gòu)化設(shè)計(jì)結(jié)構(gòu)化編程OOAOODOOP面向?qū)ο箝_發(fā)方法模型的作作用1/15/2020165結(jié)構(gòu)化分分析模型型的組成成結(jié)構(gòu)數(shù)據(jù)流圖(DFD)E-R圖狀態(tài)變遷圖(STD圖)加工說明控制說明數(shù)據(jù)對象說明數(shù)據(jù)字典(DD)1/15/2020166面向?qū)ο笙蠓治瞿P偷牡慕M成結(jié)結(jié)構(gòu)對象-關(guān)系模型類/對象模型對象-行為模型使用實(shí)例(UseCase)操作、屬性、協(xié)作者1/15/2020167重點(diǎn)小結(jié)結(jié)1/15/2020168§3.8結(jié)構(gòu)化分分析方法法(StructuredAnalisys,SA))基于數(shù)據(jù)據(jù)流技術(shù)術(shù)的分析析方法需求獲取取應(yīng)遵循循的三條條基本原原則:分解抽象投影1/15/2020169分析模型型的元素素?cái)?shù)據(jù)字典典(DD):模型核心心(中心庫)E-R圖(ERD):數(shù)據(jù)流圖(DFD)指明數(shù)據(jù)據(jù)在系統(tǒng)統(tǒng)中移動(dòng)動(dòng)時(shí)如何何被變換換;描述對數(shù)數(shù)據(jù)流進(jìn)進(jìn)行變換換的功能能;DFD中每個(gè)功功能的描描述包含含在加工工規(guī)約(小說明)。狀態(tài)變遷遷圖(STD))指明作為為外部事事件的結(jié)結(jié)果,系統(tǒng)將如如何動(dòng)作。1/15/2020170E-R圖是數(shù)據(jù)據(jù)建模的的基礎(chǔ)客人入住客房狀態(tài)客房服務(wù)服務(wù)類別姓名地址身份證號碼護(hù)照號碼電話……客房號床位數(shù)房間類別價(jià)格1……住宿編號住宿時(shí)間支付方式……日期,客人數(shù)狀態(tài)(已預(yù)定/占用/維修中)……日期,數(shù)量……名稱,價(jià)格……1/15/2020171將分析模模型轉(zhuǎn)換換為軟件件設(shè)計(jì)數(shù)據(jù)字典數(shù)據(jù)流圖E-R圖圖狀態(tài)變遷遷圖加工規(guī)約控制規(guī)約約數(shù)據(jù)對描
述象數(shù)據(jù)設(shè)設(shè)計(jì)計(jì)體系結(jié)構(gòu)構(gòu)設(shè)計(jì)接口設(shè)計(jì)計(jì)過程設(shè)計(jì)計(jì)分析模型型設(shè)計(jì)模型型1/15/2020172§3.9實(shí)例考務(wù)處理理系統(tǒng)功功能(1)對考生送送來的報(bào)報(bào)名單進(jìn)進(jìn)行檢查查;(2)對合格的的報(bào)名單單編好準(zhǔn)準(zhǔn)考證號號后將準(zhǔn)準(zhǔn)考證送送給考生生,并將將匯總后后的考生生名單送送給閱卷卷站;(3)對閱卷站站送來的的成績單單進(jìn)行檢檢查,并并根據(jù)考考試中心心制定的的合格標(biāo)標(biāo)準(zhǔn)審定定合格者者;(4)制作考生生通知單單(含成績及及合格/不合格標(biāo)標(biāo)志)送給考生生;(5)按地區(qū)進(jìn)進(jìn)行成績績分類統(tǒng)統(tǒng)計(jì)和試試題難度度分析,,產(chǎn)生統(tǒng)統(tǒng)計(jì)分析析表。1/15/2020173實(shí)例考務(wù)處理理系統(tǒng)功功能考務(wù)處理理系統(tǒng)的的分層DFD如下:1/15/2020174頂層數(shù)據(jù)據(jù)流圖考生考務(wù)處理系統(tǒng)統(tǒng)考試中心閱卷站不合格報(bào)報(bào)名單報(bào)名單準(zhǔn)考證考生通知知單成績清單合格標(biāo)準(zhǔn)準(zhǔn)錯(cuò)誤成績績清單考生名單統(tǒng)計(jì)分析析表1/15/20201750層數(shù)據(jù)流流圖登記報(bào)名單報(bào)名單準(zhǔn)考證1統(tǒng)計(jì)成績2不合格報(bào)名單考生通知單成統(tǒng)計(jì)分析表考生名冊績清單合格標(biāo)準(zhǔn)考生名單成績清單錯(cuò)誤1/15/2020176一層數(shù)據(jù)據(jù)流圖(a)檢查報(bào)名單報(bào)名單準(zhǔn)考證1.1編準(zhǔn)考證號1.2不合格報(bào)名單考生名冊考生名單合格報(bào)名單登記考生1.31/15/2020177一層數(shù)據(jù)據(jù)流圖(b)檢查成績清單2.1審定合格者2.2考生名冊正確成績清單制作通知單2.3分析統(tǒng)計(jì)成績2.4分析試題難度2.5試題得分清單考生通知單難度分析表合格標(biāo)準(zhǔn)分類統(tǒng)計(jì)表成績清單錯(cuò)誤成績清單經(jīng)審定的成績清單1/15/2020178S23.13.2頂層(不編號號)0層1層1/15/2020179數(shù)據(jù)字典典舉例F1:航班信息息文件={航空公司司名稱++航班號號+起點(diǎn)++終點(diǎn)++日期++起飛飛時(shí)間++降落時(shí)時(shí)間}航空公司司名稱==2{字母}4航班號==3{十進(jìn)制數(shù)數(shù)字}3字母=““A”…““Z”十進(jìn)制數(shù)數(shù)字=““0”…““9”起點(diǎn)=終終點(diǎn)=1{漢字}10起飛時(shí)間間=降落落時(shí)間==時(shí)+分分1/15/2020180再來看看看——結(jié)構(gòu)化分分
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 習(xí)作:我和-過一天 教學(xué)設(shè)計(jì)-2024-2025學(xué)年語文四年級上冊統(tǒng)編版
- 2025-2030年中國普通熱電偶項(xiàng)目投資可行性研究分析報(bào)告
- 2025-2030年中國砂輪模具行業(yè)深度研究分析報(bào)告
- 2025年度租賃住房租賃合同租賃保證金合同范本
- XX年度XX項(xiàng)目專用簡易采購合同范本2025
- 2025年中國超聲治療機(jī)行業(yè)市場深度分析及投資策略研究報(bào)告
- 2025年度瑜伽館教練職業(yè)發(fā)展指導(dǎo)合同
- 2025年車用空壓器項(xiàng)目投資可行性研究分析報(bào)告
- 2025年度校車旅客運(yùn)輸合同標(biāo)準(zhǔn)范本
- 轉(zhuǎn)租擔(dān)保合同范本
- 科雷氏骨折史密斯氏骨折培訓(xùn)課件
- 衛(wèi)生院基本藥物采購供應(yīng)管理制度
- 抽水蓄能輔助洞室施工方案
- 數(shù)據(jù)結(jié)構(gòu)英文教學(xué)課件:chapter7 Searching
- 護(hù)理核心制度及重點(diǎn)環(huán)節(jié)-PPT課件
- 夾套管現(xiàn)場施工方法
- 部編版語文五年級下冊形近字組詞參考
- 第三章走向混沌的道路
- 化探野外工作方法及要求
- 2006年事業(yè)單位工資改革工資標(biāo)準(zhǔn)表及套改表2
- 江蘇省特種設(shè)備安全條例2021
評論
0/150
提交評論