Giới thiệu sách về kiến trúc phần mềm
Đặc điểm của sách
- Thiết kế dựa trên rủi ro: Nhấn mạnh thiết kế đơn giản khi rủi ro thấp và thiết kế kỹ lưỡng khi rủi ro cao.
- Dân chủ hóa kiến trúc: Hướng tới việc giúp mọi lập trình viên đều hiểu về kiến trúc.
- Tri thức khai báo: Cung cấp các khái niệm rõ ràng về thiết kế và xây dựng hệ thống.
- Nhấn mạnh tính kỹ nghệ: Tập trung vào khía cạnh kỹ thuật để hỗ trợ đưa ra các quyết định thiết kế theo nguyên tắc.
- Lời khuyên thực tiễn: Trình bày các phương pháp thiết kế thực dụng thông qua các mô hình ở nhiều mức độ trừu tượng khác nhau.
Cấu trúc của sách
Part I: Kiến trúc phần mềm dựa trên rủi ro
- Định nghĩa kiến trúc phần mềm: Đóng vai trò là bộ khung của hệ thống và ảnh hưởng đến các thuộc tính chất lượng.
- Mô hình dựa trên rủi ro: Giải thích cách xác định và sắp xếp ưu tiên rủi ro, sau đó áp dụng các kỹ thuật thiết kế phù hợp để giảm rủi ro.
- Lời khuyên khi dùng mô hình: Trình bày cách sử dụng mô hình để giải quyết vấn đề, thêm các ràng buộc một cách cẩn trọng, và phân bổ kỹ năng kiến trúc cho toàn bộ nhóm.
Part II: Mô hình hóa kiến trúc
- Cấu trúc mô hình khái niệm: Gồm mô hình miền, mô hình thiết kế và mô hình mã nguồn.
- Xây dựng ranh giới đóng gói: Che giấu cách vận hành bên trong của component hoặc module để có thể tập trung giải quyết các vấn đề khác.
- Xây dựng mô hình hiệu quả: Giải thích cách tích hợp nhiều kỹ thuật kiến trúc khác nhau để xây dựng và gỡ lỗi các mô hình thực dụng, nhấn mạnh các thuộc tính chất lượng và tính năng.
- Lời khuyên khi dùng mô hình: Đề cập cả ưu điểm lẫn nhược điểm của mô hình và đưa ra cách sử dụng hiệu quả.
Ebook và bản bìa cứng
- Ebook: Đang được bán trên Google Play dưới dạng DRM-free ($9.99).
- Bản bìa cứng: Có thể mua trên Amazon.
Đánh giá về sách và tài liệu bổ sung
- Đánh giá: Có nhiều bài đánh giá và tiểu luận từ IEEE Software và các nguồn khác.
- Tài liệu bổ sung: Có video và ấn phẩm về nhiều chủ đề như thiết kế liên tục, phong cách kiến trúc, mô hình hóa, v.v.
Ý kiến của GN⁺
- Tầm quan trọng của cách tiếp cận dựa trên rủi ro: Thiết kế dựa trên rủi ro rất hữu ích trong việc nâng cao khả năng thành công của dự án.
- Dân chủ hóa kiến trúc: Khi mọi lập trình viên đều hiểu kiến trúc, hiệu quả của cả nhóm có thể được nâng cao.
- Lời khuyên thực tiễn: Cuốn sách này cung cấp nhiều lời khuyên thực tế hơn là lý thuyết, nên có thể áp dụng ngay vào các dự án thực tế.
- Tập trung kỹ thuật: Tập trung vào khía cạnh kỹ thuật để giúp lập trình viên giải quyết các vấn đề thực chất.
- Tài liệu học tập bổ sung: Có thể học sâu hơn thông qua nhiều tài liệu bổ sung đa dạng.
1 bình luận
Ý kiến trên Hacker News