-->

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

Phần mềm máy tính từ lâu đã trở thành một phần không thể thiếu trong công việc hàng ngày của mỗi người, mỗi ngành trong thế giới hiện đại. Mọi người sử dụng phần mềm như là công cụ hỗ trợ trong công việc. Tuy nhiên việc phát triển một phần mềm theo một kiến trúc nào thì chỉ có những người trực tiếp làm việc trong lĩnh vực phần mềm mới quan tâm đến.

 Trong bài viết này tôi xin giới thiệu sơ lược về kiến trúc phần mềm.
Phần mềm có kiến trúc gì? Các nhà phát triển phần mềm rất coi trọng kiến trúc phần mềm vì nó quyết định mối quan hệ giữa các thành phần trong phần mềm, phát triển moodul, tái sử dụng sau này.
Ban đầu với những chương trình đơn giản, kiến trúc phần mềm được thiết kế đơn giản với việc thiết kế thuật toán, cấu trúc dữ liệu... dần dần khi những phần mềm lớn ra đời, việc điều phối, quản lý con người, quản lý thành phần phần mềm, quản lý tiến trình phát triển dự án... đã hình thành lên những kiến trúc phần mềm và những mẫu phần mềm.
Ví dụ như kiến trúc phần mềm dạng ống, dạng tuần tự, theo kiểu tầng (mô hình 3 tầng), điển hình của kiến trúc tầng như kiến trúc của hệ điều hành, ví dụ hệ điểu hành linux có nhân là các tính toán có các dịch vụ quản lý tính toán, quản lý lưu trữ...
Kiến trúc MVC cũng gần giống với kiến trúc 3 tầng thường được áp dụng trong các ứng dụng Web.
Kiến trúc hướng thành phần như Corba, kiến trúc phân tán với các ORB, kiến trúc hướng đối tượng.
Sự quan trọng của kiến trúc phần mềm:
  •  Hỗ trợ giao tiếp
  • Giúp ra quyết định sớm hơn
  • Tính khả chuyển của hệ thống
Ngôn ngữ đặc tả kiến trúc ADL (Architecture Description Language) để mô tả một kiến trúc phần mềm có các thành phần cơ bẩn là: Thành phần, kết nối và cấu hình hệ thống.