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 kỹ thuật đặc tả Kiểm thử giai đoạn đặc tả Đánh giá giai đoạn đặc tả 126 Huỳnh Xuân Hiệp - CNPM http://www.ebook.edu.vn 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 rõ ràng dễ hiểu khách hàng (dễ thuyết phục) đầy đủ chi tiết nguồn thông tin dành cho nhóm thiết kế Các lỗi xảy giai đoạn ảnh hởng đến giai đoạn lại toàn 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 http://www.ebook.edu.vn 10.2Tài liệu đặc tả (the specification document) Là hợp đồng (contract) khách hàng nhà phát triển Phải bao gồm 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 hành khách hàng chấp nhận dễ dàng chuyển đổi phần cứng hay hệ điều hành khác có độ tin cậy cao hoạt động tốt 24/24 (nếu có yêu cầu) thời gian đáp ứng nhanh VD: 95% truy vấn dạng phải đợc trả lời khoảng 0.25s Thành phần sống tập tiêu chuẩn chấp thuận Giải pháp chiến lợc (solution strategy), cách tiếp cận chung để tạo sản phẩm 128 Huỳnh Xuân Hiệp - CNPM http://www.ebook.edu.vn 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 tháng thấp với doanh thu dự kiến báo cáo đợc in ra, trõ phi hiƯu sè doanh thu gi÷a doanh thu doanh thu dự kiến tháng nhỏ phân nửa hiệu số doanh thu tơng tự nh tháng trớc hiệu số doanh thu nhỏ 5% Thờng có nhiều lỗi xảy Ngôn ngữ tự nhiên phơng cách tốt để đặc tả sản phẩm 129 Huỳnh Xuân Hiệp - CNPM http://www.ebook.edu.vn 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 đợ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) kỹ thuật hỗ trợ dựa máy tính SADT [Ross, 1985] (structural analysis and 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 thành phần sau: RSL: ngôn ngữ đặc tả REVS: tập công cụ thực mối liên hệ việc đặc tả (chuyển đổi sang sở liệu automate, ) DCDS: kỹ thuật thiết kế Mô hình thực thể-quan hƯ 130 Hnh Xu©n HiƯp - CNPM http://www.ebook.edu.vn 10.5Ph©n tÝch hƯ thèng theo cÊu tróc (structured systems analysis) VÝ dơ cửa hàng mua bán phần mềm (software shop) theo phơng pháp Gane Sarsen bớc 1: vẽ DFD (data flow diagram) liệu gói phần mềm Các chi tiết gói Đặt hàng KHáCH HàNG Xử lý yêu cầu đặt hàng Gửi hóa đơn Tình trạng tín dụng liệu khách hàng Hình 10.1 DFD: bớc làm mịn thứ 131 Huỳnh Xuân Hiệp - CNPM http://www.ebook.edu.vn nhà cung cấp phần mềm liệu gói phần mềm Các chi tiết gói Đặt hàng KHáCH HàNG Thẩm tra tính hợp lệ việc đặt hàng Chi tiết gói đợc đặt hàng Tình trạng tín dụng Gửi hóa đơn liệu khách hàng Địa số điện thoại Đặt hàng nhà cung cấp Tình trạng tín dụng CáC ĐặT HàNG CòN TồN Chuỗi đặt hàng Hình 10.2 DFD: bớc làm mịn thứ hai 132 Huỳnh Xuân Hiệp - CNPM http://www.ebook.edu.vn liệu gói phần mềm Các chi tiết gói KHáCH HàNG Đặt hàng Thẩm tra tính hợp lệ việc đặt hàng Chi tiết gói hàng đợc đặt Tình trạng tín dụng Chi tiết gói hàng có sẵn liệu khách hàng Địa Gửi th ngắn Chuỗi đặ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 việc phân phối Chi trả Hóa đơn Tạo hóa đơn Thực việc chi trả cho hóa đơn Hóa đơn chi tiết Chi tiết việc chi trả tài khoản nhận đợc Hình 10.3 DFD: phần bớc làm mịn thứ ba 133 Huỳnh Xuân Hiệp - CNPM http://www.ebook.edu.vn bớc 2: định phần đợc tin học hóa cách thức tiến hành bớc 3: chi tiết hóa dòng liệu VD: dòng liệu đặt hàng: số, chi tiết khách hàng, gói hàng bớc 4: định nghĩa mối quan hệ tiến trình VD: giảm giá cho sinh viên-học sinh gói hàng: 10% Sinh viên-học sinh > gói hàng: 15% Các diện khác: 0% Hình 10.4 Cây định cho cửa hàng phần mềm bớc 5: định nghĩa kho liệu bớc 6: định nghĩa tài nguyên vật lý bớc 7: xác định đặc tả đầu vào đầu bớc 8: hoàn thiện kích thớc bớc 9: xác định yêu cầu phần cứng 134 Huỳnh Xuân Hiệp - CNPM http://www.ebook.edu.vn 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 liệu (semiformal data-oriented) Đợc sử dụng rộng rÃi việc đặc tả sở liệu Bao gồm thực thể quan hệ Tác giả Nhà cung cấp viết đợc cung cấp n đọc Bộ phận n sở hữu đợc cung cấp để sử dụng p Dự án n Tiểu sử n Nhà cung cấp m Bộ phận Hình 10.6 Biểu đồ ER nhiều-nhiều n bao gồm Đọ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 http://www.ebook.edu.vn 10.7Máy hữu hạn trạng thái (finite state machines - FSM) Hữu dụng ứng dụng có trạng thái (state) có dịch chuyển (transition) 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ó thành phần tập trạng thái J tập đầu vào K tập dịch chuyển T, xác định trạng thái chuyển từ trạng thái hành trạng thái bắt đầu S tập trạng thái kết thúc F 136 Huỳnh Xuân Hiệp - CNPM http://www.ebook.edu.vn 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ã chun ®é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 tổ hợp khóa an toàn Trạng thái hnh Quay số Bảng trạng thái 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 http://www.ebook.edu.vn 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ả tiến trình VDM [Jones, 1986b; Bjrner, 1987] cho ngữ nghĩa CSP [Hoare, 1985] biểu diễn kiện 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 http://www.ebook.edu.vn 10.9M¹ng Petri (Petri nets) H−íng thêi gian Carl Adam Petri đề xuất [Petri, 1962] Có thành phần p2 tập vị trí P p1 t1 tập phép biến đổi T hàm đầu vào L hàm ®Çu 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 Peterson [Peterson, 1981] với cấu trúc mạng Petri bé tø C=(P,T,I,O) P = {p1, p2, ,pn } lµ tập hữu hạn vị trí, n T = {t1, t2, ,tm } tập hữu hạn biến đổi, m 0, PT= I: TP ánh xạ từ phép biến đổi sang vị trí O: TP ánh xạ từ phép biến đổi sang vị trí 139 Huỳnh Xuân Hiệp - CNPM http://www.ebook.edu.vn Mạng Petri có đánh dấu (marking) gắn thêm tokens Định nghĩa Peterson [Peterson, 1981] cho đánh dấu thêm M:P{0,1,2, } , tập số nguyên không âm trở thành 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 Hình 10.12 sau bắn sang phép biến đổi t1 p2 p1 t1 ãã Hình 10.14 Mạng Petri Hình 10.13 sau bắn sang phép biến đổi t2 t2 ãã p3 p4 140 Huỳnh Xuân Hiệp - CNPM http://www.ebook.edu.vn Cung cÊm (inhibitor arc): phÐp biÕn ®ỉi thực mà không cần có token 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 tòa nhà m tầng Mỗi tầng đợc xem nh vị trí Ff (1fm) thang máy token Một token Ff có nghĩa thang máy tầng f Ràng buộc 1: thang máy có m nút, nút tơng ứng với tầng sáng lên đợc nhấn tắt đà đến tầng tơng ứng Gọi EB f (1fm) nút thang máy tơng ứng với tầng f EB f,e (1fm, 1en) nút f thang máy e EBf đợc nhấn EBf Thang máy hoạt động Ff ã Fg ã Hình 10.16 Mạng Petri biểu diễn nút thang máy [Guha, lang Bassiouni, 1987] (â1987 IEEE) 141 Huỳnh Xuân Hiệp - CNPM http://www.ebook.edu.vn Ràng buộc 2: Mỗi tầng (trừ tầng cuối cùng) có nút hớng lên hay xuống Các nút sáng lên đợc nhấn tắt thang máy ®i ®Õn vµ di chun theo h−íng mong mn FB uf FB df (1< f