Lập trình Web/CGI Perl, ASP, PHP, Java, Java script, Python.... Bộ môn Công nghệ phan mém — Khoa CNTT- ĐHCN- ĐHQGHN KY nghé phan mém Slide 12... không quá 7 biến cục bộ Bộ môn Công ngh
Trang 1
KY NGHE PHAN MEM
CHUONG 7:
LAP TRINH
Bộ môn Công nghệ phan mém — Khoa CNTT- ĐHCN- ĐHQGHN
Kỹ nghệ phần mêm Slide 1
mô hình thông tin
mô hình thiết kế
chức năng kiến trúc Chuẩn mã
hóa
cầu khác đữ liệu
Mô đun chương trình
thiết kế
Mô hình cài 7/
KY nghé phan mém Slide 3
Bộ môn Công nghệ phan mém — Khoa CNTT- ĐHCN- ĐHQGHN
Giới thiệu tổng quan
Phương pháp lập trình
Ngôn ngữ lập trình
Phong cách lập trình
Kỹ thuật lập trình
`
Bộ môn Công nghệ phan mém — Khoa CNTT- ĐHCN- ĐHQGHN
Kỹ nghệ phần mêm Slide 2
GIỚI THIỆU (2) — Vi du ¬
«compress»
AnotherClass ae mpljar
~~ mel
~~<
Ba
Area.java
4 «file»
Hệ thống coh 1 ỳ eadme.fx(
«compilation» ¿“
z «explaim» cơn xét kế «file» xí
Mô hình thiet KỆ lArea.elass
G Mô hình cài đặt
Bộ môn Công nghệ phan mém — Khoa CNTT- ĐHCN- ĐHQGHN
/
Kỹ nghệ phần mêm Slide 4
Lập trình tuần tự (tuyến tính)
Lập trình có cấu trúc (thủ tục)
Lập trình hướng chức năng
Lập trình hướng đối tượng
Lập trình Logic
Bộ môn Công nghệ phan mém — Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mêm Slide 5
¬
=¡ Đặc trưng của ngôn ngữ
Q Mién ứng dụng của ngôn ngữ
QO Lựa chọn ngôn ngữ
`
Bộ môn Công nghệ phan mém — Khoa CNTT- ĐHCN- ĐHQGHN
⁄
KY nghé phan mém Slide 6
Trang 2
Z
NGÔN NGỮ LẬP TRÌNH - Đặc trưng
=¡ năng lực (kiểu biến, các cấu trúc)
Q tinh kha chuyển
4 mtrc dé hỗ trợ của các công cụ
Bộ môn Công nghệ phan mém — Khoa CNTT- ĐHCN- ĐHQGHN
Kỹ nghệ phan mém Slide 7
7
NGÔN NGỮ LẬP TRÌNH - Đặc trưng
Q Tinh kha chuyén
- thay đổi phần cứng
› thay đôi OS
Ví du: C, Java là các ngôn ngữ khả chuyển
Bộ môn Công nghệ phan mém — Khoa CNTT- ĐHCN- ĐHQGHN
Z
NGÔN NGỮ LẬP TRÌNH - Đặc trưng
¡Năng lực của ngôn ngữ
- Có cấu trúc, câu lệnh phong phú
-_ Hễ trợ nhiều kiểu dữ liệu
- - Hỗễ trợ con trỏ, đệ qui
- - Hỗ trợ hướng đối tượng
: Thư viện phong phú
Bộ môn Công nghệ phan mém — Khoa CNTT- ĐHCN- ĐHQGHN
Kỹ nghệ phần mêm Slide 8
Z
NGÔN NGỮ LẬP TRÌNH - Đặc trưng
¬ Hỗ trợ của công cụ
+ Trình biên dịch hiệu quả
* _ biên dịch tốc độ cao
› Các công cụ trợ giúp hiệu quả
Bộ môn Công nghệ phan mém — Khoa CNTT- ĐHCN- ĐHQGHN KY nghé phan mém Slide 10
NGÔN NGỮ LẬP TRÌNH - Miền ứng dụng
Phần mềm hệ thống
C, C++
Hệ thời gian thực
C, C++, Ada, Assembly
Phần mềm nhúng
C++, Java, Assembly
Phần mềm khoa học kỹ thuật
Fortran
Bộ môn Công nghệ phan mém — Khoa CNTT- ĐHCN- ĐHQGHN
KY nghé phan mém Slide 11
͈ NGÔN NGỮ LẬP TRÌNH - Miền ứng dụng \
Phản mềm nghiệp vụ
CSDL: Oracle, DB2, SQL Server, MySQL
ngôn ngữ: FoxPro, COBOL, VB, VC++
Trí tuệ nhân tạo
Lisp, Prolog, OPS5,
Lập trình Web/CGI
Perl, ASP, PHP, Java, Java script, Python
Bộ môn Công nghệ phan mém — Khoa CNTT- ĐHCN- ĐHQGHN KY nghé phan mém Slide 12
Trang 3
Đặc trưng của ngồn ngữ
Miền ứng dụng của ngôn ngữ
Năng lực, kinh nghiệm của nhóm phát
trién
Yêu cầu của khách hàng
Bộ môn Công nghệ phan mém — Khoa CNTT- ĐHCN- ĐHQGHN
=ì Bao gồm các yếu tố:
* cach dat tên hàm và biến
+ cách viết chú thích
+ cách xử lý lỗi
a
Q Hwéng tới phong cách làm cho mã nguồn
> dé hiéu, dé stra đổi
Bộ môn Công nghệ phan mém — Khoa CNTT- ĐHCN- ĐHQGHN
KY nghé phan mém Slide 14
7
PHONG CÁCH LẬP TRÌNH - Chú thích
=' Mục đích sử dụng của các biến
=' Chức năng của khối lệnh, câu lệnh
-_ các lệnh điều khiển
› _ các lệnh phức tạp
Bộ môn Công nghệ phan mém — Khoa CNTT- ĐHCN- ĐHQGHN
PHONG CÁCH LẬP TRÌNH - Chú thích
¡ Chú thích các mô đun
— mục đích, chức năng của mô đun
— tham só, giá trị trả lại (giao diện)
— các mô đun thuộc cấp
— cấu trúc, thuật toán
— nhiệm vụ của các biến cục bộ
—_ tác giả, người kiểm tra, thời gian
Bộ môn Công nghệ phan mém — Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mễêm Silide 16
PHONG CACH LAP TRINH - Dat tén
=1 Sử dụng các ký hiệu, từ tiếng Anh có
nghĩa
) Lam cho dễ đọc
+ dùng DateOfBirth hoặc date_ of_ birth
-_ không viết dateofbirth
-Ì Tránh đặt tên quá dài
- không đặt tên dài với các biến cục bộ
=! Thống nhất cách dùng
Bộ môn Công nghệ phân mat Qi 'CNTT- ĐHCN- ĐHQGHN
KY nghé phan mém Slide 17
“ PHONG CÁCH LẬP TRÌNH - Cáu trúc chương trình »
_Ì Chương trình cần được chia thành nhiều mô đun (hài
=1 Không viết hàm quá dài
=1 Không dùng quá nhiều biến cục bộ
- không thể theo dõi đồng thời hoạt động của nhiều biến
(vd không quá 7 biến cục bộ)
Bộ môn Công nghệ phan mém — Khoa CNTT- ĐHCN- ĐHQGHN
KY nghé phan mém Slide 18
Trang 4
-! Các câu lệnh phải mô tả câu trúc © Co thé phát hiện lỗi trong khi thực hiện
=ì Làm đơn giản các lệnh * [61 input/output,
3 ác cấu trú ú :_ phân biệt output và thông báo lỗi
-Ì Tránh các câu trúc phức tạp P et outp g
-_ các lệnh if lồng nhau
Bộ môn Công nghệ phan mém — Khoa CNTT- ĐHCN- ĐHQGHN Ky nghé phan mém Slide 19 Bộ môn Công nghệ phan mém — Khoa CNTT- ĐHCN- ĐHQGHN KY nghé phan mém Slide 20
6m CÁCH LẬP TRÌNH - Xử lý & 6m CÁCH LẬP TRÌNH - Xử lý &
Ngoại lệ Ngoại lỆ: ném ngoại lệ
Là cách thức xử lý lỗi tiến tiến trong các ngôn
thông tin lôi) if (denom == 0.0) {
}
Bộ môn Công nghệ phan mém — Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Silide 21 Bộ môn Công nghệ phan mém — Khoa CNTT- ĐHCN- ĐHQGHN KY nghé phan mém Slide 22
Ngoại lệ: bắt ngoại lệ Phong cách lập trình tốt
ye it = MyDivide(x, y): ¬ Tuân theo các chuân thông dụng
¬¡ Chú giải đầy đủ mỗi khi không tuân theo chua
catch (invalid_argumenté& e) {
cerr << e.what() << endl;
// mã xử lý với ngoại lệ
'
Bộ môn Công nghệ phan mém — Khoa CNTT- ĐHCN- ĐHQGHN KY nghé phan mém Slide 23 Bộ môn Công nghệ phan mém — Khoa CNTT- ĐHCN- ĐHQGHN KY nghé phan mém Slide 24
Trang 5
Tránh lỗi
Phòng thủ
Thứ lỗi
—` Xây dựng hệ thống tin cậy
Bộ môn Công nghệ phan mém — Khoa CNTT- ĐHCN- ĐHQGHN
Tránh các cấu trúc nguy hiểm
Số thực Con trỏ
Cáp phát bộ nhớ
Đệ quy
Bộ môn Công nghệ phan mém — Khoa CNTT- ĐHCN- ĐHQGHN KY nghé phan mém Slide 26
OC Ky THUAT LẬP TRÌNH — phong thi
Defensive programming
Dự đoán khả năng xuất hiện lỗi
Lệnh vaqdriLe* £p;
Các hé if (NULL == (fp =
FILE* fp; _,|fopen("data", "r")) {
fp = fopen("data", té} fprintf(stderr, "can not
quay lại trạng thái an toàn gần nhất
Bộ môn Công nghệ phan mém — Khoa CNTT- ĐHCN- ĐHQGHN
Fault tolerance programming
~
version 1
> version 2
Bộ môn Công nghệ phan mém — Khoa CNTT- ĐHCN- ĐHQGHN
N - version
KY nghé phan mém Slide 28
Lựa chọn phương pháp lập trình
Lựa chọn ngôn ngữ lập trình
Lập trình theo phong cách tốt
Áp dụng kỹ thuật lập trình phù hợp
Bộ môn Công nghệ phan mém — Khoa CNTT- ĐHCN- ĐHQGHN KY nghé phan mém Slide 29