CHƢƠNG 3 : PHƢƠNG PHÁP ĐÁNH GIÁ VÀ KẾT QUẢ
4.3. Giải pháp và phân tích lựa chọn
4.3.4. Mơ hình MVC xây dựng phần mềm thử nghiệm
Django là một nền tảng khá phổ biến để viết các hệ thống backend, đƣợc xây dựng trên ngơn ngữ lập trình Python và hoạt động nhƣ một mơ-đun của Python. Tƣơng tự nhƣ phần lớn các nền tảng phổ biến khác cho việc xây dựng web, Django sử dụng cấu trúc MVC (Model – View – Controller) và đƣợc hình dung nhƣ mơ phỏng ở hình 4- 2 dƣới đây:
ình 4-2: Mơ hình MVC
Mơ hình MVC là kiến trúc hệ thống chia ứng dụng ra 3 thành phần logic chính:
model, view và controller. Mỗi một thành phần này có nhiệm vụ xử lý các khía cạnh
khác nhau trong q trình phát triển phẩn mềm.
a) Model: Đây là thành phần đảm nhiệm các nghiệp vụ thao tác trực tiếp với dữ
liệu mà ngƣời dùng làm việc với. Đây mà nơi dữ liệu đƣợc truy xuất hoặc viết vào hệ quản trị cơ sở dữ liệu. Dữ liệu ở đây đƣợc chuyển hoá thành dạng có thể hiểu đƣợc đối với ngơn ngữ lập trình để có thể chuyển tiếp cho Controller xử lý. b) Controller: Làm nhiệm vụ nhận điều hƣớng các yêu cầu từ ngƣời dùng và gọi
đúng những phƣơng thức xử lý chúng… Chẳng hạn thành phần này sẽ nhận thao tác yêu cầu từ url và form để tìm hàm tƣơng ứng xử lý những yêu cầu này. c) View: Đảm nhận việc hiển thị thông tin, tƣơng tác với ngƣời dùng, nơi chứa tất
cả các đối tƣợng GUI nhƣ văn bản, hình ảnh, các ơ nhập liệu... mà ngƣời dùng trực tiếp tƣơng tác lên.
Luồng hoạt động của mơ hình MVC: Khi có một u cầu từ phía ngƣời dùng (thơng qua trình duyệt) gửi đến máy chủ, Thành phần Controller sẽ nhận yêu cầu và thông tin kèm theo (bao gồm URL, dữ liệu gửi lên), xử lý yêu cầu đó. Và nếu cần, nó sẽ gọi đến phần Model, vốn là thành phần làm việc trực tiếp với hệ quản trị cơ sở dữ liệu. Sau khi xử lý xong, toàn bộ kết quả đƣợc đẩy về phần View và tƣơng tác với ngƣời dùng.
Đánh giá chung về mơ hình MVC là kiến trúc này thể hiện tính chun nghiệp trong lập trình, phân tích thiết kế. Do đƣợc chia thành các thành phần độc lập nên giúp phát triển ứng dụng nhanh, đơn giản, dễ nâng cấp, bảo trì. Đối với các nhóm phát triển có từ vài ngƣời trở lên, mỗi ngƣời có thể đƣợc phân công để làm việc với từng thành phần một nhƣng vẫn đảm bảo tính thống nhất và thơng suốt của hệ thống phần mềm.