Bài giảng Nhập môn công nghệ phần mềm - Chương 6: Thiết kế - Nguyễn Thanh Bình
Thiết kế ?
phân tích bài toán/vấn đề
xuất phát từ yêu cầu
mô tả một hoặc nhiều giải pháp
đánh giá các giải pháp, chọn giải pháp tốt nhất
ở một mức trừu tượng nhất định
sử dụng các mô hình
3 tính chất
trả lời câu hỏi “như thế nào”
mô tả chủ yếu là cấu trúc
bỏ qua các chi tiết cài đặt
• giải pháp trừu tượng ≠ giải pháp cụ thể
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Nhập môn công nghệ phần mềm - Chương 6: Thiết kế - Nguyễn Thanh Bình", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Nhập môn công nghệ phần mềm - Chương 6: Thiết kế - Nguyễn Thanh Bình
Thi t k (6) 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 Thi t k ? phân tích bài toán/v n ñ xu t phát t yêu c u mô t m t ho c nhi u gi i pháp ñánh giá các gi i pháp, ch n gi i pháp t t nh t m t m c tr u t ư ng nh t ñ nh s d ng các mô hình 3 tính ch t tr l i câu h i “nh ư th nào” mô t ch y u là c u trúc b qua các chi ti t cài ñ t • gi i pháp tr u t ư ng ≠ gi i pháp c th 2 1 Các giai ño n thi t k Ho t ñ ng thi t k xu t hi n trong các mô hình phát tri n khác nhau Hai giai ño n thi t k chính Thi t k ki n trúc • phân tích gi i pháp thành các thành ph n • ñ nh ngh ĩa giao di n gi a các thành ph n • ñ nh ngh ĩa ph n v n ñ ñư c gi i quy t b i m i thành ph n • có th ñư c th c hi n b i nhi u m c tr u t ư ng Thi t k chi ti t • thi t k thu t toán, c u trúc d li u... 3 Các giai ño n thi t k Requirements specification Design activities Architectural Abstract Interface Component Data Algorithm design specificatio design design structure design n design Data System Software Interface Component Algorithm structure architecture specification specification specification specification specification Design products 4 2 Các giai ño n thi t k Architectural design xác ñ nh các h th ng con Abstract specification ñ c t các h th ng con Interface design mô t giao di n các h th ng con Component design phân tích h th ng con thành các thành ph n Data structure design các c u trúc d li u l ưu tr d li u c a bài toán Algorithm design thi t k thu t toán cho các hàm/mô-ñun 5 T i sao ph i thi t k ? có m t ki n trúc t t làm ch ñư c c u trúc h th ng “chia ñ tr ” ñ t ñư c các tiêu chu n ch t l ư ng tái s d ng / d ke em th / d b o trì... thi t k hư ng ñ n s thay ñ i (design for change) 6 3 Thi t k và s thay ñ i Thay ñ i = tích ch t ñ c tr ưng c a ph n m m D báo thay ñ i là c n thi t gi m chi phí b o trì D báo thay ñ i là khó khăn s thay ñ i th ư ng không ñư c xác ñ nh tr ư c nhi u y u t thay ñ i cùng lúc th i ñi m thay ñ i là khó có th bi t tr ư c 7 Thi t k và s thay ñ i Các y u t có th thay ñ i thu t toán c u trúc d li u bi u di n d li u bên ngoài thi t b ngo i vi môi tr ư ng xã h i yêu c u khách hàng 8 4 Thi t k hư ng mô-ñun Ph n m m là t p h p g m các mô-ñun tươ ng tác v i nhau Mô-ñun hóa ñóng vai trò quan tr ng ñ có ñư c ph n m m ch t l ư ng v i chi phí th p M c ñích thi t k h th ng xác ñ nh các mô-ñun có th xác ñ nh t ươ ng tác gi a các mô-ñun 9 Các tiêu chu n c a m t ph ươ ng pháp thi t k Các tiêu chu n ñ ñ ánh giá m t ph ươ ng pháp thi t k hư ng mô-ñun tính phân rã (modular decomposability) tính t ng h p (modular composability) tính d hi u (modular understandability) tính liên t c (modular continuity) tính b o v (modular protection) 10 5 Các tiêu chu n c a m t ph ươ ng pháp thi t k tính phân rã (modular decomposability) phân rã v n ñ thành các v n ñ con nh hơn có th gi i quy t các v n ñ con m t cách ñ c l p các ph ươ ng pháp thi t k t trên xu ng (to- down design) th a mãn tiêu chu n này 11 Các tiêu chu n c a m t ph ươ ng pháp thi t k tính t ng h p (modular composability) các mô-ñun d dàng ñư c k t h p v i nhau ñ t o nên các h th ng m i có m i quan h ch t ch v i tính tái s d ng tính t ng h p có th xung ñ t v i tính phân rã • phân rã thành các mô-ñun chuyên bi t thay vì các mô-ñun t ng quát 12 6 Các tiêu chu n c a m t ph ươ ng pháp thi t k tính d hi u (modular understandability) thi t k các mô-ñun m t cách d hi u tính ch t m i mô-ñun • m i mô-ñun có d hi u ? • các tên s d ng có ý ngh ĩa ? • cso s d ng thu t toán ph c t p ? Ví d s d ng “goto” ch ươ ng trình vài nghìn dòng l nh, nhưng không s d ng hàm/th t c 13 Các tiêu chu n c a m t ph ươ ng pháp thi t k tính liên t c (modular continuity) m t s thay ñ i trong ñ c t yêu c u ch d n ñ n s thay ñ i trong m t (ho c m t s ít) mô-ñun Ví d ☺không s d ng s ho c chu i ký t trong chương trình, ch ñư c s d ng các h ng ñã ñ nh ngh ĩa s d ng m ng 14 7 Các tiêu chu n c a m t ph ươ ng pháp thi t k tính b o v (modular protection) ki n trúc ñươ c thi t k sao cho n u m t ñi u ki n b t th ư ng x y ra, ch m t (ho c m t s ít) mô-ñun b nh h ư ng 15 Thi t k ki n trúc Ki n trúc = t p h p các thành ph n/mô-ñun và quan h gi a chúng các thành ph n/mô-ñun • hàm / nhóm các hàm / l p ... quan h • s d ng / g i / th a k ... 16 8 Ch t l ư ng c a ki n trúc m i mô-ñun có tính k t c cao (high cohesion) m t mô-ñun là m t ñơ n v lô-gíc toàn b mô -ñun cùng ñóng góp th c hi n m t m c tiêu liên k t l ng l o (low coupling) gi a các mô- ñun ít ràng bu c, ph thu c l n nhau d hi u ñ nh ngh ĩa r ràng các mô-ñun và quan h gi a chúng 17 Các lo i ki n trúc Ba lo i mô hình ki n trúc th ư ng ñư c s d ng chia s d li u: mô hình “Repository” chia s d ch v , servers: mô hình “Client- Server” mô hình l p (layered model) 18 9 Mô hình “Repository” Nguyên t c d li u chia s ñư c t p trung trong m t CSDL các h th ng con ñ u truy c p vào CSDL chung Khi m t l ư ng d li u l n c n chia s gi a các h th ng con mô hình “Repository” thư ng ñư c s d ng 19 Mô hình “Repository” Ví d ki n trúc m t công c CASE 20 10 Mô hình “Repository” Ưu di m ñơ n gi n hi u qu khi chia s lư ng d li u l n s ñ c l p c a các h th ng con H n ch các h th ng con ph i th ng nh t trên mô hình d li u “repository” khó khăn khi phân t án d li u 21 Mô hình “Client-Server” Nguyên t c mô hình phân tán: d li u và x lý ñư c phân tán trên nhi u thành ph n khác nhau H th ng bao g m các servers cung c p các d ch v • có th có nhi u servers các clients yêu c u các d ch v ph ươ ng th c trao ñ i • m ng hay trên m t máy tính 22 11 Mô hình “Client-Server” Ví d 23 Mô hình “Client-Server” Ưu ñi m s d ng hi u qu m ng d dàng thêm server m i ho c nâng c p server hi n t i phân tán d li u d dàng H n ch m i h th ng con quan lý d li u riêng c a nó • có th d n ñ n d ư th a không có ki n trúc t p trung ghi nh n các dich v • khó khăn ñ xác ñ nh d li u hay d ch v s d ng 24 12 Mô hình l p Nguyên t c t ch c h th ng thành t p h p các l p m i l p cung c p t p h p các d ch v ñư c s d ng ñ mô t quan h gi a các h th ng con khi giao di n c a m t l p thay ñ i, ch l p k c n b nh h ư ng h tr mô hình phát tri n t ăng tr ư ng 25 Mô hình l p Ví d : h th ng qu n lý phiên b n 26 13
File đính kèm:
- bai_giang_nhap_mon_cong_nghe_phan_mem_chuong_6_thiet_ke_nguy.pdf