30/09/2018, 17:22

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.

Nguyễn Phú viết 19:35 ngày 30/09/2018

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.

  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 ?

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.

  1. Các sơ đồ khác như state diagram, activity diagram dùng để làm gì ?
  • 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.

scvn viết 19:33 ngày 30/09/2018

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

Tom Nguyen viết 19:24 ngày 30/09/2018

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.

scvn8010:
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 ?

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.

scvn8010:
Các sơ đồ khác như state diagram, activity diagram dùng để làm gì ?

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.

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

scvn viết 19:26 ngày 30/09/2018

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

vũ xuân quân viết 19:27 ngày 30/09/2018

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 đó.

File main.cpp <code>#include"Account.h" #include"ATM.h" #include<vector> int main() { int ms=-1,ms2=-1; ATM atm; int LuaChon,LuaChon2; vector<Account> ListAccount; do{ cout<<"\n1. Nhap Du Lieu Cho Account"; cout<<"\n2. Nhap Du Lieu Cho ATM"; cout<<"\n3. Vao ATM\n"; cout<<"Nhap lua chon: "; cin>>LuaChon; if(LuaChon==1){ Account* x=new Account; x->input(); ListAccount.push_back(*x); }else if(LuaChon==2){ atm.NhapTienVao(); } }while(LuaChon!=3); cout<<"\n----…

scvn viết 19:29 ngày 30/09/2018

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

Bài liên quan
0