Trong đó các bước nào chúng ta nên sử dụng dòng trả về trong biểu đồ trình tự?Dòng chính xác (đường chấm chấm) biểu diễn trong một biểu đồ trình tự là gì?
<- - - - - -
Trong đó các bước nào chúng ta nên sử dụng dòng trả về trong biểu đồ trình tự?Dòng chính xác (đường chấm chấm) biểu diễn trong một biểu đồ trình tự là gì?
<- - - - - -
Dòng trở lại đại diện cho dòng điều khiển trở về từ một cuộc gọi phương thức/chức năng
Trong trường hợp các phương pháp/chức năng mà trả về kết quả là, nó sẽ chỉ ra một giá trị đã được trả lại.
Ví dụ:
result
<-------------
Nếu không, cho các phương pháp khoảng trống/chức năng nó sẽ chỉ được vào mũi tên
<-------------
Đối với các cuộc gọi không đồng bộ, như người gọi không mang lại quyền kiểm soát các phương pháp gọi/chức năng, tôi chỉ sẽ sử dụng một đường trở lại nếu nó trở lại một kết quả (phương pháp ví dụ như không trống/chức năng)
Hy vọng rằng sẽ giúp
EDIT
Dưới đây là một ví dụ về một sơ đồ trình tự tôi đã tạo cho một trường hợp sử dụng tìm kiếm example of a sequence diagram I created for a search use case http://web10.twitpic.com/img/107669708-1d6f9df82534756bfe2a684d4480cc43.4c00f3b0-full.png
Lưu ý rằng người dùng Anonymous chỉ làm cho các cuộc gọi không đồng bộ bởi vì, như một con người, họ không mang lại điều khiển ứng dụng, vì thế không có mũi tên quay trở lại
Cũng lưu ý sự trở lại mũi tên của tìm kiếm() cuộc gọi, mà trả về
Cuối cùng, các mũi tên tạo 'kết quả' (------ |>) không có mũi tên quay trở lại như họ hoàn toàn trả lại đối tượng được tạo ra
EDIT 2
Trả lời câu hỏi cập nhật của bạn:
tôi sẽ không có mũi tên quay trở lại cho các hoạt động của người dùng, chẳng hạn như đăng nhập(), như là kết quả không được quay trở lại người dùng theo cách tương tự như một đối tượng, nhưng thường được xuất ra một số loại giao diện người dùng. Một cách khác để xem xét nó là người dùng nằm ngoài phạm vi của chương trình, do đó, không có ý nghĩa để trả về kết quả trực tiếp.
Từ sơ đồ của bạn, giải thích của tôi (trong một loại giả) sẽ là:
class User{
public void login()
public void sendEmail()
}
class Patient{
public void getPatient()
}
class Doctor{
public void getDoctor()
}
class Appointment{
//This method returns something, but it's not clear what, so I assumed a boolean
public boolean checkAvailability()
}
Như bạn có thể thấy, tất cả nhưng một trong những phương pháp này không quay trở lại bất cứ điều gì. Nếu đó là những gì bạn muốn thì tốt, nhưng tôi nghi ngờ đó không phải là trường hợp.
Tôi cũng nghi ngờ bạn không có ý định gửi phương thức sendEmail() trong lớp Người dùng.
Bạn cũng nên xem xét những gì đang xảy ra khi checkAvailability() trả về, như dòng chảy của kiểm soát dường như trở về với người dùng và sau đó không thể giải thích nhảy trở lại Bổ nhiệm
Các đối tượng trong biểu đồ trình tự phải luôn tương ứng với một đối tượng trong sơ đồ lớp hoặc có thể được bao gồm nhiều hơn? – Milena
Chúng thường tương ứng với một lớp trong sơ đồ lớp, có. Tôi cũng nên lưu ý rằng diễn viên (Anonymous User) nên được mô tả như một người đàn ông dính, nhưng chương trình tôi sử dụng cho điều này không hỗ trợ đầy đủ UML2 chưa – chrisbunney
OK theo điều này tôi cảm thấy bây giờ như tôi có một mớ hỗn độn lớn. Những gì tôi đang cố gắng để mô hình hóa như sau: Người dùng đăng nhập vào hệ thống với tư cách là bệnh nhân (vai trò) để yêu cầu một cuộc hẹn. Bệnh nhân nên nhập bác sĩ và sau đó hẹn hò. Hệ thống phải xác minh tính khả dụng cho ngày đó, nếu có khả năng sử dụng nên tạo cuộc hẹn mới và gửi email cho người dùng. Nếu người dùng đăng nhập với tư cách là bác sĩ (vai trò) nó khác đi nhưng giờ tôi không muốn bao gồm số đó Email không chắc chắn nếu tis ok – Milena
Nó đại diện cho thông điệp trở lại của operation.You thể chỉ định các giá trị trả lại bằng cách sử dụng biểu tượng này.
đơn giản ví dụ:
club member
|
| getName()
'------------------------>.
|
|
result: "lee" |
<- - - - - - - - - - - - '
String memberName = member.getName();
//memberName now contains "lee"
Mũi tên đứt < - - - - là giá trị trả về từ phương thức gọi.
Tôi đã cập nhật câu trả lời với các nhận xét về sơ đồ seq và các câu hỏi – chrisbunney