




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
概論軟件的定義軟件是計算機系統中與硬件相互依存的一個部分,它是包括程序、數據及其相關文檔的完整集合.其中,程序是按事先設計的功能和性能要求執行的指令序列;數據是使程序能正常操縱信息的數據結構;文檔是與程序開發、維護和使用有關的圖文材料。軟件工程的定義和三要素IEEE:軟件工程是開發、運行、維護和修復軟件的系統方法。FritzBauer:建立并使用完善的工程化原則,以較經濟的手段獲得能在實際機器上有效運行的可靠軟件的一系列方法.三個要素:方法、工具和過程。方法為軟件開發提供了“如何做”的技術。它包括了多方面的任務,如項目計劃與估算、軟件系統需求分析、數據結構、系統總體結構的設計、算法過程的設計、編碼、測試以及維護等。工具為軟件工程方法提供了自動的或半自動的軟件支撐環境。目前,已經推出了許多軟件工具,這些軟件工具集成起來,建立起稱之為計算機輔助軟件工程(CASE)的軟件開發支撐系統。CASE將各種軟件工具、開發機器和一個存放開發過程信息的工程數據庫組合起來形成一個軟件工程環境。過程則是將軟件工程的方法和工具綜合起來以達到合理、及時地進行計算機軟件開發的目的.過程定義了方法使用的順序、要求交付的文檔資料、為保證質量和協調變化所需要的管理、及軟件開發各個階段完成的里程碑。軟件工程和軟件危機的關系現有軟件危機后有軟件工程為了解決軟件危機,既要有技術支持措施(方法和工具),又要有必要的組織管理措施。軟件工程正是從管理和技術兩方面研究如何更好的開發和維護計算機軟件的一門新興學科。軟件生命周期的概念,劃分的三個時期和八個階段概念:軟件生命周期是軟件的產生直到報廢的生命周期三個時期:軟件定義,軟件開發,運行維護8個階段:問題定義、可行性分析、總體描述、系統設計、編碼、調試和測試、驗收與運行、維護升級到廢棄理解結構化軟件開發方法和面向對象軟件開發方法結構化開發方法:早期的程序開發,如C語言,都是用結構化開發方法。結構化開發又叫做面向過程開發,具體原理是將一個軟件分為多個過程(函數)進行開發,用結構體管理數據。這種開發方式使得代碼的可讀性變得很低,并且代碼難以移植。面向對象軟件開發方法:這是一種自底向上和自頂向下相結合的方法,而且它以對象建模為基礎,從而不僅考慮了輸入、輸出數據結構,實際上也包含了所有對象的數據結構。軟件生命周期模型(又稱做過程模型)各自階段、特點和適用項目瀑布模型階段:特點:1),階段間具有順序性和依賴性2),推遲實現的觀點3),質量保證的觀點瀑布模型適用于結構化方法,也就是面向過程的軟件開發方法。規模小、需求明確、無須維護快速原型模型特點:快速建立起能夠在計算機上運行的程序。優點:軟件產品的開發基本上是線性的缺點:必須迅速地構建原型然后根據用戶意見循序的修改原型適用范圍:用戶需求不明確,需要通過構建原型來清楚的了解用戶的真實需求。無須維護增量模型特點:增量模型的特點是引進了增量包的概念,無須等到所有需求都出來,只要某個需求的增量包出來即可進行開發.雖然某個增量包可能還需要進一步適應客戶的需求并且更改,但只要這個增量包足夠小,其影響對整個項目來說是可以承受的.增量模型具有較大的靈活性,適合于軟件需求不明確、設計方案有一定風險的軟件項目螺旋模型螺旋模型最大的特點在于引入了其他模型不具備的風險分析,使軟件在無法排除重大風險時有機會停止,以減小損失。同時,在每個迭代階段構建原型是螺旋模型用以減小風險的途徑。螺旋模型更適合大型的昂貴的系統級的軟件應用。噴泉模型噴泉模型適應于面向對象的軟件開發過程。特點:相互迭代:軟件的某個部分常常被重復工作多次,相關對象在每次迭代中隨之加入漸進的軟件成分無間隙性:它在各項活動之間沒有明顯邊界RUP四個階段先啟階段:建立業務模型,定義最終產品視圖,并且確定項目的范圍。精化階段:設計并確定系統的體系結構,制定項目計劃,確定資源需求.構建階段:開發出所有構件和應用程序,把它們集成為客戶需要的產品,并且詳盡地測試所有功能。移交階段:把開發出的產品提交給用戶使用。RUP最重要的它有三大特點:軟件開發是一個迭代過程軟件開發是由UseCase驅動的軟件開發是以架構設計(ArchitecturalDesign)為中心的。RUP適用于大型軟件團隊開發大型項目。敏捷過程特點:具備可視、可集成和可運行使用的特點敏捷過程的適用于:軟件需求經常變化或者需求變化比較大;項目團隊與用戶之間進行溝通比較容易;項目的開發風險比較高;規模比較小,一般項目組成員在50人之內;項目團隊的成員能力比較強,而且具有責任感;項目的可測試性比較好。可行性研究與需求分析可行性研究和需求分析要解決的問題確定問題是否值得去解決;目標系統到底要做什么軟件需求的含義、分類軟件需求:系統或系統部件要滿足合同、標準、規范或其它正式規定文檔所需具有的條件或權能。分類:業務需求、用戶需求和功能需求,非功能需求。業務需求反映了組織機構或客戶對系統、產品高層次的目標要求,它們在項目視圖與范圍文檔中予以說明。用戶需求文檔描述了用戶使用產品必須要完成的任務,這在使用實例文檔或方案腳本說明中予以說明。功能需求定義了開發人員必須實現的軟件功能,使得用戶能完成他們的任務,從而滿足了業務需求。所謂特性是指邏輯上相關的功能需求的集合,給用戶提供處理能力并滿足業務需求。非功能需求,描述了系統展現給用戶的行為和執行的操作等。它包括產品必須遵從的標準、規范和合約;外部界面的具體細節;性能要求;設計或實現的約束條件及質量屬性。所謂約束是指對開發人員在軟件產品設計和構造上的限制。質量屬性是通過多種角度對產品的特點進行描述,從而反映產品功能。多角度描述產品對用戶和開發人員都極為重要.獲取用戶需求的常用方法電話,即時通訊工具,電子郵件,面對面交談,會議討論,定性定量結合的調查問卷,觀察,用戶日記分析法,將自己變成目標用戶等需求分析的定義需求分析是在可行性研究的基礎上進行的更細致的分析工作,是軟件定義時期的最后一個階段對軟件目標及范圍的求精和細化。通過調查研究和分析,充分了解用戶對軟件系統的要求,把用戶要求表達出來,解決“軟件系統必須做什么”的問題。主流需求分析方法(結構化分析建立的模型)1)步驟:確定系統邊界,畫出頂層DFD;自頂向下,對每個加工進行內部分解,畫出分層DFD;對數據流圖進行復審求精。2)分層優點:便于實現采用逐步細化的擴展方法,利于控制問題復雜度;一組圖代替一張總圖,業務人員可選擇相關圖形.3)畫分層DFD圖的指導原則:注意父子圖的平衡;區分局部文件和局部外部項;掌握分解速度;遵守加工編號規則;確定數據定義和加工策略.繪制數據流圖(DFD)按照軟件內部數據傳遞、變換關系,自頂向下逐層分解軟件的功能,建立軟件系統的邏輯模型。數據流圖基本元素DFD實例:儲戶到銀行取款數據流圖的畫法:自外向內,自頂向下,逐層細化,逐步求精畫頂層數據流圖:包括系統的輸入數據流和輸出數據流、I/O數據流的源點和終點、一個處理(代表整個系統).頂層DFD表示系統的范圍、系統和外界的數據交換關系。畫分層數據流圖:按功能將一個處理逐步細化成若干處理;最低層數據流圖中的處理稱為“原子處理”,表示獨立的功能。l畫數據流圖的注意事項:每個處理至少有一個輸入數據流和一個輸出數據流。數據流圖的細化過程中,要保持信息的連續性(信息平衡)?當把一個處理分解為一系列處理時,分解前和分解后的輸入/輸出數據流必須相同。圖中每個元素都要恰當命名。對處理進行合理編號。數據流圖的繪制步驟(1)頂層DFD:確定整個系統的輸入數據流及其源點、輸出數據流及其終點;把整個系統作為一個處理(加工)。(2)一層DFD:確定系統的主要處理功能,按此將整個系統(頂層DFD中的處理)分解成若干個處理(加工),確定每個處理的輸入與輸出數據流以及與這些處理有關的數據存儲。(3)根據自頂向下,逐層分解的原則,對上層圖中全部或部分處理進行分解.(4)重復步驟(3),直到逐層分解結束。工具:MicrosoftOfficeVisio總體設計總體設計的概念,任務(DFD映射為MSD)將軟件需求轉化為系統結構(程序結構、接口)和數據結構。通過仔細分析軟件需求規格說明,確定組成系統的模塊及各模塊之間的關系,設計出完成預定功能的模塊結構(軟件結構),并建立接口.模塊和模塊化的含義模塊是由邊界元素限定的程序單元,是構成程序的基本構件,是指用一個名字可以調用的一段程序語句。例如子程序、函數、過程和宏等都可以作為模塊.模塊化就是將程序劃分成獨立命名且可獨立訪問的若干模塊,每個模塊完成一個子功能;將模塊集成起來構成一個整體,完成指定的系統功能。什么是模塊獨立性;如何度量和設計模塊獨立性(幾種內聚和耦合的強弱,高內聚低耦合)模塊獨立性是指模塊內部各部分之間、以及模塊之間關系的一種度量標準。模塊獨立性的含義為:軟件結構中的每個模塊完成一個相對獨立的特定子功能,并且和其它模塊的接口是簡單的。度量:模塊之間的耦合盡可能弱;每個模塊的內聚盡可能強。內聚:偶然內聚:邏輯內聚:時間內聚:過程內聚:通信內聚:順序內聚;功能內聚變換分析設計方法和事務設計分析方法變換:(1)分析具有變換特征的數據流圖,確定輸入流和輸出流的邊界、孤立出變換中心(2)完成一級分解,設計軟件結構的頂層和第二層l頂層模塊Cm:代表系統l第二層模塊:輸入信息處理模塊Ca:協調對所有輸入數據的接收變換中心控制模塊Ct:管理對內部形式的數據的所有操作輸出信息處理控制模塊Ce:協調輸出信息的產生過程3)完成二級分解:把數據流圖中的每個處理映射成軟件結構中一個適當的模塊在數據流圖上,沿變換中心的輸入邊界開始向外移動,將輸入通路中的每個處理映射成Ca模塊下的一個直接或間接低層模塊。在數據流圖上,沿變換中心的輸出邊界開始向外移動,將輸出通路中的每個處理映射成Ce模塊下的一個直接或間接低層模塊.將變換中心內的每個處理映射成Ct模塊下的一個直接或間接模塊。(4)精化軟件結構:適當分解或合并模塊簡要描述每個模塊(可以用IPO圖描述):①接口說明②內部邏輯描述③全局和局部數據結構的說明④設計約束和限制事務:?由事務型數據流圖映射成的軟件結構包括一個接收分支和一個發送分支.?映射出接收分支結構的方法和變換分析映射出輸入結構的方法很相像,即從事務中心的邊界開始,把沿著接收流通路的處理映射成模塊.?發送分支的結構包含一個調度模塊,它控制下層的所有活動模塊;然后把數據流圖中的每個活動流通路映射成與它的流特征相對應的結構。詳細設計總體設計和詳細設計的區別詳細地設計每個模塊,即確定完成每個模塊功能所需要的算法和數據結構。1、總體設計的主要任務是把需求分析得到的系統擴展用例圖轉換為軟件結構和數據結構。總體設計建立的是目標系統的邏輯模型。2、詳細設計是軟件工程中軟件開發的一個步驟,就是對總體設計的一個細化,就是詳細設計每個模塊實現算法,所需的局部結構.在詳細設計階段,主要是通過需求分析的結果,設計出滿足用戶需求的嵌入式系統產品。3、總體設計階段通常得到軟件結構圖,詳細設計階段常用的描述方式有:流程圖、N-S圖、PAD圖、偽代碼等。4、詳細設計階段就是為每個模塊完成的功能進行具體的描述,要把功能描述轉變為精確的、結構化的過程描述。掌握三種基本控制結構:順序、選擇和循環順序結構:順序結構的程序設計是最簡單的,只要按照解決問題的順序寫出相應的語句就行,它的執行順序是自上而下,依次執行。選擇結構:選擇程序結構用于判斷給定的條件,根據判斷的結果判斷某些條件,根據判斷的結果來控制程序的流程。使用選擇結構語句時,要用條件表達式來描述條件。循環結構:循環結構可以減少源程序重復書寫的工作量,用來描述重復執行某段算法的問題,這是程序設計中最能發揮計算機特長的程序結構。循環結構可以看成是一個條件判斷語句和一個向回轉向語句的組合。循環結構的三個要素:循環變量、循環體和循環終止條件?循環結構在程序框圖中是利用判斷框來表示,判斷框內寫上條件,兩個出口分別對應著條件成立和條件不成立時所執行的不同指令,其中一個要指向循環體,然后再從循環體回到判斷框的入口處結構化詳細設計的常見描述工具(1)圖形工具:程序流程圖、N-S圖、PAD圖(2)表格工具:判定表、判定樹(3)語言工具:過程設計語言(PDL)4.繪制程序流程圖(將盒圖、PDL轉換為程序流程圖)程序流程圖又稱為程序框圖,它是歷史最悠久、使用最廣泛的一種描述程序邏輯結構的工具,程序流程圖常用符號及基本控制結構來描述.程序流程圖的基本符號編碼及測試白盒測試:邏輯覆蓋以程序內部邏輯結構為基礎,通過對程序邏輯結構遍歷實現程序測試的覆蓋從覆蓋源程序語句的詳盡程度,可以分為語句覆蓋、判定覆蓋、條件覆蓋、條件判定覆蓋、條件組合覆蓋和路徑覆蓋1)語句覆蓋:選擇足夠多的測試數據,使被測程序中每一可執行語句至少執行一次。執行路徑(ace)可滿足要求,取條件:(A=2)and(B=0)測試用例:輸入數據(A,B,X)取值(2,0,4)輸出結果(A,B,X)的預期值為(2,0,3)2)判定覆蓋:使每個判定的每種可能結果至少執行一次。執行路徑(ace)和(abd)可滿足要求,取條件:(A=2)and(B=0)和(AWl)and(XWl)3)3)測試用例1:(A,B,X)的輸入值取(2,0,4);預期輸出值為(2,0,3)測試用例2:(A,B,X)的輸入值取(1,1,1);預期輸出值為(1,1,1)3)條件覆蓋:每個判定表達式中每個條件的可能取值至少執行一次。每個判斷條件的可能取值:第一個判定表達式中條件1:AW1和A>1第一個判定表達式中條件2:B=0和BH0第二個判定表達式中條件1:AH2和A=2第二個判定表達式中條件2:X〉1和XW1測試用例1(取條件AW1、B=0、AH2、X〉1,通過路徑abe):(A,B,X)的輸入值取(1,0,3),預期輸出值為(1,0,4)測試用例2(取條件A〉1、BH0、A=2、XW1,通過路徑abe):(A,B,X)的輸入值取(2,1,1),預期輸出值為(2,1,2)4)判定/條件覆蓋:每個判定表達式中每個條件的可能取值至少執行一次;同時每個判定表達式的可能判定結果至少執行一次。每個判斷條件的可能取值:第一個判定表達式中條件1:AW1和A>1第一個判定表達式中條件2:B=0和BH0第二個判定表達式中條件1:AH2和A=2第二個判定表達式中條件2:X〉1和XW1測試用例1(取條件A〉1、B=0、A=2、X>1,通過路徑ace):(A,B,X)的輸入值取(2,0,4),預期輸出值為(2,0,3)測試用例2(取條件AW1、BH0、AH2、XW1,通過路徑abd):(A,B,X)的輸入值取(1,1,1),預期輸出值為(1,1,1)5)條件組合覆蓋:每個判定表達式中的所有可能的條件取值組合至少執行一次。條件組合覆蓋:每個判定表達式中的所有可能的條件取值組合至少執行一次.第一個判定表達式組合1:A>1和B=0;組合2:A〉1和BH0;組合3:AW1和B=0;組合4:AW1和BH0;第二個判定表達式組合5:A=2和X〉1;組合6:A=2和XW1;組合7:AH2和X〉1;組合8:AH2和XW1測試用例1(取組合1和5,執行路徑ace):(A,B,X)的輸入值取(2,0,4),預期輸出值為(2,0,測試用例2(取組合2和6,執行路徑abe):測試用例2(取組合2和6,執行路徑a測試用例3(取組合3和7,執行路徑abe):(A,B,X)的輸入值取(1,0,3),預期輸出值為(1,0,4)測試用例4(取組合4和8,執行路徑abd):(A,B,X)的輸入值取(1,1,1),預期輸出值為(1,1,1)黑盒測試:邊界值劃分法經驗表明,程序在處理邊界情況時最容易發生錯誤,從而設計使程序運行在邊界情況附近的測試方案、暴露出程序錯誤的可能性會更大些。邊界值分析法主要用來選擇等價類的邊界值作為測試用例檢查程序邊界運行情況,是一種補充等價分類法的測試用例設計技術。取輸入等價類和輸出等價類的邊界值及邊界附近的值做測試用例:應當選取正好等于、剛剛大于、剛剛小于邊界的值作為測試數據。通常聯合使用等價劃分和邊界值分析兩種技術區分黑盒測試和白盒測試4.三個測試黑盒測試白盒測試階段,每個階段應采用的測不涉及程序結構考察程序邏輯結構試方法1.單元測試:用軟件規格說明書生成測試用例用程序結構信息生成測試用例集中對用源代可適用于從單元測試到系統驗收測試主要適用于單元測試和集成測試碼實現的每一個程序模塊進某些代碼段得不到測試對所有邏輯路徑進行測試行測試。?檢查每個單元(模塊)控制結構中的特定路徑,以確保做到完全覆蓋并發現最大數量的錯誤。?檢查各個程序模塊是否正確地實現了規定的功能。?主要發現編碼和詳細設計的錯誤.單元測試方法:主要使用白盒測試技術、輔助使用黑盒測試技術2?集成測試:把模塊裝配(即集成)在一起形成完整的軟件包,在裝配的同時進行測試。?模塊相互間的協調和通信是集成測試過程中的主要問題。?集成測試中將發現軟件設計中的錯誤,也可能發現需求說明中的錯誤。集成測試常用黑盒測試方法,可能使用一定的白盒測試。3。確認測試:驗證軟件的有效性(功能和性能等)是否與用戶的要求一致,即軟件是否滿足需求規格說明書中的確認標準。確認測試僅使用黑盒測試方法可靠性和可用性的區別軟件可靠性:程序在給定的時間間隔內,按照規格說明書的規定成功地運行的概率。可靠性隨著給定的時間間隔的加大而減少軟件的可用性:程序在給定的時間點,按照規格說明書的規定成功地運行的概率。可靠性意味著在0到t時間間隔內系統沒有失效可用性意味著在時刻t,系統是正常運行的面向對象分析(00A)三種面向對象模型、各自表示的內容和表達工具對象模型對象模型描述了現實世界中的“類與對象”以及它們之間的關系,表示了目標系統的靜態數據結構。建立對象模型的信息來源:需求陳述、應用領域知識及常識動態模型在一些系統中,需要了解在所有時間內對象的變化和對象之間關系的變遷,即時序關系.這就產生了一種與靜態結構(對象模型)相對應的、與時間和變化有關的內容,即動態模型。表達工具和步驟1、每個功能對應的典型交互行為的腳本2、根據每個腳本畫事件追蹤圖3、根據事件追蹤圖畫每個類(對象)的狀態圖功能模型功能模型由一組數據流圖或者一組用例圖組成功能模型表明一個計算如何從輸入值得到輸出值,它不考慮計算的次序。功能模型由多張數據流圖組成.數據流圖用來表示從源對象到目標對象的數據值的流向,它不包含控制信息,控制信息在動態模型中表示,同時數據流圖也不表示對象中值的組織,值的組織在對象模型中表示。系統數據流圖是一種表達功能模型的工具2。繪制類圖、用例圖(用例之間《include》和《extend》關系)面向對象設計(OOD)OOA和OOD的聯系和區別。面向對象設計(00D)就是在面向對象分析模型基礎上運用面向對象方法進行系統設計,目標是產生一個符合具體實現條件的設計模型。00A和00D采用一致的概念與原則,但屬于軟件生命周期的不同階段,有不同的目標。OOA目標是建立一個直接映射問題域的OOA模型OOD目標是產生一個可以實現的OOD模型2。四個子系統都是什么?各自用什么圖表達?大多數系統的面向對象設計模型,在邏輯上都可以劃分為:問題域子系統:根據實現條件(編程語言、可復用構件、設備性能、存儲方案等),對00A中建立的對象模型做必要的補充與調整。用類圖表達人機交互子系統:根據選用的圖形用戶界面(GUI)系統和特定用戶對人機界面的要求,定義關于人機界面的類與對象及其關系.用界面類圖表達任務管理子系統:確定各類任務,并把任務分配給適當的硬件或軟件去執行。用集中式類圖表達數據管理子系統:根據選定的數據管理系統,設計負責對象存儲和檢索的系統組成部分。用數據庫表表達面向對象實現面向對象單元測試:最小的可測試單元(1)最小的可測試單元:封裝起來的類&對象(2)不能孤立的測試單個操作,應該把操作作為類的一部分進行測試2。面向對象測試方法中:設計類測試方法測試單個類的方法主要有隨機測試、劃分測試和基于故障的測試3種。軟件項目管理軟件項目管理的任務通過計劃、組織和控制等一系列活動,合理地配置和使用各種資源,以便在預定成本和期限內開發出符合既定需求的軟件的過程。主要職能:制定計劃:規定待完成的任務、要求、資源、人力和進度等。建立組織:為實施計劃,保證任務的完成,需要建立分工明確的責任機構。配備人員:任用各種層次的技術人員和管理人員。指導:鼓勵、動員、協調軟件人員完成所分配的任務。現代程序員小組結構(包含哪些類人員)由行政組長,技術組長和程序員組成度量軟件規模有哪兩種方法,各自的單位是什么?1。代碼行技術:根據以往開發類似產品的經驗和數據,估計實現軟件功能所需要的源程序行數。由多名有經驗的軟件工程師分別估計程序的最小規模a、最大規模b、最可能的規模m,分別算出這3種規模的平均值?則程序規模的估計值為:L=程序規模單位:代碼行數(LOC)或千行代碼數(KLOC)。2.功能點技術:根據對軟件信息域特性和復雜性的評估結果,計算功能點數,以此度量軟件規模。單位:功能點(FP)工作量估算單位,估算方法(3個)靜態單變量模型:E=A+BX(ev)C,其中:E表示工作量;A、B、C是經驗常數;ev表示軟件規模估算值(代碼行數或功能點數)動態多變量模型:E=[L0CXB0.333/P]3X(1/1)4其中:t是項目持續時間;B是技術因子(經驗常數);P是生產率參數(經驗常數);LOC表示軟件規模估算值(代碼行數)?LOC值固定的情況下,通過延長項目時間、可以降低工作量COCOMO2模型(COnstruetiveCOstModel構造性成本模型):將軟件開發工作量表示成代碼行數的非線性函數三個層次的估算模型:應用系統組成模型:主要用于估算構建原型的工作量、構建原型時大量使用已有的構件。早期設計模型:適用于體系結構設計階段。后體系結構模型:適用于完成體系結構設計之后的軟件開發
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 購內部房協議書
- 軟件維護與更新策略試題及答案
- 購買林木協議書
- 項目扶貧協議書
- 車庫購買協議書
- 利益聯結接協議書
- 訂房訂車協議書
- 協商賠償款協議書
- 陰式手術協議書
- 2025年教育行業教育培訓機構師資隊伍建設與培養機制研究報告
- GB/T 23106-2024家用和類似用途毛發護理器具性能測試方法
- 博覽會志愿者主場服務活動方案
- 環境衛生學:環境與健康
- 《智慧農業科技興農》演講課件
- 智慧果園生產管理系統-培訓
- 三年級數學下冊計算題大全(每日一練共18份)
- 2024年高級衛生專業技術資格考試傳染性疾病控制(087)(副高級)復習試題及解答
- EDI工程手冊中文
- 高二語文九日齊山登高省公開課金獎全國賽課一等獎微課獲獎課件
- 2024年四川省成都市中考地理+生物試卷真題(含答案解析)
- 食品工程系畜產品加工技術教案
評論
0/150
提交評論