Bài giảng Công nghệ phần mềm: Chương 5 - Nguyễn Thanh Bình
lượt xem 13
download
Bài giảng Công nghệ phần mềm: Chương 5 Đặc tả Z trình bày về 4 thành phần cơ bản đó là: các kiểu dữ liệu, các sơ đồ trạng thái, các sơ đồ thao tác và các toán tử sơ đồ...mới các bạn tìm hiểu tài liệu này để hiểu sâu hơn về đặc tả Z.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Công nghệ phần mềm: Chương 5 - Nguyễn Thanh Bình
- ð c t Z (5) Nguy n Thanh Bình Khoa Công ngh Thông tin Trư ng ð i h c Bách khoa ð i h c ðà N ng Gi i thi u ñư c ñ xu t b i Jean René Abrial ð ih c Oxford ngôn ng ñ c t hình th c ñư c s d ng r ng rãi nh t d a trên lý thuy t t p h p ký hi u toán h c s d ng các sơ ñ (schema) d hi u 2 1
- Gi i thi u G m b n thành ph n cơ b n các ki u d li u (types) • d a trên khái ni m t p h p các sơ ñ tr ng thái (state schemas) • mô t các bi n và ràng bu c trên các bi n các sơ ñ thao tác (operation schemas) • mô t các thao tác (thay ñ i tr ng thái) các toán t sơ ñ (schema operations) • ñ nh nghĩa các sơ ñ m i t các sơ ñ ñã có 3 Ki u d li u m i ki u d li u là m t t p h p các ph n t Ví d {true, false} : ki u lô-gíc N: ki u s t nhiên Z: ki u s nguyên R: ki u s th c {red, blue, green} 4 2
- Ki u d li u Các phép toán trên t p h p H i: A∪B Giao: A∩B Hi u: A⁄B T p con: A⊆B T p các t p con: P A • ví d : P {a, b} = {{}, {a}, {b}, {a, b}} 5 Ki u d li u m t s ki u d li u cơ b n ñã ñư c ñ nh nghĩa trư c ki u s nguyên Z ki u s t nhiên N ki u s th c R ... có th ñ nh nghĩa các ki u d li u m i ANSWER == yes | no [PERSON] • s d ng c p ký hi u [ và ] ñ ñ nh nghĩa ki u cơ b nm i 6 3
- Ki u d li u Khai báo ki u x:T • x là ph n t c a t p T Ví d • x:R • n:N • 3:N • red : {red, blue, green} 7 V t M t v t (predicate) ñư c s d ng ñ ñ nh nghĩa các tính ch t c a bi n/giá tr Ví d x>0 π∈R 8 4
- V t Có th s d ng các toán t lô-gíc ñ ñ nh nghĩa các v t ph c t p Và: A∧B Ho c: A∨B Ph ñ nh: ¬A Kéo theo: A⇒B Ví d (x > y) ∧ (y > 0) (x > 10) ∨ (x = 1) (x > 0) ) ⇒ x/x = 1 (¬ (x ∈ S)) ∨ (x ∈ T) 9 V t Các toán t khác (∀x : T • A) • A ñúng v i m i x thu c T • Ví d : (∀x : N • x - x =0) (∃x : T • A) • A ñúng v i m t s giá tr x thu c T • Ví d : (∃x : R • x + x = 4) {x : T | A} • bi u di n các ph n t x c a T th a mãn A • Ví d : N = {x : Z | x ≥ 0} 10 5
- Sơ ñ tr ng thái C u trúc sơ ñ tr ng thái g m tên sơ ñ khai báo bi n ñ nh nghĩa v t 11 Sơ ñ tr ng thái ð c t Z ch a các bi n tr ng thái kh i gán bi n các thao tác trên các bi n bi n tr ng thái có th có các b t bi n • ñi u ki n mà luôn ñúng, bi u di n b i các v t 12 6
- Sơ ñ thao tác Kh i gán bi n Khai báo thao tác trên bi n kí hi u ∆ bi u di n bi n tr ng thái b thay ñ i b i thao tác kí hi u ‘ (d u nháy ñơn) bi u di n giá tr m i c a bi n 13 Sơ ñ thao tác Thao tác có th có các tham s vào và ra tên tham s vào k t thúc b i kí t “?” tên tham s ra k t thúc b i kí t “!” 14 7
- Sơ ñ thao tác Kí hi u Ξ mô t thao tác không th thay ñ i bi n tr ng thái 15 Ví d 1 ð c t h th ng ghi nh n các nhân viên vào/ra tòa nhà làm vi c Ki u d li u [Staff] là ki u cơ b n m i c a h th ng Tr ng thái c a h th ng bao g m • t p h p các ngư i s d ng h th ng user • t p h p các nhân viên ñang vào in • t p h p các nhân viên ñang ra out b t bi n c a h th ng 16 8
- Ví d 1 ð c t thao tác ghi nh n m t nhân viên vào 17 Ví d 1 ð c t thao tác ghi nh n m t nhân viên ra 18 9
- Ví d 1 ð c t thao tác ki m tra m t nhân viên vào hay ra Thao tác này cho k t qu là ph n t c a ki u QueryReply == is_in | is_out ð c t thao tác 19 Ví d 1 Kh i t o h th ng 20 10
- Ví d 1 Tóm l i Sơ ñ tr ng thái: các thành ph n/ñ i tư ng c a h th ng B t bi n: ràng bu c gi a các ñ i tư ng Các sơ ñ thao tác • ði u ki n trên các tham s vào • Quan h gi a tr ng thái trư c và sau • Tham s k t qu Kh i gán 21 Ví d 1 Hãy ñ c t các thao tác Register: thêm vào m t nhân viên m i QueryIn: cho bi t nh ng nhân viên ñang vào/làm vi c 22 11
- Toán t sơ ñ Các sơ ñ có th ñư c k t h p ñ t o ra các sơ ñ m i Các toán t sơ ñ Và: ∧ Ho c: ∨ 23 Toán t sơ ñ Các sơ ñ ñã có T o các sơ ñ m i Schema3 == Schema1 ∧ Schema2 Schema4 == Schema1 ∨ Schema2 24 12
- Ví d 1 (ti p) C i ti n thao tác StaffQuery Thao tác StaffQuery chưa ñ c t trư ng h p l i • name? ∉ users 25 Ví d 1 (ti p) C i ti n thao tác StaffQuery ð c t l i ki u QueryReply QueryReply == is_in | is_out | not_registered Khi ñó RobustStaffQuery == StaffQuery ∨ BadStaffQuery 26 13
- Ví d 1 (ti p) C i ti n thao tác CheckIn M r ng thao tác cho trư ng h p ghi nh n thành công 27 Ví d 1 (ti p) C i ti n thao tác CheckIn M r ng thao tác cho trư ng h p ghi nh n thành công Khi ñó GoodCheckIn == CheckIn ∧ Success 28 14
- Ví d 1 (ti p) C i ti n thao tác CheckIn X lý thêm hai trư ng h p l i 1. name? ñã ñư c ghi nh n 2. name? chưa ñư c ñăng ký 29 Ví d 1 (ti p) C i ti n thao tác CheckIn X lý thêm hai trư ng h p l i 30 15
- Ví d 1 (ti p) C i ti n thao tác CheckIn Khi ñó CheckInReply == ok | already_in | not_registered RobustCheckIn == GoodCheckIn ∨ BadCheckIn1 ∨ BadCheckIn2 31 Quan h C p ph n t có th t ñư c bi u di n (x, y) Tích ð -các c a hai ki u T1 và T2 T1 x T2 (x, y) : T1 x T2 32 16
- Quan h Quan h (relation) là t p các c p ph n t có th t Ví d : 33 Quan h Có th ký hi u quan h T ↔ S == P (T x S) directory : Person ↔ Number Ánh x c p ph n t có th t (x, y) có th vi t • Ví d Lưu ý kí hi u ↔ dành cho ki u kí hi u dành cho giá tr 34 17
- Quan h Domain và Range t p h p các thành ph n th nh t trong m t quan h ñư c g i là domain (mi n) • kí hi u: dom • ví d : dom(directory) = {mary, john, jim, jane} t p h p các thành ph n th hai trong m t quan h ñư c g i là range • kí hi u: ran • ví d : ran(directory) = {287373, 398620, 829483, 493028} 35 Quan h Phép tr mi n (domain subtraction) ký hi u: bi u di n quan h R v i các ph n t trong mi n S ñã b lo i b Nghĩa là: 36 18
- Quan h Phép tr mi n (domain subtraction) Ví d : Khi ñó: 37 Ví d 2 ð c t danh b ñi n tho i g m tên ngư i và s ñi n tho i S d ng ki u cơ b n [Person, Phone] ð c t tr ng thái h th ng 38 19
- Ví d 2 Kh i t o h th ng Thêm m t s ñi n tho i 39 Ví d 2 có th c i ti n ? Tìm s ñi n tho i c a m t ngư i Tìm tên theo s ñi n tho i 40 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Công nghệ phần mềm: Chương 1 - ThS. Nguyễn Khắc Quốc
61 p | 144 | 18
-
Bài giảng Công nghệ phần mềm: Bài 1 - TS. Lê Nguyễn Tuấn Thành
142 p | 239 | 18
-
Bài giảng Công nghệ phần mềm nâng cao: Giới thiệu môn học - Phạm Ngọc Hùng
14 p | 172 | 14
-
Tập bài giảng Công nghệ phần mềm - Phạm Hùng Phú, Nguyễn Văn Thẩm (Biên soạn)
291 p | 63 | 13
-
Bài giảng Công nghệ phần mềm: Chương 1 - ĐH Công nghệ TP.HCM
77 p | 37 | 13
-
Bài giảng Công nghệ phần mềm: Bài 1 - Học viện Kỹ thuật Quân sự
45 p | 22 | 11
-
Bài giảng Công nghệ phần mềm: Yêu cầu phần mềm
66 p | 108 | 10
-
Bài giảng Công nghệ phần mềm: Chương 0 - ThS. Trần Sơn Hải
5 p | 122 | 10
-
Bài giảng Công nghệ phần mềm: Các quy trình phần mềm
31 p | 127 | 9
-
Bài giảng Công nghệ phần mềm: Chương 1 - ThS. Dương Thành Phết
19 p | 151 | 9
-
Bài giảng Công nghệ phần mềm: Chương 1 - Trường ĐH Công nghiệp TP. HCM
48 p | 44 | 9
-
Bài giảng Công nghệ phần mềm - Phần 1: Giới thiệu chung về công nghệ phần mềm
52 p | 90 | 8
-
Bài giảng Công nghệ phần mềm - Trần Thị Minh Châu
18 p | 114 | 8
-
Bài giảng Công nghệ phần mềm: Chương 1 - Trần Anh Dũng
39 p | 79 | 6
-
Bài giảng Công nghệ phần mềm ứng dụng: Bài 1 - ThS. Thạc Bình Cường
58 p | 62 | 6
-
Bài giảng Công nghệ phần mềm - Phần 1: Giới thiệu công nghệ phần mềm
52 p | 80 | 5
-
Bài giảng Công nghệ phần mềm - Chương 1: Tổng quan về CNPM
13 p | 116 | 5
-
Bài giảng Công nghệ phần mềm: Chương 1 - ThS. Trần Sơn Hải
52 p | 74 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn