90 likes | 324 Views
Đại học Khoa học Tự nhiên, ĐHQG-HCM Khoa Công Nghệ Thông Tin. Chương 3 Mô hình hóa dữ liệu Kiểu tập hợp. ThS. Trần Minh Triết. Kiểu dữ liệu trong VDM. Các kiểu dữ liệu đơn giản được định nghĩa sẵn: ℕ , ℕ 1 , ℤ , ℝ , ℚ , B , Char. Mô hình hóa dữ liệu. Technical-Staff =
E N D
Đại học Khoa học Tự nhiên, ĐHQG-HCM Khoa Công Nghệ Thông Tin Chương 3 Mô hình hóa dữ liệuKiểu tập hợp ThS. Trần Minh Triết
Kiểu dữ liệu trong VDM Các kiểu dữ liệu đơn giản được định nghĩa sẵn: ℕ, ℕ1, ℤ, ℝ, ℚ, B, Char
Mô hình hóa dữ liệu Technical-Staff = {PROJECT-MANAGER, TEAM-LEADER, ANALYST, DESIGNER, PROGRAMMER, TESTER}
Kiểu tập hợp • Cho trước kiểu dữ liệu T • Cần định nghĩa kiểu dữ liệu, trong đó, mỗi thể hiện là 1 tập hợp các phần tử thuộc kiểu dữ liệu T • Ký hiệu: T-set • Ví dụ 1: Mode= {READ, WRITE, EXECUTE} FileMode = Mode-set FileMode = { {}, {READ}, {WRITE}, {EXECUTE}, {READ, WRITE}, {READ, EXECUTE}, {EXECUTE, WRITE}, {READ, WRITE, EXECUTE} } • Ví dụ 2: Intset = ℤ-set
Kiểu tập hợp • Ví dụ 3: Pupils = { Patrick, Christa, Emma, Pete, Frank, Lisa, Richard, David, Daniel, John, Helen, Pauline, Mark, Mike, Elisabeth} School-trip = Pupils-set
Kiểu tập hợp • Câu hỏi: Có thể sử dụng kiểu tập hợp cho các trường hợp nào sau đây: • Hành khách trên 1 chuyến xe buýt • Bệnh nhân trong phòng chờ khám bệnh trong 1 buổi • Thí sinh được nhận giải thưởng trong 1 kỳ thi
Mô hình hóa các operation • Một operation có thể có hai tác dụng • Thay đổi nội dung biến bên ngoài • Trả về giá trị thông qua tham số kết quả • Đối với các biến bên ngoài: • Biến được truy xuất dạng read-only (rd) • Biến được truy xuất dạng read-write (wr) • Không có dạng truy xuất write-only trong VDM • Ví dụ: extrdsize: ℕ extwra, b: ℕ, rdx: ℤ
Đặc tả operation Tên_Operation (thamsố1: Kiểu1, thamsố2: Kiểu2…) kq: Kiểukq extwrBiếnRead_Write: Kiểu, rdBiếnRead_Only: Kiểu pre Vị từ pre-condition post Vị từ post-condition
Đặc tả operation • Ví dụ MULT (heso: ℝ) ext wrx: ℝ prex < 16384 postx = heso x ADD-TO-TRIP (new-on-trip: School-trip) extwrtrip: School-trip pre new-on-trip trip posttrip = trip new-on-trip ⃐ ↼