實驗一 軟件工程准備
學習之旅初認識
項目表
| 項目 | 內容 |
|---|---|
| 課程班級博客 | https://edu.cnblogs.com/campus/xbsf/nwnu2020SE |
| 作業要求 | https://www.cnblogs.com/nwnu-daizh/p/12369881.html |
| 課程學習目標 | 了解並學習軟件工程的相關知識,提高自我能力 |
| 本作業在哪些方面幫助我實現學習目標 | 課程學習工具的方面 |
| 作業正文 | (1)學習博客園軟件開發者學習社區使用技巧和經驗;(2)了解Github的基本操作 |
| 參考文獻 | 《現代軟件工程—構建之法》 |
實驗內容
任務1:調查問卷
在本網址提交課程調查問卷(已填寫)
任務2:在博客園平台注冊個人博客賬號和加入班級博客
任務3:注冊Github賬號
- 用途:管理項目,記錄(源碼、文檔,歷次版本變更,bug發現與修復)等信息。
- Github
- Github操作及如何托管項目?
- 參考文章
- 學習視頻
- 本人github賬號(已創建)
- 學習視頻已於寒假期間觀看;git管理工具已於寒假期間安裝
任務4:各位同學點擊以下超級表格鏈接填寫博客園、github賬號信息
超級表格(已填寫)
任務5:構建之法與博客首秀
- 3個准備從課程學習中找到答案的問題
- 首先,我覺得這3個問題,既然是需要我們准備從課程學習中找到答案的,那么就需要我們完完全全地學習完整本書的內容並參與到學習過程的項目中,我們才能正確,實際的回答。綜合鄒欣老師博客中所發的學生感想,在此給出的是我初步學習和觀看書籍后的答案。待課程學習完成后,我會在對這個三個問題進行全新的解答。
- 問題1:我閱讀了《現代軟件工程—構建之法》“第1章”概論 之后,有了這么一個問題:這本書需要我們在學習完軟件工程后,達到什么樣的目標?需要擁有什么樣的能力?根據我的經驗,我感覺以往的課程鍛煉的是我們學習基礎知識的能力和編程能力。但是我還是不太懂,我的困惑是這本書的內容與別的課程書籍內容大有不同(並不是側重於知識點和編程能力的提升),那么學習完它后,給了我們一個什么方向,該達到什么樣的目標。
答案:這個問題的答案可以引用《現代軟件工程—構建之法》p17的內容
(1)研發出符合用戶需求的軟件
(2)通過一定的軟件流程,在預計的時間內發布“足夠好”的軟件
(3)能證明所開發的軟件是可以維護和繼續發展的
但是僅僅只有這些而已嗎?對此我感覺還需要深度的學習。 - 問題2:我粗讀了《現代軟件工程—構建之法》之后,有了這么一個問題:既然這本書中的內容並不是側重於鍛煉我們的編程能力,那么書中的內容是否有助於讀者編程能力?根據我的經驗,粗讀完這本書后,我認為書中的內容鍛煉的是我們的工程能力,而不是編程能力。但是我還是不太懂,我的困惑是:正如網上對這本書的反饋,學習工程能力的同時,是否也在無形之中提高了我們的編程能力?
答案:整本書還未學完,因此我這里先放個結論:肯定是有幫助的,具體什么樣的幫助成果,還得待學習完整本書內容后才能得知。這里先給上我的看法:
何為代碼能力?通常的定義是指程序猿或其他對代碼的應用、讀寫、調試等一系列的能力。主要決定於對代碼的熟悉程度以及將算法或思路快速轉換為代碼的能力。
初步閱讀和學習這本書后,我覺得軟件工程這門課中,其中的一些方法,一些理論,是為了讓我們對工程有一個好的規划,好的設計。由此避免一些不必要的問題,進而減少不必要的bug和錯誤,提高效率和准確性。這種對問題進行分析,並且對解決手段先設計然后再編寫代碼的方法,毫無疑問有助於提高代碼的一遍通過率。同一個人,通過有效的分析和設計后再編寫的代碼,以及直接編寫的代碼,我認為這兩者的區別是十分大的。
因此,我認為書中的內容有助於讀者編程能力的提高。 - 問題3:我看了《現代軟件工程—構建之法》“第5章 團隊和流程”的內容之后,有了這么一個問題:在具體的團隊工作中,該怎么樣分配各個成員的分工?以保證效率的最高,使軟件項目最快實現。根據我的閱讀,我認為書中第5章第二節內容中的主治醫師模式,明星模式,社區模式,業余劇團模式,秘密團隊模式,交響樂模式,爵士樂模式,功能團隊模式和官僚模式都各有千秋,或多或少的適合團隊發展。但是我還是不太懂,我的困惑是除此之外,團隊協作還需要我們進行怎么樣的協調與分配(是否有更好的模式)?
答案:這里我給出我在閱讀鄒欣老師博客時,看到的答案(鄒欣老師所引用的學生感想)。

我也覺得答案正如這位學長所說,最關鍵的是揚長避短和動態分配(動態分配是重中之重),但是在實際的團隊工作中,因為個體差異的不同,這仍然是個值得我們探討的問題,需要我們在實際的團隊協作中尋找答案。
