軟件工程軟件工程概論_第1頁
軟件工程軟件工程概論_第2頁
軟件工程軟件工程概論_第3頁
軟件工程軟件工程概論_第4頁
軟件工程軟件工程概論_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

軟件工程軟件工程概論軟件工程軟件工程概論軟件工程軟件工程概論1.軟件與軟件的組成軟件的組成:包括程序、數(shù)據(jù)及其相關(guān)的文檔的完整集合。軟件程序數(shù)據(jù)文檔1.1.1軟件1.1軟件與軟件工程程序是按事先設(shè)計(jì)的功能和性能要求執(zhí)行的指令序列。數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu)。文檔是與程序開發(fā),維護(hù)和使用有關(guān)的圖文材料。2.軟件的特點(diǎn)軟件是一種邏輯實(shí)體,而不是具體的物理實(shí)體,因而它具有抽象性,軟件是一種無形(看不見,摸不著)的邏輯實(shí)體,需要安裝在計(jì)算機(jī)中才能運(yùn)行。軟件的生產(chǎn)與硬件不同,軟件的生產(chǎn)方式是開發(fā),是人的智力勞動(dòng)的成果,是知識(shí)與技術(shù)轉(zhuǎn)化而成的一種信息產(chǎn)品。在軟件的運(yùn)行和使用期間,沒有硬件那樣的機(jī)械磨損、銹蝕等問題,但需要維護(hù)。軟件的開發(fā)和運(yùn)行常受到計(jì)算機(jī)系統(tǒng)的限制,對(duì)計(jì)算機(jī)系統(tǒng)有著不同程度的依賴性。開發(fā)工作的勞動(dòng)強(qiáng)度決定了軟件開發(fā)需要有效的軟件開發(fā)工具或軟件開發(fā)環(huán)境。軟件的開發(fā)至今尚未完全擺脫手工操作的開發(fā)方式。軟件本身是復(fù)雜的,因?yàn)閷?shí)際問題的復(fù)雜性;程序邏輯結(jié)構(gòu)的復(fù)雜性。軟件的特點(diǎn)之二軟件成本相當(dāng)昂貴,軟件的開銷大大超過硬件的開銷。相當(dāng)多的軟件開發(fā)、運(yùn)行、管理工作涉及到社會(huì)因素。軟件的特點(diǎn)之三3.軟件的分類按軟件的功能分類:系統(tǒng)軟件,如OS、DBMS等;支撐軟件,如Office、VB、Delphi等;應(yīng)用軟件,MIS、CAD、CAE等。其它分類工作方式分類:批處理、交互式;規(guī)模分類:大、中、??;體系結(jié)構(gòu)分類:C/S、B/S;

C/S結(jié)構(gòu),即Client/Server(客戶機(jī)/服務(wù)器)結(jié)構(gòu),是大家熟知的軟件系統(tǒng)體系結(jié)構(gòu),通過將任務(wù)合理分配到Client端和Server端,降低了系統(tǒng)的通訊開銷,可以充分利用兩端硬件環(huán)境的優(yōu)勢(shì)。早期的軟件系統(tǒng)多以此作為首選設(shè)計(jì)標(biāo)準(zhǔn)。

B/S結(jié)構(gòu),即Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶界面完全通過WWW瀏覽器實(shí)現(xiàn),一部分事務(wù)邏輯在前端實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn),一種新的軟件系統(tǒng)構(gòu)造技術(shù)。面向服務(wù)的體系結(jié)構(gòu)(Service-OrientedArchitecture,SOA)是一個(gè)組件模型,它將應(yīng)用程序的不同功能單元(稱為服務(wù))通過這些服務(wù)之間定義良好的接口和契約聯(lián)系起來。接口是采用中立的方式進(jìn)行定義的,它應(yīng)該獨(dú)立于實(shí)現(xiàn)服務(wù)的硬件平臺(tái)、操作系統(tǒng)和編程語言。這使得構(gòu)建在各種這樣的系統(tǒng)中的服務(wù)可以一種統(tǒng)一和通用的方式進(jìn)行交互4.軟件發(fā)展階段程序設(shè)計(jì)階段—50至60年代程序系統(tǒng)階段—60至70年代 軟件工程階段—70年代以后1.1.2軟件工程(軟件危機(jī)、軟件工程)軟件開發(fā)無計(jì)劃性,不能正確地估計(jì)軟件開發(fā)成本和進(jìn)度,致使實(shí)際開發(fā)成本往往高出預(yù)算很多。軟件需求不充分,軟件產(chǎn)品不可靠,滿足不了用戶的需求,甚至無法使用。軟件開發(fā)人員的合作障礙。軟件的產(chǎn)權(quán)保護(hù)問題。交付使用的軟件不易演化,以至于人們不得不重復(fù)開發(fā)類似的軟件。軟件生產(chǎn)率低下,缺乏有力的開發(fā)工具支持,遠(yuǎn)遠(yuǎn)滿足不了社會(huì)發(fā)展的需求。1.軟件危機(jī)2.解決軟件危機(jī)的途徑----軟件工程技術(shù)措施(方法和工具)要有必要的組織管理措施軟件工程的定義概括地說,軟件工程是指導(dǎo)計(jì)算機(jī)軟件開發(fā)和維護(hù)的一門工程學(xué)科。采用工程化的方法來開發(fā)和維護(hù)軟件,把經(jīng)過時(shí)間考驗(yàn)而證明正確的工程管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來,以經(jīng)濟(jì)地開發(fā)出高質(zhì)量的軟件并有效地維護(hù)它,這就是軟件工程。軟件工程的其它定義軟件工程有過許多的定義,如:Boehm:運(yùn)用現(xiàn)代科學(xué)技術(shù)知識(shí)來設(shè)計(jì)并構(gòu)造計(jì)算機(jī)程序及為開發(fā)、運(yùn)行和維護(hù)這些程序所必需的相關(guān)文件資料IEEE:軟件工程是開發(fā)、運(yùn)行、維護(hù)和修復(fù)軟件的系統(tǒng)方法FritzBauer:建立并使用完善的工程化原則,以較經(jīng)濟(jì)的手段獲得能在實(shí)際機(jī)器上有效運(yùn)行的可靠軟件的一系列方法軟件工程三要素:方法、工具和過程方法是完成軟件開發(fā)的各項(xiàng)任務(wù)的技術(shù)方法,為軟件開發(fā)提供“如何做”的技術(shù)。工具是為運(yùn)用方法而提供的自動(dòng)的或半自動(dòng)的軟件工程的支撐環(huán)境;過程是為了獲得高質(zhì)量的軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。目前使用最廣泛的軟件工程方法學(xué),分別是傳統(tǒng)方法學(xué)和面向?qū)ο蠓椒▽W(xué)。1.建模模型是一個(gè)系統(tǒng)的抽象表示,它能夠回答關(guān)于這個(gè)系統(tǒng)的問題。模型還是可視化的,能夠讓我們理解那些不存在或僅僅聲稱存在的系統(tǒng),并且有利于交流。2.問題求解軟件工程是問題求解活動(dòng)。求解方法包括以下步驟:形式化問題,分析問題,尋找解決方案問題,確定合適的解決方案,詳細(xì)說明解決方案。 1.1.3軟件工程的活動(dòng)3.知識(shí)獲取知識(shí)獲取是非線性的,對(duì)于軟件開發(fā)過程的建模具有非常重要的意義。4.決策知識(shí)開發(fā)人員對(duì)系統(tǒng)所作的假設(shè)總是在變化,求解域的模型也總是在變化。軟件工程的活動(dòng)之二確認(rèn)測(cè)試可行性研究、指定初步軟件項(xiàng)目計(jì)劃概要設(shè)計(jì)需求分析、制定需求規(guī)格說明詳細(xì)設(shè)計(jì)組裝測(cè)試實(shí)現(xiàn)使用退役維護(hù)1.2

軟件的生存周期軟件產(chǎn)品從形成概念開始,經(jīng)過開發(fā)、使用和維護(hù),直到最后退役的全過程稱為軟件生存周期包括軟件定義、軟件開發(fā)、軟件使用維護(hù)退役。軟件生存期的定義可行性研究的任務(wù)是了解用戶的要求及現(xiàn)實(shí)環(huán)境,從技術(shù)、經(jīng)濟(jì)和社會(huì)等幾個(gè)方面研究并論證軟件系統(tǒng)的可行性。軟件需求規(guī)格說明軟件定義{軟件系統(tǒng)的可行性研究需求分析{

任務(wù)重要性與困難需求分析過程1.軟件定義需求分析問題定義和可行性研究的主要任務(wù)都是概括地了解用戶的需求,為了簡潔地描述軟件過程,把它們都?xì)w并到需求分析中。在軟件生存周期模型中,軟件開發(fā)由需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、實(shí)現(xiàn)、組裝測(cè)試和確認(rèn)測(cè)試等主要階段組成。(1)需求分析(2)概要設(shè)計(jì)(3)詳細(xì)設(shè)計(jì)(4)實(shí)現(xiàn)(5)組裝測(cè)試(6)確認(rèn)測(cè)試2.軟件開發(fā)軟件設(shè)計(jì)概要設(shè)計(jì)—把各項(xiàng)需求轉(zhuǎn)換成軟件的體系結(jié)構(gòu)。結(jié)構(gòu)中每一組成部分都是意義明確的模塊,每個(gè)模塊都和某些需求相對(duì)應(yīng)。詳細(xì)設(shè)計(jì)—對(duì)每個(gè)模塊要完成的工作進(jìn)行具體的描述,為源程序編寫打下基礎(chǔ)。編寫設(shè)計(jì)說明書,提交評(píng)審。為簡潔起見,把總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)合并在一起稱為“軟件設(shè)計(jì)”。程序編寫程序員根據(jù)目標(biāo)系統(tǒng)的性質(zhì)和實(shí)際環(huán)境,選取一種適當(dāng)?shù)母呒?jí)程序設(shè)計(jì)語言,把詳細(xì)設(shè)計(jì)的結(jié)果翻譯成用選定的語言書寫的程序,即“源程序清單”。寫出的程序應(yīng)當(dāng)是結(jié)構(gòu)良好、清晰易讀的,且與設(shè)計(jì)相一致。軟件測(cè)試通過各種類型的測(cè)試(或調(diào)試)使軟件達(dá)到預(yù)定的要求。單元測(cè)試,查找各模塊在功能和結(jié)構(gòu)上存在的問題并加以糾正。集成測(cè)試,將已測(cè)試過的模塊按某種選定的策略組裝起來。驗(yàn)收測(cè)試,按照規(guī)格說明書的規(guī)定,由用戶對(duì)目標(biāo)系統(tǒng)進(jìn)行驗(yàn)收。即根據(jù)各項(xiàng)需求,逐項(xiàng)進(jìn)行有效性測(cè)試,確定已開發(fā)的軟件是否合格,能否使用??尚行匝芯啃枨蠓治鲈敿?xì)設(shè)計(jì)編碼與調(diào)試概要設(shè)計(jì)單元測(cè)試組裝測(cè)試確認(rèn)測(cè)試運(yùn)行3.軟件使用、維護(hù)和退役運(yùn)行維護(hù)通過各種必要的維護(hù)活動(dòng)使軟件系統(tǒng)持久地滿足用戶的需要,通常有4類:改正性維護(hù):運(yùn)行中發(fā)現(xiàn)了軟件中的錯(cuò)誤需要修正。適應(yīng)性維護(hù):為了適應(yīng)變化了的軟件工作環(huán)境,需做適當(dāng)變更。完善性維護(hù):為了增強(qiáng)軟件的功能需做變更。預(yù)防性維護(hù),即修改軟件為將來的維護(hù)活動(dòng)預(yù)先做準(zhǔn)備。軟件開發(fā)模型給出了軟件開發(fā)活動(dòng)各階段之間的關(guān)系。1.瀑布模型2.快速模型3.增量模型 4.螺旋模型5.基于構(gòu)件的開發(fā)模型6.極限編程1.3軟件過程組裝測(cè)試可行性研究需求分析概要設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼與調(diào)試單元測(cè)試確認(rèn)測(cè)試運(yùn)行與維護(hù)退役1.瀑布模型瀑布模型的特點(diǎn)階段間具有順序性和依賴性:1.完成前一階段開始后一階段2.前一階段的輸出文檔是后一階段的輸入文檔質(zhì)量保證的觀點(diǎn)1.每個(gè)階段都必須完成規(guī)定的文檔,沒有交出合格的文檔就是沒有完成該階段的任務(wù)。2.每個(gè)階段結(jié)束前都要對(duì)所完成的文檔進(jìn)行評(píng)審,以便盡早發(fā)現(xiàn)問題,改正錯(cuò)誤。需求的采集和細(xì)化生產(chǎn)樣品對(duì)原型加工客戶評(píng)價(jià)原型建造原型快速設(shè)計(jì)開始停止2.快速原型模型原型模型由于在項(xiàng)目開發(fā)的初始階段人們對(duì)軟件的需求認(rèn)識(shí)常常不夠清晰,因而使得開發(fā)項(xiàng)目難于做到一次開發(fā)成功,出現(xiàn)返工再開發(fā)在所難免。第一步只是試驗(yàn)開發(fā),其目標(biāo)只是在于探索可行性,弄清軟件需求。第二步則在此基礎(chǔ)上獲得較為滿意的軟件產(chǎn)品。螺旋模型螺旋模型沿著螺線旋轉(zhuǎn),在四個(gè)象限上分別表達(dá)了四個(gè)方面的活動(dòng),即:制定計(jì)劃──確定軟件目標(biāo),選定實(shí)施方案,弄清項(xiàng)目開發(fā)的限制條件。風(fēng)險(xiǎn)分析──分析所選方案,考慮如何識(shí)別和消除風(fēng)險(xiǎn)。實(shí)施工程──實(shí)施軟件開發(fā)??蛻粼u(píng)估──評(píng)價(jià)開發(fā)工作,提出修改建議。

極限編程(XP)是一種

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論