《南理工軟件工程講稿第0章緒論》由會員分享,可在線閱讀,更多相關《南理工軟件工程講稿第0章緒論(23頁珍藏版)》請在裝配圖網上搜索。
1、,單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,第0章 緒論,第0章,緒論,0.1,計算機專業(yè)應學什么?,態(tài)度問題,1.只有熱愛這個專業(yè),你才會從抽象的理論中找到實實在在的快樂。,2.不要用功利眼光對待這個學科,這絕對不是點點鼠標就能掙錢的專業(yè)。,3.搞明白計算機“科學”與“技術”的含義。,4.明確你最終的專業(yè)方向是軟件還是硬件。,網絡是不是專業(yè)方向,網絡不是專業(yè)方向。網絡是最優(yōu)秀的軟件工程師、最優(yōu)秀的硬件工程師與最優(yōu)秀的通信工程師的智慧結晶。,軟件方向應學什么,學精一攬子數學、數據結構、算法設計、數值分析、匯編語言、操作系統(tǒng)、編譯原理、數據庫原理、軟
2、件工程之類課程后,仔細的聽一聽硬件課程,他對你有用。,軟件工程是不是背背就能過的課,軟件工程絕對不是背背就能過的課,計算機理論可能是一個人就能研究出來,軟件工程是成千上萬軟件工程師幾十年來失敗的教訓凝結成的結晶。,計算級專業(yè)的人必須具備任何語言1小時上手的能力,最起碼要在10分鐘把hello world做出來。,學好課程,只是萬里長征的第一步,即使你學好了以上課程,我們仍然差得很遠,我們只弄清學什么了,但是還不知道做什么。所以我們要盡可能的多做設計,別一個人悶著頭做,兩三個人合作一個項目,不會交流的計算機人員30歲以后肯定會下崗。題目呢,盡量是一些簡單的底層開發(fā),可以去國外大學網站上搜一搜,要
3、自信你一定能做出來,畢竟不是什么難題,而是我們應當具備的素質。,想做網絡工程師,對網絡有意,在具備了一定動手能力后從協(xié)議或者底層硬件的角度去學習它。否則你只是做重復而又無聊的繁重勞動。,對網絡安全感興趣,那么你就在學會使用各種工具的一個月后從編程的角度深入學習網絡協(xié)議和操作系統(tǒng)吧!,正確對待認證,MCSE(微軟系統(tǒng)工程師認證)、CCNA(Cisco Certified Network Associate-Cisco認證網絡支持工程師)、CIW(Certified Internet Webmaster-網絡管理員認證)等等都有它存在的意義,只要你有錢都值得一學,他們是最正規(guī)的知識來源,是經過理論
4、、實踐、時間與市場考驗的產品。,絕大部分認證不是高薪的敲門磚,而是你上崗前的智商水平測試。,0.2 從程序員升級到,軟件工程師,程序員的生涯,迷戀“大全”、“秘籍”一類的書籍,心中只有代碼。當我看到一行行枯燥的代碼變成了能夠打電話的設備,變成了屏幕上漂亮的表格,變成了動聽的音樂,成就感油然而生。我覺得自己也是一個出色的程序員了。,無休止地和BUG作斗爭。,外出工作的感觸,印度一家公司正在做的軟件的測試環(huán)境,看了他們寫的單元測試文檔。當看到一個軟件模塊的單元測試用例有三百多頁時,覺得心里很是沉重。,一個軟件開發(fā)過程的實例,1.需求分析,2.及時組織培訓,3.預測結果和開發(fā)周期,4.開發(fā)活動,現實
5、情況,一份報道說,瑞士洛桑一權威機構把中國的科技綜合競爭力從原來的第十三位調到二十多位,原因是他們調整了一些評估標準,其中有一條是中國合格工程師的可獲得性非常低。,強烈的愿望:快把我們自己升級成合格的工程師吧!,0.3,程序員的基本素質,程序員的基本素質,1.團隊精神和協(xié)作能力,團隊精神和協(xié)作能力,是程序員應該具備的最基本的,也是最重要的安身立命之本。,成功的人很多,但在我生活中我不認識,也沒有辦法去為他工作,而讓成功的人為我工作,在現階段,我更沒有這個實力。只有合作,才是最喜歡和最欣賞的。我也力圖借助一個寬松的環(huán)境和積極的團隊,與更多的人公平合作,以便在未來替自己經營一個抵抗風險的事業(yè)。,程
6、序員的基本素質,2.文檔習慣,良好的文檔是正規(guī)研發(fā)流程中非常重要的環(huán)節(jié),作為代碼程序員,30的工作時間寫技術文檔是很正常的,而作為高級程序員和系統(tǒng)分析員,這個比例還要高很多。,一個成功的人曉得如何培養(yǎng)好的習慣來代替壞的習慣,當好的習慣積累多了,自然會有一個好的人生。,程序員的基本素質,3.規(guī)范化,標準化的代碼編寫習慣,良好的編寫習慣,不但有助于代碼的移植和糾錯,也有助于不同技術人員之間的協(xié)作。代碼具有良好的可讀性,是程序員基本的素質需求。,人與人交往,常常是意志力與意志力的較量。不是你影響他,就是他影響你,而我們要想成功,一定要培養(yǎng)自己的影響力,只有影響力大的人才可以成為最強者。,程序員的基本
7、素質,4.需求理解能力,程序員需要理解一個模塊的需求,寫程序不能只關注一個功能需求,性能需求指標中,穩(wěn)定性,并訪支撐能力以及安全性都很重要。作為程序員需要評估該模塊在系統(tǒng)運營中所處的環(huán)境,將要受到的負荷壓力以及各種潛在的危險和惡意攻擊的可能性。就這一點,一個成熟的程序員至少需要2到3年的項目研發(fā)和跟蹤經驗才有可能有心得。,程序員的基本素質,5.復用性,模塊化思維能力,經??梢月牭揭恍┏绦騿T有這樣的抱怨,寫了幾年程序,變成了熟練工,每天都是重復寫一些沒有任何新意的代碼,這其實是中國軟件人才最大浪費的地方,一些重復性工作變成了熟練程序員的主要工作,而這些,其實是完全可以避免的。,程序員的基本素質,
8、6.測試習慣,作為一些商業(yè)化正規(guī)化的開發(fā)而言,專職的測試工程師是不可少的,但是并不是說有了專職的測試工程師程序員就可以不進行自測;軟件研發(fā)作為一項工程而言,一個很重要的特點就是問題發(fā)現的越早,解決的代價就越低,程序員在每段代碼,每個子模塊完成后進行認真的測試,就可以盡量將一些潛在的問題最早的發(fā)現和解決,這樣對整體系統(tǒng)建設的效率和可靠性就有了最大的保證。,程序員的基本素質,7.學習和總結的能力,程序員是人才很容易被淘汰,很容易落伍的職業(yè),因為一種技術可能僅僅在三兩年內具有領先性,程序員如果想安身立命,就必須不斷跟進新的技術,學習新的技能。善于學習,對于任何職業(yè)而言,都是前進所必需的動力,對于程序員,這種要求就更加高了。,學歷代表過去,只有學習力才能代表將來。尊重經驗的人,才能少走彎路。一個好的團隊,也應該是學習型的團隊。,本課程教學參考書,軟件工程 lan Sommerville,機械工業(yè)出版社,實用軟件工程 鄭人杰 編著,清華大學出版社,軟件工程導論 張海藩編著,人民郵電出版社,現代軟件工程 周之英 編著,科學出版社,Software EngineeringRoger,機械工業(yè)出版社,Rapid DevelopmentMcConnell,電子工業(yè)出版社,Software TestingRon Patton,機械工業(yè)出版社,