[r]
(1)Các kỹ thuật ñặc tả
(4)
Nguyễn Thanh Bình
Khoa Cơng nghệ Thơng tin
Trường ðại học Bách khoa
ðại học ðà Nẵng
2
Nội dung
Khái niệm ñặc tả
Tại phải ñặc tả ?
Phân loại kỹ thuật ñặc tả
(2)3
Khái niệm ñặc tả
ðặc tả (specification)
ñịnh nghĩa một hệ thống, mơ-đun hay
một sản phẩm cần phải làm gì
khơng mơ tảnó phải làm như thế nào mơ tả những tính chất của vấn đề
đặt ra
khơng mơ tảnhững tính chất của giải
pháp cho vấn đề đó
Khái niệm ñặc tả
ðặc tảlà hoạt ñộng ñược tiến hành các giai ñoạn khác của tiến trình phần mềm:
ðặc tả yêu cầu (requirement specification)
• sựthống nhất giữa những ngưới sửdụng tương lai những người thiết kế
ðặc tả kiến trúc hệthống (system architect specification)
• sựthống nhất giữa những người thiết kếvà những người cài đặt
ðặc tả mơđun (module specification)
(3)5
Tại phải ñặc tả ? Hợp ñồng
sựthống nhất giữa người sửdụng và người phát triển sản phẩm
Hợp thức hóa
sản phẩm làm phải thực hiện xác những mong muốn
Trao ñổi
giữa người sửdụng và người phát triển giữa những người phát triển
Tái sửdụng
6
Phân loại kỹ thuật ñặc tả ðặc tảphi hình thức (informal)
ngơn ngữtựnhiên tựdo ngơn ngữtựnhiên có cấu trúc các kí hiệu đồhọa
ðặc tảnữa hình thức (semi-informal)
trộn lẫn cảngơn ngữtựnhiên, kí hiệu tốn học và các kí hiệu đồhọa
ðặc tảhình thức (formal)
kí hiệu tốn học
(4)7
ðặc tả hình thức hay khơng hình thức ?
ðặc tảhình thức
chính xác (tốn học)
hợp thức hóa hình thức (cơng cụhóa) cơng cụ trao đổi: khó đọc, khó hiểu khó sửdụng
ðặc tảkhơng hình thức
dễhiểu, dễsửdụng mềm dẻo
thiếu sựchính xác nhập nhằng
Ứng dụng đặc tả hình thức ứng dụng giai đoạn sớm của tiến
trình phát triển
hạn chế lỗi phát triển phần mềm
ứng dụng chủ yếu phát triển hệ thống “quan trọng” (critical systems)
hệ thống ñiều khiển hệ thống nhúng
(5)9
Chi phí phát triển sử dụng đặc tả hình thức
10
Các kỹ thuật đặc tả
Trình bày một số kỹ thuật
Máy trạng thái hữu hạn Mạng Petri
ðiều kiện trước sau Kiểu trừu tượng
(6)43
Kiểu trừu tượng
Ví dụ 2: ñặc tảkiểu trừu tượng Vector các thao tác kiểu chỉ được định nghĩa
mà khơng chỉra ngữ nghĩa của nó
• tức ý nghĩa của thao tác
sửdụng tiên ñề ñể ñịnh nghĩa ngữ nghĩa của thao tác
• dùng từkhóa axioms
định nghĩa ràng buộc mà một thao tác
được định nghĩa
• dùng từkhóa precondition
Kiểu trừu tượng
Ví dụ2: ñặc tảkiểu trừu tượng Vector
precondition
ith(v, i) is-defined-ifonlyif
infborder(v) ≤≤≤≤i ≤≤≤≤supborder(v) &&&&init(v,i) = true
axioms
infborder(v) ≤≤≤≤i ≤≤≤≤supborder(v) ⇒⇒⇒⇒ith(change-ith(v, i, e), i) = e
infborder(v) ≤≤≤≤i ≤≤≤≤supborder(v) &&&&infborder(v) ≤≤≤≤j ≤≤≤≤supborder(v) &&&&i ≠≠≠≠j ⇒⇒⇒⇒
ith(change-ith(v, i, e), j) = ith(v, j) init(vect(i, j), k) = false
infborder(v) ≤≤≤≤i ≤≤≤≤supborder(v) ⇒⇒⇒⇒init(change-ith(v, i, e), i) = true
infborder(v) ≤≤≤≤i ≤≤≤≤supborder(v) &&&&i ≠≠≠≠j ⇒⇒⇒⇒init(change-ith(v, i, e), j) = init(v, j) infborder(vect(i, j)) = i
infborder(change-ith(v, i, e)) = infborder(v) supborder(vect(i, j)) = j
supborder(change-ith(v, i, e)) = supborder(v)
(7)45
Kiểu trừu tượng Bài tập