1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài giảng phát triển hệ thống thông tin kinh tế chương 3 thiết kế và lập trình

86 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

CHƯƠNG THIẾT KẾ VÀ LẬP TRÌNH 3.1 Mơ hình hóa hệ thống 3.2 Thiết kế hệ thống 3.3 Lập trình 9/5/22 Bộ mơn Cơng nghệ thơng tin - Bài giảng điện tử 2020 75 3.1 Mơ hình hóa hệ thống § Khái niệm “mơ hình” (model): mơ hình thể đối tượng giới thực hệ thống tồn có tương lai § Khái niệm “mơ hình hóa” (modelling): hành động xây dựng mơ hình đối tượng hay xây dựng mơ hình hệ thống 76 Các góc nhìn hệ thống cần mơ hình hóa § Biên hệ thống tương tác hệ thống với người, thiết bị hệ thống bên ngồi § Bên hệ thống thành phần cấu thành hệ thống thành phần có hành vi § Hệ thống cung cấp chức năng, dịch vụ mô tả dạng yêu cầu phần mềm § Các thành phần hệ thống tương tác với nhau, trao đổi (exchange), chuyển đổi (transform) lưu trữ (store) liệu để đáp ứng chức năng, dịch vụ kể 9/5/22 Bộ môn Công nghệ thông tin - Bài giảng điện tử 2020 77 Các góc nhìn hệ thống cần mơ hình hóa § Chức (functionality): hệ thống làm u cầu làm (ví dụ, xử lý liệu), cộng tác/tương tác với ai/thiết bị/hệ thống khác § Dữ liệu (data): mơ hình hóa liệu vào, thao tác, lưu trữ xuất liệu § Sự kiện (sự kiện): mơ hình hóa kiện mà kích hoạt tính hệ thống 9/5/22 Bộ môn Công nghệ thông tin - Bài giảng điện tử 2020 78 Các kỹ thuật mơ hình hóa truyền thống (trước có UML) § Chức — Biểu đồ/ Sơ đồ phân rã chức (Function Decomposition Diagram - FDD) — Biểu đồ/ Sơ đồ luồng liệu ( Data Flow Diagram - DFD) — Biểu đồ/ Sơ đồ luồng (Flow chart ) — Biểu đồ/ Sơ đồ cấu trúc Jackson (Jackson structure chart) § Dữ liệu — Sơ đồ thực thể liên kết ( Entity Relationship Diagram - ERD) — Sơ đồ phân cấp ( Hierarchical tree diagram ) — Biểu đồ/ Sơ đồ bong bóng (Bubble diagram) § 9/5/22 Sự kiện Bộ môn Công nghệ thông tin - Bài giảng điện tử 2020 79 Mơ hình hóa UML § § Chức — Biểu đồ/ sơ đồ ca sử dung (Use case diagram) — Biểu đồ/ sơ đồ hoạt động (Activity diagram) — Biểu đồ/ sơ đồ tương tác (Interaction diagram: sequence & collaboration diagram) Dữ liệu — § Sự kiện — 9/5/22 Biểu đồ/ sơ đồ lớp (Class diagram ) Biểu đồ/ sơ đồ trạng thái (State machine ) Bộ môn Công nghệ thông tin - Bài giảng điện tử 2020 80 Mơ hình chức § Mơ tả chức cần có phần mềm mối quan hệ chức 9/5/22 — Định danh chức (biến đổi liệu thành thông tin) — Xác định cách thức liệu (thông tin) di chuyển hệ thống — Xác định tác nhân đưa vào liệu tác nhân nhận thông tin Bộ môn Công nghệ thông tin - Bài giảng điện tử 2020 81 Biểu đồ phân rã chức (Function Decomposition Diagram) § Xác định phạm vi hệ thống § Phân hoạch chức § Tạo tảng cho thiết kế kiến trúc hệ thống chức 9/5/22 liên kết Bộ môn Công nghệ thông tin - Bài giảng điện tử 2020 82 Biểu đồ luồng liệu (Data Flow Diagram) § Dùng để mơ hình hóa việc xử lý liệu hệ thống § Mơ tả bước xử lý liệu chảy qua hệ thống từ vào hệ thống khỏi hệ thống (end-to-end) 9/5/22 Bộ môn Công nghệ thông tin - Bài giảng điện tử 2020 83 Biểu đồ luồng liệu (Data Flow diagram) § § § § 9/5/22 Tiến trình (chức năng) Tác nhân Kho liệu Luồng di chuyển liệu/ thông tin vào/ tiến trình Bộ mơn Cơng nghệ thơng tin - Bài giảng điện tử 2020 84 3.3.2 Phương pháp lập trình § Lập trình tuyến tính § Lập trình cấu trúc § Lập trình Hướng đối tượng 146 Lập trình tuyến tính § Chương trình viết với câu lệnh thực từ đầu đến cuối § Khó biểu diễn cú pháp có cấu trúc (for, while ) § Thiếu khả khai báo biến cục § Ngơn ngữ lập trình: assembly, 147 Lập trình cấu trúc § Phương pháp lập trình thủ tục hay lập trình cấu trúc: — Hệ thống chia chức (hàm) thành chức nhỏ Các chức nhỏ lại chia tiếp thành chức nhỏ khối (hàm) chương trình đủ nhỏ § — Việc phân tích thể trực quan theo sơ đồ khối — Chương trình tổ chức thành chương trình Chương trình = Cấu trúc liệu + giải thuật 148 Lập trình cấu trúc § Lập trình có cấu trúc sử dụng lệnh có cấu trúc, sử dụng chương trình con, biến cục § Các ngơn ngữ hỗ trợ lập trình hướng cấu trúc phổ biến Pascal, C, Foxpro § Lập trình hướng cấu trúc trở nên phổ biến năm 80 đầu năm 90, hạn chế nhược điểm rõ ràng lập trình hệ thống lớn, lập trình hướng cấu trúc dần bị thay phương pháp lập trình hướng đối tượng 149 Lập trình Hướng đối tượng § Dữ liệu + Hành vi thao tác với liệu = Đối tượng § Như vậy, đối tượng có khả nhận vào thông báo, xử lý liệu (bên nó), gửi hay trả lời đến đối tượng khác hay đến mơi trường § Các ngơn ngữ hỗ trợ lập trình hướng đối tượng phổ biến là: C#, C++, Java, Perl, PHP, Smalltalk 150 3.3.3 Ngôn ngữ lập trình § Đối với dự án phần mềm khác người ta lựa chọn ngôn ngữ lập trình phù hợp Tuy nhiên, ngơn ngữ lập trình lựa chọn cần có đặc trưng sau: — Dễ dịch thiết kế sang chương trình — Có trình biên dịch hiệu — Khả chuyển chương trình gốc — Có sẵn cơng cụ phát triển — Dễ bảo trì 151 Lựa chọn ngơn ngữ lập trình § Dựa vào: — Đặc trưng ngơn ngữ: • Năng lực (kiểu biến, cấu trúc): Có cấu trúc, câu lệnh phong phú, hỗ trợ nhiều kiểu liệu, hỗ trợ trỏ, đệ qui, hỗ trợ hướng đối tượng, thư viện phong phú • Tính khả chuyển: thay đổi phần cứng, thay đổi OS • Mức độ hỗ trợ công cụ (editor, debugger, linker, make ): nhằm hỗ trợ biên dịch tốc độ cao, khả tối ưu cao, khả khai thác tập lệnh, kiến trúc phần cứng — Miền ứng dụng ngôn ngữ — Năng lực, kinh nghiệm nhóm phát triển — Yêu cầu khách hàng 152 Lựa chọn ngôn ngữ lập trình § Các đặc trưng ngơn ngữ lập trình định miền ứng dụng ngơn ngữ Miền ứng dụng yếu tố để lựa chọn ngôn ngữ cho dự án phần mềm § Ngơn ngữ FORTRAN: có khả tính tốn với độ xác cao thư viện tốn học phong phú thường sử dụng dự án phần mềm lĩnh vực khoa học kỹ thuật § COBOL: ngôn ngữ cho ứng dụng kinh doanh khai thác CSDL lớn Tuy nhiên, ngôn ngữ hệ thứ tư chiếm ưu so với COBOL 153 Lựa chọn ngôn ngữ lập trình § C: ngơn ngữ hay chọn cho việc phát triển phần mềm hệ thống § LISP, PROLOG hay OPS5: ngôn ngữ thường dùng ứng dụng trí tuệ nhân tạo thời trước, ngày đa phần Python § C++: Với đặc trưng hướng đối tượng, tính hiệu thực có nhiều công cụ thư viện, C++ sử dụng rộng rãi lĩnh vực phát triển ứng dụng nghiệp vụ 154 Lựa chọn ngôn ngữ lập trình § Java: ngơn ngữ hướng đối tượng sử dụng rộng rãi cho phát triển dịch vụ Web phần mềm nhúng lý độ an tồn cao, tính sáng, tính khả chuyển hướng thành phần § ASP.NET, JavaScript: Các ngơn ngữ sử dụng rộng rãi lập trình Web 155 3.3.4 Phong cách lập trình § Phong cách lập trình coi tốt khi: — — § Tuân theo chuẩn thông dụng Chú giải đầy đủ không tuân theo chuẩn Tuân theo chuẩn: — — — — Cách đặt tên hàm biến Cách xây dựng câu lệnh, cấu trúc chương trình Các viết thích Cách xử lý lỗi è Nhằm hướng tới phong cách làm cho mã nguồn: dễ hiểu, dễ sửa đổi, an tồn (ít lỗi) 156 Cách đặt tên hàm biến § Đặt tên biến, tên hàm có nghĩa, gợi nhớ § Sử dụng ký hiệu, từ tiếng Anh có nghĩa § Viết tên hàm dễ đọc: ví dụ viết DateOfBirth thay cho dateofbirth § Tránh đặt tên dài § Thống cách dùng biến tồn chương trình 157 Cách xây dựng cấu trúc chương trình § Chương trình cần chia thành nhiều mô đun (hàm) Không viết hàm dài: — Không 25 dòng — Tạo hàm thứ cấp để giảm độ dài hàm — Không dùng nhiều biến cục bộ: lập trình viên khó theo dõi đồng thời hoạt động nhiều biến (thông thường mô đun không biến cục bộ) 158 Cách viết thích § Mọi thứ chương trình thích — Mục đích sử dụng biến — Chức 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 mơ đun • Mục đích, chức mơ đun • Tham số, giá trị trả lại (giao diện) - mô đun thuộc cấp • Cấu trúc, thuật tốn • Nhiệm vụ biến cục - tác giả, người kiểm tra, thời gian 159 Cách xử lý lỗi § § Nhất quán xử lý lỗi: — Phân loại lỗi — Thống định dạng thơng báo lỗi,… Có thể phát lỗi thực hiện, ví dụ lỗi chia cho Các hàm thư viện nên tránh việc tự đưa thông báo lỗi 160

Ngày đăng: 27/07/2023, 08:39

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w