在我們整個軟件工程過程中,我體會到了許多,也學到了許多。
在項目要進行自由分組后,我們的項目小組便誕生了。我們小組由3個成員組成,在相互商量后我們也確定了我們組的項目,是做一個人事管理系統。我們也隨即做了分工,我們的項目也正式開始了。我的任務是做需求分析和測試計划,現對以上兩個任務總結如下:
需求調研和分析對於軟件開發過程至關重要。我們在開發時如果不進行調研和分析,那么對於后來的項目進展將產生致命的后果。我們在項目的開發中便遇到了這樣的問題。我們開始自己隨意的計划整個系統的設計,導致需求分析環節前后不一致,還要返工去修改,費時費力。所以在做任何一個項目時,前期的需求調研和需求分析必須明確目標,這是在做一個項目的基本,是關系成敗的重要一環。
對於一個項目,它的需求設計非常重要。在我們的人事管理系統開發的過程中,遇到了一些問題,出現的這些問題很多都是非常棘手的,我們為了解決這些棘手的問題浪費了大量的時間,我們不得不在工程代碼上改了又改,在數據庫里增表、刪表、加數據、減數據,當然,在需求文檔里也要做出相應的修改以適應新的功能。還好,我們能及時地發現問題,通過相互溝通討論,問題也得到了解決。通過總結,我們也意識到,我們大家在做需求分析和進行需求了解時僅僅考慮了一些基本的功能,而至於管理員和員工之間的聯系,以及具體的一些流程我們都沒有深究,而導致我們到后期花費了大量的時間用於修復之前沒有考慮周全而帶來的問題。如果我們的需求設計能夠比較清晰和完善,那么我們在開發過程中便會很明白的知道我們應該實現什么樣的功能,在數據庫里應該怎樣建表,以什么方式插入數據,從而可以避免反復修改工程的問題,也能避免出現可能毀壞整個工程的問題。整個工程的需求設計對於一個項目的順利進展至關重要。
對於測試計划在軟件工程中的作用,我在這次項目開發過程中有了更加深刻的理解。測試在軟件開發過程中是很必要的,是一項必不可少的東西,但測試也不能太多,太過繁瑣,如果是那樣就不太好了。首先我們要明確測試過程中的測試原則,測試的最根本的作用是為了及時發現缺陷並完善。一個項目或產品可能需要延續很長的測試時間,可能會遇到很多的問題和很多的解決的方法,這時,我們需要文檔的幫助,我們需要有一個東西來記錄,我們需要有一個明確的測試目標。
在整個項目開發過程中,我們也同時遇到了許多頁面和功能相結合的問題,數據庫建表的問題,這些問題都是源於我們項目小組成員之間的溝通不足。我深刻認識到,在項目開發時,項目小組中各個成員之間的相互溝通是非常重要的。如果我們要在功能方面作出修改,那么程序人員和頁面人員及數據庫人員就必須相互溝通,共同對整個程序作出相應的修改,這樣才能避免最終整合時出現問題。
在這兩周里,我還對軟件工程有了新的理解。在我以前的理解當中,軟件工程,無非就是一個人或者幾個人或一個團隊集中在一起進行編寫代碼的工作,以實現開發出所用的軟件。但現在我明白了,軟件工程的作用,就是告訴人們怎樣去開發軟件和管理軟件。具體地講,它表現在與軟件開發和管理有關的人員和過程上。所以,軟件工程就不僅僅是單一的編程過程了。它包括了系統分析->建模->概要設計->詳細設計->編碼->測試->維護。編碼可以理解為編程,這個只占總時間的20%左右。編程只是其中的一小部分。
在這次項目里我完成了許多工作,在界面設計上我完成了,首頁、全部的用戶頁面及部分管理員頁面的制作,在后期項目整合過程中修改了功能和界面結合時出現的bug,還有數據庫插入數據及解決數據庫集中整合時出現的問題。這些工作我都順利完成了,雖然並不能算是非常的出色,但也算是盡力了。現在看到自己辛勞的成果,我感到很欣慰。
當然,在這次項目過程中我也發現了自己的一些問題。需求分析不夠明確,經常改需求導致返工,在和小組成員相互溝通上還不夠積極等。我希望以此為契機,在將來的項目開發中能做得更好。