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

Bài giảng Đặc tả hình thức: Chương 1 - PGS.TS. Vũ Thanh Nguyên

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 (815.51 KB, 41 trang )

Trường Đại học Công Nghệ Thông Tin, ĐHQG-HCM
Khoa Công Nghệ Phần Mềm

Chương 1 Tổng quan
Giảng viên: PGS.TS. Vũ Thanh Nguyên

PGS.TS. Vũ Thanh Nguyên

4/5/2019
CuuDuongThanCong.com

1
/>

Mở đầu
 Mục tiêu và Yêu cầu phần mềm:
 Mục tiêu: cái cần hướng tới


4/5/2019

Yêu cầu: cái cụ thể mà có thể kiểm tra được

CuuDuongThanCong.com

PGS.TS. Vũ Thanh Nguyên

/>
2



Mở đầu
 Mục tiêu và Yêu cầu phần mềm:
 Yêu cầu chức năng:
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


4/5/2019

Yêu cầu phi chức năng:
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,
chuẩn sử dụng, qui trình phát triển phần mềm

CuuDuongThanCong.com

PGS.TS. Vũ Thanh Nguyên

/>
3


Mở đầu
 Mục tiêu và 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

/>
4


Mở đầu
 Mục tiêu và Yêu cầu phần mềm:
 Yêu cầu về sản phẩm:
Tốc độ, độ tin cậy, bộ nhớ, giao diện, quy trình tác
nghiệp…
 Yêu cầu về 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
 Yêu cầu ngoại lai:
Chi phí, thời gian, bản quyền

4/5/2019

CuuDuongThanCong.com

PGS.TS. Vũ Thanh Nguyên

/>
5


Đặc tả hình thức và quy trình CNPM

Các hoạt động trong
thế giới thực

Khảo sát
Hiện trạng

Xác định
Yêu cầu

Các yê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

/>
6


Mở đầu
Quy Trình

4/5/2019

CuuDuongThanCong.com

PGS.TS. Vũ Thanh Nguyên

/>
7


Mở đầ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

/>
8


Mở đầ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.

4/5/2019

CuuDuongThanCong.com

PGS.TS. Vũ Thanh Nguyên


/>
9


Mở đầu
 Ngôn ngữ





4/5/2019

Ngôn ngữ c
Về

n

.
c bên trong thì ngôn ngữ là một t
p) hay là một t
liên quan.

CuuDuongThanCong.com

PGS.TS. Vũ Thanh Nguyên

/>
ng)


10


Mở đầ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.
 Các ngôn ngữ đặc tả không hình thức:
 Booch, Rumbaugh (thế hệ thứ 1)
 UML (thế hệ thứ 2)
 OOCL – Object-oriented Change and Learning (thế hệ thứ 3)


Các ngôn ngữ đặc tả hình thức:
 OCL, Predicate Calculus, CDM, UNITY, VDM, Z
 Object-Z (Z++), VDM++

4/5/2019

CuuDuongThanCong.com

PGS.TS. Vũ Thanh Nguyên

/>
11



Mở đầ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ô
tả hệ thống nào.
 Nếu bao quát quá nhiều thứ thì cồng kềnh, nhưng nếu đơn giản quá thì sẽ
không có nhiều khả năng ứng dụng.

4/5/2019

CuuDuongThanCong.com

PGS.TS. Vũ Thanh Nguyên

/>
12


Mở đầ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:
 Phạm vi ứng dụng: Mỗi ngôn ngữ đặc tả thường thiết kế nhằm mục
đích phục vụ cho một hay một số lĩnh vực cụ thể.
 Ví dụ: VDM được thiết kế để sử dụng trong thiết kế các mạch số; phép
toán mệnh đề được sử dụng trong đặc tả và chứng minh các thuật toán tính
toán;

 UNITY được dùng trong đặc tả và kiểm chứng các hệ thống song song;….

4/5/2019

CuuDuongThanCong.com

PGS.TS. Vũ Thanh Nguyên

/>
13


Mở đầ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

/>
14



Mở đầu
 Ngôn ngữ hình thức




4/5/2019

Là n
c.
Giả sử có một bộ từ vựng ta gọi là alphabet, alphabet ∑ = {a, b} và kí hiệu L là
ngôn ngữ. Như vậy, ta có thể định nghĩa một số ngôn ngữ trên alphabet ∑ như
sau: L1 = {aa, aaa}, L2 = {aba, aab}, L2 = {aba, aab}, L3 = {ab, ba, aabb,...,
aaabbb,...}

CuuDuongThanCong.com

PGS.TS. Vũ Thanh Nguyên

/>
15


Mở đầu
 Mô tả và Đặc tả




Mô tả là t
..
Đặc tả là mô tả ngắn gọn, chính xác vấn đề nào đó. Một đặc tả của hệ thống
phải ngắn hơn so với cài đặt tương ứng Đặc tả bao gồm 3 loại chính:
 Đặc tả phi hình thức (informal) là dạng đặc tả bằng ngôn ngữ tự nhiên tự do, ngôn
ngữ tự nhiên có cấu trúc hay bằng các ký hiệu đồ họa.
 Đặc tả nửa hình thức (semi-informal) là dạng đặc tả trộn lẫn giữa các ký hiệu toán
học, ngôn ngữ tự nhiên và các ký hiệu đồ họa.

. Mộ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

/>
16


Mở đầ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

4/5/2019

CuuDuongThanCong.com

Độ 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

PGS.TS. Vũ Thanh Nguyên

/>
17


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 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ây
dựng các hệ thống phần mềm quan trọng.

4/5/2019

CuuDuongThanCong.com


PGS.TS. Vũ Thanh Nguyên

/>
18


Mở đầu
 Đặ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 mơ hồ và sơ đồ
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 được sử dụng
đầy đử, nó được xem như công cụ tài liệu hoá.

4/5/2019

CuuDuongThanCong.com

PGS.TS. Vũ Thanh Nguyên

/>
19


Mở đầ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ên
của đội ngũ thiết kế.
 Một khi thiết kế đã hoàn thành, nó có thể khi đó tạo thành
phầ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

/>
20


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
 Nếu đặc tả hình thức không rõ ràng, nó dễ dàng bảo ở đâu nó bị
sai (không rõ ràng) và chỉnh sửa nó.
 Nếu không phải là đặc tả hình thức, nó rất khó tìm ra lỗi và
chỉnh sứa nó.

4/5/2019

CuuDuongThanCong.com

PGS.TS. Vũ Thanh Nguyên

/>

21


Mở đầ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

/>
22


Mở đầu
 Sử dụng các phương pháp hình thức co thể giúp đỡ thăm dò sử lựa
chọn thiết kế.
 Sử dụng các phương pháp không hình thức, nó dễ dàng che đậy
các chi tiết trong giai đoạn thực hiện
 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: lỗi phát hiện được chỉnh sửa ở bước thiết

kế có thể giảm đi gấp đôi chi phí nếu được phát hiện sau.

4/5/2019

CuuDuongThanCong.com

PGS.TS. Vũ Thanh Nguyên

/>
23


Mở đầ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

/>
24


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

4/5/2019

CuuDuongThanCong.com

PGS.TS. Vũ Thanh Nguyên

/>
25


×