第1章为什麽需要软体工程.ppt

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第1章为什麽需要软体工程

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 第1章 為什麼需要軟體工程? 學習目標 瞭解軟體開發所遭遇的問題 知道軟體工程的演變歷史 定義「軟體工程」 瞭解軟體開發是一項專業且需被管理的 瞭解軟體工程的原則及基礎 大 綱 何謂軟體工程  軟體工程的內涵  軟體工程的歷史  軟體工程的現況  結語  何謂軟體工程(1/4) 何謂「軟體」? 由一組物件所構成,包括:程式、文件以及資料。 軟體是運作在電腦上,所呈現之動態行為。 軟體是真實世界的模型。 軟體是數位形式的知識。 軟體是儲存知識的媒體。 軟體開發不是程式設計,是一項高難度與高風險的活動,由於失敗率高,故有「軟體危機」之說。 The Standish Group 在1995年發表研究報告指出: 有53%的專案,預算超出原訂金額189%, 時程超出原訂日程 221%, 而系統卻只能提供原始功能的61%。 1995年,The Standish Group發表研究報告: 365家不同產業, 8380專案 53% 專案 預算超出原訂金額189% 時程超出原訂日程 221% 而系統卻只能提供原始功能的61% 何謂軟體工程(2/4) 軟體工程的由來 鑑於軟體開發所遭遇的困境,北大西洋公約組織(NATO)於1968年舉辦首次軟體工程學術會議 提出:以「軟體工程」來界定軟體開發所需之相關 知識。 建議:軟體開發應該是類似「工程」的活動、 是一種 創造 與 發展 何謂軟體工程(3/4) 軟體工程之描述: 範圍:研究軟體流程、開發原則(principle)、 工程技術與管理以及相關的表示法。 目標:生產優質軟體、準時交付、符合預算、 滿足顧客的要求與需要。 內容:一門知識或學科,包含工程原理、方法學、 軟體流程等 何謂軟體工程(4/4) 意涵: 優質軟體:簡單、彈性、可維護性、可讀性等 準時交付:時程安排、進度追蹤、專案控管等 符合預算:成本分析、軟體規模估算等 滿足用戶需要:需求分析、變更管理、版本管理等 軟體工程的內涵(1/4) 「軟體工程」之直接定義 研究如何 建立與運用工程原則,以便從一個抽象的『問題』,推導(或創造)出具體的軟體『解答』 軟體工程的內涵(2/4) 從問題到解答的過程,可分五個步驟: 定義及描述問題 分析問題 尋找問題之解答 選擇最適當之解決方案(最佳化) 實施解決方案 軟體工程解決問題的方法 首先利用適當的工具,將問題概念化與模型化。 其次是模型的轉換與對應。從定義問題的模型,轉換到解決問題的模型,包含構思、尋找、評估,及最佳化的過程。 最後是模型軟體化。將設計好的概念模型,透過適當工具以軟體實作出來。 從問題到解答 軟體工程的內涵(3/4) 從抽象的『問題』,到具體的『解答』 軟體工程的七項基本原則 一:焦點分離- 分解成多個不同主題, 逐一解決, 簡化問題 二:嚴謹且正式- 工程需嚴謹, 創造卻是不精準,易生新困擾 三:抽象化- 重要者從較不重要細節中分離, 以管理複雜度 四:模組化- 將複雜系統分解成易處理的模組 拆解:由上而下 (Top down) 組成:由下而上 (Bottom up) 五:通用性- 對複雜問題嘗試找出一般化的解決方法 六:預視改變- 預期未來變動, 設計出預備之彈性系統 七:遞增法- 用漸近方式, 以便改版時可擴充功能 軟體工程的內涵(4/4) 軟體工程的核心知識 軟體需求 軟體設計 軟體建構 軟體測試 軟體維護與更新 軟體構型管理 軟體工程管理 軟體開發流程 軟體工程工具與方法 軟體品質 軟體工程的周邊知識 軟體工程與電腦科學的差別 軟體工程周邊學門的知識 軟體工程與電腦科學的差別 軟體工程的歷史(1/2) 程式設計的演化 軟體工程的史前時代,始於1950年代初期 電腦編程很簡單,沒有系統化的方法 軟體開發也沒任何管理,屬於探索性編程的年代 1960年代初期 高階程式語言相繼出現,大幅減少軟體開發所需的心力 1960年代晚期 軟體工程誕生, 以「控制結構」為重心的程式設計 1970年代初期 發現程式的「資料結構」

您可能关注的文档

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档