Cách tiếp cận h−ớng chức năng.

Một phần của tài liệu Bài giảng công nghệ phần mềm (Trang 49 - 50)

d. Độ phức tạp: Độ phức tạp của các thuật toán dùng để thực hiện thành phần đó nh− thế nào?

4.2.2.1.Cách tiếp cận h−ớng chức năng.

Thiết kế h−ớng chức năng là một cách tiếp cận thiết kế phần mềm do bản thiết kế đ−ợc phân giải thành một bộ các đơn thể tác động qua lại lẫn nhau, mà mỗi đơn thể có một chức năng đ−ợc xác định rõ ràng. Các chức năng có trạng thái cục bộ nh−ng chia sẻ nhau trạng thái hệ thống. Trạng thái này là tập trung và mọi chức năng đều có thể tru cập đ−ợc.

Có ng−ời nghĩ rằng, thiết kế h−ớng chức năng đã lỗi thời và nên đ−ợc thay đổi bằng cách tiếp cận h−ớng đối t−ợng. Thế nh−ng, trên thực tế nhiều tổ chức đã phát triển các chuẩn và các ph−ơng pháp dựa trên sự phân rã các chức năng. Nhiều ph−ơng pháp thiết kế kết hợp với các công cụ CASE đều là h−ớng chức năng. Vô khối hệ thống đã đ−ợc phát triển bằng cách sử dụng ph−ơng pháp tiếp cận h−ớng chức năng, chúng sẽ đ−ợc bảo trì cho một t−ơng lai xa xôi. Bởi vậy thiết kế h−ớng chức năng vẫn còn đ−ợc sử dụng rộng rãi.

Trong thiết kế h−ớng chức năng, ng−ời ta dùng các biểu đồ dòng dữ liệu (mà mô tả việc xử lý dữ liệu logic), các l−ợc đồ cấu trúc (chỉ ra cấu trúc của phần mềm) và các mô tả việc thiết kế chi tiết (đặc tả thiết kế chi tiết). Khái niệm dòng dữ liệu đang h−ớng tới thích hợp hơn cho việc sử dụng một hệ thống vẽ biểu đồ tự động và sử dụng một dạng l−ợc đồ có cấu trúc kèm thêm các thông tin điều khiển.

Chiến l−ợc thiết kế h−ớng chức năng dựa trên việc phân giải hệ thống thành một bộ các chức năng có t−ơng tác nhau với trạng thái hệ thống tập trung dùng chung cho các chức năng đó. Các chức năng này có thể là thông tin trạng thái cục bộ nh−ng chỉ dùng cho quá trình thực hiện cho chức năng đó mà thôi.

Xét ví dụ về “Hệ thống quản lý kinh doanh bán hàng”. Nh− vặy chức năng chính là “Kinh doanh bán hàng”, nh−ng để thực hiện chức năng trên thì ta cần phải tiến hành các công việc sau: “Nhập hàng hoá”, “Bán hàng” và “Thống kê báo cáo”. Mỗi công việc đó ta coi chúng nh− là các chức năng và nó là chức năng con của chức năng “Kinh doanh bán hàng”. Thực hiện xong các chức năng con thì cũng chính là hoàn chỉnh chức năng cha. Tuy nhiên, phân rã nh− vậy ch−a đủ chi tiết và dễ hiểu. Ta cần phải tiến hành việc phân rã ra thành nhiều chức năng con ở mức thấp hơn nữa. Sao cho dần tới việc

đặc tả ch−ơng trình (phần mềm). Một câu hỏi đặt ra là phân rã đến mức nào thì dừng lại. Theo kinh nghiệm thì việc phân rã có thể dừng lại khi ta đã tách thành các chức năng mà có thể thực hiện đ−ợc ngay (dễ thực hiện) và việc đặc tả nó trong khuôn khổ một trang giấy, nh− đã đề cập ở ch−ơng 3 (đặc tả).

Sơ đồ phân rã chức năng có thể đ−ợc vẽ nh− sau: 1. Kinh doanh bán hàng

Thiết kế h−ớng chức năng gắn với chi tiết cuả thuật toán gắn với chức năng đó nh−ng các thông tin trạng thái của hệ thống là không bị che dấu. Điều này có thể gây ra vấn đề sau: Vì rằng một chức năng có thể thay đổi trạng thái theo một cách mà chức năng khác không ngờ tới. Do vậy có thể gây ra các t−ơng tác bất ngờ cho các chức năng khác.

Cách tiếp cận chức năng để thiết kế là tốt nhất khi mà khối l−ợng thông tin trạng thái hệ thống hệ thống th−ờng đ−ợc làm nhỏ nhất và thông tin dùng chung trong hệ thống là rõ ràng.

Một phần của tài liệu Bài giảng công nghệ phần mềm (Trang 49 - 50)