第1章軟件工程概述_第1頁
第1章軟件工程概述_第2頁
第1章軟件工程概述_第3頁
第1章軟件工程概述_第4頁
第1章軟件工程概述_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

軟件工程基礎軟件教研室張翼飛Tel.89723956E-mail:zhangyifei@學習“軟件工程”的目的和意義學會如何在現代IT企業(yè)的環(huán)境中做一個成功者;學會如何做世界級的、高質量的研究;學會如何創(chuàng)建大規(guī)模的軟件產品。

——微軟全球資深副總裁原微軟亞洲研究院院長首席科學家張亞勤

一、全球軟件產業(yè)的現狀、趨勢與挑戰(zhàn)TheChallengesandOpportunitiesoftheGlobalSoftwareIndustry.軟件產業(yè)的網絡化趨勢軟件產業(yè)的服務化趨勢軟件產業(yè)的全球化趨勢智能網絡(IntelligentWeb)·從靜態(tài)網到動態(tài)網·從被動方式到主動方式·從呈現信息和瀏覽的窗口到智能生成的平臺·從HTML到XML一、全球軟件產業(yè)的現狀、趨勢與挑戰(zhàn)TheChallengesandOpportunitiesoftheGlobalSoftwareIndustry.軟件產業(yè)的網絡化趨勢軟件產業(yè)的服務化趨勢軟件產業(yè)的全球化趨勢

相對目前“打包式”軟件,為用戶提供智能化的“服務式”軟件。一、全球軟件產業(yè)的現狀、趨勢與挑戰(zhàn)TheChallengesandOpportunitiesoftheGlobalSoftwareIndustry.軟件產業(yè)的網絡化趨勢軟件產業(yè)的服務化趨勢軟件產業(yè)的全球化趨勢·強調開放性、交互性·支持主流的開放式標準·人才的全球化對中國軟件企業(yè)有什么啟示和挑戰(zhàn)?TalentBeyondTechnology_WhatKindofTalentWeNeedforModernSoftwareDevelopment扎實的基礎創(chuàng)新、獨立的工作能力主人翁精神和團隊精神勾通與協調能力成就感強、有激情自覺地干好工作契而不舍,從錯誤中學習二、現代軟件開發(fā)對人才的要求

我國復合型軟件人才匱乏,培養(yǎng)適應迅速變化的市場需求的復合型軟件人才已是迫在眉睫。三、信息化建設中對復合型軟件人才的需求

復合型軟件人才—具備不同專業(yè)背景、有市場觀念的開發(fā)管理、工程管理和軟件經營等復合型軟件人才;四、軟件開發(fā)中的錯誤觀點2.軟件需求分析很困難,不管三七二十一先把軟件做了再說,反正軟件是靈活的,隨時可以修改。1.只要掌握了1-2門程序設計語言,進行軟件開發(fā)就沒有問題??傊e誤認為:軟件就是程序,開發(fā)軟件就是編寫程序。3.只要有最好的開發(fā)工具、最好的計算機,一定能做出優(yōu)秀的軟件。

本課程學習的主要內容1.傳統(tǒng)的軟件工程方法2.面向對象的建模技術—UML統(tǒng)一建模語言3.軟件項目管理及CMM(軟件能力成熟度模型)4.軟件復用及構件工程

本課程以傳統(tǒng)的軟件工程技術為基礎,主要討論如何應用軟件工程的最新技術—UML統(tǒng)一建模語言進行軟件開發(fā),提高軟件開發(fā)的水平和技術。教材及主要參考書作者:許家珆主編白忠建,彭德中,吳磊編寫出版社:電子工業(yè)出版社1.軟件工程—方法與實踐

本書是在吸取了國內外有關教材的精華,并結合編者多年來進行軟件工程的教學及軟件開發(fā)實踐的經驗、體會的基礎上編寫的。作者:許家珆曾翎彭德中出版社:高等教育出版社出版日期:2004-06-30配套光盤1張2.軟件工程—理論與實踐

本書是教育部新世紀網絡課程建設工程的子課題“軟件工程網絡課程”配套教材。其主要特色是理論與實踐密切結合,給出了“軟件工程課程設計”的相關指導。其第二版已評為國家十一五規(guī)劃教材,擬今年內出版。教材及主要參考書教材及主要參考書3.軟件工程SoftwareEngineering,6thEdition作者:(英)IanSommerville出版社:機械工業(yè)出版社(影印版)

本書是英國著名軟件工程學家IanSommerville系統(tǒng)介紹軟件工程理論的力作,以要求極高的一類系統(tǒng)為實例,精辟透徹地闡述了軟件工程的內涵。教材及主要參考書3.軟件工程:一位實踐者的方法(第7版)SoftwareEngineering:APractitioner'sApproach,SixthEdition作者:(美)RogerS.Pressman出版社:McGraw-HillScience/Engineering/Math參考網站http://

軟件工程網卡內基梅大學軟件工程研究所/

對象技術和構件技術鏈接Rational公司http://OMG(ObjectManagementGroup)http://

軟件工程網卡內基梅大學軟件工程研究所/

對象技術和構件技術鏈接Rational公司第一章1概述1.1軟件工程的產生和發(fā)展

軟件工程(SoftwareEngineering)是在克服60年代末所出現的“軟件危機”的過程中逐漸形成與發(fā)展的。

隨著互聯網平臺和環(huán)境的迅速發(fā)展,對軟件工程的發(fā)展產生了變革性的巨大影響,網格計算、普適計算、中間件、網構軟件等一批新技術和理念,從網絡資源共享與管理,人機交互及軟件服務等各方面提出了軟件技術的新課題。

軟件工程的發(fā)展已經歷了四個重要階段:4.第四代軟件工程—

構件工程3.第三代軟件工程—

過程工程2.第二代軟件工程—

對象工程1.第一代軟件工程—

傳統(tǒng)的軟件工程軟件工程的發(fā)展已經歷了四個重要階段:1.第一代軟件工程—

傳統(tǒng)的軟件工程2.第二代軟件工程—

對象工程3.第三代軟件工程—

過程工程4.第四代軟件工程—

構件工程60年代末到70年代為了克服“軟件危機”(Softwarecrisis)提出“軟件工程”的名詞,將軟件開發(fā)納入工程化的軌道,基本形成軟件工程的概念、框架、技術和方法。稱為傳統(tǒng)的軟件工程。軟件工程的發(fā)展已經歷了四個重要階段:1、第一代軟件工程—

傳統(tǒng)的軟件工程2、第二代軟件工程—

對象工程3、第三代軟件工程—

過程工程4、第四代軟件工程—

構件工程

80年代中到90年代,面向對象的方法與技術得到發(fā)展,研究的重點轉移到面向對象的分析與設計,演化為一種完整的軟件開發(fā)方法和系統(tǒng)的技術體系,稱為對象工程。軟件工程的發(fā)展已經歷了四個重要階段:1、第一代軟件工程—

傳統(tǒng)的軟件工程2、第二代軟件工程—

對象工程3、第三代軟件工程—

過程工程4、第四代軟件工程—

構件工程

80年代中開始,人們在軟件開發(fā)的實踐過程中認識到:提高軟件生產率,保證軟件質量的關鍵是“軟件過程”,是軟件開發(fā)和維護中的管理和支持能力,逐步形成軟件過程工程。軟件工程的發(fā)展已經歷了四個重要階段:1、第一代軟件工程—

傳統(tǒng)的軟件工程2、第二代軟件工程—

對象工程3、第三代軟件工程—

過程工程4、第四代軟件工程—

構件工程

90起年代,基于構件(Component)的開發(fā)方法取得重要進展,軟件系統(tǒng)的開發(fā)可通過使用現成的可復用構件組裝完成,而無需從頭開始構造,以此達到提高效率和質量,降低成本的目的。稱為構件工程。

軟件工程是一門新興的邊緣學科,涉及的學科多,研究的范圍廣,研究的主要內容有以下幾方面:}

軟件開發(fā)技術軟件開發(fā)方法、技術軟件開發(fā)工具及環(huán)境軟件管理技術軟件規(guī)范(國際規(guī)范)}

軟件管理技術是指在軟件工具的支持下,所進行的一系列軟件開發(fā)和進化的活動。通常包括以下四類基本過程:1、軟件規(guī)格說明:規(guī)定軟件的功能及其運行環(huán)境。2、軟件開發(fā):產生滿足規(guī)格說明的軟件。3、軟件確認:確認軟件能夠完成客戶提出的要求。4、軟件演進:為滿足客戶的變更要求,軟件必須在使用的過程中演進。軟件工程過程

(Softwareengineeringprocess)1.2軟件工程過程與軟件生存期軟件生命周期(SDLD)軟件生命周期是指從軟件開始開發(fā)到報廢的全過程,亦稱軟件生存期(softwarelifecycle)。一般用經典的瀑布模型來描述。GB8567中規(guī)定,軟件生命周期分為7個階段:1.可行性研究和項目開發(fā)計劃2.

需求分析3.概要設計4.

詳細設計5.編碼6.

測試7.維護

在大部分文獻中將生存周期劃分為5個階段,即需求定義、設計、編碼、測試及維護。其中需求定義階段包括可行性研究和項目開發(fā)計劃、需求分析,設計階段包括概要設計和詳細設計。1.3軟件開發(fā)模型軟件開發(fā)模型是描述軟件開發(fā)過程中各種活動如何執(zhí)行的模型。因此又稱為軟件過程模型。軟件過程模型是對軟件開發(fā)實際過程的抽象和簡化。

目前典型的軟件開發(fā)模型有:

瀑布模型、增量模型、螺旋模型、噴泉模型和快速原型模型等。不同的開發(fā)方法有不同的軟件過程模型。瀑布模型問題定義編碼需求分析軟件設計可行性研究運行與維護測試開發(fā)時期運行時期計劃時期(目標與范圍說明書)(可行性論證論告)(維護報告)(測試報告)(程序)(設計文檔)(需求說明書)瀑布模型(1)一步錯,步步錯。最終可能從頭到尾重新修改。(2)開發(fā)人員常常陷入“阻塞狀態(tài)”,人力資源的運用不合理。增量模型(incrementalmodel)

增量模型由若干個開發(fā)序列構成,每個序列均采用瀑布模型來開發(fā)可以發(fā)行的“增量”,。每個“增量”都是在原有軟件基礎上開發(fā)出來的,每產生一個“增量”相當于推出一個軟件新版本。這個過程不斷地重復,直到產生最終的完善的產品。例如采用增量模型開發(fā)字處理軟件可以在第一個“增量”中實現基本的文件管理、文檔編輯等功能在第二個“增量”中實現拼寫和語法檢查功能在第三個“增量”中實現高級的頁面布局功能。

增量模型是多段的瀑布模型,如果項目比較復雜,就把它分成若干個版本來開發(fā)。由此帶來的好處有:(1)抗“變化”能力比瀑布模型強。(2)每個“增量”實現后就可以交給用戶使用,可以邊開發(fā)、邊使用。不象瀑布模型,非得要等到全部工作做完了才可以使用。采用增量模型的主要難點是,新開發(fā)的“增量”在合并入原有軟件系統(tǒng)時,必須保證不破壞原來構造好了的東西。此外,現有的軟件系統(tǒng)必須具備良好的可擴展性,加入新的“增量”的過程應當簡便。做到這一點并不很容易,對系統(tǒng)設計師的水平要求頗高。

在很多時候,無法獲得明確的、詳細的需求。如果匆匆地開發(fā)軟件,無疑會冒很大的風險。但是又不能干等著,因為需求不會自動送上門來。

快速原型模型應運而生,它的主要用途就是獲取與驗證需求。首先由開發(fā)人員構造原型,然后讓用戶體驗該原型。

一般地,當用戶面對一個可操作的軟件原型時,他比較容易說清楚“需要什么”和“不要什么”。從而有助于分析人員獲取更詳細的需求以及驗證需求是否正確。

快速原型模型原型內部結構及其實現細節(jié)并不重要,重要的是原型必須能被快速地構造出來,以迅速反映用戶的需求。一旦需求明確了,原型就完成了使命,應該保留還是拋棄,就看此原型是否值得復用。最好的情況是原型與正式產品的框架完全吻合。這樣,原型的開發(fā)既快又不浪費。由于快速原型模型的主要目的是獲取與驗證需求,光采用該模型并不能開發(fā)出最終軟件??焖僭湍P屯ǔEc其它軟件工程模型結合使用。例如可以先用快速原型模型確定用戶真正的需求,然后采用瀑布模型進行正式的軟件開發(fā)。

螺旋模型

對于大型軟件,只開發(fā)一個原型往往達不到要求。螺旋模型將瀑布模型和增量模型結合起來,并加入了風險分析。

螺旋模型將開發(fā)過程分為幾個螺旋周期,每個螺旋周期可分為4個工作步驟:

第一,確定目標、方案和限制條件;

第二,評估方案、標識風險和解決風險;

第三,開發(fā)確認產品;

第四,計劃下一周期工作。噴泉模型分析系統(tǒng)設計軟件設計實現噴泉模型

噴泉模型其實是瀑布模型的另一種表述,只是它的“重疊”與“迭代”特性比瀑布模型畫得更加形象。它克服了瀑布模型不支持軟件重用和多項開發(fā)活動集成的局限性,噴泉模型使開發(fā)過程具有迭代性和無間隙性。其特點如下:1.開發(fā)過程有分析、系統(tǒng)設計、軟件設計和實現4個階段。2.各階段相互重疊,它反映了軟件過程并行性的特點。3.以分析為基礎,資源消耗成塔型。4.反映了軟件過程迭代性的自然特性,從高層返回低層無資源消耗。5.強調增量開發(fā),整個過程是一個迭代的逐步提煉的過程。1.4軟件開發(fā)方法

軟件開發(fā)的目標是要在規(guī)定的投資和時間內,開發(fā)出符合用戶的需求,高質量的軟件,為此需要有成功的開發(fā)方法。軟件開發(fā)方法結構化開發(fā)方法原型化開發(fā)方法面向對象的開發(fā)方法結構化開發(fā)方法(StructuredDevelopingMethod)是現有的軟件開發(fā)方法中最成熟,應用最廣泛的方法,主要特點是快速,自然和方便。結構化方法總的指導思想自頂向下、逐步求精。它的基本原則是功能的分解與抽象。一、結構化開發(fā)方法的組成結構化程序設計方法SP法(StructuredProgram)結構化設計方法SD法(StructuredDesign)結構化分析方法SA法(StructuredAnalysis)SA,SD,SP法相互銜接,形成了一整套開發(fā)方法。結構化方法什么是原型化方法(PrototypingMethod)原型化方法及其工作模型

原型——是軟件的一個早期可運行的版本,它反映了最終系統(tǒng)的部分重要特性。原型化方法的基本思想是花費少量代價建立一個可運行的系統(tǒng),使用戶及早獲得學習的機會。原型化方法又稱速成原型法(RapidPrototyping)。原型化方法及其工作模型

1、廢棄(throwaway)型

RSP法(RapidSpecificPrototyping)快速建立需求規(guī)格原型。

2、追加(addon)型

RCP法(RapidCyclicPrototyping)快速建立

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論