Bài giảng Công nghệ phần mềm - Huỳnh Xuân Hiệp - Bài 10: Giai đoạn đặc tả
Nội dung:
? Khái quát chung
? Tài liệu đặc tả
? Đặc tả không hình thức
? Một số kỹ thuật đặc tả bán hình thức
? Một số kỹ thuật đặc tả hình thức
? So sánh các kỹ thuật đặc tả
? Kiểm thử trong giai đoạn đặc tả
? Đánh giá giai đoạn đặc tả
nd design technique)
SREM [Alford, 1985] (software requirements engineering
method) dựa trên kỹ thuật máy hữu hạn trạng thái, bao gồm các thành
phần sau:
RSL: ngôn ngữ đặc tả
REVS: tập các công cụ thực hiện các mối liên hệ trong việc đặc tả
(chuyển đổi sang cơ sở dữ liệu automate,...)
DCDS: kỹ thuật thiết kế
Mô hình thực thể-quan hệ
Huỳnh Xuân Hiệp - CNPM
131
10.5 Phân tích hệ thống theo cấu trúc
(structured systems analysis)
Ví dụ về cửa hàng mua bán phần mềm (software shop) theo ph−ơng pháp
Gane và Sarsen
b−ớc 1: vẽ DFD (data flow diagram)
KHáCH HàNG Xử lý các yêu cầu đặt hàng
dữ liệu gói phần mềm
Các chi tiết về gói
dữ liệu khách hàng
Tình trạng tín dụng
Đặt hàng
Gửi hóa đơn
Hình 10.1 DFD: b−ớc làm mịn thứ nhất
Huỳnh Xuân Hiệp - CNPM
132
Hình 10.2 DFD: b−ớc làm mịn thứ hai
KHáCH HàNG
Thẩm tra tính hợp lệ của việc
đặt hàng
dữ liệu gói phần mềm
Các chi tiết về gói
dữ liệu khách hàng
Tình trạng tín dụng
Đặt hàng
nhà
cung cấp
phần mềm
Đặt hàng đối với nhà cung
cấp
Địa chỉ hoặc
số điện thoại
CáC ĐặT HàNG CòN TồN
Tình trạng tín dụng
Chi tiết về
gói đ−ợc đặt
hàng
Chuỗi các đặt hàng
Gửi hóa đơn
Huỳnh Xuân Hiệp - CNPM
133
Hình 10.3 DFD: một phần trong b−ớc làm mịn thứ ba
KHáCH HàNG
Thẩm tra tính hợp lệ của việc
đặt hàng
dữ liệu gói phần mềm
Các chi tiết về gói
dữ liệu khách hàng
Tình trạng tín dụng
Đặt hàng
Thực hiện việc chi trả cho
hóa đơn
tài khoản nhận đ−ợc
Hóa đơn chi tiết
Chuỗi các đặt hàng
Tạo hóa đơn
Địa chỉ
Chi tiết về việc
phân phối
Hóa đơn
Chi tiết về gói hàng đ−ợc đặt
Chi trả
Chi tiết về việc chi trả
Gửi th− ngắn
Chi tiết gói hàng có
sẵn
Chi tiết gói hàng nhận đ−ợc từ
chi nhánh cung cấp phần mềm
Huỳnh Xuân Hiệp - CNPM
134
b−ớc 2: quyết định các phần sẽ đ−ợc tin học hóa và cách thức tiến
hành
b−ớc 3: chi tiết hóa các dòng dữ liệu
VD: dòng dữ liệu đặt hàng: số, chi tiết về khách hàng, về gói hàng
b−ớc 4: định nghĩa mối quan hệ giữa các tiến trình
VD: giảm giá cho sinh viên-học sinh
b−ớc 5: định nghĩa kho dữ liệu
b−ớc 6: định nghĩa tài nguyên vật lý
b−ớc 7: xác định các đặc tả đầu vào và đầu ra
b−ớc 8: hoàn thiện kích th−ớc
b−ớc 9: xác định các yêu cầu về phần cứng
Sinh viên-học sinh
Các diện khác: 0%
≤ 4 gói hàng: 10%
> 4 gói hàng: 15%
Hình 10.4 Cây quyết định cho cửa hàng phần mềm
Huỳnh Xuân Hiệp - CNPM
135
10.6 Mô hình thực thể-quan hệ
(entity-relationship modeling - ERM)
Là kỹ thuật đặc tả bán hình thức h−ớng dữ liệu (semiformal data-oriented)
Đ−ợc sử dụng rộng rãi trong việc đặc tả cơ sở dữ liệu
Bao gồm các thực thể và các quan hệ
Tác giả Nhà cung cấp Nhà cung cấp
1 m
viết đ−ợc cung cấp bởi p
đ−ợc cung cấp để
sử dụng trong
Dự án
n n
Tiểu sử Bộ phận Bộ phận
n n 1 n
đọc sở hữu Hình 10.6 Biểu đồ ER nhiều-nhiều bao gồm
1 1
Đọc giả Hình 10.7 Biểu đồ ER phức tạp
Hình 10.5 Biểu đồ ER đơn giản
Huỳnh Xuân Hiệp - CNPM
136
10.7 Máy hữu hạn trạng thái
(finite state machines - FSM)
Hữu dụng trong các ứng dụng có các trạng thái (state) và có sự dịch
chuyển (transition) giữa các trạng thái
Th−ờng ứng dụng thực đơn giao diện ng−ời dùng đ−ợc điều khiển
Một FSM có 5 thành phần
tập các trạng thái J
tập các đầu vào K
tập các dịch chuyển T, xác định các trạng thái chuyển tiếp theo từ
trạng thái hiện hành
trạng thái bắt đầu S
tập các trạng thái kết thúc F
Huỳnh Xuân Hiệp - CNPM
137
Ví dụ về bộ điều khiển an toàn
J = {Khóa an toàn, A, B, Không khóa an toàn, Chuông báo động }
K = {1T, 1P, 2T, 2P, 3T, 3P}
T = Hình 10.9
S = {Khóa an toàn}
F = {Khóa an toàn, Chuông báo động}
Khóa an toàn 1T A 3P B 2T Không khóa an toàn
có chuyển động
quay số khác
có chuyển động
quay số khác
có chuyển động
quay số khác Trạng thái khởi tạo
Chuông báo động Trạng thái kết thúc
Hình 10.8 FSM biểu diễn các tổ hợp khóa an toàn
Trạng thái hiện hμnh
Bảng các trạng thái tiếp theo
Quay số Khóa an toàn A B
1T A Chuông báo động Chuông báo động
1P Chuông báo động Chuông báo động Chuông báo động
2T Chuông báo động Chuông báo động Không khóa an toàn
2P Chuông báo động Chuông báo động Chuông báo động
3T Chuông báo động Chuông báo động Chuông báo động
3P Chuông báo động B Chuông báo động
Hình 10.9 Bảng chuyển dịch cho FSM
Huỳnh Xuân Hiệp - CNPM
138
10.8 Một số kỹ thuật đặc tả hình thức
(the formal specification techniques)
Ana [Luckham và von Henke, 1985], là ngôn ngữ đặc tả cho Ada
Gist [Balzer, 1985] dùng để mô tả các tiến trình
VDM [Jones, 1986b; Bj∅rner, 1987] cho ngữ nghĩa
CSP [Hoare, 1985] biểu diễn các sự kiện và các tiến trình với môi tr−ờng
làm việc
Mạng Petri
Z
Huỳnh Xuân Hiệp - CNPM
139
10.9 Mạng Petri
(Petri nets)
H−ớng thời gian do Carl Adam Petri đề xuất [Petri, 1962]
Có 4 thành phần chính
tập các vị trí P
tập các phép biến đổi T
hàm đầu vào L
hàm đầu ra O
VD: P = {p1, p2, p3,p4 }
T = {t1, t2}
I(t1) = {p2,p4}, I(t2) = {p2}
O(t1) = {p1}, O(t2) = {p3,p3 }
Định nghĩa hình thức hơn của Peterson [Peterson, 1981] với một cấu trúc
mạng Petri là bộ tứ C=(P,T,I,O)
P = {p1, p2, ...,pn } là tập hữu hạn các vị trí, n ≥ 0
T = {t1, t2, ...,tm } là tập hữu hạn các biến đổi, m ≥ 0, P∩T=∅
I: T→P∞ ánh xạ từ các phép biến đổi sang các vị trí
O: T→P∞ ánh xạ từ các phép biến đổi sang các vị trí
p1
p2
p3
p4
t2
t1
Hình 10.11 Mạng Petri
Huỳnh Xuân Hiệp - CNPM
140
Mạng Petri có đánh dấu (marking) khi gắn thêm các tokens
Định nghĩa của Peterson [Peterson, 1981] cho đánh dấu
thêm M:P→{0,1,2,...} , tập các số nguyên không âm
trở thành bộ 5: (P,T,I,O,M)
•
•
••
p1
p2
p3
p4
t2
t1
Hình 10.12 Mạng Petri có đánh dấu
••
•
p1
p2
p3
p4
t2
t1
Hình 10.13 Mạng Petri của Hình 10.12
sau khi bắn sang phép biến đổi t1
•• ••
p1
p2
p3
p4
t2
t1
Hình 10.14 Mạng Petri của Hình 10.13
sau khi bắn sang phép biến đổi t2
Huỳnh Xuân Hiệp - CNPM
141
Cung cấm (inhibitor arc): phép biến đổi có thể thực hiện mà không cần có
token trong vị trí nối
Bài toán thang máy
Có n thang máy trong tòa nhà m tầng. Mỗi tầng đ−ợc xem nh− một vị trí Ff (1≤f≤m) và mỗi thang
máy là một token. Một token trong Ff có nghĩa là thang máy đó đang ở tầng f.
Ràng buộc 1: mỗi thang máy có m nút, nút t−ơng ứng với các tầng sẽ sáng lên khi đ−ợc nhấn
và tắt khi đã đi đến tầng t−ơng ứng. Gọi EB f (1≤f≤m) là các nút của thang máy t−ơng ứng với
tầng f và EB f,e (1≤f≤m, 1≤e≤n) là nút f của thang máy e.
Hình 10.15 Mạng Petri với cung cấm •
p1
p2
p3
t1
Hình 10.16 Mạng Petri biểu diễn một nút trong thang
máy [Guha, lang và Bassiouni, 1987]. (â1987 IEEE)
Ff
•
EBf EBf đ−ợc nhấn
• Fg
Thang máy đang hoạt động
Huỳnh Xuân Hiệp - CNPM
142
Ràng buộc 2: Mỗi tầng (trừ tầng đầu tiên và cuối cùng) có 2 nút chỉ h−ớng đi lên hay đi
xuống. Các nút này sẽ sáng lên khi đ−ợc nhấn và tắt khi thang máy đi đến và di chuyển theo
h−ớng mong muốn. FB uf và FB df (1< f <m).
Ràng buộc 3: Một thang máy không có yêu cầu co nghĩa là nó đang dừng tại tầng hiện tại và
các cửa của nó ở trạng thái đóng. Khi đó biến đổi Thang máy đang hoạt động sẽ bị ngắt.
Có thể dùng mạng Petri để đặc tả
Hình 10.17 Mạng Petri biểu diễn các nút chỉ h−ớng đi
[Guha, lang và Bassiouni, 1987]. (â1987 IEEE)
Ff
•
FB uf FB uf đ−ợc nhấn
• Fg
Thang máy đang hoạt động
Ff
•
FB df FB df đ−ợc nhấn
Thang máy đang hoạt động
Huỳnh Xuân Hiệp - CNPM
143
10.10 Z
Ngôn ngữ đặc tả hình thức nổi tiếng về tính hiệu quả [Spivey, 1992]
Cơ sở lý thuyết : lý thuyết tập hợp, lý thuyết hàm, toán rời rạc,...
Một số ký hiệu sử dụng: ∃,⊃,⇒,⊕,...
Các b−ớc tiến hành: xác định các tập hợp, kiểu dữ liệu và hằng; định nghĩa
trạng thái; xác định trạng thái khởi tạo; các ph−ơng thức hoạt động
Ưu điểm:
dễ dàng xác định lỗi đặc tả trong các giai đoạn về sau
cực kỳ chính xác; giảm thiểu sự không rõ ràng, mâu thuẫn,... so với
đặc tả không hình thức
dễ dàng chứng minh tính đúng đắn
dễ dàng đào tạo sử dụng
giảm chi phí phát triển phầm mềm
dễ dàng thuyết phục khách hàng khi viết lại bằng ngôn ngữ tự nhiên
Sử dụng rộng rãi trong công nghệ phần mềm với các ứng dụng lớn tại các
n−ớc Châu Âu và Mỹ
Huỳnh Xuân Hiệp - CNPM
144
10.11 So sánh các kỹ thuật đặc tả
Ph−ơng pháp đặc tả Thể loại Điểm mạnh Điểm yếu
Ngôn ngữ tự nhiên Không hình
thức
Dễ học
Dễ sử dụng
Dễ hiểu đối với khách hàng
Không chính xác
Đặc tả có thể không rõ
ràng, mâu thuẫn và
/hoặc không đầy đủ
Mô hình thực thể-quan hệ
PSL/PSA
SADT
SREM
Phân tích hệ thống theo
cấu trúc
Bán hình thức Khách hàng có thể hiểu
đ−ợc
Chính xác hơn các ph−ơng
pháp không hình thức
Không chính xác nh−
các ph−ơng pháp
hình thức
Nhìn chung thì khó
định l−ợng thời gian
Anna
CSP
Máy hữu hạn trạng thái
mở rộng
Gist
Mạng Petri
VDM
Z
Hình thức Cực kỳ chính xác
Có thể giảm các lỗi đặc tả
Có thể giảm chi phí và nhân
lực
Có thể hỗ trợ việc chứng
minh tính chính xác
Khó học
Khó sử dụng
Khách hàng hầu nh−
không thể hiểu đ−ợc
Huỳnh Xuân Hiệp - CNPM
145
10.12 Kiểm thử trong giai đoạn đặc tả
(testing during the specification phase)
Đánh giá sự chính xác của tài liệu đặc tả
Thanh tra (inspection) [Fagan, 1976] cho giai đoạn thiết kế và viết mã lệnh
VD:nhóm thanh tra (team of inspectors) sẽ đối chiếu lại tài liệu đặc tả với
một danh sách kiểm tra (checklist)
Một dữ kiện điển hình trong danh sách thanh tra đặc tả bao gồm: đã chỉ rõ
các tài nguyên phần cứng?, đã chỉ rõ các tiêu chuẩn chấp thuận ?
10.13 Đánh giá công việc đặc tả
(metrics for the specification phase)
Đánh giá 5 đại l−ợng cơ bản: kích th−ớc (số trang tài liệu đặc tả, kích th−ớc
sản phẩm đích,...), giá thành, thời gian, nhân lực, chất l−ợng (thống kê lỗi)
Sử dụng từ điển dữ liệu (data dictionary)
File đính kèm:
Bài giảng Công nghệ phần mềm - Huỳnh Xuân Hiệp - Bài 10 Giai đoạn đặc tả.pdf

