VIỆN ĐẠI HỌC MỞ HÀ NỘI
KHOA CÔNG NGH
NGHỆ THÔNG TIN
SAÁÁDSADADASAD
QUẢN
LÝ
THU
CHI
TRÊN
ĐIỆN
THOẠ
I DI
ĐỘNG
ĐỖ ANH TÀI
QUẢN
N LÝ THU CHI TRÊN ĐIỆN THOẠI DI ĐỘ
ỘNG
Chuyên ngành: Công ngh
nghệ thông tin
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Hà Nội - 2016
VIỆN ĐẠI HỌC MỞ HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
ĐỖ ANH TÀI
QUẢN
N LÝ THU CHI TRÊN ĐIỆN THOẠI DI ĐỘ
ỘNG
Chuyên ngành: Công nghệ
ngh thông tin
Giảng
ng viên hhướng dẫn:
PGS.TS Đặng
ng Thành Phu
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Hà Nội - 2016
VIỆN ĐẠI HỌC MỞ HÀ NỘI
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
KHOA CÔNG NGHỆ THÔNG TIN
Độc lập - Tự do - Hạnh phúc
Hà Nội, ngày
tháng
năm 2016
NHIỆM VỤ CỦA ĐỒ ÁN TỐT NGHIỆP
Họ và tên: Đỗ Anh Tài
Giới tính: Nam
Ngày sinh: 08/05/1994
Nơi sinh: Nam Định
Chuyên ngành: Công nghệ Thông tin
Mã số: 12A10010058
Lớp hành chính: 1210A02
1. TÊN ĐỀ TÀI
Quản lý thu chi trên điện thoại di động
2. NHIỆM VỤ VÀ NỘI DUNG
- Nghiên cứu và tìm hiểu hệ quản trị cơ sở dữ liệu MySQL, ngôn ngữ PHP,
ngôn ngữ Java Core ứng dụng lập trình android.
- Khảo sát hệ thống của ứng dụng.
- Phân tích thiết kế hệ thống.
- Xây dựng chương trình bao gồm đầy đủ các tính năng cơ bản cho người
dùng như xem các khoản thu chi, tạo các khoản thu chi.
3. NGÀY GIAO NHỆM VỤ: 04 – 01 – 2016
4. NGÀY HOÀN THÀNH NHIỆM VỤ:
5. CÁN BỘ HƯỚNG DẪN: PGS.TS Đặng Thành Phu
GIẢNG VIÊN HƯỚNG DẪN
KHOA CÔNG NGHỆ THÔNG TIN
LỜI NÓI ĐẦU
1. Ý nghĩa thực tiễn:
Hiện nay, các thiết bị điện thoại thông minh smartphone ngày càng phát
triển và trở nên phổ biến với mọi người cũng như mọi tầng lớp trong xã
hội. Việc lựa chọn một chiếc điện thoại smartphone phù hợp với mỗi
người không phải là dễ. Tuy nhiên, việc lựa chọn cho mình một ứng dụng
phù hợp trên điện thoại smartphone lại đơn giản hơn rất nhiều. Giờ đây,
máy tính, sách báo, tử điển, nhật ký,... đều đã được tích hợp vào điện thoại
di động.
Trong thời kì công nghệ ngày càng phát triển, giá cả leo thang, việc chi
tiêu trong gia đình cần phản tỉ mỉ và chính xác. Những dự trù đầu tháng
nếu k có ghi ghép hàng ngày từ những việc chi tiêu nhỏ nhất thì đến cuối
tháng sẽ phát sinh nhiều vấn đề trong gia đình. Vì thế, cần phải ghi chép
lại bất cứ khi nào có thu chi. Tuy nhiên, không phải lúc nào ai cũng có thể
mang bên mình một cuốn sổ thu chi và một cái bút để ghi lại. Tóm lại, vấn
đề đặt ra là phải có một cuốn sổ thu chi tiện dùng có thể sử dụng mọi lúc
mọi nơi và lưu lại được đầy đủ thông tin chi tiêu của gia đình.
Với sự phát triển của điện thoại thông minh smartphone, ai đi đâu trong
người cũng có thể mang theo một chiếc điện thoại. Với nhu cầu đặt ra phải
có một cuốn sổ thu chi trong gia đình mà không phải ai lúc nào cũng có
thể mang theo, em đã tìm hiểu và đưa ra ý tưởng lập trình một ứng dụng
trên điện thoại smartphone, (với cầu hình ngày càng cao và giá thành ngày
càng hạ)để mọi người tiện lợi sử dụng ở bất cứ mọi nơi, mọi thời điểm. Đề
tài “Quảnlý thu chi trên điện thoại di động” của em sẽ xây dựng nhằm
giải quyết vấn đề tích hợp sổ tay quản lý thu chi của gia đình vào điện
thoại di động smartphone.
2. Mục tiêu của đồ án:
a. Mục ghi chép sẽ ghi chép lại tất cả các khoản thu chi phát sinh.
b. Mục tài khoản thống kê toàn bộ số dư tài khoản như sổ tiết kiệm, thẻ
ngân hàng, ví vợ chồng ... .
c. Mục báo cáo là hiển thị biểu đồ giữa thu và chi và có chế độ xem
theo ngày, tháng hoặc năm.
Ứng dụng sẽ liên tục gửi và nhận thông tin từ web server mỗi khi có 1
khoản thu chi nào đó. Những thông tin của gia đình sẽ được xác định bằng
một tài khoản dùng cho nhiều người dùng trong một gia đình. Từ tài khoản
chung đó có thể tạo thêm nhiều tài khoản cá nhân cho từng thành viên
trong gia đình để việc quản lý thu chi của từng cá nhân minh bạch và cụ
thể nhất.
3. Nội dung đồ án:
Đồ án được chia thành 5 phần chính
Chương 1. Khảo sát hệ thống
Chương 2: Tìm hiểu về hệ điều hành android
Chương 3. Phân tích hệ thống về chức năng
Chương 4. Phân tích hệ thống về dữ liệu
Chương 5. Xây dựng hệ thống
Sinh viên thực hiện
Đỗ Anh Tài
MỤC LỤC
CHƯƠNG I: KHẢO SÁT HỆ THỐNG ............................................................ 1
1. Mô tả bài toán .......................................................................................... 1
1.1
Định nghĩa ký hiệu sử dụng ............................................................... 2
1.2
Mô hình tiến trình nghiệp vụ .............................................................. 3
2. Biểu đồ hoạt động .................................................................................... 4
2.1
Định nghĩa kí hiệu sử dụng ................................................................ 4
2.2
Biểu đồ hoạt động .............................................................................. 5
CHƯƠNG II:TÌM HIỂU VỀ HỆ ĐIỀU HÀNH ANDROID, NGÔN NGỮ
PHP VÀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL NỀN TẢNG CÔNG
NGHỆ XÂY DỰNG ĐỀ TÀI ............................................................................ 9
2.1. Giới thiệu về hệ điều hành Android ......................................................... 9
2.2. Kiến trúc hệ điều hành Android ............................................................. 14
2.2.1. Linux kernel .................................................................................... 15
2.2.2. Libraries and android runtime.......................................................... 15
2.2.3. Application framework .................................................................... 16
2.2.4. Applications .................................................................................... 17
2.3. Giới thiệu về ngôn ngữ PHP ................................................................. 17
2.4 Hệ quản trị cơ sở dữ liệu MySQL .......................................................... 26
CHƯƠNG III: PHÂN TÍCH HỆ THỐNG VỀ CHỨC NĂNG ........................ 28
1. Sơ đồ phân rã chức năng ........................................................................ 28
1.1
Xác định chức năng chi tiết .............................................................. 28
1.2
Gom nhóm chức năng ...................................................................... 29
1.3
Sơ đồ chức năng............................................................................... 30
2. Sơ đồ luồng dữ liệu ................................................................................ 31
2.1 DFD mức khung cảnh ......................................................................... 31
2.2 DFD mức đỉnh..................................................................................... 32
2.3
DFD mức dưới đỉnh ......................................................................... 33
CHƯƠNG IV: PHÂN TÍCH HỆ THỐNG VỀ DỮ LIỆU ................................ 37
1. Xác định kiểu thực thể ........................................................................... 37
2. Xác định kiểu thuộc tính ........................................................................ 38
3. Xác định kiểu liên kết ............................................................................ 39
4. Mô hình quan hệ .................................................................................... 40
5. Đặc tả dữ liệu ......................................................................................... 41
CHƯƠNG V: XÂY DỰNG HỆ THÔNG ........................................................ 46
5.1. Sơ đồ hoạt động dữ liệu: ........................................................................... 46
5.2 Giao diện ứng dụng: ............................................................................... 47
5.2.1. Giao diện đăng nhập ........................................................................ 47
5.2.2. Giao diện đăng ký............................................................................ 49
5.2.3.Giao diện chọn người dùng: ............................................................. 51
5.2.4. Giao diện menu: .............................................................................. 53
5.2.5. Giao diện thu: .................................................................................. 55
5.2.6. Giao diện thêm mới thu: .................................................................. 57
5.2.7 Giao diện chi tiết khoản thu: ............................................................. 59
5.2.8 Giao diện thống kê ........................................................................... 61
5.2.9 Giao diện quản lý người dùng .......................................................... 63
KẾT LUẬN ..................................................................................................... 65
1. Mục tiêu của đồ án: ................................................................................ 65
2. Kết quả................................................................................................... 65
TÀI LIỆU THAM KHẢO ............................................................................... 66
DANH MỤC CÁC CHỮ VIẾT TẮT
STT Tên viết tắt
Tên đầy đủ
1
DATN
Đồ án tốt nghiệp
2
PTS
Adobe Photoshop
Chương trình xử lí ảnh
3
SQL
Structured Query
Hệ quản trị cơ sở dữ
Language
liệu tự do nguồn mở
4
CSDL
5
SDK
6
LTUD
Lập trình ứng dụng
7
R
Read
Đọc
8
C
Create
Tạo
9
U
Update
Chỉnh sửa
10
DFD
Data Flow Diagram
Mô hình đặc tả dữ liệu
Dịch ra tiếng việt
Cơ sở dữ liệu
Software
Bộ công cụ phát triển
Development Kit
phần mềm
DANH MỤC CÁC BẢNG
Bảng 3.1.1: Xác định kiểu thực thể
16
Bảng 3.1.2: Gom nhóm chức năng
17
Bảng 4.2: Xác định kiểu thực thể
25
Bảng 4.3: Xác định kiểu thuộc tính
26
Bảng 4.4: Xác định kiểu liên kết
27
Bảng 6.1: tblTaikhoan
29
Bảng 6.2: tblTaikhoancanhan
29
Bảng 6.3: tblThu
29
Bảng 6.4: tblChi
30
Bảng 6.5: tblVayno
30
Bảng 6.6: tblChovay
30
Bảng 6.7: tblCTThu
31
Bảng 6.8: tblCTChi
31
Bảng 6.9: tblCTVayno
32
Bảng 6.10: tblCTChovay
32
DANH MỤC CÁC HÌNH VẼ
Hình 1.2.2: Mô hình tiến trình nghiệp vụ
11
Hình 1.3.2.1: Biểu đồ hoạt động “Quản lý người dùng”
13
Hình 1.3.2.2: Biểu đồ hoạt động “Quản lý thu chi”
14
Hình 1.3.2.3: Biểu đồ hoạt động “Quản lý sổ vay nợ”
15
Hình 1.3.2.4: Biểu đồ hoạt động “Thống kê, báo cáo”
16
Hình 3.1.3: Sơ đồ phân rã chức năng
19
Hình 3.2.1: DFD mức khung cảnh
20
Hình 3.2.2: DFD mức đỉnh
21
Hình 3.2.3.1: Quản lý người dùng
22
Hình 3.2.3.2: Quản lý thu chi
23
Hình 3.2.3.3: Quán lý sổ vay nợ
24
Hình 3.2.3.4: Thống kê, báo cáo
25
Hình 4.5: Mô hình quan hệ
29
1
CHƯƠNG I: KHẢO SÁT HỆ THỐNG
1. Mô tả bài toán
Ứng dụng hướng tới đối tượng người dùng là một gia đình với 2 thành viên thu
chi chính là vợ chồng
Ứng dụng yêu cầu cần có một tài khoản đăng nhập chung cho một gia đình. Tài
khoản này sẽ do vợ hoăc chồng đăng ký, sau đó sẽ dựa vào tài khoản đó để tạo
tải khoản cho người còn lại
Với lần đăng nhập đầu tiên, ứng dụng sẽ yêu cầu người tạo tài khoản cá nhân
cho từng người. Sau khi đã tạo xong đầy đủ thông tin cho các tài khoản con, từ
lần đăng nhập tiếp theo, sau bước đăng nhập tài khoản chung, ứng dụng sẽ hiển
thị ra một dánh sách chọn tài khoản con và người dùng sẽ nhập mật khẩu cá
nhân của tài khoản con của mình để tiến hành bắt đầu tạo các khoản thu chi.
Tiếp theo, người dùng sẽ bắt đầu lựa chọn 1 trong 2 nhóm thu nhập hoặc chi tiêu
để tạo khoản. Tùy theo mục chọn mà người dùng sẽ đặt tiêu đề, nội dung và số
tiền ví dụ như tiền lương, tiền lãi... hoặc du lịch, ăn uống... .
Sau đó, ứng dụng sẽ trả về vị trí trước đó của ứng dụng là nhóm mục thu hay chi
vừa nhập lên dánh sách. Người dùng cũng có thể dễ dàng sửa lại mục vừa nhập
nếu nhập sai hoặc lỗi bằng cách nhấn giữ khoản đó và tiến hành sửa.
Ứng dụng có chức năng báo cáo giúp người dùng xem lại thông tin thu chi đã
nhập theo tuần hoặc theo tháng tùy theo từng người dùng. Chức năng báo cáo
còn đưa ra cho người dùng biểu đồ so sánh mức độ chi tiêu trong tuần, tháng
hoặc năm.
Bên cạnh đó, ứng dụng còn có chức năng sổ vay nợ ghi chép lại các khoản cho
vay/nợ để tiện cho người dùng theo dõi. Mỗi lần tạo 1 khoản vay nợ, người dùng
cần cung cấp thông tin của người vay/nợ, số tiền, ngày vay/nợ và ngày trả. Khi
gần tới hạn trả tiền, ứng dụng sẽ gửi đến người dùng thông báo để chuẩn bị trả
hoặc thu sao cho hợp lý.
2
1.1 Định nghĩa ký hiệu sử dụng
bộ phận>
phận>
năng 1>
1>
Bộ phận trong hệ thống
năng 2>
2>
............
............
năng n>
n>
Tác nhân tác động vào hệ thống
Luồng thông tin
3
1.2 Mô hình tiến trình nghiệp vụ
Hình 2.2: Mô hình tiến trình nghiệp vụ
4
2. Biểu đồ hoạt động
2.1 Định nghĩa kí hiệu sử dụng
Bắt đầu
Giấy tờ giao dịch
Chức năng
Kho
Dữ liệu vào kho
Luồng dữ liệu
Kết thúc
Kiểm tra
5
2.2 Biểu đồ hoạt động
2.2.1 Biểu đồ hoạt động “Quản lý người dùng”
6
3.2.2 Biểu đồ hoạt động “Quản lý thu chi”
7
3.2.3 Biểu đồ hoạt động “Quán lý sổ vay nợ”
8
3.2.4 Biểu đồ hoạt động “Thống kê, báo cáo”
9
CHƯƠNG II:TÌM HIỂU VỀ HỆ ĐIỀU HÀNH ANDROID, NGÔN NGỮ
PHP VÀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL NỀN TẢNG CÔNG
NGHỆ XÂY DỰNG ĐỀ TÀI
2.1. Giới thiệu về hệ điều hành Android
Android – hệ điều hành dành cho điện thoại di động[3]:
Android là hệ điều hành điện thoại di động mã nguồn mở miễn phí
do công ty Google phát triển dựa trên nền tảng của Linux. Android là
hệ điều hành gồm 12 triệu dòng code
Các ứng dụng không được phép truy cập đến dữ liệu của nhau, cũng
không được phép truy cậpđến dữ liệu của HĐH, trừ khi được chính
ứng dụng đó cung cấp
Các ứng dụng hỗ trợ khả năng giao tiếp với người dùng đến đâu là
do khả năng và thiết kế của người lập trình, còn bản thân Android đã
hỗ trợ đầy đủ các giao tiếp cho ứng dụng.
Android – hệ điều hành dành cho điện thoại di động được phát triển
bởi Google và ngày càng trở nên phổ biến với các hãng liên tục ra
mắt các mẫu điện thoại sử dụng Android.
Lịch sử phát triển của Android
Cách các nhà sản xuất điện thoại dùng Android là họ cho ra một
dòng điện thoại, lấy bản open source của Android về, chỉnh sửa lại
cho phù hợp với dòng điện thoại đó, rồi cài vào và tung ra thị trường.
Do đó các bản Android khác nhau được gọi là các bản Room khác
nhau của Android.
Thiết bị chuẩn của Android bao gồm 4 phím chính (cứng hoặc mềm)
là home, back, search và menu (iPhone chỉ có duy nhất phím Home).
10
-
Phím Home sẽ quay trở về màn hình home
-
Phím back quay lại màn hình trước đó
-
Phím search và menu sẽ tùy từng ứng dụng mà chúng sẽ có action
tương ứng.
Android được xây dựng trên nhân linux và được phân phối miễn phí.
Không giống như Windows mobile và Apple iPhone, tuy cả hai đều cung cấp
môi trường phát triển ứng dụng phong phú và đơn giản dễ tiếp cận nhưng
luôn có sự ưu tiên cho các ứng dụng mặc định có sẵn của hệ điều hành
(native applications). Với Android mọi ứng dụng đều được viết trên cùng
một tập API, thế nên không có sự phân biệt giữa các ứng dụng mặc định và
các ứng dụng của bên thứ ba. Người dùng hoàn toàn có thể thay thế mọi ứng
dụng mặc định bằng các ứng dụng yêu thích của mình, thậm chí ngay cả màn
hình thực hiện cuộc gọi mà màn hình nhà (home scream).
Hình 2.1 Quá trình phát triển của hệ điều hành Android
Các nhà phát triển ứng dụng cho Android dựa trên ngôn ngữ Java. Sự ra
mắt của Android vào ngày 5 tháng 11 năm 2007 gắn với sự thành lập liên
11
minh thiết bị cầm tay mã nguồn mở, bao gồm 78 công ty phần cứng và phần
mềm viễn thông nhằm mục đích tạo nên chuẩn mở cho điện thoại di động
trong tương lai. Google công bố hầu hết các mã nguồn Android theo bản cấp
phép Apache.
Hình 2.2. Các thành viên của liên minh di động mở
Các ứng dụng có sẵn trên Android
Một điện thoại Android thông thường sẽ đi kèm với một vài ứng dụng có
sẵn, bao gồm:
Một trình email tương thích với Gmail
Chương trình quản lý tin nhắn SMS
Chương trình quản lý thông tin cá nhân, bao gồm cả lịch làm việc,
danh bạ và được đồng bộ hóa với dịch vụ Google
12
Phiên bản thu gọn của Google Map cho điện thoại, bao gồm
StreetView, tìm kiếm địa chỉ, chỉ đường, tình trạng giao thông…
Trình duyệt Web dựa trên nhân Webkit.
Chương trình tán gẫu (Chat).
Trình đa phương tiện (chơi nhạc, xem phim…).
Android MarketPlace cho phép người dùng tải về và cài đặt các ứng
dụng mới.
Tất cả các ứng dụng có sẵn đều được viết bằng ngôn ngữ Java và sử
dụng Android SDK. Các dữ liệu về thông tin người dùng được các ứng dụng
có sẵn sử dụng như thông tin về danh bạ vẫn hoàn toàn có thể được sử dụng
bởi các ứng dụng của bên thứ ba. Tương tự vậy, ứng dụng của bạn hoàn toàn
có thể xử lý các sự kiện như các cuộc gọi đến, nhận một tin nhắn mới… thay
cho các ứng dụng có sẵn.
Androidsoftware development kit (SDK)
Bộ SDK của Android bao gồm mọi thứ cần thiết giúp bạn có thể lập
trình, debug, test ứng dụng Android.
Android API: Cốt lõi của bộ SDK là thư viện các hàm API và
Google cũng chỉ sử dụng bộ API này để xây dựng các ứng dụng có
sẵn cho Android.
Development tool: SDK bao gồm rất nhiều công cụ để giúp biên
dịch, sửa lỗi và hỗ trợ trong việc lập trình ứng dụng.
Android Emulator: Trình giả lập thiết bị chạy Android thực sự với
nhiều Skin thay thế, cực kì tiện lợi cho việc test ứng dụng Android
ngay trên máy tính mà không cần phải thông qua một thiết bị chạy
Android thực.
Tài liệu: SDK bao gồm một bộ tài liệu rất chi tiết, giải thích cặn kẽ
chính xác những gì bao gồm trong mỗi page, class cùng với cách sử
13
dụng chúng. Ngoài tài liệu về “code”, còn có những tài liệu dùng để
“getting started” và giải thích các nguyên tắc và cơ chế hoạt động
của ứng dụng trong Android.
Code mẫu: SDK bao gồm các ứng dụng mẫu đơn giản minh họa cho
các tính năng nổi bật trên Android, cũng như các ứng dụng demo
cách sử dụng các tính năng của bộ API.
Các thư viện của Android
Android cung cấp các gói API để phát triển ứng dụng. Sau đây là các
API mà tất cả các thiết bị Android đều tối thiểu phải hỗ trợ để giúp cho chúng
ta một cái nhìn tổng quát về thư viện này.
Android.util : Gói API lõi, chứa các class cấp thấp như container,
string formatter, XML parsing.
Android.os : Truy cập tới chức năng của hệ điều hành như : gởi nhận
tin nhắn, giao tiếp nội bộ giữa các ứng dụng, thời gian…
Android.graphics: Cung cấp các lớp liên quan tới xử lý đồ họa ở mức
thấp. Hỗ trợ các hàm cơ bản như vẽ điểm, vẽ miền, tô màu.. trên
khung canvas.
Android.text: Cung cấp các hàm phân tích và xử lý chuỗi.
Android.database: Cung cấp các lớp cấp thấp cần thiết để làm việc
với database.
Android.content: Dùng để quản lý các tài nguyên, các nội dung và
các gói.
Android.view: Views là lớp cha của mọi lớp giao diện người dùng.
Android.widget: Được thừa kế từ lớp View, bao gồm các lớp cơ bản
để xây dựng giao diện widget như: list, button, layout..
Android.map: Gói API cấp cao, dùng để truy cập tới các chức năng
của GoogleMap.
14
Android.app: Gói API cấp cao, bao gồm các Activity và Service –
hai lớp cơ sở cho mọi ứng dụng Android.
Android.telephony: Cung cấp cho bạn khả năng tương tác trực tiếp
với các chức năng cơ bản của một điện thoại như nghe, gọi, tin nhắn
Android.webkit: cung cấp một webView control trên nền webkit để
có thể nhúng ứng dụng, cùng với các API điều khiển cơ bản như
stop, refresh, cookieManager…
2.2. Kiến trúc hệ điều hành Android
Android gồm 4 thành phần:
•
Hệ điều hành (Linux Kernel).
•
Thư viện và các giao diện lập trình ứng dụng (Libraries and
Android Runtime).
•
Khung ứng dụng (Application Framework).
•
Ứng dụng (Applications).
Mô hình sau (Hình 2.3) thể hiện một cách tổng quát các thành phần của
hệ điều hành Android. Mỗi phần sẽ được đặc tả một cách chi tiết dưới đây.