項目 | 內容 |
這個做業屬於哪一個課程 | https://www.cnblogs.com/nwnu-daizh/ |
這個做業的要求在哪裏 | 實驗十四 團隊項目評審&課程學習總結 |
做業學習目標 | (1)掌握軟件項目評審會流程;(2)反思總結課程學習內容。 |
團隊項目Github倉庫 | https://github.com/zhouyanghaha/CoderXiaoban |
1.軟件是一個根據客戶要求不斷跟新,與時俱進的,做爲軟件工程的學習者,我應該認真的看待每個相關軟件問題。可是我仍是不太懂,個人困惑是,那麼咱們以前編寫的那些軟件就毫無心義了嗎? 答:開發者們但願用最新的技術寫出完美的代碼,寫完善的文檔,每一個人均可以瞭解到具體實現,從而能夠方便測試和後續的維護升級。而另外一方面,其它人卻只是但願快速經濟地完成功能,從而他們能夠推出新功能或者推銷給更多客戶。軟件是一個根據客戶要求不斷跟新,與時俱進的,做爲軟件工程的學習者,應該不斷地跟新完善所寫的代碼。做爲程序員,咱們應該嘗試不那麼完美主義,而且牢記保持這一目標。提供價值比咱們的代碼整潔更重要。只有當你爲了長期目標,去追求完美才有意義 2.代碼量小的話,能夠獨自一人完成,但代碼量極大的時候,則就須要多人協做完成代碼的編寫,那麼,在人和人不同,在和別人合做的時候,要如何作到我的的表達觀點的方式和思考的方式保持一致呢? 答:在多人合做編寫代碼時,應該花時間來統一談論編程思路,保持我的的表達觀點的方式和思考的方式一致,這樣,就會大大提升了編程的效率,也使得的代碼功能更全面,效率更高。 3.本質上, 當重構代碼時, 是在編寫代碼以後改進它的設計」可是我對於具體的狀況依然不是很瞭解,重構是對於舊的架構進行修改,來知足新的需求,那是否只是使用如今積木(代碼)搭建一個更漂亮更優秀的大樓呢? 什麼時候應該進行重構呢? 答:查了不少資料,總難以閱讀的程序,難以閱讀的程序並非說寫程序的人水平高,必須重構;邏輯重複的程序,重複的代碼必須進行封裝處理,這樣的程序必須重構;添加新功能時,須要修改已有代碼程序,不利於擴展的程序必須重構;條件複雜的邏輯程序,必需要重構
1.結合本學期課程學習內容,對比《實驗一 軟件工程準備》的任務5所提的問題(給出提問博客連接),嘗試對提出問題進行解答,並闡明是如何經過學習/實踐/討論弄清楚的;學習中是否產生了新的問題?若有,請提出。html
《實驗一 軟件工程準備》 | http://www.javashuo.com/article/p-cjtmkghr-ko.html |
2.總結本身在項目的 可行性分析/需求分析/軟件設計/實現/測試/項目驗收/中學到了哪些「知識點」。git
1. 可行性分析: 用最小的代價在儘量短的時間內肯定問題是否可以解決。 2.需求分析:肯定系統必須完成那些操做,對目標系統提出完整、清晰、具體的要求。 3.軟件設計:肯定系統具體實施方案。 4.實現:將設計轉換爲特定編程語言代碼並在相應環境運行,同時保持可追蹤性,靈活性和可擴展性。 5.測試:程序的功能是否正確或完善;數據的輸入可否正確接收,輸出是否正確;是否能保證外部信息(如數據文件)的完整性等。 6.項目驗收:要明確項目的起點和終點;要明確項目的最後成果;要明確各子項目成果的標誌。
3.結合我的項目/結對編程/團隊項目的我的經歷,談談心得。程序員
1.我的項目心得:github
在我的項目中, 在開發的過程當中,遇到了不少的困難,不是這個軟件不會用就是那個軟件不會用, 還有不少不少的細節還要考慮, 還好有老師、同窗的指導,本身的探索,慢慢的解決了問題。對任務的結果不是很滿意,主要是製做時用了不少時間,在psp中實際完成須要的時間比計劃完成須要的時間差異很大,沒有效率,走了不少彎路,沒有作好計劃。應該先好好學習了再去作的, 而不是邊學習邊作。
2.結對編程心得:數據庫
在兩人的合做過程當中,剛開始的時候,出現各自了不一樣的意見,兩我的的想法都是有稍微的出入,使得前期軟件設計的進度不太理想。但隨着咱們在合做的過程當中慢慢的磨合,並試着從對方的角度來看問題,理解對方,這樣就慢慢減小了矛盾,同時也加快了進度。兩人在合做時,效率與效果: 1+1>2,這點是毋庸置疑的,能夠彌補本身的缺點,發揮優點,能夠從多方面討論問題。
3.團隊項目心得:編程
咱們是一個有效率、有組織、有團隊精神的小組, 有效率在於小組製做網站中分工明確、討論有目的; 有組織在於小組成員能按時、有質量的完成本身的分工任務, 值得一提的是此次開源代碼開發的大部分時間小組成員都很全力以赴,負責任; 有團隊精神在於咱們小組團隊項目中的共進退, 從不由於本身分工任務提早完成而拉下其餘組員, 咱們意識到小組是一個有組織、有記錄、有共同目的的集體而不是一個由分散的我的組成的團體。雖然項目的功能可能在設計方面有不少不足,可是感受咱們的團隊很完美,咱們的團隊不只團結,並且分工合理明確,很慶幸有這麼好的團隊成員。這是一個團隊項目,雖然項目比較小,可是你們都很努力,遇到問題你們能夠一塊兒討論完成,而不是讓某一我的孤軍奮戰,這樣纔能有效、輕鬆的解決項目中的問題。你們一塊兒合做完成一項任務的效率仍是很高的,分工明確,互相協助,相互反饋就可以很好的作好一個系統設計
4.總結這門課程的實踐總結和給你帶來的提高,包括如下內容:數據結構
(1)統計在軟件工程實踐中,你完成了多少行的代碼;架構
在軟件工程的實踐中,大概完成了2500行代碼。
(2)你在軟件工程實踐的各次做業分別花了多少時間?(作一個列表)編程語言
1.我的做業 :工具
做業博客名稱 | 所花費時間 |
讀《構建之法》後的疑惑 | 60min |
做業互評與改進報告 | 50min |
詞頻統計軟件項目報告 | 150min |
《英文文本統計分析》結對項目報告 | 350min |
項目互評 | 40min |
2.團隊做業
做業博客名稱 | 所花費時間 |
團隊做業1:團隊亮相 | 30min |
團隊做業2:團隊項目選題報告 | 30min |
團隊做業3:團隊項目的原型設計 | 40min |
團隊做業4:基於原型的團隊項目需求調研與分析 | 60min |
團隊做業5:項目需求分析改進與系統設計 | 55min |
團隊做業6:團隊項目系統設計改進與詳細設計 | 66min |
團隊做業7:團隊項目設計完善&編碼 | 600min |
團隊做業8:Alpha衝刺 | 800min |
團隊做業9:Beta衝刺與驗收準備 | 180min |
(3)哪一次做業讓你印象最深入?爲何?
在團隊做業8:Alpha衝刺中,我印象特別深入,在此次做業中 ,不光是須要寫博客,還有進行編碼階段,編碼階段主要仍是受了設計的限制,主要工做就只是在原有的結構上添加一些類與方法,以及對各部分代碼進行修改。還有最後的團隊課堂演示,由於咱們本身會作並無什麼了不得的,只有課堂上看到其餘同窗作的咱們才能夠學到更多的東西,知道本身的不足與
優勢。
(4)累計花了多少個小時在軟件工程實踐上?平均每週花多少個小時?
累計花了75小時,平均每週花4小時左右。
(5)你學習和掌握的新語言、新平臺;
在項目的開發過程當中,我學習到了JavaWeb這門新的語言,並且還實踐了本學期學習的數據庫相關知識。
使用了新的平臺——博客園,在博客園上完成提交本身的做業,與其餘同窗進行線上討論,遇到不會的問題還能夠求助園友,博採衆長。這樣一個開放的學習空間使人愉悅。
GitHub的使用。
(6)填寫下表,總結一學期的學習中,你學習或使用的軟件工程開發工具、開發方法和建模方法;
軟件開發工具、項目管理工具 | 軟件開發方法 | 軟件建模方法 |
GitHub,MyEclipse,MySQL | 面向對象的軟件開發方法,面向數據結構的軟件開發方法 | 面向對象方法,模型驅動開發方法 ,結構化方法 |
(7)其餘方面的收穫或提高。
通過這學期的軟件工程課程, 我領悟到任何東西都要「學以致用」 , 學習了還不行還要看本身掌握了沒, 掌握了還不行還要看本身熟練了沒, 熟練了還不行還要作出必定成果。一開始,我以爲,對於開發一個軟件,只要在最後可以生產出一個可使用的產品就算完成任務,而對於項目文檔以及前期設計並無太看重。可是在實際的實踐操做過程當中,會發現,盲目地去編寫代碼,而沒有一份詳細的規劃做爲指導,會極大程度地下降開發效率。不會再像之前同樣一聽到寫做業就手忙腳亂的先開始編碼,而是用軟件工程的方法去解決問題。
5. 你認爲目前的課程存在哪些問題,你有什麼更好的建議。
1.在時間進度安排方面很符合課程的進度,除了詳細設計那一階段時間有些倉促,畢竟你們之前接觸的項目比較少,要是真的對起手來會有點吃力 2.助教工做態度很好,會很細心的發現咱們的錯誤,並提示咱們及時改正。