現代軟件工程 第一章 【概論】練習與討論

1.  像阿超那樣,花二十分鐘寫一個能自動生成小學四則運算題目的“軟件”,和同學們比較一下各自程序的功能、實現方法的異同等等。

2.  列舉你在使用軟件的時候觀察到的“特殊”現象,它們能說明軟件的某些本質特性麼?

3.  上網調查一下目前流行的源程序版本管理軟件和項目管理軟件都有哪些, 各有什麼優缺點? (提示:搜索一下Microsoft TFS、GitHub、Trac、Bugzilla、Rationale,Apple XCode)? 這個可以作爲一道附加作業。

4.  Dijkstra曾經提到:“Software engineering, of course,presents itself as another worthy cause,but that is eyewash: if you carefully read its literature and analyse what its devotees actually do,you will discover that software engineering has accepted as its charter ‘How to program if you cannot.’”[i]

軟件工程是不是教那些不怎麼會寫程序的人開發軟件? 你怎麼看?

5.  你所在的學校有計算機科學專業和軟件工程專業麼?相關專業的教學計劃和畢業出路有什麼不同?閱讀有關軟件工程和計算機科學的區別的文章,談談你的看法。文章:http://www.drdobbs.com/architectureand-design/software-engineering-computer-science/217701907 

6. 有學生提到,在大學選課的時候,可以寫一個“刷課機”的程序,利用學校選課系統的弱點或漏洞,幫助某些人選到某些課程。或者幫助用戶刷購票網站,先買到火車票。這些軟件合法麼?符合道德規範麼?是在“軟件工程”的研究範圍麼? 請大家討論。

7. 有人認爲,“中文編程”, 是解決中國程序員編程效率一個祕密武器,請問它是一個 “銀彈” 麼? 

  參考:

    http://weibo.com/2210132365/BiYTws242

  http://www.chinesepython.org/ 

    http://baike.baidu.com/subview/545069/545069.htm 

 

8. 創建個人技術博客 (建議是 cnblogs.com)

9. 快速看完整部教材,列出你不懂的 5 - 10 個問題,發佈在你的個人博客上。

10. 課上同學們應該根據自己的愛好和情況組成了5-6 人的項目小組。 並且報告了助教。

      10.1: 請每個小組在 cnblogs.com 上面創建團隊博客,第一個博客把小組成員都介紹一下  #團隊博客作業1

      10.2: 現代軟件工程這門課已經上了好幾年了,以前有很多學生做過團隊項目(說不定包括本校的學生),請你們找一個以前的團隊採訪一下:

                - 當時的項目有多少用戶,給用戶多少價值? 現在還有人用嗎?

                - 這個項目能否給我們團隊繼續開發,源代碼/文檔還有麼?

                - 項目開發有什麼經驗和教訓

                - 對學好軟件工程有什麼建議

                寫成一個博客   #團隊博客作業2


11. Software 這一名詞的來源

       http://en.wikipedia.org/wiki/John_Tukey

      請問 “軟件” 和 “軟件工程” 這些詞彙是如何出現的 - 何時、何地、何人


[i] 來源: http://www.cs.utexas.edu/~EWD/transcriptions/EWD10xx/EWD1036.html 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章