Lập mô hình với Java: Một cuốn sách bài tập về UML, Phần 2 Logic điều kiện trong các sơ đồ tuần tự
Thông tin tài liệu:
Nội dung trích xuất từ tài liệu:
Lập mô hình với Java: Một cuốn sách bài tập về UML, Phần 2 Logic điều kiện trong các sơ đồ tuần tự Lập mô hình với Java: Một cuốn sách bài tập về UML, Phần 2 Logic điều kiện trong các sơ đồ tuần tự Granville Miller, Tác giả, TogetherSoft Tóm tắt: Ông xem xét vai trò của logic điều kiện trong việc lập sơ đồ tuần tự và thảo luận về lý do tại sao bạn có thể chọn đưa vào hay loại ra các điều kiện và các vòng lặp từ một sơ đồ. Granville cũng mô tả hai dạng sơ đồ tuần tự -- sơ đồ chung (generic) và sơ đồ cá thể (instance) -- và giải thích các ứng dụng tương ứng của chúng trong chu kỳ phát triển. Như tôi đã giải thích trong loạt bài chuyên mục nhập môn, việc lập sơ đồ tuần tự được sử dụng để mô tả hành vi bên trong của một hệ thống theo thời gian. Vì hành vi hệ thống là kết quả của các đối tượng gửi thông điệp cho nhau, các sơ đồ tuần tự vẽ ra đường đi của các thông điệp đó khi chúng chuyển từ đối tượng này đến đối tượng khác. Sau cùng, các sơ đồ tuần tự là các bản đồ tương tác. Trong bài viết trước, chúng ta đã tạo ra một bản đồ khá đơn giản, mặc dù chúng ta đã mô tả khá nhiều tương tác. Lần này, chúng ta sẽ đào sâu hơn một chút, bằng việc xem xét hai dạng sơ đồ tuần tự do UML định nghĩa. Hai dạng đó là sơ đồ chung và sơ đồ cá thể. Hãy bắt đầu bằng việc xem xét ứng dụng thích hợp của từng dạng. Hai kiểu sơ đồ tuần tự Các sơ đồ tuần tự được sử dụng để mô tả hai kiểu tương tác khác nhau giữa các đối tượng. Một kiểu tương tác là phải tương tác (must interaction), trong đó đối tượng A phải gửi một thông điệp cụ thể đến đối tượng B. Kiểu tương tác kia là có thể tương tác (may interaction), trong đó đối tượng A có thể (nhưng không buộc phải) gửi một thông điệp cụ thể đến đối tượng B. Hai dạng sơ đồ tuần tự mô tả hai kiểu tương tác khác nhau ấy. Dạng chung mô tả các tương tác phải làm và dạng cá thể mô tả các tương tác có thể làm. Dạng chung của sơ đồ tuần tự mô tả tương tác của các lớp như là kết quả của một kích thích tố ban đầu. Dạng chung cung cấp tư liệu cho toàn bộ các tương tác mà có thể bắt nguồn từ kích thích tố ban đầu. Cả điều kiện thành công lẫn điều kiện thất bại là một phần của kiểu sơ đồ này, cũng như các vòng lặp, các điều kiện, và các rẽ nhánh. Một sơ đồ tuần tự chung chỉ chứa tên lớp trong mỗi hộp dọc theo trục ngang, như thấy trong Hình 1. Ý tưởng ở đây là đối tượng đằng sau tương tác là ẩn danh và bất kỳ đối tượng nào của lớp đó có thể tham gia vào tương tác. Do đó, tất cả các tuyến đường phải được mô hình hoá tường minh. Trong một sơ đồ tuần tự chung, đối tượng A phải gửi một trong các thông điệp trong mô hình cho đối tượng B. Hình 1. Một sơ đồ tuần tự chung Dạng thứ hai sơ đồ tuần tự là dạng cá thể. Một sơ đồ tuần tự cá thể mô tả một sự trao đổi thông điệp đơn lẻ khả dĩ giữa hai cá thể. Một sơ đồ như vậy sẽ chứa một tên biến và kiểu lớp của nó trong hộp dọc theo trục ngang, như Hình 2. Dạng này không bao gồm các vòng lặp, các điều kiện, hoặc rẽ nhánh có trong dạng chung. Trong luồng điều khiển thực tế trong hệ thống, một số xác nhận nhất định thực hiện trong quá trình tương tác có thể có kết quả sai. Nếu một xác nhận là sai, bất kỳ thông điệp nào trong sơ đồ tuần tự cá thể đều vô giá trị và kịch bản sẽ không xảy ra. Sơ đồ tuần tự cá thể mô tả một kịch bản đơn lẻ mà có thể xảy ra hoặc không. Hình 2. Một sơ đồ tuần tự cá thể Các sơ đồ tuần tự cá thể là tốt nhất để lập mô hình các kịch bản riêng lẻ trong các giai đoạn phân tích của vòng đời phát triển phần mềm. Một sơ đồ tuần tự chung có thể mô hình hoá toàn bộ ca sử dụng bao gồm nhiều kịch bản. Các kiểu hành động khác -- chẳng hạn như mô hình hóa giao thức được sử dụng giữa các hệ thống con hoặc khung công tác với các quần thể của chúng -- có thể sử dụng một trong hai dạng, tùy thuộc vào các thành phần nằm ở đâu trong vòng đời phát triển phần mềm. Dạng chung thì gần với mã lệnh thực tế sẽ được sinh ra trong sản phẩm cuối hơn dạng cá thể. Đừng bỏ lỡ phần còn lại của loạt bài Một cuốn sách bài tập về UML Phần 1: Giới thiệu về các sơ đồ tuần tự (05.2001) Phần 3: Logic giao diện người dùng trong việc lập mô hình ca sử dụng (06.2001) Phần 4: Vai trò của tác nhân (06.2002) Chúng ta đã làm việc với dạng chung trong mục trước, và sẽ tiếp tục khám phá dạng đó ở đây. Lần này, chúng ta sẽ khám phá vai trò của logic điều kiện trong một sơ đồ tuần tự chung, bằng cách này mở rộng kiến thức của bạn về ký pháp UML. Logic điều kiện trong việc lập sơ đồ tuần tự Các sơ đồ tuần tự chung sử dụng logic điều kiện, có thể hữu ích cho việc mô tả luồng sự kiện trong suốt quá trình của một tương tác. Bạn sẽ sử dụng các mức độ chi tiết khác nhau khi lập sơ đồ, tùy thuộc vào bạn đang ở đâu trong vòng đời phát triển phần mềm. Khi phân tích, bạn có thể đồng ý gác lại các chi tiết khỏi các biểu thức điều kiện của bạn, nhưng ngược lại khi thiết kế bạn có thể phải đi tiếp đến mức đưa vào các đoạn mã sẽ sử dụng trong sản phẩm cuối. Dù bạn đang ở giai đoạn nào trong chu kỳ phát triển, sự tương ứng tự nhiên giữa các sơ đồ tuần tự và một ngôn ngữ hướng đối tượng như ngôn ngữ Java trở nên rõ ràng khi nói đến vẽ sơ đồ các biểu thức điều kiện. Ví dụ, hãy xem xét một ứng dụng ngân hàng cho phép các nhân viên thu ngân nhận tiền gửi vào. Như đã xác định rõ, ngoài nhiều thứ khác, rằng hệ thống phải ngăn chặn việc để nhân viên thu ngân ghi có một khoản âm vào một tài khoản, điều mà sẽ dẫn đến khấu trừ từ tài khoản đó. Do đó hệ thống phải có một cơ chế để kiểm tra rằng bất kỳ khoản nào đã được gõ nhập là số dương. Liệt kê 1 cho thấy biểu thức điều kiện đảm bảo tiền gửi vào là số dương. Liệt kê 1. Một phương thức với một biểu thức điều kiện \** This is a method in a Teller class **\ public void receiveDeposit(Account account, BigDecimal deposit) throws ImproperDepositException { // Check to ensure the deposit is positive (deposit.compareTo(new BigDecimal(0.0)) > 0) { account.credit(deposit); } else { throw new ImproperDepositException(); } } Trong giai ...
Tìm kiếm theo từ khóa liên quan:
lập trình java công nghệ java phát triển với java lập mô hình dịch vụ web java ngôn ngữ lập trìnhGợi ý tài liệu liên quan:
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 276 0 0 -
Bài thuyết trình Ngôn ngữ lập trình: Hệ điều hành Window Mobile
30 trang 267 0 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 266 0 0 -
Giáo trình Lập trình cơ bản với C++: Phần 1
77 trang 232 0 0 -
Bài giảng Một số hướng nghiên cứu và ứng dụng - Lê Thanh Hương
13 trang 226 0 0 -
Giáo án Tin học lớp 11 (Trọn bộ cả năm)
125 trang 218 1 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 208 0 0 -
Bài tập lập trình Windows dùng C# - Bài thực hành
13 trang 186 0 0 -
Giáo trình Lập trình C căn bản: Phần 1
64 trang 170 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 168 0 0 -
Thiết kế mạch logic bằng Verilog - HDL
45 trang 164 0 0 -
Báo cáo thực tập: Quản lý nhân sự & tiền lương
52 trang 154 0 0 -
Giáo trình nhập môn lập trình - Phần 22
48 trang 139 0 0 -
Giáo trình Lập trình C căn bản - HanoiAptech Computer Education Center
136 trang 134 0 0 -
LUẬN VĂN: ỨNG DỤNG NGÔN NGỮ LẬP TRÌNH RÀNG BUỘC COMET VÀO BÀI TOÁN LẬP THỜI KHÓA BIỂU
43 trang 131 0 0 -
Giáo trình lập trình hướng đối tượng - Lê Thị Mỹ Hạnh ĐH Đà Nẵng
165 trang 112 0 0 -
Bài giảng Phương pháp lập trình: Chương 9 - GV. Từ Thị Xuân Hiền
36 trang 112 0 0 -
Excel add in development in c and c phần 9
0 trang 110 0 0 -
Giáo trình Ngôn ngữ lập trình 2
50 trang 108 0 0 -
150 trang 104 0 0