1
Chươ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
2
Đặc tả hình thức và quy trình CNPM
Xác định
Yêu cầu
Phân tích
Thiết kế
Cài đặt
Kiểm chứng
Triển khai
Khảo sát
Hiện trạng
Waterfall
Các hoạt động trong thế giới thực
Các yêu cầu
Mô hình Thế giới thực
Mô hình phần mềm
Phần mềm
Phần mềm
“chất lượng”
3
Mở đầu
Quan tâm đến kết quả thực hiện & chuyển giao giữa các giai đoạn.
4
Mở đầ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 các hệ thống phần cứng, phần mềm.
Đặc tả hình thức là sự miêu tả đơn giản của một hệ thống sử dụng các ký hiệu toán học.
Ưu điểm của việc sử dụng toán học chính là nó là sự chính xác, không giống như ngôn ngữ tự nhiên còn mơ hồ mà 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ất nhiề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 đủ rõ, hay, nó được xem như công cụ tài liệu hoá.
5
Mở đầu
Các quá trình thiết kế một hệ thống thực tế cam kết việc sử dụng ký hiệu hình thức để truyền đạt các ý tưởng của các thành viên trong đội ngũ thiết kế.
Khi thiết kế đã hoàn chỉnh, sau đó nó có thể là cơ sở cho việc mô tả hướng dẫn về hệ thống.
6
Mở đầu
Tại Sao Sử Dụng Đặc Tả Hình Thức
Đặc tả hình thức là sự rõ ràng và chính xác
Đặc tả hình thức chưa đúng, dễ dàng phát hiện lỗi sai và chỉnh sửa nó.
Đặc tả phi hình thức, rất khó tìm ra lỗi và chỉnh sửa nó.
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 giai đoạn ban đầu trong thiết kế.
Tổ chức ý tưởng của người thiết kế, tạo sự rõ ràng, thiết kế đơn giản.
Khả thi để suy luận một cách hình thức về hệ thống bởi những phát biểu và chứng minh định lý. Cung cấp việc kiểm tra hệ thống sẽ được hoạt động như đã mong đợi bởi nhà thiết kế.
Mở đầu
7
Mở đầu
8
9
Mở đầu
Thăm dò các lựa chọn thiết kế.
Sử dụng các phương pháp phi hình thức, nó dễ dàng che đậy các chi tiết cho đến giai đoạn hiện thực
Một trong các lợi ích khác của khi sử dụng đặc tả hình thức khác là giá thành sản phẩm sẽ giảm.
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, chứa đựng các ký tự xa lạ yêu cầu các nhà thiết kế tham dự các khoá huấn luyện.
Tổng quan, ký hiệu toán học vẫn dễ hơn nghiên cứu kiểu ngôn ngữ lập trình mới.
10
Ví dụ: Phát biểu RBTV trong CSDL
Ví dụ (R1)
Ngôn ngữ tự nhiên
Mức lương của một người nhân viên không được vượt quá trưởng phòng
Ngôn ngữ hình thức
t  NHANVIEN (
u  PHONGBAN ( v  NHANVIEN (
u.TRPHG  v.MANV 
u.MAPHG  t.PHG 
t.LUONG  v.LUONG )))
11
Ví dụ: Phát biểu RBTV trong CSDL
Ví dụ (R2)
Ngôn ngữ tự nhiên
Người quản lý trực tiếp phải là một nhân viên trong công ty
Ngôn ngữ hình thức
t  NHANVIEN ( t.MA_NQL  null 
s  NHANVIEN (t.MA_NQL  s.MANV ))
12
Ngôn ngữ và đặc tả
Ngôn ngữ
Ý nghĩa sử dụng:
Cho phép trao đổi thông tin, chuyển đạt yêu cầu giữa các đối tượng biết ngôn ngữ.
Cấu trúc bên trong:
Tập hợp kí hiệu cơ sở (từ vựng).
Tập hợp qui tắc kết hợp từ vựng (cú pháp).
Tập hợp ngữ nghĩa và ánh xạ liên quan.
Ví dụ:
Ngôn ngữ tự nhiên: tiếng Việt, tiếng Anh, tiếng Pháp, ...
Ngôn ngữ lập trình: Pascal, C, C++, Visual Basic, Java, Hợp ngữ, Ngôn ngữ máy, ...
Ngôn ngữ loài vật: chim, cá, chó, mèo, ...
Ngôn ngữ mô tả dữ liệu: SQL, XML, HTML (mô tả thể hiện), UML (mô tả lớp), ...
13
Ngôn ngữ và đặc tả
Ngôn ngữ hình thức:
Khái niệm:
Ngôn ngữ với bộ từ vựng, cú pháp, ngữ nghĩa được định nghĩa chặt chẽ dựa trên cơ sở của toán học.
14
Ngôn ngữ và đặc tả
Mô tả:
Trình bày, diễn đạt thông tin, yêu cầu thông qua một ngôn ngữ nào đó.
Đặc tả:
Mô tả ngắn gọn, chính xác.
Đặc tả hình thức:
Đặc tả với một ngôn ngữ hình thức.
Được diễn đạt theo từ vựng, cú pháp của một ngôn ngữ và “được hiểu” theo ngữ nghĩa tương ứng của ngôn ngữ.
15
Một số ngôn ngữ đặc tả hình thức
Một ngôn ngữ đặc tả hình thức là một ngôn ngữ hình thức dùng để đặc tả mô hình của hệ thống tính toán.
VDM-SL
Z
RSL
Act One
Clear
CCS
CSP
Real-Time Logic
Deontic Logics
16
Đặc tả và công nghệ phần mềm
Các giai đoạn trong qui trình công nghệ:
Xác định yêu cầu.
Phân tích.
Thiết kế.
Thực hiện.
Kiểm chứng.
17
Đặ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
B “viết hàm xử lí nhập (có kiểm tra tính hợp lệ) của một 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ên chuỗi phân số”.
Giả sử không xét đến thông tin về hàm xử lí mà chỉ quan tâm thông tin về “phân số dạng chuỗi” / “chuỗi phân số”.
18
Đặ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ỉ quan tâ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).
19
Ví 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).
K HOCSINH
HoTen : S
NamSinh : N
DTB : ℝ
20
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) và 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]
21
Ví dụ
Kiểm tra học sinh nào đó có phải tên đó không với điều kiện nhập là 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))
nguon VI OLET