MỞ ĐẦU 3
CHƯƠNG 1: MÔ TẢ VÀ KHẢO SÁT BÀI TOÁN 6
1.1. Thực trạng về công tác quản lý nhân sự 6
1.2. Mục tiêu và giải pháp 7
1.3. Khảo sát bài toán quản lý nguồn nhân lực khoa học kỹ thuật của các trường đại học, cao đẳng 8
1.3.1. Mô hình tổ chức 8
1.3.2. Khảo sát thực trạng ứng dụng tin học của các trường đại học , cao đẳng trong công tác quản lý nhân sự 9
1.3.3 Mô hình hệ thống thực hiện 10
1.4. Phạm vi bài toán 12
1.4.1. Phân hệ nghiệp vụ quản lý thông tin cán bộ 12
1.4.2. Phân hệ lập thống kê và báo cáo 12
1.4.3. Phân hệ cấp phát và quản lý quyền truy cập 12
1.4.4. Phân hệ lập biên bản và quản lý truy cập 13
1.4.5. Phân hệ khai báo bổ sung các nghiệp vụ quản lý 13
CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 14
2.1. Phân tích 14
2.1.1. Mô tả nghiệp vụ 14
2.2 Thiết kế hệ thống 20
2.2.2. Biểu đồ phân rã chức năng hệ thống. 20
2.2.3. Sơ đồ luồng dữ liệu 30
2.2.4. Đặc tả tiến trình 58
2.2.5. Xác định các thực thể và mô hình quan hệ 115
Chương 3: Xây dựng và cài đặt chương trình 146
3.1. Giới thiệu công nghệ áp dụng 146
3.1.1. Ngôn ngữ PHP 146
3.1.2. Hệ quản trị cơ sở dữ liệu MySQL 152
3.2. Một số giao diện chính của chương trình 157
Chương 4: Module bảo mật bằng hệ thống thẻ nhớ (smart card) và đầu đọc thẻ ACR30 169
4.1.Giới thiệu chung 169
4.1.1. Mở đầu 169
4.1.2. Giới thiệu chung về ACS (Advanced card system) và sản phẩm thẻ nhớ, đầu đọc thẻ nhớ 169
4.1.3. Bộ phát triển cho các ứng dụng thẻ nhớ (Development Kit for smart card applications) 170
4.1.4. Đặc điểm kỹ thuật và yêu cầu hệ thống 171
4.1.5. Cài đặt và gỡ bỏ driver cho đầu đọc thẻ ( Smart card reader) 172
4.2. Xây dựng chương trình đọc thông tin thẻ nhớ tích hợp với hệ thống website chương trình chính 176
4.2.3.Phạm vi bài toán 176
4.2.4. Phân tích 176
4.2.5. Thiết kế 177
4.2.6. Công cụ phát triển module Client 178
4.2.7. Giới thiệu qua về ngôn ngữ C/C++ và Visual C++ 178
4.2.8. Giao diện chính của chương trình chạy trên client 178
4.2.9. Các hạn chế và phương hướng phát triển chương trình 179
KẾT LUẬN 180
TÀI LIỆU THAM KHẢO 181
MỞ ĐẦU
Trong công cuộc đổi mới đất nước hiện nay thì việc đào tạo, sử dụng, đãi ngộ con người, đặc biệt đối với những người làm công tác nghiên cứu khoa học kỹ thuật là một trong những công tác quan trọng quết định sự thành bại của sự nghiệp cách mạng nói chung cũng như trong công tác của một tập thể nói riêng. Do vậy, công tác quản lý con người lâu nay luôn là công tác số một không thể tránh của tất cả các tổ chức. Mặt khác, trong thời đại kinh tế tri thức ngày nay phát triển công nghệ thông tin đã trở thành một ngành kinh tế quan trọng, đặc biệt là công nghệ phần mềm. Sự ra đời của các sản phẩm phần mềm đặc biệt là các phần mềm quản lý nhân sự trong vài năm gần đây mang lại nhiều thuận lợi trong công tác quản lý nhân sự. Tuy nhiên bên cạnh những tiện lợi mà các chương trình này mang lại, vẫn còn có nhiều khó khăn, nhược điểm cần được khắc phục. Nhược điểm của các chương trình có nhiều lý do như: nền công nghiệp phần mềm còn rất non trẻ, bản thân các nhà lập trình còn hạn chế về trình độ cũng như kinh nghiệm làm phần mềm, công tác quản lý hồ sơ cán bộ hiện nay chưa được quan tâm đúng mức so với các công tác chuyên môn khác, trình độ của đội ngũ cán bộ quản lý sử dụng thành thạo tin học còn rất ít, bản thân công tác quản lý còn rườm rà, thiếu khoa học, chịu ảnh hưởng nhiều của cơ chế tập trung quan liêu bao cấp, cơ chế quản lý của nền sản xuất nhỏ lạc hậu.
Công tác quản lý nhân sự đối với các trường đại học, cao đẳng, các viện nghiên cứu, với đối tượng nhân sự là các cán bộ nghiên cứu khoa học kỹ thuật cũng không thoát khỏi bức tranh toàn cảnh của tình trạng chung như đã nêu trên. Đối tượng quản lý của các trường đại học là hàng ngàn cán bộ đối với những trường đại học lớn với những đặc điểm rất khác biệt thì việc quản lý đội ngũ cán bộ công chức sao cho khoa học, lại càng cấp thiết do những yêu cầu ngày càng cao của sự nghiệp giáo dục. Thông tin về nhân sự biến đổi hàng ngày, ngoài những thông tin thay đổi có tính chất định kỳ như nâng lương, nâng ngạch, còn có những thông tin biến đổi riêng lẻ như việc đề bạt, phong hàm, khen thưởng, kỷ luật, đào tạo bồi dưỡng trong nước và ngoài nước .v.v. Tính ra trung bình khối lượng thông tin cần phải nhập mỗi năm khác biệt từ 40% đến 50% so với thông tin lưu trong hồ sơ cán bộ hiện hành. Công tác quản lý cùng do nhiều người làm, mỗi người phụ trách một mảng, ở nhiều nguồn khác nhau. Các thông tin tổng hợp lấy được từ các nguồn khác nhau thường là có độ vênh, một phần vì thiếu hệ cơ sở dữ liệu thống nhất. Điều này làm cho các số liệu báo cáo bị giảm độ chính xác, ảnh hưởng trực tiếp đến việc tính toán kế hoạch cho các chính sách mô của toàn ngành.
Những lý do trên cho thấy việc xây dựng một hệ thống thông tin quản lý công chức trên máy tính, đáp ứng nhanh và hiệu quả các yêu cầu tập hợp, tra cứu tìm kiếm, thống kê thông tin và tư vấn các vấn đề liên quan đến nhân sự trong ngành là rất cần thiết.
Cũng vì vậy chúng em đã mạnh dạn chọn khóa luận là Hệ thống quản lý nguồn nhân lực khoa học kỹ thuật
Để thực hiện được mục tiêu trên, giải pháp mà Hệ thống quản lý nguồn nhân lực khoa học đưa ra dựa trên ý tưởng: mỗi nhân viên phải có trách nhiệm, nghĩa vụ tự thực hiện việc cập nhật những thay đổi, biến động trong quá trình sinh hoạt xã hội và hoạt động công tác của mình. Và những thông tin đó phải được xác nhận bởi một người có trách nhiệm liên đới. Khi có một nhân viên có những thay đổi nào đó trong quá trình công tác hoặc trong sinh hoạt xã hội, nhân viên đó phải có trách nhiệm cập nhật những thay đổi đó vào hồ sơ của mình. Lúc đó, hệ thống sẽ phát sinh một luồng công việc chuyển tới (những) người có trách nhiệm liên đới để xác nhận những thông tin đã được cập nhật. (Những) người có trách nhiệm xác nhận thông tin sau khi đã thực hiện những hoạt động xác minh tính chính xác về những thông tin đã được cập nhật (ví dụ: điều tra thực tế, thu thập công văn, giấy tờ chứng nhận, ), sẽ xác nhận vào những thông tin mà nhân viên đã cập nhật. Sự xác nhận ở đây là việc người xác nhận đính kèm những thông tin xác nhận (có thể gồm các tài liệu bổ sung như là công văn, giấy tờ, hình ảnh, ) và chữ ký điện tử của người đó vào những thông tin đã được cập nhật của nhân viên. Trong hệ thống quản lý nhân sự này đưa vào sử dụng loại thẻ nhớ ACOS1 một loại smart card khá thông dụng và đầu đọc thẻ ACR30U do ACS phát triển nhằm tăng thêm một lớp bảo mật. Mỗi người dùng có một thẻ dùng để đăng nhập hệ thống. Module này được phát triển độc lập làm tăng tính bảo mật cho hệ thống.
Nội dung khóa luận được trình bày theo các chương:
ã Chương 1: Mô tả và khảo sát bài toán
ã Chương 2: Phân tích và thiết kế hệ thống
ã Chương 3: Xây dựng và cài đặt chương trình
ã Chương 4: Bảo mật theo hệ thống thẻ nhớ ACR30U
Theo hướng tiếp cận đề tài là sử dụng phương pháp phân tích và thiết kế theo công nghệ hướng cấu trúc.
Ngôn ngữ lập trình được sử dụng là PHP và MySQL. Là một ứng dụng dựa trên nền Web nên hệ thống đảm bảo được tính hiện đại.
Chương trình này được phát triển nhằm đáp ứng các yêu cầu cập nhật, tra cứu tìm kiếm, báo cáo thống kê phục vụ các hoạt động nghiệp vụ hàng ngày trong công tác quản lý cán bộ tại các trường đại học, cao đẳng hay các viện nghiên cứu. Khóa luận tốt nghiệp này, đã cố gắng bám sát vào thực trạng quản lý hồ sơ công chức tại các trường đại học, cao đẳng tại Hà Nội, theo dõi và cập nhật kịp thời các điều chỉnh trong công tác tổ chức nhà nước và ngành để đáp ứng yêu cầu quản lý nghiệp vụ.
182 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2468 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Hệ thống quản lý nguồn nhân lực khoa học kỹ thuật, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
c tịch của CBCNV
Dân tộc: CBCNV thuộc dân tộc gì
Tôn giáo: CBCNV thuộc tôn giáo gì
Thành phần bản thân: Thành phần xuất than của CBCNV
Thành phần gia đình: Thành phần gia đình của CBCNV
Trình độ ngoại ngữ: Trình độ ngoại ngữ
Trình độ tin học: Trình độ tin học
Trình độ văn hoá: Trình độ văn hoá
Tình trạng sức khoẻ: Tình trạng sức khoẻ
Số điện thoại: Số điện thoại lien lạc
Địa chỉ email: Địa chỉ email
Ngày vào công ty:Ngày bắt đầu vào làm trong công ty.
Hình thức tuyển vào công ty: Hình thức tuyển vào trong công ty
Trình độ chuyên môn: Trình độ chuyên môn đoà tạo
Chuyên ngành đào tạo: Chuyên ngành đào tạo
Chức vụ: CBCNV giữ chức vụ gì
File ảnh: Ảnh của cán bộ công nhân viên
Số CMND: Số chứng minh nhân dân
Ngày cấp CMND:
Nơi cấp CMND:
Ngày vào đoàn:
Nơi kết nạp đoàn:
Ngày vào đảng:
Nơi kết nạp đảng:
Ngày chính thức vào đảng:
Số hồ sơ đảng:
Ngày tham gia cách mạng:
Ngày nhập ngũ:
Ngày xuất ngũ:
Thâm niên công tác:
Người quản lý
Mã số người quản lý
Người quản trị
Tên người quản trị
Mã số người quản trị
Sức khỏe
chiều cao
cân nặng
nhóm máu
loại bệnh
tình trạng sức khỏe
ngày tháng khám sức khỏe
Bằng cấp
Tên bằng
Năm tốt nghiệp:
Mã ngành:Chuyên ngành tốt nghiệp
Tên nước: Tốt nghiệp tại nước nào
Tên trường: Tên trường tốt nghiệp
Bằng cấp: Loại bằng cấp nhận được
Hình thức đào tạo: Hình thức đào tạo của trường tốt nghiệp
Loại bằng: Bằng tốt nghiệp đạt loại gì
Khóa đào tạo
Tên khoá: Tên của khoá học mà cơ quan tổ chức,
Ngày bắt đầu: Ngày bắt đầu khoá học
Ngày kết thúc: Ngày kết thúc khoá học
Chứng chỉ: Chứng chỉ được nhận sau khoá học
Số tiền: Số tiền phải trả cho khoá học đó.
Ghi chú:
Đề tài nghiên cứu
Mã số đề tài
Tên đề tài nguyên cứu
Thời gian thực hiện đề tài
Kết quả, giải thưởng đạt được đạt được
Ghi chú
Tác phẩm
Mã số tác phẩm
Tên tác phẩm
Ảnh tác phẩm
Tên đồng tác giả
Thể loại
Năm xuất bản
Nhà xuất bản
Các giải thưởng đạt được
Ghi chú
Khen thưởng kỷ luật
Số QĐ: Số quyết định khen thưởng/Kỷ luật
Ngày tháng: Ngày tháng được khen thưởng/ Kỷ luật
Khen thưởng/KL: Chọn loại Khen thưởng/ Kỷ luật
Lý do: Lý do được khen thưởng/ Kỷ luật
Ghi chú:
Quá trình công tác
Từ ngày - Đến ngày: Thời gian công tác
Tên công ty: Tên công ty đã làm
Chức vụ: Giữ chức vụ gì trong thời gian công tác
Ghi chú:
Lương
Hệ số lương:
Mức lương:
Thời gian bắt đầu hưởng lương
Thời gian kết thúc hưởn lương
Phụ cấp:
Phòng ban
Mã số phòng ban:
Tên phòng ban:
Mã số phòng ban cấp trên: Mã số của phòng ban mà phòng ban này trực thuộc
Mẫu báo cáo
Tên mẫu báo cáo
ID
Nội dung
Template ID
Hồ sơ báo cáo
ID
Tên báo cáo
Nội dung báo cáo
Tài khoản
Tên tài khoản
Mật mã
Mã số người sử dụng tài khoản
Tên người sử dụng tài khoản
Mã thẻ từ
Thông tin thẻ từ
Nhóm người dùng
Mã số nhóm
Tên nhóm:
2.2.5.2. Mô hình khái niệm dữ liệu - ER
Từ các thực thể ở trên ta có mô hình khái niệm dữ liệu ER.
Mô hình ER của hệ thống
2.2.5.3 Xây dựng mô hình dữ liệu quan niệm
Chuyển các thực thể từ mô hình ER thành các quan hệ và chuẩn hóa các quan hệ theo chuẩn BCNF .
1 Các quan hệ sau khi chuẩn hóa.
NHÂN VIÊN (Mã NHÂN VIÊN, tên nhân viên, mã người quản lý, ngày sinh, giới tính, bí danh, quê quán, hộ khẩu, mã địa chỉ, mã quốc tịch, mã dân tộc, mã tôn giáo, mã trinh do văn hoá, mã thành phần bản thân, mã thành phần gia đình, số điện thoại, email, sốCMND, ngày cấpCMND, nơi cấp CMND, ngày vào đoàn, nơi kết nạp đoàn, ngày vào đảng, nơi kết nạp đảng, ngày nhập ngũ, ngày xuất ngũ, mã phòng ban, mã chức vụ, thời gian cập nhật, mã loại hồ sơ)
ĐỊA CHỈ (Mã địa chỉ, mã tỉnh thành, mã quận huyện, địa chỉ)
QUAN HỆ GIA ĐÌNH (Mã quan hệ gia đình, mã nhân viên, họ tên, ngày sinh, giới tính, mã quan hệ, nghề nghiệp, nơi công tác, ghi chú, thời gian cập nhật, mã loại hồ sơ)
QUÁ TRÌNH CÔNG TÁC (Mã quá trình công tác, mã nhân viên, ngày bắt đầu, ngày kết thúc, tên cơ quan, mã chức vụ, ghi chú, thời gian cập nhật, mã loại hồ sơ)
KHÓA ĐÀOTẠO (Mã khóa đào tạo, mã nhân viên, tênkhóa, ngày bắt đầu, ngày kết thúc, chứng chỉ, số tiền phải trả, ghichú, thời gian cập nhật, mã loại hồ sơ)
BẰNGCẤP (Mã bằng cấp, mã nhân viên, mã nước, tên trường, mã loại bằng, bằng đạt loại, chuyên ngành, mã hình thức đào tạo, kết quả, ghi chú, thời gian cập nhật, mã loại hồ sơ)
CÔNG TRÌNH NGHIÊN CỨU (Mã công trình nghiên cứu, mã nhân viên, tên đề tài, cấp đề tài, thời gian thực hiện, kết quả, ghi chú, thời gian cập nhật, mã loại hồ sơ)
TÁCPHẨM (Mã tác phẩm, mã nhân viên, tên tác phẩm, nội dung, thể loại, năm xuất bản, nhà xuất bản, giải thưởng đạt được, ghi chú, thời gian cập nhật, mã loại hồ sơ)
KHEN THƯỞNG (Mã khen thưởng, mã nhân viên, số quyết định, ngày tháng, nội dung, ghi chú, thông tin xác nhận, thông tin đính kèm, thời gian xác nhận, thời gian cập nhật, mã loại hồ sơ)
KỶ LUẬT (Mã kỷ luật, mã nhân viên, số quyết định, ngày tháng, nội dung, ghi chú, thời gian cập nhật, mã loại hồ sơ)
BẢO HIỂM (Mã bảo hiểm, mã nhân viên, mức lương đóng bảo hiểm, thời gian bắt đầu, thời gian kết thúc, ghi chú, thời gian cập nhật, mã loại hồ sơ)
LƯƠNG (Mã lương, mã nhân viên, mức lương, hệ số lương, ngày bắt đầu, ngày kết thúc, ghi chú, thời gian cập nhật, mã loại hồ sơ)
HỒ SƠ SỨC KHỎE (Mã sức khỏe, mã nhân viên, chiều cao, cân nặng, nhóm máu, loại bệnh, mã tình trạng sức khỏe, ngày tháng khám sức khỏe, ghi chú, thời gian cập nhật, mã loại hồ sơ)
HỒ SƠ NGOẠI NGỮ (Mã hồ sơ ngoại ngữ, mã nhân viên, mã ngoại ngữ, mã trình độ ngoại ngữ, mã loại hồ sơ)
HỒ SƠ TIN HỌC (Mã hồ sơ tin học, mã nhân viên, mã tin học, mã trình độ, mã loại hồ sơ)
XÁC NHẬN (Mã xác nhân, mã hồ sơ, mã loại hồ sơ, thông tin xác nhận, thời gian xác nhận)
ĐÍNH KÈM (Mã đính kèm, mã xác nhận, thông tin đính kèm)
PHÒNG BAN (MãPB, mã phòng ban cấp trên, tên phòng ban, công việc)
HỒ SƠ BÁO CÁO (MãBC, tên báo cáo, nội dung báo cáo)
MẪU BÁO CÁO (MãBC, tên mẫu báo cáo, templateID)
QUỐC TỊCH (Mã quốc tịch, tên quốc tịch)
TỈNH THÀNH (Mã tỉnh thành, tên tỉnh thành)
QUẬN HUYỆN (Mã quận huyện, tên quận huyện, mã tỉnh thành)
DÂN TỘC (Mã dân tộc, tên dân tộc)
TÔN GIÁO (Mã tôn giáo, tên tôn giáo)
TRÌNH ĐỘ VĂN HÓA (Mã trình độ văn hóa, tên trình độ văn hóa)
TÌNH TRẠNG SỨC KHỎE (Mã tình trạng sức khỏe, tên tình trạng sức khỏe)
NHÓM MÁU (Mã nhóm máu, tên nhóm máu)
THÀNH PHẦN BẢN THÂN (Mã thành phần bản thân, tên thành phần bản thân)
THÀNH PHẦN GIA ĐÌNH (Mã thành phần gia đình, tên thành phần gia đình)
LOẠI QUAN HỆ (Mã mối quan hệ, tên mối quan hệ)
MỨC ĐỘ (Mã mức độ, tên mức độ)
TRÌNH ĐỘ BẰNG CẤP (Mã loại bằng, tên loại bằng)
TRÌNH ĐỘ NGOẠI NGỮ (Mã trình độ ngoại ngữ, tên trình độ ngoại ngữ)
TRÌNH ĐỘ TIN HỌC (Mã trình độ tin học, tên trình độ tin học)
HÌNH THỨC ĐÀO TẠO (Mã hình thức đào tạo, tên hình thức đào tạo)
NGOẠI NGỮ (Mã ngoại ngữ, tên ngoại ngữ)
TIN HỌC (Mã tin học, tên tin học)
CHỨC VỤ (Mã chức vụ, tên chức vụ)
MODUL (Mã modul, tên modul)
NGƯỜI QUẢN TRỊ (Mã nguời quản trị, mã nhóm, tên người quản trị, tên tài khoản, mật mã, mã thẻ từ, thông tin thẻ từ)
TÀI KHOẢN (Mã nhân viên, tên tài khoản, mật mã, mã nhóm, mã thẻ từ, thông tin thẻ từ)
NHÓM NGƯỜI DÙNG (Mã nhóm, tên nhóm)
QUYỀN HẠN (Mã quyền hạn, mã nhóm, mã modul, tên quyền hạn, mô tả quyền hạn)
2. Mô hình dữ liệu quan niệm.
NHÂN VIÊN
PHÒNG BAN
BẰNG CẤP
QUÁ TRÌNH BẢO HIỂM
QUÁ TRÌNH ĐÀO TẠO
HỒ SƠ KHEN THƯỞNG
HỒ SƠ KỶ LUẬT
LƯƠNG
QUÁ TRÌNH CÔNG TÁC
ĐỀ TÀI NGHIÊN CỨU
HỒ SƠ TÁC PHẨM
HỒ SƠ BÁO CÁO
HỒ SƠ MẪU BÁO CÁO
MỨC ĐỘ
HÌNH THỨC ĐÀO TẠO
QUAN HỆ GIA ĐÌNH
LOẠI QUAN HỆ
TRÌNH ĐỘ
HỒ SƠ SỨC KHỎE
TÌNH TRẠNG SỨC KHỎE
NHÓM MÁU
Mô hình dữ liệu quan niêm: phần a
NHÂN VIÊN
HỒ SƠ TIN HỌC
HỒ SƠ NGOẠI NGỮ
QUỐC TỊCH
DÂN TỘC
THÀNH PHẦN BẢN THÂN
TIN HỌC
NGỌAI NGỮ
THÀNH PHẦN GIA ĐÌNH
TÔN GIÁO
ĐỊA CHỈ
TRÌNH ĐỘ VĂN HÓA
TRÌNH ĐỘ TIN HỌC
TRÌNH ĐỘ NGOẠI NGỮ
CHỨC VỤ
TỈNH THÀNH
QUẬN HUYỆN
HỒ SƠ TÀI KHOẢN
NHÓM NGƯỜI DÙNG
QUYỀN HẠN
NGƯỜI QUẢN TRỊ
Modul
Mô hình dữ liệu quan niêm: phần b
2.2.5.4.Từ điển các bảng dữ liệu
Mô tả các thuộc tính, kiểu, độ rộng, ràng buộc, thuộc tính khóa, khuôn dạng của mỗi thuộc tính.
1
tbl_nhan_vien
Thông tin nhân viên
Ma_nhan_vien
Bigint
20
Not null
PK
Mã nhân viên, tự động tăng
Ma_nguoi_quan_lý
Bigint
20
Not null
Mã số người quản lý
Ten_nhan_vien
Varchar
250
Not null
Tên của nhân viên
Bi_danh
Varchar
250
Not null
Bí danh
Ngay_sinh
Date
Not null
y-m-d
Ngày sinh
Gioi_tinh
Bool
1
Not null
Giới tính
Que_quan
Varchar
250
Not null
Quê quán
Ho_khau
Varchar
250
Not null
Hộ khẩu
Ma_dia_chi
Bigint
20
Not null
Mã địa chỉ
Ma_quoc_tich
Int
11
Not null
Mã quốc tịch
Ma_dan_toc
Int
11
Not null
Mã dân tộc
Ma_ton_giao
Int
11
Not null
Mã tôn giáo
Ma_tp_bt
Int
11
Not null
Mã thành phần bản thân
Ma_tp_gd
Int
11
Not null
Mã thành phần gia đình
So_dien_thoai
Varchar
20
Not null
Số điện thoại
Email
Varchar
20
Not null
Địa chỉ email
So_cmnd
Varchar
20
Not null
Số chứng minh nhân dân
Noi_cap_cmnd
Varchar
250
Not null
Nơi cấp cmnd
Ngay_cap_cmnd
Date
y-m-d
Ngày cấp cmnd
Ngay_vao_doan
Date
Not null
y-m-d
Ngày vào đoàn
Noi_vao_doan
Date
Not null
y-m-d
Nơi vào đoàn
Ngay_vao_dang
Date
Null
y-m-d
Ngày vào đảng
Noi_vao_dang
Varchar
250
Null
Nơi vào đảng
Ngay_nhap_ngu
Date
Null
y-m-d
Ngày nhập ngũ
Ngay_xuat_ngu
Date
Null
y-m-d
Ngày xuất ngũ
Ma_loai_ho_so
int
20
Not null
Mã loại hồ sơ
2
tbl_dia_chi
Địa chỉ của nhân viên
Ma_dia_chi
Bigint
20
Not null
PK
Mã địa chỉ tự động tăng
Ma_nhan_vien
Bigint
20
Not null
Mã nhân viên
Ma_tinh_thanh
Int
11
Not null
Mã tỉnh thành
Ma_quan_huyen
Int
11
Not null
Mã quận huyện
Dia_chi
Varchar
250
Not null
Địa chỉ của nhân viên
3
tbl_ngoai_ngu
Ngoại ngữ của nhân viên
Ma_ngoai_ngu
Int
11
Not null
PK
Mã ngoại ngữ tự động tăng
Ma_nhan_vien
Bigint
20
Not null
Mã nhân viên
Ma_loai_ngoai_ngu
Int
11
Not null
Mã loại ngoại ngữ
Ma_trinh_do
Int
11
Not null
Mã trình độ của ngoại ngữ
Ghi_chu
Varchar
250
Not null
Thông tin ghi chú thêm
Ma_loai_ho_so
int
20
Not null
Mã loại hồ sơ
4
tbl_tin_hoc
Tin học của nhân viên
Ma_tin_hoc
Int
11
Not null
PK
Mã tin học tự động tăng
Ma_nhan_vien
Bigint
20
Not null
Mã nhân viên
Ma_loai_tin _hoc
Int
11
Not null
Mã loại tin học
Ma_trinh_do
Int
11
Not null
Mã trình độ của tin học
Ghi_chu
Varchar
250
Not null
Thông tin ghi chú thêm
Ma_loai_ho_so
int
20
Not null
Mã loại hồ sơ
5
Tbl_cong_tac
Quá trình công tác của nhân viên
Ma_cong_tac
Bigint
20
Not null
PK
Mã quá trình công tác của nhân viên tự động tăng
Ma_nhan_vien
Bigint
20
Not null
Mã nhân viên
Ten_cong_ty
Varchar
250
Not null
Tên công ty tổ chức nhân viên công tác
Ma_chuc_vu
Int
11
Not null
Mã chức vụ của nhân viên
Ngay_bat_dau
Date
Not null
y-m-d
Ngày bắt đầu công tác
Ngay_ket_thuc
Date
Not null
Y-m-d
Ngày kết thúc làm việc
Ghi_chu
Text
Thông tin ghi chú
Ma_loai_ho_so
int
20
Not null
Mã loại hồ sơ
6
Tbl_bang_cap
Các loại bằng cấp mà nhân viên đạt được
Ma_bang_cap
Bigint
20
Not null
PK
Mã bằng cấp của nhân viên
Ma_nhan_vien
Bigint
20
Not null
Mã nhân viên
Ten_bang_cap
Varchar
250
Not null
Tên bằng cấp của nhân viên
Ten_nghanh
Varchar
250
Not null
Tên nghành đào tạo
Hinh_thuc_dao_tao
Int
11
Not null
Mã hình thức đào tạo
Ten_truong
Varchar
250
Not null
Tên trường mà nhân viên học tập
Ma_nuoc
Int
11
Not null
Mã nước mà nhân viên học tập
Nam_tot_nghiep
Int
11
Not null
Năm tôt nghiệp
Ma_dat_loai
Int
11
Not null
Mã đạt loại của bằng cấp
Ghi_chu
Text
Thông tin ghi chú
Ma_loai_ho_so
int
20
Not null
Mã loại hồ sơ
7
Tbl_khoa_dao_tao
Các khóa đào tạo mà nhân viên tham gia
Ma_khoa_dao_tao
Bigint
20
Not null
PK
Mã khóa đào tạo mà nhân viên tham gia, giá trị tự động tăng
Ma_nhan_vien
Bigint
20
Not null
Mã nhân viên
Ten_khoa_dao_tao
Varchar
250
Not null
Tên khóa đào tạo
Ten_chung_chi
Varchar
250
Not null
Tên chứng chỉ
Hinh_thuc_dao_tao
Int
11
Not null
Mã hình thức đào tạo
Ten_truong
Varchar
250
Not null
Tên trường mà nhân viên học tập
Ma_nuoc
Int
11
Not null
Mã nước mà nhân viên học tập
Ngay_bat_dau
Date
Not null
y-m-d
Ngày bắt đầu khóa học
Ngay_ket_thuc
Date
Not null
y-m-d
Ngày kết thúc khóa học
Dat_loai
Int
Not null
Mã đạt loại
So_tien
Int
Not null
Số tiền phải trả sau khóa học
Ghi_chu
Varchar
250
Thông tin ghi chú
Ma_loai_ho_so
int
20
Not null
Mã loại hồ sơ
8
Tbl_luong
Quá trình diễn biến lương của nhân viên
Ma_luong
Bigint
20
Not null
PK
Mã lương của nhân viên, giá trị tự động tăng
Ma_nhan_vien
Bigint
20
Not null
Mã nhân viên
He_so
Int
11
Not null
Hệ số lương của nhân viên
Phu_cap
Int
11
Not null
Phụ cấp của nhân viên
Trang_thai
Bool
1
Not null
Trạng thái là lương hiện thời hay đã hết hạn
Ngay_bat_dau
Date
Not null
y-m-d
Ngày bắt đầu khóa học
Ngay_ket_thuc
Date
Not null
y-m-d
Ngày kết thúc khóa học
Ghi_chu
Varchar
250
Thông tin ghi chú
Ma_loai_ho_so
int
20
Not null
Mã loại hồ sơ
9
Tbl_bao_hiem
Quá trình bảo hiểm xã hội của nhân viên
Ma_bao_hiem
Bigint
20
Not null
PK
Mã quá trình bảo hiểm của nhân viên, giá trị tự động tăng
Ma_nhan_vien
Bigint
20
Not null
Mã nhân viên
He_so_luong
Int
11
Not null
Hệ số lương
Muc_luong
Int
11
Not null
Mức lương của nhân viên
Trang_thai
Bool
1
Not null
Trạng thái là hiện thời hay quá khứ
Ngay_bat_dau
Date
Not null
y-m-d
Ngày bắt đầu bảo hiêm
Ngay_ket_thuc
Date
Not null
y-m-d
Ngày kết thúc bảo hiểm
Ghi_chu
Varchar
250
Thông tin ghi chú
Ma_loai_ho_so
int
20
Not null
Mã loại hồ sơ
10
Tbl_suc_khoe
Hồ sơ sức khỏe của nhân viên
Ma_suc_khoe
Bigint
20
Not null
PK
Mã hồ sơ sức khỏe của nhân viên , giá trị tự động tăng
Ma_nhan_vien
Bigint
20
Not null
Mã nhân viên
Chieu_cao
Int
11
Not null
Chiều cao của nhân viên
Can_nang
Int
11
Not null
Cân nặng của nhân viên
Ma_nhom_mau
Int
11
Not null
Mã nhóm máu của nhân viên
Ma_tt_sk
Int
11
Not null
Mã tình trạng sức khỏe của nhân viên
Loai_benh
Text
Các tiền sử bệnh tật của nhân viên
Ngay_thang
Date
Not null
y-m-d
Ngày tháng khám sức khỏe
Ghi_chu
Varchar
250
Thông tin ghi chú
Ma_loai_ho_so
int
20
Not null
Mã loại hồ sơ
11
Tbl_qh_gd
Các quan hệ gia đình của nhân viên
Ma_qh_gd
Bigint
20
Not null
PK
Mã quan hệ gia đình , giá trị tự động tăng
Ma_nhan_vien
Bigint
20
Not null
Mã nhân viên
ma_quan_he
Int
11
Not null
Mã loại quan hệ
Ho_ten
Varchar
250
Not null
Họ tên người có quan hệ với nhân viên
Ngay_sinh
Date
Not null
Y-m-d
Ngày sinh của người có quan hệ
Giơi_tinh
Bool
1
Not null
Giới tính của người có quan hệ
Nghe_nghiep
Varchar
64
Not null
Nghề nghiệp của người có quan hệ
Noi_cong_tac
Varchar
250
Not null
Nơi công tac của người có quan hệ
Dia_chỉ
Varchar
250
Not null
Địa chỉ của người có quan hệ
Ma_loai_ho_so
Bigint
20
Not null
Mã loại hồ sơ
Ghi_chu
Varchar
250
Thông tin ghi chú
Ma_loai_ho_so
int
20
Not null
Mã loại hồ sơ
12
Tbl_tac_pham
Các tác phẩm của nhân viên
Ma_tac_pham
Bigint
20
Not null
PK
Mã hồ sơ tác phẩm, giá trị tự động tăng
Ma_nhan_vien
Bigint
20
Not null
Mã nhân viên
Ten_tac_pham
Varchar
250
Not null
Tên tác phẩm
The_loai
Varchar
250
Not null
Tên thể loại của tác phẩm
Nam_xuat_ban
Int
11
Not null
Năm xuất bản của tác phẩm
Nha_xuat_ban
Varchar
250
Not null
Tên trường mà nhân viên học tập
Noi_dung
Text
Not null
Nội dung của của tác phẩm
Giai_thuong
Varchar
250
Các giải thưởng đạt được
Ma_loai_ho_so
Int
11
Not null
Mã loại hồ sơ
Ghi_chu
Varchar
250
Thông tin ghi chú
Ma_loai_ho_so
int
20
Not null
Mã loại hồ sơ
13
Tbl_de_tai
Các đề tài nghiên cứu của nhân viên
Ma_de_tai
Bigint
20
Not null
PK
Mã đề tài, giá trị tự động tăng
Ma_nhan_vien
Bigint
20
Not null
Mã nhân viên
Ten_de_tai
Varchar
250
Not null
Tên đề tài
Cap_de_tai
Varchar
250
Not null
Cấp đề tài nghiên cứu
Thoi_gian_bat_dau
Date
Not null
Y-m-d
Thời gian bắt đầu thực hiện đề tai
Thoi_gian_ket_thuc
Date
Not null
Y-m-d
Thời gian kết thúc đề tai
Noi_dung
Text
Not null
Nội dung của đề tài
Giai_thuong
Varchar
250
Các giải thưởng đạt được
Ma_loai_ho_so
Int
11
Not null
Mã loại hồ sơ
Ghi_chu
Varchar
250
Thông tin ghi chú
Ma_loai_ho_so
int
20
Not null
Mã loại hồ sơ
14
Tbl_khen_thuong
Các khen thưởng của nhân viên
Ma_khen_thuong
Bigint
20
Not null
PK
Mã khen thưởng
Ma_nhan_vien
Bigint
20
Not null
Mã nhân viên
Ten_khen_thuong
Varchar
250
Not null
Tên khen thưởng
So_quyet_dinh
Varchar
250
Not null
Số quyết định khen thưởng
Thoi_gian
Date
Not null
Y-m-d
Thời gian quyết định khen thưởng
Noi_dung
Text
Not null
Nội dung khen thưởng
Ma_loai_ho_so
Int
11
Not null
Mã loại hồ sơ
Ghi_chu
Varchar
250
Thông tin ghi chú
Ma_loai_ho_so
int
20
Not null
Mã loại hồ sơ
15
Tbl_ky_luat
Các kỷ luật của nhân viên
Ma_ky_luat
Bigint
20
Not null
PK
Mã kỷ luật
Ma_nhan_vien
Bigint
20
Not null
Mã nhân viên
Ten_ky_luat
Varchar
250
Not null
Tên kỷ luật
So_quyet_dinh
Varchar
250
Not null
Số quyết định kỷ luật
Thoi_gian
Date
Not null
Y-m-d
Thời gian quyết định kỷ luật
Noi_dung
Text
Not null
Nội dung kỷ luật
Ma_loai_ho_so
Int
11
Not null
Mã loại hồ sơ
Ghi_chu
Varchar
250
Thông tin ghi chú
Ma_loai_ho_so
int
20
Not null
Mã loại hồ sơ
16
Tbl_phong_ban
Danh sách các phòng ban
Ma_phong_ban
Bigint
20
Not null
PK
Mã phòng ban của cơ quan
Ma_phong_ban_cap_tren
Bigint
20
Mã phòng ban cấp trên
Ten_phong_ban
Varchar
64
Not null
Tên phòng ban
Mo_ta
Varchar
250
Mô tả vắn tắt phòng ban
17
Tbl_xac_nhan
Bảng các thông tin xác nhận
Ma_xac_nhan
Bigint
20
Not null
PK
Mã xác nhận
Ma_ho_so
Bigint
20
Mã hồ sơ cần xác nhận
Ma_loai_ho_so
Int
11
Not null
Mã loại hồ sơ xác nhận
Thong_tin_xac_nhan
Text
Not null
Thông tin xác nhận
18
Tbl_dinh_kem
Bảng các thông tin dinh kem
Ma_dinh_kem
Bigint
20
Not null
PK
Mã dính kèm
Ma_xac_nhan
Bigint
20
Not null
Mã xác nhận
Thong_tin_dinh_kem
Varchar
64
Not null
Đường dẫn và tên file đính kèm
19
Tbl_tai_khoan
Bản thông tin tài khoản của nhân viên
ma_nhan_vien
Bigint
20
Not null
PK
Mã nhân viên, tự động tăng
Ma_nguoi_xac_nhan
Bigint
20
Not null
Mã người xác nhận
Ten_tai_khoan
Varchar
64
Not null
Tên tài khoản
Mat_khau
Varchar
64
Not null
Mật mã của tài khoản, được mã hóa them hàm MD5
Ma_the_tu
Varchar
64
Not null
Mã thẻ từ của nhân viên
Thong_tin_the_tu
Text
Not null
Thông tin thẻ từ
Ma_nhom
Int
11
Not null
Mã nhóm của nhân viên
20
Tbl_nhom
Nhóm ngừoi dùng
Ma_nhom
Bigint
20
Not null
PK
Mã nhóm
Ten_nhom
Varchar
20
Not null
Tên nhóm người dùng
Mo_ta
Varchar
64
Not null
Mô tả nhóm
21
Tbl_phan_quyen
Bảng phân quyền
Ma_quyen
Bigint
20
Not null
PK
Mã quyền hạn
Ma_nhom
Int
11
Not null
Mã nhóm người dùng
Quyen_han
Varchar
64
Not null
Tên quyền hạn
Ma_modul
Int
11
Not null
Mã modul tương ứng được gán với quyền hạn
22
Tbl_modul
Bảng các modul của chương trình
Ma_modul
Int
11
Not null
PK
Mã modul của chương trình
Ten_modul
Varchar
64
Not null
Tên modul
23
Tbl_hs_bao_cao
Bảng các hồ sơ báo cáo
Ma_bao_cao
Bigint
20
Not null
PK
Mã báo cáo
Ten_bao_cao
Varchar
250
Not null
Tên các loại báo cáo
Noi_dung
Text
Not null
Nội dung báo cáo
24
Tbl_mau_bao_cao
Bảng các mẫu báo cáo
Ma_ma_bao_cao
Bigint
20
Not null
PK
Mã mẫu báo cáo
Ten_mau_bao_cao
Varchar
250
Not null
Tên các mẫu báo cáo
File_tempalte
Varchar
64
Not null
Đường dẫn và tên file nội dung báo cáo
25
Tbl_dinh_kem
Bảng các thông tin dinh kem
Ma_dinh_kem
Bigint
20
Not null
PK
Mã dính kèm
Ma_xac_nhan
Bigint
20
Not null
Mã xác nhận
Thong_tin_dinh_kem
Varchar
64
Not null
Đường dẫn và tên file đính kèm
26
Tbl_nuoc
Bẳng các quốc gia
Ma_nuoc
Int
11
Not null
PK
Mã các nước
Ten_nuoc
Varchar
64
Not null
Tên nước
27
Tbl_tinh_thanh
Bảng các tỉnh thành
Ma_tinh_thanh
Int
11
Not null
PK
Mã tỉnh thành, tự động tăng.
Ma_nuoc
Int
11
Not null
Mã nước
Ten_tinh_thanh
Varchar
64
Not null
Tên tỉnh thành
28
Tbl_quan_huyen
Bảng các quận huyện
Ma_quan_huyen
Bigint
20
Not null
PK
Mã các quận huyện
Ma_tinh_thanh
Int
11
Not null
Mã tỉnh thành tương ứng với quận huyện
29
Tbl_td_vh
Bảng trình độ văn hóa
Ma_td_vh
Int
11
Not null
PK
Mã trình độ văn hóa
Ten_td_vh
Varchar
64
Not null
Tên trình độ văn hóa
30
Tbl_td_bc
Bảng các loại trình độ bằng cấp
Ma_td_bc
Int
11
Not null
PK
Mã trình độ bằng cấp
Ten_td_bc
Varchar
64
Not null
Tên trình độ bằng cấp
31
Tbl_ngoai_ngu
Bảng các loại ngoại ngữ
Ma_ngoai_ngu
Int
11
Not null
PK
Mã các loại ngoại ngữ
Ten_ngoai_ngu
Varchar
64
Not null
Tên các loại ngoại ngữ
32
Tbl_td_nn
Bảng các loại trình độ ngoại ngữ
Ma_td_nn
Int
11
Not null
PK
Mã trình độ ngoại ngữ
Ten_td_nn
Varchar
64
Not null
Tên trình độ ngoại ngữ
33
Tbl_tin_hoc
Bảng các loại tin học
Ma_tin_hoc
Int
11
Not null
PK
Mã các loại tin học
Ten_tin_hoc
Varchar
64
Not null
Tên các lọai tin học
34
Tbl_td_th
Bảng các loại trình độ tin học
Ma_td_th
Int
11
Not null
PK
Mã trình độ tin học
Ten_td_th
Varchar
64
Not null
Tên trình độ tin học
35
Tbl_ht_dt
Bảng các loại hình thức đào tạo
Ma_ht_dt
Int
11
Not null
PK
Mã hình thức đào tạo
Ten_ht_dt
Varchar
64
Not null
Tên hình thức đào tạo
36
Tbl_tt_sk
Bảng các loại tình trạng sức khỏe
Ma_tt_sk
Int
11
Not null
PK
Mã tình trạng sức khỏe
Ten_tt_sk
Varchar
64
Not null
Tên tình trạng sức khỏe
37
Tbl_nhom_mau
Bảng các loại nhóm mau
Ma_nhom_mau
Int
11
Not null
PK
Mã nhóm máu
Ten_nhon_mau
Varchar
64
Not null
Tên nhóm máu
38
Tbl_tp_bt
Bảng thành phần bản thân
Ma_tp_bt
Int
11
Not null
PK
Mã thành phần bản thân
Ten_tp_bt
Varchar
64
Not null
Tên thành phần bản thân
39
Tbl_dan_toc
Bảng các dân tộc
Ma_dan_toc
Int
11
Not null
PK
Mã dân tộc
Ten_dan_toc
Varchar
64
Not null
Tên dân tộc
40
Tbl_ton_giao
Bảng các tôn giáo
Ma_ton_giao
Int
11
Not null
PK
Mã tôn giáo
Ten_ton_giao
Varchar
64
Not null
Tên tôn giáo
41
Tbl_chuc_vu
Bảng các loại chức vụ
Ma_chuc_vu
Int
11
Not null
PK
Mã chức vụ
Ten_chuc_vu
Varchar
64
Not null
Tên chức vụ
42
Tbl_quan_he
Bảng các loại quan hệ
Ma_quan_he
Int
11
Not null
PK
Mã quan hệ
Ten_quan_he
Varchar
64
Not null
Tên quan hệ gia đình
43
Tbl_phien
Bảng lưu thông tin về phiên truy cập của người dùng
Phien_id
bigint
20
Not null
PK
Mã quan hệ
Ma_phien
Varchar
64
Not null
Mã phiên do chương trình sinh ra khi người dùng truy cập hệ thống
Ma_nguoi_dung
Bigint
20
Not null
Mã người dùng truy cập hệ thống tương ứng
44
Tbl_phien_chuc_nang
Bảng lưu thông tin về phiên truy cập của người dùng và chức năng tương ứng
Tbl_id
bigint
20
Not null
PK
Mã quan hệ
Phien_id
Bigint
20
Not null
Mã phiên tương ứng với ca truy nhập của người dùng
Ma_chuc_nang
Int
11
Not null
Mã chức năng mà người dùng truy cập trong phiên đó
Thoi_gian
Date
Not null
Thời gian truy cập đối với chức năng tương ứng
Chương 3: Xây dựng và cài đặt chương trình
3.1. Giới thiệu công nghệ áp dụng
Hiện nay, có rất nhiều ngôn ngữ lập trình trên mạng: ASP, FOXWEB, JSP, PHP..v..v.. Cùng với chúng cũng có rất nhiều hệ quản trị CSDL như: MySQL, DB2, SQL Server ..v..v.. Trong hệ thống này, nhóm chúng em chọn ngôn ngữ lập trình PHP,
và hệ quản trị cơ sở dữ liệu MySQL.
3.1.1. Ngôn ngữ PHP
3.1.1.1. Giới thiệu
PHP được dùng để thay thể cho Hypetext Preprocessor (Bộ tiền xử lý siêu văn bản), là một ngôn ngữ kịch bản nhúng HTML phía server. Phần lớn cú pháp của nó mượn của C, Java và Perl. Ngoài ra, nó cũng có thêm một số đặc trưng riêng. Ngôn ngữ PHP cho phép người phát triển web viết các trang web động một cách nhanh chóng. Chúng ta xem một ví dụ đơn giản:
1.
2.
3. Example
4.
5.
6. <?php
7. echo “Đây là một ví dụ về PHP”;
8. ?>
9.
10.
Khác với các kịch bản CGI được viết trong một số ngôn ngữ khác như Perl hoặc C – thay vào việc một chương trình với nhiều lệnh để xuất HTML, ta chỉ cần viết
một kịch bản HTML với một vài mã nhúng để làm một việc gì đó (trong ví dụ trên là xuất ra câu “Đây là một ví dụ về PHP”). Mã nguồn của PHP được đặt trong một cặp thẻ đặc biệt (‘’). Đặc điểm phân biệt PHP với một số ngôn ngữ khác như Java script là mã của nó được thực hiện phía server. Các đoạn mã PHP sẽ được thực hiện trên server trước khi truyền kết quả cho máy client, do đó người dùng phía client
sẽ không thể biết được đoạn mã thật của PHP. Đây cũng là một giải pháp khá hay cho việc bảo mật mã nguồn của PHP.
PHP có thể làm gì ?
Ở mức đơn giản nhất, PHP có thể làm được bất cứ điều gì mà một chương trình CGI có thể làm như lấy các form dữ liệu, sinh nội dung các trang động hoặc gửi
và nhận càc cookie.
Có lẽ đặc tính mạnh nhất và quan trọng nhất của PHP là nó hỗ trợ những CSDL có phạm vi rộng. Việc viết những trang web có CSDL hết sức đơn giản. Những CSDL được PHP hỗ trợ:
Adabas D
Ingres
Oracle (OCI7 and OCI8)
dBase
InterBase
Ovrimos
Empress
FrontBase
PostgreSQL
FilePro (chỉ đọc)
mSQL
Solid
Hyperware
Direct Ms-SQL
Sybase
IBM DB2
MySQL
Velocis
Informix
ODBC
Unix dbm
PHP cũng hỗ trợ việc liên kết với các dịch vụ khác sử dụng giao thức như
IMAP, SNMP, NNTP, POP3 … thậm chí cả HTTP. Ta cũng có thể sử dụng những socket mạng thô với các giao thức khác nhau.
Những nét lịch sử chính của PHP
PHP bắt đầu được hình thành vào mùa thu năm 1994 bởi Rasmus Lerdorf. Phiên bản đầu tiên non_released được sử dụng trên trang chủ của ông để lưu giữ dấu vết những người xem trực tuyến lý lịch của ông. Phiên bản này được sử dụng rộng rãi vào đầu năm 1995 và được biết đến như là công cụ xây dựng trang chủ cá nhân
(Personal Home Page Tools). Hiện nay đã có phiên bản PHP 5.
3.1.1.2. Một số cú pháp cơ bản của PHP
Các thẻ chứa đoạn mã PHP
Có 4 cách viết một một đoạn mã PHP trong một trang web
Cách thứ nhất: đoạn mã PHP được chứa trong cặp thẻ ‘’. Cách này chỉ thực hiện được khi thuộc tính cho phép dùng thẻ ngắn (short_open_tag) trong file cấu hình của PHP được thiết lập là enable (Thuộc tính này thường được để mặc định là enable)
Ví dụ:
Cách thứ hai: đoạn mã PHP được chứa trong cặp thẻ ‘’. Đây là cách đầy đủ nhất của PHP.
Ví dụ:
Cách thứ ba: đoạn mã PHP được chứa trong cặp thẻ ‘’ và ‘’. Cách này được đặt mặc định giống như các ngôn ngữ khác trong các trang HTML
Ví dụ:
echo “Đây là cách thứ ba”;
Cách thứ tư: đoạn mã PHP được chứa trong cặp thẻ ‘<%’ hoặc ‘<%=’ và
‘%>’. Cách này chỉ có tác dụng khi thuộc tính sử dụng các thẻ kiểu ASP (ASP-style)
được thiết lập là enable trong file cấu hình của PHP Ví dụ:
Ngăn cách các lệnh
Các lệnh trong PHP được ngăn cách nhau bởi dấu chấm phẩy ‘;’ giống như
trong ngôn ngữ C.
Thẻ đóng đoạn mã PHP (‘?>’) cũng có tác dụng kết thúc câu lệnh như dấu ‘;’.
Chú giải
PHP hỗ trợ các chú giải giống như của C, C++ và các chú giải kiểu shell trong
Unix. Có hai loại chú giải:
- Chú giải trên một dòng, được bắt đầu bằng dấu ‘//’. Các ký tự phía sau cặp ký hiệu này đều được coi là phần chú thích.
Ví dụ:
<?php
Echo “Chú thích kiểu C++”; //Một chú thích kiểu C++
Echo “Chú thích kiểu shell”; /# Một chú thích kiểu shell trong Unix
?>
- Chú giải trên nhiều dòng, được ký hiệu bởi cặp dấu bắt đầu ‘/*’ và kết thúc
‘*/’. Mọi ký tự trong cặp dấu này đều được coi là phần chú thích. Ví dụ:
<?php
/* một ví dụ về
chú thích trên nhiều dòng */
Echo “Chú thích trên nhiều dòng”;
?>
Kiểu
PHP hỗ trợ một số các kiểu sau:
Kiểu mảng
Có hai loại mảng: mảng một chiều và mảng nhiều chiểu. Một số hàm hỗ trợ liên quan đến mảng trong PHP:
+ Các hàm tạo mảng: list(), array()
+ Các hàm sắp xếp mảng: asort(), ksort(), rsort(), sort(), uasort(), usort() và uksort().
+ hàm đếm số phần tử mảng: count()
+ các hàm duyệt mảng: next(), prev(), each()
+…
Kiểu số
+ các kiểu số con trỏ động có kích thước về độ lớn khác nhau. Độ lớn tối đa của chúng xấp xỉ 1.8e308 = 1.8*10308
+ các kiểu số nguyên: PHP có các kiểu số nguyên giống như C. Tuy nhiên, kích thước của chúng đều là các số 32 bit.
Một số hàm liên quan đến kiểu số
+ Các hàm lượng giác: sin(), cos(), tan(), acos(), asin(), atan() …
+ các hàm số học: abs(), exp(), pow(), log(), log10(), max(), min(),
sqrt()…
+ các hàm về cơ số: base_convert(), bindec(), decbin(), hexdec(),
dechex()…
+ các hàm làm tròn: ceil(), floor(), round()…
+ các hàm khác: getrandmax(), rand(), pi()…
Các kiểu đối tượng
PHP cũng hỗ trợ việc khai báo các đối tượng giống như C++. Các đối tượng được khai bao như sau:
Class tên_lớp {
Khai báo các thuộc tính
Khai báo các phương thức
}
Kiểu xâu
Đây là kiểu hay dùng nhất trong PHP. Các quy tắc về xâu trong PHP
giống như trong C. Các xâu được đặt trong cặp dấu ‘’ hoặc “”. Một số hàm liên quan đến xâu:
+Các hàm in xâu: echo(), print(), printf(), flush()
+Các hàm xoá ký tự trắng: chop(), trim(), rtrim(), ltrim()
+Các hàm xử lý xâu: strcmp(), substr(), str_replace()…
+Các hàm tìm kiếm trên xâu: strchr(), strstr(), stristr()…
+Hàm lấy độ dài xâu: strlen()
+ …
Cấu trúc điều khiển
PHP có các cấu trúc điều khiển tương tự như C. Nó bao gồm:
Cấu trúc rẽ nhánh
PHP có 2 kiểu cấu trúc rẽ nhánh:
1. if (biểu thức) {
[Khối lệnh]
} Hoặc
if (biểu thức) {
[Khối lệnh 1]
} else {
[Khối lệnh 2]
}
2. switch (tên biến) {
case giá trị 1: [Khối lệnh 1]
case giá trị 1: [Khối lệnh 1]
…
}
+ include_once(): Giống như hàm include nhưng nó chỉ thay thế mã lệnh của file một lần.
3.1.2. Hệ quản trị cơ sở dữ liệu MySQL
3.1.2.1 Giới thiệu về MySQL
Trước đây, người ta thường dùng mSQL để kết thao tác cơ sở dữ liệu qua các thủ tục. Mặc dù mSQL có thể cung cấp hầu hết các chức năng phục vụ cho việc khai thác dữ liệu nhưng sau một thời gian kiẻm thử dần dần xuất hiện các vần đề về nó. MySQL không đủ nhanh và linh hoạt như yêu cầu. Do đó, người ta đã nghĩ tới một phiên bản SQL mới. MySQL ra đời, ngay từ phiên bản đầu tiên nó đáp ứng gần như khá hoàn hảo các yêu cầu của người dùng. MySQL được xây dựng chủ yếu dựa trên các hàm API giống như trong MySQL. Người ta sử dụng trực tiếp cá hàm API truy cập hệ thống chứ không dùng các hàm trung gian của các công ty thứ ba giống như trong MySQL, do đó tốc độ của MySQL vượt xa so với MySQL trước đây. Do nó có mã nguồn mở nên các phiên bản MySQL phát triển rất nhanh. Nó được cung cấp các tính năng ngày càng mạnh hơn, linh hoạt hơn phiên bản đầu tiên rất nhiều.
3.1.2.2. Các đặc trưng của MySQL
MySQL là một hệ quản trị cơ sở dữ liệu
Một CSDL là một tập hợp dữ liệu có cấu trúc. Nó có thể là bất cứ thứ gì từ danh sách các loại hàng hoá đơn giản đến một triển lãm tranh hay là một lượng lớn thông tin trên mạng. Để truy cập và xử lý dữ liệu được lưu trữ trong cơ sở dữ liệu máy tính ta cần phải có một hệ quản trị cơ sở dữ liệu như MySQL. Từ khi các máy tính trở thành một phương tiện khá tỏttong việc điều khiển một lượng lớn dữ liệu. Việc quản
trị cơ sở dữ liệu đóng vai trò trung tâm tính toán. Nó giống như một tiện ích độc lập hay một phần của các ứng dụng khác.
MySQL là một hệ quản trị cơ sở dữ liệu quan hệ
Một cơ sở dữ liệu quan hệ lưu trữ dữ liệu trong các bảng tách rời nhau thì thích hợp hơn là đưa tất cả dữ liệu vào một nơi lưu trữ lớn. Điều này làm tăng tốc độ
và tính mềm dẻo. Các bảng được liên kết bởi các quan hệ được định nghĩa làm cho nó
có thể kết nối dữ liệu ở các bảng khác nhau trong một yêu cầu. SQL (Structured Query Language) là một phần của MySQL. Nó là ngôn ngữ được chuẩn hoá và được sử dụng phổ biến nhất để truy cập cơ sở dữ liệu.
MySQL là phần mềm có mã nguồn mở
Một phần mềm có mã nguồn mở là phầnmềm được dùng miễn phí cho mọi người. Do đó, mọi người có thể nghiên cứu mã nguồn và thay đổi nó cho phù hợp với nhu cầu sử dụng của từng người. Hiện nay, MySQL có một tập các chức năng rất lớn
và đa dạng. Ngoài ra, nó còn được bổ sung các tính năng khá mạnh khác như: khản năng kết nối, khả năng bảo mật …
MySQL là một phầnmềm thân thiện
MySQL là một hệ quản trị cơ sở dữ liệu có tốc độ xử lý khá nhanh và rất đáng
tin cậy. Nó cung cấp một số công cụ cho phép ta tìm kiếm thông tin một cách hiệu quả hơn rất nhiều so với cá hệ quản trị cơ sở dữ liệu khác. Theo một số thống kê cho thấy, dung lượng và tốc độ xử lý của MySQL chỉ đứng sau Oracle. Tuy nhiên nó lại chiếm
ưu thế hơn Oracle ở chỗ kích thước của nó lại nhỏ hơn rất nhiều, rất phù hợp với các
ứng dụng vừa và nhỏ.
Các đặc tính kỹ thuật của MySQL
MySQL là một hệ thống có mô hình client / server chứa server SQL đa luồng
hỗ trợ các chương trình ứng dụng phía sau (trong mạng cục bộ, backend là các chương trình được lưu trữ trên máy chủ dùng để hoàn thành cá nhiệm vụ xử lý mà chương trình đó được thiết kế để thực hiện, còn fontend là các chương trình phía trước dùng để điều khiển giao tiếp với từng user ở các client), hỗ trợ các thư viện, chương trình client khác nhau, các công cụ quản trị và giao diện lập trình.
3.1.2.3. Một số thao tác cơ sở dữ liệu trong MySQL
Các kiểu dữ liệu trong MySQL Kiểu xâu
Xâu là một tập hợp cá ký tự liên tiếp nhau và được đặt trong cặp dấu “” hoặc
‘’. Các quy tắc về xâu giống như trong ngôn ngữ C. MySQL hỗ trợ một số hàm thao tác xâu:
+Các hàm về ký tự: ascii(), ord(), char()…
+Các hàm cắt ký tự trắng: trim(), ltrim(), rtrim()…
+Các hàm về thao tác xâu: concat(), left(), right(), mid(), replace(), insert()…
+Các hàm về kiểu chữ: ucase(), upper(), lcase(), lower()…
+Các hàm khác: repeat(), elt()…
Kích thước của mỗi xâu là 255. Để lưu trữ các xâu có kích thước lớn hơn, ta
có thể dùng các kiểu khác như: text, blob…
Kiểu số
MySQL hỗ trợ các kiểu số sauL:
+các kiểu số nguyên: int, smallint, tinyint…
+các kiểu số thực: float, double, real, numeric, decimal… Ngoài ra MySQL còn hỗ trợ một số hàm toán học sau:
+ Các hàm lượng giác: sin(), cos(), tan(), acos(), asin(), atan() …
+ các hàm số học: abs(), exp(), pow(), log(), log10(), max(), min(),
3.2. Một số giao diện chính của chương trình
Chương 4: Module bảo mật bằng hệ thống thẻ nhớ (smart card) và đầu đọc thẻ ACR30
4.1.Giới thiệu chung
4.1.1. Mở đầu
Hiện nay hầu hết các phần mềm quản lý nói chung hay quản lý nhân sự nói riêng chạy trên nền web đều chỉ có một lớp bảo mật duy nhất. Đó chính là hệ thống User / Password được đặt trong cơ sở dữ liệu. Có rất nhiều nguyên do để một người lạ có thể xâm nhập vào hệ thống của bạn. Có thể xuất phát từ phía người dùng như: Sơ xuất để lộ mật khẩu, máy tính cá nhân bị nhiễm virus, trojan, … Và cũng có thể từ việc cơ sở dữ liệu bên server không được đảm bảo có thể bị xâm nhập… Và có thể còn nhiều lý do khác nữa.
Trong hệ thống quản lý nhân sự này chúng em đưa vào thêm một lớp bảo mật nữa nhằm tăng thêm tính an toàn. Trong module bảo mật này chúng ta dùng một loại thẻ nhớ để đặc trưng cho các User. Các thẻ nhớ như là Identify Card cho phép người dùng có thể truy cập vào hệ thống hay không? Hiện nay có rất nhiều loại thẻ nhớ, và các ứng dụng về thẻ nhớ được dùng khá rộng rãi, hiệu quả trên nhiều lĩnh vực về kinh tế, công nghiệp, giáo dục, … trên thế giới. Mỗi một thẻ nhớ có thể lưu nhiều thông tin của người dùng và có thể làm đại diện cho người dùng. Trong phạm vi chương trình này chúng ta nghiên cứu đến lọai thẻ nhớ ACOS1 và đầu đọc thẻ ACR30U.
4.1.2. Giới thiệu chung về ACS (Advanced card system) và sản phẩm thẻ nhớ, đầu đọc thẻ nhớ
Ngày nay hệ thống thẻ và đầu đọc thẻ nhớ không chỉ giới hạn trong một số lĩnh vực cụ thể nào nữa. Mà nó ngày càng trở nên phổ biến trên toàn bộ các lĩnh vực như là Truyền thông không dây (Wireless Communicatios), Thẻ nhận dạng trong chính phủ (Government ID cards) hay là công tác bảo mật trên internet (Internet security). Được xác nhận đưa thêm các giá trị, thông tin quan trọng trong giao dịch đem lại sự hiệu quả, tin cậy và môi trường an toàn cho toàn bộ các hoạt động, trong vài năm tới hệ thống thẻ và đầu đọc thẻ nhớ được dự đoán là có những bước phát triển rất mạnh mẽ do nhu cầu ngày càng lớn. ACS một công ty chuyên cung cấp thẻ nhớ và đầu đọc rất tin tưởng vào phương hướng phát triển và các cơ hội giao dịch rộng lớn sẽ mở ra cho các nhà cung cấp thẻ và đầu đọc thẻ nhớ.
ACS là một nhà sản xuất thẻ nhớ thành lập năm 1995. Với sứ mệnh là trở thành công thi đi đầu trong việc cung cấp hệ thống thẻ trên cơ sở là các giải pháp cho nền thương mại điện tử toàn cầu. ACS sản xuất và cung cấp các hệ thống đọc, ghi chất lượng cao, giúp cho nhiều ngành công nghiệp khác nhau dễ dàng chấp nhận các ứng dụng thẻ. ACS có trụ sở ở Hồng Kông và là một công ty đi đầu trong việc giới thiệu hệ thống thẻ nhớ qua giao diện USB thích hợp với máy tính cá nhân PC. Và cũng là một công ty đi đầu trong việc đề nghị đầu đọc dựa trên cơ sở single-ASIC (Application Specific Integrated Circurt). Hiện tại ACS đã thiết lập được nhiều mối quan hệ rất tốt đẹp với nhiều đối tác quan trọng trong nền công nghiệp thẻ nhớ trên toàn thế giới. Các sản phẩm của ACS đã được bán ra trên 70 nước ở các Châu mỹ, Châu âu, Châu á và một số nước khác.
Hình ảnh minh họa đầu đọc thẻ ACR30U và thẻ nhớ ACOS1
ACR30U smart card reader ACOS1 8Kbyte micro processor-based card
4.1.3. Bộ phát triển cho các ứng dụng thẻ nhớ (Development Kit for smart card applications)
Bộ công cụ phát triển (AC-Kit Smart Card Development pack) cung cấp sự phát triển và tùy chọn các ứng dụng một cách hiệu quả và hệ thống sử dụng thẻ nhớ, các thiết bị đầu cuối , máy tính cá nhân. Được đóng gói một cách hoàn thiện bao gồm tất cả các thành phần cần thiết yêu cầu cho phát triển ứng dụng. Các công ty phần mềm có thể sử dụng kết hợp công nghệ thẻ nhớ vào ứng dụng hiện tại của họ. Các công ty trong nền công nghiệp thẻ nhớ đang tìm kiếm các ứng dụng mới có thể phát triển hệ thống theo yêu cầu của họ cũng như của khách hàng.
ACS Smart card reader/writer ACR30 là một giao diện cho truyền thông giữa máy tính nói chung hay máy tính cá nhân nói riêng và một thẻ nhớ. Các loại thẻ nhớ khác nhau có các hệ thống câu lệnh riêng biệt và các giao thức truyền thông khác nhau. Điều đó ngăn cản trong hầu hết các trường hợp kết nối giữa một máy tính và một thẻ nhớ. ACR30 Reader/Writer thiết lập một giao diện chung từ một máy tính đến một thẻ nhớ cho rất nhiều loại thẻ. Bằng việc nắm bát những điểm riêng biệt của tứng loại thẻ, nó sẽ giải thoát cho các nhà lập trình phần mềm khỏi sự rắc rối liên quan đế các đặc điểm công nghệ khác nhau, cái mà trong nhiều trường hợp không thuận tiện cho việc cài đặt hệ thống thẻ.
ACR30 Smart Card Reader/Writer được kết nối với máy tính thông qua giao diện nối tiếp bất đồng bộ (RS-232) hay là giao diện USB. Đầu đọc chấp nhận các lệnh gửi từ máy tính mang theo các hàm chỉ định vào thẻ nhớ và trả về các dữ liệu yêu cầu hoặc các thông tin trạng thái. ACR30 là đầu đọc rất hiệu quả và hỗ trợ tất cả các thẻ nhớ dựa trên cơ sở MCU với giao thức T=0 (Bit oriented) hoặc T=1 (Block oriented) và hầu hết thẻ nhớ đang được lưu hành ngày nay.Nét đặc trưng của bộ phát triển
ACR30 Smart card readers:
Bao gồm cả đầu đọc USB và RS232 thích hợp với ISO 7816-1/2/3 và PC/SC
Có thể đọc và ghe tất cả thẻ với các bộ vi xử lý có giao thức T=0 hoặc T=1
Có thể đọc và ghi hầu hết thẻ nhớ phổ biến
Thích hợp với hầu hết nền tảng máy tính cá nhân (PC platforms)
Balance reader
Hỗ trợ thẻ nhớ và các thẻ MCU yêu cầu bởi khác hàng (như VISA Cash, Proton, Mondex…)
Các hàm tùy chọn để ghi và hiện thị các chuyển giao trước đây
Bộ nguồn gồm 2 miếng 3V, pin lithium kết nối theo hàng
Màn hình tinh thể lỏng hiện thị 16 ký tự
Nặng 50g
Nhiệt độ hoạt động từ 0 -> 50 độ C
Bộ card dùng kiểm thử bao gồm
5x ACOS1 microprocessor-based card with DES/Triple DES and MAC security capability, 8 K EEPROM for user data
5x SLE 4442 256 byte Memory card with write protect function and security logic
5 x SLE 4428 1 Kbyte Memory card with write protect function and security logic
Nội dung trong đĩa CD rom kèm theo
Software drivers supporting Windows 98, Me, NT (serial), 2000, XP, and Linux
Proprietary device driver to facilitate easy application development
PC/SC compliant IFD handler
32-bit OCX file
Demo Program, Card tool, Sample code …
4.1.4. Đặc điểm kỹ thuật và yêu cầu hệ thống
4.1.4.1 Các đặc điểm cơ bản của dòng sản phẩm ACR30
ISO 7816-1/2/3 and PC/SC Compliant
Certified by CE, FCC, EMV and Microsoft WHQL
Read and write ALL microcontroller cards with T=0 and T=1 protocols
Read and write the popular memory card types in the market: o Siemens: SLE4406, SLE4418, SLE4428,SLE4432, SLE4442 o Atmel: AT88SC06, AT24C01-16 o STMicroelectronics: ST1305, ST14C02C, ST14C04C
Note: Card manufacturers using the above-mentioned chips may have different names for their cards. These cards are likewise supported by ACR30. Examples are:
Gemplus: GPM103, GFM2K, GFM4K, GPM2K, GPM8K
Schlumberger: Primeflex Store 2K/8K, Open 2K/4
Interface library for efficient PC application software development o 32-bit DLL files for Windows 98,Me, NT and 2000 o PC/SC compliant IFD handler
Compatible with most PC platforms: Windows 98, Me, NT, 2000 and XP, Linux
4.1.4.2. Yêu cầu kỹ thuật
Interface RS-232 (Serial) or USB
Supply Voltage Regulated 5V DC
Supply Current <100mA (without smart card)
Operating Temperature 0 - 50 °C
CLK Frequency 3.68 / 4 MHz
Standards / Certifications ISO 7816-1/2/3, PC/SC, CE, FCC
Operating System Support Windows 98, Me, NT, 2000 and XP, Linux
4.1.5. Cài đặt và gỡ bỏ driver cho đầu đọc thẻ ( Smart card reader)
4.1.5.1. Cài đặt driver cho thẻ đọc (Proprietary driver)
a) Sau khi người dùng chạy “setup.exe” trong thư mục “AC-Kit driver”. Màn hình đầu tiên hiện ra.
Chọn “Next”
Chú ý : Không kết nối đầu đọc ACR30 với PC đến khi nhận được lời hướng dẫn từ chương trình cài đặt
b) Người sử dụng phải lựa chọn đầu đọc thẻ thích hợp từ hộp combo box.
Chú ý
U - USB
SP - Serial Pnp
S – Serial RS-232
c) Trường hợp này ta chọn ACR30U
Chọn “Next” để tới bước tiếp theo
d) Chọn “install”
Chú ý :
Không kết nối với thiết bị đầu đọc đến khi có hướng dẫn
e) Chắc chắn rằng bạn không kết nối thiết bị đầu đọc vào máy tính.
Chọn “next”
f) Tại bước này bạn hãy kết nối đầu đọc vào máy và chọn “OK”
Chọn “Yes” cho hộp thoại Digital Signature (Chữ ký số)
Bước cuối cùng bạn chọn “Finish”
4.1.5.2. Sơ đồ kết nối thiết bị và máy tính
Sơ đồ kết nối đầu đọc thẻ nhớ với giao diện USB
Sơ đồ kết nối đầu đọc thẻ nhớ với giao diện RS-232
4.1.5.3. Gỡ bỏ driver của đầu đọc (Proprietary driver)
Để gỡ bỏ driver của đầu đọc người sử dụng phải chạy lại trình “cài đặt” lại một lần nữa. Màn hình bên sẽ xuất hiện
Chọn “next”
Trình cài đặt có thể dò ra được driver trước đó đã cài đặt
Chọn “next” để gỡ bỏ driver
Khởi động lại hệ thống để đảm bảo driver đã được gỡ bỏ thành công
Chọn “Ok” để khởi động lại
4.2. Xây dựng chương trình đọc thông tin thẻ nhớ tích hợp với hệ thống website chương trình chính
4.2.3.Phạm vi bài toán
4.2.3.1. Nội dung
Xây dựng chương trình đọc thông tin người dùng từ thẻ nhớ. Tích hợp được với hệ thống quản lý nhân sự chạy trên server.
4.2.3.2. Chức năng
Xây dựng thành công module bảo mật, đăng nhập hệ thống bước một qua thẻ nhớ (smart card)
4.2.3.3. Đối tượng sử dụng
Toàn bộ người dùng sử dụng hệ thống quản lý nhân sự trong tài liệu
4.2.4. Phân tích
Mục đích của chương trình là tích hợp được module bảo mật dựa vào hệ thống thẻ nhớ của người dùng (được cấp phát), tích hợp vào module chương trình chính. Hiện nay đa số các chương trình quản lý nhân sự chỉ có một lớp bảo mật duy nhất bao gồm thông tin User, Password được lưu trong cơ sở dữ liệu. Toàn bộ module bảo mật đều gói gọn trên server. Mô hình tiến trình đăng nhập các chương trình như sau.
Tiến trình đăng nhập
c
b
a
Database
User
Server
Chú thích : a) Thông tin username + passwordb, c) Thông tin kiểm tra giữa server và csdl (username/password)
4.2.5. Thiết kế
Toàn bộ chương trình được chia thành 2 module chính. Một module chạy trên máy khách (Client) và một module chạy trên server.
Phía Client :
Đọc thông tin cá nhân của User từ thẻ nhớ cá nhân và submit lên server được phát triển dựa vào ngôn ngữ lập trình C/C++.
Phía Server:
Tạo và quản lý tài khoản thông tin User mới tương ứng với thẻ nhớ cấp phát cho mỗi người dùng.
Kiểm tra thông tin được submit phía Client và trả về kết quả đăng nhập hệ thống
Ngôn ngữ php và Cơ sở dữ liệu mysql
Tiến trình đăng nhập (mới)
g
f
c
b
e
d
a
Database
User
Server
Chú thích: a) Thông tin thẻ nhớb, c) Thông tin kiêm tra giữa server và csdl (thông tin thẻ)d) Thông tin phản hồi quá trình đăng nhập thẻ nhớe) Thông tin username/passwordf, g) Thông tin kiểm tra giữa server và csdl (thông tin username/password)
Có hai phương thức giao tiếp chính giữa Client – Server
Module Client triệu gọi trực tiếp module server thông qua query string. Phương thức này dễ phát triển, dễ hiểu tuy nhiên lại có tính bảo mật không cao.
Chuyển thông tin từ client lên server thông qua lập trình Socket. Phương thức này có tính bảo mật tốt hơn.
Chương trình demo chúng ta sử dụng phương thức giao tiếp thứ nhất.
4.2.6. Công cụ phát triển module Client
Các ứng dụng đọc thẻ nhớ trên máy tính là các ứng dụng còn khá mới mẻ với sinh viên nói chung, và nhóm làm khóa luận nói riêng. Theo tài liệu được cung cấp đa số các ứng dụng này có thể được phát triển dựa trên Delphi, VB, VC++, C#… Ở đây chúng em lựa chọn một công cụ khá phổ biến đó là Visual C++ với ngôn ngữ khá phổ biến với các lập trình viên là C/C++. Dùng Visual C++ ta có thể sử dụng thư viện MFC tiện lợi của nó.
4.2.7. Giới thiệu qua về ngôn ngữ C/C++ và Visual C++
C và C++ là hai trong những ngôn ngữ lập trình quan trọng nhất trên thế giới hiện nay. Ngôn ngữ C được phát minh bởi Diniis Ritchie vào năm 1970. C là một ngôn ngữ bậc trung, nó bao gồm các cấu trúc điều khiển của một ngôn ngữ bậc cao với khả năng tính toán bits, bytes, và pointers. Do đó C mang đến cho người lập trình viên gần như toàn bộ để điều khiển toàn bộ máy tính. C đã được chuẩn hóa lần thứ nhất vào năm 1989 theo American National Standards Institue (ANSI). C++ được tạo ra và phát triển bới Bjarne Stroustrup vào năm 1979. Sự phát triển và tinh lọc C++ là một nỗ lực rất lớn, mở rộng vào những năm 1980 và gần như các năm 1990. Cuối cùng vào 1998 một bản chuẩn C++ ANSI/ISO được thông qua. C++ là phiên bản hướng đối tượng của C. C++ xây dựng dựa trên nền tảng là C89. . Có thể nói rằng đến bây giờ C++ vẫn là một trong những ngôn ngữ mạnh nhất trong các ngôn ngữ lập trình.
Visual C++ là một bộ công cụ phát triển ứng dụng dành cho các lập trình viên C++ phát hành bởi Microsoft. Visual C++ hỗ trợ lập trình hướng đối tượng trên nền tảng Windows 32bits với một Integrated development environment (IDE), bộ dịch C/C++, và một bộ thư viện kèm theo Microsoft Foundation Class (MFC). Môi trường IDE bao gồm App Wizard, Class Wizard, …và nhiều công cụ khác giúp cho công việc lập trình trở nên dễ dàng hơn. Phiên bản đầu tiên của Visual C++ được Microsoft giới thiệu vào năm 1993 tiếp đó phiên bản 4.0 ra mắt vào năm 1996. Trong chương trình này chúng ta dùng phiên bản 6.0 phát hành năm 1998.
4.2.8. Giao diện chính của chương trình chạy trên client
Các Command
Get Card Info :
Kết nối với thẻ nhớ
Nhận thông tin từ thẻ nhớ (Giá trị ATR String) lưu giá trị vào biến chương trình
Send :
Gửi thông tin thẻ nhớ chứa trong biến gửi lên url
4.2.9. Các hạn chế và phương hướng phát triển chương trình
Do chưa hiểu rõ hết được những thông tin về quản lý thẻ nhớ nên trong module vẫn còn có thiếu sót.
4.2.9.1 Những hạn chế còn tồn tại
Chương trình đọc thông tin từ thẻ nhớ đặt phía Client do vậy sẽ phải có quá trình chuyển giao thông tin giữa Client và Server. Điều này làm tăng khả năng bị xâm nhập của hệ thống
Chưa đưa được những thông tin của người dùng vào trong thẻ nhớ
4.2.9.2. Phương hướng phát triển
Tìm ra giải pháp mới cho việc đọc thông tin từ thẻ nhớ. Đảm bảo sự bảo mật tối ưu cho hệ thống
Xây dựng chương trình đưa thêm thông tin cá nhân của người dùng vào từng thẻ nhớ, và quản lý được lượng thông tin đó.
Tìm ra phương thức giao tiếp tốt hơn để đảm bảo an toàn trong quá trình truyền dữ liệu giữa Client và Server.
KẾT LUẬN
Hệ thống thông tin quản lý nguồn nhân lực khoa học kỹ thuật là một hệ thống lớn có thể dùng cho các trường đại học, cao đẳng hay các viện nghiên cứu. Hệ thống giúp cho việc quản lý nhân sự trở nên chính xác, nhanh chóng, tiện lợi, hiệu quả và đặc biệt là trở nên dễ dàng hơn rất nhiều so với những hệ thống quản lý cũ. Lợi ích cơ bản mà hệ thống đem lại là tạo ra sự dễ dàng trong việc nhập thông tin hồ sơ của cán bộ. Từ đó có thể quản lý một lượng lớn thông tin của đội ngũ cán bộ nhân viên. Trong thời gian chuẩn bị và làm khóa luận tốt nghiệp, nhóm chúng em đã phân tích thiết kế và xây dựng được hệ thống thông tin quản lý nhân sự khoa học kỹ thuật cho các trường đại học tại Hà Nội.
Tuy nhiên, luận văn không thể tránh khỏi hạn chế và các thiếu sót, nhóm chúng em rất mong có được sự đóng góp của thầy cô và bạn bè để có thể tiếp tục phát triển hệ thống một cách hoàn thiện và tối ưu hơn.
Hệ thống đã thể hiện được rõ ràng sự khác biệt đối với các hệ thống cũ. Người dùng đã có thể sử dụng chức năng tự cập nhật hồ sơ thông tin cá nhân. Người quản lý đã có thể sử dụng chức năng xác nhận thông tin cho nhân viên.
Bản khóa luận này, tuy chưa hoàn thiện và đầy đủ cho việc xây dựng hoàn chỉnh thống nhất bài toán “Quản lý nguồn nhân lực khoa học”, tuy nhiên nó có thể đóng góp, giúp ích được phần nào những ai quan tâm đến việc xây dựng bài toán quản lý nhân sự khoa học kỹ thuật nói riêng và quản lý nhân sự nói chung. Có thể nói, “Hệ thống quản lý nguồn nhân lực khoa học kỹ thuật” đã thực sự mở ra một hướng mới trong việc quản lý nhân sự.
TÀI LIỆU THAM KHẢO
1.Phạm Hữu Khang, Xây dựng ứng dụng Web bằng PHP & MYSQL, NXB Mũi Cà Mau
2.Nguyễn Văn Vị Giáo trình phân tích và thiết kế hệ thống thông tin, NXB Thống Kê
3. Optimaizing SQL, Peter Gulutzan and Trudy Pelzer; R&D Publications,
Inc. Lawrence, Kansas 66046
Các file đính kèm theo tài liệu này:
- Hệ thống quản lý nguồn nhân lực khoa học kỹ thuật.doc