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.
Trường Đại học Công Nghệ Thông Tin, ĐHQG-HCM Khoa Công Nghệ Phần Mềm Chương Tổng quan Giảng viên: PGS.TS Vũ Thanh Nguyên PGS.TS Vũ Thanh Nguyên 4/5/2019 CuuDuongThanCong.com https://fb.com/tailieudientucntt Mở đầu Mục tiêu Yêu cầu phần mềm: Mục tiêu: cần hướng tới 4/5/2019 Yêu cầu: cụ thể mà kiểm tra CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt Mở đầu Mục tiêu Yêu cầu phần mềm: Yêu cầu chức năng: Mô tả chức (dịch vụ) cụ thể mà phần mềm cung cấp: Mô tả hệ thống làm Mơ tả chức dịch vụ hệ thống cách chi tiết 4/5/2019 Yêu cầu phi chức năng: Không đề cập trực tiếp tới chức cụ thể hệ thống Đó ràng buột chất lượng, mơi trường, chuẩn sử dụng, qui trình phát triển phần mềm CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt Mở đầu Mục tiêu Yêu cầu phần mềm: Yêu cầu phi chức năng: 4/5/2019 CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt Mở đầu Mục tiêu Yêu cầu phần mềm: Yêu cầu sản phẩm: Tốc độ, độ tin cậy, nhớ, giao diện, quy trình tác nghiệp… Yêu cầu tiến trình phát triển: Các chuẩn, phương pháp thiết kế, ngôn ngữ lập trình u cầu ngoại lai: Chi phí, thời gian, quyền 4/5/2019 CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt Đặc tả hình thức quy trình CNPM Các hoạt động giới thực Khảo sát Hiện trạng Xác định u cầu Các u cầu Mơ hình Thế giới thực Phân tích Mơ hình phần mềm Thiết kế Cài đặt Phần mềm Kiểm chứng Phần mềm “chất lượng” Triển khai Waterfall 4/5/2019 CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt Mở đầu Quy Trình 4/5/2019 CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt Mở đầu Những lưu ý: Phân tích: Lập mơ hình giới thực: Mơ hình 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 ràng buộc, Các quy định công thức tính tốn, Thiết kế 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 liệu, Hệ thống giao diện, Hệ thống xử lý Đặc tả: Các sơ đồ, Các thao tác 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 Mở đầu Những lưu ý: Kiểm chứng: Kiểm tra tính đắn: Dữ liệu, Hàm, Giao diện Đặc tả: Kiểm tra tính đắn hàm Ứng dụng đặc tả: Mô tả lại kết đạt giai đoạn quy trình cơng nghệ phần mềm Ứng dụng dạng thường sử dụng báo cáo Phát sinh kết cho giai đoạn dựa vào đặc tả giai đoạn trước 4/5/2019 CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt Mở đầu Ngôn ngữ 4/5/2019 Ngôn ngữ c Về n c bên ngơn ngữ t p) t liên quan CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt ng) 10 Vai trò đặc tả hình thức trình phát triển phần mềm Trong phát triển phần mềm đặc tả định nghĩa hệ thống, module chương trình hay sản phẩm cần phải làm gì, nhiên khơng cần thiết mơ tả phải làm hay nói cách khác cần mơ tả tính chất vấn đề đặt mà khơng cần mơ tả tính chất giải pháp vấn đề 4/5/2019 CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt 27 Vai trò đặc tả hình thức trình phát triển phần mềm Đặc tả hoạt động tiến hành giai đoạn khác tiến trình phần mềm như: Đặc tả yêu cầu : để tạo thống người thiết kế người sử dụng Đặc tả kiến trúc hệ thống : để tạo thống người thiết kế người cài đặt Đặc tả modun : nhằm mục đích tạo thống người cài đặt module người cài đặt sử dụng module Đặc tả hiệu chi phí : loại đặc tả giúp kiểm tra hiệu thực thi chi phí xây dựng phần mềm 4/5/2019 CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt 28 Vai trò đặc tả hình thức trình phát triển phần mềm Cách thức nâng cao chất lượng phần phềm thay đổi phương pháp xây dựng đặc tả phần mềm bước thiết kế, suốt trình phát triển sau triển khai sản phẩm Có nhiều phương pháp xây dựng tài liệu đưa để hỗ trợ xây dựng hàng loạt văn bản, hình ảnh, biểu đồ, nhiên sản phẩm thường khơng xác nhập nhằng ngữ nghĩa Đặc tả sử dụng trình phát triển hệ thống đặc tả hình thức 4/5/2019 CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt 29 Vai trò đặc tả hình thức q trình phát triển phần mềm Gần việc sử dụng phương pháp hình thức trở thành chuẩn trình phát triển phần mềm Nền tảng tốn học áp dụng khác biệt cơng nghệ khí hay cơng nghệ khác, suy cho chúng có chung mục đích tăng độ xác giúp người sử dụng hiểu giải thích vấn đề xung quanh bảng thiết kế Bất lĩnh vực nào, áp dụng toán học vào tốn chi phí nhiên xem xét tồn trình xây dựng hệ thống tổng chi phí giảm đáng kể 4/5/2019 CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt 30 Nguyên nhân đặc tả áp dụng bước quy trình phát triển phần mềm Hợp đồng: Chúng ta cần thống người sử dụng người phát triển sản phẩm Hợp thức hóa: Sản phẩm làm phải đảm bảo chất lượng mong muốn người sử dụng Phục vụ cho trình trao đổi người sử dụng người phát triển sản phẩm hay người phát triển sản phẩm Nhờ đặc tả giúp tái sử dụng module, chương trình 4/5/2019 CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt 31 Ng ng: c bên trong: ng) p) liên quan : p, y, o, p), 4/5/2019 CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt 32 Ng c: Khái niệm: c 4/5/2019 CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt 33 Ng : : c c: c 4/5/2019 CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt 34 Một số ngơn ngữ đặc tả hình thức Một ngơn ngữ đặc tả hình thức ngơn ngữ hình thức dùng để đặc tả mơ hình hệ thống tính toán VDM-SL CCS Z CSP RSL Real-Time Logic Act One Deontic Logics Clear 4/5/2019 CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt 35 Đặc tả công nghệ phần mềm Các giai đoạn qui trình cơng nghệ: Xác định yêu cầu Phân tích Thiết kế Thực Kiểm chứng 4/5/2019 CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt 36 Đặc tả cơng nghệ phần mềm Ví dụ 1: Ngữ cảnh: Xét đề án phần mềm tập toán lớp 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 B “viết hàm xử lí nhập (có kiểm tra tính hợp lệ) phân số dạng chuỗi” C “kiểm tra cho đánh giá hàm xử lí nhập B chuỗi phân số” Giả sử không xét đến thông tin hàm xử lí mà quan tâm thơng tin “phân số dạng chuỗi” / “chuỗi phân số” 4/5/2019 CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt 37 Đặc tả cơng nghệ phần mềm Ví dụ 2: Tương tự ví dụ với: Phần mềm tập tốn cao cấp Yêu cầu liên quan đến hàm xử lí số phức (chỉ quan tâm đến nhập liệu dạng chuẩn) Đóng vai trò A đặc tả cấu trúc thông tin số phức (giả sử B, C chưa có khái niệm số phức) 4/5/2019 CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt 38 Ví dụ Minh họa cho đặc tả kiểu cấu trú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) điểm trung bình(kiểu số thực) K HOCSINH HoTen : S NamSinh : N DTB : Z 4/5/2019 CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt 39 Ví 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) Danh sách học sinh tối đa 50 học sinh (kiểu mảng) K LOPHOC TenLop : S Siso: N DanhSach: M HOCSINH[50] 4/5/2019 CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt 40 Ví dụ Kiểm tra học sinh có phải tên khơng với điều kiện nhập học sinh sinh sau năm 1982 H KiemTraTenHocSinh2 (Hs : HOCSINH, Ten : S) Kq : B DKN (Hs.Nm>=1982) KQX ((Kq=true) & (Hs.HoTen = Ten)) |((Kq=false) & (Hs.HoTen!= Ten)) 4/5/2019 CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt 41 ... thống 4/5/2 019 CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt 20 Mở đầu Tại Sao Sử Dụng Đặc Tả Hình Thức Đặc tả hình thức rõ ràng xác Nếu đặc tả hình thức khơng... Đặc tả Mô tả t Đặc tả mô tả ngắn gọn, xác vấn đề Một đặc tả hệ thống phải ngắn so với cài đặt tương ứng Đặc tả bao gồm loại chính: Đặc tả phi hình thức (informal) dạng đặc tả ngôn ngữ tự nhiên... ngơn ngữ đặc tả hình thức: OCL, Predicate Calculus, CDM, UNITY, VDM, Z Object-Z (Z++), VDM++ 4/5/2 019 CuuDuongThanCong.com PGS.TS Vũ Thanh Nguyên https://fb.com/tailieudientucntt 11 Mở đầu