BỘ TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
********
BÁO CÁO THỰC TẬP TỐT NGHIỆP
XÂY DỰNG PHẦN MỀM QUẢN LÝ KHÁCH HÀNG
TRÊN THIẾT BỊ DI ĐỘNG ANDROID
Địa điểm thực tập
Người hướng dẫn
Sinh viên thực hiện
Lớp
Chuyên ngành
: Công ty cổ phần công nghệ tương lai Việt Nam
: Mai Văn Hiển
: Dương Thị Thanh Huyền
: DH2C1
: Công nghệ thông tin
Hà Nội, tháng 4 năm 2016
BỘ TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
********
BÁO CÁO THỰC TẬP TỐT NGHIỆP
XÂY DỰNG PHẦN MỀM QUẢN LÝ KHÁCH HÀNG
Em cũng xin gửi lời cảm ơn tới các thầy cô đã giảng dạy em trong suốt những
năm học tập tại trường, những người đã truyền đạt cho em không chỉ kiến thức, kinh
nghiệm quý báu, mà cả những câu chuyện về cuộc sống, những bài học làm người ý
nghĩa. Những kiến thức, bài học đó đã, đang và sẽ tiếp tục là hành trang, động lực giúp
em tự hoàn thiện bản thân, vượt qua những khó khăn và vững bước trên con đường
phía trước.
Con xin cảm ơn gia đình đã luôn quan tâm, chăm sóc, tin tưởng, ủng hộ con
trong suốt quá trình học tập.Xin cảm ơn tất cả bạn bè đã luôn là nguồn động viên, ủng
hộ to lớn với tôi trong những năm tháng ở giảng đường đại học.
Mặc dù em đã cố gắng hoàn thành thực tập bằng tất cả sự nỗ lực và khả năng
hạn chế của mình, nhưng chắc chắn vẫn còn nhiều thiếu sót. Em mong nhận được sự
cảm thông và những góp ý quý giá từ thầy cô và các bạn.
Em xin chân thành cảm ơn!
KÍ HIỆU CÁC CỤM TỪ VIẾT TẮT
1
Ký hiệu
viết tắt
ADT
2
STT
Ý nghĩa tiếng Anh
Ý nghĩa tiếng Việt
PDE
Plug-in Development
Environment
Môi trường phát triển trình
cắm thêm
6
SDK
Software Development Kit
Bộ công cụ phát triển phần
mềm
MỤC LỤC
6
DANH SÁCH BẢNG
7
DANH SÁCH HÌNH VẼ
thông tin một cách nhanh chóng và hiệu quả.
Tuy nhiên, việc tận dụng được những khả năng của smartphone và mạng
internet để lấy được thông tin cần thiết, cũng như truy xuất được các tri thức hữu ích
từ các định dạng dữ liệu mà các API cung cấp thì phải thông qua các phần mềm, ứng
dụng mà các lập trình viên cung cấp. Bởi lẽ người dùng thông thường không am hiểu
nhiều về công nghệ sẽ gặp khó khăn trong việc tìm kiếm cũng như hiểu rõ các dữ liệu
9
trong kết quả trả về, do đó các phần mềm, ứng dụng với giao diện thân thiện và dễ sử
dụng với người dùng sẽ là sự lựa chọn tốt nhất và tiện lợi nhất.
Nhận thấy những điều trên, em có ý tưởng kết hợp các công nghệ này lại với
nhau để tạo ra một ứng dụng phù hợp với nhu cầu quản lý thông tin khách hàng một
cách chi tiết, nhanh chóng và tiện lợi, đó là phần mềm được phát triển trên hệ điều
hành Android với tên gọi là “Quản lý khách hàng”.
2. Đối tượng, phạm vi và phương pháp thực hiện chuyên đề thực tập.
o Đối tượng thực hiện
- Đề tài tập trung nghiên cứu, phân tích thiết kế phần mềm quản lý khách hàng cho cửa
hàng trên hệ điều hành Android.
o Phạm vi thực hiện
- Thời gian: đề tài thực tập được thực hiện từ ngày 10 tháng 3 năm 2016 đến ngày 15
o
3.
•
tháng 4 năm 2016
Địa điểm thực tập: Công ty cổ phần công nghệ tương lai Việt Nam (Ftech.vn)
Phương pháp thực hiện
Phân tích thiết kế phần mềm quản lý khách hàng dựa trên hoạt động thực của cửa hàng
Công ty cổ phần công nghệ tương lai Việt Nam (Ftech.vn) có trụ sở tại phòng
607, 57 Láng Hạ, Ba Đình, Hà Nội là một công ty uy tín trong lĩnh vực cung cấp dịch
vụ hosting, máy chủ ảo (Virtual Private Server - VPS), dịch vụ hỗ trợ đặt máy chủ tại
nhiều trung tâm dữ liệu VNPT,FPT,ODS… Với mục tiêu trở thành một trong những
nhà cung cấp Hosting lớn nhất, đi đầu trong công nghệ môi trường lưu trữ,cung cấp
dịch vụ tốt nhất, Ftech.vn đã không ngừng hoàn thiện và nâng cấp dịch vụ của công ty.
Ftech.vn có sử dụng phiên bản Cpanel mới nhất. CPanel là một hệ thống quản
trị web hosting trên nền tảng Linux phổ biến và mạnh mẽ nhất hiện nay. Cpanel cung
cấp giao diện đồ họa đơn giản, linh hoạt với rất nhiều tính năng giúp các bạn quản trị
hosting và website của mình một cách dễ dàng. Như vậy Ftech.vn cho phép người
dùng có thể sử dụng một số chức năng mà chỉ Cpanel phiên bản mới nhất mới có, đó
là chuyển version PHP tự do . PHP là viết tắt của cụm từ Personal Hompe Page là
ngôn ngữ chạy trên máy chủ và được dùng để tạo ra các website với tính năng phức
tạp. Khác với các ngôn ngữ HTML hay Javascript được chạy trên trình duyệt của
người dùng (hay còn gọi là máy khách) thì PHP được viết để chạy trên máy chủ. Nhờ
đó người dùng hoàn toàn có thể chủ động cấu hình các Module mở rộng cho PHP, phù
hợp cho hầu hết các website chạy mã nguồn mở và mã nguồn đóng.
Tiếp nữa, bên Ftech.vn sử dụng Light Speed làm server kết hợp với Apache,
qua đó tạo được cảm giác bất ngờ về tốc độ, điều này giúp Ftech.vn giảm số lần xử lý
trên CPU và giúp cho khách hàng cảm giác trang web chạy nhanh và nhẹ !
Hiện tại bên Ftech.vn còn có công cụ giúp chống DDOS hiệu quả cho tất cả các
gói dịch vụ của mình. DDoS là kiểu tấn công làm cho mục tiêu, là các trang web, dịch
vụ trực tuyến, trở nên quá tải. Người dùng gặp khó khăn, hay thậm chí không thể truy
cập vào các trang web, dịch vụ này. Qua đó Ftech.vn giúp khách hàng cảm thấy an tâm
mỗi khi sử dụng dịch vụ của Ftech.vn.
Với đội ngũ hơn 10 năm kinh nghiệp trong lĩnh vực hosting,Ftech.vn luôn luôn
hiểu khách hàng cần gì và muốn gì. Ftech.vn đã không ngừng nỗ lực hoàn thiện bản
thân để phục vụ hàng ngàn khách hàng, quàn lý hàng vạn địa chỉ IPv4, ngày càng
chứng tỏ chất lượng và dịch vụ trong lĩnh vực quản lý hosting.
hệ giữa các khách hàng và doanh nghiệp.
12
2.2 Tổng quan hệ điều hành Android
2.2.1 Giới thiệu về Android
Android là một hệ điều hành dựa trên nền tảng Linux được thiết kế dành cho
các thiết bị di động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng.
Ban đầu, Android được phát triển bởi Tổng công ty Android, với sự hỗ trợ tài chính từ
Google và sau này được chính Google mua lại vào năm 2005. Android ra mắt vào năm
2007 cùng với tuyên bố thành lập Liên minh thiết bị cầm tay mở: một hiệp hội gồm
các công ty phần cứng, phần mềm và viễn thông với mục tiêu đẩy mạnh các tiêu chuẩn
mở cho các thiết bị di động. Chiếc điện thoại đầu tiên chạy Android được bán vào
tháng 10 năm 2008.
Android có mã nguồn mở và Google phát hành mã nguồn theo Giấy phép
Apache. Chính mã nguồn mở cùng với một giấy phép không có nhiều ràng buộc đã
cho phép các nhà phát triển thiết bị, mạng di động và các lập trình viên nhiệt huyết
được điều chỉnh và phân phối Android một cách tự do. Ngoài ra, Android còn có một
cộng đồng lập trình viên đông đảo chuyên viết các ứng dụng để mở rộng chức năng
của thiết bị, bằng một loại ngôn ngữ lập trình Java có sửa đổi. Vào tháng 10 năm 2012,
có khoảng 700.000 ứng dụng trên Android và số lượt tải ứng dụng từ Google Play, cửa
hàng ứng dụng chính của Android, ước tính khoảng 25 tỷ lượt.
Những yếu tố này đã giúp Android trở thành nền tảng điện thoại thông minh
phổ biến nhất thế giới, vượt qua Symbian vào quý 4 năm 2010 và được các công ty
công nghệ lựa chọn khi họ cần một hệ điều hành không nặng nề, có khả năng tinh
chỉnh và giá rẻ chạy trên các thiết bị công nghệ cao thay vì tạo dựng từ đầu. Kết quả là
mặc dù được thiết kế để chạy trên điện thoại và máy tính bảng, Android đã xuất hiện
trên TV, máy chơi game và các thiết bị điện tử khác. Bản chất mở của Android cũng
khích lệ một đội ngũ đông đảo lập trình viên và những người đam mê sử dụng mã
2.2.2 Kiến trúc hệ điều hành Android
Hệ điều hành Android có 4 tầng từ dưới lên trên là tầng hạt nhân Linux (Phiên
bản 2.6), tầng Libraries & Android Runtime, tầng Application Framework và trên cùng
là tầng Applications.
14
o Tầng hạt nhân Linux (Linux Hinh
Kernel
Hệ hệ
điều
hành
Android
được phát triển dựa
2. layer):
Kiến trúc
điều
hành
Android
trên hạt nhân Linux, cụ thể là hạt nhân Linux phiên bản 2.6, điều đó được thể hiện ở
lớp dưới cùng này. Tất cả mọi hoạt động của điện thoại muốn thi hành được thì đều
được thực hiện ở mức cấp thấp ở lớp này bao gồm quản lý bộ nhớ (memory
management), giao tiếp với phần cứng (driver model), thực hiện bảo mật (security),
quản lý tiến trình (process). Tuy được phát triển dựa vào nhân Linux nhưng thực ra
nhân Linux đã được nâng cấp và sửa đổi rất nhiều để phù hợp với tính chất của những
thiết bị cầm tay như hạn chế về bộ vi xử lý, dung lượng bộ nhớ, kích thước màn hình,
-
15
-
Thư viện web (LibWebCore): Đây là thành phần để xem nội dung trên web, được sử
dụng để xây dựng phần mềm duyệt web (Android Browser) cũng như để các ứng dụng
khác có thể nhúng vào. Nó cực kỳ mạnh, hỗ trợ được nhiều công nghệ mạnh mẽ như
HTML5, JavaScript, CSS, DOM, AJAX…
- Thư viện SQLite: Hệ cơ sở dữ liệu để các ứng dụng có thể sử dụng
o Phần Android Runtime: Phần này chứa các thư viện mà một chương trình viết bằng
ngôn ngữ Java có thể hoạt động. Phần này có 2 bộ phận tương tự như mô hình chạy
Java trên máy tính thường. Thứ nhất là các thư viện lõi (Core Libraries), chứa các lớp
như JAVA IO, Collections, File Access. Thứ hai là một máy ảo java (Dalvik Virtual
Machine). Mặc dù cũng được viết từ ngôn ngữ Java nhưng một ứng dụng Java của hệ
điều hành Android không được chạy bằng JRE của Sun (nay là Oracle) (JVM) mà là
chạy bằng máy ảo Dalvik do Google phát triển
o Tầng Application Framework: Tầng này xây dựng bộ công cụ - các phần tử ở mức cao
để các lập trình viên có thể nhanh chóng xây dựng ứng dụng. Nó được viết bằng Java,
có khả năng sử dụng chung để tiết kiệm tài nguyên. Giới thiệu một số thành phần của
-
tầng này:
Activity Manager: Quản lý các chu kỳ sống của một ứng dụng cũng như cung cấp
-
công cụ điều khiển các Activity
Các ứng dụng được cài thêm như các phần mềm chứng khoán (Stock), các trò chơi
(Game), từ điển...
o Các chương trình có các đặc điểm là:
- Viết bằng Java, phần mở rộng là apk
16
-
Khi mỗi ứng dụng được chạy, nó có một phiên bản Virtual Machine được dựng lên để
phục vụ cho nó. Nó có thể là một Active Program: Chương trình có giao diện với
-
người sử dụng hoặc là một background: Chương trình chạy nền hay là dịch vụ
Android là hệ điều hành đa nhiệm, trong cùng một thời điểm, có thể có nhiều chương
trình cùng chạy một lúc, tuy nhiên, với mỗi ứng dụng thì có duy nhất một thực thể
được phép chạy mà thôi. Điều đó có tác dụng hạn chế sự lạm dụng tài nguyên, giúp hệ
-
thống hoạt động tốt hơn
Các ứng dụng được gán số ID của người sử dụng nhằm phân định quyền hạn khi sử
-
dụng tài nguyên, cấu hình phần cứng và hệ thống
Android là một hệ điều hành có tính mở, khác với nhiều hệ điều hành di động khác,
nhau.
Ngày càng nhiều suy đoán rằng Google sẽ tham gia thị trường điện thoại di
động xuất hiện trong tháng 12 năm 2006. Tin tức của BBC và Nhật báo phố Wall chú
thích rằng Google muốn đưa công nghệ tìm kiếm và các ứng dụng của họ vào điện
thoại di động và họ đang nỗ lực làm việc để thực hiện điều này. Các phương tiện
truyền thông truyền thống lẫn online cũng viết về tin đồn rằng Google đang phát triển
một thiết bị cầm tay mang thương hiệu Google. Một vài tờ báo còn nói rằng trong khi
Google vẫn đang thực hiện những bản mô tả kỹ thuật chi tiết, họ đã trình diễn sản
phẩm mẫu cho các nhà sản xuất điện thoại di động và nhà mạng. Tháng 9 năm 2007,
Information Week đăng tải một nghiên cứu của Evalueserve cho biết Google đã nộp
một số đơn xin cấp bằng sáng chế trong lĩnh vực điện thoại di động.
Ngày 5 tháng 11 năm 2007, Liên minh thiết bị cầm tay mở (Open Handset
Alliance), một hiệp hội bao gồm nhiều công ty trong đó có Texas Instruments, Tập
đoàn Broadcom, Google, HTC, Intel, LG, Tập đoàn Marvell Technology, Motorola,
Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel và T-Mobile được thành lập
với mục đích phát triển các tiêu chuẩn mở cho thiết bị di động. Cùng ngày, Android
cũng được ra mắt với vai trò là sản phẩm đầu tiên của Liên minh, một nền tảng thiết bị
di động được xây dựng trên nhân Linux phiên bản 2.6. Chiếc điện thoại chạy Android
đầu tiên được bán ra là HTC Dream, phát hành ngày 22 tháng 10 năm 2008. Biểu
trưng của hệ điều hành Android mới là một con rô bốt màu xanh lá cây do hãng thiết
kế Irina Blok tại California vẽ.
Từ năm 2008, Android đã trải qua nhiều lần cập nhật để cải tiến hệ điều hành,
bổ sung các tính năng mới và sửa các lỗi trong những lần phát hành trước. Mỗi bản
nâng cấp được đặt tên lần lượt theo thứ tự bảng chữ cái, theo tên của một món ăn tráng
miệng, ví dụ như phiên bản 1.5 Cupcake tiếp nối là phiên bản 1.6 Donut [4].
18
Hinh 2. Sự đa dạng điện thoại Android
TÍNH NĂNG
BẢN
1.5
Cupcake Bàn phím ảo
Mở rộng khả năng cho widget
Cải tiến clipboard
Quay phim
1.6
Donut
Hỗ trợ cho mạng CDMA
Tính năng Quick Search Box
Android Market
Hỗ trợ các thành phần đồ họa
độc lập với độ phân giải
2.0/2.1
Eclair
2.2
Froyo
Hỗ trợ nhiều tài khoản người dùng
Quick Contact
Cải tiến bàn phím ảo
Trình duyệt mới
Giao diện mới
Hỗ trợ duyệt web trên nhiều tab
Không còn nút nhấn vật lý
Cải thiện đa nhiệm
Thanh Action Bar
IceCrea Sử dụng bộ font Roboto
m
Hệ thống thông báo tiện dụng
Sandwic Bàn phím tự động sửa lỗi cao hơn, việc sao chép
h
cắt dán được cải thiện
Mở khóa màn hình bằng khuôn mặt
4.0.x
20
HÌNH ẢNH
Android Beam
Hợp nhất hệ điều hành dành cho smartphone và
cho máy tính bảng vào làm một
4.1/4.2
/4.3
Jelly
Bean
Khả năng sắp xếp giao diện và widget
người dùng có thể truy biến nền tảng này
theo ý thích, hơn nữa lại có một liên minh
thiết bị cầm tay mở hậu thuẫn, Google
Android đang là một đối thủ với Iphone của
hãng Apple. Google đang tích cực mở rộng
cộng đồng phát triển các ứng dụng cho
android. Bộ phát triển công cụ phần mềm
SDK đầy đủ, hỗ trợ đa nền
tảng(Linux,Window hay Mac OS) do chạy
trên máy ảo Java. Thư viện ngày càng hoàn
thiện, dễ dàng cho người sử dụng
Window Có thư viện API khá giống thư viện API
Mobile trên Win32, các công cụ hỗ trợ lập trình đầy
đủ với Visual Studio, điều này làm cho
những người phát triển trên Win32 không
21
NHƯỢC ĐIỂM
Có hỗ trợ cảm ứng đa điểm
nhưng chức năng này bị tắt
vì vi phạm bản quyền với
iOS, giao diện không bắt
mắt,khả năng hỗ trợ bộ nhớ
kém hơn iOS,không đồng bộ
được với máy tính
Gặp trở ngại với Android và
iOS do hai hệ điều hành này
càng hoàn thiện và được
trình phải trả một khoản phí
lập trình, làm giảm tính cạnh
tranh
2.3 Tổng quan phần mềm Eclipse
2.3.1 Eclipse là gì?
Eclipse là phần mềm miễn phí, được các nhà phát triển sử dụng để xây dựng
những ứng dụng J2EE, sử dụng Eclipse nhà phát triển có thể tích hợp với nhiều công
cụ hỗ trợ khác để có được một bộ công cụ hoàn chỉnh mà không cần dùng đến phần
mềm riêng nào khác. Eclipse SDK bao gồm 3 phần chính: Platform, Java
Development Toolkit (JDT), Plug-in Development Environment (PDE). Với JDT,
Eclipse được xem như là một môi trường hỗ trợ phát triển Java mạnh mẽ. Với PDE hỗ
trợ việc mở rộng Eclipse, tích hợp các Plug-in vào Eclipse Platform. Eclipse Platform
là nền tảng của toàn bộ phần mềm Eclipse, mục đích của nó là cung cấp những dịch vụ
cần thiết cho việc tích hợp những bộ công cụ phát triển phần mềm khác dưới dạng
Plug-in, bản thân JDT cũng có thể được coi như là một Plug-in làm cho Eclipse như là
một Java IDE (Integrated Development Enviroment).
2.3.2 Kiến trúc của Eclipse
22
Platform Runtime: Công việc chính của Platform Runtime là phải xem plug-in
nào đang có trong thư mục plug-in của Eclipse. Mỗi plug-in đều có 1 tệp tin Manifest
liệt kê những kết nối mà plug-in cần. Plug-in chỉ được tải vào Eclipse mỗi khi thực sự
cần thiết để giảm lượng tài nguyên yêu cầu vào thời gian khởi tạo
o Workspace: chịu trách nhiệm quản lý tài nguyên người dùng được tổ chức dưới dạng
Project. Mỗi Project là thư mục con trong thư mục Workspace.Workspace bảo quản
cấp thấp lịch sử những sự thay đổi tài nguyên, tránh thất thoát tài nguyên người dùng,
đồng thời chịu trách nhiệm thông báo những công cụ cần thiết cho việc thay đổi tài
tác nàybám sát quy trình hoạt động của doanh nghiệp, chẳng hạn từ khâu mua hàng
đến sản xuất rồi bán hàng.
Trong khi đó quan điểm hiện đại lại cho rằng đối tác là người hoặc những nhóm
người có ảnh hưởng đáng kể đến sự sống còn và phát triển của doanh nghiệp.Với sự ra
đời của công nghệ mới, trải nghiệm mua sắm của người tiêu dùng đã được cải thiện rõ
rệt với việc xóa bỏ sự chênh lệch thông tin về sản phẩm và nhãn hàng. Khách hàng
ngày nay ít trung thành đối với một nhãn hiệu. Họ chuyển từ nhãn hiệu này sang nhãn
hiệu khác để có giá, sản phẩm và dịch vụ tốt nhất. Tuy nhiên, các chương trình quản lý
khách hàng đã cho thấy đến 75% trên tổng doanh số bán hàng là từ 30% khách hàng
thân thiết nhất (Imlay, 2006) Do đó, chương trình quản lý khách hàng hiệu quả sẽ giúp
các nhà bán lẻ có ưu thế trong thị trường đầy tính cạnh tranh với những lợi ích như
sau:
-
Nhận diện những khách hàng tốt nhất:Với dữ liệu được truy xuất từ chương trình quản
lý khách hàng, các nhà bán lẻ có thể xác định được những khách hàng có nhiều tiềm
năng hơn - có thái độ lẫn hành vi tiêu dùng trung thành, và ưu đãi cho họ các lợi ích tài
-
chính cũng như phi tài chính.
Tăng cường việc giữ khách hàng và tìm kiếm khách hàng mới thông qua tiếp thị
truyền miệng. Quản lý khách hàng mang lại cho các nhà bán lẻ khả năng tiếp cận
khách hàng và giới thiệu những ưu đãi hoặc sản phẩm thích hợp với nhu cầu của người
tiêu dùng ngay khi họ đặt chân vào cửa hàng bằng cách truy cập dữ liệu của khách
-
Bảng 2. Danh sách Usecase và Actor
STT
Tên
1
Login
2
Manage
Customer
3
Search
Customer
4
Create Customer
5
6
7
8
Ý Nghĩa
Chức năng login, kiểm soát truy nhập phần mềm
Chức năng quản lý khách hàng,cho phép nhà quản lý
theo dõi danh sách khách hàng
Chức năng tìm kiếm khách hàng, cho phép người quản lý
tìm kiếm khách hàng theo tên
Chức năng tạo mới khách hàng, cho phép người dùng tạo
mới 1 khách hàng trong CSDL
Delete Customer Chức năng cho phép người dùng xóa khách hàng
Update
Chức năng cho phép người dùng thay đổi thông tin khách
Customer