軟件工程是研究和應用如何以系統(tǒng)性的、規(guī)范化的、可定量的過程化方法去開發(fā)和維護軟件,以及如何把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來的學科。下面由我為大家整理了關于軟件工程實踐的心得,供大家參考。
時間過的很快,轉眼間已經實習將近5個月,其中有2個月是屬于完全被流放的。
最先在內部系統(tǒng)組參與內部管理系統(tǒng)開發(fā)(struts+mysql+spring+hibernate),之后是去做網絡交換機軟件的腳本測試?,F在又回歸內部系統(tǒng),雖然在腳本組期間,編碼能力被別人甩在后頭,但至少具有了一些測試經驗。
至少自己做的東西,是真正交付到了客戶手上,到也稍微有些成就感。
1、淺談測試
一直以來,我都認為測試是脫離了軟件工程范圍的工作,不以為屑。但在實際情況中,測試是既重要且難以精湛的.其真正的壓力,在于找不到bug,責任在你,而不在于編碼人員。一般的測試人員不懂編碼,他們靠的是日以累計的經驗總結和想象力。而要做到高級測試工程師,則一定要懂編碼,因為這是你完全掌握整個系統(tǒng)的方方面面具體運作的前提。但占主導地位的,還是大型系統(tǒng)的集成測試經驗。實際項目中,編碼時間一般只占30%左右,真正耗費時間的是IT階段的找 bug與對應bug,此階段基本評定了coder的編碼質量。
2、程序員的困惑
有些人,以為教學視頻和代碼看多,自己就懂的多,實際做起來,卻不知從何下手,問題在那?如何定位?如何解決?通通跟一樣能力有關,debug追蹤能力,也稱調試。在項目組工作不愁源碼資源,但問題是蛋糕擺在面前,你如何去消化?
有位同事告訴我:代碼看幾遍都沒用,要去抄,例如一個查詢模塊,在此基礎上去做具體記錄的歷史記錄查詢模塊,你可能會覺得很簡單,但實際情況卻往往報一堆異常,配置問題涉及到方方面面,以及數據庫字段,傳值問題等等,一大堆對于新人來說很郁悶的問題。但不用怕,只要學會調試,一個個問題去追蹤,一個個去解決,自然而然,那段“源碼”才真正屬于你。
3、如何調試追蹤
如果你能在短短的時間內就看到問題點在那,放下斷點去追蹤,出去找工作,絕對沒問題。出現問題的時候,不要光看代碼,要用實際行動去追蹤運行期間的具體值,那是途徑。eclipse是個很爽的ide,這點做的很好。例如頁面內容顯示不是自己想要的數據,我們要先從數據庫查詢語句去下手,設置斷點,一步一步step over,讓sql字段(存取最終sql語句的字符串)運行到有值,inspect進去看,如果還看不出來,就點擊它,copy后在sql客戶端去實際運行,看看實際查詢出來的表是什么,如果是對的,有可能就是頁面調用的錯誤或者action邏輯的傳值問題。
頁面錯誤的調試,基本方法是用右鍵點擊實際網頁查看源代碼,copy到editplus,就能看到具體錯誤發(fā)生在那幾行。通常有幾種常見的錯誤,例如:缺少對象這種很多時候是有些被你調用的字段有可能為空的情況出現的,可以加if(___=null)語句加保護。追蹤的方法基本就是用alert語句,放在有可能出錯的地方。
4、一些習慣
遇到問題先自己思考,無從下手再找高手幫忙看看,注意他幫你看的思路,別在一旁閑著,看多了自己也會了,不然你一輩子都停留在那種水平,從人身上學到的東西遠遠比書多的多。
解決了一個問題后,要去究根問底去找到問題產生的起因,以防你下次遇到類似的問題再浪費同樣的時間。
把代碼寫的漂亮,注釋、空行、規(guī)范一樣不能少,可讀性是放在第一位。曾經看過一個高手寫的代碼,真的一看就是不同水平的人寫的,幾乎很完美,讀起來很流暢,方便自己也方便別人。
任務完后不要呆著,去要求經理給你更有挑戰(zhàn)性的任務,只要你肯去嘗試,他們就會對你另言相看,把三天的任務一天加班搞定,效率和忠誠都有了,路也比較好走了。
2014年11月下旬,我離開了學校,進入了最后一學期的頂崗實習階段。從離開學校的那天起,我就當自己是一個正式的員工,做好了經歷重重困難的準備,我始終堅信,我的努力與堅持不懈不會白費,我的未來不是夢。
一、實習單位介紹:
南京智風多媒體有限公司是我現在實習的單位,它成立于1998年,是從事教育軟件、數字化教學資源、多媒體產品等開發(fā)、制作的專業(yè)公司;是江蘇省信息產業(yè)廳認定的雙軟企業(yè)、江蘇省新聞出版局審核認定的電子出版物開發(fā)制作單位。公司長期承擔高校及教育管理部門的數字化教學資源、教務教學、實驗科研等管理系統(tǒng)的開發(fā)和信息化項目建設。如:《數字化教學資源庫-名師名課網系統(tǒng)》、《OA辦公系統(tǒng)》等多個系統(tǒng)平臺。智風公司多年來致力于網絡課程的建設服務工作,擁有一支專業(yè)化的開發(fā)團隊,通過嚴格的開發(fā)流程和創(chuàng)新的教學理念為廣大院校提供優(yōu)質的服務。專業(yè)化的研發(fā)隊伍:從教學設計、技術開發(fā),到交互設計、視覺設計、資源素材制作等各個方面,全面解決您的后顧之憂;豐富的開發(fā)經驗:業(yè)已開發(fā)的課程中有42門被評為精品課程,累計開發(fā)的網絡課程已逾1000門。
二、實習崗位、主要過程、主要內容、主要工作、收獲
我在該公司任職軟件開發(fā)工程師,剛實習的第一個星期,主要的工作是熟悉公司的開發(fā)框架及開發(fā)流程,及時完成項目經理派發(fā)的任務。從第二個星期開始,我就開始接觸公司的開發(fā)項目。令我印象最深、體會也最深的一個項目是《南京大學110周年校慶系統(tǒng)》。該項目不僅開發(fā)時間短(只有一個月的時間),最主要的是需求不清。在客戶與公司的雙重壓力下,我們這組人(共5人)在與客戶只溝通了兩次的需求下,我們就開始動工。該項目的用戶主要分為校領導和嘉賓。針對校領導和嘉賓進行相應的車輛、餐廳、賓館、會場、時間、志愿者的安排,要有沖突提示功能。如:在一個重疊的時間段內,一個人不能同時參加兩項及以上活動;一輛車安排的人數不能超過他的承載數等等。在做這些功能的時候,我們有過以人為基礎,分配車輛、餐廳等資源,也有考慮過以資源為主,分配人員等種種意見。在每一次意見有了分歧以后,我們都要討論,各抒己見。這種方式使我樂于表達自己的想法,當我的想法得到了其他同事的認可時,那種感覺無法用言語來表達。即使是自己的想法錯了,但聽到同事的另一番看法,使我茅塞頓開,也有了收獲的喜悅。由于項目太緊,我們經常加班,每晚都要坐末班車回去,好幾次回來后倒頭就睡,周末也沒得休息。正是有了這些無以言表的感覺才使我對這個項目,對這個階段很難忘。在項目的功能方面,我負責所有基礎信息的添加與列表顯示。在做這些的時候,與我在學校做的項目的不同是分頁都是用的存儲過程,驗證要做到客戶端和服務端同時驗證。還涉及到站內信互發(fā)、打印、導出、發(fā)郵件等這些我以前看似很神奇的東西,現在我已把神奇變?yōu)榱爽F實。
在這半年多的工作實踐中,我學到了很多,這些都是作為學生學不到的,如:
1、我參與的都是團隊合作的項目,無論是在自己公司,還是在合作公司,我們都講究團隊精神。在信任自己和他人的基礎上,思想統(tǒng)一,行動一致,這樣的團隊一定會攻無不克、戰(zhàn)無不勝。我們的很多工作是一起完成的,在這個過程中,大家互相提醒和補充,大大提高了工作效率,所有的工作中溝通是最重要的,一定要把信息處理的及時、有效和清晰。
2、每一個項目在開始著手的第一步,一定要和客戶把需求溝通清楚,只有了解了項目的需求,才有可能真正做好一個項目。我們需要向客戶提出要求客戶提供所有涉及該項目的資料,每次與客戶見面都需要熟悉業(yè)務與程序的最少一至兩個程序員隨時記錄需求。
3、工作中,有一個無論是技術,還是經驗都比較讓人肯定的前輩帶領,將任務詳細化,詳細到每個頁面、甚至是一個頁面中的圖片什么時候做好,做到什么程度,這樣把工作進度有計劃有方向的暫定下來,做事很有效率。
4、每天的工作小結真的很重要,這讓我們每天都有計劃的知道自己干了什么,不是漫無目的的工作。
5、工作并不是一成不變的,也許有一天你要去其他崗位幫忙,所以同事之間的技術要互相學習,也許有一天,公司需要你發(fā)揮其他的技能幫忙,所以互相學習也是很重要的,我在公司,深有感觸,除編程之外,切圖、界面設計等工作都干過。
三、體會
轉眼,出來社會都已大半年,已是半個社會人了。不能再向學生那樣,某些時候可以隨心隨意。頂崗實習,為我們提供了一個很好的實踐機會,可以讓我們更好的把理論應用于實踐,在實踐中領悟理論,更可以學習到很多書本上學習不到的、甚至比理論知識更實用的業(yè)務知識。而且,這些實習經驗,無疑是我們畢業(yè)后就業(yè)的一大籌碼。作為一個成年人,作為一個社會職業(yè)人,任何時候都要守規(guī)矩,做好自己的本分,承擔起自己所需要承擔的責任。經歷了2家公司的工作,我漸漸的認識到,每一份工作或每一個工作環(huán)境都無法盡善盡美,但每一份工作中都有許多寶貴的經驗和資源,如失敗的沮喪、自我成長的喜悅、溫馨的工作伙伴、值得感謝的客戶等等,這些都是工作成功者必須體驗的感受和必備的財富。如果每天懷著感恩的心情去工作,在工作中始終牢記“擁有一份工作,就要懂得感恩”的道理,你一定會收獲很多很多。在你收獲很多很多的同時,你會發(fā)現自己已經在鍛煉中變得勇敢,堅強,樂觀,闊達。這樣的你,是不斷前進的走在成功的路上的。
我實習的單位是__學院,這是一所全日制中等專業(yè)學校。我在學校里主要是負責校園內網的管理,其涉及到校園網網站的正常登陸和訪問,校園內各系部主機是否正?;ヂ?lián),有無被病毒感染、傳播。使得校園網內的計算機能夠正常運行,做好校園網的管理和維護工作。
從學生到實習工程師,短短幾個月的工作過程使我受益匪淺。不僅是在專業(yè)知識方面,最主要是在為人處事方面。社會在加速度地發(fā)生變化,對人才的要求也越來越高,要用發(fā)展的眼光看問題,得不斷提高思想認識,完善自己。作為一名it從業(yè)者,所受的社會壓力將比其他行業(yè)更加沉重,要學會創(chuàng)新求變,以適應社會的需要。在單位里,小到計算機的組裝維修,大到服務器的維護與測試,都需要一個人獨立完成??梢哉f,近3個月的工作使我成長了不少,從中有不少感悟,下面就是我的一點心得:
你可以偽裝你的面孔你的心,但絕不可以忽略真誠的力量。第一天去網絡中心實習,心里不可避免的有些疑惑:不知道老師怎么樣,應該去怎么做啊,要去干些什么呢等等吧!踏進辦公室,只見幾個陌生的臉孔。我微笑著和他們打招呼。從那天起,我養(yǎng)成了一個習慣,每天早上見到他們都要微笑的說聲:“老師早”,那是我心底真誠的問候。我總覺得,經常有一些細微的東西容易被我們忽略,比如輕輕的一聲問候,但它卻表達了對老師同事對朋友的尊重關心,也讓他人感覺到被重視與被關心。僅僅幾天的時間,我就和老師們打成一片,很好的跟他們交流溝通學習,我想,應該是我的真誠,換得了老師的信任。他們把我當朋友也愿意指導我,愿意分配給我任務。
要想在短暫的實習時間內,盡可能多的學一些東西,這就需要跟老師有很好的溝通,加深彼此的了解,剛到網絡中心,老師并不了解你的工作學習能力,不清楚你會做那些工作,不清楚你想了解的知識,所以跟老師很好的溝通是很必要的。同時我覺得這也是我們將來走上社會的一把不可缺少的鑰匙。通過溝通了解,老師我我有了大體了解,邊有針對性的教我一些知識,我對網絡部線,電腦硬件安裝,網絡故障排除,工作原理應用比叫感興趣,所以老師就讓我獨立的完成校內大小部門的網絡檢修與電腦故障排除工作。如秘書處的辦公室內局域網的組件,中心服務機房的服務器監(jiān)測等,直接或間接保證了校園網的正常運行和使用,在這方面的工作中,真正學到了計算機教科書上所沒有或者真正用到了課本上的知識,鞏固了舊知識,掌握了新知識,甚至在實踐中驗證了書本上舊有的不合實際的知識,這才真正體現了知識的真正價值,學以致用。
激情與耐心,就像火與冰,看似兩種完全不同的東西,卻能碰撞出最美麗的火花。在中心時,老師就跟我說,想做電腦網絡這一塊,激情與耐心必不可少,在產品更新方面,這一行業(yè)就像做新聞工作,補斷的更新,這就需要你有激情,耐心的去不斷的學習提高自己的專業(yè)水平。
在一些具體的工作當中也是這樣的:記得剛來學校實習的時候老師安排我去綜合部安裝win98操作系統(tǒng),我本想對我來說是非常簡單的事,可沒想到出現了很多問題,開始是硬件問題:光驅不能用使我在一開始安裝系統(tǒng)時就出現了急躁的情緒,然后順利解決后,98系統(tǒng)的驅動問題又讓我大傷腦筋!從一開始的u驅動慢慢的安裝,再通過硬件監(jiān)測軟件查看硬件型號,到最后把系統(tǒng)安裝成功,用了整整兩天的時間,通過自己的捉摸,調試,自此,我算是真正的搞明白的計算機的硬件安裝,維護和更新,接著我又進行了各種計算機操作系統(tǒng)的反復安裝調試,一遍又一遍的調試安裝,自然有些煩,但我用我的熱情耐心克服這些困難,問老師,查資料,一個個問題迎刃而解,自己在這方面的知識得到了充實。這些在平常的書本上僅僅是獲得感性的認識在這里真的實踐了,才算是真正的掌握了,也讓我認識到了自己的不足,告誡自己,不管做什么,切忌眼高手低,要善于鉆研。
還有我感觸比較深的就是查看log日志記錄,因為服務器的維護是復雜又艱辛的,既要保障物理安全又要保證系統(tǒng)安全,這就需要通過查詢log日志記錄,每一分鐘的服務器狀況都有l(wèi)og日志記錄,而且它一是數據量大、二是有大量無用信息,所以查看log使非?!巴纯唷钡氖虑椤O襁@些工作我熬深深地感覺到每有激情與耐心是做不好的。
我是今年進入__公司參加軟件開發(fā)實習的,在此次實習中,除了讓我明白工作中需要能力,素質,知識之外,更重要的是學會了如何去完成一個任務,懂得了享受工作。當遇到問題,冷靜,想辦法一點一點的排除障礙,到最后獲取成功,一種自信心就由然而生,這應該就是工作的樂趣。有時候不懂的就需要問別人了,虛心請教,從別人的身上真的能學到自己沒有的東西,每一次的挫折都會使我更接近成功。還有學會了在工作中與人的合作與交流,同樂同累,合作互助,這是團體的精神,也是必須學習的東西。
經過之前的在校學習,對程序設計有了一定的認識與理解。在校期間,一直都是學習理論知識,沒有機會去參與項目的開發(fā)。所以說實話,在實習之前,軟件項目開發(fā)對我來說是比較抽象的,一個完整的項目要怎么分工以及完成該項目所要的步驟也不是很明確。而經過這次實習,讓我明白了一個完整項目的開發(fā),必須由團隊來分工合作,并在每個階段中進行必要的總結與論證。
一個完整項目的開發(fā)它所要經歷的階段包括:遠景范圍規(guī)劃和用例說明、項目結構和風險評估、業(yè)務功能說明書、詳細設計說明書、代碼實現、測試和安裝包等等。一個項目的開發(fā)所需要的財力、人力都是很多的,如果沒有一個好的遠景規(guī)劃,對以后的開發(fā)進度會有很大的影響,甚至會出現在預定時間內不能完成項目或者完成的項目跟原來預想的不一樣。一份好的項目結構、業(yè)務功能和詳細設計說明書對一個項目的開發(fā)有明確的指引作用,它可以使開發(fā)人員對這個項目所要實現的功能在總體上有比較明確的認識,還能減少在開發(fā)過程中出現不必要的麻煩。代碼的實現是一個項目開發(fā)成功與否的關鍵,也就是說,前期作業(yè)都是為代碼的實現所做的準備。
我深刻的認識到要成為一名優(yōu)秀的軟件開發(fā)人員不是一件容易的事情,不僅要有足夠的干勁和熱情,還要有扎實的編寫代碼基礎,必須要有事先對文檔進行可靠性報告,功能說明書,詳細設計說明書等的編寫和一些風險評估的編寫的能力。
除了圖書館,最能讓我感覺到身在大學的就是機房,在匆匆過去的兩個月內,我往返于機房與宿舍之間,使我享受了一個充實的學習時期,讓我感受到了大學的魅力,對自己充滿信心,對大學充滿信心,以積極的心態(tài)迎接明天挑戰(zhàn)。實習中要求有扎實的理論基本知識,操作起來才順心應手,我這時才明白什么是“書到用時方恨少”。這就激發(fā)了學習的欲望?!皩W以致用”,就是要把學來的知識能運用到實際操作當中,用實踐來檢驗知識的正確性。我想,這是實習的最根本目的。
“紙上得來終覺淺,絕知此事要躬行!”,在短暫的實習過程中,讓我深深感受到自己在實際運用中專業(yè)知識的匱乏。以前總以為自己學的還不錯,一旦應用到實際就大不一樣了,這時才真正領悟“學無止境”的含義。經過為期兩個月的電子政務服務平臺系統(tǒng)開發(fā)的實習,我對Visual 軟件開發(fā)平臺有了更深一步的了解,對微軟基礎類庫的認識與使用也有了大大的提高。以及如何使用SQL Server數據庫進行連接操作方面有了本質的提高。
短短的實習結束了,為我將來的就業(yè)打下了良好的基礎,也提高了我的軟件開發(fā)的水平,今后我將會更加努力的學習,不斷提高自身素質,開拓創(chuàng)新,與時俱進,做一個優(yōu)秀的軟件開發(fā)工程師。
轉眼之間,兩個月的實習期即將結束,回顧這兩個月的實習工作,感觸很深,收獲頗豐。這兩個月,在領導和同事們的悉心關懷和指導下,通過我自身的不懈努力,我學到了人生難得的工作經驗和社會見識。我將從以下幾個方面總結軟件工程崗位工作實習這段時間自己體會和心得:
在軟件工程崗位工作的實習過程中,我始終把學習作為獲得新知識、掌握方法、提高能力、解決問題的一條重要途徑和方法,切實做到用理論武裝頭腦、指導實踐、推動工作。思想上積極進取,積極的把自己現有的知識用于社會實踐中,在實踐中也才能檢驗知識的有用性。
在這兩個月的實習工作中給我最大的感觸就是:我們在學校學到了很多的理論知識,但很少用于社會實踐中,這樣理論和實踐就大大的脫節(jié)了,以至于在以后的學習和生活中找不到方向,無法學以致用。同時,在工作中不斷的學習也是彌補自己的不足的有效方式。信息時代,瞬息萬變,社會在變化,人也在變化,所以你一天不學習,你就會落伍。通過這兩個月的實習,并結合軟件工程崗位工作的實際情況,認真學習的軟件工程崗位工作各項政策制度、管理制度和工作條例,使工作中的困難有了最有力地解決武器。通過這些工作條例的學習使我進一步加深了對各項工作的理解,可以求真務實的開展各項工作。
在軟件工程崗位工作中我都本著認真負責的態(tài)度去對待每項工作。雖然開始由于經驗不足和認識不夠,覺得在軟件工程崗位工作中找不到事情做,不能得到鍛煉的目的,但我迅速從自身出發(fā)尋找原因,和同事交流,認識到自己的不足,以至于迅速的轉變自己的角色和工作定位。
為使自己盡快熟悉工作,進入角色,我一方面抓緊時間查看相關資料,熟悉自己的工作職責,另一方面我虛心向領導、同事請教使自己對軟件工程崗位工作的情況有了一個比較系統(tǒng)、全面的認知和了解。根據軟件工程崗位工作的實際情況,結合自身的優(yōu)勢,把握工作的重點和難點,盡心盡力完成軟件工程崗位工作的任務。兩個月的實習工作,我經常得到了同事的好評和領導的贊許。
從大學校門跨入到軟件工程崗位工作崗位,一開始我難以適應角色的轉變,不能發(fā)現問題,從而解決問題,認為沒有多少事情可以做,我就有一點失望,開始的熱情有點消退,完全找不到方向。但我還是盡量保持當初的那份熱情,想干有用的事的態(tài)度,不斷的做好一些雜事,同時也勇于協(xié)助同事做好各項工作,慢慢的就找到了自己的角色,明白自己該干什么,這就是一個熱情的問題,只要我保持極大的熱情,相信自己一定會得到認可,沒有不會做,沒有做不好,只有你愿不愿意做。轉變自己的角色,從一位學生到一位工作人員的轉變,不僅僅是角色的變化,更是思想觀念的轉變。
在工作間能得到領導的充分信任,并在按時完成上級分配給我的各項工作的同時,還能積極主動地協(xié)助其他同事處理一些內務工作。個人的能力只有融入團隊,才能實現最大的價值。實習期的工作,讓我充分認識到團隊精神的重要性。
團隊的精髓是共同進步。沒有共同進步,相互合作,團隊如同一盤散沙。相互合作,團隊就會齊心協(xié)力,成為一個強有力的集體。很多人經常把團隊和工作團體混為一談,其實兩者之間存在本質上的區(qū)別。優(yōu)秀的工作團體與團隊一樣,具有能夠一起分享信息、觀點和創(chuàng)意,共同決策以幫助每個成員能夠更好地工作,同時強化個人工作標準的特點。但工作團體主要是把工作目標分解到個人,其本質上是注重個人目標和責任,工作團體目標只是個人目標的簡單總和,工作團體的成員不會為超出自己義務范圍的結果負責,也不會嘗試那種因為多名成員共同工作而帶來的增值效應。
幾個月來,我雖然努力做了一些工作,但距離領導的要求還有不小差距,如理論水平、工作能力上還有待進一步提高,對軟件工程崗位工作崗位還不夠熟悉等等,這些問題,我決心實習報告在今后的工作和學習中努力加以改進和解決,使自己更好地做好本職工作。