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