01/10/2018, 09:35
1 câu hỏi về phân tích thiết kế hệ thống OOP
Trong tài liệu môn này có ghi là PTTK hệ thống theo OOP là phân tích theo hướng từ dưới lên đi từ chi tiết đến tổng quát , còn PTTK theo cấu trúc là đi từ trên xuống …
vậy cho em hỏi là khi mình thiết kế 1 hệ thống theo OOP mình sẽ đi từ các object xong rồi tổng quát hóa lên để tìm ra các class , abstract class và interface phải ko ??? nhưng mình thấy người ta hay viết các interface trước xong rồi mới implement các class sau vậy là đi ngược lại với hướng thiết kế từ dưới lên à??
Bài liên quan
Khi phân tích thiết kế hệ thống thì thường phân tích từ cái cụ thể, rõ ràng nhất rồi mới tới tổng quát. Dựa vào chức năng, người ta tạo ra các user case. Sau khi liệt kê tất cả các chức năng xong. Người ta sẽ coi nhưng cái nào giống nhau, liên quan tới nhau sẽ tổng quát hóa lên.
Đó là giai đoạn thiết kế. Sau giai đoạn thiết kế mới tới giai đoạn thực hiện(viết code).
Bạn có thể làm từ dưới lên(object --> interface) cũng được. Nhưng cái này là làm không có thiết kế và đang mò mẩm để làm.Dễ sai sót.
Còn khi có bảng thiết kế rồi thì mình là mình dựa vào đó để thực hiện. Tránh được nhiều rủi ro, sai sót.
Hi Cong 5.
Phân tích thiết kế khác với viết code. Bạn không có thiết kế thì sao biết cần code các intèace nào ?
thì mình đang hỏi về giai đoạn thiết kế đó , ví dụ khách hàng đưa ra 1 loạt yêu cầu về chức năng thì lúc này mình nên xây dựng các inteface trước hay là mình xây dựng các lớp rồi tổng quát lên interface…
Sách nào vậy. Cả 2 phương pháp đều là top down sau đó bottom up mà
Chỉ khác ở chỗ pttm hướng cổ điển cấu trúc chỉ hướng về hđ còn pttm oop hướng về cả dữ liệu và hành động
Hướng cấu trúc sử dụng các sơ đồ
Phân cấp chức năng
Luồng dữ liệu mức khung cảnh. Đỉnh. Dưới đỉnh
Sơ đồ erd
Còn pttk oop
Dùng ngôn ngữ mô hình hóa uml có 14 cái sơ đồ áp dụng cho từng khâu
Toàn bộ đều là làm theo kiểu phân rã vấn đề to.tổng quát ra thành các vấn đề nhỏ rồi giải quyết chúng. Rap lại thành tổng thể
mình đọc tài liệu pttkhdt của pgs.ts thanh bình , có nói là nếu phân tích theo top down thì sẽ rất khó để sau này mở rộng vì nó tạo ra 1 cấu trúc và sau này nếu chức năng thay đổi nhưng cấu trúc thì sẽ khó thay đổi theo được nên dẫn đến không tái sử dụng code , khả năng mở rộng thấp và chi phí sửa chữa cao…vì vậy mới tạo ra OOP để khắc phục các nhược điểm trên …còn nếu đã làm theo oop mà còn làm theo hướng top down thì lại đi theo lối mòn sai à??
có thể bạn nên xem serial phân tích thiết kế của howkteam để tìm hiểu thêm chắc nó sẽ có ích cho bạn http://www.howkteam.com/Course/Phan-tich-thiet-ke-phan-mem-33