Thảo luận về thiết kế phần mềm

Mình đọc nhiều về UML, các diagram như use case, object, class, package, deployment
Sequence(có thể hiểu là kịch bản) diagram mình đọc ở đây: Sequence diagram ATM, nhìn cái này thì hiểu về hệ thống hoạt động như thế nào. Còn đây là Collaboration diagram Collaboration diagram ATM, cái này khá dễ hiểu.

Câu hỏi của mình là :

  1. Sơ đồ này nó có ý nghĩa gì với developer, là 1 dev, khi nhìn mô hình này mình chẳng liên hệ gì với source code được, liệu nó có liên quan gì đến requirement không ?
  2. Các sơ đồ khác như state diagram, activity diagram dùng để làm gì ?

Mình muốn hiểu nó dùng làm gì, dùng cho ai chứ nếu vẽ để mà vẽ thì thực sự không cần.

1 Like

Vậy thì bạn phải học thêm để hiểu nó đã, nếu chưa hiểu thì sao thấy được sự liên quan.
Về cơ bản biểu đồ không phải là code, nhưng biểu đồ sẽ trực quan hóa mục đích, yêu cầu, chức năng,… của phần mềm đó. và 1 phần mềm là sự kết hợp của nhiều loại biểu đồ, 1 loại thì không thể định hình được.

Các biểu đồ giúp dev hiểu rõ hệ thống sẽ bao gồm những thành phần nào, logic hoạt động ra sao, từ đó xây dựng bộ khung cho phù hợp.

  • State diagram (biểu đồ trạng thái) để mô tả vòng đời của 1 đối tượng.
  • Ex: đối tượng Cửa: có trạng thái đóng, mở
- hành động Mở cửa -> Mở 
- hành động Đóng -> Đóng
  • Activity diagram (biểu đồ hoạt động) mô tả các luồng xử lý , kiểu giống như biểu đồ flowchart có học từ tin học cấp 3 đó. Nhưng phức tạp , đa luồng hơn.

P/s: nguồn từ Google.

1 Like

Nếu có thể được, bạn có thể giải thích 2 mô hình này liên hệ như thế nào với source code không ?
ATM collaboration diagram
ATM Sequence diagram

Không access được. Bạn upload lên host khác giúp nhé (Google Drive chẳng hạn)

1 Like

Đây bạn
ATM collaboration diagram
ATM Sequence diagram

mình thấy có một bạn làm một bài tập ứng với những ví dụ của sơ đồ của bạn.
bạn có thể tham khảo và liên hệ với bạn đó.

Cảm ơn bạn nhiều …

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?