工作快四年了,從事開發工作也有兩三年了(頭一兩年從事設計工作),這期間有些感悟,寫下來以備以後回過頭來見證自己的成長。
對乙個本科學的設計,畢業的時候對於計算機的知識了解甚少的人而言,靠著自學以及同事的幫助能夠從事軟體開發工作,我自己都感覺到不可思議。這期間不僅有自己奮鬥的辛酸,更有成長的快樂。下面說說我自己的乙個學習方法,希望對某些人有些幫助。
剛開始的時候因為沒有基礎,所以在同事的推薦下看了一些基礎書籍(感覺譚浩強的書比較好,mfc深入淺出也相當不錯),做了一些基本的練習。萬丈高樓平地起,基礎知識很重要。其實到現在我還感覺我的基礎知識不是很好,所以還需要繼續學習。:)
一直都注重軟體功能的實現,慢慢發現學好了這些只能說學會了使用某乙個工具,至於要使用這個工具做出乙個什麼東西出來或者解決乙個什麼問題,就需要我們的思維方式以及解決問題的能力了。
還有就是,現在網路這麼發達,很多問題都可以在網上找到答案,這得感謝那些樂於奉獻的人,為了向他們學習,我也開通了這個部落格。哈哈。
關於學習的幾點建議:
第一,興趣。興趣是最好的老師,只有我們感興趣了,才會願意去把一件事情做好。
第二,堅持。凡是貴在堅持,堅持了,成功才屬於我們。
第三,參與專案。很多東西想象的跟實際做起來是很不一樣的。想起來很容易,做起來卻不是那麼簡單的。乙個很小的事情,如果不考慮清楚,就會出錯。而且,多參與專案,能使我們經驗更豐富,解決問題的能力更強。
第四,精益求精。實現功能的方法有很多,哪一種方法更好呢,多分析思考,不僅鍛鍊了我們的思維能力,而且增強了我們功能的健壯性和穩定性以及可移植性。
第五,善於總結。並不是說事情做完了就完了,而應該好好分析這件事情做完了有什麼收穫,遇到了什麼問題,是如何解決的,下次再做這樣的事情能不能做到更好。
第六,有個好老師。這個就得碰運氣了。當我們開始學習某些東西的時候,我們總是不能明白前面的路到底如何。如果有個人告訴我們前面很艱難,那麼我想多半人都不願意繼續前行了。而如果他告訴我們前面的道路一片光明,只要我們堅持前行,熬過了前面的那片黑暗,等待我們的就是寬廣的道路和美好的黎明,那麼我們肯定都願意咬咬牙繼續前行。
下面說說工作中的一些感悟,有點雜,都是想到哪說到哪。
軟體開發:
乙個專案來了,首先分析其需求,然後分析其功能,將功能分模組化實現,最後測試
程式設計只是乙個工具,想法才是最重要的
程式設計需要嚴謹的邏輯思維
專案經驗很重要,多參與專案,能使我們對問題有乙個比較深刻的理解,這是任何教科書上都學不來的,技術功能的實現網上有參考資料,即使我們不會,也不用擔心,而對於專案的理解,則需要實際參與到專案中
讓專業的人做專業的事,每人負責乙個或多個模組,盡力把其功能實現好介面做好,方便其他人使用也方便自己維護
變數和函式命名要反映其意義,名稱的定義能使人一目了然
需要別人呼叫的介面使用public,反之使用private
保證功能的可靠性
方便**復用
函式呼叫
乙個函式實現乙個功能
函式需要返回值並且需要判斷返回值
軟體開發過程需要注意的幾個方面:
模組化設計
介面實現
平台選擇
資料處理
通訊實現
介面效果
外掛程式實現
功能整合
測試專案管理:
專案負責人對乙個專案的管理具有相當重要的作用,協調其他人一起把專案完成好
每乙個專案組都有乙個組長,組長負責協調全域性性的工作,分配工作任務,整合模組,發布軟體
乙個專案來了,分配乙個負責人(組長)和若干個組員
專案組成員一起討論客戶需求,解決方案,處理方式
然後由組長寫出文件,包括資料結構,資料處理方式,以及軟體操作方式
然後由組長分工,每個人需要完成的模組,需要完成的功能和效果
軟體介面設計師設計出介面美觀風格統一的介面,每個組員完成各自對應的模組
各個模組完成並且測試無誤後,提交給組長整合
組長整合後交給測試工程師按照文件乙個功能乙個功能地測試,有問題記錄下來報告給組長,由組長通知更改,沒有問題由組長發布並且記下發布記錄
後續軟體公升級維護由組長負責,組長安排具體人員實施,然後交由組長發布
其他雜談:
人生的每個階段都有每個階段的成長和煩惱,工作也一樣
剛開始學走路,需要人扶著走,後來自己慢慢走,直到最後學會了跑
剛開始學說話,需要咿咿呀呀模仿,然後說詞語句子,一步一步才會溝通
剛開始我們注重技術的實現,後來才知道思維方式解決問題的能力更重要
小時候總覺得不理解父母
只是年幼的我們尚無法理解他們經過人生各種磨難後得出來的體會
長大後才知道他們是對的
很多父母望子成龍望女成鳳,希望他們一出生就能很聰明懂很多道理
他們的願望是好的,只是人的成長都需要乙個過程
一直以來都非常重視技術實現的積累
慢慢才發現專案經驗的積累更重要
畢竟技術的實現可以隨時借助於網路,而專案經驗則需要機遇
當乙個人還處於扶牆而走的階段,考慮的是如何走得更穩更快
當乙個人已經學會了走的時候,考慮的是如何更快更有效地到達目的地
這就是成長
(備註:由於能力經驗有限,這些只是自己個人的一些小感悟,如有不同的見解,可以提出來,但是請勿噴,謝謝!)
軟體開發過程
1.程式設計師寫出自認為沒有bug的 2.軟體測試,發現了20個bug。3.程式設計師修改了10個bug,並告訴測試組另外10個不是bug。4.測試組發現其中5個改動根本無法工作,同時又發現了15個新bug。5.重複3次步驟3和步驟4。6.鑑於市場方面的壓力,為了配合當初制定的過分樂觀的發布時間表,...
軟體開發過程
1.程式設計師寫出自認為沒有bug的 2.軟體測試,發現了20個bug。3.程式設計師修改了10個bug,並告訴測試組另外10個不是bug。4.測試組發現其中5個改動根本無法工作,同時又發現了15個新bug。5.重複3次步驟3和步驟4。6.鑑於市場方面的壓力,為了配合當初制定的過分樂觀的發布時間表,...
軟體開發過程
軟體生命週期 1 問題定義 使用者需要解決什麼問題?2 可行性分析 使用者需要解決的問題是否可行 技術可行性 市場可行性 3 需求分析 將使用者提出的問題進行細化 4 系統設計 確定細化問題的實現方法 5 編碼 依據需求和設計穩定進行開發,解決問題 6 測試 驗證是否已經解決使用者提出的問題 單元測...