一、學期初,實驗一中的任務4,大家擬定了5個準備從課程學習中找到答案的問題,通過乙個學期的學習,相信大家已經有了答案,請根據自己的學習實踐回答自己當初提的問題,並提出乙個新的問題。
<1> 在閱讀了第三章 "軟體工程師的成長"後了解到了工程師掌握知識的四個階段:"入門(introductory)、熟練(competency)、帶頭人(leadership)、大師(mastery)"但我還是不明白成為一名合格的軟體工程師需要具備哪些專業知識和開發經驗與要求?
通過一學期的學習,讓我認識到成為乙個合格的軟體工程師應該具備一下6個基本素質,即良好的編碼能力、自覺的規範意識和團隊精神、認識和運用資料庫的能力、較強的寫作能力、具有軟體工程的概念和求知慾和進取心。
<2> 在p53頁中作者提出了"過早的優化是一切罪惡的根源",而且舉了乙個生動的例子。我對此有不同的看法,在軟體工程開發過程中,如果遇到了問題就及時解決,那到最後問題豈不是越越少?為什麼這裡說過早的優化是不可取的?
通過軟體工程的學習,明白了為什麼不能過早的優化,如果把這句話改為「不要在不恰當的時機進行優化」可能會更容易理解一點,很多人寫**的時候,一開始就往效能優化的方向進行**設計,往往容易失去對總體效能指標的把握,在不適宜的地點和時間進行不必要的工作,而忽略了可讀性、移植性、安全性、內聚性等真正需要重視的地方。優化是在需求確定的情況下,進行對系統上的公升級,精簡結構,提高效率。如果過早優化,會限制各模組或是結構的功能,不利於後期擴充套件。
<3> p27頁提出"100%的**覆蓋率並不等同於100%的正確性!",那怎麼才可以達到100%的正確性?
通過學習,我明白了為什麼"100%的**覆蓋率並不等同於100%的正確性!",100%的**覆蓋率對程式設計師來說不是什麼難事,但需要做到100d%的正確性就很難了,測試是無窮盡的,就像我們在完成專案的時候,單元測試基本沒有完全達到過100%,我覺得有時候也沒有必要完全達到100%的**覆蓋,因為有些**區域的覆蓋代價得不償失。
<4>讀了第十七章"人,績效和職業道德"後我對我們怎樣才能盡量短的時間裡融入到團隊、更快的看清自己的定位以及認識到同伴的優劣而提高我們的程式設計效率?
<5>第十三章"軟體測試"中提出了修改bug和提高**效率的多種方法,但是怎麼來判斷乙個程式真正沒有bug?大量的測試嗎?如果大量的測試沒有檢測出存在的bug時,怎麼來判斷?
對於程式有沒有bug需要大量的測試,如果大量的測試沒有檢測出bug說明測試用例不好。
二、完成課程的實踐總結和給你帶來的提公升,包括以下內容:
1.統計你在軟工課程實踐中,完成了多少行的**;
大概有7000行**。
2.軟工實踐的各次作業分別花了多少時間?累計花了多少個小時在軟工實踐上?平均每週花多少個小時?(做乙個列表)
軟工作業
花費時間
平均每週花費時間
實驗一 軟體工程準備
7.5實驗二 軟體工程個人專案
7.5實驗三 軟體工程結對專案
7.5實驗四 基於原型的軟體需求獲取
6.5實驗五 軟體研發團隊組建
6.5實驗六 團隊專案評審與團隊專案選題報告
6.5實驗七 團隊作業3—團隊專案的原型設計與開發
7.5實驗八 團隊作業4—基於原型的團隊專案需求調研與分析
7.5實驗九 團隊作業5—團隊專案需求改進與系統設計
7.5實驗十 團隊作業6—團隊專案系統設計改進與詳細設計
5.5實驗十一 團隊作業7—團隊專案設計完善&編碼測試
6.5實驗十二 實驗十二 團隊作業8—團隊專案使用者驗收評審
6.53.哪一次作業讓你印象最深刻?為什麼?
最讓我印象深刻的是編碼測試的那一次,之前沒有軟體工程的思想,在劃分了任務模組後,就各自寫自己的模組,在之前沒有編碼規範,導致**整合的出現了很多的問題,讓我意識到團都合作中,**規範的重要性。
4.學習和使用的新軟體;
墨刀、 process on git等
5.學習和使用的新工具;
github
6.學習和掌握的新語言、新平台;
7.學習和掌握的新方法(請具體說明什麼方法);
軟體工程的思想,知道了如何進行使用者調研,如何進行編碼規範,如何進行軟體測試,如何寫軟體工程規格說明書等等。
8.其他方面的提公升(請具體說明 什麼提公升)。
通過軟體工程的思想來思考問題,團隊合作的重要性,還有軟體專案完成過程中軟體文件的重要性。
三、你認為目前的課程有哪些問題,你有什麼更好的建議:
1.你認為本門課程需要在**進行改進,具體措施有哪些,包括:時間進度安排,專案難度等均可;
建議在專案完成工程中,時間可以稍微延長一點點,因為本身專案的難度比較大,再加上大家的課程也比較多,在完成工程中,總感覺時間比較緊。
2.你認為助教/老師**做的不足,**限制太多等;
助教老師還有老師都非常的認真負責,及時的指出我們在學習過程的問題。
3.你認為每次專案的評分標準存在哪些問題,你認為的合理評分準則是怎樣的(個人/結對/團隊算三個)
對於評分標準,我覺得盡力去做到公平,儘管這很難,設定評分就是來衡量乙個同學完成的滿意度,如果標準不統一,就會出現做的很認真的同學卻沒有其他同學的得分高,儘管這個得分也不是唯一的標準,但既然有評分就盡量做到公平。還有就是團隊專案完成中,應該對完成任務量多的同學的分數應該高一點,完成的工作量多,就應該獲得更高的分數,這樣更有利於激發大家的積極性。
4.在結對專案中你是否真正體會到了結對的好處,是否真正嚴格進行了結對程式設計,雙方的工作量是否相同;
在結對專案中體會到結對的好處,乙個人的力量總是有限的,兩個人就會有更好的想法,遇到問題也可以很快的想到解決方法。當然在工作量上不能做到100%的相同,模組完成的難度不一樣,每個人能力也不一樣,但基本上是相同的。
5.你的團隊專案是否成功,如果重來一次你是否還會選擇這個團隊,為什麼成功/失敗;
我們的團隊專案非常的成功,我們完成之前預期的所有的功能,並且按時上線,團隊之間合作的很愉快,如果再選一次,我還會選擇我們的團隊。
6.總結一下你們團隊在做專案時大家的時間安排情況。
大家的時間基本都一樣,在沒有課的時候,一起討論專案中的問題。
7.對下一屆軟工課實踐教學的建議,或者對於開學初的你,對於大一的你,對於開學初的老師,你有什麼想建議和告知的呢?對於後來人的期許。
希望學弟學妹們在軟體工程的學習工程中,認真負責的去完成每一次作業,去體會軟體工程的思想。將會學到很多東西。
四、你還有什麼想說的話
感謝這一學期助教老師,老師的默默付出,讓我一次次的改正自己的錯誤,一點點的進步,感謝你們,讓我收穫了很多。
個人學期總結
一 對第一次提的五個問題的回答如下 1.絕大部分軟體都是由多人合作完成的,大家的工作相互有依賴關係。而有時候軟體的很多錯誤都 於程式設計師對模組功能的誤解 疏忽或不了解模組的變化。如何能讓自己負責的模組功能定義盡量明確,模組內部的改變不會影響其他模組,而且模組的質量能得到穩定的 量化的保證?在做自己...
個人學習總結
組 groupadd 建立新群組 groudel 刪除組groudmod 修改組的資訊 cat etc group 檢視組的資訊 使用者 group 換成user cat etc passwd 檢視使用者的資訊 ps 顯示當前程序資訊 常用引數 e 和 aux kill 結束程序 常用引數 9 ki...
個人學習總結
一 請根據自己的學習實踐回答自己當初提的問題,並提出乙個新的問題。1.就在第一章的概論裡作者就推出了 軟體 程式 軟體工程 很明顯,開發乙個軟體,軟體工程就處於一種舉足輕重的地位,程式加上軟體工程才能使乙個軟體完整。那軟體工程它有哪些驚奇的功能呢?答 軟體工程主要是降低軟體系統的複雜性 提高其可控性...