Internet- còn gọi là Net – là mạng truyền thông toàn cầu kết nối hàng trăm ngàn mạng máy tính. Các mạng máy tính là những mạng lớn diện rộng (WAN) như các mạng của các công ty xuyên quốc gia như IBM, AT&T, Digital Equipment và Hewlett-Packard cho đến những mạng cục bộ (LAN) nhỏ của bất kỳ sở hữu nào ở khắp nơi trên toàn cầu.
Trang 1CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI 5
I KHẢO SÁT NƠI THỰC TẬP 5
1 Giới thiệu về công ty 5
2 Cơ cấu tổ chức 5
II CƠ SỞ LÝ THUYẾT VÀ ỨNG DỤNG 6
1 Tổng quan về Internet 6
1.1 Lịch sử phát triển của Internet 6
1.2 Các dịch vụ trên Internet 7
III GIỚI THIỆU BÀI TOÁN 9
1 Đặt vấn đề 9
2 Yêu cầu bài toán 10
3 Phạm vi của bài toán 10
CHƯƠNG II: KHẢO SÁT HỆ THỐNG 10
I KHẢO SÁT THỰC TRẠNG 10
II SƠ ĐỒ HOẠT ĐỘNG NGHIỆP VỤ 11
1 Yêu cầu của hệ thống 11
1.1 Về mặt thiết bị, phần mềm 11
1.2 Về dữ liệu: 11
1.3 Về giao diện 12
1.4 Về xử lý: 12
1.5 Yêu cầu của Website 12
2 Một số mẫu báo cáo thu được 13
III LỰA CHỌN MÔI TRƯỜNG CÀI ĐẶT 13
1 Apache Web Server 13
2 Giới thiệu PHP 13
2.1 PHP là gì? 13
2.2 Cài đặt và cấu hình PHP 13
2.3 Các kiểu dữ liệu 13
2.4 Biến - giá trị 14
2.5 Hằng Số 14
2.6 Biểu thức 14
2.7 Các cấu trúc lệnh 14
2.8 Hàm 15
2.9 Các toán tử 15
2.10 Lớp và đối tượng 15
2.11 Tham chiếu 15
2.12 Thao tác với ảnh 15
3 MySQL 15
3.1 My SQL là gì? 15
3.2 Cài đặt MySQL 16
3.3 Sơ lược MySQL 16
3.4 Các lệnh cơ bản trong MySQL 16
Trang 2CHƯƠNG III: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 19
I PHÂN TÍCH HỆ THỐNG 19
1 Biểu đồ phân cấp chức năng 19
2 Biểu đồ luồng dữ liệu mức khung cảnh 20
3 Biểu đồ luồng dữ liệu mức đỉnh 21
4 Biểu đồ luồng dữ liệu mức dưới đỉnh 22
II PHÂN TÍCH HỆ THỐNG VỀ DỮ LIỆU 24
1 Mô hình thực thể liên kết 24
2 Mô hình tổ chức dữ liệu 25
3 Mô hình vật lý dữ liệu 25
III THIẾT KẾ HỆ THỐNG 32
1 Thiết kế tổng thể 32
2 Thiết kế giao diện 32
2.1 Một số giao diện khi thực hiện chương trình 32
2.2 Một số mẫu báo cáo thu được 32
3 Thiết kế kiểm soát 32
4 Hướng dẫn cài đặt, sử dụng, bảo trì hệ thống 32
5 Một số module chính của chương trình 32
KẾT LUẬN 32
TÀI LIỆU THAM KHẢO 32
PHỤ LỤC 32
Trang 3DANH MỤC TỪ VIẾT TẮT
1 AT&T American telephone and Telegraph
2 IBM International Business Machines Coporation
5 MCI Media Control Interface
6 HDI Human Developement Index
7 ARPANET Advanced Research Projects Agency Network
8 TCP/IP Transmission Control Protocol/ Internet Protocol
9 DoD Denial of Service
11 ISP Internet Service Provider
12 FTP File transfer Protocol
13 IRC Internet Relay Chat
15 CSDL Cơ sở dữ liệu
16 CCNA Cisco Certified Network Administrator
17 MCSA Microsoft Certified Systems Administrator
18 KT- KL Khen thưởng- kỷ kuật
19 DSNV Danh sách nhân viên
20 PHP Persional Home Page
21 CSDL Cơ sở dữ liệu
22 HTML HyperText Markup Language
23 QLNS Quản lý nhân sự
DANH MỤC CÁC BẢNG
Trang 4LỜI MỞ ĐẦUChúng ta đang sống và làm việc trong thời kì công nghiệp hoá, hiện đại hoá,thời kỳ công nghệ thông tin đang phát triển trên phạm vi toàn cầu Các sản phẩmcủa ngành công nghệ thông tin là phần cứng, phần mềm và trí tuệ nhân tạo đangđược ứng dụng vào hầu hết các lĩnh vực và các ngành nghề khác nhau của xã hội.Ngày càng nhiều các cơ quan xí nghiệp quốc doanh, các công ty có nhu cầu tin họchoá trong công tác quản lý của mình.
Mặt khác, có thể nói, yếu tố quan trọng nhất quyết định tới sự thành công haythất bại của một công ty chính là yếu tố nguồn nhân lực Chính tầm quan trọng này
đã làm nảy sinh nhu cầu quản lý nhân sự trong công ty một cách có hệ thống vàtoàn diện nhất.Việc quản lý nhân sự có hiệu quả sẽ giúp các nhà quản lý có cácchiến lược điều chỉnh cho phù hợp
Xuất phát từ nhu cầu đó, tôi đã chọn đề tài “Tìm hiểu PHP và ứng dụng xâydựng Website quản lý nhân sự cho công ty INTECH”
Nội dung của đề tài bao gồm:
Chương I: Tổng quan về đề tài
Chương II: Khảo sát hệ thống
Chương III: Phân tích và thiết kế hệ thống
Do kiến thức và kinh nghiệm của bản thân còn hạn chế nên việc thực hiệnkhông tránh khỏi những thiếu xót Rất mong được sự đóng góp của quý thầy côtrong bộ môn công nghệ thông tin trường Đại Học Kinh Tế Quôc Dân, và bạn bèđồng nghiệp
Cuối cùng, tôi xin chân thành cảm ơn Th.S: Lưu Minh Tuấn, ông Phạm MạnhHùng, cùng toàn thể nhân viên trong công ty đã trực tiếp hướng dẫn tôi thực hiện đềtài này
Hà Nội ngày 29 tháng 2 năm 2008 Sinh viên thực hiện
Khuất Thị Trang
Trang 5CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI
I KHẢO SÁT NƠI THỰC TẬP
1 Giới thiệu về công ty
Tên công ty: Công ty cổ phần tập đoàn đầu tư công nghệ INTECH
Tên giao dịch: Intech Technology Investment Group Corporation
Tên viết tắt: INETCH GROUP CORP
Vốn điều lệ: 10.500.000.000 (Mười tỷ năm trăm triệu đồng VN)
Địa chỉ trụ sở: B1 Khu tập thể Vàng bạc đá quý, Phường Trung Hoà, Quận CầuGiấy, TP Hà Nội
Trang 6Văn phòng
Nhân sự
Bộ phận kế toán
Bộ phận kho quỹ
1.1 Lịch sử phát triển của Internet
Internet- còn gọi là Net – là mạng truyền thông toàn cầu kết nối hàng trămngàn mạng máy tính Các mạng máy tính là những mạng lớn diện rộng (WAN) nhưcác mạng của các công ty xuyên quốc gia như IBM, AT&T, Digital Equipment và
Trang 7Hewlett-Packard cho đến những mạng cục bộ (LAN) nhỏ của bất kỳ sở hữu nào ởkhắp nơi trên toàn cầu.
Mỗi mạng máy tính lại có thể có nhiều máy tính chủ HOST (máy tính cungcấp dịch vụ) và hàng trăm ngàn máy tính riêng lẻ kết nối để sử dụng dịch vụInternet – cũng được gọi là “siêu xa lộ thông tin” (Information Superhighway) Cácquốc gia có kết nối mạng Internet toàn cầu thường xây dựng mạng đường trục tốc
độ cao (high-speed backbone network) với một số nút để truy nhập mạng Internet(Internet Access Nodes) và một số cổng để kết nối với “siêu xa lộ thông tin”, nghĩa
là với mạng Internet thông tin toàn cầu
Nguồn gốc của Internet là ARPANET, một mạng thí nghiệm thuộc một dự án
do bộ quốc phòng khởi đầu và tài trợ thông qua cơ quan các dự án nghiên cứu caocấp ARPA năm 1969 Mạng liên kết trung tâm máy tính và xử lý thông tin của Bộquốc phòng với các trung tâm nghiên cứu khoa học và quân sự, một số lớn cáctrường đại học đang tiến hành các nghiên cứu quân sự được tài trợ Mạng kết hợpnhiều loại máy tính khác nhau (nhà chế tạo, tổ chức và cấu trúc cơ sở hệ điều hành,các phần mềm ứng dụng ) nằm cách xa nhau để trao đổi và chia sẻ các tài nguyênthông tin Một trong những mục tiêu của ARPANET là làm sao sự truyền thông tintrong mạng vẫn còn duy trì ngay cả khi có một số thành phần mạng (các máy tínhcác nút mạng và truyền dẫn liên kết các máy tính) bị hỏng ARPANET đã phát triểngiao thức kết nối mạng gọi là TCP/IP, đó là ngôn ngữ cho tất cả các máy tính khácnhau kết nối trên mạng có thể nói chuyện với nhau Năm 1974 hai nhà khoa họcmáy tính VinCert và Bob Kahn đã xuất bản tài liệu trình bày chi tiết về TCP/IP, vàTCP/IP đã trở thành giao thức mạng ARPANET Phải đến năm 1982 DoD mớituyên bố giao thức TCP/IP là giao thức tiêu chuẩn của DoD, và ARPANET là mạngxương sống cho nhiều mạng máy tính kết nối với nó nếu chấp nhận TCP/IP là giaothức kết nối Năm 1983, Internet chính thức ra đời
1.2 Các dịch vụ trên Internet
Các dịch vụ cơ bản trên Internet đươc chia ra làm 4 nhóm:
Các dịch vụ lấy thông tin (FTP và Gopher)
Trang 8 Các dịch vụ tìm kiếm thông tin (WAIS, Archie, Veronica)
Các dịch vụ truyền thông (Email, Telnet, UseNet, IRC)
Các dịch vụ truyền thông đa phương tiện (WWW)
1.2.1 Dịch vụ lấy thông tin
1.2.1.1 Dịch vụ truyền tệp tin FTP
FTP là một dịch vụ cho phép sao chép file từ một hệ thống máy tính này đếnmột hệ thống máy tính khác FTP bao gồm thủ tục và chương trình ứng dụng, và làmột trong những dịch vụ ra đời sớm nhất trên Internet
1.2.1.2 Dịch vụ Gophserver (Gopher- server)- tra cứu và lấy tập tin theo danh mụccủa thực đơn
Đây là một dịch vụ cho phép người dùng với chương trình Gopher client truynhập tới các máy tính dịch vụ Gopher để hiển thị và lấy các thư mục và các tệp tin.Dịch vụ Gopher cung cấp giao diện theo thực đơn với các nguồn tài nguyên có ởcác máy dịch vụ Gopher mà không cần phải đưa vào các lệnh thực hiện việc chuyểncác thư mục và các tệp tin
1.2.2 Dịch vụ tìm kiếm thông tin
1.2.2.1 Dịch vụ Archie – Tìm kiếm thông tin theo danh sách tệp tin
Để trợ giúp cho người sử dụng tìm kiếm nhanh các tệp tin cần, trên Internettạo lập ra các máy tính dịch vụ (Archie server), trên đó lập chỉ số của các tệp tinchứa trên các máy tính dịch vụ FTP giấu tin trên Internet Để tạo lập danh sách này,các máy tính dịch vụ lưu trữ phải thường xuyên kết nối với các máy tính dịch vụFTP giấu tin để cập nhật danh sách tất cả các tệp có trên các máy dịch vụ FTP dấutên
1.2.2.2 Dịch vụ Veronica- Tìm kiếm thông tin theo danh mục của các thực đơn
Có thể dùng thêm dịch vụ Veronica để trợ giúp người dùng tìm kiếm nhanhhơn các máy tính dịch vụ Gopher chứa các thông tin và các tệp tin mong muốn.Cũng tương tự Archie, trên máy tính dịch vụ Veronica tạo CSDL phục vụ cho tìmkiếm
Trang 91.2.2.3 Dịch vụ WAIS- Tìm kiếm thông tin diện rộng
Đây là dịch vụ cho phép người dùng tìm kiếm tất cả các tài liệu trên toàn cầutheo một chủ đề nào đó Người sử dụng phải có chương trình WAIS client chạy trênmáy tính của mình để kết nối với máy tính dịch vụ thông tin diện rộng
1.2.3 Dịch vụ truyền thông
1.2.3.1 Dịch vụ thư điện tử Email
Email là dịch vụ Internet được sử dụng rộng rãi nhất hiện nay Hầu hết cácthông báo ở dạng text đơn giản, nhưng người sử dụng có thể gửi kèm các file chứacác hình ảnh như sơ đồ, ảnh Hệ thống Email trên Internet là hệ thống thư điện tửlớn nhất trên thế giới, và thường được sử dụng cùng với các hệ thống chuyển thưkhác
1.2.3.2 Dịch vụ đăng nhập từ xa Telnet
Telnet cho phép người sử dụng từ một trạm làm việc của mình có thể đăngnhập vào một trạm ở xa qua mạng và làm việc với hệ thống y như là một trạm cuốinối trực tiếp với trạm xa đó Telnet là một giao thức tương đối đơn giản hơn so vớicác chương trình phỏng tạo trạm cuối (terminal emulator) phức tạp hiện nay
1.2.4 Dịch vụ truyền thông đa phương tiện – World Wide Web – WWW
WWW là dịch vụ Internet ra đời gần đây nhất, nhưng phát triển nhanh nhấthiện nay Web cung cấp một giao diện vô cùng thân thiện với người dùng, dễ sửdụng, vô cùng thuận lợi và đơn giản để tìm kiếm thông tin Web liên kết thông tindựa trên công nghệ hyper- link (siêu liên kết), cho phép các trang Web liên kết vớinhau trực tiếp qua các địa chỉ của chúng
III GIỚI THIỆU BÀI TOÁN
1 Đặt vấn đề
Xuất phát từ nhu cầu quản lý nhân sự trên trang Web, thao tác thân thiện vớingười dùng, tránh được các sai sót không thể tránh khỏi khi làm việc trực tiếp trênCSDL có thể làm mất mát thông tin, dễ hiểu cho những người không chuyên dùngcác hệ CSDL của công ty Chính từ nhu cầu đó đã nảy sinh nhu cầu xây dựng
Trang 10Website áp dụng công nghệ PHP và dùng hệ quản trị CSDL MySQL nhằm đáp ứngyêu cầu trên.
Bài toán bao gồm:
Đầu vào:
Đầu ra:
2 Yêu cầu bài toán
Bài toán quản lý nhân sự trên Web phải đáp ứng các yêu cầu tương ứng với đầu vào
và đầu ra của bài toán:
Khi tuyển mới nhân viên thì phải cập nhật được hồ sơ của nhân viên đó vàtheo dõi quá trình công tác trong thời gian làm việc tại công ty
Khi cán bộ, nhân viên được chuyển công tác, khen thưởng hay kỷ luật, xinnghỉ thì các thông tin đó phải được lưu trong hồ sơ của nhân viên đó
Đưa ra các báo cáo, thống kê tình hình nhân sự để từ đó có các phương phápđiều chỉnh cho phù hợp với yêu cầu
Tìm kiếm, tra cứu thông tin về nhân viên theo một yêu cầu nào đó để phục
vụ cho một số trường hợp
Phân quyền cho từng đối tượng riêng biệt cho phù hợp
3 Phạm vi của bài toán
Bài toán áp dụng cho việc quản lý nhân sự trong công ty Intech
Bài toán quản lý các vấn đề liên quan đến nhân sự trong công ty chứ chưa đề cập tớiviệc quản lý lương của nhân viên
CHƯƠNG II: KHẢO SÁT HỆ THỐNG
Việc quản lý nhân sự trong công ty bao gồm:
Quản lý hồ sơ của nhân viên trong suốt quá trình công tác (từ khi bắtđầu vào công ty đến khi chuyển tới công ty khác)
Quản lý đào tạo phát triển nguồn nhân lực: Quản lý việc đào tạo vàphát triển nguồn nhân lực thực hiện theo thủ tục đào tạo của công ty
Quản lý lương, thưởng cho người lao động theo quy định của công ty
Trang 11 Quản lý nghỉ phép.
Cán bộ, nhân viên được nghỉ phép theo nội quy lao động của công ty
Khi muốn nghỉ phép phải làm giấy đề nghị chuyển cho trưởng bộphận ký, sau đó chuyển cho phòng hành chính nhân sự xem xét, nếuphòng hành chính nhân sự đồng ý thì mới được nghỉ
Nếu nghỉ phép nhiều hơn 4 ngày thì phòng hành chính nhân sự phảichuyển cho tổng giám đốc duyệt
Quản lý nghỉ việc, nghỉ việc riêng:
Cán bộ, nhân viên được nghỉ việc hoặc nghỉ việc riêng theo quy địnhcủa công ty Khi muốn nghỉ thì phải làm giấy xin nghỉ gửi cho phònghành chính nhân sự
Điều động nhân viên: Việc chuyển nhân sự từ bộ phận này sang bộphận khác phải được cấp trưởng quản lý cả hai bộ phận này đồng ý vàchuyển giấy cho phòng hành chính nhân sự
Việc chuyển đổi nhân viên văn phòng, cán bộ cấp trưởng phòng trởlên thì phải được tổng giám đốc phê duyệt
Xử lý vi phạm kỷ luật: Việc xử lý vi phạm kỷ luật thực hiện theo nộiquy của công ty
Quản lý nhân sự theo từng phòng ban
II SƠ ĐỒ HOẠT ĐỘNG NGHIỆP VỤ
1 Yêu cầu của hệ thống
1.1 Về mặt thiết bị, phần mềm
Một máy tính làm phục vụ
Hệ điều hành Microsoft Window XP
Cài đặt cơ sở dữ liệu MySQL
Ngôn ngữ PHP5
Webserver : Apache
1.2 Về dữ liệu:
Cập nhật dữ liệu trực tuyến
Trang 121.3 Về giao diện
Hệ thống hoạt động trên môi trường Web
1.4 Về xử lý:
Xem thông tin nhân viên
Cập nhật hồ sơ nhân sự: quá trình công tác, bằng cấp, khen thưởng- kỷ luật
Tìm kiếm nhân sự theo một tiêu chí nào đó do ban quản lý đưa ra
Quản lý nhân viên theo từng phòng ban
I.5 Yêu cầu của Website
Quản lý:
Xem thông tin nhân viên
Thêm mới nhân viên
Cập nhật danh mục từ điển bao gồm: chức vụ, phòng ban, chuyên ngành mànhân viên đã được đào tạo
Tìm kiếm nhân viên phục vụ cho một yêu cầu nào đó
Xem báo cáo danh sách nhân viên có trong công ty trong từng thời điểm để
có các biện pháp điều chỉnh kịp thời
Xem báo cáo danh sách nhân viên được thưởng hoặc vi phạm kỷ luật củacông ty để từ đó có các phương pháp quản lý phù hợp
Xem báo cáo danh sách nhân viên theo phòng ban để từ đó có các chiến lượcđào tạo phù hợp
Xem báo cáo danh sách nhân viên hết hạn hợp đồng trong công ty
Xem báo cáo nhân viên thay đổi công tác
Đăng nhập vào hệ thống
Đổi mật khẩu
Admin:
Tạo/ xoá/ sửa User
Thêm/ xoá/ sửa các quyền
Gán quyền cho User
Nhân viên trong công ty:
Trang 13 Xem thông tin nhân viên.
Đăng nhập vào hệ thống
Đổi Password
2 Một số mẫu báo cáo thu được
DANH SÁCH CÁN BỘ, NHÂN VIÊN TRONG CÔNG TY INTECH
phận Ngàytháng
năm sinh
Giớitính Hộ khẩu Nơi ởhiện
1 Apache Web Server
Apache là Web Server phổ biến nhất hiện nay, chiếm khoảng gần 60% thịtrường máy chủ Web trên thế giới chứng tỏ sự mạnh mẽ đáng tin cậy của nó TrênWeb server sẽ chứa những site mà các máy con có thể truy xuất đến các site này
2 Giới thiệu PHP
2.1 PHP là gì?
PHP (Persional Home Page hay PHP Hypertext Preprocessor) được giới thiệunăm 1994 bởi R.Lerdoft, như một bộ sưu tập chưa chặt chẽ dựa vào Perl và cáccông cụ của trang chủ
Trang 15Hàm trong PHP dùng giống như trong C Ngoại trừ việc bạn không cần phải khaibáo kiểu cho tham số của hàm
2.11 Tham chiếu
2.12 Thao tác với ảnh
PHP không bị giới hạn với mã HTML được trả lại trình duyệt Vì vậy, có thểdùng PHP để tạo và thao tác với các file ảnh có định dạng khác nhau, baogồm: gif,.jpg,.bmp PHP có thể đưa các file ảnh trực tiếp đến các trình duyệt Bạn
sẽ cần biên dịch PHP với thư viện GD bao gồm các hàm thao tác với ảnh GD vàPHP có thể sẽ cần có thêm một số thư viện khác, tuỳ thuộc vào định dạng file ảnhcần dùng
3.4 My SQL là gì?
MySQL là một database server, là hệ thống quản lý cơ sở dữ liệu quan hệ.Trong việc lưu trữ, tìm kiếm, sắp xếp và truy vấn dữ liệu, nó tỏ ra rất nhanh vàmạnh mẽ MySQL server điều khiển truy nhập dữ liệu đa người dùng cùng một thờiđiểm, cung cấp khả năng truy nhập dữ liệu nhanh, bảo đảm cho người sử dụng đượccấp quyền truy cập dữ liệu của hệ thống
Trang 16MySQL thường được sử dụng chung với PHP trong những trang Web cần sử dụngtới CSDL.
3.5 Cài đặt MySQL
3.6 Sơ lược MySQL
Các CSDL trong MySQL được tạo hoàn toàn bằng lệnh
Các lệnh trong SQL được kết thúc bởi dấu chấm phảy (;) Trừ một số trường hợpnhư lệnh quit là trường hợp đặc biệt
Khi thực hiện lệnh, MySQL chuyển nó tới server và yêu cầu thực hiện lệnh đó Do
đó, “mysql>” ở cuối cùng khi bấm enter thực hiện lệnh báo hiệu yêu cầu đã đượcthực hiện
MySQL đưa ra kết quả dưới dạng một bảng (table) gồm các cột (columns) và cáchàng (rows)
MySQL cũng đưa ra bao nhiêu hàng được trả về và trong vòng bao nhiêu giây.Ngoài ra MySQL cũng thể hiện được các phép tính đơn giản
Các lệnh trong MySQL có thể được viết trên một hàng hoặc nhiều hàng
3.7 Các lệnh cơ bản trong MySQL
a SHOW DATABASE; // Liệt kê tất cả các database có trên server
b USE tên database ; // Lựa chọn sử dụng database có trên server, nếu có máy sẽbáo là database changed
c CREATE DATABASE tên database; // Tạo database mới
d SHOW TABLE; // Liệt kê các bảng trong database
e CREATE TABLE tên table; // tạo bảng cho database
f DESCRIBE tên table;// mô tả bảng đã tạo
g INSERT INTO tên table [COLUMN 1, COLUMN 2, ] VALUES (VALUES 1,VALUES 2, ); // Đưa dữ liệu vào bảng
h SELECT items
FROM table
[WHERE điều kiện]
[GROUP BY group_type]