1. Trang chủ
  2. » Mature

Nhập môn công nghệ phần mềm: Các kỹ thuật đặc tả

7 25 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 76,25 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

[r]

Trang 1

Các k ỹ thu ậ t ñặ c t ả

(4)

Nguyn Thanh Bình

Khoa Công ngh ệ Thông tin

Tr ườ ng ðạ i hc Bách khoa

ðạ i hc ð à Nng

2

Trang 2

 ñị nh ngh ĩ a m ộ t h ệ th ố ng, mô- ñ un hay

m ộ t s ả n ph ẩ m c ầ n ph ả i làm cái gì

 không mô t ả nó ph ả i làm nh ư th ế nào

 mô t ả nh ữ ng tính cht ca vn ñề

ñặ t ra

 không mô t ả nh ữ ng tính ch ấ t c ủ a gi ả i

pháp cho v ấ n ñề ñ ó

 ðặ c t ả là ho ạ t ñộ ng ñượ c ti ế n hành trong

các giai ñ o ạ n khác nhau 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 và 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)

• s ự th ố ng nh ấ t gi ữ a nh ữ ng ng ườ i l ậ p trình cài ñặ t

mô- ñ un và nh ữ ng ng ườ i l ậ p trình s ử d ng mô- ñ un

Trang 3

T ạ i sao 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 ra ph ả i th ự c hi ệ n chính xác

nh ữ ng gì 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

 ðặ 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, các kí hi ệ u toán h ọ c và

các kí hi ệ u ñồ h a

 ðặ c t ả hình th ứ c (formal)

 kí hi ệ u toán h ọ c

• ngôn ngữ ñặc tả

• ngôn ngữlập trình

Trang 4

 ðặ c t ả hình th ứ c

 chính xác (toá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 ể

 khó s ử d ng

 ðặ c t ả không hình th ứ c

 d hi ể u, d ễ s ử d ng

 m ề m d ẻ

 thi ế u s ự chính xác

 nh ậ p nh ằ ng

 ứ ng d ụ ng trong các giai ñ o ạ n s ớ m c ủ a ti ế n

trình phát tri ể n

 h ạ n ch ế l ỗ i trong phát tri ể n ph ầ n m ề m

 ứ ng d ụ ng ch ủ y ế u trong phát tri ể n các h ệ

th ố ng “quan tr ọ ng” (critical systems)

 h ệ th ố ng ñ i ề u khi ể n

 h ệ th ố ng nhúng

 h ệ th ố ng th ờ i gian th ự c

Trang 5

10

 Máy tr ạ ng thái h ữ u h ạ n

 M ạ ng Petri

 ð i ề u ki ệ n tr ướ c và sau

 Ki ể u tr ừ u t ượ ng

 ðặ c t ả Z

Trang 6

 Ví d ụ 2: ñặ c t ả ki ể u tr ừ u t ượ ng Vector

 các thao tác trên ki ể u ch ỉ ñượ c ñị nh ngh ĩ a

mà không ch ỉ ra ng ữ ngh ĩ a c ủ a nó

• t ứ c là ý ngh ĩ a c ủ a thao tác

 s ử d ụ ng các tiên ñề ñể ñị nh ngh ĩ a ng ữ

ngh ĩ a c ủ a các thao tác

• dùng t ừ khóa axioms

 ñị nh ngh ĩ a các ràng bu ộ c mà m ộ t thao tác

ñượ c ñị nh ngh ĩ a

• dùng t ừ khóa precondition

 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)

Trang 7

 Bài t ậ p

 ðặ c t ả ki ể u tr ừ u t ượ ng cây nhphân

 ðặ c t ả ki ể u tr ừ u t ượ ng tp hp

Ngày đăng: 09/03/2021, 06:22

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w