版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
大型軟件項目的軟件工程管理方法計研2鄭震坤024891摘要:本文中介紹了軟件配置管理的工具CVS,并闡述了如何利用CVS來實現(xiàn)對開發(fā)文檔和源代碼的訪問和版本控制。文中還設計了用于軟件過程管理的軟件工程管理系統(tǒng),它包括任務管理系統(tǒng)、Bug管理系統(tǒng)和用戶認證系統(tǒng),此系統(tǒng)為管理軟件生成過程和進行質(zhì)量控制而建立,能夠?qū)浖椖康倪^程進行監(jiān)控。此外,文章中還討論了軟件測試的一些方法和原則。最后,對組件技術以及基于組件的軟件工程學方法進行了簡要的介紹。概述隨著企業(yè)信息化的深入,對軟件項目的需求日益復雜,并會產(chǎn)生頻繁的變更,傳統(tǒng)的個人英雄主義的開發(fā)方式已經(jīng)越來越不能適應發(fā)展的需要。從軟件企業(yè)的發(fā)展戰(zhàn)略來說,如何在技術日新月異和人員流動頻繁的情況下,建立本公司的知識庫及經(jīng)驗庫,把企業(yè)中分散的隱性的財富,即個人的知識及經(jīng)驗,轉變?yōu)槠髽I(yè)的知識和經(jīng)驗,以便提高工作效率,縮短產(chǎn)品周期,加強企業(yè)的競爭力,具有至關重要的作用。采用科學的管理思想,輔之以先進的管理工具,已經(jīng)成為企業(yè)未來發(fā)展必不可少的手段。如果軟件開發(fā)機構不能有效地控制和使用軟件資源,則在面對風險時就可能導致軟件開發(fā)活動出現(xiàn)各種問題。由于不能很好地管理軟件過程,會使得一些好的開發(fā)方法和技術沒有起到預期的作用。項目的成功往往是通過工作組的杰出努力來達到的,這種僅僅建立在依賴特定高素質(zhì)開發(fā)人員基礎上的成功,不能保證全組織的持續(xù)穩(wěn)定的軟件生產(chǎn)和質(zhì)量的長期提高。因此,要降低軟件開發(fā)過程的風險、保證軟件產(chǎn)品質(zhì)量,就必須加強管理,而軟件配置管理是企業(yè)過程改善和能力提升的基礎。本文中采用CVS作為軟件項目中進行配置管理的工具,利用它來對項目文檔和源代碼實現(xiàn)有效的管理。軟件項目監(jiān)控的目的是通過建立對軟件項目過程的可視性,使項目管理者在軟件項目性能與軟件計劃出現(xiàn)偏差時采取有效的糾正措施,以確保軟件過程的質(zhì)量滿足要求。優(yōu)秀的軟件過程管理平臺是實現(xiàn)在整個項目生命周期中進行項目過程監(jiān)控的工具保證,這一點尤其在現(xiàn)在大型軟件協(xié)作開發(fā)中至關重要。本文中設計了一個軟件工程管理系統(tǒng),它由項目管理系統(tǒng)、Bug管理系統(tǒng)和用戶認證系統(tǒng)三部分組成,利用這個系統(tǒng),開發(fā)者和項目管理者可以更好地了解到整個項目的工作情況,對整個項目過程進行有效地監(jiān)控。信息技術的飛速發(fā)展,使軟件產(chǎn)品應用到社會的各個領域,軟件產(chǎn)品的質(zhì)量自然成為人們共同關注的焦點。軟件開發(fā)商為了占有市場,必須把產(chǎn)品質(zhì)量作為企業(yè)的重要目標之一,以免在激烈的競爭中被淘汰出局。進行軟件測試是質(zhì)量控制的必要步驟,建立起一套有效的自動測試系統(tǒng),在軟件的開發(fā)過程中對軟件經(jīng)常地進行測試,這對軟件的開發(fā)過程具有非常重要的意義。最后,組件化的程序設計方法對于軟件項目的開發(fā)也有著不少的幫助,采用組件技術,可以帶來軟件模塊二進制級的復用。近幾年來,組件在軟件開發(fā)中得到了廣泛的應用,尤其是J2EE和.NET技術將組件應用于Internet,進行各種事務處理,顯示出了強大的功能。本文將對組件技術和基于組件技術的軟件工程學方法進行簡要介紹?;贑VS工具實現(xiàn)軟件配置管理對于一個軟件企業(yè)或者一個軟件開發(fā)團隊來說,可能遇到過或者正在被版本難以控制的問題所困擾。一個軟件往往由許多的模塊組成,在不同的階段(基礎功能、新增功能),很可能為了適應不同的環(huán)境(如不同的操作系統(tǒng)),并根據(jù)不同客戶的要求開發(fā)了特點各異的版本,這些版本之間有大量的共享模塊,以及屬于自己的模塊。當最后將這些模塊組裝成系統(tǒng)的某個版本時,會發(fā)現(xiàn)所需模塊版本無法確定。此外,還可能會有團隊中并行開發(fā)引起的沖突問題。例如:編程人員A和B共同修改同一個模塊,兩人經(jīng)過幾個晝夜的奮戰(zhàn)之后,又都回存到服務器上,但到了程序試運行的時候,才發(fā)現(xiàn)有一個人的修改被沖掉了,這會造成勞動力的嚴重損失。因此,需要在軟件企業(yè)中實施軟件配置管理,簡稱為SCM(SoftwareConfigurationManagement)。SCM是一套規(guī)范、高效的軟件開發(fā)基礎結構,早已被發(fā)達國家軟件產(chǎn)業(yè)的發(fā)展和實踐所證明是管理軟件開發(fā)過程的有效方法。SCM可以系統(tǒng)地管理軟件系統(tǒng)中的多重版本;全面記載系統(tǒng)開發(fā)的歷史過程;管理和追蹤開發(fā)過程中危害軟件質(zhì)量以及影響開發(fā)周期的缺陷和變化;SCM對開發(fā)過程進行有效地管理和控制,完整、明確地記載開發(fā)過程中的歷史變更,形成規(guī)范化的文檔,不僅使日后的維護和升級得到保證,而且更重要的是,這還會保護寶貴的代碼資源,積累軟件財富,提高軟件重用率,加快投資回報。軟件配置管理作為軟件開發(fā)過程的必要環(huán)節(jié)和軟件開發(fā)管理的基礎,支持和控制著整個軟件生命周期,同時對軟件開發(fā)過程的宏觀管理,即項目管理,也有重要的支持作用。良好的配置管理能使軟件開發(fā)過程有更好的可預測性,使軟件過程具有可重復性,使用戶和主管部門對軟件質(zhì)量和開發(fā)小組有更強的信心。若要有效地實施軟件配置管理,必須要培養(yǎng)軟件開發(fā)者的管理意識,結合開發(fā)組織的實際情況制訂出相應的配置管理規(guī)范,由開發(fā)人員依據(jù)規(guī)范,通過專業(yè)化的配置管理工具來實現(xiàn)。在這里,基于CVS工具實現(xiàn)軟件配置管理,對文檔和源代碼進行訪問和版本控制。CVS(ConcurrentVersionsSystem,并行版本系統(tǒng))是基于TCP/IP協(xié)議的版本控制工具,也是當前OpenSource中最重要的開發(fā)工具之一。CVS是典型的Client/Server結構的軟件,它分為服務器端和客戶端兩部分,不過大多數(shù)CVS軟件中將它們和二為一了。在CVS服務器端包含一個倉庫(repository),用于存放處于版本控制下的所有目錄和所有各種版本的文件,它保存了對項目源碼每一次改動的記錄,和改動的一些注釋。CVS會完成對倉庫的查詢和更新,在任何時候,你都可以找到倉庫中任何文件的任何版本。它容許幾個人同時工作在同一個文件,在他們提交文件時來合并他們所做的修改。在修改沖突時會發(fā)出警告來通知用戶,是否確定將此文件的更新版本放入倉庫內(nèi),并且是否由某人解決發(fā)生的沖突。使用CVS,最基本的開發(fā)流程如下所述:兔某個用戶把奉他的所有代俗碼導入(i建mport巨)到CVS災中,生成一歸個新的模塊茅,然后其他弦人可以抱導無出(che酷ck
ou炊t)源碼樹網(wǎng)的一個工作負拷貝算;現(xiàn)每個人都工獎作在自己的撐本地計算機顫中,當擦源碼樹發(fā)生誦了改變,例塔如增添了柄一個新的功貓能時,他們內(nèi)必須更新(手updat嗚e)他們的肺本地拷貝來喂保持和當前趙版本同步。竄他們治也文會提交(c拴ommit癢)他們改變掠的文件到倉敲庫中鵝以弟生成新的向軟件槐版本咽。導辣在提交時出檔現(xiàn)的問題C砍VS都會產(chǎn)采生警告,然蔥后嫌用戶凍必須仔細檢騰查出問題的桐文件摧并慰手工解決沖冒突。在文件談中,改動的殃部分會在前呈面以臺“劇>>>>>役”血顯示,并且芬列出兩個版炭本的不同之嚴處。享由用戶來決揀定是刪除舊硬版本還是做紙一些相應的異修改。啟稀WinCV塌S是CVS沫的一個客戶灑端軟件,它沉運行在Wi氣ndows徐上,用來在幟Windo史ws上登錄尸CVS服務龍器,然后進匆行一些CV糟S相關的操鑰作與管理。磁由于當前很圖多的企業(yè)內(nèi)擦部都采用L抗inux/損Unix做蝶為服務器,敵用Wind飛ows做客廊戶端,所以浪,WinC錄VS與在L缸inux上笑配置的CV證S服務器配杰合使用將組爺成強有力的蛾版本控制與膏管理的系統(tǒng)始。語W也inCVS最的一些常用接功能包括常配置、登錄瘦、文件上傳薪、痰文件束下載、編輯傍文件、文件男比較、更新籃本地文件、途合并文件、番添加文件、茄刪除文件、樂創(chuàng)建文件標汽簽、查看文補件狀態(tài)等等計。冊其互中,Win躲CVS提供辣了庫修改后提交滾(comm抹it巡)的功能,錯用戶從服務吧器端拷貝文腰件的某個版好本,在本地熱修改后利諒用comm器it命令嘆即可將最新榆的文件保存鵲到服務端,苗并且文件版慧本號會自動用加1。竟哭當一個開發(fā)柜者試圖萌c忽ommit宅某敬一修改的文利件時,通常緩會發(fā)生如下么兩種情況之禁一。明對于此散修改的文件勿,如果CV年S在庫中沒典有檢測到新個的版本,那居么直接珍c斜ommit到,就可在庫第中產(chǎn)生一新納的版本股;朱如果CVS監(jiān)在庫中檢測旱到新的版本磨(比如多個檔人同時對相塑同的文件進兄行修改,在哭你之前已有響人將他的修豪改村c挖ommit擦而產(chǎn)生了新殿的版本),慣那么CVS弦此時將給出比警告并中斷浴c據(jù)ommit果操作頑。廳步對于第二種真情況,在C塌VS中斷了控commi階t操作后,棵必須調(diào)用更晨新本地文件紅命令upd劉ate,而鋒調(diào)用upd負ate命令斯后,會有兩奶種情況發(fā)生杰,一濕種是不帶沖旱突,另外是誠帶有沖突。哪沖突的產(chǎn)生禁是由于多人炊在修改同一尊個文件的時緣候修改了文嘉件中的相同悄的地方(如竟某一行)。鬼在CVS中屈沖突幾乎很職少發(fā)生,而適一旦發(fā)生了豆沖突,很大等的原因可能縮是開發(fā)小組陷的開發(fā)成員置之間沒有協(xié)狡調(diào)好。另外遍對于沖突需亦要強調(diào)一點糊,所謂的沖缸突僅是文本鹽性的,而非槐邏輯性的。沒對于不帶沖心突的情況丈,在執(zhí)行u插pdate滿命令將本地越版本與服務旨器上的新版川本合并以后熄,直接執(zhí)行屋commi與t蛇命令就會完樹成提交操作拆。而對于帶婆沖突的情況取,則需要拖手動地粥進行享修改。例如家文件xIm蔽age.h燥在庫中的版梯本為1.4詢,文件內(nèi)容追為縱:效while擦(1)i++;他本地黑的xIma特ge.h版其本為1.1鑄,假設我們風做了如下的阿修改售while末(I<忠0)i++;虛那么在執(zhí)行疲u學pdate減命令之后,潑文件圖標如但圖1所示扒。從圖中可捐以看出榜版本號已為達庫中版本號設,文件狀態(tài)軋為Conf縣lict,錫修改時間改組為Resu虹lt
of填
merg貌e,這說明做發(fā)生了沖突絹,我們打開酸文件,文件嗚內(nèi)容如下:晶<<<<<們<<xI豐mage.膀h跡while列(i<于0)===獎====到while垂(1)仗i++掠;>>>>羨>>>1寨.4拿在此CVS漲用<<<<贏<<,=墾=====叮===和>燭>>>>>爹強調(diào)修改的堵相同部分,語剩下的事情突就看用戶怎逮么辦了。在催去掉這些標摘志,并改成尼所艷需要的文件粒之后,就可淚以航進行c迷ommit歌了。這時版額本號又勿將竿升一級。帖圖1證WinCV貴S中對于板帶沖突的在文件顯示耽C餓VS中還提祝供了分支功否能,傻分支是基于駱軟件的版本分穩(wěn)定性和開數(shù)發(fā)的延續(xù)性渡考慮的。一能個軟件產(chǎn)品潤會有逢一個比較穩(wěn)牌定的版本(鄙一般是正式哥發(fā)布版),聯(lián)這個版本之癥前是不穩(wěn)定層的,而之后鍵要對它繼續(xù)堵開發(fā),新的炮功能不斷加碧入,問題也某肯定不斷出疲現(xiàn),在加入躬新功能的版融本還沒有比薄較穩(wěn)定之前凍,這時用戶老可能對借開發(fā)者勢提出要求(吩比如發(fā)現(xiàn)了域發(fā)布版中的愉問題要極求罷修改),此廈時就應該毫進行乳分支。舉個叢例子來說,絨假定稼某一軟件的寸1.0宇發(fā)脅布聾版已完成,村開發(fā)者躍正在繼續(xù)開聽發(fā)粉過程她,計劃在2蛛個月后發(fā)行釘1.1的版功本。續(xù)然而筐在不久以后否,用茅戶開始抱怨薯說狂1.0版的浸代碼有些問賊題,勤開發(fā)者愉檢查了一下賴1.0的發(fā)反行版,并且英找到了這個勿錯誤。但是獲,當前憤處于開發(fā)中居的版本處于愉一個不穩(wěn)定包的狀態(tài),并列且在下一個滲月才能有希宋望穩(wěn)定下來得。這樣就沒探有辦法去發(fā)餐行一個最新轎的現(xiàn)有版本園去更正問題脆。這時就可鍵以去創(chuàng)建基辯于這棵版本枯樹1.0守版的分支評,門可以修改這像棵樹的分支筒而不影響到赴主干。當修扶訂完成時,捎開發(fā)者咳可以選定是桿否要把它同勁主干合并或帳繼續(xù)保留在彩這個分支里跨。列CVS允許透你崗獨立出一個火派生的代碼臘到一個分離嗓的開發(fā)版本證。當你改變鉆一個分支中茂的文件時(答修改了一些斥BUG),念這些更改不叼會出現(xiàn)在主泳開發(fā)版本和克其它分支版芽本中,而這葵些BUG在烤主干轎(或叫主開月發(fā)版本)中夫肯定存在(鳴可能在別的衛(wèi)分支中也存及在),那么用就央必須在主干壇中也要對這蜂些BUG進細行修改,這乎就增加了額粘外的開銷。慚在CVS中卡,可以使用但合并(me鹿rging顛)把這些變差更從一個分株支移動到另趴一個分支(下或主開發(fā)版腫本)嗽。詞綜上所述,幅利用CVS童的comm泡it可以解構決并行開發(fā)濾中的沖突問扮題,實現(xiàn)有債效的訪問控染制;利用C光VS中的分賠支和合并可肯以實現(xiàn)對軟殺件靈活有效砍的版本控制獸。CVS為精軟件開發(fā)的殿配置管理提賀供了一個可勇靠的工具。菌用軟件工程各管理系統(tǒng)實攔現(xiàn)軟件項目清過程管理炸在軟件項目黑的開發(fā)過程裂中,會存在役資源變化頻楚繁的問題。脆某些開發(fā)人矛員在軟件項遞目開發(fā)的過脖程中離去,鳥由于他負責巷使用或維護解的文檔或者返資源不完善捧,使得后續(xù)染人員接手他綠的工作時困對難重重,造您成開發(fā)過程屢的停滯奏;蹲由于沒有控走制好軟件變聯(lián)化過程,消蘭耗了大量人穿力物力,導刃致項目嚴重桂超期、預算效超支;項目磨經(jīng)過了幾次凡大改動,幾員乎記不起原賴來是什么樣受子了稀,睬或者說,根題據(jù)用戶提出嗚的多次變更顫要求更改后覽的成型軟件踢,與用戶的距需要相距甚奴遠階;勇軟件變化未旱經(jīng)控制進入辛開發(fā)或維護孔活動之中,書引入更嚴重繩的問題升,圈例如某程序基員未經(jīng)正常適的軟件變化面申請,自行扭修改軟件中卷的某一錯誤隱,雖然局部片錯誤是改正伶了,但由于英沒有考慮到桃局部改動對腔全局的影響綿,使得整個鍛系統(tǒng)不能正漲常工作。扮為了減小資尚源變化頻繁真問題對軟件掏項目的影響薄,更有效地紐控制軟件質(zhì)凍量,需要對偉軟件項目過霉程進行監(jiān)控閥。這里設計抬了一套軟件悶工程管理系帆統(tǒng),它主要怪針對于軟件看生成過程的扁管理和軟件農(nóng)質(zhì)量控制誕。這個系統(tǒng)鐘包括以下三嗓個部分:任慚務管理系統(tǒng)尼、Bug管猶理系統(tǒng)和用幼戶認證系統(tǒng)避。葵這個系統(tǒng)夾應當望具有Bro片wser/螞Serve托r的結構,辦用html輛、JSP和垮SQL爹Serve叮r澤實現(xiàn)。憐3.1任務這管理系統(tǒng)智猴任務管理系威統(tǒng)稠主要用于軟叛件生產(chǎn)的過黨程管理,對餡軟件生產(chǎn)進襯行模塊化管憂理,并將軟拒件產(chǎn)品生產(chǎn)夏的工作細化碎為不同的任松務,比如代貧碼實現(xiàn)、程忌序測試和文脹檔寫作等;奴這樣的系統(tǒng)跡便于細化工謠作,明確工澆作目的,同淋時也便于管揀理者對生產(chǎn)紡過程進行管舌理,能夠有卻效好地怖把握產(chǎn)品的匙開發(fā)進度。爭段該系統(tǒng)從軟泛件生產(chǎn)的特劇點出發(fā),針托對軟件生產(chǎn)信的特點進行橋設計。在該新系統(tǒng)中,最毛大管理單元式是項目,最濁小管理單元韻是任務,在食項目和任務會之間有模塊寸,這樣的劃戒分能夠使項牲目執(zhí)行更加遵有效。在任育務之下有所鵝有的具體工宿作記錄,包蛛括Chec用kin拆(工作提交笑)競、BugF膨ix抹(Bug修論復)稍、Comm皆ent虹(相關注釋催和評論)喬等。通過項御目能從整體鞋上把握項目坊的執(zhí)行情況答,通過模塊鹽劃分明確產(chǎn)富品的結構和代分工,通過磁任務能明確辣具體工作的遣目標,便于柏工作開展,司通過記錄反亂映具體的工誘作。這種結奇構也便于項征目的逐級管瘡理,即項目嗽有項目負責旅人,模塊有般模塊負責人穩(wěn),任務有任壤務負責人,墊實行單人負胖責的策略,鈔管理范圍由萍大到小、由事整體到細節(jié)娛;并且在項筒目執(zhí)行過程顛中可以隨時耀對項目、模臂塊、任務進與行調(diào)整。維需要移注意的是該斬系統(tǒng)為每個索項目、模塊久都會生成一遙個相應的管斤理任務(項春目管理的任球務、模塊管喇理的任務)舉,強調(diào)了管曾理工作在軟蘭件開發(fā)過程柜中的重要性押;在任務管覆理系統(tǒng)中明小確椒地面提出管理任點務,便于管解理人員在項酷目執(zhí)行過程濟中進行管理譯。診裁另外,在任軟務管理系統(tǒng)撒中包含了一蹦個"周報告煩"子系統(tǒng),浩工作人員可趣以在周報告亡中提交每一拘周的工作情恩況,工作計城劃等,并在冷系統(tǒng)中做記舟錄,方便工存作者記錄和森匯報自己的奪工作情況和重下一階段的積工作安排;捕并提供周報犬告查詢功能江,同時系統(tǒng)躍還可以對各胡個周報告進似行匯總,以旋便管理者查揭閱。黨這個系統(tǒng)中默主要實現(xiàn)的開功能包括:椅創(chuàng)建項目、急查詢項目、求創(chuàng)建模塊、左查詢模塊、壁創(chuàng)建任務、艙查詢?nèi)蝿?、黨提交多種記岡錄、查詢記凳錄、提交工姿作報告以及界系統(tǒng)管理等減。覺任務管理系仗統(tǒng)用于記錄馳、跟蹤和管形理項目開發(fā)羊的每個過程胖、報告工作關的進展情況主和幫助公司費的管理和決他策人員對資儀源進行合理補分配。通過微管理系統(tǒng)對端軟件工程項穴目的管理,拋可以避免軟漁件公司因為扣人員的流動施對公司造成屋的巨大損失卵。同時因為轉管理系統(tǒng)記庭錄了項目的辦詳細過程信阻息,也為項臉目以后的升塞級和完善提柜供了寶貴的府可供查詢的育第一手資料廉。斗此系統(tǒng)應該慰具有如下的鞭特點:氏項目分級管緒理:斃將一個項目士分解為小的誠模塊,再將姐模塊分解為載具體的任務碌,通過逐層亡細化,將工退作落實到個原人謊;堵以任務為中厭心:整個系嫂統(tǒng)的最終管泊理歸結為人弓與任務的一招一對應,明禁確責任蘭;蓮任務分類:忘按照任務的銹性質(zhì)進行分始類,同一個鼓任務又可以匆通過從管理冠任務、開發(fā)夜任務、測試則任務到文檔初任務進行不緩同的任務分喘工盆;講記錄細節(jié):錫將與整個項者目開發(fā)中相泄關的每一條匠信息記錄到或系統(tǒng)中,產(chǎn)題生一個包括仙完成項目過陶程和記錄的碰報告,這就押是一份可供撲查詢的,記仔錄整個開發(fā)誼過程的原始年資料制;皆眨工作匯總:獻通過周報告針子系統(tǒng)及時添反映所有人醉員的工作進誤展和完成情憂況,以便對墓人員進行評萄估域;竿項目控制:漿可以實時了臨解整個項目蝦的完成情況確和所有人員捆當前負責的統(tǒng)具體工作茂;木影Email新自動發(fā)送:嶄項目系統(tǒng)中濕任何一個添筑加和更改操筐作都會同時葵通過Ema表il告知相奇關人員負。貢3殼.2Bu贏g子管理系統(tǒng)粥B啄ug管理系然統(tǒng)主要用于搜對軟件的B襪ug進行管蒸理,行是軟件測試亮和軟件開發(fā)永的工程管理洋工具,啟這對提高軟顧件產(chǎn)品的質(zhì)蘇量至關重要宜。Bug管瀉理系統(tǒng)能實怕時反應出B需ug的出現(xiàn)懷、確認、修屆復、驗證等孕各個階段的婆情況案。爸軟件產(chǎn)品中堡存在Bug胖是正常情況底,沒有Bu抓g肯的軟件是不用存在脫的尋。軟件的規(guī)船模越大,B狀ug出現(xiàn)的跡機會就越大江,Bug的叫數(shù)量也就越魄多,琴如果開發(fā)人電員梨難以對付這次些成百上千訂的Bug,陶那么軟件的猴質(zhì)量就很難濫得到保證。孕為了有效幅地咬管理Bug屬和詞修復Bug登,盯需要一個強甜大的工具對趴軟件中的B兇ug進行科嘉學有效的管販理。卡Bug管理襲系統(tǒng)是存儲智、處理Bu歡g的工具,碧也是開發(fā)人盆員,測試人制員交流討論繼的場所,同臨時也是項目挺管理、工作由評定的重要賄工具。Bu法g管理系統(tǒng)役主要用于提秋交Bug,歡并記錄每個寺Bug的變公化過程。每糠一個Bug奸都有負責人總,或者可以盒被指定一個療負責人對其遭進行修復,翠這樣有利于渠及時尺地賤處理Bug銷;如果軟件香產(chǎn)品的每一菜個Bug運都嚴格詳?shù)厣肂ug尼管理系統(tǒng)管肺理,隨著系式統(tǒng)中的Bu給g一個一個雜被壽清除筑,產(chǎn)品也將依一步一步走紅向健壯。鬼Bug管理饒系統(tǒng)應具有搞如下的特點廳:絮Bug的流思程控制:對半一個軟件中源的Bug進班行從提交、涉確認、修復件、測試到最酬后關閉整個沈過程的管理更;議Email粘自動發(fā)送:渴Bug屋管理系統(tǒng)中刑任何一個添芒加和更改操專作都串要共同時通過E筒mail告另知Bug的屬負責人及相騰關人員,提模醒大家對此城Bug的關擴注赤;稱完定期Bug寇匯總:根據(jù)尊條件產(chǎn)生統(tǒng)糠計報表,并畫可以通過圖并表的方式來片描述在一個窯時期內(nèi),B穴ug的增加脆和修復情況聚,這簽為產(chǎn)品的開祖發(fā)和控制提趴供礦了鬼依據(jù)烘;蓮暫Bug提醒猴:將Bug集管理系統(tǒng)中犧的Bug按淘照級別進行份劃分,定期技發(fā)送給每一財個Bug的脹所有者和它化的部門負責賽人,提醒B桿ug的所有鋒者及時修復解Bug繩。棕腸3歐.3用戶認道證閣系統(tǒng)氏用戶認證系何統(tǒng)用于對整制個系統(tǒng)中的社用戶進行統(tǒng)止一管理,包纏括注冊用戶翠、為用戶發(fā)摟放其他系統(tǒng)英使用許可等蓋功能;還可位以存放員工工的其他信息姻,比如簡歷恥等等粘。牲使用用戶認扁證系統(tǒng),可腥以管理整個麥系統(tǒng)中的用弄戶,即用戶費只需要注冊罵一次,在獲炭得其他系統(tǒng)優(yōu)的使用許可傅以后,就可飼以使用其他壩系統(tǒng)旗(例如CV重S服務器登鍵錄權限、項慣目管理系統(tǒng)陪和Bug管窮理系統(tǒng))付,不必為每局一個系統(tǒng)都繪注冊用戶。房這樣使得用搜戶管理更加貢集中、方便衡。些用戶認證系爬統(tǒng)主要包括感用戶注冊、慶用戶授權、奔組管理、部拾門管理、系谷統(tǒng)管理等功鈴能。都進行有效的隙軟件測試工提作稀軟件測試的歇基本過程是仔通過對軟件既功能的實際柔使用,觀察底使用的實際園效果,然后徑把實際結果吩和期望值進錯行比較,找汪出它們之間浙的差距。整額個的軟件測棚試過程可以怕大致分為兩慣部分:裳設立期望值源。軟件應該獄具備的功能聾,實際上在混編程之前就末確定好了。儲軟件設計可牧以理解為設舟立軟件的期劣望值。對于盾測試人員來毀說,根據(jù)軟便件設計文檔撤和用戶手冊閱,可以整理瓦出具體的,醋細化的期望穩(wěn)值。這些期劫望值是評估拉軟件質(zhì)量的插標準、依據(jù)遍。這也附帶略說明了文檔籌的重要性。北獲得實測值籮。通過在特旁定的條件下秋運行軟件,為采集運行結陸果。然后把崗結果和期望韻值進行比較患,產(chǎn)生測試技報告。足通常講的軟血件測試主要唐是指這部分幸的工作。槍對于大型軟小件項目來說熄,其軟件測港試項目包含鑰的具體任務送大致有以下員這幾項。嶺建立自動測貪試運行體系宋對于一個稍連具規(guī)模的軟俗件,自動運個行測試程序焰是必不可少設的。因為測檢試程序的代悼碼量遠遠大抵于被測程序粒的代碼量,繼不可能采用予人工運行測授試,比較結拾果。自動測弊試體系的主短要功能是侄運行測試程遼序,收集運過行結果,把太結果和標準貓答案比較,安并最后產(chǎn)生克測試的結果立和bug報跪告?;衷O計測試方載案滑首先要建立寺測試環(huán)境。譜有些時候建負立測試環(huán)境把是一件很困自難的事情瘋,燃例如網(wǎng)絡環(huán)吐境,和某些沒極限環(huán)境,凍例如測硬盤譜溢出時的處桐理情況醬,哲設置線程之碰間的競爭條秀件,等等。楊在設計測試扇時,一般是微根據(jù)遙“馬假定環(huán)境正省確格”賭的原則。要嬸測一個程序活,需要假定擱測試程序中油的輔助部分鬼是正確的。松例如測文件暮read(跌)時,假定園open(鄙),clo卸se()都任是好的。否漠則的話在測糠試程序中對暈于open碰()灑和clos軍e()站的結果要檢禿查,要處理秧文件打開有儀誤的各種意智外情況,使面得測試程序艷非常臃腫,逢讀起來使人上不得要領。尾設計測試方盜案時還需要下考慮結果的候測量方法。鞭一般情況下穿收集程序的建輸出結果就漁夠了,這樣驚做也比較容蜜易。但是有座些測試的結稼果是很難測欺量的,例如挖要測一個程布序占用內(nèi)存萬大小的峰值悄。者設計測試情救況衡這是測試工站作的主要部朵分。一般來肌說,一個軟懇件不可能被鵝“苗徹底飯”菜測試。只能傳是盡量涵蓋再常用的功能調(diào)和運行條件酸。講常用的測試泥情況設計思甚路為:首先荒考慮珍正常條件下代正常工作,拿其次是錯誤耕條件下正確灶處理,包括或給出相應的科錯誤碼和錯彼誤信息。但刪是,考慮到資軟件的效率炭和復雜性,芳并不是每一盟種錯誤都必拍須處理。所登以軟件手冊彼里可以說明束在某些輸入賄條件下,結挺果不可預見匯,或者引起恭軟件崩潰。插其中,由于熟邊界是軟件剛容易出錯的拴地方朵,所以要特斧別注意進行登邊界測試逆。例如整數(shù)珠中的0和6淘5535,盞指針中的空農(nóng)指針和指到偶無效地址的廊指針等。以晉上所述為對羊程序進行正超確性測試,臂通常還要進些行性能測試容,例如系統(tǒng)驚的響應時間店,容量等等況。極限測試憤也很重要,點例如,系統(tǒng)陜內(nèi)最多可創(chuàng)學建多少個進遷程,應用程步序最多可以逮使用的內(nèi)存歉等等。銅編寫測試程安序濁設計了測試貪情況之后,纏就可以編寫綁測試程序。朵這是測試程艦序庫的主要紡來源。需要掠一支測試隊藝伍,系統(tǒng)、釘全面、深入切地編寫測試努程序。測試的運行躺運行測試的屬方法可以分性為人工運行減和自動運行賭兩種。芒在不少情況茅下人工測試跳是不可避免美的。例如收罩集標準答案鼠時,要人工仇檢查是否符具合預期的值吸,如果符合牢預期值,就漢保存起來作田標準答案。煩有些程序有擇特殊的運行跑環(huán)境,例如紅人機交互方候式,需要操沒作某些外部憲設備。最常祥見的是有圖父形界面的程宗序,很難進互行自動測試浴??煺嬲杏玫膸褪亲詣舆\行任。測試程序早通常都和d知aily
燥build飄相連,例如耗每天bui滿ld兩遍,另從源程序開撥始buil罰d,然后運鉆行程序獲得無報告,明這禽等于監(jiān)護源牙程序,因此滔只有自動運組行才能滿足旗測試周期短進的要求。頸還有的時候把需要子集運地行,測試程安序特別多的灰時候有可能鈔運行較長時遵間,在某些跳情況下每次塞只能運行一反個子集。部測試的結果聯(lián)和Bug報悶告瘋最常見的測紛試結果是測庭試報告:列虛出成功,失緞敗統(tǒng)計報表霞,失敗詳情造,輸入情況話,出錯現(xiàn)象寨等。悉有時候根據(jù)采測試結果要煤立即采取行舟動。緊急情控況要緊急搶客修,關閉豪源程序樹,姻停止改動。牙解決兩個糾伙纏在一起的昂問題比單獨觸解決它們更病難孔,帳因為那樣將詞無法發(fā)現(xiàn)新翅問題。所以半要避免在一同個有問題的苦系統(tǒng)上進行睜改動和開發(fā)兆新程序。病測試隊伍擔朵負著質(zhì)量糾鹿察隊的角色美,測試中發(fā)凝現(xiàn)新問題時榨,要登錄b柱ug,填寫初bug報告舍,并要跟蹤彼此bug的測解決情況。徒測試人員要亂對最終發(fā)布綱產(chǎn)品的質(zhì)量爪負責。薪組件技術就以及晃基于組件技瓦術的軟件工畫程學方法吹按照組件化等程序設計的注思想,復雜鹿的應用程序擱被設計成一襖些小的、功轎能單一的組嘉件模塊,這逢些組件模塊需可以運行在顧同一臺機器傭上,也可以誕運行在不同欲的機器上賣,甚至可以棕運行在跨越詠太平洋的兩市臺機器上?;樵诶硐氲那榱隂r下,每臺斥機器的運行夾環(huán)境可以不殿同,甚至可纏以是不同的牽操作系統(tǒng)。漆為了實現(xiàn)這務樣的應用軟靜件,組件程冠序和組件程娃序之間需要甚一些極為細倚致的規(guī)范,獄只有組件程牢序遵守了這肥些共同的規(guī)素范,軟件系珠統(tǒng)才能正常拴運行。為此燥OMG(O招bject拘Mana嚇gemen隔tGro劈up,對象陜管理組織)盲和Micr云osoft沸分別提出了本CORBA素(Comm涂onOb紅ject啟Reque采stBr補eaker疾Arch往itect器ure,公交共對象請求綢中介體系結睡構)和CO遭M(Com戶ponen思tObj腹ectM豐odel,寬組件對象模括型)標準,達目前COR怖BA模型主虎要應用于U尸NIX操作附系統(tǒng)平臺上火,而COM戶則主要應用股于Micr散osoft灶Wind辭ows操作瓶系統(tǒng)平臺上輔。蛇隨著Int未ernet亭時代的到來膏,COM技嘆術已經(jīng)應用紙于越來越多傷的分布式系夫統(tǒng)當中饑。謀COM規(guī)范預具有鑒如下的一些才特點。血語言無關性姥:這武是指COM皺規(guī)范的定義弊不依賴于特總定的語言,元編寫組件對吹象所使用的睬語言與編寫容客戶程序使扭用的語言可落以不同,只田要它們都能微夠生成符合盞COM規(guī)范遞的二進制代文碼;海進程透明特倍性:再COM所提哥供的服務組配件對象在實胸現(xiàn)時有進程消內(nèi)對象和進矮程外對象兩衡種進程模型騾,如果是進鵲程內(nèi)對象,蠅則組件在客搖戶進程空間業(yè)運行,如果擇是進程外對直象,則組件憐運行在同一充機器上的另綠一個進程空伯間或者在遠妻程機器的進田程空間中,喂但這種區(qū)別仗對于客戶來催說是透明的斥,這就是C儉OM的透明貓?zhí)匦?;炭可重用性:登COM的可篇重用性是建循立在二進制薪代碼級的,也與C++中觀所說的顆可重用性不彈同,它使復疏雜的系統(tǒng)簡脅化為一些簡交單的對象模劫塊;韻對于使用組確件的集成開簡發(fā)者而言晶,機一個組件就礎是一個接口啄集涼,粒只有通過接建口才能與組計件進行通信誰;下而對于組件親來說背,吊接口是包含地一個函數(shù)指資針數(shù)組的內(nèi)決存結構畏,秘每個數(shù)組元妄素的內(nèi)容是院一個由組件距所實現(xiàn)的函爽數(shù)地址。在唇一個應用程喪序中誤,秧起決定作用糞的是組件的刺接口而不是香組件本身。甩只要組件的糧接口保持不蘭變辭,辦組件可以任場意升級或更沸換漲,枝而應用程序側不必做任何申修改。接口吉將特定的行始為封裝起來產(chǎn),墨一方面使客尿戶可以用同盾樣的方式處輸理不同組件業(yè),序一方面同一換組件可以在委不同的應用揉中使用。這嚷些特點決定弱了組件必然撒有很好的重嗽用性。恨以COM為吵例,仇其重用性主已要表現(xiàn)在以番下的使用場憲合:需COM組毒件并不是專妹為一種Wi騰ndows惡平臺而設計寶的誓,于同一COM揭組件可以在畏Win95墓、Win9頸8、Wor源kstat盞ion及N偏T上使用。嘩組件既可以物被嵌入動態(tài)黎Web頁面踢,私又可以在L郵AN或桌面演環(huán)境的VB田和VC等應飯用中使用嗓;輛COM組外件之間是彼好此獨立的。鹿當應用需求汽發(fā)生變更時替,可能需要舒更換中間層粱的個別CO歪M組件,但滲這并不會影寒響其他組件薪的繼續(xù)使用付。燦COM組休件具有若干習對外接口(瓶屬性和方法絮),相當于蹈芯片的奉“例管腳醒”量。根據(jù)不同固的應用需求圣,可以有選絮擇地使用不鑼同的管腳。窩即使某些管搏腳被茅“污廢棄衰”驕,COM組獄件本身仍然腰可繼續(xù)使用遣。仙同一COM困組件可以在撲不同的應用汁環(huán)境中重復旱使用。CO禿M組件不一王定是為專門譽的系統(tǒng)而設夫計,可以有執(zhí)較寬的應用去領域,不會質(zhì)因為某一系悄統(tǒng)的扎“積過時幅”源而被恭“障廢棄擾”臺。轉組件夜技術以峰其較高的可您重用性排向人們茫展示了一種腎嶄新的軟件滲設計思路融,它對軟件狗項目的開發(fā)登很有幫助,讓可是使得軟蘭件具有良好逢的模塊化特覆性。調(diào)與傳統(tǒng)的軟戀件開發(fā)不同首,陵在基于組件勝對象的軟件房工程中應著炒重進行組件肺的規(guī)劃、設鍬計與開發(fā)。妖如何將傳統(tǒng)系的軟件工程效學和組件對沸象合理地結勻合在一起是,黑至今還處在蓮發(fā)展和完善擴階段迅,璃達成共識仍飄需時日。一宮般而言錢,猛在軟件開發(fā)究的過程中,點首先應逐步槽深入對組件弱進行功能分完析、規(guī)劃和族對外接口的宅設計塘,芳進而落實內(nèi)丹部細節(jié)的實經(jīng)現(xiàn),最終完鉗成組件的部夠署與管理。蜻以COM為慈例經(jīng),稅一般來說韻,喉COM組件極的規(guī)劃應遵叉循以下原則已:稿用戶對于數(shù)活據(jù)庫的請求肝應通過CO福M組件實現(xiàn)筑。將訪問權辭限授予C荷OM組件逗,效保證了訪問乳數(shù)據(jù)庫的安匠全性賺,超把對每個用龜戶的連接變泳成和COM剩組件的連貓接撇,以避免數(shù)液據(jù)庫資源的也浪費和崩潰堵的危險。福組件粒度不麗宜過大口,套盡量讓每一流個COM組門件實現(xiàn)某一絨個或一類相何似的應用請鎮(zhèn)求鉤,先而不要追求午其功能的過覆分繁多。保教證每個組件者對象完成的稼商務邏輯功腰能相對單一精,愚有助于重用顛機制買的發(fā)揮俱。依COM組件燦與用戶的接促口應盡量簡恩單、友好。予COM組件稼如果是可視羅的(Act血iveX控嫌件叮),酷則只能有一消個可視化界線面。喚與傳統(tǒng)的軟炊件工程學有純所不同樹,結基于組件對逗象的應用系顯統(tǒng)是由組件曉實現(xiàn)特定應梨用處理和商盒務邏輯計算前任務絹,聽而其具體實遺現(xiàn)對集成開抱發(fā)人員來說者是封裝好的脂,剛他們不必耗勞費精力去關犯心實現(xiàn)細節(jié)豪,由只需規(guī)定應蕉用系統(tǒng)與組挪件的接口磁,晴指明在何時牛、何處調(diào)用摟哪個組件即篩可。醫(yī)組件的接口游在整個應用鐘系統(tǒng)中起決燙定性作用。棄接口設計不殊合理蘋的話,喝不僅影響組把件本身的可憶重用性鄭,懇并且將影響番整個應用系沃統(tǒng)的升級柔,弱縮短系統(tǒng)的蒙生命周期。默所以確定組惠件的接口要挑經(jīng)過深思熟煌慮迷,要暫使它能支持睬各種不同的叼應用。林接口應具有峽較高的通用寒性話,休以提高整個竟應用系統(tǒng)的仰復用能力喝,濾同時還要兼模顧簡單和實花用性。舉例弟說南,蛛如果需要定碎制一個組件哈訪問特定的妥數(shù)據(jù)庫并將柳結果返回給訂用戶。若只胡是為該系統(tǒng)節(jié)設計,可以晃將庫名、表笑名、訪庫語色句全部封裝腔在組件內(nèi)部賣,粒這樣的組件衫接口簡單找,途但重用性很迷小。若將庫貼名、表名等蘇作為組件的陡接口懷,題組件的重用貧性大大提高姐了者,智但接口復雜邀了悔,林不利于組件測的拆換。建厲議的做法是貌,如果希望腿系統(tǒng)有再次玻開發(fā)或移植潮的潛力丈,服可以將庫表臘名作為接口恢,跪訪庫語句應餡封裝在組件徐內(nèi)部項。報如果將訪庫隔權限交給用螞戶神,邁既不利于數(shù)欄據(jù)庫的安全楊性甚,層也會給應用址程序帶來很轟大的負擔。澤組件的內(nèi)部腳實現(xiàn)細節(jié)不造能反映到接何口中慧,樂接口同內(nèi)部缸實現(xiàn)細節(jié)的生隔離程度越濱高伐,槐組件或應用密發(fā)生變化對聞接口的影響逗就越小。在痕設計組件接歌口時煎,漢還要盡量估既計到將來可梳能出現(xiàn)的各費種情況輩,繩力爭設計出訴具有高復用勾性、適應性粉和靈活性的衣接口。央完成系統(tǒng)的屢詳細設計之劑后,接下來漆進行組件的但開發(fā)和測試評。組件不依壁賴于特定語效言,開發(fā)擾者可根據(jù)實似際需要選擇籍使用VB、若VC或Ja產(chǎn)va作為開群發(fā)工具。C匯OM組件的現(xiàn)開發(fā)工作可菌委托給專門劍的開發(fā)組。價組件的接口才一旦確定鋒,遙組件的開發(fā)役和應用系統(tǒng)協(xié)實現(xiàn)的其他柜工作可由各沫個專門小
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度物業(yè)公司保安員夜間值班與休息合同
- 二零二五年度電梯井施工與電梯設備保養(yǎng)合同
- 2025年度幼兒園招生加盟與品牌轉讓合作協(xié)議
- 二零二五年度情感關系建立合同
- 二零二五年度2025年門面房租賃與社區(qū)配套服務合同
- 二零二五年度精裝修公寓房購買與戶外休閑設施使用合同3篇
- 二零二五版奶粉生產(chǎn)廢棄物資源化利用服務合同范本頁22篇
- 2025年度影視基地場地租賃合同及影視制作服務協(xié)議3篇
- 二零二五版電子商務SET協(xié)議安全風險評估與風險控制合同3篇
- 二零二五版淋浴房市場推廣與廣告投放合同3篇
- 2024山西廣播電視臺招聘專業(yè)技術崗位編制人員20人歷年高頻500題難、易錯點模擬試題附帶答案詳解
- 新材料行業(yè)系列深度報告一:新材料行業(yè)研究框架
- 人教版小學英語各冊單詞表(帶英標)
- 廣東省潮州市潮安區(qū)2023-2024學年六年級上學期期末考試數(shù)學試題
- 鄉(xiāng)村治理中正式制度與非正式制度的關系解析
- 智能護理:人工智能助力的醫(yī)療創(chuàng)新
- 國家中小學智慧教育平臺培訓專題講座
- 5G+教育5G技術在智慧校園教育專網(wǎng)系統(tǒng)的應用
- VI設計輔助圖形設計
- 淺談小學勞動教育的開展與探究 論文
- 2023年全國4月高等教育自學考試管理學原理00054試題及答案新編
評論
0/150
提交評論