第1章+SEI-為什么要研究軟件工程課件_第1頁
第1章+SEI-為什么要研究軟件工程課件_第2頁
第1章+SEI-為什么要研究軟件工程課件_第3頁
第1章+SEI-為什么要研究軟件工程課件_第4頁
第1章+SEI-為什么要研究軟件工程課件_第5頁
已閱讀5頁,還剩119頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

軟件工程導(dǎo)論(1)

為什么要研究軟件工程軟件工程導(dǎo)論(1)軟件工程體系軟件工程導(dǎo)論需求工程系統(tǒng)設(shè)計編程方法軟件測試項目管理質(zhì)量管理過程管理配置管理軟件工程體系軟件工程導(dǎo)論需求工程系統(tǒng)設(shè)計編程方法軟件測試項目內(nèi)容提要/Kerryzhu

本書圍繞軟件工程最基本的核心——“質(zhì)量和生產(chǎn)率”展開,力求通過一些具體的實例來說明軟件工程的思想和方法。本書在回答為什么要研究軟件工程問題之后,首先系統(tǒng)地給出軟件工程的知識體系框架,幫助讀者建立其軟件工程的完整而清晰的概念。然后深入軟件過程、軟件工程目標(biāo)和要求的討論,全面闡述了軟件工程的思想、方法、技術(shù)和工具,結(jié)合軟件工程環(huán)境、軟件項目管理等內(nèi)容,使讀者堅實地掌握和運用軟件工程的知識內(nèi)涵。本書在內(nèi)容組織上,構(gòu)思新穎,突破軟件工程圖書的傳統(tǒng)框架,使整個軟件工程體系更清晰,從思想和管理出發(fā),自然延伸到流程、方法、工具和環(huán)境,重新闡釋了軟件工程體系。本書吸收了軟件工程的最新進展,適應(yīng)軟件即服務(wù)(SaaS)新的開發(fā)模式,增加了相應(yīng)的內(nèi)容,符合當(dāng)今軟件工程的實際需求。

內(nèi)容提要/Kerry引子回答最重要的問題引子回答最重要的問題Q1-什么是軟件工程?

軟件工程是一種工程形式,它運用計算機科學(xué)和數(shù)學(xué)原理,針對軟件問題獲得一種經(jīng)濟有效的解決方案用系統(tǒng)的、規(guī)范的、可度量的方法,開發(fā)、運行和維護軟件軟件工程是采用系統(tǒng)工程學(xué)和管理學(xué)相結(jié)合的原理、方法和技術(shù)來指導(dǎo)、管理和實施軟件的各種活動,包括軟件開發(fā)、運行、維護和服務(wù)等Q1-什么是軟件工程?軟件工程是一種工程形式,它運用計算機Q2-軟件工程的基本目標(biāo)是什么?

高質(zhì)量就是最大程度地滿足客戶需求、幫助客戶獲得成功高生產(chǎn)力就是以最小的成本獲得最好的收益,即在規(guī)定的時間和預(yù)算之內(nèi)完成軟件開發(fā)、維護和服務(wù)等任務(wù)高質(zhì)量&高生產(chǎn)力Q2-軟件工程的基本目標(biāo)是什么?高質(zhì)量就是最大程度地滿足客Q3-為什么要討論軟件工程?

軟件危機的出現(xiàn)和加劇軟件系統(tǒng)越來越復(fù)雜軟件環(huán)境變化很快軟件用戶的需求越來越高Q3-為什么要討論軟件工程?軟件危機的出現(xiàn)和加劇Q4-軟件工程帶來的益處又是什么?

規(guī)范軟件開發(fā)的行為,從而提高軟件的可維護、可移植性和可靠性提供許多科學(xué)的方法、最佳實踐和工具,幫助人們高效地、系統(tǒng)地、正確地構(gòu)造軟件幫助我們建立有效的、平穩(wěn)的并能持續(xù)改進的軟件過程,預(yù)防缺陷、降低成本,最終多快好省地提供優(yōu)質(zhì)的軟件產(chǎn)品或服務(wù),為組織贏得利潤、獲得競爭力Q4-軟件工程帶來的益處又是什么?規(guī)范軟件開發(fā)的行為,從而Q5-軟件工程的基本思想是什么?

將軟件看成一個系統(tǒng)通過迭代來完善軟件系統(tǒng),逐漸逼近客戶的需求軟件開發(fā)是工程和藝術(shù)的統(tǒng)一、創(chuàng)造性和規(guī)范性的統(tǒng)一過程決定產(chǎn)品,持續(xù)改進過程質(zhì)量以預(yù)防為主、重在文化建設(shè)以顧客為導(dǎo)向、軟件即服務(wù)個人和團隊并重向傳統(tǒng)的成熟工業(yè)學(xué)習(xí)適合自己的,才是最好的Q5-軟件工程的基本思想是什么?將軟件看成一個系統(tǒng)Q6-如何理解軟件工程?

管理,針對不同的領(lǐng)域建立目標(biāo)、標(biāo)準(zhǔn)和規(guī)則過程:定義完成軟件各項任務(wù)的工作階段、內(nèi)容、流程、階段性成果和驗收要求方法:軟件開發(fā)、運行和維護等所需的技術(shù)方法工具:為方法的運用提供自動或半自動的軟件支撐環(huán)境首先就是一種指導(dǎo)軟件管理和實施的先進思想。其次,是針對軟件特點而建立的科學(xué)管理體系。最后,是一門學(xué)科,研究適合軟件的過程、方法和工具Q6-如何理解軟件工程?管理,針對不同的領(lǐng)域建立目標(biāo)、標(biāo)準(zhǔn)Q7-軟件工程知識體系包含哪些內(nèi)容?

軟件工程分為:軟件工程方法學(xué)和軟件工程管理學(xué)

10個知識域:軟件需求、軟件設(shè)計、軟件構(gòu)造、軟件測試、軟件維護、軟件配置管理、軟件工程管理、軟件工程過程、軟件工程工具和方法和軟件質(zhì)量管理。Q7-軟件工程知識體系包含哪些內(nèi)容?軟件工程分為:軟件工程巴比倫塔可能是第一個工程上的徹底失敗,但它不是最后一個巴比倫塔可能是第一個工程上的徹底失敗,但它不是最后一個本章內(nèi)容1.1軟件危機1.2軟件的問題在哪里?1.3軟件工程的誕生1.4軟件工程的命題1.5軟件工程知識體系1.6現(xiàn)代軟件工程/Kerryzhu

本章內(nèi)容1.1軟件危機http://blog.csdn.n本章內(nèi)容1.1軟件危機1.2軟件的問題在哪里?1.3軟件工程的誕生1.4軟件工程的命題1.5軟件工程知識體系1.6現(xiàn)代軟件工程/Kerryzhu

本章內(nèi)容1.1軟件危機http://blog.csdn.n軟件危機1.1.1軟件不再只是程序1.1.2危機四伏1.1.3軟件危機之證/Kerryzhu

軟件危機(SoftwareCrisis)是在軟件開發(fā)和維護過程中所遭遇的一系列嚴(yán)重問題,導(dǎo)致開發(fā)延期、成本激增或者軟件運行質(zhì)量事故等。

軟件危機1.1.1軟件不再只是程序http://blog.軟件不再只是程序軟件=程序

人機交互、實時系統(tǒng)、業(yè)務(wù)系統(tǒng)/Kerryzhu

軟件不再只是程序軟件=程序http://blog.cs世界上第一位軟件工程師

AdaLovelace(1815-1851)數(shù)學(xué)家穿孔機程序創(chuàng)始人,建立了循環(huán)和子程序概念英國著名詩人拜倫的女兒世界上第一位軟件工程師AdaLovelace典型的例子IBM360系列機的操作系統(tǒng)

FredBrooks在的《人月神話》(TheMythicalMan-Month)

/Kerryzhu

典型的例子IBM360系列機的操作系統(tǒng)http://bl軟件危機四伏對軟件開發(fā)成本和進度的估計不足,超預(yù)算、完成日期一再被推遲的現(xiàn)象屢屢出現(xiàn)不能滿足客戶需求,用戶不滿意缺乏質(zhì)量保證體系,沒有成熟的開發(fā)流程,產(chǎn)品的質(zhì)量得不到保證

軟件不容易被維護,錯誤難以糾正,新功能難以擴充軟件發(fā)展速度跟不上硬件發(fā)展的要求……/Kerryzhu

軟件危機四伏對軟件開發(fā)成本和進度的估計不足,超預(yù)算、完成日期軟件危機之證(1)1994年,英特爾奔騰CPU芯片曾經(jīng)存在一個浮點運算的缺陷丹佛新國際機場的自動化行李處理系統(tǒng)中存在嚴(yán)重的程序缺陷,導(dǎo)致行李箱被絞碎……1999年美國宇航局的火星基地登陸飛船在試圖登陸火星表面時突然墜毀失蹤。Windows2000存在許多安全性漏洞2002年7月23日,我國首都機場因計算機軟件系統(tǒng)故障,6000多人滯留機場,150多個航班延誤。2003年8月14日發(fā)生的美國及加拿大部分地區(qū)史上最大停電事故是由軟件錯誤所引起/Kerryzhu

質(zhì)量事故的例子

軟件危機之證(1)1994年,英特爾奔騰CPU芯片曾經(jīng)存在一軟件危機之證(2)/Kerryzhu

項目拖延或取消的事例

44%challenged軟件危機之證(2)/惡化的趨勢惡化的趨勢本章內(nèi)容1.1軟件危機1.2軟件的問題在哪里?1.3軟件工程的誕生1.4軟件工程的命題1.5軟件工程知識體系1.6現(xiàn)代軟件工程/Kerryzhu

本章內(nèi)容1.1軟件危機http://blog.csdn.n1.2軟件的問題在哪里?1.2.1軟件特性 1.2.2軟件業(yè)所面臨的問題1.2.3軟件問題的幽默畫/Kerryzhu

1.2軟件的問題在哪里?1.2.1軟件特性 http:/軟件特性創(chuàng)造性

軟件技術(shù)日新月異

易修改性

需求不斷變化

非標(biāo)準(zhǔn)化

/Kerryzhu

軟件是邏輯的、知識性的智力產(chǎn)品,是對物理世界的一種抽象軟件特性創(chuàng)造性/K軟件開發(fā)=焦油坑/Kerryzhu

軟件開發(fā)被喻為讓眾多史前巨獸痛苦掙扎,卻無力擺脫的焦油坑。軟件開發(fā)=焦油坑軟件所面臨的問題軟件系統(tǒng)的復(fù)雜性,使我們理解程序如何工作也變得非常難,團隊工作效率低下,容易產(chǎn)生問題軟件需求不充分,同時經(jīng)常變更大規(guī)模的軟件會使開發(fā)人員數(shù)量的增長很快,導(dǎo)致團隊溝通不暢(二次級數(shù)增長)其它問題/Kerryzhu

軟件所面臨的問題軟件系統(tǒng)的復(fù)雜性,使我們理解程序如何工作也變軟件問題的幽默畫/Kerryzhu

客戶是如何解釋的的項目經(jīng)理這樣理解的分析人員的設(shè)計程序員代碼寫成這樣業(yè)務(wù)咨詢師描述成那樣項目文檔這樣記載軟件安裝后的結(jié)果客戶遭到亂收費支持人員的工作客戶的真正需求軟件問題的幽默畫/K本章內(nèi)容1.1軟件危機1.2軟件的問題在哪里?1.3軟件工程的誕生1.4軟件工程的命題1.5軟件工程知識體系1.6現(xiàn)代軟件工程/Kerryzhu

本章內(nèi)容1.1軟件危機http://blog.csdn.n概念來源1968年北大西洋公約組織(NATO)的計算機科學(xué)家在聯(lián)邦德國召開國際會議,討論軟件危機問題,正式提出了“軟件工程”概念來源1968年北大西洋公約組織(NATO)的計算機科學(xué)家GOTO語句大討論foreachmy$try(@options){nextunlessexists$hash{$try};do_something($try);gotoSUCCESS;}log_failure();SUCCESS:...GOTO語句大討論foreachmy$try(@op本章內(nèi)容1.1軟件危機1.2軟件的問題在哪里?1.3軟件工程的誕生1.4軟件工程的命題1.5軟件工程知識體系1.6現(xiàn)代軟件工程/Kerryzhu

本章內(nèi)容1.1軟件危機http://blog.csdn.n軟件工程學(xué)科軟件工程從計算機科學(xué)中的一個學(xué)科方向發(fā)展成為與之并重的一門獨立學(xué)科,重點研究如何以系統(tǒng)的、可控的、高效的方式開發(fā)和維護高質(zhì)量軟件的問題軟件工程學(xué)科軟件工程從計算機科學(xué)中的一個學(xué)科方向發(fā)展成為與之軟件工程的定義

F.L.Bauer:軟件工程是為了經(jīng)濟地獲得能夠在實際機器上高效運行的、可靠的軟件而建立和應(yīng)用一系列堅實的軟件工程原則SEI:

軟件工程是以工程的形式應(yīng)用計算機科學(xué)和數(shù)學(xué)原理,從而經(jīng)濟有效地解決軟件問題IEEE:

軟件工程是將系統(tǒng)性的、規(guī)范化的、可定量的方法應(yīng)用于軟件的開發(fā)、運行和維護軟件工程的定義F.L.Bauer:軟件工程是為了經(jīng)濟地獲軟件工程的內(nèi)涵軟件工程學(xué)科包含為完成軟件需求、設(shè)計、構(gòu)建、測試和維護所需的知識、方法和工具。軟件工程不局限在理論之上,更重要在實踐上,能夠幫助軟件組織協(xié)調(diào)團隊、運用有限的資源,遵守已定義的軟件工程規(guī)范,通過一系列可復(fù)用的、有效的方法,在規(guī)定的時間內(nèi)達到預(yù)先設(shè)定的目標(biāo)軟件工程的內(nèi)涵軟件工程學(xué)科包含為完成軟件需求、設(shè)計、構(gòu)建、測交叉性學(xué)科計算機科學(xué)和數(shù)學(xué)用于構(gòu)造軟件的模型與算法工程科學(xué)用于制定規(guī)范、設(shè)計范型、評估成本以及確定權(quán)衡等管理科學(xué)用于計劃、資源、質(zhì)量、成本等管理軟件工程由下列3部分組成:交叉性學(xué)科計算機科學(xué)和數(shù)學(xué)用于構(gòu)造軟件的模型與算法軟件工程由學(xué)科范圍學(xué)科范圍本章內(nèi)容1.1軟件危機1.2軟件的問題在哪里?1.3軟件工程的誕生1.4軟件工程的命題1.5軟件工程知識體系1.6現(xiàn)代軟件工程/Kerryzhu

本章內(nèi)容1.1軟件危機http://blog.csdn.n1.5軟件工程知識體系1.5.1軟件工程知識體系的構(gòu)成1.5.2軟件工程要素1.5.3SWEBOK/Kerryzhu

1.5軟件工程知識體系1.5.1軟件工程知識體系的構(gòu)成h多視角觀察

多視角觀察軟件工程學(xué)的構(gòu)成軟件工程學(xué)的構(gòu)成軟件工程方法學(xué)

軟件方法學(xué)實際上就是研究在軟件工程中可以采用的軟件方法、技術(shù)和工具,即完成軟件構(gòu)建和維護所需要的有效方法和技術(shù)軟件方法學(xué)離不開軟件過程,包括軟件過程的定義、監(jiān)控、管理和改進軟件開發(fā)環(huán)境是方法和工具的結(jié)合軟件工程方法學(xué)軟件方法學(xué)實際上就是研究在軟件工程中可以采用軟件工程管理學(xué)

計劃管理成本管理人員組織軟件配置管理質(zhì)量管理軟件度量軟件工程管理學(xué)計劃管理軟件工程要素

從項目管理看,自然涉及到人員與組織、成本、風(fēng)險、軟件配置項、基線、質(zhì)量等要素從技術(shù)看,會涉及到設(shè)計模式、編程語言、開發(fā)平臺、網(wǎng)絡(luò)、通用組件、中間件、接口、數(shù)據(jù)庫、人機界面、服務(wù)器、客戶端等要素總體上看,有軟件質(zhì)量、標(biāo)準(zhǔn)、過程、方法、技術(shù)、工具、團隊等主要因素流程、方法和工具

軟件工程要素從項目管理看,自然涉及到人員與組織、成本、風(fēng)險基本要素軟件工程=思想+流程+方法+工具+最佳實踐思想流程方法工具最佳實踐基本要素軟件工程=思想+流程+方法+工具+最佳實SWEBOK實施三階段草人階段(~1997年5月)產(chǎn)生軟件工程本體知識指南的雛型,主要是為該指南確定恰當(dāng)?shù)慕M織結(jié)構(gòu)。石人階段(~2001年4月18日),草稿完成、進入試用階段,SWEBOK0.95版的發(fā)布標(biāo)志著該階段結(jié)束。鐵人階段(~2004年),從正式版本——1.0版開始到現(xiàn)在,包括最新的2004版本SWEBOK實施三階段草人階段(~1997年5月)產(chǎn)生軟10個知識域

軟件需求(SoftwareRequirements)軟件設(shè)計(SoftwareDesign)軟件構(gòu)造(SoftwareConstruction)軟件測試(SoftwareTesting)軟件維護(SoftwareMaintenance)軟件配置管理(SoftwareConfigurationManagement)軟件工程管理(SoftwareEngineeringManagement)軟件工程過程(~Process)軟件工程工具和方法(~ToolandMethod)軟件質(zhì)量(SoftwareQuality10個知識域軟件需求(SoftwareRequirem知識體系的構(gòu)成知識體系的構(gòu)成知識域及其子域知識域及其子域本章內(nèi)容1.1軟件危機1.2軟件的問題在哪里?1.3軟件工程的誕生1.4軟件工程的命題1.5軟件工程知識體系1.6現(xiàn)代軟件工程/Kerryzhu

本章內(nèi)容1.1軟件危機http://blog.csdn.n1.6現(xiàn)代軟件工程1.6.1開源軟件運動1.6.2SaaS1.6.3現(xiàn)代軟件工程的基本思想/Kerryzhu

1.6現(xiàn)代軟件工程1.6.1開源軟件運動http://b

TimO'ReillyandRichardStallman

RichardStallmanisanactivistintheFREESOFTWAREMOVEMENT(FSM),whichhefoundedin1983.OPENSOURCEMOVEMENTsplitofffromFSMin1998.開源運動

(1998-2008)OpenWisdom=OpenSource=Community=Share

TimO'ReillyandRichardStalSendmail開源軟件產(chǎn)品CVSSendmail開源軟件產(chǎn)品CVS開源軟件的特點日常管理成本則被最小化開源軟件的設(shè)計,努力提取其共性而形成參考體系結(jié)構(gòu),并使其易于移植。核心小組成員及其責(zé)任分配是自發(fā)形成的,并不是硬性指派產(chǎn)生。非正式交流(如郵件列表、論壇等)在開源軟件開發(fā)的活動中發(fā)揮著積極的重要作用開源項目用戶的參與度高并不刻意遵循特定的軟件工程方法和過程采取獨特的、靈活的方式來解決標(biāo)、資源配置和進度安排等問題,開源軟件的特點日常管理成本則被最小化開源軟件開發(fā)的經(jīng)驗早發(fā)布、常發(fā)布、聽取用戶的建議。把用戶當(dāng)做協(xié)作開發(fā)者和測試人員精妙的數(shù)據(jù)結(jié)構(gòu)和笨拙的代碼所構(gòu)成的組合肯定好于笨拙的數(shù)據(jù)結(jié)構(gòu)和精妙的代碼。最好的設(shè)計是最精簡的設(shè)計好的程序員知道如何寫代碼,偉大的程序員知道重用或重構(gòu)代碼開源軟件開發(fā)的經(jīng)驗早發(fā)布、常發(fā)布、聽取用戶的建議。SaaSSoftware-as-a-Service的簡稱新的軟件應(yīng)用模式廠商統(tǒng)一部署應(yīng)用軟件客戶按需獲得服務(wù)SaaSSaaS服務(wù)SaaS服務(wù)EssUP的八大過程

EssUP的八大過程現(xiàn)代軟件工程的基本思想讓過程作為指南,而不是“警察”過程等于一組實踐,不等于慣例精益概念,摒棄復(fù)雜的公式化元模型,取而代之的是簡單的、可感知的分類法。簡煉的表示方法,使用卡片和指南表來提供實踐及相關(guān)工件的一致、簡單的解釋專業(yè)人員是知識的主體開放的和可擴展的現(xiàn)代軟件工程的基本思想小結(jié)只有技術(shù)路線、項目管理和質(zhì)量管理的有機結(jié)合,一個軟件工程項目才能有序、有計劃、高質(zhì)量地完成工程需要規(guī)范和范型,需要建立相對應(yīng)的標(biāo)準(zhǔn)要系統(tǒng)、徹底地解決軟件工程問題,需要借助系統(tǒng)工程學(xué)、管理學(xué)、行為組織學(xué)、數(shù)學(xué)等多個學(xué)科的幫助小結(jié)只有技術(shù)路線、項目管理和質(zhì)量管理的有機結(jié)合,一個軟件工程Q&A/Kerryzhu

Q&A/Kerr演講完畢,謝謝觀看!演講完畢,謝謝觀看!軟件工程導(dǎo)論(1)

為什么要研究軟件工程軟件工程導(dǎo)論(1)軟件工程體系軟件工程導(dǎo)論需求工程系統(tǒng)設(shè)計編程方法軟件測試項目管理質(zhì)量管理過程管理配置管理軟件工程體系軟件工程導(dǎo)論需求工程系統(tǒng)設(shè)計編程方法軟件測試項目內(nèi)容提要/Kerryzhu

本書圍繞軟件工程最基本的核心——“質(zhì)量和生產(chǎn)率”展開,力求通過一些具體的實例來說明軟件工程的思想和方法。本書在回答為什么要研究軟件工程問題之后,首先系統(tǒng)地給出軟件工程的知識體系框架,幫助讀者建立其軟件工程的完整而清晰的概念。然后深入軟件過程、軟件工程目標(biāo)和要求的討論,全面闡述了軟件工程的思想、方法、技術(shù)和工具,結(jié)合軟件工程環(huán)境、軟件項目管理等內(nèi)容,使讀者堅實地掌握和運用軟件工程的知識內(nèi)涵。本書在內(nèi)容組織上,構(gòu)思新穎,突破軟件工程圖書的傳統(tǒng)框架,使整個軟件工程體系更清晰,從思想和管理出發(fā),自然延伸到流程、方法、工具和環(huán)境,重新闡釋了軟件工程體系。本書吸收了軟件工程的最新進展,適應(yīng)軟件即服務(wù)(SaaS)新的開發(fā)模式,增加了相應(yīng)的內(nèi)容,符合當(dāng)今軟件工程的實際需求。

內(nèi)容提要/Kerry引子回答最重要的問題引子回答最重要的問題Q1-什么是軟件工程?

軟件工程是一種工程形式,它運用計算機科學(xué)和數(shù)學(xué)原理,針對軟件問題獲得一種經(jīng)濟有效的解決方案用系統(tǒng)的、規(guī)范的、可度量的方法,開發(fā)、運行和維護軟件軟件工程是采用系統(tǒng)工程學(xué)和管理學(xué)相結(jié)合的原理、方法和技術(shù)來指導(dǎo)、管理和實施軟件的各種活動,包括軟件開發(fā)、運行、維護和服務(wù)等Q1-什么是軟件工程?軟件工程是一種工程形式,它運用計算機Q2-軟件工程的基本目標(biāo)是什么?

高質(zhì)量就是最大程度地滿足客戶需求、幫助客戶獲得成功高生產(chǎn)力就是以最小的成本獲得最好的收益,即在規(guī)定的時間和預(yù)算之內(nèi)完成軟件開發(fā)、維護和服務(wù)等任務(wù)高質(zhì)量&高生產(chǎn)力Q2-軟件工程的基本目標(biāo)是什么?高質(zhì)量就是最大程度地滿足客Q3-為什么要討論軟件工程?

軟件危機的出現(xiàn)和加劇軟件系統(tǒng)越來越復(fù)雜軟件環(huán)境變化很快軟件用戶的需求越來越高Q3-為什么要討論軟件工程?軟件危機的出現(xiàn)和加劇Q4-軟件工程帶來的益處又是什么?

規(guī)范軟件開發(fā)的行為,從而提高軟件的可維護、可移植性和可靠性提供許多科學(xué)的方法、最佳實踐和工具,幫助人們高效地、系統(tǒng)地、正確地構(gòu)造軟件幫助我們建立有效的、平穩(wěn)的并能持續(xù)改進的軟件過程,預(yù)防缺陷、降低成本,最終多快好省地提供優(yōu)質(zhì)的軟件產(chǎn)品或服務(wù),為組織贏得利潤、獲得競爭力Q4-軟件工程帶來的益處又是什么?規(guī)范軟件開發(fā)的行為,從而Q5-軟件工程的基本思想是什么?

將軟件看成一個系統(tǒng)通過迭代來完善軟件系統(tǒng),逐漸逼近客戶的需求軟件開發(fā)是工程和藝術(shù)的統(tǒng)一、創(chuàng)造性和規(guī)范性的統(tǒng)一過程決定產(chǎn)品,持續(xù)改進過程質(zhì)量以預(yù)防為主、重在文化建設(shè)以顧客為導(dǎo)向、軟件即服務(wù)個人和團隊并重向傳統(tǒng)的成熟工業(yè)學(xué)習(xí)適合自己的,才是最好的Q5-軟件工程的基本思想是什么?將軟件看成一個系統(tǒng)Q6-如何理解軟件工程?

管理,針對不同的領(lǐng)域建立目標(biāo)、標(biāo)準(zhǔn)和規(guī)則過程:定義完成軟件各項任務(wù)的工作階段、內(nèi)容、流程、階段性成果和驗收要求方法:軟件開發(fā)、運行和維護等所需的技術(shù)方法工具:為方法的運用提供自動或半自動的軟件支撐環(huán)境首先就是一種指導(dǎo)軟件管理和實施的先進思想。其次,是針對軟件特點而建立的科學(xué)管理體系。最后,是一門學(xué)科,研究適合軟件的過程、方法和工具Q6-如何理解軟件工程?管理,針對不同的領(lǐng)域建立目標(biāo)、標(biāo)準(zhǔn)Q7-軟件工程知識體系包含哪些內(nèi)容?

軟件工程分為:軟件工程方法學(xué)和軟件工程管理學(xué)

10個知識域:軟件需求、軟件設(shè)計、軟件構(gòu)造、軟件測試、軟件維護、軟件配置管理、軟件工程管理、軟件工程過程、軟件工程工具和方法和軟件質(zhì)量管理。Q7-軟件工程知識體系包含哪些內(nèi)容?軟件工程分為:軟件工程巴比倫塔可能是第一個工程上的徹底失敗,但它不是最后一個巴比倫塔可能是第一個工程上的徹底失敗,但它不是最后一個本章內(nèi)容1.1軟件危機1.2軟件的問題在哪里?1.3軟件工程的誕生1.4軟件工程的命題1.5軟件工程知識體系1.6現(xiàn)代軟件工程/Kerryzhu

本章內(nèi)容1.1軟件危機http://blog.csdn.n本章內(nèi)容1.1軟件危機1.2軟件的問題在哪里?1.3軟件工程的誕生1.4軟件工程的命題1.5軟件工程知識體系1.6現(xiàn)代軟件工程/Kerryzhu

本章內(nèi)容1.1軟件危機http://blog.csdn.n軟件危機1.1.1軟件不再只是程序1.1.2危機四伏1.1.3軟件危機之證/Kerryzhu

軟件危機(SoftwareCrisis)是在軟件開發(fā)和維護過程中所遭遇的一系列嚴(yán)重問題,導(dǎo)致開發(fā)延期、成本激增或者軟件運行質(zhì)量事故等。

軟件危機1.1.1軟件不再只是程序http://blog.軟件不再只是程序軟件=程序

人機交互、實時系統(tǒng)、業(yè)務(wù)系統(tǒng)/Kerryzhu

軟件不再只是程序軟件=程序http://blog.cs世界上第一位軟件工程師

AdaLovelace(1815-1851)數(shù)學(xué)家穿孔機程序創(chuàng)始人,建立了循環(huán)和子程序概念英國著名詩人拜倫的女兒世界上第一位軟件工程師AdaLovelace典型的例子IBM360系列機的操作系統(tǒng)

FredBrooks在的《人月神話》(TheMythicalMan-Month)

/Kerryzhu

典型的例子IBM360系列機的操作系統(tǒng)http://bl軟件危機四伏對軟件開發(fā)成本和進度的估計不足,超預(yù)算、完成日期一再被推遲的現(xiàn)象屢屢出現(xiàn)不能滿足客戶需求,用戶不滿意缺乏質(zhì)量保證體系,沒有成熟的開發(fā)流程,產(chǎn)品的質(zhì)量得不到保證

軟件不容易被維護,錯誤難以糾正,新功能難以擴充軟件發(fā)展速度跟不上硬件發(fā)展的要求……/Kerryzhu

軟件危機四伏對軟件開發(fā)成本和進度的估計不足,超預(yù)算、完成日期軟件危機之證(1)1994年,英特爾奔騰CPU芯片曾經(jīng)存在一個浮點運算的缺陷丹佛新國際機場的自動化行李處理系統(tǒng)中存在嚴(yán)重的程序缺陷,導(dǎo)致行李箱被絞碎……1999年美國宇航局的火星基地登陸飛船在試圖登陸火星表面時突然墜毀失蹤。Windows2000存在許多安全性漏洞2002年7月23日,我國首都機場因計算機軟件系統(tǒng)故障,6000多人滯留機場,150多個航班延誤。2003年8月14日發(fā)生的美國及加拿大部分地區(qū)史上最大停電事故是由軟件錯誤所引起/Kerryzhu

質(zhì)量事故的例子

軟件危機之證(1)1994年,英特爾奔騰CPU芯片曾經(jīng)存在一軟件危機之證(2)/Kerryzhu

項目拖延或取消的事例

44%challenged軟件危機之證(2)/惡化的趨勢惡化的趨勢本章內(nèi)容1.1軟件危機1.2軟件的問題在哪里?1.3軟件工程的誕生1.4軟件工程的命題1.5軟件工程知識體系1.6現(xiàn)代軟件工程/Kerryzhu

本章內(nèi)容1.1軟件危機http://blog.csdn.n1.2軟件的問題在哪里?1.2.1軟件特性 1.2.2軟件業(yè)所面臨的問題1.2.3軟件問題的幽默畫/Kerryzhu

1.2軟件的問題在哪里?1.2.1軟件特性 http:/軟件特性創(chuàng)造性

軟件技術(shù)日新月異

易修改性

需求不斷變化

非標(biāo)準(zhǔn)化

/Kerryzhu

軟件是邏輯的、知識性的智力產(chǎn)品,是對物理世界的一種抽象軟件特性創(chuàng)造性/K軟件開發(fā)=焦油坑/Kerryzhu

軟件開發(fā)被喻為讓眾多史前巨獸痛苦掙扎,卻無力擺脫的焦油坑。軟件開發(fā)=焦油坑軟件所面臨的問題軟件系統(tǒng)的復(fù)雜性,使我們理解程序如何工作也變得非常難,團隊工作效率低下,容易產(chǎn)生問題軟件需求不充分,同時經(jīng)常變更大規(guī)模的軟件會使開發(fā)人員數(shù)量的增長很快,導(dǎo)致團隊溝通不暢(二次級數(shù)增長)其它問題/Kerryzhu

軟件所面臨的問題軟件系統(tǒng)的復(fù)雜性,使我們理解程序如何工作也變軟件問題的幽默畫/Kerryzhu

客戶是如何解釋的的項目經(jīng)理這樣理解的分析人員的設(shè)計程序員代碼寫成這樣業(yè)務(wù)咨詢師描述成那樣項目文檔這樣記載軟件安裝后的結(jié)果客戶遭到亂收費支持人員的工作客戶的真正需求軟件問題的幽默畫/K本章內(nèi)容1.1軟件危機1.2軟件的問題在哪里?1.3軟件工程的誕生1.4軟件工程的命題1.5軟件工程知識體系1.6現(xiàn)代軟件工程/Kerryzhu

本章內(nèi)容1.1軟件危機http://blog.csdn.n概念來源1968年北大西洋公約組織(NATO)的計算機科學(xué)家在聯(lián)邦德國召開國際會議,討論軟件危機問題,正式提出了“軟件工程”概念來源1968年北大西洋公約組織(NATO)的計算機科學(xué)家GOTO語句大討論foreachmy$try(@options){nextunlessexists$hash{$try};do_something($try);gotoSUCCESS;}log_failure();SUCCESS:...GOTO語句大討論foreachmy$try(@op本章內(nèi)容1.1軟件危機1.2軟件的問題在哪里?1.3軟件工程的誕生1.4軟件工程的命題1.5軟件工程知識體系1.6現(xiàn)代軟件工程/Kerryzhu

本章內(nèi)容1.1軟件危機http://blog.csdn.n軟件工程學(xué)科軟件工程從計算機科學(xué)中的一個學(xué)科方向發(fā)展成為與之并重的一門獨立學(xué)科,重點研究如何以系統(tǒng)的、可控的、高效的方式開發(fā)和維護高質(zhì)量軟件的問題軟件工程學(xué)科軟件工程從計算機科學(xué)中的一個學(xué)科方向發(fā)展成為與之軟件工程的定義

F.L.Bauer:軟件工程是為了經(jīng)濟地獲得能夠在實際機器上高效運行的、可靠的軟件而建立和應(yīng)用一系列堅實的軟件工程原則SEI:

軟件工程是以工程的形式應(yīng)用計算機科學(xué)和數(shù)學(xué)原理,從而經(jīng)濟有效地解決軟件問題IEEE:

軟件工程是將系統(tǒng)性的、規(guī)范化的、可定量的方法應(yīng)用于軟件的開發(fā)、運行和維護軟件工程的定義F.L.Bauer:軟件工程是為了經(jīng)濟地獲軟件工程的內(nèi)涵軟件工程學(xué)科包含為完成軟件需求、設(shè)計、構(gòu)建、測試和維護所需的知識、方法和工具。軟件工程不局限在理論之上,更重要在實踐上,能夠幫助軟件組織協(xié)調(diào)團隊、運用有限的資源,遵守已定義的軟件工程規(guī)范,通過一系列可復(fù)用的、有效的方法,在規(guī)定的時間內(nèi)達到預(yù)先設(shè)定的目標(biāo)軟件工程的內(nèi)涵軟件工程學(xué)科包含為完成軟件需求、設(shè)計、構(gòu)建、測交叉性學(xué)科計算機科學(xué)和數(shù)學(xué)用于構(gòu)造軟件的模型與算法工程科學(xué)用于制定規(guī)范、設(shè)計范型、評估成本以及確定權(quán)衡等管理科學(xué)用于計劃、資源、質(zhì)量、成本等管理軟件工程由下列3部分組成:交叉性學(xué)科計算機科學(xué)和數(shù)學(xué)用于構(gòu)造軟件的模型與算法軟件工程由學(xué)科范圍學(xué)科范圍本章內(nèi)容1.1軟件危機1.2軟件的問題在哪里?1.3軟件工程的誕生1.4軟件工程的命題1.5軟件工程知識體系1.6現(xiàn)代軟件工程/Kerryzhu

本章內(nèi)容1.1軟件危機http://blog.csdn.n1.5軟件工程知識體系1.5.1軟件工程知識體系的構(gòu)成1.5.2軟件工程要素1.5.3SWEBOK/Kerryzhu

1.5軟件工程知識體系1.5.1軟件工程知識體系的構(gòu)成h多視角觀察

多視角觀察軟件工程學(xué)的構(gòu)成軟件工程學(xué)的構(gòu)成軟件工程方法學(xué)

軟件方法學(xué)實際上就是研究在軟件工程中可以采用的軟件方法、技術(shù)和工具,即完成軟件構(gòu)建和維護所需要的有效方法和技術(shù)軟件方法學(xué)離不開軟件過程,包括軟件過程的定義、監(jiān)控、管理和改進軟件開發(fā)環(huán)境是方法和工具的結(jié)合軟件工程方法學(xué)軟件方法學(xué)實際上就是研究在軟件工程中可以采用軟件工程管理學(xué)

計劃管理成本管理人員組織軟件配置管理質(zhì)量管理軟件度量軟件工程管理學(xué)計劃管理軟件工程要素

從項目管理看,自然涉及到人員與組織、成本、風(fēng)險、軟件配置項、基線、質(zhì)量等要素從技術(shù)看,會涉及到設(shè)計模式、編程語言、開發(fā)平臺、網(wǎng)絡(luò)、通用組件、中間件、接口、數(shù)據(jù)庫、人機界面、服務(wù)器、客戶端等要素總體上看,有軟件質(zhì)量、標(biāo)準(zhǔn)、過程、方法、技術(shù)、工具、團隊等主要因素流程、方法和工具

軟件工程要素從項目管理看,自然涉及到人員與組織、成本、風(fēng)險基本要素軟件工程=思想+流程+方法+工具+最佳實踐思想流程方法工具最佳實踐基本要素軟件工程=思想+流程+方法+工具+最佳實SWEBOK實施三階段草人階段(~1997年5月)產(chǎn)生軟件工程本體知識指南的雛型,主要是為該指南確定恰當(dāng)?shù)慕M織結(jié)構(gòu)。石人階段(~2001年4月18日),草稿完成、進入試用階段,SWEBOK0.95版的發(fā)布標(biāo)志著該階段結(jié)束。鐵人階段(~2004年),從正式版本——1.0版開始到現(xiàn)在,包括最新的2004版本SWEBOK實施三階段草人階段(~1997年5月)產(chǎn)生軟10個知識域

軟件需求(SoftwareRequirements)軟件設(shè)計(SoftwareDesign)軟件構(gòu)造(SoftwareConstruction)軟件測試(SoftwareTesting)軟件維護(SoftwareMaintenance)軟件配置管理(SoftwareConfigurationManagement)軟件工程管理(SoftwareEngineeringManagement)

溫馨提示

  • 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

提交評論