《軟件工程》學習歷程1


最近學生們經常找我聊天,希望能讓我給他們指明方向,這個問題我不太里手,只是和他們說了說我的學習歷程,說得多了,覺得有必要寫下來。雖然歷程比較平凡,但也許能讓他們有所啟發,對我而言,自然是記錄成長。

大三時開始學習《軟件工程》,清晰記得給我們上課的剛留美歸國的博士,后來他成了學校的校級領導,當時他同時承擔了我們的《離散數學》教學,對他個人印象深刻,但對他所授的課程,我只是記住了“瀑布模型”和他的全英文教學,甚至考試試卷也是英文的。

大三掛了大學期間第一門考試,於是,暑假留在學校,有點小沮喪,但感覺也特別幸運,學院竟然開始實行項目小組制,我順利的利用這個時間參加對我影響很大的開發小組,遇到了對我影響深遠的指導老師,他話不多,只是安排任務,檢查任務,組織學習,當然,還有關心我們的成長。如今,我還有一個小本子記錄着當時他的安排,他叮囑我們找工作注意安全。由於我是小組中最早過英語四級的同學,很自然的就成為了組長,自然的承擔更多的任務,同時開始學習如何給小組成員分派任務,收集反饋,檢查結果,指導同學,我想這些給我后來成為一名教師奠定了基礎。
當時,我們開發的項目是《湖大衡陽分校財務教學管理系統》,印象深刻的一幕是:老師從客戶那回來后,拿出厚厚的一踏憑證類表格,於是,我們開始了漫長的繪制“數據窗口”的工作。當時使用的工具是Sybase公司的PowerBuild,而如今,PB已經成為了歷史。
在這個項目中,我熟悉了“數據窗口”、“SQL語句”和用“messagebox”做調試,還獨立承擔了整個系統的幫助文檔制作,個人認為工作還算不錯,制作幫助文檔這一部分,指導老師后續直接讓我指導學弟學妹。指導老師給我定的畢業論文課題是關於“基於構件的軟件復用”,當時,我主要負責“進度條”的復用,對,就是那個程序處理時間過長,防止用戶關閉應用程序的進度條。現在,我幾乎忘記了當時的畢業設計內容,但是我記住了“基於構件的軟件復用”幾個字,這時候,我依然不知道這和軟件工程有什么太大的關系。

談起真正開始對軟工產生感覺,應該是在讀研究生時,在導師的公司參與項目的過程。參加這個項目,一樣很幸運,等待被分配的時間比較短,一開始就能跟着領域知識很豐富、項目開發經驗很足的項目經理開始做需求調研,我們和用戶方一起呆了兩個月,用戶是壟斷企業,他們信息科的一位同事天天和我們工作在一起,但基本上是他玩游戲,順便回答我們業務方面的問題和安排碰頭會議,而我們卻始終忙個不停歇。還記得,每天早上我總是第一個到辦公室,一邊整理前天的任務,一邊等待大家,項目經理通常會在討論十分鍾股市行情和早間新聞后開始一天的工作,上午時刻基本上是大家一起討論,作為項目唯一的女性,理解他們的討論內容並記錄的工作自然由我承擔,當然我也樂於承擔,這個工作讓我對於條理性理解更加深刻,也讓我對公司業務更加熟悉。中午午休期間,我開始整理上午的討論,以方便下午大家可以按照我的整理開始分頭工作,雖然很辛苦,但是很充實,很有意義,這樣讓我們不用因為午休而浪費大量的時間再重復討論。兩個月時間,我們在企業完成了所有原型的制作,參與了兩次需求確認會議,從此我開始回憶起大學時學習到軟工知識,我開始意識到:原來,大學里認真學習的內容,是會在腦海里留下印象的,只不過,它們在腦海里是一個一個的點,進行實際項目開發就是增加他們被提取、被組合的可能性,而一旦被提取、被組合,再次被提取的可能性將被極大的提高;原來我正在經歷的的就是需求分析;原來,公司開發軟件也有多種形式:當時公司是計划買個軟件做個二次開發就給用戶使用,誰知提籃子不容易,最后只能推倒重來,時間、成本和人力資源都有所浪費,好在及時止損了,於是我們出現了;原來,對企業業務流程的了解,對領域知識的熟悉,也是非常重要的,如果能夠利用領域知識對企業信息化做流程重組也是非常好的;原來,我們畫的所有圖,就是用來和用戶確認需求的,可以算是原型模型;原來,瀑布模型中提到的文檔驅動,其實對於初學者來說是很有幫助的。
需求分析結束后,回到公司,項目經理帶着我們完成了數據庫的設計,並要求UI部門做好界面設計后,他的工作就移交給了工程經理,工程經理留給我的印象是:嚴謹、認真,具有程序員的典型形象。從他那兒,我看到了工作分解結構和甘特圖,還有我們的進度計划安排,每天完成他安排的任務、checkin配置庫、寫好日報,就覺得異常充實了,我發現我沒有時間思考其他任何問題,包括我是不是需要一份感情。從他那,我發現代碼書寫是有組內規范的,被他調整過的代碼就是看着格外舒服,也就因為此,他對我們要求很高,項目組成員最害怕被他叫到名字,這意味着將是一頓臭罵。我身邊的同門,一個男生,每次被叫到后,都會全身一抖,可越是抖,越是經常被叫到。幸好,我沒有被罵過,雖然我也害怕,但我把害怕轉化在了碼代碼的嚴謹上。
這個項目使用.net技術,開發歷時近一年,到今天還在維護使用。當我因個人原因離開時,項目還沒有完全做完,雖然項目組的成員流動很正常,但為了保證項目的工作,我提前一個月提出了申請,記錄下所有我未完成的任務中存在的問題,交給工程經理,他很滿意,也很輕松的放我離開。到如今,過去十年,他都還記得我,我想那份臨走時的交接單應該起到了一點作用。
到此,我開始意識到軟件工程是個系統工作,仿佛摸到了一點點邊,又似乎沒有。

不知不覺,寫了很多,但還有很多沒有寫完,當然遠未到寫完的那天,這只是個開頭,后續將繼續記錄……


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM