集成对接项目的经验
現(xiàn)在很多的國家院所、事業(yè)單位都使用了多種辦公系統(tǒng),如OA,郵件、集中文印、加密文檔管理、門禁考勤等。因?yàn)檫@些軟件是不同廠商開發(fā)的,最初它們之間是沒什么聯(lián)系的,后來在使用過程中用戶發(fā)現(xiàn),同步管理不同軟件之間的數(shù)據(jù)特別麻煩。比如新增一個員工,需要在每個子系統(tǒng)都添加一遍;又例如在集中文印的文件,到OA審批里又看不到等等,所以產(chǎn)生了各子系統(tǒng)間的數(shù)據(jù)同步的需求。在這些系統(tǒng)軟件中,有一個“主系統(tǒng)軟件”,一般是該單位最先采購,或使用頻率最高的軟件,或客戶關(guān)系最好,以O(shè)A辦公最常見,暫且稱其為集成商。數(shù)據(jù)同步時,一般是數(shù)據(jù)產(chǎn)生者向使用者推送。比如新增用戶信息,在OA辦公中手工錄入,然后自動同步到其他子系統(tǒng);如集中文印的打印文件,由文印系統(tǒng)同步到OA系統(tǒng)。 此類開發(fā)項(xiàng)目,涉及到不同公司和業(yè)務(wù)之間的交互,相對于內(nèi)部項(xiàng)目來說會復(fù)雜很多,一旦出現(xiàn)問題,最常見的就是互相推卸責(zé)任。下面按照項(xiàng)目的各個階段,介紹一下此類項(xiàng)目與內(nèi)部項(xiàng)目的區(qū)別。 1.方案階段 這一階段實(shí)際包含了需求分析、概要設(shè)計(jì)和討論、商務(wù)談判簽訂合同等環(huán)節(jié)。客戶自己是沒有技術(shù)能力來協(xié)調(diào)各個廠家的,一般只與集成商或代理簽訂合同,再由他們與子系統(tǒng)供應(yīng)商簽訂合同。所以一般的過程是,由客戶單位向集成商提出需求,然后集成商提出設(shè)計(jì)方案,與其他子系統(tǒng)供應(yīng)商討論。經(jīng)過各種細(xì)節(jié)討論后,子系統(tǒng)也提出相應(yīng)的設(shè)計(jì)方案,并評估工時費(fèi)用,然后進(jìn)入商務(wù)階段。集成商掌握了客戶,當(dāng)然利潤是最多的,他與子系統(tǒng)供應(yīng)商必然有一番討價還價,焦點(diǎn)就在技術(shù)復(fù)雜度對應(yīng)的工時費(fèi)用上。集成商會傾向于把需求描述得比較簡單,從而壓低技術(shù)復(fù)雜度,并把后續(xù)問題壓到免費(fèi)的調(diào)試維護(hù)期,子系統(tǒng)商則相反。 從子系統(tǒng)商的角度,在需求分析和方案設(shè)計(jì)上,需要比內(nèi)部項(xiàng)目花更多精力,因?yàn)閮?nèi)部項(xiàng)目沒有合同交易,設(shè)計(jì)和時間計(jì)劃上就容許了少量的變更,但外部項(xiàng)目因?yàn)橛泻贤闹萍s,變更起來就很困難。在這一階段,需要盡量與客戶和集成商多溝通,明確應(yīng)用場景和規(guī)格。另外還需要給對方說明,“規(guī)格文檔中未列出的應(yīng)用場景,默認(rèn)是不支持的”,這樣迫使集成商細(xì)化產(chǎn)品規(guī)格。 在諸多的數(shù)據(jù)對接功能中,需要明確每個功能的責(zé)任方,一般集成商是需要總的負(fù)責(zé)。但另外一點(diǎn)很重要,就是數(shù)據(jù)的使用者也是負(fù)主要責(zé)任的,一旦出現(xiàn)問題,就有解決問題或證明對方有錯誤的義務(wù)。例如用戶同步功能,主集成系統(tǒng)向子系統(tǒng)同步用戶數(shù)據(jù),一旦出現(xiàn)問題,用戶首先發(fā)現(xiàn)子系統(tǒng)的信息有問題,就會天然的認(rèn)為是子系統(tǒng)的問題。即使子系統(tǒng)經(jīng)調(diào)試后發(fā)現(xiàn)是主集成系統(tǒng)未發(fā)送數(shù)據(jù)過來,也需要把這些日志信息拿出來并證明給對方看。 一般在對接功能中,最好雙方都有單元測試工具,來開發(fā)測試和查找問題。比如用戶同步功能,數(shù)據(jù)發(fā)送方要提供一個接收測試工具,接收方也要提供一個數(shù)據(jù)發(fā)送測試工具,這樣既方便開發(fā)調(diào)試,也有利于問題的定位。這一點(diǎn)在商務(wù)階段要盡量爭取,將其寫入到合作協(xié)議中。 集成測試環(huán)境也要明確寫入合作協(xié)議中。如果集成商有條件提供測試環(huán)境,則子系統(tǒng)商只需要在這個環(huán)境中安裝測試通過即可,后續(xù)的實(shí)施有集成商負(fù)責(zé)。如果集成商沒有條件提供,則子系統(tǒng)商都必須在客戶的實(shí)際環(huán)境中調(diào)試,難度和成本都會增大。 2.開發(fā)階段 搭建開發(fā)調(diào)試環(huán)境。最好是能安裝一套對方的軟件系統(tǒng),進(jìn)行開發(fā)與調(diào)試,不過這一點(diǎn)未必能做到,這時候必須先開發(fā)測試工具,模擬對方的的系統(tǒng)。開發(fā)過程中,各種問題會逐步細(xì)化,還需要與對方繼續(xù)溝通,更新接口文檔。在與對方系統(tǒng)的交互中,每一步都要假定對方無法正常工作或效率很差,并有日志輸出以及對應(yīng)的處理方法。 對接功能一般在內(nèi)部無法真實(shí)地測試,只有開發(fā)人員編寫測試用例來自測,不過最好還是讓其他人來做這個測試。 3.調(diào)試階段 我們知道,在公司內(nèi)部的跨部門協(xié)作都比較麻煩,不同公司之間就更加如此。在開發(fā)和內(nèi)測完成后,大家可以約定時間地點(diǎn)進(jìn)行聯(lián)調(diào)了,之前一定要與對方的開發(fā)人員先行溝通調(diào)試的內(nèi)容與計(jì)劃。很常見的情況是,對方開發(fā)的功能根本不完善,或未經(jīng)測試,或者只派出非研發(fā)的技術(shù)人員來溝通,所以這些情況都需要提前確定好,否則聯(lián)調(diào)很容易超期。 4.維護(hù)階段 經(jīng)過聯(lián)調(diào)和實(shí)施,產(chǎn)品上線后,用戶在使用過程中很可能會遇到問題,當(dāng)然數(shù)據(jù)的收發(fā)雙方系統(tǒng)會互相推卸責(zé)任。如前面提到的,用戶首先會認(rèn)為是“數(shù)據(jù)使用者”的問題。這時候一般需要技術(shù)人員上面檢查日志,并利用雙方各自的單位測試工具,快速定位問題。 以上是我在這類項(xiàng)目中遇到的各種問題和心得。
轉(zhuǎn)載于:https://www.cnblogs.com/chaos77/p/7170130.html
總結(jié)
- 上一篇: Python 文件写操作
- 下一篇: Objective c类的初始化