《第1章-軟件工程概述課件》由會(huì)員分享,可在線閱讀,更多相關(guān)《第1章-軟件工程概述課件(38頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,第1章 軟件工程概述,*,第1章 軟件工程概述,2024/12/13,第1章 軟件工程概述,第1章 軟件工程概述2023/10/4第1章 軟件工程概述,1,授課對(duì)象,軟件學(xué)院本科,40學(xué)時(shí) 課程設(shè)計(jì)2周(下學(xué)期),高級(jí)語(yǔ)言程序設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)、,數(shù)據(jù)庫(kù)技術(shù),等等,授課學(xué)時(shí),先修課程,第1章 軟件工程概述,2,授課對(duì)象 軟件學(xué)院本科 40學(xué)時(shí) 課程設(shè)計(jì)2周(,計(jì)算機(jī)科學(xué)與軟件工程,Computer Science,Customer,Theories,Computer,Function,Problem,Softw
2、are,Engineering,Tools and,Techniques to,Solve Problem,第1章 軟件工程概述,3,計(jì)算機(jī)科學(xué)與軟件工程Computer ScienceCus,初步了解,工程?,硬件工程?,軟件工程?,計(jì)算機(jī)工程?,工程:利用自然規(guī)律,創(chuàng)建一個(gè)使一部分,人受益的系統(tǒng).,第1章 軟件工程概述,4,初步了解工程:利用自然規(guī)律,創(chuàng)建一個(gè)使一部分第1章 軟件工,計(jì)算機(jī)工程 Computer Engineering,硬件工程 Hardware Engineering,研究硬件生產(chǎn)和硬件管理的工程學(xué)科.,計(jì)算機(jī)硬件及網(wǎng)絡(luò)分析、制定設(shè)計(jì)方案、,選型、配置、采購(gòu)、驗(yàn)收、安裝、
3、調(diào)試、,運(yùn)行、培訓(xùn)、維護(hù),第1章 軟件工程概述,5,計(jì)算機(jī)工程 Computer Engineering第1,軟件工程,Software Engineering,研究軟件開(kāi)發(fā)、生產(chǎn)和管理的,工程學(xué)科,調(diào)研、,可行性論證、,正式立項(xiàng),、,需求,分析、,項(xiàng)目策劃、,設(shè)計(jì),、,編程、測(cè)試、,實(shí)施、,試運(yùn)行、產(chǎn)品發(fā)布、用戶培訓(xùn)、產(chǎn)品復(fù)制、,銷售、,系統(tǒng)維護(hù)、,版本升級(jí),.,采用科學(xué)的方法指導(dǎo)軟件的開(kāi)發(fā)與維護(hù)!,初步了解,第1章 軟件工程概述,6,軟件開(kāi)發(fā)模型,軟件開(kāi)發(fā)過(guò)程,方法與技術(shù),軟件開(kāi)發(fā)環(huán)境與工具,軟件管理過(guò)程(度量、成本),軟件企業(yè)文化,現(xiàn)代軟件工程研究的內(nèi)容,:,軟,件,開(kāi),發(fā),既,是,一,
4、門(mén),科,學(xué),又,是,一,門(mén),工,程,也,是,一,門(mén),藝,術(shù),第1章 軟件工程概述,7,軟件開(kāi)發(fā)模型現(xiàn)代軟件工程研究的內(nèi)容:軟又第1章 軟件工程概述,導(dǎo)讀,第1章緒論-提出問(wèn)題,第2章 模型-全局觀點(diǎn),第3章 項(xiàng)目計(jì)劃-管理觀點(diǎn),第4、5章分析方法,需求分析-開(kāi)發(fā)第1步最重要,第6章 軟件設(shè)計(jì)-實(shí)現(xiàn)的前提,第7章 實(shí)現(xiàn)-初始結(jié)果,第8章 測(cè)試 質(zhì)量保證-得到可交付的結(jié)果,第9章 維護(hù)-延長(zhǎng)軟件生命期,第1章 軟件工程概述,8,導(dǎo)讀 第1章緒論-提出問(wèn)題第2章 模型-全局觀點(diǎn)第3章,軟件工程教材叢書(shū),需求分析系列,設(shè)計(jì)系列,實(shí)現(xiàn)系列,測(cè)試與度量系列,項(xiàng)目管理系列,質(zhì)量管理系列,面向?qū)ο蠹夹g(shù)系列,建
5、模語(yǔ)言系列,可用性與復(fù)用系列,前沿論題系列,軟件工程,軟件工程,方法與技術(shù),軟件項(xiàng)目管理,軟件過(guò)程系列,第1章 軟件工程概述,9,軟件工程教材叢書(shū)需求分析系列設(shè)計(jì)系列實(shí)現(xiàn)系列測(cè)試與度量系列項(xiàng),史濟(jì)民等,軟件工程-原理、方法與應(yīng)用,(第二板),高等教育出板社,ISBN 7-04-011561-1,張海藩,軟件工程,人民郵電出版社,2002年3月第一版,周之英,現(xiàn)代軟件工程(上、中、下),科學(xué)出版社 2001年4月第一版,陳明,軟件工程學(xué)教程,科學(xué)出版社,2002年3月第一版,鄭人杰,軟件工程,清華大學(xué)出版社,中文參考書(shū),第1章 軟件工程概述,10,史濟(jì)民等,軟件工程-原理、方法與應(yīng)用 中文參考書(shū)
6、第1章 軟,英文,參考書(shū),Software Engineering Theory,and Practice(Second Edition),Author:Shari Lawrence Pfleeger,(軟件工程理論與實(shí)踐,高等教育出版社),Software Engineering A,Practitioners Approach,Author:Rogers.Pressman,(軟件工程實(shí)踐者的研究方法 機(jī)械工業(yè)出版社),第1章 軟件工程概述,11,英文參考書(shū) Software Engineering The,基本要求,理解,軟件工程的思想和方法,掌握,軟件開(kāi)發(fā)方法和工具,學(xué)會(huì),按照工程化的方
7、法開(kāi)發(fā)和維護(hù)軟件,具有,閱讀軟件工程方面資料的能力,為,實(shí)踐,及未來(lái)的軟件開(kāi)發(fā)打基礎(chǔ),第1章 軟件工程概述,12,基本要求 理解軟件工程的思想和方法第1章 軟件工程概述12,聽(tīng)課,復(fù)習(xí),閱讀,討論,練習(xí),從知到會(huì),實(shí)踐,,從會(huì)到通,知識(shí)方法能力,如何學(xué)習(xí)軟件工程,講課,教書(shū),學(xué)習(xí)讀書(shū),知識(shí)課程,你們的收獲不會(huì)僅僅局限,在本課程之內(nèi),課堂教學(xué),復(fù)習(xí),作業(yè),參考資料,實(shí)踐,滲 透,第1章 軟件工程概述,13,如何學(xué)習(xí)軟件工程 講課教書(shū) 你們的收獲不會(huì),考試,課堂小考核,占成績(jī)的 10%,完成一個(gè)小型軟件系統(tǒng)的分析、設(shè)計(jì)文檔,階段性成果占成績(jī)的20%,考試成績(jī)占 70%,財(cái)富可以通過(guò)辛勤勞動(dòng)獲取,,
8、也可能由于喜中彩票大獎(jiǎng)獲得。,但知識(shí)卻必須是通過(guò)一點(diǎn)一滴,努力學(xué)習(xí)逐漸積累,珍惜每一天,每一節(jié)課,每一分鐘,誠(chéng)信,第1章 軟件工程概述,14,考試課堂小考核,占成績(jī)的 10%財(cái)富可以通過(guò)辛勤勞動(dòng)獲取,實(shí)踐作業(yè),分析和設(shè)計(jì)下列問(wèn)題之一,并寫(xiě)出文檔,.,1.,教學(xué)管理軟件,2.教學(xué)網(wǎng)站,3.網(wǎng)上售書(shū),網(wǎng)上購(gòu)物,4.超市管理,5.食堂管理,6.工寓管理,7.,自選,第1章 軟件工程概述,15,實(shí)踐作業(yè)分析和設(shè)計(jì)下列問(wèn)題之一,并寫(xiě)出文檔.第1章 軟件工程,第1章,軟件工程的概述,第1章 軟件工程概述,16,第1章第1章 軟件工程概述16,基本內(nèi)容,:,1.1,軟件,1.2 軟件工程的,概念,1.3 軟
9、件工程的,作用,1.4 軟件工程的,發(fā)展,1.5 軟件工程,三要素,1.6 軟件工程的,目標(biāo),第1章 軟件工程概述,17,基本內(nèi)容:第1章 軟件工程概述17,1.1 軟件,1.1.1 軟件的定義,:,20世紀(jì)五十年代,軟件=程序,面向過(guò)程的程序=算法+數(shù)據(jù)結(jié)構(gòu),20世紀(jì)六十年代,軟件=程序+文檔,20世紀(jì)七十年代 軟件=,程序+文檔+數(shù)據(jù),面向?qū)ο蟮某绦?對(duì)象+消息,面向構(gòu)件的程序=構(gòu)件+構(gòu)架,第1章 軟件工程概述,18,1.1 軟件1.1.1 軟件的定義:20世紀(jì)六十年代 軟件=,1.1.2 軟件的特征:,軟件是一個(gè)信息變換器;,軟件是產(chǎn)品交付使用的載體;,軟件是是被開(kāi)發(fā)或設(shè)計(jì)的,而不是被制
10、造的;,軟件不會(huì)磨損,但維護(hù)困難。,故障率,時(shí)間,夭折,磨損,實(shí)際,理想,故,障,率,時(shí)間,修改,軟件故障曲線,硬,件故障曲線,圖 1-1 硬,件軟件故障,圖,第1章 軟件工程概述,19,1.1.2 軟件的特征:故障率時(shí)間夭折磨損實(shí)際理想故時(shí)間修,1.1.3,軟件的應(yīng)用,*系統(tǒng)軟件,*應(yīng)用軟件,*商業(yè)軟件,*工程和科學(xué)計(jì)算軟件,*嵌入式軟件,*個(gè)人計(jì)算機(jī)軟件,*人工智能軟件,*基于web軟件,*工具包軟件,第1章 軟件工程概述,20,1.1.3 軟件的應(yīng)用第1章 軟件工程概述20,1.2 軟件工程的概念,1.2.1,軟件工程的提出,軟件開(kāi)發(fā)失敗的例子,1962年6月,美國(guó)飛向金星的第1個(gè)空間探
11、測(cè)器,(水手1號(hào))飛行中偏移了航線,失敗了.,原因:飛艙中的導(dǎo)航程序中的一個(gè)語(yǔ)句的語(yǔ)義錯(cuò),.,世界上精心設(shè)計(jì)的并花費(fèi)巨額投資的美國(guó)阿波,羅8號(hào)太空飛船登月飛行計(jì)劃的軟件的錯(cuò)誤,使,存儲(chǔ)器一部分信息丟失;阿波羅14號(hào)的飛行10天,中,出現(xiàn)18個(gè)軟件錯(cuò)誤.,原因:軟件的可靠性問(wèn)題,第1章 軟件工程概述,21,1.2 軟件工程的概念1.2.1 軟件工程的提出第1章 軟,1963,1966年IBM開(kāi)發(fā)OS/360操作系統(tǒng),投資幾千萬(wàn)美元,工作量5000多人年,,拖延幾年,才交付使用,而且每年要發(fā)現(xiàn),近100個(gè)錯(cuò)誤。,美國(guó)肯尼迪發(fā)射的一枚“阿脫拉斯火箭,當(dāng)飛地面幾十英里高空時(shí),翻轉(zhuǎn).地面控制中心被迫下令
12、炸毀,結(jié)果損失1850萬(wàn),美元,原因:飛行計(jì)劃程序漏掉一個(gè)“連”接字符,第1章 軟件工程概述,22,19631966年IBM開(kāi)發(fā)OS/360操作系統(tǒng),投資幾千,通過(guò)比較,支持“美國(guó)航天飛機(jī)”的軟件由3,百萬(wàn)行代碼組成,包括地面控制發(fā)射和飛行,的計(jì)算機(jī),航天飛機(jī)本身就需10萬(wàn)行代碼。,這樣一個(gè)反導(dǎo)彈軟件系統(tǒng)需要測(cè)試大量,的代碼.此外可靠性約束是不可能測(cè)試的。,許多軟件工程師認(rèn)為一個(gè)“反彈道導(dǎo)彈系統(tǒng)”,只少需要1千萬(wàn)行代碼,有人估計(jì)代碼在1億,行左右。,第1章 軟件工程概述,23,通過(guò)比較,支持“美國(guó)航天飛機(jī)”的軟件由3許多軟件工程師認(rèn)為一,“安全臨界”軟件問(wèn)題:安全臨界是指其可,靠性至少達(dá)到10
13、,-9,,也就說(shuō)在工作10,9,小時(shí),內(nèi)不能出現(xiàn)錯(cuò)誤。為了觀察可靠性程度,,就必須使系統(tǒng)至少運(yùn)行10,9,小時(shí)不會(huì)失敗。,但驗(yàn)證10,9,小時(shí)不出錯(cuò),需要測(cè)試114,000,年,這實(shí)際上是不可能的。,這是一種無(wú)法實(shí)現(xiàn)的計(jì)劃。,第1章 軟件工程概述,24,“安全臨界”軟件問(wèn)題:安全臨界是指其可第1章 軟件工程概述2,由上可看出:,軟件需求量不斷增大,復(fù)雜度越來(lái)越高,,軟件可靠性無(wú)保障,軟件維護(hù)費(fèi)用不斷上升,軟件進(jìn)度無(wú)法預(yù)測(cè),成本增長(zhǎng)無(wú)法控制,程序人員無(wú)限度地增加各個(gè)方面.,上述原因?qū)е铝?0年代末的“軟件危機(jī).,第1章 軟件工程概述,25,由上可看出:第1章 軟件工程概述25,一系列軟件開(kāi)發(fā)的失
14、敗引起人們的思考,,1968年北大西洋公約組織(NATO)的計(jì)算機(jī),科學(xué)家在聯(lián)邦德國(guó)的幕尼黑召開(kāi)的一次計(jì),算機(jī)軟件國(guó)際會(huì)議上,對(duì)軟件開(kāi)發(fā)的方法、,技術(shù)進(jìn)行了廣泛的討論,首次提出了“,軟件工程,”的概念。,第1章 軟件工程概述,26,一系列軟件開(kāi)發(fā)的失敗引起人們的思考,第1章 軟件工程概述2,1.2.2 軟件工程的含義,P.Wegner和B.Boehm認(rèn)為:,科學(xué)知識(shí)在設(shè)計(jì)和構(gòu)造計(jì)算機(jī)程 序,以及開(kāi)發(fā)、運(yùn)作和維護(hù)這些程序所需求的有關(guān)文檔編制中的實(shí)際應(yīng)用。,F.L.Bauer認(rèn)為,:,為了經(jīng)濟(jì)地獲得軟件,這個(gè)軟件是可靠的并且能在實(shí)在的計(jì)算機(jī)上工作,所需要的,健全的工作原理(方法)的確立和使用。,第
15、1章 軟件工程概述,27,1.2.2 軟件工程的含義 P.Wegner和B.Boehm,IEEE(83)指出:,軟件工程是開(kāi)發(fā)、運(yùn)行、維護(hù)和修復(fù)軟件的系統(tǒng)方法。,IEEE(93)指出:,軟件工程是將系統(tǒng)化的、規(guī)范的、可度量的方法應(yīng)用于軟件的開(kāi)發(fā)、運(yùn)行和維護(hù)的過(guò)程,即將工程化的方法應(yīng)用于軟件開(kāi)發(fā)中。,第1章 軟件工程概述,28,第1章 軟件工程概述28,解決60年代出現(xiàn)的軟件危機(jī),解決軟件當(dāng)前面臨的技術(shù)問(wèn)題,軟件可靠性、可用性、重用性、維護(hù)性等等,告訴人們?cè)鯓尤ラ_(kāi)發(fā)軟件、管理軟件,開(kāi)發(fā)軟件即需要,干哪些“活”,對(duì)“開(kāi)發(fā)”兩字做,一解析.,如何干活,,即有關(guān)開(kāi)發(fā)模型和開(kāi)發(fā)方法等技,術(shù)問(wèn)題.,如何管
16、理,,即有關(guān)CMM等管理問(wèn)題.,1.3,軟件工程的作用,第1章 軟件工程概述,29,解決60年代出現(xiàn)的軟件危機(jī)1.3 軟件工程的作用第1章,現(xiàn)代軟件開(kāi)發(fā)對(duì)人才的要求,系統(tǒng)分析人員、設(shè)計(jì)人員、軟件架構(gòu)師、,軟件集成人員、高層管理人員、,中層項(xiàng)目經(jīng)理、軟件藍(lán)領(lǐng)工人、,實(shí)施和維護(hù)人員、,軟件售前人員、軟件營(yíng)銷人員,提高軟件產(chǎn)品的質(zhì)量,降低軟件開(kāi)發(fā)的成本.,第1章 軟件工程概述,30,現(xiàn)代軟件開(kāi)發(fā)對(duì)人才的要求第1章 軟件工程概述30,1.4 軟件工程的發(fā)展,傳統(tǒng)的軟件工程時(shí)代,過(guò)程軟件工程時(shí)代,對(duì)象軟件工程時(shí)代,構(gòu)件軟件工程時(shí)代,發(fā)展方向:流水線裝配軟件工程的方向,發(fā)展(流水線生產(chǎn),網(wǎng)絡(luò)化,,服務(wù)化,全球化),第1章 軟件工程概述,31,1.4 軟件工程的發(fā)展 傳統(tǒng)的軟件工程時(shí)代第1章 軟件工程,為屏蔽計(jì)算機(jī)硬件的異構(gòu)性,發(fā)展了操作系統(tǒng),.NET/COM,Web Services,J2EE/EJB,UNIX,Windows,Linux,C/C+,語(yǔ)言,Java,語(yǔ)言,為屏蔽操作系統(tǒng)和編程語(yǔ)言的異構(gòu)性,發(fā)展了支撐軟件和中間件,為了屏蔽中間件之間的異構(gòu)性,出現(xiàn)了Web技術(shù)。,Fortran,語(yǔ)言,