Chƣơng 1 : GIỚI THIỆU
3.1 Điều kiện ràng buộc trong thiết kế
Trên thực tế, hầu hết các công ty phần mềm đều có những qui ƣớc thiết kế riêng để đảm bảo tính đồng nhất trong suốt dự án. Điều này giúp các kỹ sƣ thiết kế làm việc hiệu quả, giảm thời gian giao tiếp, trao đổi. Ngoài ra, nó còn giúp phần mềm có thể tận dụng đƣợc các mô đun có sẵn, các chƣơng trình kiểm thử đã đƣợc định sẵn. Hiện nay có rất nhiều phần mềm hỗ trợ thiết kế mô hình, vẽ biểu đồ tuần tự nhƣ: Enterprise Architect,
Astah, Rational Rose, v.v. Trong đó phần mềm Enterprise Architect với nhiều ƣu điểm
và đƣợc sử dụng rộng rãi trong các công ty phần mềm. Enterprise Architect cũng hỗ trợ trích xuất tệp xmi phù hợp với mục tiêu nghiên cứu. Bài nghiên cứu này tôi sử dụng đầu vào là tệp xmi đƣợc trích xuất từ phần mềm thiết kế Enterprise Architect. Để đảm bảo dữ liệu thiết kế đƣợc đƣa vào là phù hợp với chƣơng trình kiểm thử tôi có một vài qui ƣớc thiết kế nhƣ sau.
Các phân đoạn, thông điệp có thể đƣợc thiết kế song song hoặc lồng nhau. Tên của các thông điệp sẽ đƣợc đặt theo cấu trúc định sẵn.
Ví dụ: Một thông điệp đƣợc đặt tên WithDrawMoney() nhƣ Hình 3.1.
WithDrawMoney() : tên thông điệp (đặt tùy chọn)
Balance = Balance – MoneyWithdraw : công việc đƣợc thực thi – sẽ nằm trong chi tiết của đƣờng kiểm thử.
Balance, MoneyWithdraw : các biến giá trị, dữ liệu sẽ bị thay đổi hoặc tác động bởi thông điệp này.
Tên thông điệp hiển thị trong thẻ Message.
Nhiệm vụ thực thi của toán tử đƣợc đặt trong thẻ Parameter.
Các biến giá trị bị thay đổi sau khi thông điệp thực thi đƣợc đặt trong thẻ
Argument(s).
Ràng buộc về dữ liệu đầu vào sẽ đƣợc khai báo trên các trục thời gian tƣơng ứng với từng lớp đối tƣợng trong thiết kế. Loại ràng buộc là ràng buộc OCL. Hình 3.2 là ví dụ về khai báo ràng buộc cho các biến:
x > 0: biến x luôn nhận giá trị dƣơng.
accCurrent > 50: Số dƣ trong tài khoản phải luôn lớn hơn 50.
Hình 3.3 biểu diễn ví dụ khai báo ràng buộc OCL sử dụng trong thiết kế (kiểu biến, loại dàng buộc).
int a: khai báo biến a đƣợc sử dụng trong thiết kế thuộc kiểu dữ liệu số nguyên (Integer), loại ràng buộc là OCL.
int accCurrent: khai báo số dƣ tài khoản là số nguyên (Integer), loại ràng buộc là OCL.
Hình 3.2 Thiết kế ràng buộc.
Một lƣu ý khác trong quá trình thiết kế là các đối tƣợng, thông điệp đƣợc đƣa vào trong thiết kế, khi không còn sử dụng nữa phải đƣợc xóa triệt để trong trình duyệt cây dự án. Hình 3.4 biểu diễn các trục thời gian, phân đoạn đƣợc thêm vào cây thƣ mục dự án khi thiết kế trên phần mềm Enterprise Architect. Khi các phân đoạn và các trục thời gian này đƣợc xóa bỏ trên thiết kế, một vài trƣờng hợp chúng không tự động đƣợc xóa bỏ trên cây thƣ mục (tùy thuộc vào phiên bản phần mềm Enterprise Architect). Việc này dẫn tới tệp xmi đƣợc trích xuất sai so với thiết kế thực tế thiết kế, làm ảnh hƣởng tới quá trình phân tích, bóc tách dữ liệu thiết kế từ tệp xmi. Vì vậy, các thành phần khi không đƣợc sử dụng trong thiết kế phải đƣợc xóa bỏ triệt để trong cây thƣ mục để đảm bảo tính chính xác khi chuyển đổi về định dạng xmi.
Hình 3.3 Khai báo biến trong ràng buộc tƣơng ứng cho các lớp.