Công nghệ thông tin (CNTT) ngày càng có vai trò quan trọng trong cuộc sống hàng ngày của chúng ta. Việc ứng dụng CNTT vào các lĩnh vực trong đời sống giúp công việc được tiến hành nhanh chóng và hiệu quả hơn. Có rất nhiều công việc mới phát triển song song cùng với CNTT, một trong số đó là lập trình ứng dụng, một hướng đi dịch vụ mang lại hiệu quả kinh tế rất lớn.
Trang 1HỮU NGHỊ VIỆT - HÀN
KHOA: CÔNG NGHỆ THÔNG TIN
ĐỒ ÁN CHUYÊN ĐỀ
NGÀNH: LẬP TRÌNH MÁY TÍNH
KHÓA HỌC: 2013-2016
Tên: “LẬP TRÌNH APP VIỆT HÀN IT”
(Bản nâng cấp)
Sinh viên thực hiện: DIỆP QUỐC PHONG Lớp: CCLT07B
Họ tên GVHD: ĐOÀN THANH SƠN
Đà Nẵng , tháng 6 năm 2016
Trang 2MỤC LỤC
MỤC LỤC 2
LỜI MỞ ĐẦU 4
CHƯƠNG 1 : CƠ SỞ LÝ THUYẾT 5
1.1Sơ lược về ngôn ngữ Java 5
1.1.1Khái niệm 5
1.1.2Lịch sử ra đời 5
1.1.3Sự phát triển của Java 6
1.1.4Đặc điểm 6
1.1.5Khả năng 6
1.2Một số tính chất của ngôn ngữ Java 7
1.2.1 Đơn giản 7
2.2.3 Độc lập phần cứng và hệ điều hành 7
2.2.4 Mạnh mẽ 8
2.2.5 Bảo mật 8
2.2.6 Phân tán 8
2.2.7 Đa luồng 9
2.2.8 Linh động 9
CHƯƠNG 2 : PHÂN TÍCH VÀ THIẾT KẾ 10
2.1 Mô hình hóa yêu cầu 10
2.1.1 Xác định các tác nhân 10
2.1.2 Xác định các trường hợp sử dụng (use case) 10
2.1.2.1 Liệt kê các trường hợp sử dụng 10
2.1.2.2 Đặc tả các trường hợp sử dụng 10
2.1.2.3 Biểu đồ trường hợp sử dụng 11
2.2 Mô hình hóa khái niệm 11
2.2.1 Các gói trong hệ thống 11
2.2.1.1 Các lớp biên 11
Trang 32.2.1.2 Các lớp điều khiển 12
2.2.2 Xác định các lớp đối tượng 13
2.3 Biểu đồ hoạt động 13
CHƯƠNG 3 : XÂY DỰNG CHƯƠNG TRÌNH 14
3.1Tổng quan về Ứng dụng Việt Hàn It 14
3.2Giao diện Ứng dụng: 14
3.3 Hướng dẫn sử dụng 17
3.3.1 Yêu cầu cấu hình 17
KẾT LUẬN 18
TÀI LIỆU THAM KHẢO 19
Trang 4LỜI MỞ ĐẦU
Công nghệ thông tin (CNTT) ngày càng có vai trò quan trọng trong cuộc sống hàng ngày của chúng ta Việc ứng dụng CNTT vào các lĩnh vực trong đời sống giúp công việc được tiến hành nhanh chóng và hiệu quả hơn Có rất nhiều công việc mới phát triển song song cùng với CNTT, một trong số đó là lập trình ứng dụng, một hướng đi dịch vụ mang lại hiệu quả kinh tế rất lớn
Em chọn đề tài “Lập trình App VIỆT HÀN IT” nhằm tìm hiểu sâu hơn về ngôn ngữ android, từ đó viết một ứng dụng cụ thể nhằm củng cố kiến thức và làm quen với công việc lập trình trong tương lai
Em xin chân thành cảm ơn !!!
Trang 5CHƯƠNG 1 : CƠ SỞ LÝ THUYẾT 1.1 Sơ lược về ngôn ngữ Java
1.1.1 Khái niệm
Java được biết đến như một ngôn ngữ hướng đối tượng (OO - object-oriented),
bạn có thể sử dụng ngôn ngữ này để lập trình hướng đối tượng Điều này rất khác so với lập trình thủ tục, và có thể hơi lạ lùng đối với hầu hết các lập-trình-viên-không-hướng-đối-tượng Bước đầu tiên bạn phải hiểu đối tượng là gì, vì đó là khái niệm cơ sở của OOP
1.1.2 Lịch sử ra đời
Java được khởi đầu bởi James Gosling và bạn đồng nghiệp ở Sun Microsystems
năm 1991 Ban đầu ngôn ngữ này được gọi làOak (có nghĩa là cây sồi; do bên ngoài
cơ quan của ông Gosling có trồng nhiều loại cây này), họ dự định ngôn ngữ đó thay choC++, nhưng các tính năng giống Objective C Không nên lẫn lộn Java với
JavaScript, hai ngôn ngữ đó chỉ giống tên và loại cú pháp như C Công ty Sun Microsystems đang giữ bản quyền và phát triển Java thường xuyên Tháng 04/2011, công ty Sun Microsystems tiếp tục cho ra bản JDK 1.6.24
Java được tạo ra với tiêu chí "Viết (code) một lần, thực thi khắp nơi" ("Write Once, Run Anywhere" (WORA)) Chương trình phần mềm viết bằng Java có thể chạy trên mọi nền tảng (platform) khác nhau thông qua một môi trường thực thi với điều kiện có môi trường thực thi thích hợp hỗ trợ nền tảng đó Môi trường thực thi của Sun Microsystems hiện hỗ trợ Sun Solaris, Linux, Mac OS, FreeBSD & Windows Ngoài
ra, một số công ty, tổ chức cũng như cá nhân khác cũng phát triển môi trường thực thi Java cho những hệ điều hành khác như BEA, IBM, HP Trong đó đáng nói đến nhất
là IBM Java Platform hỗ trợ Windows, Linux, AIX & z/OS
Những chi tiết về ngôn ngữ, máy ảo và API của Java được giữ bởi Cộng đồng Java (do Sun quản lý) Java được tạo ra vào năm 1991 do một số kỹ sư ở Sun, bao gồm ông James Gosling, một phần của Dự án Xanh (Green Project) Java được phát hành vào năm 1994, rồi nó trở nên nổi tiếng khi Netscape tuyên bố tại hội thảo SunWorld năm 1995 là trình duyệt Navigator của họ sẽ hỗ trợ Java Về sau Java được hỗ trợ trên hầu hết các trình duyệt như Internet Explorer (Microsoft), Firefox (Mozilla), Safari
(Apple)
Trang 6Java được sử dụng chủ yếu trên môi trường NetBeans và Oracle Sau khi Oracle
mua lại công tySun Microsystems năm 2009-2010, Oracle đã mô tả họ là "người quản
lý công nghệ Java với cam kết không ngừng để bồi dưỡng một cộng đồng tham gia và minh bạch"
1.1.3 Sự phát triển của Java
• 1990: Ngôn ngữ Oak được tạo ra bởi James Gosling trong dự án Green của
• Sun MicroSystems nhằm phát triển phần mềm cho các thiết bị dân dụng
• 1995: Oak đổi tên thành Java
• 1996: trở thành chuẩn công nghiệp cho Internet
1.1.4 Đặc điểm
• Ngôn ngữ hoàn toàn hướng đối tượng (Pure OOP)
• Ngôn ngữ đa nền: "Viết một lần , Chạy trên nhiều nền”
• Ngôn ngữ đa luồng (multi-threading): xử lý và tính toán song song
• Ngôn ngữ phân tán (distributed): cho phép các đối tượng của một ứng dụng được phân bố và thực thi trên các máy tính khác nhau
• Ngôn ngữ động: cho phép mã lệnh của một chương trình được tải từ một máy tính về máy của người yêu cầu thực thi chương trình
• Ngôn ngữ an toàn: hạn chế các thao tác nguy hiểm cho máy tính thật
• Ngôn ngữ đơn giản, dễ học, kiến trúc chương trình đơn giản, trong sáng
1.1.5 Khả năng
• Ngôn ngữ bậc cao
• Có thể được dùng để tạo ra các loại ứng dụng để giải quyết các vấn đề về số,
xử lý văn bản, tạo ra trò chơi, và nhiều thứ khác
• Có các thư viện hàm hỗ trợ xây dựng giao diện (GUI) như AWT, Swing, …
• Có các môi trường lập trình đồ họa như JBuilder, NetBeans, Eclipse, …
• Có khả năng truy cập dữ liệu từ xa thông qua cầu nối JDBC
• Hỗ trợ các lớp hữu ích, tiện lợi trong lập trình các ứng dụng mạng (Socket) cũng như truy xuất Web hay nhúng vào trong trang Web (Applet)
• Hỗ trợ lập trình phân tán (Remote Method Invocation) cho phép một ứng dụng có thể được xử lý phân tán trên các máy tính khác nhau
• Lập trình trên thiết bị cầm tay (J2ME)
Trang 7• Xây dựng các ứng dụng trong môi trường xí nghiệp (J2EE).
1.2 Một số tính chất của ngôn ngữ Java
Java là ngôn ngữ lập trình được phát triển từ ngôn ngữ lập trình C/C++ Nó kế thừa, phát huy các thế mạnh của ngôn ngữ C/C++ và lược bỏ đi các cú pháp phức tạp của C/C++ Ngôn ngữ lập trình Java có một số đặc trưng tiêu biểu: đơn giản, hướng đối tượng, độc lập phần cứng và hệ điều hành, mạnh mẽ, bảo mật, phân tán, đa luồng
và linh động
1.2.1 Đơn giản
Những người thừa kế mong muốn phát triển một ngôn ngữ dễ học và quen thuộc với đa số người lập trình Do vậy Java loại bỏ các đặc trưng phức tạp của C và C++ như:
• Loại bỏ thao tác con trỏ, thao tác định nghĩa chồng đoán tử
• Không cho phép đa kế thừa mà sử dụng các giao diện
• Không sử dụng lệnh “goto”cũng như file header (.h)
• Loại bỏ cấu trúc “struct” và “union”
2.2.2 Hướng đối tượng
Java là ngôn ngữ lập trình thần hướng đối tượng, mọi chương trình viết trên Java đều phải được xây dựng trên các đối tượng Nếu trong C/C++ ta có thể tạo ra các hàm (chương trình con không gắn với đối tượng nào) thì trong Java ta chỉ có thể tạo ra các phương thức (chương trình con gắn liền với một lớp cụ thể) Trong Java không cho phép các đối tượng có tính năng đa kế thừa mà được thay thế bằng các giao diện (interface)
2.2.3 Độc lập phần cứng và hệ điều hành
Đối với các ngôn ngữ lập trình truyền thống như C/C++, phương pháp biên dịch được thực hiện như sau:
Trang 82.2.4 Mạnh mẽ
Java là ngôn ngữ yêu cầu chặt chẽ về kiểu dữ liệu
• Kiểu dữ liệu phải khai báo tường minh
• Java không sử dụng con trỏ và các phép toán con trỏ
• Java kiểm tra tất cả các truy nhập đến mảng, chuỗi khi thực thi để đảm bảo rằng các truy nhập đó không ra ngoài giới hạn kích thước
• Trong các môi trường lập trình truyền thống, lập trình viên phải tự mình cấp phát bộ nhớ, trước khi chương trình kết thúc thì phải tự giải phóng bộ nhớ đã cấp Vấn đề có thể nảy sinh khi lập trình viên quên giải phóng bộ nhớ đã xin cấp trước đó Trong chương trình Java, lập trình viên không phải bận tâm đến việc cấp phát bộ nhớ Quá trình cấp phát, giải phóng được thực hiện tự động, nhờ dịch vụ thu nhặt những đối tượng không còn
sử dụng nữa (garbage collection)
• Cơ chế bẫy lỗi của Java giúp đơn giản hóa quá trình xử lý và hồi phục sau lỗi
2.2.5 Bảo mật
Java cung cấp một môi trường quản lý thực thi chương trình với nhiều mức để kiểm soát tính an toàn:
• Ở mức thấp nhất, dữ liệu và các phương thức được đóng gói bên trong lớp Chúng chỉ được truy xuất thông qua các giao diện mà lớp cung cấp
• Ở mức thứ hai, trình biên dịch kiểm soát để đảm bảo mã là an toàn, và tuân theo các nguyên tắc của Java
• Mức thứ ba được đảm bảo bởi trình thông dịch; chúng kiểm soát xem bytecode có đảm bảo các quy tắc an toàn trước khi thực thi không
• Mức thứ tự kiểm soát việc nạp các lớp vào bộ nhớ để giám sát việc vi phạm giới hạn truy suất trước khi nạp vào hệ thống
2.2.6 Phân tán
Java được thiết kế để hỗ trợ các ứng dụng chạy trên mạng bằng các lớp mạng (java.net) Hơn nữa, Java hỗ trợ nhiều nền chạy khác nhau nên chúng được sử dụng rộng rãi như là công cụ phát triển trên Internet – nơi sử dụng nhiều nền khác nhau
Trang 92.2.7 Đa luồng
Chương trình Java cung cấp giải pháp đa luồng (Multithreading) để thực thi các công việc đồng thời Chúng cũng cung cấp giải pháp đồng bộ giữa các luồng Đặc tính
hỗ trợ đa luồng này cho phép xây dựng các ứng dụng trên mạng chạy hiệu quả
2.2.8 Linh động
Java được thiết kế như một ngôn ngữ động để đáp ứng cho những môi trường
mở Các chương trình Java chứa rất nhiều thông tin thực thi nhằm kiểm soát và truy nhập đối tượng lúc chạy Điều này cho phép khả năng liên kết mã động
Trang 10CHƯƠNG 2 : PHÂN TÍCH VÀ THIẾT KẾ 2.1 Mô hình hóa yêu cầu
2.1.1 Xác định các tác nhân
Vì phần mềm dùng trên điện thoại nên chỉ có một tác nhân là người dùng
2 1.2 Xác định các trường hợp sử dụng (use case)
2.1.2.1 Liệt kê các trường hợp sử dụng
- Trang Chủ
- Lích Sử
- Hình Ảnh
- Bản Đồ
- Đào Tạo
- Liên Hệ
- Tuyển Sinh
2.1.2.2 Đặc tả các trường hợp sử dụng
• Trang chủ:
- Tác nhân: Người dùng
- Mô tả: Nơi chứa các chức năng khác.
• Lịch Sử:
- Tác nhân: Người dùng
- Mô tả: Xem lịch sử của trường
• Đào Tạo:
- Tác nhân: Người dùng
- Mô tả: Xem các chương trình đào tạo hiện có của trường
• Hình Ảnh:
- Tác nhân: Người dùng
- Mô tả: Xem các hình ảnh về trường để hiểu biết về cơ sở hạ tầng của trường.
• Bản Đồ:
- Tác nhân: Người dùng
- Mô tả: Giúp Người dùng tiếp cận được vị trí của trường nằm ở đâu.
• Liên Hệ:
- Tác nhân: Người dùng
Trang 11- Mô tả: Xem thông tin cơ bản của ứng dụng như nhà phát hành, thông tin
phiên bản
• Tuyển Sinh
- Tác nhân: Người dùng
- Mô tả: Xem thông tin tuyển sinh cơ bản
2.1.2.3 Biểu đồ trường hợp sử dụng
Biểu đồ trường hợp sử dụng
2.2 Mô hình hóa khái niệm
2.2.1 Các gói trong hệ thống
2.2.1.1 Các lớp biên
Lớp biên là lớp nằm trên đường biên của hệ thống với phần thế giới còn lại Nó
có thể là biểu mẫu, báo cáo hoặc giao diện
ỨNG DỤNG VIỆT HÀN IT có những lớp biên như sau:
Trang 122.2.1.2 Các lớp điều khiển
Lớp điều khiển là lớp làm nhiệm vụ điều khiển mọi hoạt động của các lớp khác Tương ứng với mỗi Use Case có thể sẽ có một lớp điều khiển làm nhiệm vụ gửi thông điệp cho các lớp liên quan
Ứng Dụng Việt Hàn IT có những lớp điều khiển sau:
Trang 132.2.2 Xác định các lớp đối tượng
Mô hình khái niệm hay còn gọi là mô hình đối tượng là cách biểu diễn các khái niệm (đối tượng), các thực thể của phạm vi bài toán
Dựa vào việc áp dụng các phương pháp khác nhau, chúng tôi đã xác định được các lớp đối tượng của ứng dụng như sau:
- SplashActivity: Lớp này là chạy giao diện intro đầu tiên
- MainActivity: Lớp này chứa các sự kiện để dẫn tới các layout khác
- HomeActivity: Lớp này chứa các chức năng hiện có của ứng dụng
2.3 Biểu đồ hoạt động
SplashActivity
appName : String
mFadeIn : Animation
mFadeScale : Animation
mFadeOut : Animation
inIntAnim()
onCreat()
setListenner()
MainActivity doubleBackToExitPressedOne onBack()
onCreat() onNavigationItemSelected() onOptionsItemSelected()
HomeActivity onCreatView
Trang 14CHƯƠNG 3 : XÂY DỰNG CHƯƠNG TRÌNH 3.1 Tổng quan về Ứng dụng Việt Hàn It
Giới thiệu
Nhu cầu sử dụng smartphone nên tản Android hiện tại rất cao Từ đó nảy sinh
ý tưởng về một ứng dụng dành cho ngôi trường chúng ta đang học Giúp các
nắm rõ hơn
Đặc điểm nổi bật
dụng
Trang 15Giao diện chạy ban đầu
Trang 16Giao diện Lịch Sử
Giao diện chương trình đào tạo
Giao diện hình ảnh
Trang 17Giao diện bản đồ
3.3 Hướng dẫn sử dụng
Tải ứng dụng về cài đặt và sử dụng thao tác cơ bản như những ứng dụng khác
3.3.1 Yêu cầu cấu hình
Phần mềm đã được tương thích trên các thiết bị android hiện nay hoặc các máy
ảo android hiện có Mọi thiết bị android đều chạy được
Trang 18KẾT LUẬN
Sau một thời gian nghiên cứu và phát triển đề tài “Ứng Dụng Việt Hàn IT” em
đã hoàn thành về cơ bản theo yêu cầu và thời gian đã định Trong quá trình nghiên cứu
và thực hiện đề tài với sự nỗ lực cao nhưng do còn hạn chế về kinh nghiệm, kiến thức nên đề tài của em chắc chắn sẽ không tránh khỏi những thiếu xót Em mong nhận được
sự góp ý từ thầy cô để đề tài được hoàn thiện hơn
Kết quả đạt được:
− Xây dựng ứng dụng cho trường
− Giao diện đơn giản, dễ sử dụng
− Hiểu sâu hơn về ngôn ngữ lập trình android
− Củng cố thêm kiến thức được học trên lớp, tiếp xúc với thực tế
Hạn chế:
− Vẫn còn có lỗi
− Ít chức năng
Hướng phát triển
− Thêm nhiều chức năng VD: Đọc tin, Tạo mục đăng nhập, ……
− Vá Lỗi
− Nâng cấp giao diện
− Nâng cấp các chức năng trong chương trình để phù hợp xu hướng
Đà Nẵng, Ngày ,tháng , năm 2016
Sinh viên thực hiện
Diệp Quốc Phong
Trang 19TÀI LIỆU THAM KHẢO
Thảm khảo nhiều nguồn