Kiến trúc phần mềm

Tiêu chí đánh giá: Sinh viên chia nhóm hai đến ba người áp dụng kiến thức trên lớp để làm bài tập tìm hiểu và xây dụng lại kiến trúc hiện đại của một số hệ thống phần mềm mã nguồn mở. Các buổi học cuối các nhóm trình bày và nộp báo cáo dưới dạng tài liệu kiến trúc. Điểm đánh giá dựa trên trình bày và hỏi trả lời cũng như chất lượng tài liệu kiến trúc. Điểm số là chung cho các thành viên trong nhóm.

pdf5 trang | Chia sẻ: nguyenlam99 | Lượt xem: 1925 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Kiến trúc phần mềm, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
1 TRƯỜNG ĐẠI HỌC CÔNG NGHỆ 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 MÔN HỌC Kiến trúc phần mềm 1. Thông tin về nhóm giảng viên xây dựng đề cương môn học TS. Trương Anh Hoàng, TS. Võ Đình Hiếu Cơ quan công tác: Khoa Công nghệ Thông tin, Trường Đại học Công nghệ Điện thoại: (04) 37547611 Email: {hoangta, hieuvd}@vnu.edu.vn 2. Thông tin chung về môn học Tên môn học: Kiến trúc phần mềm Software architecture Mã số môn học: INT 3105 Số tín chỉ: 3 Tổng số giờ tín chỉ (LL/ThH/TH): 45 (45/0/0) Các môn học tiên quyết: Lập trình hướng đối tượng (INT 3110) Học phần: Bắt buộc: Lựa chọn: X 3. Mục tiêu của môn học Giới thiệu các lý thuyết nền tảng của kiến trúc phần mềm, các kiến trúc kinh điển và hiện đại, các phương pháp xây dựng kiến trúc phần mềm, một số chuẩn về tài liệu kiến trúc phần mềm. Về kiến thức • Hiểu được vị trí, vai trò kiến trúc trong quá trình phát triển phần mềm. • Nắm được các yêu cầu phần mềm ảnh hưởng đến quyết định thiết kế kiến trúc. • Giới thiệu phương pháp thiết kế để đạt được các yêu cầu phi chức năng như tính dễ mở rộng, dễ thích nghi, độ sẵn sàng cao, dễ sử dụng, tin cậy được; • Giới thiệu các phương pháp đánh giá kiến trúc và ưu, nhược điểm của từng phương pháp; Kỹ năng • Biết cách xây dựng tài liệu kiến trúc • Có thể tìm hiểu và áp dụng các kiến trúc phần mềm hiện đại 2 4. Tóm tắt nội dung môn học (khoảng 150 từ) Môn học giới thiệu các khái niệm và cơ sở lý thuyết của kiến trúc phần mềm. Dựa trên đó, các khía cạnh của kiến trúc phần mềm được giới thiệu ở cả góc độ lý thuyết, nền tảng, và thực tiễn. Môn học cũng nêu các phương pháp xây dựng, viết tài liệu, đánh giá kiến trúc phần mềm, tầm quan trọng của kiến trúc trong việc đảm bảo đáp ứng được các yêu cầu phi chức năng của hệ thống. Tiếp đó phần ứng dụng hệ thống lại các kiến trúc kinh điển và một số kiến trúc hiện đại, ưu nhược điểm của từng phương pháp, và với những yêu cầu nào, tình huống nào thì nên chọn kiểu mẫu kiến trúc nào cho phù hợp. 5. Nội dung chi tiết môn học • Bài 1: Giới thiệu về môn học Giới thiệu về giáo viên, mục tiêu môn học, kế hoạch, bài tập nhóm và tổ chức các nhóm và đề tài của từng nhóm. Phân tích định nghĩa kiến trúc phần mềm và các khái niệm liên quan. • Bài 2: Mẫu thiết kế Các mẫu thiết kế cơ bản như Singleton, Observer, Proxy, Façade Tham khảo: tài liệu [4] • Bài 3: Thuộc tính chất lượng Giới thiệu về thuộc tính chất lượng, mối quan hệ giữa các thuộc tính chất lượng, và việc sử dụng hoạt cảnh thuộc tính chất lượng để phân tích yêu cầu về chất lượng. Tham khảo: Chương 4 của tài liệu [1] • Bài 4: Các chiến thuật Giới thiệu các chiến thuật cơ bản đã được ứng dụng rộng rãi để giải quyết các yêu cầu kiến trúc, các tác động tích cực và ảnh hưởng của từng chiến thuật. Tham khảo: Chương 5 của tài liệu [1] • Bài 5: Các kiểu kiến trúc Giới thiệu các kiểu kiến trúc cơ bản như kiểu kiến trúc client-server, phân tầng, đối tượng phân tán. Tham khảo: tài liệu [3] • Bài 6: Kiến trúc hướng dịch vụ và Tính toán đám mây Giới thiệu về kiến trúc hướng dịch vụ dưới khía cạnh là một kiểu kiến trúc. Giới thiệu về tính toán đám mây Tham khảo: tài liệu [7] • Bài 7: Thiết kế kiến trúc Trình bày tổng quan về một số phương thiết kế kiến trúc. Tìm hiểu một cách chi tiết phương pháp ADD (Attribute-Driven Design) 3 Tham khảo: Chương 7 của tài liệu [1] • Bài 8: Kiểm tra GK Kiểm tra viết giữa kỳ và tiến độ bài tập lớn của từng nhóm. • Bài 9: Thiết kế kiến trúc Tìm hiểu phương pháp thiết kế kiến trúc ACDM (Architecture Centric Design Method) Tham khảo: tài liệu [6] • Bài 10: Viết tài liệu kiến trúc Cách làm tài liệu kiến trúc, mô tả kiến trúc phần mềm, từ cấu trúc tài liệu đến chi tiết các phần bắt buộc, các phần tuỳ chọn. Tham khảo: Các tài liệu [1, 2, 6] • Bài 11: Viết tài liệu kiến trúc (tiếp) Giới thiệu các hướng nhìn theo thành phần và kết nối (component-and- connector), và phân bổ (allocation). Tham khảo: Các tài liệu [1, 2, 6] • Bài 12: Phân tích kiến trúc Giới thiệu một số phương pháp phân tích kiến trúc như ATAM, CBAM Tham khảo: tài liệu [1] • Bài 13: ADLs Giới thiệu tổng quan về ngôn ngữ mô tả kiến trúc. Tìm hiểu chi tiết ngôn ngữ ACME Tham khảo: tài liệu [2] • Bài 14~15: Sinh viên trình bày, thảo luận Các nhóm sinh viên báo cáo bài tập lớn. Yêu cầu các nhóm sinh viên tìm hiểu và xây dựng (lại) kiến trúc của một số phần mềm có đặc trưng kiến trúc hiện đại. Sinh viên phải biết xác định yêu cầu kiến trúc, giải quyết các yêu cầu đó qua việc ứng dụng các kỹ thuật đã biết và phân tích kiến trúc xây dựng đáp ứng yêu cầu đặt ra. Tài liệu kiến trúc được mô tả đúng qui cách và đầy đủ. 6. Tài liệu tham khảo Tài liệu tham khảo bắt buộc 1. Len Bass, Rick Kazman, Paul C. Clements. Software Architecture in Practice (2nd edition). Addison-Wesley. 2003. Tài liệu tham khảo lựa chọn 2. Richard N. Taylor, Nenad Medvidović, Eric M. Dashofy. Software Architecture: Foundations, Theory, and Practice. John Wiley and Sons, Inc., 2009. 4 3. Microsoft Application Architecture Guide, 2nd Edition. Chapter 3: Architectural Patterns and Styles. 4. Design Patterns: Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. 5. Zheng Qin, Jian-Kuan Xing, Xiang Zheng. Software Architecture (Advanced Topics in Science and Technology in China). Springer, 2008. 6. Recommended Practice for Architecture Description of Software-Intensive Systems. IEEE-1471, 2000. 7. Mohamed I. Mabrouk, SOA Fundamentals in a Nutshell, IBM, 2008 7. Hình thức tổ chức dạy học Ghi chú: A: Số giờ tín chỉ B: Số tiết học Nội dung Hình thức tổ chức dạy học môn học Tổng Thực hành Tự học Lý thuyết Thực hành/thí nghiệm Bài tập A/B A/B A/B A/B A/B Tuần 1 3/3 0/0 0/0 0/0 0/0 Tuần 2 3/3 0/0 0/0 0/0 0/0 Tuần 3 3/3 0/0 0/0 0/0 0/0 Tuần 4 3/3 0/0 0/0 0/0 0/0 Tuần 5 3/3 0/0 0/0 0/0 0/0 Tuần 6 3/3 0/0 0/0 0/0 0/0 Tuần 7 3/3 0/0 0/0 0/0 0/0 Tuần 8 3/3 0/0 0/0 0/0 0/0 Tuần 9 3/3 0/0 0/0 0/0 0/0 Tuần 10 3/3 0/0 0/0 0/0 0/0 Tuần 11 3/3 0/0 0/0 0/0 0/0 Tuần 12 3/3 0/0 0/0 0/0 0/0 Tuần 13 3/3 0/0 0/0 0/0 0/0 Tuần 14 3/3 0/0 0/0 0/0 0/0 Tuần 15 3/3 0/0 0/0 0/0 0/0 Tổng A/B 45/45 0/0 0/0 0/0 45/45 5 8. Kiểm tra, đánh giá 8.1. Kiểm tra giữa kỳ: Trọng số: 0.3 Tiêu chí đánh giá: Sinh viên chia nhóm hai đến ba người áp dụng kiến thức trên lớp để làm bài tập tìm hiểu và xây dụng lại kiến trúc hiện đại của một số hệ thống phần mềm mã nguồn mở. Các buổi học cuối các nhóm trình bày và nộp báo cáo dưới dạng tài liệu kiến trúc. Điểm đánh giá dựa trên trình bày và hỏi trả lời cũng như chất lượng tài liệu kiến trúc. Điểm số là chung cho các thành viên trong nhóm. 8.2. Kiểm tra thường xuyên: Trọng số: 0.1 Tiêu chí đánh giá: Học viên phải làm bài tập về nhà sau mỗi buổi lý thuyết. Bài trả lời sẽ được nộp vào buổi học kế tiếp. Giáo viên chấm ngẫu nhiên một số bài của học viên để cho điểm đánh giá. 8.3. Kiểm tra cuối kỳ: Trọng số: 0.6 Tiêu chí đánh giá: Kiểm tra kiến thức của học viên bằng hình thức viết hoặc vấn đáp. Thi viết 60 – 90 phút và dựa trên câu trả lời súc tích, ngắn gọn của học viên để cho điểm đánh giá. Thi vấn đáp sẽ kiểm tra ngẫu nhiên các kiến thức trong các bài giảng. Chủ nhiệm khoa (Ký và ghi rõ họ, tên) Chủ nhiệm bộ môn (Ký và ghi rõ họ, tên) Giảng viên (Ký và ghi rõ họ, tên)

Các file đính kèm theo tài liệu này:

  • pdf12v_software_architecture_vi_9182.pdf