




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
軟件工程軟件工程概論軟件工程軟件工程概論軟件工程軟件工程概論1.軟件與軟件的組成軟件的組成:包括程序、數(shù)據(jù)及其相關(guān)的文檔的完整集合。軟件程序數(shù)據(jù)文檔1.1.1軟件1.1軟件與軟件工程程序是按事先設(shè)計的功能和性能要求執(zhí)行的指令序列。數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu)。文檔是與程序開發(fā),維護和使用有關(guān)的圖文材料。2.軟件的特點軟件是一種邏輯實體,而不是具體的物理實體,因而它具有抽象性,軟件是一種無形(看不見,摸不著)的邏輯實體,需要安裝在計算機中才能運行。軟件的生產(chǎn)與硬件不同,軟件的生產(chǎn)方式是開發(fā),是人的智力勞動的成果,是知識與技術(shù)轉(zhuǎn)化而成的一種信息產(chǎn)品。在軟件的運行和使用期間,沒有硬件那樣的機械磨損、銹蝕等問題,但需要維護。軟件的開發(fā)和運行常受到計算機系統(tǒng)的限制,對計算機系統(tǒng)有著不同程度的依賴性。開發(fā)工作的勞動強度決定了軟件開發(fā)需要有效的軟件開發(fā)工具或軟件開發(fā)環(huán)境。軟件的開發(fā)至今尚未完全擺脫手工操作的開發(fā)方式。軟件本身是復雜的,因為實際問題的復雜性;程序邏輯結(jié)構(gòu)的復雜性。軟件的特點之二軟件成本相當昂貴,軟件的開銷大大超過硬件的開銷。相當多的軟件開發(fā)、運行、管理工作涉及到社會因素。軟件的特點之三3.軟件的分類按軟件的功能分類:系統(tǒng)軟件,如OS、DBMS等;支撐軟件,如Office、VB、Delphi等;應用軟件,MIS、CAD、CAE等。其它分類工作方式分類:批處理、交互式;規(guī)模分類:大、中、小;體系結(jié)構(gòu)分類:C/S、B/S;
C/S結(jié)構(gòu),即Client/Server(客戶機/服務器)結(jié)構(gòu),是大家熟知的軟件系統(tǒng)體系結(jié)構(gòu),通過將任務合理分配到Client端和Server端,降低了系統(tǒng)的通訊開銷,可以充分利用兩端硬件環(huán)境的優(yōu)勢。早期的軟件系統(tǒng)多以此作為首選設(shè)計標準。
B/S結(jié)構(gòu),即Browser/Server(瀏覽器/服務器)結(jié)構(gòu),是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改進的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶界面完全通過WWW瀏覽器實現(xiàn),一部分事務邏輯在前端實現(xiàn),但是主要事務邏輯在服務器端實現(xiàn),一種新的軟件系統(tǒng)構(gòu)造技術(shù)。面向服務的體系結(jié)構(gòu)(Service-OrientedArchitecture,SOA)是一個組件模型,它將應用程序的不同功能單元(稱為服務)通過這些服務之間定義良好的接口和契約聯(lián)系起來。接口是采用中立的方式進行定義的,它應該獨立于實現(xiàn)服務的硬件平臺、操作系統(tǒng)和編程語言。這使得構(gòu)建在各種這樣的系統(tǒng)中的服務可以一種統(tǒng)一和通用的方式進行交互4.軟件發(fā)展階段程序設(shè)計階段—50至60年代程序系統(tǒng)階段—60至70年代 軟件工程階段—70年代以后1.1.2軟件工程(軟件危機、軟件工程)軟件開發(fā)無計劃性,不能正確地估計軟件開發(fā)成本和進度,致使實際開發(fā)成本往往高出預算很多。軟件需求不充分,軟件產(chǎn)品不可靠,滿足不了用戶的需求,甚至無法使用。軟件開發(fā)人員的合作障礙。軟件的產(chǎn)權(quán)保護問題。交付使用的軟件不易演化,以至于人們不得不重復開發(fā)類似的軟件。軟件生產(chǎn)率低下,缺乏有力的開發(fā)工具支持,遠遠滿足不了社會發(fā)展的需求。1.軟件危機2.解決軟件危機的途徑----軟件工程技術(shù)措施(方法和工具)要有必要的組織管理措施軟件工程的定義概括地說,軟件工程是指導計算機軟件開發(fā)和維護的一門工程學科。采用工程化的方法來開發(fā)和維護軟件,把經(jīng)過時間考驗而證明正確的工程管理技術(shù)和當前能夠得到的最好的技術(shù)方法結(jié)合起來,以經(jīng)濟地開發(fā)出高質(zhì)量的軟件并有效地維護它,這就是軟件工程。軟件工程的其它定義軟件工程有過許多的定義,如:Boehm:運用現(xiàn)代科學技術(shù)知識來設(shè)計并構(gòu)造計算機程序及為開發(fā)、運行和維護這些程序所必需的相關(guān)文件資料IEEE:軟件工程是開發(fā)、運行、維護和修復軟件的系統(tǒng)方法FritzBauer:建立并使用完善的工程化原則,以較經(jīng)濟的手段獲得能在實際機器上有效運行的可靠軟件的一系列方法軟件工程三要素:方法、工具和過程方法是完成軟件開發(fā)的各項任務的技術(shù)方法,為軟件開發(fā)提供“如何做”的技術(shù)。工具是為運用方法而提供的自動的或半自動的軟件工程的支撐環(huán)境;過程是為了獲得高質(zhì)量的軟件所需要完成的一系列任務的框架,它規(guī)定了完成各項任務的工作步驟。目前使用最廣泛的軟件工程方法學,分別是傳統(tǒng)方法學和面向?qū)ο蠓椒▽W。1.建模模型是一個系統(tǒng)的抽象表示,它能夠回答關(guān)于這個系統(tǒng)的問題。模型還是可視化的,能夠讓我們理解那些不存在或僅僅聲稱存在的系統(tǒng),并且有利于交流。2.問題求解軟件工程是問題求解活動。求解方法包括以下步驟:形式化問題,分析問題,尋找解決方案問題,確定合適的解決方案,詳細說明解決方案。 1.1.3軟件工程的活動3.知識獲取知識獲取是非線性的,對于軟件開發(fā)過程的建模具有非常重要的意義。4.決策知識開發(fā)人員對系統(tǒng)所作的假設(shè)總是在變化,求解域的模型也總是在變化。軟件工程的活動之二確認測試可行性研究、指定初步軟件項目計劃概要設(shè)計需求分析、制定需求規(guī)格說明詳細設(shè)計組裝測試實現(xiàn)使用退役維護1.2
軟件的生存周期軟件產(chǎn)品從形成概念開始,經(jīng)過開發(fā)、使用和維護,直到最后退役的全過程稱為軟件生存周期包括軟件定義、軟件開發(fā)、軟件使用維護退役。軟件生存期的定義可行性研究的任務是了解用戶的要求及現(xiàn)實環(huán)境,從技術(shù)、經(jīng)濟和社會等幾個方面研究并論證軟件系統(tǒng)的可行性。軟件需求規(guī)格說明軟件定義{軟件系統(tǒng)的可行性研究需求分析{
任務重要性與困難需求分析過程1.軟件定義需求分析問題定義和可行性研究的主要任務都是概括地了解用戶的需求,為了簡潔地描述軟件過程,把它們都歸并到需求分析中。在軟件生存周期模型中,軟件開發(fā)由需求分析、概要設(shè)計、詳細設(shè)計、實現(xiàn)、組裝測試和確認測試等主要階段組成。(1)需求分析(2)概要設(shè)計(3)詳細設(shè)計(4)實現(xiàn)(5)組裝測試(6)確認測試2.軟件開發(fā)軟件設(shè)計概要設(shè)計—把各項需求轉(zhuǎn)換成軟件的體系結(jié)構(gòu)。結(jié)構(gòu)中每一組成部分都是意義明確的模塊,每個模塊都和某些需求相對應。詳細設(shè)計—對每個模塊要完成的工作進行具體的描述,為源程序編寫打下基礎(chǔ)。編寫設(shè)計說明書,提交評審。為簡潔起見,把總體設(shè)計和詳細設(shè)計合并在一起稱為“軟件設(shè)計”。程序編寫程序員根據(jù)目標系統(tǒng)的性質(zhì)和實際環(huán)境,選取一種適當?shù)母呒壋绦蛟O(shè)計語言,把詳細設(shè)計的結(jié)果翻譯成用選定的語言書寫的程序,即“源程序清單”。寫出的程序應當是結(jié)構(gòu)良好、清晰易讀的,且與設(shè)計相一致。軟件測試通過各種類型的測試(或調(diào)試)使軟件達到預定的要求。單元測試,查找各模塊在功能和結(jié)構(gòu)上存在的問題并加以糾正。集成測試,將已測試過的模塊按某種選定的策略組裝起來。驗收測試,按照規(guī)格說明書的規(guī)定,由用戶對目標系統(tǒng)進行驗收。即根據(jù)各項需求,逐項進行有效性測試,確定已開發(fā)的軟件是否合格,能否使用??尚行匝芯啃枨蠓治鲈敿氃O(shè)計編碼與調(diào)試概要設(shè)計單元測試組裝測試確認測試運行3.軟件使用、維護和退役運行維護通過各種必要的維護活動使軟件系統(tǒng)持久地滿足用戶的需要,通常有4類:改正性維護:運行中發(fā)現(xiàn)了軟件中的錯誤需要修正。適應性維護:為了適應變化了的軟件工作環(huán)境,需做適當變更。完善性維護:為了增強軟件的功能需做變更。預防性維護,即修改軟件為將來的維護活動預先做準備。軟件開發(fā)模型給出了軟件開發(fā)活動各階段之間的關(guān)系。1.瀑布模型2.快速模型3.增量模型 4.螺旋模型5.基于構(gòu)件的開發(fā)模型6.極限編程1.3軟件過程組裝測試可行性研究需求分析概要設(shè)計詳細設(shè)計編碼與調(diào)試單元測試確認測試運行與維護退役1.瀑布模型瀑布模型的特點階段間具有順序性和依賴性:1.完成前一階段開始后一階段2.前一階段的輸出文檔是后一階段的輸入文檔質(zhì)量保證的觀點1.每個階段都必須完成規(guī)定的文檔,沒有交出合格的文檔就是沒有完成該階段的任務。2.每個階段結(jié)束前都要對所完成的文檔進行評審,以便盡早發(fā)現(xiàn)問題,改正錯誤。需求的采集和細化生產(chǎn)樣品對原型加工客戶評價原型建造原型快速設(shè)計開始停止2.快速原型模型原型模型由于在項目開發(fā)的初始階段人們對軟件的需求認識常常不夠清晰,因而使得開發(fā)項目難于做到一次開發(fā)成功,出現(xiàn)返工再開發(fā)在所難免。第一步只是試驗開發(fā),其目標只是在于探索可行性,弄清軟件需求。第二步則在此基礎(chǔ)上獲得較為滿意的軟件產(chǎn)品。螺旋模型螺旋模型沿著螺線旋轉(zhuǎn),在四個象限上分別表達了四個方面的活動,即:制定計劃──確定軟件目標,選定實施方案,弄清項目開發(fā)的限制條件。風險分析──分析所選方案,考慮如何識別和消除風險。實施工程──實施軟件開發(fā)。客戶評估──評價開發(fā)工作,提出修改建議。
極限編程(XP)是一種
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工程款支付申請表的填寫規(guī)范與標準
- 采暖散熱器施工方案
- 星級酒店關(guān)系質(zhì)量研究調(diào)查
- 2025年液堿行業(yè)現(xiàn)狀分析:我國燒堿產(chǎn)量為3980.5萬噸
- 江西省部分學校2024-2025學年高三上學期1月期末英語試題【含答案】
- 2024年普通?等學校招?全國統(tǒng)?考試上海語?試卷
- 裝修成品保護施工方案
- 上海市安全員-C3證考試題及答案
- 清除路肩雜草施工方案
- 新風機組施工方案
- 專題02 光現(xiàn)象(5大模塊知識清單+5個易混易錯+2種方法技巧+典例真題解析)
- 支氣管封堵器在胸科手術(shù)中的應用
- 北京市東城區(qū)2021-2022學年第一學期四年級期末考試語文試卷(含答案)
- 《STP市場營銷戰(zhàn)略》課件
- 心理健康教育課件教學
- 河南省勞動關(guān)系協(xié)調(diào)員職業(yè)技能大賽技術(shù)工作文件
- 成都實驗中學2025屆高三最后一模英語試題含解析
- 2024年新《反洗錢法》修訂要點解讀
- 如何變廢為寶課件
- 中華人民共和國學前教育法
- 辯論英文課件教學課件
評論
0/150
提交評論