技術領域:
本發明涉及計算機軟件開發技術領域,尤其涉及一種軟件開發的系統和方法。
背景技術:
:
任何一種軟件產品的開發大都不是一個人可以完成的,往往需要多人協同開發。在軟件開發過程中,需要不斷地對代碼進行修改和調試。
在實現本發明的過程中,發明人發現,現有的開發軟件的流程將編寫代碼和測試代碼的過程分開,并屬于不同的系統,使得開發人員和測試人員的工作不能在團隊中共享。并且,程序代碼經過多次的修改調試后,同題的記錄和管理也比較困難。由于軟件開發流程沒有統一的管理,以使得軟件開發的進程緩慢。
技術實現要素:
本發明的實施例提供一種軟件開發的系統和方法,能夠提高軟件開發進程。
為達到上述目的,本發明的實施例采用如下技術方案:
一種軟件開發的系統,包括:
創建模塊,置于客戶端,用于創建程序代碼;
版本管理模塊,置于服務器端,用于保存由所述創建模塊創建的程序代碼;
提交模塊,置于客戶端,用于將由所述創建模塊創建的程序代碼傳送至所述版本管理模塊中;
測試模塊,置于客戶端,用于從所述版本管理模塊中獲取程序代碼進行測試;
缺陷管理模塊,置于服務器端,用于保存由所述測試模塊獲取的所述程序代碼缺陷。
一種軟件開發的方法,包括:
由所述創建模塊創建程序代碼;提交模塊將所述程序代碼傳送至置于服務器端的版本管理模塊中,由所述版本管理模塊保存所述程序代碼;測試模塊從所述版本管理模塊中獲取程序代碼進行測試;由缺陷管理模塊保存由所述測試模塊獲 取的程序代碼缺陷。
本發明實施例提供的軟件開發的系統和方法,通過將程序代碼的創建、測試、修改等工作集成在一個系統中,使得開發人員和測試人員的工作能夠在團隊中共享;并且,代碼缺陷也由專門的模塊來管理,使得修改的代碼缺陷能清楚地記錄。解決了現有技術中由于沒有統一的開發流程管理,而造成的軟件開發進程緩慢的同題。本發明的實施例提供的軟件開發的系統和方法,能夠提高軟件開發進程。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明實施例提供的軟件開發的系統結構示意圖;
圖2為本發明實施例提供的軟件開發的方法流程圖。
具體實施方式:
為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有付出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范國。
為了解決現有技術中由于軟件開發流程沒有統一的管理,而造成的軟件開發違程緩慢的同題,本發明實施例提供一種軟件開發的系統和方法。
如圖1所示,本發明實施例提供的軟件開發的系統,包括:
創建模塊,置于客戶端,用于創建程序代碼。在本實施例中,采用企業級工作平臺myeclipse(myeclipseenterpriseworkbench,myeclipse)來編寫代碼。myeclipse是對java集成開發環境eclipseide的擴展,利用它可大大提高工作效率。
復查模塊,置于客戶端,用于對由所述創建模塊創建的程序代碼進行代碼質 量審核,并創建質量審核文件。在本實施例中,開發人員編寫出代碼后,采用jupiter軟件來審核代碼,以糾正代碼在格式等方面不規范的1同題。創建的質量審核文件以擴展標記語言xml的形式存儲,并且,該質量審核文件中的同題與具體的代碼之間有對應關系,例如,在實際使用的過程中,可以通過點擊質量審核文件中具體的同題跳轉到該問題所對應的代碼段,還可以通過點擊有質量1同題的代碼段跳轉到具體的1同題描述。并且,該質量審核文件中的問題列表還支持各種查詢方式,例如,可以根據所述同題的責任人查詢,也可以根據所述問題所處的狀態查詢。
提交模塊,置于客戶端,用于將由所述創建模塊創建的程序代碼傳送至所述版本管理模塊中。在本實施例中,通過subclipse軟件提交代碼到服務器,實現在客戶端就可以對服務器上的代碼進行管理的功能。開發人員可以在myeclipse中邊寫代碼邊提交。
版本管理模塊,置于服務器端,用于保存由所述創建模塊創建的程序代碼。在本實施例中,所述版本管理模塊為版本管理軟件subversion,簡稱snv。svn接收由subclipse傳送來的代碼,并保存。
測試模塊,置于客戶端,用于從所述版本管理模塊中獲取程序代碼進行測試;
缺陷管理模塊,置于服務器端,用于保存由所述測試模塊獲取的所述程序代碼缺陷。在本實施例中,所述缺陷管理模塊為bugfree軟件,該bugfree軟件和所述版本管理軟件subversion可以安裝在同一臺服務器上,也可以安裝在不同的服務器上。bugfree和subversion可以適過對具體文件的參數配置,實現西個軟件的結合使用,即實現bugfree與subversion同步更新修改后的程序代碼的功能。所述修改后的程序代碼由所述myeclipse創建,并由所述subclipse傳送到subversion中。此外,該缺陷管理模塊還用于創建所述更新程序代碼的日志,將更新代碼的動作記錄下來。具體的過程如下:當開發人員在bugfree中發現代碼缺陷時,在myeclipse中修改代碼,并由subclipse傳送到subversion中。例如,假設修改的代碼為branch/bugfree2.0_demo/bug.php,該代碼的缺陷bug號為123,則在提交代石碼時,在提交注釋中寫明svnci-m’fixbug#123’,表明修改了bug123。修改后的新代碼提交到subversion中,同時,查看bugfree中bug號為123的bug,會發現其多了一行類似以下格式的注釋:
changeset[510]byfranc,2009-11-1009:09:09+0800(tues.11sep2009)
ubranch/bugfree2.0_demo/bug.php[diff]
其中,[510]表示提交后的版本號,franc表示提交人;
2009-11-1009:09:09+0800(tues.11sep2009)是提交時問;
ubranch/bugfree2.0_demo/bug.php是修改的文件列表,若一次提交有多個修改的文件,則分行顯示;[diff]表示該版本與前一版本的差異比較鏈接。
下面對實現bugfree和subversion軟件結合的具體方法進行詳細描述:
首先下載壓縮文件bugfreeforsvn.tar.gz,其中包含西個文件svn_ci.php和post-commit,其中,post-commit是執行文件,它通過調用svn_ci.php來實現bugfree和subversion功能的結合。將所述post-commit文件放置在subversion的hooks目錄下,將svn_ci.php放置在subversion的任意一個指定目錄下;其次,修改所述svn_ci.php和post-commit文件中的配置參數:
修改svn_ci.php:
define(apinewline’,chr(0x03));//api行分隔符,默認不用修改
define(apidevider’,chr(0x04));//api列分隔符,默認不用修改
define(’apikey’,’yourkey’);//api加密key
define(api’,“http://127.0.0.1/bugfree/api.php”);//bugfree的apidefine(user_name’,’admin’);//用于向bugfree提交svn信息的用戶define(’user_password’,’e10adc3949b59abb057f20f883e’);//用戶
加密后的密碼define(’viewvc’,’http://bugfree.svn.sourceforge.net/viewvc/bugfree/’);//viewvc查看代碼的根地址修改post-commit:
php_exe=/phppath/php’#php可執行文件的路徑
check_in_php=’/somwhere/svn_ci.php’#svn_ci.php的路徑
svn_look_exe=’/svnpath/svnlook’#svnlook可執行文件的路徑
將上述參數配置好后,就可以實現bugfree與subversion的同步更新了。
本發明實施例提供的軟件開發的系統,通過將程序代碼的創建、測試、修改等工作集成在一個系統中,使得開發人員和測試人員的工作能夠在團隊中共享;并且,代碼缺陷也由專門的模塊來管理,使得修改的代碼缺陷能清楚地記錄。解 決了現有技術中由于沒有統一的開發流程管理,而造成的軟件開發進程緩慢的問題。本發明的實施例提供的軟件開發的系統,能夠提高軟件開發進程。
如圖2所示,本發明實施例還提供一種軟件開發的方法,包括:
步驟201,由所述創建模塊創建程序代碼;
步驟202,由復查模塊對所述程序代碼進行代碼質量審核,并創建質量審核文件;
步環203,提交模塊將復查后的程序代碼傳送至置于服務器端的版本管理模塊中,由所述版本管理模塊保存所述程序代碼;
步驟204,測試模塊從所述版本管理模塊中獲取程序代碼進行測試;
步環205,由缺陷管理模塊保存由所述測-試模塊獲取的程序代碼缺陷。
進一步地,所述方法還包括:
由開發人員從所述缺陷管理模塊中獲取具有缺陷的代碼進行修改;將修改后的程序代碼傳送至所述版本管理模塊中;所述缺陷管理模塊同步更新所述修改后的程序代碼,并創建所述更新程序代碼的日志。
實現以上方法的各個模塊之間的關系可以參見圖1所示的系統結構圖,此處不再贅述。
本發明實施例提供的軟件開發的方法,通過在一個統一的系統中完成程序代碼的創建、測試、修改等工作,使得開發人員和測試人員的工作能夠在團隊中共享;并且,還能進行代碼缺陷管理,使得修改的代碼缺陷能清楚地記錄。解決了現有技術中由于沒有統一的開發流程管理,而造成的軟件開發進程緩慢的同題。
本發明的實施例提供的軟件開發的方法,能夠提高軟件開發進程。
本發明提供的技術方案可以應用在java開發的技術領域中。
以上所述,僅為本發明的具體實施方式,但本發明的保tp范圍并不局限于此,任何熟悉本技術領域的技術人員在本發明掲露的技術范國內,可輕易想到變化或替換,都應涵益在本發明的保護范圍之。