2. Mã số: IT4490 3. Khối lượng: 3(3-1-0-6) Lý thuyết: 45 giờ Bài tập: 15 giờ Thí nghiệm: 0 giờ 4. Đối tượng tham dự: Sinh viên đại học ngành công nghệ phần mềm, học kỳ 8. 5. Điều kiện học phần: Học phần tiên quyết: - IT4430 Học phần học trước: - Học phần song hành: - 6. Mục tiêu học phần: Sinh viên làm chủ được các kiến thức chuyên sâu về thiết kế phần mềm: các mẫu thiết kế, các khung việc (frameworks) và các kiến trúc phần mềm. Sinh viên nắm vững và áp dụng được các kỹ thuật: khảo sát các kiến trúc middleware mới nhất; thiết kế các hệ thống phân tán sử dụng middleware; thiết kế hướng thành phần (component); đo kiểm (measurement) trong PM và ứng dụng độ đo (metrics) trong thiết kế; thiết kế đảm bảo chất lượng với các tiêu chí về hiệu năng, an toàn, an ninh, sử dụng lại, tin cậy vv…; đo chất lượng nội tại và độ phức tạp phần mềm; cơ sở của tiến hoá PM, tái kỹ nghệ và kỹ nghệ hướng ngược (reverse engineering). 7. Nội dung vắn tắt học phần: Tổng quan về thiết kế và xây dựng phần mềm; Các chiến lược và phương pháp thiết kế phần mềm; Xây dựng các đặc tả phần mềm; Phân tích và đánh giá chất lượng thiết kế phần mềm. Thiết kế chi tiết phần mềm; Tạo các tài liệu thiết kế chi tiết; Tiêu chuẩn thiết kế phần mềm; Các kỹ thuật tiêu biểu áp dụng trong xây dựng phần mềm; Phân tích và đánh giá chất lượng xây dựng phần mềm; Thiết kế và xây dựng phần mềm hướng đối tượng và thành phần 8. Nhiệm vụ của sinh viên: Dự lớp: đầy đủ theo quy chế Bài tập: hoàn thành các bài tập của học phần 9. Đánh giá kết quả: KT/BT(0.4)-T(TN/TL:0.6) Điểm quá trình: trọng số 0.4 - Bài tập làm đầy đủ (chấm điểm các bài tập) - Hoàn thành bài tập lớn (các bài tập) - Kiểm tra giữa kỳ Thi cuối kỳ (trắc nghiệm và tự luận): trọng số 0.6 10. Tài liệu học tập Sách, giáo trình chính: 1. L. Bass, P. Clements, and R. Kazman, Software Architecture in Practice, second ed., Addison-Wesley, 2003. 2. D. Budgen, Software Design, second ed., Addison-Wesley, 2004. 3. S. McConnell, Code Complete: A Practical Handbook of Software Construction, Microsoft Press, second ed., 2004. 4. Bentley, Programming Pearls, second ed., Addison-Wesley, 2000. Sách tham khảo: xem đề cương chi tiết 11. Nội dung chi tiết học phần: THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM Người soạn: PGS. Huỳnh Quyết Thắng, Ths. Nguyễn Thị Thu Trang CHƯƠNG I. TỔNG QUAN VỀ THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM (1 LT/4h) I.1. Khái niệm và định nghĩa I.2. Quy trình thiết kế và xây dựng phần mềm: mô hình, các nhiệm vụ cơ bản I.3. Các kỹ thuật tiêu biểu trong thiết kế và xây dựng phần mềm 1.4. Các thuộc tính chất lượng của thiết kế và xây dựng phần mềm CHƯƠNG II. THIẾT KẾ PHẦN MỀM (5 LT/10h + 2 BT) II.1. Thiết kế kiến trúc phần mềm II.2. Các chiến lược và phương pháp thiết kế phần mềm II.3. Xây dựng các đặc tả phần mềm II.4. Phân tích và đánh giá chất lượng thiết kế phần mềm CHƯƠNG III. XÂY DỰNG PHẦN MỀM (5 LT/4h + 2 BT) III.1. Thiết kế chi tiết phần mềm III.2. Thiết kế thành phần phần mềm, tạo và dùng lại các thành phần III.3. Tạo các tài liệu thiết kế chi tiết III.4. Tiêu chuẩn thiết kế phần mềm III.5. Xét duyệt thiết kế III.6. Thiết kế chi tiết và sản xuất phần mềm III.7. Các kỹ thuật tiêu biểu áp dụng trong xây dựng phần mềm III.8. Phân tích và đánh giá chất lượng xây dựng phần mềm CHƯƠNG IV. THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM HƯỚNG ĐỐI TƯỢNG VÀ THÀNH PHẦN (4LT + BT) IV.1. Quy trình hướng đối tượng phân tích và thiết kế phần mềm IV.2. Mô hình hóa các trường hợp sử dụng IV.3. Mô hình hóa đối tượng (object modeling) IV.4. Mô hình hóa hoạt động IV. 5. Một số đặc điểm của kỹ thuật thiết kế và xây dựng phần mềm hướng đối tượng 12. Nội dung các bài thí nghiệm (thực hành, tiểu luận, bài tập lớn) Bài tập 1. Các kỹ thuật thiết kế kiến trúc phần mềm Bài tập 2. Các kỹ thuật lập các tiêu chí chất lượng và đánh giá chất lượng kiến trúc phần mềm. Bài tập 3. Xây dựng tài liệu đặc tả chi tiết phần mềm Bài tập 4. Các kỹ thuật lập các tiêu chí và đánh giá chất lượng phần mềm Bài tập 5. Các kỹ thuật thiết kế và xây dựng phần mềm hướng đối tượng 13. Tài liệu tham khảo 1. L. Bass, P. Clements, and R. Kazman, Software Architecture in Practice, second ed., Addison- Wesley, 2003. 2. D. Budgen, Software Design, second ed., Addison-Wesley, 2004. 3. S. McConnell, Code Complete: A Practical Handbook of Software Construction, Microsoft Press, second ed., 2004. 4. Bentley, Programming Pearls, second ed., Addison-Wesley, 2000.IEEE Std 1016-1998, IEEE Recommended Practice for Software Design Descriptions, IEEE, 1998. 5. IEEE Std 1028-1997 (R2002), IEEE Standard for Software Reviews, IEEE, 1997. 6. IEEE Std 1471-2000, IEEE Recommended Practice for Architectural Description of Software Intensive Systems, Architecture Working Group of the Software Engineering Standards Committee, 2000. 7. Textbook for Software Design and Development Engineers, No.1, EXTERNAL DESIGN. Japan Information Processing Development Corporation, Central Academy of Information Technology. Japan, 2001. 8. Textbook for Software Design and Development Engineers, No.2, INTERNAL DESIGN. Japan Information Processing Development Corporation, Central Academy of Information Technology. Japan, 2001. 9. Textbook for Software Design and Development Engineers, No.3, PROGRAM DESIGN. Japan Information Processing Development Corporation, Central Academy of Information Technology. Japan, 2001. 10. Textbook for Software Design and Development Engineers, No.4, SOFTWARE ENGINEERING. Japan Information Processing Development Corporation, Central Academy of Information Technology. Japan, 2001.