Tải bản đầy đủ (.pdf) (20 trang)

Bài giảng công nghệ phần mềm - Phần 2 Các giai đoạn trong chu trình sống của phần mềm - Chương 10 pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (338.42 KB, 20 trang )

giai đoạn đặc tả

10

(SPECIFICATION PHASE)

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ả

126

Huỳnh Xuân Hiệp - CNPM



10.1Khái quát chung
(overview)
Tài liệu đặc tả phải đáp ứng đợc hai yêu cầu mâu thuẫn nhau
rõ ràng và dễ hiểu đối với khách hàng (dễ thuyết phục)
đầy đủ và chi tiết vì đây là nguồn thông tin duy nhất dành cho nhóm
thiết kế
Các lỗi xảy ra trong giai đoạn này sẽ ảnh hởng đến các giai đoạn còn lại
của toàn bộ tiến trình
Các kỹ thuật đặc tả


theo cấu trúc
hớng đối tợng

127

Huỳnh Xuân Hiệp - CNPM



10.2Tài liệu đặc tả
(the specification document)
Là hợp đồng (contract) giữa khách hàng và nhà phát triển
Phải bao gồm các ràng buộc mà sản phẩm phải đáp ứng
thời hạn phân phối sản phẩm cho khách hàng
sản phẩm đợc cài đặt để chạy thử song song với sản phẩm hiện
hành cho đến khi khách hàng chấp nhận
dễ dàng chuyển đổi trên các phần cứng hay hệ điều hành khác nhau
có độ tin cậy cao
hoạt động tốt 24/24 giờ (nếu có yêu cầu)
thời gian đáp ứng nhanh
VD: 95% các truy vấn dạng 4 phải đợc trả lời trong khoảng 0.25s
Thành phần sống còn là tập các tiêu chuẩn chấp thuận
Giải pháp chiến lợc (solution strategy), là cách tiếp cận chung để tạo ra
sản phÈm

128

Hnh Xu©n HiƯp - CNPM




10.3Đặc tả không hình thức
(informal specifications)
Sử dụng ngôn ngữ tự nhiên
VD: BV.4.2.5 Nếu doanh thu của tháng hiện tại thấp hơn với doanh thu dự kiến thì một báo
cáo sẽ đợc in ra, trừ phi hiệu số doanh thu giữa doanh thu và doanh thu dự kiến của tháng
hiện tại nhỏ hơn phân nửa hiệu số doanh thu tơng tự nh trên của tháng trớc đó hoặc hiệu
số doanh thu hiện tại này nhỏ hơn 5%.

Thờng có nhiều lỗi xảy ra
Ngôn ngữ tự nhiên không phải là phơng cách tốt để đặc tả sản phẩm

129

Huỳnh Xuân Hiệp - CNPM



10.4Một số kỹ thuật đặc tả bán hình thức
(the semiformal specification techniques)
Phân tích theo cấu trúc sử dụng đồ họa và đợc ứng dụng rộng rÃi
Gane và Sarsen [Gane và Sarsen, 1979]
Yourdon vµ Constantine [Yourdon vµ Constantine, 1979]
DeMarco [deMarco, 1978],
PSL/PSA [Teichroew vµ Hershey, 1977] (problem statement
language/problem statement analyzer) lµ kü thuật hỗ trợ dựa trên máy tính
SADT [Ross, 1985] (structural analysis and design technique)
SREM <®äc lμ shrem> [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ệ
130

Huỳnh Xuân HiÖp - CNPM



10.5Ph©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)
dữ liệu gói phần mềm
Các chi tiết về gói
Đặt hàng
KHáCH HàNG

Xử lý các yêu cầu đặt hàng

Gửi hóa đơn
Tình trạng tín dụng
dữ liệu khách hàng

Hình 10.1 DFD: bớc làm mịn thứ nhÊt

131


Hnh Xu©n HiƯp - CNPM



nhà
cung cấp
phần mềm
dữ liệu gói phần mềm
Các chi tiết về gói
Đặt hàng
KHáCH HàNG

Thẩm tra tính hợp lệ của việc
đặt hàng

Chi tiết về
gói đợc đặt
hàng

Tình trạng tín dụng
Gửi hóa đơn

dữ liệu khách hàng

Địa chỉ hoặc
số điện thoại
Đặt hàng đối với nhà cung
cấp
Tình trạng tín dụng

CáC ĐặT HàNG CòN TồN

Chuỗi các đặt hàng

Hình 10.2 DFD: bớc làm mịn thứ hai

132

Huỳnh Xuân Hiệp - CNPM



dữ liệu gói phần mềm
Các chi tiết về gói
KHáCH HàNG

Đặt hàng

Thẩm tra tính hợp lệ của việc
đặt hàng

Chi tiết về gói hàng đợc đặt

Tình trạng tín dụng
Chi tiết gói hàng có
sẵn

dữ liệu khách hàng
Địa chỉ
Gửi th ngắn


Chuỗi các đặt hàng
Chi tiết gói hàng nhận đợc từ
chi nhánh cung cấp phần mềm

Chi tiết về việc
phân phối

Chi trả
Hóa đơn

Tạo hóa đơn

Thực hiện việc chi trả cho
hóa đơn

Hóa đơn chi tiết
Chi tiết về việc chi trả

tài khoản nhận đợc

Hình 10.3 DFD: một phần trong bớc làm mịn thứ ba
133

Huỳnh Xuân Hiệp - CNPM



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
4 gói hàng: 10%
Sinh viên-học sinh
> 4 gói hàng: 15%
Các diện khác: 0%

Hình 10.4 Cây quyết định cho cửa hàng phần mềm

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

134

Huỳnh Xuân Hiệp - CNPM



10.6Mô 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
1

viết

đợc cung cấp bởi
n

đọc

Bộ phận
n

sở hữu
1

đợc cung cấp để
sử dụng trong

p

Dự án

n

Tiểu sử
n

Nhà cung cấp


m

Bộ phận
1

Hình 10.6 Biểu đồ ER nhiều-nhiều

n

bao gồm

1

Đọc giả

Hình 10.7 Biểu đồ ER phức tạp

Hình 10.5 Biểu đồ ER đơn giản

135

Huỳnh Xuân Hiệp - CNPM



10.7Má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

136

Huỳnh Xuân Hiệp - CNPM



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}
1T

Khóa an toàn
có chuyển động
quay số khác

3P

A


có chuyển động
quay số khác

B

2T

có chuyển động
quay số khác

Chuông báo động

Không khóa an toàn
Trạng thái khởi tạo
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 hnh
Quay số

Bảng các trạng thái tiếp theo
Khóa an toàn

1T
1P
2T
2P
3T
3P


A
Chuông báo động
Chuông báo động
Chuông báo động
Chuông báo động
Chuông báo động

A
Chuông báo động
Chuông báo động
Chuông báo động
Chuông báo động
Chuông báo động
B

B
Chuông báo động
Chuông báo động
Không khóa an toàn
Chuông báo động
Chuông báo động
Chuông báo động

Hình 10.9 Bảng chuyển dịch cho FSM
137

Huỳnh Xuân Hiệp - CNPM




10.8Mộ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; Bjrner, 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

138

Huỳnh Xuân Hiệp - CNPM



10.9Mạ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
p2
tập các vị trí P
p1
t1
tập các phép biến đổi T
hàm đầu vào L
hàm đầu ra O
P = {p1, p2, p3,p4 }
VD:
p4

T = {t1, t2}
I(t1) = {p2,p4}, I(t2) = {p2}
O(t1) = {p1}, O(t2) = {p3,p3 }

t2
p3

Hình 10.11 Mạng Petri

Đị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, PT=
I: TP ánh xạ từ các phép biến đổi sang các vị trí
O: TP ánh xạ từ các phép biến đổi sang các vị trí
139

Huỳnh Xuân Hiệp - CNPM



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)
p2
ã
p2
p1


ãã

p1

t2

t2

t1

ãã

t1

ã

p3

p3
p4
p4

ã

Hình 10.12 Mạng Petri có đánh dấu

Hình 10.13 Mạng Petri của Hình 10.12
sau khi bắn sang phép biến đổi t1
p2
p1


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

t2
ãã

p3

p4

140

Huỳnh Xuân Hiệp - CNPM



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
p2

p1

t1

Hình 10.15 Mạng Petri với cung cấm


p3

ã

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 (1fm) 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 (1fm) là các nút của thang máy tơng ứng với
tầng f và EB f,e (1fm, 1en) là nút f của thang máy e.
EBf đợc nhấn

EBf

Thang máy đang hoạt động

Ff

ã

Fg

ã

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)
141

Hnh Xu©n HiƯp - CNPM




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 mn. FB uf vµ FB df (1< f FB uf đợc nhấn

FB uf

Thang máy đang hoạt động

Ff

ã

Fg

FB df đợc nhấn

ã

Ff

FB df
ã

Thang máy đang hoạt động

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)
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ả
142

Huỳnh Xuân HiÖp - CNPM



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ü
143

Hnh Xu©n HiƯp - CNPM




10.11 So sánh các kỹ thuật đặc tả
Phơng pháp đặc tả
Ngôn ngữ tự nhiên

Thể loại
Không hình
thức

Mô hình thực thể-quan hệ
PSL/PSA
SADT
SREM
Phân tích hệ thống theo
cấu trúc
Anna
CSP
Máy hữu hạn trạng thái
mở rộng
Gist
Mạng Petri
VDM
Z

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


Hình thức

Điểm mạnh
Dễ học
Dễ sử dụng
Dễ hiểu đối với khách hàng

Điểm yếu
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 đủ
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

Khó học
Cực kỳ chính xác
Khó sử dụng
Có thể giảm các lỗi đặc tả
Có thể giảm chi phí và nhân Khách hàng hầu nh
không thể hiểu đợc
lực
Có thể hỗ trợ việc chứng
minh tính chính xác

144


Huỳnh Xuân Hiệp - CNPM



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)
145

Huỳnh Xuân Hiệp - CNPM




×