Mục đích môn học Sau khóa học, sinh viên có được những kiến thức cơ bản về phương pháp luận phát triển phần mềm hướng đối tượng, khả năng vận dụng kỹ thuật phân tích và thiết kế hướng đ
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ KHOA CÔNG NGHỆ THÔNG TIN
ĐỀ CƯƠNG MÔN HỌC PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG
HÀ NỘI - 2011
Trang 2MỤC LỤC
1 Thông tin về giảng viên 1
2 Các môn học tiên quyết 1
3 Các môn học kế tiếp 1
4 Mục đích môn học 1
5 Mục tiêu của môn học 1
6 Nội dung cơ bản của môn học 2
7 Mục tiêu chi tiết môn học 3
8 Bảng tổng hợp mục tiêu môn học 7
9 Tóm tắt nội dung môn học 8
10 Nội dung chi tiết 8
11 Tài liệu 10
11.1 Tài liệu chính 10
11.2 Tài liệu tham khảo 10
12 Hình thức tổ chức dạy học 10
12.1 Lịch trình chung 10
12.2 Lịch trình chi tiết 11
13.Chính sách đối với môn học 12
14 Phương pháp, hình thức kiểm tra đánh giá 12
Trang 3TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Khoa Công Nghệ Thông Tin
Bộ môn Công Nghệ Phần Mềm
Khóa đào tạo: Cử nhân Công Nghệ Thông Tin Môn học: Phân tích thiết kế hướng đối tượng
Mã môn học:
Số tín chỉ: 03 Năm thứ: 3 Học kỳ: 06 Môn học: Bắt buộc
1 Thông tin về giảng viên
TS Đặng Đức Hạnh
Bộ môn Công Nghệ Phần Mềm
Khoa Công Nghệ Thông Tin – Trường ĐH Công Nghệ
Email: hanhdd@vnu.edu.vn
2 Các môn học tiên quyết
- Lập Trình Hướng Đối Tượng
- Công Nghệ Phần Mềm
3 Các môn học kế tiếp
- Khóa luận tốt nghiệp
4 Mục đích môn học
Sau khóa học, sinh viên có được những kiến thức cơ bản về phương pháp luận phát triển phần mềm hướng đối tượng, khả năng vận dụng kỹ thuật phân tích và thiết kế hướng đối tượng theo một quy trình cụ thể để tạo ra các bản thiết kế chất lượng cao
5 Mục tiêu của môn học
Sau khi kết thúc môn học, người học sẽ:
Về kiến thức:
- Áp dụng mô hình phát triển lặp, lấy kiến trúc làm trung tâm, và định hướng ca
sử dụng để tạo được mô hình thiết kế chất lượng cao
- Sử dụng ngôn ngữ mô hình hóa thống nhất UML để biểu diễn mô hình thiết kế
- Áp dụng các khái niệm hướng đối tượng: trừu tượng, bao gói, kế thừa, phân cấp, mô đun hóa, và đa hình để tạo mô hình thiết kế có chất lượng
- Mô tả các khung nhìn về kiến trúc phần mềm, các cơ chế chính hình thành
Trang 4kiến trúc, và chi phối của kiến trúc đối với thiết kế được tạo
- Xác định được các vấn đề thiết kế cơ bản và vận dụng các mẫu thiết kế
Kỹ năng:
- Sử dụng công cụ mô hình hóa để biểu diễn các mô hình phân tích và mô hình thiết kế cho một hệ thống cụ thể
- Viết đặc tả phân tích và thiết kế của hệ thống theo định dạng tài liệu
Thái độ:
- Giải quyết vấn đề mang tính hệ thống
- Làm việc có phương pháp, kế hoạch và luôn đặt vào khung cảnh dự án
- Chú trọng hơn vào mô hình hóa so với lập trình
Các mục tiêu khác:
- Kỹ năng cộng tác, làm việc nhóm
- Kỹ năng tư duy sáng tạo, khám phá tìm tòi
- Trau dồi, phát triển năng lực đánh giá
- Rèn kỹ năng lập kế hoạch, tổ chức, quản lý, theo dõi kiểm tra việc thực hiện
chương trình học tập
6 Nội dung cơ bản của môn học
Sau đây là những nội dung cơ bản của môn :
1 Phát triển phần mềm chất lượng cao
2 Mô hình hóa hướng đối tượng
3 Tổng quan về các yêu cầu phần mềm
4 Tổng quan về phân tích và thiết kế
5 Phân tích kiến trúc
6 Phân tích ca sử dụng
7 Xác định các phần tử thiết kế
8 Xác định các cơ chế thiết kế
9 Mô tả kiến trúc thực thi và phân tán
10 Thiết kế ca sử dụng
11 Thiết kế hệ thống con
12 Thiết kế lớp
Trang 57 Mục tiêu chi tiết môn học
Mục tiêu
Nội dung
Bậc 1 (A – Nhớ)
Bậc 2 (B – Hiểu, Áp dụng)
Bậc 3
(C - Phân tích, Tổng hợp, Đánh giá)
Ch01 Phát
triển phần
mềm chất
lượng cao
I.A.1 Xác định được các hoạt động cho việc hiểu và giải quyết các vấn đề kỹ nghệ phần mềm
I.A.2 Diễn giải được sáu kinh nghiệm thực hành tốt nhất cho kỹ nghệ phần mềm
I.A.3 Diễn giải được tiến trình RUP trong khung cảnh với sáu kinh nghiệm thực hành đó
Ch02 Mô
hình hóa
hướng đối
tượng
II.A.1 Diễn giải các nguyên lý cơ bản của hướng đối tượng
II.B.1 Giải thích và minh họa được các thế mạnh của hướng đối tượng
II.A.2 Xác định các khái niệm và thuật ngữ hướng đối tượng
cơ bản cùng với các
ký pháp UML tương ứng
II.A.3 Nêu được các
ký pháp cơ bản của 9 loại biểu đồ UML
Ch03 Tổng
quan về yêu
cầu phần
III.A.1 Mô tả được khái niệm cơ bản về yêu cầu phần mềm
III.B.1 Diễn giải được tầm ảnh hưởng của khái niệm yêu cầu với phân tích và thiết kế
Trang 6mềm III.A.2 Nêu được các
chế tác về yêu cầu phần mềm
III.B.2 Đọc và cụ thể hóa được các chế tác yêu cầu phần mềm với
tư cách là đầu vào cho phân tích thiết kế
Ch04 Tổng
quan về
phân tích và
thiết kế
IV.A.1 Liệt kê được các thuật ngữ và khái niệm về phân tích và thiết kế
IV.B.1 Diễn giải được
sự khác nhau giữa phân tích và thiết kế
IV.A.2 Nêu được tiến trình phân tích và thiết kế bao gồm các vai trò, chế tác và luồng công việc
Ch05 Phân
tích kiến
trúc
V.A.1 Nêu được mục đích của phân tích kiến trúc và giai đoạn thực hiện trong vòng đời phát triển
V.A.2 Mô tả được các mẫu kiến trúc tiêu biểu, tập các cơ chế phân tích
V.B.2 Diễn giải được tầm ảnh hưởng của mẫu kiến trúc và cơ chế phân tích đối với kiến trúc phần mềm
V.A.3 Mô tả được tư tưởng, chế tác và mối quan tâm cho việc ra quyết định về kiến trúc phần mềm
V.B.3 Đọc và minh họa được các kết quả phân tích kiến trúc, bao gồm: các tầng kiến trúc và mối quan hệ, các trừu tượng chính và các cơ chế phân tích
Ch06 Phân
tích ca sử
dụng
VI.A.1 Nêu được mục đích của hoạt động phân tích ca sử dụng và giai đoạn diễn ra trong vòng đời phát triển
VI.B.1 Xác định ca sử dụng trên cơ sở mô tả của người dùng về hệ thống
VI.A.2 Nêu được
khái niệm ca sử dụng,
lớp phân tích, kịch bản và luồng sự kiện
VI.B.2 Xác định được các lớp phân tích thực thi luồng sự kiện ca sử dụng
Trang 7VI.A.3 Nêu được
khái niệm vai trò của
lớp phân tích và cách
xác định nó
VI.B.3 Phân bố được hành vi ca sử dụng cho các lớp phân tích
VI.C.3 Đánh giá được tính hợp lý của phân tích ca sử dụng
VI.A.4 Nêu được
khái niệm hiện thực
hóa ca sử dụng, và
chỉ ra các biểu đồ UML giúp hiện thực hóa ca sử dụng
VI.B.4 Phát triển được các hiện thực hóa ca sử dụng và các cộng tác giữa các thể hiện của các lớp đã được xác định
VI.C.4 Kiểm tra được tính không nhất quán của kết quả phân tích
Ch07 Xác
định các
phần tử
thiết kế
VII.A.1 Nêu được mục đích của việc xác định các phần tử thiết
kế và chỉ ra nó được thực hiện ở đâu trong vòng đời phát triển
VII.A.2 Nêu được khái niệm về các phân
tử thiết kế, gồm có:
các lớp thiết kế, các
hệ thống con và các giao diện hệ thống
VII.B.2 Phân tích được các tương tác giữa các đối tượng phân tích và xác định được các phân
tử thiết kế
Ch08 Xác
định các cơ
chế thiết kế
VIII.A.1 Nêu được mục đích của việc xác định các cơ chế thiết
kế và chỉ ra nó được thực hiện ở đâu trong vòng đời phát triển
VIII.A.2 Nêu được các khái niệm về cơ chế thiết kế và chỉ ra cách mà chúng được ánh xạ từ các cơ chế phân tích
VIII.B.2 Xác định được các cơ chế thiết kế từ các cơ chế phân tích cho case study cụ thể
VIII.C.1 Đánh giá được ưu và nhược điểm cho việc lựa chọn cơ chế thiết kế
Ch09 Mô
tả kiến trúc
thực thi và
phân tán
IX.A.1 Nêu được mục đích của việc mô
tả kiến trúc thực thi
và phân tán và chỉ ra
nó được thực hiện ở đâu trong vòng đời phát triển
Trang 8IX.A.2 Nêu các khái niệm về luồng và tiến trình
IX.B.2 Mô hìn hóa được các tiến trình và các luồng cho case study cụ thể
IX.A.3 Mô tả làm thế nào các lớp và các hệ thống con được ánh
xạ vào các luồng và tiến trình
IX.A.4 Mô tả làm thế nào chức năng của hệ thống có thể phân bố trên các nốt vật lý
IX.B.4 Mô hình hóa các quyết định phân tán trong biểu đồ phân bố cho ca sử dụng cụ thể
IX.A.5 Mô tả được
tư tưởng và các mối quan tâm cho việc ra quyết định về kiến trúc phần mềm
Ch10 Thiết
kế ca sử
dụng
X.A.1 Nêu được mục đích của thiết kế ca sử dụng và chỉ ra pha thực hiện của nó trong vòng đời phát triển
X.B.1 Làm mịn được các hiện thực hóa ca sử dụng ở cấp độ phân tích
để thu được mô hình
sử dụng
X.C.1 Kiểm chứng được tính nhất quán trong triển khai ca
sử dụng
Ch11 Thiết
kế hệ thống
con
XI.A.1 Nêu được mục đích của thiết kế
hệ thống con và chỉ ra pha thực hiện của nó trong vòng đời phát triển
XI.B.1 Xác định các hành vi dạng cộng tác giữa các lớp chứa được đặc tả trong các giao diện hệ thống con
XI.B.2 Làm tài liệu cấu trúc trong của các hệ thống con
XI.B.3 Xác định được
sự phụ thuộc giữa các phần từ ngoài và các hệ thống con
Trang 9Ch12 Thiết
kế lớp
XII.A.1 Nêu được mục đích của thiết kế lớp và chỉ ra pha thực hiện của nó trong vòng đời phát triển
XII.B.1 Xác định được các lớp thiết kế bổ sung
và các mối quan hệ để hiện thực hóa các cơ chế thiết kế đã chọn
XII.A.2 Nêu được
mô hình chuyển trạng thái đối tượng và cách biểu diễn trong UML
XII.B.2 Xác định và phân tích được các chuyển trạng thái của các đối tượng thuộc lớp được điểu khiển bởi trạng thái
XII.B.3 Làm mịn các quan hệ, các thao tác và các thuộc tính ở cấp độ phân tích
8 Bảng tổng hợp mục tiêu môn học
Mục tiêu
Nội dung Bậc 1 Bậc 2 Bậc 3 Mục tiêu khác
Trang 109 Tóm tắt nội dung môn học
Phân tích thiết kế hướng đối tượng là môn học cung cấp cho sinh viên những kiến thức cơ bản về phương pháp luận phát triển phần mềm hướng đối tượng, đồng thời rèn luyện cho sinh viên kĩ năng mô hình hóa, kỹ năng phân tích và thiết kế hướng đối tượng làm cơ sở cho việc tạo ra các bản thiết kế phần mềm chất lượng cao
Môn học được thiết kế dành cho đối tượng là các sinh viên năm thứ 3 học kỳ 6 trong chương trình đào tạo cử nhân công nghệ thông tin
10 Nội dung chi tiết
Môn học truyền tải những nội dung sau:
Chương 1 Phát triển phần mềm chất lượng cao
1.1 Phát triển tăng dần
1.2 Quản lý yêu cầu
1.3 Kiến trúc hướng thành phần
1.4 Mô hình hóa trực quan
1.5 Kiểm chứng chất lượng
1.6 Quản lý thay đổi
Chương 2 Mô hình hóa hướng đối tượng
2.1 Lược đồ hướng đối tượng
2.2 Biểu diễn lược đồ bằng ngôn ngữ mô hình UML
Chương 3 Tổng quan về yêu cầu phần mềm
3.1 Giới thiệu
3.2 Các khái niệm chính
3.3 Mô hình ca sử dụng
3.4 Từ điển thuật ngữ
Chương 4 Tổng quan về phân tích và thiết kế
4.1 Các khái niệm chính
4.2 Luồng công việc phân tích và thiết kế
Chương 5 Phân tích kiến trúc
5.1 Tổng quan về phân tích kiến trúc
5.2 Các khái niệm chính
5.3 Tổ chức mức cao của các hệ thống con
5.4 Xác định các cơ chế phân tích
5.5 Xác định các trừu tượng hóa chính
5.6 Tạo các hiện thực hóa ca sử dụng
Chương 6 Phân tích ca sử dụng
6.1 Tổng quan về phân tích ca sử dụng
6.2 Bổ sung cho mô tả ca sử dụng
6.3 Tìm các lớp từ hành vi ca sử dụng
6.4 Phân bổ hành vi ca sử dụng cho các lớp
6.5 Mô tả các trách nhiệm
Trang 116.6 Mô tả các thuộc tính và liên kết
6.7 Các bước phân tích ca sử dụng
6.8 Thống nhất các lớp phân tích
Chương 7 Xác định các phần tử thiết kế
7.1 Tổng quan về xác định các phần tử thiết kế
7.2 Xác định các lớp và các hệ thống con
7.3 Xác định các giao diện hệ thống con
7.4 Xác định các cơ hội sử dụng lại
7.5 Cập nhật lại mô hình thiết kế
Chương 8 Xác định các cơ chế thiết kế
8.1 Tổng quan về xác định các cơ chế thiết kế
8.2 Phân loại các nhóm sử dụng cơ chế phân tích
8.3 Làm tài liệu cơ chế kiến trúc
Chương 9 Mô tả kiến trúc thực thi và phân tán
9.1 Tổng quan về thiết kế kiến trúc
9.2 Mô tả kiến trúc thực thi
9.3 Mô tả kiến trúc phân tán
Chương 10 Thiết kế ca sử dụng
10.1 Tổng quan về thiết kế ca sử dụng
10.2 Mô tả tương tác giữa các đối tượng thiết kế
10.3 Đơn giản hóa biểu đồ tuần tự sử dụng các hệ thống con
10.4 Mô tả hành vi liên quan đến lưu trữ lâu bền
10.5 Làm mịn mô tả luồng sự kiện
10.6 Thống nhất các lớp và các hệ thống con
Chương 11 Thiết kế hệ thống con
11.1 Tổng quan về thiết kế hệ thống con
11.2 Phân bố hành vi của hệ thống con cho các phần tử của nó
11.3 Làm tài liệu các phần tử của hệ thống con
11.4 Mô tả các phụ thuộc giữa các hệ thống con
Chương 12 Thiết kế lớp
12.1 Tổng quan về thiết kế lớp
12.2 Hình thành các lớp thiết kế
12.3 Xác định biểu đồ lớp thiết kế
12.4 Xác định các biểu đồ trạng thái
12.5 Dung hòa xác xung đột giữa các ca sử dụng
12.6 Điều khiển các yêu cầu phi chức năng
12.7 Ánh xạ lớp lưu trữ lâu bền vào cơ sở dữ liệu
Trang 1211 Tài liệu
11.1 Tài liệu chính
11.2 Tài liệu tham khảo
Craig Larman, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, 2004
I Jacobson, Object-Oriented Software Engineering: A Use Case Driven Approach, 2000
Reference Manual, 2nd Edition, 2004
12 Hình thức tổ chức dạy học
12.1 Lịch trình chung
DUNG
SỐ
Trang 1313 Ch11 2 1 BT tuần 3
Tổng 24 6 15 0 0 45
12.2 Lịch trình chi tiết
Hình thức
tổ chức
dạy học
Thời gian, địa điểm
Tuần 06
Ch06 Phân tích ca sử dụng
Lí thuyết
(Lecture)
2 giờ tín chỉ
- Tổng quan về phân tích
ca sử dụng
- Tìm các lớp từ hành vi ca
sử dụng
- Phân bố hành vi ca sử dụng cho các lớp phân tích
- Hiện thực hóa ca sử dụng bằng sự cộng tác giữa các
đối tượng
Đọc:
- Bài giảng chương 6 trong bộ giáo trình IBM
- Đặng Văn Đức, Phân
tích thiết kế hướng đối tượng bằng UML, 2002
(Chương 3)
- I Jacobson,
Engineering: A Use Case Driven Approach, 2000
(Chương 5)
Chuẩn bị tài liệu về
mô tả ca sử dụng trong case study và lập dàn ý các vấn đề cần thảo luận
Thực
hành
2 giờ thực hành
(1 giờ tín chỉ)
- Biểu diễn mô hình ca sử dụng trên Magic Draw
- Viết tài liệu đặc tả ca
sử dụng theo định dạng
- Biểu diễn các hiện thực hóa ca sử dụng ở cấp phân tích
Đọc:
- Tài liệu hướng dẫn RUP phần đặc tả ca
sử dụng
- Tài liệu hướng dẫn Magic Draw cho mô hình ca sử dụng
Chuẩn bản kế hoạch thực hiện nội dung thực hành
Trang 1413 Chính sách đối với môn học
Theo Quy chế đào tạo hiện hành
- Cho phép thực hiện lại bài tập không quá 1 lần (trong trường hợp không đạt)
14 Phương pháp, hình thức kiểm tra đánh giá
a Hình thức đánh giá
b Tiêu chí đánh giá
Bài tập cá nhân:
- Hình thức: Bài luận 2-3 trang A4
- Nội dung: (Bài tập cá nhân tuần từ tuần 01 đến tuần 15)
- Tiêu chí đánh giá:
Bài tập nhóm tháng:
- Hình thức : viết tiểu luận (7-10 trang A4)
- Nội dung: (Bài tập nhóm tháng 01, 02, 03 và 04)
- Tiêu chí đánh giá:
Bài tập lớn học kỳ :
- Hình thức : Tài liệu phân tích thiết kế
- Nội dung:
- Tiêu chí đánh giá:
Thi cuối kỳ :
- Hình thức: Thi viết cuối kỳ
- Nội dung: 12 vấn đề đã được nghiên cứu
- Tiêu chí đánh giá:
Hình thức Tỉ lệ