項目 | 內容 |
---|---|
這個做業屬於那個課程 | 班級博客 |
這個做業的要求在哪裏 | 做業要求 |
我在這個課程的目標是 | 學習軟件工程相關知識,鍛鍊軟件開發能力。 |
這個做業在哪一個具體方面幫我實現目標 | 閱讀教材,大致理解軟件工程 |
做業正文 | 做業正文 |
做者在書中只以一個簡單類的單元測試爲例,但實際的軟件工程中每每涉及到GUI/數據庫等狀況,每種類型的單元測試具體如何分析?是否每一個項目的每一個part都要作到代碼路徑全覆蓋?html
我查了資料,如下的回答比較有啓發性:java
回答1針對單元測試具體內容作出了一些解答。git
回答2則給出了單元測試的5個級別,以及經常使用場景的級別劃分。程序員
在目前的網絡授課環境下,結對編程的溝通成本更高了,會不會致使效率降低?在初學入門與空間隔離的條件下,如何保證結對編程的效率呢?github
6.2節中對敏捷流程各部分會碰到的問題作了總結。但彷佛並無給出部分問題的解法。若團隊成員基本都是初見軟件工程,一個最直觀的問題是:在以後的團隊流程中,如何獲得各個流程的量化評價?web
注意到書中連接10提供了Scrum視頻培訓,但限於時間因素,還沒來得及所有觀看。數據庫
(注:閱讀後續章節發現有部分解釋,但仍偏理論,而且也並未給出具體量化)編程
PM作開發和測試以外的全部事情。後端
書中對PM的職責進行了詳細的描述,並對如何作好PM給出了必定的建議。但實際狀況下,初入門的PM是否真的能完成這麼多的職責?這個職位在課設中是否真的有意義,而不是淪爲一個掛名職位呢?另外,做爲組內程序員,在出現問題甚至矛盾時,如何配合PM完成各項工做?網絡
迷思之六,技術是創新的關鍵。
書中以銥星計劃爲例,說明科研技術不等於創新。我在查看銥星計劃的相關資料後,發現其失敗是創建在跨國家,組織,技術和多個管理層面的,巨型的,複雜的技術創新管理體系的失敗,一系列複雜的緣由致使了銥星計劃的破產,不能僅僅將其歸咎於創新。做者在後續內容中以用戶體驗一節的茶壺案例說明了相似的觀點。但我認爲科技的發展很大程度標誌着創新,好比目前的手機行業,攝像頭設計均爲挖孔與升降式結構,此時在攝像頭隱藏上取得突破,讓用戶取得更高的屏佔比,就能夠引導行業進一步發展。
軟件一詞,由John Tukey在於1958年發表的論文「The Teaching of Concrete Mathematics」中提出。
軟件工程,則由Margaret Hamilton於阿波羅11號軟件開發週期內提出。
地點則均爲美國。
分享一則關於菜單的冷知識,世上第一個遊戲彩蛋由Warren Robinett(沃倫·賓耐特)在開發第一個動做冒險遊戲《adventure》時完成。因雅達利公司時任管理者不容許將製做人名字印在遊戲卡帶上,沃倫設計並製做了下圖的隱藏關卡。
管理軟件名 | 用戶數 | 項目數 |
---|---|---|
GitHub | 31,000,000 | 100,000,000 |
Bitbucket | 5,000,000 | Unknown |
Launchpad | 3,965,288 | 40,881 |
SourceForge | 3,700,000 | 500,000 |
GitLab | 100,000 | 546,000 |
GNU Savannah | 93,346 | 3,848 |
OSDN | 54,826 | 6,294 |
管理軟件名 | 優勢 | 缺點 |
---|---|---|
Microsoft TFS | 是對敏捷,msf,cmmi等項目、過程管理、過程改善的支持。任務版上能將需求、項目進度盡收眼底,對於小團隊而言,比甘特圖更有用。 | 能應用起來的團隊、公司的數量極少,多數真正用起來,也就是源代碼管理這部分,這也僅僅是佔TFS極小部分功能。 |
GitHub | GitHub提供Git存儲庫服務,基於web,容許你使用Git的源代碼管理功能,或者其特性。 | 若是有不公開的專案的話,須要付費,沒有一個很清楚的圖表能夠看清楚全部專案的milestone due day順序,沒有甘特圖能夠看,只有英文界面 |
Trac | 很是靈活,能夠爲所欲爲控制能夠和SVN集成,權限設置比較完善,且是一個SCM配置管理平臺,意味着它有良好的擴充,權限體系完善 | 不支持多項目,需求和缺陷沒有分,用 Wiki 來替代 Word 等工具編寫文檔提升了學習成本,中文支持很差,核心功能不多,須要配合插件使用。 |
Bugzilla | 檢索功能強大,後端數據庫支持好,中文化支持完整。 | 快速搜索結果不許確,只能管理缺陷 |
Mercurial | 有revset,擴展性,append only的存儲結構,易於掌握,對新手友好 | 只容許兩個分支進行合併。 |
Apple XCode | 編譯速度極快,每次操做都很快速和輕鬆。自動提供撤消、重作和保存功能,無需編寫任何編碼。 | 更新版本後,某個插件可能會失效。 |
查找後發現上述管理軟件大部分都使用Git,所以下面用了Github和Gitee舉例,
此前利用gitee搭建了一個靜態的我的博客(本來倉庫在github上,但訪問速度過慢,所以搬運到了gitee),倉庫以下
相相似的Bitbucket、Gitlab等都是採用Git管理,整體用戶體驗較爲一致。