Tải bản đầy đủ (.doc) (93 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.84 MB, 93 trang )

ĐẠ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 771
Website: itf.ud.edu.vn, E-mail:
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
LỚP : 08TLT
CBHD : GV. ĐẶNG THIÊN BÌNH
ĐÀ NẴNG, 06/2010
LỜI CẢM ƠN
Trướ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ương
Dương Thị Hoài Thương
LỜ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ương
Dương Thị Hoài Thương
MỤ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
Kế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 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
Yê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
.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
[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 : rosoft .com 90

[7] Trang web : http://msdn microsoft .com 90
DANH 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

HÌNH 19: BIỂU ĐỒ HOẠT ĐỘNG CỦA CHỨC NĂNG THÊM THU
TIỀN 69
HÌ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
HÌNH 39: MÔ HÌNH CƠ SỞ DỮ LIỆU CỦA BẢNG KẾ HOẠCH 79
HÌ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
DANH 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
LỜ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.
SVTH: Nguyễn Thị Nương, Dương Thị Hoài Thương – 08TLT

12
Xây dựng chương trình quản lý thu nhập gia đình
.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
SVTH: Nguyễn Thị Nương, Dương Thị Hoài Thương – 08TLT
13
CHƯƠNG I
TỔNG QUAN VỀ ĐỀ TÀI
I. GIỚI THIỆU CHUNG VỀ ĐỀ TÀI
II. YÊU CẦU

III. PHƯƠNG PHÁP NGHIÊN CỨU
IV. PHƯƠNG PHÁP TRIỂN KHAI
V. CÔNG CỤ XÂY DỰNG ĐỀ TÀI
VI. DỰ KIẾN KẾT QUẢ ĐẠT ĐƯỢC
CHƯƠNG I
TỔ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ả
SVTH: Nguyễn Thị Nương, Dương Thị Hoài Thương – 08TLT
15
Xây dựng chương trình quản lý thu nhập gia đình

.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.
SVTH: Nguyễn Thị Nương, Dương Thị Hoài Thương – 08TLT
16
Xâ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

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
SVTH: Nguyễn Thị Nương, Dương Thị Hoài Thương – 08TLT
17
CHƯƠNG II
CƠ SỞ LÝ THUYẾT
I. SƠ LƯỢC VỀ MICROSOFT .NET
II. NGÔN NGỮ C SHARP (C#)
III. CÔNG NGHỆ .NET COMPACT FRAMEWORK
IV. NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC MICROSOFT
SQL SERVER CE
V. NGÔN NGỮ ĐẶC TẢ UML
CHƯƠNG II
CƠ 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.
SVTH: Nguyễn Thị Nương, Dương Thị Hoài Thương – 08TLT
19
Xây dựng chương trình quản lý thu nhập gia đình
.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
SVTH: Nguyễn Thị Nương, Dương Thị Hoài Thương – 08TLT
Visual Studio. NET
Operating System on Server, desktop, and
devices
.NET
Enterprise
Servers
.NET
FrameWork
.NET Building
Block Services
20
Xâ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 (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
Kiến trúc hạ tầng của các thành phần
Internet
Dễ triển khai
Độ tin cậy
Bảo mật
.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
SVTH: Nguyễn Thị Nương, Dương Thị Hoài Thương – 08TLT
Common Language Runtime
Framework Base Classes
Data and XML classes
(ADO.NET, SQL, XSLT, Xpath,XML…)
Web
Services
Windows
Forms
Web Forms
Windows Platform
21
Xây dựng chương trình quản lý thu nhập gia đình
tả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)
SVTH: Nguyễn Thị Nương, Dương Thị Hoài Thương – 08TLT
Class loader and memory layout
Garbage collection, stack walk, code manager
Common type system
(Data types )
Intermediate
Language(IL)
To native code compilers
Security Excution support
(Tranditional run time
function)
22
Xây dựng chương trình quản lý thu nhập gia đình
.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.
SVTH: Nguyễn Thị Nương, Dương Thị Hoài Thương – 08TLT
23
Xây dựng chương trình quản lý thu nhập gia đình
Delegates : Cách mà C# dùng để gọi phương thức như thông số gần giống với
con trỏ hàm trong C++.
Các sự kiện : Thông báo khi một hành động cụ thể được sinh ra, ví dụ khi người
dùng nhấn nút chuột.

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
biên dịch.
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:
namespace ten_khong_gian_ten
{
// 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ách
khá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ên
trong không gian tên System
System.Console.WriteLine(“Xin chao”);
SVTH: Nguyễn Thị Nương, Dương Thị Hoài Thương – 08TLT
24
Xây dựng chương trình quản lý thu nhập gia đình
Cấ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ý
trong vù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 dữ liệu đơn giản hoặc 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 tuy
nhiên struct không thể kế thừa từ một lớp hay một struct khác. Struct không thể tạo
các constructor với tham số bên ngoài truyền vào.
Cú 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]
{
[thành viên của cấu trúc]
}
Lớp (Class)
Lớp là sự gói gọn các dữ liệu và phương thức hoạt động trên dữ liệu đó. Trong
C# lớp được xem là kiểu dữ liệu tham chiếu, như vậy các thể hiện của lớp sẽ được
chứa tại vùng nhớ heap và được quản lý bởi bộ thu dọn rác (GC).
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ở]
{
SVTH: Nguyễn Thị Nương, Dương Thị Hoài Thương – 08TLT
25

×