




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
軟件工程(ruǎnjiànɡōnɡchénɡ)主講(zhǔjiǎng):饒國政天津大學共七十七頁聯(lián)系方式天津大學(tiānjīndàxué)25教學樓B-607郵箱:rgz@課件及相關資源:2/faculty/rgz/new/se/共七十七頁緒論(xùlùn)計算機科學是什么?
1、是科學?是工程學科?還是一門技術?…….2、學科的智力本質(zhì)是什么?
3、它將持續(xù)興旺下去還是衰落下去?
4、計算機科學和工程的核心課程是否反映了這個(zhège)領域?
5、怎樣把理論和實驗集成在計算課程中?
6、各核心課程培養(yǎng)計算方面的能力嗎?
7、......共七十七頁計算機科學的三個學科(xuékē)形態(tài)共七十七頁爭論(zhēnglùn)的結論
計算處于應用數(shù)學、科學和工程三者的主要過程的交叉路口。這三個過程在本學科是同等重要和基本的。它是理論、抽象和設計(shèjì)三者唯一的交匯點。共七十七頁程序設計(chénɡxùshèjì)的作用
(1)"計算科學=程序設計"是錯誤的。(2)計算領域的許多活動并不是程序設計,硬件設計、體系結構、操作系統(tǒng)結構、數(shù)據(jù)庫應用等。(3)程序設計是本學科標準的實踐活動的一部分,每一個計算工作者必須有程序設計的能力。但這并不意味著本學科就建筑(jiànzhù)在程序設計的基礎上,也不意味著導引性課程必須是程序設計方面的課程。(4)程序設計語言是涉足本領域特色的工具。
建議:程序設計作為核心課程的一部分,并把程序設計語言作為涉足計算學科重要特色的有用媒介。
共七十七頁計算機科學簡短(jiǎnduǎn)定義
(1)計算學科是對描述和變換信息的算法過程的系統(tǒng)研究,
包括它的理論、分析、設計、有效性、實現(xiàn)(shíxiàn)和應用。(2)全部計算科學的基本問題是"什么能(有效地)自動進行?"。共七十七頁計算機科學劃分(huàfēn)的分支領域共七十七頁計算科學(kēxué)的學科能力的培養(yǎng)(1)面向?qū)W科的思維能力
發(fā)現(xiàn)本領域新的特性的能力,這些特性導致新的活動方式和新的工具,以便這些特性能被其他人所利用。
(2)使用工具的能力
使用本領域的工具有效地進行其他領域時間活動的能力。建議:
把面向?qū)W科的思維能力作為計算專業(yè)課程設置的主要(zhǔyào)目的。
同時,計算專業(yè)工作者必須充分熟悉工具,以便與其他學科的人們有效地合作,進行那些學科的設計活動。共七十七頁學科(xuékē)淵源
(1)本學科和算法理論、數(shù)理邏輯和存儲程序式電子計算機的發(fā)明一起,形成于40年代初。
(2)計算的淵源可以深入擴展(kuòzhǎn)到數(shù)學和工程。數(shù)學把分析分到這一領域,而工程把設計分到這一領域。
(3)本學科包括它自己的理論、實驗方法和工程。這與許多其他的自然科學不同。許多其他的自然科學和運用其成果的工程學科是分開的(例如化學和化學工程原理)、計算機科學與工程卻是不可分的,因為本學科的科學與工程形態(tài)從根本上是相互滲透的。共七十七頁與數(shù)學(shùxué)的關系
計算作為數(shù)學的主要對象已有幾千年了。
自然現(xiàn)象的許多(xǔduō)模型被用來導出方程,它的解就導致那些自然現(xiàn)象的預言。例如軌道的彈道計算、天氣預報和流體的流動等。解這些方程的許多(xǔduō)方法已經(jīng)給出。例如線性方程組的解法、微分方程的解法和求函數(shù)的積分。
幾乎在這同時,機械系統(tǒng)設計中所需要的計算成為工程主要關注的對象。例如計算靜態(tài)物體壓力的算法、計算運動物體慣量的算法和測量比我們直覺要大得多或小得多的距離的方法。共七十七頁發(fā)展(fāzhǎn)方向(1)新一代計算機體系結構。該方向包括神經(jīng)元計算、計算機設計與制造、網(wǎng)絡與通信技術、大容量存儲設備的研究、容錯模型內(nèi)容等;
(2)并行與分布式軟件開發(fā)方法學研究。該方向包括數(shù)理邏輯、計算理論、形式語義學、高級語言與程序設計理論、系統(tǒng)軟件設計、軟件工程、容錯理論等內(nèi)容;
(3)人工智能理論及其應用。該方向包括數(shù)理邏輯、高等邏輯、算法理論、知識工程、神經(jīng)元計算、人工智能高能語言與人工智能程序設計等內(nèi)容;
(4)計算機應用的關鍵技術。主要將圍繞計算可視化與虛擬現(xiàn)實,計算幾何,科學計算這幾個重點方向開展(kāizhǎn)有工作,并帶動數(shù)據(jù)庫技術、計算機圖形學、自然語言處理與機器翻譯、模式識別與圖解處理等方向發(fā)展。在這一綜合方向上研究內(nèi)容將幾乎覆蓋所有的計算科學應用技術方向內(nèi)容。共七十七頁軟件方法學和工程(gōngchéng)-基本問題
本領域研究滿足技術要求、安全、可靠、可信的程序和大型軟件系統(tǒng)的設計。基本問題包括:
1.在程序和程序設計(chénɡxùshèjì)系統(tǒng)的開發(fā)背后的原理是什么?
2.怎樣去證明程序或系統(tǒng)滿足它的技術要求?
3.怎樣去給定技術要求,使不遺漏重要的情況,而且可以分析它的安全性?
4.怎樣使軟件系統(tǒng)通過不同階段不斷改進?
5.怎樣使軟件設計得易理解和易修改?共七十七頁軟件方法學和工程(gōngchéng)
–理論軟件方法學和工具(gōngjù)練域理論的主要部分是:
(l)程序驗證和證明。
(2)時態(tài)邏輯。
(3)可靠性理論。
(4)謂詞演算、公理語義學、和認知心理學等支撐領域。共七十七頁軟件方法學和工程(gōngchéng)-抽象軟件方法學和工具抽象的主要部分是:
(1)定義技術要求的方法。如調(diào)詞變換器、程序設計演算、抽象數(shù)據(jù)類型和弗洛依德一霍爾(Floyd-Hoare)公理化符號。
(2)方法學,如逐步提煉、模塊化設計、模塊、分離編譯、信息隱藏(informationbiding)、數(shù)據(jù)流和抽象層次。
(3)程序開發(fā)自動化的方法。例如,文本編輯程序,面向語法的編輯程序和屏幕編輯程序。
(4)可信計算的方法學;例如,容錯,安全性,可靠性,恢復(huīfù),N版本程序設計,多方式冗余,和檢查點插入。
(5)軟件工具和程序設計環(huán)境。
(6)程序和系統(tǒng)的測度和評估。
(7)軟件系統(tǒng)到特定機器結構的匹配問題域。
(8)軟件研制的生命周期模型。共七十七頁軟件(ruǎnjiàn)方法學和工程–設計軟件方法學和工具領域設計和實驗的主要內(nèi)容是:
(1)技術要求描述語言(如PSL2,IMAJO)、構造管理系統(tǒng)(如在AdaAPSE)和修改控制系統(tǒng)(如RCS,SCCS)。
(2)指向語法的編輯器、行編輯器、屏幕編輯器和字處理系統(tǒng)。
(3)在軟件開發(fā)實踐中倡導和使用的特定方法,如HDM,及Dijkstra,Jackson,Mills或Yourdon等人倡導的方法。
(4)測試的過程和實踐(例如,遍歷、手模擬、模塊間接口的檢查、測試集的程序通路列舉和事件跟蹤),質(zhì)量保證和計劃管理。
(5)程序開發(fā)和查錯,剖面分析,文本格式化和數(shù)據(jù)庫操作的軟件工具。
(6)像國防部那樣的安全計算系統(tǒng)的標準級和驗證過程的技術要求。
(7)用戶接口的設計。
(8)設計非常(fēicháng)大的、可靠的、容錯的和可信的系統(tǒng)的方法。共七十七頁學習“軟件工程(ruǎnjiànɡōnɡchénɡ)”的目的和意義學會(xuéhuì)如何在現(xiàn)代IT企業(yè)的環(huán)境中做一個成功者;學會如何做世界級的、高質(zhì)量的研究;學會如何創(chuàng)建大規(guī)模的軟件產(chǎn)品。
——微軟全球資深副總裁原微軟亞洲研究院院長首席科學家張亞勤
共七十七頁一、全球(quánqiú)軟件產(chǎn)業(yè)的現(xiàn)狀、趨勢與挑戰(zhàn)TheChallengesandOpportunitiesoftheGlobalSoftwareIndustry.軟件產(chǎn)業(yè)的網(wǎng)絡化趨勢(qūshì)軟件產(chǎn)業(yè)的服務化趨勢軟件產(chǎn)業(yè)的全球化趨勢智能網(wǎng)絡(IntelligentWeb)·從靜態(tài)網(wǎng)到動態(tài)網(wǎng)·從被動方式到主動方式·從呈現(xiàn)信息和瀏覽的窗口到智能生成的平臺·從HTML到XML共七十七頁一、全球軟件產(chǎn)業(yè)的現(xiàn)狀(xiànzhuàng)、趨勢與挑戰(zhàn)TheChallengesandOpportunitiesoftheGlobalSoftwareIndustry.軟件產(chǎn)業(yè)的網(wǎng)絡化趨勢(qūshì)軟件產(chǎn)業(yè)的服務化趨勢軟件產(chǎn)業(yè)的全球化趨勢
相對目前“打包式”軟件,為用戶提供智能化的“服務式”軟件。共七十七頁一、全球軟件產(chǎn)業(yè)的現(xiàn)狀、趨勢(qūshì)與挑戰(zhàn)TheChallengesandOpportunitiesoftheGlobalSoftwareIndustry.軟件產(chǎn)業(yè)的網(wǎng)絡化趨勢(qūshì)軟件產(chǎn)業(yè)的服務化趨勢軟件產(chǎn)業(yè)的全球化趨勢·強調(diào)開放性、交互性·支持主流的開放式標準·人才的全球化對中國軟件企業(yè)有什么啟示和挑戰(zhàn)?共七十七頁TalentBeyondTechnology_WhatKindofTalentWeNeedforModernSoftwareDevelopment扎實的基礎創(chuàng)新、獨立的工作能力主人翁精神和團隊精神勾通與協(xié)調(diào)能力成就感強、有激情自覺地干好工作契而不舍,從錯誤中學習二、現(xiàn)代(xiàndài)軟件開發(fā)對人才的要求共七十七頁
我國復合型軟件人才匱乏,培養(yǎng)適應迅速變化(biànhuà)的市場需求的復合型軟件人才已是迫在眉睫。三、信息化建設中對復合型軟件(ruǎnjiàn)人才的需求
復合型軟件人才—具備不同專業(yè)背景、有市場觀念的開發(fā)管理、工程管理和軟件經(jīng)營等復合型軟件人才;共七十七頁四、軟件開發(fā)中的錯誤觀點2.軟件需求分析很困難,不管三七二十一先把軟件做了再說,反正軟件是靈活(línɡhuó)的,隨時可以修改。1.只要(zhǐyào)掌握了1-2門程序設計語言,進行軟件開發(fā)就沒有問題。總之,錯誤認為:軟件就是程序,開發(fā)軟件就是編寫程序。3.只要有最好的開發(fā)工具、最好的計算機,一定能做出優(yōu)秀的軟件。
共七十七頁本課程(kèchéng)學習的主要內(nèi)容1.傳統(tǒng)的軟件工程方法2.面向?qū)ο蟮慕<夹g—UML統(tǒng)一建模語言3.軟件項目管理及CMMI4.軟件復用(fùyònɡ)及構件工程
本課程以傳統(tǒng)的軟件工程技術為基礎,主要討論如何應用軟件工程的最新技術—UML統(tǒng)一建模語言進行軟件開發(fā),提高軟件開發(fā)的水平和技術。共七十七頁作者:齊治昌、寧洪出版社:高等教育出版社ISBN:9787040146288面向21世紀課程(kèchéng)教材、國家精品課程(kèchéng)配套教材1.軟件工程(ruǎnjiànɡōnɡchénɡ)(第2版)
教材及主要參考書共七十七頁教材(jiàocái)及主要參考書作者(zuòzhě):許家珆主編白忠建,彭德中,吳磊編寫出版社:電子工業(yè)出版社2.軟件工程—方法與實踐共七十七頁教材(jiàocái)及主要參考書3.軟件工程SoftwareEngineering,6thEdition作者:(英)IanSommerville出版社:機械(jīxiè)工業(yè)出版社(影印版)
本書是英國著名軟件工程學家IanSommerville系統(tǒng)介紹軟件工程理論的力作,以要求極高的一類系統(tǒng)為實例,精辟透徹地闡述了軟件工程的內(nèi)涵。共七十七頁參考(cānkǎo)網(wǎng)站http://
軟件工程(ruǎnjiànɡōnɡchénɡ)網(wǎng)
卡內(nèi)基梅大學軟件工程研究所/
對象技術和構件技術鏈接Rational公司http://OMG(ObjectManagementGroup)http://
軟件工程網(wǎng)
卡內(nèi)基梅大學軟件工程研究所/
對象技術和構件技術鏈接Rational公司共七十七頁第一章1軟件(ruǎnjiàn)與軟件(ruǎnjiàn)工程共七十七頁1.1軟件(ruǎnjiàn)軟件的概念;軟件的特點;軟件的分類(fēnlèi);軟件的發(fā)展;軟件危機。共七十七頁軟件(ruǎnjiàn)的概念軟件是計算機系統(tǒng)的重要組成部分;軟件是邏輯產(chǎn)品,需要計算機硬件和系統(tǒng)軟件的支撐;軟件是計算機控制系統(tǒng)的指揮中樞;軟件是信息轉(zhuǎn)換器,它能對信息進行加工、處理或變換;軟件是工具,在人們的生活、工作、休閑,在社會的經(jīng)濟、軍事、政治、文化、科學技術、教育(jiàoyù)中發(fā)揮具大作用;共七十七頁計算機世界的軟件
軟件是能夠完成預定(yùdìng)功能和性能,并對相應數(shù)據(jù)進行加工的程序和描述程序及其操作的文檔。
軟件=程序+數(shù)據(jù)+文檔程序=算法+數(shù)據(jù)結構共七十七頁軟件(ruǎnjiàn)的特點軟件是被開發(fā)或設計的,而不是傳統(tǒng)意義上被制造的軟件不會”磨損”軟件產(chǎn)業(yè)逐步走向(zǒuxiàng)基于構件的組裝,但還是定制的共七十七頁
軟件(ruǎnjiàn)的描述
軟件由程序、數(shù)據(jù)、文檔組成。數(shù)據(jù)
用程序設計語言要求的數(shù)據(jù)結構表示(biǎoshì)文檔
規(guī)范準確清晰簡潔無歧義自然語言結構化英語圖表
共七十七頁程序設計語言面向機器匯編語言、機器語言等面向過程(guòchéng)
Fortran,Pascal,C等面向?qū)ο驝++,Java等面向問題結構化查詢語言SQL等共七十七頁軟件(ruǎnjiàn)分類系統(tǒng)軟件實時軟件商務(shāngwù)軟件工程和科學計算軟件嵌入式軟件人工智能軟件個人計算機軟件共七十七頁軟件(ruǎnjiàn)的發(fā)展軟件發(fā)展的四個階段1950---1965
沒有系統(tǒng)的軟件開發(fā)方法和管理機制、自定義軟件、批處理、有限分布。1965---1975
產(chǎn)生人機交互的新概念、新技術軟件產(chǎn)品、多用戶、實時、數(shù)據(jù)庫。1973---1988
微處理器的出現(xiàn)并廣泛應用 分布式系統(tǒng)、嵌入(qiànrù)智能、低成本硬件、消費者的影響。1986---2000
廣域和局域網(wǎng)絡迅速普及 強大的桌面系統(tǒng)、面向?qū)ο蠹夹g、專家系統(tǒng)、人工智能、神經(jīng)網(wǎng)絡、并行計算、網(wǎng)絡計算機。共七十七頁2軟件發(fā)展(fāzhǎn)存在的問題軟件開發(fā)能力不能滿足人們的需要。社會對軟件的依賴程度(chéngdù)加大,人們普遍關注軟件的安全和可靠性建造高可靠性、高質(zhì)量軟件的任務任重道遠。若干年前開發(fā)的應用軟件經(jīng)過幾十次修改已無人認識它的內(nèi)部結構,己經(jīng)不可維護。由于經(jīng)濟原因,嵌入式系統(tǒng)存在許多怪現(xiàn)象,企業(yè)不愿意投入資源再生產(chǎn),而采取打補丁+時髦界面的方法。共七十七頁軟件(ruǎnjiàn)危機的表現(xiàn)軟件產(chǎn)業(yè)的發(fā)展長期滯后,與硬件發(fā)展不協(xié)調(diào)。軟件開發(fā)成本過高軟件質(zhì)量得不到保證軟件開發(fā)效率低難以控制開發(fā)進度,工作量估計困難
軟件不能滿足社會發(fā)展的需求,成為社會、經(jīng)濟發(fā)展的制約因素軟件(ruǎnjiàn)危機共七十七頁2.軟件危機(wēijī)原因軟件的規(guī)模加大、復雜性提高(tígāo)、性能增強軟件是邏輯產(chǎn)品,尚未完全認識其本質(zhì)和特點缺乏有效的、系統(tǒng)的開發(fā)、維護大型軟件項目的技術手段和管理方法用戶對軟件需求的描述和軟件開發(fā)人員對需求的理解往往存在差異,用戶經(jīng)常要求修改需求,開發(fā)人員很難適應軟件開發(fā)的技術人員和管理人員缺乏軟件工程化的素質(zhì)和要求,對工程化的開銷認識不足共七十七頁1.2軟件工程的產(chǎn)生(chǎnshēng)和發(fā)展
軟件工程(SoftwareEngineering)是在克服60年代末所出現(xiàn)的“軟件危機”的過程中逐漸形成與發(fā)展的。
隨著互聯(lián)網(wǎng)平臺和環(huán)境的迅速發(fā)展,對軟件工程的發(fā)展產(chǎn)生了變革性的巨大影響,網(wǎng)格(wǎnɡɡé)計算、普適計算、中間件、網(wǎng)構軟件等一批新技術和理念,從網(wǎng)絡資源共享與管理,人機交互及軟件服務等各方面提出了軟件技術的新課題。
共七十七頁軟件工程的發(fā)展已經(jīng)歷(jīnglì)了四個重要階段:4.第四代軟件工程(ruǎnjiànɡōnɡchénɡ)
—
構件工程3.第三代軟件工程
—
過程工程2.第二代軟件工程
—
對象工程1.第一代軟件工程
—
傳統(tǒng)的軟件工程共七十七頁軟件工程的發(fā)展已經(jīng)歷了四個重要階段:1.第一代軟件工程
—
傳統(tǒng)的軟件工程2.第二代軟件工程
—
對象(duìxiàng)工程3.第三代軟件工程
—
過程工程4.第四代軟件工程
—
構件工程
60年代末到70年代為了(wèile)克服“軟件危機”
(Softwarecrisis)提出“軟件工程”的名詞,將軟件開發(fā)納入工程化的軌道,基本形成軟件工程的概念、框架、技術和方法。稱為傳統(tǒng)的軟件工程。共七十七頁軟件工程的發(fā)展已經(jīng)歷了四個重要階段:1、第一代軟件工程
—
傳統(tǒng)(chuántǒng)的軟件工程2、第二代軟件工程
—
對象工程3、第三代軟件工程
—
過程工程4、第四代軟件工程
—
構件工程
80年代中到90年代,面向?qū)ο蟮姆椒ㄅc技術得到發(fā)展,研究的重點轉(zhuǎn)移到面向?qū)ο蟮姆治雠c設計,演化為一種完整(wánzhěng)的軟件開發(fā)方法和系統(tǒng)的技術體系,稱為對象工程。共七十七頁軟件工程的發(fā)展已經(jīng)歷了四個重要階段:1、第一代軟件工程
—
傳統(tǒng)(chuántǒng)的軟件工程2、第二代軟件工程
—
對象工程3、第三代軟件工程
—
過程工程4、第四代軟件工程
—
構件工程
80年代中開始,人們在軟件開發(fā)的實踐過程中認識到:提高軟件生產(chǎn)率,保證軟件質(zhì)量的關鍵是“軟件過程”,是軟件開發(fā)和維護中的管理和支持能力(nénglì),逐步形成軟件過程工程。共七十七頁軟件工程的發(fā)展已經(jīng)歷(jīnglì)了四個重要階段:1、第一代軟件工程
—
傳統(tǒng)的軟件工程2、第二代軟件工程
—
對象工程3、第三代軟件工程
—
過程工程4、第四代軟件工程
—
構件工程
90起年代,基于構件(Component)的開發(fā)(kāifā)方法取得重要進展,軟件系統(tǒng)的開發(fā)(kāifā)可通過使用現(xiàn)成的可復用構件組裝完成,而無需從頭開始構造,以此達到提高效率和質(zhì)量,降低成本的目的。稱為構件工程。共七十七頁共七十七頁
軟件工程是一門新興的邊緣學科,涉及的學科多,研究的范圍廣,研究的主要內(nèi)容有以下(yǐxià)幾方面:}
軟件開發(fā)技術(jìshù)軟件開發(fā)方法、技術軟件開發(fā)工具及環(huán)境軟件管理技術軟件規(guī)范(國際規(guī)范)}
軟件管理技術共七十七頁1.3軟件工程(ruǎnjiànɡōnɡchénɡ)過程與軟件生存期
為了克服軟件危機,人們從其他產(chǎn)業(yè)的工業(yè)化生產(chǎn)得到啟示,于是在68年北大西洋公約的軟件可靠性會議(NATO)上,首次提出了“軟件工程”的概念。提出了在軟件生產(chǎn)中采用(cǎiyòng)工程化的方法,采用(cǎiyòng)一系列科學的、現(xiàn)代化的方法技術來開發(fā)軟件。這種工程化的思想貫穿到軟件開發(fā)和維護的全過程。共七十七頁是指在軟件工具的支持下,所進行(jìnxíng)的一系列軟件開發(fā)和進化的活動。通常包括以下四類基本過程:1、軟件規(guī)格說明:規(guī)定軟件的功能及其運行環(huán)境。2、軟件開發(fā):產(chǎn)生滿足規(guī)格說明的軟件。3、軟件確認:確認軟件能夠完成客戶(kèhù)提出的要求。4、軟件演進:為滿足客戶的變更要求,軟件必須在使用的過程中演進。軟件工程過程
(Softwareengineeringprocess)共七十七頁軟件工程(ruǎnjiànɡōnɡchénɡ)過程
(Softwareengineeringprocess)規(guī)程(guīchéng)與方法工具和設備有技能經(jīng)過培訓的開發(fā)人員過程共七十七頁軟件工程(ruǎnjiànɡōnɡchénɡ)三要素軟件工程過程方法工具軟件工程釆用層次化的方法,每個層次(céngcì)都包括過程、方法、工具三要素。共七十七頁問題(wèntí)定義編碼需求(xūqiú)分析軟件設計可行性研究運行與維護測試開發(fā)時期運行時期計劃時期(目標與范圍說明書)(可行性論證論告)(維護報告)(測試報告)(程序)(設計文檔)(需求說明書)軟件生命周期(SDLD)—瀑布模型瀑布模型共七十七頁1.4軟件開發(fā)模型(móxíng)
軟件開發(fā)模型是描述軟件開發(fā)過程(guòchéng)中各種活動如何執(zhí)行的模型。因此又稱為軟件過程模型。
軟件過程模型是對軟件開發(fā)實際過程的抽象和簡化。
目前典型的軟件開發(fā)模型有:
瀑布模型、增量模型、螺旋模型、噴泉模型、變換模型和基于知識的模型等。不同的開發(fā)方法有不同的軟件過程模型。共七十七頁軟件過程(guòchéng)模型軟件過程模型是軟件開發(fā)全過程、軟件開發(fā)活動以及它們之間關系的結構框架軟件項目的管理提供里程碑和進度表為軟件開發(fā)提供原則(yuánzé)和方法共七十七頁以軟件需求完全確定為前提的瀑布模型在軟件開發(fā)初期只能提供基本需求所采用的漸進式開發(fā)模型如原型模型、螺旋模型、增量模型、并發(fā)開發(fā)模型
以形式化開發(fā)方法為基礎的變換模型基于(jīyú)構件的開發(fā)過程敏捷開發(fā)過程---統(tǒng)一軟件開發(fā)過程RUP五類軟件開發(fā)過程(guòchéng)模型共七十七頁瀑布(pùbù)模型問題定義編碼需求分析軟件設計可行性研究運行與維護測試開發(fā)時期運行時期計劃時期(目標與范圍說明書)(可行性論證論告)(維護報告)(測試報告)(程序)(設計文檔)(需求說明書)瀑布模型共七十七頁瀑布(pùbù)模型主要思想
軟件(ruǎnjiàn)開發(fā)過程與軟件(ruǎnjiàn)生命周期是一致的相鄰二階段之間存在因果關系需對階段性產(chǎn)品進行評審共七十七頁瀑布(pùbù)模型的優(yōu)點軟件生命周期模型,使軟件開發(fā)過程(guòchéng)可以在分析、設計、編碼、測試和維護的框架下進行;軟件開發(fā)過程具有系統(tǒng)性、可控性,克服了軟件開發(fā)的隨意性。共七十七頁瀑布(pùbù)模型的缺點項目開始階段用戶很難精確(jīngquè)的提出產(chǎn)品需求,由于技術進步,用戶對系統(tǒng)深入的理解,修改需求十分普遍。項目開發(fā)晚期才能得到程序的運行版本,這時修改軟件需求和開發(fā)中的錯誤代價很大。采用線性模型組織項目開發(fā)經(jīng)常發(fā)生開發(fā)小組人員“堵塞狀態(tài)”,特別是項目的開始和結束。共七十七頁增量(zēnɡliànɡ)模型(incrementalmodel)增量模型是一種非整體開發(fā)的模型。是一種進化式的開發(fā)過程(guòchéng)。根據(jù)增量的方式和形式的不同,分為:基于瀑布模型的漸增模型基于原型的快速原型模型該模型具有較大的靈活性,適合于軟件需求不明確、設計方案有一定風險的軟件項目。增量模型和瀑布模型之間的本質(zhì)區(qū)別是什么?共七十七頁增量(zēnɡliànɡ)模型特點增量小而可用的軟件特點在前面增量的基礎上開發(fā)后面的增量每個增量的開發(fā)可用瀑布或快速原型模型迭代(diédài)的思路共七十七頁
為了描述軟件開發(fā)過程中可能的回溯,尤其是維護階段往往要經(jīng)歷上述各個階段。采用循環(huán)(xúnhuán)模型描述。需求(xūqiú)分析設計編碼測試運行評價計劃循環(huán)模型循環(huán)模型共七十七頁
速成原型的工作模型是一個循環(huán)的模型。
1.快速分析快速確定軟件系統(tǒng)的基本要求,確定原型所要體現(xiàn)的特征(界面,總體結構(jiégòu),功能,性能)
2.構造原型考慮主要特征,快速構造一個可運行的系統(tǒng)。有三類原型:用戶界面原型,功能原型,性能原型。
3.運行和評價原型
4.修改與改進原型的工作(gōngzuò)模型運行評價構造快速分析修改共七十七頁
智能(zhìnénɡ)模型(intelligentmodel)獲取需求需求分析具體描述優(yōu)化程序調(diào)整驗證維護知識庫專家系統(tǒng)程序
也稱為基于知識(zhīshi)的軟件開發(fā)模型,是知識(zhīshi)工程與軟件工程相結合的軟件開發(fā)模型。智能模型共七十七頁1.5軟件開發(fā)方法(fāngfǎ)
軟件開發(fā)的目標是要在規(guī)定的投資和時間內(nèi),開發(fā)出符合用戶(yònghù)的需求,高質(zhì)量的軟件,為此需要有成功的開發(fā)方法。軟件開發(fā)方法可分為兩大類:面向過程的開發(fā)方法面向?qū)ο蟮拈_發(fā)方法共七十七頁結構化開發(fā)方法(StructuredDevelopingMethod)是現(xiàn)有的軟件開發(fā)方法中最成熟,應用最廣泛的方法,主要特點是快速,自然和方便。結構化方法總的指導思想自頂向下、逐步求精。它的基本原則是功能(gōngnéng)的分解與抽象。一、結構化開發(fā)方法的組成結構化程序設計方法SP法(StructuredProgram)結構化設計方法SD法(StructuredDesign)結構化分析方法SA法(StructuredAnalysis)SA,SD,SP法相互銜接,形成了一整套開發(fā)方法。結構化方法及瀑布(pùbù)模型共七十七頁什么(shénme)是原型化方法(PrototypingMethod)原型化方法(fāngfǎ)及其工作模型
原型——是軟件的一個早期可運行的版本,它反映了最終系統(tǒng)的部分重要特性。原型化方法的基本思想是花費少量代價建立一個可運行的系統(tǒng),使用戶及早獲得學習的機會。原型化方法又稱速成原型法(RapidPrototyping)。共七十七頁原型(yuánxíng)化方法及其工作模型
1、廢棄(throwaway)型
RSP法(RapidSpecificPrototyping)快速建立需求規(guī)格原型。
2、追加(addon)型
RCP法(RapidCyclicPrototyping)快速建立漸進原型法。采用循環(huán)(xúnhuán)漸進的開發(fā)方式,對系統(tǒng)模型作連續(xù)精化。共七十七頁構造(gòuzào)原型運行(yùnxíng)/評價原型原型完成否要細部說明否嚴格說明細部效果滿意否整理原型提供文檔修正改進原型YYNN快速分析,確定初步規(guī)格說明YN細化的快速原型模型圖2細化的快速原型模型快速分析或修改評價構造運行共七十七頁原型模型(móxíng)的優(yōu)點原型模型支持軟件需求開發(fā),幫助用戶和開發(fā)人員理解需求,是軟件需求工程的關鍵。它產(chǎn)生的正式需求文擋,是軟件開發(fā)的基礎。如果開發(fā)的原型是可運行的,它的若干高質(zhì)量的程序片段和開發(fā)工具可用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 南開18語文高三第一次月考作文
- 電子測量技術在海洋開發(fā)中的應用考核試卷
- 生態(tài)保護與草原生態(tài)治理考核試卷
- 電氣設備絕緣測試考核試卷
- 天津市西青區(qū)張窩中學2024?2025學年高一下學期第一次月考 數(shù)學試題(含解析)
- 規(guī)范的采血流程 2
- 山東省濟南市重點中學2025屆高中畢業(yè)班第二次質(zhì)量檢測試題英語試題文試題含解析
- 山東省泰安市寧陽縣重點名校2024-2025學年初三下學期第三次四校聯(lián)考物理試題試卷含解析
- 萊蕪職業(yè)技術學院《水工建筑材料》2023-2024學年第二學期期末試卷
- 吉林省長春市榆樹市一中2025屆高三下學期第四次(1月)月考英語試題試卷含解析
- 腳手架穩(wěn)定計算
- 信息系統(tǒng)網(wǎng)絡安全應急預案
- 掉落物落地品管理規(guī)定
- 【圖文】GB8624-2012建筑材料及制品燃燒性能分級(精)
- 科姆龍變頻器說明書kv2000
- 小學生讀書知識競賽試題
- 藍色簡約法律通用PPT模板
- 旅行社掛靠協(xié)議(樣板)
- 皮爾遜Ⅲ型曲線模比系數(shù)計算表(共享版)
- 房屋租賃合以裝修費抵租金
- Z5140型立式鉆床說明書
評論
0/150
提交評論