Kỹ nghệ phần mềm

Chia sẻ: Basso Basso | Ngày: | Loại File: PDF | Số trang:0

0
350
lượt xem
119
download

Kỹ nghệ phần mềm

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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

Chủ đề:
Lưu

Nội dung Text: Kỹ nghệ phần mềm

  1. NỘI DUNG KỸ NGHỆ PHẦN MỀM Giới thiệu tổng quan Phương pháp lập trình Ng«n ng÷ lËp tr×nh CHƯƠNG 7: Phong c¸ch lËp tr×nh Kỹ thuật lập trình LËp tr×nh Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 1 Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 2 GIỚI THIỆU GIỚI THIỆU (2) – Ví dụ «file» «compress» m« h×nh impl.jar th«ng tin AnotherClass «trace» m« h×nh thiÕt kÕ Hệ Area thống con 1 «file» chøc n¨ng kiÕn tróc Chuẩn mã hóa Area.java ThiÕt kÕ «file» c¸c yªu cÊu tróc Hệ thống con 1 cÇu kh¸c d÷ liÖu readme.txt M« ®un «compilation» ch−¬ng tr×nh «explain» LËp tr×nh «file» thiÕt kÕ Mô hình cài đặt Mô hình thiết kế Area.class thuËt to¸n Mô hình cài đặt Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 3 Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 4 PHƯƠNG PHÁP LẬP TRÌNH NGÔN NGỮ LẬP TRÌNH Lập trình tuần tự (tuyến tính) Lập trình có cấu trúc (thủ tục) Đặc trưng của ngôn ngữ Lập trình hướng chức năng Miền ứng dụng của ngôn ngữ Lập trình hướng đối tượng Lựa chọn ngôn ngữ Lập trình Logic Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 5 Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 6
  2. NGÔN NGỮ LẬP TRÌNH - Đặc trưng NGÔN NGỮ LẬP TRÌNH - Đặc trưng Năng lực của ngôn ngữ năng lực (kiểu biến, các cấu trúc) • Có cấu trúc, câu lệnh phong phú tính khả chuyển • Hỗ trợ nhiều kiểu dữ liệu mức độ hỗ trợ của các công cụ • Hỗ trợ con trỏ, đệ qui • Hỗ trợ hướng đối tượng • Thư viện phong phú Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 7 Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 8 NGÔN NGỮ LẬP TRÌNH - Đặc trưng NGÔN NGỮ LẬP TRÌNH - Đặc trưng Tính khả chuyển Hỗ trợ của công cụ • thay đổi phần cứng • Trình biên dịch hiệu quả • thay đổi OS • biên dịch tốc độ cao • khả năng tối ưu cao Ví dụ: C, Java là các ngôn ngữ khả chuyển • khai thác các tập lệnh, kiến trúc phần cứng mới • Các công cụ trợ giúp hiệu quả • editor, debugger, linker, make... • IDE (Integrated Develop Environment) Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 9 Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 10 NGÔN NGỮ LẬP TRÌNH - Miền ứng dụng NGÔN NGỮ LẬP TRÌNH - Miền ứng dụng Phần mềm nghiệp vụ Phần mềm hệ thống • C, C++ • CSDL: Oracle, DB2, SQL Server, MySQL... Hệ thời gian thực • ngôn ngữ: FoxPro, COBOL, VB, VC++ • C, C++, Ada, Assembly Trí tuệ nhân tạo Phần mềm nhúng • Lisp, Prolog, OPS5,... • C++, Java, Assembly Lập trình Web/CGI Phần mềm khoa học kỹ thuật • Perl, ASP, PHP, Java, Java script, Python... • Fortran Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 11 Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 12
  3. NGÔN NGỮ LẬP TRÌNH- Lựa chọn ngôn ngữ PHONG CÁCH LẬP TRÌNH Dựa vào: Bao gồm các yếu tố: Đặc trưng của ngôn ngữ • cách đặt tên hàm và biến Miền ứng dụng của ngôn ngữ • cách xây dựng câu lệnh, cấu trúc chương trình Năng lực, kinh nghiệm của nhóm phát • cách viết chú thích triển • cách xử lý lỗi Yêu cầu của khách hàng Hướng tới phong cách làm cho mã nguồn • dễ hiểu, dễ sửa đổi • an toàn (ít lỗi) Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 13 Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 14 PHONG CÁCH LẬP TRÌNH – Chú thích PHONG CÁCH LẬP TRÌNH – Chú thích Mọi điều được Chú thích trong chương trình Mọi điều được Chú thích trong chương trình Mục đích sử dụng của các biến Chú thích các mô đun Chức năng của khối lệnh, câu lệnh – mục đích, chức năng của mô đun • các lệnh điều khiển – tham số, giá trị trả lại (giao diện) • các lệnh phức tạp – 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ệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 15 Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 16 PHONG CÁCH LẬP TRÌNH - Đặt tên PHONG CÁCH LẬP TRÌNH - Cấu trúc chương trình Đặt tên biến, tên hàm có nghĩa, gợi nhớ Chương trình cần được chia thành nhiều mô đun (hàm Sử dụng các ký hiệu, từ tiếng Anh có Không viết hàm quá dài nghĩa • không quá 2 trang màn hình Làm cho dễ đọc • tạo ra các hàm thứ cấp để giảm độ dài từng hàm • dùng DateOfBirth hoặc date_of_birth Không dùng quá nhiều biến cục bộ • không viết dateofbirth • không thể theo dõi đồng thời hoạt động của nhiều biến Tránh đặt tên quá dài (vd. không quá 7 biến cục bộ) • không đặt tên dài với các biến cục bộ Thống nhất cách dùng • i cho vòng lặp, tmp cho các giá trị tạm thời... Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 17 Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 18
  4. PHONG CÁCH LẬP TRÌNH – Câu lệnh PHONG CÁCH LẬP TRÌNH – Xử lý lỗi Các câu lệnh phải mô tả cấu trúc Có thể phát hiện lỗi trong khi thực hiện • tụt lề, dễ đọc, dễ hiểu • lỗi chia 0 Làm đơn giản các lệnh • lỗi input/output, … • mỗi lệnh trên một dòng Xử lý lỗi • triển khai các biểu thức phức tạp • nhất quán trong xử lý • hạn chế truyền tham số là kết quả của hàm, biểu thức • phân loại lỗi printf("%s", strcpy(des, src)); • thống nhất định dạng thông báo,… • phân biệt output và thông báo lỗi Tránh các cấu trúc phức tạp • các lệnh if lồng nhau • điều kiện phủ định if not Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 19 Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 20 PHONG CÁCH LẬP TRÌNH – Xử lý lỗi PHONG CÁCH LẬP TRÌNH – Xử lý lỗi 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 ngữ hướng đối tượng double MyDivide(double num, double denom) • môđun xử lý ném ra một ngoại lệ (đối tượng chứa { thông tin lỗi) if (denom == 0.0) { • môđun điều khiển bắt ngoại lệ (nếu có) throw invalid_argument(”The denom cannot be 0.”); Tách phần xử lý lỗi khỏi phần cài đặt thuật toán } thông thường, làm cho chương trình dễ đọc hơn else { Dễ dùng hơn, an toàn hơn return num / denom; } } Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 21 Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 22 PHONG CÁCH LẬP TRÌNH – Xử lý lỗi PHONG CÁCH LẬP TRÌNH Ngoại lệ: bắt ngoại lệ Phong cách lập trình tốt try { result = 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 chuẩn catch (invalid_argument& e) { cerr
  5. KỸ THUẬT LẬP TRÌNH KỸ THUẬT LẬP TRÌNH – tránh lỗi Tránh lỗi Tránh các cấu trúc nguy hiểm Phòng thủ Số thực Con trỏ Thứ lỗi Cấp phát bộ nhớ Đệ quy Xây dựng hệ thống tin cậy Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 25 Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 26 KỸ THUẬT LẬP TRÌNH – phòng thủ KỸ THUẬT LẬP TRÌNH – thứ lỗi Defensive programming Fault tolerance programming Dự đoán khả năng xuất hiện lỗi • Lệnh vào FILE* fp; ra N - version Phát version 1 hiện lỗi • Các phépif (NULL == (fp = toán fopen("data", "r")) { Định ra mức độ thiệt hại FILE* fp; • Thao fp = fopen("data", tác với bộ nhớ fprintf(stderr, "can not Hồi phục sau khi gặp comparison version 2 lỗi open file..."); "r"); Khắc phục lỗi ... Chữa lỗi • lưu trạng } thái an toàn • quay lại trạng thái an toàn gần nhất version 3 Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 27 Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 28 TỔNG KẾT 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ệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 29
Đồng bộ tài khoản