版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、2022-3-221課名:課名: 軟軟 件件 工工 程程主主 講:講: 謝謝 明明 志志EmailEmail:使用教材:軟件系統(tǒng)開發(fā)技術(shù)(修訂版)使用教材:軟件系統(tǒng)開發(fā)技術(shù)(修訂版) 潘錦平潘錦平 施小英施小英 姚天昉姚天昉 西安電子科技大學(xué)出版社西安電子科技大學(xué)出版社2022-3-222第一章 軟件工程概述2022-3-2231.1 1.1 軟件工程的背景和歷史軟件工程的背景和歷史n19681968年年由由NATO ( (北大西洋公約組織北大西洋公約組織) )在德國在德國Garmish召開的學(xué)術(shù)召開的學(xué)術(shù)會(huì)議會(huì)議上,上,F(xiàn)eitz BauerFeitz Bauer首首先提出了先提出了“軟件工
2、程軟件工程”概念。概念。2022-3-224軟件工程與編程軟件工程與編程n前者是一門學(xué)科,一前者是一門學(xué)科,一種科學(xué)理論來指導(dǎo)軟種科學(xué)理論來指導(dǎo)軟件系統(tǒng)開發(fā),標(biāo)準(zhǔn)化,件系統(tǒng)開發(fā),標(biāo)準(zhǔn)化,自動(dòng)化的過程自動(dòng)化的過程n考慮如何分解一個(gè)系考慮如何分解一個(gè)系統(tǒng),以便各人分工開統(tǒng),以便各人分工開發(fā);考慮如何說明每發(fā);考慮如何說明每個(gè)部分的規(guī)格要求;個(gè)部分的規(guī)格要求;怎樣才能易于維護(hù)怎樣才能易于維護(hù)n單純的代碼編寫單純的代碼編寫n是軟件工程發(fā)展的前是軟件工程發(fā)展的前身身n是軟件工程中占據(jù)很是軟件工程中占據(jù)很少時(shí)間和空間的一部少時(shí)間和空間的一部分分2022-3-225計(jì)算機(jī)學(xué)科的發(fā)展計(jì)算機(jī)學(xué)科的發(fā)展計(jì)算機(jī)科學(xué)
3、計(jì)算機(jī)科學(xué)(CS)計(jì)算機(jī)科學(xué)計(jì)算機(jī)科學(xué) (CS)計(jì)算機(jī)工程計(jì)算機(jī)工程(CE)軟件工程軟件工程(SE)信息系統(tǒng)信息系統(tǒng)(IS)計(jì)算學(xué)科計(jì)算學(xué)科(computing discipline)2022-3-22660年代以來年代以來n工廠管理工廠管理n病人監(jiān)護(hù)病人監(jiān)護(hù)n工資統(tǒng)發(fā)工資統(tǒng)發(fā)n圖書館管理圖書館管理n機(jī)票預(yù)定機(jī)票預(yù)定n學(xué)籍管理學(xué)籍管理 早期早期 第二階段第二階段 第三階段第三階段 第四階段第四階段面向批處理面向批處理 多用戶多用戶 分布式系統(tǒng)分布式系統(tǒng) 強(qiáng)大的桌面系統(tǒng)強(qiáng)大的桌面系統(tǒng)有限的分布有限的分布 實(shí)時(shí)實(shí)時(shí) 嵌入嵌入“智能智能” ” 面向?qū)ο蠹济嫦驅(qū)ο蠹夹g(shù)術(shù)自定義軟件自定義軟件 數(shù)據(jù)庫數(shù)據(jù)
4、庫 低成本硬件低成本硬件 專家系專家系統(tǒng) 軟件產(chǎn)品軟件產(chǎn)品 消費(fèi)者的影響消費(fèi)者的影響 人工神經(jīng)網(wǎng)絡(luò)人工神經(jīng)網(wǎng)絡(luò) 并行計(jì)算并行計(jì)算 網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)195019601970198019902000Evolution of software#2022-3-228為什么發(fā)展如此之快為什么發(fā)展如此之快n不準(zhǔn)確的時(shí)間和金錢的估算不準(zhǔn)確的時(shí)間和金錢的估算n軟件質(zhì)量的低下軟件質(zhì)量的低下n相對硬件產(chǎn)品開發(fā)軟件開發(fā)費(fèi)用的增加相對硬件產(chǎn)品開發(fā)軟件開發(fā)費(fèi)用的增加n維護(hù)、增強(qiáng)軟件系統(tǒng)的必要性維護(hù)、增強(qiáng)軟件系統(tǒng)的必要性n硬件價(jià)格大幅度下降硬件價(jià)格大幅度下降2022-3-229軟件技術(shù)面臨的問題軟件技術(shù)面臨的問題 規(guī)
5、模規(guī)模 復(fù)雜性復(fù)雜性 生產(chǎn)率生產(chǎn)率 Windows9595有有10001000萬行萬行代碼代碼 Windows20002000有有50005000萬行萬行代碼代碼例:例:Exchange2000和和 Windows20002000開發(fā)人員結(jié)構(gòu)開發(fā)人員結(jié)構(gòu)Exchange2000Windows20002000項(xiàng)目經(jīng)理項(xiàng)目經(jīng)理25人人約約250人人開發(fā)人員開發(fā)人員140人人約約1700人人測試人員測試人員350人人約約3200人人2022-3-2211人月神話人月神話焦油坑焦油坑 n史前史中,沒有別的場景比巨獸在焦油坑中垂史前史中,沒有別的場景比巨獸在焦油坑中垂死掙扎的場面更令人震撼。上帝見證著恐
6、龍、死掙扎的場面更令人震撼。上帝見證著恐龍、猛犸象、劍齒虎在焦油中掙扎。它們掙扎得越猛犸象、劍齒虎在焦油中掙扎。它們掙扎得越是猛烈,焦油糾纏得越緊,沒有任何猛獸足夠是猛烈,焦油糾纏得越緊,沒有任何猛獸足夠強(qiáng)壯或具有足夠的技巧,能夠掙脫束縛,它們強(qiáng)壯或具有足夠的技巧,能夠掙脫束縛,它們最后都沉到了坑底。最后都沉到了坑底。 2022-3-2212軟件危機(jī)的主要特征軟件危機(jī)的主要特征n軟件開發(fā)周期大大超過規(guī)定軟件開發(fā)周期大大超過規(guī)定 日期日期; ;n 軟件開發(fā)成本嚴(yán)重超標(biāo)軟件開發(fā)成本嚴(yán)重超標(biāo); ;n 軟件質(zhì)量軟件質(zhì)量難于難于保證。保證。2022-3-2213軟件工程的定義軟件工程的定義 Fritz
7、Bauer在在NATO會(huì)議會(huì)議上給出的定義:上給出的定義: “軟件工程軟件工程是是為了經(jīng)濟(jì)地獲得可靠的和能為了經(jīng)濟(jì)地獲得可靠的和能在實(shí)際機(jī)器上高效運(yùn)行的軟件在實(shí)際機(jī)器上高效運(yùn)行的軟件而確立和使用而確立和使用的的健全健全的工程的工程原理(方法)原理(方法)?!?022-3-2214軟件工程的定義(軟件工程的定義(2) IEEE IEEE【IEE83】給出的給出的軟件工程軟件工程定義:定義:“軟件工程是軟件工程是開發(fā)、運(yùn)行、開發(fā)、運(yùn)行、維護(hù)和修復(fù)軟件的系統(tǒng)方法維護(hù)和修復(fù)軟件的系統(tǒng)方法?!?022-3-2215軟件工程的定義(軟件工程的定義(3) IEEEIEEE【IEE93】給出了一個(gè)更加給出了一
8、個(gè)更加綜合的定義:綜合的定義: “將系統(tǒng)化的、規(guī)范的、可將系統(tǒng)化的、規(guī)范的、可度量的方法應(yīng)用于軟件的開發(fā)、度量的方法應(yīng)用于軟件的開發(fā)、運(yùn)行和維護(hù)的過程,即將工程化運(yùn)行和維護(hù)的過程,即將工程化應(yīng)用于軟件中應(yīng)用于軟件中。”軟件工程是一門交叉學(xué)科軟件工程是一門交叉學(xué)科軟件工程的主要研究內(nèi)容u軟件開發(fā)軟件開發(fā)技術(shù)技術(shù): :軟件開發(fā)方法軟件開發(fā)方法學(xué)學(xué) 軟件開發(fā)過程軟件開發(fā)過程 軟件工具軟件工具和軟件工程和軟件工程環(huán)境環(huán)境 u軟件工程管理軟件工程管理: :軟件管理軟件管理學(xué)學(xué) 軟件經(jīng)濟(jì)學(xué)軟件經(jīng)濟(jì)學(xué) 軟件軟件心理學(xué)心理學(xué) 軟件工程所包含的內(nèi)容不是一成不變的,軟件工程所包含的內(nèi)容不是一成不變的,隨著人們對軟
9、件系統(tǒng)的研制開發(fā)和生產(chǎn)的理解。隨著人們對軟件系統(tǒng)的研制開發(fā)和生產(chǎn)的理解。應(yīng)用發(fā)展的眼光看待它。應(yīng)用發(fā)展的眼光看待它。2022-3-2217軟件工程軟件工程 一種層次化技術(shù)一種層次化技術(shù)工具工具方法方法過程過程質(zhì)量焦點(diǎn)質(zhì)量焦點(diǎn)Software engineering layers軟件工程軟件工程三個(gè)要素:三個(gè)要素:方法、工具、過程方法、工具、過程2022-3-2218軟件軟件工程與一般工程的差異工程與一般工程的差異u軟件是邏輯軟件是邏輯產(chǎn)品產(chǎn)品而不是而不是實(shí)物實(shí)物產(chǎn)品產(chǎn)品u軟件的功能依賴于硬件和軟件的運(yùn)行環(huán)境以及人們軟件的功能依賴于硬件和軟件的運(yùn)行環(huán)境以及人們對它的操作對它的操作u軟件設(shè)計(jì)的復(fù)雜
10、性軟件設(shè)計(jì)的復(fù)雜性u軟件特征軟件特征: 功能的多樣性功能的多樣性 實(shí)現(xiàn)的多樣性實(shí)現(xiàn)的多樣性 能見度低能見度低 軟件結(jié)構(gòu)合理性差軟件結(jié)構(gòu)合理性差u智力密集及知識產(chǎn)權(quán)保護(hù)智力密集及知識產(chǎn)權(quán)保護(hù)2022-3-2219軟件工程軟件工程知識結(jié)構(gòu)知識結(jié)構(gòu)20012001年年5 5月月ISO/IEC JTC 1ISO/IEC JTC 1(ISOISO和和IECIEC的第一聯(lián)合的第一聯(lián)合技術(shù)委員會(huì))發(fā)布了技術(shù)委員會(huì))發(fā)布了 SWEBOK指南指南V0.95(V0.95(試用試用版版) )SWEBOK把軟件工程學(xué)科的主體知識分為把軟件工程學(xué)科的主體知識分為10個(gè)知個(gè)知識領(lǐng)域。識領(lǐng)域。2022-3-2220軟件工程
11、軟件工程知識結(jié)構(gòu)知識結(jié)構(gòu)n 軟件需求軟件需求n 軟件設(shè)計(jì)軟件設(shè)計(jì)n 軟件構(gòu)造軟件構(gòu)造n 軟件測試軟件測試n 軟件維護(hù)軟件維護(hù)n 軟件配置管理軟件配置管理n 軟件工程管理軟件工程管理n 軟件工程過程軟件工程過程n 軟件工程工具和軟件工程工具和方法方法n 軟件質(zhì)量軟件質(zhì)量2022-3-2221“軟件工程軟件工程”課程課程 與其它軟件專業(yè)課的區(qū)別與其它軟件專業(yè)課的區(qū)別(1) (1) 立足于系統(tǒng)的整體。立足于系統(tǒng)的整體。(2) (2) 講授系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、講授系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、 測試及維護(hù)的理論和方法。測試及維護(hù)的理論和方法。(3) (3) 構(gòu)筑一構(gòu)筑一個(gè)軟件個(gè)軟件系統(tǒng)系統(tǒng),實(shí)踐,實(shí)踐 軟件開發(fā)
12、全過程軟件開發(fā)全過程。2022-3-2222“軟件工程軟件工程”課程教學(xué)課程教學(xué)的目標(biāo)的目標(biāo)u轉(zhuǎn)變轉(zhuǎn)變對軟件的認(rèn)識:對軟件的認(rèn)識: 上升上升 程序程序 系統(tǒng)系統(tǒng)u 轉(zhuǎn)變轉(zhuǎn)變思維定式:思維定式: 上升上升 程序員程序員 系統(tǒng)工程師系統(tǒng)工程師 ( (系統(tǒng)分析員系統(tǒng)分析員) )2022-3-2223軟件產(chǎn)品的標(biāo)準(zhǔn)化軟件產(chǎn)品的標(biāo)準(zhǔn)化軟件開發(fā)過程的標(biāo)準(zhǔn)化軟件開發(fā)過程的標(biāo)準(zhǔn)化2022-3-2224軟件的工業(yè)化生產(chǎn)過程應(yīng)具備的特點(diǎn):軟件的工業(yè)化生產(chǎn)過程應(yīng)具備的特點(diǎn):F明確的工作步驟明確的工作步驟F詳細(xì)具體的規(guī)范化文檔詳細(xì)具體的規(guī)范化文檔F明確的質(zhì)量評價(jià)標(biāo)準(zhǔn)明確的質(zhì)量評價(jià)標(biāo)準(zhǔn)“一個(gè)好的工業(yè),應(yīng)有一套良好的標(biāo)準(zhǔn)
13、來配套”2022-3-2225軟件工程技術(shù)的兩個(gè)特點(diǎn)u 強(qiáng)調(diào)規(guī)范化強(qiáng)調(diào)規(guī)范化u 強(qiáng)調(diào)文檔化強(qiáng)調(diào)文檔化2022-3-22261.2 1.2 軟件和軟件生命期模型軟件和軟件生命期模型(Software Life Cycle) 軟件產(chǎn)品或軟件系統(tǒng)從設(shè)計(jì)、投入使用軟件產(chǎn)品或軟件系統(tǒng)從設(shè)計(jì)、投入使用到被淘汰的全過程到被淘汰的全過程。2022-3-2227軟件生存期的階段劃分(1)(1)可行性研究與計(jì)劃可行性研究與計(jì)劃(2)(2)需求分析需求分析(3)(3)總體設(shè)計(jì)總體設(shè)計(jì) (4)(4)詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)(5)(5)實(shí)現(xiàn)實(shí)現(xiàn)(6)(6)集成測試集成測試(7)(7)確認(rèn)測試確認(rèn)測試 (8)(8)使用和維護(hù)使用
14、和維護(hù)成長期(開發(fā)期)成長期(開發(fā)期)懷孕期(計(jì)劃期懷孕期(計(jì)劃期) 成年期(運(yùn)行期)成年期(運(yùn)行期)2022-3-2228新的國際標(biāo)準(zhǔn)定義的新的國際標(biāo)準(zhǔn)定義的軟件生存軟件生存過程(過程(1995 ISO/IEC 12207)軟件生存期過程軟件生存期過程支持過程支持過程組織過程組織過程主要過程主要過程獲獲取取過過程程供供應(yīng)應(yīng)過過程程開開發(fā)發(fā)過過程程運(yùn)運(yùn)行行過過程程維維護(hù)護(hù)過過程程文文檔檔編編制制過過程程配配置置管管理理過過程程質(zhì)質(zhì)量量保保證證過過程程驗(yàn)驗(yàn)證證過過程程確確認(rèn)認(rèn)過過程程聯(lián)聯(lián)合合評評審審過過程程審審核核過過程程問問題題解解決決過過程程管管理理過過程程基基礎(chǔ)礎(chǔ)設(shè)設(shè)施施過過程程改改進(jìn)進(jìn)過
15、過程程培培訓(xùn)訓(xùn)過過程程2022-3-2229軟件工作的范圍只考慮只考慮編寫程序編寫程序 涉及整個(gè)涉及整個(gè)軟件生存軟件生存周期周期擴(kuò)展到擴(kuò)展到2022-3-2230 軟件軟件開發(fā)開發(fā)模型是軟件開發(fā)全部過程、活動(dòng)和任務(wù)模型是軟件開發(fā)全部過程、活動(dòng)和任務(wù)的的結(jié)構(gòu)框架結(jié)構(gòu)框架。它能直觀表達(dá)軟件開發(fā)全過程,明確規(guī)定。它能直觀表達(dá)軟件開發(fā)全過程,明確規(guī)定要完成的主要活動(dòng)、任務(wù)和開發(fā)策略。要完成的主要活動(dòng)、任務(wù)和開發(fā)策略。 軟件軟件開發(fā)開發(fā)模型模型也常稱為:也常稱為: 軟件軟件過程過程模型模型 軟件生存軟件生存周周期模型期模型 軟件工程范型軟件工程范型軟件開發(fā)模型軟件開發(fā)模型可行性研究與計(jì)劃可行性研究與計(jì)劃
16、需求分析需求分析設(shè)計(jì)設(shè)計(jì)編碼編碼運(yùn)行維護(hù)運(yùn)行維護(hù)測試測試定義定義階段階段開開發(fā)發(fā)階階段段維護(hù)階段維護(hù)階段瀑布模型( (Waterfall Model) )2022-3-2232開發(fā)軟件不僅僅是編程開發(fā)軟件不僅僅是編程開發(fā)開發(fā)維護(hù)維護(hù)設(shè)計(jì)設(shè)計(jì)編寫編寫模塊測試模塊測試聯(lián)合測試聯(lián)合測試分析分析2022-3-2233按照傳統(tǒng)瀑布模型開發(fā)軟件的特點(diǎn)按照傳統(tǒng)瀑布模型開發(fā)軟件的特點(diǎn)1.1.階段間具有順序性和依賴性。階段間具有順序性和依賴性。2.2.推遲實(shí)現(xiàn)的觀點(diǎn)。推遲實(shí)現(xiàn)的觀點(diǎn)。3.3.每個(gè)階段必須完成規(guī)定的文檔每個(gè)階段必須完成規(guī)定的文檔; ; 每個(gè)階段結(jié)束前完成文檔審查每個(gè)階段結(jié)束前完成文檔審查, , 及
17、早改正錯(cuò)誤。及早改正錯(cuò)誤。2022-3-2234原型模型(快速快速原原型模型型模型)原型范型原型范型用戶測試用戶測試運(yùn)行原型運(yùn)行原型建造建造/ /修改修改 原型原型 聽取用聽取用 戶意見戶意見采用原型模型的軟件生存周期分析定義分析定義系統(tǒng)需求系統(tǒng)需求生成生成原型原型系統(tǒng)系統(tǒng)設(shè)計(jì)設(shè)計(jì)程序程序設(shè)計(jì)設(shè)計(jì)編碼編碼測試測試運(yùn)運(yùn) 行行和維護(hù)和維護(hù)原型化原型化含原型化的含原型化的軟件生存期軟件生存期2022-3-22361.3 1.3 軟件質(zhì)量的評價(jià)軟件質(zhì)量的評價(jià)n成功的標(biāo)準(zhǔn)成功的標(biāo)準(zhǔn): 用戶在用戶在 用戶可很容易做完要做的事用戶可很容易做完要做的事n失敗的根本原因:失敗的根本原因: 開發(fā)人員寫出的東西達(dá)不
18、到開發(fā)人員寫出的東西達(dá)不到 用戶要求用戶要求( (人的問題人的問題. .技術(shù)問題技術(shù)問題) )2022-3-2237質(zhì)量與生產(chǎn)率質(zhì)量與生產(chǎn)率n質(zhì)量是軟件需求方最關(guān)心的問題,用戶即使不質(zhì)量是軟件需求方最關(guān)心的問題,用戶即使不圖物美價(jià)廉,也要求個(gè)貨真價(jià)實(shí)圖物美價(jià)廉,也要求個(gè)貨真價(jià)實(shí) n質(zhì)量與生產(chǎn)率之間有著內(nèi)在的聯(lián)系,高生產(chǎn)率質(zhì)量與生產(chǎn)率之間有著內(nèi)在的聯(lián)系,高生產(chǎn)率必須以質(zhì)量合格為前提必須以質(zhì)量合格為前提 n質(zhì)量與生產(chǎn)率的提高就指望程序員與程序經(jīng)理質(zhì)量與生產(chǎn)率的提高就指望程序員與程序經(jīng)理 n非得在質(zhì)量與生產(chǎn)率之間分個(gè)主次不可,那么非得在質(zhì)量與生產(chǎn)率之間分個(gè)主次不可,那么應(yīng)該是質(zhì)量第一,生產(chǎn)率第二應(yīng)該
19、是質(zhì)量第一,生產(chǎn)率第二 2022-3-2238質(zhì)量與生產(chǎn)率(質(zhì)量與生產(chǎn)率(2)n質(zhì)量直接體現(xiàn)在軟件的每段程序中,高質(zhì)量自質(zhì)量直接體現(xiàn)在軟件的每段程序中,高質(zhì)量自然是開發(fā)人員的技術(shù)追求,也是職業(yè)道德的要然是開發(fā)人員的技術(shù)追求,也是職業(yè)道德的要求求 n高質(zhì)量對所有的用戶都有價(jià)值,而高生產(chǎn)率只高質(zhì)量對所有的用戶都有價(jià)值,而高生產(chǎn)率只對開發(fā)方有意義對開發(fā)方有意義 n如果一開始就追求高生產(chǎn)率,容易使人急功近如果一開始就追求高生產(chǎn)率,容易使人急功近利,留下隱患利,留下隱患 2022-3-2239不貪污的官就是好不貪污的官就是好官嗎官嗎n“運(yùn)行正確運(yùn)行正確”的程序就是高質(zhì)量的程序嗎?的程序就是高質(zhì)量的程序嗎
20、?n也許運(yùn)行速度很低并且浪費(fèi)內(nèi)存;也許代碼寫也許運(yùn)行速度很低并且浪費(fèi)內(nèi)存;也許代碼寫得一塌糊涂得一塌糊涂 2022-3-2240軟件的質(zhì)量因素軟件的質(zhì)量因素 n軟件的質(zhì)量因素很多,如正確性、精確性、可軟件的質(zhì)量因素很多,如正確性、精確性、可靠性、容錯(cuò)性、性能、效率、易用性、可理解靠性、容錯(cuò)性、性能、效率、易用性、可理解性、簡潔性、可復(fù)用性、可擴(kuò)充性、兼容性等性、簡潔性、可復(fù)用性、可擴(kuò)充性、兼容性等等(還可以列出十幾個(gè))等(還可以列出十幾個(gè)) n一般說來傾向于可維護(hù)性、可靠性、可理解性一般說來傾向于可維護(hù)性、可靠性、可理解性和效率和效率2022-3-2241軟件質(zhì)量因素分類和武學(xué)分軟件質(zhì)量因素分
21、類和武學(xué)分類類 正確性與精確性易用性可理解性與簡潔性性能與效率可復(fù)用性與可擴(kuò)充性少林派、武當(dāng)派華山派昆侖派峨嵋派崆峒派2022-3-2242正確性與精確性正確性與精確性 n機(jī)器不會(huì)主動(dòng)欺騙人,軟件運(yùn)行不正確或者不機(jī)器不會(huì)主動(dòng)欺騙人,軟件運(yùn)行不正確或者不精確一般都是人造成的精確一般都是人造成的 n需求分析錯(cuò)了,那么對客戶而言這個(gè)軟件也存需求分析錯(cuò)了,那么對客戶而言這個(gè)軟件也存在錯(cuò)誤在錯(cuò)誤 n如果軟件沒有如果軟件沒有100% 地按需求規(guī)格執(zhí)行,那地按需求規(guī)格執(zhí)行,那么這個(gè)軟件也存在錯(cuò)誤么這個(gè)軟件也存在錯(cuò)誤n程序員要為程序員要為“正確正確”、“精確精確”四個(gè)字竭盡全四個(gè)字竭盡全力力 2022-3-2
22、243性能與效率性能與效率 n用戶都希望軟件的運(yùn)行速度高些(高性能),用戶都希望軟件的運(yùn)行速度高些(高性能),并且占用資源少些(高效率)并且占用資源少些(高效率) n舊社會(huì)地主就是這么對待長工的:干活要快點(diǎn),舊社會(huì)地主就是這么對待長工的:干活要快點(diǎn),吃得要少點(diǎn)吃得要少點(diǎn) n通過優(yōu)化算法、數(shù)據(jù)結(jié)構(gòu)和代碼組織來提高軟通過優(yōu)化算法、數(shù)據(jù)結(jié)構(gòu)和代碼組織來提高軟件系統(tǒng)的性能與效率優(yōu)化的關(guān)鍵件系統(tǒng)的性能與效率優(yōu)化的關(guān)鍵n工作是找出限制性能與效率的工作是找出限制性能與效率的“瓶頸瓶頸” 2022-3-2244易用性易用性 n導(dǎo)致軟件易用性差的根本原因是開發(fā)人員犯了導(dǎo)致軟件易用性差的根本原因是開發(fā)人員犯了“錯(cuò)
23、位錯(cuò)位”的毛?。核詾橹灰约河闷饋矸奖?,的毛?。核詾橹灰约河闷饋矸奖?,用戶也一定會(huì)滿意用戶也一定會(huì)滿意 n當(dāng)用戶真的感到軟件很好用時(shí),一股溫暖的感當(dāng)用戶真的感到軟件很好用時(shí),一股溫暖的感覺油然而生,于是就用覺油然而生,于是就用“友好友好”來評價(jià)易用性來評價(jià)易用性 2022-3-2245可理解性與簡潔性可理解性與簡潔性(Note 1) n開發(fā)人員只有在自己思路清晰時(shí)才可能寫出讓開發(fā)人員只有在自己思路清晰時(shí)才可能寫出讓別人能理解的程序別人能理解的程序 n編程時(shí)還要注意不可濫用技巧,應(yīng)該用自然的編程時(shí)還要注意不可濫用技巧,應(yīng)該用自然的方式編程方式編程 n簡潔是一種美簡潔是一種美 n如果把學(xué)術(shù)文
24、章寫得很簡潔,讓人很容易理解,如果把學(xué)術(shù)文章寫得很簡潔,讓人很容易理解,它往往中不了它往往中不了 2022-3-2246可復(fù)用性與可擴(kuò)充可復(fù)用性與可擴(kuò)充性性 n一種方式是原封不動(dòng)地使用現(xiàn)成的軟件構(gòu)件一種方式是原封不動(dòng)地使用現(xiàn)成的軟件構(gòu)件 n一種方式是對現(xiàn)成的軟構(gòu)件進(jìn)行必要的擴(kuò)充后一種方式是對現(xiàn)成的軟構(gòu)件進(jìn)行必要的擴(kuò)充后再使用再使用 n可復(fù)用性好的程序一般也具有良好的可擴(kuò)充可復(fù)用性好的程序一般也具有良好的可擴(kuò)充性性 2022-3-2247可行性研究與計(jì)劃可行性研究與計(jì)劃需求分析需求分析設(shè)計(jì)設(shè)計(jì)編碼編碼運(yùn)行維護(hù)運(yùn)行維護(hù)測試測試測試已經(jīng)開始返回上級,再.瀑布模型的質(zhì)量保障體系2022-3-2248小
25、結(jié)小結(jié)(Note 2)n軟件的高質(zhì)量主要是設(shè)計(jì)出來的軟件的高質(zhì)量主要是設(shè)計(jì)出來的n不是不是“管管”出來的出來的n更不能依賴質(zhì)量檢查。更不能依賴質(zhì)量檢查。 2022-3-2249第二章第二章 可行性研究與計(jì)劃可行性研究與計(jì)劃2022-3-2250系統(tǒng)流程圖系統(tǒng)流程圖(Note 3)輸入單據(jù)輸入單據(jù)磁盤文件磁盤文件處理處理輸出單據(jù)輸出單據(jù)2022-3-2251數(shù)據(jù)流程圖數(shù)據(jù)流程圖數(shù)據(jù)源點(diǎn)數(shù)據(jù)源點(diǎn)和終點(diǎn)和終點(diǎn)變換數(shù)據(jù)變換數(shù)據(jù)的加工的加工文件文件數(shù)據(jù)數(shù)據(jù)邏輯關(guān)系符號:與、或、異或邏輯關(guān)系符號:與、或、異或 2022-3-2252 2.1可行性研究基本概念可行性研究基本概念n可行性研究的任務(wù):可行性研究
26、的主要任務(wù)是可行性研究的主要任務(wù)是“了解客戶的要求及了解客戶的要求及現(xiàn)實(shí)環(huán)境,從技術(shù)、經(jīng)濟(jì)和社會(huì)因素等三方面現(xiàn)實(shí)環(huán)境,從技術(shù)、經(jīng)濟(jì)和社會(huì)因素等三方面研究并論證本軟件項(xiàng)目的可行性,編寫可行性研究并論證本軟件項(xiàng)目的可行性,編寫可行性研究報(bào)告,制定初步項(xiàng)目開發(fā)計(jì)劃。研究報(bào)告,制定初步項(xiàng)目開發(fā)計(jì)劃?!?022-3-2253可行性研究的內(nèi)容( (1)1)技術(shù)可行性技術(shù)可行性(2)(2)經(jīng)濟(jì)可行性經(jīng)濟(jì)可行性(3)(3)操作可行性操作可行性(4)(4)社會(huì)可行性社會(huì)可行性( (法律可行性法律可行性) )(5)(5)抉擇抉擇2022-3-2254技術(shù)可行性技術(shù)可行性(Note 4)(Note 4)n度量一個(gè)特
27、定技術(shù)信息系統(tǒng)解決方案度量一個(gè)特定技術(shù)信息系統(tǒng)解決方案的實(shí)用性及技術(shù)資源的可用性的實(shí)用性及技術(shù)資源的可用性考慮的問題考慮的問題n開發(fā)風(fēng)險(xiǎn)開發(fā)風(fēng)險(xiǎn)分析分析n資源資源分析分析n相關(guān)技術(shù)的發(fā)展相關(guān)技術(shù)的發(fā)展(現(xiàn)有技術(shù)能否實(shí)現(xiàn)新系(現(xiàn)有技術(shù)能否實(shí)現(xiàn)新系統(tǒng),技術(shù)難點(diǎn)、建議采用技術(shù)的先進(jìn)性)統(tǒng),技術(shù)難點(diǎn)、建議采用技術(shù)的先進(jìn)性)2022-3-2255經(jīng)濟(jì)可行性經(jīng)濟(jì)可行性度量系統(tǒng)解決方案的性能價(jià)格比度量系統(tǒng)解決方案的性能價(jià)格比考慮的問題考慮的問題 成本成本/ /效益分析效益分析n有形成本、效益有形成本、效益n無形成本、效益無形成本、效益 價(jià)值和成本的關(guān)系價(jià)值和成本的關(guān)系n質(zhì)量與價(jià)值、成本的關(guān)系質(zhì)量與價(jià)值、成本
28、的關(guān)系n價(jià)值價(jià)值/ /成本的均衡成本的均衡2022-3-2256經(jīng)濟(jì)可行性考慮的問題經(jīng)濟(jì)可行性考慮的問題( (Note 5)Note 5)成本和效益的估算成本和效益的估算開發(fā)成本的估算開發(fā)成本的估算開發(fā)效益的估算開發(fā)效益的估算運(yùn)行成本的估算運(yùn)行成本的估算運(yùn)行效益的估算運(yùn)行效益的估算2022-3-2257成本分析成本分析n代碼行技術(shù)代碼行技術(shù)n(page 19)n任務(wù)估算技術(shù)任務(wù)估算技術(shù)n(page 20)n總成本、總?cè)肆ο鄬φ`差在總成本、總?cè)肆ο鄬φ`差在 內(nèi)內(nèi)nPutnam估算模型估算模型n(page 21 )nCOCOMO模型比較復(fù)雜模型比較復(fù)雜20%2022-3-2258效益分析效益分析n
29、系統(tǒng)的經(jīng)濟(jì)效益使用新系統(tǒng)增加收入使用系統(tǒng)的經(jīng)濟(jì)效益使用新系統(tǒng)增加收入使用心系統(tǒng)可以節(jié)省的運(yùn)行費(fèi)用心系統(tǒng)可以節(jié)省的運(yùn)行費(fèi)用n總的效益和軟件生存周期有關(guān)總的效益和軟件生存周期有關(guān)n貨幣的時(shí)間價(jià)值(貨幣的時(shí)間價(jià)值(page23)n投資回收期(投資回收期(page23)n投資回收率投資回收率(page23)n純收入(純收入(page23)n投資回收率投資回收率2022-3-2259系統(tǒng)開發(fā)和每年運(yùn)行費(fèi)用舉例系統(tǒng)開發(fā)和每年運(yùn)行費(fèi)用舉例1.1.系統(tǒng)開發(fā)費(fèi)用(一次)系統(tǒng)開發(fā)費(fèi)用(一次). .2 2名系統(tǒng)分析員名系統(tǒng)分析員(450(450小時(shí)小時(shí)/ /名名,45,45美元美元/ /小時(shí)小時(shí)) $40,500)
30、 $40,500. .5 5名系統(tǒng)開發(fā)人員名系統(tǒng)開發(fā)人員(275(275小時(shí)小時(shí)/ /名名,36,36美元美元/ /小時(shí)小時(shí))$49,500)$49,500. .1 1名數(shù)據(jù)庫管理員名數(shù)據(jù)庫管理員(30(30小時(shí)小時(shí)/ /名名,42,42美元美元/ /小時(shí)小時(shí)) $1,260) $1,260. .2 2名技術(shù)寫作者名技術(shù)寫作者(120(120小時(shí)小時(shí)/ /名名,25,25美元美元/ /小時(shí)小時(shí)) $6,000) $6,000. .1 1名秘書名秘書(160(160小時(shí)小時(shí)/ /名名,15,15美元美元/ /小時(shí)小時(shí)) $2,400) $2,4002022-3-2260系統(tǒng)開發(fā)和每年運(yùn)行費(fèi)用舉例
31、系統(tǒng)開發(fā)和每年運(yùn)行費(fèi)用舉例n. .1 1名數(shù)據(jù)通訊專家名數(shù)據(jù)通訊專家(60(60小時(shí)小時(shí)/ /名名,42,42美元美元/ /小時(shí)小時(shí)) ) $2,400$2,400n2 2名在轉(zhuǎn)換期間數(shù)據(jù)輸入人員名在轉(zhuǎn)換期間數(shù)據(jù)輸入人員 $49,500$49,500 (40 (40小時(shí)小時(shí)/ /名名,12,12美元美元/ /小時(shí)小時(shí)) )2022-3-2261系統(tǒng)開發(fā)和每年運(yùn)行費(fèi)用舉例系統(tǒng)開發(fā)和每年運(yùn)行費(fèi)用舉例培訓(xùn):培訓(xùn):l三天的開發(fā)人員內(nèi)部培訓(xùn)課程三天的開發(fā)人員內(nèi)部培訓(xùn)課程 $7,000$7,000l3030個(gè)用戶,三天的內(nèi)部培訓(xùn)課程個(gè)用戶,三天的內(nèi)部培訓(xùn)課程 $10,000$10,000物資:物資:l復(fù)印
32、復(fù)印 $500$500l磁盤、紙張等消耗品磁盤、紙張等消耗品 $650$6502022-3-2262系統(tǒng)開發(fā)和每年運(yùn)行費(fèi)用舉例系統(tǒng)開發(fā)和每年運(yùn)行費(fèi)用舉例購買硬件、軟件:購買硬件、軟件:l2020臺工作站臺工作站W(wǎng)indowsWindows軟件軟件 $1,000$1,000l2020臺工作站內(nèi)存升級臺工作站內(nèi)存升級 $8,000$8,000l網(wǎng)絡(luò)軟件網(wǎng)絡(luò)軟件 $17,500$17,500l2020臺工作站辦公軟件產(chǎn)品臺工作站辦公軟件產(chǎn)品 $20,000$20,000系統(tǒng)開發(fā)總費(fèi)用系統(tǒng)開發(fā)總費(fèi)用 $161,670$161,6702022-3-2263系統(tǒng)開發(fā)和每年運(yùn)行費(fèi)用舉例系統(tǒng)開發(fā)和每年運(yùn)行費(fèi)用
33、舉例2.2.年運(yùn)行費(fèi)用(每年)年運(yùn)行費(fèi)用(每年)人員:人員:l維護(hù)程序員維護(hù)程序員/ /分析員分析員( (250250小時(shí)小時(shí)/ /年年,42,42美元美元/ /小時(shí)小時(shí)) ) $10,500$10,500l網(wǎng)絡(luò)管理員網(wǎng)絡(luò)管理員( (300300小時(shí)小時(shí)/ /年年,50,50美元美元/ /小時(shí)小時(shí)) $) $15,00015,000購買硬件、軟件升級:購買硬件、軟件升級:l硬件硬件 $ $5,0005,000l軟件軟件 $ $6,0006,000物資和雜項(xiàng)物資和雜項(xiàng) $ $3,5003,500每年總運(yùn)行費(fèi)用每年總運(yùn)行費(fèi)用 $40,000$40,0002022-3-2264操作操作可行性可行性
34、用戶使用可能性用戶使用可能性 時(shí)間進(jìn)度可行性時(shí)間進(jìn)度可行性 組織和文化上的可行性組織和文化上的可行性2022-3-2265社會(huì)可行性社會(huì)可行性( (法律可行性法律可行性) )開發(fā)項(xiàng)目是否會(huì)在社會(huì)上或政治上開發(fā)項(xiàng)目是否會(huì)在社會(huì)上或政治上引起侵權(quán)、破壞或其它責(zé)任問題引起侵權(quán)、破壞或其它責(zé)任問題2022-3-2266可行性研究計(jì)劃的完成可行性研究計(jì)劃的完成n可行性研究計(jì)劃2022-3-22672.3 2.3 可行性研究的步驟可行性研究的步驟(page15page15) (1)(1)復(fù)查確認(rèn)系統(tǒng)目標(biāo)、規(guī)模復(fù)查確認(rèn)系統(tǒng)目標(biāo)、規(guī)模 (2)(2)研究正使用系統(tǒng)工作流程研究正使用系統(tǒng)工作流程 (3)(3)導(dǎo)出
35、新系統(tǒng)高層邏輯模型導(dǎo)出新系統(tǒng)高層邏輯模型 (4)(4)重新定義問題重新定義問題 (5)(5)導(dǎo)出和評價(jià)供選擇的方案導(dǎo)出和評價(jià)供選擇的方案 (6)(6)推薦推薦可行的方案可行的方案 (7)(7)草擬開發(fā)計(jì)劃草擬開發(fā)計(jì)劃 (8)(8)編寫可行性研究報(bào)告編寫可行性研究報(bào)告,送審,送審2022-3-2268第三章第三章 需求分析和規(guī)格需求分析和規(guī)格說明說明2022-3-22693.1 3.1 為什么需要需求分析為什么需要需求分析n開發(fā)人員往往急于求成開發(fā)人員往往急于求成n希望對開發(fā)進(jìn)行指導(dǎo)希望對開發(fā)進(jìn)行指導(dǎo)n希望開發(fā)人員對用戶的要求理解希望開發(fā)人員對用戶的要求理解n希望用戶理解開發(fā)人員希望用戶理解開發(fā)
36、人員n測試部門有理可依測試部門有理可依2022-3-2270需求分析的任務(wù)需求分析的任務(wù)準(zhǔn)確地準(zhǔn)確地定義定義未來系統(tǒng)的目標(biāo),確定為未來系統(tǒng)的目標(biāo),確定為了滿足用戶的需求系統(tǒng)必須做什么。用了滿足用戶的需求系統(tǒng)必須做什么。用 規(guī)范的形式準(zhǔn)確地表規(guī)范的形式準(zhǔn)確地表達(dá)用戶的達(dá)用戶的需求需求。2022-3-2271什么是用戶需求什么是用戶需求n思考、涉及的幾個(gè)問題思考、涉及的幾個(gè)問題v如何識別、獲取需求如何識別、獲取需求? ? 你能夠采取何種手段與用戶進(jìn)行交流溝通你能夠采取何種手段與用戶進(jìn)行交流溝通? ?v何為需求建模何為需求建模? ? 你如何理解模型與建模你如何理解模型與建模? ?2022-3-227
37、2軟件需求分析的幾個(gè)階段軟件需求分析的幾個(gè)階段問題分析問題分析問題評估和方案綜合問題評估和方案綜合建模建模規(guī)約規(guī)約復(fù)審復(fù)審 系統(tǒng)分析員的主要系統(tǒng)分析員的主要焦點(diǎn)焦點(diǎn)是是 “ “做什么做什么(whatwhat)” ” ,不是,不是 “ “怎樣做怎樣做(howhow)”2022-3-2273需求獲取面臨的挑戰(zhàn)需求獲取面臨的挑戰(zhàn)( (Note 6)Note 6)L 客戶說不清楚需求客戶說不清楚需求L 需求易變性需求易變性L問題的復(fù)雜性和對問題空間問題的復(fù)雜性和對問題空間 理解的不完備性與不一致性理解的不完備性與不一致性2022-3-22743.2 3.2 需求獲取的常用方法需求獲取的常用方法(Not
38、e 7Note 7)建立分析小組建立分析小組 領(lǐng)域?qū)<遥侯I(lǐng)域?qū)<遥?主角主角 系統(tǒng)分析員:導(dǎo)演系統(tǒng)分析員:導(dǎo)演客戶訪談客戶訪談問題分析與確認(rèn)問題分析與確認(rèn) 某出版社系統(tǒng)調(diào)查表某出版社系統(tǒng)調(diào)查表編號提出問題1您在哪個(gè)部門工作?您在哪個(gè)部門工作?2出版業(yè)務(wù)流程是什么?出版業(yè)務(wù)流程是什么?3您每日都處理那些文件、數(shù)據(jù)、報(bào)表?您每日都處理那些文件、數(shù)據(jù)、報(bào)表?4工作中手工處理特別麻煩的事情是什么?工作中手工處理特別麻煩的事情是什么?5工作中手工處理什么問題解決不了?影響效率的工作中手工處理什么問題解決不了?影響效率的問題有哪些?問題有哪些?6您認(rèn)為提高工作效率,節(jié)省工作時(shí)間,減輕工作您認(rèn)為提高工作效率
39、,節(jié)省工作時(shí)間,減輕工作強(qiáng)度可采取哪些辦法?強(qiáng)度可采取哪些辦法?某出版社系統(tǒng)調(diào)查表某出版社系統(tǒng)調(diào)查表編號提出問題7您的部門需要成本核算和統(tǒng)計(jì)的內(nèi)容有哪些?您的部門需要成本核算和統(tǒng)計(jì)的內(nèi)容有哪些?8您的部門采用計(jì)算機(jī)管理工作情況如何?您的部門采用計(jì)算機(jī)管理工作情況如何?9如何改進(jìn)業(yè)務(wù)流程使之更合理?如何改進(jìn)業(yè)務(wù)流程使之更合理?10哪些問題是目前傳統(tǒng)手工方法根本無法解決的?哪些問題是目前傳統(tǒng)手工方法根本無法解決的?11出版社計(jì)算機(jī)管理信息系統(tǒng)需要解決什么問題?出版社計(jì)算機(jī)管理信息系統(tǒng)需要解決什么問題?2022-3-2277聽一個(gè)故事聽一個(gè)故事(Note 8)n主人公:主人公:nC o n t o
40、s o制藥公司的高級管理長官制藥公司的高級管理長官Gerhard nC o n t o s o公司的信息系統(tǒng)開發(fā)小組的新管公司的信息系統(tǒng)開發(fā)小組的新管理員理員Cynthian內(nèi)容:內(nèi)容:n客戶的需求觀客戶的需求觀 2022-3-2278誰是客戶誰是客戶n客戶是指直接或間接從產(chǎn)品中獲得利益的個(gè)人客戶是指直接或間接從產(chǎn)品中獲得利益的個(gè)人或組織或組織 n軟件客戶包括提出要求、支付款項(xiàng)、選擇、具軟件客戶包括提出要求、支付款項(xiàng)、選擇、具體說明或使用軟件產(chǎn)品的項(xiàng)目風(fēng)險(xiǎn)承擔(dān)者體說明或使用軟件產(chǎn)品的項(xiàng)目風(fēng)險(xiǎn)承擔(dān)者( s ( s t a k e h o l d e r )t a k e h o l d e r
41、)或是獲得產(chǎn)品所產(chǎn)生或是獲得產(chǎn)品所產(chǎn)生的結(jié)果的人。的結(jié)果的人。2022-3-2279客戶與開發(fā)人員之間的合作關(guān)系客戶與開發(fā)人員之間的合作關(guān)系(Note 10) n高質(zhì)量的需求來源于客戶與開發(fā)人員之間有效高質(zhì)量的需求來源于客戶與開發(fā)人員之間有效的交流與合作的交流與合作 n通常,開發(fā)人員與客戶或客戶代理人成為一種通常,開發(fā)人員與客戶或客戶代理人成為一種對立關(guān)系對立關(guān)系 2022-3-2280軟件客戶需求權(quán)利書(軟件客戶需求權(quán)利書(1)(Note 11) 客戶有如下權(quán)利:客戶有如下權(quán)利:1. 要求分析人員使用符合客戶語言習(xí)慣的表達(dá)。要求分析人員使用符合客戶語言習(xí)慣的表達(dá)。2. 要求分析人員了解客戶系
42、統(tǒng)的業(yè)務(wù)及目標(biāo)。要求分析人員了解客戶系統(tǒng)的業(yè)務(wù)及目標(biāo)。3. 要求分析人員組織需求獲取期間所介紹的信要求分析人員組織需求獲取期間所介紹的信息,并編寫軟件需求規(guī)格說明。息,并編寫軟件需求規(guī)格說明。4. 要求開發(fā)人員對需求過程中所產(chǎn)生的工作結(jié)要求開發(fā)人員對需求過程中所產(chǎn)生的工作結(jié)果進(jìn)行解釋說明。果進(jìn)行解釋說明。5. 要求開發(fā)人員在整個(gè)交流過程中保持和維護(hù)要求開發(fā)人員在整個(gè)交流過程中保持和維護(hù)一種合作的職業(yè)態(tài)度。一種合作的職業(yè)態(tài)度。2022-3-2281軟件客戶需求權(quán)利書(軟件客戶需求權(quán)利書(2)(Note 12)6. 要求開發(fā)人員對產(chǎn)品的實(shí)現(xiàn)及需求都要提供要求開發(fā)人員對產(chǎn)品的實(shí)現(xiàn)及需求都要提供建議,
43、拿出主意。建議,拿出主意。7. 描述產(chǎn)品使其具有易用、好用的特性。描述產(chǎn)品使其具有易用、好用的特性。8. 可以調(diào)整需求,允許重用已有的軟件組件??梢哉{(diào)整需求,允許重用已有的軟件組件。9. 當(dāng)需要對需求進(jìn)行變更時(shí),對成本、影響、當(dāng)需要對需求進(jìn)行變更時(shí),對成本、影響、得失(得失( t r a d e - o ff)有個(gè)真實(shí)可信的評估。)有個(gè)真實(shí)可信的評估。10. 獲得滿足客戶功能和質(zhì)量要求的系統(tǒng),并且獲得滿足客戶功能和質(zhì)量要求的系統(tǒng),并且這些要求是開發(fā)人員同意的。這些要求是開發(fā)人員同意的。 2022-3-2282軟件客戶需求義務(wù)書軟件客戶需求義務(wù)書 (1)(Note 13)客戶有下列義務(wù):客戶有下
44、列義務(wù):1. 1. 給分析人員講解業(yè)務(wù)及說明業(yè)務(wù)方面的術(shù)語給分析人員講解業(yè)務(wù)及說明業(yè)務(wù)方面的術(shù)語等專業(yè)問題。等專業(yè)問題。2. 2. 抽出時(shí)間清楚地說明需求并不斷完善。抽出時(shí)間清楚地說明需求并不斷完善。3. 3. 當(dāng)說明系統(tǒng)需求時(shí),力求準(zhǔn)確詳細(xì)。當(dāng)說明系統(tǒng)需求時(shí),力求準(zhǔn)確詳細(xì)。4. 4. 需要時(shí)要及時(shí)對需求做出決策。需要時(shí)要及時(shí)對需求做出決策。5. 5. 要尊重開發(fā)人員的成本估算和對需求的可行要尊重開發(fā)人員的成本估算和對需求的可行性分析。性分析。2022-3-2283軟件客戶需求義務(wù)書(軟件客戶需求義務(wù)書(2)(Note 14)6. 6. 對單項(xiàng)需求、系統(tǒng)特性或使用實(shí)例劃分優(yōu)先對單項(xiàng)需求、系統(tǒng)特
45、性或使用實(shí)例劃分優(yōu)先級。級。7. 7. 評審需求文檔和原型。評審需求文檔和原型。8. 8. 一旦知道要對項(xiàng)目需求進(jìn)行變更,要馬上與一旦知道要對項(xiàng)目需求進(jìn)行變更,要馬上與開發(fā)人員聯(lián)系。開發(fā)人員聯(lián)系。9. 9. 在要求需求變更時(shí),應(yīng)遵照開發(fā)組織確定的在要求需求變更時(shí),應(yīng)遵照開發(fā)組織確定的工作過程來處理。工作過程來處理。10. 10. 尊重需求工程中開發(fā)人員采用的流程(過尊重需求工程中開發(fā)人員采用的流程(過程)。程)。 2022-3-2284“簽約簽約”意味著什么意味著什么 (Note 15)n客戶與開發(fā)人員關(guān)系中的重要部分客戶與開發(fā)人員關(guān)系中的重要部分 n客戶代表經(jīng)常把客戶代表經(jīng)常把“簽約簽約”看
46、作是毫無意義的看作是毫無意義的 n更為重要的是簽名是建立在一個(gè)需求協(xié)議的基更為重要的是簽名是建立在一個(gè)需求協(xié)議的基線上線上 n與你的重要客戶一起討論權(quán)利書和義務(wù)書,以與你的重要客戶一起討論權(quán)利書和義務(wù)書,以達(dá)成協(xié)議,并付諸實(shí)踐達(dá)成協(xié)議,并付諸實(shí)踐 2022-3-2285高質(zhì)量的需求過程帶來的好處高質(zhì)量的需求過程帶來的好處(Note 16)n開發(fā)后期和整個(gè)維護(hù)階段的重做的工作大大減開發(fā)后期和整個(gè)維護(hù)階段的重做的工作大大減少少 n強(qiáng)調(diào)需求質(zhì)量并不能引起某些人的重視強(qiáng)調(diào)需求質(zhì)量并不能引起某些人的重視, ,他們他們錯(cuò)誤地認(rèn)為在需求上消耗多少時(shí)間就會(huì)導(dǎo)致產(chǎn)錯(cuò)誤地認(rèn)為在需求上消耗多少時(shí)間就會(huì)導(dǎo)致產(chǎn)品開發(fā)推
47、遲多少時(shí)間品開發(fā)推遲多少時(shí)間n將選定系統(tǒng)的需求明確地分配到各軟件子系統(tǒng),將選定系統(tǒng)的需求明確地分配到各軟件子系統(tǒng),強(qiáng)調(diào)采用產(chǎn)品工程的系統(tǒng)方法。這樣能簡化硬強(qiáng)調(diào)采用產(chǎn)品工程的系統(tǒng)方法。這樣能簡化硬軟件的集成軟件的集成 2022-3-2286優(yōu)秀需求具有的特性優(yōu)秀需求具有的特性( (Note 17)Note 17)n1. 1. 完整性完整性 n2. 2. 正確性正確性 n3. 3. 可行性可行性 n4. 4. 必要性必要性 n5. 5. 劃分優(yōu)先級劃分優(yōu)先級 n6. 6. 無二義性無二義性 n7. 7. 可驗(yàn)證性可驗(yàn)證性 2022-3-22873.3 3.3 需求獲取的內(nèi)容需求獲取的內(nèi)容 1.1.
48、用戶需求分類用戶需求分類 (1)(1)功能性需求功能性需求: : 定義了系統(tǒng)做什么(描述系統(tǒng)必須支持定義了系統(tǒng)做什么(描述系統(tǒng)必須支持 的功能和過程)的功能和過程) (2)(2)非功能性需求(技術(shù)需求)非功能性需求(技術(shù)需求): : 定義了系統(tǒng)工作時(shí)的特性定義了系統(tǒng)工作時(shí)的特性 (描述操作環(huán)境和性能目標(biāo))(描述操作環(huán)境和性能目標(biāo))2022-3-2288兩類需求包括的內(nèi)容兩類需求包括的內(nèi)容(1) (1) 功能功能(2) (2) 性能性能(3) (3) 環(huán)境環(huán)境(4) (4) 界面界面(5) (5) 用戶或人用戶或人的的因素因素(6) (6) 文檔文檔 (7) (7) 數(shù)據(jù)數(shù)據(jù)(8) (8) 資源
49、資源(9) (9) 安全保密安全保密(10)(10)軟件成本消耗軟件成本消耗與開發(fā)進(jìn)度與開發(fā)進(jìn)度(11)(11)質(zhì)量保證質(zhì)量保證2022-3-2289(1) (1) 功能需求功能需求 系統(tǒng)做什么?系統(tǒng)做什么? 系統(tǒng)何時(shí)做什么?系統(tǒng)何時(shí)做什么? 系統(tǒng)何時(shí)及如何修改系統(tǒng)何時(shí)及如何修改 或升級?或升級?2022-3-2290(2) (2) 性能需求性能需求軟件開發(fā)的技術(shù)性指標(biāo)軟件開發(fā)的技術(shù)性指標(biāo)例如:例如: 存儲容量限制存儲容量限制 執(zhí)行速度、相應(yīng)時(shí)間執(zhí)行速度、相應(yīng)時(shí)間 吞吐量吞吐量2022-3-2291(3) (3) 環(huán)境需求環(huán)境需求硬件設(shè)備:硬件設(shè)備:機(jī)型、外設(shè)、接口、機(jī)型、外設(shè)、接口、 地點(diǎn)、
50、分布、溫度、地點(diǎn)、分布、溫度、 濕度、磁場干擾等濕度、磁場干擾等軟件:軟件: 操作系統(tǒng)操作系統(tǒng) 網(wǎng)絡(luò)網(wǎng)絡(luò) 數(shù)據(jù)庫數(shù)據(jù)庫2022-3-2292(4) (4) 界面需求界面需求 有來自其它系統(tǒng)的輸入嗎?有來自其它系統(tǒng)的輸入嗎? 到自其它系統(tǒng)的輸出嗎?到自其它系統(tǒng)的輸出嗎? 對數(shù)據(jù)格式有規(guī)定嗎?對數(shù)據(jù)格式有規(guī)定嗎? 對數(shù)據(jù)存儲介質(zhì)有規(guī)定嗎?對數(shù)據(jù)存儲介質(zhì)有規(guī)定嗎?2022-3-2293(5) (5) 用戶或人的因素用戶或人的因素 用戶類型?用戶類型? 各種用戶熟練程度?各種用戶熟練程度? 需受何種訓(xùn)練?需受何種訓(xùn)練? 用戶理解、使用系統(tǒng)的難度?用戶理解、使用系統(tǒng)的難度? 用戶錯(cuò)誤操作系統(tǒng)的可能性?用
51、戶錯(cuò)誤操作系統(tǒng)的可能性?2022-3-2294(6) (6) 文檔需求文檔需求 需哪些文檔?需哪些文檔? 文檔針對哪些讀者文檔針對哪些讀者?2022-3-2295(7) (7) 數(shù)據(jù)需求數(shù)據(jù)需求 輸入、輸出數(shù)據(jù)的格式?輸入、輸出數(shù)據(jù)的格式? 接收、發(fā)送數(shù)據(jù)的頻率?接收、發(fā)送數(shù)據(jù)的頻率? 數(shù)據(jù)的準(zhǔn)確性和精度?數(shù)據(jù)的準(zhǔn)確性和精度? 數(shù)據(jù)流量?數(shù)據(jù)流量? 數(shù)據(jù)需保持的時(shí)間?數(shù)據(jù)需保持的時(shí)間?2022-3-2296(8) (8) 資源需求資源需求 軟件運(yùn)行時(shí)所需的數(shù)據(jù)、軟件。軟件運(yùn)行時(shí)所需的數(shù)據(jù)、軟件。 內(nèi)存空間等資源。內(nèi)存空間等資源。 軟件開發(fā)、維護(hù)所需的人力、軟件開發(fā)、維護(hù)所需的人力、 支撐軟件、
52、開發(fā)設(shè)備等。支撐軟件、開發(fā)設(shè)備等。2022-3-2297(9) (9) 安全保密要求安全保密要求 需對訪問系統(tǒng)或系統(tǒng)信息加以控制嗎?需對訪問系統(tǒng)或系統(tǒng)信息加以控制嗎? 如何隔離用戶之間的數(shù)據(jù)?如何隔離用戶之間的數(shù)據(jù)? 用戶程序如何與其它程序和操作系統(tǒng)隔離?用戶程序如何與其它程序和操作系統(tǒng)隔離? 系統(tǒng)備份要求系統(tǒng)備份要求?2022-3-2298(10) (10) 軟件成本消耗軟件成本消耗 與開發(fā)進(jìn)度需求與開發(fā)進(jìn)度需求開發(fā)有規(guī)定的時(shí)間表嗎?開發(fā)有規(guī)定的時(shí)間表嗎?軟硬件投資有無限制軟硬件投資有無限制?2022-3-2299(11) (11) 質(zhì)量保證質(zhì)量保證 系統(tǒng)的可靠性要求?系統(tǒng)的可靠性要求? 系
53、統(tǒng)必須監(jiān)測和隔離錯(cuò)誤嗎?系統(tǒng)必須監(jiān)測和隔離錯(cuò)誤嗎? 規(guī)定系統(tǒng)平均出錯(cuò)時(shí)間?規(guī)定系統(tǒng)平均出錯(cuò)時(shí)間? 出錯(cuò)后,重啟系統(tǒng)允許的時(shí)間?出錯(cuò)后,重啟系統(tǒng)允許的時(shí)間? 系統(tǒng)變化如何反映到設(shè)計(jì)中?系統(tǒng)變化如何反映到設(shè)計(jì)中? 維護(hù)是否包括對系統(tǒng)的改進(jìn)?維護(hù)是否包括對系統(tǒng)的改進(jìn)? 系統(tǒng)的可移植性系統(tǒng)的可移植性?2022-3-22100怎樣寫需求分析報(bào)告怎樣寫需求分析報(bào)告n作報(bào)告時(shí)要先從宏觀上講一、二、三、四、五,作報(bào)告時(shí)要先從宏觀上講一、二、三、四、五,再從細(xì)節(jié)上講再從細(xì)節(jié)上講A A、B B、C C、D D、E E。需求分析不象。需求分析不象偵探推理那樣從蛛絲馬跡著手。應(yīng)該先了解宏偵探推理那樣從蛛絲馬跡著手。應(yīng)
54、該先了解宏觀的問題,再了解細(xì)節(jié)的問題觀的問題,再了解細(xì)節(jié)的問題 n如圖如圖n S = D1,D2,D3, Dn n Di = P1,P2,P3, Pm n Pj = F1,F(xiàn)2,F(xiàn)3, Fk 2022-3-22101怎樣寫需求分析報(bào)告怎樣寫需求分析報(bào)告2022-3-221023.4 3.4 需求的開發(fā)和管理需求的開發(fā)和管理整個(gè)軟件需求工程研究領(lǐng)域劃分為需求開發(fā)和整個(gè)軟件需求工程研究領(lǐng)域劃分為需求開發(fā)和需求管理兩部分更合適需求管理兩部分更合適 需求工程域的層次分解示意圖需求工程域的層次分解示意圖 2022-3-22103需求開發(fā)需求開發(fā)(Note 18) n問題獲?。▎栴}獲取( e l i c
55、i t a t i o ne l i c i t a t i o n)n分析分析( ( a n a l y s i s )a n a l y s i s )n編寫規(guī)格說明(編寫規(guī)格說明(s p e c i f i c a t i o ns p e c i f i c a t i o n)n驗(yàn)證驗(yàn)證(v e r i f i c a t i o nv e r i f i c a t i o n) 2022-3-22104知識技能知識技能 (Note 19)絕大部分的軟件開發(fā)人員都沒有接受過高效需求絕大部分的軟件開發(fā)人員都沒有接受過高效需求工程所需技能的正規(guī)培訓(xùn)工程所需技能的正規(guī)培訓(xùn)n培訓(xùn)需求分析人
56、員所有的開發(fā)人員都應(yīng)接受一個(gè)培訓(xùn)需求分析人員所有的開發(fā)人員都應(yīng)接受一個(gè)基本的需求工程培訓(xùn)基本的需求工程培訓(xùn)n培訓(xùn)軟件需求的用戶代表和管理人員參與軟件開培訓(xùn)軟件需求的用戶代表和管理人員參與軟件開發(fā)的用戶代表應(yīng)接受為期一天左右發(fā)的用戶代表應(yīng)接受為期一天左右, ,關(guān)于需求工程關(guān)于需求工程的培訓(xùn),開發(fā)管理者和客戶管理者也應(yīng)參加的培訓(xùn),開發(fā)管理者和客戶管理者也應(yīng)參加 n讓開發(fā)人員了解應(yīng)用領(lǐng)域的基本概念組織一些簡讓開發(fā)人員了解應(yīng)用領(lǐng)域的基本概念組織一些簡短的關(guān)于客戶業(yè)務(wù)活動(dòng)、術(shù)語、目短的關(guān)于客戶業(yè)務(wù)活動(dòng)、術(shù)語、目n標(biāo)等方面的討論會(huì)以幫助開發(fā)人員對應(yīng)用領(lǐng)域有標(biāo)等方面的討論會(huì)以幫助開發(fā)人員對應(yīng)用領(lǐng)域有個(gè)基本了
57、解個(gè)基本了解 2022-3-22105需求獲取需求獲取(1)(Note 20) n確定需求開發(fā)過程確定需求開發(fā)過程 n編寫項(xiàng)目視圖和范圍文檔項(xiàng)目視圖編寫項(xiàng)目視圖和范圍文檔項(xiàng)目視圖 n將用戶群分類并歸納各自特點(diǎn)將用戶群分類并歸納各自特點(diǎn) n選擇每類用戶的產(chǎn)品代表選擇每類用戶的產(chǎn)品代表 n建立起典型用戶的核心隊(duì)伍把同類產(chǎn)品或你的建立起典型用戶的核心隊(duì)伍把同類產(chǎn)品或你的產(chǎn)品的先前版本用戶代表召集起來,從他們那產(chǎn)品的先前版本用戶代表召集起來,從他們那里收集目前產(chǎn)品的功能需求和非功能需求里收集目前產(chǎn)品的功能需求和非功能需求 2022-3-22106需求獲取需求獲取(2)(Note 21)n讓用戶代表確定
58、使用實(shí)例讓用戶代表確定使用實(shí)例 n召開應(yīng)用程序開發(fā)聯(lián)系會(huì)議召開應(yīng)用程序開發(fā)聯(lián)系會(huì)議 n分析用戶工作流程觀察用戶執(zhí)行業(yè)務(wù)任務(wù)的過分析用戶工作流程觀察用戶執(zhí)行業(yè)務(wù)任務(wù)的過程程 n確定質(zhì)量屬性和其它非功能需求在功能需求之確定質(zhì)量屬性和其它非功能需求在功能需求之外再考慮一下非功能的質(zhì)量特點(diǎn)外再考慮一下非功能的質(zhì)量特點(diǎn) n通過檢查當(dāng)前系統(tǒng)的問題報(bào)告來進(jìn)一步完善通過檢查當(dāng)前系統(tǒng)的問題報(bào)告來進(jìn)一步完善 n可查看需求是否有足夠的靈活性以允許重用一可查看需求是否有足夠的靈活性以允許重用一些已有的軟件組件些已有的軟件組件 2022-3-22107需求分析需求分析(Note 22)n繪制系統(tǒng)關(guān)聯(lián)圖。繪制系統(tǒng)關(guān)聯(lián)圖。
59、n建立數(shù)據(jù)字典。建立數(shù)據(jù)字典。n為需求建立模型。為需求建立模型。n建立用戶接口原型。建立用戶接口原型。n確定需求優(yōu)先級。確定需求優(yōu)先級。 2022-3-22108需求規(guī)格說明需求規(guī)格說明(SRS)(Note 23)n采用原始模板在你的組織中要為編寫軟件需求采用原始模板在你的組織中要為編寫軟件需求文檔定義一種標(biāo)準(zhǔn)模板文檔定義一種標(biāo)準(zhǔn)模板 n指明需求的來源指明需求的來源 n為每項(xiàng)需求注上標(biāo)號制定一種慣例來為每項(xiàng)需為每項(xiàng)需求注上標(biāo)號制定一種慣例來為每項(xiàng)需求提供一個(gè)獨(dú)立的可識別的標(biāo)號或記號求提供一個(gè)獨(dú)立的可識別的標(biāo)號或記號 n記錄業(yè)務(wù)規(guī)范業(yè)務(wù)規(guī)范記錄業(yè)務(wù)規(guī)范業(yè)務(wù)規(guī)范n創(chuàng)建需求跟蹤能力矩陣創(chuàng)建需求跟蹤能
60、力矩陣 2022-3-22109需求驗(yàn)證需求驗(yàn)證(Note 24Note 24)n對需求文檔進(jìn)行正式審查對需求文檔進(jìn)行正式審查 n以需求為依據(jù)編寫測試用例以需求為依據(jù)編寫測試用例n編寫用戶手冊在需求開發(fā)早期即可起草一份用編寫用戶手冊在需求開發(fā)早期即可起草一份用戶手冊戶手冊n確定合格的標(biāo)準(zhǔn)讓用戶描述什么樣的產(chǎn)品才算確定合格的標(biāo)準(zhǔn)讓用戶描述什么樣的產(chǎn)品才算滿足他們的要求和適合他們使用的滿足他們的要求和適合他們使用的 2022-3-22110需求管理需求管理(Note 25)n確定一個(gè)選擇、分析和決策需求變更的過程確定一個(gè)選擇、分析和決策需求變更的過程 n建立變更控制委員會(huì)建立變更控制委員會(huì) n評估
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年土地平整勘察合同
- 2025年度健康醫(yī)療臨時(shí)工勞務(wù)協(xié)議4篇
- 2025年外教教學(xué)合同
- 2025年借殼上市合同訂立流程
- 2025年度龍門吊設(shè)備租賃期滿后的設(shè)備回收與處置合同4篇
- 2025年醫(yī)院水電燃?xì)夥?wù)合同
- 2025年地表振動(dòng)檢測合同
- 二零二五版教務(wù)主任任期教學(xué)培訓(xùn)聘用合同3篇
- 2025年文化旅游項(xiàng)目合伙人合作協(xié)議3篇
- 2025年度銷售團(tuán)隊(duì)客戶關(guān)系維護(hù)勞動(dòng)合同3篇
- 【公開課】同一直線上二力的合成+課件+2024-2025學(xué)年+人教版(2024)初中物理八年級下冊+
- 高職組全國職業(yè)院校技能大賽(嬰幼兒照護(hù)賽項(xiàng))備賽試題庫(含答案)
- 2024年公安部直屬事業(yè)單位招聘筆試參考題庫附帶答案詳解
- 健康教育工作考核記錄表
- 裝飾工程施工技術(shù)ppt課件(完整版)
- SJG 05-2020 基坑支護(hù)技術(shù)標(biāo)準(zhǔn)-高清現(xiàn)行
- 汽車維修價(jià)格表
- 10KV供配電工程施工組織設(shè)計(jì)
- 終端攔截攻略
- 藥物外滲處理及預(yù)防【病房護(hù)士安全警示教育培訓(xùn)課件】--ppt課件
評論
0/150
提交評論