




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
軟件工程基礎(chǔ)軟件教研室張翼飛Tel.89723956E-mail:zhangyifei@學(xué)習(xí)“軟件工程”的目的和意義學(xué)會如何在現(xiàn)代IT企業(yè)的環(huán)境中做一個(gè)成功者;學(xué)會如何做世界級的、高質(zhì)量的研究;學(xué)會如何創(chuàng)建大規(guī)模的軟件產(chǎn)品。
——微軟全球資深副總裁原微軟亞洲研究院院長首席科學(xué)家張亞勤
一、全球軟件產(chǎn)業(yè)的現(xiàn)狀、趨勢與挑戰(zhàn)TheChallengesandOpportunitiesoftheGlobalSoftwareIndustry.軟件產(chǎn)業(yè)的網(wǎng)絡(luò)化趨勢軟件產(chǎn)業(yè)的服務(wù)化趨勢軟件產(chǎn)業(yè)的全球化趨勢智能網(wǎng)絡(luò)(IntelligentWeb)·從靜態(tài)網(wǎng)到動(dòng)態(tài)網(wǎng)·從被動(dòng)方式到主動(dòng)方式·從呈現(xiàn)信息和瀏覽的窗口到智能生成的平臺·從HTML到XML一、全球軟件產(chǎn)業(yè)的現(xiàn)狀、趨勢與挑戰(zhàn)TheChallengesandOpportunitiesoftheGlobalSoftwareIndustry.軟件產(chǎn)業(yè)的網(wǎng)絡(luò)化趨勢軟件產(chǎn)業(yè)的服務(wù)化趨勢軟件產(chǎn)業(yè)的全球化趨勢
相對目前“打包式”軟件,為用戶提供智能化的“服務(wù)式”軟件。一、全球軟件產(chǎn)業(yè)的現(xiàn)狀、趨勢與挑戰(zhàn)TheChallengesandOpportunitiesoftheGlobalSoftwareIndustry.軟件產(chǎn)業(yè)的網(wǎng)絡(luò)化趨勢軟件產(chǎn)業(yè)的服務(wù)化趨勢軟件產(chǎn)業(yè)的全球化趨勢·強(qiáng)調(diào)開放性、交互性·支持主流的開放式標(biāo)準(zhǔn)·人才的全球化對中國軟件企業(yè)有什么啟示和挑戰(zhàn)?TalentBeyondTechnology_WhatKindofTalentWeNeedforModernSoftwareDevelopment扎實(shí)的基礎(chǔ)創(chuàng)新、獨(dú)立的工作能力主人翁精神和團(tuán)隊(duì)精神勾通與協(xié)調(diào)能力成就感強(qiáng)、有激情自覺地干好工作契而不舍,從錯(cuò)誤中學(xué)習(xí)二、現(xiàn)代軟件開發(fā)對人才的要求
我國復(fù)合型軟件人才匱乏,培養(yǎng)適應(yīng)迅速變化的市場需求的復(fù)合型軟件人才已是迫在眉睫。三、信息化建設(shè)中對復(fù)合型軟件人才的需求
復(fù)合型軟件人才—具備不同專業(yè)背景、有市場觀念的開發(fā)管理、工程管理和軟件經(jīng)營等復(fù)合型軟件人才;四、軟件開發(fā)中的錯(cuò)誤觀點(diǎn)2.軟件需求分析很困難,不管三七二十一先把軟件做了再說,反正軟件是靈活的,隨時(shí)可以修改。1.只要掌握了1-2門程序設(shè)計(jì)語言,進(jìn)行軟件開發(fā)就沒有問題。總之,錯(cuò)誤認(rèn)為:軟件就是程序,開發(fā)軟件就是編寫程序。3.只要有最好的開發(fā)工具、最好的計(jì)算機(jī),一定能做出優(yōu)秀的軟件。
本課程學(xué)習(xí)的主要內(nèi)容1.傳統(tǒng)的軟件工程方法2.面向?qū)ο蟮慕<夹g(shù)—UML統(tǒng)一建模語言3.軟件項(xiàng)目管理及CMM(軟件能力成熟度模型)4.軟件復(fù)用及構(gòu)件工程
本課程以傳統(tǒng)的軟件工程技術(shù)為基礎(chǔ),主要討論如何應(yīng)用軟件工程的最新技術(shù)—UML統(tǒng)一建模語言進(jìn)行軟件開發(fā),提高軟件開發(fā)的水平和技術(shù)。教材及主要參考書作者:許家珆主編白忠建,彭德中,吳磊編寫出版社:電子工業(yè)出版社1.軟件工程—方法與實(shí)踐
本書是在吸取了國內(nèi)外有關(guān)教材的精華,并結(jié)合編者多年來進(jìn)行軟件工程的教學(xué)及軟件開發(fā)實(shí)踐的經(jīng)驗(yàn)、體會的基礎(chǔ)上編寫的。作者:許家珆曾翎彭德中出版社:高等教育出版社出版日期:2004-06-30配套光盤1張2.軟件工程—理論與實(shí)踐
本書是教育部新世紀(jì)網(wǎng)絡(luò)課程建設(shè)工程的子課題“軟件工程網(wǎng)絡(luò)課程”配套教材。其主要特色是理論與實(shí)踐密切結(jié)合,給出了“軟件工程課程設(shè)計(jì)”的相關(guān)指導(dǎo)。其第二版已評為國家十一五規(guī)劃教材,擬今年內(nèi)出版。教材及主要參考書教材及主要參考書3.軟件工程SoftwareEngineering,6thEdition作者:(英)IanSommerville出版社:機(jī)械工業(yè)出版社(影印版)
本書是英國著名軟件工程學(xué)家IanSommerville系統(tǒng)介紹軟件工程理論的力作,以要求極高的一類系統(tǒng)為實(shí)例,精辟透徹地闡述了軟件工程的內(nèi)涵。教材及主要參考書3.軟件工程:一位實(shí)踐者的方法(第7版)SoftwareEngineering:APractitioner'sApproach,SixthEdition作者:(美)RogerS.Pressman出版社:McGraw-HillScience/Engineering/Math參考網(wǎng)站http://
軟件工程網(wǎng)卡內(nèi)基梅大學(xué)軟件工程研究所/
對象技術(shù)和構(gòu)件技術(shù)鏈接Rational公司http://OMG(ObjectManagementGroup)http://
軟件工程網(wǎng)卡內(nèi)基梅大學(xué)軟件工程研究所/
對象技術(shù)和構(gòu)件技術(shù)鏈接Rational公司第一章1概述1.1軟件工程的產(chǎn)生和發(fā)展
軟件工程(SoftwareEngineering)是在克服60年代末所出現(xiàn)的“軟件危機(jī)”的過程中逐漸形成與發(fā)展的。
隨著互聯(lián)網(wǎng)平臺和環(huán)境的迅速發(fā)展,對軟件工程的發(fā)展產(chǎn)生了變革性的巨大影響,網(wǎng)格計(jì)算、普適計(jì)算、中間件、網(wǎng)構(gòu)軟件等一批新技術(shù)和理念,從網(wǎng)絡(luò)資源共享與管理,人機(jī)交互及軟件服務(wù)等各方面提出了軟件技術(shù)的新課題。
軟件工程的發(fā)展已經(jīng)歷了四個(gè)重要階段:4.第四代軟件工程—
構(gòu)件工程3.第三代軟件工程—
過程工程2.第二代軟件工程—
對象工程1.第一代軟件工程—
傳統(tǒng)的軟件工程軟件工程的發(fā)展已經(jīng)歷了四個(gè)重要階段:1.第一代軟件工程—
傳統(tǒng)的軟件工程2.第二代軟件工程—
對象工程3.第三代軟件工程—
過程工程4.第四代軟件工程—
構(gòu)件工程60年代末到70年代為了克服“軟件危機(jī)”(Softwarecrisis)提出“軟件工程”的名詞,將軟件開發(fā)納入工程化的軌道,基本形成軟件工程的概念、框架、技術(shù)和方法。稱為傳統(tǒng)的軟件工程。軟件工程的發(fā)展已經(jīng)歷了四個(gè)重要階段:1、第一代軟件工程—
傳統(tǒng)的軟件工程2、第二代軟件工程—
對象工程3、第三代軟件工程—
過程工程4、第四代軟件工程—
構(gòu)件工程
80年代中到90年代,面向?qū)ο蟮姆椒ㄅc技術(shù)得到發(fā)展,研究的重點(diǎn)轉(zhuǎn)移到面向?qū)ο蟮姆治雠c設(shè)計(jì),演化為一種完整的軟件開發(fā)方法和系統(tǒng)的技術(shù)體系,稱為對象工程。軟件工程的發(fā)展已經(jīng)歷了四個(gè)重要階段:1、第一代軟件工程—
傳統(tǒng)的軟件工程2、第二代軟件工程—
對象工程3、第三代軟件工程—
過程工程4、第四代軟件工程—
構(gòu)件工程
80年代中開始,人們在軟件開發(fā)的實(shí)踐過程中認(rèn)識到:提高軟件生產(chǎn)率,保證軟件質(zhì)量的關(guān)鍵是“軟件過程”,是軟件開發(fā)和維護(hù)中的管理和支持能力,逐步形成軟件過程工程。軟件工程的發(fā)展已經(jīng)歷了四個(gè)重要階段:1、第一代軟件工程—
傳統(tǒng)的軟件工程2、第二代軟件工程—
對象工程3、第三代軟件工程—
過程工程4、第四代軟件工程—
構(gòu)件工程
90起年代,基于構(gòu)件(Component)的開發(fā)方法取得重要進(jìn)展,軟件系統(tǒng)的開發(fā)可通過使用現(xiàn)成的可復(fù)用構(gòu)件組裝完成,而無需從頭開始構(gòu)造,以此達(dá)到提高效率和質(zhì)量,降低成本的目的。稱為構(gòu)件工程。
軟件工程是一門新興的邊緣學(xué)科,涉及的學(xué)科多,研究的范圍廣,研究的主要內(nèi)容有以下幾方面:}
軟件開發(fā)技術(shù)軟件開發(fā)方法、技術(shù)軟件開發(fā)工具及環(huán)境軟件管理技術(shù)軟件規(guī)范(國際規(guī)范)}
軟件管理技術(shù)是指在軟件工具的支持下,所進(jìn)行的一系列軟件開發(fā)和進(jìn)化的活動(dòng)。通常包括以下四類基本過程:1、軟件規(guī)格說明:規(guī)定軟件的功能及其運(yùn)行環(huán)境。2、軟件開發(fā):產(chǎn)生滿足規(guī)格說明的軟件。3、軟件確認(rèn):確認(rèn)軟件能夠完成客戶提出的要求。4、軟件演進(jìn):為滿足客戶的變更要求,軟件必須在使用的過程中演進(jìn)。軟件工程過程
(Softwareengineeringprocess)1.2軟件工程過程與軟件生存期軟件生命周期(SDLD)軟件生命周期是指從軟件開始開發(fā)到報(bào)廢的全過程,亦稱軟件生存期(softwarelifecycle)。一般用經(jīng)典的瀑布模型來描述。GB8567中規(guī)定,軟件生命周期分為7個(gè)階段:1.可行性研究和項(xiàng)目開發(fā)計(jì)劃2.
需求分析3.概要設(shè)計(jì)4.
詳細(xì)設(shè)計(jì)5.編碼6.
測試7.維護(hù)
在大部分文獻(xiàn)中將生存周期劃分為5個(gè)階段,即需求定義、設(shè)計(jì)、編碼、測試及維護(hù)。其中需求定義階段包括可行性研究和項(xiàng)目開發(fā)計(jì)劃、需求分析,設(shè)計(jì)階段包括概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。1.3軟件開發(fā)模型軟件開發(fā)模型是描述軟件開發(fā)過程中各種活動(dòng)如何執(zhí)行的模型。因此又稱為軟件過程模型。軟件過程模型是對軟件開發(fā)實(shí)際過程的抽象和簡化。
目前典型的軟件開發(fā)模型有:
瀑布模型、增量模型、螺旋模型、噴泉模型和快速原型模型等。不同的開發(fā)方法有不同的軟件過程模型。瀑布模型問題定義編碼需求分析軟件設(shè)計(jì)可行性研究運(yùn)行與維護(hù)測試開發(fā)時(shí)期運(yùn)行時(shí)期計(jì)劃時(shí)期(目標(biāo)與范圍說明書)(可行性論證論告)(維護(hù)報(bào)告)(測試報(bào)告)(程序)(設(shè)計(jì)文檔)(需求說明書)瀑布模型(1)一步錯(cuò),步步錯(cuò)。最終可能從頭到尾重新修改。(2)開發(fā)人員常常陷入“阻塞狀態(tài)”,人力資源的運(yùn)用不合理。增量模型(incrementalmodel)
增量模型由若干個(gè)開發(fā)序列構(gòu)成,每個(gè)序列均采用瀑布模型來開發(fā)可以發(fā)行的“增量”,。每個(gè)“增量”都是在原有軟件基礎(chǔ)上開發(fā)出來的,每產(chǎn)生一個(gè)“增量”相當(dāng)于推出一個(gè)軟件新版本。這個(gè)過程不斷地重復(fù),直到產(chǎn)生最終的完善的產(chǎn)品。例如采用增量模型開發(fā)字處理軟件可以在第一個(gè)“增量”中實(shí)現(xiàn)基本的文件管理、文檔編輯等功能在第二個(gè)“增量”中實(shí)現(xiàn)拼寫和語法檢查功能在第三個(gè)“增量”中實(shí)現(xiàn)高級的頁面布局功能。
增量模型是多段的瀑布模型,如果項(xiàng)目比較復(fù)雜,就把它分成若干個(gè)版本來開發(fā)。由此帶來的好處有:(1)抗“變化”能力比瀑布模型強(qiáng)。(2)每個(gè)“增量”實(shí)現(xiàn)后就可以交給用戶使用,可以邊開發(fā)、邊使用。不象瀑布模型,非得要等到全部工作做完了才可以使用。采用增量模型的主要難點(diǎn)是,新開發(fā)的“增量”在合并入原有軟件系統(tǒng)時(shí),必須保證不破壞原來構(gòu)造好了的東西。此外,現(xiàn)有的軟件系統(tǒng)必須具備良好的可擴(kuò)展性,加入新的“增量”的過程應(yīng)當(dāng)簡便。做到這一點(diǎn)并不很容易,對系統(tǒng)設(shè)計(jì)師的水平要求頗高。
在很多時(shí)候,無法獲得明確的、詳細(xì)的需求。如果匆匆地開發(fā)軟件,無疑會冒很大的風(fēng)險(xiǎn)。但是又不能干等著,因?yàn)樾枨蟛粫詣?dòng)送上門來。
快速原型模型應(yīng)運(yùn)而生,它的主要用途就是獲取與驗(yàn)證需求。首先由開發(fā)人員構(gòu)造原型,然后讓用戶體驗(yàn)該原型。
一般地,當(dāng)用戶面對一個(gè)可操作的軟件原型時(shí),他比較容易說清楚“需要什么”和“不要什么”。從而有助于分析人員獲取更詳細(xì)的需求以及驗(yàn)證需求是否正確。
快速原型模型原型內(nèi)部結(jié)構(gòu)及其實(shí)現(xiàn)細(xì)節(jié)并不重要,重要的是原型必須能被快速地構(gòu)造出來,以迅速反映用戶的需求。一旦需求明確了,原型就完成了使命,應(yīng)該保留還是拋棄,就看此原型是否值得復(fù)用。最好的情況是原型與正式產(chǎn)品的框架完全吻合。這樣,原型的開發(fā)既快又不浪費(fèi)。由于快速原型模型的主要目的是獲取與驗(yàn)證需求,光采用該模型并不能開發(fā)出最終軟件??焖僭湍P屯ǔEc其它軟件工程模型結(jié)合使用。例如可以先用快速原型模型確定用戶真正的需求,然后采用瀑布模型進(jìn)行正式的軟件開發(fā)。
螺旋模型
對于大型軟件,只開發(fā)一個(gè)原型往往達(dá)不到要求。螺旋模型將瀑布模型和增量模型結(jié)合起來,并加入了風(fēng)險(xiǎn)分析。
螺旋模型將開發(fā)過程分為幾個(gè)螺旋周期,每個(gè)螺旋周期可分為4個(gè)工作步驟:
第一,確定目標(biāo)、方案和限制條件;
第二,評估方案、標(biāo)識風(fēng)險(xiǎn)和解決風(fēng)險(xiǎn);
第三,開發(fā)確認(rèn)產(chǎn)品;
第四,計(jì)劃下一周期工作。噴泉模型分析系統(tǒng)設(shè)計(jì)軟件設(shè)計(jì)實(shí)現(xiàn)噴泉模型
噴泉模型其實(shí)是瀑布模型的另一種表述,只是它的“重疊”與“迭代”特性比瀑布模型畫得更加形象。它克服了瀑布模型不支持軟件重用和多項(xiàng)開發(fā)活動(dòng)集成的局限性,噴泉模型使開發(fā)過程具有迭代性和無間隙性。其特點(diǎn)如下:1.開發(fā)過程有分析、系統(tǒng)設(shè)計(jì)、軟件設(shè)計(jì)和實(shí)現(xiàn)4個(gè)階段。2.各階段相互重疊,它反映了軟件過程并行性的特點(diǎn)。3.以分析為基礎(chǔ),資源消耗成塔型。4.反映了軟件過程迭代性的自然特性,從高層返回低層無資源消耗。5.強(qiáng)調(diào)增量開發(fā),整個(gè)過程是一個(gè)迭代的逐步提煉的過程。1.4軟件開發(fā)方法
軟件開發(fā)的目標(biāo)是要在規(guī)定的投資和時(shí)間內(nèi),開發(fā)出符合用戶的需求,高質(zhì)量的軟件,為此需要有成功的開發(fā)方法。軟件開發(fā)方法結(jié)構(gòu)化開發(fā)方法原型化開發(fā)方法面向?qū)ο蟮拈_發(fā)方法結(jié)構(gòu)化開發(fā)方法(StructuredDevelopingMethod)是現(xiàn)有的軟件開發(fā)方法中最成熟,應(yīng)用最廣泛的方法,主要特點(diǎn)是快速,自然和方便。結(jié)構(gòu)化方法總的指導(dǎo)思想自頂向下、逐步求精。它的基本原則是功能的分解與抽象。一、結(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)化方法什么是原型化方法(PrototypingMethod)原型化方法及其工作模型
原型——是軟件的一個(gè)早期可運(yùn)行的版本,它反映了最終系統(tǒng)的部分重要特性。原型化方法的基本思想是花費(fèi)少量代價(jià)建立一個(gè)可運(yùn)行的系統(tǒng),使用戶及早獲得學(xué)習(xí)的機(jī)會。原型化方法又稱速成原型法(RapidPrototyping)。原型化方法及其工作模型
1、廢棄(throwaway)型
RSP法(RapidSpecificPrototyping)快速建立需求規(guī)格原型。
2、追加(addon)型
RCP法(RapidCyclicPrototyping)快速建立
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 任務(wù)保證金合同范例
- 全額購房合同范例
- 2025年上半年中學(xué)教師工作總結(jié)模版
- 買地協(xié)議合同范例
- 仿古門窗供貨合同范例
- 人教版物理八年級下冊知識點(diǎn)總結(jié)模版
- 上海施工合同范例2004
- 醫(yī)療行業(yè)辦公用品供應(yīng)鏈的優(yōu)化
- 區(qū)塊鏈賦能智慧城市建設(shè)的十個(gè)方向
- l禮盒銷售合同范例
- 電波流速儀測流規(guī)程DB41-T 2229-2022
- 2024年中國辦公信創(chuàng)場景實(shí)踐研究報(bào)告
- DB43-T 3008-2024 三維地理信息模型數(shù)據(jù)產(chǎn)品質(zhì)量檢查與驗(yàn)收技術(shù)規(guī)范
- 2023年云南省初中學(xué)業(yè)水平考試信息技術(shù)總復(fù)習(xí)資料
- DL∕T 1250-2013 氣體絕緣金屬封閉開關(guān)設(shè)備帶電超聲局部放電檢測應(yīng)用導(dǎo)則
- (正式版)CB∕T 4554-2024 船舶制造艙室通風(fēng)作業(yè)安全管理規(guī)定
- 《新能源汽車地下停放場所消防安全管理規(guī)范》編制說明
- SL+336-2006水土保持工程質(zhì)量評定規(guī)程
- DL-T5181-2017水電水利工程錨噴支護(hù)施工規(guī)范
- 雷雨-劇本原文-高中語文雷雨劇本原文
- 北京高中化學(xué)學(xué)業(yè)水平考試合格考知識點(diǎn)總結(jié)
評論
0/150
提交評論