個人總結

    期末將至,轉眼間我們的軟件工程課就要結束了,身為助教的我感受頗多,下面我經總結一下我的工作經歷和認識?!盾浖こ獭氛n程強調概念和知識的理解和掌握,側重軟件項目的分析、設計、實現和維護的基本技能。比較注意“點”和“面”的結合。是一門理論性較強的學科。對于理論性太強的學科,把握起來真的很困難。書上列舉很很多不錯的例子,本書既可以當有趣的故事書來讀,又可以當教科書來用,由此可見編者的水平有多高啊!我們這門課的老師水平也很高,我對他的印象真的很好,這是一位好老師,也是一位負責的老師。最近聽一個學長說他軟件工程去年沒怎么學,現在答辯文檔的組織能力和代碼的規范都不合格,他很是為此發愁,因此更要要好好學習這門課程。身為一名助教,眼看這學期一晃就要過去了,總感覺什么東西也沒學到。不過我還是過的很充實的,因為我每周都會完成老師布置我的任務,同時還兼職為同學們批改作業,同學們作業的總體來說還是不錯的,總有這么一部分同學的作業讓人嘆為觀止,不管是從作業內容還是從作業認真程度來看,這部分同學的作業是非常優秀的,讓我學習到很多新的知識,就這樣,伴著讓自己忙碌的事情,我這學期的助教工作就要結束了,在這里我首先要感謝老師給了我這次當助教的機會,讓我得到了鍛煉,積累了經驗,其次,還要感謝同學們積極配合我的工作,能及時完成作業并提交,讓我們助教們節省了不少寶貴的時間。在這里我還有以下幾點建議給同學們。

 

對同學們建議:

    在我們以后的工作中,我們要充分認識到軟件工程這門課對我們的重要性,在做項目時做好做到以下幾點:

1、要有清晰的產品模型規劃

    在開始開發前,一定要想清楚,需要開發的這個項目到底是一個什么樣的東西,它的功能應該包括什么,其中哪些是主邏輯部分功能,哪些是拓展功能,你做出來的軟件需要讓什么人去用。我們組在對軟件工程團隊項目開發過程中在這個問題上吃了大虧。由于一開始在選題時候我們簡單地想著做一個代碼眾包平臺。并沒有仔細地去考慮到底要做成什么樣子的,核心功能邏輯是哪些,功能亮點有什么,這導致我們在項目進行中遇到了很多很多問題,甚至在中期檢查后對整個項目的功能進行了一次很大的增刪,這導致我們的項目結構變得混亂。由于功能大改,導致原有的項目框架也隨之改變,之前很多代碼直接變成了無效代碼,開發成本增大,開發效率一下變低。因此我覺得一個好的大型項目一定要在開發前想清楚要做的產品到底是一個什么樣的產品。可以不需要想清楚每一個細節,但是涉及軟件核心的邏輯與功能必須想清楚,否則,后患無窮。

2、實行嚴格的產品控制

    在軟件開發過程中不應隨意改變需求,因為改變一項需求往往需要付出較高的代價,但是,在軟件開發過程中改變需求又是難免的,由于外部環境的變化,相應地改變用戶需求是一種客觀需要,顯然不能硬性禁止客戶提出改變需求的要求,而只能依靠科學的產品控制技術來順應這種要求。
    也就是說,當改變需求時,為了保持軟件各個配置成分的一致性,必須實行嚴格的產品控制,其中主要是實行基準配置管理。所謂基準配置又稱基線配置,它們是經過階段評審后的軟件配置成分(各個階段產生的文檔或程序代碼)。基準配置管理也稱為變動控制,一切有關修改軟件的建議,特別是涉及到對基準配置的修改建議,都必須按照嚴格的規程進行評審,獲得批準以后才能實修改。絕對不能誰想修改軟件(包括尚在開發過程中的軟件),就隨意進行修改。
3、采用現代程序設計技術
    從提出軟件工程的概念開始,人們一直把主要精力用于研究各種新的程序設計技術。60年代末提出的結構程序設計技術,已經成為絕大多數人公認的先進的程序設計技術。以后又進一步發展出各種結構分析(SA)與結構設計(SD)技術。實踐表明,采用先進的技術既可提高軟件開發的效率,又可提高軟件維護的效率。