Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM Tổng quan về lập trình máy tính Chương 1: Giảng viên: Ths.. Các bước xây dựng chương trình Xác định vấn đề - bài toán Lựa chọn phươn
Trang 1Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Tổng quan về lập trình máy tính
Chương 1:
Giảng viên: Ths Nguyễn Thị Khiêm Hòa
1
Trang 4Các khái niệm cơ bản
Lập trình máy tính
Gọi tắt là lập trình (programming)
Nghệ thuật cài đặt một hoặc nhiều thuật toán trừu tượng có liên quan với nhau bằng một ngôn ngữ lập trình để tạo ra một chương trình máy tính
Thuật toán
Là tập hợp (dãy) hữu hạn các chỉ thị (hành động) được bố trí theo một trình tự xác định được đề ra trước nhằm giải quyết một bài toán
cụ thể nào đó
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
4
Trang 5Các khái niệm cơ bản
• Phương trình có nghiệm duy nhất x = -b/a
Đầu vào: a, b thuộc R
Đầu ra: nghiệm phương trình ax + b = 0
Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
5
Trang 6Các tính chất của thuật toán
Trang 7Các bước xây dựng chương trình
Xác định vấn đề
- bài toán
Lựa chọn phương pháp giải
Cài đặt chương trình
Hiệu chỉnh chương trình
Thực hiện chương trình
7 Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Trang 8Đầu vào: a, b thuộc R
Đầu ra: nghiệm phương trình ax + b = 0
8 Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Trang 9Sử dụng lưu đồ - sơ đồ khối
Trang 10Sử dụng lưu đồ - sơ đồ khối
Trang 11Sử dụng mã giả
Vay mượn ngôn ngữ nào đó (ví dụ Pascal) để
biểu diễn thuật toán
Xuất “Phương trình có nghiệm x = -b/a”
Đầu vào: a, b thuộc R
Đầu ra: nghiệm phương trình ax + b = 0
11 Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Trang 12Sử dụng ngôn ngữ lập trình
Dùng một ngôn ngữ lập trình để thực hiện cài
đặt (C#)
12 Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Trang 13Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Các mô hình phát triển phần mềm
Mô hình thác nước (Waterfall model)
Mô hình thăm dò (Spiral model)
Tạo nguyên mẫu
Biến đổi hình thức
Tập hợp các thành phần dùng lại
13
Trang 14Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Không cho phép thay đổi nhiều theo các đặc
tả yêu cầu của hệ thống
14
Trang 15Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Trang 16Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Tạo nguyên mẫu (prototype)
Phát triển hệ thống cho người sử dụng dùng rồi
tạo ra nguyên mẫu
Ưu điểm:
Linh hoạt trong việc thay đổi yêu cầu
Rút ngắn thời gian phát triển
Nhược điểm:
Không thích hợp trong dự án lớn
16
Trang 17Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Các cách tiếp cận trong lập trình
Lập trình tuần tự: Assembler, basic
Chương trình quá dài, khó nhớ
Khó kiểm soát lỗi
17
Trang 18Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Dùng lại các đoạn chương trình
Chương trình = CTDL + giải thuật
Trang 19Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Lập trình hướng đối tượng
(Object Oriented Programming – OOP)
Lập trình hướng đối tượng
Là phương pháp lập trình thực hiện việc hợp nhất thành
phần dữ liệu và thao tác thành một, cho phép chúng ta
định nghĩa một đối tượng (Object) theo cách mà chúng ta
nghĩ về thế giới quanh mình (data) và gắn các hành động
cụ thể trên đối tượng đó (Method)
Đối tượng (Object)
Mô tả một thực thể hay một quan hệ trong thế giới thực
Đối tượng = Dữ liệu + Hành vi
19
Trang 20Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Trang 21Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Một số nguyên tắc cơ bản
Trừu tượng hóa (Abstraction)
Mô tả bài toán với những khía cạnh quan trọng nhất
21
Trang 22Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
là gì?”
22
Trang 23Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Một số nguyên tắc cơ bản
Đóng gói (Encapsulation)
Là sự che giấu dữ liệu cấm truy xuất trực tiếp từ bên
ngoài mà phải thông qua giao diện người dùng nhắm bảo
vệ dữ liệu và tăng tính mềm dẻo cho hệ thống
23
Trang 24Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Một số nguyên tắc cơ bản
Đóng gói (Encapsulation)
Các phương thức chung của đơn hàng
Lớp đối tượng Bên ngoài
TaoDH CapnhatDH GiatriDH
Trang 25Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
public:
TaoDH( ) CapnhatDH( ) GiatriDH( )
25
Trang 26Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
26
Trang 27Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Một số nguyên tắc cơ bản
Kế thừa (Inherritance)
Là sự chia sẻ các thuộc tính (Data) và phương thức
(Method) của các lớp cơ sở trên quan niệm phân cấp
(Hierarchy) nhằm tăng mức độ trừu tượng hoá và
giảm sự trùng lắp thông tin
Tăng tính tái sử dụng của hệ thống
27
Trang 28Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
(Kết hợp)
Phieunhapkho
và Phieuxuatkho
kế thừa từ Phieukho
Kế thừa (Inherritance)
28
Trang 29Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Phát triển hệ thống hướng đối tượng
Kiến trúc n_Tier và n_Layer
Browsers
Data tier Business tier
Web Server Local clients
Presentation tier
Data
Business logic Data Access
Trang 30Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Vai trò của các layer
GUI (Presentation) Layer: Nhập liệu và trình bày dữ liệu, có thể bao
gồm các bước kiểm tra dữ liệu trước khi gọi Business Logic
Layer
Business Logic Layer: Kiểm tra các yêu cầu nghiệp vụ trước khi
cập nhật dữ liệu, quản lý các Transaction, quản lý các concurrent
access
Data Access Layer: Kết nối CSDL, tìm kiếm, thêm, xóa, sửa,…trên
CSDL
30
Trang 31Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Trang 32Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Môi trường phần mềm trước đây
Đối với người phát triển ứng dụng
Luôn quan tâm đến hệ điều hành
Luôn quan tâm đến ngôn ngữ
Không tích hợp được những ngôn ngữ khác nhau
Bất lợi của DLL và đăng ký vào registry
Phải xác định thiết bị truy cập
Khó khăn khi phát triển ứng dụng phân tán
Đối với người dùng
Bất lợi khi cài đặt ứng dụng
Các trang web không tương tác với nhau
32
Trang 33Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Nền tảng công nghệ NET
33
Trang 34Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Multimedia: Giới thiệu Microsoft Net
34
Trang 35Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Kiến trúc NET framwork
35
Trang 36Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Kiến trúc NET framwork
36
Trang 37Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Kiến trúc NET framwork
Intermediate Languge
CLR for Linux CLR for
Windows
CLR for Unix NET Compiler
Linux Native code Windows Native
code
Unix Native code
37
Trang 38Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Multimedia: Giới thiệu Microsoft Net framework
38
Trang 39Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Tính năng của visual studio NET
39
Trang 40Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Giới thiệu C#
Xây dựng dựa trên việc kế thừa C++ và Java
Dễ sử dụng hơn C++
Là ngôn ngữ hướng đối tượng
Ngôn ngữ đơn giản, an toàn, ít từ khóa (80 từ
khóa)
40
Trang 41Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Viết một ứng dụng trên Console
41
Trang 42Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Viết một ứng dụng trên Console
Viết đoạn mã sau:
/* Use the system console object as
explained in the text */
}
42
Trang 43Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Viết một ứng dụng trên Console
Sau khi viết xong, nhấn Ctrl+F5 để chạy chương
trình
Cũng có thể soạn thảo trên Notepad, lưu file có
phần mở rộng là cs, sau đó từ dấu nhắc DOS
command promt, gõ lệnh:
csc <tên file>.cs
43
Trang 44Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Trang 45Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Hướng đối tượng
Dựa trên nền tảng component
CLR (gồm CTS, CLS ), FCL là nền tảng
45
Trang 46Khoa Công nghệ Thông tin – Đại học Ngân hàng TP.HCM
Q & A
46