Đề cương chi tiết học phần Mẫu thiết kế cho phần mềm (Design pattern)
BM01.QT02/ĐNT-ĐT
TRƯỜNG ĐH NGOẠI NGỮ - TIN HỌC TP.HCM
KHOA CÔNG NGHỆ THÔNG TIN
________
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh Phúc
___________
ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN
1. Thông tin chung về học phần
- Tên học phần: Mẫu thiết kế cho phần mềm (Design pattern)
- Mã số học phần: 1230474
- Số tín chỉ học phần: 4 (3+1) tín chỉ
- Thuộc chương trình đào tạo của bậc, ngành: Đại học, ngành Công nghệ thông tin
- Số tiết học phần:
.
.
.
.
.
.
.
Nghe giảng lý thuyết
Làm bài tập trên lớp
Thảo luận
: 45 tiết
: 0 tiết
: 0 tiết
Thực hành, thực tập (ở phòng thực hành, phòng Lab,...): 30 tiết
Hoạt động theo nhóm : 0 tiết
Thực tế:
Tự học
: 0 tiết
: 120 giờ
- Đơn vị phụ trách học phần: Công nghệ phần mềm/ Công nghệ thông tin
2. Học phần trước: Lập trình trên Windows
3. Mục tiêu của học phần:
Sau khi hoàn tất các yêu cầu trong học phần, sinh viên có thể:
- Hiểu được bức tranh toàn cục về phát triển phần mềm hướng đối tượng, quy trình
phát triển phần mềm, đặc điểm phương pháp hướng đối tượng
- Sử dụng được các nhóm mẫu thiết kế trong quá trình phát triển phần mềm hướng đối
tượng: Nhóm cấu trúc đối tượng, nhóm khởi tạo đối tượng phức hợp, nhóm che dấu
hành vi, giải thuật trong đối tượng
4. Chuẩn đầu ra:
Nội dung
Đáp ứng CĐR
CTĐT
Kiến thức
Kỹ năng
4.1.1. Nắm được đặc điểm của phương pháp K2
hướng đối tượng, đời sống của đối tượng, sự
tương tác của các đối tượng trong lúc sống
4.1.2. Hiểu được mục tiêu và tính chất của các K2
mẫu thiết kế phần mềm hướng đối tượng
4.2.1. Có kỹ năng tổ chức cấu trúc các đối S2
tượng và cài đặt các các mẫu thiết kê.
1
4.2.2. Có kỹ năng nhận diện và vận dụng các S2
mẫu thiết kế cơ bản trong thực tế.
Thái độ
4.3.1. Chuẩn bị bài trước khi đến lớp. Tham gia A3
tích cực trong giờ học.
4.3.2. Có tinh thần sẵn sàng thử nghiệm, cài đặt A3
các thuật toán và giải quyết các bài toán trong
thực tế bằng lý thuyết đồ thị.
5. Mô tả tóm tắt nội dung học phần:
Học phần Mẫu thiết kế cho phần mềm cung cấp cho sinh viên bức tranh toàn cục về phát triển
phần mềm hướng đối tượng, quy trình phát triển phần mềm, chi phí xây dựng và duy trì phần
mềm; giới thiệu các tính chất liên quan đến việc đặc tả và sử dụng đối tượng như thừa kế, bao
đóng, bao gộp, tổng quát hóa.
Học phần cũng giới thiệu vòng đời của từng đối tượng trong chương trình, cách thức quản lý
đời sống của đối tượng, các thời điểm quan trọng nhất như lúc tạo mới đối tượng, lúc xóa đối
tượng cũng như cách miêu tả các hoạt động xảy ra tại các thời điểm này, giới thiệu sự tương
tác giữa các đối tượng trong lúc chúng ₫ang sống để hoàn thành nhiệm vụ của chương trình.
Bên cạnh đó, Học phần Mẫu thiết kế cung cấp cho sinh viên các kiến thức, kỹ năng Sử dụng
được các nhóm mẫu thiết kế trong quá trình phát triển phần mềm hướng đối tượng: Nhóm cấu
trúc đối tượng, nhóm khởi tạo đối tượng phức hợp, nhóm che dấu hành vi, giải thuật trong đối
tượng.
2
6. Nội dung và lịch trình giảng dạy:
- Các học phần lý thuyết:
Hoạt động của
giảng viên
Hoạt động của
sinh viên
Giáo trình
chính
Tài liệu
tham khảo
Ghi
chú
Buổi/
Tiết
Nội dung
- Thuyết giảng, đặt
câu hỏi, giải đáp thắc
mắc, cho làm bài tập
- Nghe giảng, ghi
chú, trả lời câu
hỏi, đặt câu hỏi,
làm bài tập
Chương 1: Tổng quan về phát triển phần mềm
1.1 Máy tính số và công dụng
[2] Chương 1
4.1.1
1.2 Chương trình máy tính & phần mềm
1.3 Đời sống phần mềm
1.4 Các mục tiêu của việc phát triển phần mềm
1
1.5 Các hoạt động chức năng trong phát triển phần
mềm
1.6 Qui trình phát triển phần mềm
1.7 Vài thông tin về nắm bắt yêu cầu
1.8 Kết chương
- Thuyết giảng, đặt
câu hỏi, giải đáp thắc
mắc, cho làm bài tập
- Nghe giảng, ghi
chú, trả lời câu
hỏi, đặt câu hỏi,
làm bài tập
Chương 2: Cấu trúc phần mềm hướng đối tượng
2.1 Sự phát triển trong cấu trúc tổ chức phần mềm
2.2 Cấu trúc của 1 ứng dụng hướng đối tượng
2.3 Đối tượng, thuộc tính, tác vụ
2.4 Abstract type
[2] Chương 20
4.1.1
2
3
2.5 Class
2.6 Tính bao đóng
-
2.7 Tính thừa kế & cơ chế 'override'
[2] Chương 20
4.1.1
3
2.8 Tính bao gộp
2.9 Thông điệp, tính ₫a xạ và kiểm tra kiểu
2.10 Tính tổng quát hóa
2.11 Kết chương
- Thuyết giảng, đặt
câu hỏi, giải đáp thắc
mắc, cho làm bài tập
- Nghe giảng, ghi
chú, trả lời câu
hỏi, đặt câu hỏi,
làm bài tập
Chương 3: Interface & Class trong C#
3.1 Tổng quát về phát biểu class của C#
3.2 Định nghĩa thuộc tính vật lý
[2] Chương 14
4.1.2
4.1.2
4.1.2
4
3.3 Định nghĩa tác vụ chức năng
3.4 Định nghĩa toán tử chức năng
3.5 Định nghĩa thuộc tính giao tiếp (luận lý)
3.6 Định nghĩa đối tượng đại diện hàm (delegate)
3.7 Định nghĩa sự kiện (Event)
-
[2] Chương 14
3.8 Định nghĩa phần tử quản lý danh sách (indexer)
3.9 Thành phần static và thành phần không static
3.10 Lệnh định nghĩa 1 class C# ₫iển hình
3.11 Kết chương
5
6
- Thuyết giảng, đặt
câu hỏi, giải đáp thắc
mắc, cho làm bài tập
- Nghe giảng, ghi
chú, trả lời câu
hỏi, đặt câu hỏi,
làm bài tập
Chương 4: Vòng đời đối tượng và sự tương tác
giữa chúng
4.0 Dẫn nhập
4.1 Quản lý đời sống đối tượng - Hàm Constructor
4.2 Quản lý đời sống đối tượng - Hàm Destructor
4.3 Tương tác giữa các đối tượng trong VC#
4
4.4 Liên kết tĩnh trong việc gởi thông điệp
4.5 Liên kết động để có đa xạ
4.6 Xử lý sự kiện luôn có tính đa xạ
4.7 Kết chương
- Thuyết giảng, đặt
câu hỏi, giải đáp thắc
mắc, cho làm bài tập
- Nghe giảng, ghi
chú, trả lời câu
hỏi, đặt câu hỏi,
làm bài tập
Chương 5: Các mẫu thiết kế phục vụ tổ chức cấu
trúc các đối tượng (Structural Patterns)
[1] Phần 1,
Phần 3
[3]
Structural
Patterns
4.2.1
4.2.2
5.1 Tổng quát về mẫu thiết kế HĐT
5.2 Mẫu Adapter
7
5.3 Mẫu Composite
5.4 Mẫu Proxy
- Thuyết giảng, đặt
câu hỏi, giải đáp thắc
mắc, cho làm bài tập
- Nghe giảng, ghi
chú, trả lời câu
hỏi, đặt câu hỏi,
làm bài tập
[1] Phần 1,
Phần 3
[3]
Structural
Patterns
4.2.1
4.2.2
8
9
5.5 Mẫu Decorator
- Thuyết giảng, đặt
câu hỏi, giải đáp thắc
mắc, cho làm bài tập
- Nghe giảng, ghi
chú, trả lời câu
hỏi, đặt câu hỏi,
làm bài tập
5.6 Mẫu Facade
5.7 Mẫu Flyweight
5.8 Kết chương
[1] Phần 1,
Phần 3
[3]
4.2.1
4.2.2
- Thuyết giảng, đặt
câu hỏi, giải đáp thắc
mắc, cho làm bài tập
- Nghe giảng, ghi
chú, trả lời câu
hỏi, đặt câu hỏi,
làm bài tập
Chương 6: Các mẫu thiết kế phục vụ khởi tạo
đối tượng (Creational Patterns)
[1] Phần 2
[3]
4.2.1
4.2.2
Creational
Patterns
6.1 Tổng quát về nhóm mẫu “Creational”
6.2 Mẫu Abstract Factory
6.3 Mẫu Factory Method
6.4 Mẫu Prototype
10
11
- Thuyết giảng, đặt
câu hỏi, giải đáp thắc
mắc, cho làm bài tập
- Nghe giảng, ghi
chú, trả lời câu
hỏi, đặt câu hỏi,
làm bài tập
[1] Phần 2
[3]
Creational
Patterns
4.2.1
4.2.2
6.5 Mẫu Builder
5
- Thuyết giảng, đặt
câu hỏi, giải đáp thắc
mắc, cho làm bài tập
- Nghe giảng, ghi
chú, trả lời câu
hỏi, đặt câu hỏi,
làm bài tập
- Nghe giảng, ghi
chú, trả lời câu
hỏi, đặt câu hỏi,
làm bài tập
6.6 Mẫu Singleton
6.7 Kết chương
12
13
- Thuyết giảng, đặt
câu hỏi, giải đáp thắc
mắc, cho làm bài tập
Chương 7: Các mẫu thiết kế che dấu hành vi,
thuật giải trong đối tượng (Behavioral Patterns)
[1] Phần 4
[3]
Behavioral
Patterns
4.2.1
4.2.2
7.1 Tổng quát về nhóm mẫu “Behavioral Patterns”
7.2 Mẫu Chain of Responsibility
7.3 Mẫu Template Method
7.4 Mẫu Strategy
- Thuyết giảng, đặt
câu hỏi, giải đáp thắc
mắc, cho làm bài tập
- Nghe giảng, ghi
chú, trả lời câu
hỏi, đặt câu hỏi,
làm bài tập
[1] Phần 4
[1] Phần 4
[3]
Behavioral
Patterns
4.2.1
4.2.2
7.5 Mẫu State
14
15
- Thuyết giảng, đặt
câu hỏi, giải đáp thắc
mắc, cho làm bài tập
- Nghe giảng, ghi
chú, trả lời câu
hỏi, đặt câu hỏi,
làm bài tập
7.6 Mẫu Command
7.7 Mẫu Observer
7.8 Kết chương
[3]
Behavioral
Patterns
4.2.1
4.2.2
6
- Các học phần thực hành:
Hoạt động của giảng
viên
Hoạt động của sinh
viên
Giáo trình
chính
Tài liệu tham
khảo
Buổi/
Tiết
Nội dung
Ghi chú
4.2
Bài 1: Sử dụng mẫu Composite
Hướng dẫn sinh viên
thực hiện
Nghe giảng, ghi chú
Làm bài tập
Bài tập thực
hành
[3] Structural
Patterns
1
2
3
4
Trả lời thắc mắc của SV
Hỏi những vấn đề
gặp phải
Bài 2: Sử dụng mẫu Strategy và
Proxy
Hướng dẫn sinh viên
thực hiện
Nghe giảng, ghi chú
Làm bài tập
Bài tập thực
hành
[3] Structural
Patterns
4.2
4.2
4.2
Trả lời thắc mắc của SV
Hỏi những vấn đề
gặp phải
Bài 3: Sử dụng mẫu Adapter và
Abstract Factory
Hướng dẫn sinh viên
thực hiện
Nghe giảng, ghi chú
Làm bài tập
Bài tập thực
hành
[3] Structural
Patterns
Trả lời thắc mắc của SV
Hỏi những vấn đề
gặp phải
Bài 4: Dùng mẫu template
Hướng dẫn sinh viên
Nghe giảng, ghi chú
Làm bài tập
Bài tập thực
hành
[3] Behavioral
Patterns
method xây dựng trình quản lý hệ thực hiện
thống file mini
Trả lời thắc mắc của SV
Hỏi những vấn đề
gặp phải
5
6
Kiểm tra
4.2
4.2
Bài 6: Xây dựng và kiểm thử giải Hướng dẫn sinh viên
thuật tiến hóa trên các cá thể đơn thực hiện
giản
Nghe giảng, ghi chú
Làm bài tập
Bài tập thực
hành
[3] Structural
Patterns
Trả lời thắc mắc của SV
[3] Behavioral
Hỏi những vấn đề
7
gặp phải
Patterns
Bài 7: Xây dựng và kiểm thử hệ
thống quản lý biểu thức
Hướng dẫn sinh viên
thực hiện
Nghe giảng, ghi chú
Làm bài tập
Bài tập thực
hành
[3] Structural
Patterns
4.2
4.2
4.2
4.2
7
8
Trả lời thắc mắc của SV
[3] Behavioral
Patterns
Hỏi những vấn đề
gặp phải
Bài 8: Tiến hóa các biểu thức về
biểu thức mục tiêu
Hướng dẫn sinh viên
thực hiện
Nghe giảng, ghi chú
Làm bài tập
Bài tập thực
hành
[3] Structural
Patterns
Trả lời thắc mắc của SV
[3] Behavioral
Patterns
Hỏi những vấn đề
gặp phải
Bài 9: Viết chương trình soạn
thảo mê cung
Hướng dẫn sinh viên
thực hiện
Nghe giảng, ghi chú
Làm bài tập
Bài tập thực
hành
[3] Structural
Patterns
9
Trả lời thắc mắc của SV
[3] Behavioral
Patterns
Hỏi những vấn đề
gặp phải
10
Kiểm tra
7. Nhiệm vụ của sinh viên:
Sinh viên phải thực hiện các nhiệm vụ như sau:
- Tham dự tối thiểu 80% số tiết học lý thuyết.
- Tham gia tối thiểu 80% giờ thực hành và giải tất cả bài tập.
- Tham dự kiểm tra thực hành.
- Tham dự thi kết thúc học phần.
- Chủ động tổ chức thực hiện giờ tự học.
8
8. Đánh giá kết quả học tập của sinh viên:
8.1. Cách đánh giá
Sinh viên được đánh giá tích lũy học phần như sau:
TT Thành
phần
Điểm thành
phần
Quy định
Trọng
số 1
Trọng
số 2
Mục
tiêu
Điểm chuyên
cần
Điểm thi thực
hành
- Tham dự ít nhất
80% số tiết học
- Tham gia ít nhất
50% số giờ
- Lập trình trên
máy
- Tham dự ít nhất
80% số tiết học
- Thi viết
4.3
30%
Thực
hành
4.2
1
30%
70%
70%
Điểm chuyên
cần
Điểm thi kết
thúc học phần
4.3
30%
70%
2
Lý thuyết
4.1
4.2
- Bắt buộc dự thi
8.2. Cách tính điểm
- Điểm đánh giá thành phần và điểm thi kết thúc học phần được chấm theo thang
điểm 10 (từ 0 đến 10), làm tròn đến 0.5.
- Điểm học phần là tổng điểm của tất cả các điểm đánh giá thành phần của học phần
nhân với trọng số tương ứng. Điểm học phần theo thang điểm 10 làm tròn đến một
chữ số thập phân.
9. Tài liệu học tập:
9.1. Giáo trình chính:
[1] “C# Design Pattern Essentials”, Tony Bevis, Ability First Limited, 2012
[2] “Fundamentals of Computer Programming with C#”, Svetlin Nakov, 2013 (free book)
9.2. Tài liệu tham khảo:
10. Hướng dẫn sinh viên tự học:
Thực
hành
Lý
thuyết
(tiết)
Tuần
/Buổi
Nội dung
Nhiệm vụ của sinh viên
(tiết)
Chương 1: Tổng quan về phát triển phần
mềm
3
2
-Nghiên cứu trước:
+ Tài liệu [2]: chương 1
+ Tài liệu [3]: chương 1
1.1 Máy tính số và công dụng
1.2 Chương trình máy tính & phần mềm
1.3 Đời sống phần mềm
1
1.4 Các mục tiêu của việc phát triển phần
mềm
9
1.5 Các hoạt động chức năng trong phát
triển phần mềm
1.6 Qui trình phát triển phần mềm
1.7 Vài thông tin về nắm bắt yêu cầu
1.8 Kết chương
Chương 2: Cấu trúc phần mềm hướng
đối tượng
3
2
-Nghiên cứu trước:
+ Tài liệu [2]: chương 20
+ Tài liệu [3]: chương 2
2.1 Sự phát triển trong cấu trúc tổ chức
phần mềm
2.2 Cấu trúc của 1 ứng dụng hướng đối
tượng
2
2.3 Đối tượng, thuộc tính, tác vụ
2.4 Abstract type
2.5 Class
2.6 Tính bao đóng
2.7 Tính thừa kế & cơ chế 'override'
2.8 Tính bao gộp
3
3
2
2
-Nghiên cứu trước:
+ Tài liệu [2]: Chương 14
+ Tài liệu [3]: chương 3
2.9 Thông điệp, tính đa xạ và kiểm tra kiểu
2.10 Tính tổng quát hóa
2.11 Kết chương
3
Chương 3: Interface & Class trong C#
3.1 Tổng quát về phát biểu class của C#
3.2 Định nghĩa thuộc tính vật lý
-Nghiên cứu trước:
+ Tài liệu [3]: chương 4
4
3.3 Định nghĩa tác vụ chức năng
3.4 Định nghĩa toán tử chức năng
3.5 Định nghĩa thuộc tính giao tiếp (luận
lý)
3.6 Định nghĩa đối tượng đại diện hàm
(delegate)
3
2
-Nghiên cứu trước:
+ Tài liệu [1]: Phần 2
+ Tài liệu [3]: Chương 5
+ Tài liệu [4]
3.7 Định nghĩa sự kiện (Event)
3.8 Định nghĩa phần tử quản lý danh sách
(indexer)
5
6
3.9 Thành phần static và thành phần không
static
3.10 Lệnh định nghĩa 1 class C# ₫iển hình
3.11 Kết chương
Chương 4: Vòng đời đối tượng và sự
3
2
-Nghiên cứu trước:
10
tương tác giữa chúng
+ Tài liệu [1]: Phần 1, Phần
3
4.0 Dẫn nhập
4.1 Quản lý đời sống đối tượng - Hàm
Constructor
+ Tài liệu [3]: Chương 5
+ Tài liệu [4]
4.2 Quản lý đời sống đối tượng - Hàm
Destructor
4.3 Tương tác giữa các đối tượng trong
VC#
4.4 Liên kết tĩnh trong việc gởi thông điệp
4.5 Liên kết động để có đa xạ
4.6 Xử lý sự kiện luôn có tính đa xạ
4.7 Kết chương
Chương 5: Các mẫu thiết kế phục vụ tổ
chức cấu trúc các đối tượng (Structural
Patterns)
3
2
-Nghiên cứu trước:
+ Tài liệu [1]: Phần 1, Phần
3
7
5.1 Tổng quát về mẫu thiết kế HĐT
5.2 Mẫu Adapter
+ Tài liệu [3]: Chương 5
+ Tài liệu [4]
5.3 Mẫu Composite
5.4 Mẫu Proxy
3
3
3
2
2
2
-Nghiên cứu trước:
5.5 Mẫu Decorator
+ Tài liệu [1]: Phần 1, Phần
3
8
9
+ Tài liệu [3]: Chương 5
+ Tài liệu [4]
5.6 Mẫu Facade
5.7 Mẫu Flyweight
5.8 Kết chương
-Nghiên cứu trước:
+ Tài liệu [1]: Phần 1, Phần
3
+ Tài liệu [3]: Chương 5
+ Tài liệu [4]
Chương 6: Các mẫu thiết kế phục vụ
khởi tạo đối tượng (Creational Patterns)
-Nghiên cứu trước:
+ Tài liệu [1]: Phần 2
+ Tài liệu [3]: Chương 6
+ Tài liệu [4]
6.1 Tổng quát về nhóm mẫu “Creational”
6.2 Mẫu Abstract Factory
6.3 Mẫu Factory Method
6.4 Mẫu Prototype
10
3
3
2
2
-Nghiên cứu trước:
+ Tài liệu [1]: Phần 2
+ Tài liệu [3]: Chương 6
+ Tài liệu [4]
6.5 Mẫu Builder
11
12
6.6 Mẫu Singleton
-Nghiên cứu trước:
11
6.7 Kết chương
+ Tài liệu [1]: Phần 2
+ Tài liệu [3]: Chương 6
+ Tài liệu [4]
Chương 7: Các mẫu thiết kế che dấu
hành vi, thuật giải trong đối tượng
(Behavioral Patterns)
3
2
-Nghiên cứu trước:
+ Tài liệu [1]: Phần 4
+ Tài liệu [3]: Chương 7
+ Tài liệu [4]
7.1 Tổng quát về nhóm mẫu “Behavioral
Patterns”
13
7.2 Mẫu Chain of Responsibility
7.3 Mẫu Template Method
7.4 Mẫu Strategy
3
3
2
2
-Nghiên cứu trước:
+ Tài liệu [1]: Phần 4
+ Tài liệu [3]: Chương 7
+ Tài liệu [4]
7.5 Mẫu State
14
15
7.6 Mẫu Command
7.7 Mẫu Observer
7.8 Kết chương
-Nghiên cứu trước:
+ Tài liệu [1]: Phần 4
+ Tài liệu [3]: Chương 7
+ Tài liệu [4]
Ngày… tháng…. Năm 201
Trưởng khoa
Ngày… tháng…. Năm 201
Trưởng Bộ môn
Ngày… tháng…. Năm 201
Người biên soạn
(Ký và ghi rõ họ tên)
(Ký và ghi rõ họ tên)
(Ký và ghi rõ họ tên)
Đỗ Như Tài
Ngày… tháng…. Năm 201
Ban giám hiệu
12
Bạn đang xem tài liệu "Đề cương chi tiết học phần Mẫu thiết kế cho phần mềm (Design pattern)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
de_cuong_chi_tiet_hoc_phan_mau_thiet_ke_cho_phan_mem_design.pdf

