Bài giảng Công nghệ phần mềm: Chương 4 - Nguyễn Thanh Bình
lượt xem 13
download
Mục tiêu của chương 4 Các kỹ thuật đặc tả thuộc bài giảng Công nghệ phần mềm trình bày các kiến thức cơ bản như: khái niệm đặc tả, tại sao phải đặc tả, phân loại các kỹ thuật đặc tả, các kỹ thuật đặc tả...nội dung bài giảng hữu ích dành cho học viên đang học nhập môn công nghệ phần mềm.
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 4 - Nguyễn Thanh Bình
- Các k thu t ñ c t (4) 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 N i dung Khái ni m ñ c t T i sao ph i ñ c t ? Phân lo i các k thu t ñ c t Các k thu t ñ c t 2 1
- Khái ni m ñ c t ð c t (specification) ñ nh nghĩa m t h th ng, mô-ñun hay m t s n ph m c n ph i làm cái gì không mô t nó ph i làm như th nào mô t nh ng tính ch t c a v n ñ ñ t ra không mô t nh ng tính ch t c a gi i pháp cho v n ñ ñó 3 Khái ni m ñ c t ð c t là ho t ñ ng ñư c ti n hành trong các giai ño n khác nhau c a ti n trình ph n m m: ð c t yêu c u (requirement specification) • s th ng nh t gi a nh ng ngư i s d ng tương lai và nh ng ngư i thi t k ð c t ki n trúc h th ng (system architect specification) • s th ng nh t gi a nh ng ngư i thi t k và nh ng ngư i cài ñ t ð c t môñun (module specification) • s th ng nh t gi a nh ng ngư i l p trình cài ñ t mô-ñun và nh ng ngư i l p trình s d ng mô-ñun 4 2
- T i sao ph i ñ c t ? H p ñ ng 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 th c hi n chính xác nh ng gì mong mu n Trao ñ i gi a ngư i s d ng và ngư i phát tri n gi a nh ng ngư i phát tri n Tái s d ng 5 Phân lo i các k thu t ñ c t ð c t phi hình th c (informal) ngôn ng t nhiên t do ngôn ng t nhiên có c u trúc các kí hi u ñ h a ð c t n a hình th c (semi-informal) tr n l n c ngôn ng t nhiên, các kí hi u toán h c và các kí hi u ñ h a ð c t hình th c (formal) kí hi u toán h c • ngôn ng ñ c t • ngôn ng l p trình 6 3
- ð c t hình th c hay không hình th c ? ð c t hình th c chính xác (toán h c) h p th c hóa hình th c (công c hóa) công c trao ñ i: khó ñ c, khó hi u khó s d ng ð c t không hình th c d hi u, d s d ng m md o thi u s chính xác nh p nh ng 7 ng d ng ñ c t hình th c ng d ng trong các giai ño n s m c a ti n trình phát tri n h n ch l i trong phát tri n ph n m m ng d ng ch y u trong phát tri n các h th ng “quan tr ng” (critical systems) h th ng ñi u khi n h th ng nhúng h th ng th i gian th c 8 4
- Chi phí phát tri n khi s d ng ñ c t hình th c 9 Các k thu t ñ c t Trình bày m t s k thu t Máy tr ng thái h u h n M ng Petri ði u ki n trư c và sau Ki u tr u tư ng ð ct Z 10 5
- Máy tr ng thái h u h n (state machine) mô t các lu ng ñi u khi n bi u di n d ng ñ th bao g m t p h p các tr ng thái S (các nút c a ñ th ) t p h p các d li u vào I (các nhãn c a các cung) t p h p các chuy n ti p T : S x I → S (các cung có hư ng c a ñ th ) • khi có m t d li u vào, m t tr ng thái chuy n sang m t tr ng thái khác 11 Máy tr ng thái h u h n ð t máy xu ng ð i ð t máy xu ng Ví d 1 Nh c máy Âm m i quay s Th i gian ñ i k t B ms thúc S sai Thông báo Quay s quay s sai S ñúng K tn i Máy b n K t n i ñư c ð chuông Thuê bao ñư c g i nh c máy 12 ðàm tho i 6
- Máy tr ng thái h u h n Ví d 2 H th ng c n mô t bao g m m t nhà s n xu t, m t nhà tiêu th và m t kho hàng ch ch a ñư c nhi u nh t 2 s n ph m Nhà s n xu t có 2 tr ng thái • P1: không s n xu t • P2: ñang s n xu t Nhà tiêu th có 2 tr ng thái • C1: có s n ph m ñ tiêu th • C2: không có s n ph m ñ tiêu th Nhà kho có 3 tr ng thái • ch a 0 s n ph m • ch a 1 s n ph m • ch a 2 s n ph m 13 Máy tr ng thái h u h n Gi i pháp 1: mô t tách r i các thành ph n S n xu t L y t kho P1 P2 C1 C2 G i vào kho Tiêu th G i vào kho G i vào kho 0 1 2 L y t kho L y t kho 14 7
- Máy tr ng thái h u h n Gi i pháp 1 không mô t ñư c s ho t ñ ng h th ng c n mô t s ho t ñ ng k t h p các thành ph n c a h th ng 15 Máy tr ng thái h u h n Gi i pháp 2: mô t k t h p các thành ph n G i vào kho G i vào kho S n xu t S n xu t S n xu t L y t kho L y t kho Tiêu th Tiêu th Tiêu th L y t kho L y t kho Tiêu th Tiêu th Tiêu th S n xu t S n xu t S n xu t G i vào kho G i vào kho 16 8
- Máy tr ng thái h u h n Gi i pháp 2 mô t ñư c ho t ñ ng c a h th ng s tr ng thái l n bi u di n h th ng ph c t p h n ch khi ñ c t nh ng h th ng không ñ ng b o các thành ph n c a h th ng ho t ñ ng song song ho c c nh tranh 17 M ng Petri (Petri nets) thích h p ñ mô t các h th ng không ñ ng b v i nh ng ho t ñ ng ñ ng th i mô t lu ng ñi u khi n c a h th ng ñ xu t t năm 1962 b i Carl Adam Có hai lo i m ng Petri (c ñi n) m ng Petri m r ng 18 9
- M ng Petri G m các ph n t m t t p h p h u h n các nút ( ) m t t p h p h u h n các chuy n ti p ( ) m t t p h p h u h n các cung (→) • các cung n i các nút v i các chuy n ti p ho c ngư c l i m i nút có th ch a m t ho c nhi u th ( ) 19 M ng Petri Ví d t2 t1 p2 p1 t3 p4 p3 20 10
- M ng Petri M ng Petri ñư c ñ nh nghĩa b i s ñánh d u các nút c a nó Vi c ñánh d u các nút ñư c ti n hành theo nguyên t c sau: m i chuy n ti p có các nút vào và các nút ra n u t t c các nút vào c a m t chuy n ti p có ít nh t m t th , thì chuy n ti p này là có th vư t qua ñư c, n u chuy n ti p này ñư c th c hi n thì t t c các nút vào c a chuy n ti p s b l y ñi m t th , và m t th s ñư c thêm vào t t c các nút ra c a chuy n ti p n u nhi u chuy n ti p là có th vư t qua thì ch n chuy n ti p nào cũng ñư c 21 M ng Petri Ví d t1 t2 t1 không th vư t qua ñư c t2 có th vư t qua ñư c t3 ho c t3 ñư c vư t qua ho c t4 ñư c vư t qua 22 t4 11
- M ng Petri Ví d t2 t2 khi t2 ñư c vư t qua 23 M ng Petri Ví d 24 12
- M ng Petri Ví d 1: mô t ho t ñ ng c a ñèn giao thông red yr rg yellow gy 25 green M ng Petri Ví d 1: mô t ho t ñ ng c a 2 ñèn giao thông red1 red2 yr1 yr2 rg1 yellow1 yellow2 rg2 gy1 gy2 26 green1 green2 13
- M ng Petri Ví d 1: mô t ho t ñ ng an toàn c a 2 ñèn giao thông red1 red2 safe yr1 yr2 rg1 yellow1 yellow2 rg2 gy1 gy2 27 green1 green2 M ng Petri Ví d 1: mô t ho t ñ ng an toàn và h p lý c a 2 ñèn giao thông red1 red2 safe2 yr1 yr2 rg1 yellow1 rg2 yellow2 gy1 gy2 safe1 28 green1 green2 14
- M ng Petri Ví d 2: mô t chu kỳ s ng c a m t ngư i tr con d y thì cư i thanh niên có v có ch ng ly hôn 29 ch t ch t M ng Petri Ví d 3: vi t thư và ñ c thư begin receive_mail mail_box rest rest type_mail read_mail send_mail ready Mô t trư ng h p 1 ngư i vi t và 2 ngư i ñ c ? Mô t trư ng h p h p thư nh n ch ch a nhi u nh t 3 thư ? 30 15
- M ng Petri Ví d 4: tình hu ng ngh n (dead-lock) P1 P2 P3 t1 t2 P4 P5 t3 t4 P7 P6 t5 t6 P8 P9 2 2 t7 t8 31 M ng Petri Ví d 4: gi i pháp ch ng ngh n P1 P2 P3 t1 t2 P4 P5 t3 t4 2 2 P7 P6 t5 t6 P8 P9 2 2 t7 t8 32 16
- M ng Petri Ví d 5 H th ng c n mô t bao g m m t nhà s n xu t, m t nhà tiêu th và m t kho hàng ch ch a ñư c nhi u nh t 2 s n ph m Nhà s n xu t có 2 tr ng thái • P1: không s n xu t • P2: ñang s n xu t Nhà tiêu th có 2 tr ng thái • C1: có s n ph m ñ tiêu th • C2: không có s n ph m ñ tiêu th Nhà kho có 3 tr ng thái • ch a 0 s n ph m • ch a 1 s n ph m • ch a 2 s n ph m 33 M ng Petri Ví d 5: mô t tách r i m i thành ph n S n xu t L y t kho P1 P2 C1 C2 G i vào kho Tiêu th G i vào kho G i vào kho 0 1 2 L y t kho L y t kho 34 17
- M ng Petri Ví d 5: mô t k t h p các thành ph n S n xu t P1 G i vào kho P2 G i vào kho L y t kho 2 0 1 L y t kho C1 C2 Tiêu th 35 ði u ki n trư c và sau (pre/post condition) ñư c dùng ñ ñ c t các hàm ho c mô-ñun ñ c t các tính ch t c a d li u trư c và sau khi th c hi n hàm pre-condiition: ñ c t các ràng bu c trên các tham s trư c khi hàm ñư c th c thi post-condition: ñ c t các ràng bu c trên các tham s sau khi hàm ñư c th c thi có th s d ng ngôn ng phi hình th c, hình th c ho c ngôn ng l p trình ñ ñ c t các ñi u ki n 36 18
- ði u ki n trư c và sau Ví d : ñ c t hàm tìm ki m function search ( a : danh sách ph n t ki u K, size : s phân t c a dánh sách, e : ph n t ki u K, result : Boolean ) pre ∀i, 1 ≤ i ≤ n, a[i] ≤ a[i+1] post result = (∃i, 1 ≤ i ≤ n, a[i] = e) 37 ði u ki n trư c và sau Bài t p: ñ c t các hàm 1. S p x p m t danh sách các s nguyên 2. ð o ngư c các ph n t c a m t danh sách 3. ð m s ph n t có giá tr e trong m t danh sách các s nguyên 38 19
- Ki u tr u tư ng (abstract types) Mô t d li u và các thao tác trên d li u ñó m t m c tr u tư ng ñ c l p v i cách cài ñ t d li u b i ngôn ng l p trình ð c t m t ki u tr u tư ng g m: tên c a ki u tr u tư ng • dùng t khóa sort khai báo các ki u tr u tư ng ñã t n t i ñư c s d ng • dùng t khóa imports các thao tác trên trên ki u tr u tư ng • dùng t khóa operations 39 Ki u tr u tư ng Ví d 1: ñ c t ki u tr u tư ng Boolean sort Boolean operations true : → Boolean false : → Boolean ¬_ : Boolean → Boolean _∧_ : Boolean x Boolean → Boolean _∨_ : Boolean x Boolean → Boolean m t thao tác không có tham s là m t h ng s m t giá tr c a ki u tr u tư ng ñ nh nghĩa ñư c bi u di n b i kí t “_” 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 | 143 | 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 | 233 | 17
-
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 | 167 | 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 | 61 | 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 | 21 | 11
-
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: Yêu cầu phần mềm
66 p | 107 | 10
-
Bài giảng Công nghệ phần mềm: Chương 1 - ThS. Dương Thành Phết
19 p | 139 | 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 | 43 | 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 | 89 | 8
-
Bài giảng Công nghệ phần mềm: Các quy trình phần mềm
31 p | 126 | 8
-
Bài giảng Công nghệ phần mềm: Chương 1 - ThS. Đinh Thị Lương
40 p | 14 | 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 | 61 | 6
-
Bài giảng Công nghệ phần mềm - Chương 1: Tổng quan về CNPM
13 p | 113 | 5
-
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 | 79 | 5
-
Bài giảng Công nghệ phần mềm: Phần 1 - Vũ Thị Hương Giang
52 p | 50 | 3
-
Bài giảng Công nghệ phần mềm: Chương 1 - ThS. Trần Sơn Hải
52 p | 73 | 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