當期課號 |
7214 |
Course Number |
7214 |
授課教師 |
徐豐明 |
Instructor |
SHYU,FONG MING |
中文課名 |
軟體工程 |
Course Name |
Software Engineering |
開課單位 |
資訊工程系碩士班一A |
Department |
|
修習別 |
選修 |
Required/Elective |
Elective |
學分數 |
3 |
Credits |
3 |
課程目標 |
這門課包含幾個軟體工程與軟體開發的重要內容,主題包括:系統工程、軟體流程、系統模型與統一塑模語言(UML)、物件導向設計、軟體需求與軟體測試。在完成這門課之後,學生將可以學習到下面幾點:1.瞭解軟體工程的原理;2.瞭解軟體開發中不同階段與模型;3.具有撰寫需求規格的經驗;4.瞭解軟體設計以及快速雛形的概念;5.瞭解大型軟體的維護方式;6.瞭解CASE工具的概念並且運用特定的CASE工具。 |
Objectives |
This course covers the key aspects of software engineering and Development. Topics include: system engineering, software process, system modes and UML, object-oriented design, software requirement, and software testing. On completion of this course, students should be able to perform the following tasks: 1. understanding the principles of software engineering; 2. understanding different development stages/models; 3. understanding and experience in writing requirements and specifications; 4. understanding and experience in designing and rapid prototyping; 5. understanding large scale software maintenance; 6. understanding general CASE tools and experience with particular CASE tools. |
教材 |
教科書: I. Sommerville, "Software Engineering, Seventh Edition," Pearson/Addison Wesley, 2004. Other papers.
參考書: 鐘俊仁、姜子龍、吳正宇 譯,"軟體工程 第六版",碁峰,2004. |
Teaching Materials |
I. Sommerville, "Software Engineering, Seventh Edition," Pearson/Addison Wesley, 2004. Other papers. |
成績評量方式 |
小考:40%,報告及其他:60% |
Grading |
Quiz: 40%, Report&Others: 60% |
教師網頁 |
|
教學內容 |
1. 軟體程序與專案管理 2. 軟體需求: 需求工程、系統模型、軟體雛形、正規劃規格。 3. 設計: 架構設計、分散式系統、物件導向設計、即時系統、再利用設計、使用者介面。 4. 關鍵系統: 可信賴度、系統規格、系統開發。 5. 驗證與確認: 規格確認、軟體測試、關鍵系統確認。 6. 管理: 人員管理、軟體成本預估、品質管理、流程改善、軟體變更、軟體再生工程、組態管理。 |
Syllabus |
1. Overview: critical systems, software processes, project management. 2. Requirement: requirements engineering processes, system models, critical systems specification, formal specification. 3. Design: architecture design, distributed systems architectures, application architectures, object-oriented design, real-time software design,user interface design. 4. Critical Systems: rapid software development, software reuse, component-based software engineering, critical systems development, software evolution. 5. Verification and Validation: software testing, critical systems validation. 6. Management: people, software cost estimation, quality management, process improvement. configuration management. |