Phát triển ứng dụng - Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review)
Bạn đang xem 20 trang mẫu của tài liệu "Phát triển ứng dụng - Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- phat_trien_ung_dung_phan_lap_trinh_huong_doi_tuong_ho_tro_xa.pptx
Nội dung text: Phát triển ứng dụng - Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review)
- Môn: PHÁT TRIỂN ỨNG DỤNG Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review)
- Nội dung 1. Lập trình hướng đối tượng 1.1. Đối tượng, lớp 1.2. Thừa kế, đa hình, trừu tượng hóa 2. Lập trình giao diện 3. Lưu trữ tập tin 3.1. Binary File 3.2. Serialization 3.3. XML File 4. Lập trình cơ sở dữ liệu 4.1. SQL (DDL, DML) 4.2. Các đối tượng truy vấn cơ sở dữ liệu 4.2. Thao tác insert, update, delete, select với cơ sở dữ liệu Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review) 2
- 1. Lập trình hướng đối tượng OOP – Object Oriented Programming. Chương trình là sự hoạt động của các đối tượng → Giống tự nhiên. Đối tượng thực thi một hoạt động tức là đối tượng thực hiện một hành vi mà đối tượng này có khả năng. Một chương trình là một trật tự các lời yêu cầu đối tượng thực hiện hành vi của mình. Đóng gói dữ liệu nên hạn chế việc truy cập tự do (private trong hướng đối tượng, chỉ các phương thức thuộc lớp mới truy cập được) làm không kiểm soát được việc cập nhật dữ liệu Sử dụng lại mã nguồn, hạn chế việc viết lại mã nguồn Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review) 3
- 1. Lập trình hướng đối tượng (tt) Đối tượng (object): dữ liệu + hành vi. Đối tượng phải thuộc một lớp (class). Một nhóm đối tượng được biễu diễn bởi Lớp(class) Lớp= data (biến, thuộc tính) + methods (code). Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review) 4
- 1. Lập trình hướng đối tượng (tt) Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review) 5
- 1. Lập trình hướng đối tượng (tt) Phương pháp tiếp cận hướng đối tượng Đặc trưng (tính chất) Trừu tượng (Abtraction) Đóng gói/Che dấu thông tin (Encapsulation - Information hiding) Thừa kế (Inheritance) Đa hình (Polymophism) Ưu điểm Khi thay đổi cấu trúc dữ liệu thì không cần thay đổi mã nguồn của đối tượng khác Có thể sử dụng lại mã nguồn, tiết kiệm tài nguyên PP tiếp cận HĐT phù hợp với các dự án phần mềm lớn, phức tạp Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review) 6
- 1. Lập trình hướng đối tượng (tt) Giải bài toán theo OOP Program class XX pick properties { type1 prop1; nouns type2 prop2; type Method1( ) { Problem Bao gói dữ liệu và } hành vi thành class }; pick Operation verbs void main() (function, { X x; // object variable method, x.Method( ); behavior) }; Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review) 7
- 1. Lập trình hướng đối tượng (tt) Trừu tượng hoá đối tượng theo dữ liệu (Abstraction) Kế thừa (Inheritance) Đóng gói (Encapsulation) Đa hình (Polymorphism) Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review) 8
- 2. Lập trình giao diện Nguyên tắc cơ bản trong thiết kế giao diện Dễ học: Phần mềm cần phải dễ học cách sử dụng, do đó người dùng có thể nhanh chóng bắt đầu làm việc sử dụng phần mềm đó Quen thuộc với người sử dụng: Giao diện nên dùng các thuật ngữ và khái niệm rút ra từ kinh nghiệm của những người sẽ dùng hệ thống nhiều nhất Tính nhất quán: giao diện cần nhất quán sao cho các thao tác gần giống nhau có thể được kích hoạt theo cùng kiểu. Ngạc nhiên tối thiểu: Người dùng không bao giờ bị bất ngờ về hành vi của hệ thống Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review) 9
- 2. Lập trình giao diện (tt) Nguyên tắc cơ bản trong thiết kế giao diện (tt) Khôi phục được: Giao diện nên có các cơ chế cho phép người dùng khôi phục lại tình trạng hoạt động bình thường sau khi gặp lỗi Hướng dẫn người dùng: Giao diện nên có phản hồi có nghĩa khi xảy ra lỗi và cung cấp các tiện ích trợ giúp theo ngữ cảnh Người dùng đa dạng: Giao diện nên cung cấp các tiện ích tương tác thích hợp cho các loại người dùng hệ thống khác nhau Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review) 10
- 2. Lập trình giao diện (tt) Các kiểu tương tác phổ biến trên giao diện: Thao tác trực tiếp – Direct manipulation Chọn lựa bằng menu – Menu selection Điền form – Form fill-in Dòng lệnh – Command language Ngôn ngữ tự nhiên – Natural language Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review) 11
- 2. Lập trình giao diện (tt) Các loại màn hình cho ứng dụng Loại màn hình Ý nghĩa sử dụng Nội dung màn hình Màn hình chính Cho phép người sử dụng chọn công việc Danh sách các công mong muốn thực hiện. việc. Màn hình nhập dữ liệu Cho phép người sử dụng thực hiện lưu Các thông tin cần được trữ các thông tin được phát sinh. lưu trữ. Màn hình nhập liệu xử Cho phép người sử dụng cung cấp các Các thông tin phải lý thông tin cần thiết cho việc thực hiện một cung cấp. công việc nào đó. Màn hình kết quả Hiển thị cho người sử dụng kết quả của Các kết quả. một công việc nào đó. Màn hình thông báo Thông báo, nhắc nhở người sử dụng Các thông báo. trong quá trình thực hiện một công việc nào đó. Màn hình tra cứu Cho phép tìm kiếm các thông tin đã được Các tiêu chí tra cứu. lưu trữ trong ứng dụng. Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review) 12
- 2. Lập trình giao diện (tt) Tính tiện dụng ◼ Màn hình trực quan (giao diện đồ họa) Lấy ý tưởng từ thực tế ◼ Thân thiện, tự nhiên Lấy ý tưởng từ thực tế Dùng ngôn ngữ của người sử dụng Không được làm NSD ngạc nhiên ◼ Dễ dàng truy xuất qua các màn hình khác ◼ Nên gói gọn 1 công việc trong 1 màn hình (không cho màn hình trôi, không qua nhiều màn hình). ◼ Không nhúng 2 công việc trên 1 màn hình Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review) 13
- 2. Lập trình giao diện (tt) Tính hiệu quả: ◼ Tốc độ: Ít thao tác, nếu có thao tác phải nhanh. Hỗ trợ bằng giá trị định sẵn. Phím tắt, biểu tượng. ◼ Hạn chế lỗi cho người sử dụng: Không tạo cơ hội cho người sử dụng làm sai (sử dụng list box, nhắc nhở, ) ◼ Cơ hội sửa lỗi (undo). Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review) 14
- 2. Lập trình giao diện (tt) Tính nhất quán: ◼ Những thành phần trên màn hình có ý nghĩa tương tự thì phải giống nhau về mặt Vị trí, Ngôn ngữ, Hình dáng, Màu sắc và Cách kích hoạt. Tính mỹ thuật: ◼ Màu sắc hài hòa, bắt mắt ◼ Bố cục gọn gàng, hợp lý. Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review) 15
- 2. Lập trình giao diện (tt) Lưu ý Phím nóng và phím tắt: ◼ Chọn công việc thông qua các phím chức năng trên bàn phím. ◼ Phím nóng (Alt + ?) ◼ Phím tắt (Ctrl + ?) Menu ◼ Các công việc có cùng ý nghĩa sử dụng được nhóm lại theo từng nhóm chức năng. ◼ Đây là dạng trình bày thông dụng nhất. Biểu tượng ◼ Chọn công việc thông qua 1 biểu tượng trực quan. Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review) 16
- 2. Lập trình giao diện (tt) Ví dụ menu hướng chức năng Hệ thống (tổ chức) Danh mục (tổ chức) Cập nhật (Lưu trữ) Tìm kiếm (Tra cứu) Xử lý (Tính toán) Báo biểu (Kết xuất) Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review) 17
- 2. Lập trình giao diện (tt) Ví dụ menu hướng đối tượng Các nhóm chức năng tương ứng với các lớp đối tượng Các chức năng bên trong mỗi nhóm chức năng là các công việc liên quan đến lớp đối tượng tương ứng (Lưu trữ, Tra cứu, Tính toán, Kết xuất) Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review) 18
- 2. Lập trình giao diện (tt) Ví dụ menu hướng nghiệp vụ: Các nhóm chức năng tương ứng với các giai đoạn hoạt động của thế giới thực: Tổ chức: Xác định cơ cấu tổ chức, ban hành các qui định Kế hoạch: Lập các kế hoạch cho các hoạt động sắp tới Tiếp nhận: Tiếp nhận các thông tin cần thiết cho hoạt động Hoạt động: Ghi nhận các thông tin phát sinh bởi hoạt động Tổng kết: Tính toán và lập các báo cáo tổng kết Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review) 19
- 2. Lập trình giao diện (tt) Quy trình thiết kế UI Phân tích người sử dụng: tìm hiểu những gì người sử dụng sẽ làm với hệ thống. Lập mẫu thử hệ thống: xây dựng một tập các mẫu thử để thử nghiệm Đánh giá giao diện: thử nghiệm các mẫu thử cùng với người sử dụng. Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review) 20
- 3. Lưu trữ tập tin Tập tin (file) trên đĩa thường chia ra các loại chính: Văn bản: lưu thông tin theo dạng chuỗi ký tự theo mã quy định (ISO8859-1/ASCII, unicode). Nhị phân: thông tin lưu dưới dạng chuỗi byte nhị phân (binary). Dùng để lưu trữ chương trình mã máy, dữ liệu dạng nén, dữ liệu mã hoá, Cấu trúc/mẫu tin: thông tin lưu theo khối có cấu trúc giống nhau Định dạng phần mềm chuyên dụng: thông tin được mã hoá do hãng phần mềm quy định. Muốn đọc được thông tin, cần thực hiện giải mã (chìa khoá giải mã thường phải mua từ hãng phần mềm). ◼ Lưu trữ theo dạng XML (eXtensible Markup Language) Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review) 21
- 3. Lưu trữ tập tin (tt) Nhu cầu ghi/đọc nội dung của các biến dữ liệu thường rơi vào 3 tình huống chính yếu sau đây : 1. Lưu kết quả của phiên làm việc hiện hành để dùng lại cho phiên làm việc kế tiếp. 2. Nhập rất nhiều dữ liệu cho phần mềm. Xuất rất nhiều dữ liệu cho người dùng. Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review) 22
- 3. Lưu trữ tập tin (tt) Các cấp độ đọc/ghi dữ liệu phổ biến Ghi/đọc chuỗi byte thô ra/từ file, ngữ nghĩa của các byte do chương trình tự qui định. Ghi/đọc chuỗi ký tự theo cách mã hóa xác định (ASCII, UTF8, UCS-2, ) ra/từ file. Ghi/đọc các dữ liệu thuộc các kiểu cơ bản định sẵn như bool, byte, int, double, String, ra/từ file theo dạng nhị phân, là dạng mã hóa gốc bên trong chương trình. Ghi/đọc đối tượng và các đối tượng được tham khảo trực tiếp hay gián tiếp bởi đối tượng gốc ra/từ file nhị phân hay file XML. Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review) 23
- 4. Lập trình cơ sở dữ liệu Ngôn ngữ định nghĩa dữ liệu (Data Definition Language - DDL): cho phép khai báo cấu trúc bảng, các mối quan hệ và các ràng buộc. Ngôn ngữ thao tác dữ liệu (Data Manipulation Language - DML): cho phép thêm, xóa, sửa dữ liệu. Ngôn ngữ truy vấn dữ liệu (Structured Query Language – SQL): cho phép truy vấn dữ liệu. Ngôn ngữ điều khiển dữ liệu (Data Control Language – DCL): khai báo bảo mật thông tin, cấp quyền và thu hồi quyền khai thác trên cơ sở dữ liệu. Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review) 24
- 4. Lập trình cơ sở dữ liệu (tt) Ngôn ngữ định nghĩa dữ liệu Lệnh tạo bảng (CREATE) Lệnh sửa cấu trúc bảng (ALTER) ◼ Thêm thuộc tính ◼ Sửa kiểu dữ liệu của thuộc tính ◼ Xoá thuộc tính ◼ Thêm ràng buộc toàn vẹn ◼ Xoá ràng buộc toàn vẹn Lệnh xóa bảng (DROP) Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review) 25
- 4. Lập trình cơ sở dữ liệu (tt) Ngôn ngữ định nghĩa dữ liệu (tt) Tạo bảng: CREATE TABLE ( [not null], [not null], khai báo khóa chính, khóa ngoại, ràng buộc ) Thêm thuộc tính vào bảng (đã tạo) ALTER TABLE tênbảng ADD têncột kiểudữliệu Sửa kiểu dữ liệu thuộc tính (không phải kiểu nào cũng sửa được) ALTER TABLE tênbảng ALTER COLUMN têncột kiểudữliệu_mới Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review) 26
- 4. Lập trình cơ sở dữ liệu (tt) Ngôn ngữ định nghĩa dữ liệu (tt) Xóa thuộc tính ALTER TABLE tên_bảng DROP COLUMN tên_cột Thêm ràng buộc toàn vẹn UNIQUE tên_cột ALTER TABLE PRIMARY KEY (tên_cột) ADD CONSTRAINT FOREIGN KEY (tên_cột) REFERENCES tên_bảng (cột_là_khóa_chính) [ON DELETE CASCADE] [ON UPDATE CASCADE] CHECK (tên_cột điều_kiện) Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review) 27
- 4. Lập trình cơ sở dữ liệu (tt) Ngôn ngữ định nghĩa dữ liệu (tt) Xóa ràng buộc toàn vẹn ALTER TABLE tên_bảng DROP CONSTRAINT tên_ràng_buộc Lưu ý: đối với ràng buộc khóa chính, muốn xóa ràng buộc này phải xóa hết các ràng buộc khóa ngoại tham chiếu tới nó Lệnh xóa bảng DROP TABLE tên_bảng Lưu ý: khi muốn xóa một bảng phải xóa tất cả những khóa ngoại tham chiếu tới bảng đó trước. Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review) 28
- 4. Lập trình cơ sở dữ liệu (tt) Ngôn ngữ thao tác dữ liệu Thêm dữ liệu INSERT INTO tên_bảng (cột1, ,cộtn) VALUES (giá_trị_1, ., giá_trị_n) INSERT INTO tên_bảng VALUES (giá_trị_1, giá_trị_2, , giá_trị_n) Sửa dữ liệu UPDATE tên_bảng SET cột_1 = giá_trị_1, cột_2 = giá_trị_2 . [WHERE điều_kiện] Xóa dữ liệu DELETE FROM tên_bảng [WHERE điều_kiện] Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review) 29
- 4. Lập trình cơ sở dữ liệu (tt) Ngôn ngữ thao tác dữ liệu (tt) Ngôn ngữ truy vấn dữ liệu có cấu trúc Câu truy vấn tổng quát SELECT [DISTINCT] *|tên_cột | hàm FROM bảng [WHERE điều_kiện] [GROUP BY tên_cột] [HAVING điều_kiện] [ORDER BY tên_cột ASC | DESC] Phép kết: Inner Join, Left Join, Right Join, Full Join Đặt alias, sử dụng *, distinct tên_cũ AS tên_mới Distinct: trùng chỉ lấy một lần Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review) 30
- 4. Lập trình cơ sở dữ liệu (tt) Các toán tử ◼ Toán tử so sánh: =, >, =, ◼ Toán tử logic: AND, OR, NOT ◼ Phép toán: +, - ,* , / ◼ BETWEEN . AND ◼ IS NULL, IS NOT NULL ◼ LIKE (_ %) % : thay thế một chuỗi ký tự bất kỳ _ : thay thế một ký tự bất kỳ ◼ IN, NOT IN ◼ EXISTS , NOT EXISTS ◼ SOME, ALL Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review) 31
- 4. Lập trình cơ sở dữ liệu (tt) Câu truy vấn con (subquery) ◼ In hoặc Exists Tìm các số hóa đơn mua cùng lúc 2 sản phẩm có mã số “BB01” và “BB02”. select distinct sohd from CTHD where masp='BB01' and sohd IN (select distinct sohd from CTHD where masp='BB02') select distinct A.sohd from CTHD A where A.masp='BB01' and EXISTS (select * from CTHD B where B.masp='BB02‘ and A.sohd=B.sohd) Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review) 32
- 4. Lập trình cơ sở dữ liệu (tt) Câu truy vấn con (subquery) (tt) ◼ Not In hoặc Not Exists Tìm các số hóa đơn có mua sản phẩm mã số ‘BB01’ nhưng không mua sản phẩm mã số ‘BB02’. select distinct sohd from CTHD where masp='BB01' and sohd NOT IN (select distinct sohd from CTHD where masp='BB02') select distinct A.sohd from CTHD A where A.masp='BB01' and NOT EXITST (select * from CTHD B where B.masp='BB02‘ and A.sohd=B.sohd) Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review) 33
- 4. Lập trình cơ sở dữ liệu (tt) Câu truy vấn con (subquery) (tt) ◼ Sử dụng NOT EXISTS Tìm số hóa đơn đã mua tất cả những sản phẩm do “Việt Nam” sản xuất. Select sohd from HOADON where not exists (select * from SANPHAM where nuocsx=‘Việt Nam’ and not exists (select * from CTHD where HOADON.sohd=CTHD.sohd and CTHD.masp=SANPHAM.masp)) Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review) 34
- 4. Lập trình cơ sở dữ liệu (tt) Các hàm tính toán cơ bản ◼ COUNT: Đếm số bộ dữ liệu của thuộc tính ◼ MIN: Tính giá trị nhỏ nhất ◼ MAX: Tính giá trị lớn nhất ◼ AVG: Tính giá trị trung bình ◼ SUM: Tính tổng giá trị các bộ dữ liệu Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review) 35
- Phần: Lập trình hướng đối tượng hỗ trợ xây dựng ứng dụng (review) 36