版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第1章 軟件開發(fā)方法(二)軟件工程計(jì)算機(jī)教學(xué)實(shí)驗(yàn)中心 1第1章 軟件開發(fā)方法計(jì)算機(jī)教學(xué)實(shí)驗(yàn)中心 1問題的提出什么是軟件工程?為什么提出軟件工程?主要研究哪些問題?軟件工程的目標(biāo)、原理軟件開發(fā)活動(dòng)2問題的提出什么是軟件工程?21了解軟件工程的基本概念、基本原則2理解軟件工程的主要定義3理解軟件過程及模型4了解軟件工程方法學(xué)31了解軟件工程的基本概念、基本原則31.2.1 軟件工程概述什么是軟件工程?為什么要學(xué)習(xí)軟件工程?軟件工程包括哪些內(nèi)容?41.2.1 軟件工程概述什么是軟件工程?4“軟件工程是一種描述規(guī)范。”Michael Jackson軟件工程?“軟件工程是一種描述規(guī)范?!避浖こ蹋寇浖?/p>
2、程專家Boehm定義著名軟件工程專家BWBoehm為軟件工程的定義是:運(yùn)用現(xiàn)代科學(xué)技術(shù)知識(shí)來設(shè)計(jì)并構(gòu)造計(jì)算機(jī)程序及為開發(fā)、運(yùn)行和維護(hù)這些程序所必需的相關(guān)文件資料。6軟件工程專家Boehm定義著名軟件工程專家BWBoehmIEEE給出的定義1983年IEEE給出的定義為:以優(yōu)質(zhì)、高效、低成本為目標(biāo),研究開發(fā)、運(yùn)行和維護(hù)軟件以及使之退役的系統(tǒng)方法。其中,“軟件”的定義為:計(jì)算機(jī)程序、方法、規(guī)則、相關(guān)的文檔資料以及在計(jì)算機(jī)上運(yùn)行時(shí)所必需的數(shù)據(jù)。7IEEE給出的定義1983年IEEE給出的定義為:7關(guān)于軟件工程學(xué)軟件工程是一門交叉學(xué)科,涉及到計(jì)算機(jī)科學(xué)、管理科學(xué)、工程學(xué)和數(shù)學(xué)。軟件工程的理論、方法、技
3、術(shù)都是建立在計(jì)算機(jī)科學(xué)的基礎(chǔ)上;它是用管理學(xué)的原理、方法進(jìn)行軟件生產(chǎn)管理;用工程學(xué)的觀點(diǎn)進(jìn)行費(fèi)用估算、制定進(jìn)度和實(shí)施方案;用數(shù)學(xué)方法建立軟件可靠性模型以及分析各種算法。8關(guān)于軟件工程學(xué)軟件工程是一門交叉學(xué)科,涉及到計(jì)算機(jī)科學(xué)、管理1.2.2 軟件工程的目標(biāo)1、開發(fā)生產(chǎn)盡可能多的軟件產(chǎn)品;2、提高軟件的生產(chǎn)效率;3、滿足應(yīng)用的功能需要;4、降低軟件開發(fā)成本。但是,目標(biāo)與實(shí)現(xiàn)過程是矛盾的:功能強(qiáng)、系統(tǒng)則復(fù)雜,難于開發(fā)和維護(hù);注重發(fā)揮硬件功能,則可移植性差;快速開發(fā),則可能影響質(zhì)量;91.2.2 軟件工程的目標(biāo)1、開發(fā)生產(chǎn)盡可能多的軟件產(chǎn)品;9軟件工程的本質(zhì)特征軟件工程關(guān)注于大型程序的構(gòu)造軟件工程的
4、中心課題是控制復(fù)雜度軟件經(jīng)常變化開發(fā)軟件的效率非常重要和諧地合作是開發(fā)軟件的關(guān)鍵軟件必須有效地支持它的用戶在軟件工程領(lǐng)域中是由具有一種文化背景的人替具有另一種文化背景的人創(chuàng)造產(chǎn)品10軟件工程的本質(zhì)特征軟件工程關(guān)注于大型程序的構(gòu)造101.2.3 軟件工程原理自1968年提出“軟件工程”的概念以來,專家學(xué)者又陸續(xù)提出了100多條關(guān)于軟件工程的準(zhǔn)則。著名軟件工程專家B.W.Boehm于1983年發(fā)表的一篇論文中提出了軟件工程的七條基本原理。他認(rèn)為這七條原理是確保軟件產(chǎn)品質(zhì)量和開發(fā)效率的最小準(zhǔn)則集合。111.2.3 軟件工程原理自1968年提出“軟件工程”的概念以軟件工程七條基本原理用分階段的生命周期
5、計(jì)劃嚴(yán)格管理堅(jiān)持進(jìn)行階段評(píng)審實(shí)行嚴(yán)格的產(chǎn)品控制采用現(xiàn)代程序設(shè)計(jì)技術(shù)結(jié)果應(yīng)能清楚地審查開發(fā)小組人員少而精承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性12軟件工程七條基本原理用分階段的生命周期計(jì)劃嚴(yán)格管理12用分階段生命周期計(jì)劃嚴(yán)格管理據(jù)統(tǒng)計(jì)發(fā)現(xiàn):不成功軟件項(xiàng)目中半數(shù)是因計(jì)劃不周造成的。在軟件的整個(gè)生命周期中應(yīng)該制定并嚴(yán)格執(zhí)行六類計(jì)劃:項(xiàng)目概要、項(xiàng)目進(jìn)度表、項(xiàng)目控制、產(chǎn)品控制、驗(yàn)證及運(yùn)行維護(hù)計(jì)劃。不同層次的管理人員必須嚴(yán)格按照計(jì)劃各盡其職地去管理軟件開發(fā)與維護(hù)工作,絕不能受客戶或上級(jí)的影響而擅自背離預(yù)定計(jì)劃。13用分階段生命周期計(jì)劃嚴(yán)格管理據(jù)統(tǒng)計(jì)發(fā)現(xiàn):不成功軟件項(xiàng)目中半堅(jiān)持進(jìn)行階段評(píng)審軟件的質(zhì)量保證工作不能等
6、到編碼階段結(jié)束之后再進(jìn)行。這是因?yàn)椋捍蟛糠皱e(cuò)誤是在編碼之前造成的(根據(jù)Boehm統(tǒng)計(jì),設(shè)計(jì)錯(cuò)誤占軟件錯(cuò)誤的63%,編碼錯(cuò)誤占37%)。錯(cuò)誤發(fā)現(xiàn)與改正得越晚,所付出的代價(jià)也越高。因此,在每個(gè)階段進(jìn)行嚴(yán)格的評(píng)審,盡早發(fā)現(xiàn)并修正各個(gè)階段中所犯的錯(cuò)誤是一條必須遵循的重要原則。14堅(jiān)持進(jìn)行階段評(píng)審軟件的質(zhì)量保證工作不能等到編碼階段結(jié)束之后示意圖關(guān)于階段評(píng)審作用 15示意圖關(guān)于階段評(píng)審作用 15實(shí)行嚴(yán)格的產(chǎn)品控制在軟件開發(fā)過程中不應(yīng)隨意改變需求,但不能禁止更改需求。當(dāng)必須修改時(shí),為了保持軟件各配置成分的一致性,必須實(shí)行嚴(yán)格的產(chǎn)品控制。一切有關(guān)修改軟件的建議都必須按照嚴(yán)格的規(guī)程進(jìn)行評(píng)審,獲準(zhǔn)后才能實(shí)施修改。
7、絕對(duì)不能誰想修改就隨意進(jìn)行修改的行為。16實(shí)行嚴(yán)格的產(chǎn)品控制在軟件開發(fā)過程中不應(yīng)隨意改變需求,但不能采用現(xiàn)代程序設(shè)計(jì)技術(shù)以前的結(jié)構(gòu)化程序設(shè)計(jì)技術(shù),如今的面向?qū)ο蟪绦蛟O(shè)計(jì)技術(shù)都被實(shí)踐證明是各個(gè)不同歷史階段的優(yōu)秀程序設(shè)計(jì)技術(shù)和方法。采用先進(jìn)的技術(shù)既可以提高軟件開發(fā)的效率,又可以提高軟件維護(hù)的效率。17采用現(xiàn)代程序設(shè)計(jì)技術(shù)以前的結(jié)構(gòu)化程序設(shè)計(jì)技術(shù),如今的面向?qū)Y(jié)果應(yīng)能清楚地審查軟件產(chǎn)品是看不見、摸不著的邏輯產(chǎn)品,軟件開發(fā)人員的工作進(jìn)展情況可見性差。為了提高開發(fā)過程的可見性,應(yīng)根據(jù)軟件開發(fā)項(xiàng)目中的目標(biāo)完成期限,規(guī)定開發(fā)組織的責(zé)任和產(chǎn)品標(biāo)準(zhǔn),使得到的結(jié)果能夠清楚的審查。18結(jié)果應(yīng)能清楚地審查軟件產(chǎn)品是看
8、不見、摸不著的邏輯產(chǎn)品,軟件開發(fā)小組人員少而精開發(fā)小組成員的素質(zhì)應(yīng)該高,人員不宜過多。人員素質(zhì)和數(shù)量是影響產(chǎn)品質(zhì)量和開發(fā)效率的重要因素。素質(zhì)高的人開發(fā)效率比低的人高幾倍甚至幾十倍,而錯(cuò)誤則明顯得少;人數(shù)增加,管理難度也增加。19開發(fā)小組人員少而精開發(fā)小組成員的素質(zhì)應(yīng)該高,人員不宜過多。承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性要積極主動(dòng)地采納新的軟件技術(shù),要不斷總結(jié)經(jīng)驗(yàn);不能自以為是,固步自封,唯我獨(dú)好。大千世界,錯(cuò)綜復(fù)雜,只有不斷學(xué)習(xí),才能不斷進(jìn)取,不斷進(jìn)步。20承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性要積極主動(dòng)地采納新的軟件技1.2.4 軟件開發(fā)活動(dòng)軟件工程過程是由一系列軟件工程的階段任務(wù)和活動(dòng)組成。199
9、5年ISO將軟件生存周期的活動(dòng)和任務(wù)劃分為3個(gè)過程:主要過程(需求、設(shè)計(jì)、構(gòu)造、測(cè)試和維護(hù))支持過程(軟件配置、軟件工程管理、軟件過程和軟件質(zhì)量)組織過程(基礎(chǔ)設(shè)施建設(shè)、工具和方法、改進(jìn)、培訓(xùn))211.2.4 軟件開發(fā)活動(dòng)軟件工程過程是由一系列軟件工程的階段(一)主要過程主要過程包括的軟件開發(fā)活動(dòng)和任務(wù)是:軟件需求軟件設(shè)計(jì)軟件構(gòu)造軟件測(cè)試軟件維護(hù)22(一)主要過程主要過程包括的軟件開發(fā)活動(dòng)和任務(wù)是:221、軟件需求任務(wù):收集、分析、理解、確定用戶的要求;然后把用戶的要求精確、完整地描述表達(dá)出來。目的:要回答“要解決什么問題?”, 既系統(tǒng)“做什么?”。分兩步驟: 可行性研究、制定軟件開發(fā)計(jì)劃結(jié)果
10、: 可行性報(bào)告、軟件計(jì)劃、需求說明書需求說明書是讓用戶理解: “什么是他們真正需要的”。231、軟件需求任務(wù):收集、分析、理解、確定用戶的要求;然后把用了解用戶需求有關(guān)的問題什么是需求?希望,功能,限制,必需品,任何必要的東西;什么時(shí)候? 從確定方案開始;為什么? 用戶的需求是開發(fā)需要的依據(jù);來自哪里? 來自用戶,工業(yè)標(biāo)準(zhǔn),和實(shí)踐經(jīng)驗(yàn);如何實(shí)現(xiàn)?使所有相關(guān)的人參與需求分析活動(dòng),通過有效的交流實(shí)現(xiàn);誰來做? 用戶,工程管理人員,開發(fā)人員,維護(hù)人員。24了解用戶需求有關(guān)的問題什么是需求?希望,功能,限制,必需品,用戶參與需求分析的重要性根據(jù)Standish Group 1994年發(fā)表的一份研究報(bào)告
11、統(tǒng)計(jì),延遲的、超出預(yù)算的、未完成工程的最普遍的原因是: 缺少用戶參與; 不完備的需求規(guī)范; 改變需求規(guī)范。25用戶參與需求分析的重要性根據(jù)Standish Group 1需求分析的難點(diǎn) 問題的復(fù)雜性 涉及因素多而;如運(yùn)行環(huán)境和系統(tǒng)功能等。 交流障礙 涉及不同類型人員較多,知識(shí)背景、角度、角色的不同; 不完備性和不一致性 用戶對(duì)問題的陳述有矛盾、片面性等造成; 需求易變性 需求是變化的。26需求分析的難點(diǎn) 問題的復(fù)雜性26需求工作的重要性IBM公司有關(guān)研究的結(jié)果表明:有效的需求管理可以降低開發(fā)成本。通常改正需求錯(cuò)誤需要付出改正其他錯(cuò)誤10倍以上的代價(jià)。需求錯(cuò)誤通常導(dǎo)致軟件工程中全部錯(cuò)誤的25-4
12、0%。改正很少的需求錯(cuò)誤可以避免大量耗費(fèi)在返工上的成本和時(shí)間。27需求工作的重要性IBM公司有關(guān)研究的結(jié)果表明:27需求活動(dòng) 識(shí)別問題 通過調(diào)研和收集資料,了解用戶的確切需求,并將用戶提出的功能行為和特殊要求等用雙方都能理解的表達(dá)方式逐條列出。在整個(gè)分析期間要和用戶充分協(xié)商。 可行性研究 對(duì)于大型復(fù)雜問題,要對(duì)用戶的要求及實(shí)現(xiàn)環(huán)境從技術(shù)、經(jīng)濟(jì)和社會(huì)因素三個(gè)方面進(jìn)行可行性研究,以確定問題是否可解。 分析建模 建立軟件求解模型;信息、行為和表示。 需求規(guī)格化及編寫文檔 需求規(guī)格說明書、初步用戶使用手冊(cè)等。28需求活動(dòng) 識(shí)別問題282、軟件設(shè)計(jì)任務(wù):給出實(shí)現(xiàn)系統(tǒng)的實(shí)施藍(lán)圖。目的:要回答“如何解決該問
13、題?”, 既系統(tǒng)“怎樣做?”。步驟:概要設(shè)計(jì):解決系統(tǒng)的模塊劃分、模塊的層次結(jié)構(gòu)及數(shù)據(jù)庫(kù)設(shè)計(jì)。詳細(xì)設(shè)計(jì):解決每個(gè)摸塊內(nèi)部算法和數(shù)據(jù)結(jié)構(gòu)。結(jié)果: 系統(tǒng)設(shè)計(jì)說明書和模塊功能說明書 292、軟件設(shè)計(jì)任務(wù):給出實(shí)現(xiàn)系統(tǒng)的實(shí)施藍(lán)圖。29軟件設(shè)計(jì)工作軟件設(shè)計(jì)要做的工作總的可以歸結(jié)為:軟件系統(tǒng)結(jié)構(gòu)(軟件結(jié)構(gòu)) 設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、界面設(shè)計(jì)和過程設(shè)計(jì)。設(shè)計(jì)辦法是功能分解,包括: 采用某種設(shè)計(jì)方法,將一個(gè)復(fù)雜的系統(tǒng)按功能劃分成模塊; 確定每個(gè)模塊的功能; 確定模塊之間的接口,即模塊之間傳遞的信息; 評(píng)價(jià)模塊結(jié)構(gòu)的質(zhì)量。30軟件設(shè)計(jì)工作軟件設(shè)計(jì)要做的工作總的可以歸結(jié)為:軟件系統(tǒng)結(jié)構(gòu)(軟件設(shè)計(jì)準(zhǔn)則(1)軟件結(jié)構(gòu)準(zhǔn)則;分
14、層結(jié)構(gòu)、便于控制;軟件結(jié)構(gòu)的深度和寬度要適中;具有合理的扇出和扇入數(shù)。(2)模塊化準(zhǔn)則;分解復(fù)雜問題;(3)模塊獨(dú)立性準(zhǔn)則;應(yīng)使模塊之間和與外部環(huán)境之間接口的復(fù)雜性盡量地減??;模塊應(yīng)具有低耦合、高內(nèi)聚;(4)數(shù)據(jù)和過程描述清晰、可區(qū)分(表達(dá)式);(5)成果可重復(fù)。31軟件設(shè)計(jì)準(zhǔn)則(1)軟件結(jié)構(gòu)準(zhǔn)則;分層結(jié)構(gòu)、便于控制;軟件結(jié)構(gòu)軟件設(shè)計(jì)方法 面向數(shù)據(jù)流的設(shè)計(jì)方法(分為變換流和事務(wù)流方法); 結(jié)構(gòu)化設(shè)計(jì)方法; 面向數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)方法(Jackson方法); Warnier方法 面向?qū)ο蠓椒?2軟件設(shè)計(jì)方法 面向數(shù)據(jù)流的設(shè)計(jì)方法(分為變換流和事務(wù)流方法使用的開發(fā)工具 數(shù)據(jù)流圖、層次圖、HIPO圖、結(jié)構(gòu)
15、圖 程序流程圖、N-S圖、問題分析圖PAD (Program Analysis Diagram) 類語言、過程設(shè)計(jì)語言PDL(Procedural Design Language)等 統(tǒng)一建模語言UML(Unified Modeling Language)33使用的開發(fā)工具 數(shù)據(jù)流圖、層次圖、HIPO圖、結(jié)構(gòu)圖333、軟件構(gòu)造任務(wù):根據(jù)設(shè)計(jì)說明書中每個(gè)模塊的控制流程編寫出相應(yīng)的源程序。目的:寫出高質(zhì)量的代碼和相應(yīng)餓文檔。構(gòu)造要注意使系統(tǒng)更易于使用和系統(tǒng)的可重用性。選擇合適的開發(fā)工具及系統(tǒng)軟件、數(shù)據(jù)庫(kù)軟件、中間件等。制定編程規(guī)范。 結(jié)果: 源程序和文檔343、軟件構(gòu)造任務(wù):根據(jù)設(shè)計(jì)說明書中每個(gè)模
16、塊的控制流程編寫出相編程風(fēng)格編程風(fēng)格主要體現(xiàn)在如何描述源程序文件、數(shù)據(jù)說明、輸入輸出等。(1)源程序文件;變量名的命名、源程序中的注解以及源程序的書寫格式;(2)數(shù)據(jù)說明;按不同類型數(shù)據(jù)的順序以及字典順序說明、對(duì)數(shù)據(jù)結(jié)構(gòu)加注釋說明;(3)語句構(gòu)造;語句構(gòu)造一般規(guī)則;(4)輸入輸出語句;輸入輸出語句的規(guī)則。35編程風(fēng)格編程風(fēng)格主要體現(xiàn)在如何描述源程序文件、數(shù)據(jù)說明、輸入語句構(gòu)造規(guī)則不要為節(jié)省空間而把多個(gè)語句寫在同一行;盡量避免復(fù)雜的條件測(cè)試;盡量減少對(duì)“非”條件的測(cè)試;避免使用多層嵌套的循環(huán)和重復(fù);利用括號(hào)使表達(dá)式的運(yùn)算順序清晰直觀。示例36語句構(gòu)造規(guī)則不要為節(jié)省空間而把多個(gè)語句寫在同一行;示例
17、3程序設(shè)計(jì)語言選用程序設(shè)計(jì)語言時(shí)要考慮它的三種特性:(1)心理特性 對(duì)人-機(jī)通信質(zhì)量有重要影響。例如,人們習(xí)慣使用已熟悉的程序設(shè)計(jì)語言,由此產(chǎn)生的惰性影響人們學(xué)習(xí)新語言。(2)工程特性 它涉及到軟件的可移植性、開發(fā)工具的可利用性等。(3)技術(shù)特性 它對(duì)設(shè)計(jì)質(zhì)量、人和整個(gè)軟件工程有影響。例如,對(duì)數(shù)據(jù)結(jié)構(gòu)復(fù)雜性要求很高的系統(tǒng),考慮選用C及C+等語言;若對(duì)高性能和實(shí)時(shí)功能要求高,可考慮選用Ada語言。37程序設(shè)計(jì)語言選用程序設(shè)計(jì)語言時(shí)要考慮它的三種特性:374、軟件測(cè)試任務(wù):檢查、發(fā)現(xiàn)程序中的錯(cuò)誤,提高系統(tǒng)可靠性。目的:保證系統(tǒng)的正確性、可靠性和可用性?;卮穑骸霸撓到y(tǒng)是否能實(shí)現(xiàn)規(guī)定的操作?”。方式:
18、模塊測(cè)試、組裝測(cè)試 、確認(rèn)測(cè)試和系統(tǒng)測(cè)試結(jié)果: 測(cè)試報(bào)告和軟件修改報(bào)告等。384、軟件測(cè)試任務(wù):檢查、發(fā)現(xiàn)程序中的錯(cuò)誤,提高系統(tǒng)可靠性。3測(cè)試分類 單元測(cè)試。 對(duì)一個(gè)模塊的測(cè)試,一般以白盒法測(cè)試為主,多個(gè)模塊可以并行進(jìn)行。 集成測(cè)試。最終將本項(xiàng)目所有模塊集成在一起測(cè)試,交出完整程序產(chǎn)品。 確認(rèn)測(cè)試。以用戶為主的測(cè)試。證實(shí)系統(tǒng)能否正確地實(shí)現(xiàn)其功能。 系統(tǒng)測(cè)試。軟件只是整個(gè)應(yīng)用系統(tǒng)的一部分。最后要集成為一個(gè)整體,包括硬件、軟件以及相關(guān)的其它設(shè)備。此時(shí)的測(cè)試稱系統(tǒng)測(cè)試。39測(cè)試分類 單元測(cè)試。 對(duì)一個(gè)模塊的測(cè)試,一般以白盒法測(cè)試為測(cè)試與測(cè)試阿爾法測(cè)試: 對(duì)于商品軟件在研制方有客戶(訂貨方)參與的確認(rèn)
19、測(cè)試叫阿爾法測(cè)試。貝塔測(cè)試: 指在若干客戶場(chǎng)地由客戶組織,最終用戶參與的測(cè)試,此時(shí)所有文檔均予凍結(jié),作為本軟件版本的基線。對(duì)于新軟件,改版則為里程碑。40測(cè)試與測(cè)試阿爾法測(cè)試:40設(shè)計(jì)測(cè)試用例應(yīng)考慮的問題 界面:內(nèi)界面主要檢查參數(shù)個(gè)數(shù)及類型匹配。外界面主要檢查I/O文件、數(shù)據(jù)格式、類型匹配。 模塊的數(shù)據(jù)結(jié)構(gòu):類型是否不正確或不一致?初始化、缺省值使用情況;變量名拼錯(cuò);上、下界溢出等數(shù)據(jù)異常,測(cè)試能否正確處理等。 邊界條件:保證在邊界值的情況下模塊依然可以正確操作,值出界時(shí)要有正確反應(yīng)。 獨(dú)立路徑:保證至少所有語句都要執(zhí)行一次,每個(gè)條件或子條件都執(zhí)行一次更好。 錯(cuò)誤處理路徑:不管程序有無異常處理
20、都要察看出錯(cuò)處理路徑。特別要考察是否死機(jī)。41設(shè)計(jì)測(cè)試用例應(yīng)考慮的問題 界面:內(nèi)界面主要檢查參數(shù)個(gè)數(shù)及類程序調(diào)試調(diào)試是在測(cè)試發(fā)現(xiàn)錯(cuò)誤之后排除錯(cuò)誤的過程。調(diào)試過程會(huì)發(fā)生兩種結(jié)果:找到原因并把問題排除;沒找到問題的原因。調(diào)試是軟件開發(fā)過程中最艱苦的腦力勞動(dòng)。在調(diào)試過程中遇到的錯(cuò)誤有所不同,錯(cuò)誤的后果越嚴(yán)重,查找錯(cuò)誤原因的壓力也越大。通常,壓力會(huì)導(dǎo)致軟件開發(fā)人員在改正一個(gè)錯(cuò)誤的同時(shí)可能引入更多的錯(cuò)誤。42程序調(diào)試調(diào)試是在測(cè)試發(fā)現(xiàn)錯(cuò)誤之后排除錯(cuò)誤的過程。調(diào)試過程會(huì)發(fā)調(diào)試技術(shù) 輸出存儲(chǔ)器內(nèi)容;特點(diǎn)是效率低、難定位、輸出的是靜止?fàn)顟B(tài)的程序內(nèi)容。 加打印語句;特點(diǎn)是顯示的是程序的動(dòng)態(tài)信息,但大量的輸出,時(shí)間
21、慢,可能引出新的問題。 用調(diào)試工具;特點(diǎn)是動(dòng)態(tài)調(diào)試,可自動(dòng)執(zhí)行,是目前廣泛采用的一種調(diào)試技術(shù)。43調(diào)試技術(shù) 輸出存儲(chǔ)器內(nèi)容;特點(diǎn)是效率低、難定位、輸出的是靜調(diào)試策略 試探法。大概分析、估計(jì)錯(cuò)誤的位置。 回溯法。確定最先出現(xiàn)“癥狀”的地方,然后沿程序的控制流程往回追蹤源程序,直到找出錯(cuò)誤源為止。 對(duì)分查找法。若已知程序中若干個(gè)關(guān)鍵點(diǎn)的正確值,然后用調(diào)試工具在關(guān)鍵點(diǎn)附近處輸入正確值;若輸出正確,則故障在前半部分;否則,再查后半部分。 歸納法。從線索出發(fā),通過分析線索之間的關(guān)系而找出故障。主要步驟為:收集有關(guān)數(shù)據(jù),組織數(shù)據(jù),導(dǎo)出假設(shè),證明假設(shè)。44調(diào)試策略 試探法。大概分析、估計(jì)錯(cuò)誤的位置。44調(diào)試
22、的啟發(fā)性原則這部分內(nèi)容大多是心理學(xué)的問題:要思考,不要盲目地修改程序,至使錯(cuò)誤越改越多;如陷入困境,放到第天去解決;陷入絕境后,要與別人交談你的問題,或許對(duì)你有所啟發(fā);避免用試驗(yàn)法。不要在問題沒有搞清楚之前,就改動(dòng)程序,這樣對(duì)找出錯(cuò)誤不利,程序越改越亂,以致于面目全非。45調(diào)試的啟發(fā)性原則這部分內(nèi)容大多是心理學(xué)的問題:455、軟件維護(hù)任務(wù):改正軟件系統(tǒng)在使用過程中發(fā)現(xiàn)的隱含錯(cuò)誤,擴(kuò)充在使用過程中新的功能要求。目的:維護(hù)軟件系統(tǒng)的正常運(yùn)行。回答:系統(tǒng)是否滿足用戶的應(yīng)用要求。階段結(jié)果: 軟件系統(tǒng)的問題報(bào)告和軟件修改報(bào)告。465、軟件維護(hù)任務(wù):改正軟件系統(tǒng)在使用過程中發(fā)現(xiàn)的隱含錯(cuò)誤,擴(kuò)軟件維護(hù)的原因
23、 軟件的原有功能和性能可能不再適應(yīng)用戶的要求; 軟件的工作環(huán)境改變了(例如,增加了新的外部設(shè)備),軟件也要做相應(yīng)的變更; 軟件運(yùn)行中發(fā)現(xiàn)錯(cuò)誤,需要修改。47軟件維護(hù)的原因 軟件的原有功能和性能可能不再適應(yīng)用戶的要求維護(hù)活動(dòng)的特點(diǎn) 非結(jié)構(gòu)化維護(hù)和結(jié)構(gòu)化維護(hù)。主要區(qū)別是開發(fā)過程是否用軟件工程方法,若各階段均有相應(yīng)的文檔記錄,系統(tǒng)則容易維護(hù)。采用結(jié)構(gòu)化維護(hù)可以大大提高軟件維護(hù)效率。 軟件維護(hù)的困難性。是由于軟件需求分析和開發(fā)方法的缺陷。 軟件維護(hù)的費(fèi)用在總費(fèi)用中的比重不斷增加,已經(jīng)上升到了70%80%或更多,我們看到的軟件不斷升級(jí)就是維護(hù)的具體體現(xiàn)。48維護(hù)活動(dòng)的特點(diǎn) 非結(jié)構(gòu)化維護(hù)和結(jié)構(gòu)化維護(hù)。主要
24、區(qū)別是開發(fā)過維護(hù)活動(dòng)流程建立維護(hù)機(jī)構(gòu),組織維護(hù)活動(dòng): 制定維護(hù)申請(qǐng)報(bào)告; 審查維護(hù)申請(qǐng)報(bào)告并批準(zhǔn); 進(jìn)行維護(hù)并做詳細(xì)記錄; 復(fù)審。49維護(hù)活動(dòng)流程建立維護(hù)機(jī)構(gòu),組織維護(hù)活動(dòng):49軟件的可維護(hù)性軟件可維護(hù)性是指維護(hù)人員理解、修改軟件的難易程度。 可維護(hù)性因素軟件的可維護(hù)性因素主要包括:可理解性、可測(cè)試性、可修改性、可靠性和可使用性。 提高可維護(hù)性的方法提高軟件的可維護(hù)性必須從軟件生存周期各個(gè)階段的工作入手,每個(gè)階段都把可維護(hù)性貫徹到階段的開發(fā)活動(dòng)過程中,并按規(guī)范對(duì)階段工作進(jìn)行評(píng)估,以保證個(gè)階段的工作按質(zhì)按量完成。 文檔文檔是影響軟件可維護(hù)性的決定性因素。文檔分為用戶文檔和系統(tǒng)文檔兩類。50軟件的
25、可維護(hù)性軟件可維護(hù)性是指維護(hù)人員理解、修改軟件的難易程(二)支持過程支持過程包括的軟件開發(fā)活動(dòng)和任務(wù)是:軟件配置管理軟件工程管理軟件過程軟件質(zhì)量51(二)支持過程支持過程包括的軟件開發(fā)活動(dòng)和任務(wù)是:51軟件配置管理軟件修改后會(huì)發(fā)生什么呢?同步更新當(dāng)兩個(gè)或兩個(gè)以上的角色各自工作在同一產(chǎn)物上時(shí),最后一個(gè)修改者會(huì)破壞前者的工作。通知不達(dá)當(dāng)被若干開發(fā)者共享的產(chǎn)品中的問題被解決時(shí),修改未被通知到一些開發(fā)者。多個(gè)版本軟件修改與文檔不一致。新版本公布的管理和監(jiān)控。配置和變更管理提供了準(zhǔn)則管理演化系統(tǒng)中的多個(gè)變體,跟蹤給定軟件創(chuàng)建過程中的版本。52軟件配置管理軟件修改后會(huì)發(fā)生什么呢?52軟件工程管理軟件工程管
26、理是一門藝術(shù)。其主要活動(dòng)有:管理項(xiàng)目的框架、計(jì)劃配備執(zhí)行監(jiān)控項(xiàng)目的實(shí)踐準(zhǔn)則、管理風(fēng)險(xiǎn)的框架。項(xiàng)目管理是過程管理的主要體現(xiàn):(1)建立與客戶的通信;(2)作計(jì)劃,定義資源、時(shí)限、落實(shí)到開發(fā)組;(3)風(fēng)險(xiǎn)分析,評(píng)估所采用的技術(shù)和管理帶來的風(fēng)險(xiǎn);(4)工程,即軟件分析與設(shè)計(jì);(5)構(gòu)造和發(fā)布,即編碼、測(cè)試、交付、安裝、文檔、培訓(xùn);(6)客戶評(píng)審,獲得客戶的反饋。53軟件工程管理軟件工程管理是一門藝術(shù)。其主要活動(dòng)有:管理項(xiàng)目的軟件質(zhì)量控制軟件質(zhì)量保證SQA活動(dòng),貫穿于軟件過程始終。開發(fā)單位成立SQA小組負(fù)責(zé)全面質(zhì)量管理。在開發(fā)項(xiàng)目計(jì)劃時(shí)就要做出SQA計(jì)劃。其工作:各種測(cè)試 測(cè)試軟件是否滿足規(guī)格說明要求
27、。各種評(píng)審 為多種人員參與的討論會(huì),以規(guī)格說明或各種標(biāo)準(zhǔn),規(guī)范為準(zhǔn)評(píng)價(jià)各項(xiàng)軟件工作。各種審計(jì) 以職能人員為主審,審查軟件過程產(chǎn)物是否符合標(biāo)準(zhǔn)或規(guī)格說明書。報(bào)告和記錄 所有測(cè)試、評(píng)審、審計(jì)都要詳細(xì)記錄并寫出報(bào)告,報(bào)告和記錄均要整理、歸檔。以上活動(dòng)均應(yīng)在軟件質(zhì)量保證計(jì)劃中列出。54軟件質(zhì)量控制軟件質(zhì)量保證SQA活動(dòng),貫穿于軟件過程始終。開發(fā)(三)組織過程組織過程包括的軟件開發(fā)活動(dòng)和任務(wù)是:基礎(chǔ)設(shè)施建設(shè)軟件工程工具和方法改進(jìn)培訓(xùn)55(三)組織過程組織過程包括的軟件開發(fā)活動(dòng)和任務(wù)是:55基礎(chǔ)設(shè)施建設(shè)建立、維護(hù)和管理用于軟件開發(fā)過程中的:硬件和軟件的基礎(chǔ)設(shè)施;軟件開發(fā)工具和方法;開發(fā)技術(shù) 、技術(shù)規(guī)范和標(biāo)
28、準(zhǔn);其他活動(dòng)的其他基礎(chǔ)設(shè)施。56基礎(chǔ)設(shè)施建設(shè)建立、維護(hù)和管理用于軟件開發(fā)過程中的:56軟件工程工具和方法編程依賴環(huán)境,環(huán)境由開發(fā)工具組成(如編譯器、連接器、加載和運(yùn)行工具、排錯(cuò)、信息顯示及編輯工具)。稱為最小環(huán)境工具集。70年代中期, 軟件工程師迫于軟件危機(jī)的壓力, 提出了計(jì)算機(jī)輔助軟件工程(CASE)的設(shè)想, 開發(fā)出一系列工具盡量使軟件過程的各項(xiàng)活動(dòng)自動(dòng)化、半自動(dòng)化。相應(yīng)問題:工具日益增多, 給使用者帶來不便,例如,各工具的使用方法、格式、參數(shù)等差異的問題。這就在客觀上產(chǎn)生了對(duì)于集成的CASE工具的需求。57軟件工程工具和方法編程依賴環(huán)境,環(huán)境由開發(fā)工具組成(如編譯器計(jì)算機(jī)輔助軟件工程CAS
29、E人們期望借助CASE工具,使得軟件開發(fā)可以像在自動(dòng)流水線上生產(chǎn)計(jì)算機(jī)那樣生產(chǎn)。CASE 工具應(yīng)具有的特征:支持專用的個(gè)人計(jì)算環(huán)境;使用圖形功能對(duì)軟件系統(tǒng)進(jìn)行說明并建立文檔;將生命周期各階段的工作連接在一起;收集和連接軟件系統(tǒng)從最初的軟件需求到軟件維護(hù)各個(gè)環(huán)節(jié)的所有信息;用人工智能實(shí)現(xiàn)軟件開發(fā)和維護(hù)工作的自動(dòng)化。信息工程工具過程模型和管理工具項(xiàng)目計(jì)劃工具風(fēng)險(xiǎn)分析工具項(xiàng)目管理工具需求追蹤工具度量和管理工具文檔工具系統(tǒng)軟件工具質(zhì)量保證工具數(shù)據(jù)庫(kù)管理工具58計(jì)算機(jī)輔助軟件工程CASE人們期望借助CASE工具,使得軟件改進(jìn)改進(jìn)活動(dòng)的基本內(nèi)容有:對(duì)整個(gè)軟件生存過程進(jìn)行評(píng)估;對(duì)現(xiàn)行過程進(jìn)行度量;對(duì)現(xiàn)行過程
30、進(jìn)行改進(jìn)。59改進(jìn)改進(jìn)活動(dòng)的基本內(nèi)容有:59培訓(xùn)為了使用戶能夠盡快掌握使用軟件系統(tǒng),要對(duì)用戶進(jìn)行培訓(xùn)?;顒?dòng)包括:制定培訓(xùn)計(jì)劃。編寫培訓(xùn)教材。實(shí)施培訓(xùn)計(jì)劃。60培訓(xùn)為了使用戶能夠盡快掌握使用軟件系統(tǒng),要對(duì)用戶進(jìn)行培訓(xùn)。61.2.5 軟件工程方法學(xué)通常把在軟件生命周期全過程中使用的一整套技術(shù)方法的集合稱為方法學(xué),也稱為范型。軟件工程方法學(xué)包括3個(gè)要素:方法、工具和過程。這三者之間是相互聯(lián)系的。方法是回答“怎樣做”的問題;工具是為運(yùn)用方法而提供的軟件支撐環(huán)境;過程是為了獲得高質(zhì)量的軟件所需完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。611.2.5 軟件工程方法學(xué)通常把在軟件生命周期全過程
31、中使用的軟件工程的基本問題 軟件工程開發(fā)技術(shù)的角度 軟件工程開發(fā)技術(shù)思想與原則過程方法工具解決軟件工程的三目標(biāo)質(zhì)量 成本進(jìn)度62軟件工程的基本問題 軟件工程開發(fā)技術(shù)的角度 軟件工程開發(fā)技術(shù)傳統(tǒng)方法學(xué)傳統(tǒng)方法學(xué)是建立在軟件生存周期方法學(xué)和結(jié)構(gòu)化方法學(xué)的基礎(chǔ)上。因此,具有明顯的那個(gè)時(shí)代的特點(diǎn)。70年代,計(jì)算機(jī)技術(shù)水平不高,開發(fā)工具少而且性能差。對(duì)于大型復(fù)雜問題的求解,人們不得不采用“將大化小“、“將難化簡(jiǎn)”,最后“分而治之”的開發(fā)策略。63傳統(tǒng)方法學(xué)傳統(tǒng)方法學(xué)是建立在軟件生存周期方法學(xué)和結(jié)構(gòu)化方法學(xué)結(jié)構(gòu)化方法概述結(jié)構(gòu)化方法是由下列過程組成:結(jié)構(gòu)化分析方法SA結(jié)構(gòu)化設(shè)計(jì)方法SD結(jié)構(gòu)化程序設(shè)計(jì)方法SP
32、方法的核心是:基于功能分解的模塊化層次結(jié)構(gòu)方法。64結(jié)構(gòu)化方法概述結(jié)構(gòu)化方法是由下列過程組成:64結(jié)構(gòu)化分析SA自頂向下 逐步求精模塊化設(shè)計(jì)結(jié)構(gòu)化分析的要點(diǎn)是:將大問題化為小問題,找出關(guān)鍵點(diǎn)、難點(diǎn),定量描述;核心是:分解;手段是:模塊化。65結(jié)構(gòu)化分析SA自頂向下 65結(jié)構(gòu)化設(shè)計(jì)SD模塊化結(jié)構(gòu)模塊獨(dú)立性結(jié)構(gòu)化設(shè)計(jì)方法的要點(diǎn)是:將系統(tǒng)設(shè)計(jì)成由相對(duì)獨(dú)立、單一功能的模塊組成的軟件結(jié)構(gòu)。模塊獨(dú)立性用模塊內(nèi)的內(nèi)聚性和模塊間的耦合性來衡量。66結(jié)構(gòu)化設(shè)計(jì)SD模塊化結(jié)構(gòu)66結(jié)構(gòu)化程序設(shè)計(jì)SP自頂向下逐步加細(xì);模塊只有一個(gè)入口,一個(gè)出口;三種基本結(jié)構(gòu);開發(fā)支持庫(kù);主程序員組結(jié)構(gòu)化程序設(shè)計(jì)方法SP的要點(diǎn)是用三種
33、基本結(jié)構(gòu)的語句編寫只有一個(gè)入口和一個(gè)出口的模塊程序,盡可能地采用重用程序,開發(fā)組織形式為主程序員組。67結(jié)構(gòu)化程序設(shè)計(jì)SP自頂向下逐步加細(xì);67傳統(tǒng)方法學(xué)的缺點(diǎn)過分強(qiáng)調(diào)了分階段實(shí)施,使得開發(fā)過程各個(gè)階段之間存在嚴(yán)重的順序性和依賴性;很難將一個(gè)復(fù)雜的問題化簡(jiǎn)、分解;設(shè)計(jì)方法存在很大的主觀隨意性;基于功能分解的系統(tǒng)結(jié)構(gòu)難于修改和擴(kuò)充;思維成果的可重用性很差;數(shù)據(jù)和對(duì)數(shù)據(jù)的處理是分離的;忽視了人在軟件開發(fā)過程中的地位和作用。68傳統(tǒng)方法學(xué)的缺點(diǎn)過分強(qiáng)調(diào)了分階段實(shí)施,使得開發(fā)過程各個(gè)階段之現(xiàn)代方法學(xué)現(xiàn)代方法學(xué)是在傳統(tǒng)方法學(xué)的基礎(chǔ)上,為了強(qiáng)調(diào)人在軟件開發(fā)中的作用,同時(shí)為了適應(yīng)軟件新技術(shù)的發(fā)展趨勢(shì)而提出的
34、。其基本要點(diǎn)是: 軟件開發(fā)過程是以人為主,充分利用軟件開發(fā)方法及軟件開發(fā)工具; 開發(fā)人員的組織管理對(duì)軟件開發(fā)成功與否至關(guān)重要; 基于軟件組件的軟件開發(fā)技術(shù)。 由于軟件組件是標(biāo)準(zhǔn)化設(shè)計(jì)、成品化生產(chǎn)的,極易構(gòu)造使用,從而大大簡(jiǎn)化了設(shè)計(jì)、編程、測(cè)試各個(gè)環(huán)節(jié)的工作量,提高了生產(chǎn)效率和產(chǎn)品質(zhì)量。69現(xiàn)代方法學(xué)現(xiàn)代方法學(xué)是在傳統(tǒng)方法學(xué)的基礎(chǔ)上,為了強(qiáng)調(diào)人在軟件現(xiàn)代方法學(xué)中生命周期在現(xiàn)代方法學(xué)中軟件生命周期的階段劃分:系統(tǒng)分析系統(tǒng)構(gòu)造系統(tǒng)測(cè)試軟件組件70現(xiàn)代方法學(xué)中生命周期在現(xiàn)代方法學(xué)中軟件生命周期的階段劃分:7面向?qū)ο蠓椒▽W(xué)為克服“軟件危機(jī)”帶來的災(zāi)難,業(yè)界人士研究、探索出的一種新方法。當(dāng)面向?qū)ο螅∣O)
35、思想和方法一經(jīng)出現(xiàn),就引起計(jì)算機(jī)業(yè)界的極大關(guān)注,使得對(duì)這種新方法的研究和應(yīng)用得到迅速發(fā)展。OO方法將客觀世界看成是由許多不同種類的對(duì)象構(gòu)成。通過分析、研究客觀世界中的實(shí)體、實(shí)體的屬性及其相互關(guān)系,從中抽象出求解問題的對(duì)象,最后求解這些對(duì)象,得到問題的解。這一過程更接近人類認(rèn)識(shí)問題、解決問題的思維方式,使得計(jì)算機(jī)求解的對(duì)象與客觀事物具有一一對(duì)應(yīng)的關(guān)系。71面向?qū)ο蠓椒▽W(xué)為克服“軟件危機(jī)”帶來的災(zāi)難,業(yè)界人士研究、探對(duì)象(Object)標(biāo)識(shí) 用來區(qū)別其它對(duì)象;狀態(tài) 用來描述對(duì)象的屬性,用數(shù)據(jù)成員來表示;行為 對(duì)對(duì)象的操作,用于改變對(duì)象的狀態(tài); 行為分兩類:自身所承受的操作施加于其它對(duì)象的操作例如,
36、一個(gè)人叫王東,男,1.80M,68kg,會(huì)修電器,可教計(jì)算機(jī)課。描述如下: 對(duì) 象 名:王東 對(duì)象狀態(tài):性別:男 身高:1.80m 體重:68kg 對(duì)象功能: 回答身高、體重、性別 (屬于自身所承受的操作) 修理電器、教計(jì)算機(jī)課程(屬于施加于其它對(duì)象的操作)72對(duì)象(Object)標(biāo)識(shí) 用來區(qū)別其它對(duì)象;72類(Class)人們習(xí)慣于把有相似特征的事物歸為一類,分類是人類認(rèn)識(shí)客觀世界的基本方法。在OO方法中,“類”就是對(duì)具有相同數(shù)據(jù)和操作的一組相似對(duì)象的定義。例如,“人“類,可以是黑人、白人,可以是教師、工人等,他們具有相同的人類特征和行為特征。類是OO技術(shù)中最重要的概念。OO方法中所有的操作
37、都可歸結(jié)為對(duì)類的操作。73類(Class)人們習(xí)慣于把有相似特征的事物歸為一類,分類是C+中對(duì)象類的定義舉例 CLASS person Private: & 私有數(shù)據(jù)和操作 char name20; int age; cahr address40; char sex10; void PrintName( ); viod PrintAge( ); void PrintAddress( ); void PrintSex( ); Public: & 公有操作 void Print( ) PrintName( ); PrintAge( ); PrintAddress( ); PrintSex( );
38、;結(jié)構(gòu)特征數(shù)據(jù)成員行為特征 成員函數(shù)74C+中對(duì)象類的定義舉例 CLASS person 結(jié)繼承性舉例在“人”類中,大學(xué)生可以繼承“人”和“學(xué)生”的特征(繼承傳遞);對(duì)于在職研究生既可以繼承“學(xué)生”特征,又可以繼承“教師”特征(多重繼承)。 人身份證號(hào):姓名:學(xué)號(hào):校名學(xué)生大學(xué)生專業(yè):班級(jí):身份證號(hào):xxxxxxx姓名:劉小明學(xué)生:學(xué)生:9601078校名:西安交通大學(xué)大學(xué)生:專業(yè):計(jì)算機(jī)班級(jí):962班人:75繼承性舉例在“人”類中,大學(xué)生可以繼承“人”和“學(xué)生”的特征 消息(Message)在面向?qū)ο蟮募夹g(shù)中,消息是對(duì)象之間相互請(qǐng)求或相互協(xié)作的惟一途徑。對(duì)象間的聯(lián)系,只能通過傳遞消息來進(jìn)行。
39、對(duì)象也只能在收到消息時(shí),才被激活。前例中人的對(duì)象王東。他可以修理電器、講計(jì)算機(jī)課;這是他為別人可提供的服務(wù)。但是,他什么時(shí)候修理電器,什么時(shí)候講課,都要得到其他對(duì)象的請(qǐng)求后才進(jìn)行。76 消息(Message)在面向?qū)ο蟮募夹g(shù)中,消息是對(duì)象之間相什么是OO方法現(xiàn)在比較一致的看法是:OO方法是基于“對(duì)象、類、繼承性、消息機(jī)制、多態(tài)性等技術(shù)特征”的構(gòu)造軟件系統(tǒng)的開發(fā)方法。OO方法具有以下幾個(gè)要點(diǎn): 把對(duì)象作為一種統(tǒng)一的軟件構(gòu)件,它將數(shù)據(jù)及在數(shù)據(jù)上的操作行為融合為一體。OO方法處理的基本元素是對(duì)象;程序是由對(duì)象組成的,復(fù)雜的對(duì)象是由簡(jiǎn)單的對(duì)象組合而形成的。 把所有對(duì)象都用類來表示;每個(gè)類都有自己的屬性
40、和方法,具體的對(duì)象只是類中的一個(gè)實(shí)例。 類具有層次結(jié)構(gòu),子類可以繼承父類的特性和方法(繼承性); 對(duì)象之間只能通過傳遞消息構(gòu)成相互之間的聯(lián)系(消息機(jī)制)。77什么是OO方法現(xiàn)在比較一致的看法是:OO方法是基于“對(duì)象、類OO方法的主要優(yōu)點(diǎn) 與人類習(xí)慣的思維方式一致 穩(wěn)定性好 可重用性好 可維護(hù)性好78OO方法的主要優(yōu)點(diǎn) 與人類習(xí)慣的思維方式一致78軟件工程模型1 瀑布模型2 增量模型3 螺旋模型4 噴泉模型5 基于知識(shí)的模型6 面向?qū)ο竽P?9軟件工程模型1 瀑布模型79瀑布模型瀑布模型是上個(gè)世紀(jì)80年代廣泛應(yīng)用的一種模型,至今仍然是最廣泛使用的過程模型之一。在應(yīng)用程的應(yīng)用模式也稱為軟件生存周期
41、模式(B.W.Boehm提出的該模型)。80瀑布模型瀑布模型是上個(gè)世紀(jì)80年代廣泛應(yīng)用的一種模型,至今瀑布模型示意圖 需求分析7%系統(tǒng)設(shè)計(jì)6%軟件編程7%軟件測(cè)試13%軟件維護(hù)67%用戶要求分析報(bào)告系統(tǒng)設(shè)計(jì)報(bào)告源程序測(cè)試報(bào)告更改要求UAMATMMPUTPUAMPA 系統(tǒng)分析員M 項(xiàng)目管理員P 程序員T 高級(jí)程序員U 用戶81瀑布模型示意圖 需求分析7%系統(tǒng)設(shè)計(jì)6%軟件編程7%軟件測(cè)試瀑布模型的特點(diǎn)瀑布模型具有順序性和依賴性,即后一階段工作必須在前一階段工作完成后才能開始。推遲實(shí)現(xiàn)的觀點(diǎn);把邏輯設(shè)計(jì)與物理設(shè)計(jì)清楚地劃分開,盡可能推遲物理模型的實(shí)現(xiàn),這是瀑布模型的重要指導(dǎo)思想。質(zhì)量保證的觀點(diǎn)。瀑布
42、模型強(qiáng)調(diào)的是優(yōu)質(zhì),即每一步都循序漸進(jìn),及早消除隱患,從而保證軟件質(zhì)量。致命缺點(diǎn)是只有做出精確的需求分析,才能取得預(yù)期的結(jié)果。由于各種客觀、主觀的原因,需求分析往往不很精確,常常給日后的開發(fā)帶來隱患。82瀑布模型的特點(diǎn)瀑布模型具有順序性和依賴性,即后一階段工作必須原型模型樣品模型原型模型的主要思想: 先借用已有系統(tǒng)作為原型模型,通過“樣品”不斷改進(jìn),使得最后的產(chǎn)品就是用戶所需要的。原形模型的特點(diǎn):開發(fā)人員和用戶在“原型”上達(dá)成一致。這樣可以減少設(shè)計(jì)中的錯(cuò)誤和開發(fā)中的風(fēng)險(xiǎn),以及對(duì)用戶培訓(xùn)的時(shí)間,而提高了系統(tǒng)的實(shí)用、正確性以及用戶的滿意程度??s短開發(fā)周期,加快工程進(jìn)度。降低成本。原型模型的缺點(diǎn):當(dāng)告
43、訴用戶,還必須重新生產(chǎn)該產(chǎn)品時(shí),用戶是很難接受的。這往往給工程繼續(xù)開展帶來不利因素。 83原型模型樣品模型原型模型的主要思想:83快速原型模型 分析原型樣品模型設(shè)計(jì)編程測(cè)試使用修改與改進(jìn)在系統(tǒng)分析與設(shè)計(jì)中,采用交互式,反復(fù)修改與不斷改進(jìn)的方式進(jìn)行。還有的把原型模式嵌套在瀑布模型中運(yùn)用。84快速原型模型 分析原型設(shè)計(jì)編程測(cè)試使用修改在系統(tǒng)分析與還有的增量模型也稱漸增模型。它把軟件產(chǎn)品作為一系列的增量構(gòu)件來設(shè)計(jì)、編碼、集成和測(cè)試。增量模型是一種非整體開發(fā)的模型。軟件在該模型中是“逐漸”開發(fā)出來的,開發(fā)出一部分,向用戶展示一部分,讓用戶及早看到部分軟件,及早發(fā)現(xiàn)問題。或者先開發(fā)一個(gè)“原型”軟件,完成
44、部分主要功能,展示給用戶征求意見,然后逐步完善,最終后的滿意的軟件產(chǎn)品。該模型具有較大的靈活性,適合于軟件需求不明確、設(shè)計(jì)方案有一定風(fēng)險(xiǎn)的軟件項(xiàng)目。缺點(diǎn):要求軟件具有開放的結(jié)構(gòu)是這種模型固有的困難。85增量模型也稱漸增模型。它把軟件產(chǎn)品作為一系列的增量構(gòu)件來設(shè)螺旋模型將工程劃分為4個(gè)主要活動(dòng):制定計(jì)劃、風(fēng)險(xiǎn)分析、實(shí)現(xiàn)工程和用戶評(píng)價(jià)。4個(gè)活動(dòng)螺旋式地重復(fù)執(zhí)行,直到最終得到用戶認(rèn)可的產(chǎn)品。制定計(jì)劃:確定軟件目標(biāo),選定實(shí)施方案,弄清項(xiàng)目開發(fā)限制條件。風(fēng)險(xiǎn)分析:分析可選方案,分析識(shí)別風(fēng)險(xiǎn),研究解決化解風(fēng)險(xiǎn)的辦法。實(shí)現(xiàn)工程:實(shí)施軟件產(chǎn)品的開發(fā)。用戶評(píng)價(jià):對(duì)當(dāng)前工作結(jié)果進(jìn)行評(píng)價(jià),提出改進(jìn)產(chǎn)品的建議。螺旋模
45、型的缺點(diǎn):很難讓用戶確信這種演化方法的結(jié)果是可以控制的。86螺旋模型將工程劃分為4個(gè)主要活動(dòng):制定計(jì)劃、風(fēng)險(xiǎn)分析、實(shí)現(xiàn)螺旋模型的缺陷建立在風(fēng)險(xiǎn)分析的基礎(chǔ)上需要有一個(gè)非常有經(jīng)驗(yàn)的小組來準(zhǔn)確地分析和檢測(cè)風(fēng)險(xiǎn)絕對(duì)依賴人的素質(zhì) (本身就是冒險(xiǎn)!)不適合新手開發(fā)中的每一層都很有彈性,并不是很明確的界限每一層的目標(biāo)和計(jì)劃都是由小組本身來制定。要求有經(jīng)驗(yàn)的人來組成。87螺旋模型的缺陷建立在風(fēng)險(xiǎn)分析的基礎(chǔ)上87 智能模型 也稱基于知識(shí)的軟件開發(fā)模型,它與專家系統(tǒng)結(jié)合在一起。該模型在實(shí)施過程中要建立知識(shí)庫(kù),將模型本身、軟件工程知識(shí)與特定領(lǐng)域的知識(shí)分別存入數(shù)據(jù)庫(kù)。以軟件工程知識(shí)為基礎(chǔ)的生成規(guī)則構(gòu)成的專家系統(tǒng)與含應(yīng)
46、用領(lǐng)域知識(shí)規(guī)則的其他專家系統(tǒng)相結(jié)合,構(gòu)成這一應(yīng)用領(lǐng)域的軟件開發(fā)系統(tǒng)。88 智能模型 也稱基于知識(shí)的軟件開發(fā)模型,它與專家系統(tǒng)結(jié)合在面向?qū)ο蟮拈_發(fā)模型其主導(dǎo)思想是:在整個(gè)軟件開發(fā)過程中將面向?qū)ο蠹夹g(shù)貫穿于整個(gè)生存周期。當(dāng)然,還要結(jié)合傳統(tǒng)開發(fā)模式中好的、已被無數(shù)成功開發(fā)活動(dòng)證明是可行的經(jīng)驗(yàn)和技術(shù)。具備3個(gè)主要的階段:分析: 模擬 “關(guān)鍵系統(tǒng)”來表示用戶要求,并設(shè)計(jì)獨(dú)立實(shí)現(xiàn)的“關(guān)鍵類”。設(shè)計(jì): 限制并優(yōu)化關(guān)鍵類,在特定的環(huán)境中實(shí)現(xiàn),得到另外的類。實(shí)現(xiàn): 定義類的接口和實(shí)現(xiàn)方法,然后編寫并統(tǒng)一測(cè)試所有的類。89面向?qū)ο蟮拈_發(fā)模型其主導(dǎo)思想是:在整個(gè)軟件開發(fā)過程中將面向面向?qū)ο箝_發(fā)的缺陷還不成熟幾個(gè)有影
47、響的面向?qū)ο箝_發(fā)的過程對(duì)不同的步驟意見不一。在大的項(xiàng)目上經(jīng)驗(yàn)不多,在小項(xiàng)目上尚可。在每個(gè)過程步上細(xì)節(jié)少,新手難于理解。晚期的測(cè)試 開發(fā)過程沒有中間的版本,幾乎所有的測(cè)試都留在最后的實(shí)現(xiàn)階段。結(jié)構(gòu)上的死板 假設(shè)所有的結(jié)構(gòu)設(shè)計(jì)都定義好在要求階段,對(duì)于設(shè)計(jì)和實(shí)現(xiàn)階段基本上沒有結(jié)構(gòu)上變化的余地。. 90面向?qū)ο箝_發(fā)的缺陷還不成熟90開發(fā)流程模型的比較線性有序模型(瀑布模型) 結(jié)構(gòu)性好基于原型模型 需要在短時(shí)間內(nèi)建立原型系統(tǒng)在系統(tǒng)要求模糊或者未知時(shí)較有效重復(fù)使用模型假如條件適合,是開發(fā)速度最快的模型積累模型 容許早期測(cè)試和用戶反饋螺旋模型適于大規(guī)模系統(tǒng)91開發(fā)流程模型的比較線性有序模型(瀑布模型) 91
48、軟件工程前景軟件學(xué)科的核心問題是“如何提高軟件的生產(chǎn)效率和運(yùn)行效率” 。在對(duì)提高運(yùn)行效率問題的研究上,人們已經(jīng)探索出一條有效的途徑并取得重大成果。表現(xiàn)在: 集成電路技術(shù)、計(jì)算機(jī)體系結(jié)構(gòu)技術(shù)和計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展,為軟件系統(tǒng)的運(yùn)行提供了日益強(qiáng)大的硬件基礎(chǔ)設(shè)施,極大地提高了軟件運(yùn)行的效率。在此方面目前的研究熱點(diǎn)是高性能計(jì)算和高性能網(wǎng)絡(luò)。 軟件學(xué)科的并行計(jì)算和分布計(jì)算理論的新進(jìn)展也在很大程度上解決了提高運(yùn)行效率的問題。近十年來研究的熱點(diǎn)是系統(tǒng)軟件技術(shù)和中間件技術(shù)。92軟件工程前景軟件學(xué)科的核心問題是“如何提高軟件的生產(chǎn)效率和運(yùn)提高軟件生產(chǎn)效率的方法研究途徑分分理論方法和技術(shù)方法:技術(shù)方法主要是以美國(guó)
49、軟件產(chǎn)業(yè)為代表。它以“軟件工廠”為目標(biāo)來提高軟件的生產(chǎn)效率。主要辦法是提高軟件的可重用性。面向?qū)ο蠓椒ㄊ墙鉀Q軟件危機(jī),提高軟件開發(fā)效率和質(zhì)量的有效途徑,是一種社會(huì)化的方法,有助于軟件工程化、工廠化生產(chǎn)的實(shí)現(xiàn)。這種方法在近二十年來處于主導(dǎo)地位,也使美國(guó)的軟件業(yè)在全球領(lǐng)先。理論方法是以西歐的學(xué)術(shù)界為首的形式化方法,即純自動(dòng)化方法。它以精確的語義描述軟件系統(tǒng),在此基礎(chǔ)上進(jìn)行自動(dòng)生成、轉(zhuǎn)化及驗(yàn)證。此方法提出來很早,但難度很大,大部分處于原型討論,離實(shí)用還有很大差距。這兩種方法的優(yōu)、缺點(diǎn)很明顯。技術(shù)的方法實(shí)用性很強(qiáng),得到了產(chǎn)業(yè)界的大力擁護(hù)。但是隨著軟件的規(guī)模越來越大,復(fù)雜度越來越高,很難保證軟件的可靠性
50、和軟件的開發(fā)效率。理論的方法則實(shí)用性差,很難投入實(shí)際應(yīng)用。93提高軟件生產(chǎn)效率的方法研究途徑分分理論方法和技術(shù)方法:93軟件工程主要技術(shù)發(fā)展趨勢(shì)1基于軟件復(fù)用庫(kù)的軟件重用2面向?qū)ο蠹夹g(shù)3針對(duì)幾種中間件平臺(tái)開發(fā)組件交互的標(biāo)準(zhǔn)和基于組件的軟件開發(fā)94軟件工程主要技術(shù)發(fā)展趨勢(shì)1基于軟件復(fù)用庫(kù)的軟件重用94歡迎參加計(jì)教中心網(wǎng)站的學(xué)習(xí)討論。中心網(wǎng)址: http:/教學(xué)資源地址: http: /60/moodle我的E-mail地址: lzq 謝謝,再見!95歡迎參加計(jì)教中心網(wǎng)站的學(xué)習(xí)討論。95經(jīng)典的設(shè)計(jì)準(zhǔn)則模塊化準(zhǔn)則模塊獨(dú)立性準(zhǔn)則模塊的內(nèi)聚性模塊的耦合性軟件的結(jié)構(gòu)準(zhǔn)則96經(jīng)典的設(shè)計(jì)準(zhǔn)則模塊化準(zhǔn)則96模塊
51、化準(zhǔn)則設(shè)C(X)是關(guān)于問題X的復(fù)雜性,E(X)是完成問題X的工作量,有兩個(gè)問題P1和P2: 若C(P1) C(P2) , (即P1比P2復(fù)雜) E(P1) E(P2), (即P1比P2用的工作量多) 而 C(P1+P2) C(P1) + C(P2), (即組合問題比單個(gè)問題復(fù)雜) 則 E(P1+P2) E(P1) + E(P2) (組合問題的工作量大于單個(gè)問題的工作量之和)這說明: 軟件分解為若個(gè)模塊后,則總的工作量減少,但并不是說,模塊分解的越多,工作量就一定越少。因?yàn)榉纸獾揭欢ǔ潭群?,模塊之間的接口工作量就上升,從而使總的代價(jià)上升。97模塊化準(zhǔn)則設(shè)C(X)是關(guān)于問題X的復(fù)雜性,E(X)是完
52、成問題模塊化準(zhǔn)則示意圖 開發(fā)代價(jià)模塊數(shù)模塊代價(jià)接口代價(jià)軟件成本M最小區(qū)域End98模塊化準(zhǔn)則示意圖 開發(fā)代價(jià)模塊數(shù)模塊代價(jià)接口代價(jià)軟件成模塊獨(dú)立性準(zhǔn)則模塊獨(dú)立性是指開發(fā)具有功能專一、模塊之間無過多相互作用的模塊。具有獨(dú)立性的模塊,開發(fā)容易、能減少錯(cuò)誤的傳播,使模塊重組、分解方便,容易調(diào)試和維護(hù)。度量模塊的獨(dú)立性標(biāo)準(zhǔn):模塊間的藕合性越小,獨(dú)立性越強(qiáng)模塊的內(nèi)聚性越大,獨(dú)立性越強(qiáng)End99模塊獨(dú)立性準(zhǔn)則模塊獨(dú)立性是指開發(fā)具有功能專一、模塊之間無過多軟件結(jié)構(gòu)準(zhǔn)則 好的軟件結(jié)構(gòu)應(yīng)具有倒置水缸形,在頂部有較高的扇出數(shù)(一個(gè)模塊直接下屬的子模塊數(shù)),在底部有較高的扇入數(shù)(模塊的直接上屬模塊的個(gè)數(shù))。示意圖1
53、00軟件結(jié)構(gòu)準(zhǔn)則 好的軟件結(jié)構(gòu)應(yīng)具有倒置水缸形,在頂部有較高的扇結(jié)構(gòu)形態(tài)準(zhǔn)則示意圖 深度寬度扇出扇入End101結(jié)構(gòu)形態(tài)準(zhǔn)則示意圖 深度寬度扇出扇入End101層次圖層次圖用來描述軟件的層次結(jié)構(gòu)。這種工具很適合在自頂向下設(shè)計(jì)軟件的過程中使用。正文加工系統(tǒng)輸入輸出編輯加標(biāo)題存儲(chǔ)檢索編目錄格式化添加刪除插入修改合并列表銷售管理系統(tǒng)的H圖End102層次圖層次圖用來描述軟件的層次結(jié)構(gòu)。這種工具很適合在自頂向下HIPO圖HIPO圖是美國(guó)IBM公司發(fā)明的“層次圖加IPO圖”的英文縮寫。為了使HIPO圖具有可追蹤性,在層次圖內(nèi)的每個(gè)方框內(nèi)加入編號(hào)(頂層框除外)。編號(hào)反映了模塊在不同層次中的位置。正文加工系
54、統(tǒng)輸入1.0輸出2.0編輯3.0加標(biāo)題4.0存儲(chǔ)5.0檢索6.0編目錄7.0格式化8.0添加3.1刪除3.2插入3.3修改3.4合并3.5列表3.6End103HIPO圖HIPO圖是美國(guó)IBM公司發(fā)明的“層次圖加IPO圖IPO圖IPO圖是“輸入|處理|輸出”圖的簡(jiǎn)稱,它是美國(guó)IBM公司發(fā)展完善起來的一種圖形工具,它可以方便地描述輸入數(shù)據(jù)、數(shù)據(jù)處理和輸出數(shù)據(jù)之間的關(guān)系。IPO圖用法:左邊框是輸入數(shù)據(jù)中間框是數(shù)據(jù)處理右邊框是輸出數(shù)據(jù)粗箭頭指出數(shù)據(jù)流動(dòng)情況104IPO圖IPO圖是“輸入|處理|輸出”圖的簡(jiǎn)稱,它是美國(guó)IBIPO圖舉例主文件更新。 舊的主文件事物文件1.校驗(yàn)主 記錄2. 校驗(yàn)事物 記錄
55、3. 更新主 記錄有效的主記錄有效的事物記錄更新后的主文件輸入處理輸出105IPO圖舉例主文件更新。 舊的主文件事物文件1.校驗(yàn)主有效的改進(jìn)的IPO圖改進(jìn)的IPO圖包含了一些附加信息,主要是使IPO圖描述的問題更加清晰。增加的附加信息有:系統(tǒng)名稱圖的作者完成日期描述的模塊名稱模塊在層次結(jié)構(gòu)中的編號(hào)調(diào)用本模塊的模塊清單模塊內(nèi)使用的局部數(shù)據(jù)元素等106改進(jìn)的IPO圖改進(jìn)的IPO圖包含了一些附加信息,主要是使IP改進(jìn)的IPO圖舉例 系統(tǒng):_ 作者:_模塊:_ 日期:_編號(hào):_被調(diào)用:調(diào)用:注釋:局部數(shù)據(jù)元素:處理:輸入:輸出:確定能否供貨的IPO圖End107改進(jìn)的IPO圖舉例 系統(tǒng):_ 作者:_
56、數(shù)據(jù)流圖的符號(hào)它有四種基本符號(hào):SPX數(shù)據(jù)源及數(shù)據(jù)終點(diǎn)加工 對(duì)數(shù)據(jù)的加工或變換,指向加工的數(shù)據(jù)流是輸入數(shù)據(jù);離開的是輸出數(shù)據(jù)。數(shù)據(jù)流 具有名字且有流向的數(shù)據(jù)文件 存放數(shù)據(jù)的場(chǎng)所108 數(shù)據(jù)流圖的符號(hào)它有四種基本符號(hào):SPX數(shù)據(jù)源及數(shù)據(jù)終點(diǎn)加工舉例賓館管理系統(tǒng) 客人預(yù)訂登錄房管客人信息庫(kù)可售房庫(kù)售出房庫(kù)客帳庫(kù)公安預(yù)付款財(cái)務(wù)IDDEnd109舉例賓館管理系統(tǒng) 客人預(yù)訂登錄房管客人信息庫(kù)可售房庫(kù)售出流程圖用圖形描述問題的處理過程的工具即用一些約定的幾何圖形來描述算法。傳統(tǒng)流程圖(的符號(hào)及意義) 圓邊框 工作的開始或停止 平行四邊形框 輸入或輸出 判斷框 邏輯判斷或檢查 矩形框 各種處理功能 箭頭線
57、流程的路線 圓圈 連接點(diǎn)110流程圖用圖形描述問題的處理過程的工具即用一些約定的幾何圖形來 開始輸入x,yX=0輸出錯(cuò)誤信息z=y/x輸出z結(jié)束YN例:計(jì)算z=y/x并輸出zEnd111 開始輸入x,yX=0輸出錯(cuò)誤信息z=y/x輸出z結(jié)束YN例NS圖NS圖是以年美國(guó)學(xué)者I.Nassi和B.Schneiderman的名字命名的。它是根據(jù)1977年這兩位計(jì)算機(jī)科學(xué)家提出的一種適合于結(jié)構(gòu)化設(shè)計(jì)的流程圖。而命名。它的主要特點(diǎn)是取消了流程線,即規(guī)定了幾種基本結(jié)構(gòu)作為構(gòu)造算法的基本單元。112NS圖NS圖是以年美國(guó)學(xué)者I.Nassi和B.Schneid NS圖基本單元順序結(jié)構(gòu)A塊B塊選擇結(jié)構(gòu)滿足條件P不
58、滿足A塊 B塊CASE 條件值 1值 2值 nCase1部分Case2部分Casen部分113 NS圖基本單元順序結(jié)構(gòu)A塊選擇結(jié)構(gòu)滿足條件P不滿足A塊 NS圖基本單元(續(xù))循環(huán)結(jié)構(gòu)直到條件滿不足為止執(zhí)行A塊當(dāng)條件滿足時(shí)執(zhí)行A塊條件P?執(zhí)行 A塊成立 條件P?不成立條件P?執(zhí)行 A塊成立不成立114 NS圖基本單元(續(xù))循環(huán)結(jié)構(gòu)直到條件滿不足為止執(zhí)行A塊當(dāng)條 NS圖基本單元(續(xù))調(diào)用子程序A綜合舉例 輸入10個(gè)數(shù),求其均值。 N=0,SUM=0,X=0當(dāng)N 10輸入X的值SUM=SUM+XN=N+1AVER=SUM/10輸出AVER值End115 NS圖基本單元(續(xù))調(diào)用子程序A綜合舉例 N=0
59、,SUM=PAD圖PAD是問題分析圖(Program Analysis Diagram)的英文縮寫,1973年由日本日立公司發(fā)明并推廣。它也是一種二維圖形的表示方法,是從左到右生長(zhǎng)和求精的。116PAD圖PAD是問題分析圖(Program AnalysisPAD圖的基本符號(hào)PAD有三種表示符號(hào):A 塊B 塊C 塊輸入處理輸出依順序執(zhí)行輸入、處理、輸出條件 CA 塊條件 C 成立執(zhí)行A塊否則,執(zhí)行B塊。B 塊選擇結(jié)構(gòu)順序結(jié)構(gòu)循環(huán)執(zhí)行A 塊條件成立,循環(huán)執(zhí)行A塊。 循環(huán)結(jié)構(gòu)117PAD圖的基本符號(hào)PAD有三種表示符號(hào):A 塊B 塊C 塊輸PAD圖舉例輸入10個(gè)數(shù),求并打印其均值。AVER=SUM/
60、10WHILE N0 do B;A or do C;A end選擇結(jié)構(gòu)圖及對(duì)應(yīng)的偽碼AB*A item while cond do B;A end循環(huán)結(jié)構(gòu)圖及對(duì)應(yīng)的偽碼137Jackson方法英國(guó)計(jì)算機(jī)科學(xué)家M.Jackson認(rèn)為:實(shí)JSP方法的設(shè)計(jì)步驟 首先評(píng)價(jià)DS的特點(diǎn); 然后,把DS依次表示為一些基本形式,如順序、選擇、重復(fù)結(jié)構(gòu)等; 再把DS表示映射成軟件控制層次; 根據(jù)指導(dǎo)原則來細(xì)化軟件層次; 最終寫出軟件的過程性描述。 138JSP方法的設(shè)計(jì)步驟 首先評(píng)價(jià)DS的特點(diǎn);138用Jackson方法舉例例題:統(tǒng)計(jì)每個(gè)記錄中空格字符的個(gè)數(shù)及文件中空格字符的總個(gè)數(shù)。一個(gè)正文文件由若干個(gè)記錄組成
溫馨提示
- 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 化工內(nèi)操培訓(xùn)
- 系統(tǒng)性能優(yōu)化策略指南
- 2026年上海市虹口區(qū)初三上學(xué)期一模數(shù)學(xué)試卷和參考答案
- 飛行員英語面試培訓(xùn)課件
- 11月PMI數(shù)據(jù)點(diǎn)評(píng):制造業(yè)PMI邊際改善復(fù)蘇持續(xù)性仍需夯實(shí)
- 飛機(jī)維修技術(shù)課程
- 飛機(jī)的技術(shù)教學(xué)課件
- 2026江蘇蘇州工業(yè)園區(qū)華林幼兒園后勤輔助人員招聘1人參考考試題庫(kù)及答案解析
- 2026安徽蚌埠市固鎮(zhèn)縣楊廟鎮(zhèn)面向全縣選聘村黨組織書記后備力量4人備考考試題庫(kù)及答案解析
- 2026年1月?lián)P州市衛(wèi)生健康系統(tǒng)事業(yè)單位公開招聘專業(yè)技術(shù)人員54人備考考試試題及答案解析
- 制造業(yè)企業(yè)質(zhì)量管理能力評(píng)估規(guī)范
- 13J933-2體育場(chǎng)地與設(shè)施(二)
- DL-T-710-2018水輪機(jī)運(yùn)行規(guī)程
- 電機(jī)常見故障分析及處理措施
- HGT 20714-2023 管道及儀表流程圖(P ID)安全審查規(guī)范 (正式版)
- 《叉車安全作業(yè)培訓(xùn)》課件
- 技術(shù)入股合作協(xié)議合同
- 建筑砌筑工(中級(jí))理論考試題庫(kù)及答案
- 【基于哈佛分析框架下云南宣威火腿公司的財(cái)務(wù)報(bào)表分析研究10000字】
- 高通量測(cè)序與腫瘤課題思路演示文稿
- (期末測(cè)試題)三年級(jí)上冊(cè)-部編人教版
評(píng)論
0/150
提交評(píng)論