Xuất phát từ yêu cầu thực tiễn trên và được sự đồng ý của giáo viên hướng dẫn,chúng tôi chọn đề tài “ chúng tôi chọn đề tài “ Nghiên cứu nền tảng .Net Compact Framework - ứng dụng Nghiên
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THÔNG TIN
Tel (84-511) 3736 949, Fax (84-511) 842
Tel (84-511) 3736 949, Fax (84-511) 842 771 771 Website: itf.ud.edu.vn, E-mail: , E-mail: cntt@ud.e cntt@ud.edu.vn du.vn
LUẬN VĂN TỐT NGHIỆP KỸ SƯ
NGÀNH CÔNG NGHỆ THÔNG TIN
MÃ NGÀNH : 05115
ĐỀ TÀI NGHIÊN CỨU NỀN TẢNG NET COMPACT FRAMEWORK
ỨNG DỤNG XÂY DỰNG CHƯƠNG TRÌNH
QUẢN LÝ THU NHẬP GIA ĐÌNH
Mã
Mã số: số: 08TLT- 08TLT- 027, 04 027, 0411 Ngày bảo vệ: 15
Ngày bảo vệ: 15 - 16/06/2010 - 16/06/2010
SINH
SINH VIÊN VIÊN : : NGUY NGUYỄN ỄN THỊ THỊ NƯƠ NƯƠNG NG
DƯƠNG THỊ HOÀI THƯƠNG LỚP : : 08TLT 08TLT
CBHD : : GV GV ĐẶNG ĐẶNG THIÊN THIÊN BÌNH BÌNH
ĐÀ NẴNG, 06/2010
Trang 2Chúng tôi xin cảm ơn tất cả quý thầy cô trong trường Đại học Bách khoa - Đạihọc Đà Nẵng nói chung, quý thầy cô của khoa Công nghệ Thông tin nói riêng đã tậntình giảng dạy trang bị cho chúng tôi những kiến thức bổ ích trong suốt quá trình họctập.
Chúng tôi mong muốn gửi lời cảm ơn tới tất cả bạn bè đã luôn động viên, góp
ý, giúp đỡ chúng tôi một cách nhiệt tình trong suốt quá trình học tập và hoàn thànhluận văn
Chúng tôi xin cảm ơn tất cả!
Trang 3LỜI CAM ĐOAN
Chúng tôi xin cam đoan : Những nội dung trong luận văn này là do chúng tôi thực hiện dưới sự hướng dẫn trực tiếp của GV Đặng
hướng dẫn trực tiếp của GV Đặng Thiên Bình.Thiên Bình
Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên tác giả,tên công trình, thời gian, địa điểm công bố
Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá,chúng tôi xin chịu hoàn toàn
chúng tôi xin chịu hoàn toàn trách nhiệm.trách nhiệm
Nhóm sinh viên thực hiện Nguyễn Thị Nương
Dương Thị Hoài Thương
Trang 4MỤC LỤC
LỜI MỞ ĐẦU .12
.I Lý do và bối cảnh của đề tài .12
.II Mục đích của đề tài .12
.III Mục tiêu của đề tài .13
.IV Ý nghĩa thực tiễn .13
.V Nội dung chính của đề tài .13
TỔNG QUAN VỀ ĐỀ T ÀI 15
.I Giới thiệu chung về đề tài .15
.II Yêu cầu .15
.III Phương pháp nghiên cứu .15
.IV Phương pháp triển khai .16
.V Công cụ xây dựng đề tài .16
.VI Dự kiến kết quả đạt được .16
CƠ SỞ LÝ THUYẾT 19
.I Sơ lược về Microsoft Net .19
.I.1 Nền tảng và lịch sử của Net .19
.I.2 Kiến trúc của Microsoft Net .20
Kiến trúc của nền tảng Net 20
Mục đích thiết kế Net Framework 21
.I.3 Microsoft Net Framework .21
.I.4 Common Language Runtime(CLR) .22
.II Ngôn ngữ lập trình C# (C Sharp) .23
.II.1 Giới thiệu .23
.II.2 Những chủ đề tiến bộ trong C# .23
.II.3 Các khái niệm lập trình .24
Không gian tên 24
Cấu trúc (Struct) 25
Lớp (Class) 25
Kế thừa 26
Đa hình 26
.III Công nghệ Net Compact Framework .26
.III.1 Giới thiệu về Microsoft net compact framework 26
Net Compact Framework? 26
Thiết bị và nền tảng được hỗ trợ bởi Net Compact Framework 27
Trang 5Kết nối Visual Studio với các thiết bị 29
.III.2 Kiến trúc Net Compact Framework 31
Hardware 32
Operating System 32
Platform Adaptation Layer (PAL) 32
Common Language Runtime (CLR) 33
.III.3 Sự khác nhau giữa net compact framework và net framewo rk .35
Sự khác biệt chính của Net Compact Framework so với Net Framework 35
.Net Compact Framework hỗ trợ và không hỗ trợ cái gì? 35
.III.4 Đồng bộ trong Net Compact Framework (synchronize) .38
Tầm quan trọng của đồng bộ 38
Cơ chế đồng bộ ActiveSync 38
.IV Ngôn ngữ truy vấn có cấu trúc Microsoft SQL Server CE .40
.IV.1 Giới thiệu chung .40
.IV.2 Tạo CSDL Microsoft SQL Server CE 41
.IV.3 Thêm cấu trúc vào một CSDL Microsoft SQL Server CE 42
.IV.4 Lấy dữ liệu bằng SqlCeDataReade r 43
Lấy dữ liệu bằng SqlCeDataReader 43
Sử dụng tham số SQL Commands 45
.IV.5 Lọc một DataSet bằng SqlCeDataAdapter .45
.IV.6 Cập nhật CSDL Microsoft SQL Server CE sử dụng SqlCeDataAdapter 46
.IV.7 Đối tượng SqlCommand với SqlCeCommandBuilder .46
.V Ngôn ngữ đặc tả UML .47
.V.1 Giới thiệu chung .47
.V.2 Các thành phần của ngôn ngữ UML .48
.V.3 Các biểu đồ trong UML .49
Biểu đồ Use case 49
Biểu đồ lớp 49
Biểu đồ đối tượng 49
Biểu đồ trạng thái 50
Biểu đồ trình tự 50
Biểu đồ cộng tác 51
Biểu đồ hoạt động 51
PHÂN TÍCH THIẾT KẾ HỆ THỐNG 53
.I Phát biểu yêu cầu .53
.II Đặc tả yêu cầu .II.1 Yêu cầu chức năng 54 54
Trang 6Yêu cầu lưu trữ 54
Yêu cầu xử lý nghiệp vụ 54
Báo cáo, thống kê 54
.II.2 Yêu cầu phi chức năng .55
Yêu cầu thực thi 55
Các yêu cầu giao tiếp 55
.III Phân tích yêu cầu hệ thống .56
.III.1 Xây dựng biểu đồ Use case biểu diễn các chức năng của hệ thống .56
Biểu đồ Use case hệ thống 56
Biểu đồ Use case Quản lý thu tiền 57
Biểu đồ Use case Quản lý chi tiền 58
Biểu đồ Use case Quản lý kế hoạch chi 59
Biểu đồ Use case Quản lý tài sản gia đình 61
.III.2 Xây dựng biểu đồ hoạt động .62
.IV Thiết kế hệ thống .65
.IV.1 Danh mục từ điển dữ liệu .65
.IV.2 Xây dựng các thực thể 66
.IV.3 Xây dựng biểu đồ lớp .68
.IV.4 Xây dựng biểu đồ tuần tự .68
Biểu đồ tuần tự biểu diễn các chức năng của quản lý thu tiền 68
Biểu đồ tuần tự biểu diễn các chức năng của quản lý chi tiền 70
Biểu đồ tuần tự biểu diễn các chức năng của quản lý kế hoạch 72
Biểu đồ tuần tự biểu diễn các chức năng của quản lý tài sản 74
.IV.5 Biểu đồ gói .76
Kiến trúc tổng quan 76
Mô hình 76
.IV.6 Thiết kế cơ sở dữ liệu .78
Sơ đồ Logic 78
Mô hình chi tiết các lớp đối tượng 78
CÀI ĐẶT – TRIỂN KHAI CHƯƠNG TRÌNH .81
.I Cách thức cài đặt chương trình .81
.II Kết quả Demo của chương trình .81
.II.1 Form chính 81
.II.2 Form quản lý Thu tiền .82
.II.3 Form quản lý Chi tiền .82
.II.4 Form quản lý Tài sản 83
.II.5 Form quản lý Kế hoạch .83
Trang 7.II.6 Form tra cứu thông tin Thu tiền .84
.II.7 Form tra cứu thông tin Chi tiền .84
.II.8 Form tra cứu thông tin Tài sản .85
.II.9 Form tra cứu thông tin Kế hoạch chi .85
.II.10 Form xem số dư .86
.II.11 Form xem Kế hoạch – Chi .86
KẾT LUẬN .88
.I Những kết quả đạt được .88
.I.1 Về mặt lý thuyết .88
.I.2 Về mặt thực nghiệm .88
.II Hạn chế của đề tài .89
.III Hướng phát triển .89
Trang 8HÌNH 4: SỬ DỤNG HỘP THOẠI KẾT NỐI THIẾT BỊ ĐỂ CHỌN KIỂU ĐỂ CHỌN KIỂU THIẾT BỊ
THIẾT BỊ MUỐN KẾT MUỐN KẾT NỐI NỐI 30 30 HÌNH 5: TCP CONNECT TRANSPORT CHO PHÉP CHÚNG TA THIẾT LẬP KẾT NỐI TỚI THIẾT BỊ TCP 30 HÌNH
HÌNH 6: 6: KIẾN KIẾN TRÚC TRÚC NET C NET COMPACT OMPACT FRAMEWORK FRAMEWORK 31 31 HÌNH 7: CÁC LỚP CỦA NET COMPACT FRAMEWORK 34 HÌNH 8 :
HÌNH 8 : KIẾN TRÚC CỦA ACTIVES KIẾN TRÚC CỦA ACTIVESYNC YNC 39 39 HÌNH 9: BIỂU ĐỒ USE CASE HỆ THỐNG 56 HÌNH 10: BIỂU ĐỒ USE
HÌNH 10: BIỂU ĐỒ USE CASE BIỂU DIỄN CHỨC NĂNG QUẢN LÝ CASE BIỂU DIỄN CHỨC NĂNG QUẢN LÝ THU
THU TIỀN TIỀN 58 58 HÌNH 11:
HÌNH 11: BIỂU ĐỒ USE C BIỂU ĐỒ USE CASE BIỂU DIỄN CH ASE BIỂU DIỄN CHỨC NĂNG ỨC NĂNG QUẢN LÝ QUẢN LÝ CHI
CHI TIỀN TIỀN 59 59 HÌNH 12:
HÌNH 12: BIỂU ĐỒ USE C BIỂU ĐỒ USE CASE BIỂU DIỄN CH ASE BIỂU DIỄN CHỨC NĂNG ỨC NĂNG QUẢN LÝ QUẢN LÝ
KẾ HOẠCH CHI TIỀN 61 HÌNH 13: BIỂU
HÌNH 13: BIỂU ĐỒ USE CASE BIỂU DIỄN CHỨC NĂNG QUẢN LÝ ĐỒ USE CASE BIỂU DIỄN CHỨC NĂNG QUẢN LÝ TÀI
TÀI SẢN SẢN 62 62
HÌNH 14: BIỂU ĐỒ HOẠT ĐỘNG CỦA CHỨC NĂNG THÊM THÔNG TIN
TIN 63 63 HÌNH 15: BIỂU ĐỒ HOẠT ĐỘNG CỦA CHỨC NĂNG XÓA THÔNG TIN
TIN 63 63 HÌNH 16: BIỂU ĐỒ HOẠT ĐỘNG CỦA CHỨC NĂNG SỬA THÔNG TIN
64 64 HÌNH 17: BIỂU ĐỒ HOẠT ĐỘNG CỦA CHỨC NĂNG TRA CỨU
THÔN THÔNG G TIN TIN 64 64 HÌNH
HÌNH 18: 18: BIỂU BIỂU ĐỒ ĐỒ LỚP LỚP 68 68
Trang 9HÌNH 19: BIỂU ĐỒ HOẠT ĐỘNG CỦA CHỨC NĂNG THÊM THU TIỀN
TIỀN 69 69 HÌNH 20: BIỂU ĐỒ HOẠT ĐỘNG CỦA CHỨC NĂNG SỬA THU TIỀN
69 69 HÌNH 21: BIỂU ĐỒ HOẠT ĐỘNG CỦA CHỨC NĂNG XÓA THU TIỀN
69 69 HÌNH 22: BIỂU ĐỒ HOẠT ĐỘNG CỦA CHỨC NĂNG TRA CỨU
THÔNG TIN THU TIỀN 70 HÌNH 23: BIỂU ĐỒ HOẠT ĐỘNG CỦA CHỨC NĂNG THÊM CHI TIỀN
70 70 HÌNH 24: BIỂU ĐỒ HOẠT ĐỘNG CỦA CHỨC NĂNG SỬA CHI TIỀN71 HÌNH 25: BIỂU ĐỒ HOẠT ĐỘNG CỦA CHỨC NĂNG XÓA CHI TIỀN71 HÌNH 26: BIỂU ĐỒ HOẠT ĐỘNG CỦA CHỨC NĂNG TRA CỨU
THÔNG TIN CHI TIỀN 72 HÌNH 27: BIỂU ĐỒ HOẠT ĐỘNG CỦA CHỨC NĂNG THÊM KẾ
HOẠCH CHI TIỀN 72 HÌNH 28: BIỂU ĐỒ HOẠT ĐỘNG CỦA CHỨC NĂNG SỬA KẾ HOẠCH CHI
CHI TIỀN TIỀN 73 73 HÌNH 29: BIỂU ĐỒ HOẠT ĐỘNG CỦA CHỨC NĂNG XÓA KẾ HOẠCH CHI
CHI TIỀN TIỀN 73 73 HÌNH 30: BIỂU ĐỒ HOẠT ĐỘNG CỦA CHỨC NĂNG TRA CỨU KẾ
HOẠCH CHI TIỀN 74 HÌNH 31: BIỂU ĐỒ HOẠT ĐỘNG CỦA CHỨC NĂNG THÊM TÀI SẢN
74 74 HÌNH 32: BIỂU ĐỒ HOẠT ĐỘNG CỦA CHỨC NĂNG SỬA TÀI SẢN75 HÌNH 33: BIỂU ĐỒ HOẠT ĐỘNG CỦA CHỨC NĂNG XÓA TÀI SẢN75 HÌNH 34: BIỂU ĐỒ HOẠT ĐỘNG CỦA CHỨC NĂNG TRA CỨU TÀI SẢN
SẢN 76 76 HÌNH 35: BIỂU ĐỒ GÓI 77 HÌNH 36:SƠ ĐỒ LOGIC CƠ SỞ DỮ LIỆU 78 HÌNH 37: MÔ HÌNH CƠ SỞ DỮ LIỆU CỦA BẢNG THU TIỀN 78
Trang 10HÌNH 38:
HÌNH 38: MÔ HÌNH MÔ HÌNH CƠ SỞ CƠ SỞ DỮ LIỆU C DỮ LIỆU CỦA BẢNG ỦA BẢNG CHI TIỀN CHI TIỀN 78 78
HÌNH 39: HÌNH 39: MÔ HÌNH MÔ HÌNH CƠ SỞ CƠ SỞ DỮ LIỆU DỮ LIỆU CỦA B CỦA BẢNG KẾ ẢNG KẾ HOẠCH HOẠCH 79 79 HÌNH 40: HÌNH 40: MÔ HÌNH MÔ HÌNH CƠ SỞ CƠ SỞ DỮ LIỆU DỮ LIỆU CỦA B CỦA BẢNG TÀ ẢNG TÀI SẢN I SẢN 79 79 HÌNH 41: MÔ HÌNH CƠ SỞ DỮ LIỆU CỦA BẢNG NGUỒN THU 79
HÌNH 42: HÌNH 42: MÔ HÌNH CƠ MÔ HÌNH CƠ SỞ DỮ LIỆ SỞ DỮ LIỆU CỦA BẢNG U CỦA BẢNG NGUỒN CH NGUỒN CHI I 79 79
HÌNH 43: GIAO DIỆN CHÍNH CỦA CHƯƠNG TRÌNH 81
HÌNH 44: GIAO DIỆN QUẢN LÝ THU TIỀN 82
HÌNH 45: GIAO DIỆN QUẢN LÝ CHI TIỀN 82
HÌNH 46: GIAO DIỆN QUẢN LÝ TÀI SẢN 83
HÌNH 47: GIAO DIỆN QUẢN LÝ KẾ HOẠCH 83
HÌNH 48: GIAO DIỆN TRA CỨU THÔNG TIN THU TIỀN 84
HÌNH 49: GIAO DIỆN TRA CỨU THÔNG TIN CHI TIỀN 84
HÌNH 50: GIAO DIỆN TRA CỨU THÔNG TIN TÀI SẢN 85
HÌNH 51: GIAO DIỆN TRA CỨU THÔNG TIN KẾ HOẠCH CHI 85
HÌNH 52: GIAO DIỆN XEM SỐ DƯ 86
HÌNH 53: GIAO DIỆN XEM KẾ HOẠCH - CHI 86
Trang 11DANH MỤC BẢNG
BẢNG 1: CÁC THIẾT BỊ BẢNG 1: CÁC THIẾT BỊ VÀ NỀN TẢNG ĐƯỢC HỖ TRỢ CỦA NET VÀ NỀN TẢNG ĐƯỢC HỖ TRỢ CỦA NET
COMPACT FRAMEWORK 28
BẢNG 2: SỰ KHÁC BIỆT CỦA NET COMPACT FRAMEWORK VỚI NET NET FRAM FRAMEWOR EWORK K 35 35
BẢNG 3: BẢNG 3: CÁC THƯ CÁC THƯ VIỆN LỚP VIỆN LỚP ĐỐI TƯỢNG ĐỐI TƯỢNG NET COMPACT NET COMPACT FRAMEWORK ĐƯỢC HỖ TRỢ 37
BẢNG 4: CÁC CÂU LỆNH DDL HỖ TRỢ 42
BẢNG 5: CÂU LỆNH DML HỖ TRỢ BỞI SQL SERVER CE 43
BẢNG 6: DANH SÁCH GIÁ TRỊ CỦA COMMANDBEHAVIOR 44
BẢNG 7: DANH MỤC TỪ ĐIỂN DỮ LIỆU 65
BẢNG 8: THỰC BẢNG 8: THỰC THỂ THU TIỀN THỂ THU TIỀN 66 66
BẢNG 9: THỰC THỂ CHI TIỀN 66
BẢNG 10: BẢNG 10: THỰ THỰC C THỂ NGUỒN THU THỂ NGUỒN THU 66 66
BẢNG 11: THỰC THỂ NGUỒN CHI 67
BẢNG 12: THỰC THỂ KẾ HOẠCH 67
BẢNG 13: THỰC THỂ TÀI SẢN 67
Trang 12LỜI MỞ ĐẦU
II L Lý ý ddo o vvà à bbốối i ccảảnnh h ccủủa a đđề ề ttààii Ngày nay, việc quản lý thu nhập là một trong những nhu cầu thiết yếu của mọingười Mỗi người có một cung cách khác nhau trong cách thức quản lý ngân sáchriêng của mình Trong đó, một số thường quen với cung cách “có bao nhiêu dùng bấynhiêu và có thì dùng không thì mượn hoặc là nhịn” Một số khác lại có kế hoạch chitiêu kĩ lưỡng và quản lý được ngân sách của mình một cách chính xác chứ không tùyhứng Cho nên quản lý thu nhập trở thành một vấn đề then chốt trong mọi gia đình.Quản lý thu nhập không tốt sẽ dẫn đến những tình huống bất cập Chúng ta hãy luôn biết tình trạng thu chi của gia đình, hãy kiểm soát nó và điều phối nó theo cách hợp línhất an toàn nhất Tuy nhiên, công cụ phổ biến chủ yếu là sổ thu nhập, công cụ nàyhữu dụng nhưng khá hạn chế so với nhu cầu của thời đại
Với sự phát triển ngày càng mạnh mẽ Với sự phát triển ngày càng mạnh mẽ của công nghệ, đặc biệt là công của công nghệ, đặc biệt là công nghệ thôngnghệ thôngtin đã góp phần đưa đời sống của con người lên một tầm cao mới, vì vậy sự ra đời củacác sản phẩm phần mềm hỗ
các sản phẩm phần mềm hỗ trợ việc quản lý thu nhập trong trợ việc quản lý thu nhập trong gia đình là nhu cầu tất yếu.gia đình là nhu cầu tất yếu
Không chỉ dừng lại ở việc chỉ xây dựng các phần mềm chuyên dùng trên cácmáy vi tính mà hiện nay với sự ra đời của các hệ điều hành chạy trên các thế hệ điệnthoại thì việc xây dựng phần mền dùng riêng cho các hệ điều hành này sẽ giúp ích rấtnhiều trong việc quản lý thu nhập
nhiều trong việc quản lý thu nhập trong gia đình.trong gia đình
Xuất phát từ yêu cầu thực tiễn trên và được sự đồng ý của giáo viên hướng dẫn,chúng tôi chọn đề tài “
chúng tôi chọn đề tài “ Nghiên cứu nền tảng Net Compact Framework - ứng dụng Nghiên cứu nền tảng Net Compact Framework - ứng dụng xây dựng chương trình Quản lý thu nhập gia đình
xây dựng chương trình Quản lý thu nhập gia đình” làm đề tài tốt nghiệp của mình.” làm đề tài tốt nghiệp của mình. IIII M Mụục c đđíícch h ccủủa a đđề ề ttààii
Tìm hiểu công nghệ và lựa chọn giải pháp tối ưu để ứng dụng vào xây dựngchương trình nhằm hỗ trợ chủ yếu cho công việc quản lý thu nhập gia đình
Trang 13Xây dựng chương trình quản lý thu nhập gia đình
.I III II Mụ Mục c ti tiêu êu củ của đ a đề ề tà tàii
Hệ thống quản lý số tiền thu nhập được, quản lý chi tiêu hằng ngày và quản lý tàisản gia đình
Vạch ra các kế hoạch trong tương lai và thông báo các kế hoạch trong ngày nếu
IIV V Ý n Ý ngh ghĩĩa t a thhự ực t c tiiễễnn
Ứng dụng mang một ý nghĩa thực tiễn sâu sắc cho việc quản lý thu nhập gia đình
hiện nay, trong điều kiện mà công nghệ thông tin đang được phát triển rất mạnh mẽ.Thông qua hệ thống chúng ta sẽ có một thói quen chi tiêu hợp lý, và bất cứ nơi đâu bạn cũng có thể cập nhập thông tin nhanh chóng và thuận tiện nhất
V V N Nộội i dduunng c g chhíínnh h ccủủa đ a đề ề ttààii
Với những mục tiêu đặt ra của đề tài và với những gì đã nghiên cứu được, đề tài bao gồm những phần sau:
Chương 1: TỔNG QUAN VỀ ĐỀ TÀIChương 2: CƠ SỞ LÝ THUYẾT
Chương3: PHÂN TÍCH THIẾT KẾ HỆ THỐNGChương 4: CÀI ĐẶT -
Chương 4: CÀI ĐẶT - TRIỂN KHAI CHƯƠNG TRÌNHTRIỂN KHAI CHƯƠNG TRÌNHChương 5: KẾT LUẬN
Trang 14VI I D DỰ K Ự KIIẾ ẾN K N KẾ ẾT Q T QU UẢ Đ Ả ĐẠ ẠT Đ T ĐƯ ƯỢ ỢC C
Trang 15CHƯƠNG I
TỔNG QUAN VỀ ĐỀ TÀI
II G Giiớới i tthhiiệệu u cchhuunng g vvề ề đđề ề ttààii
Quản lý thu nhập là một kỹ năng giúp chúng ta hòa nhập cuộc sống, một trongnhững điều cần thiết để chúng ta tập quản lý cuộc đời Cách quản lý thu nhập của mỗi
cá nhân tùy thuộc nhiều vào cách
cá nhân tùy thuộc nhiều vào cách hành xử của gia đình đối hành xử của gia đình đối với đồng tiền.với đồng tiền
Thế nhưng việc biết cách quản lý thu nhập lại rất cần thiết để một cá nhân ở thếchủ động, không lệ thuộc đồng tiền và biết sử dụng đồng tiền như một phương tiệngiải quyết thuận lợi nhu cầu cá nhân
Vì vậy chương trình quản lý thu nhập gia đình sẽ giúp chúng ta quản lý thu nhậpmột cách hợp lý tài chính của gia đ
một cách hợp lý tài chính của gia đình.ình
IIII Y Yêêu u ccầầuu Nhập thông tin về thu, Nhập thông tin về thu, chi, tài sản và kế hoạch chi.chi, tài sản và kế hoạch chi
Sửa, xoá các dữ liệu (nếu có Sửa, xoá các dữ liệu (nếu có sự thay đổi)sự thay đổi)Tra cứu các thông tin cần thiết (có thể tra cứu theo thời gian hoặc nguồn thu,chi )
Thống kê được số dư, tài sản gia đình qua từng thời điểm
Lưu trữ và phục hồi Lưu trữ và phục hồi lại dữ liệu.lại dữ liệu
.I III II Ph Phươ ương ng ph pháp n áp ngh ghiê iên c n cứu ứu
Thu thập, phân tích các tài liệu liên quan Thu thập, phân tích các tài liệu liên quan đến đề tài.đến đề tài
Phân tích thiết kế và hướng giải quyết vấn Phân tích thiết kế và hướng giải quyết vấn đềđềTriển khai xây dựng ứng dụng
Kiểm tra thử nghiệm và đánh giá kết quả
Trang 16.I IV V Ph Phươ ương ng ph pháp áp tr triể iển n kh khai ai
Tìm hiểu thực tế, nắm bắt các hoạt động và phương thức thu chi đang diễn ra tạicác gia đình
Sử dụng ngôn ngữ truy vấn có cấu trúc SQL Server CE để xây dựng cơ sở dữ
V V C Côônng c g cụ ụ xxâây d y dự ựnng đ g đề ề ttààii
Công cụ nghiên cứu cơ sở lý thuyết: Các tài liệu thao khảo như tài liệu vềMicrosoft Net, công nghệ Net Compact Framework, các sách ngôn ngữ lập trình C#,các giáo trình, các E-book, các phần
các giáo trình, các E-book, các phần mềm mẫu…mềm mẫu…
Công cụ thiCông cụ thiết kế phần mềmết kế phần mềm: Ratio: Rational Rosenal Rose, Visio, , Visio, chương trchương trình viết Viình viết VisualsualStudio 2008, quản lý CSDL thông
Studio 2008, quản lý CSDL thông qua SQL Server CE.qua SQL Server CE
Chúng tôi mong muốn phần mềm “Chúng tôi mong muốn phần mềm “Quản lý Thu nhập Gia đìnhQuản lý Thu nhập Gia đình ” sẽ đem lại kết” sẽ đem lại kếtquả thiết thực như mong đợi của
quả thiết thực như mong đợi của phần lớn các gia đình phần lớn các gia đình Giao diện ngày càng thân thiệnGiao diện ngày càng thân thiệnhơn, các tính năng của phần mềm sẽ hoàn thiện hơn nữa
.V VII Dự Dự ki kiến ến kế kết q t quả đ uả đạt ạt đư được ợc
Xây dựng phần mềm hoàn chỉnh có Xây dựng phần mềm hoàn chỉnh có thể thực hiện các chức năng sau:thể thực hiện các chức năng sau:
Quản lý Thu tiền: Quản lý thông tin về quá trình thu tiền và phân chia theonguồn thu
Quản lý Chi tiền: Quản lý thông tin về quá trình chi tiền và phân chia theo nguồnchi
Quản lý Tài Sản: Quản lý thông tin về tài Quản lý Tài Sản: Quản lý thông tin về tài sản.sản
Quản lý Kế hoạch chi: Quản lý thông Quản lý Kế hoạch chi: Quản lý thông tin về kế hoạch chi.tin về kế hoạch chi
Quản lý các nguồn thu, nguồn chi
Trang 17Xây dựng chương trình quản lý thu nhập gia đình
Hiển thị thông tin: Hiển thị thông tin về các khoản thu, chi, tài sản, kế hoạch theomốc thời gian
Xem số dư: Hiển thị số dư Xem số dư: Hiển thị số dư qua từng thời gian.qua từng thời gian
Xem danh sách thông tin giữa kế Xem danh sách thông tin giữa kế hoạch chi và thực tế chi.hoạch chi và thực tế chi
Lư trữ và phục hồi dữ
Lư trữ và phục hồi dữ liệuliệu
Trang 18CHƯƠNG II
CƠ SỞ LÝ THUYẾT
III III CÔ CÔNG NG NG NGHỆ HỆ N NET ET CO COMP MPAC ACT T FR FRAM AMEW EWOR ORK K IV
IV N NG GÔN ÔN N NG GỮ T Ữ TRU RUY V Y VẤ ẤN C N CÓ C Ó CẤU ẤU T TRÚ RÚC C
MICROSOFT SQL SERVER CE V
V N NG GÔ ÔN N N NG GỮ Ữ Đ ĐẶ ẶC C T TẢ Ả U UM ML L
Trang 19CHƯƠNG II
CƠ SỞ LÝ THUYẾT
II SSơ ơ llư ượợc c vvề ề M Miiccrroossoofft t N Neett
.I
.I.1 1 Nề Nền n tả tảnng v g và l à lịc ịch s h sử c ử của ủa N Net et
Microsoft NET được phát triển từ đầu năm 1998, lúc đầu có tên là NextGeneration Window Services (NGWS) Mãi cho đến tháng 7 năm 2000 nó mới thực
sự đưa vào sử dụng Viễ
sự đưa vào sử dụng Viễn tượng của Micrn tượng của Microsoft osoft là xây dựng mlà xây dựng một hệ thống phân táột hệ thống phân tánntoàn cục (globall
toàn cục (globally distributed systy distributed system), dùng em), dùng XML (chứa những cơ sở dữ lXML (chứa những cơ sở dữ liệu tí hon)iệu tí hon)làm chất keo để kết hợp chức năng của những máy tính khác nhau trong cùng một tổchức hay trên khắp thế giới
Nền tảng NET là một công nghệ mới với một giao diện lập trình Windows
service và các hàm API, nó tích hợp các kỹ thuật của Microsoft từ những năm 90 đếnnay Ngoài ra, NET còn hợp nhất COM+, nền tảng phát triển web ASP, XML và thiết
kế hướng đối tượng, nó hỗ trợ các giao thức web mới như SOAP, WSDL và UDDL. Nền tảng NET được phân thành 4 nhóm sản phẩm riêng biệt :
Các công cụ phát triểnCác công cụ phát triển: Một tập các ngôn ngữ bao gồm C# và VB.NET, một tập: Một tập các ngôn ngữ bao gồm C# và VB.NET, một tậpcác công cụ phát triển bao gồm Visual Studio.NET, một thư viện các lớp toàn diệndành cho việc xâ
dành cho việc xây dựng các dịch y dựng các dịch vụ Web, Web và vụ Web, Web và các ứng dụng Windows, tcác ứng dụng Windows, thêm hêm vàovào
đó còn có CLR (Common Lan
đó còn có CLR (Common Language Runtguage Runtime) dùng để ime) dùng để thực thi các đối tưthực thi các đối tượng đượcợng được
xây dựng bởi nền tảng NET
Các phần mềm Server chuyên dụng Các phần mềm Server chuyên dụng : Một tập hợp của NET Enterprise Server,: Một tập hợp của NET Enterprise Server,trước đây được biết như SQL Server 2000, Exchange 2000…nó cung cấp các chứcnăng chuyên dụng để lưu trữ
năng chuyên dụng để lưu trữ dữ liệu quan hệ, email và B2B.dữ liệu quan hệ, email và B2B
Các dịch vụ WebCác dịch vụ Web: Trước đây được giới thiệu như dự án HailStorm, với một chi: Trước đây được giới thiệu như dự án HailStorm, với một chi phí nào đó, những nhà phát triển có thể sử dụng những dịch vụ đã được viết sẵn này đểxây dựng những ứng dụng có yêu cầu về thẩm định định danh người dùng
Trang 20.I I.2 2 Ki Kiến ến tr trúúc c c của ủa Mi Micr cros osof oft t Ne Nett
Kiến trúc của nền tảng Net
Microsoft NET gồm có 5 thành Microsoft NET gồm có 5 thành phần chínhphần chính
Hình 1: Thành phần chính của Microsoft NET
Thành phần nằm dưới cùng là hệ điều hành (OS), đó là một trong các nền tảngWindows như Windows XP, Windows 2000, Window Me, và Windows CE và dòng
họ Windows NET Server Microsoft đang bổ sung các tính năng cụ thể theo dịch vụWeb XML vào từng dòng Windows của họ Ngoài ra dòng Windows NET server đãđược tích hợp sẵn NET Framework, sẵn sàng để nạp và thực thi các ứng dụng NET. Như một phần của chiến lược NET, Microsoft còn hứa hẹn sẽ đưa ra phần mềmthiết bị NET để thuận tiện với
thiết bị NET để thuận tiện với thế hệ mới của các thiết bị thông minh.thế hệ mới của các thiết bị thông minh
Thành phần nằm giữa bên trái là một loạt các sản phẩm của NET EnterpriseServer nhằm đơn giản hoá và rút ngắn thời gian để phát triển và điều hành các hệthống kinh doanh lớn Các sản phẩm bao gồm Interrnet Security and AccelerationServer 2000 và SQL Server 2000…
Thành phần trên cùng của kiến trúc NET là một nhánh của công cụ phát triểnmới được gọi là Visual Studio.NET, nó có khả năng phát triển nhanh chóng các dịch
vụ web và các ứng dụng khác Kế vị của Microsoft Visual Studio 6.0, VisualStudio.NET là một môi trường phát triển tích hợp IDE (Integrated DevelopmentEnvironment), nó hỗ trợ 4 ngôn ngữ khác nhau, các tính năng như gỡ rối ngôn ngữchéo, trình soạn thảo sơ đồ XML ,hỗ trợ các nền tảng Window 32-bit lẫn 64-bit vànền tảng NET Framework mới
Trung tâm của nền tảng NET là Microsoft NET Framework Nó là một phátminh mới và kiến trúc của nó đã thay đổi sự phát triển của các ứng dụng kinh doanh
Visual Studio NET
Operating System on Server, desktop, and
devices
.NET Enterprise Servers
.NET FrameWork Block Services.NET Building
Trang 21Xây dựng chương trình quản lý thu nhập gia đình
trên nền tảng Windows, đặc biệt là các dịch vụ Web Nó bao gồm CLR (CommonLanguage Runtime) và FCL (Framework Class Library) có thể sử dụng trong tất cảcác ngôn ngữ NET
Mục đích thiết kế Net Framework
Kiến trúc hạ tầng của các thành phầnInternet
Dễ triển khai
Độ tin cậyBảo mật
.I I.3 3 M Mic icro roso soft ft Ne Net t Fr Fram amew ewor ork k
Hình 2:
Hình 2: Microsoft Microsoft NET Frame NET Framework work
Phần quan trọng nhất của NET Framework là CLR CLR có vai trò tương tự nhưJava Virtual Machine CLR kích hoạt các đối tượng, áp dụng các kiểu kiểm tra bảomật trên chúng, bố trí chúng vào vùng nhớ, thi hành chúng và thực hiện việc thu gomrác
Một cách khái niệm thì CLR và JVM là tương tự nhau Chúng đều là những nềntảng runtime, và làm trừu tượng hoá các nền tảng khác nhau bên dưới Trong khi JVM
hỗ trợ cho ngôn ngữ Java thì CLR hỗ trợ cho tất cả các ngôn ngữ được trình bày trongCIL (Common Intermedia Language) JVM thực thi các bytecode vì vậy nó cũng cóthể hỗ trợ kỹ thuật nhiều ngôn ngữ khác nhau Không giống như bytecode của Java, ILkhông bao giờ được biên dịch Một khái niệm khác nhau giữa hai nền tảng này là mã
Common Language Runtime Framework Base Classes
Data and XML classes (ADO.NET, SQL, XSLT, Xpath,XML…)
Web
Windows Platform
Trang 22Java có thể chạy trên các nền khác nhau miễn là có JVM Còn mã NET chỉ chạy duynhất trên nền Windows với CLR Những Microsoft cũng có đưa ra kiến trúc hạ tầngngôn ngữ chung CLI(Common Language Infrastructure) có chức năng như một tậpcon của CLR, vì
con của CLR, vì vậy các hãng phát triển thứ vậy các hãng phát triển thứ ba, trên lý thuyết có thể thực thi CLR ba, trên lý thuyết có thể thực thi CLR trêntrênmột nền tảng khác với Windows
.I I.4 4 Co Comm mmoon Lan n Langu guag age Ru e Runnti time me(C (CLR LR))
Thành phần quan trọng Thành phần quan trọng nhất trong NET Framnhất trong NET Framework là CLR, CLR ework là CLR, CLR điều khiển vàđiều khiển vàthực thi mã được viết bởi ngôn ngữ NET và dựa trên kiến trúc của NET, tương tựnhư Java Virtual Machine CLR là tâm điểm của NET Framework, nó là cơ cấu đểchạy các tính năng của NET Trong NET, mọi ngôn ngữ lập trình đều được biên dịch
ra Microsoft Intermedia Language (IL) giống như byte code của Java Nhờ bắt buộcmọi ngôn ngữ
mọi ngôn ngữ đều phải dùng đều phải dùng cùng các loại kiểu chung cùng các loại kiểu chung CTS (CommoCTS (Common Type n Type SystSystem)em)nên CLR có thể
nên CLR có thể kiểm soákiểm soát mọi giao dit mọi giao diện, gọi giữa cáện, gọi giữa các thành phần và cho phéc thành phần và cho phép cácp các
ngôn ngữ có thể hợp tác nhau một cách thông suốt Tức là trong NET, chương trìnhVB.NET có thể thừa kế chương trình C# và ngược lại một cách hoàn toàn tự nhiên.CLR kích hoạt các đối tượng, thực hiện kiểm tra bảo mật lên chúng bố trí chúng trong
bộ nhớ, thực thi chúng và thực hiện gom rác
Hình 3:
Hình 3: Common Language Runtime(CLR) Common Language Runtime(CLR)
Class loader and memory layout Garbage collection, stack walk, code manager
Common type system (Data types ) Intermediate
Language(IL)
To native code compilers
Security (Tranditional run timeExcution support
function)
Trang 23Xây dựng chương trình quản lý thu nhập gia đình
.I III Ng Ngôn ôn ng ngữ l ữ lập ập tr trìình nh C C# ( # (C C Sh Shar arpp))
.I III.1 1 G Giiới ới tthhiiệệuu
C# có phiên bản beta ra đời 6/2000, được phát âm “see sharp” C# là một ngônngữ được tạo ra bởi
ngữ được tạo ra bởi Microsoft và thừa nhận ECMA là chuẩn hành đMicrosoft và thừa nhận ECMA là chuẩn hành động Những tác giảộng Những tác giảcủa nó là một đội trong Microsoft dưới
của nó là một đội trong Microsoft dưới sự chỉ đạo của AndersHejlsberg.sự chỉ đạo của AndersHejlsberg
C# là một ngôn ngữ lập C# là một ngôn ngữ lập trình mới, được biết đến với trình mới, được biết đến với hai lời chào:hai lời chào:
- Nó được thiết kế riêng để dùng cho Microsoft's NET Framework (Một nền khámạnh cho sự phát triển, triển khai, h
mạnh cho sự phát triển, triển khai, hiện thực và phân phối các ứng iện thực và phân phối các ứng dụng)dụng)
- Nó là một ngôn ngữ hoàn toàn hướng đối tượng được thiết kế dựa trên kinhnghiệm của các ngôn ngữ hướng đối tượng khác
C# là một ngôn ngữ độc lập, nó chỉ khoảng 80 từ khoá và hơn mười mấy kiểu dữliệu được xây dựng sẵn Tuy nhiên, ngôn ngữ C# có ý nghĩa cao khi nó thực thi nhữngkhái niệm lập trình hiện đại C# bao gồm tất cả những hỗ trợ cho cấu trúc, thành phầncompo
component, lập trình hướng nent, lập trình hướng đối tượng Những tính chất đối tượng Những tính chất đó hiện đó hiện diện trong một ngôndiện trong một ngônngữ lập trình hiện đại Và ngôn ngữ C# hội đủ những điều kiện như vậy, hơn nữa nóđược xây dựng trên nền tảng
được xây dựng trên nền tảng của hai ngôn ngữ mạnh của hai ngôn ngữ mạnh nhất là C++ và Java.nhất là C++ và Java
Không như các ngôn ngữ thủ tục, ngôn ngữ C# không quan tâm đến dữ liệu toàncục hay các hàm toàn cục Tất cả các dữ liệu và phương thức phải được đóng gói nhưmột đơn vị chức năng Các đơn vị chức năng này là những đối tượng có thể sử dụnglại, chúng độc lập và có
lại, chúng độc lập và có thể hoàn toàn độc lập.thể hoàn toàn độc lập
.II II.2 .2 Nh Nhữn ững ch g chủ đ ủ đề ti ề tiến b ến bộ tr ộ tron ong C# g C#
Ngôn ngữ lập trình C# còn có các đặc tính tiến bộ mà có thể làm tăng tính hữuích trong nhiều tình huống Sau
ích trong nhiều tình huống Sau đây là một số đặc tính :đây là một số đặc tính :
Xử lí lỗi và biệt lệ
Xử lí lỗi và biệt lệ : Cơ chế của C# trong việc xử lí các trạng thái lỗi mà cho: Cơ chế của C# trong việc xử lí các trạng thái lỗi mà cho phép ta có thể tùy biến trong việc chọn cách xử lí cho mỗi trạng thái lỗi khác nhau,vàcũng tách biệt rõ ràng hơn những đoạn mã có khả năng gây ra lỗi để ta có thể xử lí
Ép kiểu do người dùng định nghĩa
Ép kiểu do người dùng định nghĩa : Định nghĩa các kiểu ép kiểu giữa các lớp: Định nghĩa các kiểu ép kiểu giữa các lớpriêng của ta
Trang 24Delegates Delegates : Cách mà C# dùng để gọi phương thức như thông số gần giống với: Cách mà C# dùng để gọi phương thức như thông số gần giống vớicon trỏ hàm trong C++.
Các sự kiệnCác sự kiện : Thông báo khi một hành động cụ thể được sinh ra, ví dụ khi người: Thông báo khi một hành động cụ thể được sinh ra, ví dụ khi ngườidùng nhấn nút chuột
Các chỉ thị tiền xử lí trong C#
Các chỉ thị tiền xử lí trong C# : Giới thiệu các tiến bộ trong tiền xử lí trước khi: Giới thiệu các tiến bộ trong tiền xử lí trước khi biên dịch
Các AttributeCác Attribute : Một kĩ thuật trong việc đánh dấu các mục trong mã mà ta quan: Một kĩ thuật trong việc đánh dấu các mục trong mã mà ta quantâm theo một cách nào đó
Quản lí bộ nhớ Quản lí bộ nhớ : Ta sẽ tìm hiểu về heap và stack và cách mà các biến tham trị và: Ta sẽ tìm hiểu về heap và stack và cách mà các biến tham trị vàtham chiếu được lưu và thi hành
Mã không an toàn
Mã không an toàn : : Khai báo các khối Khai báo các khối mã “không an toàn” mã “không an toàn” để truy xuất để truy xuất bộ nhớ bộ nhớ trực tiếp
.I II I.3 3 Cá Các kh c khái n ái niệ iệm lậ m lập tr p trìn ìnhh
Không gian tên
Không gian tên hỗ trợ cho sự cô lập và sự đóng gói các lớp, các giao diện, cácstruct có liên quan thành một đơn
struct có liên quan thành một đơn vị.vị
Cú pháp cho việc khai báo một không gian tên như sau:
namespace ten_khong_gian_ten{{
// các lớp (class), các giao diện, các struct, // các lớp (class), các giao diện, các struct, ……}}
Sử dụng các thực thể bên trong một không gian tên có thể thực hiện hai cáchkhác nhau:
Sử dụng từ khóa Using
Sử dụng tên đầy đủ của một thực thể riêng biệt Ví dụ lớp Console tồn tại bêntrong không gian tên System
System.Console.WriteLiSystem.Console.WriteLine(“Xin ne(“Xin chao”);chao”);
Trang 25Xây dựng chương trình quản lý thu nhập gia đìnhCấu trúc (Struct)
Trong C#, một cấu trúc được xem như là một kiểu tham trị và được quản lý trongvùng nhớ ngăn xếp chứ không phải trong heap
Struct dùng rất thích hợp với các Struct dùng rất thích hợp với các dữ liệu đơn giản hoặc dữ liệu đơn giản hoặc lưu trữ cơ chế tuần tự hoálưu trữ cơ chế tuần tự hoá
và trạng thái của đối tượng Struct có thể chứa các thành phần dữ liệu, thuộc tính, phương thức và constructor (phương thức khởi tạo) Struct tương tự như class tuynhiên struct không thể kế thừa từ một lớp hay một struct khác Struct không thể tạocác constructor với tham số bên ngoài
các constructor với tham số bên ngoài truyền vào.truyền vào
Cú pháp khai báo struct:
[thuộc tính] [bổ sung truy cập]
Struct Struct <tên <tên cấu cấu trúc>trúc>
[: danh_sách giao diện]
Lớp có thể chứa các trường, phương thức, sự kiện, thuộc tính và các lớp lồngnhau Lớp cũng
nhau Lớp cũng có thể kế thừa từ các lớp có thể kế thừa từ các lớp khác và phát triển đa giao diện.khác và phát triển đa giao diện
Cũng như struct, mức độ bảo vệ của lớp cũng là private Lớp có thể khai báo cácthành phần là
thành phần là public, protected, private, internal hay protected internal.public, protected, private, internal hay protected internal
Khai báo một lớp bằng cách sử dụng từ khoá class Cú pháp đầy đủ của khai báomột lớp như sau:
[Thuộc tính] [Bổ sung truy cập] class <Định danh [Thuộc tính] [Bổ sung truy cập] class <Định danh lớp>lớp>
[: Lớp_cơ sở]
{{
Trang 26<Phần thân của lớp: bao gồm định nghĩa các thuộc tính và phương thức hànhđộng >
}}
Kế thừa
Kế thừa là khái niệm then chốt của thiết kế trong các ngôn ngữ hướng đối tượng
Kế thừa cho phép các chức năng và thuộc tính dùng chung ở trong lớp cơ sở, và nhữngchỉ định có thể kế thừa những chức năng ở lớp cơ sở C# chỉ hỗ trợ kế thừa đơn C++cho phép đa kế thừa và nếu được sử dụng đúng cách, đây là điểm rất mạnh Tuy nhiên phải thừa nhận là đa kế thừa rất khó quản lý và như vậy cũng rất khó áp dụng Đây làmột trong những lý do C# chỉ hỗ trợ kế thừa đơn
Đa hình
Trong lập trình hướng đối tượng, khả năng ghi đè phương thức của lớp cơ sở và
cung cấp một phát triển khác ở trong lớp dẫn xuất là một hình thức cơ bản của kháiniệm đa hình
Hãy xem xét ví dụ trước, để chỉ định rằng phương thức DrawWindow() của lớpWindow là đa hình, đơn
Window là đa hình, đơn giản là ta thêm từ khoá virtual vào khai báo giản là ta thêm từ khoá virtual vào khai báo như sau:như sau:
public virtual void DrawWindow()Lúc này thì các lớp dẫn xuất được tự do thực thi các cách xử riêng của mìnhtrong phiên bản mới của phương thức DrawWindow() Để làm được điều này chỉ cầnthêm từ khoá override để chồng lên phương thức ảo DrawWindow() của lớp cơ sở.Sau đó thêm các đoạn mã nguồ
Sau đó thêm các đoạn mã nguồn mới vào phương n mới vào phương thức viết chồng này.thức viết chồng này
.I III II Cô Công ng ng nghệ N hệ Net C et Com ompa pact F ct Fra rame mewo work rk
.III.1.
.III.1 Giới thiệ Giới thiệu về Microsof u về Microsoft net compac t net compact framework t framework
Net Compact Framework?
Microsoft Net Compact Framework (NET CF) là một phiên bản của NetFramework được thiết kế để chạy trên hệ điều hành Windows CE dựa trên điện thoại
di động
Trang 27Xây dựng chương trình quản lý thu nhập gia đình
.NET Compact Framework được thừa hưởng kiến trúc NET Framework Kiếntrúc của CLR (Common Language Runtime) và quản lý thực thi mã Sử dụng đầy đủmột số các thư việ
một số các thư viện của NET Framen của NET Framework Và một số work Và một số thư viện đượthư viện được thiết kế đặc bic thiết kế đặc biệtệtcho NET Compact Framework Các thư viện là bản sao không chính xác của NETFramework được thu nhỏ lại để mất ít không
Framework được thu nhỏ lại để mất ít không gian hơn.gian hơn
.Net Compact Framework được tạo ra từ mối quan hệ giữa hai công nghệ củaMicrosoft : Windows CE và NET
.Net Compact Framework là một công nghệ dùng để lập trình trên các thiết bị diđộng
Thiết bị và nền tảng được hỗ Thiết bị và nền tảng được hỗ trợ bởi Net Compact Framework trợ bởi Net Compact Framework
III.1.2.1 Các thiết bị và nền tảng được hỗ trợ qua các phiên bản của NetCompact Framework
PPhhiiêên n bbảản n NNeet t CCFF TThhiiếết t bbịị NNềền n ttảảnngg11,,00 PPoocckkeet t PPCC
Pocket PC 2000Pocket PC 2002Windows Mobile 2003 cho Pocket PCWindows Mobile 2003 cho Pocket PC SEWindows Mobile 5.0 cho Pocket PC
11,,00 SSmmaarrt t PPhhoonnee Windows Mobile 2003 cho Smartphone
Windows Mobile 5.0 cho Smartphone1,0
Các thiết bịWindowsEmbedded CE
Windows CE 5.1Windows CE 5.2Windows CE 5.0
22,,00 PPoocckkeet t PPCC
Windows Mobile 2003 cho Pocket PCWindows Mobile 2003 cho Pocket PC SEWindows Mobile 5.0 cho Pocket PC
Windows Mobile 6 Professional22,,00 SSmmaarrt t PPhhoonnee
Windows Mobile 5.0 phần mềm cho Windows Mobile 5.0 phần mềm cho điện thoạiđiện thoạithông minh
Windows Mobile 6 Standard22,,00 CCáác c tthhiiếết t bbị ị WWiinnddoowws s CCE E 55 22
Trang 28WindowsEmbedded CE
Windows CE 5.0Windows Embedded CE 6.0
33,,55 PPoocckkeet t PPCC
Windows Mobile 2003 cho Pocket PCWindows Mobile 2003 cho Pocket PC SEWindows Mobile 5.0 phần mềm cho Windows Mobile 5.0 phần mềm cho Pocket PCPocket PCWindows Mobile 6 Professional
33,,55 SSmmaarrt t PPhhoonnee
Windows Mobile 5.0 phần mềm cho Windows Mobile 5.0 phần mềm cho điện thoạiđiện thoạithông minh
Windows Mobile 6 Standard3,5
Các thiết bịWindowsEmbedded CE
Windows Embedded CE 6.0
Bảng 1: Các thiết bị và nền tảng được hỗ trợ của Net Compact Framework
Đối với Smart Phone, các Net Compact Framework phiên bản 2.0 đòi hỏiWindows Mobile phiên bản 5.0 chạy trên thiết bị
Trang 29Xây dựng chương trình quản lý thu nhập gia đình
III.1.2.2 Giới thiệu III.1.2.2 Giới thiệu về về Pocket PC Pocket PC EmulatorEmulator
- Cung cấp một máy tính ảo chạy trên một
- Cung cấp một máy tính ảo chạy trên một máy tính cá nhân thông thường.máy tính cá nhân thông thường
III.1.2.3 Giới thiGiới thiệu SmartPệu SmartPhone Emulhone Emulatorator
- SmartPhone về bản chất là cell phone chạy hệ điều hành Pocket PC Để thuậntiện khi làm việc với các thiết bị nhỏ, SmartPhone chênh lệch so với chuẩn Pocket PC
có hai cái quan trọng sau:
• Kích cỡ màn hình cho SmartPhone là nhỏ hơn so với các thiết bị chuẩn Pocket
PC Độ phân giải màn hình SmartPhone là 176 x 220, so sánh với chuẩn Pocket PC là
240 x 320
• Màn hình SmartPhone không dễ hỏng Thay đổi cơ bản kiểu dáng cái mà người
sử dụng đưa thông tin vào ứng dụng Người sử dụng tương tác cùng với ứng dụng bằng các nút vật lý trên điện thoại
III.1.2.4
III.1.2.4 Giới thiGiới thiệu Window ệu Window MobileMobileWindows Mobile 6 (WM6) là hệ điều hành mới nhất dành cho các thiết bị diđộng của Microsoft WM6 có 2
động của Microsoft WM6 có 2 phiên bản hướng theo loại màn hphiên bản hướng theo loại màn hình của thiết bị:ình của thiết bị:
-
- BBản ản ststanandadarrd d hưhướnớng g đếđến n tthihiết ết bị bị khkhônông g có có mmàn àn hìhình nh ccảm ảm ứứng ng ((nhnhưưSmartphone)
-
- Bản professional Bản professional hướng đến thiết hướng đến thiết bị có màn bị có màn hình cảm ứng.hình cảm ứng
Kết nối Visual Studio với các thiết bị
Để thiết lập giao tiếp Visual Studio với thiết bị, chúng ta làm theo
Để thiết lập giao tiếp Visual Studio với thiết bị, chúng ta làm theo các bước sau:các bước sau:Bước 1: Chọn Tools, Options trong
Bước 1: Chọn Tools, Options trong Visual Studio.Visual Studio
Bước 2: Bấm đúp trên mục Device Tools vBước 2: Bấm đúp trên mục Device Tools và chọn Devices.à chọn Devices
Trang 30Hình 4: Sử dụng hộp thoại kết nối thiết bị để chọn kiểu thiết bị muốn kết nối
Bước 3: Chọn nền tảng Pocket PC Bước 3: Chọn nền tảng Pocket PC hay Windows CE.hay Windows CE
Bước 4: Chọn kiểu thiết bị mà chúng ta muốn triển khai ứng dụng trên đó Hình
4 cho phép chọn
4 cho phép chọn Emulator hoặc thiết bị Pocket PC.Emulator hoặc thiết bị Pocket PC
Bước 5: Lựa chọn cách thức truyền tin được dùng Thiết bị Pocket PC có hai lựachọn là:
ích khi máy tính của chúng ta là Laptop có cổng IRDA.có cổng IRDA
Bước 6: Nếu chọn TCP Connect Transport, sau đó bạn có thể thay đổi bằng cáchchọn nút Configure… sau đó sẽ nhận được như hình 5
Hình 5: TCP Connect Transport cho phép chúng ta thiết lập kết nối tới thiết bị TCP
Bước 7: Hộp thoại như hình 5 cho phép chúng ta thiết lập địa chỉ IP cho thiết bị. Nếu thiết bị kết nối bằng ActiveSync, Visual Studio có thể tự động điền nhận ra địa
Trang 31Xây dựng chương trình quản lý thu nhập gia đình
chỉ Bạn có thể lựa chọn sử dụng số hiệu cổng khác với cổng 5656 Để không sử dụngcổng mặc định, bạn phải tự
cổng mặc định, bạn phải tự cấu hình ConmanClient.exe trên thiết bịcấu hình ConmanClient.exe trên thiết bị
.III.2.
.III.2 Kiến t Kiến trúc rúc Net Co Net Compact Fr mpact Framework amework
.Net Compact Framework được thừa hưởng đầy đủ kiến trúc Net Framework
của CRL để chạy các mã quản lý Nó cung cấp khả năng tương tác với các hệ điềuhành Windows CE thông qua một thiết bị để bạn có thể truy cập nguồn gốc các chứcnăng và tích hợp các thành phần yêu thích vào ứng dụng của bạn
Bạn có thể quản lý và chạy các ứng dụng native cùng lúc Các máy chủ lưu trữtên miền của ứng dụng, bản thân một ứng dụng native bắt đầu một thể hiện của CLR
để chạy các mã quản lý
Đây là mĐây là mô hình kiến ô hình kiến trúc trúc Net Compact Net Compact Framework.Framework
(2) Hệ điều hành Hệ điều hành cung cấp quyền cung cấp quyền truy cập vàtruy cập vào phần cứng nàyo phần cứng này(3)
(3) Môi trMôi trường thời ường thời gian chạygian chạy(4)
(4) Ứng dụng vào Ứng dụng vào hệ điều hệ điều hành và hành và phần cứng.phần cứng
Trang 32NET Compact Framework như là một thành phần hệ điều hành Microsoft cósẵn trong tất cả các thiết bị thông minh, bao gồm các thiết bị Pocket PC, Pocket PCPhone Edition, thiết bị Smartphone, và Windows Embedded CE
Tất cả các điện thoại được xây dựng xung quanh bộ vi xử lý ARM hoặc các biếnthể như OMAP 1510 của Texas
thể như OMAP 1510 của Texas Instruments dựa trên kiến trúc ARM Tốc độ xInstruments dựa trên kiến trúc ARM Tốc độ xử lý daoử lý daođộng từ 104 MHz cho bộ xử lý ARM4T đến 220 MHz cho một CPU ARM5
Operating System
.Net Compact Framework sử dụng hệ điều hành Windows CE đại diện chức năngcốt lõi và cho một số tính năng của device-specific Một vài type và assemblies, chẳnghạn như cho Windows Forms, đồ họa, bản vẽ, và dịch vụ Web, được xây dựng lại để
có hiệu quả chạy tr
có hiệu quả chạy trên các thiết bịên các thiết bị, hơn là được sao chép , hơn là được sao chép đầy đủ từ Net Frđầy đủ từ Net Framework.amework
.Net Compact Framework cung cấp khả năng tương tác với Windows CE sauđây:
- Khả năng tương thích với chế độ bảo mật
- Tích hợp đầy đủ
- Tích hợp đầy đủ với các thiết lập chương trình bản đvới các thiết lập chương trình bản địa.ịa
- Khả năng tương tác với mã nguồn native sử dụng COM interop và platforminvoke
Platform Adaptation Layer (PAL)
PAL là thành phần cơ bản cấu tạo nền tảng máy cầm tay Về cơ bản PAL chứađựng sự đa dạng của các hệ thống phụ, cái mà thể hiện các chức năng của lớp dưới hệđiều hành và phần cứng trong một tập nhất quán của APIs tới NSL và EE Ví dụ: PAL bao gồm giao diện của thiết bị bộ điều khiển, một hệ thống quản lý bộ nhớ, Ngắt vàgiờ, đa truyền thông, và cổng I/O, Tất cả các hệ điều hành phụ có đầy đủ phươngtiện trên thiết bị đích
Trách nhiệm chính của PAL là gọi EE để thực hiện chức năng hệ điều hành chủ. Nói cách khác, PAL phục vụ như chính trung gian hòa giải giữa các hệ điều hành vàCLR này
Trang 33Xây dựng chương trình quản lý thu nhập gia đìnhCommon Language Runtime (CLR)
CLR là nền tảng của NET Framework Chúng ta có thể hiểu runtime như là mộttác nhân quản lý mã nguồn khi nó được thực thi, cung cấp các dịch vụ cốt lõi như:quản lý bộ nhớ, quản lý tiểu trình, và quản lý từ xa Ngoài ra nó còn thúc đẩy việc sửdụng kiểu an toàn và các hình thức khác của việc chính xác mã nguồn, đảm bảo cho
việc thực hiện được bảo mật và mạnh mẽ Thật vậy, khái niệm quản lý mã nguồn lànguyên lý nền tảng của runtime Mã nguồn mà đích tới runtime thì được biết như làmanaged code Trong khi đó mã nguồn mà không có đích tới runtime thì được biếtnhư unmanaged code
.Net Compact Framework sử dụng CLR, được xây dựng lại cho phép hạn chế tàinguyên để chạy trên bộ nhớ giới hạn, và sử dụng năng lượng pin hiệu quả
III.2.4.1 Execution Engine(EE)
EE là thành phần cốt lõi của CLR - nó cung cấp các dịch vụ cơ bản cần thiết đểthực thi quản lý mã Trong đó EE bao gồm một số lượng lớn các thành phần riêng lẻ,một số
một số bộ phận bộ phận quan trọng nhất là: (1) quan trọng nhất là: (1) trình biên dịch Just-in-trình biên dịch Just-in-timtime e (JIT)(JIT), , (2) garbage(2) garbagecollector, và ( 3) lớp và bộ tải mô-đun, và một số lớp khác
EE thực thi nhiều chức năng trong môi trường khan hiếm nguồn tài nguyên (trênthiết bị với bộ nhớ kém hơn và CPU chậm hơn, khoảng 400K to 500K ), nên EE đượcthiết kế với nhiều sự ràng buộc trong bộ nhớ, thực thi khác nhau Tuy vậy, các côngnghệ cốt lõi cũng giống như
nghệ cốt lõi cũng giống như Net Framework, vẫn tuân theo các đặc Net Framework, vẫn tuân theo các đặc tả ECMA-335 EEtả ECMA-335 EEđược viết trong C và thực hiện 2 DLL Mscoree.dll (the stub) and Mscoree1_0.dll (the bulk of the EE)
đang chạy trong quá trình xử lý của hệ điều hành.hệ điều hành
Trang 34- Type Checker:
- Type Checker: Sau khi Class LoaSau khi Class Loader được nạp vào assemblider được nạp vào assemblies, Type Checker es, Type Checker được gọi để xác định
được gọi để xác định mã MSIL chắc chắn được thực thi.mã MSIL chắc chắn được thực thi
- JIT compiler: Một khi Type Checker được xác minh thành công, mã MSIL cóthể được JIT biên dịch đến native chỉ dẫn trên CPU Và cùng với Framework, biêndịch xảy ra trên một method-by-method cơ sở như
dịch xảy ra trên một method-by-method cơ sở như mỗi phương thức từng được gọmỗi phương thức từng được gọi.i
- Thread support:
- Thread support: Như một ứNhư một ứng dụng đang chạy ng dụng đang chạy Net Compact Net Compact Framework, nóFramework, nó
có thể được truy cập vào các luồng của lớp dưới hệ điều hành thông qua các lớpThread
Thread trong trong namespace namespace System.Threading.System.Threading
- Gabager Colle
- Gabager Collector (GC): Có ctor (GC): Có trách nhiệm quản trách nhiệm quản lý bộ nhớ bằng lý bộ nhớ bằng cách thu thậpcách thu thập
và deallocating đối tượng không còn được sử dụng
III.2.4.2 Class Libraries
Tương tự Net Framework, để tạo một môi trường lập trình mạnh mẽ cho cácthiết bị Net Compact Framework có một tập các thư viện class trong tổ chứcassemblies vào các namespaces Tuy nhiên, có sự khác nhau giữa các thư viện lớpcủa Net Compact Framework với Net Framework
Hình 7: Các lớp của Net Compact Framework.
Trang 35Xây dựng chương trình quản lý thu nhập gia đình
.I
.IIII I.33 SSự ự kkhá hác c nnhhaau u ggiiữ ữa a n neet t co com mpa pacct t ffrraame mew wor ork k vvà à n neett
framework
.Net Comp.Net Compact Framact Framework là một tập hợp con ework là một tập hợp con đầy đủ của Net Frađầy đủ của Net Framewormework Nók Nóthực hiệ
thực hiện khoảng 30 phần trăm n khoảng 30 phần trăm toàn bộ thư viện clatoàn bộ thư viện class của Net Framess của Net Framework và cũngwork và cũngchứa các tính năng và
chứa các tính năng và các lớp được cụ thể cho đicác lớp được cụ thể cho điện thoại di động và ện thoại di động và phát triển nhúng.phát triển nhúng
Sự khác biệt chính của Net Compact Framework so với Net Framework
ĐĐặặc c đđiiểểmm HHạạn n cchhế ế ccủủa a NNeet t CCoommppaacct t FFrraammeewwoorrk k M
MDDI I ffoorrmmss WWiinnddoowws s CCE E kkhhôônng g hhỗ ỗ ttrrợ ợ MMuullttiipplle e DDooccuummeennt t IInntteerrffaacceeG
GDDII++ WWiinnddoowws s CCE E kkhhôônng g hhỗ ỗ ttrrợ ợ GGDDII++Dr
Dragag-a-andnd-d-drropop WiWindndowows s CE CE khkhônông g hỗ hỗ trtrợ ợ drdraag-g-aandnd drdropopP
Prriinnttiinngg KKhhôônng g hhỗ ỗ ttrrợ ợ ((ttrroonng g WWiinnddoowws s CCE E vvà à NNeet t CCoommppaacct t FFrraammeewwoorrkk))W
Weeb sb seerrvviiccee NNeet Ct Coommppaacct t FFrraammeewwoorrk ck chhỉ ỉ hhỗ tỗ trrợ cợ clliieenntt ssiiddee
Bảng 2: Sự khác biệt của Net Compact Framework với Net Framework .Net Compact Framework hỗ trợ và không hỗ trợ cái gì?
III.3.2.1 Các điều khiển Net Compact Framework không hỗ trợ Danh sách các điều khiển không
Danh sách các điều khiển không được hỗ trợ trong được hỗ trợ trong Net Compact Framework .Net Compact Framework
Trang 36• RichTextBox
• Splitter III.3.2.2 Những hàm Net Compact Framework không hỗ trợ Danh sách các hàm Net Compact Framework không hỗ
Danh sách các hàm Net Compact Framework không hỗ trợ trợ
Trang 37Xây dựng chương trình quản lý thu nhập gia đình
Seerrvviicceess DDiissccoovveerryyS
Seeccuurriittyy PPrroottooccoollss
SystemC
Coolllleeccttiioonnss IIOO SSeeccuurriittyy NNeet t ((IIrrDDA A ccllaasssseess))T
Teexxtt RReefflleeccttiioonn DDiiaaggnnoossttiiccss GGlloobbaalliizzaattiioonnR
Reesosoururcceess TThrhreeaadidinngg
Bảng 3: Các thư viện Bảng 3: Các thư viện lớp lớp đối tượng Net Compact Framework đối tượng Net Compact Framework được hỗ trợ được hỗ trợ
III.3.2.5 Các lớp chỉ III.3.2.5 Các lớp chỉ có trong có trong Net Net Compact Compact Framework Framework Các Namespace sau đâ
Các Namespace sau đây và lớp y và lớp chỉ có sẵn trong các chỉ có sẵn trong các Net Compact Framework Net Compact Framework.Microsoft.WindowsMobile.DirectX
Microsoft.WindowsMobile.DirectX.Direct3DMicrosoft.WindowsCE.Forms
IrDAEndPointIrDACharacterSetIrDAClient
IrDADeviceInfoIrDAHints
IrDAListener SqlServerCeMicrosoft.ServiceModel.Channels.MailMicrosoft.ServiceModel.Channels.Mail.WindowsMobile
Trang 38việc đồng bộ hóa đồng bộ hóa là điều là điều cần thiết.cần thiết.
Đồng bộ hóa rất quan trọng bởi vì nó sẽ kiểm tra cho sự khác biệt giữa hai nơichứa dữ liệu để tr
chứa dữ liệu để tránh việc chuyển giao ánh việc chuyển giao không cần thiết của các không cần thiết của các dữ liệu đã tồn tdữ liệu đã tồn tại ại trongtrong
cả hai nguồn chứa dữ liệu Vì vậy, đồng bộ hóa thường cập nhật cả hai nguồn dữ liệu bằng cách
bằng cách bổ sung, bổ sung, thay đổi, thay đổi, và xóa.và xóa
Cơ chế đồng bộ ActiveSync
Microsoft đã xây Microsoft đã xây dựng hai cơ chế đồng bộ hóa: dựng hai cơ chế đồng bộ hóa: ActiveSync và SActiveSync và SQL Server 2000QL Server 2000
Windows CE Edition
III.4.2.1 ActiveSync là gì?
Windows CE hoàn toàn cần đến khả năng trao đổi dữ liệu với máy PC Bằngcách kết nối đến một cổng nối tiếp và chạy dữ liệu chuyên trao đổi phần mềm trênmáy PC và cả điện thoại, Windows CE có thể lấy dữ liệu từ máy desktop sử dụngtrong các ứng dụng khác nhau trên thiết bị Phần mềm này được biết đến nhưActiveSync
ActiveSync tạo ra một cầu nối giữa một máy desktop và một thiết bị mà cung ActiveSync tạo ra một cầu nối giữa một máy desktop và một thiết bị mà cung cấpcấpcho một loạt các dịch vụ Không chỉ có nó hoạt động trên các kết nối khác nhau (nhưUSB, cổng nối tiếp, hồng ngoại, và thậm chí thông qua một liên kết Ethernet quamạng), nó cũng làm việc cho Pocket
mạng), nó cũng làm việc cho Pocket PC, Handheld PC, và SmartPhone.PC, Handheld PC, và SmartPhone
Với ứng dụng phần mềm ActiveSync, bạn có thể đồng bộ hóa thông tin đến và từcác điện thoại di động cũng như các thiết bị khác sử dụng hệ điều hành Windows vàcác máy chủ ActiveSync là cơ chế chính cho di chuyển các e-mail, các cuộc hẹn,danh sách công việc, và thông tin liên lạc giữa một thiết bị Windows CE và một máytính để bàn Điều quan trọng cần lưu ý rằng SQL Server CE ActiveSync không sửdụng cho việc truyền dữ liệu Nhưng khi cài đặt SQL Server CE trên một thiết bị nhưPocket PC hoặc một máy tính Handheld, ActiveSync phải có mặt để hỗ trợ hoạt động
Trang 39Xây dựng chương trình quản lý thu nhập gia đình
Các dịch vụ của ActiveSync
- Backup and Restore : Sao lưu và khôi phục dữ liệu trên thiết bị Tính năng nàycho phép người dùng lựa chọn nơi trên máy PC để lưu trữ các tập tin (có phần mở rộng StG.)
- Software Install: ActiveSync tăng cường việc cài đặt bằng cách khiến người sửdụng cung cấp cho các vị trí lắp đặt trên thiết bị, bao gồm sự lựa chọn của bộ nhớ chính hoặc thẻ lưu trữ
-
- Mobile Explorer: Mobile Explorer: Sau khi đồng bộ hóa, một Sau khi đồng bộ hóa, một người dùng có thể duyệt người dùng có thể duyệt hoặc tìmhoặc tìmhiểu hệ thống lưu trữ của thiết bị thông qua ổ đĩa thiết bị di động trong WindowsExplorer hoặc nút Explore trên thanh công
Explorer hoặc nút Explore trên thanh công cụ của ActiveSynccụ của ActiveSync
- File Conversion: Thực hiện các hoạt động chuyển đổi trên tập tin khi chúngđược chuyển giao giữa máy tính để bàn v
được chuyển giao giữa máy tính để bàn và thiết bị.à thiết bị
- Remote Communication: Các dịch vụ nằm bên dưới dịch vụ ActiveSync có thể
là RAPI Mục đích của nó là cho phép các máy tính để bàn để thực thi Win32 API gọingược lại thiết bị
- Connection Notification: nhận được thông báo kết nốiIII.4.2.2 Kiến trúc của ActiveSync
Hình 8 : Kiến trúc của ActiveSync
Trang 40ActiveSync Service Manager Quản lý Dịch vụ là công cụ cốt lõi khi thực hiện quá trình đồng bộ hóa Từ hình
8, bạn sẽ nhận thấy rằng nó nằm trên thiết bị và cả máy tính để bàn Nó xử lý các côngviệc như thiết lập kết nối giữa máy tính và thiết bị, tìm kiếm các thay đổi dữ liệu bằngcách tương tác với các nhà cung cấp, giải quyết xung đột dựa trên nguyên tắc cấu hình
trong các khách hàng ActiveSync, và chuyển giao các dữ liệu Làm người quản lý củaquá trình đồng bộ hóa, các dịch vụ quản lý không quyết định được dữ liệu để giữ, xóa,hoặc chuyển khoản Những quyết định này được thực hiện tại các nhà cung cấpActiveSync
ActiveSync ProvidersMột nhà cung cấp ActiveSync bao gồm các đối tượng COM được đóng gói trongcác DLL thực hiện IReplObjHandler và IReplStore giao diện và gọi chức năngWindows CE Mỗi nhà cung cấp có trách nhiệm đồng bộ hóa một loại dữ liệu cụ thể.Một khi đã đăng ký trong danh sách chính thức của các nhà cung cấp ActiveSync quađăng ký máy tính để bàn, các ActiveSync Service Manager sẽ tương tác với các đốitượng cung cấp thông qua các giao diện COM Một số nhà cung cấp với phần mềmActiveSync, bao gồm cả các nhà cung cấp Microsoft Outlook ActiveSync mà Outlook đồng bộ hóa dữ liệu trên máy tính để bàn với các ứng dụng trên thiết bị bỏ túi khácnhau, bao gồm cả các hộp thư, lịch, địa chỉ liên lạc, nhiệm vụ, và ghi chú Nhữngngười khác cũng tồn tại, bao
người khác cũng tồn tại, bao gồm cả các nhà cung cấp gồm cả các nhà cung cấp các tập tin.các tập tin
.I IV V Ng Ngôn ngữ t ôn ngữ tru ruy vấn có cấ y vấn có cấu trú u trúc Mic c Micro rosof soft SQL S t SQL Ser erve verr
CE
.IV.
.IV.1 1 Giớ Giới th i thiệu iệu chu chung ng
Ngôn ngữ truy vấn có c Ngôn ngữ truy vấn có cấu trúc SQL Server ấu trúc SQL Server 2000 Windows CE 2000 Windows CE (SQL Server CE)(SQL Server CE)rất nhỏ so với bộ máy CSDL Microsoft's SQL Server 2000 Mặc dù kích cỡ của nónhư vậy, nhưng SQL Server CE
như vậy, nhưng SQL Server CE cung cấp đủ để lưu cung cấp đủ để lưu trữ dữ liệu và các chức năng.trữ dữ liệu và các chức năng
SQL Server CE hỗ trợ CSDL có dung lượng lớn nhất đến 2GB SQL Server CE
hỗ trợ tập con các ngôn ngữ định nghĩa dữ liệu và ngôn ngữ thao tác dữ liệu Có hỗ trợ nhiều
nhiều cột cột chỉ chỉ số, số, khóa khóa chính, chính, ràng ràng buộc.buộc