雲端計算與物聯網數位學習碩士在職專班(Master Program of E-Learning for Cloud Computing and Internet-of-Things)
課程名稱(英文)
Software Engineering
課程代碼
411A002_01
授課教師:
熊博安
學分數
3
必/選修
選修
開課年級
先修科目或先備能力:
計算機概論、資料結構、程式設計
Introduction to Computer Science, Data Structures, Program Design
課程概述:
To introduce students to the benefits of software engineering practices and theories so that they are aware of such
processes, methods, and theory and can apply them when you are actually involved in large software projects in the
future.
學習目標:
1. To learn about all the difficulties in developing software
2. To learn about software processes
3. To learn to design highquality efficient and maintanable software
4. To learn about advanced methods for software engineering
教科書:
Ian Sommerville, Software Engineering, 8th/9th/10th Edition, AddisonWesley.
Any edition would do.
課程大綱
分配時數
核心能力
備註
單元主題
內容綱要
講授
示範
隨堂作業
其他
Introduction
to Software
Engineering
To give an overview of
Software Engineering
1.Software Crisis
2.Software Myths
3.What is Software
Engineering
4.Evolution of Software
Engineering5.Stateofart
in Software
Engineering
3
12345678
Software
Processes
To describe the conventional
and modern software
processes.
1.Software process models
2.Process iteration
3.Process activities
4.The Rational Unified
Process
5.Computeraided
software
engineering
4.5
1
12345678
Project
Management
To discuss how a project can
be managed through
planning, scheduling, and
risk management
1.Management activities
2.Project planning
3.Project scheduling
4.Risk management
4.5
12345678
Requirements
Engineering
To understand the different
categories of requirements
and how they are obtained.
1.Functional and nonfunctional
requirements
2.User requirements
3.System requirements
4.Interface specification
5.The software requirements
document
6.Requirements engineering
activities
7.Requirements engineering
processes
4.5
1
12345678
System
Models
To illustrate the different
modeling techniques for
software systems
1.Context models
2.Behavioural models3.Data models
4.Object models
5.CASE workbenches
4.5
1
12345678
Architectural
Design
To introduce architectural
design, decisions, and styles
1.Architectural design
decisions
2.System organisation
3.Decomposition styles
4.Control styles
5.Reference architectures
4.5
1
12345678
Application
Architectures
To introduce four important
application architectures
1.Data processing systems
2.Transaction processing
systems
3.Event processing systems
4.Language processing
systems
3
12345678
Rapid
Software
Development
To introduce agile software
development process and
extreme programming
1.Agile methods
2.Extreme programming
3.Rapid application
development
4.Software prototyping
4.5
12345678
Verification
and
Validation
To introduce different
verification and validation
techniques
1.Verification and validation
planning
2.Software inspections
3.Automated static analysis
4.Cleanroom software
development