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ển: Một tập các ngôn ngữ bao gồm C# và VB.NET, một tập các công cụ phát triển bao gồm Visual Studio.NET, m
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN
Tel (84-511) 3736 949, Fax (84-511) 842 771Website: itf.ud.edu.vn, E-mail: cntt@ud.edu.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ã số: 08TLT- 027, 041 Ngày bảo vệ: 15 - 16/06/2010
SINH VIÊN : NGUYỄN THỊ NƯƠNG
DƯƠNG THỊ HOÀI THƯƠNG
ĐÀ NẴNG, 06/2010
Trang 2Trước hết xin cảm ơn cha mẹ, gia đình đã là nguồn động viên rất lớn và là chỗ dựa vững chắc nhất của chúng con trong suốt quá trình học tập.
Kính gửi đến thầy Đặng Thiên Bình lời cảm ơn chân thành và sâu sắc, cảm ơn thầy đã tận tình hướng dẫn, chỉ dạy chúng tôi từ các đồ án môn học cho đến khi hoàn thành luận văn tốt nghiệp.
Chúng tôi xin cảm ơn tất cả quý thầy cô trong trường Đại học Bách khoa - Đại học Đà Nẵng nói chung, quý thầy cô của khoa Công nghệ Thông tin nói riêng đã tận tì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ọc tậ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ành luận văn.
Chúng tôi xin cảm ơn tất cả!
Nhóm sinh viên thực hiện
Nguyễn Thị NươngDương Thị Hoài Thương
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 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 trách nhiệm.
Nhóm sinh viên thực hiện
Nguyễn Thị NươngDươ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
Trang 5.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 framework 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 SqlCeDataReader 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 54
.II.1 Yêu cầu chức năng 54
Trang 6Yê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.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
[1] Paul Yao and David Duran Programming the Net Compact Framework Publisher: Prentice Hall PTR, Date: May 24 2004, ISBN: 0-321-17403-8, pages: 1424 90
[2] Nguyễn Phương Lan Lập trình Windows với C#.Net Nhà xuất bản lao động – xã hội, 258 trang 90
[3] Nguyễn Ngọc Bình Phương – Thái Thanh Phong biên dịch Các giải pháp lập trình C# Nhá sách đất việt, 706 trang 90
[4] Nguyễn Tuấn Anh Lập trình ứng dụng trên Pocket PC Trường Đại học Kĩ thuật Công nghiệp - Thái Nguyên khoa Điện tử , 78 trang .90
[5] Huỳnh Văn Đức Giáo trình nhập môn UML Nhà xuất bản lao động – xã hội, 186 trang 90
[6] Trang web : http://www.microsoft com 90
[7] Trang web : http://msdn microsoft com 90
Trang 8DANH MỤC HÌNH
HÌNH 1: THÀNH PHẦN CHÍNH CỦA MICROSOFT NET 20
HÌNH 2: MICROSOFT NET FRAMEWORK 21
HÌNH 3: COMMON LANGUAGE RUNTIME(CLR) 22
HÌ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 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 6: KIẾN TRÚC NET COMPACT FRAMEWORK 31
HÌNH 7: CÁC LỚP CỦA NET COMPACT FRAMEWORK 34
HÌNH 8 : KIẾN TRÚC CỦA ACTIVESYNC 39
HÌNH 9: BIỂU ĐỒ USE CASE HỆ THỐNG 56
HÌNH 10: BIỂU ĐỒ USE CASE BIỂU DIỄN CHỨC NĂNG QUẢN LÝ THU TIỀN 58
HÌNH 11: BIỂU ĐỒ USE CASE BIỂU DIỄN CHỨC NĂNG QUẢN LÝ CHI TIỀN 59
HÌNH 12: BIỂU ĐỒ USE CASE BIỂU DIỄN CHỨC NĂNG QUẢN LÝ KẾ HOẠCH CHI TIỀN 61
HÌNH 13: BIỂU ĐỒ USE CASE BIỂU DIỄN CHỨC NĂNG QUẢN LÝ TÀI SẢN 62
HÌNH 14: BIỂU ĐỒ HOẠT ĐỘNG CỦA CHỨC NĂNG THÊM THÔNG TIN 63
HÌNH 15: BIỂU ĐỒ HOẠT ĐỘNG CỦA CHỨC NĂNG XÓA THÔNG TIN 63
HÌNH 16: BIỂU ĐỒ HOẠT ĐỘNG CỦA CHỨC NĂNG SỬA THÔNG TIN 64
HÌNH 17: BIỂU ĐỒ HOẠT ĐỘNG CỦA CHỨC NĂNG TRA CỨU THÔNG TIN 64
HÌNH 18: BIỂU ĐỒ LỚP 68
Trang 9HÌNH 20: BIỂU ĐỒ HOẠT ĐỘNG CỦA CHỨC NĂNG SỬA THU TIỀN69 HÌNH 21: BIỂU ĐỒ HOẠT ĐỘNG CỦA CHỨC NĂNG XÓA THU TIỀN 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
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 TIỀN 73
HÌNH 29: BIỂU ĐỒ HOẠT ĐỘNG CỦA CHỨC NĂNG XÓA KẾ HOẠCH CHI TIỀN 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
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 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
HÌNH 38: MÔ HÌNH CƠ SỞ DỮ LIỆU CỦA BẢNG CHI TIỀN 78
Trang 10HÌNH 40: MÔ HÌNH CƠ SỞ DỮ LIỆU CỦA BẢNG TÀI SẢN 79
HÌNH 41: MÔ HÌNH CƠ SỞ DỮ LIỆU CỦA BẢNG NGUỒN THU 79
HÌNH 42: MÔ HÌNH CƠ SỞ DỮ LIỆU CỦA BẢNG NGUỒN CHI 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Ị 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 FRAMEWORK 35
BẢNG 3: CÁC THƯ VIỆN LỚP ĐỐI TƯỢNG 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 THỂ THU TIỀN 66
BẢNG 9: THỰC THỂ CHI TIỀN 66
BẢNG 10: THỰC THỂ NGUỒN THU 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
.I Lý do và bối cảnh của đề tài
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ọi ngườ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ách riêng của mình Trong đó, một số thường quen với cung cách “có bao nhiêu dùng bấy nhiê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 chi tiê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ùy hứ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ày hữ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ẽ của công nghệ, đặc biệt là công nghệ thông tin đã 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ủa các sản phẩm phần mềm hỗ trợ việc quản lý thu nhập trong 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ác má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ện thoạ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ất nhiều trong việc quản lý thu nhập 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 “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” làm đề tài tốt nghiệp của mình.
.II Mục đích của đề tài
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ựng chương trình nhằm hỗ trợ chủ yếu cho công việc quản lý thu nhập gia đình
Trang 13.III Mục tiêu của đề tài
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ài sả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 có
Thống kê các khoản thu – chi, tài sản gia đình theo mốc thời gian hoặc theo nguồn gốc cụ thể nào đó
Báo cáo số tiền còn lại và tài chính của gia đình sau khi chi trong một khoản thời gian
.IV Ý nghĩa thực tiễn
Ứ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 Nội dung chính của đề tài
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ÀI
Chương 2: CƠ SỞ LÝ THUYẾT
Chương3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Chương 4: CÀI ĐẶT - TRIỂN KHAI CHƯƠNG TRÌNH
Chương 5: KẾT LUẬN
Trang 14TỔNG QUAN VỀ ĐỀ TÀI
I GIỚI THIỆU CHUNG VỀ ĐỀ TÀI
IV PHƯƠNG PHÁP TRIỂN KHAI
VI DỰ KIẾN KẾT QUẢ ĐẠT ĐƯỢC
Trang 15TỔNG QUAN VỀ ĐỀ TÀI
.I Giới thiệu chung về đề tài
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 trong nhữ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 hành xử của gia đình đối 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ện giả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ập một cách hợp lý tài chính của gia đình
.II Yêu cầu
Nhập thông tin về thu, chi, tài sản và kế hoạch chi
Sửa, xoá các dữ liệu (nếu có 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ại dữ liệu
.III Phương pháp nghiên cứu
Thu thập, phân tích các tài liệu liên quan đến đề tài
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.IV Phương pháp triển khai
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ại cá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ữ liệu
Tìm hiểu các lý thuyết và các kỹ thuật xây dựng phần mềm có liên quan
Đưa ra một số định hướng qua khảo sát thực tế để phát triển đề tài cả về giao diện và chức năng
.V Công cụ xây dựng đề tài
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 mềm mẫu…
Công cụ thiết kế phần mềm: Rational Rose, Visio, chương trình viết Visual Studio 2008, quản lý CSDL thông qua SQL Server CE
Chúng tôi mong muốn phần mềm “Quản lý Thu nhập Gia đình ” sẽ đem lại kết
quả thiết thực như mong đợi của phần lớn các gia đình Giao diện ngày càng thân thiện hơn, các tính năng của phần mềm sẽ hoàn thiện hơn nữa
.VI Dự kiến kết quả đạt đượ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:
Quản lý Thu tiền: Quản lý thông tin về quá trình thu tiền và phân chia theo nguồ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ồn chi
Quản lý Tài Sản: Quản lý thông tin về tài sản
Quản lý Kế hoạch chi: Quản lý thông tin về kế hoạch chi
Quản lý các nguồn thu, nguồn chi
Trang 17Hiể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 theo mốc thời gian.
Xem số dư: Hiển thị số dư qua từng thời gian
Xem danh sách thông tin giữa kế hoạch chi và thực tế chi
Lư trữ và phục hồi dữ liệu
Trang 18CƠ SỞ LÝ THUYẾT
II NGÔN NGỮ C SHARP (C#)
SQL SERVER CE
Trang 19CƠ SỞ LÝ THUYẾT
.I Sơ lược về Microsoft Net
.I.1 Nền tảng và lịch sử của Net
Microsoft .NET được phát triển từ đầu năm 1998, lúc đầu có tên là Next Generation 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ễn tượng của Microsoft là xây dựng một hệ thống phân tán toàn cục (globally distributed system), dùng XML (chứa những cơ sở dữ liệ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 đến nay 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ển: Một tập các ngôn ngữ bao gồm C# và VB.NET, một tập
cá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ện dành cho việc xây dựng các dịch vụ Web, Web và các ứng dụng Windows, thêm vào
đó còn có CLR (Common Language Runtime) dùng để thực thi các đối tượng được xây dựng bởi nền tảng NET
Các phần mềm Server chuyên dụng: 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ức năng chuyên dụng để lưu trữ dữ liệu quan hệ, email và B2B
Các dịch vụ Web: 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.2 Kiến trúc của Microsoft Net
Kiến trúc của nền tảng Net
Microsoft NET gồm có 5 thành phầ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ảng Windows 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ềm 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à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 Enterprise Server 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 Acceleration Server 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ển mớ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, Visual Studio.NET là một môi trường phát triển tích hợp IDE (Integrated Development Environment), 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át minh 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 .NET Building Block Services
Trang 21trên nền tảng Windows, đặc biệt là các dịch vụ Web Nó bao gồm CLR (Common Language 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
.I.3 Microsoft Net Framework
Hình 2: Microsoft NET Framework
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ảo mậ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 gom rá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ền tả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 trong CIL (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, IL không bao giờ được biên dịch Một khái niệm khác nhau giữa hai nền
Common Language Runtime Framework Base Classes
Data and XML classes (ADO.NET, SQL, XSLT, Xpath,XML…)
Web Services Web Forms Windows Forms
Windows Platform
Trang 22tảng này là mã Java 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 duy nhất trên nền Windows với CLR Những Microsoft cũng có đưa ra kiến trúc hạ tầng ngôn ngữ chung CLI(Common Language Infrastructure) có chức năng như một tập con của CLR, vì vậy các hãng phát triển thứ ba, trên lý thuyết có thể thực thi CLR trên một nền tảng khác với Windows.
.I.4 Common Language Runtime(CLR)
Thành phần quan trọng nhất trong NET Framework là CLR, CLR đ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ộc mọi ngôn ngữ đều phải dùng cùng các loại kiểu chung CTS (Common Type System) nên CLR có thể kiểm soát mọi giao diện, gọi giữa các thành phần và cho phép 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ình VB.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: Common Language Runtime(CLR)
Class loader and memory layoutGarbage collection, stack walk, code manager
Common type system(Data types )Intermediate
Language(IL)
To native code compilers
Security Excution support
(Tranditional run time function)
Trang 23.II Ngôn ngữ lập trình C# (C Sharp)
.II.1 Giới thiệu
C# có phiên bản beta ra đời 6/2000, được phát âm “see sharp” C# là một ngôn ngữ được tạo ra bởi Microsoft và thừa nhận ECMA là chuẩn hành động Những tác giả của nó là một đội trong Microsoft dưới sự chỉ đạo của AndersHejlsberg
C# là một ngôn ngữ lập trình mới, được biết đến với 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, hiện thực và phân phối các ứ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 kinh nghiệ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ững khá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ần component, lập trình hướng đối tượng Những tính chất đó hiện diện trong một ngôn ngữ 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ủa hai ngôn ngữ mạnh 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àn cụ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ụng lại, chúng độc lập và có thể hoàn toàn độc lập
.II.2 Những chủ đề tiến bộ trong 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 đây là một số đặc tính :
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
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 : Định nghĩa các kiểu ép kiểu giữa các lớp
riêng của ta
Trang 24Delegates : Cách mà C# dùng để gọi phương thức như thông số gần giống với
Các Attribute : Một kĩ thuật trong việc đánh dấu các mục trong mã mà ta quan
tâm theo một cách nào đó
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à tham chiếu được lưu và thi hành
Mã không an toàn : Khai báo các khối mã “không an toàn” để truy xuất bộ
nhớ trực tiếp
.II.3 Các khái niệm lập trình
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ác struct có liên quan thành một đơn vị
Cú pháp cho việc khai báo một không gian tên như sau:
Trang 25Cú pháp khai báo struct:
[thuộc tính] [bổ sung truy cập]
Struct <tên cấu 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ồng nhau Lớp cũng có thể kế thừa từ các lớp 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ác thành phần là 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áo một lớp như sau:
[Thuộc tính] [Bổ sung truy cập] class <Định danh 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ững chỉ đị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ái niệ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ớp Window là đa hình, đơn giản là ta thêm từ khoá virtual vào khai báo 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ình trong phiên bản mới của phương thức DrawWindow() Để làm được điều này chỉ cần thê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ồn mới vào phương thức viết chồng này
.III Công nghệ Net Compact Framework
.III.1 Giới thiệu về Microsoft net compact framework
Net Compact Framework?
Microsoft .Net Compact Framework (NET CF) là một phiên bản của Net Framework đượ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 27NET Compact Framework được thừa hưởng kiến trúc NET Framework Kiến trú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ện của NET Framework Và một số thư viện được thiết kế đặc biệt cho NET Compact Framework Các thư viện là bản sao không chính xác của NET Framework được thu nhỏ lại để mất ít không gian hơn
.Net Compact Framework được tạo ra từ mối quan hệ giữa hai công nghệ của Microsoft : 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ỗ 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 Net Compact Framework
Pocket PC 2000Pocket PC 2002Windows Mobile 2003 cho Pocket PCWindows Mobile 2003 cho Pocket PC SEWindows Mobile 5.0 cho Pocket PC
1,0 Smart Phone Windows Mobile 2003 cho Smartphone
Windows Mobile 5.0 cho Smartphone
1,0
Các thiết bị Windows Embedded CE
Windows CE 5.1Windows CE 5.2Windows CE 5.0
Windows Mobile 2003 cho Pocket PCWindows Mobile 2003 cho Pocket PC SEWindows Mobile 5.0 cho Pocket PCWindows Mobile 6 Professional
Trang 28Windows Embedded CE
Windows CE 5.0Windows Embedded CE 6.0
Windows Mobile 2003 cho Pocket PCWindows Mobile 2003 cho Pocket PC SEWindows Mobile 5.0 phần mềm cho Pocket PCWindows Mobile 6 Professional
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ỏi Windows Mobile phiên bản 5.0 chạy trên thiết bị
Trang 29III.1.2.2 Giới thiệu về Pocket PC Emulator
- 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
- Tạo ra các phần cứng (ảo) chạy Microsoft Windows CE trên máy tính Intel x86
- Sử dụng hệ điều hành Windows CE và các component Pocket PC
- Đảm bảo sự tương đồng giữa thiết bị PocketPC thật với thiết bị giả lập
III.1.2.3 Giới thiệu SmartPhone Emulator
- SmartPhone về bản chất là cell phone chạy hệ điều hành Pocket PC Để thuận tiệ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 Giới thiệu Window Mobile
Windows 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 phiên bản hướng theo loại màn hình của thiết bị:
- Bản standard hướng đến thiết bị không có màn hình cảm ứng (như Smartphone)
- Bản professional hướng đến thiết bị có màn 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 các bước sau:Bước 1: Chọn Tools, Options trong Visual Studio
Bước 2: Bấm đúp trên mục Device Tools và 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 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 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ựa chọn là:
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 31chỉ 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ụng cổng mặc định, bạn phải tự cấu hình ConmanClient.exe trên thiết bị
.III.2 Kiến trúc Net Compact Framework
.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ều hà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ức nă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ô hình kiến trúc Net Compact Framework
Hình 6: Kiến trúc Net Compact Framework
Có thể thấy, các thành phần chính của kiến trúc này là:
(1) Phần cứng thực tế của các thiết bị di động
(2) Hệ điều hành cung cấp quyền truy cập vào phần cứng này
(3) Môi trường thời gian chạy
(4) Ứng dụng vào hệ điều hành và 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 PC Phone 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ến thể như OMAP 1510 của Texas Instruments dựa trên kiến trúc ARM Tốc độ xử 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ăng cốt lõi và cho một số tính năng của device-specific Một vài type và assemblies, chẳng hạ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ên các thiết bị, hơn là được sao chép đầy đủ từ Net Framework
.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 đủ với các thiết lập chương trình bản địa
- Khả năng tương tác với mã nguồn native sử dụng COM interop và platform invoke
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ương tiệ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 33Common Language Runtime (CLR)
CLR là nền tảng của NET Framework Chúng ta có thể hiểu runtime như là một tá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ết như unmanaged code
.Net Compact Framework sử dụng CLR, được xây dựng lại cho phép hạn chế tài nguyê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ố bộ phận quan trọng nhất là: (1) trình biên dịch Just-in-time (JIT), (2) garbage collector, 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ên thiết bị với bộ nhớ kém hơn và CPU chậm hơn, khoảng 400K to 500K ), nên EE được thiế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ông nghệ cốt lõi cũng giống như Net Framework, vẫn tuân theo các đặc tả 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)
Một số thành phần của EE
- Class Loader: Như với các Framework, mã thực thi bởi các Compact Framework trước tiên phải được biên dịch vào chỉ lệnh MSIL và được đặt trong một assembly (một file PE) trên thiết bị Công việc của Class Loader là để định vị và nạp vào assemblies cần thiết để thực thi một ứng dụng Trước đây Class Loader có thể làm việc với chính nó, ứng dụng hầu hết được kích hoạt tại cấp hệ điều hành Sau này khi một tên miền ứng dụng được tạo ra, EE mất quyền thực thi của ứng dụng với tên miền đang chạy trong quá trình xử lý của hệ điều hành
Trang 34- Type Checker: Sau khi Class Loader được nạp vào assemblies, Type Checker được gọi để xác định 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ên 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ọi
- Thread support: Như một ứng dụng đang chạy Net Compact 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ớp Thread trong namespace System.Threading
- Gabager Collector (GC): Có trách nhiệm quản lý bộ nhớ bằng cá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ác thiết bị .Net Compact Framework có một tập các thư viện class trong tổ chức assemblies vào các namespaces Tuy nhiên, có sự khác nhau giữa các thư viện lớp của Net Compact Framework với Net Framework
Hình 7: Các lớp của Net Compact Framework.
Trang 35.III.3 Sự khác nhau giữa .net compact framework và .net
framework
.Net Compact Framework là một tập hợp con đầy đủ của Net Framework Nó thực hiện khoảng 30 phần trăm toàn bộ thư viện class của Net Framework và cũng chứa các tính năng và các lớp được cụ thể cho điện thoại di động và phát triển nhúng
Sự khác biệt chính của Net Compact Framework so với Net Framework
Đặc điểm Hạn chế của Net Compact Framework
MDI forms Windows CE không hỗ trợ Multiple Document Interface
Drag-and-drop Windows CE không hỗ trợ drag-and-drop
Printing Không hỗ trợ (trong Windows CE và Net Compact Framework)Web service Net Compact Framework chỉ hỗ trợ client-side
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 được hỗ trợ trong 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ỗ trợ
• Các điều khiển Hosting ActiveX
III.3.2.3 Các công nghệ không được hỗ trợ
Trang 37III.3.2.4 Các thư viện lớp đối tượng được hỗ trợ
System.Windows.Forms System.Drawing System.Data System.Xml
Collections IO Security Net (IrDA classes)
Text Reflection Diagnostics Globalization
Resources Threading
Bảng 3: Các thư viện lớp đối tượng Net Compact Framework được hỗ trợ
III.3.2.5 Các lớp chỉ có trong Net Compact Framework
Các Namespace sau đây và lớp chỉ có sẵn trong các Net Compact Framework.Microsoft.WindowsMobile.DirectX
Trang 38.III.4 Đồng bộ trong Net Compact Framework (synchronize)
Tầm quan trọng của đồng bộ
Để điều khiển dữ liệu cục bộ, truy cập dữ liệu từ xa, và dữ liệu trong bộ nhớ đệm trong môi trường với các chức năng ứng dụng trên các kết nối băng thông hạn chế Do đó, số lượng dữ liệu được truyền từ các thiết bị hạn chế nên được hạn chế, và việc đồng bộ hóa là điều 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ơi chứa dữ liệu để tránh việc chuyển giao không cần thiết của các dữ liệu đã tồn tại trong 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ổ sung, thay đổi, và xóa
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ấp cho 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 qua mạng), nó cũng làm việc cho Pocket 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áy tí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 39Cá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ày cho 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: Sau khi đồng bộ hóa, một người dùng có thể duyệt hoặc tìm hiểu hệ thống lưu trữ của thiết bị thông qua ổ đĩa thiết bị di động trong Windows Explorer hoặc nút Explore trên thanh công cụ 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à 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ọi ngược lại thiết bị
- Connection Notification: nhận được thông báo kết nối
III.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ông việ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ằng cá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ủa quá 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ấp ActiveSync
ActiveSync Providers
Một nhà cung cấp ActiveSync bao gồm các đối tượng COM được đóng gói trong các DLL thực hiện IReplObjHandler và IReplStore giao diện và gọi chức năng Windows 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 đối tượ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ềm ActiveSync, 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ác nhau, bao gồm cả các hộp thư, lịch, địa chỉ liên lạc, nhiệm vụ, và ghi chú Những người khác cũng tồn tại, bao gồm cả các nhà cung cấp các tập tin
.IV Ngôn ngữ truy vấn có cấu trúc Microsoft SQL Server
CE
.IV.1 Giới thiệu chung
Ngôn ngữ truy vấn có cấu trúc SQL Server 2000 Windows 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 cung cấp đủ để lưu 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 cột chỉ số, khóa chính, ràng buộc