




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
軟件工程張聚禮zhjl@蘭州理工大學(xué)計(jì)算機(jī)與通信學(xué)院1軟件工程張聚禮zhjl@蘭州理工大學(xué)計(jì)算機(jī)第1章軟件工程學(xué)概述1.0什么是軟件?1.1軟件危機(jī)1.2軟件工程1.3軟件生命周期1.4軟件過(guò)程1.5小結(jié)習(xí)題2第1章軟件工程學(xué)概述1.0什么是軟件?2軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,它是包括程序、數(shù)據(jù)及其相關(guān)文檔的完整集合。程序是按事先設(shè)計(jì)的功能和性能要求執(zhí)行的指令序列。數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu)。文檔是與程序開(kāi)發(fā),維護(hù)和使用有關(guān)的圖文材料?!?.0什么是軟件?3軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,它是包括程序、數(shù)軟件的表現(xiàn)形式:軟件分為有形部分和無(wú)形部分:軟件的有形部分:是軟件的各種具體表現(xiàn)形式,包括軟件文檔,程序代碼,二進(jìn)制代碼,用戶界面,輸出報(bào)表等。軟件的無(wú)形部分:是軟件的內(nèi)部邏輯,是軟件本身所包含的思想。4軟件的表現(xiàn)形式:軟件分為有形部分和無(wú)形部分:4軟件的分類:按軟件的功能進(jìn)行劃分:
系統(tǒng)軟件操作系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)設(shè)備驅(qū)動(dòng)程序通信處理程序等?5軟件的分類:按軟件的功能進(jìn)行劃分:?5
支撐軟件文本編輯程序文件格式化程序磁盤(pán)向磁帶向數(shù)據(jù)傳輸?shù)某绦虺绦驇?kù)系統(tǒng)支持需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試和支持管理的軟件?6支撐軟件?6
應(yīng)用軟件商業(yè)數(shù)據(jù)處理軟件工程與科學(xué)計(jì)算軟件計(jì)算機(jī)輔助設(shè)計(jì)/制造軟件系統(tǒng)仿真軟件智能產(chǎn)品嵌入軟件醫(yī)療、制藥軟件事務(wù)管理、辦公自動(dòng)化軟件計(jì)算機(jī)輔助教學(xué)軟件?7應(yīng)用軟件?7按軟件工作方式劃分:實(shí)時(shí)處理軟件分時(shí)軟件交互式軟件批處理軟件按軟件服務(wù)對(duì)象的范圍劃分:項(xiàng)目軟件產(chǎn)品軟件即針對(duì)特定某個(gè)客戶的要求,并僅為其使用的軟件。又稱工程軟件,特點(diǎn)是有明確的合同,嚴(yán)格的工期,約定的維護(hù)期等。如"XXX公司XXX系統(tǒng)"。
即針對(duì)某一領(lǐng)域客戶的共有需求而開(kāi)發(fā)的軟件。特點(diǎn)是通用、功能豐富而冗余,通過(guò)一次性的購(gòu)買行為獲得等。如操作系統(tǒng)軟件、數(shù)據(jù)庫(kù)軟件、CAD軟件等。8按軟件工作方式劃分:即針對(duì)特定某個(gè)客戶的要求,并僅為其使用的軟件發(fā)展階段:程序設(shè)計(jì)階段—50至60年代程序系統(tǒng)階段—60至70年代 軟件工程階段—70年代以后9軟件發(fā)展階段:程序設(shè)計(jì)階段—50至60年代9軟件開(kāi)發(fā)工具的變遷:穿孔機(jī)打孔編程
匯編語(yǔ)言(Z80、M6800、8086/88)
高級(jí)語(yǔ)言(Cobol、Basic、Dbase、TurboC、FoxBase、Foxpro等)
C/S、B/S體系結(jié)構(gòu)的開(kāi)發(fā)工具(VFP、VC、VB、Delphi、Powerbuilder、C++Builder、OracleDeveloper/2000、Java、MS.net等等)10軟件開(kāi)發(fā)工具的變遷:穿孔機(jī)打孔編程匯編語(yǔ)言(Z80、M§1.1軟件危機(jī)美國(guó)IBM公司在1963年至1966年開(kāi)發(fā)的IBM360機(jī)的操作系統(tǒng)。這一項(xiàng)目花了5000人一年的工作量,最多時(shí)有1000人投入開(kāi)發(fā)工作,寫(xiě)出了近100萬(wàn)行源程序。據(jù)統(tǒng)計(jì),這個(gè)操作系統(tǒng)每次發(fā)行的新版本都是從前一版本中找出1000個(gè)程序錯(cuò)誤而修正的結(jié)果。......
這個(gè)項(xiàng)目的負(fù)責(zé)人事后總結(jié)了他在組織開(kāi)發(fā)過(guò)程中的沉痛教訓(xùn)時(shí)說(shuō):“......正像一只逃亡的野獸落到泥潭中做垂死的掙扎,越是掙扎,陷得越深,最后無(wú)法逃脫滅頂?shù)臑?zāi)難。......程序設(shè)計(jì)工作正像這樣一個(gè)泥潭,......一批批程序員被迫在泥潭中拼命掙扎,......”SoftwareCrisis!?11§1.1軟件危機(jī)美國(guó)IBM公司在1963年至1軟件危機(jī)⑴項(xiàng)目沒(méi)有被很好地理解;計(jì)劃不周,最終導(dǎo)致進(jìn)度拖延。例:
在20世紀(jì)60年代后期,一位熱情的年青工程師受命為一個(gè)自動(dòng)化制造應(yīng)用項(xiàng)目“編寫(xiě)”計(jì)算機(jī)程序。選擇他的理由非常簡(jiǎn)單,因?yàn)樵谡麄€(gè)技術(shù)小組中他是唯一參加過(guò)計(jì)算機(jī)編程培訓(xùn)的人。這位工程師對(duì)匯編語(yǔ)言的IN和OUT指令以及Fortran語(yǔ)言有所了解,但是卻根本不懂軟件工程,更不要說(shuō)項(xiàng)目進(jìn)度安排和跟蹤了。他的老板給了他一大堆相關(guān)的手冊(cè),以及需要做些什么的口頭描述。年輕人被告知該項(xiàng)目必須在兩個(gè)月之內(nèi)完成。他閱讀了這些手冊(cè),想好了解決方法,就立即編寫(xiě)代碼。兩周后,老板將他叫到辦公室詢問(wèn)項(xiàng)目進(jìn)展情況。問(wèn)題出在哪里?欠缺文檔欠缺設(shè)計(jì),急于編程?12軟件危機(jī)⑴項(xiàng)目沒(méi)有被很好地理解;計(jì)劃不周,最終導(dǎo)致進(jìn)度拖延軟件危機(jī)“非常好”工程師以年輕人的熱情回答道,“這個(gè)項(xiàng)目遠(yuǎn)比我想像的簡(jiǎn)單。我差不多已經(jīng)完成了75%的任務(wù)。老板笑了,說(shuō)道:“真是太棒了”然后他囑咐年輕人繼續(xù)努力工作,準(zhǔn)備好一周后再匯報(bào)一次工作進(jìn)度。一周后老板將年輕人叫到辦公室,問(wèn)他說(shuō):“現(xiàn)在進(jìn)度如何?”“一切順利”年輕人回答說(shuō),“但是我遇到了一些小麻煩。我會(huì)排除這些困難,很快就可以回到正軌上來(lái)。”“你覺(jué)得在最后期限之前能否完成?”老板問(wèn)道?!皼](méi)有問(wèn)題”工程師答道?!拔也畈欢嘁呀?jīng)完成了90%”問(wèn)題:年輕工程師在整個(gè)項(xiàng)目工期內(nèi)始終停留在90%的進(jìn)度上,(在別人的幫助下)直到交付期限之后一個(gè)月才做完。?13軟件危機(jī)“非常好”工程師以年輕人的熱情回答道,“這個(gè)項(xiàng)目遠(yuǎn)比軟件危機(jī)⑵沒(méi)有充分的文檔資料(documentation)人與人的交流比寫(xiě)程序困難得多。Managers——評(píng)價(jià),進(jìn)程跟蹤,......Programmers——與其它程序的通信接口Maintainers——維護(hù)?14軟件危機(jī)⑵沒(méi)有充分的文檔資料(documentation)軟件危機(jī)⑶軟件可靠性(reliability)缺少度量的標(biāo)準(zhǔn),質(zhì)量無(wú)法保證。
如何保證軟件產(chǎn)品的質(zhì)量,是非常復(fù)雜困難的問(wèn)題。特別對(duì)于規(guī)模龐大的軟件。⑷軟件難以維護(hù)(maintainability)
不易升級(jí)(evolvability)15軟件危機(jī)⑶軟件可靠性(reliability)缺少度量的標(biāo)軟件危機(jī)的產(chǎn)生的原因及總結(jié)(1)對(duì)軟件開(kāi)發(fā)成本和進(jìn)度的估計(jì)常常很不準(zhǔn)確。拖期,項(xiàng)目管理經(jīng)驗(yàn)欠缺。(2)用戶對(duì)“已完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生。模糊的需求、閉門(mén)造車、忙于編程,倉(cāng)促上陣。(3)軟件產(chǎn)品的質(zhì)量往往靠不住??煽啃院唾|(zhì)量保證欠缺,缺少測(cè)試。(4)軟件常常是不可維護(hù)的。設(shè)計(jì)死板,沒(méi)有整體考慮。?16軟件危機(jī)的產(chǎn)生的原因及總結(jié)(1)對(duì)軟件開(kāi)發(fā)成本和進(jìn)度的估計(jì)(5)軟件通常沒(méi)有適當(dāng)?shù)奈臋n資料。缺少設(shè)計(jì)資料、難以維護(hù),寫(xiě)文檔嫌麻煩。(6)軟件成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例逐年上升。軟件過(guò)于龐大,成本過(guò)高。(7)軟件開(kāi)發(fā)生產(chǎn)率提高的速度,遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)應(yīng)用迅速普及深入的趨勢(shì)。跟不上計(jì)算機(jī)和軟件技術(shù)的發(fā)展速度,技術(shù)落后。17(5)軟件通常沒(méi)有適當(dāng)?shù)奈臋n資料。缺少設(shè)計(jì)資料、難以維護(hù),軟件開(kāi)發(fā)付出代價(jià)分析
根據(jù)美國(guó)一些軟件公司的統(tǒng)計(jì)資料,在后期引入一個(gè)變動(dòng)比在早期引入相同變動(dòng)所需付出的代價(jià)高2~3個(gè)數(shù)量級(jí)。圖1.1定性地描繪了在不同時(shí)期引入一個(gè)變動(dòng)需要付出的代價(jià)的變化趨勢(shì)。維護(hù)是極端艱巨復(fù)雜的工作,需要花費(fèi)很大代價(jià)。18軟件開(kāi)發(fā)付出代價(jià)分析根據(jù)美國(guó)一些軟件公司的統(tǒng)計(jì)資料,消除軟件危機(jī)的辦法1、理解軟件的概念:軟件是程序、數(shù)據(jù)及相關(guān)文檔的完整集合。2、應(yīng)該推廣使用在實(shí)踐中總結(jié)出來(lái)的開(kāi)發(fā)軟件的成功的技術(shù)和方法——注意總結(jié)和積累3、應(yīng)該開(kāi)發(fā)和使用更好的軟件工具。4、軟件工程學(xué)的一個(gè)重要目標(biāo)就是提高軟件的可維護(hù)性,減少軟件維護(hù)的代價(jià)??傊?,為了解決軟件危機(jī),就要引入“軟件工程”,既要有技術(shù)措施(方法和工具),又要有必要的組織管理措施。19消除軟件危機(jī)的辦法1、理解軟件的概念:軟件是程序、數(shù)據(jù)及相關(guān)§1.2軟件工程所謂軟件工程,提倡的是一種軟件開(kāi)發(fā)中的系統(tǒng)思想的具體實(shí)現(xiàn),是一門(mén)科學(xué),也被稱為是軟件產(chǎn)業(yè)中的“軟”科學(xué)。軟件工程這一概念,主要是針對(duì)20世紀(jì)60年代“軟件危機(jī)”而提出的。它首次出現(xiàn)在1968年NATO(北大西洋公約組織)會(huì)議上。主要圍繞軟件項(xiàng)目,開(kāi)展有關(guān)開(kāi)發(fā)模型、方法以及支持工具的研究。其主要成果有:提出了瀑布模型,開(kāi)發(fā)了一些結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言(例如PASCAL語(yǔ)言,Ada語(yǔ)言)、結(jié)構(gòu)化方法等。并且,圍繞項(xiàng)目管理提出了費(fèi)用估算、文檔復(fù)審等方法和工具。70年代初,自“軟件工廠”這一概念提出以來(lái),主要圍繞軟件過(guò)程以及軟件復(fù)用,開(kāi)展了有關(guān)軟件生產(chǎn)技術(shù)和軟件生產(chǎn)管理的研究與實(shí)踐。其主要成果有:提出了應(yīng)用廣泛的面向?qū)ο笳Z(yǔ)言以及相關(guān)的面向?qū)ο蠓椒?,大力開(kāi)展了計(jì)算機(jī)輔助軟件工程(CASE)的研究與實(shí)踐。
20§1.2軟件工程所謂軟件工程,提倡的是一種軟件開(kāi)發(fā)中的系軟件工程的定義:IEEE:軟件工程是開(kāi)發(fā)、運(yùn)行、維護(hù)和修復(fù)軟件的系統(tǒng)方法FritzBauer:建立并使用完善的工程化原則,以較經(jīng)濟(jì)的手段獲得能在實(shí)際機(jī)器上有效運(yùn)行的可靠軟件的一系列方法21軟件工程的定義:IEEE:軟件工程是開(kāi)發(fā)、運(yùn)行、維護(hù)和修復(fù)軟軟件工程的本質(zhì)特性:1.軟件工程關(guān)注于大型程序的構(gòu)造——分析與設(shè)計(jì)2.軟件工程的中心課題是控制復(fù)雜性——分解3.軟件經(jīng)常變化——要有準(zhǔn)確的需求4.開(kāi)發(fā)軟件的效率非常重要——經(jīng)驗(yàn)技巧5.和諧地合作是開(kāi)發(fā)軟件的關(guān)鍵——團(tuán)隊(duì)精神6.軟件必須有效地支持它的用戶——用戶在用7.在軟件工程領(lǐng)域中是由具有一種文化背景的人替具有另一種文化背景的人——具有知識(shí)面非常廣的領(lǐng)域業(yè)務(wù)背景,缺乏應(yīng)用領(lǐng)域的相關(guān)知識(shí),是軟件開(kāi)發(fā)項(xiàng)目出現(xiàn)問(wèn)題的常見(jiàn)原因。22軟件工程的本質(zhì)特性:1.軟件工程關(guān)注于大型程序的構(gòu)造——分軟件工程的基本原理:主要有七條基本原理:⑴用分階段的生命周期計(jì)劃嚴(yán)格管理項(xiàng)目概要計(jì)劃里程碑計(jì)劃
項(xiàng)目控制計(jì)劃產(chǎn)品控制計(jì)劃
驗(yàn)證計(jì)劃運(yùn)行維護(hù)計(jì)劃⑵堅(jiān)持進(jìn)行階段評(píng)審⑶實(shí)行嚴(yán)格的產(chǎn)品控制——基準(zhǔn)配置管理(Baselineconfigurationmanagement)?23軟件工程的基本原理:主要有七條基本原理:?23⑹開(kāi)發(fā)小組的成員應(yīng)該少而精1+1<2⑷采用現(xiàn)代程序設(shè)計(jì)技術(shù)⑸結(jié)果應(yīng)能清楚地審查—setstandards⑺承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性——即不僅要積極主動(dòng)地采納新的軟件技術(shù),而且要注意不斷總結(jié)經(jīng)驗(yàn)。24⑹開(kāi)發(fā)小組的成員應(yīng)該少而精⑷采用現(xiàn)代程序設(shè)計(jì)技術(shù)⑸軟件工程方法學(xué)軟件工程三要素:方法、工具和過(guò)程方法為軟件開(kāi)發(fā)提供了“如何做”的技術(shù)工具為軟件工程方法提供了自動(dòng)的或半自動(dòng)的軟件支撐環(huán)境軟件工程過(guò)程定義了:
方法使用的順序要求交付的文檔資料為保證質(zhì)量和適應(yīng)變化所需要的管理軟件開(kāi)發(fā)各個(gè)階段完成的里程碑傳統(tǒng)方法學(xué)面向?qū)ο蠓椒▽W(xué)25軟件工程方法學(xué)軟件工程三要素:方法、工具和過(guò)程傳統(tǒng)方法學(xué)251.傳統(tǒng)方法學(xué)稱為生命周期方法學(xué)或結(jié)構(gòu)化范型。它采用結(jié)構(gòu)化技術(shù)(結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計(jì)和結(jié)構(gòu)化實(shí)現(xiàn))來(lái)完成軟件開(kāi)發(fā)的各項(xiàng)任務(wù),并使用適當(dāng)?shù)能浖ぞ呋蜍浖こ汰h(huán)境來(lái)支持結(jié)構(gòu)化技術(shù)的運(yùn)用。把軟件生命周期的全過(guò)程依次劃分為若干個(gè)階段,前一個(gè)階段是后一個(gè)階段的基礎(chǔ)。261.傳統(tǒng)方法學(xué)稱為生命周期方法學(xué)或結(jié)構(gòu)化范型。262.面向?qū)ο蠓椒▽W(xué)提出本方法的原因:當(dāng)軟件規(guī)模龐大,或者對(duì)軟件的需求是模糊的或會(huì)隨時(shí)間而變化的時(shí)候,使用傳統(tǒng)方法學(xué)開(kāi)發(fā)軟件往往不成功,此外,使用傳統(tǒng)方法學(xué)開(kāi)發(fā)出的軟件,維護(hù)起來(lái)仍然很困難。面向?qū)ο蠓椒▽W(xué)4個(gè)要點(diǎn):
對(duì)象+類+繼承+用消息通信優(yōu)點(diǎn):簡(jiǎn)化了軟件的開(kāi)發(fā)和維護(hù),提高了軟件的可重用性。272.面向?qū)ο蠓椒▽W(xué)提出本方法的原因:當(dāng)軟件規(guī)模龐大,或者對(duì)軟§1.3軟件生命周期舉例:瀑布模型(WaterfallModel)維護(hù)開(kāi)發(fā)定義問(wèn)題定義可行性研究需求分析詳細(xì)設(shè)計(jì)編碼&單元測(cè)試綜合&系統(tǒng)測(cè)試運(yùn)行&維護(hù)總體設(shè)計(jì)軟件生命周期由上述三個(gè)時(shí)期組成系統(tǒng)需求必須事先靜態(tài)地精確定義28§1.3軟件生命周期舉例:瀑布模型(Waterfall問(wèn)題定義和可行性研究:確定要開(kāi)發(fā)軟件系統(tǒng)的總目標(biāo)給出功能、性能、可靠性以及接口等方面的要求完成該軟件任務(wù)的可行性研究估計(jì)可利用的資源(計(jì)算機(jī)硬件,軟件,人力等)、成本、效益、開(kāi)發(fā)進(jìn)度制定出完成開(kāi)發(fā)任務(wù)的實(shí)施計(jì)劃,連同可行性研究報(bào)告,提交管理部門(mén)審查29問(wèn)題定義和可行性研究:確定要開(kāi)發(fā)軟件系統(tǒng)的總目標(biāo)29需求分析對(duì)待開(kāi)發(fā)軟件提出的需求進(jìn)行分析并給出詳細(xì)的定義編寫(xiě)軟件需求說(shuō)明書(shū)或系統(tǒng)功能說(shuō)明書(shū)及初步的系統(tǒng)用戶手冊(cè)提交管理機(jī)構(gòu)評(píng)審30需求分析對(duì)待開(kāi)發(fā)軟件提出的需求進(jìn)行分析并給出詳細(xì)的定義30設(shè)計(jì)總體設(shè)計(jì)
—“如何解決問(wèn)題”可以列出多種解決方案進(jìn)行比較把各項(xiàng)需求轉(zhuǎn)換成軟件的體系結(jié)構(gòu)。結(jié)構(gòu)中每一組成部分都是意義明確的模塊,每個(gè)模塊都和某些需求相對(duì)應(yīng)詳細(xì)設(shè)計(jì)
—對(duì)每個(gè)模塊要完成的工作進(jìn)行具體的描述,為源程序編寫(xiě)打下基礎(chǔ)編寫(xiě)設(shè)計(jì)說(shuō)明書(shū),提交評(píng)審。31設(shè)計(jì)總體設(shè)計(jì)—“如何解決問(wèn)題”31編碼把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)可以接受的程序代碼,即寫(xiě)成以某一種特定程序設(shè)計(jì)語(yǔ)言表示的“源程序清單”寫(xiě)出的程序應(yīng)當(dāng)是結(jié)構(gòu)良好、清晰易讀的,且與設(shè)計(jì)相一致的32編碼把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)可以接受的程序代碼,即寫(xiě)成以某一種測(cè)試單元測(cè)試,查找各模塊在功能和結(jié)構(gòu)上存在的問(wèn)題并加以糾正組裝測(cè)試,將已測(cè)試過(guò)的模塊按一定順序組裝起來(lái)按規(guī)定的各項(xiàng)需求,逐項(xiàng)進(jìn)行有效性測(cè)試,決定已開(kāi)發(fā)的軟件是否合格,能否交付用戶使用33測(cè)試單元測(cè)試,查找各模塊在功能和結(jié)構(gòu)上存在的問(wèn)題并加以糾正3運(yùn)行和維護(hù)改正性維護(hù)運(yùn)行中發(fā)現(xiàn)了軟件中的錯(cuò)誤需要修正適應(yīng)性維護(hù)為了適應(yīng)變化了的軟件工作環(huán)境,需做適當(dāng)變更完善性維護(hù)為了增強(qiáng)軟件的功能需做變更34運(yùn)行和維護(hù)改正性維護(hù)運(yùn)行中發(fā)現(xiàn)了軟件中的錯(cuò)誤需要修正34技術(shù)審查和管理審查任務(wù):發(fā)現(xiàn)技術(shù)方面的錯(cuò)誤監(jiān)督項(xiàng)目進(jìn)度、經(jīng)費(fèi)開(kāi)支、投資回收的前景等。35技術(shù)審查和管理審查任務(wù):35§1.4軟件過(guò)程定義:軟件過(guò)程是為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。
通常用軟件過(guò)程模型描述軟件過(guò)程。廣泛使用的4種典型的軟件過(guò)程模型如下所示:瀑布模型——文檔驅(qū)動(dòng)掌握快速原型模型——原型驅(qū)動(dòng)掌握增量模型——構(gòu)件驅(qū)動(dòng)了解螺旋模型——風(fēng)險(xiǎn)+原型驅(qū)動(dòng)了解36§1.4軟件過(guò)程定義:軟件過(guò)程是為了獲得高質(zhì)量軟件所需要1瀑布模型
在20世紀(jì)80年代之前,是惟一被廣泛采用的生命周期模型,現(xiàn)在仍然是軟件工程中應(yīng)用最廣泛的過(guò)程模型。
主要用于描述傳統(tǒng)軟件工程方法學(xué)的軟件過(guò)程。圖1.3實(shí)際的瀑布模型特點(diǎn):脫離用戶?371瀑布模型在20世紀(jì)80年代之前,是惟一被廣泛采瀑布模型的特點(diǎn)⑴順序性、依賴性⑵推遲程序的物理實(shí)現(xiàn)——按步驟進(jìn)行⑶質(zhì)量保證的觀點(diǎn)——階段文檔與評(píng)審的要求,利于盡早發(fā)現(xiàn)錯(cuò)誤。⑷易于組織,易于管理——嚴(yán)格規(guī)范⑸缺點(diǎn)——階段間文檔驅(qū)動(dòng),可能開(kāi)發(fā)失?、市枨笞兓笠鸬拇鷥r(jià)將很高——維護(hù)難38瀑布模型的特點(diǎn)⑴順序性、依賴性382快速原型模型快速原型模型是為了克服瀑布模型的缺點(diǎn)而提出來(lái)的,它通過(guò)快速構(gòu)建起一個(gè)可以在計(jì)算機(jī)上運(yùn)行的原型系統(tǒng),讓用戶試用原型并收集用戶反饋意見(jiàn)的辦法,獲取用戶的真實(shí)需求。基本思想:系統(tǒng)的需求定義不是在系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)之前精確地一次完成,而是貫穿于整個(gè)開(kāi)發(fā)過(guò)程中,逐步精確與完善。原型法一開(kāi)始就憑系統(tǒng)分析人員對(duì)用戶需求的理解,利用先進(jìn)的軟件工具快速構(gòu)造出一個(gè)原型系統(tǒng)。遵循“邊開(kāi)發(fā)邊應(yīng)用”原則?392快速原型模型快速原型模型是為了克服瀑布模型的缺點(diǎn)而提出圖1.4快速原型模型特點(diǎn):用戶時(shí)刻參與,便于交流?40圖1.4快速原型模型特點(diǎn):用戶時(shí)刻參與,?40快速原型法處理過(guò)程41快速原型法處理過(guò)程41§1.5小結(jié)內(nèi)容概括:本章要求學(xué)生對(duì)軟件工程的基本原理和方法有概括的本質(zhì)的認(rèn)識(shí)和掌握。首先通過(guò)回顧軟件開(kāi)發(fā)簡(jiǎn)史,說(shuō)明開(kāi)發(fā)軟件的一些錯(cuò)誤方法和觀念是怎樣形成的;然后闡述了軟件危機(jī)產(chǎn)生的原因及解決辦法;最后引入軟件工程方法學(xué)及軟件過(guò)程模型。重點(diǎn)地對(duì)軟件生命周期、瀑布模型和快速原型法進(jìn)行了詳細(xì)的講解。42§1.5小結(jié)內(nèi)容概括:本章要求學(xué)生對(duì)軟件工程的基本原理和
?43?434444軟件工程張聚禮zhjl@蘭州理工大學(xué)計(jì)算機(jī)與通信學(xué)院45軟件工程張聚禮zhjl@蘭州理工大學(xué)計(jì)算機(jī)第1章軟件工程學(xué)概述1.0什么是軟件?1.1軟件危機(jī)1.2軟件工程1.3軟件生命周期1.4軟件過(guò)程1.5小結(jié)習(xí)題46第1章軟件工程學(xué)概述1.0什么是軟件?2軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,它是包括程序、數(shù)據(jù)及其相關(guān)文檔的完整集合。程序是按事先設(shè)計(jì)的功能和性能要求執(zhí)行的指令序列。數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結(jié)構(gòu)。文檔是與程序開(kāi)發(fā),維護(hù)和使用有關(guān)的圖文材料?!?.0什么是軟件?47軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,它是包括程序、數(shù)軟件的表現(xiàn)形式:軟件分為有形部分和無(wú)形部分:軟件的有形部分:是軟件的各種具體表現(xiàn)形式,包括軟件文檔,程序代碼,二進(jìn)制代碼,用戶界面,輸出報(bào)表等。軟件的無(wú)形部分:是軟件的內(nèi)部邏輯,是軟件本身所包含的思想。48軟件的表現(xiàn)形式:軟件分為有形部分和無(wú)形部分:4軟件的分類:按軟件的功能進(jìn)行劃分:
系統(tǒng)軟件操作系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)設(shè)備驅(qū)動(dòng)程序通信處理程序等?49軟件的分類:按軟件的功能進(jìn)行劃分:?5
支撐軟件文本編輯程序文件格式化程序磁盤(pán)向磁帶向數(shù)據(jù)傳輸?shù)某绦虺绦驇?kù)系統(tǒng)支持需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試和支持管理的軟件?50支撐軟件?6
應(yīng)用軟件商業(yè)數(shù)據(jù)處理軟件工程與科學(xué)計(jì)算軟件計(jì)算機(jī)輔助設(shè)計(jì)/制造軟件系統(tǒng)仿真軟件智能產(chǎn)品嵌入軟件醫(yī)療、制藥軟件事務(wù)管理、辦公自動(dòng)化軟件計(jì)算機(jī)輔助教學(xué)軟件?51應(yīng)用軟件?7按軟件工作方式劃分:實(shí)時(shí)處理軟件分時(shí)軟件交互式軟件批處理軟件按軟件服務(wù)對(duì)象的范圍劃分:項(xiàng)目軟件產(chǎn)品軟件即針對(duì)特定某個(gè)客戶的要求,并僅為其使用的軟件。又稱工程軟件,特點(diǎn)是有明確的合同,嚴(yán)格的工期,約定的維護(hù)期等。如"XXX公司XXX系統(tǒng)"。
即針對(duì)某一領(lǐng)域客戶的共有需求而開(kāi)發(fā)的軟件。特點(diǎn)是通用、功能豐富而冗余,通過(guò)一次性的購(gòu)買行為獲得等。如操作系統(tǒng)軟件、數(shù)據(jù)庫(kù)軟件、CAD軟件等。52按軟件工作方式劃分:即針對(duì)特定某個(gè)客戶的要求,并僅為其使用的軟件發(fā)展階段:程序設(shè)計(jì)階段—50至60年代程序系統(tǒng)階段—60至70年代 軟件工程階段—70年代以后53軟件發(fā)展階段:程序設(shè)計(jì)階段—50至60年代9軟件開(kāi)發(fā)工具的變遷:穿孔機(jī)打孔編程
匯編語(yǔ)言(Z80、M6800、8086/88)
高級(jí)語(yǔ)言(Cobol、Basic、Dbase、TurboC、FoxBase、Foxpro等)
C/S、B/S體系結(jié)構(gòu)的開(kāi)發(fā)工具(VFP、VC、VB、Delphi、Powerbuilder、C++Builder、OracleDeveloper/2000、Java、MS.net等等)54軟件開(kāi)發(fā)工具的變遷:穿孔機(jī)打孔編程匯編語(yǔ)言(Z80、M§1.1軟件危機(jī)美國(guó)IBM公司在1963年至1966年開(kāi)發(fā)的IBM360機(jī)的操作系統(tǒng)。這一項(xiàng)目花了5000人一年的工作量,最多時(shí)有1000人投入開(kāi)發(fā)工作,寫(xiě)出了近100萬(wàn)行源程序。據(jù)統(tǒng)計(jì),這個(gè)操作系統(tǒng)每次發(fā)行的新版本都是從前一版本中找出1000個(gè)程序錯(cuò)誤而修正的結(jié)果。......
這個(gè)項(xiàng)目的負(fù)責(zé)人事后總結(jié)了他在組織開(kāi)發(fā)過(guò)程中的沉痛教訓(xùn)時(shí)說(shuō):“......正像一只逃亡的野獸落到泥潭中做垂死的掙扎,越是掙扎,陷得越深,最后無(wú)法逃脫滅頂?shù)臑?zāi)難。......程序設(shè)計(jì)工作正像這樣一個(gè)泥潭,......一批批程序員被迫在泥潭中拼命掙扎,......”SoftwareCrisis!?55§1.1軟件危機(jī)美國(guó)IBM公司在1963年至1軟件危機(jī)⑴項(xiàng)目沒(méi)有被很好地理解;計(jì)劃不周,最終導(dǎo)致進(jìn)度拖延。例:
在20世紀(jì)60年代后期,一位熱情的年青工程師受命為一個(gè)自動(dòng)化制造應(yīng)用項(xiàng)目“編寫(xiě)”計(jì)算機(jī)程序。選擇他的理由非常簡(jiǎn)單,因?yàn)樵谡麄€(gè)技術(shù)小組中他是唯一參加過(guò)計(jì)算機(jī)編程培訓(xùn)的人。這位工程師對(duì)匯編語(yǔ)言的IN和OUT指令以及Fortran語(yǔ)言有所了解,但是卻根本不懂軟件工程,更不要說(shuō)項(xiàng)目進(jìn)度安排和跟蹤了。他的老板給了他一大堆相關(guān)的手冊(cè),以及需要做些什么的口頭描述。年輕人被告知該項(xiàng)目必須在兩個(gè)月之內(nèi)完成。他閱讀了這些手冊(cè),想好了解決方法,就立即編寫(xiě)代碼。兩周后,老板將他叫到辦公室詢問(wèn)項(xiàng)目進(jìn)展情況。問(wèn)題出在哪里?欠缺文檔欠缺設(shè)計(jì),急于編程?56軟件危機(jī)⑴項(xiàng)目沒(méi)有被很好地理解;計(jì)劃不周,最終導(dǎo)致進(jìn)度拖延軟件危機(jī)“非常好”工程師以年輕人的熱情回答道,“這個(gè)項(xiàng)目遠(yuǎn)比我想像的簡(jiǎn)單。我差不多已經(jīng)完成了75%的任務(wù)。老板笑了,說(shuō)道:“真是太棒了”然后他囑咐年輕人繼續(xù)努力工作,準(zhǔn)備好一周后再匯報(bào)一次工作進(jìn)度。一周后老板將年輕人叫到辦公室,問(wèn)他說(shuō):“現(xiàn)在進(jìn)度如何?”“一切順利”年輕人回答說(shuō),“但是我遇到了一些小麻煩。我會(huì)排除這些困難,很快就可以回到正軌上來(lái)。”“你覺(jué)得在最后期限之前能否完成?”老板問(wèn)道。“沒(méi)有問(wèn)題”工程師答道?!拔也畈欢嘁呀?jīng)完成了90%”問(wèn)題:年輕工程師在整個(gè)項(xiàng)目工期內(nèi)始終停留在90%的進(jìn)度上,(在別人的幫助下)直到交付期限之后一個(gè)月才做完。?57軟件危機(jī)“非常好”工程師以年輕人的熱情回答道,“這個(gè)項(xiàng)目遠(yuǎn)比軟件危機(jī)⑵沒(méi)有充分的文檔資料(documentation)人與人的交流比寫(xiě)程序困難得多。Managers——評(píng)價(jià),進(jìn)程跟蹤,......Programmers——與其它程序的通信接口Maintainers——維護(hù)?58軟件危機(jī)⑵沒(méi)有充分的文檔資料(documentation)軟件危機(jī)⑶軟件可靠性(reliability)缺少度量的標(biāo)準(zhǔn),質(zhì)量無(wú)法保證。
如何保證軟件產(chǎn)品的質(zhì)量,是非常復(fù)雜困難的問(wèn)題。特別對(duì)于規(guī)模龐大的軟件。⑷軟件難以維護(hù)(maintainability)
不易升級(jí)(evolvability)59軟件危機(jī)⑶軟件可靠性(reliability)缺少度量的標(biāo)軟件危機(jī)的產(chǎn)生的原因及總結(jié)(1)對(duì)軟件開(kāi)發(fā)成本和進(jìn)度的估計(jì)常常很不準(zhǔn)確。拖期,項(xiàng)目管理經(jīng)驗(yàn)欠缺。(2)用戶對(duì)“已完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生。模糊的需求、閉門(mén)造車、忙于編程,倉(cāng)促上陣。(3)軟件產(chǎn)品的質(zhì)量往往靠不住。可靠性和質(zhì)量保證欠缺,缺少測(cè)試。(4)軟件常常是不可維護(hù)的。設(shè)計(jì)死板,沒(méi)有整體考慮。?60軟件危機(jī)的產(chǎn)生的原因及總結(jié)(1)對(duì)軟件開(kāi)發(fā)成本和進(jìn)度的估計(jì)(5)軟件通常沒(méi)有適當(dāng)?shù)奈臋n資料。缺少設(shè)計(jì)資料、難以維護(hù),寫(xiě)文檔嫌麻煩。(6)軟件成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例逐年上升。軟件過(guò)于龐大,成本過(guò)高。(7)軟件開(kāi)發(fā)生產(chǎn)率提高的速度,遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)應(yīng)用迅速普及深入的趨勢(shì)。跟不上計(jì)算機(jī)和軟件技術(shù)的發(fā)展速度,技術(shù)落后。61(5)軟件通常沒(méi)有適當(dāng)?shù)奈臋n資料。缺少設(shè)計(jì)資料、難以維護(hù),軟件開(kāi)發(fā)付出代價(jià)分析
根據(jù)美國(guó)一些軟件公司的統(tǒng)計(jì)資料,在后期引入一個(gè)變動(dòng)比在早期引入相同變動(dòng)所需付出的代價(jià)高2~3個(gè)數(shù)量級(jí)。圖1.1定性地描繪了在不同時(shí)期引入一個(gè)變動(dòng)需要付出的代價(jià)的變化趨勢(shì)。維護(hù)是極端艱巨復(fù)雜的工作,需要花費(fèi)很大代價(jià)。62軟件開(kāi)發(fā)付出代價(jià)分析根據(jù)美國(guó)一些軟件公司的統(tǒng)計(jì)資料,消除軟件危機(jī)的辦法1、理解軟件的概念:軟件是程序、數(shù)據(jù)及相關(guān)文檔的完整集合。2、應(yīng)該推廣使用在實(shí)踐中總結(jié)出來(lái)的開(kāi)發(fā)軟件的成功的技術(shù)和方法——注意總結(jié)和積累3、應(yīng)該開(kāi)發(fā)和使用更好的軟件工具。4、軟件工程學(xué)的一個(gè)重要目標(biāo)就是提高軟件的可維護(hù)性,減少軟件維護(hù)的代價(jià)??傊瑸榱私鉀Q軟件危機(jī),就要引入“軟件工程”,既要有技術(shù)措施(方法和工具),又要有必要的組織管理措施。63消除軟件危機(jī)的辦法1、理解軟件的概念:軟件是程序、數(shù)據(jù)及相關(guān)§1.2軟件工程所謂軟件工程,提倡的是一種軟件開(kāi)發(fā)中的系統(tǒng)思想的具體實(shí)現(xiàn),是一門(mén)科學(xué),也被稱為是軟件產(chǎn)業(yè)中的“軟”科學(xué)。軟件工程這一概念,主要是針對(duì)20世紀(jì)60年代“軟件危機(jī)”而提出的。它首次出現(xiàn)在1968年NATO(北大西洋公約組織)會(huì)議上。主要圍繞軟件項(xiàng)目,開(kāi)展有關(guān)開(kāi)發(fā)模型、方法以及支持工具的研究。其主要成果有:提出了瀑布模型,開(kāi)發(fā)了一些結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言(例如PASCAL語(yǔ)言,Ada語(yǔ)言)、結(jié)構(gòu)化方法等。并且,圍繞項(xiàng)目管理提出了費(fèi)用估算、文檔復(fù)審等方法和工具。70年代初,自“軟件工廠”這一概念提出以來(lái),主要圍繞軟件過(guò)程以及軟件復(fù)用,開(kāi)展了有關(guān)軟件生產(chǎn)技術(shù)和軟件生產(chǎn)管理的研究與實(shí)踐。其主要成果有:提出了應(yīng)用廣泛的面向?qū)ο笳Z(yǔ)言以及相關(guān)的面向?qū)ο蠓椒?,大力開(kāi)展了計(jì)算機(jī)輔助軟件工程(CASE)的研究與實(shí)踐。
64§1.2軟件工程所謂軟件工程,提倡的是一種軟件開(kāi)發(fā)中的系軟件工程的定義:IEEE:軟件工程是開(kāi)發(fā)、運(yùn)行、維護(hù)和修復(fù)軟件的系統(tǒng)方法FritzBauer:建立并使用完善的工程化原則,以較經(jīng)濟(jì)的手段獲得能在實(shí)際機(jī)器上有效運(yùn)行的可靠軟件的一系列方法65軟件工程的定義:IEEE:軟件工程是開(kāi)發(fā)、運(yùn)行、維護(hù)和修復(fù)軟軟件工程的本質(zhì)特性:1.軟件工程關(guān)注于大型程序的構(gòu)造——分析與設(shè)計(jì)2.軟件工程的中心課題是控制復(fù)雜性——分解3.軟件經(jīng)常變化——要有準(zhǔn)確的需求4.開(kāi)發(fā)軟件的效率非常重要——經(jīng)驗(yàn)技巧5.和諧地合作是開(kāi)發(fā)軟件的關(guān)鍵——團(tuán)隊(duì)精神6.軟件必須有效地支持它的用戶——用戶在用7.在軟件工程領(lǐng)域中是由具有一種文化背景的人替具有另一種文化背景的人——具有知識(shí)面非常廣的領(lǐng)域業(yè)務(wù)背景,缺乏應(yīng)用領(lǐng)域的相關(guān)知識(shí),是軟件開(kāi)發(fā)項(xiàng)目出現(xiàn)問(wèn)題的常見(jiàn)原因。66軟件工程的本質(zhì)特性:1.軟件工程關(guān)注于大型程序的構(gòu)造——分軟件工程的基本原理:主要有七條基本原理:⑴用分階段的生命周期計(jì)劃嚴(yán)格管理項(xiàng)目概要計(jì)劃里程碑計(jì)劃
項(xiàng)目控制計(jì)劃產(chǎn)品控制計(jì)劃
驗(yàn)證計(jì)劃運(yùn)行維護(hù)計(jì)劃⑵堅(jiān)持進(jìn)行階段評(píng)審⑶實(shí)行嚴(yán)格的產(chǎn)品控制——基準(zhǔn)配置管理(Baselineconfigurationmanagement)?67軟件工程的基本原理:主要有七條基本原理:?23⑹開(kāi)發(fā)小組的成員應(yīng)該少而精1+1<2⑷采用現(xiàn)代程序設(shè)計(jì)技術(shù)⑸結(jié)果應(yīng)能清楚地審查—setstandards⑺承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性——即不僅要積極主動(dòng)地采納新的軟件技術(shù),而且要注意不斷總結(jié)經(jīng)驗(yàn)。68⑹開(kāi)發(fā)小組的成員應(yīng)該少而精⑷采用現(xiàn)代程序設(shè)計(jì)技術(shù)⑸軟件工程方法學(xué)軟件工程三要素:方法、工具和過(guò)程方法為軟件開(kāi)發(fā)提供了“如何做”的技術(shù)工具為軟件工程方法提供了自動(dòng)的或半自動(dòng)的軟件支撐環(huán)境軟件工程過(guò)程定義了:
方法使用的順序要求交付的文檔資料為保證質(zhì)量和適應(yīng)變化所需要的管理軟件開(kāi)發(fā)各個(gè)階段完成的里程碑傳統(tǒng)方法學(xué)面向?qū)ο蠓椒▽W(xué)69軟件工程方法學(xué)軟件工程三要素:方法、工具和過(guò)程傳統(tǒng)方法學(xué)251.傳統(tǒng)方法學(xué)稱為生命周期方法學(xué)或結(jié)構(gòu)化范型。它采用結(jié)構(gòu)化技術(shù)(結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計(jì)和結(jié)構(gòu)化實(shí)現(xiàn))來(lái)完成軟件開(kāi)發(fā)的各項(xiàng)任務(wù),并使用適當(dāng)?shù)能浖ぞ呋蜍浖こ汰h(huán)境來(lái)支持結(jié)構(gòu)化技術(shù)的運(yùn)用。把軟件生命周期的全過(guò)程依次劃分為若干個(gè)階段,前一個(gè)階段是后一個(gè)階段的基礎(chǔ)。701.傳統(tǒng)方法學(xué)稱為生命周期方法學(xué)或結(jié)構(gòu)化范型。262.面向?qū)ο蠓椒▽W(xué)提出本方法的原因:當(dāng)軟件規(guī)模龐大,或者對(duì)軟件的需求是模糊的或會(huì)隨時(shí)間而變化的時(shí)候,使用傳統(tǒng)方法學(xué)開(kāi)發(fā)軟件往往不成功,此外,使用傳統(tǒng)方法學(xué)開(kāi)發(fā)出的軟件,維護(hù)起來(lái)仍然很困難。面向?qū)ο蠓椒▽W(xué)4個(gè)要點(diǎn):
對(duì)象+類+繼承+用消息通信優(yōu)點(diǎn):簡(jiǎn)化了軟件的開(kāi)發(fā)和維護(hù),提高了軟件的可重用性。712.面向?qū)ο蠓椒▽W(xué)提出本方法的原因:當(dāng)軟件規(guī)模龐大,或者對(duì)軟§1.3軟件生命周期舉例:瀑布模型(WaterfallModel)維護(hù)開(kāi)發(fā)定義問(wèn)題定義可行性研究需求分析詳細(xì)設(shè)計(jì)編碼&單元測(cè)試綜合&系統(tǒng)測(cè)試運(yùn)行&維護(hù)總體設(shè)計(jì)軟件生命周期由上述三個(gè)時(shí)期組成系統(tǒng)需求必須事先靜態(tài)地精確定義72§1.3軟件生命周期舉例:瀑布模型(Waterfall問(wèn)題定義和可行性研究:確定要開(kāi)發(fā)軟件系統(tǒng)的總目標(biāo)給出功能、性能、可靠性以及接口等方面的要求完成該軟件任務(wù)的可行性研究估計(jì)可利用的資源(計(jì)算機(jī)硬件,軟件,人力等)、成本、效益、開(kāi)發(fā)進(jìn)度制定出完成開(kāi)發(fā)任務(wù)的實(shí)施計(jì)劃,連同可行性研究報(bào)告,提交管理部門(mén)審查73問(wèn)題定義和可行性研究:確定要開(kāi)發(fā)軟件系統(tǒng)的總目標(biāo)29需求分析對(duì)待開(kāi)發(fā)軟件提出的需求進(jìn)行分析并給出詳細(xì)的定義編寫(xiě)軟件需求說(shuō)明書(shū)或系統(tǒng)功能說(shuō)明書(shū)及初步的系統(tǒng)用戶手冊(cè)提交管理機(jī)構(gòu)評(píng)審74需求分析對(duì)待開(kāi)發(fā)軟件提出的需求進(jìn)行分析并給出詳細(xì)的定義30設(shè)計(jì)總體設(shè)計(jì)
—“如何解決問(wèn)題”可以列出多種解決方案進(jìn)行比較把各項(xiàng)需求轉(zhuǎn)換成軟件的體系結(jié)構(gòu)。結(jié)構(gòu)中每一組成部分都是意義明確的模塊,每個(gè)模塊都和某些需求相對(duì)應(yīng)詳細(xì)設(shè)計(jì)
—對(duì)每個(gè)模塊要完成的工作進(jìn)行具體的描述,為源程序編寫(xiě)打下基礎(chǔ)編寫(xiě)設(shè)計(jì)說(shuō)明書(shū),提交評(píng)審。75設(shè)計(jì)總體設(shè)計(jì)—“如何解決問(wèn)題”31編碼把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)可以接受的程序代碼,即寫(xiě)成以某一種特定程序設(shè)計(jì)語(yǔ)言表示的“源程序清單”寫(xiě)出的程序應(yīng)當(dāng)是結(jié)構(gòu)良好、清晰易讀的,且與設(shè)計(jì)相一致的76編碼把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)可
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 水產(chǎn)養(yǎng)殖基地土地使用權(quán)合同
- 公司技術(shù)服務(wù)采購(gòu)合同
- 豪華酒店廚師服務(wù)合同
- 電子產(chǎn)品購(gòu)銷合同標(biāo)準(zhǔn)版
- 房地產(chǎn)投資專項(xiàng)法律服務(wù)合同
- (完整版)農(nóng)村土地租賃合同書(shū)
- 光學(xué)玻璃的紫外光固化涂層技術(shù)考核試卷
- 醫(yī)療用品行業(yè)服務(wù)平臺(tái)拓展考核試卷
- 搪瓷原材料市場(chǎng)動(dòng)態(tài)與價(jià)格趨勢(shì)考核試卷
- 數(shù)字出版物的長(zhǎng)期保存與數(shù)字遺產(chǎn)考核試卷
- 2025年02月黃石市殘聯(lián)專門(mén)協(xié)會(huì)公開(kāi)招聘工作人員5人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 取水許可申請(qǐng)書(shū)范本
- 蚌埠介紹-蚌埠簡(jiǎn)介課件(經(jīng)典版)
- GB/T 15561-2024數(shù)字指示軌道衡
- 探究煙花爆竹知識(shí)產(chǎn)權(quán)-洞察分析
- 網(wǎng)絡(luò)保險(xiǎn)風(fēng)險(xiǎn)評(píng)估-洞察分析
- 呼吸機(jī)濕化的護(hù)理
- 2024“五史”全文課件
- 醫(yī)療器械法律法規(guī)培訓(xùn)
- 2025年九年級(jí)數(shù)學(xué)中考復(fù)習(xí)計(jì)劃
- 2024屆江西省南昌市高三一模英語(yǔ)試卷(解析版)
評(píng)論
0/150
提交評(píng)論