Một lợi thế của ứng dụng mã vạch là khả năng tiện dụng, có thể sử dụng tại bất kỳ đâu, bất kỳ khi nào bằng việc sử dụng một thiết bị thông minh có hỗ trợ máy ảnh ví dụ: điện thoại di độn
Trang 1KHOA CÔNG NGHỆ THÔNG TIN
- -
BÁO CÁO NGHIÊN CỨU KHOA HỌC
ĐỀ TÀI:
XÂY DỰNG ỨNG DỤNG TRÊN
THIẾT BỊ DI ĐỘNG HỖ TRỢ THỐNG
KÊ, QUẢN LÝ TRANG THIẾT BỊ
ĐÀO ANH MINH
BIÊN HÒA, THÁNG 11/2012
Trang 2TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ THÔNG TIN
- -
BÁO CÁO NGHIÊN CỨU KHOA HỌC
ĐỀ TÀI:
XÂY DỰNG ỨNG DỤNG TRÊN
THIẾT BỊ DI ĐỘNG HỖ TRỢ THỐNG
KÊ, QUẢN LÝ TRANG THIẾT BỊ
SVTH : ĐÀO ANH MINH GVHD : Th.S PHAN MẠNH THƯỜNG
BIÊN HÒA, THÁNG 11/2012
Trang 3Trang
PHẦN MỞ ĐẦU
1 Lý do chọn đề tài 1
2 Mục tiêu nghiên cứu 2
3 Phương pháp nghiên cứu 2
4 Đối tượng và phạm vi nghiên cứu 3
4.1 Đối tượng nghiên cứu 3
4.2 Phạm vi nghiên cứu 3
5 Tính mới của đề tài và những vấn đề chưa thực hiện được 3
5.1 Tính mới của đề tài 3
5.2 Những vấn đề chưa thực hiện được 3
6 Kết cấu của đề tài 4
7 Kết quả đạt được 5
CHƯƠNG 1: THỰC TRẠNG 1.1 Tình hình chung 6
1.2 Các phần mềm đã có 6
1.2.1 Các phần mềm trong nước 6
1.2.1.1 Netcafe 6
1.2.1.2 CSM (cyber station manager) 7
1.2.2 Các phần mềm ngoài nước 7
1.2.2.1 Netsupport School 7
1.2.2.2 NetOp School 8
1.2.3 Ưu, nhược điểm của các trương trình nêu trên 9
1.3 Sơ đồ tổ chức và hiện trạng quản lý 9
Trang 41.5 Tiểu kết 13
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Kiến trúc NET Framework 14
2.2 Ngôn ngữ Visual C# 2010 15
2.3 Hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2005 16
2.4 Sơ lược về mã vạch, mã QR và thư viện Zxing 19
2.4.1 Mã vạch 19
2.4.1.1 Khái niệm 19
2.4.1.2 Ứng dụng 19
2.4.1.3 Các dạng mã vạch 20
2.4.2 Mã qr 25
2.4.2.1 Khái niệm 25
2.4.2.2 Ứng dụng 26
2.4.3 Thư viện Zxing 28
2.5 Nền tảng Android 30
2.5.1 Khái niệm 30
2.5.2 Đặc điểm 30
2.5.3 Kiến trúc của nền tảng Adroid 32
2.5.3.1 Hệ điều hành 32
2.5.3.2 Thư viện và các giao diện lập trình ứng dụng 33
2.5.3.3 Android Runtime 33
2.5.3.4 Bộ thư viện 33
2.5.3.5 Khung ứng dụng 34
2.5.3.6 Ứng dụng 35
Trang 52.5.4.1 Hoạt động (Activity) 36
2.5.4.2 Dịch vụ (Services) 37
2.5.4.3 Broadcast Receivers 38
2.5.4.4 Content Provider 38
2.5.4.5 Intent 38
2.5.4.6 Tập tin khai báo (manifest) 39
2.5.5 Công cụ hỗ trợ lập trình android 39
2.6 Tiểu kết 40
CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH 3.1 Qui trình thực hiện 41
3.1.1 Qui trình 41
3.1.2 Nguyên tắc chung 41
3.2 Phân tích thiết kế 42
3.2.1 Xác định thực thể 42
3.2.2 Mô hình ERD (Entity Relationship Diagram) 46
3.2.3 Mô hình vật lý 47
3.2.4 Chuyển mô hình ERD sang mô hình quan hệ 48
3.2.4.1 Mô tả chi tiết quan hệ 48
3.2.4.2 Tổng kết các quan hệ 51
3.2.4.3 Tổng kết các thuộc tính 52
3.3 Báo cáo kết quả đạt được 54
3.3.1 Phần ứng dụng trên thiết bị di động 54
3.3.2 Phần ứng dụng trên máy tính 59
3.4 Tiểu kết 62
Trang 6TÀI LIỆU THAM KHẢO
Trang 7Cùng với sự phát triển của công nghệ, mã vạch đã cải tiến không chỉ còn đơn giản
là lưu mã của sản phẩm mà còn có khả năng lưu được nhiều thông tin của sản phẩm hơn với việc sử dụng mã vạch 2 chiều
Một lợi thế của ứng dụng mã vạch là khả năng tiện dụng, có thể sử dụng tại bất kỳ đâu, bất kỳ khi nào bằng việc sử dụng một thiết bị thông minh có hỗ trợ máy ảnh (ví dụ: điện thoại di động) có khả năng đọc mã vạch và giải mã mã vạch đó
Trường Đại học Lạc Hồng, một trong những đơn vị đã ứng dụng những lợi ích mà
mã vạch đem lại trong việc quản lý thông tin như quản lý học phí, quản lý điểm, quản lý thông tin cá nhân của sinh viên… Cũng đã cho thấy rõ những lợi ích thiết thực mà mã vạch đem lại
Hiện nay Trường Đại học Lạc Hồng nói chung, cũng như Khoa Công nghệ thông tin, Đại học Lạc Hồng nói riêng đang quản lý một số lượng lớn các thiết bị phục vụ cho các công việc giảng dạy của trường, với sự hỗ trợ của các phần mềm ứng dụng do các hãng lớn, uy tín cung cấp thì việc quản lý thiết bị trong các phòng máy cũng khá dễ dàng Song việc bảo trì, thống kê, ghi lại thông tin sửa chữa các thiết bị hiện lại đang làm thủ công, do vậy chiếm nhiều thời gian và công sức của Phòng Điều hành máy cụ thể là: Mỗi khi thiết bị gặp sự cố, hay tới thời điểm bảo trì định kỳ thì nhân viên Phòng Điều hành máy sẽ sửa chữa nếu gặp những lỗi nhỏ có thể xử lý tại chỗ hoặc đem thiết bị hư hỏng về cho bộ phận sửa chữa khắc phục và ghi lại các thay đổi vào sổ nhật ký, việc báo cáo thống
kê hàng tuần, hàng tháng đều làm thủ công Với sự phát triển ngày càng lớn mạnh của Trường Đại học Lạc hồng như hiện nay, chắc chắn các thiết bị phục vụ giảng dạy sẽ còn
Trang 8được trang bị nhiều lên từng ngày Do vậy nếu giữ nguyên cách làm truyền thống hiện nay sẽ nảy sinh không ít bất cập và gây nhiều sự lãng phí không cần thiết
2 Mục tiêu nghiên cứu
Xây dựng ứng dụng trên thiết bị di động hỗ trợ thống kê, quản lý trang thiết
bị ứng dụng cho Phòng Điều hành máy
Đáp ứng:
Giúp quản lý thiết bị cơ bản thông qua một ứng dụng di động, giúp nắm bắt thông tin của thiết bị, cập nhật những thay đổi, sửa chữa báo hỏng thiết bị và lưu trữ vào dữ liệu tập trung thay thế cho việc ghi sổ bằng tay
Giúp Phòng Điều hành máy tổng hợp, báo cáo, thống kê, ghi nhật ký thiết bị một cách tiện lợi, nhanh chóng
3 Phương pháp nghiên cứu
Thông qua các ứng dụng đã khảo sát cho thấy, các ứng dụng quản lý đã làm tốt việc quản lý các máy trong từng phòng máy Nếu áp dụng các ứng dụng trên vào việc quản lý, thống kê chi tiết một số lượng lớn các thiết bị, trong đó bao gồm các thiết bị khác ngoài máy tính thì sẽ gặp phải những khó khăn nhất định mà các ứng dụng không đáp ứng được
Đề tài được làm tuần tự theo các bước sau:
Bước 1: Khảo sát tình hình quản lý, thông kê trang thiết bị, tài sản của trường Đại học Lạc Hồng
Bước 2: Tìm hiểu ứng dụng mã QR, mã vạch trong quản lý, gán nhãn cho trang thiết bị cố định
Bước 3: Xây dựng cơ sở dữ liệu lưu trữ thông tin trang thiết bị phục vụ quản lý Bước 4: Tìm hiểu cách thức, công nghệ xây dựng ứng dụng trên thiết bị di động sử dụng hệ điều hành Android có chức năng đọc mã QR bằng Camera
Trang 9Bước 5: Xây dựng hệ thống hỗ trợ quản lý, thống kê trang thiết bị gồm: Phần mềm máy tính quản lý dữ liệu tập trung và phần mềm chạy trên thiết bị di động
4 Đối tƣợng và phạm vi nghiên cứu
4.1 Đối tƣợng nghiên cứu
- Xây dựng ứng dụng trên thiết bị di động sử dụng hệ điều hành Android
- Cấu trúc, ứng dụng của mã vạch 2 chiều cụ thể là mã QR trong quản lý gán nhãn
- Kết nối, thao tác với cơ sở dữ liệu Microsoft SQL Server 2005
- Xây dựng web service, website với ngôn ngữ lập trình ASP.NET C# 2010
5 Tính mới của đề tài và những vấn đề chƣa thực hiện đƣợc
5.1 Tính mới của đề tài
Đề tài được thực hiện dựa theo yêu cầu thực tế của Phòng Điều hành máy nên phù hợp với yêu cầu quản lý, thống kê trang thiết bị theo đúng quy đã trình đề ra
Giúp cho việc thống kê được thực hiện nhanh chóng, tiết kiệm thời gian, công sức Việc quản lý, thống kê cơ bản thiết bị được thực hiện dựa trên ứng dụng của thiết
bị di động mà ngày nay đã trở nên phổ biến, giúp công việc được thực hiện nhanh, chính xác
5.2 Những vấn đề chƣa thực hiện đƣợc
Phần thống kê trang thiết bị được thực hiện trên website vì sự tiện lợi và linh động
mà nó đem lại, nhưng do đề tài được thực hiện một mình với số công việc cần hoàn thành
Trang 10lớn nên để có thể phát triển hơn trong tương lai, đề tài cần được mở rộng cho phép in ra các mẫu biểu báo cáo theo mẫu để tiện cho việc báo cáo định kỳ
6 Kết cấu của đề tài
Luận văn được chia làm 3 phần: phần mở đầu, phần nội dung và phần kết luận
Phần mở đầu
Nêu lý do chọn đề tài, tổng quan tình hình phát triển, mục tiêu nghiên cứu đề tài, đối tượng, phạm vi, phương pháp nghiên cứu cũng như những đóng góp mới của đề tài, bên cạnh đó cũng chỉ ra mặt hạn chế của đề tài cần khắc phục
Phần nội dung chính
CHƯƠNG 1: THỰC TRẠNG
Nêu lên thực trạng trong việc quản lý, việc tiến hành thống kê theo định kỳ thông qua khảo sát thực tế
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Nêu lên những vấn đề về nền tảng Google Android, đặc điểm, cấu trúc và các công
cụ phát triển của Android Trình bày về mã vạch và mã QR, các ứng dụng của chúng trong đời sống hàng ngày, cũng như ứng dụng của thư viện mã nguồn mở Zxing trong việc đọc mã QR bằng điện thoại thông minh có chức năng Camera
Các vấn đề về ngôn ngữ lập trình ASP NET C# 2010, thiết kế cơ sở dữ liệu dựa trên ngôn ngữ SQL 2005
CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH
Nêu cách xây dựng chương trình và các chức năng, từng bước thực hiện chương trình như: Phân tích, thiết kế cơ sở dữ liệu và viết chương trình trên thiết bị di động và xây dựng website phục vụ thống kê, quản lý Trình bày một số thử nghiệm trên chương trình đã xây dựng
Phần kết luận
Đưa ra những kết luận và kiến nghị về chương trình đã xây dựng
Trang 117 Kết quả đạt đƣợc
Xây dựng được ứng dụng trên thiết bị di động giúp hỗ trợ việc quản lý, thống kê
trang thiết bị, trợ giúp cho quá trình thống kê được diễn ra nhanh chóng
Xây dựng được được một ứng dụng máy tính có chức năng thống kê, quản lý trang thiết bị, thực hiện chức năng thống kê theo yêu cầu các trang thiết bị
Trang 12CHƯƠNG 1: THỰC TRẠNG
1.1 Tình hình chung
Trong những năm gần đây trường Đại học Lạc Hồng nói riêng và các trường Đại học trong cả nước nói chung đều chú trọng đến việc hiện đại hóa giảng dạy, đặc biệt là sự chú trọng trong việc tin học hóa việc giảng dạy nhằm giúp học sinh có thể tiếp thu bài một cách tốt nhất
Với tình hình phát triển ngày càng lớn mạnh như vậy thì thực tế các trang thiết bị phục vụ cho việc giảng dạy của nhà trường ngày càng được trang bị nhiều và chất lượng
Trong trường Đại học Lạc Hồng, Phòng Điều hành máy, Khoa Công nghệ thông tin chịu trách nhiệm quản lý, đảm bảo sự hoạt trơn chu của các thiết bị tin học và các thiết
bị khác trong các phòng máy
Cùng với đó Phòng Điều hành máy sẽ có những báo cáo, thống kê theo định kỳ về tình trạng hoạt động, hư hỏng cũng như những báo cáo liên quan đến các trang thiết bị phục vụ hoạt động của nhà trường
1.2 Các phần mềm đã có
Thông qua tìm hiểu và khảo sát thì trên thị trường trong và ngoài nước đã có một
số phần mềm quản lý phòng máy tiêu biểu sau:
Trang 13Báo cáo doanh số và tình hình hệ thống qua email, lưu trữ mọi lịch
sử và dịch vụ lên máy chủ và nhiều chức năng khác
Chương trình này chỉ phù hợp với trong việc quản lý các phòng Net
1.2.1.2 CSM (cyber station manager)
Là chương trình do công ty Vinagame phát hành
Tính tiền tự động , quản lý được cả hội viên và khách vãng lai Đóng được ứng dụng từ server Tắt hay reset máy trạm từ server, quan sát màn hình máy trạm từ server, tiếp tục tính tiền khi máy trạm reset Chuyển đổi máy trạm đang sử dụng, giao tiếp giữa máy chủ và máy trạm (chat) Danh sách ứng dụng bị cấm, tìm diệt Keylogger Bán đồ ăn, thức uống
Phần báo cáo danh thu, trình bày rõ ràng, dễ nhìn, dễ đọc, dễ hiểu Hình thức đẹp
Phần bảng giá và khuyến mãi dễ dàng áp dụng và mang tính linh động cao
Chương trình phù hợp trong việc quản lý các phòng Net
Ngoài các tính năng mới Student Register (Đăng kí Học Viên), Lesson Plans (Kế hoạch Học), Lesson Timer (Tính giờ học) và các thông báo, và các thiết lập tối ưu, NetSupport School đặc biệt hiện giờ đã có 1 tùy chọn "khóa mọi kết nối Internet" ở thanh công cụ, cho tới các tùy chọn chi
Trang 14tiết hơn về Theo dõi Internet và các hạn chế Giống như việc "lock / Unlock" (Khóa/Bẻ khóa) giáo viên có thể nhanh chóng vô hiệu hóa mọi kết nối chỉ trong tích tắc từ bất cứ chỗ nào trên NetSupport School
NetSupport School có 1 tab công cụ mới, cung cấp 1 trang đầy đủ Bảng Trắng kết hợp trực tiếp với bảng điều khiển của giáo viên, được hỗ trợ các công cụ vẽ để nâng cao tính cộng tác trong lớp Tính năng Bảng Trắng cũng cho phép giáo viên chèn nội dung trước khi hiển thị cho lớp học, và có thể tắt mở khả năng kết nối và hiển thị
Tuy các tính năng của NetSupport tuy khá mới và bảo mật song vẫn chưa phù hợp với yêu cầu thực tế trong việc quản lý, thống kê không chỉ các thiết bị là các máy tính
1.2.2.2 NetOp School
Là một phần mềm của Danware Data A/S (Đan Mạch), cho phép xây dựng lớp học trực tuyến 'ảo' Trong quá trình giảng dạy, hướng dẫn thực tập, giáo viên có thể ngồi ngay trên máy tính của mình giảng bài, trả lời thắc mắc và trao đổi với một hay nhiều học viên
Không chỉ là một phần mềm điều khiển, NetOp School còn có các chức năng cho phép giáo viên, học viên liên lạc, hội thoại (chat) trao đổi thảo luận với mọi người trong lớp
NetOp School sử dụng chuẩn kết nối mạng TCP/IP, NetBIOS, Terminal Server, IPX tạo sự uyển chuyển cho việc tổ chức, xây dựng một lớp học trực tuyến Không chỉ bó hẹp trong khuôn viên một trung tâm hay giảng đường Đại học, chỉ cần có máy tính và đường truyền Internet là học viên có thể tham dự lớp học ở bất kỳ đâu
Về khía cạnh nhân sự, NetOp School giúp giảm bớt nhân sự giảng dạy Thông thường, một lớp dạy tin học có sử dụng máy tính cần 1 giảng viên và ít nhất 1 giáo viên trợ giảng/hướng dẫn thực tập Với NetOp School, người giáo viên cũng chính là người trợ giảng và hướng dẫn thực tập
Trang 15Chương trình có khả năng quản lý phòng máy khá tốt nhưng vẫn chưa phù hợp với yêu cầu thực tế là giúp lập các báo cáo thống kê theo yêu cầu
1.2.3 Ưu, nhược của các trương trình nêu trên
Như các chương trình trong nước đã nêu ở trên thì tính ứng dụng thường được dùng cho việc quản lý các phòng Net quy mô nhỏ, nếu đem áp dụng vào môi trường học tập thì khó có thể được
Còn các phần mềm ngoài nước khá nổi tiếng như Netsupport, Netop School
có chức năng khá tốt, hiện tại Phòng Điều hành máy đã áp dụng cho các phòng máy trong trường Nhưng, việc quản lý vẫn chỉ trong các phòng máy, chưa phù hợp trong trường hợp thực tế đó là các trang thiết bị của nhà trường không chỉ có ở trong phòng máy mà còn ở nhiều các phòng ban khác, chưa nói tới việc thực hiện thống kê, báo cáo định kỳ cho phòng, khoa, trường
1.3 Sơ đồ tổ chức và hiện trạng quản lý
Phòng Điều hành máy hiện có 12 nhân viên, do ThS.Phan Mạnh Thường làm trưởng phòng
Hình 1.1: Sơ đồ tổ chức Phòng Điều hành máy
- Tổ Trực: Có 8 nhân viên, chia làm 3 ca Đầu giờ mở cửa kiểm tra tất cả các máy tại phòng máy được phân công và lập biên bản bàn giao máy cho giáo viên Trong khi kiểm tra phòng máy nếu máy tính xảy ra sự cố thì xử lý, ghi lại
Trưởng Phòng
Tổ Trực Tổ Kỹ Thuật
Trang 16nhật ký xử lý Cuối buổi học khi giáo viên trả phòng, nhân viên kiểm tra lại phòng máy và nhận lại phòng Trong trường hợp mất cắp sẽ lập biên bản xử lý
- Tổ Kỹ Thuật: Có 4 nhân viên, chịu trách nhiệm sửa chữa khi có sự cố trong buổi học, khi xử lý xong nhân viên kỹ thuật sẽ ghi lại nhật ký ở phòng máy và
ở Phòng Điều hành máy Mọi sự cố cần thay thế hay sửa chữa sẽ được báo cho trưởng phòng và sau khi thay thế sẽ cập nhật lại thông tin của thiết bị vào nhật
ký
- Theo định kỳ sẽ tổ chức kiểm tra, sửa chữa, thống kê tình hình các trang thiết bị cho Khoa
1.4 Hiện trạng các trang thiết bị
Hiện tại Phòng Điều hành máy quản lý các trang thiết bị trong 12 phòng máy, trong đó mỗi phòng máy bao gồm chủ yếu là máy tính, trung bình mỗi phòng có 50 máy Ngoài ra còn có các thiết bị khác cần quản lý, thống kê như: Máy chiếu, máy lạnh, Ổn áp điện, Switch mạng, bàn máy tính, rèm chiếu máy tính, quạt…
Ngoài phạm vi các phòng máy thì nhà trường còn nhiều trang thiết bị cần quản lý, thống kê tình hình tại các phòng, ban khác như: Các máy chiếu tại các phòng học, bàn, ghế, rèm chiếu, loa và nhiều các thiết bị phục vụ
Mỗi thiết bị quản lý đều có mã số và thông tin cần thiết về thiết bị dùng trong việc quản lý và thống kê thông tin, tình trạng thiết bị
Trang 17Thông tin quản lý các thiết bị là máy tính trong các phòng máy
Stt Phòng máy Thiết bị Số lƣợng Thông tin Ghi chú
GA- CPU: Intel Core2 Duo E7400 (2x2.8Ghz)
GA- CPU: Intel Core2 Duo E7400 (2x2.8Ghz)
GA- CPU: Intel Duo Core E7400 (2x2.8Ghz)
HDD: 80GB Samsung Sata
Ram: DDRII 2GB (2x1GB), Bus 800 Kingmax
9 PM9_C401 Máy tính 50 Mainboard: Gigabyte
G41-ES2L Chip Intel G41 Sound,
Trang 18VGA, LAN onboard
CPU: Intel Duo Core E5300 (2x2.8Ghz)
HDD: 320GB Seagate Sata
Ram: DDRII 4GB (2x2GB), Bus 800 Kingmax
Case: ATX 500
Monitor: 19" LCD Acer G195HQ
Keyboard: Mitsumi Back
Mouse: Mitsumi Back optical
10 PM10_C402
Máy tính
50
Mainboard: Gigabyte G41 Combo
CPU: Intel Core2 Duo E7500 2.93Ghz
Keyboard: Mitsumi Back
Mouse: Mitsumi Back optical
GA- CPU: Intel Core2 Duo E7400 (2x2.8Ghz)
HDD: 320GB Samsung Sata
Ram: DDRII 2GB (2x1GB), Bus 800 Kingmax
Case: ATX 500 W
CD: DVD RW Asus
Monitor: 17" LCD AOC 731
fw
Keyboard: Dell Back
Mouse: Dell Back optical
Trang 19Trong mỗi phòng máy còn được trang bị các thiết bị khác phục vụ việc giảng dạy, học tập như: Máy lạnh, máy chiếu, Switch mạng, Ổn áp điện Thông tin quản các thiết bị này bao gồm: Hãng sản suất, thời hạn bảo hành, ngày trang bị, nhà cung cấp
Ngoài ra nhà trường còn các thiết bị, tài sản cần được quản lý nằm trong các phòng ban khác ở trường như: Bàn, ghế, loa, máy chiếu, rèm chiếu, bảng… Các tài sản này có các thông tin quản lý như: Ngày trang bị, mã tài sản, hạn bảo hành, nhà cung cấp…
1.5 Tiểu kết
Qua khảo sát thực trạng trang thiết bị tài sản của nhà trường và cách quản lý cũng như thống kê báo cáo kèm theo sự phát triển ngày càng nhanh của nhà trường thì việc tìm một cách quản lý phù hợp với yêu cầu thực tế là cần thiết
Trang 20CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Với sự phát triển của các ngôn ngữ lập trình như hiện nay, bằng sự đa dạng và mang những đặc tính riêng thì sự lựa chọn một ngôn ngữ phù hợp cho riêng mình vẫn còn
là một câu hỏi chưa có lời đáp Ở đây với tiêu chí vận dụng những gì mình đã học và tìm hiểu những gì chưa biết nên đề tài sẽ sử dụng công nghệ ASP.Net dùng ngôn ngữ Visual C# 2010 để tạo website thực hiện chức năng quản lý thống kê trang thiết bị
Tìm hiểu ngôn ngữ Java, nền tảng Eclipse, kiến trúc, các thành phần ứng dụng của nền tảng Android Kết hợp chúng để xây dựng một ứng dụng quản lý thông kê trên điện thoại dùng hệ điều hành Android
Dữ liệu được lưu trữ và truy xuất sử dụng hệ quản trị cơ sở dữ liệu SQL Server
2005
2.1 Kiến trúc NET Framework
.NET được phát triển từ đầu năm 1998, lúc đầu có tên là Next Generation Windows Services (NGWS) Nó được thiết kế hoàn toàn từ con sốkhông để dùng cho Internet
.NET đại diện cho toàn bộ các công nghệ và các khái niệm cấu thành một nền tảng để người lập trình xây dựng các ứng dụng trên nó
Có thể hiểu NET là một lớp tồn tại bên dưới các ứng dụng và cung cấp một tập các chức năng và dịch vụ cơ bản
Cấu trúc NET Framework là các nguồn mã của VB NET hay C# không biên dịch thành
mã thi hành gốc (native executable code) mà lại qua trung gian một ngôn ngữ khác gọi là
IL (Intermediate Language) trước khi chạy thật sự Nguồn mã có thể biên dịch thành IL
đó còn được gọi là managed code, điều này khiến cho các ngôn ngữlập trình của
Trang 21.NET hoạt động (hay tác động) qua lại, tương hỗ(interoperation) với nhau, cho phép ta vận dụng mọi đặc trưng của NET mà không cần phải viết lại các nguồn mã dùng ngôn ngữ lập trình khác
.NET framework cung cấp 2 thành phần chính: các lớp cơ sở(NET Framework base class) và sử dụng ngôn ngữ chung (Common Language Runtime) .NET framework cũng cung cấp một tập các hàm API của riêng nó để giúp cho lập trình tận dụng được hết khả năng của nó
.NET application được chia ra làm hai loại: cho Internet gọi là ASP.NET, gồm có Web Forms và Web Services và cho desktop gọi là Windows Forms Windows Forms giống như Forms của VB6 Nó hỗ trợ Unicode hoàn toàn, rất tiện cho chữ Tiếng Việt và thật sự Object Oriented Web Forms có những Server Controls làm việc giống như các Controls trong Windows Forms, nhất là có thể dùng codes để xử lý Events y hệt như của Windows Forms [1]
2.2 Ngôn ngữ Visual C# 2010
Ngôn ngữ C# khá đơn giản, chỉ khoảng hơn 80 từ khóa và hơn mười mấy kiểu dữ liệu được dựng sẵn Tuy nhiên, ngôn ngữ C# có ý nghĩa to lớn 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 Hơn nữa ngôn ngữ C# được xây dựng trên nền tảng hai ngôn ngữ mạnh nhất là C++ và Java Tóm lại, C# có các đặc trưng sau đây:
C# là ngôn ngữ đơn giản
C# loại bỏ được một vài sự phức tạp và rối rắm của các ngôn ngữ C++ và Java C# khá giống C / C++ về diện mạo, cú pháp, biểu thức, toán tử
Các chức năng của C# được lấy trực tiếp từ ngôn ngữ C / C++ nhưng được cải tiến
để làm cho ngôn ngữ đơn giản hơn
C# là ngôn ngữ hiện đại
Xử lý ngoại lệ
Thu gom bộ nhớ tự động
Trang 22C# là ngôn ngữ sử dụng giới hạn những từ khóa Phần lớn các từ khóa dùng để mô
tả thông tin, nhưng không gì thế mà C# kém phần mạnh mẽ Chúng ta có thể tìm thấy rằng ngôn ngữ này có thể được sử dụng để làm bất cứ nhiệm vụ nào
2.3 Hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2005
SQL Server 2005 là một hệ thống quản lý cơ sở dữ liệu (Relational Database Management System (RDBMS)) sử dụng Transact-SQL để trao đổi dữ liệu giữa Client computer và SQL Server computer Một RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS
SQL Server 2005 được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn (Very Large Database Environment) lên đến Tera-Byte và có thể phục vụ cùng lúc cho
Trang 23hàng ngàn user SQL Server 2005 có thể kết hợp "ăn ý" với các server khác như Microsoft Internet Information Server (IIS), E-Commerce Server, Proxy Server Nhóm tác giả đã sử dụng SQL 2005 Developer Edition
Trong SQL Server 2000, công cụ quản lý chủ yếu là Enterprise Manager và Query Analyzer SQL Server 2005, với công cụ quản lý mới là SQL Server Management Studio
đã thay thế hoàn toàn 2 công cụ trên của SQL 2000 Công cụ này cho phép quản lý nhiều thể hiện SQL Server dễ dàng hơn Từ một giao diện, có thểquản lý nhiều thể hiện của cổ máy CSDL SQL Server, Analysis Services, Intergration Services và Reporting Services
Transact - SQL là một phiên bản của Structured Query Language (SQl), được dùng bởi SQL Server 2005 Transact-SQL thường được gọi là T-SQL T-SQL có nhiều tính năng do Microsoft phát triển không có trong ANSI SQL (SQL chuẩn)
Trong SQL Server management Studio, có thể tìm thấy nhiều đoạn mã mẫu giúp thực hiện những tác vụ thường gặp với T-SQL Để xem các mẫu này, chọn trình đơn View > Template Explorer
Công cụ mới SQL Server Configuration Manager cho phép kiểm soát các dịch vụ kết hợp với SQL Server 2005 Nó có thể thay thế cho Services Manager và công cụ cấu hình mạng cho Server và Client Và cũng có thể kiểm soát một số dịch vụ khác như: SQL Server, SQL Agent, SQL Server Analysis Services, DTS Server (Cho SQL ServerIntegration Services), Full - Text Search, SQL Browser
SQL là một ngôn ngữ chuẩn cho cơ sở dữ liệu quan hệ, và đã được định nghĩa bởi chuẩn ANSI Hầu hết các bản thi hành của SQL chỉ là sự biến đổi nhỏ từ SQL chuẩn, bao gồm cả phiên bản được Jet database engine hỗtrợ Hầu hết các cấu trúc và các chức năng của ngôn ngữ là nhất quán đối với các nhà phát triển các hệ quản trị Cơ Sở Dữ Liệu
SQL là một hệ quản trị cơ sở dữ liệu chuyên nghiệp mà Microsoft phát triển hướng đến việc quản lý khối lượng lớn dữ liệu, độ bảo mật cao, khả năng chịu tải lớn Với sự bùng nổ về thông tin, nhu cầu lưu trữ dữ liệu ngày càng lớn các hệ quản trị cơ sở dữ liệu đòi hỏi phải vững mạnh, ổn định và đảm bảo an toàn SQL 2000 đã là phiên bản khá ổn
Trang 24định và được rất nhiều lập trình viên trên thế giới sử dụng Việc kết nối cơ sở dữ liệu là vấn đề hết sức quan trọng trong việc lập trình ứng dụng hiện nay thế nhưng giải pháp nào hoàn hảo cho việc này, sự ra đời của VS 2005 Microsoft đã đưa ra phiên bản mới của SQL Server có khả năng tích hợp rất mạnh mẽvới NET đó là bản SQL Server 2005 Có thể nói phiên bản này rất đáng “đồng tiền bát gạo” mà Microsoft đã nỗ lực tích hợp kiến trúc hệ quản trị này với nền NET
Với giao diện và lõi Engine mạnh hơn, giờ đây chúng ta có thể viết mã NET ngay trong cơ sở dữ liệu Chúng ta cũng có thể viết các hàm thư viện từ Visual Studio và tích hợp nó vào SQL Server 2005 Khả năng này mở ra một cánh cửa rất lớn cho lập trình viên Giờ đây có thể giải quyết được mọi loại ứng dụng mà vấn đề tích hợp giữa môi trường phát triển ứng dụng và hệ thống quản trị cơ sở dữ liệu trước đây bị “chỏi” nhau
Một đặc điểm khá hay nữa đó là vấn đề sử dụng database offline hay còn gọi Disconnected Mỗi khi có nhu cầu về dữ liệu, chương trình sẽ kết nối với cơ sở dữ liệu, truy vấn đọc dữ liệu sau đó ngắt kết nối, dữ liệu được đem về ứng dụng xử lý, nếu có nhu cầu cập nhật dữ liệu quá trình kết nối được thiết lập lại và dữ liệu được chuyển lên máy chủ xử lý, xử lý xong lại ngắt kết nối Mô hình Disconnected này khác với trước đây là kết nối được duy trì liên tục, một khi dữ liệu ở máy client thay đổi thì được phản ánh lên máy chủ ngay Cơ chế linh hoạt này giúp cơ sở dữ liệu có thể phục vụ nhiều ứng dụng đồng thời [1]
Trang 252.4 Sơ lƣợc về mã vạch, mã QR và thƣ viện Zxing
2.4.1 Mã vạch
2.4.1.1 Khái niệm
Mã vạch [8] là sự thể hiện thông tin trong các dạng nhìn thấy trên các
bề mặt mà máy móc có thể đọc được Nguyên thủy thì mã vạch lưu trữ dữ liệu theo bề rộng của các vạch được in song song cũng như của khoảng trống giữa chúng, nhưng ngày nay chúng còn được in theo các mẫu của các điểm, theo các vòng tròn đồng tâm hay chúng ẩn trong các hình ảnh Mã vạch có thể được đọc bởi các thiết bị quét quang học gọi là máy đọc mã vạch hay được quét từ hình ảnh bằng các phần mềm chuyên biệt
Hình 2.1: Hình ảnh một mã vạch tuyến tính
2.4.1.2 Ứng dụng
Mã vạch (và các thẻ khác mà máy có thể đọc được như RFID) được
sử dụng ở những nơi mà các đồ vật cần phải đánh số với các thông tin liên quan để các máy tính có thể xử lý Thay vì việc phải đánh một chuỗi dữ liệu vào phần nhập liệu của máy tính thì người thao tác chỉ cần quét mã vạch cho thiết bị đọc mã vạch Chúng cũng làm việc tốt trong điều kiện tự động hóa hoàn toàn, chẳng hạn như trong luân chuyển hành lý ở các sân bay
Trang 26Các dữ liệu chứa trong mã vạch thay đổi tùy theo ứng dụng Trong trường hợp đơn giản nhất là một chuỗi số định danh được sử dụng như là chỉ mục trong cơ sở dữ liệu trong đó toàn bộ các thông tin khác được lưu trữ Các mã EAN-13 và UPC tìm thấy phổ biến trên hàng bán lẻ làm việc theo phương thức này
Trong các trường hợp khác, mã vạch chứa toàn bộ thông tin về sản phẩm, mà không cần cơ sở dữ liệu ngoài Điều này dẫn tới việc phát triển
mã vạch tượng trưng mà có khả năng biểu diễn nhiều hơn là chỉ các số thập phân, có thể là bổ sung thêm các ký tự hoa và thường của bảng chữ cái cho đến toàn bộ bảng mã ký tự ASCII và
nhiều hơn thế Việc lưu trữ nhiều thông tin hơn đã dẫn đến việc phát triển của các ma trận mã (một dạng của mã vạch 2D), trong đó không chứa các vạch mà là một lưới các ô vuông Các mã vạch cụm là trung gian giữa mã vạch 2D thực thụ và mã vạch tuyến tính và chúng được tạo ra bằng cách đặt các mã vạch tuyến tính truyền thống trên các loại giấy hay các vật liệu
Trang 28Code 128
Trang 31"Quick Response", trong tiếng Anh có nghĩa là đáp ứng nhanh, vì người tạo
ra nó có ý định cho phép mã được giải mã ở tốc độ cao Các mã QR được sử dụng phổ biến nhất ở Nhật Bản và hiện là loại mã hai chiều thông dụng nhất
ở Nhật Bản
Trang 32Hình 2.2: Một ảnh mã QR
Khả năng lưu trữ [5]
Số đơn thuần: Tối đa 7.089 kí tự
Số và chữ cái in: Tối đa 4.296 kí tự
Số nhị phân (8 bit): Tối đa 2.953 byte
Khả năng sửa chữa lỗi
Mức L 7% số từ mã (codeword) có thể được phục hồi
di động có gắn camera (camera phone) Điều này đưa đến các ứng dụng mới
và đa dạng hướng về người tiêu dùng Một mã QR có thể chứa đựng thông tin một địa chỉ web (URL), thời gian diễn ra một sự kiện, thông tin liên hệ (như vCard), địa chỉ email, tin nhắn SMS, nội dung ký tự văn bản hay thậm
Hoa văn định vị
Vùng dữ liệu Mô-đun
Trang 33chí là thông tin định vị vị trí địa lý Tùy thuộc thiết bị đọc mã QR mà bạn dùng khi quét, nó sẽ dẫn bạn tới một trang web, gọi đến một số điện thoại, xem một tin nhắn
Người dùng có chương trình thu tín hiệu (capture program) và máy tính có giao diện RS-232C có thể dùng máy quét ảnh (scanner) để thu dữ liệu
Theo dự kiến trong tương lai mã vạch hai chiều có thể sẽ được sử dụng rộng rãi trong nhiều lĩnh vực như:
Sử dụng tại các bến xe bus : người sử dụng khi quét mã vạch hai chiều
của bến xe bus sẽ biết thông tin về các chuyến xe sắp tới
Sử dụng tại bảo tàng : người sử dụng chỉ cần quét mã vạch hai chiều
đặt cạnh vật trưng bày là biết được thông tin chi tiết và cập nhật về đồ vật đó
Sử dụng để mua hàng ở bất kỳ đâu : người sử dụng khi đi tàu điện
ngầm, xe bus … nếu thấy thích mặt hàng đang quảng cáo trên đó có thể đặt mua ngay lập tức thông qua mã vạch hai chiều và Mobile Internet
Sử dụng tại siêu thị : người mua có thể quét mã vạch hai chiều để biết
được hàm lượng dinh dưỡng của đồ ăn cần mua
Sử dụng tại các hội thảo : người tham gia hội thảo có thể sử dụng mã
vạch hai chiều thay cho Business Card của mình
Sử dụng với các tờ báo/tạp chí giấy : người đọc có thể quét mã
vạch hai chiều được in trong tờ báo/tạp chí giấy để truy cập phiên bản online/mobile của tờ báo/tạp chí này
Sử dụng tại quán bar/club : để xác định xem ca sỹ, ban nhạc, bài nhạc
đang chơi là ai/bài nhạc gì?
Sử dụng với các món ăn : để biết được công thức và cách chế biến
món ăn
Sử dụng với đồ vật cá nhân (xe, áo thun…) : để cung cấp thông tin về
chủ nhân…
Trang 34Sử dụng để thu tiền xe ô tô : thay vì việc phải dừng lại trạm thu phí,
xe ô tô có thể di chuyển qua trạm với tốc độ vừa phải mà vẫn nộp được
phí nếu được gắn mã vạch hai chiều trên xe
2.4.3 Thƣ viện Zxing
Zxing [6] (viết tắt của “zebra crossing”) là một thư viện mã nguồn mở, xử
lý nhiều định dạng mã vạch 1 chiều và 2 chiều, được cài đặt bằng Java Mục đích của thư viện này là sử dụng máy ảnh trên điện thoại di động để chụp và giải mã các
mã vạch trên thiết bị, không cần phải kết nối với máy chủ Hiện tại thư viện hỗ trợ các định dạng mã vạch sau:
- core: là phần lõi thư viện giải mã và là phần chính của toàn bộ dự án
- javase: ứng dụng khách cho J2SE
- android: ứng dụng khách cho Android
- androidtest: chương trình demo trên Android
- android-integration: thư viện hỗ trợ tích hợp Barcode Scanner (bộ quét mã vạch) thông qua Intent cho Android
- zxingorg: mã nguồn của trang http://zxing.org/w
Trang 35- zxing.appspot.com: mã nguồn của trang web tạo mã vạch
http://zxing.appspot.com/
Các mô đun sau được đóng góp và phát triển không thường xuyên:
- javame: ứng dụng khách cho JavaME
- csharp: thư viện cho C#
- cpp: thư viện cho C++
- rim: ứng dụng khách cho RIM/Blackberry
- iphone: ứng dụng khách cho iPhone (chỉ hỗ trợ mã QR)
- bug: ứng dụng khách cho BugLabs's BUG
- symbian: thư viện cho Symbian
Bảng 2.4: khoảng cách đọc một mã QR trên thiết bị di động
Điện thoại với Camera 2.0
Điện thoại với Camera 3.0
Điện thoại với Camera 5.0
300 x 300 (PX)
40 – 50 cm 50 – 60 cm 90 – 100 cm