chương 1. Phương pháp hướng đối tượng Hiện nay thông tin thực sự trở thành nguồn tài nguyên quan trọng, nguồn của cải to lớn của xã hội. Trong mọi lĩnh vực, các dữ liệu, các mối quan hệ của mọi hệ thống kinh tế xã hội đều được xử lý một cách nhanh chóng nhất trên máy tính. Hệ thống càng phát triển, tức là càng nhiều yếu tố hợp thành thì mối quan hệ giữa chúng càng trở nên phức tạp.
Để xử lý lượng thông tin lớn như vậy, cần phải có những phương pháp và các công cụ hiện đại. Quá trình chung để phát triển phần mềm hướng đối tượng. Tiến trình thực hiện một bước lặp bao gồm xác định yêu cầu của hệ thống, phân tích, thiết kế, triển khai và kiểm thử, chính là nội dung cơ bản của tiến trình phát triển phần mềm hướng đối tượng. Trong các hoạt động đó, hoạt động phân tích và thiết kế đặt ra nhiều vấn đề nan giải hơn cả.[3] Những vấn đề đặt ra trong phân tích thiết kế hướng đối tượng Đặc điểm của phân tích và thiết kế hướng đối tượng là nhìn nhận hệ thống như một tập các đối tượng tương tác với nhau để tạo ra một hành động cho một kết quả ở mức cao hơn.
Để làm được điều đó người ta phải sử dụng hệ thống mô hình các đối tượng với các đặc trưng cơ bản sau đây: - Tính trừu tượng hoá cao - Tính bao gói thông tin - Tính mô đun hoá - Tính kế thừa Ngày nay, UML là công cụ được thiết kế có tất cả những tính chất và điều kiện giúp ta xây dựng được các mô hình đối tượng có được các đặc trưng nêu ra ở trên. Lập mô hình nghiệp vụ Để có thể nắm bắt được yêu cầu hệ thống, trước hết ta phải nắm và hiểu được hệ thống nghiệp vụ. Việc mô tả các yêu cầu của hệ thống nghiệp vụ đủ tốt là cần thiết để có thể đạt được sự nhất trí giữa khách hàng và những người phát triển về những gì mà hệ thống cần làm, không nên làm và những điều kiện ràng buộc đặt ra cho chúng. Mục LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 4 tiêu của bước này là để hiểu đúng và đầy đủ về hệ thống mà ta cần phải tin học hoá thuần tuý về mặt nghiệp vụ.
Muốn vậy, trước hết cần xác định phạm vi và chức năng hệ thống cần nghiên cứu bằng cách liệt kê các chức năng mà hệ thống thực hiện, chỉ ra mối quan hệ của nó với môi trường thông qua việc sử dụng các chức năng của hệ thống. Tiếp đó cần tìm các ca sử dụng nghiệp vụ từ các chức năng của hệ thống mà qua đó con người và các hệ thống khác sử dụng chúng.[1] Xác định yêu cầu hệ thống Nhiệm vụ chính trong xác định yêu cầu là phát triển một mô hình của hệ thống cần xây dựng bằng cách dùng các ca sử dụng. Điều này là tự nhiên, bởi vì các yêu cầu về chức năng được cấu trúc thành các ca sử dụng và do phần lớn các yêu cầu phi chức năng đều là riêng dối với một ca sử dụng đơn nên chúng cũng được xử lý trong các ca sử dụng đó. Để mô tả các yêu cầu nghiệp vụ dưới góc độ phát triển phần mềm ta cần tìm các tác nhân và các ca sử dụng để chuẩn bị một phiên bản đầu tiên của mô hình ca sử dụng.
Sau đó, ta sẽ xác định các ca sử dụng có ý nghĩa về mặt kiến trúc và sắp thứ tự ưu tiên các ca sử dụng sẽ được triển khai trong bước lặp hiện thời.[4] Phân tích Nhiệm vụ của pha phân tích là làm mịn dần các yêu cầu đã nhận được từ pha trước và tạo cấu trúc cho chúng. Thông qua đó, các yêu cầu được hiểu chính xác hơn, từ đó đưa ra cấu trúc cho toàn bộ hệ thống. Nhiệm vụ của pha phân tích là tìm ra cách thức để thực hiện các yêu cầu của hệ thống đã được xác định trong các ca sử dụng. Cụ thể là, cần phân tích mô hình ca sử dụng bằng cách tìm ra cách tổ chức các thành phần bên trong của hệ thống để thực hiện mỗi ca sử dụng.
Những thành phần cấu trúc bên trong hệ thống ở đây chính là ba loại lớp phân tích. Công việc xác định các lớp không phải làm tuỳ tiện mà thực hiện theo từng ca sử dụng, trước hết cho các ca sử dụng theo thứ tự ưu tiên được sắp. Sau đó, cấu trúc lại cách tổ chức các thành phần này của hệ thống. Để đạt mục tiêu này cần tiến hành các hoạt động: - Phân tích kiến trúc hệ thống - Phân tích một ca sử dụng LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 5 - Phân tích một lớp - Phân tích một gói Trong quá trình phân tích, ta sẽ liên tục tìm các gói, các lớp phân tích mới và các yêu cầu chung khi tiếp tục làm mịn mô hình bằng cách phân tích các gói phân tích và duy trì các gói đó.
Thiết kế Trong thiết kế, chúng ta định hình hệ thống và tìm hình thức thể hiện về mặt vật lý của nó (kể cả kiến trúc) để thực hiện mọi yêu cầu được đặt ra cho hệ thống. Một đầu vào cho thiết kế là mô hình phân tích. Khi thiết kế ta sẽ cố gắng bảo tồn được càng nhiều càng tốt cấu trúc của hệ thống được định hình từ mô hình phân tích. Kết quả của thiết kế là mô hình thiết kế và mô hình triển khai được thể hiện ra dưới dạng một loạt các mô hình cụ thể.
Mô hình thiết kế là sự thực thi mô hình phân tích khi tính đến các điều kiện của môi trường để thực thi hệ thống. Để nhận được mô hình thiết kế ta cần thực hiện các công việc sau: - Thiết kế kiến trúc - Thiết kế một ca sử dụng - Thiết kế một lớp - Thiết kế một hệ thống con Mô hình thiết kế là một mô hình đối tượng mô tả sự thực thi các ca sử dụng về mặt vật lý bằng cách tập trung vào việc xác định các yêu cầu chức năng và phi chức năng, cũng như các ràng buộc khác liên quan đến môi trường triển khai và ảnh hưởng của chúng lên hệ thống. Đặc điểm của cách tiếp cân hướng đối tượng Sử dụng kết hợp cả hai cách thiết kế: trên - xuống (top-down) và dưới-lên (bottom-up). Kỹ thuật phân rã chức năng trên-xuống được áp dụng để thiết kế các lớp, còn cấu trúc cả hệ thống được xây dựng dựa trên kiến trúc đơn thể được đặc tả trong miền ứng dụng và hỗ trợ một phần trong việc sử dụng lại - cách tiếp cận dưới - lên và nguyên lý che dấu thông tin cho phép sử dụng lại một cách tối đa.
Các ưu điểm của tiếp cận hướng đối tượng LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 6 Những đối tượng được thiết kế tốt trong hệ thống hướng đối tượng là cơ sở để kết hợp các đơn thể (module) được sử dụng lại thành hệ thống có chất lượng cao hơn. Cơ chế tương tác bằng cách truyền thông điệp giữa các đối tượng đảm bảo cho việc mô tả các giao diện giữa các modul bên trong hệ thống và hệ thống bên ngoài trở nên dễ dàng hơn. Việc phân tích và thiết kế theo cách phân bài toán thành các đối tượng là hướng tới lời giải của thế giới thực, là tự nhiên hơn so với cách phân rã theo chức năng từ trên xuống (Top-down). Nguyên lý che dấu thông tin hỗ trợ cho việc xây dựng các hệ thống thông tin an toàn.
Nguyên lý thiết kế dựa vào sự bao gói cả dữ liệu và xử lý trong một đối tượng rất phù hợp với ngữ nghĩa của mô hình trong cài đặt. Lập trình hướng đối tượng và kỹ thuật kế thừa cho phép xác định các modul và sử dụng ngay sau khi chúng chưa thực hiện đầy đủ các chức năng và sau đó mở rộng các đơn thể đó mà không ảnh hưởng tới các đơn thể đã có. Tiếp cận hướng đối tượng cung cấp cho ta công cụ hỗ trợ giải quyết độ phức tạp của bài toán bằng việc phân rã thành các thành phần độc lập tương đối với nhau. Hệ thống hướng đối tượng dễ dàng mở rộng thành các hệ thống có quy mô lớn hơn nhờ tương tác giữa các đối tượng thông qua việc gửi và nhận thông báo.
Về vấn đề phát triển và bảo trì hệ thống đơn giản hơn do có sự phân hoạch rõ ràng, là kết quả của việc bao gói thông tin và sự kết nối giữa các đối tượng thông qua giao diện, là việc sử dụng lại các thành phần tin cậy. Xoá bỏ được hố ngăn cách giữa các bước phát triển, thiết kế và cài đặt trong quá trình phát triển phần mềm. Những vấn đề đặt ra trong việc khai thác phần mềm hướng đối tượng - Xác định các lớp và đối tượng - Gán trách nhiệm - Giao tiếp với cơ sở dữ liệu - Cần có công cụ thích hợp: UML LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 7 Chương 2. Các công cụ hỗ trợ phát triển hướng đối tượng Phương pháp phân tích thiết kế hướng đối tượng với việc sử dụng ngôn ngữ UML cung cấp cho chúng ta phương tiện đủ mạnh để xác định các đối tượng và xây dựng các đơn thể của hệ thống cần phát triển 2.
Khái quát về UML. UML là một ngôn ngữ chuyên dụng UML được đưa vào sử dụng từ năm 1997, và đã nhanh chóng được công nghiệp phần mềm chấp nhận làm ngôn ngữ đồ hoạ chuẩn để đặc tả, xây dựng và làm tài liệu cho các hệ thống phần mềm chuyên sâu. UML là ngôn ngữ mô hình hoá, ngôn ngữ chuẩn thống nhất để viết ra bản kế hoạch chi tiết phần mềm. Nó mô tả ký pháp thống nhất, ngữ nghĩa và các định nghĩa chính mô hình hoá.
Các khung nhìn của ngôn ngữ cho phép nhìn nhận hệ thống được phát triển khác nhau, nó không khó hiểu và dễ sử dụng. Như mọi ngôn ngữ mô hình hoá khác, UML có ký pháp (các biểu tượng sử dụng trong mô hình)và tập các quy tắc sử dụng nó để mô hình hoá các hệ thống của thế giới thực. UML là một ngôn ngữ Là một ngôn ngữ UML có từ vựng và quy tắc tổ hợp các từ vựng đó nhằm mục đích giao tiếp. Ngôn ngữ mô hình là ngôn ngữ có từ vựng và quy tắc tập trung vào biểu diễn về mặt vật lý và khái niệm của hệ thống.
Vì vậy, UML là ngôn ngữ chuẩn công nghiệp để viết ra kế hoạch chi tiết phần mềm.