Trong chương trước, các bài viết đã đề cập tới tầm quan trọng của việc lập mô hình và sự hỗ trợ của UML trong việc lập mô hình như thế nào. Tuy nhiên nhiệm vụ chính của UML là đóng vai trò một ngôn ngữ mô hình hóa thống nhất, trực quan, chuẩn hóa các kí hiệu, ngữ nghĩa của các mô hình và các biểu đồ khi thể hiện các đối tượng, các sự kiện trong thế giới thực và trong lĩnh vực máy tính chứ không chỉ ra cho người dùng biết việc lập mô hình cho một hệ thống phải theo các bước như thế nào. Đó chính là mục đích của một phương pháp phân tích, thiết kế hướng đối tượng.

Hướng đối tượng là một cách tiếp cận khác với cách tiếp cận có cấu trúc truyền thống. Với cách tiếp cận hướng đối tượng, ta chia ứng dụng thành các đối tượng, tương đối độc lập với nhau. Sau đó ta có thể xây dựng hệ thống bằng cách kết hợp chúng lại với nhau. Một trong những ưu điểm của phương pháp này là tính sử dụng lại. Ta có thể xây dựng các đối tượng một lần và dùng chúng trong nhiều ứng dụng. Hơn thế nữa các đối tượng này đã qua một quá trình thử nghiệm và kiểm tra nên các rủi ro về lỗi là rất ít.

Vậy phương pháp hướng đối tượng khác phương pháp có cấu trúc ở điểm nào? Theo cách tiếp cận có cấu trúc thì chúng ta tập trung vào các thông tin mà hệ thống sẽ lưu giữ. Chúng ta hỏi người dùng về các thông tin mà họ cần, thiết kế cơ sở dữ liệu để lưu trữ các thông tin này, lập các màn hình để nhập và hiển thị thông tin, tạo các báo cáo để in thông tin. Nói một cách khác, chúng ta tập trung vào thông tin mà ít chú trọng tới cái gì được thực hiện với các thông tin đó tức là ứng xử của hệ thống. Cách tiếp cận này còn được gọi là hướng dữ liệu và đã được dùng để tạo ra hàng nghìn ứng dụng trong nhiều năm qua.

Hướng dữ liệu áp dụng tốt trong việc thiết kế cơ sở dữ liệu và nắm bắt thông tin, tuy nhiên cách tiếp cận này gặp phải một số khó khăn. Một trong những thách thức lớn nhất đó là việc thay đổi các yêu cầu của người dùng. Một hệ thống được xây dựng hướng dữ liệu có thể điều khiển việc thay đổi cơ sở dữ liệu một cách dễ dàng nhưng những thay đổi về quy tắc nghiệp vụ (business rules) sẽ không dễ dàng để thực thi.

Khái niệm hướng đối tượng đã được phát triển để giải quyết vấn đề này. Nó sẽ tập trung vào cả dữ liệu và các thao tác trên các dữ liệu đó. Do đó hệ thống sẽ linh hoạt hơn và dễ dàng thay đổi khi dữ liệu và ứng xử trên dữ liệu thay đổi.

UML không chỉ thuần túy là một ngôn ngữ mô hình hóa. Nó được phát triển bởi các chuyên gia hàng đầu trong lĩnh vực hướng đối tượng, những người đã đề xuất ra những phương pháp phân tích thiết kế hướng đối tượng hay được dùng nhất, như kỹ thuật phân tích Use case của Ivar Jacobsson, biểu đồ chuyển trạng thái của Harel… do đó nếu những người phân tích tiếp cận việc xây dựng các phần tử của mô hình đã được định nghĩa trong UML một cách hợp lý và có hệ thống thì họ sẽ thu được một phương pháp phân tích, thiết kế hướng đối tượng tốt.

Thông thường việc phân tích và thiết kế hệ thống được thực hiện theo các bước sau:

– Phân tích yêu cầu: Dùng phương pháp phân tích Use case để nắm bắt các yêu cầu của khách hàng. Đây là một bước quan trọng và sự thành công của bước này sẽ quyết định sự thành công của dự án. Bởi vì một hệ thống dù có xây dựng tốt đến đâu nhưng không đáp ứng được những nhu cầu của khách hàng hệ thống sẽ thất bại.

– Phân tích: Sau khi đã biết được người dùng muốn gì, chúng ta tập trung mô tả lại hệ thống, các khái niệm chính trong lĩnh vực của hệ thống cần xây dựng, trong hướng đối tượng gọi là các lớp lĩnh vực ( domain class ), mối quan hệ và sự tương tác giữa các đối tượng đó. Mục đích chính là hiểu hệ thống hoạt động như thế nào.

– Thiết kế: ở bước này sử dụng kết quả thu được ở các bước trước để mở rộng thành một giải pháp kỹ thuật, thêm vào các lớp thuộc về kỹ thuật như các lớp giao diện, các lớp điều khiển…Tập trung mô tả cấu trúc bên trong của hệ thống, sự tương tác của tập hợp các đối tượng để đạt được những chức năng mà hệ thống cần có.

Mặc dù UML không bắt buộc phải sử dụng một quy trình phát triển phần mềm cụ thể nào những nó được khuyến khích sử dụng với quy trình lặp và tăng dần.

Việc phân tích thiết kế hướng đối tượng được hệ thống hóa như sau:

  1. Phân tích Use case :
    1. Tìm Actor
    2. Tìm Use case
    3. Xây dựng biểu đồ Use case
  2. Tìm lớp:
    1. Lớp
    2. Gói
    3. Xây dựng biểu đồ lớp
    4. Xây dựng biểu đồ đối tượng
  3. Phân tích sự tương tác giữa các đối tượng
    1. Kịch bản
    2. Xây dựng biểu đồ trình tự
    3. Xây dựng biểu đồ hợp tác
  4. Xác định quan hệ giữa các đối tượng
    1. Quan hệ Association
    2. Quan hệ Generalization
    3. Quan hệ Dependency
    4. Quan hệ Realization
  5. Thêm vào các thuộc tính và phương thức cho các lớp
  6. Xác định ứng xử của đối tượng
    1. Xây dựng biểu đồ chuyển trạng
    2. Xây dựng biểu đồ hoạt động
  7. Xác định kiến trúc của hệ thống
    1. Xây dựng biểu đồ thành phần
    2. Xây dựng biểu đồ triển khai.
  8. Kiểm tra lại mô hình.

Theo http://123zo.wordpress.com/

Các bài liên quan:
UML Bài 1: Giới thiệu tổng quan về ngôn ngữ UML.