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