國立中山大學 101學年度第2學期 課程教學大綱

National Sun Yat-sen University 101Academic year Course syllabus

中文名稱
Course name(Chinese)

軟體工程

課號
Course Code

MIS528

英文名稱
Course name(English)

SOFTWARE ENGINEERING

課程類別
Type of the course

講授類

必選修
Required/Selected

選修

系所
Dept./faculty

資訊管理學系碩士班

授課教師
Instructor

鄭炳強    

學分
Credit

3

課程大綱Course syllabus

         電腦已經是生活中的一部份,每個人每一天幾乎都在使用軟體,然而「究竟軟體是如何被開發出來」?這是IT產業一個重要的問題。許多人可能學過「程式設計」,會用各種的程式語言,曉得如何撰寫程式,然而會「程式設計」就會開發軟體系統嗎?
有些人可能以為軟體開發是一件簡單的事,卻不曉得實際上它是一個高難度與高風險的活動,失敗率非常高,以致於有所謂的Software Crisis之說。本課程將介紹軟體開發的各個環節,包含系統開發初期的專案評估、專案組織的安排、專業人員的選擇、軟體開發過程的進行、以及軟體測試與上線導入等。以下是本課程的大綱:
1. 軟體工程簡介
說明為何需要學習軟體工程,並介紹軟體工程的定義,軟體工程的歷史,軟體工程的基本原理,以及軟體工程的現況及未來。
2. 軟體開發的本質與困難
何謂「軟體」?本章將從「軟體」的定義出發,來探討軟體開發有哪些基本困難。
3. 出發前的準備
討論軟體開發前的整體規劃,人員、開發方法、相關技術、以及專案管理等的準備
4. 風險管理
軟體開發是一個高風險的活動,專案初期各種相關變數極多,需要有一套風險辨識以及風險管理的計畫
5. 軟體估算
介紹各種軟體估算方法,包含其中的困難、估算的流程、以及估算的原則。
6. 計畫與管理
介紹如何去規劃一個軟體專案,工作的分割、時程的安排、以及專案執行時的追蹤與管理。
7. 軟體開發流程
介紹各種不同軟體開發流程的模型、優缺點、以及其考量因素
8. 測試及驗證
介紹各種軟體驗證的方法以及品保相關的議題
9. 軟體需求
介紹專案如何收集並分析產品的需求,以及規格書的撰寫。
10. 軟體設計
介紹各種軟體設計的理念及方法。
11. 變更管理
不斷的需求變更,是軟體開發實務上常面臨頭痛的問題,本章將探討各種因應之道,以及實務上的作法。
12. 團隊合作
軟體開發的主要生產力元素,決定於人的產出。本章介紹團隊合作理論以及各種團隊結構模型。
13. 專案救援
談專案後期可能發生的各種異常狀況,以及其解決方法
14. 軟體工程實務
介紹各種近年來的軟體開發實作方法,如極限程式設計(Extreme Programming)與軟體成熟度(SW-CMM Model)等

課程目標 Objectives

         本課程的目的並不單是知識的傳授,而是要啟發學生的自主性,形成自己的思考模式,能夠尋找各種問題的最佳答案。透過反覆的討論(或辯論),學員得以接觸到軟體開發更實務的一面,以擴大其視野與思考問題的深度,使得將來他們所設計或開發的系統能考慮更周延。「軟體工程」是一門沒有標準答案的課,既不存在所謂的Silver Bullet,也沒有recipes for success。我們也許知道什麼是錯的,但是怎樣才是對的卻不見得有答案。因此學習的重點在於誘導(或激發)學生們自己的思考與判斷,參與愈多的學員將收穫愈多;相反的,只是抱著來上課(或作壁上觀)的同學,希望老師或別人給答案的,可能就會失望了。

授課方式 Teaching methods

         傳統的教室課程,我會請同學做台上報告,目的是希望能對同一議題,呈現各種不同的觀點與思考模式,藉由彼此之間相互的刺激而激發靈感,以創造更大的互動與討論的空間。由於網路課程還無法達到這樣的互動,因此初步的規劃是教師授課並準備教材,學生們透過分組,輪流對各個主題做講解並補充。主要的目的是這樣,我們曉得聽別人講和自己講是大不相同的,若只是純聽講偶而問一兩個問題,其實並沒有真正深入,如果將老師準備好的教材,自己來講一遍,並接受其它人的挑戰和質疑,則意義就大不相同。我們常看到許多專案的執行,大多也都遵循軟體工程的規範,然而最後還是失敗了。所以,軟以工程的訓練,並非僅在於知識的傳授,而在於深入的瞭解與領會,缺乏了這一層關鍵,到了實際應用時,還是可能犯錯!此外,課後會有各種議題的討論,鼓勵學員們發表自己的看法。學員於上課前需要先閱讀教科書或導讀文章。

評分方式﹝評分標準及比例﹞Evaluation (Criteria and ratio)等第制單科成績對照表 letter grading reference

        
1.專題報告30%
2.課程中的表現與分享35%
3.期中及期末報考35%

參考書/教科書/閱讀文獻 Reference book/ textbook/ documents
〔請遵守智慧財產權觀念,不可非法影印。教師所提供之教材供學生本人自修學習使用,不得散播及做為商業用途〕
No copies for intellectual property rights. Textbooks provided by the instructor used only for self-study, can not broadcast or commercial use

         1. 軟體工程-從實務出發,作者:鄭炳強,智勝出版社。出版日期: 2007年08月01日。

每週課程內容及預計進度 Weekly scheduled progress

        
週次日期授課內容及主題
12013/02/18~2013/02/24軟體工程簡介
22013/02/25~2013/03/03軟體開發的本質與困難
32013/03/04~2013/03/10出發前的準備
42013/03/11~2013/03/17風險管理
52013/03/18~2013/03/24軟體估算
62013/03/25~2013/03/31放假
72013/04/01~2013/04/07計畫與管理
82013/04/08~2013/04/14軟體開發流程
92013/04/15~2013/04/21期中報告
102013/04/22~2013/04/28測試及驗證
112013/04/29~2013/05/05軟體需求
122013/05/06~2013/05/12軟體設計
132013/05/13~2013/05/19變更管理
142013/05/20~2013/05/26團隊合作
152013/05/27~2013/06/02專案救援
162013/06/03~2013/06/09軟體工程實務
172013/06/10~2013/06/16期末報告
182013/06/17~2013/06/23期末報告

課業討論時間 Office hours

         時段1:
時間:依規定免登
地點:依規定免登
時段2:
時間:依規定免登
地點:依規定免登

系所學生專業能力/全校學生基本素養與核心能力 basic disciplines and core capabilitics of the dcpartment and the university

        
系所學生專業能力/全校學生基本素養與核心能力課堂活動與評量方式
本課程欲培養之能力與素養紙筆考試或測驗課堂討論︵含個案討論︶個人書面報告、作業、作品、實驗群組書面報告、作業、作品、實驗個人口頭報告群組口頭報告課程規畫之校外參訪及實習證照/檢定參與課程規畫之校內外活動及競賽課外閱讀
※系所所學生專業能力
1.具備資訊倫理的能力           
2.具備溝通能力           
3.具備解決資訊管理問題之能力V          
4.具備資訊管理之專業知識V          
5.具備國際觀           
※全校學生基本素養與核心能力
1.表達與溝通能力。           
2.探究與批判思考能力。           
3.終身學習能力。V          
4.倫理與社會責任。           
5.美感品味。           
6.創造力。           
7.全球視野。           
8.合作與領導能力。V          
9.山海胸襟與自然情懷。           

回上一頁