版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
課名:軟件工程主講:謝明志Email:tommyshell@163.com使用教材:軟件系統(tǒng)開(kāi)發(fā)技術(shù)(修訂版) 潘錦平施小英姚天昉西安電子科技大學(xué)出版社12/9/20221課名:軟件工程主講:謝明志使用教材:軟件第一章軟件工程概述12/9/20222第一章軟件工程概述12/7/20222§1.1軟件工程的背景和歷史1968年由NATO(北大西洋公約組織)在德國(guó)Garmish召開(kāi)的學(xué)術(shù)會(huì)議上,F(xiàn)eitzBauer首先提出了“軟件工程”概念。12/9/20223§1.1軟件工程的背景和歷史1968年由NATO(北大西軟件工程與編程前者是一門(mén)學(xué)科,一種科學(xué)理論來(lái)指導(dǎo)軟件系統(tǒng)開(kāi)發(fā),標(biāo)準(zhǔn)化,自動(dòng)化的過(guò)程考慮如何分解一個(gè)系統(tǒng),以便各人分工開(kāi)發(fā);考慮如何說(shuō)明每個(gè)部分的規(guī)格要求;怎樣才能易于維護(hù)單純的代碼編寫(xiě)是軟件工程發(fā)展的前身是軟件工程中占據(jù)很少時(shí)間和空間的一部分12/9/20224軟件工程與編程前者是一門(mén)學(xué)科,一種科學(xué)理論來(lái)指導(dǎo)軟件系統(tǒng)開(kāi)發(fā)計(jì)算機(jī)學(xué)科的發(fā)展計(jì)算機(jī)科學(xué)(CS)計(jì)算機(jī)科學(xué)(CS)計(jì)算機(jī)工程(CE)軟件工程(SE)信息系統(tǒng)(IS)計(jì)算學(xué)科(computingdiscipline)12/9/20225計(jì)算機(jī)學(xué)科的發(fā)展計(jì)算機(jī)科學(xué)計(jì)算機(jī)科學(xué)計(jì)算機(jī)工程軟件工程信息60年代以來(lái)工廠管理病人監(jiān)護(hù)工資統(tǒng)發(fā)圖書(shū)館管理機(jī)票預(yù)定學(xué)籍管理12/9/2022660年代以來(lái)工廠管理12/7/20226
早期
第二階段第三階段第四階段面向批處理
多用戶
分布式系統(tǒng)
強(qiáng)大的桌面系統(tǒng)有限的分布
實(shí)時(shí)
嵌入“智能”面向?qū)ο蠹夹g(shù)自定義軟件
數(shù)據(jù)庫(kù)
低成本硬件
專(zhuān)家系統(tǒng)
軟件產(chǎn)品消費(fèi)者的影響
人工神經(jīng)網(wǎng)絡(luò)
并行計(jì)算
網(wǎng)絡(luò)計(jì)算機(jī)195019601970198019902000Evolutionofsoftware#12/9/20227早期第二階段第三階段為什么發(fā)展如此之快不準(zhǔn)確的時(shí)間和金錢(qián)的估算軟件質(zhì)量的低下相對(duì)硬件產(chǎn)品開(kāi)發(fā)軟件開(kāi)發(fā)費(fèi)用的增加維護(hù)、增強(qiáng)軟件系統(tǒng)的必要性硬件價(jià)格大幅度下降12/9/20228為什么發(fā)展如此之快不準(zhǔn)確的時(shí)間和金錢(qián)的估算12/7/2022軟件技術(shù)面臨的問(wèn)題規(guī)模復(fù)雜性生產(chǎn)率
12/9/20229軟件技術(shù)面臨的問(wèn)題規(guī)模12/7/20229Windows95有1000萬(wàn)行代碼Windows2000有5000萬(wàn)行代碼例:Exchange2000和Windows2000開(kāi)發(fā)人員結(jié)構(gòu)Exchange2000Windows2000項(xiàng)目經(jīng)理25人約250人開(kāi)發(fā)人員140人約1700人測(cè)試人員350人約3200人12/9/202210Windows95有1000萬(wàn)行代碼例:Exch《人月神話》焦油坑
史前史中,沒(méi)有別的場(chǎng)景比巨獸在焦油坑中垂死掙扎的場(chǎng)面更令人震撼。上帝見(jiàn)證著恐龍、猛犸象、劍齒虎在焦油中掙扎。它們掙扎得越是猛烈,焦油糾纏得越緊,沒(méi)有任何猛獸足夠強(qiáng)壯或具有足夠的技巧,能夠掙脫束縛,它們最后都沉到了坑底。
12/9/202211《人月神話》焦油坑史前史中,沒(méi)有別的場(chǎng)景比巨獸在焦油坑中垂軟件危機(jī)的主要特征軟件開(kāi)發(fā)周期大大超過(guò)規(guī)定日期;軟件開(kāi)發(fā)成本嚴(yán)重超標(biāo);軟件質(zhì)量難于保證。12/9/202212軟件危機(jī)的主要特征軟件開(kāi)發(fā)周期大大超過(guò)規(guī)定12/7/20軟件工程的定義FritzBauer在NATO會(huì)議上給出的定義:“軟件工程是為了經(jīng)濟(jì)地獲得可靠的和能在實(shí)際機(jī)器上高效運(yùn)行的軟件而確立和使用的健全的工程原理(方法)?!?2/9/202213軟件工程的定義FritzBauer在NATO會(huì)議上給出的定軟件工程的定義(2)IEEE【IEE83】給出的軟件工程定義:
“軟件工程是開(kāi)發(fā)、運(yùn)行、維護(hù)和修復(fù)軟件的系統(tǒng)方法?!?2/9/202214軟件工程的定義(2)IEEE【IEE83】給出的軟件工程定軟件工程的定義(3)IEEE【IEE93】給出了一個(gè)更加綜合的定義:
“將系統(tǒng)化的、規(guī)范的、可度量的方法應(yīng)用于軟件的開(kāi)發(fā)、運(yùn)行和維護(hù)的過(guò)程,即將工程化應(yīng)用于軟件中?!?2/9/202215軟件工程的定義(3)IEEE【IEE93】給出了一個(gè)更加綜合軟件工程是一門(mén)交叉學(xué)科軟件工程的主要研究?jī)?nèi)容軟件開(kāi)發(fā)技術(shù):軟件開(kāi)發(fā)方法學(xué)軟件開(kāi)發(fā)過(guò)程
軟件工具和軟件工程環(huán)境軟件工程管理:軟件管理學(xué)軟件經(jīng)濟(jì)學(xué)軟件心理學(xué)
軟件工程所包含的內(nèi)容不是一成不變的,隨著人們對(duì)軟件系統(tǒng)的研制開(kāi)發(fā)和生產(chǎn)的理解。應(yīng)用發(fā)展的眼光看待它。12/9/202216軟件工程是一門(mén)交叉學(xué)科軟件工程的主要研究?jī)?nèi)容12/7/202軟件工程—一種層次化技術(shù)工具方法過(guò)程質(zhì)量焦點(diǎn)Softwareengineeringlayers軟件工程三個(gè)要素:方法、工具、過(guò)程12/9/202217軟件工程—一種層次化技術(shù)工具方法過(guò)程質(zhì)量焦點(diǎn)Softwa軟件工程與一般工程的差異軟件是邏輯產(chǎn)品而不是實(shí)物產(chǎn)品軟件的功能依賴于硬件和軟件的運(yùn)行環(huán)境以及人們對(duì)它的操作軟件設(shè)計(jì)的復(fù)雜性軟件特征: 功能的多樣性 實(shí)現(xiàn)的多樣性 能見(jiàn)度低 軟件結(jié)構(gòu)合理性差智力密集及知識(shí)產(chǎn)權(quán)保護(hù)12/9/202218軟件工程與一般工程的差異軟件是邏輯產(chǎn)品而不是實(shí)物產(chǎn)品12/7軟件工程知識(shí)結(jié)構(gòu)
2001年5月ISO/IECJTC1(ISO和IEC的第一聯(lián)合技術(shù)委員會(huì))發(fā)布了《SWEBOK指南V0.95(試用版)》SWEBOK把軟件工程學(xué)科的主體知識(shí)分為10個(gè)知識(shí)領(lǐng)域。12/9/202219軟件工程知識(shí)結(jié)構(gòu)2001年5月ISO/IECJTC1(軟件工程知識(shí)結(jié)構(gòu)軟件需求軟件設(shè)計(jì)軟件構(gòu)造軟件測(cè)試軟件維護(hù)軟件配置管理軟件工程管理軟件工程過(guò)程軟件工程工具和方法軟件質(zhì)量12/9/202220軟件工程知識(shí)結(jié)構(gòu)軟件需求12/7/202220“軟件工程”課程
與其它軟件專(zhuān)業(yè)課的區(qū)別(1)立足于系統(tǒng)的整體。(2)講授系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、測(cè)試及維護(hù)的理論和方法。(3)構(gòu)筑一個(gè)軟件系統(tǒng),實(shí)踐軟件開(kāi)發(fā)全過(guò)程。12/9/202221“軟件工程”課程
與其它軟件專(zhuān)業(yè)課的區(qū)別(1)立足于系“軟件工程”課程教學(xué)的目標(biāo)轉(zhuǎn)變對(duì)軟件的認(rèn)識(shí):上升
程序系統(tǒng)轉(zhuǎn)變思維定式:上升
程序員系統(tǒng)工程師(系統(tǒng)分析員)12/9/202222“軟件工程”課程教學(xué)的目標(biāo)轉(zhuǎn)變對(duì)軟件的認(rèn)識(shí):12/7/202軟件產(chǎn)品的標(biāo)準(zhǔn)化軟件開(kāi)發(fā)過(guò)程的標(biāo)準(zhǔn)化12/9/202223軟件產(chǎn)品的標(biāo)準(zhǔn)化軟件開(kāi)發(fā)過(guò)程的標(biāo)準(zhǔn)化12/7/202223軟件的工業(yè)化生產(chǎn)過(guò)程應(yīng)具備的特點(diǎn):明確的工作步驟詳細(xì)具體的規(guī)范化文檔明確的質(zhì)量評(píng)價(jià)標(biāo)準(zhǔn)“一個(gè)好的工業(yè),應(yīng)有一套
良好的標(biāo)準(zhǔn)來(lái)配套”12/9/202224軟件的工業(yè)化生產(chǎn)過(guò)程應(yīng)具備的特點(diǎn):“一個(gè)好的工業(yè),應(yīng)有一套
軟件工程技術(shù)的兩個(gè)特點(diǎn)
強(qiáng)調(diào)規(guī)范化強(qiáng)調(diào)文檔化12/9/202225軟件工程技術(shù)的兩個(gè)特點(diǎn)強(qiáng)調(diào)規(guī)范化12/7/202225§1.2軟件和軟件生命期模型(SoftwareLifeCycle)軟件產(chǎn)品或軟件系統(tǒng)從設(shè)計(jì)、投入使用到被淘汰的全過(guò)程。12/9/202226§1.2軟件和軟件生命期模型(SoftwareLife軟件生存期的階段劃分(1)可行性研究與計(jì)劃(2)需求分析(3)總體設(shè)計(jì)(4)詳細(xì)設(shè)計(jì)(5)實(shí)現(xiàn)(6)集成測(cè)試(7)確認(rèn)測(cè)試(8)使用和維護(hù)成長(zhǎng)期(開(kāi)發(fā)期)懷孕期(計(jì)劃期)
成年期(運(yùn)行期)12/9/202227軟件生存期的階段劃分(1)可行性研究與計(jì)劃成長(zhǎng)期(開(kāi)發(fā)期)懷新的國(guó)際標(biāo)準(zhǔn)定義的軟件生存過(guò)程(1995ISO/IEC12207)軟件生存期過(guò)程支持過(guò)程組織過(guò)程主要過(guò)程獲取過(guò)程供應(yīng)過(guò)程開(kāi)發(fā)過(guò)程運(yùn)行過(guò)程維護(hù)過(guò)程文檔編制過(guò)程配置管理過(guò)程質(zhì)量保證過(guò)程驗(yàn)證過(guò)程確認(rèn)過(guò)程聯(lián)合評(píng)審過(guò)程審核過(guò)程問(wèn)題解決過(guò)程管理過(guò)程基礎(chǔ)設(shè)施過(guò)程改進(jìn)過(guò)程培訓(xùn)過(guò)程12/9/202228新的國(guó)際標(biāo)準(zhǔn)定義的軟件生存過(guò)程(1995ISO/IEC1軟件工作的范圍只考慮編寫(xiě)程序
涉及整個(gè)軟件生存周期擴(kuò)展到12/9/202229軟件工作的范圍涉及整個(gè)擴(kuò)展到12/7/202229
軟件開(kāi)發(fā)模型是軟件開(kāi)發(fā)全部過(guò)程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架。它能直觀表達(dá)軟件開(kāi)發(fā)全過(guò)程,明確規(guī)定要完成的主要活動(dòng)、任務(wù)和開(kāi)發(fā)策略。軟件開(kāi)發(fā)模型也常稱(chēng)為: 軟件過(guò)程模型 軟件生存周期模型 軟件工程范型軟件開(kāi)發(fā)模型12/9/202230軟件開(kāi)發(fā)模型是軟件開(kāi)發(fā)全部過(guò)程、活動(dòng)和任務(wù)的結(jié)構(gòu)框可行性研究與計(jì)劃需求分析設(shè)計(jì)編碼運(yùn)行維護(hù)測(cè)試定義階段開(kāi)發(fā)階段維護(hù)階段瀑布模型(WaterfallModel)12/9/202231可行性研究與計(jì)劃需求分析設(shè)計(jì)編碼運(yùn)行維護(hù)測(cè)試定義開(kāi)維護(hù)階段瀑開(kāi)發(fā)軟件不僅僅是編程12/9/202232開(kāi)發(fā)軟件不僅僅是編程12/7/202232按照傳統(tǒng)瀑布模型開(kāi)發(fā)軟件的特點(diǎn)1.階段間具有順序性和依賴性。2.推遲實(shí)現(xiàn)的觀點(diǎn)。3.每個(gè)階段必須完成規(guī)定的文檔;每個(gè)階段結(jié)束前完成文檔審查,及早改正錯(cuò)誤。12/9/202233按照傳統(tǒng)瀑布模型開(kāi)發(fā)軟件的特點(diǎn)1.階段間具有順序性和依賴性。原型模型(快速原型模型)原型范型用戶測(cè)試運(yùn)行原型建造/修改原型聽(tīng)取用戶意見(jiàn)12/9/202234原型模型(快速原型模型)原型范型用戶測(cè)試建造/修改聽(tīng)取用1采用原型模型的軟件生存周期分析定義系統(tǒng)需求生成原型系統(tǒng)設(shè)計(jì)程序設(shè)計(jì)編碼測(cè)試運(yùn)行和維護(hù)原型化含原型化的軟件生存期12/9/202235采用原型模型的軟件生存周期分析定義生成系統(tǒng)程序編碼測(cè)試運(yùn)行§1.3軟件質(zhì)量的評(píng)價(jià)成功的標(biāo)準(zhǔn):
用戶在用用戶可很容易做完要做的事失敗的根本原因:
開(kāi)發(fā)人員寫(xiě)出的東西達(dá)不到用戶要求(人的問(wèn)題.技術(shù)問(wèn)題)12/9/202236§1.3軟件質(zhì)量的評(píng)價(jià)成功的標(biāo)準(zhǔn):
用戶在用12/7/質(zhì)量與生產(chǎn)率質(zhì)量是軟件需求方最關(guān)心的問(wèn)題,用戶即使不圖物美價(jià)廉,也要求個(gè)貨真價(jià)實(shí)
質(zhì)量與生產(chǎn)率之間有著內(nèi)在的聯(lián)系,高生產(chǎn)率必須以質(zhì)量合格為前提
質(zhì)量與生產(chǎn)率的提高就指望程序員與程序經(jīng)理
非得在質(zhì)量與生產(chǎn)率之間分個(gè)主次不可,那么應(yīng)該是質(zhì)量第一,生產(chǎn)率第二
12/9/202237質(zhì)量與生產(chǎn)率質(zhì)量是軟件需求方最關(guān)心的問(wèn)題,用戶即使不圖物美價(jià)質(zhì)量與生產(chǎn)率(2)質(zhì)量直接體現(xiàn)在軟件的每段程序中,高質(zhì)量自然是開(kāi)發(fā)人員的技術(shù)追求,也是職業(yè)道德的要求
高質(zhì)量對(duì)所有的用戶都有價(jià)值,而高生產(chǎn)率只對(duì)開(kāi)發(fā)方有意義
如果一開(kāi)始就追求高生產(chǎn)率,容易使人急功近利,留下隱患
12/9/202238質(zhì)量與生產(chǎn)率(2)質(zhì)量直接體現(xiàn)在軟件的每段程序中,高質(zhì)量自然不貪污的官就是好官嗎“運(yùn)行正確”的程序就是高質(zhì)量的程序嗎?也許運(yùn)行速度很低并且浪費(fèi)內(nèi)存;也許代碼寫(xiě)得一塌糊涂
12/9/202239不貪污的官就是好官嗎“運(yùn)行正確”的程序就是高質(zhì)量的程序嗎?1軟件的質(zhì)量因素
軟件的質(zhì)量因素很多,如正確性、精確性、可靠性、容錯(cuò)性、性能、效率、易用性、可理解性、簡(jiǎn)潔性、可復(fù)用性、可擴(kuò)充性、兼容性等等(還可以列出十幾個(gè))
一般說(shuō)來(lái)傾向于可維護(hù)性、可靠性、可理解性和效率12/9/202240軟件的質(zhì)量因素軟件的質(zhì)量因素很多,如正確性、精確性、可靠性軟件質(zhì)量因素分類(lèi)和武學(xué)分類(lèi)正確性與精確性易用性可理解性與簡(jiǎn)潔性性能與效率可復(fù)用性與可擴(kuò)充性少林派、武當(dāng)派華山派昆侖派峨嵋派崆峒派12/9/202241軟件質(zhì)量因素分類(lèi)和武學(xué)分類(lèi)正確性與精確性易用性可理解性與簡(jiǎn)正確性與精確性
機(jī)器不會(huì)主動(dòng)欺騙人,軟件運(yùn)行不正確或者不精確一般都是人造成的
需求分析錯(cuò)了,那么對(duì)客戶而言這個(gè)軟件也存在錯(cuò)誤
如果軟件沒(méi)有100%地按需求規(guī)格執(zhí)行,那么這個(gè)軟件也存在錯(cuò)誤程序員要為“正確”、“精確”四個(gè)字竭盡全力
12/9/202242正確性與精確性機(jī)器不會(huì)主動(dòng)欺騙人,軟件運(yùn)行不正確或者不精確性能與效率
用戶都希望軟件的運(yùn)行速度高些(高性能),并且占用資源少些(高效率)
舊社會(huì)地主就是這么對(duì)待長(zhǎng)工的:干活要快點(diǎn),吃得要少點(diǎn)
通過(guò)優(yōu)化算法、數(shù)據(jù)結(jié)構(gòu)和代碼組織來(lái)提高軟件系統(tǒng)的性能與效率優(yōu)化的關(guān)鍵工作是找出限制性能與效率的“瓶頸”
12/9/202243性能與效率用戶都希望軟件的運(yùn)行速度高些(高性能),并且占用易用性
導(dǎo)致軟件易用性差的根本原因是開(kāi)發(fā)人員犯了“錯(cuò)位”的毛病:他以為只要自己用起來(lái)方便,用戶也一定會(huì)滿意
當(dāng)用戶真的感到軟件很好用時(shí),一股溫暖的感覺(jué)油然而生,于是就用“友好”來(lái)評(píng)價(jià)易用性
12/9/202244易用性導(dǎo)致軟件易用性差的根本原因是開(kāi)發(fā)人員犯了“錯(cuò)位”的毛可理解性與簡(jiǎn)潔性(Note1)
開(kāi)發(fā)人員只有在自己思路清晰時(shí)才可能寫(xiě)出讓別人能理解的程序
編程時(shí)還要注意不可濫用技巧,應(yīng)該用自然的方式編程
簡(jiǎn)潔是一種美
如果把學(xué)術(shù)文章寫(xiě)得很簡(jiǎn)潔,讓人很容易理解,它往往中不了
12/9/202245可理解性與簡(jiǎn)潔性(Note1)開(kāi)發(fā)人員只有在自己思路清晰可復(fù)用性與可擴(kuò)充性
一種方式是原封不動(dòng)地使用現(xiàn)成的軟件構(gòu)件
一種方式是對(duì)現(xiàn)成的軟構(gòu)件進(jìn)行必要的擴(kuò)充后再使用
可復(fù)用性好的程序一般也具有良好的可擴(kuò)充性
12/9/202246可復(fù)用性與可擴(kuò)充性一種方式是原封不動(dòng)地使用現(xiàn)成的軟件構(gòu)件可行性研究與計(jì)劃需求分析設(shè)計(jì)編碼運(yùn)行維護(hù)測(cè)試測(cè)試已經(jīng)開(kāi)始返回上級(jí),再…..瀑布模型的質(zhì)量保障體系12/9/202247可行性研究與計(jì)劃需求分析設(shè)計(jì)編碼運(yùn)行維護(hù)測(cè)試測(cè)試已經(jīng)開(kāi)始返回小結(jié)(Note2)軟件的高質(zhì)量主要是設(shè)計(jì)出來(lái)的不是“管”出來(lái)的更不能依賴質(zhì)量檢查。
12/9/202248小結(jié)(Note2)軟件的高質(zhì)量主要是設(shè)計(jì)出來(lái)的12/7/2第二章
可行性研究與計(jì)劃12/9/202249第二章
可行性研究與計(jì)劃12/7/202249系統(tǒng)流程圖(Note3)輸入單據(jù)磁盤(pán)文件處理輸出單據(jù)12/9/202250系統(tǒng)流程圖(Note3)12/7/202250數(shù)據(jù)流程圖數(shù)據(jù)源點(diǎn)和終點(diǎn)變換數(shù)據(jù)的加工文件數(shù)據(jù)邏輯關(guān)系符號(hào):與、或、異或12/9/202251數(shù)據(jù)流程圖數(shù)據(jù)源點(diǎn)和終點(diǎn)變換數(shù)據(jù)的加工文件數(shù)據(jù)邏輯關(guān)系符號(hào):§2.1可行性研究基本概念可行性研究的任務(wù):
可行性研究的主要任務(wù)是“了解客戶的要求及現(xiàn)實(shí)環(huán)境,從技術(shù)、經(jīng)濟(jì)和社會(huì)因素等三方面研究并論證本軟件項(xiàng)目的可行性,編寫(xiě)可行性研究報(bào)告,制定初步項(xiàng)目開(kāi)發(fā)計(jì)劃?!?2/9/202252§2.1可行性研究基本概念可行性研究的任務(wù):
可行性研究的可行性研究的內(nèi)容(1)技術(shù)可行性(2)經(jīng)濟(jì)可行性(3)操作可行性(4)社會(huì)可行性(法律可行性)(5)抉擇12/9/202253可行性研究的內(nèi)容(1)技術(shù)可行性12/7/202253技術(shù)可行性(Note4)度量一個(gè)特定技術(shù)信息系統(tǒng)解決方案的實(shí)用性及技術(shù)資源的可用性考慮的問(wèn)題開(kāi)發(fā)風(fēng)險(xiǎn)分析資源分析相關(guān)技術(shù)的發(fā)展(現(xiàn)有技術(shù)能否實(shí)現(xiàn)新系統(tǒng),技術(shù)難點(diǎn)、建議采用技術(shù)的先進(jìn)性)12/9/202254技術(shù)可行性(Note4)度量一個(gè)特定技術(shù)信息系統(tǒng)解決方案的經(jīng)濟(jì)可行性度量系統(tǒng)解決方案的性能價(jià)格比考慮的問(wèn)題成本/效益分析有形成本、效益無(wú)形成本、效益價(jià)值和成本的關(guān)系質(zhì)量與價(jià)值、成本的關(guān)系價(jià)值/成本的均衡12/9/202255經(jīng)濟(jì)可行性度量系統(tǒng)解決方案的性能價(jià)格比12/7/202255經(jīng)濟(jì)可行性考慮的問(wèn)題(Note5)成本和效益的估算開(kāi)發(fā)成本的估算開(kāi)發(fā)效益的估算運(yùn)行成本的估算運(yùn)行效益的估算12/9/202256經(jīng)濟(jì)可行性考慮的問(wèn)題(Note5)成本和效益的估算12/7成本分析代碼行技術(shù)(page19)任務(wù)估算技術(shù)(page20)總成本、總?cè)肆ο鄬?duì)誤差在內(nèi)Putnam估算模型(page21)COCOMO模型比較復(fù)雜12/9/202257成本分析代碼行技術(shù)12/7/202257效益分析系統(tǒng)的經(jīng)濟(jì)效益=使用新系統(tǒng)增加收入+使用心系統(tǒng)可以節(jié)省的運(yùn)行費(fèi)用總的效益和軟件生存周期有關(guān)貨幣的時(shí)間價(jià)值(page23)投資回收期(page23)投資回收率(page23)純收入(page23)投資回收率12/9/202258效益分析系統(tǒng)的經(jīng)濟(jì)效益=使用新系統(tǒng)增加收入+使用心系統(tǒng)可以節(jié)系統(tǒng)開(kāi)發(fā)和每年運(yùn)行費(fèi)用舉例1.系統(tǒng)開(kāi)發(fā)費(fèi)用(一次).2名系統(tǒng)分析員(450小時(shí)/名,45美元/小時(shí))$40,500.5名系統(tǒng)開(kāi)發(fā)人員(275小時(shí)/名,36美元/小時(shí))$49,500.1名數(shù)據(jù)庫(kù)管理員(30小時(shí)/名,42美元/小時(shí))$1,260.2名技術(shù)寫(xiě)作者(120小時(shí)/名,25美元/小時(shí))$6,000.1名秘書(shū)(160小時(shí)/名,15美元/小時(shí))$2,40012/9/202259系統(tǒng)開(kāi)發(fā)和每年運(yùn)行費(fèi)用舉例1.系統(tǒng)開(kāi)發(fā)費(fèi)用(一次)12/7/系統(tǒng)開(kāi)發(fā)和每年運(yùn)行費(fèi)用舉例.1名數(shù)據(jù)通訊專(zhuān)家(60小時(shí)/名,42美元/小時(shí))$2,4002名在轉(zhuǎn)換期間數(shù)據(jù)輸入人員$49,500(40小時(shí)/名,12美元/小時(shí))12/9/202260系統(tǒng)開(kāi)發(fā)和每年運(yùn)行費(fèi)用舉例.1名數(shù)據(jù)通訊專(zhuān)家(60小時(shí)/名,系統(tǒng)開(kāi)發(fā)和每年運(yùn)行費(fèi)用舉例培訓(xùn):三天的開(kāi)發(fā)人員內(nèi)部培訓(xùn)課程$7,00030個(gè)用戶,三天的內(nèi)部培訓(xùn)課程$10,000物資:復(fù)印$500磁盤(pán)、紙張等消耗品$65012/9/202261系統(tǒng)開(kāi)發(fā)和每年運(yùn)行費(fèi)用舉例培訓(xùn):12/7/202261系統(tǒng)開(kāi)發(fā)和每年運(yùn)行費(fèi)用舉例購(gòu)買(mǎi)硬件、軟件:20臺(tái)工作站W(wǎng)indows軟件$1,00020臺(tái)工作站內(nèi)存升級(jí)$8,000網(wǎng)絡(luò)軟件$17,50020臺(tái)工作站辦公軟件產(chǎn)品$20,000系統(tǒng)開(kāi)發(fā)總費(fèi)用$161,67012/9/202262系統(tǒng)開(kāi)發(fā)和每年運(yùn)行費(fèi)用舉例購(gòu)買(mǎi)硬件、軟件:12/7/2022系統(tǒng)開(kāi)發(fā)和每年運(yùn)行費(fèi)用舉例2.年運(yùn)行費(fèi)用(每年)人員:維護(hù)程序員/分析員(250小時(shí)/年,42美元/小時(shí))
$10,500網(wǎng)絡(luò)管理員(300小時(shí)/年,50美元/小時(shí))$15,000購(gòu)買(mǎi)硬件、軟件升級(jí):硬件$5,000軟件$6,000物資和雜項(xiàng)$3,500每年總運(yùn)行費(fèi)用$40,00012/9/202263系統(tǒng)開(kāi)發(fā)和每年運(yùn)行費(fèi)用舉例2.年運(yùn)行費(fèi)用(每年)12/7/2操作可行性用戶使用可能性時(shí)間進(jìn)度可行性組織和文化上的可行性12/9/202264操作可行性用戶使用可能性12/7/202264社會(huì)可行性(法律可行性)開(kāi)發(fā)項(xiàng)目是否會(huì)在社會(huì)上或政治上引起侵權(quán)、破壞或其它責(zé)任問(wèn)題12/9/202265社會(huì)可行性(法律可行性)開(kāi)發(fā)項(xiàng)目是否會(huì)在社會(huì)上或政治上引起侵可行性研究計(jì)劃的完成可行性研究計(jì)劃12/9/202266可行性研究計(jì)劃的完成可行性研究計(jì)劃12/7/202266§2.3可行性研究的步驟(page15)
(1)復(fù)查確認(rèn)系統(tǒng)目標(biāo)、規(guī)模(2)研究正使用系統(tǒng)工作流程(3)導(dǎo)出新系統(tǒng)高層邏輯模型(4)重新定義問(wèn)題(5)導(dǎo)出和評(píng)價(jià)供選擇的方案(6)推薦可行的方案
(7)草擬開(kāi)發(fā)計(jì)劃(8)編寫(xiě)可行性研究報(bào)告,送審12/9/202267§2.3可行性研究的步驟(page15)(1)復(fù)查確認(rèn)系第三章需求分析和規(guī)格說(shuō)明12/9/202268第三章需求分析和規(guī)格說(shuō)明12/7/202268§3.1為什么需要需求分析開(kāi)發(fā)人員往往急于求成希望對(duì)開(kāi)發(fā)進(jìn)行指導(dǎo)希望開(kāi)發(fā)人員對(duì)用戶的要求理解希望用戶理解開(kāi)發(fā)人員測(cè)試部門(mén)有理可依12/9/202269§3.1為什么需要需求分析開(kāi)發(fā)人員往往急于求成12/7/2需求分析的任務(wù)
準(zhǔn)確地定義未來(lái)系統(tǒng)的目標(biāo),確定為了滿足用戶的需求系統(tǒng)必須做什么。用<需求規(guī)格說(shuō)明書(shū)>規(guī)范的形式準(zhǔn)確地表達(dá)用戶的需求。12/9/202270需求分析的任務(wù)準(zhǔn)確地定義未來(lái)系統(tǒng)的目標(biāo),確定為了滿足什么是用戶需求思考、涉及的幾個(gè)問(wèn)題如何識(shí)別、獲取需求?你能夠采取何種手段與用戶進(jìn)行交流溝通?何為需求建模?你如何理解模型與建模?12/9/202271什么是用戶需求思考、涉及的幾個(gè)問(wèn)題12/7/202271軟件需求分析的幾個(gè)階段問(wèn)題分析問(wèn)題評(píng)估和方案綜合建模規(guī)約復(fù)審系統(tǒng)分析員的主要焦點(diǎn)是“做什么(what)”,不是“怎樣做(how)”12/9/202272軟件需求分析的幾個(gè)階段問(wèn)題分析12/7/202272需求獲取面臨的挑戰(zhàn)(Note6)客戶說(shuō)不清楚需求需求易變性問(wèn)題的復(fù)雜性和對(duì)問(wèn)題空間理解的不完備性與不一致性12/9/202273需求獲取面臨的挑戰(zhàn)(Note6)客戶說(shuō)不清楚需求12/7§3.2需求獲取的常用方法(Note7)建立分析小組領(lǐng)域?qū)<遥褐鹘窍到y(tǒng)分析員:導(dǎo)演客戶訪談問(wèn)題分析與確認(rèn)12/9/202274§3.2需求獲取的常用方法(Note7)建立分析小組12某出版社系統(tǒng)調(diào)查表編號(hào)提出問(wèn)題1您在哪個(gè)部門(mén)工作?2出版業(yè)務(wù)流程是什么?3您每日都處理那些文件、數(shù)據(jù)、報(bào)表?4工作中手工處理特別麻煩的事情是什么?5工作中手工處理什么問(wèn)題解決不了?影響效率的問(wèn)題有哪些?6您認(rèn)為提高工作效率,節(jié)省工作時(shí)間,減輕工作強(qiáng)度可采取哪些辦法?12/9/202275某出版社系統(tǒng)調(diào)查表編號(hào)提出問(wèn)題1您在哪個(gè)部門(mén)工作?2出版業(yè)務(wù)某出版社系統(tǒng)調(diào)查表編號(hào)提出問(wèn)題7您的部門(mén)需要成本核算和統(tǒng)計(jì)的內(nèi)容有哪些?8您的部門(mén)采用計(jì)算機(jī)管理工作情況如何?9如何改進(jìn)業(yè)務(wù)流程使之更合理?10哪些問(wèn)題是目前傳統(tǒng)手工方法根本無(wú)法解決的?11出版社計(jì)算機(jī)管理信息系統(tǒng)需要解決什么問(wèn)題?12/9/202276某出版社系統(tǒng)調(diào)查表編號(hào)提出問(wèn)題7您的部門(mén)需要成本核算和統(tǒng)計(jì)的聽(tīng)一個(gè)故事(Note8)主人公:Contoso制藥公司的高級(jí)管理長(zhǎng)官GerhardContoso公司的信息系統(tǒng)開(kāi)發(fā)小組的新管理員Cynthia內(nèi)容:客戶的需求觀
12/9/202277聽(tīng)一個(gè)故事(Note8)主人公:12/7/202277誰(shuí)是客戶客戶是指直接或間接從產(chǎn)品中獲得利益的個(gè)人或組織
軟件客戶包括提出要求、支付款項(xiàng)、選擇、具體說(shuō)明或使用軟件產(chǎn)品的項(xiàng)目風(fēng)險(xiǎn)承擔(dān)者(stakeholder)或是獲得產(chǎn)品所產(chǎn)生的結(jié)果的人。12/9/202278誰(shuí)是客戶客戶是指直接或間接從產(chǎn)品中獲得利益的個(gè)人或組織12客戶與開(kāi)發(fā)人員之間的合作關(guān)系(Note10)
高質(zhì)量的需求來(lái)源于客戶與開(kāi)發(fā)人員之間有效的交流與合作
通常,開(kāi)發(fā)人員與客戶或客戶代理人成為一種對(duì)立關(guān)系
12/9/202279客戶與開(kāi)發(fā)人員之間的合作關(guān)系(Note10)高質(zhì)量的需求軟件客戶需求權(quán)利書(shū)(1)(Note11)
客戶有如下權(quán)利:1.要求分析人員使用符合客戶語(yǔ)言習(xí)慣的表達(dá)。2.要求分析人員了解客戶系統(tǒng)的業(yè)務(wù)及目標(biāo)。3.要求分析人員組織需求獲取期間所介紹的信息,并編寫(xiě)軟件需求規(guī)格說(shuō)明。4.要求開(kāi)發(fā)人員對(duì)需求過(guò)程中所產(chǎn)生的工作結(jié)果進(jìn)行解釋說(shuō)明。5.要求開(kāi)發(fā)人員在整個(gè)交流過(guò)程中保持和維護(hù)一種合作的職業(yè)態(tài)度。12/9/202280軟件客戶需求權(quán)利書(shū)(1)(Note11)客戶有如下權(quán)利:軟件客戶需求權(quán)利書(shū)(2)(Note12)6.要求開(kāi)發(fā)人員對(duì)產(chǎn)品的實(shí)現(xiàn)及需求都要提供建議,拿出主意。7.描述產(chǎn)品使其具有易用、好用的特性。8.可以調(diào)整需求,允許重用已有的軟件組件。9.當(dāng)需要對(duì)需求進(jìn)行變更時(shí),對(duì)成本、影響、得失(trade-off)有個(gè)真實(shí)可信的評(píng)估。10.獲得滿足客戶功能和質(zhì)量要求的系統(tǒng),并且這些要求是開(kāi)發(fā)人員同意的。
12/9/202281軟件客戶需求權(quán)利書(shū)(2)(Note12)6.要求開(kāi)發(fā)人員軟件客戶需求義務(wù)書(shū)(1)(Note13)客戶有下列義務(wù):1.給分析人員講解業(yè)務(wù)及說(shuō)明業(yè)務(wù)方面的術(shù)語(yǔ)等專(zhuān)業(yè)問(wèn)題。2.抽出時(shí)間清楚地說(shuō)明需求并不斷完善。3.當(dāng)說(shuō)明系統(tǒng)需求時(shí),力求準(zhǔn)確詳細(xì)。4.需要時(shí)要及時(shí)對(duì)需求做出決策。5.要尊重開(kāi)發(fā)人員的成本估算和對(duì)需求的可行性分析。12/9/202282軟件客戶需求義務(wù)書(shū)(1)(Note13)客戶有下列義務(wù):軟件客戶需求義務(wù)書(shū)(2)(Note14)6.對(duì)單項(xiàng)需求、系統(tǒng)特性或使用實(shí)例劃分優(yōu)先級(jí)。7.評(píng)審需求文檔和原型。8.一旦知道要對(duì)項(xiàng)目需求進(jìn)行變更,要馬上與開(kāi)發(fā)人員聯(lián)系。9.在要求需求變更時(shí),應(yīng)遵照開(kāi)發(fā)組織確定的工作過(guò)程來(lái)處理。10.尊重需求工程中開(kāi)發(fā)人員采用的流程(過(guò)程)。
12/9/202283軟件客戶需求義務(wù)書(shū)(2)(Note14)6.對(duì)單項(xiàng)需求、“簽約”意味著什么(Note15)客戶與開(kāi)發(fā)人員關(guān)系中的重要部分
客戶代表經(jīng)常把“簽約”看作是毫無(wú)意義的
更為重要的是簽名是建立在一個(gè)需求協(xié)議的基線上
與你的重要客戶一起討論權(quán)利書(shū)和義務(wù)書(shū),以達(dá)成協(xié)議,并付諸實(shí)踐12/9/202284“簽約”意味著什么(Note15)客戶與開(kāi)發(fā)人員關(guān)系中的高質(zhì)量的需求過(guò)程帶來(lái)的好處(Note16)開(kāi)發(fā)后期和整個(gè)維護(hù)階段的重做的工作大大減少
強(qiáng)調(diào)需求質(zhì)量并不能引起某些人的重視,他們錯(cuò)誤地認(rèn)為在需求上消耗多少時(shí)間就會(huì)導(dǎo)致產(chǎn)品開(kāi)發(fā)推遲多少時(shí)間將選定系統(tǒng)的需求明確地分配到各軟件子系統(tǒng),強(qiáng)調(diào)采用產(chǎn)品工程的系統(tǒng)方法。這樣能簡(jiǎn)化硬軟件的集成
12/9/202285高質(zhì)量的需求過(guò)程帶來(lái)的好處(Note16)開(kāi)發(fā)后期和整個(gè)維優(yōu)秀需求具有的特性(Note17)1.完整性
2.正確性
3.可行性
4.必要性
5.劃分優(yōu)先級(jí)
6.無(wú)二義性
7.可驗(yàn)證性
12/9/202286優(yōu)秀需求具有的特性(Note17)1.完整性12/7/§3.3需求獲取的內(nèi)容
1.用戶需求分類(lèi)(1)功能性需求:定義了系統(tǒng)做什么(描述系統(tǒng)必須支持的功能和過(guò)程)(2)非功能性需求(技術(shù)需求):定義了系統(tǒng)工作時(shí)的特性(描述操作環(huán)境和性能目標(biāo))12/9/202287§3.3需求獲取的內(nèi)容1.用戶需求分類(lèi)12/7/202兩類(lèi)需求包括的內(nèi)容(1)功能(2)性能(3)環(huán)境(4)界面(5)用戶或人 的因素(6)文檔(7)數(shù)據(jù)(8)資源(9)安全保密(10)軟件成本消耗 與開(kāi)發(fā)進(jìn)度(11)質(zhì)量保證12/9/202288兩類(lèi)需求包括的內(nèi)容(1)功能(7)數(shù)據(jù)12/7/2022(1)功能需求
系統(tǒng)做什么?系統(tǒng)何時(shí)做什么?系統(tǒng)何時(shí)及如何修改或升級(jí)?12/9/202289(1)功能需求系統(tǒng)做什么?12/7/202289(2)性能需求軟件開(kāi)發(fā)的技術(shù)性指標(biāo)例如:存儲(chǔ)容量限制執(zhí)行速度、相應(yīng)時(shí)間吞吐量12/9/202290(2)性能需求軟件開(kāi)發(fā)的技術(shù)性指標(biāo)12/7/202290(3)環(huán)境需求硬件設(shè)備:機(jī)型、外設(shè)、接口、地點(diǎn)、分布、溫度、濕度、磁場(chǎng)干擾等軟件:操作系統(tǒng)網(wǎng)絡(luò)數(shù)據(jù)庫(kù)12/9/202291(3)環(huán)境需求硬件設(shè)備:機(jī)型、外設(shè)、接口、12/7/20(4)界面需求有來(lái)自其它系統(tǒng)的輸入嗎?到自其它系統(tǒng)的輸出嗎?對(duì)數(shù)據(jù)格式有規(guī)定嗎?對(duì)數(shù)據(jù)存儲(chǔ)介質(zhì)有規(guī)定嗎?12/9/202292(4)界面需求有來(lái)自其它系統(tǒng)的輸入嗎?12/7/202(5)用戶或人的因素
用戶類(lèi)型?各種用戶熟練程度?需受何種訓(xùn)練?用戶理解、使用系統(tǒng)的難度?用戶錯(cuò)誤操作系統(tǒng)的可能性?12/9/202293(5)用戶或人的因素用戶類(lèi)型?12/7/202293(6)文檔需求需哪些文檔?文檔針對(duì)哪些讀者?12/9/202294(6)文檔需求需哪些文檔?12/7/202294(7)數(shù)據(jù)需求輸入、輸出數(shù)據(jù)的格式?接收、發(fā)送數(shù)據(jù)的頻率?數(shù)據(jù)的準(zhǔn)確性和精度?數(shù)據(jù)流量?數(shù)據(jù)需保持的時(shí)間?12/9/202295(7)數(shù)據(jù)需求輸入、輸出數(shù)據(jù)的格式?12/7/2022(8)資源需求
軟件運(yùn)行時(shí)所需的數(shù)據(jù)、軟件。內(nèi)存空間等資源。軟件開(kāi)發(fā)、維護(hù)所需的人力、支撐軟件、開(kāi)發(fā)設(shè)備等。12/9/202296(8)資源需求軟件運(yùn)行時(shí)所需的數(shù)據(jù)、軟件。12/7/2(9)安全保密要求需對(duì)訪問(wèn)系統(tǒng)或系統(tǒng)信息加以控制嗎?如何隔離用戶之間的數(shù)據(jù)?用戶程序如何與其它程序和操作系統(tǒng)隔離?系統(tǒng)備份要求?12/9/202297(9)安全保密要求需對(duì)訪問(wèn)系統(tǒng)或系統(tǒng)信息加以控制嗎?1(10)軟件成本消耗
與開(kāi)發(fā)進(jìn)度需求開(kāi)發(fā)有規(guī)定的時(shí)間表嗎?軟硬件投資有無(wú)限制?12/9/202298(10)軟件成本消耗
與開(kāi)發(fā)進(jìn)度需求12/7/(11)質(zhì)量保證
系統(tǒng)的可靠性要求?系統(tǒng)必須監(jiān)測(cè)和隔離錯(cuò)誤嗎?規(guī)定系統(tǒng)平均出錯(cuò)時(shí)間?出錯(cuò)后,重啟系統(tǒng)允許的時(shí)間?系統(tǒng)變化如何反映到設(shè)計(jì)中?維護(hù)是否包括對(duì)系統(tǒng)的改進(jìn)?系統(tǒng)的可移植性?12/9/202299(11)質(zhì)量保證系統(tǒng)的可靠性要求?12/7/202299怎樣寫(xiě)需求分析報(bào)告作報(bào)告時(shí)要先從宏觀上講一、二、三、四、五,再?gòu)募?xì)節(jié)上講A、B、C、D、E。需求分析不象偵探推理那樣從蛛絲馬跡著手。應(yīng)該先了解宏觀的問(wèn)題,再了解細(xì)節(jié)的問(wèn)題
如圖S={D1,D2,D3,…Dn}Di={P1,P2,P3,…Pm}Pj={F1,F(xiàn)2,F(xiàn)3,…Fk}12/9/2022100怎樣寫(xiě)需求分析報(bào)告作報(bào)告時(shí)要先從宏觀上講一、二、三、四、五,怎樣寫(xiě)需求分析報(bào)告12/9/2022101怎樣寫(xiě)需求分析報(bào)告12/7/2022101§3.4需求的開(kāi)發(fā)和管理 整個(gè)軟件需求工程研究領(lǐng)域劃分為需求開(kāi)發(fā)和需求管理兩部分更合適
需求工程域的層次分解示意圖
12/9/2022102§3.4需求的開(kāi)發(fā)和管理 整個(gè)軟件需求工程研究領(lǐng)域劃分為需需求開(kāi)發(fā)(Note18)
問(wèn)題獲取(elicitation)分析(analysis)編寫(xiě)規(guī)格說(shuō)明(specification)驗(yàn)證(verification)
12/9/2022103需求開(kāi)發(fā)(Note18)問(wèn)題獲?。╡lici知識(shí)技能
(Note19)
絕大部分的軟件開(kāi)發(fā)人員都沒(méi)有接受過(guò)高效需求工程所需技能的正規(guī)培訓(xùn)培訓(xùn)需求分析人員所有的開(kāi)發(fā)人員都應(yīng)接受一個(gè)基本的需求工程培訓(xùn)培訓(xùn)軟件需求的用戶代表和管理人員參與軟件開(kāi)發(fā)的用戶代表應(yīng)接受為期一天左右,關(guān)于需求工程的培訓(xùn),開(kāi)發(fā)管理者和客戶管理者也應(yīng)參加讓開(kāi)發(fā)人員了解應(yīng)用領(lǐng)域的基本概念組織一些簡(jiǎn)短的關(guān)于客戶業(yè)務(wù)活動(dòng)、術(shù)語(yǔ)、目標(biāo)等方面的討論會(huì)以幫助開(kāi)發(fā)人員對(duì)應(yīng)用領(lǐng)域有個(gè)基本了解
12/9/2022104知識(shí)技能(Note19) 絕大部分的軟件開(kāi)發(fā)人員都沒(méi)有需求獲取(1)(Note20)
確定需求開(kāi)發(fā)過(guò)程
編寫(xiě)項(xiàng)目視圖和范圍文檔項(xiàng)目視圖
將用戶群分類(lèi)并歸納各自特點(diǎn)
選擇每類(lèi)用戶的產(chǎn)品代表
建立起典型用戶的核心隊(duì)伍把同類(lèi)產(chǎn)品或你的產(chǎn)品的先前版本用戶代表召集起來(lái),從他們那里收集目前產(chǎn)品的功能需求和非功能需求
12/9/2022105需求獲取(1)(Note20)確定需求開(kāi)發(fā)過(guò)程12/7需求獲取(2)(Note21)讓用戶代表確定使用實(shí)例
召開(kāi)應(yīng)用程序開(kāi)發(fā)聯(lián)系會(huì)議
分析用戶工作流程觀察用戶執(zhí)行業(yè)務(wù)任務(wù)的過(guò)程
確定質(zhì)量屬性和其它非功能需求在功能需求之外再考慮一下非功能的質(zhì)量特點(diǎn)
通過(guò)檢查當(dāng)前系統(tǒng)的問(wèn)題報(bào)告來(lái)進(jìn)一步完善
可查看需求是否有足夠的靈活性以允許重用一些已有的軟件組件
12/9/2022106需求獲取(2)(Note21)讓用戶代表確定使用實(shí)例12需求分析(Note22)繪制系統(tǒng)關(guān)聯(lián)圖。建立數(shù)據(jù)字典。為需求建立模型。建立用戶接口原型。確定需求優(yōu)先級(jí)。
12/9/2022107需求分析(Note22)繪制系統(tǒng)關(guān)聯(lián)圖。12/7/2022需求規(guī)格說(shuō)明(SRS)(Note23)采用原始模板在你的組織中要為編寫(xiě)軟件需求文檔定義一種標(biāo)準(zhǔn)模板
指明需求的來(lái)源
為每項(xiàng)需求注上標(biāo)號(hào)制定一種慣例來(lái)為每項(xiàng)需求提供一個(gè)獨(dú)立的可識(shí)別的標(biāo)號(hào)或記號(hào)
記錄業(yè)務(wù)規(guī)范業(yè)務(wù)規(guī)范創(chuàng)建需求跟蹤能力矩陣
12/9/2022108需求規(guī)格說(shuō)明(SRS)(Note23)采用原始模板在你的組需求驗(yàn)證(Note24)對(duì)需求文檔進(jìn)行正式審查
以需求為依據(jù)編寫(xiě)測(cè)試用例編寫(xiě)用戶手冊(cè)在需求開(kāi)發(fā)早期即可起草一份用戶手冊(cè)確定合格的標(biāo)準(zhǔn)讓用戶描述什么樣的產(chǎn)品才算滿足他們的要求和適合他們使用的
12/9/2022109需求驗(yàn)證(Note24)對(duì)需求文檔進(jìn)行正式審查12/7/需求管理(Note25)確定一個(gè)選擇、分析和決策需求變更的過(guò)程
建立變更控制委員會(huì)
評(píng)估每項(xiàng)選擇的需求變更跟蹤所有受需求變更影響的工作產(chǎn)品建立需求基準(zhǔn)版本和需求控制版本文檔維護(hù)需求變更的歷史記錄記錄跟蹤每項(xiàng)需求的狀態(tài)建立一個(gè)數(shù)據(jù)庫(kù)衡量需求穩(wěn)定性記錄基準(zhǔn)需求的數(shù)量和變更數(shù)量使用需求管理工具商業(yè)化的需求管理工具
12/9/2022110需求管理(Note25)確定一個(gè)選擇、分析和決策需求變更的項(xiàng)目管理(Note26)選擇一種合適的軟件開(kāi)發(fā)方法生存周期項(xiàng)目開(kāi)發(fā)計(jì)劃的進(jìn)度安排將會(huì)不斷改變發(fā)生需求變更時(shí)協(xié)商項(xiàng)目約定編寫(xiě)文檔和管理與需求相關(guān)的風(fēng)險(xiǎn)跟蹤需求工程所耗的工作量
12/9/2022111項(xiàng)目管理(Note26)選擇一種合適的軟件開(kāi)發(fā)方法生存周期分析編寫(xiě)文檔評(píng)審,商議基準(zhǔn)需求說(shuō)明需求變更過(guò)程管理客戶需求市場(chǎng)當(dāng)前基線修正后基線市場(chǎng),客戶,管理項(xiàng)目環(huán)境需求開(kāi)發(fā)與需求管理之間的界限(Note27)
12/9/2022112分析基準(zhǔn)需求說(shuō)明需求變更過(guò)程管理客戶市場(chǎng)當(dāng)前基線修正后基線市§3.5改進(jìn)需求過(guò)程(Note28)軟件開(kāi)發(fā)過(guò)程的改進(jìn)有以下兩個(gè)主要目標(biāo):解決在以前項(xiàng)目或目前項(xiàng)目中遇到的問(wèn)題。防止和避免你可能在將來(lái)的項(xiàng)目中要遇到的問(wèn)題。12/9/2022113§3.5改進(jìn)需求過(guò)程(Note28)軟件開(kāi)發(fā)過(guò)程的改進(jìn)有四條改進(jìn)軟件的原則(Note29)改進(jìn)過(guò)程應(yīng)該是革命性的、徹底的、連續(xù)的、反復(fù)的
人們和組織機(jī)構(gòu)都只有在他們獲得激勵(lì)時(shí)才愿意變更
過(guò)程變更是面向目標(biāo)的將改進(jìn)活動(dòng)看作一些小項(xiàng)目12/9/2022114四條改進(jìn)軟件的原則(Note29)改進(jìn)過(guò)程應(yīng)該是革命性的過(guò)程改進(jìn)周期(Note30)
評(píng)價(jià)當(dāng)前采用的方法指定活動(dòng)改進(jìn)計(jì)劃創(chuàng)建、實(shí)驗(yàn)和實(shí)施新過(guò)程評(píng)價(jià)結(jié)果圖:軟件開(kāi)發(fā)過(guò)程改進(jìn)的周期發(fā)現(xiàn)和建議活動(dòng)計(jì)劃新的過(guò)程,實(shí)驗(yàn)結(jié)果,獲得經(jīng)驗(yàn)實(shí)施情況怎樣活動(dòng)計(jì)劃的效果如何新過(guò)程是否達(dá)到預(yù)期目標(biāo)?計(jì)劃下一步的改進(jìn)周期12/9/2022115過(guò)程改進(jìn)周期(Note30)評(píng)價(jià)當(dāng)前采用的方法指定活動(dòng)改§3.6軟件需求與風(fēng)險(xiǎn)管理(Note31)聽(tīng)一個(gè)故事:同樣在Contoso制藥公司主人公“化學(xué)制品跟蹤系統(tǒng)”的項(xiàng)目管理人員Dave
首席程序員Helen
首席測(cè)試員Ramesh
內(nèi)容需求工程的風(fēng)險(xiǎn)為何物?12/9/2022116§3.6軟件需求與風(fēng)險(xiǎn)管理(Note31)聽(tīng)一個(gè)故事:1軟件風(fēng)險(xiǎn)管理的要素(Note32)風(fēng)險(xiǎn)管理就是使用某些工具和步驟把項(xiàng)目風(fēng)險(xiǎn)限制在一個(gè)可接受的范圍內(nèi)。風(fēng)險(xiǎn)管理提供了一種標(biāo)準(zhǔn)的方法來(lái)指出風(fēng)險(xiǎn)并把風(fēng)險(xiǎn)因素編成文檔,評(píng)估其潛在的威脅,以及確定減少這些風(fēng)險(xiǎn)評(píng)價(jià)(riskassessment)風(fēng)險(xiǎn)避免(riskavoidance)
風(fēng)險(xiǎn)控制(riskcontrol)
12/9/2022117軟件風(fēng)險(xiǎn)管理的要素(Note32)風(fēng)險(xiǎn)管理就是使用某些工具編寫(xiě)項(xiàng)目風(fēng)險(xiǎn)文檔(Note33)12/9/2022118編寫(xiě)項(xiàng)目風(fēng)險(xiǎn)文檔(Note33)12/7/2022118與需求有關(guān)的風(fēng)險(xiǎn)
下面介紹的風(fēng)險(xiǎn)因素是按需求工程中獲取、分析、編寫(xiě)規(guī)格說(shuō)明、驗(yàn)證和管理匯總起來(lái)的,并推薦了一些方法用于降低風(fēng)險(xiǎn)發(fā)生的可能性或減輕風(fēng)險(xiǎn)發(fā)生給項(xiàng)目帶來(lái)的影響。這張清單僅僅是一個(gè)起點(diǎn),在你做項(xiàng)目逐漸積累經(jīng)驗(yàn)過(guò)程中,加入你的風(fēng)險(xiǎn)因素清單和減輕風(fēng)險(xiǎn)的策略。使用這里提供的條目來(lái)幫助你識(shí)別需求風(fēng)險(xiǎn)并采用條件—結(jié)果的格式來(lái)書(shū)寫(xiě)風(fēng)險(xiǎn)說(shuō)明。12/9/2022119與需求有關(guān)的風(fēng)險(xiǎn)下面介紹的風(fēng)險(xiǎn)因素是按需求工程中獲取、分析需求獲取
(Note34)1)產(chǎn)品視圖與范圍2)需求開(kāi)發(fā)所需時(shí)間3)需求規(guī)格說(shuō)明的完整性和正確性4)對(duì)革新產(chǎn)品的需求5)明確非功能需求6)客戶贊同產(chǎn)品需求7)未加說(shuō)明的需求8)把已有的產(chǎn)品作為需求基線9)給出期望的解決辦法12/9/2022120需求獲?。∟ote34)1)產(chǎn)品視圖與范圍12/7/需求分析(Note35)1)劃分需求優(yōu)先級(jí)2)帶來(lái)技術(shù)困難的特性3)不熟悉的技術(shù)、方法、語(yǔ)言、工具或硬件平臺(tái)12/9/2022121需求分析(Note35)1)劃分需求優(yōu)先級(jí)12/7/2需求規(guī)格說(shuō)明
(Note36)1)需求理解2)時(shí)間壓力對(duì)TBD的影響3)具有二義性的術(shù)語(yǔ)4)需求說(shuō)明中包括了設(shè)計(jì)
12/9/2022122需求規(guī)格說(shuō)明(Note36)1)需求理解12/7/2需求驗(yàn)證
(Note37)1)未經(jīng)驗(yàn)證的需求2)審查的有效性12/9/2022123需求驗(yàn)證(Note37)12/7/2022123需求管理
(Note38)1)變更需求
2)需求變更過(guò)程
3)未實(shí)現(xiàn)的需求
4)擴(kuò)充項(xiàng)目范圍
12/9/2022124需求管理(Note38)1)變更需求12/7/202建立項(xiàng)目視圖與范圍(Note39)一個(gè)項(xiàng)目可能包括一些與軟件沒(méi)有直接關(guān)系的需求,例如:硬件的購(gòu)買(mǎi)、產(chǎn)品的安裝、維護(hù)或廣告。但在此,我們只關(guān)心與軟件產(chǎn)品有關(guān)系的業(yè)務(wù)需求。12/9/2022125建立項(xiàng)目視圖與范圍(Note39)一個(gè)項(xiàng)目可能包括一些與軟通過(guò)業(yè)務(wù)需求確定項(xiàng)目視圖(Note40)項(xiàng)目視圖可以把項(xiàng)目參與者定位到一個(gè)共同和明確的方向上
項(xiàng)目視圖描述了產(chǎn)品所涉及的各個(gè)方面和在一個(gè)完美環(huán)境中最終所具有的功能
市場(chǎng)需求文檔&視圖和范圍的文檔
來(lái)自各個(gè)渠道的業(yè)務(wù)需求可能會(huì)發(fā)生沖突
12/9/2022126通過(guò)業(yè)務(wù)需求確定項(xiàng)目視圖(Note40)項(xiàng)目視圖可以把項(xiàng)目項(xiàng)目視圖和范圍文檔的模板(Note41)a.業(yè)務(wù)需求a.1背景a.2業(yè)務(wù)機(jī)遇a.3業(yè)務(wù)目標(biāo)a.4客戶或市場(chǎng)需求a.5提供給客戶的價(jià)值a.6業(yè)務(wù)風(fēng)險(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局限性和專(zhuān)用性d.業(yè)務(wù)環(huán)境d.1客戶概貌d.2項(xiàng)目?jī)?yōu)先級(jí)e.產(chǎn)品成功的因素12/9/2022127項(xiàng)目視圖和范圍文檔的模板(Note41)a.業(yè)務(wù)需求b.計(jì)算機(jī)學(xué)科的發(fā)展計(jì)算機(jī)科學(xué)(CS)計(jì)算機(jī)科學(xué)(CS)計(jì)算機(jī)工程(CE)軟件工程(SE)信息系統(tǒng)(IS)計(jì)算學(xué)科(computingdiscipline)計(jì)算學(xué)科是研究通過(guò)在計(jì)算機(jī)上建立模型并模擬物理過(guò)程來(lái)進(jìn)行科學(xué)調(diào)查和研究的學(xué)科.12/9/2022128計(jì)算機(jī)學(xué)科的發(fā)展計(jì)算機(jī)科學(xué)計(jì)算機(jī)科學(xué)計(jì)算機(jī)工程軟件工程信息學(xué)科的3個(gè)形態(tài)理論抽象(模型化)設(shè)計(jì)重復(fù)出現(xiàn)的概念綁定(binding)概念與形式模型一致性和完備性抽象層次重用……典型的學(xué)科方法:數(shù)學(xué)方法系統(tǒng)科學(xué)方法……計(jì)算中抽象的本質(zhì)和使用。在處理復(fù)雜事務(wù)、構(gòu)造系統(tǒng)、隱藏細(xì)節(jié)和獲取重復(fù)模式方面使用抽象,通過(guò)具有不同層次的細(xì)節(jié)和指標(biāo)的抽象,能夠表達(dá)一個(gè)實(shí)體和系統(tǒng)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)科的方法論12/9/2022129學(xué)科的3個(gè)形態(tài)計(jì)算中抽象的本質(zhì)和使用。在處理復(fù)雜事務(wù)模型(model)模型:現(xiàn)實(shí)世界某些重要方面的表示。有時(shí)我們使用術(shù)語(yǔ)“抽象”來(lái)表示模型,因?yàn)槲覀儚默F(xiàn)實(shí)世界中抽象出對(duì)我們特別有用的東西。12/9/2022130模型(model)模型:現(xiàn)實(shí)世界某些重要方面的表示。12/抽象(模型化)源于實(shí)驗(yàn)科學(xué),主要要素為數(shù)據(jù)采集方法和假設(shè)的形式說(shuō)明,模型的構(gòu)造與預(yù)測(cè)實(shí)驗(yàn)分析結(jié)果分析.在為可能的算法數(shù)據(jù)結(jié)構(gòu)和系統(tǒng)結(jié)構(gòu)等構(gòu)造模型時(shí)使用此過(guò)程.抽象的結(jié)果是概念符號(hào)模型12/9/2022131抽象(模型化)源于實(shí)驗(yàn)科學(xué),主要要素為數(shù)據(jù)采集方法和假設(shè)的形§3.4需求分析的步驟當(dāng)前系統(tǒng)目標(biāo)系統(tǒng)物理模型邏輯模型邏輯模型物理模型模型化抽象化具體化實(shí)例化怎么做做什么當(dāng)前系統(tǒng)目標(biāo)系統(tǒng)需求定義12/9/2022132§3.4需求分析的步驟當(dāng)前目標(biāo)物理邏輯邏輯物理模型化抽象化邏輯模型和物理模型模型是對(duì)對(duì)象系統(tǒng)的形式化的特征抽象,概括性或近似地表示構(gòu)造模型的過(guò)程是一個(gè)抽象、分析的過(guò)程。對(duì)象系統(tǒng)模型系統(tǒng)抽象(映射)模型應(yīng)用模型構(gòu)造的過(guò)程12/9/2022133邏輯模型和物理模型模型是對(duì)對(duì)象系統(tǒng)的形式化的特征對(duì)象模型抽象
邏輯模型物理模型
(本質(zhì)模型、概念模型)
(實(shí)施模型、技術(shù)模型)現(xiàn)行系統(tǒng)目標(biāo)系統(tǒng)描述重要的業(yè)務(wù)功能,無(wú)論系統(tǒng)是如何實(shí)施的。描述現(xiàn)實(shí)系統(tǒng)是如何在物理上實(shí)現(xiàn)的。描述新系統(tǒng)的主要業(yè)務(wù)功能和用戶新的需求,無(wú)論系統(tǒng)應(yīng)如何實(shí)施。描述新系統(tǒng)是如何實(shí)施的(包括技術(shù))。12/9/2022134邏輯模型物理模型現(xiàn)目描述重要的業(yè)務(wù)分析階段中常用的模型
(邏輯模型)數(shù)據(jù)流圖(DFD)實(shí)體―聯(lián)系圖(ERD)類(lèi)圖實(shí)例圖時(shí)序圖狀態(tài)圖協(xié)作圖事件列表數(shù)據(jù)流定義數(shù)據(jù)元素定義……12/9/2022135分析階段中常用的模型
(邏輯模型)數(shù)據(jù)流圖(DFD)協(xié)作圖1數(shù)據(jù)流圖
(DFD,DataFlowDiagram)(Note42)
描述邏輯模型的圖形工具,表示數(shù)據(jù)在系統(tǒng)內(nèi)的變化。 DFD可以用來(lái)表示一個(gè)系統(tǒng)或軟件在任何層次上的抽象。較大型軟件系統(tǒng)DFD分成多層(子圖、父圖概念),可以表示數(shù)據(jù)流和功能的進(jìn)一步的細(xì)節(jié)。12/9/2022136數(shù)據(jù)流圖
(DFD,DataFlowDiagram)(數(shù)據(jù)流程圖的表示(32)數(shù)據(jù)源點(diǎn)和終點(diǎn)變換數(shù)據(jù)的加工文件數(shù)據(jù)邏輯關(guān)系符號(hào):與、或、異或12/9/2022137數(shù)據(jù)流程圖的表示(32)數(shù)據(jù)源點(diǎn)和終點(diǎn)變換數(shù)畫(huà)數(shù)據(jù)流圖(page32-33)規(guī)則:由外向里畫(huà)畫(huà)系統(tǒng)的輸出、輸入化系統(tǒng)的內(nèi)部畫(huà)加工的內(nèi)部12/9/2022138畫(huà)數(shù)據(jù)流圖(page32-33)規(guī)則:由外向里畫(huà)12/7/應(yīng)該注意的幾個(gè)問(wèn)題(34)適當(dāng)?shù)孛?huà)數(shù)據(jù)流而不是控制流先考慮穩(wěn)定狀態(tài)忽略瑣碎的枝節(jié)隨時(shí)準(zhǔn)備重畫(huà)12/9/2022139應(yīng)該注意的幾個(gè)問(wèn)題(34)適當(dāng)?shù)孛?2/7分層數(shù)據(jù)流圖對(duì)于大型系統(tǒng),往往使用一張數(shù)據(jù)流圖畫(huà)出所有數(shù)據(jù)流和加工是不可能的自頂向下逐層分解不要一下子引入過(guò)多細(xì)節(jié),應(yīng)該逐步增加細(xì)節(jié)例子(page35):
圖3.13(a)畫(huà)出了…..。圖3說(shuō)明“產(chǎn)生新文件”……。顯然……。12/9/2022140分層數(shù)據(jù)流圖對(duì)于大型系統(tǒng),往往使用一張數(shù)據(jù)流圖畫(huà)出所有數(shù)據(jù)流由頂向下畫(huà)分層數(shù)據(jù)流圖(page37)描繪中應(yīng)該注意的問(wèn)題:編號(hào)父圖和子圖的平衡局部文件分解的程度12/9/2022141由頂向下畫(huà)分層數(shù)據(jù)流圖(page37)描繪中應(yīng)該注意的問(wèn)題實(shí)例——運(yùn)動(dòng)會(huì)管理系統(tǒng)自學(xué)3.3.5節(jié)(Page40)12/9/2022142實(shí)例——運(yùn)動(dòng)會(huì)管理系統(tǒng)12/7/2022142數(shù)據(jù)流圖的改進(jìn)檢查數(shù)據(jù)流圖的正確性數(shù)據(jù)守恒(42)文件的使用(page42)父圖和子圖的平衡(43)提高數(shù)據(jù)流圖的易理解性簡(jiǎn)化加工間的聯(lián)系(page43)分解的均勻(page43)適當(dāng)?shù)孛?4)重新分解(page44)12/9/2022143數(shù)據(jù)流圖的改進(jìn)檢查數(shù)據(jù)流圖的正確性12/7/2022143數(shù)據(jù)實(shí)體關(guān)聯(lián)圖(Note43)與數(shù)據(jù)流圖描繪了系統(tǒng)中發(fā)生的過(guò)程一樣,實(shí)體聯(lián)系圖(entity-relationshipdiagram,ERD)描繪了系統(tǒng)的數(shù)據(jù)關(guān)系
分析實(shí)體聯(lián)系圖有助于對(duì)業(yè)務(wù)或系統(tǒng)數(shù)據(jù)組成的理解和交互,并暗示產(chǎn)品將有必要包含一個(gè)數(shù)據(jù)庫(kù)。
實(shí)體(entity)是物理數(shù)據(jù)項(xiàng)(包括人)或者數(shù)據(jù)項(xiàng)的集合,這對(duì)所分析的業(yè)務(wù)或所要構(gòu)造的系統(tǒng)是很重要的
12/9/2022144數(shù)據(jù)實(shí)體關(guān)聯(lián)圖(Note43)與數(shù)據(jù)流圖描繪了系統(tǒng)中發(fā)生的化學(xué)制品倉(cāng)庫(kù)存貨清單化學(xué)制品容器存儲(chǔ)執(zhí)行化學(xué)制品請(qǐng)求1MM1“化學(xué)制品跟蹤系統(tǒng)”的實(shí)體聯(lián)系圖12/9/2022145化學(xué)制品倉(cāng)庫(kù)存貨清單化學(xué)制品容器存儲(chǔ)執(zhí)行化學(xué)制品請(qǐng)求1MM1需求建模實(shí)例
酒店管理系統(tǒng)的局部DFD已預(yù)訂的入住預(yù)訂請(qǐng)求預(yù)訂預(yù)訂確認(rèn)未預(yù)訂的入住已預(yù)訂的入住請(qǐng)求未預(yù)訂的入住請(qǐng)求客人數(shù)據(jù)客房數(shù)據(jù)預(yù)訂確認(rèn)信息客人信息夜審結(jié)算信息財(cái)務(wù)系統(tǒng)時(shí)鐘12/9/2022146需求建模實(shí)例
酒店管理系統(tǒng)的局部DFD已預(yù)訂預(yù)訂請(qǐng)求預(yù)訂預(yù)訂需求建模實(shí)例:
某金融貿(mào)易系統(tǒng)用例圖(UML)風(fēng)險(xiǎn)分析交易估計(jì)進(jìn)行交易進(jìn)行交易接待員酒店系統(tǒng)財(cái)務(wù)系統(tǒng)12/9/2022147需求建模實(shí)例:
某金融貿(mào)易系統(tǒng)用例圖(UML)風(fēng)險(xiǎn)分析交易需求建模實(shí)例:
用例圖舉例(UML)簽定一份保險(xiǎn)單客戶保險(xiǎn)銷(xiāo)售人員銷(xiāo)售統(tǒng)計(jì)客戶統(tǒng)計(jì)12/9/2022148需求建模實(shí)例:
用例圖舉例(UML)簽定一份客戶保險(xiǎn)銷(xiāo)銷(xiāo)售需求建模實(shí)例:
UML類(lèi)圖實(shí)例(Note44)客人姓名地址身份證號(hào)碼護(hù)照號(hào)碼……預(yù)訂……入住住宿編號(hào)付款方式……退房……客房狀態(tài)日期人數(shù)……設(shè)置狀態(tài)……客房……服務(wù)日期數(shù)量設(shè)置……讀取……服務(wù)類(lèi)別名稱(chēng)價(jià)格設(shè)置……10..*10..*0..*0..11..*10..*1*12/9/2022149需求建模實(shí)例:
UML類(lèi)圖實(shí)例(Note44)客人姓名預(yù)需求建模實(shí)例:
描述客房狀態(tài)的狀態(tài)圖(Note45)取消預(yù)定入住已預(yù)訂空閑占用維修維修完成退房換房入住事件創(chuàng)建12/9/2022150需求建模實(shí)例:
描述客房狀態(tài)的狀態(tài)圖(Note45)取消預(yù)需求建模實(shí)例:
接電話的順序圖(UML)受話者交換機(jī)遠(yuǎn)程交換機(jī)受話者拿起話筒聽(tīng)通話聲撥號(hào)碼鈴響信號(hào)鈴響鈴響停止信號(hào)拿起話筒鈴響停止<10deabc{b-a<1}{e-d<5}{c-b<10}路徑12/9/2022151需求建模實(shí)例:
接電話的順序圖(UML)受話者交換機(jī)遠(yuǎn)程需求建模實(shí)例:
UML協(xié)作圖舉例計(jì)算機(jī)隊(duì)列打印服務(wù)器打印機(jī)打印文件打印機(jī)忙保存打印文件打印機(jī)空閑打印文件12/9/2022152需求建模實(shí)例:
UML協(xié)作圖舉例計(jì)算機(jī)隊(duì)列打印打印機(jī)打印§3.5數(shù)據(jù)詞典
(DD,DataDictionary) DD是對(duì)所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的一個(gè)有組織的列表,以及精確的、嚴(yán)格的定義,使得用戶和系統(tǒng)分析員對(duì)于輸入、輸出、存儲(chǔ)成分和中間計(jì)算有共同的理解12/9/2022153§3.5數(shù)據(jù)詞典
(DD,DataDictionary詞典與數(shù)據(jù)流圖之間關(guān)系(page44)數(shù)據(jù)流圖描述了系統(tǒng)的“分解”;依靠“詞典”來(lái)說(shuō)明各個(gè)成分的含義;數(shù)據(jù)流圖中所有名字的定義就構(gòu)成一本詞典;數(shù)據(jù)流圖和詞典結(jié)合在一起構(gòu)成了“需求說(shuō)明書(shū)”數(shù)據(jù)流圖中出現(xiàn)的每一個(gè)數(shù)據(jù)流名、每一個(gè)文件名和每一個(gè)加工名在詞典中都應(yīng)該有一個(gè)條目給出這個(gè)名字的定義。12/9/2022154詞典與數(shù)據(jù)流圖之間關(guān)系(page44)數(shù)據(jù)流圖描述了系統(tǒng)的詞典條目的各種類(lèi)型(page.45)四個(gè)類(lèi)型條目數(shù)據(jù)流文件數(shù)據(jù)項(xiàng)(指不在分解的數(shù)據(jù)單位)加工詞典條目的實(shí)例(page46-47)結(jié)合上次自習(xí)的內(nèi)容自行學(xué)習(xí)本節(jié)12/9/2022155詞典條目的各種類(lèi)型(page.45)四個(gè)類(lèi)型條目12/7/需求建模實(shí)例:
數(shù)據(jù)字典條目的定義預(yù)訂請(qǐng)求=客人數(shù)據(jù)+住宿期限+客房類(lèi)別客人數(shù)據(jù)=客人姓名+地址+身份證號(hào)碼+[護(hù)照號(hào)碼]+支付方式身份證號(hào)碼=十進(jìn)制15{數(shù)字}18護(hù)照號(hào)碼=字母+8{數(shù)字}8字母=“A”…“Z”十進(jìn)制數(shù)字=“0”…“9”12/9/2022156需求建模實(shí)例:
數(shù)據(jù)字典條目的定義預(yù)訂請(qǐng)求=客人數(shù)據(jù)+住宿期需求建模實(shí)例:
數(shù)據(jù)字典條目的定義F1:航班信息文件={航空公司名稱(chēng)+航班號(hào)+起點(diǎn)+終點(diǎn)+日期+起飛時(shí)間+降落時(shí)間}航空公司名稱(chēng)=2{字母}4航班號(hào)=3{十進(jìn)制數(shù)字}3字母=“A”…“Z”十進(jìn)制數(shù)字=“0”…“9”起點(diǎn)=終點(diǎn)=1{漢字}10起飛時(shí)間=降落時(shí)間=時(shí)+分12/9/2022157需求建模實(shí)例:
數(shù)據(jù)字典條目的定義F1:航班信息文件={航空需求建模實(shí)例:
數(shù)據(jù)字典條目的定義
時(shí)=“00”…“23”分=“00”…“59”日期=年+月+日年=[2000|2001|2002|2004]月=“01”…“12”日=“01”…“31”12/9/2022158需求建模實(shí)例:
數(shù)據(jù)字典條目的定義12/7/2022158§3.6小說(shuō)明數(shù)據(jù)流圖中每一個(gè)基本加工(即不再進(jìn)一步被分解的加工)都必須有一個(gè)“小說(shuō)明”小說(shuō)明中應(yīng)精確描述用戶要求一個(gè)加工“做什么” 加工的激發(fā)條件加工邏輯加工優(yōu)先級(jí)加工執(zhí)行頻率出錯(cuò)處理12/9/2022159§3.6小說(shuō)明數(shù)據(jù)流圖中每一個(gè)基本加工(即不再進(jìn)一步被分解結(jié)構(gòu)化的語(yǔ)言(page51)構(gòu)成方式語(yǔ)態(tài)詞匯舉例12/9/2022160結(jié)構(gòu)化的語(yǔ)言(page51)構(gòu)成方式12/7/202216判定表與判定樹(shù)(56)有些問(wèn)題不易用單純的語(yǔ)言表達(dá)判定表組成:條件樁條件條目操作樁操作條目判定樹(shù)12/9/2022161判定表與判定樹(shù)(56)有些問(wèn)題不易用單純的語(yǔ)§3.7模型的作用在建模過(guò)程中了解系統(tǒng)通過(guò)抽象降低復(fù)雜性有助于回憶所有的細(xì)節(jié)有助于開(kāi)發(fā)小組間的交流有助于與用戶的交流為系統(tǒng)的維護(hù)提供文檔
12/9/2022162§3.7模型的作用在建模過(guò)程中了解系統(tǒng)12/7/20221需求分析建模方法分析建模方法結(jié)構(gòu)化分析(傳統(tǒng)建模方法)面向?qū)ο蠓治?2/9/2022163需求分析建模方法分析建模方法12/7/2022163模型的作用計(jì)算機(jī)世界現(xiàn)實(shí)世界影射12/9/2022164模型的作用計(jì)算機(jī)世界現(xiàn)實(shí)世界影射12/7/2022164計(jì)算機(jī)世界現(xiàn)實(shí)世界結(jié)構(gòu)化開(kāi)發(fā)方法結(jié)構(gòu)化分析結(jié)構(gòu)化設(shè)計(jì)結(jié)構(gòu)化編程O(píng)OAOODOOP面向?qū)ο箝_(kāi)發(fā)方法模型的作用12/9/2022165計(jì)算機(jī)世界現(xiàn)實(shí)世界結(jié)結(jié)構(gòu)化結(jié)構(gòu)化結(jié)構(gòu)化OOAOODOOP面模結(jié)構(gòu)化分析模型的組成結(jié)構(gòu)數(shù)據(jù)流圖(DFD)E-R圖狀態(tài)變遷圖(STD圖)加工說(shuō)明控制說(shuō)明數(shù)據(jù)對(duì)象說(shuō)明數(shù)據(jù)字典(DD)12/9/2022166結(jié)構(gòu)化分析模型的組成結(jié)構(gòu)數(shù)據(jù)流圖E-R圖狀態(tài)變遷圖加工說(shuō)明控面向?qū)ο蠓治瞿P偷慕M成結(jié)構(gòu)對(duì)象-關(guān)系模型類(lèi)/對(duì)象模型對(duì)象-行為模型使用實(shí)例(UseCase)操作、屬性、協(xié)作者12/9/2022167面向?qū)ο蠓治瞿P偷慕M成結(jié)構(gòu)對(duì)象-關(guān)類(lèi)/對(duì)象對(duì)象-行為模型使用重點(diǎn)小結(jié)12/9/2022168重點(diǎn)小結(jié)12/7/2022168§3.8結(jié)構(gòu)化分析方法(StructuredAnalisys,SA)基于數(shù)據(jù)流技術(shù)的分析方法
需求獲取應(yīng)遵循的三條基本原則:分解抽象投影12/9/2022169§3.8結(jié)構(gòu)化分析方法(StructuredAnalis分析模型的元素?cái)?shù)據(jù)字典(DD):模型核心(中心庫(kù))E-R圖(ERD):數(shù)據(jù)流圖(DFD)
指明數(shù)據(jù)在系統(tǒng)中移動(dòng)時(shí)如何被變換;描述對(duì)數(shù)據(jù)流進(jìn)行變換的功能;DFD中每個(gè)功能的描述包含在加工規(guī)約(小說(shuō)明)。狀態(tài)變遷圖(STD)指明作為外部事件的結(jié)果,系統(tǒng)將如何動(dòng)作。12/9/2022170分析模型的元素?cái)?shù)據(jù)字典(DD):模型核心(中心庫(kù))12/7/E-R圖是數(shù)據(jù)建模的基礎(chǔ)客人入住客房狀態(tài)客房服務(wù)服務(wù)類(lèi)別姓名地址身份證號(hào)碼護(hù)照號(hào)碼電話……客房號(hào)床位數(shù)房間類(lèi)別價(jià)格1……住宿編號(hào)住宿時(shí)間支付方式……日期,客人數(shù)狀態(tài)(已預(yù)定/占用/維修中)……日期,數(shù)量……名稱(chēng),價(jià)格……12/9/2022171E-R圖是數(shù)據(jù)建模的基礎(chǔ)客人入住客房狀態(tài)客房服務(wù)服務(wù)類(lèi)別姓名將分析模型轉(zhuǎn)換為軟件設(shè)計(jì)數(shù)據(jù)字典數(shù)據(jù)流圖E-R圖狀態(tài)變遷圖加工規(guī)約控制規(guī)約數(shù)據(jù)對(duì)描
述象數(shù)據(jù)設(shè)計(jì)體系結(jié)構(gòu)設(shè)計(jì)接口設(shè)計(jì)過(guò)程設(shè)計(jì)分析模型設(shè)計(jì)模型12/9/2022172將分析模型轉(zhuǎn)換為軟件設(shè)計(jì)數(shù)據(jù)數(shù)據(jù)E-R圖狀態(tài)變遷圖加工規(guī)約控§3.9實(shí)例考務(wù)處理系統(tǒng)功能(1)對(duì)考生送來(lái)的報(bào)名單進(jìn)行檢查;(2)對(duì)合格的報(bào)名單編好準(zhǔn)考證號(hào)后將準(zhǔn)考證送給考生,并將匯總后的考生名單送給閱卷站;(3)對(duì)閱卷站送來(lái)的成績(jī)單進(jìn)行檢查,并根據(jù)考試中心制定的合格標(biāo)準(zhǔn)審定合格者;(4)制作考生通知單(含成績(jī)及合格/不合格標(biāo)志)送給考生;(5)按地區(qū)進(jìn)行成績(jī)分類(lèi)統(tǒng)計(jì)和試題難度分析,產(chǎn)生統(tǒng)計(jì)分析表。12/9/2022173§3.9實(shí)例考務(wù)處理系統(tǒng)功能(1)對(duì)考生送來(lái)的報(bào)名單實(shí)例
考務(wù)處理系統(tǒng)功能考務(wù)處理系統(tǒng)的分層DFD如下:12/9/2022174實(shí)例考務(wù)處理系統(tǒng)功能12/7/2022174頂層數(shù)據(jù)流圖考生考務(wù)處理系統(tǒng)考試中心閱卷站不合格報(bào)名單報(bào)名單準(zhǔn)考證考生通知單成績(jī)清單合格標(biāo)準(zhǔn)錯(cuò)誤成績(jī)清單考生名單統(tǒng)計(jì)分析表12/9/2022175頂層數(shù)據(jù)流圖考考務(wù)考閱卷站不合格報(bào)名單報(bào)名單準(zhǔn)考證考生通知單0層數(shù)據(jù)流圖登記報(bào)名單報(bào)名單準(zhǔn)考證1統(tǒng)計(jì)成績(jī)2不合格報(bào)名單考生通知單成統(tǒng)計(jì)分析表考生名冊(cè)績(jī)清單合格標(biāo)準(zhǔn)考生名單成績(jī)清單錯(cuò)誤12/9/20221760層數(shù)據(jù)流圖登記報(bào)名單準(zhǔn)考證1統(tǒng)計(jì)成績(jī)2不合格考生通知單成統(tǒng)一層數(shù)據(jù)流圖(a)檢查報(bào)名單報(bào)名單準(zhǔn)考證1.1編準(zhǔn)考證號(hào)1.2不合格報(bào)名單考生名冊(cè)考生名單合格報(bào)名單登記考生1.312/9/2022177一層數(shù)據(jù)流圖(a)檢查報(bào)名單準(zhǔn)考證1.1編準(zhǔn)考證號(hào)1.2不一層數(shù)據(jù)流圖(b)檢查成績(jī)清單2.1審定合格者2.2考生名冊(cè)正確成績(jī)清單制作通知單2.3分析統(tǒng)計(jì)成績(jī)2.4分析試題難度2.5試題得分清單考生通知單難度分析表合格標(biāo)準(zhǔn)分類(lèi)統(tǒng)計(jì)表成績(jī)清單錯(cuò)誤成績(jī)清單經(jīng)審定的成績(jī)清單12/9/2022178一層數(shù)據(jù)流圖(b)檢查2.1審定2.2考生名冊(cè)正確制作2.S23.13.2頂層(不編號(hào))0層1層12/9/2022179S23.13.2頂層0層1層12/數(shù)據(jù)字典舉例F1:航班信息文件={航空公司名稱(chēng)+航班號(hào)+起點(diǎn)+終點(diǎn)+日期+起飛時(shí)間+降落時(shí)間}航空公司名稱(chēng)=2{字母}4航班號(hào)=3{十進(jìn)制數(shù)字}3字母=“A”…“Z”十進(jìn)制數(shù)字=“0”…“9”起點(diǎn)=終點(diǎn)=1{漢字}10起飛時(shí)間=降落時(shí)間=時(shí)+分12/9/2022180數(shù)據(jù)字典舉例F1:航班信息文件={航空公司名稱(chēng)+航班號(hào)12/再來(lái)看看——
結(jié)構(gòu)化分析模型的組成結(jié)構(gòu)數(shù)據(jù)流圖(DFD)E-R圖狀態(tài)變遷圖(STD圖)加工說(shuō)明控制說(shuō)明數(shù)據(jù)對(duì)象說(shuō)明數(shù)據(jù)字典(DD)12/9/2022181再來(lái)看看——
結(jié)構(gòu)化分析模型的組成結(jié)構(gòu)數(shù)據(jù)流圖E-R圖狀態(tài)變§3.11需求分析的其他工作(page63)確定設(shè)計(jì)限制確定驗(yàn)收標(biāo)準(zhǔn)編寫(xiě)“初步用戶手冊(cè)”復(fù)查需求說(shuō)明書(shū)12/9/2022182§3.11需求分析的其他工作(page63)確定設(shè)計(jì)限制補(bǔ)充知識(shí)UML語(yǔ)言和圖12/9/2022183補(bǔ)充知識(shí)UML語(yǔ)言和圖12/7/2022183UML簡(jiǎn)介(NoteL1)UML定義由信息系統(tǒng)三位專(zhuān)家GradyBooch,JamesRumbaugh和IvarJacobonOMG組織采奶作為業(yè)界標(biāo)準(zhǔn)12/9/2022184UML簡(jiǎn)介(NoteL1)UML定義12/7/202218UML的開(kāi)發(fā)歷程(NoteL2)Booch’91其它方法OMT-1OOSEBooch’93OMT-2UML0.8UML0.9&0.91UML1.0UML1.1UML同行專(zhuān)家意見(jiàn)OMG認(rèn)證10/9510/96&9/96OMG審核,1/97OMG修正,9/97OMG采用,11/97UML1.312/9/2022185UML的開(kāi)發(fā)歷程(NoteL2)BoochUML架構(gòu)(NoteL3)UML由圖和元模型組成元元模型層元模型層模型層用戶模型層12/9/2022186UML架構(gòu)(NoteL3)UML由圖和元模型組成12/7/UML的模型、視圖、圖與
系統(tǒng)架構(gòu)的建模(NoteL4)用例視圖邏輯視圖并發(fā)視圖組件視圖展開(kāi)視圖12/9/2022187UML的模型、視圖、圖與
系統(tǒng)架構(gòu)的建模(NoteL4)用UML與面相對(duì)象的軟件分析與設(shè)計(jì)(OOA&D)(NoteL5)標(biāo)準(zhǔn)的表示方法與軟件開(kāi)發(fā)的成功經(jīng)驗(yàn)集成12/9/2022188UML與面相對(duì)象的軟件分析與設(shè)計(jì)(OOA&D)(NoteUML的應(yīng)用領(lǐng)域(NoteL6)UML被用來(lái)為系統(tǒng)建模,它可應(yīng)用的范圍非常廣泛在不同系統(tǒng)中的應(yīng)用信息系統(tǒng)技術(shù)系統(tǒng)嵌入式實(shí)時(shí)系統(tǒng)分布式系統(tǒng)商業(yè)系統(tǒng)12/9/2022189UML的應(yīng)用領(lǐng)域(NoteL6)UML被用來(lái)為系統(tǒng)建模,它在軟件開(kāi)發(fā)不同階段的應(yīng)用(NoteL7)需求分析分析設(shè)計(jì)構(gòu)造測(cè)試12
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 胸痹中醫(yī)內(nèi)科學(xué)
- ACE術(shù)后健康宣教及護(hù)理
- 2025福建醫(yī)科大學(xué)安全保衛(wèi)工作人員招聘2人(十四)筆試考試備考題庫(kù)及答案解析
- 2026甘肅張掖市教育系統(tǒng)招聘公費(fèi)師范生72人筆試考試備考試題及答案解析
- 中醫(yī)肝臟養(yǎng)生排毒
- 天水市2026屆協(xié)議培養(yǎng)師范畢業(yè)生 雙向選擇簽約活動(dòng)(141人)考試筆試備考試題及答案解析
- 2025山東東營(yíng)市東凱建設(shè)工程有限公司招聘4人(第二批)考試筆試參考題庫(kù)附答案解析
- 中醫(yī)五臟課件
- 2025版帕金森病常見(jiàn)癥狀及護(hù)理技巧培訓(xùn)班
- 2025四川省首都醫(yī)科大學(xué)附屬北京安貞醫(yī)院南充醫(yī)院(南充市中心醫(yī)院)第二批引進(jìn)高層次人才考核招聘2人筆試考試參考題庫(kù)及答案解析
- 2025年中國(guó)商用電飯煲行業(yè)市場(chǎng)全景分析及前景機(jī)遇研判報(bào)告
- 硬質(zhì)陶瓷梯度制備工藝研究
- 壓力性損傷護(hù)理小講課
- ESD、EMR及術(shù)后護(hù)理綜合管理
- 大數(shù)據(jù)分析平臺(tái)技術(shù)需求文檔范例
- 2025年中國(guó)國(guó)際貨運(yùn)航空股份有限公司招聘考試筆試試題含答案
- 彩票店店員雇傭合同范本
- 風(fēng)力發(fā)電項(xiàng)目危險(xiǎn)性較大分部分項(xiàng)工程清單及安全管理措施
- 藥店員工崗前培訓(xùn)試題(+答案)
- 小學(xué)科學(xué)新教科版三年級(jí)上冊(cè)全冊(cè)教案(2025秋新版)
- (2025秋季)人教版八年級(jí)物理上冊(cè)2.1+聲音的產(chǎn)生和傳播(教學(xué)課件)
評(píng)論
0/150
提交評(píng)論