版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2課程的性質(zhì)、目的與任務(wù)課程的性質(zhì)、目的與任務(wù) 軟件工程是本專業(yè)的一門必修課程軟件工程是本專業(yè)的一門必修課程。 通過本課程的學(xué)習(xí),使學(xué)生能從中了解軟件開發(fā)的整個(gè)過通過本課程的學(xué)習(xí),使學(xué)生能從中了解軟件開發(fā)的整個(gè)過程,掌握相關(guān)理論和指導(dǎo)思想。為了讓學(xué)生真正得以實(shí)踐程,掌握相關(guān)理論和指導(dǎo)思想。為了讓學(xué)生真正得以實(shí)踐,結(jié)合實(shí)際軟件開發(fā)項(xiàng)目,讓學(xué)生從問題定義開始,經(jīng)過,結(jié)合實(shí)際軟件開發(fā)項(xiàng)目,讓學(xué)生從問題定義開始,經(jīng)過可行性研究、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼直到可行性研究、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼直到最后要對(duì)自己開發(fā)的軟件還要進(jìn)行測(cè)試,這樣一個(gè)軟件開最后要對(duì)自己開發(fā)的軟件還要進(jìn)行測(cè)試,這
2、樣一個(gè)軟件開發(fā)過程,從而使學(xué)生掌握軟件開發(fā)的基本技能,培養(yǎng)團(tuán)隊(duì)發(fā)過程,從而使學(xué)生掌握軟件開發(fā)的基本技能,培養(yǎng)團(tuán)隊(duì)精神及勾通與協(xié)作能力,鍛煉文檔編寫能力,提高獨(dú)立的精神及勾通與協(xié)作能力,鍛煉文檔編寫能力,提高獨(dú)立的工作能力,通過本課程的學(xué)習(xí),為學(xué)生后期的畢業(yè)設(shè)計(jì)環(huán)工作能力,通過本課程的學(xué)習(xí),為學(xué)生后期的畢業(yè)設(shè)計(jì)環(huán)節(jié)奠定基礎(chǔ)。節(jié)奠定基礎(chǔ)。3課程主要內(nèi)容課程主要內(nèi)容本課程比較全面、系統(tǒng)地介紹軟件工本課程比較全面、系統(tǒng)地介紹軟件工程的概念、技術(shù)與方法學(xué)。程的概念、技術(shù)與方法學(xué)。 主要內(nèi)容包括:軟件工程概述、軟件生主要內(nèi)容包括:軟件工程概述、軟件生存周期及軟件需求分析、軟件設(shè)計(jì)方法、存周期及軟件需求分析
3、、軟件設(shè)計(jì)方法、軟件測(cè)試技術(shù)等。軟件測(cè)試技術(shù)等。45 5How do we learn?1 1、注重對(duì)基本概念、原理和方法的理解。、注重對(duì)基本概念、原理和方法的理解。2 2、通過不斷的實(shí)踐,提高應(yīng)用知識(shí)解決實(shí)、通過不斷的實(shí)踐,提高應(yīng)用知識(shí)解決實(shí)際問題的能力。際問題的能力。3 3、注重提高溝通能力和文檔寫作能力。、注重提高溝通能力和文檔寫作能力。4 4、學(xué)會(huì)從專業(yè)的角度思考問題。、學(xué)會(huì)從專業(yè)的角度思考問題。5 5、學(xué)習(xí)別人的經(jīng)驗(yàn)。、學(xué)習(xí)別人的經(jīng)驗(yàn)。6課程安排課程安排1. 課程安排:課程安排: 課堂教學(xué):(48學(xué)時(shí)) 課程設(shè)計(jì):以開發(fā)小組為單位進(jìn)行(3-5人一組)(時(shí)間: 7-8節(jié)課地點(diǎn):J13-
4、對(duì)應(yīng)實(shí)驗(yàn)室)2. 關(guān)于考試:關(guān)于考試: 筆試:80分,作業(yè):10分,考勤:10分7教材教材軟件工程軟件工程錢樂秋,趙文耘,牛軍鈺編著 出版社 清華大學(xué)出版社 8主要參考書和參考網(wǎng)站主要參考書和參考網(wǎng)站軟件工程軟件工程方法與實(shí)踐方法與實(shí)踐. . 許家許家珆珆 主編主編. 電子工業(yè)出版社電子工業(yè)出版社 2007軟件工程軟件工程實(shí)踐者的研究方法實(shí)踐者的研究方法. . Roger S.pressman著,黃柏素,梅著,黃柏素,梅宏等譯,機(jī)械工業(yè)出版社,宏等譯,機(jī)械工業(yè)出版社,1999實(shí)用軟件工程實(shí)用軟件工程. . 趙池龍編著,電子工業(yè)出版社趙池龍編著,電子工業(yè)出版社UMLUML面向?qū)ο蠹夹g(shù)與實(shí)踐面向?qū)?/p>
5、象技術(shù)與實(shí)踐. . 宋波等,宋波等, 科學(xué)出版社,科學(xué)出版社,2005面向?qū)ο笙到y(tǒng)分析與設(shè)計(jì)面向?qū)ο笙到y(tǒng)分析與設(shè)計(jì). . Joey George等著,龔曉慶等譯,清華等著,龔曉慶等譯,清華大學(xué)出版社,大學(xué)出版社,200891 1 概概 述述101. 軟件?軟件的特點(diǎn)?軟件的分類?計(jì)算軟件?軟件的特點(diǎn)?軟件的分類?計(jì)算機(jī)軟件的發(fā)展機(jī)軟件的發(fā)展2. 軟件危機(jī)?表現(xiàn)?原因?克服的方法?軟件危機(jī)?表現(xiàn)?原因?克服的方法?3. 軟件工程?七條基本原理?軟件工程?七條基本原理?4. 軟件的生命周期?軟件過程?軟件的生命周期?軟件過程?5. 軟件過程模型?軟件過程模型?6. 軟件開發(fā)方法軟件開發(fā)方法7. 軟
6、件工具與軟件開發(fā)環(huán)境軟件工具與軟件開發(fā)環(huán)境內(nèi)容摘要內(nèi)容摘要111 軟件軟件一、什么是軟件?一、什么是軟件? ComputerComputer:由硬件和軟件組成。由硬件和軟件組成。硬件:硬件:是看得見、摸得著的電子機(jī)械設(shè)備塊。是看得見、摸得著的電子機(jī)械設(shè)備塊。軟件:軟件:是依附在硬件上面的是依附在硬件上面的程序、數(shù)據(jù)和文檔程序、數(shù)據(jù)和文檔的集合,是指的集合,是指揮控制計(jì)算機(jī)系統(tǒng)揮控制計(jì)算機(jī)系統(tǒng)( (包括硬件和軟件包括硬件和軟件) )工作的神經(jīng)思維工作的神經(jīng)思維中樞。中樞。如果將硬件比作人的身體,那么軟件就相當(dāng)于如果將硬件比作人的身體,那么軟件就相當(dāng)于人的神經(jīng)中樞和知識(shí)才能。人的神經(jīng)中樞和知識(shí)才能
7、。12軟件軟件 = = 程序程序 + + 數(shù)據(jù)數(shù)據(jù) + + 文檔文檔 1.數(shù)據(jù):數(shù)據(jù):程序加工處理的對(duì)象。包括數(shù)據(jù)的表示、組織與程序加工處理的對(duì)象。包括數(shù)據(jù)的表示、組織與存儲(chǔ)。存儲(chǔ)。數(shù)據(jù)數(shù)據(jù) = = 初始化數(shù)據(jù)初始化數(shù)據(jù) + + 測(cè)試數(shù)據(jù)測(cè)試數(shù)據(jù)2.文檔文檔(document) :開發(fā)、使用和維護(hù)程序所需的圖:開發(fā)、使用和維護(hù)程序所需的圖文資料文資料 。1 1)文檔)文檔 = = 開發(fā)文檔開發(fā)文檔 + + 管理文檔管理文檔 + + 用戶文檔。用戶文檔。一、什么是軟件?一、什么是軟件?計(jì)算機(jī)軟件產(chǎn)品開發(fā)文件編制指南計(jì)算機(jī)軟件產(chǎn)品開發(fā)文件編制指南GB 8567-88.doc13軟件文檔軟件文檔用戶
8、文檔用戶文檔用戶手冊(cè)用戶手冊(cè)操作手冊(cè)操作手冊(cè)維護(hù)修改建議維護(hù)修改建議軟件需求(規(guī)格)說明書軟件需求(規(guī)格)說明書開發(fā)文檔開發(fā)文檔項(xiàng)目開發(fā)計(jì)劃項(xiàng)目開發(fā)計(jì)劃可行性研究報(bào)告可行性研究報(bào)告軟件需求(規(guī)格)說明書軟件需求(規(guī)格)說明書數(shù)據(jù)需求說明書數(shù)據(jù)需求說明書概要設(shè)計(jì)說明書概要設(shè)計(jì)說明書詳細(xì)設(shè)計(jì)說明書詳細(xì)設(shè)計(jì)說明書管理文檔管理文檔測(cè)試計(jì)劃測(cè)試計(jì)劃項(xiàng)目開發(fā)計(jì)劃項(xiàng)目開發(fā)計(jì)劃測(cè)試報(bào)告測(cè)試報(bào)告開發(fā)進(jìn)度月報(bào)開發(fā)進(jìn)度月報(bào)開發(fā)總結(jié)報(bào)告開發(fā)總結(jié)報(bào)告圖圖 軟件文檔分類軟件文檔分類142 2)管理文檔具有嚴(yán)格的時(shí)序關(guān)系:因?yàn)楣芾硎且粋€(gè)過程。)管理文檔具有嚴(yán)格的時(shí)序關(guān)系:因?yàn)楣芾硎且粋€(gè)過程。 19741974年,美國(guó)人認(rèn)識(shí)
9、到軟件需要管理。年,美國(guó)人認(rèn)識(shí)到軟件需要管理。 19841984年,美國(guó)人認(rèn)識(shí)到軟件管理是一個(gè)過程管理,或是一個(gè)年,美國(guó)人認(rèn)識(shí)到軟件管理是一個(gè)過程管理,或是一個(gè)管理過程。管理過程。 19911991年,出現(xiàn)了軟件過程能力成熟度模型年,出現(xiàn)了軟件過程能力成熟度模型CMM (Capability CMM (Capability Maturity Model)Maturity Model)版。版。3 3)開發(fā)文檔具有嚴(yán)格的層次關(guān)系:)開發(fā)文檔具有嚴(yán)格的層次關(guān)系:(1)(1)目標(biāo)程序目標(biāo)程序覆蓋覆蓋源程序源程序;(2)(2)源程序源程序覆蓋覆蓋詳細(xì)設(shè)計(jì)說明書詳細(xì)設(shè)計(jì)說明書;(3)(3)詳細(xì)設(shè)計(jì)說明書詳
10、細(xì)設(shè)計(jì)說明書覆蓋覆蓋概要設(shè)計(jì)說明書概要設(shè)計(jì)說明書;(4)(4)概要設(shè)計(jì)說明書概要設(shè)計(jì)說明書覆蓋覆蓋需求規(guī)格說明書需求規(guī)格說明書;(5)(5)需求規(guī)格說明書需求規(guī)格說明書覆蓋覆蓋用戶需求報(bào)告用戶需求報(bào)告;(6)(6)用戶需求報(bào)告用戶需求報(bào)告覆蓋覆蓋軟件合同軟件合同。15文檔的作用文檔的作用(1)提高軟件開發(fā)過程的能見度。把開發(fā)過程中發(fā)生的事件以某種可閱讀)提高軟件開發(fā)過程的能見度。把開發(fā)過程中發(fā)生的事件以某種可閱讀的形式記錄在文檔中。管理人員可把這些記載下來的材料作為檢查軟件的形式記錄在文檔中。管理人員可把這些記載下來的材料作為檢查軟件開發(fā)進(jìn)度和開發(fā)質(zhì)量的依據(jù),實(shí)現(xiàn)對(duì)軟件開發(fā)的工程管理。開發(fā)進(jìn)度
11、和開發(fā)質(zhì)量的依據(jù),實(shí)現(xiàn)對(duì)軟件開發(fā)的工程管理。(2)提高開發(fā)效率。軟件文檔的編制,使得開發(fā)人員對(duì)各個(gè)階段的工作都)提高開發(fā)效率。軟件文檔的編制,使得開發(fā)人員對(duì)各個(gè)階段的工作都進(jìn)行周密思考、并且可及早發(fā)現(xiàn)錯(cuò)誤,便于及時(shí)加以糾正。進(jìn)行周密思考、并且可及早發(fā)現(xiàn)錯(cuò)誤,便于及時(shí)加以糾正。(3)作為開發(fā)人員在一定階段的工作成果和結(jié)束標(biāo)志。)作為開發(fā)人員在一定階段的工作成果和結(jié)束標(biāo)志。(4)記錄開發(fā)過程中有關(guān)信息,便于協(xié)調(diào)以后的軟件開發(fā)、使用和維護(hù)。)記錄開發(fā)過程中有關(guān)信息,便于協(xié)調(diào)以后的軟件開發(fā)、使用和維護(hù)。(5)提供對(duì)軟件的運(yùn)行、維護(hù)和培訓(xùn)的有關(guān)信息,便于管理人員、開發(fā)人)提供對(duì)軟件的運(yùn)行、維護(hù)和培訓(xùn)的有
12、關(guān)信息,便于管理人員、開發(fā)人員、操作人員、用戶之間協(xié)作、交流和了解,使軟件開發(fā)活動(dòng)更科學(xué)有員、操作人員、用戶之間協(xié)作、交流和了解,使軟件開發(fā)活動(dòng)更科學(xué)有效。效。(6)便于潛在用戶了解軟件的功能、性能等各項(xiàng)指標(biāo),為選購符合自己需)便于潛在用戶了解軟件的功能、性能等各項(xiàng)指標(biāo),為選購符合自己需要的軟件提供依據(jù)。要的軟件提供依據(jù)。16軟件文檔的寫作要求軟件文檔的寫作要求 (1)針對(duì)性:)針對(duì)性:分清讀者,適應(yīng)需求。(2)精確性:)精確性:行文確切,避免多義。(3)清晰性:)清晰性:力求簡(jiǎn)明,運(yùn)用圖表。(4)完整性:)完整性:自成體系,避免引用。(5)靈活性:)靈活性:大的擴(kuò)展,小的合并。(6)可追溯性
13、:)可追溯性:逐步擴(kuò)展,前后照應(yīng)。173.程序(程序(program) :能完成預(yù)定功能和性能的指令集合。能完成預(yù)定功能和性能的指令集合。程序設(shè)計(jì)語言三種類型:程序設(shè)計(jì)語言三種類型: 1)機(jī)器語言、匯編語言:依賴于機(jī)器,面向機(jī)器)機(jī)器語言、匯編語言:依賴于機(jī)器,面向機(jī)器 2)高級(jí)語言:獨(dú)立于機(jī)器,面向過程或面向?qū)ο螅└呒?jí)語言:獨(dú)立于機(jī)器,面向過程或面向?qū)ο?3)面向問題語言:獨(dú)立于機(jī)器,非過程式語言()面向問題語言:獨(dú)立于機(jī)器,非過程式語言(4GL)(1).(1).面向過程的程序面向過程的程序 = = 算法算法 + + 數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)。(2).(2).面向?qū)ο蟮某绦蛎嫦驅(qū)ο蟮某绦?= =
14、對(duì)象對(duì)象 + + 消息。消息。(3).(3).面向數(shù)據(jù)的程序面向數(shù)據(jù)的程序 = = 數(shù)據(jù)庫表數(shù)據(jù)庫表 + + 在表上的操作在表上的操作( (如存貯過程、觸發(fā)如存貯過程、觸發(fā)器或視圖器或視圖) )。(4).(4).面向構(gòu)件的程序面向構(gòu)件的程序 = = 構(gòu)件構(gòu)件 + + 構(gòu)架。構(gòu)架。 優(yōu)秀的程序優(yōu)秀的程序( (或模塊或模塊) ),必須滿足,必須滿足“高內(nèi)聚、低耦合高內(nèi)聚、低耦合”的性質(zhì)。所謂的性質(zhì)。所謂高內(nèi)聚,就是程序高內(nèi)聚,就是程序( (或模塊或模塊) )內(nèi)部結(jié)構(gòu)緊湊,凝聚力和向心力強(qiáng)。所內(nèi)部結(jié)構(gòu)緊湊,凝聚力和向心力強(qiáng)。所謂低耦合,就是程序謂低耦合,就是程序( (或模塊或模塊) )之間彼此依賴關(guān)
15、系很低。之間彼此依賴關(guān)系很低。18軟件開發(fā):軟件開發(fā):既非常艱苦(因?yàn)檐浖O(shè)計(jì)思想與開發(fā)工具不斷更新),又無限快樂(因?yàn)檐浖晒侨祟愔腔叟c藝術(shù)的結(jié)晶)。從認(rèn)識(shí)論的角度看軟件開發(fā):從認(rèn)識(shí)論的角度看軟件開發(fā): 軟件開發(fā)是對(duì)問題求解的過程,從認(rèn)識(shí)論的角度看,整個(gè)軟件開發(fā)過程可歸納成兩類活動(dòng)交互循環(huán)迭代的過程。1)對(duì)問題的認(rèn)識(shí):對(duì)問題域存在的客觀事物以及要解決的問題產(chǎn)生正確的認(rèn)識(shí)和理解。包括弄清楚事物的屬性、行為及其彼此間的關(guān)系,并找出解決問題的方法。2)基于認(rèn)識(shí)的描述:用一種語言把對(duì)問題域的認(rèn)識(shí)描述出來,當(dāng)然最終的描述必須是用計(jì)算機(jī)語言。3)軟件開發(fā)的每個(gè)階段都包括了認(rèn)識(shí)和描述的活動(dòng)語言的鴻溝語言
16、的鴻溝: 問題域和實(shí)現(xiàn)域采用的描述語言存在很大的差距,這種差距被稱為語言的鴻溝。實(shí)際就是認(rèn)識(shí)和描述的鴻溝。從自然語言過渡到計(jì)算機(jī)語言沒有一種準(zhǔn)確可靠的技術(shù)。19問題域自然語言實(shí)現(xiàn)域計(jì)算機(jī)語言語言的過渡(人)語言的鴻溝語言的鴻溝20問題域自然語言計(jì)算機(jī)機(jī)器語言匯編語言非OO高級(jí)語言O(shè)O高級(jí)語言語言的鴻溝語言的鴻溝214.軟件和程序的區(qū)別軟件和程序的區(qū)別 程序只是完整軟件產(chǎn)品的一部分。程序只是完整軟件產(chǎn)品的一部分。 編寫程序只是軟件開發(fā)過程數(shù)據(jù)中的一個(gè)階段,一般編寫程序只是軟件開發(fā)過程數(shù)據(jù)中的一個(gè)階段,一般來說,其工作量?jī)H僅是軟件開發(fā)全部工作量的來說,其工作量?jī)H僅是軟件開發(fā)全部工作量的1020 今
17、天仍然有人認(rèn)為:軟件等于程序。這些人一上來就今天仍然有人認(rèn)為:軟件等于程序。這些人一上來就寫程序。寫程序。Roger S.Pressman說:說:“越早開始寫代碼越早開始寫代碼的人,就是越遲完成代碼的人的人,就是越遲完成代碼的人”。 對(duì)管理文檔的全面認(rèn)識(shí),那就更晚了。對(duì)管理文檔的全面認(rèn)識(shí),那就更晚了。221 軟件軟件二、軟件的特點(diǎn)二、軟件的特點(diǎn) 抽象性:邏輯實(shí)體。可記錄。但看不到(抽象性:邏輯實(shí)體??捎涗洝5床坏剑↖ntangible),),開發(fā)過程可視化程度低,開發(fā)結(jié)果難以直觀表示。開發(fā)過程可視化程度低,開發(fā)結(jié)果難以直觀表示。 可復(fù)制性:與開發(fā)成本相比,復(fù)制成本很低可復(fù)制性:與開發(fā)成本相比
18、,復(fù)制成本很低 無折舊無折舊 受硬件制約受硬件制約 未完全擺脫手工工藝未完全擺脫手工工藝 開發(fā)費(fèi)用高開發(fā)費(fèi)用高231 軟件軟件三、軟件分類三、軟件分類1.按適用范圍分:按適用范圍分: 定制軟件(定制軟件(Custom Software)()(項(xiàng)目軟件)項(xiàng)目軟件):滿足:滿足特定客戶的特定需要的軟件。例如網(wǎng)站、特定客戶的特定需要的軟件。例如網(wǎng)站、MIS系統(tǒng)等。系統(tǒng)等。 通用軟件(通用軟件(Generic Software)()(產(chǎn)品軟件)產(chǎn)品軟件):滿足:滿足市場(chǎng)潛在客戶的通用需求的商業(yè)成品軟件。例如:市場(chǎng)潛在客戶的通用需求的商業(yè)成品軟件。例如:Office、Windows等等242.按軟件功能
19、分:按軟件功能分:系統(tǒng)軟件:管理計(jì)算機(jī)自身的資源、提高計(jì)算機(jī)系統(tǒng)軟件:管理計(jì)算機(jī)自身的資源、提高計(jì)算機(jī)的使用效率并為計(jì)算機(jī)用戶提供各種服務(wù)的基礎(chǔ)的使用效率并為計(jì)算機(jī)用戶提供各種服務(wù)的基礎(chǔ)軟件。系統(tǒng)軟件與機(jī)器有關(guān),是支撐其它應(yīng)用軟軟件。系統(tǒng)軟件與機(jī)器有關(guān),是支撐其它應(yīng)用軟件運(yùn)行的平臺(tái)。例如件運(yùn)行的平臺(tái)。例如OS、DBMS等等應(yīng)用軟件:解決某一具體領(lǐng)域的實(shí)際問題的軟件。應(yīng)用軟件:解決某一具體領(lǐng)域的實(shí)際問題的軟件。種類繁多,例如科學(xué)和工程計(jì)算軟件、種類繁多,例如科學(xué)和工程計(jì)算軟件、CAD、CAM、CAI、MIS、GIS、ERP、CRM、CASE等等支撐軟件:支撐軟件:協(xié)助用戶開發(fā)的工具軟件,如編輯協(xié)
20、助用戶開發(fā)的工具軟件,如編輯程序、程序庫、圖形軟件包等。程序、程序庫、圖形軟件包等。253.按軟件體系結(jié)構(gòu)分按軟件體系結(jié)構(gòu)分 桌面軟件:全部工作由在單一機(jī)器上的一個(gè)桌面軟件:全部工作由在單一機(jī)器上的一個(gè)軟件系統(tǒng)完成。軟件系統(tǒng)完成。 分布式軟件:由多個(gè)軟件協(xié)調(diào)工作來完成任分布式軟件:由多個(gè)軟件協(xié)調(diào)工作來完成任務(wù)。例如務(wù)。例如C/S、B/S軟件軟件 并行軟件:基于多并行軟件:基于多CPU環(huán)境能完成并行計(jì)算環(huán)境能完成并行計(jì)算的軟件的軟件264.按規(guī)模分:按規(guī)模分:(1) (1) 小型軟件小型軟件(1-5(1-5人年人年) );(2) (2) 中型軟件中型軟件(5-50(5-50人年人年) )(3)
21、(3) 大型軟件大型軟件(50(50人年以上人年以上) )。5.按工作方式分:按工作方式分:(1) (1) 實(shí)時(shí)軟件;實(shí)時(shí)軟件;(2) (2) 分時(shí)軟件;分時(shí)軟件;(3) (3) 交互式軟件;交互式軟件;(4) (4) 批處理軟件;批處理軟件;(5) (5) 嵌入式軟件嵌入式軟件(Embedded Software):運(yùn)行于特定硬件設(shè)備中的軟件。例):運(yùn)行于特定硬件設(shè)備中的軟件。例如:手機(jī)、汽車等中的軟件。如:手機(jī)、汽車等中的軟件。271 軟件軟件四、計(jì)算機(jī)軟件發(fā)展的三個(gè)時(shí)期四、計(jì)算機(jī)軟件發(fā)展的三個(gè)時(shí)期1. 早期時(shí)代(早期時(shí)代(60年代中期之前)年代中期之前)程序設(shè)計(jì)階段程序設(shè)計(jì)階段硬件通用,
22、軟件專用;程序規(guī)模小,編寫者和使用者硬件通用,軟件專用;程序規(guī)模小,編寫者和使用者為同一人(同組人)。為同一人(同組人)。2. 第二代(第二代(60年代中期年代中期-70年代中期)年代中期)程序系統(tǒng)階段程序系統(tǒng)階段出現(xiàn)出現(xiàn)“軟件作坊軟件作坊”、產(chǎn)品軟件;、產(chǎn)品軟件;“個(gè)體化個(gè)體化”開發(fā)方法。開發(fā)方法。3. 第三代(第三代(70年代中期之后)年代中期之后)軟件工程階段軟件工程階段軟件開發(fā)成為一門新興的工程學(xué)科軟件開發(fā)成為一門新興的工程學(xué)科軟件工程。軟件工程。28計(jì)算機(jī)軟件發(fā)展的三個(gè)時(shí)期及特點(diǎn)程程序序設(shè)設(shè)計(jì)計(jì) 程程序序系系統(tǒng)統(tǒng) 軟軟件件工工程程軟軟 件件 的的 范范疇疇程序程 序 及 說 明書產(chǎn)品
23、軟件(項(xiàng)目軟件)主主 要要 程程 序序設(shè)設(shè)計(jì)計(jì)語語言言匯 編 及 機(jī) 器語言高級(jí)語言高級(jí)語言系統(tǒng)、程序設(shè)計(jì)語言軟軟 件件 工工 作作范范圍圍程序編寫包 括 設(shè) 計(jì) 和測(cè)試軟件生存期需需求求者者程 序 設(shè) 計(jì) 者本人少數(shù)用戶市場(chǎng)用戶29計(jì)算機(jī)軟件發(fā)展的三個(gè)時(shí)期及特點(diǎn)程程序序設(shè)設(shè)計(jì)計(jì) 程程序序系系統(tǒng)統(tǒng) 軟軟件件工工程程維維護(hù)護(hù) 責(zé)責(zé)任任者者程序設(shè)計(jì)者開發(fā)小組專職維護(hù)人員硬硬件件特特征征價(jià) 高 、 存 儲(chǔ)小 、 可 靠 性差降價(jià);速度、容 量 、 可 靠性明顯提高向超高速、大容量、微型化發(fā)展軟軟件件特特征征完 全 不 受 重視軟件技術(shù)的發(fā)展不滿足需要,出現(xiàn)軟件危機(jī)開發(fā)技術(shù)有進(jìn)步,但未獲得突破性進(jìn)展,
24、軟 件 危 機(jī) 未 完 全 擺 脫30一、軟件危機(jī)的產(chǎn)生一、軟件危機(jī)的產(chǎn)生 2020世紀(jì)世紀(jì)6060年代中期以后,一些開發(fā)大型軟件系統(tǒng)的要求提了出來。年代中期以后,一些開發(fā)大型軟件系統(tǒng)的要求提了出來。然而軟件技術(shù)的進(jìn)步一直未能滿足形勢(shì)發(fā)展的需要,在大型軟件的開然而軟件技術(shù)的進(jìn)步一直未能滿足形勢(shì)發(fā)展的需要,在大型軟件的開發(fā)過程中出現(xiàn)了復(fù)雜程度高、研制周期長(zhǎng)、正確性難以保證的三大難發(fā)過程中出現(xiàn)了復(fù)雜程度高、研制周期長(zhǎng)、正確性難以保證的三大難題。題。遇到的問題找不到解決辦法,致使問題堆積起來,形成了人們難以控遇到的問題找不到解決辦法,致使問題堆積起來,形成了人們難以控制的局面,出現(xiàn)了所謂的制的局面,
25、出現(xiàn)了所謂的“軟件危機(jī)軟件危機(jī)”。例如例如: : 2 軟件危機(jī)軟件危機(jī)(Software crisis)31 IBM公司的公司的 OS/360OS/360,共約,共約100100萬條指令,花費(fèi)了萬條指令,花費(fèi)了50005000個(gè)人年;個(gè)人年;經(jīng)費(fèi)達(dá)數(shù)億美圓,而結(jié)果卻令人沮喪,錯(cuò)誤多達(dá)經(jīng)費(fèi)達(dá)數(shù)億美圓,而結(jié)果卻令人沮喪,錯(cuò)誤多達(dá)20002000個(gè)以上,系統(tǒng)個(gè)以上,系統(tǒng)根本無法正常運(yùn)行。根本無法正常運(yùn)行。 OS/360OS/360系統(tǒng)的負(fù)責(zé)人系統(tǒng)的負(fù)責(zé)人BrooksBrooks這樣描述開發(fā)過這樣描述開發(fā)過程的困難和混亂:程的困難和混亂:“像巨獸在泥潭中作垂死掙扎,掙扎得越猛,像巨獸在泥潭中作垂死掙扎
26、,掙扎得越猛,泥漿就沾得越多,最后沒有一個(gè)野獸能夠逃脫淹沒在泥潭中的命運(yùn)。泥漿就沾得越多,最后沒有一個(gè)野獸能夠逃脫淹沒在泥潭中的命運(yùn)?!?19631963年,美國(guó)用于控制火星探測(cè)器的計(jì)算機(jī)軟件中的一年,美國(guó)用于控制火星探測(cè)器的計(jì)算機(jī)軟件中的一個(gè)個(gè)“,”號(hào)被誤寫為號(hào)被誤寫為“. .”,而致使飛往火星的探測(cè)器發(fā)生爆,而致使飛往火星的探測(cè)器發(fā)生爆炸,造成高達(dá)數(shù)億美元的損失。炸,造成高達(dá)數(shù)億美元的損失。 19671967年蘇聯(lián)年蘇聯(lián)“聯(lián)盟一號(hào)聯(lián)盟一號(hào)”載人宇宙飛船在返航時(shí),由于軟件忽略載人宇宙飛船在返航時(shí),由于軟件忽略一個(gè)小數(shù)點(diǎn),導(dǎo)至在進(jìn)入大氣層時(shí)因打不開降落傘而燒毀。一個(gè)小數(shù)點(diǎn),導(dǎo)至在進(jìn)入大氣層時(shí)因
27、打不開降落傘而燒毀。322 軟件危機(jī)軟件危機(jī)二、軟件危機(jī)的定義二、軟件危機(jī)的定義 軟件危機(jī)是指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所軟件危機(jī)是指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。遇到的一系列嚴(yán)重問題。主要是兩個(gè)問題主要是兩個(gè)問題:1. 如何開發(fā)軟件,怎樣滿足對(duì)軟件的日益增長(zhǎng)的需求。如何開發(fā)軟件,怎樣滿足對(duì)軟件的日益增長(zhǎng)的需求。2. 如何維護(hù)數(shù)量不斷膨脹的已有軟件如何維護(hù)數(shù)量不斷膨脹的已有軟件332 軟件危機(jī)軟件危機(jī)三、軟件危機(jī)的主要表現(xiàn)三、軟件危機(jī)的主要表現(xiàn)1. 對(duì)軟件開發(fā)成本和進(jìn)度的估計(jì)不準(zhǔn)確對(duì)軟件開發(fā)成本和進(jìn)度的估計(jì)不準(zhǔn)確,甚至開發(fā)過程甚至開發(fā)過程就夭折就夭折2. 不滿足需求
28、不滿足需求,用戶不滿意的現(xiàn)象經(jīng)常發(fā)生用戶不滿意的現(xiàn)象經(jīng)常發(fā)生3. 軟件質(zhì)量不高、可靠性差軟件質(zhì)量不高、可靠性差4.缺乏適當(dāng)?shù)奈臋n資料缺乏適當(dāng)?shù)奈臋n資料,軟件常常不可維護(hù)、錯(cuò)誤難以改軟件常常不可維護(hù)、錯(cuò)誤難以改正。正。5. 軟件成本占系統(tǒng)總成本的比例逐年上升軟件成本占系統(tǒng)總成本的比例逐年上升6. 軟件開發(fā)速度跟不上計(jì)算機(jī)發(fā)展速度,軟件生產(chǎn)率低,軟件開發(fā)速度跟不上計(jì)算機(jī)發(fā)展速度,軟件生產(chǎn)率低,不能滿足需要。不能滿足需要。342 軟件危機(jī)軟件危機(jī)四、產(chǎn)生軟件危機(jī)的原因四、產(chǎn)生軟件危機(jī)的原因 軟件是邏輯產(chǎn)品,開發(fā)進(jìn)度、成本難以估計(jì)軟件是邏輯產(chǎn)品,開發(fā)進(jìn)度、成本難以估計(jì) 缺乏或不完整、不一致的文檔給維護(hù)
29、帶來困難缺乏或不完整、不一致的文檔給維護(hù)帶來困難 用戶對(duì)軟件需求的描述往往不夠精確,有遺漏,有二用戶對(duì)軟件需求的描述往往不夠精確,有遺漏,有二義義 軟件開發(fā)人員對(duì)需求的理解與用戶的本來愿望有差異軟件開發(fā)人員對(duì)需求的理解與用戶的本來愿望有差異,在軟件開發(fā)過程中,或多或少地采用了錯(cuò)誤的方法和在軟件開發(fā)過程中,或多或少地采用了錯(cuò)誤的方法和技術(shù)。對(duì)用戶需求沒有完整準(zhǔn)確的認(rèn)識(shí),就匆忙著手技術(shù)。對(duì)用戶需求沒有完整準(zhǔn)確的認(rèn)識(shí),就匆忙著手編寫程序。編寫程序。 大型軟件項(xiàng)目需多人協(xié)同完成,缺乏管理經(jīng)驗(yàn)大型軟件項(xiàng)目需多人協(xié)同完成,缺乏管理經(jīng)驗(yàn) 缺乏有力的方法學(xué)和工具的支持缺乏有力的方法學(xué)和工具的支持 軟件項(xiàng)目的特
30、殊性和人類智力的局限性軟件項(xiàng)目的特殊性和人類智力的局限性352 軟件危機(jī)軟件危機(jī)五、解決軟件危機(jī)的途徑五、解決軟件危機(jī)的途徑1. 技術(shù)措施技術(shù)措施消除錯(cuò)誤的概念和做法消除錯(cuò)誤的概念和做法使用更好的軟件開發(fā)方法和開發(fā)工具使用更好的軟件開發(fā)方法和開發(fā)工具2. 組織管理措施組織管理措施 軟件開發(fā)不是某種個(gè)體勞動(dòng)的神秘技巧,而應(yīng)該是軟件開發(fā)不是某種個(gè)體勞動(dòng)的神秘技巧,而應(yīng)該是一種組織良好、管理嚴(yán)密、各類人員協(xié)同配合、共一種組織良好、管理嚴(yán)密、各類人員協(xié)同配合、共同完成的同完成的工程工程項(xiàng)目。項(xiàng)目。363 軟件工程軟件工程 軟件工程(軟件工程(Software Engineering)是在克服是在克服6
31、0年代末所年代末所出現(xiàn)的出現(xiàn)的“軟件危機(jī)軟件危機(jī)”的過程中逐漸形成與發(fā)展的。的過程中逐漸形成與發(fā)展的。 為了克服軟件危機(jī),人們從其他產(chǎn)業(yè)的工業(yè)化生產(chǎn)得到啟為了克服軟件危機(jī),人們從其他產(chǎn)業(yè)的工業(yè)化生產(chǎn)得到啟示,于是在示,于是在1968年北大西洋公約組織(年北大西洋公約組織(NATO)在聯(lián)邦)在聯(lián)邦德國(guó)召開的的軟件可靠性會(huì)議上,首次提出了德國(guó)召開的的軟件可靠性會(huì)議上,首次提出了“軟件工程軟件工程”的概念。的概念。 提出了在軟件生產(chǎn)中采用提出了在軟件生產(chǎn)中采用工程化工程化的方法,采用一系列科學(xué)的方法,采用一系列科學(xué)的、現(xiàn)代化的方法技術(shù)來開發(fā)軟件。這種工程化的思想貫的、現(xiàn)代化的方法技術(shù)來開發(fā)軟件。這種
32、工程化的思想貫穿到軟件開發(fā)和維護(hù)的全過程。穿到軟件開發(fā)和維護(hù)的全過程。373 軟件工程軟件工程一、什么是軟件工程一、什么是軟件工程l軟件工程是指導(dǎo)計(jì)算機(jī)軟件開發(fā)和維護(hù)的工程學(xué)科。軟件工程是指導(dǎo)計(jì)算機(jī)軟件開發(fā)和維護(hù)的工程學(xué)科。它采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護(hù)軟它采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護(hù)軟件,把經(jīng)過時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠件,把經(jīng)過時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來。得到的最好的技術(shù)方法結(jié)合起來。l軟件工程是一門涉及軟件計(jì)劃、需求分析、設(shè)計(jì)、編軟件工程是一門涉及軟件計(jì)劃、需求分析、設(shè)計(jì)、編碼、測(cè)試和維護(hù)的原理、方法及工
33、具的研究和應(yīng)用的學(xué)碼、測(cè)試和維護(hù)的原理、方法及工具的研究和應(yīng)用的學(xué)科??啤 1983年年IEEE給出的定義為:給出的定義為:“軟件工程是開發(fā)、運(yùn)軟件工程是開發(fā)、運(yùn)行、維護(hù)和修復(fù)軟件的系統(tǒng)方法行、維護(hù)和修復(fù)軟件的系統(tǒng)方法”。38二、軟件工程的目標(biāo)二、軟件工程的目標(biāo)3 軟件工程軟件工程軟件工程的目標(biāo)是在給定成本、軟件工程的目標(biāo)是在給定成本、進(jìn)度的前提下,開發(fā)出具有可修改進(jìn)度的前提下,開發(fā)出具有可修改性、有效性、可靠性、可理解性、性、有效性、可靠性、可理解性、可維護(hù)性、可重用性、可適應(yīng)性、可維護(hù)性、可重用性、可適應(yīng)性、可移植性、可追蹤性和可互操作性可移植性、可追蹤性和可互操作性并滿足用戶需求的軟件
34、產(chǎn)品。并滿足用戶需求的軟件產(chǎn)品。39二、軟件工程的目標(biāo)二、軟件工程的目標(biāo)可修改性可修改性(modifiability)允許對(duì)軟件系統(tǒng)進(jìn)行修改而不增加其復(fù)雜性允許對(duì)軟件系統(tǒng)進(jìn)行修改而不增加其復(fù)雜性.它支持它支持軟件調(diào)試與維護(hù)。軟件調(diào)試與維護(hù)。有效性有效性(efficiency)指軟件系統(tǒng)的時(shí)間和空間效率。這是一個(gè)應(yīng)當(dāng)努力追指軟件系統(tǒng)的時(shí)間和空間效率。這是一個(gè)應(yīng)當(dāng)努力追求的重要目標(biāo)。求的重要目標(biāo)??煽啃钥煽啃裕╮eliability)是指在給定的時(shí)間間隔內(nèi),程序成功運(yùn)行的概率。可是指在給定的時(shí)間間隔內(nèi),程序成功運(yùn)行的概率??煽啃允呛饬寇浖|(zhì)量的一個(gè)重要目標(biāo)??啃允呛饬寇浖|(zhì)量的一個(gè)重要目標(biāo)??衫斫?/p>
35、性可理解性(understandability)指系統(tǒng)具有清晰的結(jié)構(gòu),能直接反映問題的需求??芍赶到y(tǒng)具有清晰的結(jié)構(gòu),能直接反映問題的需求??衫斫庑杂兄诳刂栖浖到y(tǒng)的復(fù)雜性,并支持軟理解性有助于控制軟件系統(tǒng)的復(fù)雜性,并支持軟件的維護(hù)、移植和重用。件的維護(hù)、移植和重用。可維護(hù)性可維護(hù)性(maintainability)是指軟件產(chǎn)品交付使用后,在實(shí)現(xiàn)改正潛伏的錯(cuò)誤、是指軟件產(chǎn)品交付使用后,在實(shí)現(xiàn)改正潛伏的錯(cuò)誤、改進(jìn)性能等屬性、適應(yīng)環(huán)境變化等方面工作的難改進(jìn)性能等屬性、適應(yīng)環(huán)境變化等方面工作的難易程度。易程度。40可重用性可重用性(reusability)是指軟部件可以在多種場(chǎng)合使用的程度。是指軟部
36、件可以在多種場(chǎng)合使用的程度。可適應(yīng)性可適應(yīng)性(adaptability)是指軟件在不同的系統(tǒng)約束條件下,使用戶需求得到是指軟件在不同的系統(tǒng)約束條件下,使用戶需求得到滿足的難易程度。滿足的難易程度??梢浦残钥梢浦残裕╬ortability)是指軟件從一個(gè)計(jì)算機(jī)系統(tǒng)或環(huán)境移植到另一個(gè)上去是指軟件從一個(gè)計(jì)算機(jī)系統(tǒng)或環(huán)境移植到另一個(gè)上去的難易程度。的難易程度。可追蹤性可追蹤性(traceability)是指根據(jù)軟件需求對(duì)軟件設(shè)計(jì)、程序進(jìn)行正向追蹤,是指根據(jù)軟件需求對(duì)軟件設(shè)計(jì)、程序進(jìn)行正向追蹤,或根據(jù)程序、軟件設(shè)計(jì)對(duì)軟件需求進(jìn)行逆向追蹤或根據(jù)程序、軟件設(shè)計(jì)對(duì)軟件需求進(jìn)行逆向追蹤的能力。軟件開發(fā)各階段的文
37、檔和程序的完整性、的能力。軟件開發(fā)各階段的文檔和程序的完整性、一致性、可理解性支持軟件的可追蹤性。一致性、可理解性支持軟件的可追蹤性。可互操作性可互操作性(interoperability)是指多個(gè)軟件元素相互通信并協(xié)同完成任務(wù)的能力。是指多個(gè)軟件元素相互通信并協(xié)同完成任務(wù)的能力。二、軟件工程的目標(biāo)二、軟件工程的目標(biāo)41二、軟件工程的目標(biāo)二、軟件工程的目標(biāo)低開發(fā)成本低開發(fā)成本易于維護(hù)易于維護(hù)高可靠性高可靠性高性能高性能按時(shí)交付按時(shí)交付互斥互補(bǔ)可見,軟件工程所追求的目標(biāo)是:可見,軟件工程所追求的目標(biāo)是: 42軟件工程的發(fā)展已經(jīng)歷了四個(gè)重要階段:軟件工程的發(fā)展已經(jīng)歷了四個(gè)重要階段:三、軟件工程的發(fā)
38、展三、軟件工程的發(fā)展3 軟件工程軟件工程43軟件工程的發(fā)展已經(jīng)歷了四個(gè)重要階段:軟件工程的發(fā)展已經(jīng)歷了四個(gè)重要階段: 6060年代末到年代末到7070年代為了年代為了克 服克 服 “ 軟 件 危 機(jī)軟 件 危 機(jī) ” (Software crisis)(Software crisis)提出提出“軟件工程軟件工程”的名詞的名詞, , 將軟將軟件開發(fā)納入工程化的軌道,件開發(fā)納入工程化的軌道,基本形成軟件工程的概念、基本形成軟件工程的概念、框架、技術(shù)和方法。稱為框架、技術(shù)和方法。稱為傳傳統(tǒng)統(tǒng)的軟件工程的軟件工程44軟件工程的發(fā)展已經(jīng)歷了四個(gè)重要階段:軟件工程的發(fā)展已經(jīng)歷了四個(gè)重要階段: 8080年代
39、中到年代中到9090年代,面向?qū)ο竽甏?,面向?qū)ο蟮姆椒ㄅc技術(shù)得到發(fā)展,研究的重的方法與技術(shù)得到發(fā)展,研究的重點(diǎn)轉(zhuǎn)移到面向?qū)ο蟮姆治雠c設(shè)計(jì),點(diǎn)轉(zhuǎn)移到面向?qū)ο蟮姆治雠c設(shè)計(jì),演化為一種完整的軟件開發(fā)方法和演化為一種完整的軟件開發(fā)方法和系統(tǒng)的技術(shù)體系,稱為對(duì)象工程。系統(tǒng)的技術(shù)體系,稱為對(duì)象工程。45軟件工程的發(fā)展已經(jīng)歷了四個(gè)重要階段:軟件工程的發(fā)展已經(jīng)歷了四個(gè)重要階段: 8080年代中開始,年代中開始,人們?cè)谲浖_發(fā)人們?cè)谲浖_發(fā)的實(shí)踐過程中認(rèn)識(shí)到:提高軟件生產(chǎn)的實(shí)踐過程中認(rèn)識(shí)到:提高軟件生產(chǎn)率,保證軟件質(zhì)量的關(guān)鍵是率,保證軟件質(zhì)量的關(guān)鍵是“軟件過軟件過程程”,是軟件開發(fā)和維護(hù)中的管理和,是軟件開發(fā)和
40、維護(hù)中的管理和支持能力,逐步形成軟件過程工程。支持能力,逐步形成軟件過程工程。46軟件工程的發(fā)展已經(jīng)歷了四個(gè)重要階段:軟件工程的發(fā)展已經(jīng)歷了四個(gè)重要階段: 90年代起,基于構(gòu)件(年代起,基于構(gòu)件(Component)的開發(fā)方法取得重要進(jìn)展,軟件系統(tǒng)的的開發(fā)方法取得重要進(jìn)展,軟件系統(tǒng)的開發(fā)可開發(fā)可通過使用現(xiàn)成的可復(fù)用構(gòu)件組裝通過使用現(xiàn)成的可復(fù)用構(gòu)件組裝完成,而無需從頭開始構(gòu)造,以此達(dá)到完成,而無需從頭開始構(gòu)造,以此達(dá)到提高效率和質(zhì)量,降低成本的目的。稱提高效率和質(zhì)量,降低成本的目的。稱為為構(gòu)件工程。構(gòu)件工程。47四、軟件工程研究的范疇四、軟件工程研究的范疇3 軟件工程軟件工程軟件工程所包含的內(nèi)容
41、不是一成不變的,隨著人們對(duì)軟件系統(tǒng)的軟件工程所包含的內(nèi)容不是一成不變的,隨著人們對(duì)軟件系統(tǒng)的研制開發(fā)和生產(chǎn)的理解。應(yīng)用發(fā)展的眼光看待它。研制開發(fā)和生產(chǎn)的理解。應(yīng)用發(fā)展的眼光看待它。參見軟件工程知識(shí)體系圖參見軟件工程知識(shí)體系圖48493 軟件工程軟件工程五、軟件工程的本質(zhì)特性五、軟件工程的本質(zhì)特性 關(guān)注大型程序的構(gòu)造關(guān)注大型程序的構(gòu)造 中心課題是控制軟件固有的復(fù)雜性中心課題是控制軟件固有的復(fù)雜性 應(yīng)對(duì)需求變更應(yīng)對(duì)需求變更 提高軟件開發(fā)和維護(hù)的效率提高軟件開發(fā)和維護(hù)的效率 提倡有紀(jì)律的過程提倡有紀(jì)律的過程 最終目的是使客戶滿意最終目的是使客戶滿意 難點(diǎn)是對(duì)問題域的認(rèn)識(shí)和描述難點(diǎn)是對(duì)問題域的認(rèn)識(shí)和描
42、述503 軟件工程軟件工程六、軟件工程的基本原理六、軟件工程的基本原理 目前有目前有100多條關(guān)于軟件工程的準(zhǔn)則,其中最出名的多條關(guān)于軟件工程的準(zhǔn)則,其中最出名的是著名軟件工程專家是著名軟件工程專家B.W.Boehm在在1983年提出的年提出的7條基本原理。條基本原理。1. 用分階段的生命周期計(jì)劃嚴(yán)格管理用分階段的生命周期計(jì)劃嚴(yán)格管理 經(jīng)統(tǒng)計(jì)表明,不成功的軟件項(xiàng)目中有一半左右是由經(jīng)統(tǒng)計(jì)表明,不成功的軟件項(xiàng)目中有一半左右是由于計(jì)劃不周造成的。于計(jì)劃不周造成的。 Boehm認(rèn)為,在軟件的整個(gè)生命周期中應(yīng)制定并嚴(yán)認(rèn)為,在軟件的整個(gè)生命周期中應(yīng)制定并嚴(yán)格執(zhí)行六類計(jì)劃:項(xiàng)目概要計(jì)劃、里程碑計(jì)劃、項(xiàng)格執(zhí)行
43、六類計(jì)劃:項(xiàng)目概要計(jì)劃、里程碑計(jì)劃、項(xiàng)目控制計(jì)劃、產(chǎn)品控制計(jì)劃、驗(yàn)證計(jì)劃、運(yùn)行維護(hù)目控制計(jì)劃、產(chǎn)品控制計(jì)劃、驗(yàn)證計(jì)劃、運(yùn)行維護(hù)計(jì)劃。計(jì)劃。513 軟件工程軟件工程六、軟件工程的基本原理六、軟件工程的基本原理2. 堅(jiān)持進(jìn)行階段評(píng)審堅(jiān)持進(jìn)行階段評(píng)審 大部分錯(cuò)誤是在編碼之前造成的大部分錯(cuò)誤是在編碼之前造成的 錯(cuò)誤發(fā)現(xiàn)與改正得越晚,所需付出的代價(jià)越高。錯(cuò)誤發(fā)現(xiàn)與改正得越晚,所需付出的代價(jià)越高。因此,在每個(gè)階段都進(jìn)行嚴(yán)格的評(píng)審,以便盡早發(fā)現(xiàn)因此,在每個(gè)階段都進(jìn)行嚴(yán)格的評(píng)審,以便盡早發(fā)現(xiàn)在軟件開發(fā)過程的錯(cuò)誤在軟件開發(fā)過程的錯(cuò)誤523 軟件工程軟件工程六、軟件工程的基本原理六、軟件工程的基本原理3. 實(shí)行嚴(yán)
44、格的產(chǎn)品控制實(shí)行嚴(yán)格的產(chǎn)品控制 在軟件開發(fā)過程中不要隨意改變需求,因?yàn)楦淖兡稠?xiàng)需在軟件開發(fā)過程中不要隨意改變需求,因?yàn)楦淖兡稠?xiàng)需求往往需要付出較高的代價(jià),但在實(shí)踐中用戶往往會(huì)提求往往需要付出較高的代價(jià),但在實(shí)踐中用戶往往會(huì)提出需求變更,因此需要采取科學(xué)的產(chǎn)品控制技術(shù)。出需求變更,因此需要采取科學(xué)的產(chǎn)品控制技術(shù)。 目前主要實(shí)行目前主要實(shí)行基準(zhǔn)配置管理基準(zhǔn)配置管理:基準(zhǔn)配置是指經(jīng)過階段評(píng):基準(zhǔn)配置是指經(jīng)過階段評(píng)審后的軟件配置成分,如各個(gè)階段產(chǎn)生的文檔或程序代審后的軟件配置成分,如各個(gè)階段產(chǎn)生的文檔或程序代碼。碼。 對(duì)涉及基準(zhǔn)配置的修改,必須經(jīng)過嚴(yán)格的評(píng)審,通過后對(duì)涉及基準(zhǔn)配置的修改,必須經(jīng)過嚴(yán)格的
45、評(píng)審,通過后才能實(shí)施修改。才能實(shí)施修改。533 軟件工程軟件工程六、軟件工程的基本原理六、軟件工程的基本原理4. 采用現(xiàn)代程序設(shè)計(jì)技術(shù)采用現(xiàn)代程序設(shè)計(jì)技術(shù) 實(shí)踐表明:采用先進(jìn)的技術(shù)既可提高軟件開實(shí)踐表明:采用先進(jìn)的技術(shù)既可提高軟件開發(fā)的效率,又可提高軟件維護(hù)的效率。發(fā)的效率,又可提高軟件維護(hù)的效率。 80年代及之前:結(jié)構(gòu)化分析、設(shè)計(jì)技術(shù)年代及之前:結(jié)構(gòu)化分析、設(shè)計(jì)技術(shù) 90年代:面向?qū)ο蠓治?、設(shè)計(jì)技術(shù)年代:面向?qū)ο蠓治觥⒃O(shè)計(jì)技術(shù)543 軟件工程軟件工程六、軟件工程的基本原理六、軟件工程的基本原理5. 結(jié)果應(yīng)能清楚地審查結(jié)果應(yīng)能清楚地審查 軟件產(chǎn)品是看不見、摸不著的邏輯產(chǎn)品,開軟件產(chǎn)品是看不見、
46、摸不著的邏輯產(chǎn)品,開發(fā)過程難以評(píng)價(jià)和管理。發(fā)過程難以評(píng)價(jià)和管理。 根據(jù)軟件開發(fā)項(xiàng)目的總目標(biāo)及完成期限,規(guī)根據(jù)軟件開發(fā)項(xiàng)目的總目標(biāo)及完成期限,規(guī)定開發(fā)組織的責(zé)任和產(chǎn)品標(biāo)準(zhǔn),使所得的結(jié)定開發(fā)組織的責(zé)任和產(chǎn)品標(biāo)準(zhǔn),使所得的結(jié)果能夠清楚地審查果能夠清楚地審查553 軟件工程軟件工程六、軟件工程的基本原理六、軟件工程的基本原理6. 開發(fā)小組的人員應(yīng)該少而精開發(fā)小組的人員應(yīng)該少而精 開發(fā)小組人員的素質(zhì)和數(shù)量是影響軟件產(chǎn)品開發(fā)小組人員的素質(zhì)和數(shù)量是影響軟件產(chǎn)品質(zhì)量和開發(fā)效率的重要因素。質(zhì)量和開發(fā)效率的重要因素。 開發(fā)小組人員數(shù)目的增加,使相互交流復(fù)雜、開發(fā)小組人員數(shù)目的增加,使相互交流復(fù)雜、費(fèi)用增加。費(fèi)用增
47、加。563 軟件工程軟件工程六、軟件工程的基本原理六、軟件工程的基本原理7. 承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性 遵循前遵循前6條基本原理,就能夠按照當(dāng)代軟件條基本原理,就能夠按照當(dāng)代軟件工程基本原理實(shí)現(xiàn)軟件的工程化生產(chǎn),但不工程基本原理實(shí)現(xiàn)軟件的工程化生產(chǎn),但不能保證趕上時(shí)代前進(jìn)的步伐。能保證趕上時(shí)代前進(jìn)的步伐。 積極主動(dòng)采納新的軟件技術(shù),且不斷總結(jié)經(jīng)積極主動(dòng)采納新的軟件技術(shù),且不斷總結(jié)經(jīng)驗(yàn)。驗(yàn)。57一、軟件生存周期一、軟件生存周期4 軟件生存周期與軟件過程軟件生存周期與軟件過程l 軟件也有一個(gè)孕育、誕生、成長(zhǎng)、成熟、衰亡的生軟件也有一個(gè)孕育、誕生、成長(zhǎng)、成熟、
48、衰亡的生存過程。存過程。這個(gè)過程即為計(jì)算機(jī)軟件的生存周期l 軟件的生存周期軟件的生存周期(Software Life Cycle):軟件產(chǎn)品或軟件產(chǎn)品或軟件系統(tǒng)從設(shè)計(jì)、投入使用到被淘汰的全過程。軟件系統(tǒng)從設(shè)計(jì)、投入使用到被淘汰的全過程。l 軟件生存周期一般分為:軟件生存周期一般分為:軟件定義軟件定義(問題定義、可(問題定義、可行性研究、需求分析)、行性研究、需求分析)、軟件開發(fā)軟件開發(fā)(總體設(shè)計(jì)、詳細(xì)設(shè)(總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和單元測(cè)試、綜合測(cè)試)、計(jì)、編碼和單元測(cè)試、綜合測(cè)試)、軟件維護(hù)軟件維護(hù)等三個(gè)時(shí)等三個(gè)時(shí)期。期。58軟件生存周期軟件生存周期(各階段的工作小結(jié)各階段的工作小結(jié))階段階段
49、關(guān)鍵問題關(guān)鍵問題結(jié)束標(biāo)準(zhǔn)結(jié)束標(biāo)準(zhǔn)問題定義問題定義問題是什么?問題是什么?關(guān)于規(guī)模和目標(biāo)的報(bào)告書關(guān)于規(guī)模和目標(biāo)的報(bào)告書可行性研究可行性研究有可行的解嗎?有可行的解嗎?系統(tǒng)的高層邏輯模型:系統(tǒng)流程圖、系統(tǒng)的高層邏輯模型:系統(tǒng)流程圖、數(shù)據(jù)流圖、成本效益分析數(shù)據(jù)流圖、成本效益分析需求分析需求分析系統(tǒng)必須做什么?系統(tǒng)必須做什么?系統(tǒng)的邏輯模型:系統(tǒng)的邏輯模型:數(shù)據(jù)流圖、數(shù)據(jù)字典、算法描述數(shù)據(jù)流圖、數(shù)據(jù)字典、算法描述總體設(shè)計(jì)總體設(shè)計(jì)概括地說,應(yīng)該如何解概括地說,應(yīng)該如何解決這個(gè)問題?決這個(gè)問題?推薦的系統(tǒng)結(jié)構(gòu):層次圖或結(jié)構(gòu)圖推薦的系統(tǒng)結(jié)構(gòu):層次圖或結(jié)構(gòu)圖詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)怎樣具體地實(shí)現(xiàn)這個(gè)系怎樣具體地實(shí)現(xiàn)這
50、個(gè)系統(tǒng)?統(tǒng)?編碼規(guī)格說明:編碼規(guī)格說明:HIPOHIPO圖或圖或 PDLPDL編碼編碼/ /單元測(cè)試單元測(cè)試正確的程序模塊正確的程序模塊源程序清單;單元測(cè)試方案和結(jié)果源程序清單;單元測(cè)試方案和結(jié)果綜合測(cè)試綜合測(cè)試符合要求的軟件符合要求的軟件綜合測(cè)試方案和結(jié)果;完整一致的軟件綜合測(cè)試方案和結(jié)果;完整一致的軟件配置配置維護(hù)維護(hù)持久地滿足用戶需要的持久地滿足用戶需要的軟件軟件完整準(zhǔn)確的維護(hù)記錄完整準(zhǔn)確的維護(hù)記錄4 軟件生存周期與軟件過程軟件生存周期與軟件過程59問 題 域自然語言計(jì)算機(jī)語言需求分析總體設(shè)計(jì)詳細(xì)設(shè)計(jì)計(jì) 算 機(jī)編 程測(cè)試4 軟件生存周期與軟件過程軟件生存周期與軟件過程60二、軟件過程(二
51、、軟件過程(Software process) 軟件過程:軟件過程:是軟件生存周期中的一系列相關(guān)的過程。過程是活動(dòng)的集合,活動(dòng)是任務(wù)的集合。它規(guī)定了完成各項(xiàng)任務(wù)的步驟。 不存在適合所有軟件項(xiàng)目的通用過程,軟件規(guī)模、種不存在適合所有軟件項(xiàng)目的通用過程,軟件規(guī)模、種類和質(zhì)量要求不同,過程就不同。類和質(zhì)量要求不同,過程就不同。 科學(xué)有效的軟件過程要定義一組適合項(xiàng)目特點(diǎn)的任務(wù)科學(xué)有效的軟件過程要定義一組適合項(xiàng)目特點(diǎn)的任務(wù)集合集合4 軟件生存周期與軟件過程軟件生存周期與軟件過程61 軟件過程有三層含義:軟件過程有三層含義:個(gè)體含義,即指軟件產(chǎn)品或系統(tǒng)在生存周期中的某一個(gè)體含義,即指軟件產(chǎn)品或系統(tǒng)在生存周
52、期中的某一類活動(dòng)的集合,如軟件開發(fā)過程,軟件管理過程等;類活動(dòng)的集合,如軟件開發(fā)過程,軟件管理過程等;整體含義,即指軟件產(chǎn)品或系統(tǒng)在所有上述含義下的整體含義,即指軟件產(chǎn)品或系統(tǒng)在所有上述含義下的軟件過程的總體;軟件過程的總體;工程含義,即指解決軟件過程的工程,它應(yīng)用軟件工工程含義,即指解決軟件過程的工程,它應(yīng)用軟件工程的原則、方法來構(gòu)造軟件過程模型,并結(jié)合軟件產(chǎn)程的原則、方法來構(gòu)造軟件過程模型,并結(jié)合軟件產(chǎn)品的具體要求進(jìn)行實(shí)例化,以及在用戶環(huán)境下的運(yùn)作,品的具體要求進(jìn)行實(shí)例化,以及在用戶環(huán)境下的運(yùn)作,以此進(jìn)一步提高軟件生產(chǎn)率,降低成本。以此進(jìn)一步提高軟件生產(chǎn)率,降低成本。二、軟件過程(二、軟件
53、過程(Software process)4 軟件生存周期與軟件過程軟件生存周期與軟件過程62ISO/IEC 12207軟件生存周期過程 ISO/IEC(International Organization for ISO/IEC(International Organization for standardization/International electrotechnical standardization/International electrotechnical commissioncommission國(guó)際電工委員會(huì)國(guó)際電工委員會(huì) ) 12207) 12207標(biāo)準(zhǔn)把軟件生存周標(biāo)準(zhǔn)把
54、軟件生存周期中可以開展的活動(dòng)分為期中可以開展的活動(dòng)分為5 5個(gè)基本過程,個(gè)基本過程,8 8個(gè)支持過程和個(gè)支持過程和4 4個(gè)組織過程。每一個(gè)過程劃分為一組活動(dòng),每項(xiàng)活動(dòng)個(gè)組織過程。每一個(gè)過程劃分為一組活動(dòng),每項(xiàng)活動(dòng)進(jìn)一步劃分為一組任務(wù)。進(jìn)一步劃分為一組任務(wù)。63能力成熟度模型CMMCMM(Capability Maturity Model)即能力成熟度模型,)即能力成熟度模型,是美國(guó)卡耐基梅隆大學(xué)軟件工程研究所(是美國(guó)卡耐基梅隆大學(xué)軟件工程研究所(SEI)在美國(guó)國(guó)防)在美國(guó)國(guó)防部資助下于二十世紀(jì)八十年代末建立的,用于評(píng)價(jià)軟件機(jī)構(gòu)部資助下于二十世紀(jì)八十年代末建立的,用于評(píng)價(jià)軟件機(jī)構(gòu)的的軟件過程能力
55、成熟度軟件過程能力成熟度的模型。的模型。此模型在建立和發(fā)展之初,主要目的在于此模型在建立和發(fā)展之初,主要目的在于提供一種評(píng)價(jià)軟提供一種評(píng)價(jià)軟件承接方能力的方法,件承接方能力的方法,為大型軟件項(xiàng)目的招投標(biāo)活動(dòng)提供一為大型軟件項(xiàng)目的招投標(biāo)活動(dòng)提供一種全面而客觀的評(píng)審依據(jù)。而發(fā)展到后來,又同時(shí)被種全面而客觀的評(píng)審依據(jù)。而發(fā)展到后來,又同時(shí)被軟件組軟件組織用于織用于改進(jìn)其軟件過程。改進(jìn)其軟件過程。64軟件組織的成熟與不成熟 1. 不成熟的軟件組織不成熟的軟件組織 軟件過程一般并不預(yù)先計(jì)劃,而是在項(xiàng)目進(jìn)行中由實(shí)際工作人員及管理軟件過程一般并不預(yù)先計(jì)劃,而是在項(xiàng)目進(jìn)行中由實(shí)際工作人員及管理員臨時(shí)計(jì)劃員臨時(shí)
56、計(jì)劃 有時(shí),即使軟件過程已計(jì)劃好,仍不按計(jì)劃執(zhí)行有時(shí),即使軟件過程已計(jì)劃好,仍不按計(jì)劃執(zhí)行 沒有一個(gè)客觀的基準(zhǔn)來判斷產(chǎn)品質(zhì)量,或解決產(chǎn)品和過程中的問題沒有一個(gè)客觀的基準(zhǔn)來判斷產(chǎn)品質(zhì)量,或解決產(chǎn)品和過程中的問題 對(duì)軟件過程步驟如何影響軟件質(zhì)量,一無所知,產(chǎn)品質(zhì)量得不到保證。對(duì)軟件過程步驟如何影響軟件質(zhì)量,一無所知,產(chǎn)品質(zhì)量得不到保證。而且,一些提高質(zhì)量的環(huán)節(jié),如檢查、測(cè)試等經(jīng)常由于要趕進(jìn)度而減少而且,一些提高質(zhì)量的環(huán)節(jié),如檢查、測(cè)試等經(jīng)常由于要趕進(jìn)度而減少或取消或取消 產(chǎn)品在交付前,對(duì)客戶來說,一切都是不可見的產(chǎn)品在交付前,對(duì)客戶來說,一切都是不可見的 沒有長(zhǎng)遠(yuǎn)目標(biāo),管理員通常只關(guān)注解決任何當(dāng)前
57、的危機(jī)沒有長(zhǎng)遠(yuǎn)目標(biāo),管理員通常只關(guān)注解決任何當(dāng)前的危機(jī) 由于沒有實(shí)事求是地估計(jì)進(jìn)度、預(yù)算,因此他們經(jīng)常超支、超時(shí)。當(dāng)最由于沒有實(shí)事求是地估計(jì)進(jìn)度、預(yù)算,因此他們經(jīng)常超支、超時(shí)。當(dāng)最后期限臨近,他們往往在功能性和質(zhì)量上妥協(xié),或以加班加點(diǎn)方式趕進(jìn)后期限臨近,他們往往在功能性和質(zhì)量上妥協(xié),或以加班加點(diǎn)方式趕進(jìn)度度652. 成熟的軟件組織成熟的軟件組織 具有全面而充分的組織和管理軟件開發(fā)和維護(hù)過程的能力具有全面而充分的組織和管理軟件開發(fā)和維護(hù)過程的能力 管理員監(jiān)視軟件產(chǎn)品的質(zhì)量以及生產(chǎn)這些產(chǎn)品的過程管理員監(jiān)視軟件產(chǎn)品的質(zhì)量以及生產(chǎn)這些產(chǎn)品的過程 制定了一系列客觀基準(zhǔn)來判別產(chǎn)品質(zhì)量,并分析產(chǎn)品和過程中的
58、問題制定了一系列客觀基準(zhǔn)來判別產(chǎn)品質(zhì)量,并分析產(chǎn)品和過程中的問題 進(jìn)度和預(yù)算可以按照以前積累的經(jīng)驗(yàn)來制定,結(jié)果可行。預(yù)期的成本、進(jìn)度和預(yù)算可以按照以前積累的經(jīng)驗(yàn)來制定,結(jié)果可行。預(yù)期的成本、進(jìn)度、功能與性能和質(zhì)量都能實(shí)現(xiàn),并達(dá)到目的進(jìn)度、功能與性能和質(zhì)量都能實(shí)現(xiàn),并達(dá)到目的 能準(zhǔn)確及時(shí)地向工作人員通報(bào)實(shí)際軟件過程,并按照計(jì)劃有規(guī)則地能準(zhǔn)確及時(shí)地向工作人員通報(bào)實(shí)際軟件過程,并按照計(jì)劃有規(guī)則地(前前后一致,不互相矛盾后一致,不互相矛盾)工作工作,凡規(guī)定的過程都編成文檔凡規(guī)定的過程都編成文檔 軟件過程和實(shí)際工作方法相吻合。必要時(shí),過程定義會(huì)及時(shí)更新,通過軟件過程和實(shí)際工作方法相吻合。必要時(shí),過程定義
59、會(huì)及時(shí)更新,通過測(cè)試,或者通過成本測(cè)試,或者通過成本-效益分析來改進(jìn)過程。效益分析來改進(jìn)過程。 全體人員普遍地、積極地參與改進(jìn)軟件過程的活動(dòng)。在組織內(nèi)部的各項(xiàng)全體人員普遍地、積極地參與改進(jìn)軟件過程的活動(dòng)。在組織內(nèi)部的各項(xiàng)目中,每人在軟件過程中的職責(zé)都十分清晰而明確,每人各守其責(zé),協(xié)目中,每人在軟件過程中的職責(zé)都十分清晰而明確,每人各守其責(zé),協(xié)同工作,有條不紊,甚至能預(yù)見和防范問題的發(fā)生。同工作,有條不紊,甚至能預(yù)見和防范問題的發(fā)生。66軟件過程成熟度等級(jí) CMM定義了定義了5個(gè)軟件過程成熟度等級(jí),如圖:個(gè)軟件過程成熟度等級(jí),如圖:5.5.優(yōu)化級(jí)優(yōu)化級(jí)4.4.已管理級(jí)已管理級(jí)3.3.已定義級(jí)已定
60、義級(jí)2.2.可重復(fù)級(jí)可重復(fù)級(jí)1.1.初始級(jí)初始級(jí)標(biāo) 準(zhǔn) 、 一標(biāo) 準(zhǔn) 、 一致的過程致的過程有紀(jì)律有紀(jì)律的過程的過程可預(yù)測(cè)的過程可預(yù)測(cè)的過程持續(xù)改進(jìn)的過程持續(xù)改進(jìn)的過程軟件過程成熟度軟件過程成熟度的的5 5個(gè)等級(jí)個(gè)等級(jí)67軟件過程成熟度等級(jí)軟件過程成熟度等級(jí) CMM提供了一個(gè)成熟度等級(jí)框架:提供了一個(gè)成熟度等級(jí)框架: 1級(jí)級(jí)-初始級(jí)、初始級(jí)、 2級(jí)級(jí)-可重復(fù)級(jí)、可重復(fù)級(jí)、 3級(jí)級(jí)-已定義級(jí)、已定義級(jí)、 4級(jí)級(jí)-已管理級(jí)和已管理級(jí)和5級(jí)級(jí)-優(yōu)化級(jí)。優(yōu)化級(jí)。 1.初始(初始(initial)級(jí):)級(jí): 軟件過程的特點(diǎn)是無秩序的,甚至是混亂的。幾乎沒軟件過程的特點(diǎn)是無秩序的,甚至是混亂的。幾乎沒有什
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 魯教版地理六年級(jí)下冊(cè)6.1《位置和范圍》聽課評(píng)課記錄3
- 【部編人教版】八年級(jí)上冊(cè)歷史聽課評(píng)課記錄 第11課 北洋政府的黑暗統(tǒng)治
- 浙教版數(shù)學(xué)七年級(jí)上冊(cè)5.2《解法》聽評(píng)課記錄
- 環(huán)境監(jiān)測(cè)承包協(xié)議書
- 人教版地理八年級(jí)上冊(cè)《第一節(jié) 交通運(yùn)輸》聽課評(píng)課記錄1
- 滬教版數(shù)學(xué)八年級(jí)下冊(cè)20.2《一次函數(shù)的圖象與性質(zhì)》聽評(píng)課記錄1
- 湘教版數(shù)學(xué)九年級(jí)下冊(cè)《1.5 二次函數(shù)的應(yīng)用》聽評(píng)課記錄1
- 六年級(jí)科學(xué)斜面聽評(píng)課記錄
- 新北師大版數(shù)學(xué)一年級(jí)下冊(cè)《采松果》聽評(píng)課記錄
- 蘇科版數(shù)學(xué)九年級(jí)上冊(cè)聽評(píng)課記錄 用一元二次方程解決問題
- 北京理工大學(xué)應(yīng)用光學(xué)課件(大全)李林
- 國(guó)家綜合性消防救援隊(duì)伍消防員管理規(guī)定
- 河南省三門峽市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)
- 2023年全國(guó)各地高考英語試卷:完形填空匯編(9篇-含解析)
- 五年級(jí)上冊(cè)數(shù)學(xué)習(xí)題課件 簡(jiǎn)便計(jì)算專項(xiàng)整理 蘇教版 共21張
- 疼痛科的建立和建設(shè)
- 運(yùn)動(dòng)技能學(xué)習(xí)PPT課件
- 第六編元代文學(xué)
- 高考語文古詩詞必背重點(diǎn)提綱
- 超星爾雅學(xué)習(xí)通《大學(xué)生心理健康教育(蘭州大學(xué)版)》章節(jié)測(cè)試含答案
- 2020譯林版高中英語選擇性必修二單詞默寫表
評(píng)論
0/150
提交評(píng)論