Chương 1: ĐẶT VẤN ĐỀ 1.1. Lý do chọn đề tài Nước ta trở thành một nước có nền kinh tế năng động, ổn định và phát triển nhanh. Tuy nhiên để thu hẹp khoảng cách giữa Việt Nam với nước phát triển còn rất nhiều chính sách chúng ta phải giải quyết như: Người chưa có việc làm, thiếu việc làm ngày càng tăng. Sự phân hoá giàu nghèo tăng nhanh tệ nạn xã hội và tội phạm có chiều hướng gia tăng, trong các chính sách nêu trên lao động và việc làm đang là một sức ép lớn, là một trong những chính sách có tính toàn cầu, là mối quan tâm lớn của nhân loại nói chung và của mỗi quốc gia nói riêng trong đó có Việt Nam chúng ta. Hiện nay Việt Nam đang trong thời kỳ đẩy mạnh công nghiệp hoá, hiện đại hoá đất nước do đó việc nghiên cứu chính sách giải quyết việc làm có ý nghĩa rất thiết thực, chính sách giải quyết việc làm và chống thất nghiệp là một trong những tiêu chí bảo đảm định hướng xã hội chủ nghĩa, là chính sách xã hội cơ bản góp phần đảm bảo an toàn, ổn định và phát triển xã hội. Để tìm được một việc làm sao cho phù hợp với trình độ và năng lực của mình là một điều không phải dễ mà phải bỏ nhiều thời gian và công sức. Nhiều sinh viên tốt nghiệp ra trường không biết phải tìm việc ở đâu và làm sao để biết doanh nghiệp nào cần tuyển, đồng thời các doanh nghiệp muốn tuyển người phù hợp với vị trí mà họ đưa ra thì họ có thể đăng tin tuyển dụng lên tivi, báo, phát tờ rơi… nhưng điều này cũng mất rất nhiều thời gian, chi phí và công sức mà vẫn chưa đảm bảo được mọi người sẽ tìm thấy thông tin này. Rất may, hiện nay cùng với sự phát triển kinh tế thì lĩnh vực Công nghệ Thông tin cũng đang phát triển không ngừng để có thể đáp ứng nhu cầu của con người. Và giờ đây, nó đã trở thành một phần không thể thiếu trong hầu hết các lĩnh vực của đời sống, kinh tế, giảm thiểu chi phí, vượt qua các trở ngại về không gian và thời gian… Áp dụng Công nghệ Thông tin để giúp các ứng viên và nhà tuyển dụng có một kênh giao tiếp dễ dàng em quyết định chọn đề tài: “Xây dựng Website hỗ trợ tuyển dụng và tìm việc” để thực hiện khóa luận của mình. Website nhằm hỗ trợ cho nhà tuyển dụng tìm được những ứng viên phù hợp và người tìm việc tìm được một công việc tốt hơn mà không cần phải bỏ nhiều công sức để nộp hồ sơ. 1.2. Hiện trạng nghiên cứu Qua quá trình tham khảo trên các trang web tìm việc và khảo sát tại Trung tâm Giới thiệu việc làm tỉnh Trà Vinh với chức năng Tư vấn và giới thiệu việc làm cho người lao động trong và ngoài nước. Các nhà tuyển dụng muốn tuyển người thì cần cung cấp các thông tin thông qua phiếu đăng ký nhà tuyển dụng và ứng viên muốn tìm việc thì cũng cần cung cấp các thông tin qua phiếu đăng ký người tìm việc tại trung tâm giới thiệu việc làm hoặc trên trang web. Từ quá trình nghiên cứu trên một số trang web tìm việc và khảo sát tại Trung tâm Giới thiệu việc làm tỉnh Trà Vinh nhận thấy các ưu điểm: Cũng đã giúp nhiều người tìm được việc làm phù hợp với trình độ và năng lực của mình cũng như giúp được các nhà tuyển dụng tìm được những ứng viên phù hợp với vị trí tuyển dụng. Tuy nhiên có một số trang web còn gặp một số hạn chế như: Khi nhà tuyển dụng hay người tìm việc tạo xong hồ sơ thì không có một danh sách công việc hay danh sách ứng viên tương ứng với ngành nghề, muốn tìm được thì phải thông qua chức năng tìm kiếm. Đồng thời, các trang web chưa có chức năng đưa ra câu hỏi phỏng vấn cho người tìm việc trả lời theo hình thức khảo sát, chức năng này giúp cho nhà tuyển dụng lựa chọn được những ứng viên phù hợp một cách nhanh chóng. Vì thế mà em quyết định chọn đề tài: “Xây dựng Website hỗ trợ tuyển dụng và tìm việc” để khắc phục những hạn chế đã nêu trên. 1.3. Hướng giải quyết Để giải quyết được vấn đề đặt ra, đề tài áp dụng quy trình xây dựng Công nghệ phần mềm như: Xác định yêu cầu, phân tích, thiết kế, cài đặt, kiểm thử Các giai đoạn Giai đoạn 1: + Xác định mục tiêu của đề tài. + Tìm hiểu hệ thống cơ sở lý thuyết có liên quan. Giai đoạn 2: + Phân tích thiết kế. + Áp dụng cơ sở lý thuyết vào việc xây dựng đề tài. Một số công cụ hỗ trợ trong quá trình thực hiện đề tài. Ngôn ngữ lập trình: PHP, JavaScript, HTML. Hệ quản trị CSDL: MySQL. Webserver: Apache. Phần mềm thiết kế, cài đặt: Macromedia Dreamweaver 8, MySQL Workbench 5.1 OSS, Adobe Photoshop 7.0, Mozilla Firefox… 1.4. Cấu trúc khóa luận Cấu trúc của đề tài gồm 5 chương: Chương 1: Đặt vấn đề, nêu lên lý do chọn đề tài, những tình hình, thực trạng của thực tiễn từ đó đưa ra hướng giải quyết. Chương 2: Cơ sở lý thuyết, cung cấp những kiến thức cơ bản cho việc làm đề tài. Chương 3: Phân tích – Thiết kế hệ thống, đi sâu vào chức năng của hệ thống, sau đó thiết kế dữ liệu đưa ra các mô hình dữ liệu, vật lý, xử lý và thiết kế giao diện. Chương 4: Cài đặt thử ngiệm, hướng dẫn việc cài đặt và kết quả thử nghiệm minh họa. Chương 5: Kết luận và hướng phát triển, nêu lên kết quả đạt được, hạn chế và hướng phát triển của đề tài.
Trang 1TRƯỜNG ĐẠI HỌC TRÀ VINH KHOA KỸ THUẬT VÀ CÔNG NGHỆ
KHÓA LUẬN TỐT NGHIỆP
XÂY DỰNG WEBSITE HỖ TRỢ TUYỂN DỤNG VÀ TÌM VIỆC
Giảng viên hướng dẫn: KS.PHẠM MINH ĐƯƠNG
Trà Vinh, tháng 9 năm 2012TRƯỜNG ĐẠI HỌC TRÀ VINH
Trang 2KHOA KỸ THUẬT VÀ CÔNG NGHỆ
KHÓA LUẬN TỐT NGHIỆP
XÂY DỰNG WEBSITE HỖ TRỢ TUYỂN DỤNG VÀ TÌM VIỆC
Giảng viên hướng dẫn: KS.PHẠM MINH ĐƯƠNG
Trang 3Ngày nay xã hội ngày càng phát triển kéo theo sự phát triển của khoa học kỹ thuật, trí tuệ loài người không ngừng nâng lên với tầm cao mới thì Công nghệ Thông tin cũng phát triển như vũ bão với hàng loạt những tiện lợi phục vụ đời sống con người ngày càng hiệu quả Hiện nay, lĩnh vực Công nghệ Thông tin bùng nổ trên toàn cầu thì các quốc gia thế giới đều cố gắng áp dụng tin học vào để hiện đại hóa quy trình sản xuất kinh doanh của mình nhằm đạt hiệu quả kinh tế cao Đứng trước sự phát triển đó, các công ty sản xuất phần mềm, thiết kế website, các nhà lập trình viên cùng những người say mê tin học đã tạo ra các trang web giúp mọi người lưu trữ, tìm kiếm và xử lý
dữ liệu nhanh chóng, dễ dàng hơn
Có được một công việc ổn định phù hợp với năng lực, trình độ là ước mơ của nhiều người, tuyển đúng người đúng việc cũng là sự mong mỏi của các nhà tuyển dụng Do đó, vấn đề việc làm là một khâu rất quan trọng trong đời sống con người cần được quan tâm
Là một sinh viên chuyên ngành Công nghệ Thông tin, có thời gian học tập và tìm hiểu về phân tích thiết kế hệ thống thông tin, cơ sở dữ liệu, những kiến thức về lập trình web… Vận dụng những kiến thức cơ bản đã học ở trường và tìm hiểu qua sách,
Internet, và qua thực tế nhằm giải quyết vấn đề nêu trên nên đề tài “Xây dựng website
hỗ trợ tuyển dụng và tìm việc” được xây dựng
Mục đích của đề tài là nhằm hỗ trợ cho nhà tuyển dụng tìm được những ứng viên phù hợp và người tìm việc tìm được một công việc tốt hơn mà không cần phải bỏ nhiều công sức để nộp hồ sơ
LỜI CẢM ƠN
Trang 4Trước tiên tôi xin chân thành cảm ơn Ban Giám hiệu nhà trường, Ban chủ nhiệm Khoa Kỹ thuật và Công nghệ Trường Đại học Trà Vinh đã tạo điều kiện cho tôi thực hiện khóa luận tốt nghiệp.
Tôi xin cảm ơn chân thành tới các Thầy, Cô Khoa Kỹ thuật và Công nghệ trường Đại học Trà Vinh đã nhiệt tình giảng dạy, tạo điều kiện thuận lợi cho tôi trong suốt quá trình học tập cũng như trong suốt thời gian thực hiện khóa luận tốt nghiệp này
Tôi xin gửi lời cảm ơn sâu sắc đến thầy Phạm Minh Đương đã tận tình hướng
dẫn, chỉ bảo, hỗ trợ, động viên, cung cấp cho tôi những kiến thức quý báu trong suốt thời gian thực hiện khóa luận tốt nghiệp
Xin gửi lời cảm ơn chân thành đến gia đình, ba mẹ và bạn bè đã là nguồn động viên to lớn giúp tôi vượt qua mọi khó khăn trong quá trình học tập cũng như trong thời gian thực hiện khóa luận này
Một điều mà tôi học được trong quá trình thực hiện khóa luận không phải là sự thành công của bài khóa luận mà là con đường khoa học đang chờ đón tôi phía trước
Tuy tôi đã có rất nhiều cố gắng nhưng không tránh khỏi những thiếu sót, rất mong sự đóng góp ý kiến của quý Thầy, Cô và cùng toàn thể các bạn sinh viên để bài khóa luận của tôi được hoàn thiện hơn
Sinh viên thực hiện
Nguyễn Thị Bích Tiền
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Trang 5
Trà Vinh, ngày ……tháng……năm 2012 Giảng viên hướng dẫn Phạm Minh Đương NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN
Trang 6
Trà Vinh, ngày ……tháng……năm 2012 Giảng viên phản biện Đoàn Phước Miền MỤC LỤC Chương 1: ĐẶT VẤN ĐỀ 1
1.1 Lý do chọn đề tài 1
1.2 Hiện trạng nghiên cứu 2
Trang 71.3 Hướng giải quyết 2
1.4 Cấu trúc khóa luận 3
Chương 2: CỞ SỞ LÝ THUYẾT 4
2.1 Phân tích và thiết kế hệ thống thông tin 4
2.2 Giới thiệu công nghệ phần mềm 5
2.3 Giới thiệu PHP 6
2.3.1 Lịch sử phát triển 6
2.3.2 PHP là gì? 6
Chương 3: PHÂN TÍCH – THIẾT KẾ HỆ THỐNG 9
3.1 Yêu cầu chức năng 9
3.1.1 Mô tả hệ thống 9
3.1.2 Yêu cầu lưu trữ 10
3.1.3 Yêu cầu tra cứu 10
3.1.4 Yêu cầu tính toán 11
3.1.5 Yêu cầu kết xuất 11
3.2 Yêu cầu phi chức năng 11
3.3 Thiết kế dữ liệu 11
3.3.1 Mô hình thực thể kết hợp (ERD) 11
3.3.2 Mô hình vật lý 24
3.3.3 Ràng buộc toàn vẹn 35
3.4 Thiết kế xử lý 49
3.4.1 Mô hình xử lý 49
49
51
3.4.2 Thủ tục kết nối với cơ sở dữ liệu 57
3.5 Thiết kế giao diện 57
3.5.1 Thiết kế hệ thống thực đơn 57
3.5.2 Thiết kế màn hình 60
Trang 8Chương 4: CÀI ĐẶT – THỬ NGHIỆM 74
4.1 Các bước chuẩn bị 74
4.2 Dữ liệu thử nghiệm 75
4.3 Một số kết quả thử nghiệm 78
91
Chương 5: KẾT LUẬN VÀ HHƯỚNG PHÁT TRIỂN 92
5.1 Kết luận 92
5.1.1 Kết quả đạt được 92
5.1.2 Hạn chế 94
5.2 Hướng phát triển 94
DANH MỤC CỤM TỪ VIẾT TẮT
HTML: HyperText Markup Language
Trang 9DANH MỤC BẢNG
Bảng 1: Danh sách các thực thể 13
Bảng 2: Danh sách các mối kết hợp 14
Bảng 3: Thực thể NHOM_THANH_VIEN 15
Bảng 4: Thực thể THANH_VIEN 15
Bảng 5: Thực thể NGUOI_DUNG_TT 15
Trang 10Bảng 6: Thực thể NGUOI_TIM_VIEC 16
Bảng 7: Thực thể NHA_TUYEN_DUNG 16
Bảng 8: Thực thể LINH_VUC_NGANH 16
Bảng 9: Thực thể TINH_THANH 17
Bảng 10: Thực thể HO_SO_NTV 17
Bảng 11: Thực thể HO_SO_NTD 18
Bảng 12: Thực thể BANG_CAP 19
Bảng 13: Thực thể KINH_NGHIEM_LV 19
Bảng 14: Thực thể CAU_HOI 19
Bảng 15: Thực thể TRAC_NGHIEM 20
Bảng 16: Thực thể CAU_TRA_LOI 20
Bảng 17: Thực thể LIEN_HE 20
Bảng 18: Thực thể LOAI_TIN_TUC 21
Bảng 19: Thực thể LOAI_TIN_TUC 21
Bảng 20: Bảng mô tả các mối kết hợp 23
Bảng 21: Bảng danh sách các table 25
Bảng 22: Bảng NHOM_THANH_VIEN 25
Bảng 23: Bảng THANH_VIEN 26
Bảng 24: Bảng NGUOI_DUNG_TT 26
Bảng 25: Bảng NGUOI_TIM_VIEC 27
Bảng 26: Bảng NHA_TUYEN_DUNG 27
Bảng 27: Bảng LINH_VUC_NGANH 28
Bảng 28: Bảng TINH_THANH 28
Bảng 29: Bảng HO_SO_NTV 29
Bảng 30: Bảng HO_SO_NTD 30
Bảng 31: Bảng HO_SO_NTD 31
Bảng 32: Bảng KINH_NGHIEM_LV 31
Trang 11Bảng 33: Bảng CAU_HOI 32
Bảng 34: Bảng TRAC_NGHIEM 32
Bảng 35: Bảng CAU_TRA_LOI 32
Bảng 36: Bảng LIEN_HE 33
Bảng 37: Bảng LOAI_TIN_TUC 33
Bảng 38: Bảng TIN_TUC 33
Bảng 39: Bảng CHI_TIET_LV_NTV 34
Bảng 40: Bảng CHI_TIET_TT_NTV 34
Bảng 41: Bảng CHI_TIET_LV_NTD 34
Bảng 42: Bảng CHI_TIET_TT_NTV .35
DANH MỤC SƠ ĐỒ
Trang 12DANH MỤC HÌNH
Hình 1: Thực đơn đăng nhập, đăng ký 57
Hình 2: Thực đơn ngang .58
Hình 3: Thực đơn việc làm xác thực 58
Hình 4: Thực đơn tìm kiếm dành cho người tìm việc 58
Hình 5: Thực đơn tìm kiếm dành cho nha tuyển dụng 59
Hình 6: Thực đơn thông tin ứng viên 60
Hình 7: Thực đơn thông tin nhà tuyển dụng 60
Trang 13Hình 8: Màn hình trang chủ 62
Hình 9: Màn hình trang đăng ký tài khoản người tìm việc 63
Hình 10: Màn hình trang đăng ký tài khoản nhà tuyển dụng 64
Hình 11: Màn hình trang tạo hồ sơ tìm việc 65
Hình 12: Màn hình trang cập nhật thông tin cá nhân người tìm việc 66
Hình 13: Màn hình trang tạo hồ sơ tuyển dụng 67
Hình 14: Màn hình trang tìm kiếm dành cho người tìm việc 68
Hình 15: Màn hình trang tìm kiếm dành cho nhà tuyển dụng 68
Hình 16: Màn hình trang thông tin hồ sơ nhà tuyển dụng 69
Hình 17: Màn hình thông tin hồ sơ của người tìm việc 70
Hình 18: Màn hình trang danh sách thành viên 71
Hình 19: Màn hình trang danh sách hồ sơ người tìm việc 72
Hình 20: Hình Start/Resume Service 75
Hình 21: Giao diện đăng ký tài khoản người tìm việc 78
Hình 22: Giao diện đăng nhập tài khoản người tìm việc 79
Hình 23: Giao diện tạo hồ sơ dành cho người tìm việc 80
Hình 24: Giao diện thêm bằng cấp hay chứng chỉ mới 81
Hình 25: Giao diện thêm kinh nghiệm làm việc 82
Hình 26: Giao diện hồ sơ tìm việc 83
Hình 27: Giao diện danh sách công việc tương ứng 84
Hình 28: Giao diện cập nhật lại thông tin cá nhân người tìm việc 85
Hình 29: Giao diện đổi mật khẩu của người tìm việc 85
Hình 30: Giao diện cập nhật hồ sơ tìm việc 86
Hình 31: Giao diện đăng ký tài khoản nhà tuyển dụng 87
Hình 32: Giao diện tạo hồ sơ tuyển dụng 88
Hình 33: Giao diện hồ sơ tuyển dụng 89
Hình 34: Giao diện thêm câu hỏi phỏng vấn 90
Trang 14Hình 35: Giao diện các đáp án trắc nghiệm câu hỏi phỏng vấn 90 Hình 36: Giao diện danh sách các câu hỏi phỏng vấn 91 Hình 37: Giao diện danh sách các ứng viên tương ứng 92
Trang 15Chương 1: ĐẶT VẤN ĐỀ 1.1 Lý do chọn đề tài
Nước ta trở thành một nước có nền kinh tế năng động, ổn định và phát triển nhanh Tuy nhiên để thu hẹp khoảng cách giữa Việt Nam với nước phát triển còn rất nhiều chính sách chúng ta phải giải quyết như: Người chưa có việc làm, thiếu việc làm ngày càng tăng Sự phân hoá giàu nghèo tăng nhanh tệ nạn xã hội và tội phạm có chiều hướng gia tăng, trong các chính sách nêu trên lao động và việc làm đang là một sức ép lớn, là một trong những chính sách có tính toàn cầu, là mối quan tâm lớn của nhân loại nói chung và của mỗi quốc gia nói riêng trong đó có Việt Nam chúng ta
Hiện nay Việt Nam đang trong thời kỳ đẩy mạnh công nghiệp hoá, hiện đại hoá đất nước do đó việc nghiên cứu chính sách giải quyết việc làm có ý nghĩa rất thiết thực, chính sách giải quyết việc làm và chống thất nghiệp là một trong những tiêu chí bảo đảm định hướng xã hội chủ nghĩa, là chính sách xã hội cơ bản góp phần đảm bảo an toàn, ổn định và phát triển xã hội
Để tìm được một việc làm sao cho phù hợp với trình độ và năng lực của mình là một điều không phải dễ mà phải bỏ nhiều thời gian và công sức Nhiều sinh viên tốt nghiệp ra trường không biết phải tìm việc ở đâu và làm sao để biết doanh nghiệp nào cần tuyển, đồng thời các doanh nghiệp muốn tuyển người phù hợp với vị trí mà họ đưa
ra thì họ có thể đăng tin tuyển dụng lên tivi, báo, phát tờ rơi… nhưng điều này cũng mất rất nhiều thời gian, chi phí và công sức mà vẫn chưa đảm bảo được mọi người sẽ tìm thấy thông tin này Rất may, hiện nay cùng với sự phát triển kinh tế thì lĩnh vực Công nghệ Thông tin cũng đang phát triển không ngừng để có thể đáp ứng nhu cầu của con người Và giờ đây, nó đã trở thành một phần không thể thiếu trong hầu hết các lĩnh vực của đời sống, kinh tế, giảm thiểu chi phí, vượt qua các trở ngại về không gian và thời gian…
Áp dụng Công nghệ Thông tin để giúp các ứng viên và nhà tuyển dụng có một
kênh giao tiếp dễ dàng em quyết định chọn đề tài: “Xây dựng Website hỗ trợ tuyển
Trang 16tuyển dụng tìm được những ứng viên phù hợp và người tìm việc tìm được một công việc tốt hơn mà không cần phải bỏ nhiều công sức để nộp hồ sơ.
1.2 Hiện trạng nghiên cứu
Qua quá trình tham khảo trên các trang web tìm việc và khảo sát tại Trung tâm Giới thiệu việc làm tỉnh Trà Vinh với chức năng Tư vấn và giới thiệu việc làm cho người lao động trong và ngoài nước Các nhà tuyển dụng muốn tuyển người thì cần cung cấp các thông tin thông qua phiếu đăng ký nhà tuyển dụng và ứng viên muốn tìm việc thì cũng cần cung cấp các thông tin qua phiếu đăng ký người tìm việc tại trung tâm giới thiệu việc làm hoặc trên trang web
Từ quá trình nghiên cứu trên một số trang web tìm việc và khảo sát tại Trung tâm Giới thiệu việc làm tỉnh Trà Vinh nhận thấy các ưu điểm: Cũng đã giúp nhiều người tìm được việc làm phù hợp với trình độ và năng lực của mình cũng như giúp được các nhà tuyển dụng tìm được những ứng viên phù hợp với vị trí tuyển dụng Tuy nhiên có một số trang web còn gặp một số hạn chế như: Khi nhà tuyển dụng hay người tìm việc tạo xong hồ sơ thì không có một danh sách công việc hay danh sách ứng viên tương ứng với ngành nghề, muốn tìm được thì phải thông qua chức năng tìm kiếm Đồng thời, các trang web chưa có chức năng đưa ra câu hỏi phỏng vấn cho người tìm việc trả lời theo hình thức khảo sát, chức năng này giúp cho nhà tuyển dụng lựa chọn được những ứng viên phù hợp một cách nhanh chóng
Vì thế mà em quyết định chọn đề tài: “Xây dựng Website hỗ trợ tuyển dụng và tìm việc” để khắc phục những hạn chế đã nêu trên.
1.3 Hướng giải quyết
Để giải quyết được vấn đề đặt ra, đề tài áp dụng quy trình xây dựng Công nghệ phần mềm như: Xác định yêu cầu, phân tích, thiết kế, cài đặt, kiểm thử
Các giai đoạn
- Giai đoạn 1:
+ Xác định mục tiêu của đề tài
+ Tìm hiểu hệ thống cơ sở lý thuyết có liên quan
Trang 17- Giai đoạn 2:
+ Phân tích thiết kế
+ Áp dụng cơ sở lý thuyết vào việc xây dựng đề tài
Một số công cụ hỗ trợ trong quá trình thực hiện đề tài
1.4 Cấu trúc khóa luận
Cấu trúc của đề tài gồm 5 chương:
- Chương 1: Đặt vấn đề, nêu lên lý do chọn đề tài, những tình hình, thực trạng của thực tiễn từ đó đưa ra hướng giải quyết
- Chương 2: Cơ sở lý thuyết, cung cấp những kiến thức cơ bản cho việc làm đề tài
- Chương 3: Phân tích – Thiết kế hệ thống, đi sâu vào chức năng của hệ thống, sau đó thiết kế dữ liệu đưa ra các mô hình dữ liệu, vật lý, xử lý và thiết kế giao diện
- Chương 4: Cài đặt - thử ngiệm, hướng dẫn việc cài đặt và kết quả thử nghiệm minh họa
- Chương 5: Kết luận và hướng phát triển, nêu lên kết quả đạt được, hạn chế và hướng phát triển của đề tài
Trang 18Chương 2: CỞ SỞ LÝ THUYẾT 2.1 Phân tích và thiết kế hệ thống thông tin
Phân tích và thiết kế hệ thống thông tin là một khâu quan trọng trong bất kỳ một dự
án tin học nào
Hệ thống thông tin của một tổ chức là tập hợp có hệ thống những thông tin về tổ chức đó Một tổ chức, như chúng ta đã biết, thường gồm nhiều lớp đối tượng đa dạng, nhiều mối quan hệ, nhiều quy trình xử lý, biến đổi phức tạp, cho nên để phản ánh bản chất của nó, nói cách khác là để có sự hiểu biết đầy đủ về nó phải nghiên cứu để có một sự biểu diễn thích hợp
Mô hình là một tập hợp các phần tử thường dùng làm tập đích cho một ánh xạ từ những tập khác (thường trong thế giới thực) vào nó, sao cho các phần tử và tác tử trong
mô hình phản ánh được các lớp đối tượng, các quan hệ, các xử lý trong các tổ chức trong thế giới thực Mô hình thường có dạng trực quan, cụ thể, dễ hình dung để miêu
tả, để biểu diễn, để nghiên cứu những vấn đề phức tạp, trừu tượng hay những đối tượng
mà khó có thể thực hiện trên chính nó
Các mô hình dữ liệu:
- Mô hình thực thể kết hợp (ERD: Entity Relationship Diagram) xây dựng dựa
trên các khái niệm: thực thể, mối kết hợp, thuộc tính và một số khái niệm liên quan
+ Thực thể là một phần tử trong mô hình tương ứng với một lớp đối tượng (các phần tử có cùng một số đặc tính nào đó) thuộc tổ chức trong quá trình mô hình hóa Thực thể được định danh bằng tên, thường là danh từ mang ý nghĩa của lớp đối tượng
+ Mối kết hợp là phần tử trong mô hình tương ứng với một mối quan hệ giữa các thực thể tham gia vào quan hệ đó thuộc tổ chức trong quá trình mô hình hóa Mối kết hợp được định danh bằng tên, thường là động từ hay tính từ mang ý nghĩa về mối quan hệ giữa các lớp đối tượng liên quan trong tổ chức
+ Thuộc tính (của một thực thể hoặc của một mối kết hợp) là một phần tử của một mô hình tương ứng với một đặc tính của một lớp đối tượng hoặc một mối quan
hệ giữa các đối tượng thuộc tổ chức trong việc mô hình hóa
Trang 19+ Bản số: Một thể hiện của một thực thể là một phần tử tương ứng với một đối tượng thuộc lớp đối tượng của tổ chức được mô hình hóa Một thể hiện của mối mối kết hợp là tập hợp các thể hiện của các thực thể tham gia vào mối kết hợp đó.
+ Khóa: Khóa của một thực thể là một thuộc tính hoặc một số thuộc tính của thực thể, sao cho mỗi giá trị của các thuộc tính này, tương ứng một và chỉ một thể hiện của một thực thể Khóa của một mối kết hợp nhận được bằng cách kết hợp của các thực thể tham gia vào mối kết hợp đó Tập hợp tất cả các giá trị của các thuộc tính khóa của một kết hợp xác định duy nhất một thể hiện của mối kết hợp đó
- Mô hình dữ liệu mức logic (Model Logic Data - MLD): Để hệ thống quản lý
tập tin và các hệ quản trị cơ sở dữ liệu hiểu được thì chúng ta phải qua một giai đoạn chuyển đổi mô hình quan niệm về dữ liệu thành mô hình logic cho dữ liệu
- Lưu đồ dòng dữ liệu (data flow diagram - DFD) là cách phân tích thành phần
xử lý của một hệ thống thông tin thuộc trường phái các nước Bắc Mỹ Lưu đồ biểu diễn sự kết nối giữa các hoạt động của hệ thống, thông qua việc trao đổi dữ liệu khi hệ thống hoạt động Trong lưu đồ dòng dữ liệu phải thể hiện những xử lý nào khởi đầu,
xử lý nào phụ thuộc vào những xử lý khác và mỗi xử lý cần những dữ liệu gì và tạo ra những dữ liệu nào Tùy từng mức độ mà lưu đồ dòng dữ liệu được phân rã chi tiết dần, quá trình chi tiết hóa dừng lại ở mức mà có thể chuyển cho người lập trình để triển khai Có thể nói lưu đồ dòng dữ liệu chỉ có hai mức: mức quan niệm và mức vật lý, không có ranh giới giữa 2 hai mức trên bởi mức logic Các cấp của lưu đồ dòng dữ liệu:
+ Cấp 0: Cấp thấp nhất, ban đầu có thể xem toàn bộ hệ thống chỉ bao gồm một ô xử lý
+ Cấp n: Phân rã mỗi ô xử lý cấp n-1 thành nhiều ô xử lý cấp n [05]
2.2 Giới thiệu công nghệ phần mềm
Công nghệ phần mềm là một lĩnh vực nghiên cứu của tin học nhằm đề xuất các nguyên lý, phương pháp, công cụ, cách tiếp cận phục vụ cho việc thiết kế, cài đặt các sản phẩm phần mềm đạt được đầy đủ các yêu cầu về chất lượng phần mềm
Trang 20Quy trình năm giai đoạn công nghệ phần mềm: Xác định yêu cầu, phân tích, thiết
kế, cài đặt, kiểm thử [02]
2.3 Giới thiệu PHP
2.3.1 Lịch sử phát triển
- PHP: Rasmus Lerdorf in 1994 (được phát triển để phát sinh các form đăng nhập
sử dụng giao thức HTTP của Unix)
- PHP 2 (1995): Chuyển sang ngôn ngữ Script xử lý trên server Hỗ trợ cơ sở dữ liệu, Upload File, khai báo biến, mảng, hàm đệ quy, câu điều kiện, biểu thức…
- PHP 3 (1998): Hỗ trợ ODBC, đa hệ điều hành, giao thức email (SNMP, IMAP),
bộ phân tích mã PHP (parser) của Zeev Suraski và Andi Gutmans
- PHP 4 (2000): Trở thành một thành phần độc lập cho các webserver Parse đổi tên thành Zend Engine Bổ sung các tính năng bảo mật cho PHP
- PHP 5 (2005): Bổ sung Zend Engine II hỗ trợ lập trình HĐT, XML, SOAP cho Web Services, SQLite
2.3.2 PHP là gì?
PHP (viết tắt hồi quy “PHP: Hypertext Preprocessor”) là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới
2.3.3 Ưu điểm
- PHP thực hiện với tốc độ rất nhanh và hiệu quả Máy Server bình thường có thể
đáp ứng được hàng triệu lượt truy cập trong một ngày
- PHP là một ngôn ngữ đa nền (Multi-Platform) Với cùng một đoạn mã như nhau, có thể chạy tốt trên 25 hệ điều hành bao gồm hầu hết họ Windows, Unix và Mac Với bất cứ hệ điều hành nào, các kết quả đều tương tự nhau cùng một đoạn Script
- PHP hỗ trợ kết nối tới rất nhiều cơ sở dữ liệu khác nhau: PostgreSQL, MySQL, Oracle, dbm, InterBase, Sybase… Ngoài ra còn hỗ trợ kết nối với nhiều ngôn ngữ khác
mà ODBC hỗ trợ
Trang 21- PHP cung cấp một hệ thống thư viện phong phú: Do php ngay từ đầu được thiết
kế nhằm mục đích xây dựng và phát triển các ứng dụng trên web nên PHP cung cấp rất nhiều hàm xây dựng sẵn như: Gửi, nhận email, làm việc với cookies…giúp thực hiện
dễ dàng
- PHP có thể được sử dụng trên nhiều hệ điều hành, chúng ta có thể viết chúng trên Unix, Lunix và các phiên bản của Windows Và có thể đem mã PHP này chạy trên các hệ điều hành khác mà không phải sửa đổi lại mã
- PHP là một ngôn ngữ rất dễ dùng, dễ học và đơn giản hơn nhiều so với các ngôn ngữ khác như Perl, Java PHP gần giống như C, nên những người đã có kinh nghiệm với phong cách lập trình của C sẽ hiểu được PHP một cách nhanh chóng
- PHP là ngôn ngữ mã nguồn mở (miễn phí) [04]
2.3.4 Macromedia Dreamweaver 8
Macromedia Dreamweaver 8 là trình biên soạn HTML (Hypertext Markup Language) chuyên nghiệp dùng để thiết kế, viết mã và phát triển website cùng các trang web và các ứng dụng Web
Các tính năng biên soạn trực quan trong Dreamweaver cho phép người dùng tạo nhanh các trang web mà không cần các dòng mã Người dùng có thể xem tất cả các thành phần trong website của người dùng và kéo chúng trực tiếp từ một panel dễ sử dụng vào một văn bản Người dùng có thể nâng cao sản phẩm của mình bằng cách tạo
và sửa các ảnh trong Macromedia Fireworks hoặc trong ứng dụng ảnh khác, rồi sau đó chèn trực tiếp vào Dreamweaver Dreamweaver cũng cung cấp những công cụ giúp đơn giản hóa việc chèn Flash vào trang web
Bên cạnh những tính năng kéo và thả giúp xây dựng trang web của người dùng, Dreamweaver còn cung cấp một môi trường viết mã đầy đủ chức năng bao gồm các công cụ viết mã (như tô màu mã, bổ sung thẻ tag, thanh công cụ mã và thu bớt mã) và nguyên liệu tham chiếu ngôn ngữ trong Cascading Style Sheets (CSS), JavaScript, ColdFusion Markup Language (CFML) và các ngôn ngữ khác Công nghệ Macromedia Roundtrip HTML nhập các văn bản HTML viết mã thủ công mà không định dạng lại mã; khi đó người dùng có thể định dạng lại mã với phong cách định dạng của riêng người dùng
Trang 22Dreamweaver cũng cho phép người dùng xây dựng các ứng dụng web động dựa theo dữ liệu sử dụng công nghệ máy chủ như CFML, ASP.NET, ASP, JSP, và PHP Nếu sở thích của người dùng là làm việc với dữ liệu XML, Dreamweaver cung cấp những công cụ cho phép người dùng dễ dàng tạo các trang XSLT, chèn file XML và hiển thị dữ liệu XML trên trang web của người dùng.
2.4 Hệ quản trị cơ sở dữ liệu MySQL
2.4.1 Giới thiệu
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng Vì MySQL là cơ
sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều
hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh.Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet 2.4.2 Ưu điểm của MySQL
MySQL không chỉ là cơ sở dữ liệu mã nguồn mở phổ biến nhất trên thế giới, nó còn trở thành cơ sở dữ liệu được chọn cho thế hệ mới của các ứng dụng xây dựng trên nền Linux, Apache, MySQL, PHP/Perl/Python MySQL chạy trên hơn 20 flatform bao gồm: Linux, Windows, OS/X, HP-UX, AIX, Netware
Đây là các ưu điểm khi sử dụng MySQL cho ứng dụng: Tính linh hoạt, tính thực thi cao, có thể sử dụng ngay, hỗ trợ giao dịch mạnh, là nơi lưu trữ web và data đáng tin cậy, chế độ bảo mật dữ liệu mạnh, sự phát triển ứng dụng hỗn hợp, dễ dàng quản lý,
mã nguồn mở tự do, tổng chi phí thấp nhất
2.4.3 Wamp Server 2.0i
Một trong những khó khăn ban đầu của người mới làm quen với thiết kế web động đó là cài đặt Web Server Đa phần cảm thấy rất khó khăn trong việc cài đặt Apache (Web Server) + MySQL (Database Server) + PHP và cấu hình sao cho chúng làm việc tốt với nhau Tuy nhiên có một giải pháp khá đơn giản và tiện lợi, đó là sử dụng gói cài đặt tích hợp WAMP gồm Windows + Apache + MySQL + PHP
Trang 23* Truy cập server bằng địa chỉ http://localhost hoặc http://localhost:80.
* Truy cập phpMyAdmin, nhấn biểu tượng, chọn phpMyAdmin.
* Điều khiển Apache: Nhấn biểu tượng, chọn Apache/Service rồi chọn các
chức năng tương ứng (Start/Stop/Restart)
* Điều khiển MySQL: Nhấn biểu tượng, chọn MySQL/Service rồi chọn các
chức năng tương ứng (Start/Stop/Restart)
* Cấu hình Apache Server: Nhấn biểu tượng, chọn Apache/httpd.conf.
* Cấu hình PHP: Nhấn biểu tượng, chọn PHP/php.ini [03]
Chương 3: PHÂN TÍCH – THIẾT KẾ HỆ THỐNG 3.1 Yêu cầu chức năng
và có quyền tham gia phỏng vấn với bất kỳ hồ sơ tuyển dụng nào
- Nhà tuyển dụng đăng ký tài khoản sau đó kích hoạt, đăng nhập tài khoản đó để tạo hồ sơ tuyển dụng và sau khi đã có hồ sơ thì có quyền xem lại, cập nhật thông tin cá nhân, hồ sơ tuyển dụng đồng thời xem được danh sách các ứng viên tương ứng với lĩnh vực ngành nghề của mình, sau khi xem có quyền in, lưu hồ sơ của ứng viên
- Quản trị viên (Admin): Đăng nhập, quản lý các tin tuyển dụng của tất cả nhà tuyển dụng, quản lý các tin tìm việc của các ứng viên, quản lý các tài khoản của ứng viên và nhà tuyển dụng
Trang 243.1.2 Yêu cầu lưu trữ
Từ vấn đề đặt ra, hệ thống thông tin website hỗ trợ tuyển dụng và tìm việc cần phải lưu trữ thông tin khi người dùng đăng ký tài khoản như:
- Chức năng đăng ký tài khoản người tìm việc cần lưu trữ các thông tin: Email (tên đăng nhập), mật khẩu, họ tên, ngày sinh, giới tính, tình trạng hôn nhân, địa chỉ, điện thoại, trình độ
Sau đó đăng nhập để tạo hồ sơ người tìm việc tại đây cần lưu trữ các thông tin: Tiêu đề hồ sơ, mô tả công việc, kỹ năng công việc, vị trí công việc, mức lương mong muốn, hình thức làm việc, trình độ tin học, ngoại ngữ, kỹ năng giao tiếp, lĩnh vực ngành nghề, địa điểm làm việc, bằng cấp/chứng chỉ, kinh nghiệm làm việc
- Chức năng đăng ký tài khoản nhà tuyển dụng cần lưu trữ các thông tin: Email (tên đăng nhập), mật khẩu, tên công ty, địa chỉ tuyển dụng, quy mô công ty, mô tả, tiêu chí hoạt động, điện thoại, fax, website, hình thức liên hệ
Sau đó đăng nhập để tạo hồ sơ nhà tuyển dụng tại đây cần lưu trữ các thông tin: tiêu đề hồ sơ nhà tuyển dụng, mô tả công việc, kỹ năng công việc, vị trí công việc, tính chất công việc, trình độ, số năm kinh nghiệm, yêu cầu giới tính, thời gian thử việc, các chế độ khác, yêu cầu hồ sơ, số lượng cần tuyển, mức lương, hình thức làm việc, kỹ năng giao tiếp, lĩnh vực ngành nghề, địa điểm làm việc, hạn nộp hồ sơ, câu hỏi phỏng vấn
3.1.3 Yêu cầu tra cứu
- Tìm kiếm dành cho ứng viên tìm công việc phù hợp ứng với một, hai… hoặc nhiều tiêu chí trong các tiêu chí sau: Lĩnh vực ngành nghề, tỉnh thành, trình độ, mức lương
- Tìm kiếm dành cho nhà tuyển dụng tìm ứng viên phù hợp ứng với một, hai… hoặc nhiều tiêu chí trong các tiêu chí: Lĩnh vực ngành nghề, tỉnh thành, trình độ, kinh nghiệm, ngoại ngữ, giới tính, mức lương
- Các hồ sơ tuyển dụng, hồ sơ tìm việc được liệt kê theo lĩnh vực ngành nghề, tỉnh thành
Trang 253.1.4 Yêu cầu tính toán
- Thống kê số lượng hồ sơ tuyển dụng theo lĩnh vực ngành nghề, tỉnh thành
- Thống kê số lượng hồ sơ tìm việc theo lĩnh vực ngành nghề, tỉnh thành
3.1.5 Yêu cầu kết xuất
- Người tìm việc: In hồ sơ nhà tuyển dụng vừa xem, lưu hồ sơ nhà tuyển dụng
bằng file word
- Nhà tuyển dụng: In hồ sơ người tìm việc vừa xem, lưu hồ sơ người tìm việc bằng file word
3.2 Yêu cầu phi chức năng
- Tốc độ: Tốc độ xử lý nhanh, tiết kiệm thời gian và chi phí, công cụ tìm kiếm phải
thực hiện chính xác
- Khối lượng lưu trữ: Hệ thống website phải gọn nhẹ, không tốn nhiều bộ nhớ cho
máy tính
- An toàn, bảo mật: Đảm bảo các tiêu chí cơ bản nhất: dữ liệu, các cơ chế phân
quyền cho người dùng
- Giao diện: thân thiện, dễ sử dụng, màu sắc hài hòa, bố cục trang web hợp lý 3.3 Thiết kế dữ liệu
3.3.1 Mô hình thực thể kết hợp (ERD)
3.3.1.1 Mô hình
Trang 26GVHD: Phạm Minh Đương 12 SVTH: Nguyễn Thị Bích Tiền
HO_SO_NTD
KINH_NGHIEM_LV
C ó
1,1
0,1
Thuộ c 1,n
1,1
Đ K 0,1
1,1
Tạ o 1,1
1,1
Có các
Đãc ó 1,n
1,1
Thiết lập 1,1
ĐK_T D 0,1
CAU_HOI
TRAC_NGHIEM
Có trong
Đưa ra
1,1 1,n
1,n
Chọn
Chọn ngành
Gửi
Gửi đến
Trang 27Sơ đồ 1: Mô hình thực thể kết hợp (ERD).
3.3.1.2 Danh sách các thực thể
Trang 283.3.1.3 Danh sách các mối kết hợp
KINH_NGHIEM_LV
LINH_VUC_NGANH
HO_SO_NTD
LINH_VUC_NGANH
Trang 29Bảng các thuộc tính:
tìm việc
Trang 305 DIA_CHI Varchar (255) Địa chỉ
chính
Mã nhà tuyển dụng
Bảng 8: Thực thể LINH_VUC_NGANH
Thực thể TINH_THANH
Diễn giải: Thực thể tỉnh thành dùng để lưu trữ thông tin của các tỉnh thành
Trang 31Bảng các thuộc tính:
Bảng 9: Thực thể TINH_THANH
Thực thể HO_SO_NTV
Diễn giải: Thực thể hồ sơ người tìm việc dùng để lưu trữ những thông tin hồ
sơ người tìm việc
N
muốn
Bảng 10: Thực thể HO_SO_NTV
Trang 32Bảng 11: Thực thể HO_SO_NTD
Trang 33Thực thể BANG_CAP
Diễn giải: Thực thể bằng cấp dùng để lưu trữ thông tin bằng cấp của người tìm việc
Bảng các thuộc tính:
Bảng 14: Thực thể CAU_HOI
Thực thể TRAC_NGHIEM
Diễn giải: Thực thể trắc nghiệm dùng để lưu trữ thông tin thể trắc nghiệm của câu hỏi phỏng vấn
Trang 34Bảng các thuộc tính:
Bảng 16: Thực thể CAU_TRA_LOI
Thực thể LIEN_HE
Diễn giải: Thực thể liên hệ dùng để lưu trữ thông tin liên hệ của người dùng.Bảng các thuộc tính:
Bảng 17: Thực thể LIEN_HE
Thực thể LOAI_TIN_TUC
Diễn giải: Thực thể loại tin tức dùng để lưu trữ thông tin loại tin tức
Bảng các thuộc tính:
Trang 352 TEN_LOAI_TT Varchar (255) Tên loại tin tức
Bảng 18: Thực thể LOAI_TIN_TUC
Thực thể TIN_TUC
Diễn giải: Thực thể tin tức dùng để lưu trữ thông tin tin tức
Bảng các thuộc tính:
Trang 36dụng hoặc không phải.
KINH_NGHIEM_LV
1,1
Mỗi hồ sơ người tìm việc có thể
có một hoặc nhiều kinh nghiệm làm việc Mỗi kinh nghiệm làm việc chỉ thuộc một hồ sơ người tìm việc
HO_SO_NTD
Thiết lập
1,n1,1
Mỗi nhà tuyển dụng có thể thiết lập được một hoặc nhiều hồ sơ nhà tuyển dụng Mỗi hồ sơ nhà tuyển dụng chỉ thuộc một nhà tuyển dụng
LINH_VUC_NGANH
Chọn ngành
1,31,n
Mỗi hồ sơ nhà tuyển dụng có thể tuyển một hoặc ba lĩnh vực ngành Mỗi lĩnh vực ngành có thể có một hoặc nhiều hồ sơ tuyển dụng
Trang 37TINH_THANH 1,n gửi ở một hoặc nhiều tỉnh thành
Mỗi tỉnh thành có thể có một hoặc nhiều hồ sơ nhà tuyển dụng
Trang 383.3.2 Mô hình vật lý
3.3.2.1 Lược đồ cơ sở dữ liệu
Sơ đồ 2: Mô hình vật lý
Trang 393.3.2.2 Danh sách các bảng
Bảng 22: Bảng NHOM_THANH_VIEN
- Thành viên (THANH_VIEN)
Trang 40Stt Thuộc tính Kiểu dữ liệu Loại giá trị Ràng
hay chưa)
ngoại
Mã nhómBảng 23: Bảng THANH_VIEN
- Người dùng trực tuyến (NGUOI_DUNG_TT)
Diễn giải
tăng
Khóa chính
Mã user online
rỗng
Thời gian online
Mã thành viênBảng 24: Bảng NGUOI_DUNG_TT
- Người tìm việc (NGUOI_TIM_VIEC)
thoại