這個做業屬於哪一個課程 | <18級軟件工程基礎> |
---|---|
這個做業要求在哪裏 | <第一次我的做業:閱讀與準備> |
我在這個課程的目標是 | 使用Markdown編寫一篇博客,瞭解軟件開發的基礎知識 |
這個做業在哪一個具體方面幫助我實現目標 | 正常使用Markdown編寫博客,速讀前人們博客,基本瞭解軟件開發的要求 |
其餘參考文獻 | GitHub優缺點 |
##1.我的介紹 | |
####我叫趙哲一,來自山東濟寧。雖然濟寧無名,但缺是一個安居樂業的好去處。喜歡文筆極好的小說,好比雪中悍刀行。我個性很強,按照本身的節奏作事,固然往壞點說也能夠說成自律性不強(呲牙)。我適應能力很強,大一剛入學的那段時間,雖然離家1500千米,雖然身邊沒有知心朋友,但我也是很快處理了我遇到了各類問題。新的環境並無在我內心翻起較大的漣漪。我熱愛體育,乒乓球和羽毛球水平不過低,能夠和中等選手打的有來有回,因此我比較熱情,幽默,來者不拒。但我不會主動去找人說話。 | |
##2.閱讀和思考 | |
###(1)回想一下你初入大學時對你所在專業的暢想 | |
####當初你是如何作出選擇你所在專業的決定的? | |
小時候學習懶散,注意力不集中。電腦遊戲奪走了我所有精力,遊戲水平高了就想着遊戲在電腦中是以怎樣的方式存在着,爲何頁遊,端遊佔用空間不一樣?我可否本身創造一個遊戲?本身須要掌握多少知識具有多少能力才能夠創做遊戲?其次我在電影中注意到了網路攻防,深深迷上了黑客這一行業,也很想成爲一名有能力的奪旗選手。因此我深深愛上了計算機。 | |
####你認爲過去一(兩)年中接觸到的課程是否符合你對你本身所在專業的期待,爲何? | |
比較知足本身的期待。我對數據結構又愛又恨,雖然看到一羣我不認識的代碼會頭大,可是一旦掌握了,就會有一種成就感。大一課程基本爲咱們打下了編程的基礎,下一環節就是增長代碼量。 | |
####你以爲你所在的專業是你喜歡的領域嗎,它是你擅長的領域嗎? | |
計算機是我喜歡的領域,但個人確不擅長,就好比漢諾塔問題。若是把這個問題放給我,我是真的毫無頭緒。還有模擬理髮店(數據結構的高級應用)。個人代碼量僅僅500多行左右,可是我相信隨着代碼量的提高,我會達到駕輕就熟的程度 | |
####未來你會選擇從事和你專業相關的工做嗎?是的話給出你想去的城市、公司和崗位,否的話給出緣由 | |
會從事。說個題外話,如今工做基本都和計算機掛鉤,不管你從事什麼工做,你都會享受它給你的力量。我想去製做遊戲的企業,畢竟我玩性很大,像網龍網易(捂臉笑)。我想留在浙江杭州(雖然很難)。 | |
###(2)對照前人們走過的路和描述將來發展,如今的你? | |
####自我感受你已經具有的專業知識、技能、能力有哪些?已經寫過的代碼量是多少?描述你作的最複雜的項目/做業。 | |
哇!我掌握的簡直就是vegetable。我掌握的都是很基礎的東西,寫過的代碼量也不過1000行(捂臉),我作的最複雜的項目:模擬理髮店(由於我很菜嘛),這種數據結構的高級應用我難hold住。 | |
###(3)目前是一我的生選擇的十字路口,考研、工做、考公、出國,不一樣的選擇在大三就有不一樣的努力方向。而不管考研仍是工做的每條路徑,也有許多不一樣的分支。 | |
####對照以上你閱讀的前人們的經歷,你的選擇是什麼? | |
個人選擇是考研,由於我喜歡大學生活,並且我想繼續深造,並且我還有不少東西須要掌握,許多東西須要熟練運用。好比office, Java, Python, flash, PS,等等等。 | |
####在這種選擇下,你認爲你相比其餘同窗來講有何優點,有何劣勢? | |
優點:接觸的人更多,去過的地方更多,見到的世面更多,知識的寬度較大提高。 | |
劣勢:固然是工做經驗,我不反對工做3年賽過考研3年,由於畢業生不管你兼職作了多少,能力有多強,可能未必超過一個在騰訊工做三年的工程師! | |
####你對於實現本身的夢想已經作了或者計劃作什麼樣的準備? | |
我有大量空閒時間追求我想學的,去得到我想要的。去了解我想知道的,去自學網絡攻防,和製做遊戲。我想應該會頗有意思吧。 | |
##提出問題 | |
###1.團隊問題 | |
在第五章團隊與流程中講到的團隊模式這一律念:能夠看出,這些團隊有共同的特色:團隊有一致的集體目標,團隊要一塊兒完成這目標。一個團隊的成員不必定要同時工做,例如接力賽跑團隊成員有各自的分工,互相依賴合做,共同完成任務。做者列舉的近十種模式確實形象地描述出了不一樣形態的團隊合做模式,我不禁的想起我高中時的小隊:因組員能力差別,分配任務很難作,最終每一個人的完成狀況差別也很大,甚至出現不得不禁某些隊員完成多個模塊。 | |
需求和設計階段的許多問題未獲得重視,在開發階段問題放大,只得亡羊補牢,同時效率極低。最初的系統設計不夠細緻,致使經過測試的不一樣模塊整合在一塊兒出現各類bug。關於各種文檔,咱們選擇了交給一我的完成(他只負責寫文檔),這個決定讓小隊的進度大大減慢。總結,團隊分工協做開發不論哪一種模型,老是會在軟件開發的不一樣階段出現或大或小的各類問題,這些問題有的能在早期的分析設計階段提早避免,有的問題卻幾乎沒法避免,咱們只能在每一次的項目中吸收教訓做爲下一次參與開發的經驗。 | |
###2.客戶與軟件的問題 | |
在第10章典型用戶和場景中有這樣一個問題。遊戲玩家類型(1)重度發燒玩家,根據遊戲安排日程(2)中度發燒玩家,根據平常生活計劃安排遊戲時間(3)休閒玩家,只在恰好有空的時候,才考慮以遊戲做爲消遣。你的遊戲是針對哪種類型的用戶的呢?固然根據中度發燒玩家(典型用戶)因此我就有了這樣一種問題:有客戶需求才有軟件開發,每個軟件的開發都有其商業價值,那麼當一個軟件其商業價值很小,客戶需求量不多的時候,那麼這個軟件還有開發的必要嗎? | |
###3.成功的團隊更能創新 | |
出自P350,成功的團隊更能創新這個說法我是贊成的。雖然書上說的成功的企業要知足股東們巨大的指望值,成功的公司追逐名利,重視用戶,因此他們只是平穩增加。可是若是將團隊分爲創新組和維護組,那麼公司既保護了生命力也擁有創新力,支付寶其實就是一個很好的列子,並且他們還有網絡安全組。 | |
###4.創新者就是冒險家 | |
出自P354,創新者就是冒險家這句話我是即贊成又不一樣意,對於一個已經完備的體系或者企業,就像代碼,創新修改就至關於修改一個2W行的代碼,那蝴蝶效應會體現的淋漓盡致,這的確是冒險的行動!但對於原本就處於低迷的企業,創新實際上是拯救,很簡單的列子:遊戲虎豹騎。他與2015年中止更新,遊戲一直處於低迷期,在這個戰爭遊戲匱乏的時代,他若是進行創新發展,可能就是拯救本身,而非冒險。而dota的自走棋,這種遊戲模式創新引各大遊戲公司爭相模仿。這樣的創新又怎麼能說是冒險呢? | |
###5.軟件工程師 | |
什麼樣的軟件工程師纔算得上是高級、優秀,只是達到用戶的需求才稱得上嗎?問題出自第三章。我有這個問題是覺得曾經我聽過這樣一個段子:我是一個工程師,假如我是賣肉夾饃的,客戶說:來,給我來2W個肉夾饃!我:內存過載。客戶:給我來1.325個肉夾饃!我:精度不足。客戶:給我來倆,一個不要肉,一個不要饃。我:!!!客戶:我不要肉夾饃給我來條狗。我:忽然去世。那麼問題來了,到底什麼樣的軟件工程師纔算的上是高級優秀的工程師。 | |
##源程序版本管理工具 | |
##GitHub | |
優勢: - 1.完整的支持Markdown語言,並且支持Emoji表情 |
- 2.支持直接複製圖片到頁面,會自動上傳圖片(很是好的功能,知乎也支持) - 3.比較好的支持Mobile。雖然github沒有手機客戶端,可是通常開發者,寫好的blog都會經過微博進行分享,因此點擊過來以後,就能夠在手機瀏覽器裏面訪問。 - 4.使用github原生的功能,就能夠進行相似評論的功能 - 5.支持@用戶功能 - 6.支持標籤,固然是你repository裏面 - 7.強調我的,符合hacker更看重名譽/成就感的天性 - 8.功能設計簡潔實用上手很快,可用性好,已有不少至關質量的各種項目和優秀開發者在上面。
缺點:- 1.GitHub 使用 git 分佈式版本控制系統,而 git 最初是 Linus Torvalds 爲幫助Linux開發而創造的,它針對的是 Linux 平臺,git 和 Windows 歷來不是最好的朋友,由於它一點也不像 Windows。GitHub 發佈了GitHub for Windows,爲 Windows 平臺開發者提供了一個易於使用的 Git 圖形客戶端。 - 2.國內訪問速度太慢,常常出現connect time-out - 3.不能很好的解決GB2312/GBK,對中文不夠友好 - 4.wiki功能太弱,直接致使文檔(對於開源項目很重要)常常被分離到一個獨立站 - 5.免費套餐不支持私有項目,無非解決企業內部的需求,github:fi價格太高(最便宜要$5,000/年) - 6.基於git,學習曲線陡峭,企業大規模用git根本不現實。尤爲國內你們都剛學會svn - 7.github有時可能被牆,或者不穩定 ##Bitbucket 優勢: - 支持Hg,最易學易用(但不是最強大的)的分佈式版本管理工具。同時也支持Git。 - 徹底免費的閉源項目,還支持5人之內的合做開發 -提交大文件不限容量 ##TFS TFS是一個應用軟件生命週期管理(ALM)軟件,是一個軟件研發平臺產品,其功能覆蓋了軟件研發過程當中的全部環節(包括源代碼管理)和全部角色。在用戶習慣上,TFS秉承了微軟全部產品的特新,開發人員很是容易上手。軟件使用過程當中,用戶會發現與平常導入操做系統、開發工具(VS),Office軟件等有不少共同的體驗。TFS高度集成主流的開發工具和常見的辦公工具。例如Visual Studio, Eclipse, XCode, ItelliJ,例如Excel, 瀏覽器,Project同時,TFS提供方便的API(.NET API, Java API, Rest API)集成,能夠與企業現有的系統實現數據共享。html