Thành phần thứ hai là dịch vụ giới thiệu việc làm trên trang http://cungkhoinghiep.net để phục vụ cho nhiều đối tượng sử dụng, và cuối cùng là ứng dụng Android cung cấp phương thức tìm k
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
──────── * ───────
ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
NGÀNH CÔNG NGHỆ THÔNG TIN
XÂY DỰNG DỊCH VỤ ĐÁM MÂY GIỚI THIỆU VIỆC LÀM THEO ĐỊNH HƯỚNG
Trang 2PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
1 Thông tin về sinh viên
Họ và tên sinh viên: Trần Đắc Long
Điện thoại liên lạc: 01664253266 Email: longtdbk@gmail.comLớp: CNPM-K51 Hệ đào tạo: Chính qui
Đồ án tốt nghiệp được thực hiện tại: Bộ môn Công nghệ phần mềm, Viện CNTT&TT, Đại học Bách Khoa Hà Nội
Thời gian làm ĐATN: Từ ngày 21/02 /2011 đến 15/05/2011
2 Mục đích nội dung của ĐATN
Xây dựng dịch vụ đám mây “Giới thiệu việc làm” theo định hướng sử dụng phổ quát bao gồm có 3 thành phần chính Thành phần thứ nhất là dịch vụ dựa trên nền tảng PaaS google app engine do Google cung cấp có giao diện web, sẽ có nhiệm vụ chính là nơi cung cấp các dịch vụ webservice để dịch vụ khác có thể sử dụng Thành phần thứ hai là dịch vụ giới thiệu việc làm trên trang http://cungkhoinghiep.net để phục vụ cho nhiều đối tượng sử dụng, và cuối cùng là ứng dụng Android cung cấp phương thức tìm kiếm việc làm theo các tiêu chí phù hợp, tìm kiếm các nhà tuyển dụng gần vị trí của người sử dụng thông qua thiết
bị định vị
3 Các nhiệm vụ cụ thể của ĐATN
Nội dung công việc:
4 Lời cam đoan của sinh viên:
Tôi Trần Đắc Long cam kết ĐATN là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của TS Vũ Hương Giang
Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất kỳ công trình nào khác
Hà Nội, ngày tháng nămTác giả ĐATNTrần Đắc Long
5 Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép bảo vệ:
Trang 3Hà Nội, ngày tháng nămGiáo viên hướng dẫn
TS Vũ Thị Hương Giang
Trang 4TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP
Hiện tại nước ta có tỉ lệ người trong độ tuổi lao động chiếm phần lớn dân số cả nước, trong đó người có hoàn cảnh khó khăn do khuyết tật chiếm 7% dân số cả nước Họ không
có nhiều cơ hội để tiếp cận với thông tin việc làm do các vấn đề liên quan đến sức khỏe và điều kiện kinh tế khó khăn Do đó nhu cầu tìm kiếm việc làm là rất lớn, vì thế cần có một dịch vụ hỗ trợ được tìm kiếm việc làm dưới định dạng dễ truy cập, sử dụng phù hợp với nhiều đối tượng sử dụng
Để đáp ứng nhu cầu đó , đề tài đồ án tốt nghiệp có tên “Xây dựng dịch vụ đám mây Giới
thiệu việc làm theo định hướng Universal Usability”, với mục đích tạo ra 1 ứng dụng tin
học dễ sử dụng, có tính truy cập cao để hỗ trợ tìm kiếm, đăng tuyển việc làm với nhiều đối tượng sử dụng khác nhau
Hiện nay hầu hết các trang web giới thiệu việc làm đều mới chỉ dừng ở mức độ giới thiệu thông tin việc làm do từng tổ chức hay công ty giới thiệu việc làm cung cấp, không tổng hợp được nhiều luồng thông tin cho người dùng, do đó giải pháp giải quyết của em là kết hợp mô hình điện toán đám mây hướng dịch vụ với hướng sử dụng phổ quát để xây dựng ứng dụng phù hợp với yêu cầu đặt ra
Sau quá trình phát triển và thử nghiệm, dịch vụ được xây dựng gồm có ba thành phần chính Thành phần thứ nhất là trang web dựa trên nền tảng PaaS google app engine do Google cung cấp, trang web sẽ có nhiệm vụ chính là nơi cung cấp các dịch vụ webservice
để dịch vụ khác có thể sử dụng Thành phần thứ hai là dịch vụ giới thiệu việc làm trên trang http://cungkhoinghiep.net để phục vụ cho nhiều đối tượng sử dụng, và cuối cùng là ứng dụng Android cung cấp phương thức tìm kiếm việc làm theo các tiêu chí phù hợp, tìm kiếm các nhà tuyển dụng gần vị trí của người sử dụng thông qua thiết bị định vị
Trang 5ABSTRACT OF THESIS
At present our country in the proportion of working age accounted for most of the national population, including disadvantaged persons with disabilities accounted for 7% of the national population They do not have many opportunities to access job information by issues related to health and difficult economic conditions Hence the need to find a job is huge, so need a support services are finding jobs easily accessible format, used to suit the users
To meet this demand, the subject graduation thesis entitled "Building a cloud service oriented Universal Usability", with the purpose of creating an informatics application easy
Job-to use, taking inJob-to account access Advanced search for assistance, job in many different subjects using
Currently most of the job site will stop only at referral level job information held by each company or job offer, do not synthesize multiple streams of information to users, so my solution solve the combined model cloud with a service orientation towards the universal use to build applications in line with the requirements set forth
After development and testing, construction services include three main components The first component is a web-based PaaS google app engine provided by Google, the site will
be the main task is to provide services to other service WebService can be used The second component is a referral service on http://cungkhoinghiep.net to serve for many uses, and finally the Android application provides a way of seeking employment according
to criteria consistent instances, employers look for near the user's location through GPS receivers
Trang 6MỤC LỤC
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 1
TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP 3
MỤC LỤC 5
DANH MỤC CÁC HÌNH VẼ 7
DANH MỤC CÁC BẢNG 8
DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ 10
MỞ ĐẦU 1
I.Bài toán Giới Thiệu Việc Làm 3
Định hướng giải quyết 4
Giải pháp 5
Cơ sở lý thuyết và các công cụ sử dụng 6
4.1Cơ sở lý thuyết 6
4.1.1Cloud Computing 6
4.1.2Universal Usability 7
4.2Các công cụ sử dụng 8
4.2.1Ứng dụng trên cloud - Google App Engine 8
4.2.2Ứng dụng trên di động với Android 9
4.2.3Xây dựng ứng dụng web với DotNetNuke 11
PHẦN 2: CÁC KẾT QUẢ ĐẠT ĐƯỢC 13
I.Phân tích và thiết kế dịch vụ Giới Thiệu Việc Làm 13
1.2.1Chức năng cho người dùng đăng ký 14
1.2.2Chức năng cho nhà tuyển dụng 16
1.2.3Chức năng cho nhà phát triển 17
1.2.4Chức năng cho admin 17
1.3.1Các bảng trong dịch vụ 19
1.3.2Các bảng liên quan đến cơ chế phân quyền của DotNetNuke framework 26
1.4.1Tìm việc 29
1.4.2Đăng tuyển 29
1.4.3Tìm vị trí nhà tuyển dụng 30
II.Cài đặt 31
2.1Kiến trúc cài đặt dịch vụ Giới Thiệu Việc Làm 31
2.3Dữ liệu 32
III.Triển khai và thử nghiệm 37
Trang 73.2.1Kiểm thử đơn vị 37
3.2.2Kiểm thử tích hợp 40
3.4.1Trang web trên nền tảng GAE 47
3.4.2Dịch vụ Giới thiệu việc làm trên trang cungkhoinghiep.net 48
3.4.3Ứng dụng Android .48
3.4.4Khả năng ứng dụng của dịch vụ 48
3.4.5So sánh với các sản phẩm khác 49
KẾT LUẬN 50
TÀI LIỆU THAM KHẢO 52
Trang 8DANH MỤC CÁC HÌNH VẼ
Hình 1 Sơ đồ tổng quan hệ thống 5
Hình 2 Mô hình điện toán đám mây (Cloud Computing) 7
Hình 3 Google App Engine Launcher 8
Hình 4 Các thành phần chính của hệ điều hành Android 9
Hình 5 Kiến trúc Dotnetnuke 11
Hình 6 Các đối tượng tham gia hệ thống 13
Hình 7 Các chức năng chính của dịch vụ 14
Hình 8: Sơ đồ liên kết giữa các bảng 20
Hình 9 Mô hình dữ liệu của Dotnetnuke framework về phân quyền 26
Hình 10 Miêu tả các bước tìm việc 29
Hình 11 Miêu tả các bước đăng tuyển 30
Hình 12 Miêu tả các bước tìm vị trí nhà tuyển dụng 30
Hình 13 Cấu trúc cài đặt dịch vụ 31
Hình 14 Lấy giá trị từ XML 33
Hình 15 Chuyển thành DataTable 33
Hình 16 Giao diện tìm kiếm 38
Hình 17 Giao diện xem chi tiết 38
Hình 18 Giao diện tìm kiếm nhà tuyển dụng 39
Hình 19 Bắt đầu chương trình 41
Hình 20 Giao diện tìm nhà tuyển dụng 42
Hình 21 Giao diện chi tiết nhà tuyển dụng 42
Hình 22 Giao diện tìm việc 43
Hình 23 Giao diện danh sách việc làm 43
Hình 24 Giao diện chính trang web trên nền tảng GAE 44
Hình 25 Giao diện chính của trang web cung cấp dịch vụ Giới Thiệu Việc Làm 45
Hình 26 Chuẩn theo Mã G21 45
Hình 27 Chuẩn theo Mã G130 46
Hình 28 Chuẩn theo Mã G89 46
Hình 29 Chuẩn theo Mã G161 46
Hình 30 Chuẩn theo Mã H32 46
Hình 31 Chuẩn theo Mã H74 47
Hình 32 Chuẩn theo Mã h84 47
Trang 9DANH MỤC CÁC BẢNG
Bảng 1: Bảng NguoiDung 21
Bảng 2: Bảng VaiTro 21
Bảng 3: Bảng LinhVuc 21
Bảng 4: Bảng NganhNghe 21
Bảng 5: Bảng NganhNghe_NguoiDung 22
Bảng 6: Bảng TinhThanh 22
Bảng 7: Bảng DoiTuong 22
Bảng 8: Bảng DoiTuong_NguoiDung 22
Bảng 9: Bảng QuiMo 23
Bảng 10: Bảng LoaiHinh 23
Bảng 11: Bảng MucLuong 23
Bảng 12: Bảng CapBac 23
Bảng 13: Bảng NhaTuyenDung 24
Bảng 14: Bảng NhaTuyenDung_NguoiDung 24
Bảng 15: Bảng DonDangTuyen 25
Bảng 16: Bảng DonDangTuyen_DoiTuong 25
Bảng 17: Bảng TrangThai 26
Bảng 18: Bảng User 28
Bảng 19: Bảng UserProfile 28
Bảng 20: Bảng Roles 28
Bảng 21: Bảng RoleGroup 29
Bảng 22: Bảng UserRoles 29
Bảng 23: Bảng Employees 32
Bảng 24: Dịch vụ addLinhVuc 34
Bảng 25: Dịch vụ getLinhVuc 34
Bảng 26: Dịch vụ Bảng deleteLinhVuc 34
Bảng 27: Dịch vụ addLinhVuc 34
Bảng 28: Dịch vụ getNganhNghe 34
Bảng 29: Dịch vụ deleteNganhNghe 35
Bảng 30: Dịch vụ addDoiTuong 35
Bảng 31: Dịch vụ getDoiTuong 35
Bảng 32: Dịch vụ deleteDoiTuong 35
Trang 10Bảng 34: Dịch vụ getNhaTuyenDung 36
Bảng 35: Dịch vụ addDonDangTuyen 36
Bảng 36: Dịch vụ getDonDangTuyen 36
Bảng 37: Yêu cầu giao diện 38
Bảng 38: Các tình huống test 40
Bảng 39: Kiểm thử tính đầy đủ của hệ thống 40
Bảng 40: Phân tích và lấy dữ liệu 40
Bảng 41: Quản trị cơ sở dữ liệu 40
Bảng 42: Hiệu năng chương trình 40
Bảng 43: So sánh khả năng đáp ứng truy cập 49
Bảng 44: So sánh khả năng sử dụng phổ quát 49
Trang 11DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ
WCAG Web Content Accessibility Guidelines
Trang 12LỜI CẢM ƠN
Em xin chân thành cảm ơn khoa Công Nghệ Thông Tin, Trường Đại học Bách Khoa Hà Nội đã hỗ trợ tạo nhiều điều kiện thuân lợi cho chúng em trong quá trình học tập cũng như quá trình thực hiện đề tài tốt nghiệp
Em xin ghi nhận lòng biết ơn sâu sắc đến TS Vũ Thị Hương Giang đã tận
tình hướng dẫn, định hướng và truyền đạt cho em những kiến thức quý báu cùng với những lời động viên khuyến khích của Cô trong những lúc khó khăn, gặp trở ngại khi thực hiện đề tài
Em cũng xin chân thành cảm ơn các thầy cô trong bộ môn Công Nghệ Phần Mềm đã tận tình giảng dạy, trang bị cho chúng em những kiến thức cần thiết trong suốt quá trình học tập và nghiên cứu
Cuối cùng tôi xin gửi lời cám ơn đến bạn bè đã hỏi thăm động viên khuyến khích và giúp đỡ tôi trong quá trình thực hiện đề tài
Mặc dù em đã cố gắng hết mình để hoàn thành tốt đề tài của mình nhưng dù sao những điều sai sót trong đề tài là không thể tránh khỏi, kính mong các Thầy Cô thông cảm và tận tình chỉ bảo cho em, mong các bạn đóng góp ý kiến để em có thể hoàn thiện đề tài của mình hơn
Trang 13MỞ ĐẦU
1 Giới thiệu
Nhu cầu ngày càng tăng của công nghệ di động và Internet đã tạo ra cả một thế giới công việc mới, vai trò của ngành công nghệ thông tin và truyền thông ngày càng quan trọng Là chiếc cầu nối giữa những miền đất mà thông tin chưa được kết nối cũng như mang lại sức mạnh cho con người, giúp họ giao tiếp, hợp tác và tiếp cận hiệu quả những dữ liệu quan trọng nhất mà họ cần Đồng thời với sự phát triển này dẫn đến các nguồn tài nguyên, lượng dữ liệu, thông tin lưu trữ ngày càng lớn, gây khó khăn trong việc quản lý thông tin của các doanh nghiệp vừa và nhỏ Để giải quyết vấn đề trên các công ty trong lĩnh vực công nghệ thông tin đã đưa ra nhiều giải pháp phù hợp Hiện nay, một giải pháp đang được áp dụng rộng rãi và đang trở thành xu hướng, đã giải quyết được vấn đề này và mang lại hiệu quả kinh tế cao cho doanh nghiệp đó là khái niệm cloud computing
Cloud computing (điện toán đám mây), còn gọi là điện toán máy chủ ảo, là mô hình điện toán sử dụng các công nghệ máy tính và phát triển dựa vào mạng Internet Thuật ngữ "đám mây" ở đây là lối nói ẩn dụ chỉ mạng Internet và như một liên tưởng về độ phức tạp của các cơ sở hạ tầng chứa trong nó Ở mô hình điện toán này, mọi khả năng liên quan đến công nghệ thông tin đều được cung cấp dưới dạng các
"dịch vụ", cho phép người sử dụng truy cập các dịch vụ công nghệ từ một nhà cung cấp nào đó "trong đám mây" mà không cần phải có các kiến thức, kinh nghiệm về công nghệ, cũng như không cần quan tâm đến các cơ sở hạ tầng phục vụ cho công nghệ đó
Trong đó, tìm kiếm việc làm phù hợp là một trong những nhu cầu cấp thiết của mọi người, đặc biệt là những người đang trong độ tuổi lao động Sử dụng công nghệ thông tin để giới thiệu việc làm và hỗ trợ người lao động tìm kiếm việc làm là cách tiếp cận đúng đắn, phổ biến ở Việt Nam và trên thế giới Tuy nhiên, hiện nay hầu hết các trang web giới thiệu việc làm đều mới chỉ dừng ở mức độ giới thiệu thông tin việc làm do từng tổ chức hay công ty giới thiệu việc làm cung cấp, không tổng hợp được nhiều luồng thông tin cho người dùng Người dùng chỉ có thể tìm kiếm việc làm theo một danh sách hạn chế các tiêu chí như lĩnh vực, công ty tuyển dụng… Việc tiếp cận và sử dụng thông tin việc làm trên những trang web này cũng kém hiệu quả, do việc thiết kế trang web thiên về thiết kế giao diện chứ không quan tâm đến tính tiện dụng, không tính đến năng lực hành vi hay bối cảnh sử dụng của người dùng Người dùng chưa được lựa chọn các phương thức tiếp cận thông tin phù hợp Lượng thông tin việc làm cũng bị hạn chế bởi những lý do khách quan như dung lượng lưu trữ, truy cập của server
Với mong muốn tìm hiểu về điện toán đám mây để ứng dụng vào vấn đề tìm kiếm việc làm, em đã chọn và thực hiện đề tài :
Trang 14Xây dựng dịch vụ đám mây Giới thiệu việc làm theo định hướng Universal usability
2 Nhiệm vụ được giao trong đề tài
• Tìm hiểu về mô hình cloud computing
• Xây dựng dịch vụ Giới thiệu việc làm trên nền tảng Google App Engine
(GAE)
• Xây dựng trang web trên nền tảng của GAE
• Tích hợp ứng dụng giới thiệu việc làm trong website http://cungkhoinghiep.net
• Xây dựng ứng dụng trên điện thoại di động Android thông qua dịch vụ tìm kiếm việc làm, tìm kiếm các nhà tuyển dụng gần vị trí hiện tại của người dùng
3 Bố cục đồ án tốt nghiệp
Đồ án bao gồm có 4 phần chính Trong đó, phần 1 là phần mở đầu, giới thiệu tổng quan về đồ án và công nghệ sử dụng Phần 2 là đặt vấn đề và định hướng giải pháp, nêu các phương hướng phát triển cho đồ án Phần 3 là các kết quả đạt được trong đồ án bao gồm kết quả phân tích thiết kế dịch vụ, kết quả thực hiện cài đặt và thử nghiệm dịch vụ, đánh giá ưu nhược điểm và khả năng sử dụng của dịch vụ Cuối cùng là phần 4, phần kết luận
Trang 15PHẦN 1: ĐẶT VẤN ĐỀ VÀ ĐỊNH HƯỚNG GIẢI PHÁP
Phần thứ nhất nêu vấn đề và định hướng giải pháp của bài toán Giới Thiệu Việc Làm và những công việc cần thực hiện và các công cụ sử dụng để hoàn thành yêu cầu đồ án đặt ra
I Bài toán Giới Thiệu Việc Làm
Bài toán Giới Thiệu Việc Làm được phát triển trên nền đám mây theo định hướng universal usability (sử dụng phổ quát), cung cấp cho đối tượng người sử dụng có các hành vi khác nhau có nhu cầu tìm việc, bao gồm cả người bình thường và người mắc các loại khuyết tật khác nhau, trên nhiều thiết bị khác nhau Mặt khác cung cấp chức năng đăng ký thành nhà tuyển dụng, hỗ trợ xác định vị trí nhà tuyển dụng thông qua google maps, để cung cấp một cách trực quan nhất có thể các dịch vụ như dịch vụ tìm các nhà tuyển dụng theo vị trí hiện tại của người dùng thông qua GPS,
do đó đặt ra các yêu cầu sau:
Sử dụng giao diện web để thực hiện các chức năng
Tại trang http://cungkhoinghiep.net
A Người dùng:
1 Đăng nhập
2 Tìm việc
B Nhà tuyển dụng
1 Đăng ký nhà tuyển dụng
2 Sửa đổi thông tin nhà tuyển dụng
3 Quản lý đơn đăng tuyển
C Quản trị
1 Quản lý ngành nghề
2 Quản lý lĩnh vực
3 Quản lý nhà tuyển dụng
4 Quản lý xét duyệt đơn đăng tuyển
Tại trang web trên nền tảng google app engine
- Xây dựng trang web trên cloud có chức năng cung cấp dữ liệu về nhà tuyển dụng cho các ứng dụng của nhà phát triển về tìm kiếm việc làm theo nhiều đối tượng sử dụng Gồm các chức năng chính sau:
- Cung cấp giao diện tìm kiếm các nhà tuyển dụng thông qua vị trí qua google map api
- Cung cấp phương thức đăng ký thành nhà tuyển dụng, nhà phát triển
- Nhà tuyển dụng có quyển đăng tuyển ngay trên trang web host (http://longtdbk.appspot.com) Quản lý người dùng dịch vụ thông qua key được cấp
- Cung cấp các service để sử dụng bên phía client
Sử dụng giao diện điện thoại di động
Trang 16- Hỗ trợ định vị tự động vị trí người dùng với điện thoại di động sử dụng hệ
điều hành android, tìm kiếm các nhà tuyển dụng ở vị trí lân cận với vị trí người dùng
- Người dùng nhập thông tin về sở thích ngành nghề, mức lương (dữ liệu sẽ
được lưu trên máy điện thoại cá nhân) sau đó ứng dụng sẽ hiển thị tương ứng các việc làm phù hợp
Định hướng giải quyết
Do yêu cầu của bài toán đặt ra là xây dựng dịch vụ điện toán đám mây giới thiệu việc làm theo định hướng sử dụng phổ quát (định nghĩa cloud computing và universal usability sẽ được định nghĩa chi tiết trong phần Cơ sở lý thuyết và công cụ
sử dụng -phần IV), vì thế em có định hướng giải quyết như sau:
2.1 Định hướng cloud computing
Để đáp ứng với sự đa dạng của bài toán, em sử dụng dịch vụ điện toán đám mây do dịch vụ đám mây sẽ đáp ứng được yêu cầu sau:
- Giảm chi phí: giảm chi phí một cách đáng kể do không phải đầu tư cơ sở hạ tầng, được sử dụng sẵn các tài nguyên một cách nhanh chóng và ít tốn kém
- Đa phương tiện: Người dùng có thể truy hệ thống bằng cách sử dụng trình duyệt web mà không quan tâm đến vị trí của họ hay thiết bị nào đang dùng, như PC,mobile …
- Độ tin cậy : giảm được các rủi ro có thể xảy ra nhờ khả năng khôi phục thất bại
Theo mô hình này, em nhận thấy sử dụng mô hình phát triển phần mềm dưới dạng PaaS (nền tảng như một dịch vụ) là phù hợp do PaaS cung cấp phương thức triển khai ứng dụng mà không cần tốn chi phí lớn để mua và quản lý phần cứng phần mềm và được cung cấp hosting, đầy đủ các công cụ cho quá trình hoàn thành các ứng dụng web và services dựa hoàn toàn trên internet Trong các PaaS đang tồn tại,
em chọn dịch vụ PaaS miễn phí của Google là Google App Engine với các đặc điểm sau:
Thuận lợi:
- Dễ dàng phát triển trang web, với các API có sẵn như về cách quản lý, truyền gửi
dữ liệu, viết các web service
Khó khăn:
– Ràng buộc bởi nhà cung cấp: do giới hạn phụ thuộc và dịch vụ của nhà cung cấp Google chỉ cung cấp hai ngôn ngữ để phát triển là Python và Java
2.2 Định hướng universal usability
Để có thể đáp ứng với yêu cầu dễ dàng sử dụng dịch vụ của bài toán, qua phân tích tìm hiểu em đã tập trung giải quyết theo hướng universal usability:
- Đa dạng phần cứng bao gồm thiết bị máy tính và thiết bị điện thoại thông minh sử dụng hệ điều hành Android có định vị GPS, xây dựng ứng dụng tìm kiếm nhà tuyển dụng theo hệ thống định vị tự động GPS thông qua dữ liệu trên cloud do trang web
hệ thống cung cấp
Trang 17- Đáp ứng nhiều đối tượng người sử dụng thông qua trang http://cungkhoinghiep.net,
xây dựng dịch vụ để miêu tả chức năng của nhà phát triển trong hệ thống, đồng thời đầy đủ chức năng, giao diện theo chuẩn WCAG 2.0, đáp ứng theo chuẩn universal usability: theo nhiều đối tượng sử dụng trang web
- Đáp ứng nhiều trang web qua trang web dựa trên nền tảng PAAS Google app engine (nền tảng như một dịch vụ) http://longtdbk.appspot.com Xây dựng dịch vụ giới thiệu việc làm nhằm mục đích giới thiệu các việc làm phù hợp đến nhiều đối tượng người thông qua chức năng hiển thị việc làm theo các tiêu chí như lĩnh vực, ngành nghề, tỉnh/thành phố, theo đối tượng người sử dụng Cung cấp chức năng cho người dùng đăng ký thành nhà phát triển, nhà tuyển dụng Đồng thời cung cấp các web service cho các nhà phát triển ứng dụng Dịch vụ được cài đặt theo kiến trúc 3 lớp có sử dụng các dịch vụ chuyên dụng
Để thực hiện các định hướng đã đề ra, em cần phải thực hiện những công việc trong phần III
vụ cho nhiều đối tượng sử dụng, và cuối cùng là ứng dụng Android cung cấp
Trang 18phương thức tìm kiếm việc làm theo các tiêu chí phù hợp, tìm kiếm các nhà tuyển dụng gần vị trí của người sử dụng thông qua thiết bị định vị.
Sử dụng phổ quát (universal usability)
Để dịch vụ có khả năng sử dụng phổ quát, dịch vụ cho phép truy cập thông qua giao diện API Dịch vụ hoạt động như trang web độc lập cho phép truy cập vào ứng dụng đám mây trên địa chỉ http://longtdbdk.appspot.com, tích hợp phần mềm trên Android hỗ trợ định vị tự động vị trí hiện tại của người dùng và tích hợp dịch vụ trang web này vào trang http://cungkhoinghiep.net Trong đó, sử dụng các công nghệ ASP.Net, C#, Android, DotNetNuke, Google app engine (python)
Cơ sở lý thuyết và các công cụ sử dụng trong đồ án được mô tả trong mục IV
Cơ sở lý thuyết và các công cụ sử dụng
4.1 Cơ sở lý thuyết
4.1.1 Cloud Computing
Điện toán đám mây (cloud computing), còn gọi là điện toán máy chủ ảo, là mô hình
điện toán sử dụng các công nghệ máy tính và phát triển dựa vào mạng Internet Thuật ngữ "đám mây" ở đây là lối nói ẩn dụ để chỉ mạng Internet (dựa vào cách được bố trí của nó trong sơ đồ mạng máy tính) và như một liên tưởng về độ phức tạp của các cơ sở hạ tầng ẩn chứa bên trong Ở mô hình điện toán này, mọi khả năng liên quan đến công nghệ thông tin đều được cung cấp dưới dạng các "dịch vụ", cho phép người sử dụng truy cập các dịch vụ công nghệ từ một nhà cung cấp nào đó
"trong đám mây" mà không cần phải có các kiến thức, kinh nghiệm về công nghệ, cũng như không cần quan tâm đến các cơ sở hạ tầng phục vụ công nghệ đó
Định nghĩa:
“Điện toán đám mây (cloud computing) là một mô hình điện toán có khả năng co giãn (scalable) linh động và các tài nguyên thường được ảo hóa được cung cấp như một dịch vụ trên mạng Internet.” [1]
“Một mô hình điện toán nơi mà khả năng mở rộng và linh hoạt về công nghệ thông tin được cung cấp như một dịch vụ cho nhiều khách hàng đang sử dụng các công nghệ trên Internet” [ 2]
“Một mô hình điện toán phân tán có tính co giãn lớn mà hướng theo co giãn về mặt kinh tế, là nơi chứa các sức mạnh tính toán, kho lưu trữ, các nền tảng (platform) và các dịch vụ được trực quan, ảo hóa và co giãn linh động, sẽ được phân phối theo nhu cầu cho các khách hàng bên ngoài thông qua Internet.” [ 3]
Trang 19Hình 2 Mô hình điện toán đám mây (Cloud Computing)
Cloud computing chủ yếu được phát triển theo 3 mô hình:
a) Dịch vụ hạ tầng (Infrastructure as a Service - IaaS): Cung cấp cho người dùng hạ tầng thô (thường là dưới hình thức các máy ảo) như là một dịch vụ
b) Dịch vụ nền tảng (Platform as a Service - PaaS): Cung cấp API cho phát
triển ứng dụng trên một nền tảng trừu tượng
c) Dịch vụ phần mềm (Application as a Service hay còn gọi là Software as a Service– SaaS): Cung cấp dịch vụ phần mềm thực thi từ xa
4.1.2 Universal Usability
Universal Usability (sử dụng phổ quát) là khả năng sử dụng liên quan đến việc thiết
kế thông tin, phương thức giao tiếp và các dịch vụ khả dụng cho mỗi người dân Khái niệm này được phát biểu bởi giáo sư Ben Schneiderman, khoa Khoa Học Máy Tính trường đại học Maryland, College Park Khái niệm của universal usability (“có thể sử dụng được tất cả”) liên quan đến các khái niệm về khả năng tiếp cận phổ quát -universal accessibility (“có thể truy cập được tất cả”) và thiết kế chung -universal design (“thiết kế cho tất cả”) Ba khái niệm này bao quát hoàn toàn từ người sử dụng đến người phát triển, trong ba lĩnh vực nghiên cứu quan trọng của công nghệ thông tin và truyền thông (ICT), đó là: sử dụng, truy cập và thiết kế Universal Usability bao gồm ba thách thức chính sau:
1 Hỗ trợ phạm vi rộng bao gồm phần cứng, phần mềm, và truy cập mạng… Với sự phát triển của ICT, phần cứng, phần mềm và cấu hình mạng của người sử dụng đang thay đổi không ngừng Sự đa dạng các sản phẩm ICT tạo nên các hệ thống phức tạp với nhiều sự pha trộn
2 Điều tiết sự khác biệt cá nhân giữa những người sử dụng, như độ tuổi , giới tính, khả năng, mức độ khuyết tật, khả năng nhận dạng chữ viết, thu nhập … Sự khác biệt có thể chia làm ba loại: thể chất, nhận thức, văn hóa xã hội Trong lĩnh vực tương tác người máy HCI, nỗ lực nghiên cứu đã được trung vào sự khác biệt
về thể chất và nhận thức bằng cách cách ly các yếu tố khác nhau cụ thể như khả năng không gian, tốc độ di chuyển, phối hợp mắt-tay
Trang 203. Lấp khoảng trống kiến thức giữa những gì người dùng biết và những gì họ cần biết về một hệ thống cụ thể Hai vấn đề cần phải giải quyết: (i) Xây dựng một mô hình sử dụng để truy cập vào nền tảng hiểu biết cá nhân của người dùng trên một
hệ thống cụ thể.; (ii) Tích hợp cơ chế tiến hóa học [4]
4.2 Các công cụ sử dụng
4.2.1 Ứng dụng trên cloud - Google App Engine
Google App Engine (GAE) [5] là công cụ cho phép nhà phát triển có thể chạy các ứng dụng web trên nền tảng của Google App Engine rất dễ dàng cho việc xây dựng trang web, bảo trì, mở rộng khi lượng truy cập và dữ liệu tăng Với App Engine, nhà phát triển không cần phải quản lý server, chỉ cần upload ứng dụng, và quản lý người dùng của mình Google App Engine hỗ trợ sử dụng với ngôn ngữ Java, Python Khi bắt đầu, Google App Engine cung cấp 500 MB lưu trữ dữ liệu cho mỗi ứng dụng và bandwidth có thể quản lý xấp xỉ 5 triệu lượt truy cập/một tháng
App Engine có các đặc trưng sau:
•Quản lý trang web động, hỗ trợ đầy đủ cho một trang web thông thường
•Bảo tri lưu trữ với các lệnh truy vấn, săp xếp
•Tự động mở rộng và cân bằng tải
•Cung cấp APIs cho việc đăng ký và gửi email thông qua tài khoản Google
•Cung cấp chức năng chạy trước trên localhost, sau đó mới up lên host cloud
Hình 3 Google App Engine Launcher
Trong đó:
- Chọn File > Create New Application, sau đó điền tên application, thư mục lựa chọn để tạo app, port cho localhost Mặc định cho app ban đầu là 8080, sau đó tăng dần cho các app tiếp theo
- Chọn File > Add Existing Application để tạo app từ một app có sẵn
- Chọn biểu tượng Run để chạy ứng dụng
- Chọn SDK Console để quản lý dữ liệu
- Chọn Browse để hiển thị chương trình trên trình duyệt
Trang 21- Chọn Stop để dừng chạy ứng dụng.
- Chọn Deploy để triển khai ứng dụng trên host do google cung cấp
4.2.2 Ứng dụng trên di động với Android
Android là phần mềm mã nguồn mở cho các thiết bị di động có hệ điều hành, các phần mềm Android SDK cung cấp các công cụ và bộ API cần thiết cho các nhà phát triển với ngôn ngữ Java
Đặc trưng cơ bản:
• Application framework cho phép tái sử dụng và di chuyển các thành phần
• Dalvik virtual machine tối ưu hóa cho thiết bị di động
• Integrated browser dựa trên engine mã nguồn mở WebKit
• Optimized graphics cung cấp thư viện đồ họa 2D, 3D dựa trên OpenGL ES
1.0
• SQLite cho việc thao tác, lưu trữ dữ liệu có cấu trúc
• Media support cho audio, video, và các định dạng ảnh (MPEG4, H.264,
MP3, AAC, AMR, JPG, PNG, GIF)
• GSM Telephony (phụ thuộc phần cứng)
• Bluetooth, EDGE, 3G, and WiFi (phụ thuộc phần cứng)
• Camera, GPS, compass, and accelerometer (phụ thuộc phần cứng)
• Rich development environment bao gồm bộ mô phỏng, công cụ cho việc
gỡ lỗi, bộ nhớ và plugin cho Eclipse IDE
Kiến trúc Android:
Hình 4 Các thành phần chính của hệ điều hành Android.
Applications
Trang 22Android bao gồm tập lõi ứng dụng bao gồm email, SMS, calendar (lịch), maps, browsers, contacts (liên lạc)… Mọi ứng dụng đều được viết dưới nền tảng ngôn ngữ Java.
Application Framework
Dưới mỗi ứng dụng là các dịch vụ hệ thống, bao gồm:
• Tập hợp phong phú các Views để có thể xây dựng một ứng dụng, bao gồm
list, grid, text boxes, buttons và nhúng vào các trình duyệt
• Content Providers cho phép các ứng dụng có thể truy cập dữ liệu từ các ứng
dụng khác, ví dụ như Contacts, hoặc chia sẻ dữ liệu
• Resource Manager , cung cấp truy cập đến các tài nguyên thông qua các file
lay out bao gồm các giá trị các string, graphics, và các file ảnh, video…
• Notification Manager cho phép mọi ứng dụng hiển thị dưới dạng
alerts(cảnh báo) dưới thanh status (thanh trạng thái)
• Activity Manager quản lý vòng đời của các ứng dụng và cung cấp điều
hướng
Libraries
Android gồm có một tập các thư viện C/C++ được sử dụng cho rất nhiều thành phần hệ thống Android Dưới đây là các thành phần chính:
• System C library - thư viện C chuẩn, nhúng trong các thiết bị Linux
• Media Libraries - dựa trên PacketVideo's OpenCORE; thư viện hỗ trợ chơi
và ghi lại các file audio và video, và các file ảnh tĩnh, bao gồm MPEG4, H.264, MP3, AAC, AMR, JPG, và PNG
• Surface Manager - quản lý truy cập đến các tầng đồ họa 2D, 3D từ nhiều
ứng dụng đồng thời
• LibWebCore - hỗ trợ cho nhúng vào các trình duyệt web.
• SGL – engine cho đồ họa 2D.
• 3D libraries – thư viện 3D có openGL.
• FreeType - hiển thị bitmap và vector
• SQLite – Engine dữ liệu quan hệ nhẹ và hiệu quả cho mọi ứng dụng
Linux Kernel
Android phụ thuộc vào Linux phiên bản 2.6 cho phần lõi h ệ thống như bảo mật, quản lý bộ nhớ, quản lý tiến trình, mạng… Đồng thời kernel (nhân) cũng hoạt động như tầng abstract giữa phần cứng và phần mềm [6]
Trang 234.2.3 Xây dựng ứng dụng web với DotNetNuke
Định nghĩa:
DotNetNuke là một ứng dụng quản lí nội dung mã nguồn mở viết bằng VB.Net trên nền tảng asp.net Đây là một ứng dụng mở, tùy biến giao diện dựa trên các skin và tùy biến chức năng dựa trên module chức năng DotNetNuke có thể được sử dụng
để tạo các trang web một cách dễ dàng và nhanh chóng [7]
Tổng quan
- DotNetNuke là một hệ thống quản lý nội dung (CMS) mã nguồn mở viết bằng ngôn ngữ lập trình VB.NET trên nền tảng ASP.NET
- Là hệ thống mở, tùy biến dựa trên Skin và Module
- DotNetNuke sử dụng để tạo các trang web cộng đồng một cách dễ dàng và nhanh chóng
Đặc điểm:
- Quản lý nội dung trực quan
- Quản lý nhiều giao diện
- Phân quyền chặt chẽ
- Dung lượng nhỏ gọn, dễ vận hành
- Hỗ trợ cơ chế Plug and Play(PNP)
- Dễ dàng nâng cấp, cập nhật các chức năng mới
Kiến trúc:
Gồm 3 tầng:
– Presentation Layer (UI): lớp giao diện người dùng
– Bussiness Logic Layer(BLL): quyết định nguồn dữ liệu và giao diện người dùng
– Data Access Layer (DAL): truy xuất trực tiếp đến cơ sở dữ liệu
Hình 5 Kiến trúc Dotnetnuke
Kết luận: Trong phần thứ nhất của báo cáo đồ án, em đã nêu chi tiết các yêu cầu đối với bài toán Giới Thiệu Việc Làm, định hướng giải quyết và các cơ sở lý thuyết để đáp ứng yêu cầu bài toán đặt ra Trong đó, quan trọng nhất trong phần này là nêu ra
Trang 24được định hướng giải quyết của bài toán, đề ra hướng phát triển để có thể áp dụng được cơ sở lý thuyết cho việc xây dựng và cài đặt dịch vụ Phần tiếp theo trong đồ
án là phần miêu tả các kết quả đã đạt được trong quá trình thực hiện đồ án, được
mô tả dưới đây
Trang 25PHẦN 2: CÁC KẾT QUẢ ĐẠT ĐƯỢC
Phần hai nêu chi tiết các kết quả đã đạt được trong đồ án, bao gồm có phân tích và thiết kế dịch vụ Giới Thiệu Việc Làm, miêu tả quá trình, các công việc trong lúc cài đặt và môi trường triển khai của dịch vụ
Dịch vụ có nhiệm vụ chính là giới thiệu việc làm đến người tìm việc, và hỗ trợ các công ty đăng tuyển Trong đó, thành phần quan trọng nhất trong đơn đăng tuyển là ngành nghề công việc, qua đó giúp người dùng tìm kiếm ngành nghề phù hợp với nguyện vọng, năng lực Lĩnh vực là nhóm các ngành nghề có liên quan đến nhau, phục vụ cho nhà tuyển dụng khi đăng ký, một nhà tuyển dụng (công ty) sẽ có một lĩnh vực tham gia hoạt động chính , và cung cấp các việc làm với các ngành nghề tương ứng trong lĩnh vực này
Dịch vụ bao gồm có 3 thành phần chính:
• Trang web SAAS (software as a service: phần mềm như một dịch vụ) dựa trên nền tảng PAAS (platform as a service: nền tảng như một dịch vụ) của google app engine do google cung cấp Trang web này có chức năng thực hiện nhiệm vụ giới thiệu việc làm như một trang web thông thường, đồng thời có các webservice để phục vụ cho các ứng dụng khác truy cập vào dữ liệu của hệ thống
• Dịch vụ “Giới Thiệu Việc Làm” tích hợp trong trang web http://cungkhoinghiep.net , dịch vụ ứng dụng cụ thể các webservice của trang web SAAS trên để thực hiện tương tác với các dữ liệu trong hệ thống Dịch
vụ phù hợp với tổng thể dự án trong trang web http:// cungkhoinghiep.net
• Ứng dụng điện thoại di động Android, hiển thị nhà tuyển dụng ở gần vị trí người dùng theo định vị GPS
1.1 Các tác nhân tham gia dịch vụ
Hình 6 Các đối tượng tham gia hệ thống
Bao gồm Admin: Người quản lý trang web SAAS Nhà phát triển: quản lý các nhà tuyển dụng Nhà tuyển dụng: quản lý các đơn đăng tuyển và Người dùng đăng ký
Trang 26Trong đó các tác nhân quan hệ với nhau mật thiết Người dùng sau khi đăng ký ngoài nhu cầu tìm việc, có thể đăng ký thành các nhà tuyển dụng, nhà phát triển Nhà tuyển dụng ở đây chính là người đại diện cho các công ty có nhu cầu tìm kiếm nguồn nhân lực, có quyền đăng tuyển các đơn làm việc mới do công ty đưa lên Nhà phát triển là người có quyền sử dụng được các API thông qua web service của dịch
vụ để có thể xây dựng ứng dụng của mình với dữ liệu đồng nhất lưu trữ chung trên nền tảng cloud computing Dịch vụ Giới Thiệu Việc Làm theo hương sử dụng phổ quát phát triển theo hướng này, trong đó 3 thành phần của hệ thống quan hệ với nhau theo mối quan hệ của các tác nhân chính trong hệ thống Admin là người quản
lý tất cả các tác nhân này,quản lý chung về lĩnh vực, ngành nghề, các đơn đăng tuyển…
Dựa trên quá trình khảo sát thực tế, 10 chức năng cơ bản của dịch vụ được minh họa trong hình 7 cụ thể như sau:
Hình 7 Các chức năng chính của dịch vụ
1.2 Miêu tả các chức năng chính của dịch vụ
1.2.1 Chức năng cho người dùng đăng ký
Người dùng đăng ký có các chức năng được miêu tả chi tiết như sau đây:
Tìm kiếm thông tin việc làm:
Trang 27Cho phép khách,người dùng đăng ký tìm kiếm thông tin về việc làm thông qua các
từ khóa đầu vào bao gồm: tên lĩnh vực (job), loại ngành nghề (career), theo đối tượng khuyết tật (disability), nội dung(content) sắp xếp sẵn theo ngày đăng mới nhất
- Đầu vào: Khách,người dùng đăng ký đưa các tiêu chí chọn lựa công việc : lĩnh vực công việc, Ngành nghề, đối tượng khuyết tật, tỉnh thành Các tham
số này không bắt buộc
- Đầu ra: Các công việc thỏa mãn tiêu chí của khách, người dùng đăng ký
Xem danh sách việc làm
Cho phép khách,người dùng đăng ký xem danh sách các việc làm, với các nội dung
cơ bản bao gồm: tên việc làm (job), ngành nghề(career), tỉnh thành Danh sách này mặc định được sắp xếp theo thời gian đăng
- Đầu vào: Không
- Đẩu ra: Liệt kê các công việc theo ngày đăng mới nhất
Xem thông tin chi tiết việc làm
Cho phép khách,người dùng đăng ký xem thông tin chi tiết cụ thể một việc làm bao gồm các nội dung: tên việc làm (job), mô tả (description), ngành nghề (career), tên
cơ quan (company), địa chỉ (adress), điện thoại liên hệ (phone), yêu cầu công việc (require), các loại khuyết tật có thể tham gia công việc này
- Đầu vào: Khách,người dùng đăng ký chọn đơn đăng tuyển
- Đầu ra: Liệt kê các công việc theo ngày đăng mới nhất
Xem danh sách ngành nghề
Cho phép khách, người dùng đăng ký xem danh sách các loại ngành nghề
- Đầu vào: Không
- Đầu ra: Liệt kê các ngành nghề
Xem danh sách việc làm theo ngành nghề
Chức năng này cho phép khách, người dùng đăng ký xem một công việc với ngành nghề lựa chọn
- Đầu vào: Khách, người dùng đăng ký chọn ngành nghề quan tâm
- Đầu ra: Danh sách công việc tương ứng với ngành nghề
Xem danh sách lĩnh vực
Chức năng này cho phép khách, người dùng xem danh sách các lĩnh vực công việc
- Đầu vào: Không
- Đầu ra: Danh sách các lĩnh vực công việc
Xem danh sách việc làm ứng với lĩnh vực
Trang 28Chức năng này cho phép khách, người dùng đăng ký xem một công việc với lĩnh vực lựa chọn.
- Đầu vào: Khách, người dùng đăng ký chọn lĩnh vực quan tâm
- Đầu ra: Danh sách công việc tương ứng với lĩnh vực đã chọn
Xem danh sách việc làm theo tỉnh thành
Chức năng này cho phép khách, người dùng đăng ký xem một công việc với tỉnh thành lựa chọn
- Đầu vào: Khách, người dùng đăng ký chọn đơn tỉnh thành
- Đầu ra: Liệt kê các công việc theo tỉnh thành đã chọn
Đăng ký thành nhà tuyển dụng
Chức năng này cho phép người dùng đăng ký thành nhà tuyển dụng
- Đầu vào: Tài khoản người dùng đăng ký
- Đầu ra: Người dùng có quyền của nhà tuyển dụng
Đăng ký thành nhà phát triển
Chức năng này cho phép người dùng đăng ký thành nhà phát triển
- Đầu vào: Tài khoản người dùng đăng ký
- Đầu ra: Người dùng có quyền của nhà phát triển
1.2.2 Chức năng cho nhà tuyển dụng
Nhà tuyển dụng có đầy đủ chức năng của người dùng đăng ký và cộng thêm các chức năng sau:
Đăng tuyển
Chức năng này cho phép nhà tuyển dụng đăng tuyển việc làm
- Đầu vào Nhà tuyển dụng chọn các tham số cho đơn đăng tuyển bao gồm loại cấp bậc, đối tượng người dùng, ngành nghề …
- Đầu ra Đơn Đăng Tuyển được tạo mới
Sửa đơn đăng tuyển
Chức năng này cho phép nhà tuyển dụng sửa thông tin đơn đăng tuyển
- Đầu vào Nhà tuyển dụng chọn đơn đăng tuyển đã đăng
- Đầu ra Đơn Đăng Tuyển đã được sửa
Xóa đơn đăng tuyển
Chức năng này cho phép nhà tuyển dụng xóa thông tin đơn đăng tuyển
- Đầu vào Nhà tuyển dụng chọn một đơn đăng tuyển đã đăng
- Đầu ra Đơn Đăng Tuyển đã xóa
Trang 291.2.3 Chức năng cho nhà phát triển
Nhà phát triển có đầy đủ năng của người dùng đăng ký và cộng thêm các chức
năng sau:
Thêm ngành nghề
Chức năng này cho phép nhà phát triển chọn lựa các ngành nghề được cung cấp để hoạt động trên trang web của mình
- Đầu vào Danh sách lựa chọn ngành nghề phù hợp
- Đầu ra Ngành nghề mới đã được thêm
Xóa ngành nghề
Chức năng này cho phép nhà phát triển xóa ngành nghề đã chọn
- Đầu vào: Nhà phát triển chọn ngành nghề không muốn sử dụng
- Đầu ra: Ngành nghề không phù hợp đã chuyển sang trạng thaí không sử dụng
Thêm lĩnh vực
Chức năng này cho phép nhà phát triển chọn lựa các lĩnh vực được cung cấp để hoạt động trên trang web của mình
- Đầu vào Danh sách lựa chọn lĩnh vực phù hợp
- Đầu ra Lĩnh vực đã được thêm
Xóa lĩnh vực
Chức năng này cho phép Nhà phát triển xóa lĩnh vực đã chọn
- Đầu vào Nhà phát triển chọn lĩnh vực không muốn sử dụng
- Đầu ra Lĩnh vực không phù hợp đã đã chuyển sang trạng thaí không sử dụng
Xét duyệt đơn đăng tuyển
Cho phép Nhà phát triển xét duyệt đơn đăng tuyển mới
- Đầu vào Nhà phát triển chọn đơn đăng tuyển cần xét duyệt
- Đầu ra Đơn đăng tuyển đã được xét duyệt
Xóa cơ quan, tổ chức
Cho phép Nhà phát triển xóa nhà tuyển dụng
- Đầu vào Nhà phát triển chọn cơ quan, tổ chức không thích hợp cho trang web của minh
- Đầu ra Nhà tuyển dụng đã bị xóa
1.2.4 Chức năng cho admin
Admin (Người Quản trị) là tác nhân có vai trò quan trọng, gồm đẩy đủ các chức năng với dịch vụ như người dùng đăng ký và các chức năng:
Trang 30Thêm ngành nghề
Chức năng này cho phép quản trị thêm một ngành nghề mới với miêu tả sơ lược, miêu tả chi tiết
- Đầu vào Mô tả sơ lược, mô tả chi tiết ngành nghề
- Đầu ra Ngành nghề mới đã được thêm
Sửa thông tin ngành nghề
Chức năng này cho phép quản trị thêm một ngành nghề mới
- Đầu vào Admin chọn ngành nghề muốn sửa
- Đầu ra Ngành nghề được chọn đã sửa lại
Xóa ngành nghề
Chức năng này cho phép quản trị xóa ngành nghề
- Đầu vào Admin chọn ngành nghề không phù hợp
- Đầu raNgành nghề không phù hợp đã xóa
Thêm lĩnh vực
Chức năng này cho phép quản trị thêm lĩnh vực
- Đầu vào Miêu tả lĩnh vực công việc
- Đầu ra Lĩnh vực đã được thêm
Sửa lĩnh vực
Chức năng này cho phép quản trị sửa lĩnh vực
- Đầu vào Admin chọn lĩnh vực cần sửa
- Đầu ra Lĩnh vực đã được sửa lại
Xóa lĩnh vực
Chức năng này cho phép quản trị xóa lĩnh vực không phù hợp
- Đầu vào Admin chọn lĩnh vực cần xóa
- Đầu ra Lĩnh vực không phù hợp đã xóa
Thêm đối tượng
Chức năng này cho phép quản trị thêm một đối tượng mới với miêu tả đối tượng
- Đầu vào Mô tả sơ lược, mô tả chi tiết đối tượng
- Đầu ra Đối tượng mới đã được thêm
Sửa thông tin đối tượng
Chức năng này cho phép quản trị sửa đối tượng
- Đầu vào Quản trị chọn ngành nghề muốn sửa
- Đầu ra Đối tượng được chọn đã sửa lại
Trang 31Xóa đối tượng
Chức năng này cho phép quản trị xóa đối tượng
- Đầu vào Quản trị chọn đối tượng không phù hợp
- Đầu ra Đối tượng không phù hợp đã xóa
Xét duyệt đơn đăng tuyển
Cho phép quản trị xét duyệt đơn đăng tuyển mới
- Đầu vào: Admin chọn đơn đăng tuyển cần xét duyệt
- Đầu ra: Đơn đăng tuyển đã được xét duyệt
Xóa cơ quan, tổ chức
Cho phép quản trị xóa cơ quan tổ chức không hợp lệ
- Đầu vào: Admin chọn cơ quan, tổ chức không hợp lệ
- Đầu ra: Cơ quan, tổ chức đã bị xóa
1.3 Thiết kế cơ sở dữ liệu
Cơ sở dữ liệu bao gồm các bảng phục vụ cho việc lưu trữ giữ liệu cho toàn dịch vụ
và các bảng sử dụng của DNN để phục vụ cho cơ chế phân quyền của DNN trên trang cungkhoinghiep.net
1.3.1 Các bảng trong dịch vụ
Các bảng trong hệ thống tương ứng với các thực thể (Entities) trong google app engine, thuộc dạng cơ sở dữ liệu không có cấu trúc (NoSQL), trong khi đó dữ liệu ở Dotnetnuke, là bảng dữ liệu có cấu trúc Do đó nảy sinh vấn đề xây dựng được sự tương đồng giữa các bên với nhau, do đó các thực thể này được chuyển sang dạng bảng dạng bảng cấu trúc để đồng bộ với các thành phần trong dịch vụ web , giữa các ngôn ngữ lập trình khác nhau, được minh họa trong hình 8 là sơ đồ liên kết giữa
17 bảng trong dịch vụ
Trang 32Hình 8: Sơ đồ liên kết giữa các bảng