軟件工程:理論、技術(shù)及實踐 課件 第1章 軟件工程概述_第1頁
軟件工程:理論、技術(shù)及實踐 課件 第1章 軟件工程概述_第2頁
軟件工程:理論、技術(shù)及實踐 課件 第1章 軟件工程概述_第3頁
軟件工程:理論、技術(shù)及實踐 課件 第1章 軟件工程概述_第4頁
軟件工程:理論、技術(shù)及實踐 課件 第1章 軟件工程概述_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

軟件工程

SoftwareEngineering

浙江工業(yè)大學(xué)計算機科學(xué)與技術(shù)學(xué)院共享“小黃Y”缺少專人維護車子使用的情況變差可正常使用自行車數(shù)量減少。校區(qū)間分布不均衡沒有經(jīng)費可以用于校區(qū)間自行車搬運捐贈車子來源,設(shè)定唯一編號定期檢查,統(tǒng)計加鎖,開展免費租用服務(wù),允許走出校門。限制借還服務(wù)、異地還車網(wǎng)絡(luò)版,校園地圖

指示服務(wù)。校網(wǎng)服務(wù)移動端兩年后,經(jīng)費所剩無幾,原開發(fā)、管理的同學(xué)退出協(xié)會。同學(xué)有意見共享單車普及,購置單車同學(xué)逐漸變少,“小黃Y”服務(wù)是否需要繼續(xù)堅持下去?誰來支付自行車維修的費用?誰來維護這個功能愈見增多的代碼呢?這個學(xué)生社團組織維護的代碼可以稱之為軟件嗎?可以稱這樣的開發(fā)和維護工作為一個軟件工程項目嗎?它與現(xiàn)在城市共享單車系統(tǒng)會有哪些差別呢?共享“小黃Y”課程教學(xué)目標(biāo)1.掌握軟件工程和軟件開發(fā)模型的基本概念,并了解軟件開發(fā)相關(guān)技術(shù)標(biāo)準(zhǔn)。2.掌握軟件需求分析、設(shè)計概念和一般性過程,能夠運用這些知識對復(fù)雜軟件系統(tǒng)進行需求分析、模塊劃分和詳細設(shè)計。3.掌握面向?qū)ο蟮能浖椖块_發(fā)特點以及項目管理方法,增強編程實踐、軟件測試與維護。4.掌握UML建模技術(shù),能夠在軟件工程過程中使用常用建模工具對復(fù)雜軟件系統(tǒng)進行需求分析和設(shè)計。5.掌握軟件工程需求、分析、設(shè)計等相關(guān)文檔的編寫。6.掌握軟件過程的管理和質(zhì)量控制,以及軟件項目的計劃、可行性分析和成本周期估算等知識。

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

軟件質(zhì)量常見的屬性1.41.5

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

軟件團隊1.5

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

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

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

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

溫馨提示

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

評論

0/150

提交評論