Bài giảng Đặc tả hình thức - Chương 1: Tổng quan cung cấp cho người học các kiến thức: Đặc tả hình thức và quy trình CNPM, vai trò đặc tả hình thức trong quá trình phát triển phần mềm,... Mời các bạn cùng tham khảo nội dung chi tiết.
Trang 1Chương 1 Tổng quan
Giảng viên: PGS.TS Vũ Thanh Nguyên
Trường Đại học Công Nghệ Thông Tin, ĐHQG-HCM
Khoa Công Nghệ Phần Mềm
Trang 2Mở đầu
Mục tiêu và Yêu cầu phần mềm:
4/5/2019 CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt
Trang 3Mở đầu
Mục tiêu và Yêu cầu phần mềm:
Mô tả một chức năng (dịch vụ) cụ thể mà phần mềm cung cấp:
Mô tả hệ thống sẽ làm gì
Mô tả các chức năng hoặc các dịch vụ của hệ thống một cách chi tiết
Không đề cập trực tiếp tới các chức năng cụ thể của hệthống Đó là các ràng buột về chất lượng, về môi trường,
Trang 4Mở đầu
Mục tiêu và Yêu cầu phần mềm:
4/5/2019 CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt
Trang 5Các chuẩn, phương pháp thiết kế, ngôn ngữ lập trình
Chi phí, thời gian, bản quyền
Trang 6Đặc tả hình thức và quy trình CNPM
Xác định Yêu cầu
Trang 7Mở đầu
Quy Trình
Trang 8Mở đầu
Những lưu ý:
Phân tích:
Lập các mô hình thế giới thực: Mô hình dữ liệu, Các ràng buộc, Mô hình
xử lý, Mô hình trạng thái, Mô hình thời gian, Mô hình không gian.
Đặc tả: Các sơ đồ, Các phát biểu về ràng buộc, Các quy định về công thức tính toán, Thiết kế dữ liệu, Các hàm kiểm tra ràng buộc.
Thiết kế:
Lập mô hình phần mềm: Hệ thống dữ liệu, Hệ thống giao diện, Hệ thống
xử lý
Đặc tả: Các sơ đồ, Các thao tác trên màn hình, Các hàm xử lý, Các hàm.
4/5/2019 CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt
Trang 9Mở đầu
Những lưu ý:
Kiểm chứng:
Kiểm tra tính đúng đắn: Dữ liệu, Hàm, Giao diện.
Đặc tả: Kiểm tra tính đúng đắn của hàm.
Ứng dụng của đặc tả:
Mô tả lại các kết quả đã đạt được trong từng giai đoạn của quy trình công nghệ phần mềm Ứng dụng dạng này thường được sử dụng trong các báo cáo.
Phát sinh kết quả cho giai đoạn kế tiếp dựa vào đặc tả của giai đoạn trước.
Trang 11Mở đầu
LỊCH SỬ RA ĐỜI VÀ PHÁT TRIỂN CỦA ĐẶC TẢ HÌNH THỨC
Các kỹ thuật về đặc tả hình thức đã được sử dụng trong ngành Tin học trong suốt hơn 30 năm qua (từ những năm đầu của thập niên 70).
Có rất nhiều mô hình cũng như ngôn ngữ đặc tả được ra đời, mặc dù đa
số chúng đều dựa trên cơ sở của toán học.
Trang 12Mở đầu
Các ngôn ngữ đặc tả được thiết kế và ra đời để sử dụng cho nhiều mục đích khác nhau Các ngôn ngữ này được phân loại theo 3 tiêu chí chính:
Mức độ trừu tượng hoá: Việc đặc tả hệ thống có thể có nhiều mức độ
khác nhau.có thể một ngôn ngữ đặc tả chỉ dùng để mô tả các hệ thống tĩnh và nhỏ, nhưng cũng có thể hệ thống cần đặc tả rất to lớn và phức tạp cả về quy mô cũng như hoạt động.
Mức độ trừu tượng hoá quyết định một ngôn ngữ đặc tả có thể dùng để mô
Trang 13 UNITY được dùng trong đặc tả và kiểm chứng các hệ thống song song;….
Trang 14Mở đầu
Các ngôn ngữ đặc tả được thiết kế và ra đời để sử dụng cho nhiều mục đích khác nhau Các ngôn ngữ này được phân loại theo 3 tiêu chí chính:
Mục đích sử dụng: Một ngôn ngữ đặc tả thường được thiết kế nhằm
phục vụ cho một trong hai đối tượng chính là con người và máy tính.
Điều khó khăn ở đây là phải làm sao dung hoà được điều nà, vì nếu ngôn ngữ đó gần gũi với ngôn ngữ tự nhiên của con người thì máy tính rất khó phân tích, xử lý và diễn giải; ngược lại, nếu nó quá gần với ngôn ngữ máy tính thì con người gặp khó khăn trong quá trình sử dụng.
4/5/2019 CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt
Trang 16Một số ngôn ngữ hình thức được sử dụng hiện nay như VDM-SL, Z, RSL, Act
One, Clear, CCS, CSP, Real-Time Logic, Deontic Logics Và ngôn ngữ được sử dụng phổ biến để đặc tả hình thức là VDM-SL và Z.
4/5/2019 CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt
Trang 17Mở đầu
Quan tâm đến kết quả thực hiện & chuyển giao giữa các giao đoạn.
Ngôn ngữ tự nhiên Sơ đồ
Độ chính xác không cao, có thể gây
ra hiểu nhầm,
Dài dòng nếu mô tả đầy đủ
Thích hợp cho việc mô tả chi tiết
Độ chính xác tăng lên
Trình bày ngắn gọn, trực quan Phù hợp cho việc mô tả 1 cách tổng quát
Trang 18Mở đầu
Phương pháp hình thức được chấp nhận ở cả 2 lãnh vực lànghiên cứu và công nghiệp như một con đường có thể giúp đỡcải tiến chất lượng của 2 hệ thống phần cứng và phần mềm
Phương pháp hình thức là chìa khóa được sử dụng trong xâydựng các hệ thống phần mềm quan trọng
4/5/2019 CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt
Trang 19mà nó thường được sử dụng cho đặc tả.
Nhược điểm của nó là sự bao vây của các ký hiệu vì rấtnhiều người hiểu ngôn ngữ tự nhiên hơn toán học
Ngôn ngữ đặc tả cần phải được nghiên cứu và nó được sửdụng như một công cụ thiết kế và nếu ký hiệu được sử dụngđầy đử, nó được xem như công cụ tài liệu hoá
Trang 20Mở đầu
Các quá trình thực tế của thiết kế một hệ thống có lẻ bảo đảm
sử dụng ký hiệu hình thức liên kết ý tưởng với các thành viêncủa đội ngũ thiết kế
Một khi thiết kế đã hoàn thành, nó có thể khi đó tạo thànhphần cơ bản đối với sự thiết kế bằng tay của hệ thống
4/5/2019 CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt
Trang 22Mở đầu
Sử dụng ký hiệu hình thức tăng cường sự hiểu biết của sự vận hành
hệ thống, đặc biệt dễ dàng trong thiết kế.
Nó giúp đỡ tổ chức ý tưởng của người thiết kế, tạo sự rõ ràng, thiết kế đơn giản.
Có thể lập luận hình thức về hệ thống bởi những phát biểu và chứng minh định lý về nó.
Nó cung cấp sự kiểm tra rằng hệ thống sẽ được hoạt động như sự thể hiện bởi sự thiết kế.
4/5/2019 CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt
Trang 24Mở đầu
Nhược điểm của việc sử dụng phương pháp hình thức trên ký hiệu toán học, mà có lẻ nó chứa đựng các ký tự xa lạ mà yêu cầu các nhà thiết kế chú tâm đến các khoá huấn luyện.
Tuy nhiên nếu so sánh việc nghiên cứu một ngôn ngữ lập trình mới, thì việc học ký hiệu sẽ tốn ít thời gian hơn và dễ hơn.
4/5/2019 CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt
Trang 26 t NHANVIEN ( t.MA_NQL null
s NHANVIEN (t.MA_NQL s.MANV ))
4/5/2019 CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt
Trang 27Vai trò đặc tả hình thức trong quá trình
Trang 28 Đặc tả modun : nhằm mục đích tạo sự thống nhất giữa
những người cài đặt module và người cài đặt sử dụng
module này
Đặc tả hiệu năng và chi phí : là loại đặc tả giúp kiểm tra
được hiệu năng thực thi và chi phí xây dựng của phần
mềm
4/5/2019 CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt
Trang 29Vai trò đặc tả hình thức trong quá trình
phát triển phần mềm
Cách thức nâng cao chất lượng của phần phềm là thay đổiphương pháp xây dựng các đặc tả phần mềm trong các bướcthiết kế, trong suốt quá trình phát triển và sau khi triển khaisản phẩm
Có nhiều phương pháp xây dựng các tài liệu được đưa ra để hỗtrợ xây dựng một hàng loạt các văn bản, hình ảnh, và biểu đồ,tuy nhiên những sản phẩm này thường không chính xác vànhập nhằng ngữ nghĩa
Đặc tả được sử dụng trong quá trình phát triển hệ thống là đặc
tả hình thức
Trang 30và giải thích được các vấn đề xung quanh bảng thiết kế.
Bất cứ lĩnh vực nào, áp dụng toán học vào rất tốn chi phí tuynhiên xem xét toàn bộ quá trình xây dựng hệ thống thì tổng chiphí giảm đi đáng kể
4/5/2019 CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt
Trang 31Nguyên nhân đặc tả được áp dụng trong các bước của quy trình phát triển phần mềm
Hợp đồng: Chúng ta cần 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 đảm bảo chất lượng và
mong muốn bởi người sử dụng
Phục vụ cho quá trình trao đổi giữa người sử dụng và người
phát triển sản phẩm hay giữa các người phát triển sản phẩm
Nhờ các bản đặc tả có thể giúp chúng ta tái sử dụng được các module, chương trình
Trang 37Đặc tả và công nghệ phần mềm
Ví dụ 1:
Ngữ cảnh:
Xét đề án phần mềm bài tập toán lớp 5 với:
A: Nhân viên phụ trách thiết kế
B: Nhân viên lập trình
C: Nhân viên phụ trách kiểm tra
A yêu cầu
phân số dưới dạng chuỗi”
C “kiểm tra và cho đánh giá về hàm xử lí nhập của B trênchuỗi phân số”
Trang 38Đặc tả và công nghệ phần mềm
Ví dụ 2: Tương tự ví dụ 1 với:
Phần mềm bài tập toán cao cấp
Yêu cầu liên quan đến các hàm xử lí trên số phức (chỉ quantâm đến nhập liệu dạng chuẩn)
Đóng vai trò của A đặc tả cấu trúc thông tin về số phức (giả
sử B, C chưa có khái niệm về số phức)
4/5/2019 CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt
Trang 39Ví dụ
Minh họa cho đặc tả kiểu cấu trúc cơ bản:
Khai báo cấu trúc HOCSINH gồm họ tên học sinh(kiểu chuỗi),Năm sinh(kiểu số tự nhiên) và điểm trung bình(kiểu số thực)
Trang 40Ví dụ
Khai báo cấu trúc LOPHOC gồm tên lớp(kiểu chuỗi), sỉ sốlớp(kiểu số tự nhiên) và Danh sách học sinh tối đa 50 học sinh(kiểu mảng)
Trang 41KQX ((Kq=true) & (Hs.HoTen = Ten))
|((Kq=false) & (Hs.HoTen!= Ten))