




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
軟件工程學概述
(Introduction)前言Programmingisfun,butdevelopingqualitysoftwareishard.---PhilippeKruchten2outline軟件軟件危機軟件工程軟件生命周期軟件過程及模型3outline軟件軟件危機軟件工程軟件生命周期軟件過程及模型4軟件的概念軟件是計算機系統(tǒng)中與硬件相互依存的另一部分,它是包括程序,數(shù)據(jù)及其相關(guān)文檔的完整集合。程序是按事先設(shè)計和的功能性能要求執(zhí)行的指令序列(instructions)數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu)(datastructures)文檔是與程序開發(fā),維護和使用有關(guān)的圖文材料(documents)
軟件=程序+數(shù)據(jù)+文檔程序=算法+數(shù)據(jù)結(jié)構(gòu)軟件是人類心靈和智慧在虛擬空間中的投射。5問題1有哪些類型的程序設(shè)計語言?面向機器匯編語言、機器語言等面向過程
Fortran,Pascal,C等面向?qū)ο?/p>
C++,Java等面向問題結(jié)構(gòu)化查詢語言SQL等6問題2在軟件開發(fā)過程中會產(chǎn)生哪些文檔?可行性研究報告需求規(guī)格說明書概要設(shè)計說明書詳細設(shè)計說明書測試報告用戶手冊……….7問題3軟件開發(fā)過程中為什么要編寫文檔?便于對軟件開發(fā)的管理和維護便于各種人員的交流有哪些文檔標準國際標準ISO行業(yè)標準IEEE、CMMI國家標準GB企業(yè)標準8CaseAnalysis19案例黃河水量調(diào)度綜合監(jiān)視系統(tǒng)系統(tǒng)開發(fā)流程:瀑布模型開發(fā)工具:VisualBASIC.NET地理信息系統(tǒng):ARCIMS數(shù)據(jù)庫管理系統(tǒng):MicrosoftSQLServer7.0運行環(huán)境:局域網(wǎng)絡(luò)(LAN)操作系統(tǒng)(WindowsNTServer2000)系統(tǒng)結(jié)構(gòu):三層Browser/Server結(jié)構(gòu)10系統(tǒng)介紹黃河水量調(diào)度綜合監(jiān)視系統(tǒng)主要功能水量調(diào)度實時水情監(jiān)視監(jiān)視與預(yù)警流域信息查詢氣象信息查詢水調(diào)資料查詢水情信息查詢引退水信息查詢降雨信息查詢水質(zhì)信息查詢水調(diào)方案查詢重要文檔查詢功能設(shè)置以及地圖標繪11實時水情監(jiān)視12河道概況13生成報表14水庫概況選擇水庫名稱后,電子地圖會定位到相應(yīng)位置,并彈出水庫概況信息窗口15水庫概況16水庫概況-庫容曲線17云圖應(yīng)用查詢18水庫水情19日雨量信息該站雨量信息20時段雨量信息21雨量信息圖22墑情信息圖23軟件的特點表現(xiàn)形式軟件是一種邏輯實體,具有抽象性。生產(chǎn)方式軟件的開發(fā)過程中沒有明顯的制造過程,大多數(shù)軟件仍是定制的。要求
軟件產(chǎn)品不允許誤差維護在軟件的運行和使用期間,沒有硬件那樣的機械磨損,老化問題24軟件的特點軟件的開發(fā)和運行常受到計算機系統(tǒng)的限制,對計算機系統(tǒng)有著不同程度的依賴性軟件的開發(fā)至今尚未完全擺脫手工的開發(fā)方式軟件本身是復(fù)雜的實際問題的復(fù)雜性程序邏輯結(jié)構(gòu)的復(fù)雜性軟件成本相當昂貴25軟件的分類按軟件的功能進行劃分:系統(tǒng)軟件應(yīng)用軟件按軟件規(guī)模進行劃分:類別參加人員數(shù)研制期限源程序行數(shù)
微型1 1~4周0.5k小型1 1~6月1k~2k中型2~5 1~2年5k~50k大型5~20 2~3年50k~100k甚大型100~10004~5年1M(=1000k)極大型2000~50005~10年1M~10M26軟件的發(fā)展軟件發(fā)展的四個階段軟件發(fā)展存在的問題27軟件發(fā)展的四個階段1950---1965
沒有系統(tǒng)的軟件開發(fā)方法和管理機制、自定義軟件、批處理、有限分布。1965---1975
產(chǎn)生人機交互的新概念、新技術(shù)軟件產(chǎn)品、多用戶、實時、數(shù)據(jù)庫。281973---1988
微處理器的出現(xiàn)并廣泛應(yīng)用 分布式系統(tǒng)、嵌入智能、低成本硬件、消費者的影響。1988---至今
廣域和局域網(wǎng)絡(luò)迅速普及 強大的桌面系統(tǒng)、面向?qū)ο蠹夹g(shù)、專家系統(tǒng)、人工智能、神經(jīng)網(wǎng)絡(luò)、并行計算、網(wǎng)絡(luò)計算機。軟件發(fā)展的四個階段29軟件發(fā)展存在的問題軟件開發(fā)能力不能滿足人們的需要。社會對軟件的依賴程度加大,人們普遍關(guān)注軟件的安全和可靠性。建造高可靠性、高質(zhì)量軟件的任務(wù)任重路遠。若干年前開發(fā)的應(yīng)用軟件經(jīng)過幾十次修改已無人認識它的內(nèi)部結(jié)構(gòu),己經(jīng)不可維護。30outline軟件軟件危機軟件工程軟件生命周期軟件過程及模型31案例分析1:IBM360美國IBM公司在1963年至1966年開發(fā)的IBM360的操作系統(tǒng)。這一項目花了5000人一年的工作量,最多時有1000人投入開發(fā)工作,寫出了近100萬行源序。......據(jù)統(tǒng)計,這個操作系統(tǒng)每次發(fā)行的新版本都是從前一版本中找出1000個程序錯誤而修正的結(jié)果。......這個項目的負責人F.D.Brooks事后總結(jié)了他在組織開發(fā)過程中的沉痛教訓時說:“......正像一只逃亡的野獸落到泥潭中做垂死的掙扎,越是掙扎,陷得越深,最后無法逃脫滅頂?shù)臑?zāi)難。......程序設(shè)計工作正像這樣一個泥潭,......一批批程序員被迫在泥潭中拼命掙扎,......誰也沒有料到問題竟會陷入這樣的困境......”。IBM360操作系統(tǒng)的歷史教訓成為軟件開發(fā)項目的典型事例為人們所記取。SoftwareCrisis!32人月神話:“沒有一種單純的技術(shù)或管理上的進步,能夠獨立地承諾在10年內(nèi)大幅度地提高軟件的生產(chǎn)率、可靠性和簡潔性”。1、大前提:軟件活動包含根本任務(wù)和次要任務(wù)根本任務(wù)——打造構(gòu)成抽象軟件實體的復(fù)雜概念結(jié)構(gòu),次要任務(wù)——使用編程語言表達這些抽象實體,并在時間和空間內(nèi)將它們映射成機器語言。2、小前提:現(xiàn)有解決方案致力于解決次要任務(wù)考察和評估幾乎現(xiàn)有所有的軟件工程解決方案,布魯克斯指出:現(xiàn)有所有方案全都在致力于解決軟件工程中的次要問題。3、結(jié)論:沒有銀彈無論這些方案多么完善,都不可能在根本上解決問題,即使將全部次要任務(wù)的時間縮減到零,也不會帶來生產(chǎn)率數(shù)量級上的提高。33案例分析2:Ariane5June4,1996EuropeanSpaceAgencylostnewestrocket,theAriane5,successortotheAriane4Morethan$370Millionlostonfirstflight34案例分析2:Ariane5TheAriane5softwarereusedthespecificationsfromtheAriane4,buttheAriane5'sflightpathwasconsiderablydifferentandbeyondtherangeforwhichthereusedcomputerprogramhadbeendesigned.Adataconversionfroma64-bitfloatingpointto16-bitsignedintegervaluecausedanarithmeticoverflow,asthefloatingpointnumberhadavaluetoolargetoberepresentedbya16-bitsignedinteger.Itisoneofthemostinfamouscomputerbugsinhistory35軟件危機的概念軟件危機是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題。這些問題絕不僅僅是不能正常運行的軟件才具有的,實際上,幾乎所有軟件都不同程度地存在這些問題。Keypoints:howtodevelopnewsoftwarehowtosupportoldsoftware36軟件危機的典型表現(xiàn)典型表現(xiàn):對軟件開發(fā)成本和進度的估計常常很不準確。用戶對“已完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生。軟件產(chǎn)品的質(zhì)量往往靠不住。軟件常常是不可維護的。軟件通常沒有適當?shù)奈臋n資料。軟件成本在計算機系統(tǒng)總成本所占的比例逐年上升。軟件開發(fā)生產(chǎn)率提高的速度,遠遠跟不上計算機應(yīng)用普及的速度。37開發(fā)成本高舉例38產(chǎn)生軟件危機的原因客觀:軟件本身的特點軟件的規(guī)模加大、復(fù)雜性提高、性能增強軟件是邏輯產(chǎn)品,尚未完全認識其本質(zhì)和特點主觀:不正確的開發(fā)、管理方法缺乏有效的、系統(tǒng)的開發(fā)、維護大型軟件項目的技術(shù)手段和管理方法用戶對軟件需求的描述和軟件開發(fā)人員對需求的理解往往存在差異計劃不周,最終導致進度拖延沒有充分的文檔資料軟件可靠性缺少度量的標準,質(zhì)量無法保證忽視軟件維護,使其維護,不易升級39outline軟件軟件危機軟件工程軟件生命周期軟件過程及模型40軟件工程的概念必須意識到:“軟件”編程,它有自己的生命周期
(lifecycle)。大型軟件系統(tǒng)的開發(fā)與其它工程項目如建造橋梁、制造飛機、輪船等的開發(fā)是同理的。
“軟件工程”(SoftwareEngineering)NATOConference,Garmisch,Germany,1968.解決問題的想法:軟件危機根源解決途徑軟件工程41軟件工程定義Boehm:運用現(xiàn)代科學技術(shù)知識來設(shè)計并構(gòu)造計算機程序及為開發(fā)、運行和維護這些程序所必需的相關(guān)文件資料。IEEE:將系統(tǒng)化的、規(guī)范的、可度量的方法應(yīng)用于軟件的開發(fā)、運行和維護的過程,即將工程化應(yīng)用于軟件中。FritzBauer:建立并使用完善的工程化原則,以較經(jīng)濟的手段獲得能在實際機器上有效運行的可靠軟件的一系列方法。42軟件工程定義概括地說,軟件工程是指導計算機軟件開發(fā)和維護的工程學科。采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護軟件,把經(jīng)過時間考驗而證明正確的管理技術(shù)和當前能夠得到的最好的技術(shù)方法結(jié)合起來,以經(jīng)濟地開發(fā)出高質(zhì)量的軟件并有效地維護它,這就是軟件工程。43軟件工程定義軟件工程是一門交叉學科軟件開發(fā)技術(shù):
軟件開發(fā)方法軟件開發(fā)過程軟件工具和軟件工程環(huán)境軟件工程管理:
軟件管理學軟件經(jīng)濟學
軟件工程所包含的內(nèi)容不是一成不變的,隨著人們對軟件系統(tǒng)的研制開發(fā)和生產(chǎn)的理解。應(yīng)該用發(fā)展的眼光看待它。44
轉(zhuǎn)變對軟件開發(fā)的認識:
上升
程序系統(tǒng)
轉(zhuǎn)變思維定式:
上升
程序員系統(tǒng)工程師(系統(tǒng)分析員)
工程化訓練45a“quality”focusprocessmodelmethodstools方法使用的順序;要求交付的文檔資料;為保證質(zhì)量和適應(yīng)變化所需要的管理;軟件開發(fā)各個階段完成的里程碑。軟件開發(fā)提供了“如何做”的技術(shù)。為軟件工程方法提供了自動的或半自動的軟件支撐環(huán)境,CASE軟件工程三要素46軟件工程的歷史起源于20世紀50年代但是從學術(shù)的角度看,軟件工程還是一個年輕的學科第一次會議在20世紀60年代后期在80年代才從計算機科學分離開47軟件工程的歷史1、60年代末~80年代初狀況:軟件系統(tǒng)的規(guī)模、復(fù)雜性以及在關(guān)鍵領(lǐng)域的廣泛應(yīng)用促進了軟件開發(fā)過程采納工程化的方法進行管理。研究:開發(fā)模型、支持工具、開發(fā)方法。成果:瀑布模型、結(jié)構(gòu)化語言(Pascal等)、結(jié)構(gòu)化方法、各種管理方法(如費用估算、文檔復(fù)審)。事件:前期主要研究系統(tǒng)實現(xiàn)技術(shù);后期則開始強調(diào)管理和軟件質(zhì)量。焦點:軟件項目482、80年代初~現(xiàn)在
狀況:“軟件工廠”的概念已經(jīng)提出。研究:軟件生產(chǎn)技術(shù),特別是軟件復(fù)用技術(shù)和軟件生產(chǎn)管理的研究和實踐。成果:提出了具有廣泛應(yīng)用前景的面向?qū)ο蠓椒ê拖嚓P(guān)的編程語言。事件:軟件過程改進。在工業(yè)實踐中建立起一種量化的評估程序,判定軟件組織成熟的程度。焦點:軟件過程軟件工程的歷史493、近幾年
研究從過程管理轉(zhuǎn)向產(chǎn)品開發(fā),更加注重新的程序開發(fā)范型和軟件生產(chǎn)。范圍:面向agent語言、復(fù)用技術(shù)、需求分析規(guī)格說明的形式化研究、高智能高自動化的CASE成為熱點。軟件工程的歷史50軟件工程原理Boehm于1983年提出7條基本原理:(1)用分階段的生命周期計劃嚴格管理(2)堅持進行階段評審(3)實行嚴格的產(chǎn)品控制——基線配置管理
(Baselineconfigurationmanagement)(4)采用現(xiàn)代程序設(shè)計技術(shù)(5)結(jié)果應(yīng)能清楚地審查—setstandards(6)開發(fā)小組的成員應(yīng)該少而精(7)承認不斷改進軟件工程實踐的必要性51outline軟件軟件危機軟件工程軟件生命周期軟件過程及模型52軟件生命周期軟件的生命周期是軟件產(chǎn)品或系統(tǒng)一系列相關(guān)活動的全周期。從形成概念開始,經(jīng)過研制,交付使用,在使用中不斷增補修訂,直到最后退役,讓位于新的軟件產(chǎn)品的全過程。生命周期的構(gòu)成:軟件定義問題定義可行性研究需求分析軟件開發(fā)總體設(shè)計詳細設(shè)計編碼和單元測試綜合測試軟件維護維護退役53軟件生命周期問題定義“要解決的問題是什么?”確定要開發(fā)軟件系統(tǒng)的總目標給出功能、性能、可靠性以及接口等方面的要求可行性研究“對于問題定義所確定的問題有可行的解決方法嗎?”了解用戶要求和現(xiàn)實環(huán)境從技術(shù)、經(jīng)濟、市場等方面研究并論證開發(fā)該軟件系統(tǒng)的可行性54軟件生命周期可行性研究(cont.)技術(shù)可行性:當前的軟件開發(fā)方法和工具能否支持需求的實現(xiàn);操作可行性:用戶能否在特定的環(huán)境下使用這個軟件;經(jīng)濟可行性:開發(fā)和使用、維護這個軟件的成本能否被用戶所接受。階段性產(chǎn)品可行性論證報告制定初步項目開發(fā)計劃(人員,進度)55軟件生命周期需求分析“為了解決問題,目標系統(tǒng)必須做什么?”任務(wù):確定用戶對軟件系統(tǒng)的需求:功能需求:軟件必須要完成的功能;性能需求:軟件的安全性、可靠性、可維護性、精度、錯誤處理、適應(yīng)性、用戶培訓等;運行環(huán)境約束:待開發(fā)的軟件產(chǎn)品必須滿足的環(huán)境要求重要性:軟件開發(fā)的依據(jù),軟件驗收的標準56軟件生命周期需求分析(cont.)困難:難以說清、動態(tài)變化、歧義、復(fù)雜。應(yīng)用軟件的需求分析涉及應(yīng)用領(lǐng)域的知識和經(jīng)驗。需求分析過程需求分析人員必須與用戶不斷、反復(fù)地交流和商討,使用戶需求逐步準確、一致、完全。方法:抽象、問題分解、快速原型、多視點等面向數(shù)據(jù)流的分析方法、面向數(shù)據(jù)的分析方法、面向?qū)ο蟮姆治龇椒üぞ撸篟ationalRose,WitClass,VisualModel57
需求分析階段性產(chǎn)品軟件需求規(guī)格說明書SRS用軟件需求規(guī)格說明語言描述軟件系統(tǒng)的功能需求、性能需求、接口需求、設(shè)計需求、軟件產(chǎn)品的基本結(jié)構(gòu)、采用的開發(fā)標準和驗收原則等。用戶手冊概要58軟件生命周期總體設(shè)計工具
面向數(shù)據(jù)流的設(shè)計方法結(jié)構(gòu)圖面向數(shù)據(jù)的設(shè)計方法面向?qū)ο蟮脑O(shè)計方法RationalRose階段性產(chǎn)品概要設(shè)計規(guī)格說明書數(shù)據(jù)庫或數(shù)據(jù)結(jié)構(gòu)設(shè)計說明書集成測試計劃59軟件生命周期詳細設(shè)計“應(yīng)該怎樣具體地實現(xiàn)這個系統(tǒng)呢?”任務(wù)細化概要設(shè)計所生成的各個模塊,并詳細描述程序模塊的內(nèi)部細節(jié)(算法,數(shù)據(jù)結(jié)構(gòu)等),形成可編程的程序模塊,制訂單元測試計劃階段新產(chǎn)品詳細設(shè)計規(guī)格說明書,單元測試計劃60軟件生命周期編碼和單元測試任務(wù)把軟件設(shè)計轉(zhuǎn)換成程序代碼,即寫成以某一種特定程序設(shè)計語言表示的“源程序清單”寫出的程序應(yīng)當是結(jié)構(gòu)良好、清晰易讀的,且與設(shè)計相一致的仔細測試每個單元模塊61軟件生命周期編碼和單元測試方法以詳細設(shè)計規(guī)格說明書為依據(jù)、基于某種程序設(shè)計語言進行編碼。
結(jié)構(gòu)化程序設(shè)計、面向?qū)ο蟪绦蛟O(shè)計工具Eclipse,VisualStudio.NET,etcIDE階段產(chǎn)品源程序代碼62軟件生命周期綜合測試任務(wù)將已測試過的模塊按一定順序組裝起來,按規(guī)定的各項需求,逐項進行有效性測試。
方法用戶參與,以軟件需求規(guī)格說明書為依據(jù)進行測試工具專用測試工具階段性產(chǎn)品可供用戶使用的軟件產(chǎn)品(文檔,源程序)63軟件生命周期軟件運行確認測試后的軟件安裝在用戶環(huán)境中;測試通過后移交用戶使用;盡量擴大軟件發(fā)行量發(fā)揮更大的社會和經(jīng)濟效益;軟件使用過程中用戶要認真收集軟件錯誤,并撰寫軟件問題報告和軟件維護報告64軟件生命周期軟件維護軟件工作環(huán)境不斷變化,軟件也必然跟著變化,軟件必須不斷進化以滿足客戶的需求變化,這是軟件產(chǎn)品最根本的特性。軟件維護占用軟件開發(fā)60%以上的工作量。正確性維護擴充性維護適應(yīng)性維護階段性產(chǎn)品:軟件產(chǎn)品的新版本
65outline軟件軟件危機軟件工程軟件生命周期軟件過程及模型66軟件過程軟件過程是近十年來人們關(guān)注的焦點。軟件過程規(guī)定了獲取、供應(yīng)、開發(fā)、操作、和維護軟件時,要實施的過程、活動和任務(wù)。其目的是為各種人員提供一個公共的框架,以便用相同的語言進行交流。軟件過程模型是軟件過程的抽象表示。軟件過程模型也常稱為:
軟件工程模式軟件生存周期模型67軟件過程模型建造-修正模型瀑布模型快速原型模型增量模型螺旋模型噴泉模型形式化方法模型基于構(gòu)件的開發(fā)模型RUP敏捷過程與極限編程微軟過程模型注:軟件過程模型是不斷發(fā)展的,每種模型都有各自的優(yōu)缺點,使用時可組合多種模型。68建造-修正模型BuildandFixORCodelikeHell(魯莽編碼)從一個大致的想法開始工作,然后經(jīng)過非正規(guī)的設(shè)計、編碼、調(diào)試和測試方法,最后完成工作??赡苡谢蚩赡軟]有規(guī)范發(fā)布(可能)69建造-修正模型好處:成本可能很低。只需要很少的專業(yè)知識,任何寫過程序的人都可以。對于一些非常小的、開發(fā)完后就會很快丟棄的軟件可以采用。缺點:對于規(guī)模稍大的項目,采用這種模型是很危險的。70傳統(tǒng)的瀑布模型實際的瀑布模型瀑布模型711.階段間具有順序性和依賴性前一階段的工作完成之后,才能開始后一階段的工作;前一階段的輸出文檔就是后一階段的輸入文檔。2.推遲實現(xiàn)的觀點對于規(guī)模較大的軟件項目來說,往往編碼開始得越早最終完成開發(fā)工作所需要的時間反而越長。3.質(zhì)量保證的觀點每個階段都必須完成規(guī)定的文檔,是“文檔驅(qū)動”的模型;每個階段結(jié)束前都要對所完成的文檔進行評審,盡早發(fā)現(xiàn)問題,改正錯誤。瀑布模型的特點721.瀑布模型的優(yōu)點:可強迫開發(fā)人員采用規(guī)范的方法;嚴格地規(guī)定了每個階段必須提交的文檔;要求每個階段交出的所有產(chǎn)品都必須經(jīng)過質(zhì)量保證小組的仔細驗證。2.瀑布模型的缺點:只能通過文檔了解產(chǎn)品,不經(jīng)過實踐的需求是不切實際的。3.瀑布模型適用于:需求是預(yù)知的;軟件實現(xiàn)方法是成熟的;項目周期較短。瀑布模型的優(yōu)缺點73導致問題的主要原因用戶與開發(fā)者之間存在著差異,由于沒有有效的溝通渠道或媒介,這種差異常常無法協(xié)調(diào)。2.用戶由于不熟悉信息技術(shù),可能提出非常含糊甚至不可行的需求,這種需求經(jīng)常被開發(fā)人員所誤解。3.經(jīng)驗表明,一旦用戶開始使用一個計算機系統(tǒng)他們對目標系統(tǒng)的理解可能又會發(fā)生很多變化這導致原始需求失效。更嚴重的是一個大型系統(tǒng)往往需要很多人,花幾年的時間才能完成。在這期間,用戶的需求和環(huán)境可能發(fā)生了大變化,從而使最終的系統(tǒng)不能使用。74
實際上,軟件開發(fā),特別是開發(fā)的早期階段,應(yīng)該是學習和實踐的過程,這個活動(action)應(yīng)該包括開發(fā)人員和用戶兩個方面。盡管用戶在開始時說不清楚所要求的未來軟件系統(tǒng)(目標系統(tǒng))會是什么樣子(需求),但他們卻可以對IT人員開發(fā)的系統(tǒng)非常熟練地進行挑剔!這就啟發(fā)我們能否一開始就給用戶展示一個目標系統(tǒng)的的雛形,讓用戶評頭論足,然后逐步進行修改,直至成功。這就是所謂的快速原型模型。
解決辦法75快速原型模型快速原型模型快速原型:是快速建立起來的可以在計算機上運行的程序,它所能完成的功能往往是最終產(chǎn)品能完成的功能的一個子集。
76適用于用戶驅(qū)動的系統(tǒng)(即需求模糊或隨時間變化的系統(tǒng))軟件產(chǎn)品的開發(fā)基本上是線性、順序的改善的用戶參與提高系統(tǒng)的實用性、可維護性節(jié)省開發(fā)的投入、縮短整個軟件的開發(fā)周期本質(zhì)就是“快速”優(yōu)點77原型模型存在的問題用戶有時誤解了原型的角色:例如他們可能誤解原型應(yīng)該和真實系統(tǒng)一樣可靠缺少控制:由于用戶可能不斷提出新要求,因而原型迭代的周期很難控制額外的花費:研究結(jié)果表明構(gòu)造一個原型可能需要10%額外花費為了盡快實現(xiàn)原型,采用了不合適的技術(shù),運行效率可能會受影響原型法要求開發(fā)者與用戶密切接觸,有時這是不可能的,例如外包軟件。78注意雖然有問題存在,但是快速原型模型仍是軟件開發(fā)的一個有效的過程模型。關(guān)鍵是定義了開始的游戲規(guī)則,即用戶與開發(fā)者兩方面必須達成一致:原型被建造僅是為了定義需求,之后被拋棄(或至少部分被拋棄),實際的軟件在充分考慮了質(zhì)量和可維護行之后才被開發(fā)。79構(gòu)建原型的方法1.手工繪制一個書面原型,或采用簡單的開發(fā)平臺,如微機,構(gòu)造一個功能型界面。2.使用開發(fā)工具,快速開發(fā)一個初步的、符合用戶基本(主要)需求的、可運行的原型。3.借用一個商品化的,或第三方開發(fā)的類似系統(tǒng),或?qū)Τ晒浖墓δ軓?fù)用(部分的或全部的)請用戶評價是否符合需求,在明確了基本需求之后,再著手開發(fā)自己的原型。80CaseAnalysis281案例:構(gòu)建原型《全省雨水情監(jiān)視預(yù)警系統(tǒng)》
項目初期需求不是很清晰,難以獲得完整的需求,瀑布模型不適用,考慮使用快速原型模型,先構(gòu)建一個原型系統(tǒng)給用戶用,在用戶使用的過程中獲取更多的需求。
構(gòu)建好的原型系統(tǒng)就是用戶和開發(fā)人員之間進行溝通的紐帶。82系統(tǒng)介紹 《全省雨水情監(jiān)視預(yù)警系統(tǒng)》根據(jù)今年省水利廳的防汛要求可以隨時隨地地讓防汛有關(guān)工作人員看到報警信息,當出現(xiàn)緊急情況時,能主動把報警信息推送到這些工作人員的電腦桌面,也可以以短消息或者圖片的形式發(fā)到工作人員的移動設(shè)備上,使相關(guān)人員隨時了解實時信息,為監(jiān)視、分析、決策、指揮提供靈活方便的信息獲取手段。83“客戶端登錄”功能原型在本界面用戶輸入服務(wù)器地址、用戶名及密碼,可以進行登錄,也可以勾選自動登錄以便下次運行時自動使用已保存的用戶名與密碼進行登錄。84“自動預(yù)警”功能原型
當有預(yù)警消息傳送至桌面,會進行判斷客戶端是否開啟,若客戶端開啟,則自動打開預(yù)警消息的彈窗并顯示預(yù)警消息,否則會等待下次開啟客戶端時進行離線傳送。85“用戶管理”功能原型
用戶管理用于管理接受預(yù)警信息的用戶。用戶權(quán)限分為3種,超級管理員,管理員,普通用戶。超級管理員默認只有一位,可以查看編輯所有用戶信息,管理員可以查看編輯自己的用戶信息以及普通用戶的信息,普通用戶僅僅可以查看自己的用戶信息。86“用戶管理”功能原型87“測站管理”功能原型
測站管理功能實現(xiàn)對所有測站的基礎(chǔ)信息的管理,包括測站基礎(chǔ)數(shù)據(jù)瀏覽與查看、測站的預(yù)警標識的設(shè)置。測站信息是系統(tǒng)數(shù)據(jù)的關(guān)鍵基礎(chǔ)部分,通過測站的添加與刪除,為系統(tǒng)提供了測站的預(yù)警范圍,同時可以根據(jù)預(yù)警需要進行設(shè)置測站是否預(yù)警。88“測站管理”功能原型89“預(yù)警管理”功能原型
預(yù)警管理頁面是對預(yù)警信息進行管理,預(yù)警信息是預(yù)警系統(tǒng)當中重要預(yù)警功能重要的組成部分,包括降雨量門檻,流量門檻,水位門檻,水庫站門檻。
預(yù)警管理頁面將對這些門檻進行設(shè)置,設(shè)置后的門檻值為系統(tǒng)提供預(yù)警條件,當預(yù)警條件改變時也可以通過預(yù)警管理頁面編輯對門檻值進行修改。90“預(yù)警管理”功能原型91“日志管理”功能原型
日志管理頁面用于查詢歷史記錄,可以查詢特定用戶的預(yù)警信息,可以查看歷史記錄狀態(tài)是已經(jīng)發(fā)送,未發(fā)送,還是通過離線發(fā)送,可以對歷史記錄進行刪除。日志管理頁面是預(yù)警系統(tǒng)結(jié)果反饋的重要組成部分。92“日志管理”功能原型93“消息管理”功能原型
消息管理用于用戶自定義自己習慣的消息格式,每個用戶對于消息格式有不同的要求,消息管理界面用于對所有的消息格式總共9類進行編輯,對于消息格式不正確的格式,系統(tǒng)會自動判斷,并且自動替換成正確的消息格式。消息管理功能為用戶提供了多樣性選擇,便于系統(tǒng)擴展。94“消息管理”功能原型95增量模型
增量模型把軟件產(chǎn)品作為一系列的增量構(gòu)件來設(shè)計、編碼、集成和測試。每個構(gòu)件由多個相互作用的模塊構(gòu)成,并且能夠完成特定的功能。96增量模型需求分析驗證規(guī)格說明驗證概要設(shè)計驗證針對每個構(gòu)件,完成詳細設(shè)計、編碼和集成、經(jīng)測試后交付給用戶維護97增量模型適用于:適用于需求經(jīng)常改變的軟件開發(fā)過程。如果在項目既定的商業(yè)要求期限之前不可能找到足夠的開發(fā)人員,在這種情況下,增量模型顯得特別有用。98螺旋模型螺旋模型的基本思想:使用原型及其他方法來盡量降低風險。把它看作在每個階段之前都增加了風險分析過程的快速原型模型。
簡化的螺旋模型99完整的螺旋模型100螺旋模型適用于:特別適用于龐大、復(fù)雜并具有高風險的系統(tǒng)。適用于內(nèi)部開發(fā)的大規(guī)模軟件項目。101支持軟件復(fù)用。利用預(yù)先包裝好的軟件構(gòu)件來構(gòu)造應(yīng)用系統(tǒng)。領(lǐng)域分析構(gòu)件可變性分析構(gòu)建可復(fù)用構(gòu)件領(lǐng)域模型領(lǐng)域基準體系結(jié)構(gòu)圖可復(fù)用構(gòu)件庫分析體系結(jié)構(gòu)設(shè)計獲取構(gòu)件構(gòu)件特化和修改評價構(gòu)件組裝和測試開發(fā)未找到構(gòu)件的部分應(yīng)用系統(tǒng)工程應(yīng)用系統(tǒng)領(lǐng)域工程基于構(gòu)件的開發(fā)模型102形式化方法是建立在嚴格數(shù)學基礎(chǔ)上的一種軟件開發(fā)方法。軟件開發(fā)的全過程中,從需求
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 知識產(chǎn)權(quán)和保密合同協(xié)議書
- 多維遙感技術(shù)應(yīng)用合作協(xié)議
- 企業(yè)文化與品牌形象塑造合同
- 物流公司聘用駕駛員勞動合同
- 雙方協(xié)商培育樹苗合同書
- 挖機買賣合同書樣本
- 場食品安全協(xié)議書
- 招投標合作代理協(xié)議
- 資源租賃合同
- 汽車租賃行業(yè)車輛使用期間損失免責協(xié)議
- 人教版五年級上冊解方程練習200題及答案
- 2024年黑龍江省哈爾濱市中考數(shù)學試卷(附答案)
- 歷史公開課《第1課中華人民共和國成立》教案教學設(shè)計-第1課中華人民共和國成立-初二下冊歷史
- 北京中考英語詞匯表(1600詞匯)
- JJF(鄂) 143-2024 路面材料強度試驗儀校準規(guī)范
- 七年級生物上冊(人教版2024)新教材解讀課件
- 2024年巴西摩托車賽車級輪胎市場機會及渠道調(diào)研報告
- 2021-2022學年海南省三亞高一下學期開學考試物理試卷
- 臺州事業(yè)單位筆試真題2024
- 父母房產(chǎn)繼承協(xié)議書范本
- 期末模擬試卷 (試題)-2023-2024學年六年級下冊數(shù)學人教版
評論
0/150
提交評論