




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1.1 軟件與軟件工程 1.1.1 軟件 1.1.2 軟件工程(軟件危機、軟件工程) 1.1.3 軟件工程的活動1.2軟件的生存周期1.3軟件過程第1章 軟件工程概論1. 軟件與軟件的組成軟件的組成:包括程序、數(shù)據(jù)及其相關的文檔的完整集合。軟件程序數(shù)據(jù)文檔1.1.1 軟件1.1 軟件與軟件工程 程序是按事先設計的功能和性能要求執(zhí)行的指令序列。 數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結構。 文檔是與程序開發(fā),維護和使用有關的圖文材料。2.軟件的特點軟件的特點 軟件是一種邏輯實體,而不是具體的物理實體,因而它具有抽象性,軟件是一種無形(看不見,摸不著)的邏輯實體,需要安裝在計算機中才能運行。 軟件的生產
2、與硬件不同,軟件的生產方式是開發(fā),是人的智力勞動的成果,是知識與技術轉化而成的一種信息產品。 在軟件的運行和使用期間,沒有硬件那樣的機械磨損、銹蝕等問題,但需要維護。 軟件的開發(fā)和運行常受到計算機系統(tǒng)的限軟件的開發(fā)和運行常受到計算機系統(tǒng)的限制,對計算機系統(tǒng)有著不同程度的依賴性。制,對計算機系統(tǒng)有著不同程度的依賴性。 開發(fā)工作的勞動強度決定了軟件開發(fā)需要開發(fā)工作的勞動強度決定了軟件開發(fā)需要有效的軟件開發(fā)工具或軟件開發(fā)環(huán)境。軟有效的軟件開發(fā)工具或軟件開發(fā)環(huán)境。軟件的開發(fā)至今尚未完全擺脫手工操作的開件的開發(fā)至今尚未完全擺脫手工操作的開發(fā)方式。發(fā)方式。 軟件本身是復雜的,因為軟件本身是復雜的,因為 實
3、際問題的復雜性;實際問題的復雜性; 程序邏輯結構的復雜性。程序邏輯結構的復雜性。軟件的特點之二軟件的特點之二軟件成本相當昂貴軟件成本相當昂貴,軟件的開銷大大超過軟件的開銷大大超過硬件的開銷。硬件的開銷。相當多的軟件開發(fā)、運行、管理工作涉相當多的軟件開發(fā)、運行、管理工作涉及到社會因素。及到社會因素。軟件的特點之三軟件的特點之三3.軟件的分類軟件的分類 按軟件的功能分類:按軟件的功能分類: 系統(tǒng)軟件,如系統(tǒng)軟件,如OS、DBMS等;等; 支撐軟件,如支撐軟件,如Office、VB、Delphi等;等; 應用軟件,應用軟件,MIS、CAD、CAE等。等。 其它分類其它分類 工作方式分類:批處理、交互
4、式;工作方式分類:批處理、交互式; 規(guī)模分類:大、中、??;規(guī)模分類:大、中、?。?體系結構分類:體系結構分類:C/S、B/S; C/S結構結構,即Client/Server(客戶機/服務器)結構,是大家熟知的軟件系統(tǒng)體系結構,通過將任務合理分配到Client端和Server端,降低了系統(tǒng)的通訊開銷,可以充分利用兩端硬件環(huán)境的優(yōu)勢。早期的軟件系統(tǒng)多以此作為首選設計標準。 B/S結構結構,即Browser/Server(瀏覽器/服務器)結構,是隨著Internet技術的興起,對C/S結構的一種變化或者改進的結構。在這種結構下,用戶界面完全通過WWW瀏覽器實現(xiàn),一部分事務邏輯在前端實現(xiàn),但是主要事務
5、邏輯在服務器端實現(xiàn),一種新的軟件系統(tǒng)構造技術。 面向服務的體系結構(面向服務的體系結構(Service-Oriented Architecture,SOA)是一個組件模型,它將應用程序的不同功能單元(稱為服務)通過這些服務之間定義良好的接口和契約聯(lián)系起來。接口是采用中立的方式進行定義的,它應該獨立于實現(xiàn)服務的硬件平臺、操作系統(tǒng)和編程語言。這使得構建在各種這樣的系統(tǒng)中的服務可以一種統(tǒng)一和通用的方式進行交互4.軟件發(fā)展階段軟件發(fā)展階段 程序設計階段程序設計階段 50至至60年代年代 程序系統(tǒng)階段程序系統(tǒng)階段 60至至70年代年代 軟件工程階段軟件工程階段 70年代以后年代以后1.1.2 軟件工程(
6、軟件危機、軟件工程)軟件工程(軟件危機、軟件工程) 軟件開發(fā)無計劃性,不能正確地估計軟件開發(fā)成本和軟件開發(fā)無計劃性,不能正確地估計軟件開發(fā)成本和進度,致使實際開發(fā)成本往往高出預算很多。進度,致使實際開發(fā)成本往往高出預算很多。 軟件需求不充分軟件需求不充分,軟件產品不可靠,滿足不了用戶的需軟件產品不可靠,滿足不了用戶的需求,甚至無法使用。求,甚至無法使用。 軟件開發(fā)人員的合作障礙。軟件開發(fā)人員的合作障礙。 軟件的產權保護問題。軟件的產權保護問題。 交付使用的軟件不易演化,以至于人們不得不重復開交付使用的軟件不易演化,以至于人們不得不重復開發(fā)類似的軟件。發(fā)類似的軟件。 軟件生產率低下,缺乏有力的開
7、發(fā)工具支持,遠遠滿軟件生產率低下,缺乏有力的開發(fā)工具支持,遠遠滿足不了社會發(fā)展的需求。足不了社會發(fā)展的需求。1.軟件危機2. 解決軟件危機的途徑解決軟件危機的途徑-軟件工程軟件工程 技術措施(方法和工具)技術措施(方法和工具) 要有必要的組織管理措施要有必要的組織管理措施軟件工程的定義軟件工程的定義 概括地說,軟件工程是指導計算機軟件開發(fā)和維護的一門工程學科。采用工程化的方法來開發(fā)和維護軟件,把經(jīng)過時間考驗而證明正確的工程管理技術和當前能夠得到的最好的技術方法結合起來,以經(jīng)濟地開發(fā)出高質量的軟件并有效地維護它,這就是軟件工程。軟件工程的其它定義軟件工程的其它定義軟件工程有過許多的定義軟件工程有
8、過許多的定義 ,如:,如: Boehm:運用現(xiàn)代科學技術知識來設計并構:運用現(xiàn)代科學技術知識來設計并構造計算機程序及為開發(fā)、運行和維護這些程造計算機程序及為開發(fā)、運行和維護這些程序所必需的相關文件資料序所必需的相關文件資料 IEEE:軟件工程是開發(fā)、運行、維護和修復:軟件工程是開發(fā)、運行、維護和修復軟件的系統(tǒng)方法軟件的系統(tǒng)方法 Fritz Bauer:建立并使用完善的工程化原則,:建立并使用完善的工程化原則,以較經(jīng)濟的手段獲得能在實際機器上有效運以較經(jīng)濟的手段獲得能在實際機器上有效運行的可靠軟件的一系列方法行的可靠軟件的一系列方法軟件工程三要素:方法、工具和過程軟件工程三要素:方法、工具和過程
9、 方法是完成軟件開發(fā)的各項任務的技術方法,為方法是完成軟件開發(fā)的各項任務的技術方法,為軟件開發(fā)提供軟件開發(fā)提供 “如何做如何做” 的技術。的技術。 工具是為運用方法而提供的自動的或半自動的軟工具是為運用方法而提供的自動的或半自動的軟件工程的支撐環(huán)境;件工程的支撐環(huán)境; 過程是為了獲得高質量的軟件所需要完成的一系過程是為了獲得高質量的軟件所需要完成的一系列任務的框架,它規(guī)定了完成各項任務的工作步列任務的框架,它規(guī)定了完成各項任務的工作步驟。驟。 目前使用最廣泛的軟件工程方法學,分別是傳統(tǒng)目前使用最廣泛的軟件工程方法學,分別是傳統(tǒng)方法學和面向對象方法學。方法學和面向對象方法學。1.建模建模模型是一
10、個系統(tǒng)的抽象表示,它能夠回答關于這模型是一個系統(tǒng)的抽象表示,它能夠回答關于這個系統(tǒng)的問題。模型還是可視化的,能夠讓我們個系統(tǒng)的問題。模型還是可視化的,能夠讓我們理解那些不存在或僅僅聲稱存在的系統(tǒng),并且有理解那些不存在或僅僅聲稱存在的系統(tǒng),并且有利于交流。利于交流。2.問題求解問題求解軟件工程是問題求解活動。求解方法包括以下步軟件工程是問題求解活動。求解方法包括以下步驟:形式化問題,分析問題,尋找解決方案問題,驟:形式化問題,分析問題,尋找解決方案問題,確定合適的解決方案,詳細說明解決方案。確定合適的解決方案,詳細說明解決方案。1.1.3 軟件工程的活動軟件工程的活動3.知識獲取知識獲取知識獲取
11、是非線性的,對于軟件開發(fā)過程知識獲取是非線性的,對于軟件開發(fā)過程的建模具有非常重要的意義。的建模具有非常重要的意義。4.決策知識決策知識開發(fā)人員對系統(tǒng)所作的假設總是在變化,開發(fā)人員對系統(tǒng)所作的假設總是在變化,求解域的模型也總是在變化。求解域的模型也總是在變化。軟件工程的活動之二軟件工程的活動之二確認測試可行性研究、指定初步軟件項目計劃概要設計需求分析、制定需求規(guī)格說明詳細設計組裝測試 實 現(xiàn) 使 用 退 役 維 護1.21.2 軟件的生存周期軟件的生存周期 軟件產品從形成概念開始,經(jīng)過開發(fā)、使用和維護,直到最后退役的全過程稱為軟件生存周期軟件生存周期包括軟件定義、軟件開發(fā)、軟件使用維護退役。軟
12、件生存期的定義軟件生存期的定義可行性研究的任務是了解用戶的要求及現(xiàn)實環(huán)可行性研究的任務是了解用戶的要求及現(xiàn)實環(huán)境,從技術、經(jīng)濟和社會等幾個方面研究并論境,從技術、經(jīng)濟和社會等幾個方面研究并論證軟件系統(tǒng)的可行性。證軟件系統(tǒng)的可行性。軟件需求規(guī)格說明軟件定義 軟件系統(tǒng)的可行性研究需求分析 任務重要性與困難需求分析過程1. 軟件定義需求分析 問題定義和可行性研究的主要任務都是概括地了解用戶的需求,為了簡潔地描述軟件過程,把它們都歸并到需求分析中。 在軟件生存周期模型中,軟件開發(fā)由需求分析、概要設計、詳細設計、實現(xiàn)、組裝測試和確認測試等主要階段組成。(1)需求分析 (2)概要設計 (3)詳細設計 (4
13、)實現(xiàn) (5)組裝測試 (6)確認測試2. 軟件開發(fā)軟件設計 概要設計 把各項需求轉換成軟件的體系結構。結構中每一組成部分都是意義明確的模塊,每個模塊都和某些需求相對應。 詳細設計 對每個模塊要完成的工作進行具體的描述,為源程序編寫打下基礎。 編寫設計說明書,提交評審。 為簡潔起見,把總體設計和詳細設計合并在一起稱為“軟件設計”。程序編寫 程序員根據(jù)目標系統(tǒng)的性質和實際環(huán)境,選取一種適當?shù)母呒壋绦蛟O計語言,把詳細設計的結果翻譯成用選定的語言書寫的程序,即“源程序清單”。 寫出的程序應當是結構良好、清晰易讀的,且與設計相一致。軟件測試 通過各種類型的測試(或調試)使軟件達到預定的要求。 單元測試
14、,查找各模塊在功能和結構上存在的問題并加以糾正。 集成測試,將已測試過的模塊按某種選定的策略 組裝起來。 驗收測試,按照規(guī)格說明書的規(guī)定,由用戶對目標系統(tǒng)進行驗收。即根據(jù)各項需求,逐項進行有效性測試,確定已開發(fā)的軟件是否合格,能否使用??尚行匝芯啃枨蠓治鲈敿氃O計編碼與調試概要設計單元測試組裝測試確認測試運行3. 軟件使用、維護和退役運行維護 通過各種必要的維護活動使軟件系統(tǒng)持久地滿足用戶的需要,通常有4類: 改正性維護:運行中發(fā)現(xiàn)了軟件中的錯誤需要修正。 適應性維護:為了適應變化了的軟件工作環(huán)境,需做適當變更。 完善性維護:為了增強軟件的功能需做變更。 預防性維護,即修改軟件為將來的維護活動預
15、先做準備。軟件開發(fā)模型給出了軟件開發(fā)活動各階段之間的關系。1.瀑布模型 2.快速模型3.增量模型 4.螺旋模型 5.基于構件的開發(fā)模型6.極限編程1.3 軟件過程軟件過程組裝測試可行性研究需求分析概要設計詳細設計編碼與調試單元測試確認測試運行與維護退役1. 瀑布模型瀑布模型的特點 階段間具有順序性和依賴性: 1. 完成前一階段開始后一階段 2. 前一階段的輸出文檔是后一階段的輸入文檔 質量保證的觀點 1. 每個階段都必須完成規(guī)定的文檔,沒有交出合格的文檔就是沒有完成該階段的任務。 2. 每個階段結束前都要對所完成的文檔進行評審,以便盡早發(fā)現(xiàn)問題,改正錯誤。需求的采集 和細化生產樣品對原型加工客戶評價原型建造原型快速設計開始停止2. 快速原型模型原型模型原型模型 由于在項目開發(fā)的初始階段人們對軟件的需求認識常常不夠清晰,因而使得開發(fā)項目難于做到一次開發(fā)成功,出現(xiàn)返工再開發(fā)在所難免。 第一步只是試驗開發(fā),其目標只是在于探索可行性,弄清軟件需求。 第二步則在此基礎上獲得較為滿意的軟件產品。螺旋模型 螺旋模型沿著螺線旋轉,在四個象限上分別表達了四個方面的活動,即: 制定計劃確定軟件目標,選定實施方案,弄清項目開發(fā)的限制條件。 風險分析分析所選方案,考慮如
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電影票務平臺地區(qū)級代理合同
- 合同法修訂案:第一章 合同的訂立與生效
- 外資制造業(yè)-員工培訓合同范本
- 木材采購與銷售合同模板
- 流動人口計劃生育協(xié)作合同
- 干股收益分配合同(范本)
- 企事業(yè)單位監(jiān)控布防合同模板
- 合同責任死亡賠償金額解析
- 學校食堂食材采購合同模板
- Unit5 What day is it today?(教學設計)-2023-2024學年教科版(廣州)英語四年級下冊
- 《住院患者身體約束的護理》團體標準解讀課件
- 2024年黑龍江建筑職業(yè)技術學院單招職業(yè)適應性測試題庫全面
- 硅酸鹽水泥熟料礦物組成及配料計算概述(共101頁).ppt
- 急診與災難醫(yī)學第二版配套課件 02 急性發(fā)熱
- 部編版四年級道德與法治下冊4《買東西的學問》第1課時課件
- 外研版英語(新標準)八年級下冊教案(全冊)
- 教師聽課評分表
- 項目章程模板范文
- 泰山產業(yè)領軍人才工程系統(tǒng)
- 輪扣架支模體系材料量計算
評論
0/150
提交評論