Ưu điểm của phân tích thiết kế hướng đối tượng sơ với phân tích thiết kế theo hướng cấu trúc

ƯU ĐIỂM CỦA MÔ HÌNH HƯỚNG ĐỐI TƯỢNG:

Tính tái sử dụng (Reusable)

Phương pháp phân tích và thiết kế hướng đối tượng thực hiện theo các thuật ngữ và khái niệm của phạm vi lĩnh vực ứng dụng (tức là của doanh nghiệp hay đơn vị mà hệ thống tương lai cần phục vụ), nên nó tạo sự tiếp cận tương ứng giữa hệ thống và vấn đề thực ngoài đời. Trong ví dụ bán Xe Máy, mọi giai đoạn phân tích thiết kế và thực hiện đều xoay quanh các khái niệm như khách hàng, nhân viên bán hàng, Xe Máy, … Vì quá trình phát triển phần mềm đồng thời là quá trình cộng tác của khách hàng/người dùng, nhà phân tích, nhà thiết kế, nhà phát triển, chuyên gia lĩnh vực, chuyên gia kỹ thuật, ... nên lối tiếp cận này khiến cho việc giao tiếp giữa họ với nhau được dễ dàng hơn.

Một trong những ưu điểm quan trọng bậc nhất của phương pháp phân tích và thiết kế hướng đối tượng là tính tái sử dụng: có thể tạo các thành phần (đối tượng) một lần và dùng chúng nhiều lần sau đó. Giống như việc tái sử dụng các khối xây dựng (hay bản sao của nó ) trong một toà lâu đài, một ngôi nhà ở, một con tàu vũ trụ, bạn cũng có thể tái sử dụng các thành phần (đối tượng) căn bản trong các thiết kế hướng đối tượng cũng như code của một hệ thống kế toán, hệ thống kiểm kê, hoặc một hệ thống đặt hàng.

Vì các đối tượng đã được thử nghiệm kỹ càng trong lần dùng trước đó, nên khả năng tái sử dụng đối tượng có tác dụng giảm thiểu lỗi và các khó khăn trong việc bảo trì, giúp tăng tốc độ thiết kế và phát triển phần mềm.

Phương pháp hướng đối tượng giúp chúng ta xử lý các vấn đề phức tạp trong phát triển phần mềm và tạo ra các thế hệ phần mềm có khả năng thích ứng và bền chắc.

Các giai đoạn của chu trình phát triển phần mềm với mô hình hướng đối tượng:

Ưu điểm của phân tích thiết kế hướng đối tượng sơ với phân tích thiết kế theo hướng cấu trúc


Phân tích hướng đối tượng (Object Oriented Analysis - OOA):

Là giai đọan phát triển một mô hình chính xác và súc tích của vấn đề, có thành phần là các đối tượng và khái niệm đời thực, dễ hiểu đối với người sử dụng.

Trong giai đoạn OOA, vấn đề được trình bày bằng các thuật ngữ tương ứng với các đối tượng có thực. Thêm vào đó, hệ thống cần phải được định nghĩa sao cho người không chuyên Tin học có thể dễ dàng hiểu được.

Dựa trên một vấn đề có sẵn, nhà phân tích cần ánh xạ các đối tượng hay thực thể có thực như khách hàng,Xe Máy, người bán hàng, … vào thiết kế để tạo ra được bản thiết kế gần cận với tình huống thực. Mô hình thiết kế sẽ chứa các thực thể trong một vấn đề có thực và giữ nguyên các mẫu hình về cấu trúc, quan hệ cũng như hành vi của chúng. Nói một cách khác, sử dụng phương pháp hướng đối tượng chúng ta có thể mô hình hóa các thực thể thuộc một vấn đề có thực mà vẫn giữ được cấu trúc, quan hệ cũng như hành vi của chúng.

Đối với ví dụ một phòng bán Xe Máy, giai đoạn OOA sẽ nhận biết được các thực thể như:

- Khách hàng

- Người bán hàng

- Phiếu đặt hàng

- Phiếu (hoá đơn) thanh toán

- Xe Máy

Tương tác và quan hệ giữa các đối tượng trên là:

- Người bán hàng dẫn khách hàng tham quan phòng trưng bày xe.

- Khách hàng chọn một chiếc xe

- Khách hàng viết phiếu đặt xe

- Khách hàng trả tiền xe

- Xe Máy được giao đến cho khách hàng

Đối với ví dụ nhà băng lẻ, giai đoạn OOA sẽ nhận biết được các thực thể như:

- Loại tài khoản: ATM (rút tiền tự động), Savings (tiết kiệm), Current (bình thường), Fixed (đầu tư), ...

- Khách hàng

- Nhân viên

- Phòng máy tính.

Tương tác và quan hệ giữa các đối tượng trên:

- Một khách hàng mới mở một tài khoản tiết kiệm

- Chuyển tiền từ tài khoản tiết kiệm sang tài khoản đầu tư

- Chuyển tiền từ tài khoản tiết kiệm sang tài khoản ATM

Xin chú ý là ở đây, như đã nói, ta chú ý đến cả hai khía cạnh: thông tin và cách hoạt động của hệ thống (tức là những gì có thể xảy ra với những thông tin đó).

Lối phân tích bằng kiểu ánh xạ "đời thực” vào máy tính như thế thật sự là ưu điểm lớn của phương pháp hướng đối tượng.

Thiết kế hướng đối tượng (Object Oriented Design - OOD):

Là giai đoạn tổ chức chương trình thành các tập hợp đối tượng cộng tác, mỗi đối tượng trong đó là thực thể của một lớp. Các lớp là thành viên của một cây cấu trúc với mối quan hệ thừa kế.

Mục đích của giai đoạn OOD là tạo thiết kế dựa trên kết quả của giai đoạn OOA, dựa trên những quy định phi chức năng, những yêu cầu về môi trường, những yêu cầu về khả năng thực thi, .... OOD tập trung vào việc cải thiện kết quả của OOA, tối ưu hóa giải pháp đã được cung cấp trong khi vẫn đảm bảo thoả mãn tất cả các yêu cầu đã được xác lập.

Trong giai đoạn OOD, nhà thiết kế định nghĩa các chức năng, thủ tục (operations), thuộc tính (attributes) cũng như mối quan hệ của một hay nhiều lớp (class) và quyết định chúng cần phải được điều chỉnh sao cho phù hợp với môi trường phát triển. Đây cũng là giai đoạn để thiết kế ngân hàng dữ liệu và áp dụng các kỹ thuật tiêu chuẩn hóa.

Về cuối giai đoạn OOD, nhà thiết kế đưa ra một loạt các biểu đồ (diagram) khác nhau. Các biểu đồ này có thể được chia thành hai nhóm chính là Tĩnh và động. Các biểu đồ tĩnh biểu thị các lớp và đối tượng, trong khi biểu đồ động biểu thị tương tác giữa các lớp và phương thức hoạt động chính xác của chúng. Các lớp đó sau này có thể được nhóm thành các gói (Packages) tức là các đơn vị thành phần nhỏ hơn của ứng dụng.

Lập trình hướng đối tượng (Object Oriented Programming - OOP):

Giai đoạn xây dựng phần mềm có thể được thực hiện sử dụng kỹ thuật lập trình hướng đối tượng. Đó là phương thức thực hiện thiết kế hướng đối tượng qua việc sử dụng một ngôn ngữ lập trình có hỗ trợ các tính năng hướng đối tượng. Một vài ngôn ngữ hướng đối tượng thường được nhắc tới là C++ và Java. Kết quả chung cuộc của giai đoạn này là một loạt các code chạy được, nó chỉ được đưa vào sử dụng sau khi đã trải qua nhiều vòng quay của nhiều bước thử nghiệm khác nhau.

Please follow and like us:

Ưu điểm của phân tích thiết kế hướng đối tượng sơ với phân tích thiết kế theo hướng cấu trúc

So sánh ưu và nhược điểm của phương pháp phát triển phần mềm hướng cấu trúc và hướng đối tượng?

Phát triển phần mềm hướng cấu trúc

*Ưu điểm:

–  Đặc trưng của phương pháp hướng cấu trúc là phân chia chương trình chính thành nhiều chương trình con, mỗi chương trình con nhằm đến thực hiện một công việc xác định.

– Thiết kế dựa trên 2 hướng: hướng dữ liệu hoặc hướng hành động.

– Tư duy phân tích thiết kế rõ ràng, chương trình sáng sủa dễ hiểu.

*Nhước điểm:

– Không hỗ trợ việc sử dụng lại

– Không phù hợp cho phát triển các phần mềm lớn.

Phát triển phần mềm hướng đối tượng

*Ưu điểm

– phương pháp hướng đối tượng tập trung vào cả hai khía cạnh của hệ thống là dữ liệu và hành động.

– Hỗ trợ sử dụng lại mã nguồn

– Phù hợp với các hệ thống lớn

*Nhược điểm

– Tốc độ chậm

– Khó cho người mới bắt đầu

Please follow and like us:

Ưu điểm của phân tích thiết kế hướng đối tượng sơ với phân tích thiết kế theo hướng cấu trúc

Trong giai đoạn phân tích hệ thống hoặc phân tích hướng đối tượng của phát triển phần mềm, các yêu cầu hệ thống được xác định, các lớp được xác định và mối quan hệ giữa các lớp được xác định.

Ba kỹ thuật phân tích được sử dụng kết hợp với nhau để phân tích hướng đối tượng là mô hình đối tượng, mô hình động và mô hình hóa chức năng.

Mô hình hóa đối tượng phát triển cấu trúc tĩnh của hệ thống phần mềm về các đối tượng. Nó xác định các đối tượng, các lớp mà các đối tượng có thể được nhóm vào và các mối quan hệ giữa các đối tượng. Nó cũng xác định các thuộc tính và hoạt động chính đặc trưng cho mỗi lớp.

Quá trình mô hình hóa đối tượng có thể được hình dung theo các bước sau -

  • Xác định các đối tượng và nhóm thành các lớp
  • Xác định mối quan hệ giữa các lớp
  • Tạo sơ đồ mô hình đối tượng người dùng
  • Xác định thuộc tính đối tượng người dùng
  • Xác định các hoạt động nên được thực hiện trên các lớp
  • Đánh giá thuật ngữ

Sau khi phân tích hành vi tĩnh của hệ thống, hành vi của nó liên quan đến thời gian và những thay đổi bên ngoài cần được kiểm tra. Đây là mục đích của mô hình động.

Mô hình động có thể được định nghĩa là một cách mô tả cách một đối tượng riêng lẻ phản ứng với các sự kiện, hoặc các sự kiện bên trong được kích hoạt bởi các đối tượng khác hoặc các sự kiện bên ngoài được kích hoạt bởi thế giới bên ngoài.

Quá trình mô hình hóa động có thể được hình dung theo các bước sau -

  • Xác định trạng thái của từng đối tượng
  • Xác định các sự kiện và phân tích khả năng ứng dụng của các hành động
  • Xây dựng sơ đồ mô hình động, bao gồm các sơ đồ chuyển trạng thái
  • Thể hiện mỗi trạng thái theo các thuộc tính đối tượng
  • Xác thực các sơ đồ chuyển đổi trạng thái rút ra

Mô hình hóa chức năng là thành phần cuối cùng của phân tích hướng đối tượng. Mô hình chức năng hiển thị các quy trình được thực hiện trong một đối tượng và cách dữ liệu thay đổi khi nó di chuyển giữa các phương thức. Nó chỉ định ý nghĩa của các hoạt động của mô hình đối tượng và các hành động của mô hình động. Mô hình chức năng tương ứng với sơ đồ luồng dữ liệu của phân tích có cấu trúc truyền thống.

Quá trình mô hình hóa chức năng có thể được hình dung theo các bước sau -

  • Xác định tất cả các đầu vào và đầu ra
  • Xây dựng sơ đồ luồng dữ liệu hiển thị các phụ thuộc chức năng
  • Nêu mục đích của từng chức năng
  • Xác định các ràng buộc
  • Chỉ định tiêu chí tối ưu hóa

Phương pháp phân tích cấu trúc / thiết kế có cấu trúc (SASD) là cách tiếp cận truyền thống về phát triển phần mềm dựa trên mô hình thác nước. Các giai đoạn phát triển của một hệ thống sử dụng SASD là -

  • Nghiên cứu khả thi
  • Phân tích yêu cầu và đặc điểm kỹ thuật
  • Thiết kế hệ thống
  • Thực hiện
  • Đánh giá sau khi thực hiện

Bây giờ, chúng ta sẽ xem xét những lợi thế và bất lợi tương đối của phương pháp phân tích có cấu trúc và phương pháp phân tích hướng đối tượng.

Ưu điểmNhược điểm
Tập trung vào dữ liệu hơn là các thủ tục như trong Phân tích có cấu trúc.Chức năng bị hạn chế trong các đối tượng. Điều này có thể đặt ra một vấn đề cho các hệ thống về bản chất là thủ tục hoặc tính toán.
Các nguyên tắc đóng gói và ẩn dữ liệu giúp nhà phát triển phát triển các hệ thống không thể bị can thiệp bởi các phần khác của hệ thống.Nó không thể xác định đối tượng nào sẽ tạo ra một thiết kế hệ thống tối ưu.
Các nguyên tắc đóng gói và ẩn dữ liệu giúp nhà phát triển phát triển các hệ thống không thể bị can thiệp bởi các phần khác của hệ thống.Các mô hình hướng đối tượng không dễ dàng hiển thị thông tin liên lạc giữa các đối tượng trong hệ thống.
Nó cho phép quản lý hiệu quả sự phức tạp của phần mềm nhờ vào tính mô đun.Tất cả các giao diện giữa các đối tượng không thể được biểu diễn trong một sơ đồ duy nhất.
Nó có thể được nâng cấp từ các hệ thống nhỏ đến lớn một cách dễ dàng hơn so với các hệ thống theo phân tích có cấu trúc.
Ưu điểmNhược điểm
Vì nó tuân theo cách tiếp cận từ trên xuống trái ngược với cách tiếp cận từ dưới lên của phân tích hướng đối tượng, nó có thể dễ hiểu hơn OOA.Trong các mô hình phân tích cấu trúc truyền thống, một giai đoạn nên được hoàn thành trước giai đoạn tiếp theo. Điều này đặt ra một vấn đề trong thiết kế, đặc biệt là nếu lỗi tăng lên hoặc yêu cầu thay đổi.
Nó dựa trên chức năng. Mục đích tổng thể được xác định và sau đó phân rã chức năng được thực hiện để phát triển phần mềm. Sự nhấn mạnh không chỉ giúp hiểu rõ hơn về hệ thống mà còn tạo ra các hệ thống hoàn chỉnh hơn.Chi phí ban đầu để xây dựng hệ thống là cao, vì toàn bộ hệ thống cần phải được thiết kế cùng một lúc để lại rất ít tùy chọn để thêm chức năng sau này.
Các thông số kỹ thuật trong đó được viết bằng tiếng Anh đơn giản, và do đó có thể dễ dàng phân tích hơn bởi các nhân viên phi kỹ thuật.Nó không hỗ trợ tái sử dụng mã. Vì vậy, thời gian và chi phí phát triển vốn đã cao.