




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第1章軟件工程概述1.1軟件與軟件工程1.2軟件開發技術1.3軟件項目管理1.1軟件與軟件工程軟件軟件是包括計算機程序(Program)、支持程序運行的數據(Data)及其相關文檔(Document)資料的完整集合。計算機程序是按事先設計的功能和性能要求執行的指令序列;或者說,是用程序設計語言描述的、適合于計算機處理的語句序列。數據是使程序能正常操縱信息的數據結構。文檔是描述程序的操作、維護和使用的圖文材料。1.1軟件與軟件工程軟件機器可執行的:程序及有關數據機器不可執行的:與開發、運行、維護、使用和培訓有關的文檔資料軟件=程序+數據+文檔程序=算法+數據結構1.1軟件與軟件工程【例】軟件實現的是一個從現實問題域(輸入)到信息域的解(輸出)的過程,此過程中包括程序、數據、文檔以及它們之間的聯系。因此,軟件的形式化定義為:S=(I,O,E,R,D)其中,I表示抽象數據輸入,O表示抽象數據輸出,E表示構成軟件的子系統或構件,R表示軟件子系統或構件間的關系,D表示軟件相關文檔,它描述了I、O、E、R的內容和它們之間的關系。1.1軟件與軟件工程軟件的特征(1)形態特性(2)生產特性(3)維護特性(4)復雜特性(5)智能特性(6)質量特性(7)環境特性(8)軟件的管理特性(9)軟件的廢棄特性(10)應用特性1.1軟件與軟件工程認識軟件的基本特點軟件是人類智能勞動的產物、代替和延伸。軟件屬于邏輯實體,無形性和智能性致使軟件難以認識和理解。軟件的開發、維護及設置管理等方面目前尚未完全脫離手工方式。邏輯處理和數據結構及構成等相對復雜。軟件應用很廣泛,在信息化中可服務于各種領域、行業和層面。軟件成本相對比較昂貴,軟件是人類創造性的可復制的特殊產品。軟件不存在物理性磨損和老化問題,但可以退化需要更新升級。…1.1軟件與軟件工程軟件的分類系統軟件(SystemSoftware)是與計算機硬件緊密結合,構成用戶在某一方面使用計算機的基礎平臺。支撐軟件(SupportSoftware)是輔助其他軟件開發、維護和運行的軟件,也稱為工具軟件或軟件開發環境。應用軟件(ApplicationSoftware)實現用戶特定的需求,是針對計算機在某一領域或特定工作性質中的應用而開發的軟件。1.1軟件與軟件工程軟件危機軟件危機(SoftwareCrisis)是指在計算機軟件開發、使用與維護過程中遇到的一系列嚴重問題。軟件危機的教訓:需要工程化方式研發軟件且必須滿足用戶對軟件日益增長的各種需求;強化管理和維護不斷快速增長的現有軟件。1.1軟件與軟件工程軟件危機主要特征軟件運行經常出現功能、性能不滿意或出現故障等現象。軟件產品的質量、可靠性和安全等方面時常達不到標準。軟件產品質量難以保證,甚至在開發過程中就被迫中斷。軟件開發管理差,對成本和進度難估計準確。系統時常出現無法維護、升級或更新現象。開發效率低,無法滿足應用迅速發展與提高實際需要。研發成本難控制,在總成本中所占的比例不斷大幅上升。軟件開發沒有標準、完整、統一規范的文檔資料;缺乏完善的售后服務。1.1軟件與軟件工程軟件危機產生的原因用戶需求不明確缺乏正確的理論指導軟件開發規模越來越大軟件開發復雜度越來越高1.1軟件與軟件工程解決軟件危機的主要措施技術方法。運用軟件工程的技術、方法和標準規范。開發工具。選用先進高效的軟件工具,同時采取切實可行的實施策略。組織管理。研發機構需要組織高效、管理制度和標準嚴格規范、職責明確、質量保證、團結互助、齊心協力,注重文檔及服務。為了避免和解決軟件開發中再出現軟件危機,不僅需要標準規范的技術措施,更要有強有力的組織管理保障。各方面密切配合、齊抓共管,切實以軟件工程方式方法和規程進行運作,才能確保軟件質量。1.1軟件與軟件工程【例】在1986年,IBM大型機之父佛瑞德·布魯克斯發表了他的著名論文《沒有銀彈》,在論文中他斷言:“在10年內無法找到解決軟件危機的靈丹妙藥”。從軟件危機被提出以來,人們一直在查找解決它的方法。布魯克斯在《人月神話:軟件項目管理之道(TheMythicalMan-Month)》提到,將沒有靈丹妙藥可以一蹴而就,開發軟件的困難是內生的,只能漸進式的改善。整體環境沒有改變以前,唯一可能的解,是依靠人的素質,培養優秀的工程師。1.1軟件與軟件工程軟件工程的產生為了克服軟件危機,1968年10月在北大西洋公約組織(NATO)召開的計算機科學會議上,FritzBauer首次提出“軟件工程”的概念,試圖將工程化方法應用于軟件開發。經過不斷實踐和總結,得出一個結論:按工程化的原則和方法組織軟件開發工作是有效的,是擺脫軟件危機的一條主要出路。軟件工程的主要思想是強調軟件開發過程中應用工程化原則的重要性。軟件工程的目標是實現軟件的優質高產。軟件工程的目的是在經費的預算范圍內,按期交付出用戶滿意的、質量合格的軟件產品。1.1軟件與軟件工程軟件工程的概念為了經濟地獲得可靠的和能在實際機器上高效運行的軟件,而建立和使用的健全的工作原則。(FritzBauer)運用現代科學技術知識來設計并構造計算機程序及為開發、運行和維護這些程序所必需的相關文件資料。(BarryW.Boehm)軟件工程是開發、運行、維護和修復軟件的系統方法。(IEEE)應用計算機科學理論和技術以及工程管理原則和方法,按預算和進度,實現滿足用戶需求的軟件產品的定義、開發、發布和維護的工程或進行研究的學科。(GB/T11457-2006)1.1軟件與軟件工程軟件工程的定義軟件工程是指導軟件開發和維護的工程性學科,它以計算機科學理論和其他相關學科的理論為指導,采用工程化的概念、原理、技術和方法進行軟件的開發和維護,把經過時間考驗而證明是正確的管理技術和當前能夠得到的最好的技術方法結合起來,以較少的代價獲得高質量的軟件并維護它。1.1軟件與軟件工程軟件工程的框架軟件工程的框架可概括為目標、過程和原則。1.1軟件與軟件工程軟件工程基本原理(1)用分階段的生命周期計劃嚴格管理開發過程(2)堅持進行階段評審(3)實行嚴格的產品控制(4)采用現代程序設計技術(5)應能清楚地審查結果(6)軟件開發小組的人員應少而精(7)承認不斷改進軟件工程實踐的必要性著名軟件工程專家Boehm綜合有關專家和學者的意見并根據多年來開發軟件的經驗,提出了軟件工程的七條基本原理。1.1軟件與軟件工程軟件工程基本思想抽象:人類解決復雜問題的通用方法。抽象是從眾多的事物中抽取出共同的、本質性的特征,而舍棄其非本質的特征。分解:把復雜的系統變成小的系統,采用“各個擊破”的原則逐一解決。復用:利用已有的代碼,或者已有的知識、經驗編寫代碼,以進行新的軟件開發。課堂討論1.軟件工程與建筑工程、汽車工程有什么異同點?2.軟件是客觀世界中問題空間與解空間的具體描述;軟件工程就是解決如何正確、高質、高效地寫出軟件。如何理解?問題思
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 餐飲業供應鏈整合與成本控制風險預警研究報告
- 2025年數字藝術作品版權保護與知識產權保護策略報告
- 2025年長租公寓行業市場前景與盈利模式分析報告
- 2025年新能源汽車關鍵技術研發資金申請及市場前景分析報告
- 安全護理試題集及答案
- 2025年綠色建筑認證體系在綠色酒店綠色建筑評價標準制定中的應用與實踐報告001
- 金融領域AI倫理問題與監管政策創新研究報告
- 2025年能源互聯網分布式能源交易機制與能源互聯網市場潛力分析報告
- 中國南北飲食差異
- 周莊旅游攻略課件介紹
- 一個售樓處裝修報價清單
- 設備安裝與調試作業指導書
- 內蒙古呼和浩特市(2024年-2025年小學五年級語文)人教版綜合練習(下學期)試卷及答案
- 建設工程項目成本管理制度
- 氣改電合同模板
- 2023-2024學年云南省曲靖市宣威市高二下學期7月期末考試物理試題(解析版)
- 無人機基礎知識問答題庫100道及答案解析
- 裝修工程施工合同(合集15篇)
- 2023北京西城區初二期末(下)道法試卷及答案
- 殯儀服務員考試:殯儀服務員考試考試卷及答案
- 特種設備使用安全風險日管控、周排查、月調度管理制度
評論
0/150
提交評論