




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