Thiết kế lớp

Một phần của tài liệu ỨNG DỤNG UML DESIGN PATTERN XÂY DỰNG HỆ THỐNG ĐĂNG KÝ TÍN CHỈ TRỰC TUYẾN (ONLINE COURSE REGISTER SYSTEM) (Trang 92 - 100)

IV. Thiết kế hệ thống

1.Thiết kế lớp

Mục tiêu chính của giai đoạn phân tích là tập trung vào xác định những gì cần được thực hiện. Các đối tượng được phát hiện trong giai đoạn phân tích sẽ làm cơ sở cho giai đoạn thiết kế. Các thuộc tính, phương thức và mối liên kết của lớp được xác định trong giai đoạn phân tích, và được bổ sung từ các mơ hình biểu diễn tương tác giữa các đối tượng, phải được thiết kế cho việc cài đặt như là một thành phần được mô tả theo ngôn ngữ cài đặt.

Trong phần này, chúng ta tập trung chi tiết hóa hướng nhìn logic bằng cách xác định thêm các lớp chi tiết ở cả tầng giao diện và tầng truy cập cơ sở dữ liệu để từ đó hình thành một sơ đồ lớp hồn chỉnh mơ tả đầy đủ các đối tượng của ứng dụng chuẩn bị cho việc cài đặt.

Ngoài ra, dựa trên các kết quả này chúng ta phát triển thiết kế vật lý hệ thống bằng cách xây dựng thêm các hướng nhìn cài đặt và hướng nhìn triển khai nhằm chuyển giao kết quả thiết kế hệ thống gần với một ngơn ngữ và cơng cụ lập trình xác định cho giai đoạn lập trình để có thể cài đặt phù hợp với các thiết bị tài nguyên trong một môi trường hệ thống thực tế một cách hiệu quả nhất.

Hầu hết các hệ thống được phát triển có xu hướng xây dựng một kiến trúc hai tầng đó là giao diện và dữ liệu. Trong kiến trúc hai tầng đó các màn hình giao diện người dùng liên kết để truy cập dữ liệu thông qua các đoạn chương trình được cài trực tiếp trên các đoạn giao diện. Ví dụ: một chương trình viết trên nền Visual Basic có một form giao diện, một thủ tục xử lý sự kiện trong nút “Cập nhật” của form này có tên cmd_CapNhat_Click() có thể thực hiện luôn việc truy cập và cập nhật cơ sở dữ liệu trực tiếp, như vậy thủ tục này cài đặt luôn các ngữ nghĩa về tác nghiệp. Việc thiết kế theo mơ hình này tạo ra một sự phụ thuộc rất lớn giữa giao diện và cơ sở dữ liệu, do đó rất khó cải tiến bảo trì và khó sử dụng.

Một cách tiếp cận kiến trúc khác tốt hơn chính là tạo ra sự độc lập giữa giao diện và người sử dụng bằng cách cô lập các chức năng của lớp giao diện với các chức năng của lớp tác nghiệp, của lớp tác nghiệp với lớp truy cập cơ sở dữ liệu. Đó chính là cách tiếp cận ba lớp, từ cách tiếp cận này cho phép chúng ta tạo ra được các đối tượng đại diện cho các đối tượng hữu hình trong thực tế nhưng hoàn toàn độc lập với cách thức mà các đối tượng này trình bày tới người dùng cũng như cách mà dữ liệu của nó được lưu trữ trong cơ sở dữ liệu.

Một chương trình sẽ tạo ra một số dữ liệu trong quá trình thực thi. Mỗi dữ liệu sẽ có một thời gian sống khác nhau. Dữ liệu tạm thời (Transient Data) có thời gian sống phụ thuộc vào thời gian sống của tiến trình sử dụng nó và được giải phóng khi tiến trình như các biến trong một quá trình thực thi thủ tục, kết quả tạm thời để đánh giá biểu thức, biến toàn cục và biến cấp phát động. Dữ liệu liên tục (Persistent Data) có thời gian tồn tại lâu hơn và độc lập với tiến trình sử dụng nó, chúng được quản lý bởi hệ quản trị cơ sở dữ liệu hay hệ thống lưu trữ tập tin. Đa số các lớp trong ứng dụng được chúng em thiết kế là lớp Persistent.

Để phát huy hướng đối tượng ở mức cao nhất, người ta khuyến cáo tất cả các thuộc tính nên được gán cho một phạm vi truy cập nội bộ dạng Protected nhằm đảm bảo tính bao bọc và có thể thừa kế nếu sau này cần phát triển thêm các lớp con. Các phương thức thì nên được truy cập tồn cục như chính bản chất sử dụng phương thức, ngoại trừ một số phương thức chỉ được sử dụng trong nội bộ lớp đó hoặc lớp con kế thừa. Trong Rational Rose quy ước về các phạm vi truy cập như sau:

Phân tích thiết kế hệ thống

Phân tích thiết kế hệ thống

Phân tích thiết kế hệ thống

Phân tích thiết kế hệ thống

Phân tích thiết kế hệ thống

Phân tích thiết kế hệ thống

Phân tích thiết kế hệ thống

Một phần của tài liệu ỨNG DỤNG UML DESIGN PATTERN XÂY DỰNG HỆ THỐNG ĐĂNG KÝ TÍN CHỈ TRỰC TUYẾN (ONLINE COURSE REGISTER SYSTEM) (Trang 92 - 100)