Xây dựng hệ thống thông tin quản lý cán bộ khoa khoa học tự nhiên trên nền tảng zend framework 2

  • Số trang: 89 |
  • Loại file: PDF |
  • Lượt xem: 13 |
  • Lượt tải: 0
minhtuan

Đã đăng 15929 tài liệu

Mô tả:

TRƢỜNG ĐẠI HỌC CẦN THƠ KHOA KHOA HỌC TỰ NHIÊN BỘ MÔN TIN HỌC ỨNG DỤNG ---- LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC XÂY DỰNG HỆ THỐNG THÔNG TIN QUẢN LÝ CÁN BỘ KHOA KHOA HỌC TỰ NHIÊN TRÊN NỀN TẢNG ZEND FRAMEWORK 2 Cán bộ hƣớng dẫn ThS. Võ Hải Đăng Sinh viên thực hiện Hồ Thị Liên MSSV: 1108021 Cần Thơ - 2014 TRƢỜNG ĐẠI HỌC CẦN THƠ KHOA KHOA HỌC TỰ NHIÊN BỘ MÔN TIN HỌC ỨNG DỤNG ---- LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC XÂY DỰNG HỆ THỐNG THÔNG TIN QUẢN LÝ CÁN BỘ KHOA KHOA HỌC TỰ NHIÊN TRÊN NỀN TẢNG ZEND FRAMEWORK 2 Cán bộ hƣớng dẫn Ths. Võ Hải Đăng Sinh viên thực hiện Hồ Thị Liên MSSV: 1108021 Cán bộ phản biện Chủ tịch hội đồng: Ths. Nguyễn Thị Thùy Linh Ủy viên: Ts. Nguyễn Hữu Hòa Luận văn đƣợc bảo vệ tại: Hội đồng chấm luận văn tốt nghiệp Bộ môn Tin học Ứng dụng Khoa Khoa học Tự nhiên, Trƣờng Đại học Cần Thơ vào ngày 20 tháng 05 năm 2014 Mã số đề tài: Có thể tìm hiểu luận văn tại: - Trung tâm Học liệu, Trƣờng Đại học Cần Thơ - Website: http://www.lrc.ctu.edu.vn/ Cần Thơ – 2014 LỜI CẢM ƠN  Trong suốt quá trình học tập, rèn luyện mà đặc biệt là giai đoạn thực hiện luận văn “Xây dựng hệ thống quản lý cán bộ Khoa Khoa học Tự Nhiên bằng Zend Framework 2”, tôi đã gặp không ít khó khăn và trở ngại. Tuy nhiên, nhờ có sự động viên từ gia đình, sự hƣớng dẫn từ thầy cô và sự giúp đỡ từ bạn bè cộng với sự cố gắng và nỗ lực của bản thân, tôi đã hoàn thành luận văn này. Tôi xin gởi lời cảm ơn chân thành nhất đến: Gia đình đã luôn quan tâm, động viên để tôi an tâm học tập và rèn luyện trong thời gian qua. Quý Thầy, Cô bộ môn Tin học Ứng dụng vì những kiến thức và kinh nghiệm mà Thầy, Cô đã truyền đạt, giúp tôi có nền tảng kiến thức để thực hiện luận văn này. Xin gởi lời tri ân đến giáo viên hƣớng dẫn ThS. Võ Hải Đăng đã tận tình hƣớng dẫn và góp ý cho tôi rất nhiều trong quá trình làm luận văn. Bạn bè trong lớp Tin học Ứng dụng K36 đã kịp thời chia sẽ và đƣa ra những góp ý quý báu cho đề tài. Mặc dù đã cố gắng hoàn thành luận văn này, nhƣng với lƣợng kiến thức có hạn sẽ khó tránh khỏi những thiếu sót và hạn chế. Do đó, tôi rất mong nhận đƣợc sự nhận xét và góp ý từ quý Thầy, Cô, bạn bè để có thể rút kinh nghiệm và hoàn thiện hơn. Cần Thơ, ngày 10/04/2014 Sinh viên thực hiện Hồ Thị Liên MỤC LỤC MỤC LỤC MỤC LỤC .......................................................................................................................i DANH MỤC HÌNH ..................................................................................................... iii DANH MỤC BẢNG ...................................................................................................... v TÓM TẮT .....................................................................................................................vi ABSTRACT ................................................................................................................ vii CHƢƠNG 1: TỔNG QUAN ......................................................................................... 1 1.1 ĐẶT VẤN ĐỀ ...................................................................................................... 1 1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ ....................................................................... 1 1.3 PHẠM VI ĐỀ TÀI ................................................................................................ 2 1.3.1 Phạm vi chức năng.......................................................................................... 2 1.3.2 Phạm vi yêu cầu kỹ thuật ................................................................................ 3 1.4 PHƢƠNG PHÁP NGHIÊN CỨU ........................................................................ 3 1.4.1 Về phƣơng pháp thu thập thông tin ................................................................ 3 1.4.2 Về lý thuyết .................................................................................................... 3 1.4.3 Về công nghệ .................................................................................................. 4 CHƢƠNG 2: CƠ SỞ LÝ THUYẾT ............................................................................. 5 2.1 MÔ HÌNH MVC ................................................................................................... 5 2.1.1 Lịch sử ra đời mô hình MVC ......................................................................... 5 2.1.2 Các thành phần trong mô hình ....................................................................... 5 2.1.3 Quy trình xử lý ............................................................................................... 6 2.1.4 Ƣu, nhƣợc điểm của mô hình MVC ............................................................... 7 2.2 TỔNG QUAN VỀ FRAMEWORK ..................................................................... 7 2.3 ZEND FRAMEWORK ........................................................................................ 8 2.3.1 Tổng quan ....................................................................................................... 8 2.3.2 Lý do chọn Zend Framework ......................................................................... 9 2.3.3 Các lớp phổ biến trong Zend Framework 2.................................................... 9 2.3.4 Cấu trúc thƣ mục của một ứng dụng Zend Framework ............................... 13 2.3.5 Mô hình MVC trong ứng dụng Zend Framework 2 ..................................... 14 CHƢƠNG 3: NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU ...................................... 17 3.1 ĐẶC TẢ HỆ THỐNG ........................................................................................ 17 i MỤC LỤC 3.1.1 Giới thiệu ...................................................................................................... 17 3.1.2 Mô tả bài toán ............................................................................................... 17 3.2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG............................................................... 18 3.2.1 Xây dựng các thực thể .................................................................................. 18 3.2.2 Mô hình thực thể mối kết hợp ...................................................................... 22 3.2.3 Mô hình dữ liệu vật lý (Physical Data Model - PDM) ................................. 28 3.2.4 Lƣợc đồ cơ sở dữ liệu quan hệ ..................................................................... 29 3.2.5 Sơ đồ chức năng ........................................................................................... 35 3.2.6 Sơ đồ Use Case ............................................................................................. 38 3.3 KẾT QUẢ ĐẠT ĐƢỢC ..................................................................................... 39 3.3.1 Về lý thuyết .................................................................................................. 39 3.3.2 Về chƣơng trình ............................................................................................ 39 3.4 HỆ THỐNG QUẢN LÝ CÁN BỘ KHOA KHOA HỌC TỰ NHIÊN .............. 40 3.4.1 Một số xử lý đặc biệt .................................................................................... 40 3.4.2 Hệ thống quản lý cán bộ ............................................................................... 42 3.5 HẠN CHẾ CÒN TỒN TẠI ................................................................................ 63 KẾT LUẬN VÀ ĐỀ NGHỊ ......................................................................................... 64 TÀI LIỆU THAM KHẢO........................................................................................... 65 PHỤ LỤC 1 .................................................................................................................. 66 PHỤ LỤC 2 .................................................................................................................. 68 PHỤ LỤC 3 .................................................................................................................. 69 PHỤ LỤC 4 .................................................................................................................. 76 ii DANH MỤC HÌNH DANH MỤC HÌNH Hình 2.1 Mô hình MVC .................................................................................................. 5 Hình 2.2 Thứ tự xử lý trong mô hình MVC ................................................................... 6 Hình 2.3 Biểu tƣợng Zend Framework 2 ........................................................................ 8 Hình 2.4 Cách đặt tên cho view..................................................................................... 16 Hình 3.1 Mối kết hợp học vị nhân viên ......................................................................... 23 Hình 3.2 Mối kết hợp học hàm nhân viên ..................................................................... 23 Hình 3.3 Mối kết hợp chứng chỉ nhân viên ................................................................... 24 Hình 3.4 Mối kết hợp chức vụ nhân viên ...................................................................... 24 Hình 3.5 Mối kết hợp cố vấn học tập ............................................................................ 25 Hình 3.6 Mối kết hợp bậc lƣơng theo ngạch lƣơng....................................................... 25 Hình 3.7 Mối kết hợp hệ số lƣơng cán bộ ..................................................................... 26 Hình 3.8 Mô hình dữ liệu quan niệm ............................................................................ 26 Hình 3.9 Mô hình dữ liệu quan niệm (tt)....................................................................... 27 Hình 3.10 Mô hình dữ liệu vật lý .................................................................................. 28 Hình 3.11 Lƣợc đồ cơ sở dữ liệu quan hệ ..................................................................... 29 Hình 3.12 Sơ đồ chức năng tổng quát ........................................................................... 35 Hình 3.13 Sơ đồ chức năng nút Danh mục.................................................................... 36 Hình 3.14 Sơ đồ chức năng nút Quản lý ....................................................................... 36 Hình 3.15 Sơ đồ chức năng nút Tìm kiếm .................................................................... 36 Hình 3.16 Sơ đồ chức năng nút Thống kê ..................................................................... 37 Hình 3.17 Sơ đồ chức năng nút Tiện ích ....................................................................... 37 Hình 3.18 Sơ đồ use case của Actor Quản trị hệ thống ................................................. 38 Hình 3.19 Sơ đồ use case của Actor Cán bộ quản lý .................................................... 38 Hình 3.20 Sơ đồ use case của Actor Cán bộ sử dụng .................................................... 39 Hình 3.21 Form đăng nhập hệ thống ............................................................................. 42 Hình 3.22 Quản trị ngƣời dùng ..................................................................................... 43 Hình 3.23 Danh sách các loại danh mục ....................................................................... 44 Hình 3.24 Form sửa thông tin lớp chuyên ngành .......................................................... 45 Hình 3.25 Form thêm lớp chuyên ngành ....................................................................... 46 iii DANH MỤC HÌNH Hình 3.26 Danh sách cán bộ theo Bộ môn - Phòng ban. ............................................... 47 Hình 3.27 Thông tin chi tiết của cán bộ giảng dạy........................................................ 48 Hình 3.28 Thông chi chi tiết của cán bộ phòng ban. .................................................... 48 Hình 3.29 Chọn loại thông tin để cập nhật .................................................................... 49 Hình 3.30 Cập nhật thông tin nhân thân ....................................................................... 49 Hình 3.31 Chọn loại cán bộ cần thêm ........................................................................... 49 Hình 3.32 Thêm cán bộ giảng dạy................................................................................. 50 Hình 3.33 Xuất thông tin cán bộ ................................................................................... 51 Hình 3.34 Kết quả tìm cán bộ ........................................................................................ 52 Hình 3.35 Bổ nhiệm cố vấn học tập .............................................................................. 52 Hình 3.36 Chọn cán bộ làm cố vấn học tập ................................................................... 54 Hình 3.37 Quản lý cố vấn học tập ................................................................................. 55 Hình 3.38 Đổi cố vấn học tập ........................................................................................ 55 Hình 3.39 Quản lý nghỉ phép ........................................................................................ 58 Hình 3.40 Thêm ngày nghỉ phép ................................................................................... 58 Hình 3.41 Form chọn cán bộ nghỉ phép ........................................................................ 59 Hình 3.42 Cập nhật thông tin nghỉ phép........................................................................ 59 Hình 3.43 Thống kê cán bộ theo đơn vị ........................................................................ 60 Hình 3.44 Danh sách cán bộ thống kê theo đơn vị ........................................................ 60 Hình 3.45 Trang thông tin cán bộ .................................................................................. 61 Hình 3.46 Thông tin cá nhân của cán bộ ....................................................................... 61 Hình 3.47 Sửa thông tin cán bộ ..................................................................................... 62 iv DANH MỤC BẢNG DANH MỤC BẢNG Bảng 2.1 Ý nghĩa của các thƣ mục trong ứng dụng ...................................................... 13 Bảng 3.1 Thuộc tính của thực thể bộ môn..................................................................... 18 Bảng 3.2 Thuộc tính của thực thể phòng ban ................................................................ 19 Bảng 3.3 Thuộc tính của thực thể nhân viên ................................................................. 19 Bảng 3.4 Thuộc tính của thực thể nhân thân ................................................................. 19 Bảng 3.5 Thuộc tính của thực thể học vị ....................................................................... 20 Bảng 3.6 Thuộc tính của thực thể học hàm ................................................................... 20 Bảng 3.7 Thuộc tính của thực thể chứng chỉ ................................................................. 20 Bảng 3.8 Thuộc tính của thực thể chức vụ .................................................................... 20 Bảng 3.9 Thuộc tính của thực thể dân tộc ..................................................................... 21 Bảng 3.10 Thuộc tính của thực thể tôn giáo .................................................................. 21 Bảng 3.11 Thuộc tính của thực thể tỉnh thành............................................................... 21 Bảng 3.12 Thuộc tính của thực thể quốc gia ................................................................. 21 Bảng 3.13 Thuộc tính của thực thể ngạch lƣơng ........................................................... 21 Bảng 3.14 Thuộc tính của thực thể bậc lƣơng ............................................................... 22 Bảng 3.15 Thuộc tính của thực thể lớp chuyên ngành .................................................. 22 Bảng 3.16 Thuộc tính của thực thể diện nhân viên ....................................................... 22 Bảng 3.17 Thuộc tính của thực thể nhóm quyền ........................................................... 22 Bảng 3.18 Xác định khóa học........................................................................................ 40 Bảng 3.19 Nguyên tắc xác định học kỳ niên khóa ........................................................ 41 v TÓM TẮT TÓM TẮT Vấn đề quản lý và lƣu trữ thông tin nhân sự là một khâu quan trọng trong công tác quản lý của bất kì cơ quan, tổ chức nào. Khoa Khoa học Tự nhiên, Trƣờng Đại học Cần Thơ cũng không ngoại lệ. Cùng với sự phát triển vững mạnh từ khi thành lập đến nay, số lƣợng đội ngũ cán bộ làm việc tại khoa ngày càng tăng lên, công tác quản lý cán bộ càng đƣợc quan tâm chú trọng. Do đó, việc xây dựng một ứng dụng nhằm lƣu trữ và quản lý thông tin của cán bộ là một yêu cần rất cần thiết. Bên cạnh đó, với sự phát triển mạnh mẽ của công nghệ thông tin nhƣ hiện nay thì việc thiết kế các chƣơng trình ứng dụng để giải quyết vấn đề này trở nên dễ dàng hơn. Trong đó, phát triển ứng dụng trên môi trƣờng Internet là một xu hƣớng hàng đầu hiện nay bởi những tiện ích mà nó mang lại trong việc truy cập và sử dụng hệ thống. Website quản lý cán bộ Khoa Khoa học Tự nhiên đƣợc viết bằng ngôn ngữ PHP trên nền tảng Zend Framework 2. Hệ thống sử dụng hệ quản trị cơ sở dữ liệu MySQL và ứng dụng một số kỹ thuật hỗ trợ lập trình web nhƣ Ajax, jQuery,… Sau khi hoàn thành, hệ thống có thể xử lý đƣợc các yêu cầu cơ bản nhƣ lƣu trữ và cập nhật thông tin cán bộ, tìm kiếm, thống kê thông tin theo yêu cầu. Đồng thời, cũng cho phép in và xuất các báo cáo. Hệ thống này sẽ giúp nâng cao hiệu quả quản lý thông tin nhân sự tại Khoa Khoa học Tự nhiên, làm cho việc quản lý trở nên dễ dàng, nhanh chóng và chính xác hơn. Từ khóa: Khoa Khoa học Tự nhiên, quản lý cán bộ, mô hình MVC, Zend Framework 2, PHP & MySQL. Nội dung chính của luận văn gồm những phần sau đây: Chương 1: Tổng quan. Chƣơng này trình bày các vấn đề tổng quan bao gồm: Đặt vấn đề, lịch sử giải quyết vấn đề, phạm vi đề tài và phƣơng pháp thực hiện. Chương 2: Cơ sở lý thuyết. Chƣơng này giới thiệu hai nội dung cơ bản là lý thuyết về mô hình MVC và Zend Framework. Chương 3: Nội dung và kết quả nghiên cứu. Chƣơng này tập trung trình bày bốn nội dung chính. Thứ nhất là đặc tả hệ thống, mô tả quy trình quản lý thông tin nhân sự tại Khoa Khoa học Tự nhiên. Thứ hai là kết quả phân tích và thiết kế hệ thống. Thứ ba là giới thiệu về hệ thống thông tin quản lý cán bộ đƣợc xây dựng trên nền tảng Zend Framework 2. Nội dung cuối cùng trình bày những hạn chế còn tồn tại trong chƣơng trình. Phần Kết luận, phần này trình bày những kết luận rút ra đƣợc từ quá trình nghiên cứu và thực hiện luận văn. vi ABSTRACT ABSTRACT Managing human resource information is an important step in the management of any agency or organization. The College of Natural Sciences (CNS) at Can Tho University is no exception. With the strong growth since it’s establishment, the number of employees in CNS has are increased quickly, the management of human resources is more focused. Therefore, developing an application to store and manage information of human resources becomes a necessary requirement. In addition, with the strong development of information technology, designing an application programs to solve this problem becomes easier. In particular, developing web-based application is a top trend because the utility that it bring to us in access and using the system. Website for human resource management of College of Natural Sciences is wrote by PHP programming language, based on Zend Framework 2. Using MySQL Database Management System and several of technical support for web application programming such as Ajax, jQuery,... After completing, this application can handle basic requirements, such as storage, update, search and statistic information as required. In addition, it also allows printing reports. This system helps us to improve the effect of management human resource information at the College of Natural Sciences, make the management is more easier, quickly and accurately. Keyword: College of Natural Sciences, human resource management, MVC model, Zend Framework 2, PHP & MySQL. vii Chƣơng 1: Tổng quan CHƢƠNG 1: TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ Đƣợc thành lập từ năm 1998, Khoa Khoa học Tự nhiên, Trƣờng Đại học Cần Thơ giờ đây đã phát triển vững mạnh. Đi đôi với quá trình phát triển đó cũng nảy sinh không ít vấn đề cần giải quyết, mà chủ yếu là ở công tác quản lý và lƣu trữ thông tin. Có nhiều khía cạnh cần đƣợc quản lý nhƣ: công văn, phòng học, phòng thí nghiệm, thƣ viện, sinh viên, cán bộ,… Đặc biệt, trong công tác quản lý cán bộ, sau một thời gian hoạt động, số lƣợng đội ngũ cán bộ giảng dạy và làm việc tại khoa ngày càng tăng lên. Do đó, khối lƣợng thông tin cần quản lý cũng tăng theo thời gian. Ngày nay, công nghệ thông tin phát triển một cách nhanh chóng và đóng vai trò quan trọng trong công tác quản lý thông tin của mọi cơ quan và tổ chức. Tại Khoa Khoa học Tự nhiên, việc đƣa các ứng dụng công nghệ thông tin vào thực tiễn quản lý cũng mang lại những lợi ích đáng kể so với việc quản lý một cách thủ công nhƣ trƣớc kia. Tuy nhiên, vẫn gặp một số khó khăn nhất định do các ứng dụng này không thật sự tƣơng thích với thực tế quản lý nhân sự tại khoa hiện nay. Việc sắp xếp, tìm kiếm cũng nhƣ cập nhật thông tin cho cán bộ vẫn mất nhiều thời gian và công sức. Bên cạnh đó, với sự phát triển mạnh mẽ của Internet, việc phát triển các ứng dụng quản lý trên web ngày càng trở nên phổ biến hơn nhờ những tiện ích mà nó mang lại. Cho phép ngƣời dùng tƣơng tác với hệ thống từ xa, giúp tiết kiệm thời gian, công sức và nâng cao hiệu quả công việc. Từ thực tế đó, việc phát triển một ứng dụng web để quản lý thông tin của cán bộ tại Khoa Khoa học Tự nhiên trở nên rất cần thiết. Nhằm giải quyết vấn đề này, đề tài: “Xây dựng hệ thống quản lý cán bộ Khoa Khoa học Tự nhiên bằng Zend Framework 2” đƣợc thực hiện. Với mục tiêu góp phần làm cho việc quản lý và cập nhật thông tin đƣợc nhanh chóng, chính xác, tiện lợi và tiết kiệm thời gian. 1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ Việc quản lý thông tin cán bộ tại Khoa Khoa học Tự nhiên đã đƣợc tin học hóa bằng cách sử dụng các ứng dụng công nghệ thông tin. Mặc dù có thể đáp ứng một số yêu cầu cơ bản nhƣ lƣu trữ và cập nhật dữ liệu nhƣng theo theo thời gian và sự phát triển mạnh mẽ của công nghệ thông tin, những ứng dụng này đã bộc lộ một số hạn chế nhất định do không thật sự tƣơng thích với hệ thống quản lý cán bộ hiện nay. Ngày nay, các ứng dụng trên nền web cho phép ngƣời dùng tƣơng tác với hệ thống ở bất cứ đâu, tại bất kỳ thời điểm nào một cách tiện lợi và nhanh chóng. Trong khi đó, ứng dụng quản lý nhân sự hiện tại lại không đáp ứng đƣợc nhu cầu này. Trang 1 Chƣơng 1: Tổng quan Có nhiều lựa chọn để xây dựng một hệ thống quản lý thông tin cán bộ và đây cũng không phải là một đề tài mới, nhƣng việc phát triển hệ thống này trên môi trƣờng web và sử dụng thƣ viện Zend Framework 2 là một hƣớng tiếp cận mới, linh hoạt và mang đến nhiều tiện ích hơn cả. 1.3 PHẠM VI ĐỀ TÀI 1.3.1 Phạm vi chức năng Đề tài xây dựng một chƣơng trình để quản lý thông tin của cán bộ thuộc các bộ môn và phòng ban trong Khoa Khoa học Tự nhiên. Cụ thể là thông tin cá nhân, liên hệ, chuyên môn, chức vụ, thân nhân, đoàn thể, hệ số lƣơng, nghỉ phép, nghỉ hƣu, thôi việc, cố vấn học tập cho lớp chuyên ngành (nếu đó là cán bộ giảng dạy),… đáp ứng các nhu cầu cơ bản cho ngƣời sử dụng nhƣ: xem, cập nhật, tìm kiếm và thống kê thông tin. Hệ thống đƣợc thiết kế nhằm phục vụ cho ba nhóm ngƣời dùng chính là quản trị hệ thống, cán bộ quản lý và cán bộ sử dụng, ứng với mỗi nhóm ngƣời dùng là các chức năng cụ thể.  Quản trị hệ thống Ngƣời dùng thuộc nhóm quản trị hệ thống có thể thực hiện các công việc liên quan đến quản lý danh sách ngƣời dùng. Các chức năng cho nhóm này bao gồm:  Xem danh sách ngƣời dùng theo từng nhóm quyền.  Gán hoặc thay đổi nhóm quyền sử dụng của những ngƣời dùng khác trong hệ thống.  Cập nhật, cấp mật khẩu mới cho ngƣời sử dụng.  Cập nhật danh mục nhóm quyền.  Cán bộ quản lý Ngƣời dùng thuộc nhóm cán bộ quản lý là ngƣời sẽ thực hiện các công việc liên quan đến việc cập nhật hồ sơ cán bộ, bao gồm các chức năng cụ thể nhƣ:  Quản lý thông tin cán bộ: thêm cán bộ mới vào danh sách hoặc xóa thông tin cán bộ khỏi hệ thống. Cập nhật thông tin cá nhân, thông tin liên hệ, trình độ chuyên môn, chứng chỉ, hệ số lƣơng, nghỉ phép, nghỉ hƣu,…  Công tác cố vấn học tập: lƣu thông tin về cố vấn học tập của lớp chuyên ngành, cập nhật lại thông tin nếu có thay đổi giáo viên cố vấn.  Thông tin chức vụ: cho phép lƣu trữ các thông tin liên quan đến chức vụ mà cán bộ đang làm, cập nhật lại thông tin nếu có thay đổi trong quá trình làm việc của cán bộ. Trang 2 Chƣơng 1: Tổng quan  Thân nhân: quản lý thân nhân của cán bộ, gồm thêm mới và cập nhật lại thông tin cho phù hợp.  Quản lý các danh mục: thêm, sửa, xóa thông tin trong các danh mục nhƣ lớp chuyên ngành, bộ môn, phòng ban, ngạch lƣơng, bậc lƣơng,…  In, xuất báo cáo về thông tin cán bộ, danh sách cán bộ theo các tiêu chí cụ thể.  Cán bộ sử dụng Cán bộ sử dụng hệ thống để xem thông tin cá nhân của mình và các thông tin có liên quan khác nhƣ: hệ số lƣơng, quá trình làm việc (chức vụ, nghỉ phép, cố vấn học tập),... Ngoài ra, cán bộ cũng có thể tự cập nhật các thông tin cá nhân cơ bản nếu thấy có sai sót. 1.3.2 Phạm vi yêu cầu kỹ thuật Trong quá trình sử dụng, hệ thống phải đảm bảo các yêu cầu nhƣ:  Chính xác, đảm bảo ràng buộc toàn vẹn dữ liệu.  An toàn và bảo mật thông tin hệ thống cũng nhƣ thông tin cá nhân của ngƣời dùng.  Giao diện trực quan, thân thiện, giúp ngƣời dùng thao tác dễ dàng, nhanh chóng.  Tốc độ truy xuất nhanh, linh hoạt. 1.4 PHƢƠNG PHÁP NGHIÊN CỨU 1.4.1 Về phƣơng pháp thu thập thông tin Tìm hiểu quy trình quản lý thông tin cán bộ tại khoa thông qua quan sát thực tế và từ giáo viên hƣớng dẫn. Dựa trên những thông tin đó, tiến hành phân tích, thiết kế và xây dựng cơ sở dữ liệu cho đầy đủ, phù hợp với quy trình quản lý thông tin nhân sự tại Khoa. 1.4.2 Về lý thuyết Vận dụng kiến thức từ những học phần đã đƣợc học, đặc biệt là môn học Phân tích và thiết kế hệ thống thông tin, Cơ sở dữ liệu và Hệ quản trị cơ sỡ dữ liệu, Xây dựng ứng dụng web với PHP và MySQL để xây dựng mô hình cơ sở dữ liệu và lập trình. Đồng thời, tìm hiểu về Zend Framework 2 thông qua website chính thức tại địa chỉ: http://www.framework.zend.com Trang 3 Chƣơng 1: Tổng quan 1.4.3 Về công nghệ Những công cụ đƣợc sử dụng để phát triển hệ thống trong phạm vi đề tài này gồm có:     Công cụ mô hình hóa: Power Designer 15.1, MySQL Workbench Công cụ lập trình: Zend Studio 10.0 Hệ quản trị cơ sở dữ liệu: MySQL 5.5.34 Web server: Apache 2.4.7 Trang 4 Chƣơng 2: Cơ sở lý thuyết CHƢƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 MÔ HÌNH MVC Một ứng dụng web đƣợc xây dựng theo phƣơng pháp lập trình PHP thuần chỉ thật sự đơn giản và phù hợp với các dự án có quy mô nhỏ, lập trình viên làm việc một cách độc lập. Mã nguồn của những ứng dụng viết theo phƣơng pháp này thƣờng đặt chung trong cùng một tập tin, gây khó khăn trong việc quản lý, kiểm tra lỗi. Trƣờng hợp cần phát triển một ứng dụng có quy mô lớn, trong môi trƣờng làm việc nhóm với số lƣợng nhân sự tham gia thay đổi theo thời gian thì sẽ gặp rất nhiều khó khăn nếu lập trình theo phƣơng pháp này. Cụ thể, việc phân công việc cũng nhƣ tập hợp các module sau khi hoàn thành rất khó khăn, ngƣời phát triển sau sẽ khó nắm bắt và tiếp tục phát triển hệ thống. Đồng thời, việc mở rộng và nâng cấp hệ thống cũng không hề dễ dàng. Với những khó khăn nhƣ trên, mô hình MVC ra đời giúp khắc phục những hạn chế của phƣơng pháp lập trình truyền thống, làm cho việc quản lý và phát triển ứng dụng đƣợc thực hiện dễ dàng, tiết kiệm thời gian. 2.1.1 Lịch sử ra đời mô hình MVC Mô hình MVC (Model-View-Controller) ra đời vào năm 1979 dựa trên ngôn ngữ lập trình Smalltalk bởi Trygve Reenskaug, một nhà nghiên cứu tại phòng thí nghiệm Xerox PARC ở Palo Alto. Mô hình MVC giúp cho các lập trình viên có thể tách ứng dụng ra thành 3 phần khác nhau, gồm Model, View và Controller. Mỗi thành phần có một nhiệm vụ riêng biệt và độc lập với các thành phần khác. 2.1.2 Các thành phần trong mô hình Hình 2.1 Mô hình MVC Trang 5 Chƣơng 2: Cơ sở lý thuyết Model (Tầng dữ liệu): Là một đối tƣợng hoặc một tập hợp các đối tƣợng biểu diễn cho phần dữ liệu của chƣơng trình. Tất cả các nghiệp vụ logic đƣợc thực thi ở Model. Dữ liệu vào từ ngƣời dùng sẽ thông qua View đến Controller và đƣợc kiểm tra ở Model trƣớc khi lƣu vào cơ sở dữ liệu. Việc truy xuất, xác nhận và lƣu dữ liệu là một phần của Model. View (Tầng giao diện): Là phần giao diện với ngƣời dùng, bao gồm việc hiện dữ liệu ra màn hình, cung cấp các menu, nút bấm, hộp thoại, chọn lựa,… để ngƣời dùng có thể thêm, xóa, sửa, tìm kiếm và làm các thao tác khác đối với dữ liệu. Controller (Tầng điều khiển): Là phần điều khiển của ứng dụng, điều hƣớng các nhiệm vụ đến đúng phƣơng thức có chức năng xử lý nhiệm vụ đó. Nó chịu trách nhiệm xử lý các tác động về mặt giao diện, các thao tác đối với model và cuối cùng là chọn một view thích hợp để hiển thị ra màn hình. 2.1.3 Quy trình xử lý Hình 2.2 Thứ tự xử lý trong mô hình MVC Thứ tự xử lý sự kiện trong mô hình MVC đƣợc diễn ra nhƣ sau: 1. Controller nhận yêu cầu, phân tích các tham số. 2. Controller xử lý và trả kết quả lại cho View. Nếu có thao tác cần tính toán, truy vấn hay cập nhật dữ liệu thì Controller sẽ điều hƣớng chúng đến phƣơng thức xử lý phù hợp ở Model. 3. Model nhận thông tin và thực thi các yêu cầu, trả kết quả lại cho Controller. 4. Controller nhận kết quả từ Model và chuyển sang View. 5. View nhận các giá trị từ Controller, định dạng lại dữ liệu và trả về Controller. Trang 6 Chƣơng 2: Cơ sở lý thuyết 6. Controller nhận kết quả từ View, trả về cho cho ngƣời dùng để hiển thị trên trình duyệt. 2.1.4 Ƣu, nhƣợc điểm của mô hình MVC  Ƣu điểm  Sử dụng mô hình MVC để phát triển ứng dụng: tiết kiệm thời gian, tận dụng sức mạnh trong làm việc nhóm, giúp phân chia công việc cho các nhóm theo chuyên môn khác nhau nhƣ: thiết kế giao diện, nhóm lập trình, nhóm viết các hàm, tƣơng tác với dữ liệu,…  Bảo trì: với các lớp đƣợc phân chia rõ ràng, việc tìm kiếm và chỉnh sửa sẽ nhanh chóng, linh hoạt, không làm ảnh hƣởng đến những thành phần khác.  Mở rộng: khi cần nâng cấp hệ thống, chỉ cần viết thêm các module và gắn vào ứng dụng mà không làm ảnh hƣởng đến những phần đã có trƣớc đó.  Nhƣợc điểm  Với những dự án nhỏ, việc áp dụng mô hình MVC rất cồng kềnh, khá phức tạp và tốn kém thời gian.  Tốn thời gian trung chuyển dữ liệu giữa các lớp, ảnh hƣởng đến tốc độ xử lý của hệ thống khi sử dụng. 2.2 TỔNG QUAN VỀ FRAMEWORK Framework đƣợc hiểu là một thƣ viện chứa các mã lệnh đƣợc xây dựng sẵn. Framework cung cấp một bộ khung cơ bản cho lập trình viên với nội dung đầy đủ, đáp ứng các điều kiện cần và đủ cho việc xây dựng một ứng dụng. Ngày nay, các ứng dụng web trở nên rất phổ biến. Ngôn ngữ lập trình web đƣợc ƣa chuộng nhất chính là PHP bởi sự mạnh mẽ và linh hoạt của nó. Các framework ra đời để hỗ trợ cho các ứng dụng viết bằng ngôn ngữ này gọi chung là PHP framework. Việc sử dụng framework để phát triển các ứng dụng trở nên rất phổ biến bởi những lợi ích to lớn mà nó mang lại.  Tăng tốc trong quá trình xây dựng hệ thống: với các lớp đƣợc xây dựng sẵn, framework là một công cụ đắc lực của lập trình viên. Framework cung cấp cho ngƣời phát triển ứng dụng các hàm, các công cụ cần thiết và đầy đủ để có thể phát triển một ứng dụng hoàn chỉnh, qua đó, giúp tiết kiệm thời gian viết mã lệnh.  Quản lý mã lệnh dễ dàng: khi xây dựng một ứng dụng theo một framework nào đó, chúng ta phải tuân theo cách tổ chức, sắp xếp các thƣ mục theo quy định của framework đó. Điều này giúp cho mọi thứ đƣợc phát triển theo một cấu trúc nhất quán, rõ ràng. Trang 7 Chƣơng 2: Cơ sở lý thuyết  Cộng đồng phát triển rộng lớn: phần lớn các framework hiện nay đều có một cộng đồng sử dụng rất lớn. Do đó, việc phản hồi thông tin và cập nhật cho các framework diễn ra liên tục. Các chức năng cần thiết cho ứng dụng ngày càng đầy đủ và hoàn thiện hơn. Bên cạnh những lợi ích nhƣ trên, việc sử dụng framework để phát triển ứng dụng cũng gặp một số khó khăn:  Hầu hết các PHP framework đều đƣợc xây dựng theo mô hình MVC, vì vậy việc sử dụng framework sẽ trở nên cồng kềnh, phức tạp trong trƣờng hợp xây dựng những ứng dụng quy mô nhỏ. Do đó, cần phải cân nhắc, lựa chọn một framework thích hợp.  Các framework ngày càng đƣợc bổ sung và hoàn thiện với các thƣ viện sẵn có. Điều này mang đến sự tiện lợi nhƣng cũng làm cho lập trình viên ngày càng bị phụ thuộc vào framework đó. 2.3 ZEND FRAMEWORK 2.3.1 Tổng quan Hình 2.3 Biểu tƣợng Zend Framework 2 Zend Framework 2 là một thƣ viện mã nguồn mở để phát triển các ứng dụng và các dịch vụ web sử dụng ngôn ngữ PHP 5.3+. Zend Framework 2 sử dụng 100% code hƣớng đối tƣợng. Đây là một PHP framework đang rất đƣợc ƣa chuộng, đƣợc đánh giá là một trong những framework mạnh mẽ và đầy đủ nhất hiện nay. Mặc dù ra mắt khá trễ so với những PHP Framework khác, nhƣng từ lúc ra mắt đến nay, Zend Framework không ngừng phát triển và hoàn thiện. Thƣ viện này luôn đƣợc bổ sung và ngày càng ổn định, các lớp trong thƣ viện rất đầy đủ, đa dạng, cho phép xây dựng một ứng dụng web nhanh chóng và chính xác. Hiện nay, phiên bản Zend Framework mới nhất là 2.3.1 (cập nhật vào ngày 15/04/2014). Trang 8 Chƣơng 2: Cơ sở lý thuyết 2.3.2 Lý do chọn Zend Framework Kể từ lần đầu tiên đƣợc giới thiệu (năm 2005) đến nay, Zend Framework đã trải qua một quá trình phát triển liên tục, đều đặn. Các tính năng không ngừng đƣợc hoàn thiện đã làm cho Zend Framework trở thành một trong những PHP framework mạnh mẽ và đƣợc tin dùng nhiều nhất hiện nay. Bên cạnh đó, việc lựa chọn Zend Framework trong đề tài này phải kể đến một số lý do nhƣ:  Nâng cấp và phát triển hệ thống: do đƣợc xây dựng trên nền tảng hƣớng đối tƣợng nên việc nâng cấp, mở rộng hệ thống có thể đƣợc thực hiện dễ dàng.  Thƣ viện Zend Framework đầy đủ, phong phú, luôn đƣợc cập nhật và hoàn thiện bởi các chuyên gia nổi tiếng về mã nguồn mở và PHP, giúp cho việc phát triển ứng dụng đƣợc thực hiện nhanh chóng, chính xác.  Tính bảo mật của ứng dụng đảm bảo hơn so với các ứng dụng viết bằng PHP thuần.  Tài liệu hƣớng dẫn chi tiết, cộng đồng ngƣời sử dụng rất rộng lớn, các diễn đàn về Zend Framework có rất nhiều, thuận lợi trong việc tìm kiếm thông tin.  Khó khăn khi sử dụng Zend Framework 2  Do thƣ viện Zend Framework 2 quá rộng lớn, nên việc tìm hiểu và làm chủ đƣợc nó trong một thời gian ngắn không phải là điều dễ dàng.  Lập trình với Zend Framework 2 đòi hỏi lập trình viên phải có khái niệm về mô hình MVC, kiến thức PHP 5.x.  Việc đọc hiểu và xử lý lỗi phát sinh trong quá trình xây dựng ứng dụng cũng đòi hỏi nhiều kinh nghiệm từ lập trình viên.  Ngoài ra, lập trình Zend Framework cũng đòi hỏi ngƣời lập trình phải có kỹ năng sử dụng và xử lý dữ liệu kiểu mảng. 2.3.3 Các lớp phổ biến trong Zend Framework 2 Các lớp trong Zend Framework 2 đƣợc luôn đƣợc phát triển và không ngừng hoàn thiện, đáp ứng nhu cầu xây dựng một ứng dụng web nhanh chóng, mạnh mẽ hơn. Trong đó, các lớp phổ biến nhất là:  Zend\Db: cung cấp cách thức giao tiếp với dữ liệu trong cơ sở dữ liệu. Trong đó, có các lớp con với các chức năng cụ thể:  Zend\Db\Sql: để xây dựng các câu truy vấn dữ liệu từ cơ sở dữ liệu. Ví dụ: + Mệnh đề Where: Trong MySQL: Select manv, holot, ten From nhanvien Where mabomon = 'KH5' Trang 9 Chƣơng 2: Cơ sở lý thuyết Trong Zend Framework: use Zend\Db\Sql\Select; $select = new Select(); $select ->from('nhanvien') ->columns(array( 'MaNV' => 'manv', 'HoLot' => 'holot', 'Ten' => 'ten' )) ->where(array('mabomon' => 'KH5')); + Mệnh đề Join: Trong MySQL: Select nhanvien.manv, holot, ten, tenhocham From hochamnv join hocham on hocham.mahocham = hochamnv.mahocham right join nhanvien on nhanvien.manv = hochamnv.manv Where mabomon = 'KH1' Trong Zend Framework 2: use Zend\Db\Sql\Select; $select = new Select(); $select -> from('hochamnv') -> columns(array( 'MaNV' => 'manv', 'HoLot' => 'holot', 'Ten' => 'ten', 'TenHH' => 'tenhocham' )) ->join('hocham','hocham.mahocham = hochamnv.mahocham') ->join('nhanvien','nhanvien.manv = hochamnv.manv', array('*'), 'right') ->where(array('mabomon' => 'KH1')); + Hàm Count: Trong MySQL: Select tenhocvi, count(nhanvien.manv) as soluong From nhanvien, hocvinv, hocvi Where nhanvien.manv = hocvinv.manv and hocvi.mahocvi = hocvinv.mahocvi and mabomon = 'KH5' Group by hocvi.mahocvi Trong Zend Framework 2: use Zend\Db\Sql\Select; use Zend\Db\Sql\Expression; $select = new Select(); $select->from('hocvinv') ->columns(array( 'TenHV' => 'tenhocvi' 'soluong' => new Expression('count(hocvinv.manv)') )) ->join('hocvi', 'hocvi.mahocvi = hocvinv.mahocvi') Trang 10
- Xem thêm -