Xây dựng công cụ đặc tả và kiểm chứng thành phần
Mô tả công cụ
Công cụ về đặc tả và kiểm chứng hỗ trợ người dùng kiểm tra sự phù hợp của các thành phần khi kết nối với nhau.
Đặc điểm nổi bật của ứng dụng bao gồm:
Môi trường giao diện trực quan sinh động giúp cho người dùng có khả năng tạo ra các thành phần, các cổng mà không cần thiết phải có hiểu biết sâu về các ngôn ngữ đặc tả như Eiffel hay IDL.
Ứng dụng được phát triển trên nền Java nên có thể chạy độc lập trên các môi trường khác.
Ngôn ngữ phát triển công cụ
Ngôn ngữ được lựa chọn để phát triển ứng dụng là ngôn ngữ Java. So với một số ngôn ngữ khác, nó có cách ưu điểm:
Hiệu suất cao.
Có tính hướng đối tượng cao.
Dễ học, dễ sử dụng nên những người sử dụng sau có thể tiếp tục phát triển ứng dụng một cách dễ dàng.
Môi trường làm việc thân thiện.
Có thể chạy độc lập trên mọi môi trường.
Phân tích công cụ đặc tả và kiểm chứng thành phần
Mô tả công cụ
Công cụ phải có các chức năng sau:
Vẽ được các thành phần và các cổng trên thành phần đó.
Điền thông tin chi tiết cho các thành phần và các công mỗi khi tạo mới.
Kiểm tra được sự kết nối của các cổng trong các thành phần. Phát hiện lỗi kết nối khi không thỏa mãn điều kiện.
Chức năng vào ra dữ liệu: người dùng có thể lưu lại phần mình đã làm và tạm dừng để có thể làm tiếp vào phiên làm việc sau.
Mô hình hoạt động
Ứng dụng được thiết kế theo mô hình Model - View - Controller (MVC)
Hình 2: Mô hình MVC
Một đối tượng đồ họa (GUI Component) bao gồm 3 thành phần cơ bản: Model, View, và Controller. Model có trách nhiệm đối với toàn bộ dữ liệu cũng như trạng thái của đối tượng đồ họa. View chính là thể hiện trực quan của Model, hay nói cách khác chính là giao diện của đối tượng đồ họa. Và Controller điều khiển việc tương tác giữa đối tượng đồ họa với người sử dụng cũng như những đối tượng khác.
Khi người sử dụng hoặc những đối tượng khác cần thay đổi trạng thái của đối tượng đồ họa, nó sẽ tương tác thông qua Controller của đối tượng đồ họa. Controller sẽ thực hiện việc thay đổi trên Model. Khi có bất kỳ sự thay đổi nào ở xảy ra ở Model, nó sẽ phát thông điệp (broadcast message) thông báo cho View và Controller biết. Nhận được thông điệp từ Model, View sẽ cập nhật lại thể hiện của mình, đảm bảo rằng nó luôn là thể hiện trực quan chính xác của Model. Còn Controller, khi nhận được thông điệp từ Model, sẽ có những tương tác cần thiết phản hồi lại người sử dụng hoặc các đối tượng khác.
Trong ứng dụng này, các tệp chứa class về các cổng nằm trong Model. Các tệp chứa class giao diện nằm trong View, tệp Contract.java được nằm trong Controller. Model quản lý trạng thái thông tin của các thành phần và các cổng. Viewer thể hiện các thành phần và cổng đó ra ngoài khung hiển thị của ứng dụng. Còn Controller kiểm tra việc liên kết các cổng của các thành phần đó.
Thiết kế các lớp và đối tượng
Căn cứ vào các đối tượng tham gia vào quá trình kiểm chứng, chúng tôi đưa ra các lớp đối tượng như sau:
Bảng 4: Các lớp đối tượng trong ứng dụng
STT
|
Tên lớp
|
Mô tả
|
01
|
canvaspanel
|
Lớp đối tượng dùng để vẽ đối tượng
|
02
|
component
|
Lớp chứa các thành phần
|
03
|
port
|
Lớp cha chứa các thông tin chung của các cổng
|
04
|
attribute
|
Lớp chứa thông tin cổng attribute
|
05
|
facets
|
Lớp chưa thông tin cổng facets
|
06
|
receptacles
|
Lớp chưa thông tin cổng receptacles
|
07
|
eventsources
|
Lớp chứa thông tin cổng event source
|
08
|
eventsinks
|
Lớp chứa thông tin cổng event sinks
|
09
|
inout
|
Lớp vào ra dữ liệu
|
10
|
contract
|
Lớp xử lý kết nối của các cổng
|
Chia sẻ với bạn bè của bạn: |