在做信息化的圈子中呆了十年,大家都知道報(bào)表需求變更是軟件開發(fā)與生俱來的特性,也是一個(gè)無法避免的事實(shí)。甚至有人戲言“業(yè)務(wù)邏輯是沒有多邏輯的邏輯”,業(yè)務(wù)一變,報(bào)表就要跟著變。
由于報(bào)表需求的不斷變更,使我們一個(gè)信息系統(tǒng)開發(fā)史變成it開發(fā)人員的血淚史。主要是由于以下原因:
1)客戶臨時(shí)改變想法、項(xiàng)目預(yù)算增加或減少、客戶對(duì)功能的需求改變等。于是我們就要開始應(yīng)對(duì)客戶報(bào)表需求變更申請(qǐng),然后進(jìn)行一系列的軟件工程管理,最后修改程序。更有甚者不再向我申請(qǐng)變更,而是直接找程序員商量。于是一步血淚史拉開了序幕.
2)需求、客戶、開發(fā)人員是一個(gè)三極世界。這三極的溝通是很不容易的??蛻粝蛭覀兲咸喜唤^地描述需求,開發(fā)者聽得頭暈?zāi)X脹,但又不得不根據(jù)這些來理解需求。有的時(shí)候我們也會(huì)派好幾撥人輪番折騰客戶,這樣客戶也暈頭轉(zhuǎn)向,巴不得趕快需求調(diào)研結(jié)束。這樣的需求調(diào)研像透過布滿小水珠的玻璃看世界一樣,即使能夠看清輪廓,但細(xì)節(jié)的丟失在所難免。由于需求理解的不充分,在項(xiàng)目后期就要對(duì)已經(jīng)開發(fā)好的報(bào)表進(jìn)行修改。
3)公司銷售人員為了簽單和對(duì)技術(shù)細(xì)節(jié)了解到不是清楚。對(duì)客戶需求掃一眼,就認(rèn)為只是一個(gè)小小的修改,沒有太大的影響,所以直接答應(yīng)能變更。然后這些偽報(bào)表需求就都寫到了合同中。
怎么解決以上問題?只有依靠報(bào)表工具。如果我們?cè)陧?xiàng)目早期能對(duì)對(duì)客戶提到的報(bào)表需求,使用報(bào)表工具進(jìn)行調(diào)研。一邊理解客戶需求,一邊使用報(bào)表設(shè)計(jì)器制作報(bào)表,最后給客戶確認(rèn)。這樣再也沒有報(bào)表理解需求偏差,合同中承諾了不夠合理的報(bào)表需求,變更修改來方便多了。
我這里把對(duì)報(bào)表工具的調(diào)查分享給大家,不足的希望大家修正和補(bǔ)充:
水晶報(bào)表:經(jīng)過二十年的積累,設(shè)計(jì)器的易用性和友好已經(jīng)非常不錯(cuò)了。但是不能方便的導(dǎo)入excel樣表(國內(nèi)以往很多報(bào)表都是excel的),條帶狀的報(bào)表模型在中國水土不服。很難搞定復(fù)雜報(bào)表。
ireport:ireport作為jasperreport的客戶端設(shè)計(jì)器,和水晶報(bào)表一樣有同樣的不足,同時(shí)還存在教程資料不足,沒有方便的技術(shù)支持,沒有中文界面。要想做到ireport來做到需求調(diào)研基本不可能。
birt:被安訊公司的市場策略定位為開源產(chǎn)品(傳說birt的開發(fā)團(tuán)隊(duì)就在中國上海),然后通過出售服務(wù)和基于birt的高級(jí)報(bào)表解決方案來獲取商業(yè)利益。birt是基于eclipse,感覺使用起來太重型了,一般人看著暈,當(dāng)然他也和水晶報(bào)表一樣缺點(diǎn)。
潤乾:是個(gè)類似excel的報(bào)表設(shè)計(jì)器,用swing開發(fā)出來的。他能支持excel樣式表的輸入和解決中國復(fù)雜報(bào)表問題。但是感覺swing的功力不夠,設(shè)計(jì)器外觀比較丑,而且設(shè)計(jì)過程中需要寫大量的表達(dá)式,如果表達(dá)式不熟練,做制作起來非常慢,如果表達(dá)式寫錯(cuò)了,感覺沒有很強(qiáng)的調(diào)試功能。
FineReport:也是類excel的設(shè)計(jì)器,這個(gè)公司的swing確實(shí)做到不錯(cuò)。通過拖拽到界面解決了寫表達(dá)式的問題,能多人協(xié)助遠(yuǎn)程設(shè)計(jì)報(bào)表,應(yīng)該是我見過的設(shè)計(jì)器效率最高的設(shè)計(jì)器。個(gè)人很想認(rèn)識(shí)這個(gè)公司的swing大牛。當(dāng)然它也能解決客戶的復(fù)雜報(bào)表問題。不足之處,沒有一般ide工具屬
性窗口。
總結(jié)一下,大家在實(shí)際過程中,最好使用商業(yè)軟件,才能做到用報(bào)表工具做需求調(diào)研。國外的水晶報(bào)表資歷比較老,國內(nèi)的FineReport和潤乾,F(xiàn)ineReport是走windows路線,潤乾走linux路線。
了解Java報(bào)表工具就從這里開始