版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1.1
軟件
1.2軟件工程
1.3軟件工程發(fā)展中的軟件開發(fā)方法與技術(shù)
1.4計(jì)算機(jī)輔助軟件工程
1.5軟件工程與其他相關(guān)學(xué)科的關(guān)系
1.6軟件工程職業(yè)道德規(guī)范
1.7軟件項(xiàng)目成敗情況統(tǒng)計(jì)
1.8全球軟件產(chǎn)業(yè)的現(xiàn)狀、趨勢與挑戰(zhàn)1.1軟件1.1.1軟件及軟件特性1.軟件軟件的定義是隨著計(jì)算機(jī)技術(shù)的發(fā)展而逐步完善的。在20世紀(jì)50年代,人們認(rèn)為軟件就等于程序;60年代人們認(rèn)識(shí)到軟件的開發(fā)文檔在軟件中的作用,提出軟件等于程序加文檔,但這里的文檔僅是指軟件開發(fā)過程中所涉及的分析、設(shè)計(jì)、實(shí)現(xiàn)、測試、維護(hù)等文檔,不包括軟件管理文檔;到了70年代人們又給軟件的定義中加入了數(shù)據(jù)。因此,軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的一部分,它包括:(1)在運(yùn)行中能提供所希望的功能與性能的程序;(2)使程序能夠正確運(yùn)行的數(shù)據(jù)及其結(jié)構(gòu);(3)描述軟件研制過程和方法所用的文檔。2.軟件的特性從廣義來說,軟件與硬件一樣也是產(chǎn)品,但兩者之間是有差別的,了解并理解這種差別對(duì)理解軟件工程是非常重要的。(1)軟件角色的雙重性。(2)軟件是被開發(fā)或設(shè)計(jì)的,而不是傳統(tǒng)意義上的被制造。(3)軟件不會(huì)“磨損”,但會(huì)退化。(4)絕大多數(shù)軟件都是定制的且是手工的。(5)軟件開發(fā)過程復(fù)雜且費(fèi)用昂貴。1.1.2軟件的發(fā)展及分類1.軟件的發(fā)展自20世紀(jì)40年代出現(xiàn)了世界上第一臺(tái)計(jì)算機(jī)以后,經(jīng)歷了幾十年的發(fā)展,計(jì)算機(jī)軟件經(jīng)歷了程序設(shè)計(jì)、程序系統(tǒng)和軟件工程三個(gè)發(fā)展時(shí)期。表1.1列出了三個(gè)發(fā)展時(shí)期主要特征的對(duì)比,由此可以看出幾十年來軟件最根本的變化。2.軟件的分類軟件的應(yīng)用非常廣泛,幾乎滲透到了各行各業(yè)。因此,要給出一個(gè)科學(xué)的、統(tǒng)一的、嚴(yán)格的計(jì)算機(jī)軟件分類標(biāo)準(zhǔn)是不現(xiàn)實(shí)也是不可能的,但可以從不同的角度對(duì)軟件進(jìn)行適當(dāng)?shù)姆诸?。常用的分類方法及意義如表1.2所示。1.1.3軟件危機(jī)及其產(chǎn)生的主要原因隨著社會(huì)對(duì)計(jì)算機(jī)應(yīng)用需求的增長,軟件系統(tǒng)規(guī)模越來越龐大,生產(chǎn)難度和生產(chǎn)成本越來越高,軟件需求量劇增,質(zhì)量沒有可靠的保證,軟件開發(fā)的生產(chǎn)率低等因素構(gòu)成軟件生產(chǎn)的惡性循環(huán)。軟件生產(chǎn)的復(fù)雜性和高成本,使大型軟件的生產(chǎn)出現(xiàn)了很大的困難,因此出現(xiàn)了軟件危機(jī)。其具體表現(xiàn)如下:(1)開發(fā)人員和用戶之間存在矛盾。用戶在開發(fā)初期,由于各種原因往往不能準(zhǔn)確地提出需求描述;開發(fā)人員在還沒有準(zhǔn)確、完整地了解用戶的實(shí)際需求后就急于編程。(2)大型軟件項(xiàng)目需要組織一定的人力共同完成,多數(shù)管理人員缺少開發(fā)大型軟件系統(tǒng)的經(jīng)驗(yàn);多數(shù)軟件開發(fā)人員缺乏協(xié)同方面的經(jīng)驗(yàn);軟件項(xiàng)目開發(fā)人員不能有效地、獨(dú)立自主地處理大型軟件的全部關(guān)系和各個(gè)分支,因此容易產(chǎn)生疏漏和錯(cuò)誤。(3)缺乏有力的方法學(xué)和工具方面的支持,過分依靠程序設(shè)計(jì)人員的技巧和創(chuàng)造性。重編程,輕需求分析;重開發(fā),輕維護(hù);重程序,輕文檔。這樣做的后果就是在軟件系統(tǒng)中“埋藏”了許多故障隱患,直接危害著系統(tǒng)的可靠性和穩(wěn)定性。人們把在軟件開發(fā)與維護(hù)過程中遇到的一系列嚴(yán)重問題稱為軟件危機(jī)。1.1.4軟件危機(jī)的表現(xiàn)軟件危機(jī)的主要表現(xiàn)如下:(1)軟件開發(fā)進(jìn)度難以預(yù)測;(2)軟件開發(fā)成本難以控制;(3)用戶對(duì)軟件產(chǎn)品的功能要求難以滿足;(4)軟件產(chǎn)品的質(zhì)量無法保證,系統(tǒng)中的錯(cuò)誤難以消除;(5)軟件產(chǎn)品難以維護(hù);(6)軟件缺少適當(dāng)?shù)奈臋n資料;(7)軟件開發(fā)的生產(chǎn)速度難以滿足社會(huì)需求的增長。1.1.5解決軟件危機(jī)的途徑分析了造成軟件危機(jī)的原因后,人們開始探索用工程的方法進(jìn)行軟件生產(chǎn)的可能性,即用軟件工程的概念、原理、技術(shù)和方法進(jìn)行軟件的開發(fā)、管理、維護(hù)和更新。于是,計(jì)算機(jī)科學(xué)的一個(gè)領(lǐng)域——“軟件工程”誕生了。1.2軟件工程1.2.1軟件工程的概念軟件工程是指導(dǎo)計(jì)算機(jī)開發(fā)和維護(hù)的工程學(xué)科。借用傳統(tǒng)工程設(shè)計(jì)的基本思想,采用工程化的概念、原理、技術(shù)和方法來開發(fā)與維護(hù)軟件,突出軟件生產(chǎn)的科學(xué)方法,把經(jīng)過時(shí)間考驗(yàn)而證明正確的管理技術(shù)與當(dāng)前能夠得到的最好的技術(shù)和方法結(jié)合進(jìn)來,降低開發(fā)成本,縮短研制周期,提高軟件的可靠性和生產(chǎn)效率。軟件的工程化生產(chǎn)已成為軟件產(chǎn)業(yè)。軟件已成為產(chǎn)品,它涉及產(chǎn)值、市場、版權(quán)、法律保護(hù)等方面的問題。軟件工程是一門交叉學(xué)科,需要用管理學(xué)的原理和方法來進(jìn)行軟件生產(chǎn)管理;用工程學(xué)的觀點(diǎn)來進(jìn)行費(fèi)用估算、制訂進(jìn)度和實(shí)施方案;用數(shù)學(xué)方法來建立軟件可靠性模型以及分析各種算法。1.2.2軟件工程的三要素軟件工程以關(guān)注軟件質(zhì)量為目標(biāo),由方法、工具和過程三個(gè)要素構(gòu)成,如圖1.3所示。軟件工程方法為軟件開發(fā)提供了“如何做”的技術(shù),涉及軟件工程的多個(gè)方面,如項(xiàng)目計(jì)劃與估算、軟件系統(tǒng)需求分析、數(shù)據(jù)結(jié)構(gòu)、系統(tǒng)總體結(jié)構(gòu)的設(shè)計(jì)、算法過程的設(shè)計(jì)、編碼、測試、維護(hù)等。軟件工具為軟件工程方法提供了自動(dòng)的或半自動(dòng)的軟件支撐環(huán)境。目前,已經(jīng)推出了許多軟件工具,這些軟件工具集成起來,建立起稱之為計(jì)算機(jī)輔助軟件工程(ComputerAidedSoftwareEngineering,CASE)的軟件開發(fā)支撐系統(tǒng)。CASE將各種軟件工具、開發(fā)機(jī)器和一個(gè)存放開發(fā)過程信息的工程數(shù)據(jù)庫組合起來形成一個(gè)軟件工程環(huán)境。軟件工程的過程將軟件工程的方法和工具綜合起來,以達(dá)到合理、及時(shí)地進(jìn)行計(jì)算機(jī)軟件開發(fā)的目的。過程定義了方法使用的順序、要求交付的文檔資料、為保證質(zhì)量和協(xié)調(diào)變化所需要的管理及軟件開發(fā)各個(gè)階段完成的里程碑。1.2.3軟件工程的目標(biāo)軟件工程研究的對(duì)象是大型軟件系統(tǒng)的開發(fā)過程,它研究的內(nèi)容是生產(chǎn)流程,各生產(chǎn)步驟的目的、任務(wù)、方法、技術(shù)、工具、文檔和產(chǎn)品規(guī)格。軟件工程的基本目標(biāo)是生產(chǎn)具有正確性、可用性及開銷合宜(合算性)的產(chǎn)品。正確性意指軟件產(chǎn)品達(dá)到預(yù)期功能的程度;可用性意指軟件基本結(jié)構(gòu)、實(shí)現(xiàn)及文檔達(dá)到用戶可用的程度;開銷合宜意指軟件開發(fā)、運(yùn)行的整個(gè)開銷滿足用戶的需求。在給定成本和進(jìn)度的前提下,開發(fā)出具有適用性、有效性、可修改性、可靠性、可理解性、可維護(hù)性、可重用性、可移植性、可追蹤性、可互操作性和滿足用戶需求的產(chǎn)品。追求這些目標(biāo)有助于提高軟件產(chǎn)品的質(zhì)量和開發(fā)效率,降低維護(hù)的困難。(1)適用性:軟件在不同的系統(tǒng)約束條件下,使用戶需求得到滿足的難易程度。(2)有效性:軟件系統(tǒng)能最有效地利用計(jì)算機(jī)的時(shí)間和空間資源。各種軟件無不把系統(tǒng)的時(shí)/空開銷作為衡量軟件質(zhì)量的一項(xiàng)重要技術(shù)指標(biāo)。很多場合,在追求時(shí)間有效性和空間有效性時(shí)會(huì)發(fā)生矛盾,這時(shí)不得不犧牲時(shí)間有效性來換取空間有效性,或犧牲空間有效性以換取時(shí)間有效性。時(shí)/空折中是經(jīng)常采用的技巧。(3)可修改性:允許對(duì)系統(tǒng)進(jìn)行修改而不增加原系統(tǒng)的復(fù)雜性。支持軟件的調(diào)試和維護(hù),是一個(gè)難以達(dá)到的目標(biāo)。(4)可靠性:能防止因概念、設(shè)計(jì)、結(jié)構(gòu)等方面的不完善而造成軟件系統(tǒng)的失效,具有挽回因操作不當(dāng)而造成軟件系統(tǒng)失效的能力。(5)可理解性:系統(tǒng)具有清晰的結(jié)構(gòu),能直接反映問題的所在??衫斫庑杂兄诳刂栖浖膹?fù)雜性,并支持軟件的維護(hù)、移植或重用。(6)可維護(hù)性:軟件交付使用后,能夠?qū)λM(jìn)行修改,以改正潛伏的錯(cuò)誤,改進(jìn)性能和其他屬性,使軟件產(chǎn)品能適應(yīng)環(huán)境的變化等。軟件維護(hù)費(fèi)用在軟件開發(fā)費(fèi)用中占有很大的比重??删S護(hù)性是軟件工程中一項(xiàng)十分重要的目標(biāo)。(7)可重用性:把概念或功能相對(duì)獨(dú)立的一個(gè)或一組相關(guān)模塊定義為一個(gè)軟部件,可組裝在系統(tǒng)的任何位置,降低開發(fā)工作量。(8)可移植性:軟件從一個(gè)計(jì)算機(jī)系統(tǒng)或環(huán)境搬到另一個(gè)計(jì)算機(jī)系統(tǒng)或環(huán)境的難易程度。(9)可追蹤性:根據(jù)軟件需求對(duì)軟件設(shè)計(jì)、程序進(jìn)行正向追蹤,或根據(jù)軟件設(shè)計(jì)、程序?qū)浖枨筮M(jìn)行逆向追蹤的能力。(10)可互操作性:多個(gè)軟件元素相互通信并協(xié)同完成任務(wù)的能力。1.2.4軟件工程的開發(fā)原則軟件工程的目標(biāo)為軟件開發(fā)提出了明確的要求。為了達(dá)到這些要求,在軟件開發(fā)過程中必須遵循下列軟件工程的原則:抽象、信息隱藏、模塊化、局部化、一致性、完整性和可驗(yàn)證性。(1)抽象(Abstraction):抽取事物最基本的特性和行為,忽略其非基本的細(xì)節(jié),以控制軟件開發(fā)過程的復(fù)雜性,有利于軟件的可理解性和開發(fā)過程的管理。(2)信息隱藏(InformationHiding):將模塊中的軟件設(shè)計(jì)內(nèi)容和實(shí)現(xiàn)決策封裝起來,在系統(tǒng)的結(jié)構(gòu)分析與設(shè)計(jì)中把模塊看成是一個(gè)“黑箱”,模塊內(nèi)部的實(shí)現(xiàn)細(xì)節(jié)被隱藏,而外部只提供功能和接口的有關(guān)說明,使軟件開發(fā)人員能夠?qū)⒆⒁饬性诟邔哟蔚某橄笊稀?3)模塊化(Modularity):將大的、復(fù)雜的程序,分成一個(gè)個(gè)邏輯上相對(duì)獨(dú)立、功能相對(duì)簡單的小程序,只要定義好這些小程序的接口和設(shè)計(jì)關(guān)系,就可以將復(fù)雜的程序分解為若干簡單的程序來處理,有助于信息隱藏和抽象,也有助于降低軟件系統(tǒng)的復(fù)雜性。(4)局部化(Localization):在物理模塊內(nèi)集中邏輯上相互關(guān)聯(lián)的計(jì)算資源,從物理和邏輯兩個(gè)方面保證系統(tǒng)中模塊內(nèi)部的高內(nèi)聚性和模塊之間的低耦合性,有助于模塊的獨(dú)立性。(5)一致性(Consistency):整個(gè)軟件系統(tǒng)(包括程序和文檔)使用一致的概念、符號(hào)和術(shù)語,一致的程序內(nèi)部接口和硬、軟件接口,一致的系統(tǒng)規(guī)格說明與形式化公理系統(tǒng),一致的系統(tǒng)界面、編碼風(fēng)格和數(shù)據(jù)組織形式等。一致性原則支持系統(tǒng)的正確性和可靠性。(6)完整性(Completeness):軟件系統(tǒng)不丟失任何重要成分,系統(tǒng)具有服從需求的完整功能和實(shí)現(xiàn)功能所需的數(shù)據(jù)。(7)可驗(yàn)證性(Verifiability):大型軟件在功能分解和實(shí)施中,遵循系統(tǒng)容易檢查、測試、評(píng)審的原則,以保證軟件系統(tǒng)的正確性和可用性。1.2.5軟件工程涉及的人員1.利益相關(guān)者參與軟件過程(及每一個(gè)軟件項(xiàng)目)的利益相關(guān)者可以分為以下5類。(1)高級(jí)管理者:負(fù)責(zé)定義業(yè)務(wù)問題,這些問題往往會(huì)對(duì)項(xiàng)目產(chǎn)生很大的影響。(2)項(xiàng)目(技術(shù))管理者:必須計(jì)劃、激勵(lì)、組織和控制軟件開發(fā)人員。(3)開發(fā)人員:擁有開發(fā)產(chǎn)品或應(yīng)用軟件所需的技能。(4)客戶:闡明待開發(fā)軟件的需求,包括關(guān)心項(xiàng)目成敗的其他利益相關(guān)者。(5)最終用戶:軟件發(fā)布成為產(chǎn)品后直接與軟件進(jìn)行交互的人。2.團(tuán)隊(duì)負(fù)責(zé)人一個(gè)具有實(shí)戰(zhàn)能力的項(xiàng)目經(jīng)理應(yīng)該具有以下4種關(guān)鍵品質(zhì)。(1)解決問題:具有實(shí)戰(zhàn)能力的軟件項(xiàng)目經(jīng)理能夠準(zhǔn)確地診斷出最為密切相關(guān)的技術(shù)問題和組織問題;能夠系統(tǒng)地制訂解決方案,適當(dāng)?shù)丶?lì)其他開發(fā)人員來實(shí)現(xiàn)該方案;能夠?qū)⒃谶^去項(xiàng)目中學(xué)到的經(jīng)驗(yàn)應(yīng)用到新環(huán)境中;如果最初的解決方案沒有結(jié)果,則能夠靈活地改變方向。(2)管理者的特性:優(yōu)秀的項(xiàng)目經(jīng)理必須能夠掌管整個(gè)項(xiàng)目。必要時(shí)要有信心進(jìn)行項(xiàng)目控制,同時(shí)還要允許優(yōu)秀的技術(shù)人員按照他們的本意行事。(3)成就:為了優(yōu)化項(xiàng)目團(tuán)隊(duì)的生產(chǎn)效率,一位稱職的項(xiàng)目經(jīng)理必須獎(jiǎng)勵(lì)那些工作積極主動(dòng)并且做出成績的人。必須通過自己的行為表明出現(xiàn)可控風(fēng)險(xiǎn)并不會(huì)受到懲罰。(4)影響和隊(duì)伍建設(shè):具有實(shí)戰(zhàn)能力的項(xiàng)目經(jīng)理必須能夠“理解”人。他必須能理解語言和非語言的信號(hào),并對(duì)發(fā)出這些信號(hào)的人的要求做出反應(yīng)。項(xiàng)目經(jīng)理必須能在高壓力的環(huán)境下保持良好的控制能力。3.軟件團(tuán)隊(duì)作為一種復(fù)雜的工程活動(dòng),軟件工程不是由獨(dú)立的個(gè)人而是由團(tuán)隊(duì)進(jìn)行的。通常情況下,一個(gè)團(tuán)隊(duì)可以有多個(gè)小組,較小的小組由3~4人組成,較大的小組由10余人組成。在軟件工程團(tuán)隊(duì)中,常見的分工角色有:(1)需求工程師,又稱為需求分析師:承擔(dān)需求開發(fā)任務(wù)。軟件產(chǎn)品的需求開發(fā)工作通常由多個(gè)需求工程師來完成,他們共同組成一個(gè)需求工程師小組,在首席需求工程師領(lǐng)導(dǎo)下開展工作。他們跟客戶一起工作,并把客戶想要實(shí)現(xiàn)的目標(biāo)分解為離散的需求。通常一個(gè)團(tuán)隊(duì)只有一個(gè)需求工程師小組。(2)軟件體系結(jié)構(gòu)師:承擔(dān)軟件體系結(jié)構(gòu)的設(shè)計(jì)任務(wù)。通常也是由多人組成一個(gè)小組,并在首席軟件體系結(jié)構(gòu)師的領(lǐng)導(dǎo)下開展工作。通常一個(gè)團(tuán)隊(duì)只有一個(gè)軟件體系結(jié)構(gòu)師小組。(3)軟件設(shè)計(jì)師:承擔(dān)詳細(xì)設(shè)計(jì)任務(wù)。在軟件體系結(jié)構(gòu)設(shè)計(jì)完成之后,可以將其部件分配給不同的開發(fā)小組。開發(fā)小組中負(fù)責(zé)分配部件詳細(xì)設(shè)計(jì)工作的人員就是軟件設(shè)計(jì)師。一個(gè)團(tuán)隊(duì)可能有一個(gè)或多個(gè)開發(fā)小組。一個(gè)小組可能有一個(gè)或多個(gè)軟件設(shè)計(jì)師。(4)程序員:承擔(dān)軟件構(gòu)造及模塊的測試任務(wù)。程序員與軟件設(shè)計(jì)師通常是同一批人,也是根據(jù)其所分配到的任務(wù)開展工作。(5)人機(jī)交互設(shè)計(jì)師:承擔(dān)人機(jī)交互設(shè)計(jì)任務(wù)。人機(jī)交互設(shè)計(jì)師與軟件設(shè)計(jì)師可以是同一批人,也可以是不同人員。在有多個(gè)小組的軟件工程團(tuán)隊(duì)中,可以有一個(gè)單獨(dú)的人機(jī)交互設(shè)計(jì)師小組,也可以將人機(jī)交互設(shè)計(jì)師分配到各個(gè)小組。(6)軟件測試人員:承擔(dān)軟件測試任務(wù)。軟件測試人員通常需要獨(dú)立于其他的開發(fā)人員角色。一個(gè)團(tuán)隊(duì)可能有一個(gè)或多個(gè)測試小組。一個(gè)小組可能有一個(gè)或多個(gè)軟件測試人員。(7)項(xiàng)目管理人員:負(fù)責(zé)計(jì)劃、組織、協(xié)調(diào)和控制軟件開發(fā)的各項(xiàng)工作。相比于傳統(tǒng)意義上的管理者,他們不完全是監(jiān)督者和控制者,更多的是協(xié)調(diào)者。通常一個(gè)團(tuán)隊(duì)只有一個(gè)項(xiàng)目管理人員。(8)軟件配置管理人員:管理軟件開發(fā)中產(chǎn)生的各種制品,具體工作是對(duì)重要制品進(jìn)行標(biāo)識(shí)、變更控制、狀態(tài)報(bào)告等。通常一個(gè)團(tuán)隊(duì)只有一個(gè)軟件配置管理人員。(9)質(zhì)量保證人員:在生產(chǎn)過程中監(jiān)督和控制軟件產(chǎn)品質(zhì)量的人員。通常一個(gè)團(tuán)隊(duì)有一個(gè)質(zhì)量保證小組,其由一個(gè)或多個(gè)人員組成。(10)培訓(xùn)和支持人員:負(fù)責(zé)軟件交付與維護(hù)任務(wù)。他們可以是其他開發(fā)人員的一部分,也可以是獨(dú)立的人員。(11)文檔編寫人員:專門負(fù)責(zé)寫作軟件開發(fā)過程中各種文檔的人員。他們的存在是為了充分利用部分寶貴的人力資源,讓這些人從繁雜的文檔化工作中解放出來。“最好的”團(tuán)隊(duì)結(jié)構(gòu)取決于組織的管理風(fēng)格、團(tuán)隊(duì)里的人員數(shù)目與技能水平,以及問題的總體難易程度。Mantei提出了規(guī)劃軟件工程團(tuán)隊(duì)結(jié)構(gòu)時(shí)應(yīng)考慮的7個(gè)項(xiàng)目因素:(1)待解決問題的難度;(2)開發(fā)程序的規(guī)模,以代碼行或者功能點(diǎn)來度量;(3)團(tuán)隊(duì)成員需要共同工作的時(shí)間(團(tuán)隊(duì)生存期);(4)能夠?qū)栴}做模塊化劃分的程度;(5)待開發(fā)系統(tǒng)的質(zhì)量要求和可靠性要求;(6)交付日期的嚴(yán)格程度;(7)項(xiàng)目所需要的友好交流的程度。軟件開發(fā)步驟與開發(fā)團(tuán)隊(duì)中的角色的對(duì)應(yīng)關(guān)系如圖1.4所示。1.3軟件工程發(fā)展中的軟件開發(fā)方法與技術(shù)從20世紀(jì)50年代開始至今,軟件的開發(fā)方法與技術(shù)都有了迅猛的發(fā)展,具體如下。1.?20世紀(jì)50年代20世紀(jì)50年代,人們的主要精力集中在硬件上,所以沒有出現(xiàn)專門針對(duì)軟件開發(fā)方法與技術(shù)的需求,也就沒有出現(xiàn)被普遍使用的軟件開發(fā)方法與技術(shù)。20世紀(jì)50年代的軟件工程的特點(diǎn)是:科學(xué)計(jì)算;以機(jī)器為中心進(jìn)行編程;像生產(chǎn)硬件一樣生產(chǎn)軟件。2.?20世紀(jì)60年代由于缺乏正確科學(xué)知識(shí)的指導(dǎo),也沒有多少經(jīng)驗(yàn)原則可以遵循,因此,20世紀(jì)60年代的軟件開發(fā)在總體上依靠程序員的個(gè)人能力,是“工藝式”的開發(fā)。20世紀(jì)60年代的軟件工程的特點(diǎn)是:業(yè)務(wù)應(yīng)用;軟件不同于硬件;用軟件工藝的方式生產(chǎn)軟件。3.?20世紀(jì)70年代基于結(jié)構(gòu)化程序設(shè)計(jì)理論,20世紀(jì)70年代早期開始廣泛使用結(jié)構(gòu)化編程方法,它要求使用函數(shù)(過程)構(gòu)建程序,使用塊結(jié)構(gòu)和三種基本控制結(jié)構(gòu)(消除goto語句)仔細(xì)組織函數(shù)(過程)的代碼,使用程序流程圖描述程序邏輯進(jìn)行程序設(shè)計(jì),使用逐步精化(StepwiseRefinement)、自頂向下的軟件開發(fā)方法進(jìn)行軟件開發(fā)。到了20世紀(jì)70年代中后期,結(jié)構(gòu)化方法從編程活動(dòng)擴(kuò)展到分析和設(shè)計(jì)活動(dòng),圍繞功能分解思想和層次模塊結(jié)構(gòu),使用數(shù)據(jù)流圖(DFD)、實(shí)體關(guān)系圖(ERD)和結(jié)構(gòu)圖(StructureChart),建立了結(jié)構(gòu)化設(shè)計(jì)、結(jié)構(gòu)化分析、Jackson結(jié)構(gòu)程序設(shè)計(jì)(JSP)等結(jié)構(gòu)分析與設(shè)計(jì)方法??刂茝?fù)雜系統(tǒng)的復(fù)雜性是20世紀(jì)70年代追求的目標(biāo),這需要超越函數(shù)(程序)的層次,因?yàn)樗牧6忍?。因此?0世紀(jì)70年代人們開始在更高抽象的模塊層次上探索控制復(fù)雜性的方法,產(chǎn)生了“低耦合高內(nèi)聚”的模塊化、信息隱藏、抽象數(shù)據(jù)類型等重要思想,它們逐漸被吸收進(jìn)結(jié)構(gòu)化方法并推動(dòng)了20世紀(jì)80年代面向?qū)ο缶幊痰某霈F(xiàn)。20世紀(jì)70年代的軟件工程的特點(diǎn)是:結(jié)構(gòu)化方法;瀑布模型;強(qiáng)調(diào)規(guī)則和紀(jì)律。它們奠定了軟件工程的基礎(chǔ),是后續(xù)軟件工程發(fā)展的支撐。4.?20世紀(jì)80年代在20世紀(jì)80年代重要的技術(shù)中,除了少數(shù)是延續(xù)70年代的工作之外,大多數(shù)都是為了滿足提高生產(chǎn)力的要求而產(chǎn)生的。1)結(jié)構(gòu)化方法20世紀(jì)70年代中后期基于結(jié)構(gòu)化編程建立了早期的結(jié)構(gòu)化方法,包括結(jié)構(gòu)化分析與結(jié)構(gòu)化設(shè)計(jì)。但是這時(shí)的結(jié)構(gòu)化方法因?yàn)閯倓偯撾x編程,所以更多地還在關(guān)注軟件程序的構(gòu)建。也就是說,20世紀(jì)70年代中后期的結(jié)構(gòu)化分析和設(shè)計(jì)更強(qiáng)調(diào)為了最后編程而進(jìn)行分析與設(shè)計(jì),而不是為了解決現(xiàn)實(shí)問題而進(jìn)行分析與設(shè)計(jì)。到了20世紀(jì)80年代,隨著結(jié)構(gòu)化分析與設(shè)計(jì)向結(jié)構(gòu)化編程的過渡,人們逐步開始將結(jié)構(gòu)化分析與設(shè)計(jì)的關(guān)注點(diǎn)轉(zhuǎn)向問題解決和系統(tǒng)構(gòu)建,產(chǎn)生了現(xiàn)代結(jié)構(gòu)化方法,代表性的有信息工程(InformationEngineering)、Jackson系統(tǒng)開發(fā)(JSD)、結(jié)構(gòu)化系統(tǒng)分析與設(shè)計(jì)方法(SSADM)、結(jié)構(gòu)化分析和設(shè)計(jì)技術(shù)(SADT)及現(xiàn)代結(jié)構(gòu)化分析(MSA)。相對(duì)于早期的結(jié)構(gòu)化方法,20世紀(jì)80年代的現(xiàn)代結(jié)構(gòu)化方法更注重系統(tǒng)構(gòu)建而不是程序構(gòu)建,所以更重視問題分析、需求規(guī)格和系統(tǒng)總體結(jié)構(gòu)組織而不是讓分析與設(shè)計(jì)結(jié)果符合結(jié)構(gòu)化程序設(shè)計(jì)理論,更重視階段遞進(jìn)的系統(tǒng)化開發(fā)過程,而不是一切圍繞最后的編程進(jìn)行。2)面向?qū)ο缶幊套钤绲拿嫦驅(qū)ο缶幊趟枷肟勺匪莸?0世紀(jì)60年代的Simular-67語言,它是為了仿真而設(shè)計(jì)的程序設(shè)計(jì)語言,使用了類、對(duì)象、協(xié)作、繼承、多態(tài)(子類型)等最基礎(chǔ)的面向?qū)ο蟾拍睢?0世紀(jì)70年代的Smalltalk就是完全基于面向?qū)ο笏枷氲某绦蛟O(shè)計(jì)語言,它強(qiáng)化了一切皆是對(duì)象和對(duì)象封裝的思想,發(fā)展了繼承和多態(tài)。到了20世紀(jì)80年代中后期,隨著C++?的出現(xiàn)和廣泛應(yīng)用,面向?qū)ο缶幊坛蔀槌绦蛟O(shè)計(jì)的主流。C++?只是在C語言中加入面向?qū)ο蟮奶卣?,并不是純粹的面向?qū)ο笳Z言。C++?保留了C的各種特性,這種謹(jǐn)慎的設(shè)計(jì)使得程序員可以順利地接受它,另一方面是因?yàn)槊嫦驅(qū)ο笳Z言支持復(fù)用和更適于復(fù)雜軟件開發(fā)的特點(diǎn)符合了20世紀(jì)80年代的生產(chǎn)要求。需要特別指出的是,雖然面向?qū)ο蟮母拍钇鹪春茉纾⑶液芏嗨枷肱c結(jié)構(gòu)化思想是完全不同的,但是面向?qū)ο蟊旧聿幌窠Y(jié)構(gòu)化一樣有基于數(shù)學(xué)的程序設(shè)計(jì)理論的支撐,所以它是在吸收了很多結(jié)構(gòu)化方法中發(fā)展出來的方法與技術(shù)之后才得到了程序正確性、清晰性和高質(zhì)量的保障。Booch認(rèn)為模塊化、信息隱藏等設(shè)計(jì)思想和數(shù)據(jù)庫模型的進(jìn)步都是促使面向?qū)ο蟾拍钛葸M(jìn)的重要因素。與結(jié)構(gòu)化方法相比,面向?qū)ο蠓椒ㄖ械慕Y(jié)構(gòu)和關(guān)系能夠?yàn)轭I(lǐng)域應(yīng)用提供更加自然的支持,使得軟件的可復(fù)用性和可修改性更加強(qiáng)大??蓮?fù)用性滿足了20世紀(jì)80年代追求生產(chǎn)力的要求,尤其是提高了圖形用戶接口(GUI)編程的生產(chǎn)力,這也是推動(dòng)面向?qū)ο缶幊贪l(fā)展的重要?jiǎng)恿???尚薷男蕴岣吡塑浖S護(hù)時(shí)的生產(chǎn)力。面向?qū)ο蠓椒ㄒ矠槟K內(nèi)高內(nèi)聚和模塊間低耦合提供了更好的抽象數(shù)據(jù)類型的模塊化,更加適合于復(fù)雜軟件系統(tǒng)的開發(fā)。3)軟件復(fù)用提高生產(chǎn)力的一種方式是避免重復(fù)生產(chǎn),所以在20世紀(jì)80年代人們?yōu)榱俗非笊a(chǎn)力,開始重視軟件復(fù)用。實(shí)踐經(jīng)驗(yàn)表明,軟件復(fù)用是提高生產(chǎn)力最有效的方法,可以將生產(chǎn)力提高10%~35%。除了面向?qū)ο蠓椒ㄖ?,?代語言、購買商用組件、程序生產(chǎn)器等都是20世紀(jì)80年代提出的能夠促進(jìn)軟件復(fù)用的技術(shù)。20世紀(jì)80年代的軟件工程的特點(diǎn)是:追求生產(chǎn)力最大化;現(xiàn)代結(jié)構(gòu)化方法/面向?qū)ο缶幊虖V泛應(yīng)用;重視過程的作用。5.?20世紀(jì)90年代1)面向?qū)ο蠓椒ㄅc結(jié)構(gòu)化編程的成功促進(jìn)了結(jié)構(gòu)化分析與設(shè)計(jì)方法的產(chǎn)生一樣,面向?qū)ο缶幊痰某晒σ泊龠M(jìn)了面向?qū)ο蠓治雠c設(shè)計(jì)方法在20世紀(jì)90年代的產(chǎn)生,并促使面向?qū)ο蠓治雠c設(shè)計(jì)方法迅速被廣泛使用。20世紀(jì)90年代的面向?qū)ο蠓椒ǖ木唧w進(jìn)展有:(1)出現(xiàn)了對(duì)象建模技術(shù)(OMT)、Booch方法、面向?qū)ο蟮能浖こ?OOSE)、類-責(zé)任-合作者(CRC)卡等一系列面向?qū)ο蟮姆治雠c設(shè)計(jì)方法。(2)統(tǒng)一的面向?qū)ο蠼UZ言UML的建立和傳播。(3)設(shè)計(jì)模式、面向?qū)ο笤O(shè)計(jì)原則等有效的面向?qū)ο髮?shí)踐經(jīng)驗(yàn)被廣泛傳播和應(yīng)用。2)軟件體系結(jié)構(gòu)20世紀(jì)70年代開發(fā)復(fù)雜軟件系統(tǒng)的初步嘗試使得人們明確和發(fā)展了獨(dú)立的軟件設(shè)計(jì)體系,提出了模塊化、信息隱藏等最為基礎(chǔ)的設(shè)計(jì)思想。到了20世紀(jì)80年代中期,這些思想逐漸成熟,并且成功融入了軟件開發(fā)過程。這時(shí),一些新的探索就出現(xiàn)了,其中包括面向?qū)ο笤O(shè)計(jì),也包括針對(duì)大規(guī)模軟件系統(tǒng)設(shè)計(jì)的一些總結(jié)與思考。在對(duì)大規(guī)模系統(tǒng)的設(shè)計(jì)經(jīng)驗(yàn)進(jìn)行總結(jié)時(shí),人們發(fā)現(xiàn)越來越需要有一種更高抽象層次的設(shè)計(jì)體系來進(jìn)行思想的匯總與提升。于是,研究者們在20世紀(jì)90年代初期正式提出了“軟件體系結(jié)構(gòu)”這一主題,并結(jié)合90年代之后出現(xiàn)的軟件系統(tǒng)規(guī)模日益擴(kuò)大的趨勢,在其后的10年中對(duì)其進(jìn)行了深入的探索與研究。人們在體系結(jié)構(gòu)的基本內(nèi)涵、風(fēng)格、描述、設(shè)計(jì)、評(píng)價(jià)等方面開展了卓有成效的工作,在21世紀(jì)初建立了一個(gè)比較系統(tǒng)的軟件體系結(jié)構(gòu)方法體系。軟件體系結(jié)構(gòu)使用部件、連接件和配置三個(gè)高抽象層次的邏輯單位,關(guān)注如何將大批獨(dú)立模塊組織形成一個(gè)“系統(tǒng)”而不是各個(gè)模塊本身,也就是說更重視系統(tǒng)的總體組織。軟件體系結(jié)構(gòu)成為大規(guī)模軟件系統(tǒng)開發(fā)中處理質(zhì)量屬性和控制復(fù)雜性的主要手段,改變了大規(guī)模軟件系統(tǒng)的開發(fā)方式,提高了大規(guī)模軟件系統(tǒng)開發(fā)的成功率和產(chǎn)品質(zhì)量。3)人機(jī)交互為了吸引更多的用戶,贏得市場競爭,人們在20世紀(jì)90年代開始重視人機(jī)交互,提出“以用戶為中心”(User-CenteredDesign)的設(shè)計(jì)方法。人機(jī)交互的基本目標(biāo)是開發(fā)更加友好的軟件產(chǎn)品,最低標(biāo)準(zhǔn)是讓普通人在使用軟件產(chǎn)品時(shí)比較順暢,較高標(biāo)準(zhǔn)是讓用戶在使用產(chǎn)品時(shí)感到滿足和愉悅。從20世紀(jì)50年代開始人機(jī)交互技術(shù)就一直在發(fā)展,但是直到90年代人們才開始重視如何將人機(jī)交互技術(shù)融入軟件工程,并建立了一些人機(jī)交互的軟件工程方法,包括快速原型、參與式設(shè)計(jì)、各種人機(jī)交互指導(dǎo)原則等。4)需求工程自“瀑布模型”起,人們就已經(jīng)認(rèn)識(shí)到并強(qiáng)調(diào)了需求分析的作用。但是,到了20世紀(jì)90年代,隨著“以企業(yè)為中心”軟件系統(tǒng)規(guī)模的增長,人們認(rèn)識(shí)到需求處理除了核心的需求分析活動(dòng)之外,還有其他的活動(dòng)也需要慎重對(duì)待,要進(jìn)行“需求工程”,即利用工程化的手段進(jìn)行需求處理,以保證需求處理的正確進(jìn)行。相比于傳統(tǒng)的需求分析,需求工程將用戶價(jià)值分析視為基本要求,重視產(chǎn)品分析、問題與目標(biāo)分析、業(yè)務(wù)分析、與用戶的交流和溝通等。需求工程本質(zhì)上反映了應(yīng)用軟件與現(xiàn)實(shí)之間的聯(lián)系日益增強(qiáng)的事實(shí)。5)基于軟件復(fù)用的大規(guī)模軟件系統(tǒng)開發(fā)技術(shù)在大規(guī)模軟件系統(tǒng)開發(fā)中,為了解決復(fù)雜度與開發(fā)周期的兩難局面,人們充分利用了軟件復(fù)用思想,建立了多種基于軟件復(fù)用的大規(guī)模軟件系統(tǒng)開發(fā)技術(shù),其中最為流行的是框架(Framework)和構(gòu)件(Component)??蚣苁穷I(lǐng)域特定的復(fù)用技術(shù)。它的基本思想是根據(jù)應(yīng)用領(lǐng)域的共性和差異性特點(diǎn),建立一個(gè)靈活的體系結(jié)構(gòu),并實(shí)現(xiàn)其中比較固定的部分,留下變化的部分等待開發(fā)者補(bǔ)充。簡單地說,框架開發(fā)者完成了框架的總體設(shè)計(jì)和部分開發(fā)工作,然后將未開發(fā)的部分留作空白,等待框架的使用者填充。20世紀(jì)90年代,很多應(yīng)用領(lǐng)域都建立了自己的開發(fā)框架。構(gòu)件是在代碼實(shí)現(xiàn)層次上進(jìn)行復(fù)用的技術(shù)。它的基本思想是給所有的構(gòu)件定義一個(gè)接口標(biāo)準(zhǔn),就像機(jī)械工程定義螺絲和螺母的標(biāo)準(zhǔn)規(guī)格一樣,這樣就可以忽略每個(gè)構(gòu)件內(nèi)部的因素,實(shí)現(xiàn)不同構(gòu)件之間的通信和交互。構(gòu)件通常是黑盒的二進(jìn)制代碼,帶有專門的說明書,可以像機(jī)器零件那樣被獨(dú)立生產(chǎn)、銷售和使用。組件對(duì)象模型(COM)和JavaBean就是20世紀(jì)90年代產(chǎn)生并流行起來的構(gòu)件標(biāo)準(zhǔn)。6)?Web開發(fā)技術(shù)Web應(yīng)用的開發(fā)技術(shù)不同于傳統(tǒng)軟件形式。在20世紀(jì)90年代早期,人們主要使用HTML開發(fā)靜態(tài)的Web站點(diǎn)。到了90年代中后期,動(dòng)態(tài)網(wǎng)頁技術(shù)、JSP、超文本預(yù)處理器、JavaScript等動(dòng)態(tài)Web開發(fā)技術(shù)開始流行。人們建立了Web程序的數(shù)據(jù)描述標(biāo)準(zhǔn)XML。20世紀(jì)90年代軟件工程的特點(diǎn)是:以企業(yè)為中心的大規(guī)模軟件系統(tǒng)開發(fā);追求快速開發(fā)、可變更性和用戶價(jià)值;Web應(yīng)用出現(xiàn)。6.?21世紀(jì)00年代1)延續(xù)20世紀(jì)90年代的技術(shù)進(jìn)展20世紀(jì)90年代產(chǎn)生的一些重要技術(shù),在21世紀(jì)00年代繼續(xù)得到發(fā)展和完善:(1)軟件體系結(jié)構(gòu):到了2000年,軟件體系結(jié)構(gòu)設(shè)計(jì)方法基本成熟,2000年之后開始廣泛使用。軟件體系結(jié)構(gòu)的研究和探索工作繼續(xù)深入,轉(zhuǎn)向軟件體系結(jié)構(gòu)設(shè)計(jì)決策的描述和產(chǎn)生過程。(2)需求工程:2000年之后的軟件需求工程逐漸與系統(tǒng)工程相融合,典型表現(xiàn)是越來越重視系統(tǒng)需求而不是軟件需求的分析,包括目標(biāo)分析、背景環(huán)境分析、系統(tǒng)屬性分析等。(3)人機(jī)交互:隨著Web應(yīng)用和小型設(shè)備應(yīng)用越來越突出,21世紀(jì)前10年人機(jī)交互將Web的人機(jī)交互和小型設(shè)備的人機(jī)交互作為工作重點(diǎn)。(4)基于復(fù)用的大型軟件系統(tǒng)開發(fā)技術(shù):Struts、Spring等針對(duì)Web的開發(fā)框架成為軟件開發(fā)的主流工具;更適應(yīng)Web的WebService構(gòu)件類型被應(yīng)用得越來越廣泛。2)?Web技術(shù)發(fā)展隨著Web的發(fā)展,21世紀(jì)前10年的很多技術(shù)進(jìn)展都與Web有關(guān):(1)?20世紀(jì)90年代產(chǎn)生的各種動(dòng)態(tài)Web開發(fā)技術(shù)成為軟件開發(fā)必不可少的部分。(2)適用于Web開發(fā)的構(gòu)件中間件平臺(tái)?.NET和J2EE成為軟件開發(fā)的主流平臺(tái)。(3)瀏覽器/服務(wù)器模式(B/S)、N-Tier、面向服務(wù)的架構(gòu)(SOA)、消息總線等適合于Web應(yīng)用的體系結(jié)構(gòu)風(fēng)格被廣泛傳播。(4)針對(duì)Web的開發(fā)框架成為主流的軟件開發(fā)工具。(5)博客、即時(shí)通信等Web2.0技術(shù)出現(xiàn)并得到廣泛應(yīng)用。3)領(lǐng)域特定的軟件工程方法 該方法從20世紀(jì)90年代開始出現(xiàn),在21世紀(jì)前10年,軟件工程方法分領(lǐng)域深入成為主流。在技術(shù)領(lǐng)域方面,下列技術(shù)領(lǐng)域都出現(xiàn)了明顯的進(jìn)展:(1)以網(wǎng)絡(luò)為中心的系統(tǒng);(2)信息系統(tǒng);(3)金融和電子商務(wù)系統(tǒng);(4)高可信系統(tǒng);(5)嵌入式和實(shí)時(shí)系統(tǒng);(6)多媒體、游戲和娛樂系統(tǒng);(7)小型移動(dòng)平臺(tái)系統(tǒng)。在應(yīng)用領(lǐng)域方面,越來越多的領(lǐng)域開始根據(jù)自身特點(diǎn)定義參照體系結(jié)構(gòu)、開發(fā)框架、可復(fù)用構(gòu)件和領(lǐng)域特定的編程語言。面向應(yīng)用領(lǐng)域進(jìn)行軟件開發(fā)的產(chǎn)品線(ProductLine)方法得到了越來越多的關(guān)注和使用。21世紀(jì)前10年軟件工程的特點(diǎn)是:大規(guī)模Web應(yīng)用;大量面向大眾的Web產(chǎn)品;追求快速開發(fā)、可變更性、用戶價(jià)值和創(chuàng)新。1.4計(jì)算機(jī)輔助軟件工程計(jì)算機(jī)輔助軟件工程(CASE)是一組工具和方法的集合,用于輔助軟件開發(fā)、維護(hù)、管理過程中的各項(xiàng)活動(dòng),促進(jìn)軟件過程的工程化和自動(dòng)化,實(shí)現(xiàn)高效率和高質(zhì)量的軟件開發(fā)。如今,CASE工具已經(jīng)由支持單一任務(wù)的單個(gè)工具向支持整個(gè)開發(fā)過程的集成化軟件工程環(huán)境的方向發(fā)展,同時(shí)重視用戶界面的設(shè)計(jì),不斷采用新理論和新技術(shù),成為軟件工程領(lǐng)域的一個(gè)重要分支。CASE環(huán)境的組成構(gòu)件如圖1.5所示。CASE環(huán)境應(yīng)用應(yīng)具有以下功能:(1)提供一種機(jī)制,使環(huán)境中的所有工具可以共享軟件工程信息。(2)每一個(gè)信息項(xiàng)的改變,可以追蹤到其他相關(guān)信息項(xiàng)。(3)對(duì)所有軟件工程信息提供版本控制和配置管理。(4)對(duì)環(huán)境中的任何工具可進(jìn)行直接的、非順序的訪問。(5)在標(biāo)準(zhǔn)的分解結(jié)構(gòu)中提供工具和數(shù)據(jù)的自動(dòng)支持。(6)使每個(gè)工具的用戶共享人機(jī)界面的所有功能。(7)收集能夠改善過程和產(chǎn)品的各項(xiàng)度量指標(biāo)。(8)支持軟件工程師之間的通信。目前,市場上有許多商業(yè)化的CASE工具,它們在一定程度上促進(jìn)了軟件過程的工程化。1.5軟件工程與其他相關(guān)學(xué)科的關(guān)系軟件工程是一門交叉性的工程學(xué)科,如圖1.6所示。軟件工程以計(jì)算機(jī)科學(xué)和數(shù)學(xué)為基礎(chǔ),將這些學(xué)科的基本原理應(yīng)用于構(gòu)造軟件的模型與算法,力求提出更系統(tǒng)化和更形式化的軟件開發(fā)方法,并采用適當(dāng)?shù)姆椒?yàn)證即將開發(fā)的軟件。正確的軟件開發(fā)實(shí)踐更重要的是將工程化的原則和方法應(yīng)用于軟件的分析與評(píng)價(jià)、規(guī)格說明、設(shè)計(jì)、實(shí)現(xiàn)、演化等過程。軟件工程運(yùn)用工程科學(xué)的基本原理,結(jié)合特定領(lǐng)域的基礎(chǔ)知識(shí)和相關(guān)的專業(yè)知識(shí),通過評(píng)估成本與確定權(quán)衡提出合理的問題解決方案,在軟件開發(fā)實(shí)踐的基礎(chǔ)上總結(jié)制定標(biāo)準(zhǔn)與規(guī)范,重用設(shè)計(jì)和設(shè)計(jì)制品。事實(shí)證明,成功的軟件開發(fā)往往離不開規(guī)范化的開發(fā)管理。軟件工程將管理科學(xué)應(yīng)用于軟件開發(fā)的計(jì)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度出院患者出院后康復(fù)護(hù)理服務(wù)協(xié)議書范本4篇
- 乙方負(fù)責(zé)甲方2024年度廣告投放的合同
- 2025年度時(shí)尚潮流門面租賃管理服務(wù)協(xié)議4篇
- 二零二四年度藝術(shù)品捐贈(zèng)合同2篇
- 2025年度電梯安裝與節(jié)能改造設(shè)計(jì)合同4篇
- 二零二四年熟食加盟店運(yùn)營管理合作協(xié)議范本3篇
- 二零二五年度二手房買賣稅收優(yōu)惠協(xié)議3篇
- 二零二五年度撫養(yǎng)權(quán)變更及子女財(cái)產(chǎn)權(quán)益保障協(xié)議3篇
- 二零二四年度智能家居系統(tǒng)安裝工程合同2篇
- 二手房租賃協(xié)議法律文檔
- 開展課外讀物負(fù)面清單管理的具體實(shí)施舉措方案
- 2025年云南中煙工業(yè)限責(zé)任公司招聘420人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025-2030年中國洗衣液市場未來發(fā)展趨勢及前景調(diào)研分析報(bào)告
- 2024解析:第三章物態(tài)變化-基礎(chǔ)練(解析版)
- 北京市房屋租賃合同自行成交版北京市房屋租賃合同自行成交版
- 《AM聚丙烯酰胺》課件
- 系統(tǒng)動(dòng)力學(xué)課件與案例分析
- 《智能網(wǎng)聯(lián)汽車智能傳感器測試與裝調(diào)》電子教案
- 客戶分級(jí)管理(標(biāo)準(zhǔn)版)課件
- GB/T 32399-2024信息技術(shù)云計(jì)算參考架構(gòu)
- 固定資產(chǎn)盤點(diǎn)報(bào)告醫(yī)院版
評(píng)論
0/150
提交評(píng)論