敏捷開發大家談(三)--敏捷開發技術在電子商務軟體中的應用(2)
第四章 敏捷開發技術在電子商務軟體的推廣
1. 電子商務軟體實施的高風險性
軟體開發行業目前同時存在兩種情況,它既是一個非常成功的又是具有很多問題的行業。
2. 在跨平臺系統的移植上的應用
電子商務系統經常會出現跨平臺的移植。重要的一點就是從功能角度講,移植前後是否一致。一些敏捷開發中的最佳實踐也是可以使用的,比如你可以把所有的需求以測試的方式提煉出來。很多專案都是使用這種方式而且非常成功。
而且使用這種疊蓋式方式,也能夠從專案程式的角度看移植程式有多快。
3. 在電子商務軟體外包公司的應用
軟體外包是非常普遍的。在實踐中發現敏捷式開發對外包也是非常有效的方法。實踐中敏捷式開發比一般的開發方式估算的方法更快,而且用的人要少一些。
希望中國更多的軟體公司可以採用敏捷開發技術,使我們的軟體產業能夠得到更加快速的提高和發展!(作者: 徐禕 就職於東方鋼鐵電子商務有限公司,職務為首席專案經理。目前就讀上海交通大學MBA班 )
四、敏捷開發常用工具
工欲擅其事,必先利其器,能利用工具是人與動物的最大區別。然而,大多數商業化工具價格不菲,已經加入WTO好幾年了,再用盜版會給企業帶來很大的不確定性,並且盜版用多了,往往會失去一種程式設計師的自豪感,丟掉一種文化。經過幾個月的摸索,本著以下原則,偶選擇了一些適合中小企業開發的工具,當作自己的工具箱:
(1)適用於中小型企業,中小型專案(<500萬),功能適度
(2)易用性好,具備必要的文件
(3)免費或低價
基於這些工具,慢慢形成了一套敏捷開發過程。
(一)、工具簡介
下面簡單介紹這些工具,這些工具有些偶已經有相當的使用經驗,有些正在使用,有些只是剛選定。除直接用於.net開發的工具中外,還包括一些開發相關的軟體設計、專案管理工具。偶的主要開發經驗是Web開發,桌面開發和原型開發,對Mobile開發不熟悉,也就沒這方面的推薦了。
1,執行平臺
常用的也就.net framework 1.1, 2.0, 和mono了,都是免費的。從功能、效能及安裝基礎來講,自然.net framework要優於mono了。mono是開源的,.net framework類庫可以反編譯,從透明的角度講兩者都差不多。如果你想在非windows平臺上開發,或者想研究執行時的實現,可以研究mono,否則還是用.net framework吧。
2,伺服器
我用過的也就IIS5.0,IIS6.0,Apache加一個mod,還有mono的xsp,這也沒啥好比較的,自然首選IIS6.0了。不過IIS雖然免費,但是至少得windows server版本才執行得爽,至少得花幾千元。XP上的IIS很不爽,據說也能裝全版IIS6.0,不過還是得折騰。開發用的話,用Apache加一個.net的mod,或者mono的xsp,還是挺好用的。Apache的缺點是對新版.net framework的支援較IIS6.0滯後。
3,IDE
tnnd,這個選擇空間也很小。首選自然是VS 2003或2005,如果VS 2005速成版將來免費的話,偶就選定這個了,或者選價格並不算高的VS 2005 專業版。可惡速成版、專業版中沒單元測試,在這裡BS微軟10000遍。堅決抵制VSTS版!
其它可選的有SharpDevelop和mono develop。對於不開發Web程式的初學者來說,用SharpDevelop其實也挺不錯的,整合的Nant,NDoc,NUnit都是很有用的工具。SharpDevelop沒斷點除錯功能,但熟用NUnit的話可以彌補這一不足。
如果對類庫理解得比較深入的話,採用SharpDevelop,生產力其實也挺高的――即使是進行Web開發。SharpDevelop的缺點之一是暫時沒重構功能,在下一個版本里會有。缺點之二是記憶體佔用比較大,還有效能比VS低得多,大專案,大程式可能不爽。我測試過,用SharpDevelop開啟一個大於3M的C#原始檔(嘿嘿!是csgl還是tao的,忘了),掛了;用VS 2003開啟大概要花幾十秒。
btw,我個人認為其實就用記事本寫中小型(<3000行)的C#程式,效率其實也挺高的,這時候會更加註意類的設計,思路會更清晰一些,當然,速度會慢一些。
4,類庫和文件
類庫是.net平臺的資產。目前.net下成熟的類庫比較少,和java比,最大的不足就是這裡了。最常用的類庫當然是.net framework了,其它各方面的類庫在網上都能搜尋到一些。類庫的關鍵資產要素是dll和文件。看文件要看一手資料,第一手資料就是原始碼或反編譯過來的程式碼,然後就是各類的原始文件,一般是chm格式的。如果看原始碼習慣的話,效率會很高,並且,建議用反編譯工具看程式碼,不建議直接看原始檔,原因其一是反編譯工具提供了很多有用的附加功能,其二是反編譯的程式碼比原始檔更真實。常用的反編譯工具是Reflector。
.net下的文件是爽死了,比javadoc的pp多了。因此在寫程式碼的時候應該注意,多寫///註釋,然後用Ndoc自動生成chm文件,多爽呀。
很多開源專案提供原始碼和少量的文件,但它的原始碼中有大量的///註釋,可用NDoc自動生成chm文件。即使沒有///註釋,採用NDoc生成文件也是很值的。
5,資料庫
MS SQL Server Express版應該是免費的,但標準版和企業版價格還是不低的,還是用開源的好。對功能有要求就用PostgreSql,沒要求就用MySql。偶現在是GIS專案用PostgreSql,一般專案用MySql。資料庫管理用EMS MySQL Manager Lite和EMS PostgreSql Manager Lite,免費,好用,介面很豪華,效能還行。
6,設計與建模
偶選定的UML建模工具是JUDE,2M大,免費但不開源,比ArgoUML功能多、好用。比Visio 的UML功能不知道強大多少倍,比Together也好用。缺點就是隻是建模工具,和程式碼不同步。另一個缺點就是不能自動生成文件。不過偶喜歡這樣的工具,強大,體積小,靈活,方便。並且偶覺得它在設計時用就行了,具體的類的文件用NDoc生成。JUDE是基於java的,得安裝java虛擬機器。好像它跨平臺也不怎麼樣,我在linux下沒執行成功過。
開源或免費的資料庫建模工具試過很多,感覺都不成熟不好用,最後選擇了一個商業軟體――CASE Studio 2,價格100-300美元,功能很實用,支援很多資料庫,生成的文件也很pp。
7,敏捷開發工具
NUnit――單元測試。
NAnt――build工具。前面已經提及。
NDoc――文件生成。前面已經提及。
CruiseControl.Net ――持續整合,暫時還沒用過。
NUnit,NAnt,NDoc用的好的話,感覺非常爽,寫程式會有藝術家的感覺。
8,團隊協作工具
版本管理:CVS和SVN,推薦SVN。客戶端推薦用TortoiseSVN――非常可愛的小烏龜。
Bug管理:偶選用的是BugTracker.NET,簡單,用ASP.Net寫的,小專案夠用了。
需求管理、專案管理、日程、經費計算與管理:還是在用Word、Outlook、Excel。要免費的話可用永中Office試用版,一樣好用。
(二)、優勢
1,價效比高。對於10人規模的團隊,看看軟體成本:
執行平臺:.net framework 1.1或2.0,免費
伺服器:1套windows 2003 server版,數千元
IDE:1套VS 標準版或專業版,數千元,其它用express版就行了
類庫和文件:免費
資料庫:免費。用商業資料庫,讓客戶掏錢。
設計與建模:1套CASE Studio 2就行了,數千元
敏捷開發工具:免費
團隊協作工具:1套MS Office(帶Visio的)就行了,數千元,其它人用永中。
整個下來,不足20000元。
2,易用性好
反正我的感覺是和商業軟體差不多或者稍差
3,易擴充套件
上面工具大部分是開源的,並且很多工具之間協作性比較好,這樣可以用來定製適合自己的生產線。老外的那一套生產線,比如RUP,MSF及其相關工具,除價格貴外,其靈活性也不高,別人的生產線不一定適合自己用。這時上面工具的優勢就出來了。
(三)、搭建軟體生產線
流程1:專案管理流程
用Office管理需求。用SVN進行原始碼管理和文件管理,BugTracker.NET進行 Bug管理和事務管理。儘量將程式、檔案、文件的維護自動化。
流程2:開發管理流程
開發過程中所維護的檔案越少越好。偶覺得應該儘量少用UML圖寫文件,只寫最關鍵的部分。類的文件最好由NDoc直接生成。偶用UML工具的時間很少。寫程式碼的過程就是類設計過程。不妨比較這兩個流程:(1)用例分析->採用UML工具設計類->由UML工具生成程式碼或撰寫程式碼->重構程式碼,自動更新UML文件。(2)用例分析->撰寫程式碼->重構程式碼。第一個流程只有一個優勢,就是人對圖形的理解比對程式碼的理解更加直觀,但是多了很對累贅工作。第二個流程少了很多步驟,並且可以隨時根據程式碼逆向工程出類圖出來,
我還是喜歡以程式碼為基礎的流程。撰寫程式碼也可分為2個過程,第一個過程是寫出一個程式碼框架,所有的方法都是UNDO,寫出屬性,介面,寫出///文件。這應該是設計過程。這個過程基本上只產生、維護原始檔。
類圖可以通過visio逆向工程,類設計文件可以通過NDoc自動生成,並且提供了一個測試基礎,可以根據這個測試基礎寫測試程式碼了。測試程式碼最好也只寫個框架,但是要寫好///註釋,然後生成測試文件。這應該是設計過程。第二個過程是實現過程,把類文件和程式碼框架提交給相關人,實現、測試、重構......一切都自動進行......整個過程中只有一份東西,就是原始碼,開發過程中的交付件應該都從原始碼中自動生成。
資料庫指令碼和文件用CASE Studio 2維護。最後提交、上線、驗收都很好辦,所要的東西biaji一下子都出來了。要申報著作權直接從原始碼和chm文件中弄一部分出來就夠了。
開發的核心是原始碼,所有文件應該體現在原始碼的結構、關係和註釋中。控制整個開發流程的核心工具是Nant。要是能把用例分析過程體現在原始碼中就好了!
1. 電子商務軟體實施的高風險性
軟體開發行業目前同時存在兩種情況,它既是一個非常成功的又是具有很多問題的行業。
2. 在跨平臺系統的移植上的應用
電子商務系統經常會出現跨平臺的移植。重要的一點就是從功能角度講,移植前後是否一致。一些敏捷開發中的最佳實踐也是可以使用的,比如你可以把所有的需求以測試的方式提煉出來。很多專案都是使用這種方式而且非常成功。
而且使用這種疊蓋式方式,也能夠從專案程式的角度看移植程式有多快。
3. 在電子商務軟體外包公司的應用
軟體外包是非常普遍的。在實踐中發現敏捷式開發對外包也是非常有效的方法。實踐中敏捷式開發比一般的開發方式估算的方法更快,而且用的人要少一些。
希望中國更多的軟體公司可以採用敏捷開發技術,使我們的軟體產業能夠得到更加快速的提高和發展!(作者: 徐禕 就職於東方鋼鐵電子商務有限公司,職務為首席專案經理。目前就讀上海交通大學MBA班 )
四、敏捷開發常用工具
工欲擅其事,必先利其器,能利用工具是人與動物的最大區別。然而,大多數商業化工具價格不菲,已經加入WTO好幾年了,再用盜版會給企業帶來很大的不確定性,並且盜版用多了,往往會失去一種程式設計師的自豪感,丟掉一種文化。經過幾個月的摸索,本著以下原則,偶選擇了一些適合中小企業開發的工具,當作自己的工具箱:
(1)適用於中小型企業,中小型專案(<500萬),功能適度
(2)易用性好,具備必要的文件
(3)免費或低價
基於這些工具,慢慢形成了一套敏捷開發過程。
(一)、工具簡介
下面簡單介紹這些工具,這些工具有些偶已經有相當的使用經驗,有些正在使用,有些只是剛選定。除直接用於.net開發的工具中外,還包括一些開發相關的軟體設計、專案管理工具。偶的主要開發經驗是Web開發,桌面開發和原型開發,對Mobile開發不熟悉,也就沒這方面的推薦了。
1,執行平臺
常用的也就.net framework 1.1, 2.0, 和mono了,都是免費的。從功能、效能及安裝基礎來講,自然.net framework要優於mono了。mono是開源的,.net framework類庫可以反編譯,從透明的角度講兩者都差不多。如果你想在非windows平臺上開發,或者想研究執行時的實現,可以研究mono,否則還是用.net framework吧。
2,伺服器
我用過的也就IIS5.0,IIS6.0,Apache加一個mod,還有mono的xsp,這也沒啥好比較的,自然首選IIS6.0了。不過IIS雖然免費,但是至少得windows server版本才執行得爽,至少得花幾千元。XP上的IIS很不爽,據說也能裝全版IIS6.0,不過還是得折騰。開發用的話,用Apache加一個.net的mod,或者mono的xsp,還是挺好用的。Apache的缺點是對新版.net framework的支援較IIS6.0滯後。
3,IDE
tnnd,這個選擇空間也很小。首選自然是VS 2003或2005,如果VS 2005速成版將來免費的話,偶就選定這個了,或者選價格並不算高的VS 2005 專業版。可惡速成版、專業版中沒單元測試,在這裡BS微軟10000遍。堅決抵制VSTS版!
其它可選的有SharpDevelop和mono develop。對於不開發Web程式的初學者來說,用SharpDevelop其實也挺不錯的,整合的Nant,NDoc,NUnit都是很有用的工具。SharpDevelop沒斷點除錯功能,但熟用NUnit的話可以彌補這一不足。
如果對類庫理解得比較深入的話,採用SharpDevelop,生產力其實也挺高的――即使是進行Web開發。SharpDevelop的缺點之一是暫時沒重構功能,在下一個版本里會有。缺點之二是記憶體佔用比較大,還有效能比VS低得多,大專案,大程式可能不爽。我測試過,用SharpDevelop開啟一個大於3M的C#原始檔(嘿嘿!是csgl還是tao的,忘了),掛了;用VS 2003開啟大概要花幾十秒。
btw,我個人認為其實就用記事本寫中小型(<3000行)的C#程式,效率其實也挺高的,這時候會更加註意類的設計,思路會更清晰一些,當然,速度會慢一些。
4,類庫和文件
類庫是.net平臺的資產。目前.net下成熟的類庫比較少,和java比,最大的不足就是這裡了。最常用的類庫當然是.net framework了,其它各方面的類庫在網上都能搜尋到一些。類庫的關鍵資產要素是dll和文件。看文件要看一手資料,第一手資料就是原始碼或反編譯過來的程式碼,然後就是各類的原始文件,一般是chm格式的。如果看原始碼習慣的話,效率會很高,並且,建議用反編譯工具看程式碼,不建議直接看原始檔,原因其一是反編譯工具提供了很多有用的附加功能,其二是反編譯的程式碼比原始檔更真實。常用的反編譯工具是Reflector。
.net下的文件是爽死了,比javadoc的pp多了。因此在寫程式碼的時候應該注意,多寫///註釋,然後用Ndoc自動生成chm文件,多爽呀。
很多開源專案提供原始碼和少量的文件,但它的原始碼中有大量的///註釋,可用NDoc自動生成chm文件。即使沒有///註釋,採用NDoc生成文件也是很值的。
5,資料庫
MS SQL Server Express版應該是免費的,但標準版和企業版價格還是不低的,還是用開源的好。對功能有要求就用PostgreSql,沒要求就用MySql。偶現在是GIS專案用PostgreSql,一般專案用MySql。資料庫管理用EMS MySQL Manager Lite和EMS PostgreSql Manager Lite,免費,好用,介面很豪華,效能還行。
6,設計與建模
偶選定的UML建模工具是JUDE,2M大,免費但不開源,比ArgoUML功能多、好用。比Visio 的UML功能不知道強大多少倍,比Together也好用。缺點就是隻是建模工具,和程式碼不同步。另一個缺點就是不能自動生成文件。不過偶喜歡這樣的工具,強大,體積小,靈活,方便。並且偶覺得它在設計時用就行了,具體的類的文件用NDoc生成。JUDE是基於java的,得安裝java虛擬機器。好像它跨平臺也不怎麼樣,我在linux下沒執行成功過。
開源或免費的資料庫建模工具試過很多,感覺都不成熟不好用,最後選擇了一個商業軟體――CASE Studio 2,價格100-300美元,功能很實用,支援很多資料庫,生成的文件也很pp。
7,敏捷開發工具
NUnit――單元測試。
NAnt――build工具。前面已經提及。
NDoc――文件生成。前面已經提及。
CruiseControl.Net ――持續整合,暫時還沒用過。
NUnit,NAnt,NDoc用的好的話,感覺非常爽,寫程式會有藝術家的感覺。
8,團隊協作工具
版本管理:CVS和SVN,推薦SVN。客戶端推薦用TortoiseSVN――非常可愛的小烏龜。
Bug管理:偶選用的是BugTracker.NET,簡單,用ASP.Net寫的,小專案夠用了。
需求管理、專案管理、日程、經費計算與管理:還是在用Word、Outlook、Excel。要免費的話可用永中Office試用版,一樣好用。
(二)、優勢
1,價效比高。對於10人規模的團隊,看看軟體成本:
執行平臺:.net framework 1.1或2.0,免費
伺服器:1套windows 2003 server版,數千元
IDE:1套VS 標準版或專業版,數千元,其它用express版就行了
類庫和文件:免費
資料庫:免費。用商業資料庫,讓客戶掏錢。
設計與建模:1套CASE Studio 2就行了,數千元
敏捷開發工具:免費
團隊協作工具:1套MS Office(帶Visio的)就行了,數千元,其它人用永中。
整個下來,不足20000元。
2,易用性好
反正我的感覺是和商業軟體差不多或者稍差
3,易擴充套件
上面工具大部分是開源的,並且很多工具之間協作性比較好,這樣可以用來定製適合自己的生產線。老外的那一套生產線,比如RUP,MSF及其相關工具,除價格貴外,其靈活性也不高,別人的生產線不一定適合自己用。這時上面工具的優勢就出來了。
(三)、搭建軟體生產線
流程1:專案管理流程
用Office管理需求。用SVN進行原始碼管理和文件管理,BugTracker.NET進行 Bug管理和事務管理。儘量將程式、檔案、文件的維護自動化。
流程2:開發管理流程
開發過程中所維護的檔案越少越好。偶覺得應該儘量少用UML圖寫文件,只寫最關鍵的部分。類的文件最好由NDoc直接生成。偶用UML工具的時間很少。寫程式碼的過程就是類設計過程。不妨比較這兩個流程:(1)用例分析->採用UML工具設計類->由UML工具生成程式碼或撰寫程式碼->重構程式碼,自動更新UML文件。(2)用例分析->撰寫程式碼->重構程式碼。第一個流程只有一個優勢,就是人對圖形的理解比對程式碼的理解更加直觀,但是多了很對累贅工作。第二個流程少了很多步驟,並且可以隨時根據程式碼逆向工程出類圖出來,
我還是喜歡以程式碼為基礎的流程。撰寫程式碼也可分為2個過程,第一個過程是寫出一個程式碼框架,所有的方法都是UNDO,寫出屬性,介面,寫出///文件。這應該是設計過程。這個過程基本上只產生、維護原始檔。
類圖可以通過visio逆向工程,類設計文件可以通過NDoc自動生成,並且提供了一個測試基礎,可以根據這個測試基礎寫測試程式碼了。測試程式碼最好也只寫個框架,但是要寫好///註釋,然後生成測試文件。這應該是設計過程。第二個過程是實現過程,把類文件和程式碼框架提交給相關人,實現、測試、重構......一切都自動進行......整個過程中只有一份東西,就是原始碼,開發過程中的交付件應該都從原始碼中自動生成。
資料庫指令碼和文件用CASE Studio 2維護。最後提交、上線、驗收都很好辦,所要的東西biaji一下子都出來了。要申報著作權直接從原始碼和chm文件中弄一部分出來就夠了。
開發的核心是原始碼,所有文件應該體現在原始碼的結構、關係和註釋中。控制整個開發流程的核心工具是Nant。要是能把用例分析過程體現在原始碼中就好了!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3433/viewspace-269192/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 敏捷開發大家談(三)敏捷
- 探討敏捷開發在軟體開發中的應用敏捷
- 敏捷開發大家談(一)敏捷
- 敏捷開發大家談(二)敏捷
- 敏捷開發大家談(四)敏捷
- 敏捷開發大家談(五)--敏捷開發的設計原則敏捷
- 淺談軟體開發模型之瀑布開發和敏捷開發模型敏捷
- 軟體開發新模式:敏捷開發模式敏捷
- 敏捷軟體開發的最佳資源敏捷
- 敏捷開發專案管理軟體敏捷專案管理
- 軟體敏捷開發流程中的 Spike,Sprint 和 Takt敏捷
- 軟體開發中的精益和敏捷 - Aram Koukia敏捷
- 研發流程在敏捷開發中的詳解敏捷
- 力軟敏捷開發框架工作流實現技術敏捷框架
- 小白科普:敏捷軟體開發(skycto JEEditor)敏捷
- 力軟敏捷開發框架幫您開發什麼軟體敏捷框架
- 敏捷開發敏捷
- 怎樣在敏捷開發中做到“事半功倍”敏捷
- 淺談一下“敏捷開發”敏捷
- 敏捷開發——網際網路時代的軟體開發方式敏捷
- 艾偉也談專案管理,敏捷開發,在路上專案管理敏捷
- 軟體開發流變史:從瀑布開發到敏捷開發再到DevOps敏捷dev
- 敏捷開發框架敏捷框架
- 區塊鏈技術開發公司淺析區塊鏈在電子商務中的作用區塊鏈
- 三分鐘讓你理解什麼是敏捷開發,這才是敏捷開發......敏捷
- 敏捷開發--Scrum開發模型敏捷Scrum模型
- 軟體開發趨勢:敏捷開發框架,瞭解一下?敏捷框架
- 2022國產敏捷開發專案管理軟體敏捷專案管理
- scrum|敏捷開發之任務看板Scrum敏捷
- 敏捷開發的那些事敏捷
- 力軟敏捷開發框架,快速搭建企業級應用系統敏捷框架
- 初識敏捷開發敏捷
- 敏捷式開發管理敏捷
- 敏捷開發相關敏捷
- 敏捷開發簡介敏捷
- 敏捷開發入門敏捷
- 敏捷開發中如何定義“完成”?敏捷
- 新團隊如何在teambition上應用敏捷開發敏捷