設(shè)計方案時,務(wù)必把好相關(guān)產(chǎn)品的選型關(guān),確保網(wǎng)絡(luò)、主機、系統(tǒng)軟件與應(yīng)用軟件之間不要存在較大的技術(shù)兼容性問題。在網(wǎng)絡(luò)平臺建設(shè)方案中,明確相關(guān)設(shè)備的技術(shù)參數(shù)和配置要求。
(2) 售前產(chǎn)品測試
在做項目招投標(biāo)工作時,要求投標(biāo)方在售前提供產(chǎn)品兼容性測試,以避免在項目實施過程中才暴露技術(shù)兼容性問題。涉及應(yīng)用軟件開發(fā)的集成項目,要在開發(fā)工作的早期,做技術(shù)兼容性測試,以避免在項目開發(fā)后期才暴露技術(shù)兼容性問題。
例如,我們在開發(fā)深圳市汽車客運站售票及站務(wù)聯(lián)網(wǎng)調(diào)度系統(tǒng)時,為了確保技術(shù)兼容,在做硬件招標(biāo)時要求小型機設(shè)備廠商提供售前技術(shù)兼容性測試工作,并將測試結(jié)果做為評標(biāo)指標(biāo)。在深圳市軟件測試中心對IBM、SUN、HP三家公司提供的小型機進行測試時,暴露了許多應(yīng)用軟件、應(yīng)用服務(wù)器、數(shù)據(jù)庫和操作系統(tǒng)之間的技術(shù)兼容性問題,如果這些問題在系統(tǒng)實施時才暴露或處理,勢必會拖延項目進度。
5、性能問題
由于先期設(shè)計不足,性能問題往往在系統(tǒng)切換或新系統(tǒng)使用一段時間后暴露。出現(xiàn)性能問題往往要進行大量的優(yōu)化工作,甚至局部的或全面的重新設(shè)計。無論是用戶還是開發(fā)者,誰都不希望出現(xiàn)性能問題。
(1) 性能規(guī)劃
在系統(tǒng)設(shè)計時,應(yīng)做好前期做性能規(guī)劃,對可能出現(xiàn)性能問題的環(huán)節(jié)做到充足的估計。在做數(shù)據(jù)庫設(shè)計時,應(yīng)爭取DBA參與。
另外,在技術(shù)方法方面,盡可能采取一些性能優(yōu)化模式,如DTO、AJAX、延遲加載等,盡可能在開發(fā)過程中解決了性能問題。不至于到了項目后期才解決性能問題,既費錢又費時。
(2) 性能測試
在開發(fā)過程中,要重視性能測試和壓力測試,盡可能模擬現(xiàn)實使用環(huán)境,搭建測試平臺。另外,由于開發(fā)環(huán)境的計算機往往比生產(chǎn)環(huán)境的計算機配置高,在做測試時應(yīng)盡量找一些配置低的機器、較小的網(wǎng)絡(luò)帶寬進行測試。
(3) 充足的調(diào)試時間
在項目開發(fā)計劃中,為后期性能優(yōu)化留有余地。在對系統(tǒng)進行性能優(yōu)化后,要進行性能測試和壓力測試,可能還要做幾次回歸測試。因此,應(yīng)該留有充足的時間和人力。
6、倉促上線
在項目實施過程中,系統(tǒng)切換上線環(huán)節(jié)最容易出紕漏。項目好不容易開發(fā)完成了,卻在最后最后時刻功潰一匱。如果項目小,影響面窄倒不怎么重要;如果是影響面大的項目,則千萬不可出現(xiàn)問題。在系統(tǒng)切換前,應(yīng)充分考慮各種可能出現(xiàn)的問題,做好風(fēng)險對策。
(1) 應(yīng)急預(yù)案
面對各種不可預(yù)知的風(fēng)險,要做好應(yīng)急預(yù)案。正常運行的車站售票系統(tǒng)在春運、旅游黃金周,都會做好應(yīng)急預(yù)案。新系統(tǒng)切換時,更應(yīng)該做好應(yīng)急預(yù)案。應(yīng)急預(yù)案中應(yīng)做好最壞的打算,售票系統(tǒng)不能正常工作時,準(zhǔn)備手工票就是最壞的打算。
(2) 分步切換
為了減少風(fēng)險的影響,可以做系統(tǒng)分步切換的方案。例如:售票系統(tǒng)在切換時,往往用新系統(tǒng)售預(yù)售票,或者是用新系統(tǒng)售長途車站,用舊系統(tǒng)暫時售短程票。待新系統(tǒng)運行穩(wěn)定后,再全面切換到新系統(tǒng)。針對多個用戶單位的系統(tǒng)切換,也可分單位進行。
(3) 交叉培訓(xùn)
新舊系統(tǒng)切換過程中,用戶都存在適應(yīng)過程。除了在切換前做好操作培訓(xùn)外,還要在新舊系統(tǒng)切換過程中做好交叉培訓(xùn)。讓用戶提前一些時間上班,讓早班的用戶在交班時培訓(xùn)中班的用戶,中班的用戶培訓(xùn)晚班的用戶。做好交叉培訓(xùn)能夠讓系統(tǒng)平衡過渡。
7、可用性問題
軟件的可用性包括軟件的使用是不是高效、是否容易學(xué)習(xí)、是否容易記憶、是否令人愉快、是否不易出錯等諸多因素。往往由于軟件的可用性差,導(dǎo)致用戶不滿意,甚至被市場淘汰。在項目開發(fā)中應(yīng)注意可用性問題,避免軟件出現(xiàn)可用性方面的風(fēng)險。
(1) 了解