軟件工程完整版課件全書電子教案教材課件(完整)_第1頁
軟件工程完整版課件全書電子教案教材課件(完整)_第2頁
軟件工程完整版課件全書電子教案教材課件(完整)_第3頁
軟件工程完整版課件全書電子教案教材課件(完整)_第4頁
軟件工程完整版課件全書電子教案教材課件(完整)_第5頁
已閱讀5頁,還剩231頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

軟件工程概念企業(yè)級卓越人才培養(yǎng)第一章學(xué)習(xí)目標(biāo)了解軟件工程的概念理解軟件工程的分類理解軟件的生命周期理解UML的作用、組成軟件的概述、特點(diǎn)軟件的特點(diǎn)是:(1)軟件具有抽象性。(2)軟件沒有明顯的制造過程。(3)軟件沒有老化問題。(4)軟件對計(jì)算機(jī)系統(tǒng)有依賴性。(5)軟件的開發(fā)至今手工。(6)軟件本身是復(fù)雜的。(7)軟件成本相當(dāng)昂貴。(8)相當(dāng)多的軟件工作涉及到社會因素。軟件的分類按功能劃分:按規(guī)模劃分:按工作方式劃分:按服務(wù)對象的范圍劃分:軟件發(fā)展和軟件危機(jī)計(jì)算機(jī)軟件經(jīng)歷了三個發(fā)展階段:程序設(shè)計(jì)階段,約為50至60年代程序系統(tǒng)階段,約為60至70年代軟件工程階段,約為70年代以后幾十年來最根本的變化體現(xiàn)在:人們改變了對軟件的看法。軟件的需求是軟件發(fā)展的動力。軟件工作的范圍從只考慮程序的編寫擴(kuò)展到涉及整個軟件生存周期。軟件發(fā)展和軟件危機(jī)軟件危機(jī)歸結(jié)起來有:缺乏軟件開發(fā)的經(jīng)驗(yàn)和有關(guān)軟件開發(fā)數(shù)據(jù)的積累,使得開發(fā)工作的計(jì)劃很難制定。軟件需求在開發(fā)的初期階段提得不夠明確,或是未能得到確切的表達(dá)。開發(fā)過程沒有統(tǒng)一的、公認(rèn)的方法論和規(guī)范指導(dǎo),參加的人員各行其事。未能在測試階段充分做好檢測工作,提交用戶的軟件質(zhì)量差,在運(yùn)行中暴露出大量的問題。軟件開發(fā)中的方法

對于開發(fā)中小型系統(tǒng)的人員來說,理解優(yōu)秀方法學(xué)的基礎(chǔ)是非常必要的。我們可以從以下幾個方面得知:方法學(xué)有助于對編碼設(shè)置規(guī)則即使是了解方法學(xué)的基本步驟,也能增進(jìn)對問題的理解,提高解決方案的質(zhì)量。在每個階段,方法學(xué)指定了下一步的工作,我們不會為下一步要干什么而煩惱方法學(xué)有助于編寫出擴(kuò)展性更高、可靠性更高、更容易調(diào)試的代碼。一個優(yōu)秀的方法能夠解決如下問題:規(guī)劃、調(diào)度、分配資源、工作流、活動、任務(wù)等等。軟件開發(fā)的幾個階段軟件生存周期的六個步驟。制定計(jì)劃。需求分析。軟件設(shè)計(jì)。程序編寫。軟件測試。運(yùn)行/維護(hù)。軟件的生命周期瀑布模型軟件的生命周期螺旋模型軟件的生命周期噴泉模式軟件工程的目標(biāo)付出較低的開發(fā)成本;達(dá)到要求的軟件功能;取得較好的軟件性能;開發(fā)的軟件易于移植;需要較低的維護(hù)費(fèi)用;能按時完成開發(fā)工作,及時交付使用。軟件工程的原則抽象。信息隱蔽。模塊化。局部化。確定性。一致性。完備性??沈?yàn)證性。面向?qū)ο蠓椒▽W(xué)統(tǒng)一建模語言/統(tǒng)一過程(UML/UP)UML是一種用于描述、可視化和構(gòu)架軟件系統(tǒng)以及商業(yè)建模的語言。UP代表了在大型、復(fù)雜系統(tǒng)的建模領(lǐng)域得到認(rèn)可的"優(yōu)秀的軟件工程方法"。

什么是UMLUML是一種標(biāo)準(zhǔn)的圖形化建模語言,它是面向?qū)ο蠓治雠c設(shè)計(jì)的一種標(biāo)準(zhǔn)表示。它具有以下一些特點(diǎn):不是一種可視化的程序設(shè)計(jì)語言,而是一種可視化的建模語言。不是工具或知識庫的規(guī)格說明,而是一種建模語言規(guī)格說明是一種表示的標(biāo)準(zhǔn)。不是過程也不是方法,但允許任何一種過程和方法使用它。什么是UML

所以我們可以說:UML是一種語言。UML是一種可視化的建模語言。UML是一種可用于詳細(xì)描述的語言。UML是一種構(gòu)造語言。UML是一種文檔化語言。為什么需要UML

易于使用,表達(dá)能力強(qiáng)。與具體的實(shí)現(xiàn)無關(guān)。與具體的過程無關(guān)。簡單并且可擴(kuò)展。為OOA/D中涌現(xiàn)出的高級概念提供支持。與最好的軟件工程實(shí)踐經(jīng)驗(yàn)集成??缮壘哂袕V闊的適用性和可用性。有利于面對對象工具的市場成長。UML的發(fā)展探索階段:Booch、Rumbaugh和Jacobson聯(lián)合行動。UML的標(biāo)準(zhǔn)化:對象管理小組(OMG)在1997年1月提交UML1.0版的文檔及其他資料。

工業(yè)化:繼續(xù)促進(jìn)統(tǒng)一建模語言的推廣。

UML的組成

UML在軟件開發(fā)中的應(yīng)用

需求分析

UML的用例視圖可以表示客戶的需求。UML在軟件開發(fā)中的應(yīng)用

分析分析階段主要考慮所要解決的問題,可用UML的邏輯視圖和動態(tài)視圖來描述。UML在軟件開發(fā)中的應(yīng)用

構(gòu)造在構(gòu)造或程序設(shè)計(jì)階段,把設(shè)計(jì)階段的類轉(zhuǎn)換成某種面向?qū)ο蟪绦蛟O(shè)計(jì)語言的代碼。UML在軟件開發(fā)中的應(yīng)用

測試對系統(tǒng)的測試通常分為單元測試、集成測試、系統(tǒng)測試和接受測試幾個不同級別??偨Y(jié)

軟件的概念、特點(diǎn)。軟件生存周期的六個階段。瀑布模型及其優(yōu)缺點(diǎn)。軟件工程的原則。UML的構(gòu)成。用例視圖、靜態(tài)視圖的概念和用途。靜態(tài)視圖企業(yè)級卓越人才培養(yǎng)第二章學(xué)習(xí)目標(biāo)了解靜態(tài)視圖的作用理解靜態(tài)視圖包含哪些元素掌握類圖、類關(guān)系類類元用來描述結(jié)構(gòu)和行為特性的機(jī)制,它包括類、接口、數(shù)據(jù)類型、信號、組件、節(jié)點(diǎn)等等。關(guān)系在進(jìn)行系統(tǒng)建模時,不僅要抽象出形成系統(tǒng)詞匯的事物,還必須對這些事物間的關(guān)系進(jìn)行建模。關(guān)系是事物間的聯(lián)系。關(guān)系在類的關(guān)系中,最常用的有以下4種。依賴(Dependency)泛化(Generalization)關(guān)聯(lián)(Association)實(shí)現(xiàn)(Realization)依賴依賴是按兩個元素之間的關(guān)系,對一個元素(提供者)的改變可能會影響或提供消息給其他元素(客戶)。

依賴關(guān)系依賴UML建模過程中,常用依賴指明一個類把另一個類作為它的操作的特征標(biāo)記中的參數(shù)。當(dāng)被使用的類發(fā)生變化時,那么另一個類的操作也會受到影響,因此這個被使用類此時已經(jīng)有了不同的接口行為。

泛化泛化是一般事物(稱為超類或父類)和該事物的較為特殊的種類(稱為子類)之間的關(guān)系。子類繼承父類的屬性和操作,除此之外通常子類還添加新的屬性和操作,或者修改了父類的某些操作。

泛化關(guān)系泛化泛化有兩個主要的用途:定義多態(tài)、描述繼承。關(guān)聯(lián)關(guān)聯(lián)是一種結(jié)構(gòu)關(guān)系,它指明一個事物的對象與另一個事物的對象間的聯(lián)系。

關(guān)聯(lián)關(guān)聯(lián)在實(shí)際建模過程中,在關(guān)聯(lián)實(shí)例中說明兩個類間存在多少個相互連接是很重要的。修飾語意0…10或11為10…*或0…n0或更多1…*或1…n1或更多*或n0或更多實(shí)現(xiàn)實(shí)現(xiàn)是規(guī)格說明和其現(xiàn)實(shí)間的關(guān)系。它表示不繼承結(jié)構(gòu)而只繼承行為。實(shí)現(xiàn)關(guān)系將一種模型元素(如類)與另一種模型元素(如接口)連接起來,其中接口只是行為的說明而不是結(jié)構(gòu)或者實(shí)現(xiàn)。

對照圖在某一時刻一個系統(tǒng)特定的靜態(tài)配置叫做快照??煺盏膱D包含對象的圖像,因此也叫對象圖。實(shí)例在建立系統(tǒng)的靜態(tài)視圖的過程是對系統(tǒng)領(lǐng)域問題及其解決方案的分析和設(shè)計(jì)的過程。以“圖書館管理系統(tǒng)”為例來建立相應(yīng)的靜態(tài)視圖。建立類圖步驟建立類圖的步驟如下:研究分析問題領(lǐng)域,確定系統(tǒng)的需求發(fā)現(xiàn)對象和對象類,明確類的屬性和操作發(fā)現(xiàn)類之間的靜態(tài)關(guān)系,一般與特殊關(guān)系,部分和整體關(guān)系,研究類之間的繼承性和多態(tài)性設(shè)計(jì)類和聯(lián)系繪制對象類圖并繪制相應(yīng)得說明類的生成讀者類的基本信息名字郵編地址城市省份借書預(yù)留書籍書籍類的基本信息書名作者序列號類型

使用RationalRose繪制類圖開始菜單打開“RationalRoseEnterpriseEdition”使用RationalRose繪制類圖建立工程點(diǎn)擊“SaveAs”,彈出如下對話框,輸入項(xiàng)目名及其保存路徑。

使用RationalRose繪制類圖建立工程然后就可以看到如下圖所示界面使用RationalRose繪制類圖建立工程我們先創(chuàng)建一個類視圖如下圖所示:

使用RationalRose繪制類圖建立工程

類視圖名稱修改為“Test”,并雙擊類視圖,可以看到工具箱如下圖所示:使用RationalRose繪制類圖建立工程

點(diǎn)擊工具箱中的類,在編輯區(qū)畫出一個類,把NewClass改成BrowserInformation如下圖所示:

使用RationalRose繪制類圖建立工程

雙擊并添加方法getBrowerInformation():使用RationalRose繪制類圖畫UML圖

用同樣的方法創(chuàng)建Persistent類,然后單擊工具欄上的“”圖標(biāo),接著點(diǎn)擊Persistent類,并延伸到BrowserInformation,表明相互繼承的關(guān)系:

使用Visio2013繪制類圖從開始菜單打開“MicrisoftVisio2013”使用Visio2013繪制類圖在搜索欄中搜索“uml”,出現(xiàn)對話框使用Visio2013繪制類圖點(diǎn)擊“UML靜態(tài)結(jié)構(gòu)圖”使用Visio2013繪制類圖點(diǎn)擊創(chuàng)建使用Visio2013繪制類圖開始制作類圖,把左邊的類拖到右邊使用Visio2013繪制類圖雙擊里面的類名并更改為BrowerInformation,并用同樣的方法創(chuàng)建Persistent類。然后把左邊工具欄中的繼承圖標(biāo),這是兩個類實(shí)現(xiàn)了繼承總結(jié)靜態(tài)視圖的關(guān)鍵元素。類的定義及其在UML中的圖形表示。最常用的4種類的關(guān)系:依賴(Dependency)、泛化(Generalization)、關(guān)聯(lián)(Association)、實(shí)現(xiàn)(Realization)。

用例視圖企業(yè)級卓越人才培養(yǎng)第二章學(xué)習(xí)目標(biāo)了解用例視圖的作用理解如何識別用例理解用例間的關(guān)系概述UML中的用例視圖描述了一組用例、參與者以及它們之間的關(guān)系,因此用例圖包括以下3個方面內(nèi)容:用例參與者用例之間的關(guān)系參與者參與者(Actor,也稱角色)是系統(tǒng)外部的一個實(shí)體,它以某種方式參與了用例的執(zhí)行過程。參與者可以是人、另一個計(jì)算機(jī)系統(tǒng)或一些可運(yùn)行的進(jìn)程。

角色

參與者參與者是一個群體概念,代表的是一類能使用某個功能的人或事,不是指某個個體。參與者與系統(tǒng)進(jìn)行通信的收、發(fā)消息機(jī)制,與面向?qū)ο缶幊讨械南C(jī)制很像。參與者可以分成主要參與者和次要參與者,也可以分成主動參與者和被動參與者。參與者在獲取用例前要先確定系統(tǒng)的參與者,可以根據(jù)以下一些問題來尋找系統(tǒng)的參與者:誰或什么使用該系統(tǒng)交互時,它們扮演什么角色誰安裝系統(tǒng)誰啟動和關(guān)閉系統(tǒng)誰維護(hù)系統(tǒng)參與者在獲取用例前要先確定系統(tǒng)的參與者,可以根據(jù)以下一些問題來尋找系統(tǒng)的參與者:與該系統(tǒng)交互的是什么系統(tǒng)誰從系統(tǒng)獲取信息誰提供信息給系統(tǒng)有什么事情發(fā)生在固定的事件參與者在建模參與者過程中,記住以下要點(diǎn):參與者對于系統(tǒng)而言總是外部的,因此它們在你的控制之外參與者直接同系統(tǒng)交互,這可以幫助定義系統(tǒng)邊界參與者表示人和事物與系統(tǒng)發(fā)生交互時所扮演的角色,而不是特定的人或者特定的事物。一個人或事物在與系統(tǒng)發(fā)生交互時,可以同時或不同時扮演多個角色。例如,某研究生擔(dān)任某教授的助教,同職業(yè)的角度看,它扮演了兩個角色——學(xué)生和助教。參與者在建模參與者過程中,記住以下要點(diǎn):每一個參與者需要有一個具有業(yè)務(wù)一樣的名字,在建模中,不推薦使用諸如NewActor這樣的名字。每個參與者必須有簡短的描述,從業(yè)務(wù)角度描述參與者是什么。像類一樣,參與者可以具有分欄,表示參與者屬性和它可接受的事件。一般情況下,這種分欄使用的并不多,很少顯示在用例圖中。

用例圖用例是一個敘述型的文檔,用來描述參與者使用系統(tǒng)完成某個事件使的事情發(fā)生順序。圖形上的用例用一個橢圓來表示,用例的名字可以書寫在橢圓的內(nèi)部或下方。識別用例用例是一個敘述型的文檔,用來描述參與者使用系統(tǒng)完成某個事件使的事情發(fā)生順序。圖形上的用例用一個橢圓來表示,用例的名字可以書寫在橢圓的內(nèi)部或下方。用例間的關(guān)系用例除了與其參與者發(fā)生關(guān)聯(lián)外,還可以參與系統(tǒng)中的多個關(guān)系,這些關(guān)系包括:泛化關(guān)系、包含關(guān)系和擴(kuò)充關(guān)系。

關(guān)系功能表示法關(guān)聯(lián)參與者與其參與執(zhí)行的用例之間的通信途徑擴(kuò)展在基礎(chǔ)用例上插入基礎(chǔ)用例不能說明的擴(kuò)展部分用例泛化用例之間的一般和特殊關(guān)系,其中特殊用例繼承了一般用例的特性并增加了新的特性包括在基礎(chǔ)用例上插入附加的行為,并且具有明確的描述實(shí)例購買的商品入庫;將積壓的商品退給供應(yīng)商;將商品移送到銷售部門;銷售部門將商品移送到倉庫;實(shí)例管理員盤點(diǎn)倉庫;供應(yīng)商提供各種貨物;用戶查詢銷售部門的營銷記錄;用戶查詢倉庫中所有變動記錄。實(shí)例創(chuàng)建以下參與者。操作員管理員供應(yīng)商商品領(lǐng)料人商品退料人實(shí)例建立如下用例:倉庫進(jìn)貨倉庫退貨倉庫領(lǐng)料倉庫退料商品調(diào)撥倉庫盤點(diǎn)實(shí)例建立如下用例:庫存查詢業(yè)務(wù)分析倉庫歷史記錄查詢供應(yīng)商信息維護(hù)倉庫信息維護(hù)用戶管理實(shí)例對用例進(jìn)行分類:操作員:倉庫進(jìn)貨、倉庫退貨、倉庫領(lǐng)料、倉庫退料、商品調(diào)撥、用戶管理。管理員:倉庫進(jìn)貨、倉庫退貨、倉庫盤點(diǎn)、商品調(diào)撥、庫存查詢、業(yè)務(wù)分析、倉庫歷史記錄查詢、供應(yīng)商信息維護(hù)、倉庫信息維護(hù)、用戶管理。實(shí)例對用例進(jìn)行分類:供應(yīng)商:倉庫進(jìn)貨、倉庫退貨。領(lǐng)料人:倉庫領(lǐng)料。退料人:倉庫退料。實(shí)例倉庫信息系統(tǒng)的用例圖總結(jié)在UML中用例圖的用途。參與者的定義。用例的圖形表示。用例的多個關(guān)系:泛化、包含、擴(kuò)充。動態(tài)視圖企業(yè)級卓越人才培養(yǎng)第四章學(xué)習(xí)目標(biāo)了解動態(tài)視圖包含哪些內(nèi)容理解時序圖的作用掌握活動圖的作用時序圖時序圖描述類系統(tǒng)中類和類之間的交互,它將這些交互建模成消息交換時序圖描述了類與類之間相互交換,以完成期望行為的消息。時序圖的概念和內(nèi)容我們可以看到時序圖中包括如下元素:類角色、生命線、激活期和消息。時序圖的用途在用例腳本的語境中將動態(tài)行為有效地可視化。用來表示用例中的行為順序。時序圖的用途時序圖有別于協(xié)作圖的特性。時序圖有生命線時序圖有激活期

時序圖的建模技術(shù)

使用時序圖對系統(tǒng)建模時,可以遵循如下策略。設(shè)置交互的語境,這些語境可以是系統(tǒng)、子系統(tǒng)、操作、用例和協(xié)作的一個腳本。通知識別對象在交互中扮演的角色,根據(jù)對象的重要性,將其從左向右的方向放在時序圖中。設(shè)置每個對象的生命線。一般情況下,對象存在于交互的整個過程,但它也可以交互過程中創(chuàng)建和撤銷。時序圖的建模技術(shù)從引發(fā)某個交互的信息開始,在生命線之間按從上向下的順序畫出隨后的消息。設(shè)置對象的激活期,這可以可視化實(shí)際計(jì)算發(fā)生時的時間點(diǎn)、可視化消息的嵌套。如果需要設(shè)置時間或空間的約束,可以為每個消息附上合適的時間和空間約束。給某控制流的每個消息附上前置或后置條件,這可以更詳細(xì)地控制這個控制流。

協(xié)作圖協(xié)作圖對在一次交互中有意義的對象和對象間的鏈建模。協(xié)作圖的一個用途是表示一個類操作的實(shí)現(xiàn)。協(xié)作圖用各個角色的幾何排列圖形來表示角色之間的關(guān)系,并用消息來說明這些關(guān)系?;顒訄D活動圖是UML中描述系統(tǒng)動態(tài)行為的圖之一,它用于展現(xiàn)參與行為的類的活動或動作。動作狀態(tài)UML里,動作狀態(tài)是以執(zhí)行指定動作,并在此動作完成后通過完成變遷轉(zhuǎn)向另一個障礙而設(shè)置的狀態(tài)。這里所指出的動作有3個特點(diǎn):原子性的、不可中斷的、瞬時的。

活動狀態(tài)活動狀態(tài)的特點(diǎn)是:它可以被分解成其他子活動或動作狀態(tài)。它能夠被中斷,占有有限的事件?;顒訝顟B(tài)如果某活動狀態(tài)是只包括一個動作的活動狀態(tài),那它就是動作狀態(tài)。動作狀態(tài)是活動狀態(tài)的一個特例?;顒訝顟B(tài)在UML中,動作狀態(tài)和活動狀態(tài)的圖標(biāo)沒有什么區(qū)別,都是圓端的方框。只是活動狀態(tài)可以有附加的部分,例如可以指定入口動作、出口動作、狀態(tài)動作以及內(nèi)嵌狀態(tài)機(jī)。轉(zhuǎn)移當(dāng)一個動作狀態(tài)或活動狀態(tài)結(jié)束時,該狀態(tài)就會轉(zhuǎn)換到下一個狀態(tài),這就是無觸發(fā)轉(zhuǎn)移或稱為自動轉(zhuǎn)移。無觸發(fā)轉(zhuǎn)移實(shí)際上是沒有任何特定的事件觸發(fā)的轉(zhuǎn)移,即當(dāng)狀態(tài)結(jié)束工作時就自動的發(fā)生轉(zhuǎn)移。分支

活動圖中的分支用來描述其他的程序結(jié)構(gòu) 活動圖中的分支用一個菱形表示,可以有一個進(jìn)入轉(zhuǎn)換和兩個或多個輸出轉(zhuǎn)換。分叉和匯合建模過程中,可能會遇到對象在運(yùn)行時存在兩個或多個并發(fā)運(yùn)行的控制流。在UML中,可以使用分叉把路徑分成兩個或多個并發(fā)流,然后使用結(jié)合,同步這些并發(fā)流。泳道

泳道將活動圖的活動狀態(tài)分組,每一組表示負(fù)責(zé)那些或的業(yè)務(wù)組織 在活動圖里泳道區(qū)分了活動的不同職責(zé),在泳道活動中,每一個活動都只能明確地屬于一個泳道。

泳道活動圖的用途活動圖用于動系統(tǒng)的動態(tài)行為建模?;顒訄D描述了從活動到活動的流。活動圖實(shí)際上是狀態(tài)圖的特殊形式。在UML中,可以把活動圖作為流程圖來使用,用于對系統(tǒng)的操作建模。活動圖的建模技術(shù)在活動圖建模過程中,參照以下步驟進(jìn)行:(1)識別要對其工作流進(jìn)行描述的類;(2)對動態(tài)狀態(tài)建模(3)對動作流建模(4)對對象流建模(5)對建模結(jié)果進(jìn)行凈化和細(xì)化。總結(jié)動態(tài)模型主要是建立系統(tǒng)的交互圖和行為圖。交互圖包括時序圖和協(xié)作圖行為圖則包括狀態(tài)圖和活動圖時序圖(SequenceDiagram)是強(qiáng)調(diào)消息時間順序的交互圖。時序圖描述類系統(tǒng)中類和類之間的交互,它將這些交互建模成消息交換時序圖中包括:類角色、生命線、激活期和消息等元素協(xié)作圖對在一次交互中有意義的對象和對象間的鏈建?;顒訄D是UML中描述系統(tǒng)動態(tài)行為的圖之一,它用于展現(xiàn)參與行為的類的活動或動作泳道將活動圖的活動狀態(tài)分組,每一組表示負(fù)責(zé)那些或的業(yè)務(wù)組織項(xiàng)目管理企業(yè)級卓越人才培養(yǎng)第五章學(xué)習(xí)目標(biāo)了解管理的意義理解管理中的多個過程理解計(jì)劃和控制在項(xiàng)目管理中的重要性管理的意義軟件公司中核心員工需要擁有兩類知識:管理知識和技術(shù)知識。程序員應(yīng)該既懂技術(shù)又懂一部分管理。管理的定義管理可以有很多角度的定義,一般而言,我們可以把管理理解成領(lǐng)導(dǎo)、也可以理解為決策、還可以理解為協(xié)調(diào)組織。管理是通過有效地計(jì)劃、組織、控制和激勵、領(lǐng)導(dǎo)等活動來協(xié)調(diào)人、財(cái)、物的配置以達(dá)到更好地組織目標(biāo)的過程。管理的作用管理是一門軟科學(xué),它同時具有科學(xué)和藝術(shù)兩方面的特點(diǎn)。科學(xué)的一面表現(xiàn)為它真實(shí)的反映了客觀規(guī)律。藝術(shù)的一面表現(xiàn)在背熟了管理規(guī)則不一定能夠進(jìn)行有效地管理。

管理的作用培養(yǎng)一種管理理念,對于技術(shù)人員而言能有效地促進(jìn)技術(shù)人員理解企業(yè)制度、崗位規(guī)范;能理解專業(yè)分工協(xié)作的前提條件和重要性;能在大的項(xiàng)目中有序地展開工作;時刻用時間、成本、質(zhì)量來衡量自己的工作,改進(jìn)不足,提高團(tuán)隊(duì)工作效率。讓軟件開發(fā)在和諧的環(huán)境高效率的組織中順利的開展。

管理的原則統(tǒng)一領(lǐng)導(dǎo)和指揮。制度與紀(jì)律。權(quán)利與責(zé)任。公平原則。一般化管理一般化管理在這里是管理中一般都要涉及的一個基本活動。管理的基本流程。管理的基本流程要素分組。項(xiàng)目項(xiàng)目的定義。項(xiàng)目的特征。項(xiàng)目與運(yùn)作的對比。項(xiàng)目與戰(zhàn)略的關(guān)系。項(xiàng)目管理項(xiàng)目管理的定義。項(xiàng)目管理的過程。項(xiàng)目管理三角形。項(xiàng)目管理過程為了更好地管理項(xiàng)目我們把項(xiàng)目過程分為若干階段:初始化階段,計(jì)劃階段,執(zhí)行階段、監(jiān)督與控制、收尾階段。簡單過程管理是:計(jì)劃、執(zhí)行、檢查、總結(jié)。

初始階段初始階段主要任務(wù)是正式的啟動一個新的項(xiàng)目。許多工作在項(xiàng)目正式啟動之前已經(jīng)完成了。這些工作不在項(xiàng)目過程之內(nèi)。初始階段計(jì)劃階段計(jì)劃階段主要任務(wù)確定項(xiàng)目范圍,開發(fā)項(xiàng)目管理計(jì)劃,安排項(xiàng)目活動。計(jì)劃階段主要任務(wù)列表:開發(fā)項(xiàng)目計(jì)劃;開發(fā)范圍管理計(jì)劃;創(chuàng)建WBS;定義活動;為活動分配資源;制定成本預(yù)算方案;確定質(zhì)量計(jì)劃;創(chuàng)建溝通計(jì)劃;開發(fā)風(fēng)險(xiǎn)管理計(jì)劃;

執(zhí)行階段計(jì)劃階段主要任務(wù)確定項(xiàng)目范圍,開發(fā)項(xiàng)目管理計(jì)劃,安排項(xiàng)目活動。計(jì)劃階段主要任務(wù)列表:開發(fā)項(xiàng)目計(jì)劃;開發(fā)范圍管理計(jì)劃;創(chuàng)建WBS;定義活動;為活動分配資源;制定成本預(yù)算方案;確定質(zhì)量計(jì)劃;創(chuàng)建溝通計(jì)劃;開發(fā)風(fēng)險(xiǎn)管理計(jì)劃;

監(jiān)督和控制計(jì)劃階段主要任務(wù)確定項(xiàng)目范圍,開發(fā)項(xiàng)目管理計(jì)劃,安排項(xiàng)目活動。計(jì)劃階段主要任務(wù)列表:開發(fā)項(xiàng)目計(jì)劃;開發(fā)范圍管理計(jì)劃;創(chuàng)建WBS;定義活動;為活動分配資源;制定成本預(yù)算方案;確定質(zhì)量計(jì)劃;創(chuàng)建溝通計(jì)劃;開發(fā)風(fēng)險(xiǎn)管理計(jì)劃;

收尾階段收尾階段主要是有序結(jié)束各項(xiàng)工作。主要任務(wù)列表:結(jié)束項(xiàng)目;了結(jié)合同;

計(jì)劃和控制

從項(xiàng)目管理(PMI)試題的分布可以看出,計(jì)劃和監(jiān)控都是重要的過程。

考試內(nèi)容問題的比率項(xiàng)目初始過程8.5%項(xiàng)目計(jì)劃過程23.5%項(xiàng)目執(zhí)行過程23.5%項(xiàng)目監(jiān)控過程23%項(xiàng)目收尾過程7%職業(yè)道德方面14.5%計(jì)劃的重要性第一、通過制定計(jì)劃,使得小組和有關(guān)管理人員對項(xiàng)目有關(guān)事項(xiàng)形成共識和事先約定。第二、通過計(jì)劃,可以使得一些支持性工作以及并行工作及時得到安排,避免因計(jì)劃不周造成各子流程之間的相互牽掣。第三、可以使項(xiàng)目實(shí)施人員明確自己的職責(zé),便于自我管理和自我激勵。計(jì)劃的重要性第四、計(jì)劃可以有效的支持管理,作為經(jīng)理們對開發(fā)工作跟蹤和檢查的依據(jù)。第五、做好事先計(jì)劃,就可以使注意力專心于解決問題,而不用再去想下一步做什么?第六、計(jì)劃是項(xiàng)目總結(jié),項(xiàng)目總結(jié)是把實(shí)際運(yùn)行情況與項(xiàng)目計(jì)劃不斷比較以提煉經(jīng)驗(yàn)教訓(xùn)的過程。制定項(xiàng)目計(jì)劃制定項(xiàng)目計(jì)劃的過程被稱為項(xiàng)目策劃。使用MicrosoftProject編制的文件可以稱為計(jì)劃進(jìn)度表,可以用來規(guī)劃項(xiàng)目時間進(jìn)度,輔助項(xiàng)目跟蹤。計(jì)劃進(jìn)度表的制定步驟是:工作分解和定義(WBS)、任務(wù)排序、活動歷史估算、編制。制定項(xiàng)目計(jì)劃制定項(xiàng)目計(jì)劃的過程被稱為項(xiàng)目策劃。使用MicrosoftProject編制的文件可以稱為計(jì)劃進(jìn)度表,可以用來規(guī)劃項(xiàng)目時間進(jìn)度,輔助項(xiàng)目跟蹤。計(jì)劃進(jìn)度表的制定步驟是:工作分解和定義(WBS)、任務(wù)排序、活動歷史估算、編制??刂瓶刂频闹饕蝿?wù):設(shè)定控制標(biāo)準(zhǔn)確定檢查時間安排合適人員選擇適當(dāng)方式控制的方式:檢查抽查評審控制的內(nèi)容:成本質(zhì)量進(jìn)度范圍總結(jié)項(xiàng)目的定義項(xiàng)目的特征項(xiàng)目管理的定義和過程項(xiàng)目管理三角的構(gòu)成項(xiàng)目過程的階段項(xiàng)目實(shí)戰(zhàn)——廣告管理系統(tǒng)企業(yè)級卓越人才培養(yǎng)第六章學(xué)習(xí)目標(biāo)掌握UML解決實(shí)際問題引言

這里通過一個廣告管理系統(tǒng)的分析與設(shè)計(jì),闡述如何通過UML降低開發(fā)難度和提高開發(fā)效率?;咎卣骱凸δ苣K該系統(tǒng)具有以下一些特征:充分適應(yīng)原有廣告工作流程并進(jìn)行合理的改進(jìn),通過系統(tǒng)提供的靈活的人員權(quán)限設(shè)置和全面的財(cái)務(wù)核算方式,實(shí)現(xiàn)真正的集團(tuán)多報(bào)管理;基本特征和功能模塊該系統(tǒng)具有以下一些特征:在實(shí)現(xiàn)廣告訂單的電子化、工作流程的數(shù)字化同時,幫助集團(tuán)領(lǐng)導(dǎo)提高決策的科學(xué)化水平;基本特征和功能模塊該系統(tǒng)具有以下一些特征:多套廣告價(jià)目表的支持,使廣告管理部門能在當(dāng)前激烈的市場競爭中能采取更為靈活的價(jià)格策略;基本特征和功能模塊該系統(tǒng)具有以下一些特征:通過對客戶信息的管理,實(shí)現(xiàn)對客戶廣告走勢和重要客戶情況統(tǒng)計(jì)和分析。

基本特征和功能模塊總體結(jié)構(gòu)及功能模塊:UML分析與實(shí)現(xiàn)UML是一種編制系統(tǒng)藍(lán)圖的標(biāo)準(zhǔn)化語言UML可以對大型復(fù)雜系統(tǒng)的各種成分可視化說明并構(gòu)造系統(tǒng)模型UML還可以建立各種必要的文檔UML分析與實(shí)現(xiàn)下面通過UML來分析并構(gòu)造廣告管理系統(tǒng)模型,并結(jié)合Rational統(tǒng)一過程加以描述。圖形使用RationalRose工具軟件繪制。業(yè)務(wù)建模和需求分析下圖是廣告管理系統(tǒng)層次的用例模型,只包含了最基本的UseCase模型,是系統(tǒng)的高層抽象。廣告管理系統(tǒng)設(shè)計(jì)系統(tǒng)分析與設(shè)計(jì)是研究欲采用的實(shí)現(xiàn)環(huán)境和系統(tǒng)結(jié)構(gòu),結(jié)果是產(chǎn)生一個對象模型,也就是設(shè)計(jì)模型。系統(tǒng)結(jié)構(gòu)設(shè)計(jì)系統(tǒng)主要有以下四個包:用戶接口包(UserInterfacePackage)業(yè)務(wù)邏輯包(BusinessRulePackage)數(shù)據(jù)持久訪問包(DataPersistencePackage)通用工具包(UserPackage)系統(tǒng)架構(gòu)設(shè)計(jì)用戶接口包(UserInterfacePackage)用戶接口包在其他包的頂層次,為系統(tǒng)用戶提供訪問信息和服務(wù)。系統(tǒng)架構(gòu)設(shè)計(jì)業(yè)務(wù)邏輯包(BusinessRulePackage)

該包是廣告管理系統(tǒng)業(yè)務(wù)的核心實(shí)現(xiàn)部分,包括廣告、合同、客戶等。系統(tǒng)架構(gòu)設(shè)計(jì)數(shù)據(jù)持久訪問包(DataPersistencePackage)

該包實(shí)現(xiàn)數(shù)據(jù)的持久化,也就是與數(shù)據(jù)庫交互,實(shí)現(xiàn)數(shù)據(jù)的存取、修改等操作。系統(tǒng)架構(gòu)設(shè)計(jì)通用工具包(UserPackage)該包主要包括應(yīng)用程序安全檢查的類,可以為上面三個包提供安全檢查。引言預(yù)訂業(yè)務(wù)對普通客戶的順序框圖系統(tǒng)詳細(xì)設(shè)計(jì)財(cái)務(wù)業(yè)務(wù)對代理客戶的協(xié)作框圖系統(tǒng)詳細(xì)設(shè)計(jì)劃版業(yè)務(wù)的順序框圖系統(tǒng)詳細(xì)設(shè)計(jì)財(cái)務(wù)業(yè)務(wù)對代理客戶的協(xié)作框圖系統(tǒng)詳細(xì)設(shè)計(jì)部署圖實(shí)現(xiàn)、測試和系統(tǒng)配置在系統(tǒng)編碼前,需要考慮系統(tǒng)的實(shí)際部署情況,可以利用Rose的部署視圖。系統(tǒng)采用三層邏輯結(jié)構(gòu):界面與業(yè)務(wù)邏輯分開,業(yè)務(wù)邏輯又與數(shù)據(jù)庫訪問邏輯分開。同時,部署視圖還需要處理一些其他問題,如系統(tǒng)容錯、網(wǎng)絡(luò)帶寬、故障恢復(fù)和響應(yīng)時間。實(shí)現(xiàn)、測試和系統(tǒng)配置經(jīng)過系統(tǒng)分析和設(shè)計(jì)后,就可以根據(jù)設(shè)計(jì)模型在具體的環(huán)境中實(shí)現(xiàn)系統(tǒng);進(jìn)而需要對系統(tǒng)進(jìn)行測試和排錯,保證系統(tǒng)符合預(yù)定的要求。測試結(jié)果將確認(rèn)所完成的系統(tǒng)可以真正使用;最后完成系統(tǒng)配置,其任務(wù)是在真實(shí)的運(yùn)行環(huán)境中配置、調(diào)試系統(tǒng),解決系統(tǒng)正式使用前可能存在的任何問題。總結(jié)將UML應(yīng)用于廣告管理系統(tǒng)的建設(shè),可以加速開發(fā)進(jìn)程,提高代碼質(zhì)量,支持動態(tài)的業(yè)務(wù)需求。測試驅(qū)動開發(fā)簡介企業(yè)級卓越人才培養(yǎng)第一章學(xué)習(xí)目標(biāo)了解測試驅(qū)動開發(fā)的原理理解單元測試的作用和原理掌握J(rèn)Unit框架什么是高質(zhì)量的軟件一個優(yōu)秀軟件一般要具備如下特性:滿足用戶的需求。合理進(jìn)度、成本、功能關(guān)系。具備擴(kuò)展性和靈活性。能夠有效的處理例外的情況。保持成本和性能的平衡。能夠可持續(xù)的發(fā)展。測試驅(qū)動開發(fā)測試為導(dǎo)向在成本上更經(jīng)濟(jì)。其原因有四:節(jié)約了設(shè)計(jì)的成本。減輕了測試的工作量??梢怨?jié)省設(shè)計(jì)上的工作量。避免代碼出現(xiàn)回歸。優(yōu)勢測試驅(qū)動開發(fā)先考慮代碼的使用需求。

對代碼的內(nèi)聚性的提高和復(fù)用都非常有益。測試用例代碼就是對代碼的最好的解釋。測試驅(qū)動開發(fā)提供的測試集是信心的來源。保障代碼的正確性,迅速發(fā)現(xiàn)、定位bug。原理

測試驅(qū)動開發(fā)的基本思想就是在開發(fā)功能代碼之前,先編寫測試代碼。傳統(tǒng)的V模型測試驅(qū)動的X模型過程測試驅(qū)動開發(fā)的基本過程如下:明確當(dāng)前要完成的功能??梢杂涗洺梢粋€TODO列表??焖偻瓿舍槍Υ斯δ艿臏y試用例編寫。測試代碼編譯不通過。編寫對應(yīng)的功能代碼。測試通過。對代碼進(jìn)行重構(gòu),并保證測試通過。循環(huán)完成所有功能的開發(fā)。原則測試列表。測試驅(qū)動。先寫斷言??蓽y試性。及時重構(gòu)。測試范圍、粒度那些重要或復(fù)雜的功能、核心的代碼就應(yīng)該編寫更全面、細(xì)致的測試用例重點(diǎn)測試。測試范圍沒有靜態(tài)的標(biāo)準(zhǔn),應(yīng)該可以隨著時間改變。小步前進(jìn)。怎么編寫測試用例操作過程盡量模擬正常使用的過程。全面的測試用例應(yīng)該盡量做到分支覆蓋,核心代碼盡量做到路徑覆蓋。測試數(shù)據(jù)盡量包括:真實(shí)數(shù)據(jù)、邊界數(shù)據(jù)。測試語句和測試數(shù)據(jù)應(yīng)該盡量簡單,容易理解。為了避免對其他代碼過多的依賴,可以實(shí)現(xiàn)簡單的樁函數(shù)或樁類(MockObject)。如果內(nèi)部狀態(tài)非常復(fù)雜或者應(yīng)該判斷流程而不是狀態(tài),可以通過記錄日志字符串的方式進(jìn)行驗(yàn)證。

需要注意的一些問題測試必須自動化自動化測試的范圍測試的分類測試的成本測試文化測試必須是自動化的手動測試可能引入錯誤。大量重復(fù)性的手動測試可能成本較高。手動測試的覆蓋面不廣。沒有辦法對組件進(jìn)行隔離的測試。自動化測試的范圍哪些應(yīng)該進(jìn)行自動化測試呢?最理想的情況是全部。測試一切可能是測試的基本原則,讓一切測試都變成自動化則是測試驅(qū)動開發(fā)的準(zhǔn)則。測試的分類單元測試集成測試系統(tǒng)測試驗(yàn)收測試測試的成本工作量估算方式的改變。項(xiàng)目進(jìn)度。人員的主動性和勇氣。建立測試文化測試文化測試同樣需要重構(gòu),以及必須的文檔。固定測試的目錄組織和包組織。使測試成為日創(chuàng)建的核心步驟。測試是所有人的事情,而不僅是QA的事。單元測試單元測試是我們編寫的一小段代碼,用于檢驗(yàn)被測代碼的一個很小的、很明確的功能是否正確。單元測試的核心內(nèi)涵:為了令代碼變得更加完美。Junit歷史在1997年,ErichGamma和KentBeck為Java語言創(chuàng)建了一個簡單但有效的單元測試框架,稱作JUnit。JUnit(www.J)是一個開源軟件。所以,JUnit很快成了Java中開發(fā)單元測試的框架的事實(shí)標(biāo)準(zhǔn)。手寫單元測試我們先寫一個簡單的類Calculator。我們可以編寫一個小的命令行程序來判斷返回值是否我們期望。我們把測試獨(dú)立成一個方法。

了解單元測試框架所有單元測試框架都應(yīng)當(dāng)遵守的3條規(guī)則:每個單元測試必須獨(dú)立于其他單元測試而運(yùn)行。必須以單項(xiàng)測試為單位來檢測和報(bào)告錯誤。必須易于定義要運(yùn)行哪些單元測試。使用Junit測試在JUnit中的設(shè)計(jì)目標(biāo)是:框架必須可以幫助我們編寫有用的測試??蚣鼙仨殠椭覀儎?chuàng)建隨著時間的過去依然保持有用的測試??蚣鼙仨毻ㄟ^復(fù)用代碼降低我們編寫測試的成本。總結(jié)測試驅(qū)動開發(fā)起源于XP法中提倡的測試優(yōu)先實(shí)踐。測試優(yōu)先實(shí)踐重視單元測試,強(qiáng)調(diào)程序員除了編寫代碼,還應(yīng)該編寫單元測試代碼。測試驅(qū)動開發(fā)的基本思路就是通過測試來推動整個開發(fā)的進(jìn)行。測試驅(qū)動開發(fā)的基本思想就是在開發(fā)代碼之前,先編寫測試代碼測試驅(qū)動開發(fā)簡介企業(yè)級卓越人才培養(yǎng)第二章學(xué)習(xí)目標(biāo)掌握J(rèn)Unit的框架組成掌握J(rèn)Unit中的幾個核心類的作用掌握利用JUnit框架編寫測試類探索Junit核心若需編寫更多的testcase時,我們要創(chuàng)建更多的TestCase對象。執(zhí)行這些TestCase對象的時候,可以創(chuàng)建一個TestSuite的對象。由TestRunner來執(zhí)行TestSuite。探索Junit核心TestCase(測試用例):擴(kuò)展了JUnit的TestCase類的類。TestSuite(測試集合):一組測試。BaseTestRunner(測試運(yùn)行器):執(zhí)行testsuite的程序。探索Junit核心以上3個元素是JUnit框架的骨干。在正常情況下,只需要編寫testcase,其它類會在幕后完成測試。

探索Junit核心testrunner可以執(zhí)行測試并提供關(guān)于結(jié)果的統(tǒng)計(jì)信息。在JUnit中還提供了其他的TestRunner類,比如提供圖形界面的junit.swingui.TestRunner類TestCase當(dāng)創(chuàng)建一個測試類的時候,會先創(chuàng)建一個類,該類從TestCase類繼承而來。其聲明如下:publicabstractclassTestCase extendsAssert implementsTest

AssertAssert類提供了許多函數(shù),幫助確定某個被測試的函數(shù)是否正常工作。通常,所有這些函數(shù)統(tǒng)統(tǒng)稱為斷言。它確定:某條件是否為真;兩個數(shù)據(jù)是否相等或者不等,以及其他情況。下面將逐個介紹JUnit提供的每一個斷言(assert)方法。Assert當(dāng)斷言為假,或者有錯誤了(遇到一個意料外的異常)的情況,通過JUnit的一些類來報(bào)告這些結(jié)果。當(dāng)一個失敗或者錯誤出現(xiàn)的時候,當(dāng)前測試將會被終止,但是(位于同一個測試類中的)其他測試將會繼續(xù)運(yùn)行。斷言是單元測試最基本的組成部分。assertEquals用來做相等性測試。這是使用的最多的斷言形式,該方法有很多重載函數(shù)。任何對象都可以拿來做相等性測試:適當(dāng)?shù)南嗟刃耘袛喾椒〞挥脕碜鲞@樣的比較。對于原生類型(boolean,int,short等)和object類型也提供了不同的函數(shù)簽名。

assertNull

驗(yàn)證一個給定的對象是否為Null(或者為非null),如果答案為否,則將會失敗。assertSame

驗(yàn)證expected參數(shù)和actual參數(shù)所引用的是否為同一個對象,如果不是,將會失敗。assertTrue

驗(yàn)證給定的二元條件是否為真,如果為假,將會失敗。fail

上面的斷言將會使測試立即失敗,這種斷言通常被用于標(biāo)記某個不因該被到達(dá)的分支。使用斷言在繼續(xù)測試之前先修復(fù)失敗的測試。

把問題分離出來。需要一種能夠運(yùn)行所有測試(或者一組測試、某個特殊子系統(tǒng)等等)的輔助方法。TestCase成員方法描述countTestCases計(jì)算run(TestResultresult)所執(zhí)行的TestCase的數(shù)目(由Test接口規(guī)定)createResult創(chuàng)建默認(rèn)的TestResult對象getName獲得TestCase的名字Run運(yùn)行TestCase并收集TestResult中的結(jié)果(由Test接口規(guī)定)runBare運(yùn)行測試序列,但不執(zhí)行任何特殊功能,比如自動發(fā)現(xiàn)test方法runTest重載以運(yùn)行測試并斷言其狀態(tài)setName設(shè)置TestCase的名字setUp初始化,例如打開網(wǎng)絡(luò)連接。這個方法會在測試執(zhí)行之前被調(diào)用(由Test接口規(guī)定)teardown銷毀,例如關(guān)閉網(wǎng)絡(luò)連接。這個方法會在測試執(zhí)行之后被調(diào)用(由Test接口規(guī)定)toString返回TestCase字符串表示TestCase成員JUnit的TestCase基類提供兩個方法供你改寫,分別用于環(huán)境的建立和清理:

protectedvoidsetUp();protectedvoidtearDown();testCase會在運(yùn)行每個測試之前調(diào)用setUp,并且在每個測試完成之后調(diào)用tearDown。TestCase成員

把不止一個測試方法放進(jìn)同一個TestCase可以共享這些代碼。執(zhí)行過程如下圖所示:TestCaseTestSuite被可以運(yùn)行一個或多個testcase,testrunner負(fù)責(zé)啟動TestSuite,而要運(yùn)行哪些testcase則由TestSuite來決定。任何測試類都會包含一個名為suite的靜態(tài)方法。

publicstaticTestsuite()

;

TestSuite若我們沒有提供自己的TestSuite,testrunner會自動創(chuàng)建一個。缺省的TestSuite會掃描你的測試類,找出所有以test開頭的方法。缺省的TestSuite在內(nèi)部為每個testXXX方法都創(chuàng)建一個TestCase的實(shí)例。TestSuiteJUnit框架執(zhí)行了如下動作:創(chuàng)建一個TestSuite。創(chuàng)建一個TestResult。執(zhí)行測試方法。

TestSuite

TestRunner先尋找TestCalculator類中的suite方法。若有則調(diào)用它,若沒有則創(chuàng)建一個默認(rèn)的TestSuite對象。其UML圖如下:

TestSuite

如果我們在測試代碼中顯式定義了suite方法,那么,測試會調(diào)用改suite方法,其UML圖如下:

TestResultTestResult負(fù)責(zé)收集TestCase的執(zhí)行結(jié)果。

JUnit區(qū)分失敗和錯誤。失敗是測試時可預(yù)期的,錯誤則是不可預(yù)料的。當(dāng)遇到錯誤,好的分析步驟是:檢查環(huán)境檢查測試檢查代碼總結(jié)JUnit的核心類。測試類繼承自TestCase類。Assert是TestCase的基類。斷言是單元測試最基本的組成部分。setUp和tearDown方法的用途。TestSuite的用途。suite的靜態(tài)方法。TestResult的用途。JUnit自動化企業(yè)級卓越人才培養(yǎng)第三章學(xué)習(xí)目標(biāo)了解自動化測試的原理理解Ant的作用和功能掌握buildfile的編寫Ant簡介Ant是構(gòu)建Java程序的事實(shí)標(biāo)準(zhǔn)

Ant是管理及自動化的卓越工具Ant的概念

Apache的Ant是一個自動化編譯和測試程序構(gòu)建工具,是構(gòu)建java程序的事實(shí)標(biāo)準(zhǔn)。

Ant是個運(yùn)行工具的構(gòu)架,可以用來配置制和啟動編譯器、生成代碼、執(zhí)行JDBC查詢、自動化整套測試。Ant的概念A(yù)nt的優(yōu)點(diǎn)跨平臺性。操作簡單。Ant可以集成到開發(fā)環(huán)境中。Ant的概念

Ant是一個開源軟件,安裝于配置都非常簡單。在Ant的主頁http:///中可下載最新的Ant版本。

Ant在Windows系統(tǒng)中配置過程如下。(1)右擊我的電腦圖標(biāo),"屬性"|"高級",如下圖所示。Ant的概念

(2)單擊環(huán)境變量按鈕,出現(xiàn)環(huán)境變量對話框,單擊系統(tǒng)變量選項(xiàng)框的新建按鈕,出現(xiàn)新建系統(tǒng)變量的對話框。(3)在變量名和變量值文本礦中分別填上"ANT_HOME"和Ant的根目錄,然后單擊確定按鈕。如下圖所示。

(4)在環(huán)境變量對話框中雙擊PATH變量名,在變量值后面加上C:\apache-ant-1.5.4\bin,最后單擊確定按鈕。當(dāng)然,我們還要設(shè)置好JAVA_HOME變量。Ant的目標(biāo)、項(xiàng)目、屬性、及任務(wù)Ant允許你為每個項(xiàng)目建立一個構(gòu)建文件以幫助你管理構(gòu)建過程。下面是一個典型的項(xiàng)目層次結(jié)構(gòu)。src存放源文件class存放編譯后的文件lib存放第三方j(luò)ar包Ant的目標(biāo)、項(xiàng)目、屬性、及任務(wù)Ant的要素如下:構(gòu)建文件(buildfile)目標(biāo)(target)屬性要素(propertyelement)

Ant的目標(biāo)、項(xiàng)目、屬性、及任務(wù)在buildfile中的標(biāo)記<project>標(biāo)簽<target>標(biāo)簽<delete>標(biāo)簽<mkdir>標(biāo)簽<javac>標(biāo)簽<jar>標(biāo)簽<java>標(biāo)簽Ant的目標(biāo)、項(xiàng)目、屬性、及任務(wù)<project>標(biāo)簽<?xmlversion="1.0"encoding="ISO-8859-1"?><projectname="MyTask"basedir="."default="jar">…</project>

每個構(gòu)建文件對應(yīng)一個項(xiàng)目。<project>標(biāo)簽是構(gòu)建文件的根標(biāo)簽。每個構(gòu)建文件對應(yīng)于一個項(xiàng)目,但是大型項(xiàng)目經(jīng)常包含大量的子項(xiàng)目,每一個子項(xiàng)目都可以有自己的構(gòu)建文件。Ant的目標(biāo)、項(xiàng)目、屬性、及任務(wù)<target>標(biāo)簽<?xmlversion="1.0"><project> <targetname="clean"description="Deleteallgeneratedfiles"> … </target> … <targetname="compile"description="CompiletheTask"> … </target> …</project>

一個項(xiàng)目標(biāo)簽下可以有一個或多個target標(biāo)簽。一個target標(biāo)簽可以依賴其他的target標(biāo)簽。Ant的目標(biāo)、項(xiàng)目、屬性、及任務(wù)<delete>標(biāo)簽<target> <deletedir="${class

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論