112年第2學期-1034 軟體工程(一) 課程資訊

評分方式

評分項目 配分比例 說明
點名+作業 10
期中報告 25
期末報告 30
期中考 25
期末考 30

選課分析

本課程名額為 70人,已有59 人選讀,尚餘名額11人。


登入後可進行最愛課程追蹤 [按此登入]。

授課教師

朱正忠 李守彧

教育目標

■ 課程目標 軟體工程是研究和應用如何以系統性的、規範化的、可定量的程序化方法去開發和維護軟體,以及如何把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來的學科。它涉及到程式語言、資料庫、軟體開發工具、系統平台、標準、設計模式等方面。 在現代社會中,軟體應用於多個方面。典型的軟體比如有電子郵件、嵌入式系統、人機介面、辦公套件、作業系統、編譯器、資料庫、遊戲等。同時,各個行業幾乎都有電腦軟體的應用,比如工業、農業、銀行、航空、政府部門等。這些應用促進了經濟和社會的發展,提高人們的工作效率,同時提升了生活質量。 深入理解軟體工程原則: 學習軟體工程的基本原則,包括需求分析、設計、開發、測試、部署和維護等階段。強調在複雜系統中的模組化、可擴展性和可維護性。 LLMs在軟體開發中的應用: 探討自然語言處理技術及其在軟體工程中的應用。學習如何使用LLMs來改進軟體文檔生成、代碼自動化、測試和協作等方面。 代碼自動化與持續集成: 學習使用現代軟體開發工具,尤其是版本控制系統、自動化測試框架和持續集成/持續交付(CI/CD)流程,以提高開發效率並確保代碼品質。 軟體品質保證: 瞭解軟體品質保證的重要性,包括靜態代碼分析、動態測試、代碼評審和缺陷追踪。學習如何建立有效的測試策略和自動化測試套件。 敏捷開發與Scrum實踐: 探討敏捷開發方法論,並學習如何應用Scrum框架進行項目管理。強調團隊協作、快速迭代和客戶參與的價值。 LLMs應用於需求分析和文檔撰寫: 研究LLMs如何幫助改進需求分析過程,並著重於使用自然語言生成技術改進軟體文檔的品質。 軟體專案管理: 瞭解軟體專案管理的基本原則,包括項目計劃、風險管理、資源分配和團隊協作。學習如何使用工具來監控和追踪項目進度。 ■ 課程內涵 鑒於軟體開發時所遭遇困境,北大西洋公約組織(NATO)在1968年舉辦了首次軟體工程學術會議,並於會中提出「軟體工程」來界定軟體開發所需相關知識,並建議「軟體開發應該是類似工程的活動」。軟體工程自1968年正式提出至今,這段時間累積了大量的研究成果,廣泛地進行大量的技術實踐,藉由學術界和產業界的共同努力,軟體工程正逐漸發展成為一門專業學科。 創立與使用健全的工程原則,以便經濟地獲得可靠且高效率的軟體。 定義: 1.應用系統化,遵從原則,可被計量的方法來發展、操作及維護軟體;也就是把工程應用到軟體上。 2.與開發、管理及更新軟體產品有關的理論、方法及工具。 3.一種知識或學科,目標是生產品質良好、準時交貨、符合預算,並滿足用戶所需的軟體。 4.實際應用科學知識在設計、建構電腦程式,與相伴而來所產生的檔案,以及後續的操作和維護上。 5.使用與系統化生產和維護軟體產品有關之技術與管理的知識,使軟體開發與修改可在有限的時間與費用下進行。 6.建造由工程師團隊所開發之大型軟體系統有關的知識學科。 7.對軟體分析、設計、實施及維護的一種系統化方法。 8.系統化地應用工具和技術於開發以電腦為主的應用。 9.軟體工程是關於設計和開發優質軟體。

課程資訊

參考書目

Software Engineering (10th Edition), Ian Sommerville, Hardcover

開課紀錄

您可查詢過去本課程開課紀錄。 軟體工程(一)歷史開課紀錄查詢