+ Sau gần 10 năm hoạt động,nhiều học viên tốt nghiệp trung tâm ATHENA đã làchuyên gia đảm nhận công tác quản lý hệ thống mạng, an ninh mạng cho nhiều bộ ngànhnhư Cục Công Nghệ Thông Tin
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KỸ THUẬT MÁY TÍNH
-NGHIÊN CỨU, XÂY DỰNG PHẦN MỀN QUẢN LÝ
NHÂN SỰ TRÊN ANDROID
BÁO CÁO THỰC TẬP DOANH NGHIỆP
GVHD: VÕ ĐỖ THẮNG SVTH : LỘC VĂN TIẾN MSSV: 10520298
LỚP: KTMT2010
Thành phố Hồ Chí Minh – Năm 2014
Trang 2L I C M N ỜI CẢM ƠN ẢM ƠN ƠN
Sau khoảng ba tháng thực tập tại ATHENA em đã hoàn thành Báo cáo thực tập, vẫnđang là những sinh viên chưa tốt nghiệp nên em không có điều kiện tiếp xúc nhiều vớithực tiễn, vẫn chưa có nhiều kinh nghiệm làm việc thực tiễn nhưng trong thời gian tiếpcận thực tế đã giúp em hiểu sâu hơn về kiến thức đã học ở trường và đồng thời bổ sungthêm những kiến thức mà em chưa được học, đó là hành trang vô cùng quý báu cho emkhi rời ghế nhà trường cũng như công việc tương lai
Để hoàn thành đợt thực tập này, em đã nhận được sự giúp đỡ tận tình của Trungtâm ATHENA, cùng nhiều người khác Nhờ đó, em đã tiếp thu được nhiều kiến thức vàkinh nghiệm thực tế Em xin gủi lời cảm ơn chân thành đến :
Trung tâm ATHENA đã tạo điều kiện cho em thực tập
Thầy Võ Đỗ Thắng đã trực tiếp hướng dẫn em trong quá trình thực tập
Toàn thể nhân viên trong ATHENA đã luôn nhiệt tình giúp đỡ, cũng như tạo mộtmôi môi trường làm việc rất thân thiện
Trong quá trình thực tập chắc chắn không tránh khỏi những sai lầm, thiếu sót rấtmong các Thầy bỏ qua Kính mong Trung tâm ATHENA và thầy cô đóng góp ý kiến đểsau khi tốt nghiệp em có thể hoàn thiện bản thân và trở thành người có năng lực hơn
Xin chân thành cảm ơn!
Sinh viên thực hiện
Lộc Văn Tiến
Trang 3ĐÁNH GIÁ KẾT QUẢ THỰC TẬP CỦA GVHD
TP HCM, ngày … tháng … năm ……….
Giảng viên hướng dẫn
(Ký và ghi rõ họ tên)
PHỤ LỤC
Trang 4LỜI CẢM ƠN 1
ĐÁNH GIÁ KẾT QUẢ THỰC TẬP CỦA GVHD 3
I LỊCH LÀM VIỆC TẠI NƠI THỰC TẬP 5
II GIỚI THIỆU TRUNG TÂM ATHENA 5
III NỘI DUNG NHIỆM VỤ CHÍNH ĐƯỢC GIAO TẠI ATHENA 6
IV NỘI DUNG CÁC CÔNG VIỆC VÀ KẾT QUẢ ĐẠT ĐƯỢC 7
CHƯƠNG I: KHẢO SÁT HỆ THỐNG 7
CHƯƠNG II: PHÂN TÍCH VÀ THIẾT KẾ MÔ HÌNH CƠ SỞ DỮ LIỆU 8
1 Các chức năng cơ bản của hệ thống 8
2 Xây dựng mô hình ERD về hệ thống quản lý nhân sự 9
3 Xây dựng mô hình cơ sở dữ liệu 10
CHƯƠNG III: XÂY DỰNG CƠ SỞ DỮ LIỆU 14
1 Hệ cơ sở dữ liệu 14
2 Sử dụng phpMyAdmin để tạo cơ sở dữ liệu cho chương trình 15
CHƯƠNG IV: GIỚI THIỆU PHƯƠNG THỨC KẾT NỐI VỚI DATABASE 17
I CLIENT: 18
II WEB SERVICE: 21
CHƯƠNG V: KIẾN TRÚC HỆ THỐNG VÀ DEMO CHƯƠNG TRÌNH 26
I Kiến trúc hệ thống chương trình trên Android: 26
II Demo Chương Trình 29
KẾT QUẢ ĐẠT ĐƯỢC QUA THỰC TẬP 33
V TÀI LIỆU THAM KHẢO 34
Trang 5I LỊCH LÀM VIỆC TẠI NƠI THỰC TẬP
1 Đơn vị thực tập : TRUNG TÂM ĐÀO TẠO QUẢN TRỊ MẠNG & AN NINH
MẠNG QUỐC TẾ ATHENA
2 Người hướng dẫn: Thầy Võ Đỗ Thắng (Giám Đốc Trung Tâm ATHENA)
Lịch thực tập:
- Thứ 3 hàng tuần từ 10h00 am - 14h00 pm
- Thứ 4 và thứ 5 hàng tuần từ 17h00 pm – 20h00 pm
Trung Tâm Đào Tạo Quản Trị Mạng & An Ninh Mạng Quốc Tế ATHENA đượcthành lập từ năm 2004, là một tổ chức qui tụ nhiều trí thức trẻ Việt Nam đầy năng động,nhiệt huyết và kinh nghiệm trong lãnh vực CNTT, với tâm huyết góp phần vào công cuộcthúc đẩy tiến trình đưa công nghệ thông tin là ngành kinh tế mũi nhọn, góp phần pháttriển nước nhà
Lĩnh vực hoạt động chính:
Trung tâm ATHENA đã và đang tập trung chủ yếu vào đào tạo chuyên sâu quảntrị mạng, an ninh mạng, thương mại điện tử theo các tiêu chuẩn quốc tế của các hãng nổitiếng như Microsoft, Cisco, Oracle, Linux LPI , CEH, Song song đó, trung tâmATHENA còn có những chương trình đào tạo cao cấp dành riêng theo đơn đặt hàng củacác đơn vị như Bộ Quốc Phòng, Bộ Công An , ngân hàng, doanh nghiệp, các cơ quanchính phủ, tổ chức tài chính
+ Sau gần 10 năm hoạt động,nhiều học viên tốt nghiệp trung tâm ATHENA đã làchuyên gia đảm nhận công tác quản lý hệ thống mạng, an ninh mạng cho nhiều bộ ngànhnhư Cục Công Nghệ Thông Tin - Bộ Quốc Phòng , Bộ Công An, Sở Thông Tin Truyền
+ Ngoài chương trình đào tạo, Trung tâm ATHENA còn có nhiều chương trình hợp tác
và trao đổi công nghệ với nhiều đại học lớn như đại học Bách Khoa Thành Phố Hồ Chí
Trang 6Minh, Học Viện An Ninh Nhân Dân( Thủ Đức), Học Viện Bưu Chính Viễn Thông, Hiệphội an toàn thông tin (VNISA), Viện Kỹ Thuật Quân Sự ,
Đội ngũ giảng viên :
+ Tất cả các giảng viên trung tâm ATHENA có đều tốt nghiệp từ các trường đại học hàngđầu trong nước Tất cả giảng viên ATHENA đều phải có các chứng chỉ quốc tế nhưMCSA, MCSE, CCNA, CCNP, Security+, CEH,có bằng sư phạm Quốc tế (MicrosoftCertified Trainer).Đây là các chứng chỉ chuyên môn bắt buộc để đủ điều kiện tham giagiảng dạy tại trung tâm ATHENA
+ Bên cạnh đó,Các giảng viên ATHENA thường đi tu nghiệp và cập nhật kiến thức côngnghệ mới từ các nước tiên tiến như Mỹ , Pháp, Hà Lan, Singapore, và truyền đạt cáccông nghệ mới này trong các chương trình đào tạo tại trung tâm ATHENA
Dịch vụ hỗ trợ:
+ Đảm bảo việc làm cho học viên tốt nghiệp khoá dài hạn
+ Giới thiệu việc làm cho mọi học viên
+ Thực tập có lương cho học viên khá giỏi
+ Ngoài giờ học chính thức, học viên được thực hành thêm miễn phí, không giới hạn thờigian
+ Hỗ trợ kỹ thuật không thời hạn trong tất cả các lĩnh vực liên quan đến máy tính, mạng máy tính, bảo mật mạng
+ Hỗ trợ thi Chứng chỉ Quốc tế
III NỘI DUNG NHIỆM VỤ CHÍNH ĐƯỢC GIAO TẠI
ATHENA
1 Nghiên cứu mô hình ERD, thiết kế Database cho hệ thống quản lý nhân sự.
2 Nghiên cứu, cài đặt Android,cài đặt máy ảo giả lập, các công cụ hỗ trợ xây dựng hệ thống quản lý nhân sự.
3 Xây dựng hệ thống, nghiên cứu và sử dụng thuật toán JSON kết nối database
Sử dụng phpMyAdmin để tạo cơ sở dữ liệu cho chương trình
Trang 7 Phương thức json kết nối database
Web sercive
4 Tạo report – báo cáo kết quả làm được hàng tuần
CHƯƠNG I: KHẢO SÁT HỆ THỐNG
1 Tổng quan về hệ thống quản lý
Quản lý là cách biểu hiện một ý chí muốn biến đổi và thuần phục một tổng thể cáchiện tượng Đó là việc tạo ra các sự kiện, thay vì để cho các sự kiện xảy ra bộc phát Đâykhông phải là sự lắp ráp các nhiệm vụ rời rạc mà là hoạt động phân biệt rõ ràng với cácchức năng khác của tổ chức
2 Chức năng và nhiệm vụ của hệ thống quản lý nhân sự
Hệ thống quản lý nhân sự có chức năng thường xuyên thông báo cho ban lãnh đạo vềcác mặt công tác: tổ chức lao động, tiền lương cho nhân viên, hệ thống này được đặtdưới sự chỉ đạo trực tiếp của giám đốc
Với chức năng như vậy, hệ thống quản lý nhân sự có nhiệm vụ luôn cập nhật hồ sơcán bộ công nhân viên theo quy định, thường xuyên bổ xung những thông tin thay đổitrong quá trình công tác của cán bộ công nhân viên, việc theo dõi và quản lý lao động đểthanh toán lương cũng là nhiệm vụ quan trọng của hệ thống
Ngoài ra, công tác thống kê báo cáo tình hình theo yêu cầu của ban giám đốc cũng lànhiệm vụ không thể thiếu trong hệ thống quản lý cán bộ
3 Yêu cầu của hệ thống và những khó khăn
Trước một khối lượng lớn nhân viên cũng như các yêu cầu đặt ra thì việc quản lýtheo phương pháp thủ công sẽ không thể đáp ứng được, do đó gặp rất nhiều khó khăn Nóđòi hỏi phải có nhiều nhân lực, nhiều thời gian và công sức, mỗi nhân sự của cơ quan thì
Trang 8có một hồ sơ cho nên việc lưu trữ, tìm kiếm, bổ sung, sửa đổi để đáp ứng yêu cầu khôngphải là dễ dàng.
Từ những nhược điểm trên ta thấy cần thiết phải có một hệ thống tin học hoá choviệc quản lý nhân sự cũng như các hệ thống quản lý khác
4 Những yêu cầu đặt ra đối với hệ thống
Cùng với sự phát triển của xã hội, công tác tổ chức quản lý cũng cần được đầu tư vàphát triển để có thể đáp ứng tốt đuợc yêu cầu cũng như giúp cấp lãnh đạo thực hiện tốtcác chủ trương chính sách đối với cán bộ công nhân viên chức
Trước hết để quản lý được một khối lượng nhân viên của một cơ quan, phải tổ chứctốt hệ thống lưu trữ hồ sơ để có thể đáp ứng được những yêu cầu: tiết kiệm tài nguyên, dễtìm kiếm, dễ bổ xung sửa đổi Ngoài ra hệ thống mới phải có khả năng phát hiện lỗi và xử
lý kiểm tra tính đúng đắn của dữ liệu ngay từ khi cập nhật
CHƯƠNG II: PHÂN TÍCH VÀ THIẾT KẾ MÔ HÌNH CƠ SỞ DỮ LIỆU
1 Các chức năng cơ bản của hệ thống
Qua quá trình nghiên cứu, nhóm đã xây dựng được một hệ cơ sở dữ liệu quản lý nhân
sự cơ bản đáp ứng được một số yêu cầu của các doanh nghiệp như sau:
- Quản lý thông tin nhân sự bao gồm đầy đủ, chi tiết về nhân sự trong doanh nghiệp
- Theo dõi, cập nhật thường xuyên thông tin nhân sự, phòng ban, tổ đội trong doanhnghiệp
- Tính lương cho nhân viên theo công thức có sẵn hoặc công thức do người sử dụng
tự cập nhật vào, các chế độ đãi ngộ tương ứng
- Quản lý các thông tin liên quan tới việc tuyển dụng nhân sự mới trong doanhnghiệp
- Trả hồ sơ cho nhân viên khi chấm dứt hợp đồng lao động
Trang 9Biểu đồ phân cấp chức năng của hệ quản lý nhân sự
2 Xây dựng mô hình ERD về hệ thống quản lý nhân sự
Các thực thể và thuộc tính tương ứng:
a.NHANVIEN (MaNV, HoTen, GioiTinh, NgaySinh, DanToc, QueQuan, SoDienThoai,
MaPB, MaCV, MaTDHV, BACLUONG)
b.PHONGBAN (MaPB, TenPhongBan, SoDienThoai)
c.CHUCVU (MaCV, TenCV)
d.TDHV (MaTDHV, TenTrinhDo)
e.LUONG (BacLuong, LuongCoban, HesoLuong, HesoPhucap)
f.TGCT(MaNV, MaCV, NgayNhamChuc)
g.THONGBAO(MaTB, ThongBao, MaPB, ThoiGian)
QUẢN LÝ NHÂN SỰ
Trang 10Mô hình ERD trong quản lý nhân sự
3 Xây dựng mô hình cơ sở dữ liệu
Thiết kế các file dữ liệu
3.1.1 Bảng NHAN VIEN lưu trữ thông tin về các nhân viên của công ty đang trong hiệu lực của
hợp đồngSTT Tên trường Kiểu Độ rộng Giải thích
Trang 116 DanToc Text 20 Dân tộc
7 SoDienthoai Number 20 Số điện thoại liên lạc
3.1.2 Bảng PHONG BAN lưu trữ các thông tin về nhiệm vụ của các phòng ban trong tổ chức doanh nghiệp
3 SoDienthoaiPB Text 20 Số điện thoại phòng ban
3.1.3 Bảng CHUC VU quản lý các chức danh hiện có của kết cấu tổ chức trong doanh nghiệp
Stt Tên trường Kiểu Độ rộng Giải thích
Trang 123.1.4 Bảng TDHV (trình độ học vấn) quản lý các trình độ chuyên môn đã đạt được của nhân viên cho tới thời điểm hiện tại
Stt Tên trường Kiểu Độ rộng Giải thích
1 MaTDHV Text 10 Mã trình độ học vấn
2 TenTrinhDo Text 20 Tên trình độ học vấn
3.1.5 Bảng LUONG lưu trữ thông tin về hệ số lương và các phụ cấp của doanh nghiệp
1 BacLuong Number 10 Bậc lương
2 LuongCoban Number 20 Lương cơ bản
3 HesoLuong Number 10 Hệ số lương
4 HesoPhucap Number 10 Hệ số phụ cấp
3.1.6 Bảng TGCT (thời gian công tác) dùng để lưu trữ thời gian bắt đầu đảm nhiệm chức vụ của mỗi nhân viên
3 NgayNhamChuc Date/Time 20 Ngày nhậm chức
3.1.7 Bảng THONGBAO dùng để thông báo cho các phòng ban.
Stt Tên trường Kiểu Độ rộng Giải thích
Trang 132 ThongBao Text 300 Thông báo
4 NgayThongBao Date/Time 20 Ngày nhận thông
Một cơ sở dữ liệu quan hệ:
- Chứa dữ liệu trong các bảng, được cấu tạo bởi các dòng (mẫu tin) và các cột(trường)
- Cho phép lấy về (truy vấn) các tập hợp dữ liệu con từ các bảng
- Cho phép nối các bảng lại với nhau cho mục đích truy cập các mẫu tin liên quanvới nhau chứa trong các bảng khác nhau
Bộ máy cơ sở dữ liệu: Chức năng cơ bản của một cơ sở dữ liệu được cung cấp bởi
một bộ máy cơ sở dữ liệu, là hệ thống quản lý cách thức chứa và trả về dữ liệu
Bảng và trường: Các cơ sở dữ liệu được cấu tạo từ các bảng dùng thể hiện các phân
nhóm dữ liệu Bảng chứa các mẫu tin là các mẫu dữ liệu riêng rẽ bên trong phân nhóm dữliệu Mẫu tin chứa các trường, mỗi trường thể hiện một bộ phận dữ liệu trong một mẫutin
RecordSet: Khi tạo bảng cần nắm được cách thao tác với các bảng Thao tác với các
bảng liên quan đến việc nhập và lấy về dữ liệu từ các bảng khác cũng như việc kiểm tra
và sữa đổi cấu trúc bảng Thao tác dữ liệu trong một bảng ta dùng Recordset RecordSet
là một cấu trúc dữ liệu thể hiện một tập hợp con các mẫu tin lấy về từ cơ sở dữ liệu
Trang 14Khóa chính: Một trường được chỉ ra là khóa chính của bảng phục vụ cho việc xác
Ngoài việc ghép các mẫu tin liên quan trong những bảng riêng biệt, mối quan hệ còntận dụng thế mạnh của tính toàn vẹn tham chiếu, một thuộc tính của bộ máy CSDL duy trìcác dữ liệu trong một CSDL nhiều bảng luôn luôn nhất quán Khi tính toàn vẹn thamchiếu tồn tại trong một CSDL, bộ máy CSDL sẽ ngăn cản khi xóa một mẫu tin khi có cácmẫu tin khác tham chiếu đến nó trong CSDL
2 Sử dụng phpMyAdmin để tạo cơ sở dữ liệu cho chương trình
2.1 Giới thiệu về phpMyAdmin
phpMyAdmin là một công cụ nguồn mở miễn phí được viết bằng PHP dự định để
xử lý quản trị của MySQL thông qua một trình duyệt web Nó có thể thực hiện nhiều tác
vụ như tạo, sửa đổi hoặc xóa bỏ cơ sở dữ liệu, bảng, các trường hoặc bản ghi; thực hiệnbáo cáo SQL; hoặc quản lý người dùng và cấp phép
Các tính năng được cung cấp bởi chương trình bao gồm:
Giao diện web
Quản lý cơ sở dữ liệu MySQL
Nhập dữ liệu từ CSV và SQL
Xuất dữ liệu sang các định dạng khác nhau: CSV, SQL, XML, PDF (thôngqua thư viện TCPDF), ISO/IEC 26300 - OpenDocument văn bản và bảngtính, Word, Excel,LaTeX và các định dạng khác
Quản lý nhiều máy chủ
Trang 15 Tạo PDF đồ họa của bố trí cơ sở dữ liệu
Tạo các truy vấn phức tạp bằng cách sử dụng Query-by-example (QBE)
Tìm kiếm tổng quan trong cơ sở dữ liệu hoặc một tập hợp con của nó
Chuyển đổi dữ liệu được lưu trữ thành các định dạng bằng cách sử dụngmột tập hợp các chức năng được xác định trước, như hiển thị dữliệu BLOB như hình ảnh hoặc tải về liên kết
Giám sát các truy vấn (quy trình)
2.2 Thiết kế các mô đun dữ liệu
2.2.1 Bảng NHAN VIEN
2.2.2 Bảng PHONG BAN
Trang 17CHƯƠNG IV: GIỚI THIỆU PHƯƠNG THỨC KẾT NỐI VỚI DATABASE
Về ứng dụng, đây là ứng dụng quản lý, nên tính bảo mật cũng phải đòi hỏi cao hơncác ứng dụng khác Database của ứng dụng không thể nằm trên điện thoại được vì dunglượng database quá lơn, và dễ dàng bị xem trộm nếu điện thoại đó sử dụng các phần mềmduyệt file chuyên dụng Do đó, database của ứng dụng sẽ nằm ở server độ bảo mật sẽ caohơn Tất nhiên nếu như vậy thì doanh nghiệp sẽ tốn thêm phần chi phí cho việc thuê máychủ và nhân việc điều hành quản lý, nhưng bù lại, bảo mật sẽ cao hơn
Môi trường server của nhóm xây dựng sẽ là server ảo, nhóm sử dụng phần mềmxamp 1.8 , đây là phần mềm giả lập seb server Về phần cái đặt và config thì nhóm không
đê cập tới, vì khi config kết nối, nhóm sử dụng hoàn toàn config mặc định trong quá trìnhcái đặt xamp
Khi kết nối cần 1 trung gian để gửi nhận dữ liệu, qua tìm hiểu nhóm biết được json
là 1 chuẩn định dạng dữ liệu gửi nhận giữa các ngôn ngữ khác nhau
Đâu tiên ở client android nhóm xây dựng 1 class JSONParser có chức năng địnhnghĩa json, nhận dữ liệu từ trên web service về và định dạng dữ liệu nhận, ở đây dữ liệu nhận về sẽ là 1 mảng 1 chiều dữ liệu.
Trang 18static InputStream is = null;
static JSONObject jObj = null;
static String json = "";
public JSONParser() {
}
public JSONObject getJSONFromUrl(String url, List<NameValuePair> params) { try {
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
httpPost.setEntity(new UrlEncodedFormEntity(params));
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
Trang 19Log.e("Buffer Error", "Error converting result " + e.toString());}
cụ thể đây là gửi tag login, và gửi các chuỗi là các biến cần thiết, tất cả được đưa vào 1list params Sau đó gửi lên server server nhận tag Thực hiện yêu cầu gửi về lại là 1 json
Và phương thức này nhận json đã gửi về sau đó trả ra giá trị là json vửa nhận được đó Json đấy làtất cả nhưng gì mình cần.
public class UserFunctions {
private JSONParser jsonParser;
private static String loginURL = "http://192.168.0.111/android_login_api/";
private static String registerURL = "http://192.168.0.111/android_login_api/";
private static String login_tag = "login";
public UserFunctions(){
jsonParser = new JSONParser();
}
public JSONObject loginUser(String email, String password){
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("tag", login_tag));