Phân tích thiết kế phần mềm -Kỹ thuật cài đặt phần mềm

Chia sẻ bởi Nguyễn Hữu Duy | Ngày 10/05/2019 | 61

Chia sẻ tài liệu: Phân tích thiết kế phần mềm -Kỹ thuật cài đặt phần mềm thuộc Tin học 11

Nội dung tài liệu:

Thảo luận
Phân tích thiết kế phần mềm
Kỹ thuật lập trình phần mềm
Nội dung
Lập trình hiệu quả
Ngôn ngữ lập trình
Phong cách lập trình
Lập trình tránh lỗi
1.1 Khái niệm lập trình hiệu quả
Sản phẩm phần mềm tốt khi:
Phân tích tốt
Thiết kế tốt
Lập trình tốt
Kiểm thử chặt chẽ
Kỹ thuật lập trình tốt:
Chuyên nghiệp (tuân theo các chuẩn)
Ổn định
Hiệu quả


1.Lập trình hiệu quả
Khái niệm lập trình hiệu qủa
Tốc độ viết mã nguồn
Tiến trình của kỹ thuật lập trình
1.1 Khái niệm lập trình hiệu quả(t)
Lập trình hiệu quả hơn, sản phẩm rẻ tiền hơn
Tốc độ phát triển cao hơn
Năng lực biểu diễn
Khả năng sử dụng lại
Dễ bảo trì hơn
Dễ hiểu, sửa đổi, thích nghi
Chất lượng cao hơn
Sử dụng các cấu trúc an toàn hơn
Chương trình cần dễ hiểu
1.2 Tốc độ viết mã nguồn
Tốc độ phát triển cao khác với làm ngắn chương trình nguồn
Tốc độ không tỉ lệ thuận với số dòng lệnh
Câu lệnh phức tạp làm giảm độ dễ hiểu
Ngôn ngữ ở mức cao
Năng lực biểu diễn cao
Tốc độ phát triển nhanh
1.3 Tiến trình của kỹ thuật lập trình
Lập trình tuần tự
Lập trình có cấu trúc
Lập trình hướng chức năng
Lập trình hướng đối tượng
Lập trình thế hệ thứ 4
Lập trình tuần tự
Không có/thiếu các lệnh có cấu trúc
Lạm dụng các lệnh GOTO
Thiếu khả năng khai báo các biến cục bộ
Ngôn ngữ: thế hệ 1, 2: Assembly, Basic

Độ ghép nối cao
Chương trình khó sửa, dễ lỗi, khó hiểu
Lập trình có cấu trúc
Sử dụng các lệnh có cấu trúc
Cấm/hạn chế sử dụng lệnh GOTO
Sử dụng chương trình con, biến cục bộ
Ngôn ngữ: thế hệ 2,3: Foxtran, Pascal, C

Dễ hiểu, an toàn hơn
Lập trình hướng chức năng
Dựa trên nguyên tắc ghép nối dữ liệu
Trao đổi dữ liệu bằng tham số và giá trị trả lại
Loại bỏ hoàn toàn dữ liệu dùng chung
Loại bỏ các hiệu ứng phụ khi sửa đổi các module chương trình; nâng cáo tính tái sử dụng
Lập trình hướng đối tượng
Bao gói và che dấu thông tin
Thao tác với dữ liệu qua các giao diện xác định
Kế thừa
Ngôn ngữ hướng đối tượng: C++, Java, C#


Cục bộ hơn
Dễ tái sử dụng hơn
Thuận tiện cho các ứng dụng lớn
Dễ thực hiện sửa đổi

2.Ngôn ngữ lập trình
Lựa chọn ngôn ngữ
Năng lực của ngôn ngữ
Tính khả chuyển
Công cụ
Miền ứng dụng và ngôn ngữ
2.1 Lựa chọn ngôn ngữ
Đặc trưng của ngôn ngữ
Năng lực (kiểu biến, các cấu trúc)
Tính khả chuyển
Mức độ hỗ trợ các công cụ
Miền ứng dụng của ngôn ngữ
Lập trình hệ thống
Nghiệp vụ, kinh doanh
Khoa học kỹ thuật
Trí tuệ nhân tạo
Năng lực và kinh nghiệm của nhóm phát triển
Yêu cầu của khách hàng
2.2 Năng lực của ngôn ngữ
Ngôn ngữ bậc cao:
Có cấu trúc, câu lệnh phong phú
Hỗ trợ nhiều kiểu dữ liệu
Hỗ trợ con trỏ, đệ quy
Hỗ trợ hướng đối tượng
Thư viện phong phú

nên dùng ngôn ngữ bậc cao (hơn)

2.3 Tính khả chuyển
Yếu tố quan trọng của ngôn ngữ, cần khi:
Thay đổi phần cứng
Thay đổi hệ điều hành

Java khả chuyển
Các ngôn ngữ thông dịch(script) khả chuyển

Sử dụng tính năng chuẩn của ngôn ngữ
Sử dụng script khi có thể
2.4 Công cụ hiệu quả
Trình biên dịch hiệu quả
Biên dịch tốc độ cao
Khả năng tối ưu cao
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 …
IDE (Integrated Develop Environment)
2.5 Miền ứng dụng và ngôn ngữ
Phần mềm hệ thống
Hiệu quả, vạn năng, dễ mở rộng
C,C++
Hệ thời gian thực: C, C++, Ada, Asembly
Hệ thống nhúng: C++, Java
Phần mềm khoa học kỹ thuật:
Tính toán chính xác, thư viện toán học mạnh, dễ dàng song song hóa
Foxtran vẫn phổ biến
2.5 Miền ứng dụng và ngôn ngữ (t)
Phần mềm nghiệp vụ:
CSDL: Oracle, DB2, SQL Server, MySQL
Ngôn ngữ: FoxPro, COBOL, VB, VC++, VC#
Trí tuệ nhân tạo: Lisp, Prolog, OPS5,…
Lập trình Web: ASP, PHP, Java, Java script, Python, Perl…
3. Phong cách lập trình
Bao gồm các yếu tố
Cách đặt tên hàm và biến
Cách xây dựng câu lệnh, cấu trúc chương trình
Cách viết chú thích

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
Người khác có thể hiểu được, bảo trì được
Mã nguồn cần dễ hiểu
Tại sao?
Phần mềm luôn cần sửa đổi, sửa lỗi, nâng cấp
Kéo dài tuổi thọ, nâng cao hiệu quả kinh tế

Nếu không dễ hiểu
Bảo trì tốn thời gian, chi phí cao
Phải bảo trì suốt vòng đời phần mềm
Tác giả cũng khó hiểu
Hệ thống chú thích
Mọi thứ cần được chú thích trong chương trình
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
Chú thích các module
Mục đích, chức năng của module
Tham số, giá trị trả về
Các module 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
Đặt tên
Đặt tên biến, hàm có nghĩa, gợi nhớ
Sử dụng các ký hiệu, từ tiếng Anh có nghĩa
Làm cho dễ đọc
Thay vì dùng fullname
Dùng FullName hoặc full_name
Tránh đặt tên quá dài nhất là các biến cục bộ
Thống nhất cách dùng
Ví dụ i cho vòng lặp, tmp cho các giá trị tạm thời…
Câu lệnh
Các câu lệnh phải mô tả cấu trúc
Vào lề, dễ đọc, dễ hiểu
Làm đơn giản các lệnh
Mỗi lệnh một dòng
Triển khai các biểu thức phức tạp
Hạn chế truyền tham số kết quả của hàm, biểu thức.
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
Hàm và biến cục bộ
Chương trình cần được chia ra thành nhiều module
Không viết hàm quá dài
Không quá 2 trang màn hình
Tạo ra các hàm thức cấp để giảm độ dài từng hàm
Không dùng quá nhiều biến cực bộ
Khó theo dõi đồng thời hoạt động của nhiều biến
Xử lý lỗi
Có thể phát hiện trong khi thực hiện
Lỗi chia 0
Lỗi input/output
Xử lý lỗi
Nhất quán trong xử lý: phân loại lỗi, thống nhất định dạng thông báo
Phân biết output và thông báo lỗi
Các hàm thư viện nên tránh việc tự xử lý, tự đưa thông báo lỗi
Output và thông báo (lỗi)
Output là dữ liệu, còn được dùng làm input cho phần mềm khác
Thông báo (lỗi) là các thông tin nhất thời trạng thái hệ thống, lỗi và cách khắc phục
Cần tách output và thông báo lỗi
Giao diện của module
Thống nhất định dạng
Thứ tự truyền tham số
Kiểm tra tính hợp lệ của dữ liệu
Chỉ thực hiện xử lý với dữ liệu hợp lệ
Làm đơn giản giao diện
Không truyền thừa tham số
Tìm cách kết hợp các khoản mục liên quan
3. Phong cách lập trình tốt
Tuân theo các chuẩn thông dụng
Chuẩn được chấp nhận rộng rãi và dễ hiểu hơn
Chú giải đầy đủ mỗi khi không tuân theo chuẩn
4.Lập trình tránh lỗi
Kỹ thuật lập trình tốt dựa trên các yếu tố
Lập trình có cấu trúc
Dùng các lệnh có cấu trúc
Module hóa
Tránh các cấu trúc nguy hiểm
Đóng gói/ che dấu thông tin
Xây dựng kiểu dữ liệu trừu tượng
Hạn chế thao tác trực tiếp lên thuộc tính
Tránh các cấu trúc nguy hiểm
Số thực
Các phép toán được làm tròn kết quả không chính xác tuyệt đối
So sánh (=) hai số thực là không khả thi
Con trỏ
Khái niệm mức thấp
Có khả năng gây lỗi nghiêm trọng
Dễ nhầm
Tránh các cấu trúc nguy hiểm (t)
Cấp phát bộ nhớ động
Quên giải phóng
Chỉ nên dùng ngôn ngữ hướng đối tượng C#
Đệ quy
Khó hiểu
Dễ nhầm điều kiện dừng
Câu hỏi và thảo luận ?

CẢM ƠN !
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Nguyễn Hữu Duy
Dung lượng: | Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)