现代软件工程 -- 第一周 -- 介绍自己
1.自我介紹
hello,大家好,一直以來都想寫博客來提升自己,但是比較懶,所以遲遲不想去開通博客。更重要的是,我總是喜歡放大問題,總要等到一個天氣晴朗、風和日麗、心情大好的時候,穿上一身'正裝'、打扮成大人模樣,非常正式的去開通一下博客,寫一些技術流的東西??墒沁@樣的時機我并沒有等到。可能大家已經覺得這有點拖延癥,是的,沒錯,每次都會清醒地認識到自己有拖延癥,但還那樣拖著。但好在自己好勝心比較重,別人要是做了什么事,我要知道了,那我就會奮起直追,一周。兩周,一年,兩年的去超越,但同時也有可能和別人一樣去墮落。再剖析一下自己,我有個室友,在考研,他很是下血本,考研班考研資料各種備齊,人也很勤奮,家人也支持讀博,可是他的報考志愿是專碩,主要的原因是因為他認為他可能考不上學碩,放大了好多困難。這就是我一直以來回避的一個問題,居安思危,我并不知道這是不是好事,我有時候會刻意把某件事說的很難,以至于我把事情完成了沒有什么成就感,完不成倒是挺會安慰自己的。最后再說一個,我一直以為自己自學能力很強,直到現在我才明白,還是好勝心的事,必須有人比我自學能力強,還不能強太多,他能自學一件事我就能。最后,值得一提的是,自從學會了游泳,除了體測前后一周,每周都會去游泳,這件事我希望一直堅持下去,最好也能堅持
學英語。
2. 現狀、經驗和計劃
2.1技能
我是西安交通大學自動化系的,因為我們學校買了matlab版權,課程作業一貫以matlab為主,但我還是比較喜歡c/c++/c#/python,我就簡單說一下我目前的水平,課后想要達到的水平,以及怎么做,怎么做呢,想歸想,還要結合一下老師的課程作業吧。
| Programming Overall / 對編程的整體理解 | 3 | 8 |
| Programming Comprehension(程序理解)如何理解已有程序,通過閱讀,分析、 debug | 3 | 9 |
| Programming:Design(架構設計、模塊化設計、接口設計) | 2 | 8 |
| Programming:Performance(效能分析與改進) | 2 | 8 |
| Programming:communication(線程之間/進程之間/不同平臺的進城之間) | 0 | 6 |
| Programming:BigData(處理大數據) | 1 | 6 |
| Personal Software Process (個人軟件過程):個人源碼管理(TFS/GitHub) | 1 | 5 |
| Personal Software Process (個人軟件過程):估計,記錄工作量,并逐步提高 | 1 | 5 |
看似列了7項很貪多,但是前兩項是可以在后面五個的基礎上無形中完成的,而最后兩個是需要注意的,以前不進行源碼管理,現在注意這一點,提高起來應該不是很難。可能因為我沒有進行過代碼管理與記錄工作,難度估計的不足。需要提高的就是架構,模塊設計,線程與大數據處理,我覺得這里結合具體例子來進行是最好不過的了。當然需要學習理論的時候,也要去學,但是我看書容易發呆。如果有個視頻講解,那么我還是會認認真真聽老師講的,畢竟花了心思做的問題。所以總的來說就是結合具體例子,直白點就是作業,任務要完成,并且涉及這方面,就好好去做。不然提高了我也不知道為啥要提高這個能力,縱然技多不壓身,但是大數據,信息爆炸時代,時刻有個濾波器總沒有錯。
2.2 閱讀一些博客的心得
大學生上課為什么一定要認真聽講?
前言:真的是除了農村才知道,城里的人真會玩。像我們這些生在農村,長在農村的,考上大學就已經很不容易了,如此來之不易的機會,上課怎么會不聽講。再者說了,也許是我們高中的老師有點養生,我感覺大學的老師都賊厲害。
讀完大學生上課為什么一定要認真聽講?我有個疑問就是這個和婁老師的學生的頭腦是容器還是火把?有點矛盾啊,婁老師大致的意思是下面這句名言:
古希臘學者普羅塔戈說過:「頭腦不是一個要被填滿的容器,而是一束需要被點燃的火把?!?上課不就是一個塞知識的過程嗎,好多東西都是而被強心灌輸的。(幸好我對這些話不敏感,一直覺得學生聽課,寫作業,考試很正常。也因此大學過的有些遺憾)回到正題,為什么會有這樣的感覺呢?這個是上課的初衷嗎?婁老師的意思是不是,而且為了扭轉這個局面,他在盡心的進行教學改革,利用上課,一點一點的給大腦輸送火星,為的就是點燃那個火把,讓大腦燃燒起來。他可不想我們依舊是原生態,一個任由隨機事件隨機沖擊產生隨機結果的狀態。
先說大學生上課為什么一定要認真聽講?里面幾句經典的話。
你在大學里面認為那個老師是水貨,這個故事的另外一個版本是,你走上社會以后,你認為你的領導沒水平,但是更真實的版本是,你沒有水平。
大學其實是專治青春期各種不服的地方。
我覺得很幸運的一點是,中國大學專業的課程體系盡管有不足之處,但是幸好還是過來人設置的,而不是由學生自主設置的。如果讓學生根據自己的意見設置課程,那真的完蛋了。
大學生在大學需要練習的一個本事是,給你一門課程,你學到你能力范圍內的最好,也許這未必會是全局的最好,但是至少是突破你自己能力般的好,因為有時候人和人的差距的確很大。
有很多人上完了大學,思考方式還是那種“原生態”的模式。所謂的原生態就沒有經過系統刻意地訓練,沒有經過斧正,而是任由隨機事件隨機沖擊產生隨機結果的狀態。
當你沒有能力始終如一地跟著老師走完一堂課不走神不分心,多年以后你會發現一篇超過2000的文字你竟然看不完跟不上沒耐心。
讀完這些話就是知道了,第一點,大學是座圍墻,將我們保護了起來,雖然專治青春期各種不服,但是有給了你改變的機會。它不因為你這周沒好好聽課,沒好好寫代碼等徹底否定你,開除你。相反只要你肯改變,每一秒都是一個轉折點。治的各種不服只是為了走出圍墻少碰一點釘子罷了。不要說什么不與世俗同流合污,人之所以為人,因為人是一切社會關系的總和,人不可能脫離社會,脫離關系而存在。我們終有一天要步入社會。第二點,遇到不順心的人與事,要有一種“寵辱不驚,閑看庭前花開花落.去留無意,漫隨天外云卷云舒”,什么意思呢,凡事看開,老師怎么講老師的事,我們怎么做那是我們的事。
接下來說師生關系
說到這我一般情況情況下會選C: 向老師和同學請教,花更多時間,把作業全部完成。因為作為學生需要做好本職工作,但是有時候要是遇到常年請假或者念ppt都是20hz以下的,課我會去上,也會盡力去聽,但是我課下也會找一下慕課作為主戰場。應該說是視情況而定吧,該給的面子還是要給的,不能面面俱到的時候,那就只有考前和同學討論,認認真真做作業啦。這里舉一個我的自動控制原理老師杜行檢老師,他就是就類似于教練和教員的關系,課前讓我們看他們課題組錄制的mooc,很短,10幾分鐘。上課的時候,邊講邊提問,有時候會留一些思考題,下節課讓同學來講,有時候簡單的課程也會請學生上去講。看到這里,許多人可能會覺得老師有點不負責了吧,其實不是的,每次學生上去講,他都要認認真真聽,要糾正,要討論。課后作業的反饋更及時,他親自閱卷,每個題每一步錯在哪里,你怎么錯的都會標注。畫圖題,用尺子去量,1mm的誤差都不行。完了會講一下某個題錯了比較多,多少個人錯了,錯在了那?誰的答案和上課和切合,誰的想法很獨特,誰很認真都點出來。最后來個總復習,全程沒有劃重點,但是這門課我學下來,感觸良深。自動控制原理先講分析,后講設計,分析方法有什么什么,設計思路出發點有什么什么。所以他是以為園丁,但沒有不去修剪病梅;他是餐廳老板,竭盡全力服務學生,時常夢到自己上課遲到,跑錯教室。他是保姆,隨時拋出問題,等待著你的思考,你要問他考啥,那就是白搭。但是遺憾的是,更多的老師是路人甲。
最后說下引用與抄襲
看了鄒老師的一篇微博與About Cheating and Plagiarism這個案例,真心覺得不管以前怎么樣,以后還是不要抄襲為好。我曾近一度認為任何事情都要獨立去做,以至于高數作業我寫了一個月完成了一次總結(其他同學30min-2小時不等),c語言的楊輝三角我編了8個小時(其余同學8道題4個小時都完成了),但是被告知閉門造車不好。信息爆炸的時代難免要去搜集一些資料,站在巨人的肩膀上,于是問題來了,什么時候是引用,什么時候是抄襲。在我看來,抄了被人博客,用了別人源碼自己看都不看直接提交,author都不改一下,實驗報告名字都不改的直接交上去的,比如數值分析課上我的實驗報告被提交了10幾次,就是抄襲。
凡是講究實事求是,干什么事獨立思考,自己寫完了對比別人的改一改,要是要公布,給別人說一聲,加個標注引用了別人的。如果第一步是需要調研,那么之后文章參考文獻就要出現一下,如果是寫博客要用到別的,回復問一下,然后附上原文鏈接,做到有理有據就是引用。如果一聲不吭的竊取了勞動成果多少都是抄襲。
2.3個人規劃
談到個人規劃,以前覺得本科出來就業就可以。大學三年過去了,在大學的環境下,總感覺博士總有獨當一面的能力,加之大學是座圍墻,想鄒欣老師說的 在你一生中身體最健康,精力最旺盛的時候,能在大學全職學習和研究,這是少有的機會 。至少我現在還有選擇讀博的權利和最好的環境,所以我還是想做學術研究,偏向工程方向的更好。我的優勢那必然是堅持與不放棄,在農村呆了將近20年,大學的苦我覺得真的不苦。但是我的眼界依舊沒有放開,快速學習的本領不夠強,沒有做到博聞強識。我對本學期的規劃是學好英語口語,認真對待編程。怎么認真學呢,報了班,天天跟著練,編程自然是盡快從matlab的舒適區走出來。
2.4課程期待
美國視界(1):第一流的本科教學課堂該是什么樣?展示了美國常青藤本科大學生的自律,老師的用心良苦,助教的極度負責以及中美教育的差別。一個填鴨式教育,一個啟發式教育。一個雷聲大,雨點小,一個時??耧L驟雨。也許是中國呆久了,不想走出舒適圈,但是自由、開發、燒腦的課,我愿意去參加。
軟件工程資料 - 優秀的大學怎么教程序開發和軟件工程課美國的大學教育和中國的區別很大,是對實踐的重視的重視程度,還有老師,助教,學生三者妙不可言的關系。
本科生的軟工實踐課程總結就是雖然放開了手腳,自由與自主氣氛濃厚,不免還是被一些身邊經驗所局限,幸好博主是個大神,挽回大局的能力很強。列舉一下對我有警告的話:
- 作為新手PM,一定要做好需求分析!一定要做好需求分析!一定要做好需求分析!
- 告訴所有同學,編程差沒關系,照樣能拿高分。這是【軟件工程】實踐課!這是【軟件工程】實踐課!這是【軟件工程】實踐課!不是【高級程序語言】實踐課!也不是【軟件開發】實踐課!
- 對大一的自己: 照著高中定好的大學規劃走就對了。雖然編程會差點,但是以目前的情況來看,總體還算不錯。
因為我就從來不關心需求分析,調試靠經驗,編程給自己用,在結對編程現代軟件工程 作業 文本文件中英語單詞的頻率一度追求編程,最后一課才恍然大悟,重點是效能分析,效能分析,效能分析。而且我自認為自己的編程能力不足以應付這門課,現在看來,有些欣慰。
這門課我自然是希望時間多一點,讓我熟練一門編程語言,python或者c#,其他工具像管理代碼的github,強大易用的原型設計與協同工具墨刀,移植一些認知服務啊熟悉一下就好。助教,自然是很想當,為啥,自己寫完,再看看別人的,自己心中是喜是悲,不言而喻。最重要的是,我看到了助教是多么的重要,這個role很有挑戰性,不僅這門課,其他科我也想當,督促自己與他人一起進步。
目前的代碼量
| c# | 0 | 10000+ |
| c++ | 600 | 10000+ |
| python | 1000 | 10000+ |
| c | 6000 | 5000+ |
| matlab | 9500 | 1000+ |
因為我在西安,課業不是很重,每周自然保持30小時花在這門課上,結對編程的時候,幾乎是一天12小時,一周7天,總計2周。去了MSRA,之后,一般周六周天會給這門課,周內以看書為主,因為晚上還要練口語。這門課和以前其他課花一樣多的時間,因為以前的課我就很認真呀,每天課前預習,課后復習,積極做作業?,F在感覺有點后悔,因為這樣下來,和考前突擊是一樣的,平常認真那樣,有些老師并不領情。有時間也可以多參加一些科研。
你計劃在本課程結束時,完成2000+的代碼碼量,每周應完成多少是情況而定,不過每周最少也得個200行吧!(200行不是指有效代碼量,是個大致的數)
2.5帶燈前行,借鑒前人
讀了大佬的成長史與如何進入微軟亞研院第一感覺就是此人大神,而且很謙虛,很好學,同時又有憂患意識。雖然我是聯培生,但比起這位大神,我真的感到要是能和他一個課題組,絕對進步蹭蹭的。說一下感想,博主起步早,眼界比較好,英語絕對托福120,這一點我無法相提并論。不過這也給了我一個警示,我的編程和英語這兩個基本功還沒有好到一定程序,路漫漫其修遠兮。另一個就是個人素質,博主大神雖然說的輕松,但我讀起來是十分沉重的,可以讀出他的自律與熱情,興趣與堅持。這里又想起鄭南寧院士給我們上課說的一句話:“要想成功,興趣與堅持去做很重要?!?#xff0c;我本滄海一粟,渺小的很,進步的空間還很大。
3. 提有質量的問題
P92 看到圖5-8,5-9,5-10那些瀑布模型的流程圖
對于那些瀑布模型的流程圖,內心是認同的,也覺得有道理??梢砸话愕膶嵺`過程中,用戶分析很重要,是很重要,但是如果對于一個在校大學生,這個用戶合不合格,真不真實確實是個問題。也許這個用戶就是老師作業中的一個角色,亦或者說就是自己,即使每個流程圖把用戶分析放到第一步,沒有實戰過,不挨老師的幾次批評,還是不知道用戶分析的重要性。這里是不是可以先把這一步去掉以提問的方式說最開始缺少了哪一步?或者其他手段來表達出這個重要的理念?就是怎么讓我知道真的真的知道沒有需求分析,一切都是白搭展現出來,讓我們以后一見到用戶就覺得用戶需求很重要
第六章 敏捷流程
- P102 6.1 敏捷開發的原則,第五點,以有進取心的人為項目核心,充分信任他們。
- P102-103 6.2敏捷的流程中有提到了同伴每天都會開例會
- P104 有提到了燃盡圖
- P109 6.3 敏捷的團隊 提到Scrum Master不是招呼大家開開會,記錄每個人的進度而已,而是要在兩種語境中自由切換相當于像個項目經理
- P115 表6-2敏捷的適用范圍要求有資深程序員帶隊
這里強調了這個Scrum Master的能力,進取心與責任心,。但是這樣的工作量其實很大,而敏捷流程的開發周期很短,我們會不會想到“結對編程”,如果有兩個資歷,責任心,進取心差不多的程序員,能不能他兩扮演領航員與駕駛員,一人兩周,輪流當駕駛員。駕駛員需要統領大局,他得到的信息與發現的問題最多,也最操心這件事,還要完善燃盡圖,照顧進度;領航員雖然在領航,但是也在天天開例會,不會說出現對項目不熟的情況。兩周后駕駛員去解決那兩周來難啃的骨頭與一些測試,并擔任起領航員的角色。之前的領航員稱為駕駛員,又開始一波敏捷,因為例會天天開,之前的問題領航員心里有底,不會出現返工之類的情況。
第八章 需求分析 P144 獲取用戶需求 —用戶調查,
這里提到了如何獲取“用戶需求的東西”,這里我P147頁微軟公司隱藏單向玻璃窗背后觀察目標用戶的舉動的實驗很感興趣,因為其他的什么調查問卷,深入面談,以前都試過,最終都是是失敗告終,因為即使用心做好了自己,也沒法左右別人。但是微軟的這個例子,這個是很好,但是能不能讓用戶先站在后面,讓技術人員演示一遍,然后用戶在開始操作。因為我們知道,其實很多東西都是有教程的,而且3min左右的視頻教程越來越流行,如果看了教程還找不對,那必然是值得去改,但是找一個本來沒什么心情,又不熟悉的人來做這件事,背后的我們自然著急。就像是給老一輩用有道詞典查英語,其實他對有些概念比如發音,詞根,英語有對應的漢語這些概念只是知道,拿到一個單詞他并不會去點擊那個發大鏡的圖標來搜索,順便看看例句,詞組和詞根。
第12章用戶體驗
這里圍繞用戶講了很多,很實用。同時我在想一個問題,用戶體驗,是非要直接來源于用戶嗎?雙11的體驗來自于美國的”黑色星期五”;滴滴起初良好的用戶體驗多多少少借鑒了Uber;百度也有google的影子。很多東西他們他們中國化一下就可以獲得很好的用戶需求,當然有人會問,中國化不就牽扯到了用戶需求嗎?是沒錯,因為這多少是間接性的,對用戶需求獲取的一點點補充。于是吶,我們可以間接地分析成功與失敗的案例,在別人的體驗上改進一下就可以達到很好的用戶體驗,只有在直接獲取用戶的體驗上'小改'。
第16章 16.2 創新時機
我看了黃金點游戲,有個問題: 這個是博弈的思想吧。 我查了下,博弈和創新是并列關系,不存在包含與被包含的關系,那么以這個例子說明創新時機的時候,我一直在想這個是一直在博弈,只不過是先驗信息越來越多。再者如果按創新的時機來理解,創新一小步就會贏得大部分人,創新太多想法就會擱置,那么我是該將創新一次進行到底呢,下次在從另一角度突破?還是將我的創新分成一小塊一小塊,實現一部分就發布,搶占先機?
轉載于:https://www.cnblogs.com/enshengshi/p/9960047.html
總結
以上是生活随笔為你收集整理的现代软件工程 -- 第一周 -- 介绍自己的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 操作系统 - 虚拟存储管理技术之虚拟页式
- 下一篇: android 支付宝第三方应用授权,支