劉偉 朱曉非 聶亞平
1.徐州醫(yī)學(xué)院醫(yī)學(xué)信息學(xué)院,江蘇 徐州 221000
2.中國(guó)電信公司徐州分公司,江蘇 徐州 221000
淺談軟件工程和CASE工具的運(yùn)用
劉偉1朱曉非2聶亞平1
1.徐州醫(yī)學(xué)院醫(yī)學(xué)信息學(xué)院,江蘇 徐州 221000
2.中國(guó)電信公司徐州分公司,江蘇 徐州 221000
隨著計(jì)算機(jī)技術(shù)的發(fā)展,軟件的開發(fā)越來(lái)越復(fù)雜,為了能夠提高軟件的質(zhì)量和生產(chǎn)效率,提出了軟件工程的概念,采用工程的概念、原理、技術(shù)和方法來(lái)進(jìn)行軟件的開發(fā)和維護(hù),最終實(shí)現(xiàn)軟件的工業(yè)化生產(chǎn),在這個(gè)過(guò)程計(jì)算機(jī)輔助軟件工程(CASE)的工具起到了重要的作用,文中介紹了常用的CASE工具和特點(diǎn)。
軟件工程;CASE
軟件是人類智慧的結(jié)晶,催化著人類社會(huì)從工業(yè)社會(huì)到信息社會(huì)的巨大變革,不管是生物工程、現(xiàn)代通信還是商務(wù)處理、工業(yè)控制方面,軟件都發(fā)揮著巨大的作用,可以說(shuō)軟件對(duì)整個(gè)社會(huì)的經(jīng)濟(jì)和文化都產(chǎn)生了深遠(yuǎn)的影響。在計(jì)算機(jī)誕生的初期,計(jì)算機(jī)軟件僅是計(jì)算機(jī)硬件的附屬品,而隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,軟件在整個(gè)信息系統(tǒng)的成本中比重也越來(lái)越高,有的軟件甚至需要幾百甚至上千人經(jīng)過(guò)幾年的團(tuán)結(jié)協(xié)作才能夠完成。這些使得軟件的開發(fā)越來(lái)越復(fù)雜,怎么能讓軟件項(xiàng)目成功的實(shí)現(xiàn)目標(biāo),控制好開發(fā)成本,保證好交付時(shí)間和產(chǎn)品性能就成了我們所必須面對(duì)的問(wèn)題,也就是軟件工程產(chǎn)生發(fā)展的原因所在。而隨著軟件工程的產(chǎn)生和發(fā)展,一大批工具應(yīng)運(yùn)而生在軟件的開發(fā)、維護(hù)、管理過(guò)程中都起到了重要的輔助的作用,這就是CASE(計(jì)算機(jī)輔助軟件工程,Computer Aided Software Engineering)工具。這些工具有進(jìn)行分析設(shè)計(jì)的,有進(jìn)行測(cè)試的,還有進(jìn)行配置和項(xiàng)目管理的,下面我們分別進(jìn)行介紹。
在分析設(shè)計(jì)階段,我們要著手分析、整理和提煉所收集到的客戶需求,建立完整的需求分析模型,編寫軟件需求規(guī)格說(shuō)明,理出軟件必須滿足的所有約束條件并定義軟件的輸入和輸出接口。
1.1 Rational Rose
Rational Rose 是用來(lái)分析與設(shè)計(jì)面向?qū)ο筌浖到y(tǒng)的強(qiáng)大工具,也是當(dāng)前最流行的可視化軟件開發(fā)工具之一。它包括了統(tǒng)一建模語(yǔ)言(UML,unified modeling language),面向?qū)ο蟮能浖こ蹋∣ O S E,O b j e c toriented software engineering),以及對(duì)象建模技術(shù)(OMT,Object Modeling Technology)。因?yàn)镽ational公司的Grady Booch、Ivar Jacobson、和Jim Rumbaugh三位專家就是統(tǒng)一建模語(yǔ)言(UML)的創(chuàng)造人,所以Rational Rose在可視化建模軟件方面有著堅(jiān)實(shí)的理論基礎(chǔ)。Rational Rose 功能非常全面,它既能滿足對(duì)Visual Studio、C++的建模需求,也能給Web開發(fā)等方面的建模提供解決方案。Rational Rose 允許軟件開發(fā)中各個(gè)層次的人員在軟件開發(fā)周期內(nèi)直接將需求和系統(tǒng)的體系架構(gòu)轉(zhuǎn)換成代碼,這樣減少了大量的時(shí)間和精力的浪費(fèi)。
1.2 Together
Together是Borland公司的一款產(chǎn)品,它源于Jbuilder中的UML建模工具,集成了JavaIDE。這是一款優(yōu)秀的建模工具,可以支持多種語(yǔ)言。在開發(fā)團(tuán)隊(duì)的開發(fā)過(guò)程中,Together允許成員在他們所熟悉的開發(fā)環(huán)境中工作。Borland Together版本與下列平臺(tái)進(jìn)行了集成:Borland JBuilder, Eclipse,SAP Netweaver Studio, Microsoft Visual Studio.NET以及Borland C++BuilderX。Together能夠支持所有主要的UML圖表,可以自動(dòng)進(jìn)行模型的同步,支持業(yè)界標(biāo)準(zhǔn)的模式。Together還使用度量為開發(fā)團(tuán)隊(duì)提供衡量軟件項(xiàng)目復(fù)雜程度、質(zhì)量與規(guī)模的能力。通過(guò)度量與比對(duì),管理人員能夠知曉開發(fā)團(tuán)隊(duì)與開發(fā)過(guò)程的質(zhì)量與效率,更好地針對(duì)當(dāng)前與未來(lái)的項(xiàng)目進(jìn)行量化。
1.3 Enterprise Architect
Enterprise Architect是一個(gè)全功能Visual CASE工具,它主要用于設(shè)計(jì)、編寫、構(gòu)建并管理以目標(biāo)為導(dǎo)向的軟件系統(tǒng)。它覆蓋了系統(tǒng)開發(fā)的整個(gè)周期,除了開發(fā)類模型之外,還包括事務(wù)進(jìn)程分析,使用案例需求,動(dòng)態(tài)模型,組件和布局,系統(tǒng)管理,非功能需求,用戶界面設(shè)計(jì),測(cè)試和維護(hù)等,所以Enterprise Architect能夠?yàn)檎麄€(gè)開發(fā)團(tuán)隊(duì)工作,包括分析人員、測(cè)試人員、項(xiàng)目經(jīng)理、品質(zhì)控制和部署人員等。Enterprise Architect基于多用戶的Windows平臺(tái),所以還可以方便靈活的輸出高品質(zhì)的文檔,方便用戶和MS Word配合工作。
軟件的測(cè)試是采用從無(wú)限執(zhí)行域中適當(dāng)挑選的有限測(cè)試用例集,對(duì)照預(yù)期指定的行為動(dòng)態(tài)驗(yàn)證程序?qū)嶋H行為的過(guò)程,包括基本概念、測(cè)試級(jí)別、測(cè)試技術(shù)、測(cè)試相關(guān)度量和測(cè)試過(guò)程管理。
2.1 Junit
Junit是一個(gè)開放源代碼的Java測(cè)試框架,由肯特·貝克和Erich Gamma建立,逐漸成為了源于Kent Beck的sUnit的xUnit家族中為最成功的一個(gè),用于編寫和運(yùn)行可重復(fù)的單元測(cè)試。它是在極限編程和重構(gòu)(refactor)中被極力推薦使用的工具,因?yàn)樵趯?shí)現(xiàn)自動(dòng)單元測(cè)試的情況下可以大大的提高開發(fā)的效率。Junit有以下幾個(gè)好處:使測(cè)試代碼和產(chǎn)品代碼分開;針對(duì)某一個(gè)類的測(cè)試代碼通過(guò)較少的改動(dòng)便可以應(yīng)用與另一個(gè)類的測(cè)試;易于集成到測(cè)試人員的構(gòu)建過(guò)程中,Junit和Ant的結(jié)合可以實(shí)施增量開發(fā);Junit是公開源代碼的軟件,可以進(jìn)行二次開發(fā)。
2.2 Robot
Rational Robot可以對(duì)使用各種集成開發(fā)環(huán)境(IDE)和語(yǔ)言建立的軟件以用程序,創(chuàng)建、修改并執(zhí)行自動(dòng)化的功能測(cè)試、分布式功能測(cè)試、回歸測(cè)試和集成測(cè)試。Rational Robot 是IBM Rational 的產(chǎn)品之一,可以使用一種以上的 IDE 和(或)編程語(yǔ)言開發(fā)應(yīng)用程序。它使新測(cè)試人員輕松進(jìn)入自動(dòng)化,甚至可以在測(cè)試人員學(xué)習(xí)高級(jí)腳本技術(shù)之前幫助其進(jìn)行成功的測(cè)試。Rational Robot 可以自動(dòng)記錄所有測(cè)試結(jié)果,并在測(cè)試日志查看器中對(duì)這些結(jié)果進(jìn)行顏色編碼,以便進(jìn)行快速可視分析。
2.3 LoadRunner
LoadRunner是Mercury Interactive公司的產(chǎn)品,它是一種測(cè)試系統(tǒng)行為和性能的負(fù)載測(cè)試工具,它通過(guò)以模擬上千萬(wàn)用戶實(shí)施并發(fā)負(fù)載及實(shí)時(shí)性能監(jiān)測(cè)的方式來(lái)確認(rèn)和查找問(wèn)題。LoadRunner的測(cè)試對(duì)象是整個(gè)企業(yè)的系統(tǒng),能支持廣泛的協(xié)議和技術(shù)。它先記錄下業(yè)務(wù)流程,然后將業(yè)務(wù)流程轉(zhuǎn)化為測(cè)試腳本。通過(guò)建立虛擬用戶,在Windows ,UNIX 或Linux 機(jī)器上可以同時(shí)產(chǎn)生成千上萬(wàn)個(gè)用戶訪問(wèn)。使用LoadRunner能極大的減少負(fù)載測(cè)試所需的硬件和人力資源。
軟件配置管理是在明確的時(shí)間點(diǎn)上確定系統(tǒng)的配置,從而保證在整個(gè)系統(tǒng)生命周期中系統(tǒng)地控制配置的變化并維護(hù)配置的完整性和可跟蹤性。
3.1 VSS
VSS即Visual SourceSafe是微軟公司為VisualStudio配套開發(fā)的一個(gè)小型的配置管理工具。作為 Microsoft Visual Studio 的一名成員,它主要任務(wù)就是負(fù)責(zé)項(xiàng)目文件的管理,幾乎可以適用任何軟件項(xiàng)目。它通過(guò)提供一套完善的版本和配置管理功能,以及安全保護(hù)和跟蹤檢查功能進(jìn)行源代碼的控制。各種文檔包括文本文件、圖像文件、二進(jìn)制文件以及聲音、視頻文件等都可以存入數(shù)據(jù)庫(kù)進(jìn)行管理,根據(jù)需要可以隨時(shí)快速有效的取出來(lái)共享,文件的每次改動(dòng)都會(huì)被記錄下來(lái),可以隨時(shí)恢復(fù)早期的版本。
3.2 ClearCase
ClearCase是IBM Rational系列中的一員,是目前應(yīng)用最廣的企業(yè)級(jí)、跨平臺(tái)配置管理工具之一,它實(shí)現(xiàn)了綜合軟件配置管理,包括版本控制、工作空間管理、過(guò)程控制和建立管理。作用上ClearCase和VSS,CVS類似,但是功能上ClearCase要強(qiáng)大的多,而且可以與WINDOWS資源管理器集成使用,還可以與很多開發(fā)工具集成在一起使用。不足的地方是ClearCase對(duì)配置管理員的要求比較高,產(chǎn)品的價(jià)格成本也較高。
3.3 CVS
CVS是開放源代碼的一款產(chǎn)品,具有簡(jiǎn)單易用、功能強(qiáng)大且跨平臺(tái)、支持并發(fā)版本控制等優(yōu)點(diǎn),所以在全球的很多中小型的企業(yè)都采用它作為配置管理工具。
軟件的項(xiàng)目管理主要包括項(xiàng)目啟動(dòng)和范圍定義、計(jì)劃的制訂、規(guī)定的建立、項(xiàng)目評(píng)審和評(píng)價(jià)、項(xiàng)目收尾等。
4.1 MS Project
MS Project是國(guó)際流行的項(xiàng)目管理軟件,適用于國(guó)民經(jīng)濟(jì)的各個(gè)領(lǐng)域,里面凝集了許多成熟的項(xiàng)目管理現(xiàn)代理論和方法。它提供了強(qiáng)大的功能和更直觀的界面來(lái)簡(jiǎn)化規(guī)劃、協(xié)作和資源管理,以便成功處理各種項(xiàng)目。通過(guò)MS Project,個(gè)人、團(tuán)隊(duì)和企業(yè)可通過(guò)添加 MS Project Server來(lái)實(shí)現(xiàn)統(tǒng)一的項(xiàng)目和資產(chǎn)組合管理,確保組織選擇和交付正確的項(xiàng)目,同時(shí)還可使組織更深入地了解和控制資源,從而幫助組織提高運(yùn)營(yíng)效率和經(jīng)營(yíng)績(jī)效。
4.2 RUP
Rational RUP可以控制項(xiàng)目生命周期的迭代和增加,它為項(xiàng)目的執(zhí)行提供了必需的細(xì)節(jié):包括指南、模板以及輔助工具。它是最佳軟件開發(fā)經(jīng)驗(yàn)的總結(jié),包括了軟件開發(fā)中的六大經(jīng)驗(yàn):迭代式開發(fā);管理需求;使用基于組件的軟件體系結(jié)構(gòu);可視化建模;驗(yàn)證軟件質(zhì)量;控制軟件變更。由于UML和RUP都是Rational公司的研究成果,兩者有天然的聯(lián)系。所以RUP的文檔里面充滿了UML模型,需求建模、分析與設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試等階段的角色的主要工作都是用UML來(lái)描述的。
隨著軟件技術(shù)的發(fā)展,一大批計(jì)算機(jī)輔助軟件工程工具應(yīng)運(yùn)而生,使得軟件開發(fā)團(tuán)隊(duì)在開發(fā)軟件的過(guò)程中逐步的工程化和自動(dòng)化,實(shí)現(xiàn)了軟件開發(fā)效率的提高和質(zhì)量的提高。如今的CASE工具成為了軟件工程領(lǐng)域里的一個(gè)重要的分支,貫穿于整個(gè)軟件的開發(fā)過(guò)程,但是要進(jìn)一步認(rèn)識(shí)到,在解決軟件危機(jī)的問(wèn)題時(shí),新的技術(shù)和CASE工具是一個(gè)方面,加強(qiáng)軟件開發(fā)過(guò)程的規(guī)范也同樣重要,只有這樣才能管理和控制好軟件產(chǎn)品的質(zhì)量。
[1]王凌,馮惠.計(jì)算機(jī)輔助軟件工程(CASE)工具的選擇與采用[J].小型微型計(jì)算機(jī)系統(tǒng),2001,22(12):1519~1522.
[2]佟玉軍,陳文實(shí),趙悅等.CASE工具及其應(yīng)用分析[J].遼寧工學(xué)院學(xué)報(bào)(自然科學(xué)版),2003,23(1):26~28.
[3]郭兵,謝峻,趙平原等.工具總線:CASE環(huán)境的一種新結(jié)構(gòu)[J].系統(tǒng)工程與電子技術(shù),2003,25(5):600~603.
[4] 張志鵬.軟件工程工具的集成技術(shù)研究[D].北京機(jī)械工業(yè)學(xué)院,2007.
[5]孫家廣.軟件工程-理論、方法與實(shí)踐[M].北京:高等教育出版社,2005.
10.3969/j.issn.1001-8972.2012.14.048
劉偉 (1978-),男,江蘇徐州人,碩士在讀,講師,研究方向?yàn)镠is系統(tǒng),軟件工程,計(jì)算機(jī)教育。