軟件工程課件:軟件工程概述_第1頁
軟件工程課件:軟件工程概述_第2頁
軟件工程課件:軟件工程概述_第3頁
軟件工程課件:軟件工程概述_第4頁
軟件工程課件:軟件工程概述_第5頁
已閱讀5頁,還剩18頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

軟件工程

SoftwareEngineering

理解軟件工程軟件的發展1軟件的特性和分類2軟件工程的起源3軟件團隊5軟件質量467軟件工程的領域知識軟件工程師的職業道德1.1軟件的發展思考5個問題:我們用的是什么類型的計算?我們需要保存什么類型的信息或數據?對于需要長期保留的信息,哪些存儲方法最合適?面對復雜的選項或決策,哪些分析方法對我們有幫助?在進行數據與知識的交流時,有哪些最佳方法?提示:縱覽計算機和軟件逐步用于解決這些問題的過程,從大歷史觀的角度來考慮這5個問題。軟件發展史?(課后閱讀《軟件工程通史》,在閱讀基礎上要求總結近20年世界軟件發展,以及中國軟件發展)。軟件的特性和分類無形性:邏輯實體,沒有物理形態,通過運行表示智能性:凝聚大量人類腦力勞動抽象性:邏輯實體的抽象性,開發的抽象性系統性:有機整體復雜性:服務于各種行業可復制性:拷貝演化性:環境、需求和技術變化1.21.2.1軟件的特性軟件特性和分類系統軟件應用軟件支撐軟件可復用軟件1.21.2.2軟件的分類按照軟件的作用分類軟件特性和分類商業軟件公共軟件共享軟件自由軟件1.21.2.2軟件的分類按照版權保護標準分類1.3軟件工程的起源1.3.1軟件危機通常,把計算機軟件開發和維護過程中所遇到的一系列嚴重問題稱為“軟件危機”。如今軟件開發技術已經有了很大的進步,但是隨著軟件規模的不斷擴大,軟件需要解決的問題越來越復雜,“軟件危機”依舊存在。考慮到“軟件危機”的周期長且難以預測,一些人將“軟件危機”稱為“軟件蕭條”。1.3軟件工程的起源開發者與用戶溝通存在障礙隨著軟件規模逐漸增加,相應的軟件復雜性也呈指數型升高缺乏有效的經驗和數據積累以及估算工具來制定有效的計劃項目內部缺乏管理經驗軟件危機的典型表現1.3軟件工程的起源軟件產品的質量低下軟件通常沒有文檔資料,或者文檔資料不夠完備軟件危機的典型表現1.3軟件工程的起源1968年在第一屆NATO會議上曾經給出了軟件工程的一個早期定義:“軟件工程就是為了經濟地獲得可靠的且能在實際機器上有效地運行的軟件,而建立和使用完善的工程原理。”1990年IEEE進一步給出了一個更全面更具體的定義:“軟件工程是:①應用系統化的、規范的、可量化的方法,來開發、運行和維護軟件,即將工程化方法應用于軟件;②對①中各種方法的研究。1.3.2軟件工程的定義1.3軟件工程的起源軟件工程是指導計算機軟件開發和維護的工程性學科。以計算機科學理論和其他相關學科的理論為指導,采用工程化的概念、原理、技術和方法進行軟件的開發與維護軟件,把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來,以較少的代價獲得高質量的軟件并有效地維護它,這就是軟件工程。1.3軟件工程的起源軟件過程是指生產軟件產品的一組活動、動作、任務的集合。活動主要是實現較為寬泛的目標,動作包含了主要工作制品生產過程中的一系列任務,任務則關注小而明確的目標,能夠產生實際的制品。圖1-2概念性軟件開發框架1.3.3軟件過程軟件質量軟件質量是“反映軟件滿足明確和隱含的需求的能力的特性總和”。具體來說,軟件質量是軟件符合明確敘述的功能和性能需求、文檔中明確描述的開發標以及所有專業開發的軟件都應具有的和隱含特征相一致的程度。為了解軟件質量是否滿足要求,必須從軟件質量屬性出發,通過考察軟件質量屬性來評價軟件質量,并依此給出提高軟件質量的方法。1.4軟件質量正確性健壯性可靠性性能易用性可理解性安全性可擴展性兼容性可移植性

軟件質量常見的屬性1.41.5

軟件團隊如何從一個程序演化為一個有用的產品圖1-3編程系統產品的演進軟件開發小組的組織結構取決于組織的管理風格、組里的人員數目及他們的技術水平和軟件項目需要解決問題的難易程度。Mantei提出了在確定采用何種軟件工程小組結構時應該考慮的與項目相關的7個問題。①項目待解決問題的困難程度。②項目要產生的程序的規模,以代碼行或者功能點來衡量。③小組成員需要一起工作的時間(小組生命期)。④需要解決的問題能夠被模塊化的程度。⑤待建造系統所要求的質量和可靠性。⑥交付日期的嚴格程度。⑦項目所需要的社交性(通信)的程度。1.5

軟件團隊1.5

軟件團隊從歷史角度看:(1)民主小組(2)主程序員小組(3)現代程序員小組(4)同步—穩定小組(5)敏捷過程小組(6)開源編程小組圖1-4主程序員小組組織結構圖1-5現代程序員小組組織結構1.6

軟件工程的知識領域1993年,IEEE計算機協會和ACM聯合建立的軟件工程協同委員會、加拿大魁北克大學以及美國MITRE公司共同承擔了ISO/ICE/JTCI“SWEBOK(SoftwareEngineeringBodyofKnowledge)指南”項目。該項目希望促進世界范圍內對軟件工程形成一致觀點;闡明軟件工程相對于其他學科(如計算機科學、項目管理、計算機工程和數學等)的位置,并確立它們的分界;刻畫軟件工程學科的內容;提供使用知識體系的主題;為開發課程和個人認證與許可材料提供基礎。1.6

軟件工程的知識領域2014年IEEE公布的SWEBOK3.0中提到了軟件工程的15個知識領域(KnowledgeArea,KA),其中包括:11個軟件工程實踐知識域——軟件需求、軟件設計、軟件構造、軟件測試、軟件維護、軟件配置管理、軟件工程管理、軟件工程過程、軟件工程模型和方法、軟件質量、軟件工程職業實踐;4個軟件工程教育基礎知識域——軟件工程經濟學、計算基礎、數學基礎和工程基礎。1.7

軟件工程師職業道德軟件工程師應履行其實踐承諾,使軟件的需求分析、規格說明、設計、開發、測試和維護成為一項有益和受人尊敬的職業。(1)公眾——軟件工程師應當始終如一地以符合公眾利益為目標。(2)客戶和雇主——在保持與公眾利益一致的原則下,軟件工程師應滿足客戶和雇主的最高利益。(3)產品——軟件工程師應當確保他們的產品和相關的改進符合可能達到的最高專業標準。(4)判斷——軟件工程師在進行相關的專業判斷時,應該堅持正直、誠實和獨立的原則。(5)管理——軟件工程的管理和領導人員在軟件開發和維護的過程中,應自覺遵守、應用并推動合乎道德規范的管理方法。(6)專業——軟件工程師應當自覺推動本行業所提倡的誠實、正直的道德規范,并自覺維護本行業的聲譽,使軟件行業更好地為公眾利益所服務。(7)同事——軟件工程師對其同事應持平等互助和支持的態度。(8)自身——軟件工程師應終生不斷地學習和實踐其專業知識,并在學習和實踐的過程中不斷提高自身的道德規范素養。小結1.了解軟件的發展2.理解軟件的特性3.了解影響軟件工程發展的各種因素4.認識軟

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論