Yêu cầu mọi thông tin sao chép từ blog này phải được ghi rõ đầy đủ: Thông tin được sao chép từ "http://www.dangngochoangthanh.blogspot.com".

Cool wallpaper http://www.fancymessage.com

EMOJI KEYBOARD PRO http://emojiselector.com

THƯ VIỆN HÌNH ĐỘNG FLASH ANIMATION: http://flashanimationlibrary.blogspot.ru/

Hệ thống học trực tuyến đang được phát triển và sẽ đưa vào sử dụng vào cuối năm nay. Hãy xem qua một số demo của Học Trực Tuyến.


HỌC TRỰC TUYẾN ĐÃ CUNG CẤP PHIÊN BẢN TRUY CẬP QUA MOBILE http://dangngochoangthanh.blogspot.com/?m=1

XEM KÊNH HỌC TRỰC TUYẾN TRÊN YOUTUBE



Search on This Blog

Saturday, September 11, 2010

Phương pháp phân tích và thiết kế hướng đối tượng

Phương pháp phân tích và thiết kế hướng đối tượng
Trước khi bắt đầu viết một chương trình theo hướng đối tượng, thì bạn cần phân tích và thiết kế các đối tượng. Từ sơ đồ cấu trúc mà bạn nhận được, chúng ta có thể xây dựng nên chương trình. Chi tiết về cách thức phân tích và thiết kế đối tượng, bạn sẽ được tìm hiểu kĩ hơn trong học phần phân tích thiết kế hệ thống thông tin. Trong nội dung của giáo trình này, tôi chỉ thảo luận một phần nhỏ, để giúp bạn có thể xây dựng nên một cấu trúc chương trình theo hướng đối tượng. Sơ đồ cấu trúc trong lập trình hướng đối tượng được sử dụng phổ biến là sơ đồ xây dựng trên ngôn ngữ UML (Unified Modeling Languages). UML là ngôn ngữ chuyên dùng để mô hình hóa các đối tượng. Nó không chỉ được áp dụng trong lập trình, mà còn được sử dụng rộng rãi trong các lĩnh vực khác của cuộc sống. Trong UML có nhiều dạng sơ đồ được hoạch định. Nhưng trong phạm trù của lập trình hướng đối tượng, sơ đồ lớp là sự mô tả gần gũi nhất. Do đó, tôi sẽ trình bày cách xây dựng một chương trình được mô tả bằng sơ đồ lớp.

Một số kí hiệu cần lưu ý trong UML. Trước khi tìm hiểu cách mô hình hóa một bài toán bằng UML, bạn cần tìm hiểu một số kí hiệu được sử dụng trong UML. Các kí hiệu này có thể khác nhau trong nhiều chương trình mô phỏng. Những kí hiệu mà tôi sử dụng ở đây là kí hiệu dùng trên chương trình Eclipse – một trình biên dịch ngôn ngữ lập trình được sử dụng rộng rãi.
Kí hiệu Ý nghĩa

Lớp

Lớp cơ sở trìu tượng để phân biệt với lớp thông thường.

Biểu diễn tính kế thừa. Mũi tên luôn hướng về lớp con. Chiều còn lại luôn chỉ vào lớp cơ sở.
Chúng ta xem Package như một Namespace.

Thuộc tính

Phương thức
Phân tích và thiết kế mô hình. Việc phân tích và thiết kế một mô hình là công việc đòi hỏi các nhà thiết kế phải có một tư duy tốt. Đối với một bài toán phân tích và thiết kế, không phải chỉ có duy nhất một mô hình kết quả, mà có thể có một vài, thậm chí là nhiều mô hình khác nhau. Tuy nhiên, công việc chọn lựa một mô hình tối ưu là điều cần thiết. Trong nội dung giáo trình này, tôi chỉ giới thiệu sơ qua về cách hoạch định một mô hình. Chúng ta sẽ không đi sâu nghiên cứu vấn đề này. Bạn sẽ được tìm hiểu kĩ hơn trong học phần phân tích và thiết kế hệ thống thông tin.
Các bước phân tích và thiết kế. Để phân tích và thiết kế một mô hình hướng đối tượng, bạn cần thực hiện các giai đoạn sau đây:
- Bước 1. Mô tả bài toán. Một bài toán sẽ được miêu tả dưới dạng ngôn ngữ tự nhiên. Nó chủ yếu dựa vào yêu cầu của khác hàng và sự trợ giúp khách hàng.
- Bước 2. Đặc tả các yêu cầu. Sau khi phân tích các nhân tố tham gia vào trong mô hình, bạn cần tiến hành xem xét các tác nhân tác động vào từng nhân tố. Mối quan hệ giữa các nhân tố…
- Bước 3. Trích chọn đối tượng. Sau khi tổng hợp các tác nhân và nhân tố trong mô hình. Chúng ta cần tiến hành lựa chọn chúng. Việc loại bỏ các nhân tố và tác nhân không cần thiết là rất quan trọng. Nó sẽ giúp cho mô hình tập trung vào các nhân tố quan trọng và cần thiết, tránh phân tích và thiết kế tràn lan.
- Bước 3. Mô hình hóa các lớp đối tượng. Sau khi chọn lựa các đối tượng cần thiết. Chúng ta phân tích từng đối tượng. Khi phân tích đối tượng, bạn cần lưu ý tập trung vào những thứ cốt lõi của mỗi đối tượng, tránh đưa vào những phương thức và thuộc tính không cần thiết, không quan trọng của đối tượng – đó chính là tính trìu tượng hóa của dữ liệu. Khi phân tích, chúng ta cũng cần lưu ý đến các tính chất chung của từng đối tượng. Nếu các đối tượng có nhiều tính chất chung, chúng ta nên xây dựng một đối tượng mới, chứa các tính chất chung đó, mỗi đối tượng còn lại sẽ thừa kế từ đối tượng này, để nhận được các tính chất chung.
- Bước 4. Thiết kế từng đối tượng. Chúng ta cần đảm bảo rằng, mỗi đối tượng phải có các phương thức và thuộc tính riêng lẫn các phương thức và thuộc tính chia sẻ. Các phương thức riêng chỉ có bản thân đối tượng mới có quyền thay đổi. Các phương thức chia sẻ có thể được truy cập bởi đối tượng khác theo các mức khác nhau.
- Bước 5. Xây dựng và kiểm thử mô hình. Bắt tay vào xây dựng mô hình. Ở đây, chúng ta sử dụng ngôn ngữ UML để mô tả. Sau khi xây dựng xong mô hình, cần tiến hành kiểm thử mô hình. Kiểm thử các mô hình trong các tình huống thực tế là cần thiết để đảm bảo rằng mô hình nhận được là phù hợp, trước khi bắt tay vào viết chương trình.
Trên đây, chỉ là những bước đề nghị để bạn có một cái nhìn tổng quát khi phân tích và thiết kế. Bạn có thể thực hiện theo một cách khác. Nhưng bạn luôn phải đảm bảo rằng, mô hình của bạn thu được không những đạt hiệu quả cao, mà còn đảm bảo rằng chương trình thu được phải dễ dàng bảo trì và nâng cấp. Mỗi khi có một lỗi xuất hiện, bạn cũng cần biết khoanh vùng để thu nhỏ phạm vi phát hiện lỗi.
Chúng ta sẽ lấy một ví dụ nhỏ. Phân tích hướng đối tượng mô hình quản lý cửa hàng bán xe đạp. Trong mô hình này, ta cần quản lý các nhóm đối tượng sau: đối tượng xe đạp, đối tượng chi nhánh bán hàng, đối tượng khách hàng và đối tượng nhân viên bán hàng.
- Đối tượng xe đạp: chúng ta cần quản lý mã số xe (mã số gồm hai phần: phần id chi nhánh bán hàng + mã số vạch), loại xe, màu sắc, giá bán, nước sản xuất (các thuộc tính chung). Đối tượng xe đạp địa hình: số bánh răng, cách lên răng (bằng tay/tự động), chống sooc. Đối tượng xe đạp du lịch: xe đơn/đôi, tự động (hỗ trợ tự chạy bằng điện hay không), chiếu sáng (có/không). Xe đua thể thao: điều chỉnh độ cao (có/không), các chế độ đạp (đạp thư giản, đạp tăng tốc, đạp chậm…).
- Đối tượng khách hàng và nhân viên bán hàng: họ và tên, số CMND. Đối tượng khách hàng: cách thức thanh toán (tiền mặt/chuyển khoản), cách thức giao hàng (nhận tại chỗ/ đưa đến tận nhà). Đối tượng nhân viên bán hàng: id chi nhánh bán hàng, ngày tháng năm sinh, quê quán, địa chỉ, mã số thuế, lương…
- Đối tượng chi nhánh bán hàng: id chi nhánh bán hàng, địa chỉ.
Dĩ nhiên các thuộc tính liệt kê ở trên là mang tính chất tương đối. Nếu yêu cầu quản lý nhiều hơn các thông tin của từng đối tượng, khi đó ta cần bổ sung thêm các thuộc tính tương ứng này.
Đối với các phương thức thực thi hành động, tương ứng với mỗi thuộc tính, ta có hai phương thức để chỉ định và tiếp nhận. Ví dụ, đối tượng nhân viên, có họ và tên. Tương ứng với thuộc tính này, ta có phương thức chỉ định để đặt tên cho nhân viên (đặt tên là thiết lập tên gọi trong phần mềm quản lý) và tiếp nhận tên khi có yêu cầu.
Đối tượng khách hàng có phương thức quyết định (quyết định thực hiện giao dịch). Đối tượng nhân viên bán hàng có phương thức tiếp nhận (nhận giao dịch). Đối tượng địa điểm bán hàng có phương thức nhận hàng (nếu hàng còn đầy thì không tiếp nhận thêm).
Theo như phân tích ở trên, đối tượng xe đạp là đối tượng chung. Các đối tượng xe đạp thể thao, xe đạp du lịch, xe đạp địa hình kế thừa từ lớp xe đạp. Đối tượng con người để quản lý thông tin chung. Và các đối tượng nhân viên và khách hàng thừa kế từ lớp con người.  Cuối cùng là đối tượng chi nhánh bán hàng. Theo như cách phân tích này, ta có sơ đồ lớp như sau:

Hình 12 – Minh họa sơ đồ lớp
Trong sơ đồ này, các phương thức và thuộc tính của mỗi lớp đối tượng như đã phân tích ở trên. Tôi không biểu diễn một cách cụ thể trên hình minh họa.

No comments:

Post a Comment