以前就整理過,真的!對於軟體開發來說,沒有那麼簡單的,尤其是越是底層越是乙個需要像樣一點的產品,分析除錯維護樣樣都不能少。
像我所在的這家公司開發的移動wifi產品,面向的是全球漫遊市場。118個國家,就那麼乙個安卓手機一樣的東西外加另外乙個安卓模組。
我負責的是裡面的ota公升級,雖然都是用別人現場的東西,但總體開發維護起來感覺就是閒的時候閒的要死而一旦事情來了又忙都忙不過來。
對於乙個終端專案來說
第一:業務當然是要優先保證的,業務沒***的話,公司也就沒有盈利,沒有盈利那還玩什麼
第二:其次是安全,安全分為裝置資訊保安跟開發資料安全。裝置資訊保安就是不然別人可以隨便破解裝置,竊取裡面的資訊。oem廠家是可以把裝置埠禁止掉以防止別人刷機的,終端上公司it部門有對應的**保護,比如說本地不存**,**都放到伺服器上。然後限制本地檔案外洩,限制公司電腦使用u盤等措施
第三:日誌抓取模組,對於那些已經賣出去了的裝置。要分析定位問題的話有日誌來分析是最好的,所以在軟體開發時一點要做好日誌的輸出以及儲存。像安卓的話,kmsg日誌,logcat日誌,還有自己新增的日誌列印程式。在日誌可以穩定抓取後,如果裝置是聯網的,最好還要設計遠端抓取日誌功能,這個功能是我做的哈,具體實現就是使用ftpget
第四:遠端除錯介面,當然這個一般不用的。但對於某些環境來說還是很有必要的。比如終端就寫乙個system("cmd") 來處理伺服器下發的s2c命令,可以解決很多情況下的問題分析。
第五:公升級,公升級模組作用1.可以讓產品提前3個月上市。2.可以提供後續的功能維護和bug更新,因為**裝置更新這樣的事情在現在基本上是不可能了的
最近有看程式設計珠璣,裡面寫的東西真的挺好的。很多時候,如果你只可以想到乙個方法時,還應該想想怎麼更加優化,怎麼做到資源利用最高最好。
像這幾天客戶返回了一台裝置,嚴重問題,裝置不斷開機後自動關機。拿回來後又要儲存現場又要分析問題,好累!好無聊!好煩!各種不想做了
分析模擬環境的構建,這次有客退裝置,也有工廠分析不了給我們分析的裝置。但大概是年後吧,公司部門裡有人離職,人心渙散!對於這些繁瑣的事情都沒有人整,我也很煩。
而且公司裝沙盒,同時電腦裡跑兩個加密軟體我也是醉了。重灌系統什麼的就不說了很久以前儲存的東西統統不見,還要維護兩年前的專案,沒有人會情願的吧。任何東西維護兩年。文件備份什麼的也垃圾成什麼一樣,都是一些沒用的東西。牢騷到此!
由於存在軟體分析的需求,所以儲存分析環境是必須的,乙個問題出現後要儲存現場,還要分析
儲存現場的話有兩個,
1.系統映象問題,可能是別人刷機了,或者是系統公升級出了問題出了問題。這類問題通過高通的qmsct,qspr,或者dd 或者用磁碟工具(9006)等可以把問題裝置裡的映象抓取出來備份。
qspr需要配置好腳步,然後用qmsct來抓取。環境配置好後一定要記得儲存,這個功能只要專案還在維護都可能要用
2.記憶體日誌資訊dump,特定版本的boot.img,不然不會進dump,儲存對應的vmlinux,進行coredump分析, 還有對應的elf檔案,進行t32分析,這個需要儲存工程。
3.實時日誌匯出,還要備份乙個boot.img + lk 映象串列埠資訊輸出,檢視kmsg日誌
一次編好長期受用!!
重點功能保證,然後快速迭代
看別人寫的東西自然有很多的借鑑作用,但是成功不能複製。
像之前看的一篇關於產品的
在一款產品從研發到最後出貨的商業計畫, 從cpu選擇,效能 成本 **商 壽命 信用度 可靠性來分析
但都太全面了,照搬他人的自然不錯,可是啊,完全沒有自己想過的東西,你要怎麼表達?
想要變成自己的還是要靠自己去思考的,這樣對不對?
專案失敗需要注意問題
1.建立表的時候每個表新增建立時間 create time 和修改時間update create,方便排序 2.如果頁面沒有使用datagrid等複雜元件就不要引入easyui和extjs這種js框架,而是使用jquery相關外掛程式 3.設計資料庫的時候盡量不要和其他團隊共用,前期說修改沒問題,到...
專案發布時需要注意的事項
經過幾個月的努力,我們組的專案walle終於要上線了,也許是經驗的不足,也許是太衝動了,上線後才發現上線準備的根本就不充分。經過這次事件後,認識到以下幾點,免得下次上同樣的當。1.上線前,要對自己嚴格一點,發現的問題,可以修復一定要修復,不要報有僥倖的心理,這個問題不重要,大家不會關注,一旦上線後,...
測試專案中需要注意的問題
在專案開發完成 功能上都完成啦 提交測試部測試時候應該注意哪些問題,當然這些記載的都是小菜鳥我在跟著做專案中發現的,不一定發現的完全,但希望記載下來,供參考。1.為測試人員準備測試庫 測試與開發人員最好不要同庫,因為可能存在邊測試邊開發的系統,如果乙個庫會導致混亂。2.開發人員不要隨意動測試庫的資料...