Các file đặc tả được lưu giữ như các file văn bản ASCII. Đầu tiên, chúng ta phân tách cú pháp file đặc tả để có được ý nghĩa của nó. Việc phân tách các file text đặc tả phụ thuộc rất nhiều vào cấu trúc của chúng. Trong phần này, chúng ta sẽ đưa ra một cái nhìn tổng quan tương đối chi tiết về việc làm thế nào các file text đặc tả được tạo ra.
(1) Cấu trúc của các file đặc tả SCR
File đặc tả có các mục riêng biệt sau đây: • Từ điển loại ( Type Dictionary)
• Từ điển lớp trạng thái (Mode Class Dictionary) • Từ điển hằng số (Constant Dictionary)
• Từ điển biến (Variable Dictionary)
• Từ điển xác nhận đặc tả (Specification Assertion Dictionary)
• Từ điển xác nhận môi trường (Environmental Assertion Dictionary)
• Từ điển biến giám sát liệt kê (Enumerated Monitored Variable Dictionary) • Từ điển biến điều khiển (Controlled Class Table)
• Các bảng loại trạng thái (Mode Class Table) • Các bảng biến điều kiện (Term Variable Table)
Các đặc tả cho tất cả các mục này được lưu giữ như các ASCII text file trong trật tự bên trên. Không có sự hạn chế trong tên file, hoặc phần đuôi file mở rộng. Cấu trúc của file text được chỉ ra ở bên dưới.
- Các giả định cho các đặc tả SCR
Các giả định sau đây được thực hiện trong khi phân tách đặc tả SCR trong file text.
• @T, @F biểu thị cho các sự kiện khởi động • AND biểu thị cho sự logic và
• Chỉ có một loại lớp • Các biến Boolean
• Thay đổi biến đơn trong sự kiện
• Không có biến nào hoặc các biến đơn hoặc đa biến trong điều kiện • Những sự chuyển tiếp trạng thái được xác định.
Type Dictionary TYPE Type Name
BASETYPE Base Type Name UNITS Unit Name
COMMENT Comments for the type usage Mode Class Dictionary
MODECLASS Mode Class Name
MODES List of modes separated by comma INITMODE Initial Mode
COMMENT Comments for the mode class usage Constant Dictionary
CONSTANT Constant Name TYPE Type Name
VAL Value
COMMENT Comments for the constant Variable Dictionary
MON Name of a monitored variable TYPE Type Name
INITVAL Initial value ACCURACY Accuracy
COMMENT Rules for value assignment CON Name of a controlled variable TYPE Type Name
INITVAL Initial value ACCURACY Accuracy
COMMENT Rules for value assignment Specification Assertion Dictionary ASSERTION Name of an assertion EXPR Expression
COMMENT Explanation of assertion Environmental Assertion Dictionary Enumerated Monitored Variable Table
Event, Mode Transition, and Condition Functions EVENTFUNC Event function table name
MCLASS Mode class name MODES Mode name
EVENTS Event1, Event2
ASSIGNMENTS Value1, Value2
CONDFUNC Condition function table name CONDITIONS Condition1, Condition2 ASSIGNMENTS Value1, Value2
MODETRANS Mode transition table name FROM State name
EVENT Event
WHEN List of Disjunctive Conditions TO State name
Cấu trúc của file text trong đặc tả SCR.
(2) Cấu trúc của các file UML MDL
Các file đặc tả UML được tạo ra bởi Rational Rose thường có đuôi file mở rộng “mdl”. Các file MDL lưu giữ thông tin đặc tả từ các hình phối cảnh khác nhau. Có hai loại chủ yếu của thông tin: vật chất và logic. Đặc tả bản thân được nhóm vào trong hai gói: biểu đồ cộng tác đối tượng và use case. Chúng ta quan tâm đến các biểu đồ chuyển tiếp trạng thái, do đó, chúng ta chỉ đưa ra cấu trúc của phần logical view của file MDL. Hình 11 cho thấy cấu trúc bên trong của biểu đồ lớp và biểu đồ chuyển trạng thái trong một file MDL.
- Các giả định cho các đặc tả UML
Trong phần này chúng ta chỉ quan tâm đến các chuyển tiếp khởi động bởi một vài sự kiện thay đổi, chúng ta không xem xét các loại chuyển tiếp khác. Với các đầu vào file đặc tả UML, sẽ có các giả định sau:
• Tất cả các chuyển tiếp là được khởi động bằng các sự kiện thay đổi.
• Các sự kiện và các điều kiện được diễn đạt thông qua các thuộc tính phân loại Boolean.
• Đặc tả được viết ra hết sức chặt chẽ sau các chú giải UML. Ví dụ, when giải thích một sự kiện thay đổi, các điều kiện là trong ngoặc đơn, vân vân… Bởi vì không có cách nào để kiểm thử một đặc tả được hình thành hoặc thống nhất hay không, giả định này không thể được kiểm thử.
• Các chuyển tiếp trạng thái được định trước.
3.1.4.2.Thiết kế cấu trúc
Chúng ta giải thích mô hình thiết kế thông qua một biểu đồ lớp và ba biểu đồ cộng tác đối tượng được tạo ra bởi Rose.
(1) Biều đồ lớp
Hình 12 là một biều đồ lớp UML được thiết kế. Các lớp được đưa ra như các hộp mà có ba phần: tên lớp, các thành viên dữ liệu được khai báo trong lớp, và các phương thức của lớp. Có bốn đối tượng: một phân tách đặc tả UML, một phân tách đặc tả SCR, một máy tạo ra Test case đặc tả đầy đủ, và một máy tạo Test case cặp chuyển tiếp.
UMLSpecParser đọc một file text đặc tả UML, phân tách nó, và tạo ra bảng chuyển tiếp trạng thái cho các lớp có máy trạng thái. SCRSpecParser đọc các file text đặc tả SCR, phân tách chúng, và tạo ra các bảng chuyển tiếp trạng thái cho các lớp. FullPredicate lấy một bảng chuyển tiếp trạng thái như một đầu vào, tạo ra các Test case cho các tiêu chuẩn chỉnh sửa thuộc tính đầy đủ, và lưu giữ các Test case trong một file. Cặp chuyển tiếp lấy một bảng chuyển tiếp trạng thái như một đầu vào, tạo ra các Test case cho tiêu chuẩn chỉnh sửa cặp chuyển tiếp, và lưu giữ các Test case trong một file text.
(2) Các biểu đồ cộng tác đối tượng
Các biểu đồ cộng tác đối tượng (OCD) cho việc sinh ra các Test case chỉnh sửa cặp chuyển tiếp, chỉnh sửa chuyển tiếp, chỉnh sửa thuộc tính đầy đủ được đưa ra trong hình 13, 14, và 15.
Trong hình 13 Nó tương tác với người sử dụng, có các lệnh để đọc một file đặc tả SCR hoặc UML và FullPredicate, gửi bảng chuyển tiếp trạng thái như một tham số. FullPredicate sinh ra các Test case cho các tiêu chuẩn chỉnh sửa thuộc tính đầy đủ, lưu giữ các Test case trong các file, và trả thông điệp mà Test case có thể được sinh ra.
Hình 14: OCD cho việc sinh ra các Test case chỉnh sửa chuyển tiếp