初次開發軟體的心得

2021-04-12 19:47:40 字數 2031 閱讀 4420

寒假走的比較晚,留在實驗室裡把北京文化系統專家資源系統軟體的

2.0版本做完了。體會很多,最重要的是明白了書本上的學習和實際應用的差距是如此之大,儘管已經有了一些心理準備,但還是覺得自己以前所學仍是皮毛。

先說下實際專案和平時書本上東西的區別: 1.

**篇幅:

老師布置的

c語言作業題難一點的也不過四五十行**,乙個小例子幾行**就搞定了。而專案裡做個登入窗體的元件加個身份驗證基本就一百多行了,主框架精簡後也有八百多行,自己手寫的**共有

2千多行,這些還不算開發工具自動生成的**和介面設計的隱藏**。這麼多的內容要很熟悉才行,還要管理好,這算是第乙個比較大的改變。 2.

核心演算法

平時學習時,程式設計最關鍵的就是演算法,衡量乙個程式設計師好壞的標準也是看他資料結構學的如何。而這次做專案我發現核心演算法也就幾十行而已,根本沒用到很深奧的資料結構知識。大部分的時間花在介面的處理和介面的美化上面了。當然這不是說演算法不重要,在編寫底層和大型的軟體時,乙個程式設計師的功底就會因他資料結構寫的好壞而體現出來了。 3.

知識的更新

這個時候才發現平時學的知識已經過時很多年了,除了一些基本功和基礎理論。才拿著專案的時候什麼東西對我來說都是新的,都要花一段時間去從頭學。後來發現如果每看到乙個新的東西都慢慢的從最簡單的學起的話,最後根本學不到東西。技術更新我們永遠也趕不上,但我們只用把基本功打紮實,任何新技術上手是很快的,看幾個例程,自己做個簡單的測試程式,這個技術就算學會了,實際做的時候查查參考手冊,就可以完成了。其實外面很多所謂的新技術也都是建立在以前的基礎理論上面,不外乎包裝的好看點,用起來方便點。

再從乙個入門程式設計師的角度說下自己對開發軟體的感受: 1.

元件開發的模式

做實際的專案由於**的膨脹,很明顯很多我們以前的程式設計方法就不現實了,比如都寫在乙個檔案裡面,甚至像開始學

c時都放在

main

函式裡面。在開始做前就要考慮你的專案是有什麼組成的,可以分成幾個模組。就說我做這個,就分成了開始啟動時的身份驗證,語音合成,通知專家的硬體操作,資料庫操作和乙個使用者互動介面。因為硬體部分是另乙個老師做的,所以最後是動態鏈結庫的元件。剩下我自己的開始是用

c++做成的

dll,後來改用

c#做了,直接寫成幾個類放在了

exe檔案裡面。這幾個方式都可以理解成元件開發的模式。

它的好處就是如果乙個元件發現了

bug,只要介面部分不變,那麼其它的模組就不用修改。這樣我們在測試時很快就能找到問題出在哪。這也是物件導向開發的乙個思想,始終呈現給別人是乙個介面,而隱藏內部的操作。其它程式設計師也不用去操心你是怎樣去實現的。不過同時介面的處理就變成乙個很麻煩的事情,有一次我和那位老師就是因為兩個元件引數傳遞的問題除錯兩個禮拜的程式才解決。

我們寫類當然也不會去關心底層的**,自己去撥弄指標,去操作鍊錶等等。也都是用微軟開發類庫,直接在上面開發應用程式。這也是資料結構的知識很少用到乙個原因。 2.

除錯的能力

其實寫程式的時間可能還不到除錯**時間的十分之一,我們大部分的時間都是花在測試程式找

bug上面了。做商業化的專案不比自己寫作業,這裡的乙個錯誤就要承擔一定的風險,所以平時就需要花很多時間來找錯誤。然而除錯程式也是一門不簡單的學問,除錯的方法就很多:單步、跳躍、條件命中、追蹤變數等等,這些還是有源**的前提下。如果是別人提供的元件只有二進位制檔案的話,還得反彙編,自己會分析一大堆枯燥的彙編指令,不過還好這次沒有遇到這種情況。有些除錯比較方便多試幾次也無所謂,而有的除錯需要很多測試資料,像這次運算元據庫的部分就需要很多專家、專案的測試資料,而且都是只能用一次就必須更新,這樣除錯就很麻煩,每次都得自己分析很久才執行一次,並爭取在一次除錯過程中解決問題。 3.

需求分析

這個是我在看書時明白過來的,這是軟體工程的第一步。卻是我這次開發中問題最多的乙個環節,開發乙個專案首先要弄清楚客戶的需求,並根據這個需求來制定計畫,如果需求沒弄明白或者不停的變更,那麼在後續開發的時候要付出很多代價,甚至重寫**。我自己的主框架**就重寫了兩次。以前也沒看過軟體工程的書,後來看的時候發現了很多問題,不過因為是親身經歷過的,感覺體會更深一些。

現在已經開始為下個專案做準備了。首先是做需求分析,然後用

uml建模,用系統的方法來開發。

已經開發軟體列表

1 通用會員軟體 2 汽車美容會員軟體 3 含進銷存汽車美容會員軟體 4 工業進銷存軟體 5 食品進銷存軟體 6 簡單茶葉會員軟體 7 美容美髮會員軟體 8 含進銷存美容美髮會員軟體 9 花卉會員軟體 10 撞球會員軟體 11 簡單珠寶會員軟體 12 簡單足浴會員軟體 13 美甲會員軟體 14 簡單...

預開發軟體書

2 能根據每日的天氣為使用者推送每日的穿衣提醒以及外出注意事項 3 自動在主頁面上更新每日閱讀,即一句話。4 手賬本,可以新增每日的事項,並能進行相應的提示 即擁有乙個類似於鬧鐘的定時器功能 1 n 需求 帶給使用者最好的體驗,如今科技十分發達,一款綜天氣與手賬本功能於一體的軟體,可以讓使用者隨時隨...

ubuntu開發軟體的安裝

今天下午發現ubuntu12.04壞了,無奈只能重新安裝,建議讀者配置自己的ubuntu後備份乙個,免得壞了重新安裝,花了兩個小時才把ubuntu的交叉環境弄好,其中搭建了tptp通訊協議,還有arm linux gcc的安裝,現在筆者主要是把arm linux gcc這個編譯工具的安裝流程講解一遍...