Đăng ký Đăng nhập

Tài liệu Giáo trình công nghệ phần mềm 8 laptrinh

.PDF
11
61
129

Mô tả:

L p trình và ngôn ng l p trình (8) 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 L p trình k năng cá nhân năng l c cá nhân hi u bi t các công c l p trình l p trình viên c n nguyên t c l p trình kinh nghi m l p trình viên t t vi t chương trình • ñúng ñ n • d hi u • d b o trì, phát tri n 2 1 Ngôn ng l p trình Có nhi u phương pháp l p trình khác nhau nhi u ngôn ng l p trình khác nhau ði m chung c a các ngôn ng l p trình (NNLT) d di n ñ t d hi u d th c thi trên máy tính M t s tính ch t c a NNLT ki u và ki m tra ki u mô-ñun hóa 3 Ki u H u h t các NNLT ñ u có khái ni m ki u ki u s , ki u lô-gíc... m t bi n có ki u d li u xác ñ nh Ki m tra ki u ñ m b o m t toán t /hàm ch áp d ng cho nh ng toán t /tham s có ki u cho phép 4 2 Ki u Ngôn ng ñ nh ki u (types languages) có h th ng ki u cho phép ki m tra s d ng ki u phù h p mà không c n th c thi chương trình • ki m tra tĩnh Ngôn ng ñ nh ki u cho phép phát hi n s m m t s l i liên quan ñ n ki u Ngôn ng ñ nh ki u C, Java, C++... 5 ða hình Ưu ñi m c a h th ng ki u và ki m tra ki u ch t ch d ki m tra Tuy nhiên h th ng ki u ph i m m d o trong s d ng • ña hình 6 3 ða hình M t s tình hu ng ña hình Vi t hàm áp d ng cho các m ng có s ph n t khác nhau • ki u m ng ñư c ki m tra khi biên d ch • s ph n t c a m ng ñư c ki m tra khi th c thi Áp d ng hàm cho các ki u d li u khác nhau • xây d ng nhi u phiên b n c a hàm tương ng v i các ki u khác nhau • ho c ch xây d ng m t phiên b n c a hàm, x lý khác nhau ñư c th c hi n khi th c thi • template (C++), generic (Java) 7 ða hình M t s tình hu ng ña hình Vi t hàm áp d ng cho các m ng có s ph n t khác nhau • ki u m ng ñư c ki m tra khi biên d ch • s ph n t c a m ng ñư c ki m tra khi th c thi Áp d ng hàm cho các ki u d li u khác nhau • xây d ng nhi u phiên b n c a hàm tương ng v i các ki u khác nhau • ho c ch xây d ng m t phiên b n c a hàm, x lý khác nhau ñư c th c hi n khi th c thi • template (C++), generic (Java) • ho c s d ng ki u con/l p con • ña hình trong ngôn ng l p trình hư ng ñ i tư ng 8 4 Mô-ñun hóa Xu t hi n vào nh ng năm 70 ðóng vai trò quan tr ng ñ t o ra ph n m m ch t lư ng Thi t k hư ng mô-ñun ph n m m = t p h p các mô-ñun và quan h gi a chúng H u h t các NNLT ñ u h tr mô-ñun hóa 9 Mô-ñun hóa M t mô-ñun g m hai ph n Ph n giao di n • giao ti p v i bên ngoài mô-ñun ay môñun khác Ph n thân • n i dung c a mô-ñun • c c b ñ i v i m i mô-ñun, che d u ñ i v i mô-ñun khác 10 5 Mô-ñun hóa Các mô-ñun ch trao ñ i d li u qua ph n giao di n không s d ng bi n toàn c c N u thay ñ i ph n thân thì ít nh hư ng (ho c không nh hư ng) ñ n các mô-ñun khác Trong ngôn ng l p trình c u trúc mô-ñun = hàm Trong ngôn ng l p trình hư ng ñ i tư ng mô-ñun = l p / phương th c 11 Các phương pháp l p trình cơ b n L p trình th t c/c u trúc (procedural programming) L p trình hư ng ñ i tư ng (object-oriented programming) L p trình hàm (functional programming) L p trình lô-gíc (logic programming) 12 6 L p trình th t c ñư c s d ng ph bi n l p trình có c u trúc phù h p v i thi t k hư ng ch c năng NNLT th t c Fortran, Ada, Pascal, C... 13 L p trình hư ng ñ i tư ng khái ni m cơ b n ñ i tư ng, l p ñóng gói th a k ña hình xu hư ng phát tri n c a các NNLT hi n ñ i NNLT hư ng ñ i tư ng Smalltalk, C++, Java, Delphi... 14 7 L p trình hàm tính toán các bi u th c hàm tính toán d a trên các giá tr c a tham s thao tác trên danh sách áp d ng lĩnh v c tính toán trí tu nhân t o NNLT hàm LISP, Scheme... 15 L p trình lô-gíc th c hi n các bi u th c lô-gíc khái ni m h p gi i (resolution) • tìm ki m giá tr c a các bi n sao cho bi u th c lôgíc có giá tr ñúng ng d ng xây d ng h chuyên gia x lý ngôn ng t nhiên NNLT lô-gíc Prolog 16 8 Ch n NNLT quy t ñ nh quan tr ng trong phát tri n ph n m m gi m chi phí mã ngu n ch t lư ng d b o trì, phát tri n 17 Ch n NNLT d a vào nhi u y u t (1) yêu c u c a khách hàng • khách hàng t b o trì s n ph m chương trình d ch • c n có chương trình d ch có ch t lư ng t t công c h tr • d dàng quá trình l p trình, b o trì kinh nghi m c a l p trình viên • ch n NNLT mà l p trình làm ch 18 9 Ch n NNLT d a vào nhi u y u t (2) yêu c u tính kh chuy n (portability) • th c hi n trên nhi u máy tính/plaform khác nhau lĩnh v c ng d ng • • • • • h th ng nhúng: C, Assembly... h th ng qu n lý: .NET, VB, C++... h chuyên gia: Prolog m ng: Java, .NET... website: PHP, ASP... • không t n t i ngôn ng ña năng cho m i ng d ng 19 Phong cách l p trình C n có chương trình d hi u ph thu c vào ñ c ñi m NNLT phong cách c a ngư i l p trình Phong cách l p trình không do l p trình viên t ñ t ra mà do t ch c/doanh nghi p/d án ñ t ra các lu t l p trình các quy ư c l p trình M c ñích mã ngu n d hi u, d ki m th , d b o trì ít l i 20 10 Phong cách l p trình M t s nguyên t c l p trình ñ t tên • có ý nghĩa, g i nh trình bày • r ràng, d hi u chú thích • ñ yñ ,d ñ c h n ch s d ng c u trúc khó hi u • break, continue, goto... ví d • quy ư c l p trình C++ 21 11
- Xem thêm -

Tài liệu liên quan