最新公告

各組的期末報告可由下列位址下載。
同學都作得很好,其中第2組、第4組及第6組是我覺得作得很讚的3組,尤其第2組的需求規格部分已有專對水準,同學可以相互觀摩。(各組的報告評分及評語已寄給各組長,請轉寄同組同學)

期末成績已上網,請同學至學校網頁查詢。

第一組 101360501101360506101360518101360531



第三組 101360535101360540

第四組 1013605371013605451013604547

第五組 100360514100360530

第六組 100360821101360846101360528101360542

第七組 101360509101360516101360524101360533

從軟體工程能學到什麼?

這是國立新加坡大學邀請的 University of Lugano Switzerland
Prof. Mehdi Jazayeri,所發表的一場演講

課程說明

下載課程大綱 PDF 檔

軟體 =  程式?

現今社會如果沒有「軟體」可能就無法運作,從人們日常生活到國家安全維護,都脫離不了電腦化軟體系統的控制。有些人認為軟體發展就是編寫程式的過程,這是錯誤的觀念。
  有很多人「寫程式」,例如公司員工寫試算表以簡化其工作,科學家寫程式以處理其實驗數據,但從嚴謹的角度來看,這類寫程式不能算是軟體開發。
  軟體開發是一種專業工作,其所開發的軟體是為了某種特定目的,或是與其它設備結合(例如:手機)。專業的軟體是設計給其他人用,而不是給開發者自己用。其次,專業的軟體有完整的生命週期,包括了軟體開發完成後的更新維護工作。
  軟體工程的本意是支援專業軟體的開發。簡單說,軟體開發的過程必需採行一般工程的建造方法,如同興建一棟建築物,包括了需求調查、規劃設計、實作施工、完工後的管理維護、及整體過程的品質保證等。所以,軟體是一項工程(enginnering),而非一種產品(product)。
  本課程著重在講授軟體工程的基本學理及實務課題,包括:各種軟體程序及軟體開的方法、如何掌握軟體需求、軟體系統塑模及架構設計,系統設計及實作、軟體測試及品質保證課題。其次,我們也將探討部分進階課題:軟體再利用(re-use)元件式及分散式軟體工程、嵌入式軟體發展,及服務導向架構(service-oriented architecture, SOA)。
  我們希望修習本課程的同學能具備電腦系統的基本概念及程式編碼(coding)的基本能力。我們期望同學修畢本課程後能掌握軟體工程的原理、方法及技術,並能在未來從事軟體開發過及軟體管理過程中,正確應用軟體工程各種方法,發展高品質的專業軟體。其次,後續可進一步學習此領域之發展狀況,進而增進同學在資訊領域方面之研究與實作潛力。

教科書:
Software Engineering, Ninth Edition, Ian Sommerville, Pearson, 2011. (歐亞書局代理)

參考用書
1. Software Engineering, a practitioner's approach, Seventh Edition, (2010), by Roger Pressman, McGraw Hill.
 (新月圖書代理)
2. 軟體工程,李允中,高立圖書公司
3. 隨堂發送個案研析參考資料

預定進度 (下載進度表
第一週 Introduction to Software Engineering
第二週 Software processes
第三週 Agile software development
第四週 Requirements engineering (I)
第五週 Requirements engineerin (II)
第六週 System modeling
第七週 Architectural design (User interface design and WebApp design)
第八週 Design and implementation
第九週 Midterm
第十週 Software testing
第十一週 Software evolution
第十二週 Software reuse
第十三週 Component-based software engineering
第十四週 Distributed software engineering
第十五週 Service-oriented architecture
第十六週 Embedded software and Topics on software management
第十七週 元旦放假
第十八週 Final

評量標準
期中考 30%
期末考 30%
個案研析,專題報告撰寫30%
課堂表現 10%