ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN Tel. (84 - 511) 3736 949, Fax. (84 - 511) 3842 771 Website : itf.dut.udn.vn , E - mail: cntt@dut.udn.vn ĐỒ ÁN TỐT NGHIỆP KỸ SƯ NGÀNH CÔNG NGHỆ THÔNG TIN ĐỀ TÀI : XÂY DỰNG HỆ THỐNG QUẢN LÝ TRANG THIẾT BỊ T ẠI CÔNG TY PHẦN MỀM ASIAN TECH SINH VIÊN : TỪ VIẾT VĂN MÃ SINH VIÊN : 102150145 LỚP : 1 5T2 CBHD : T hS. NGUYỄN VĂN NGUYÊN Đà Nẵng , 12 / 201 9 NHẬN XÉT CỦA NGƯỜI HƯỚNG DẪN ............................................................................................................................. ..................... .............................................................................................................. .................................... ............................................................................................................................. ..................... .......................................................................... ........................................................................ ............................................................................................................................. ..................... ...................................... ............................................................................................................ ............................................................................................................................. ..................... .. ............................................................................................................................. ................... ................................................................................................................ .................................. ............................................................................................................................. ..................... ............................................................................ ...................................................................... ............................................................................................................................. ..................... ........................................ .......................................................................................................... ............................................................................................................................. ..................... .... ............................................................................................................................. ................. .................................................................................................................. ................................ ............................................................................................................................. ..................... .............................................................................. .................................................................... ............................................................................................................................. ..................... Đà Nẵng, ngày 15 tháng 12 năm 201 9 G i ảng viên hướng dẫn T hS. Nguyễn Văn Nguyên TÓM TẮT I. Thông tin chung 1. Tên đề tài: Xây dựng hệ thống quản lý trang thiết bị t ại công ty phần mềm Asian Tech 2. Sinh viên thực hiện: Từ Viết Văn 3. Số thẻ SV: 102150145 4. Lớp: 1 5T2 II. T óm tắt đồ án Trong thời gian gần đây, việc quản lý trang thiết bị tại các công ty phần mềm gặp rất nhiều khó khăn trong các khâu quản lý trang thiết bị như máy tính,bàn phím, quản lý mượn trả thiết bị của dùng, thống kê export ... . Để giải quyết vấn đề đó, em đã phát triển đề tài “Xây dựng hệ thống quản lý trang thiết bị t ại công ty phần mềm Asian Tech ” giúp cho hoạt động quản lý của trung tâ m hiệu quả, thuận tiện hơn . Hệ thống sẽ bao gồm: - Website quản lý cho admin của công ty. - Website cho nhân viên của công ty. Các chức năng chính: - Nhân viên trong công ty quản lý thông tin cá nhân, xem thông tin liên hệ của tất cả các Admin, thay đổi mật khẩu, t ạo yêu cầu thay đổi profile, tạo yêu cầu mượn thiết bị, trả thiết bị, thống kê các thiết bị mượn trả trong ngày. - Admin quản lý thông tin cá nhân, thống kê tình trạng các thiết bị trong hệ thống, quản lý thông tin các nhân viên(thêm,sửa,xóa,tìm kiếm,…), quản lý thông tin tất cả các thiết bị(thêm,sửa,xóa,tìm kiếm,…), quản lý các thiết bị được cấp phát hoặc đã trả, quản lý các các yêu cầu của nhân viên công ty để phê duy ệt , import excel tất cả các thông tin nhân viên, tất cả các thiết bị nhập từ kho. ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG T IN CỘNG HÒA XÃ HÔI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Từ Viết Văn Số thẻ sinh viên: 102150145 Lớp: 1 5T2 Khoa: CNTT Ngành: Công nghệ phần mềm 1. Tên đề tài đồ án: Xây dựng hệ thống quản lý trang thiết bị t ại công ty phần mềm Asian Tech 2. Đề tài thuộc diện: ☐ Có ký kết thỏa thuận sở hữu trí tuệ đối với kết quả thực hiện 3. Nội dung các phần thuyết minh và tính toán - Giới thiệu mở đầu - Các nghiên cứu lý thuyết - Phân tích thiết kế hệ thống - Triển khai và đánh giá 4. Họ tên người hướng dẫn: Ths. Nguyễn Văn Nguyên 5. Ngày giao nhiệm vụ đồ án: 11 / 09 /20 19 . 6. Ngày hoàn thành đồ án: 1 7 / 12 /201 9 . Đà Nẵng, ngày 17 tháng 12 năm 201 9 Trưởng Bộ môn Công nghệ phần mềm TS. Lê Thị Mỹ Hạnh Người hướng dẫn T hS . N guyễn Văn Nguyên L ỜI NÓI ĐẦU Trong suốt thời gian thực hiện và hoàn thành đồ án này, chúng em đã nhận được sự giúp đỡ và hướng dẫn tận tình của các Thầy, các Cô và các bạn trong Khoa Công nghệ Thông tin Trường Đại học Bách khoa - Đại học Đà Nẵng. Chúng e m xin gửi lời cảm ơn chân thành và sâu sắc tới các Thầy Cô trong Khoa đã giảng dạy và truyền đạt những kiến thức cần thiết, những kinh nghiệm quý báu cho chúng em có thể thực hiện đồ án này. Trước tiên chúng em xin chân thành cảm ơn thầy T h S. Nguyễn Văn Nguyên , n gười đã từng bước hư ớng d ẫn, giúp đỡ em trong quá trình thực hiện đồ án tốt nghiệp của mình. Thứ hai, chúng em xin được gửi lời cảm ơn đến Công ty NeoLab Viet Nam và các anh trong công ty đã hỗ trợ, tạo điều kiện cho em tiếp cận với công nghệ mới. Để có được kết quả như ngày hôm nay, chúng em rất biết ơn gia đình và những người thân trong gia đình đã động viên, khích lệ, tạo mọi điều kiện thuận lợi nhất về vật chất lẫn tinh thần trong suốt quá trình học tập cũng như quá trình thực hiện đề tài tốt nghiệp này. Trong quá trình họ c tập, cũng như trong quá trình làm đồ án tốt nghiệp không thể tránh khỏi những thiếu sót, em rất mong đư ợc sự góp ý quý báu của tất cả các thầy cô giáo cũng như tất cả các bạn để đồ án tốt nghiệp của em đư ợc hoàn thiện hơn. Một lần nữa em xin chân thành c ảm ơn và kính chúc quý Thầy Cô dồi dào sức khỏe và thành công trong cuộc sống. Đà Nẵng, ngày 12 tháng 12 năm 201 9 Sinh viên thực hiện Từ Viết Văn CAM ĐOAN Tôi xin cam đoan: 1. Những n ội dung trong đồ án này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của thầy T h S. N guyễn Văn Nguyên. 2. Mọi tham khảo dùng trong đồ án đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố . 3. Nếu có những sao chép không hợp lệ , vi phạm , tôi xin chịu h oàn toàn trách nhiệm . Đà Nẵng, ngày 12 tháng 12 năm 2019 Sinh viên thực hiện Từ Viết Văn Đ Ạ I H Ọ C Đ À N Ẵ N G − T R Ư Ờ N G Đ Ạ I H Ọ C B Á C H K H O A KHOA CÔNG NGHỆ THÔNG TIN 54, Nguyễn Lương Bằng, Hoà Khánh, Liên Chiểu, TP. Đà Nẵng Tel. 84.511.3.736.949, Fax. 84.511.842.771 - Website: itf.dut.edu.vn - E - mail: cntt@dut.udn.vn PHIẾU DUYỆT ĐỒ ÁN TỐT NGHIỆP I. Phần dành cho Sinh viên 1. Họ và tên: Từ Viết Văn 2. Mã Sinh viên: 102 150145 3. Lớp: 1 5T2 4. Tên đề tài: Xây dựng hệ thống quản lý trang thiết bị t ại công ty phần mềm Asian Tech 5. Họ và tên GVHD: T h S. Nguyễn Văn Nguyên 6. Điện thoại: 0903577986 7. E - mail: tuvietvancntt@gmail.com II. Phần dành cho Hội đồng STT Nội dung đánh giá Kết luận 1. Trình bày báo cáo theo đúng mẫu qui định của Khoa 2. Không có sự sao chép nội dung báo cáo và chương trình đã có 3. Biên dịch mã nguồn và chạy được chương trình 4. Có kịch bản thực hiện với dữ liệu thử nghiệm 5. Kết quả thực hiện chương trình đúng theo báo cáo 6. Có sự đóng góp, phát triển của tác giả trong đồ án Ý kiến khác: ........................................................................................................................... ............................................................................................................................. ....... .............. Kết luận: Đạt yêu cầu Phải sửa chữa lại Không đạt yêu cầu Đà Nẵng, ngày 12 tháng 12 năm 2019 Chủ tịch Hội đồng (Ký và ghi họ tên) Cán bộ duyệt kiểm tra (Ký và ghi họ tên) Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 1 M Ụ C L Ụ C MỞ ĐẦU 2 CƠ SỞ LÝ THUYẾT 3 1.1. Phân tích hiện trạng quản lý trang thiết bị ................................ ....................... 3 1.2. Nghiên cứu lý thuyết ................................ ................................ ........................ 3 1.2.1. Tổng quan về Java ................................ ................................ ............... 3 1.2.2. Mô hình MVC (Mode l – View - Controller) ................................ ....... 4 1.2.3. Tổng quan về Spring Framework ................................ ........................ 5 Lợi ích của việc sử dụng Spring Framework ................................ ................... 6 1.3. K ết chương ................................ ................................ ................................ ....... 7 1.3.1. Nghiệp vụ c ủa A dmin ................................ ................................ .......... 7 1.3.2. Nghiệp vụ của Nhân viên ................................ ................................ .... 8 1.4. Thiết kế hệ thống ................................ ................................ .............................. 8 1.4.1. Sơ đồ phân rã chức năng ................................ ................................ ..... 8 1.4.2. Biểu đồ ca sử dụng ................................ ................................ ............ 10 1.4.3. Đ ặc tả ca sử dụng ................................ ................................ ............... 13 1.4.4. Biểu đồ tuần tự ................................ ................................ ................... 16 1.4.5. Biểu đồ hoạt động ................................ ................................ .............. 17 1.4.6. B iểu đồ lớp ................................ ................................ ........................ 18 1.4.7. Thiết kế cơ sở dữ liệu ................................ ................................ ........ 20 1.5. K ết chương ................................ ................................ ................................ ..... 25 TRIỂN KHAI VÀ ĐÁNH GIÁ 26 1.6. Yêu c ầu cấu hình máy chủ ................................ ................................ ............. 26 1.7. Tri ể n khai hệ thống Website ................................ ................................ .......... 26 1.8. Giao diện hệ thống Website ................................ ................................ ........... 27 1. 8.1. Giao diện một số chức năng của admin ................................ ............. 27 1.8.2. Giao diện một số chức năng của nhân viên ................................ ....... 33 1.9. K ết chương ................................ ................................ ................................ ..... 35 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 36 1. K ết quả đạt được ................................ ................................ .......................... 36 2. Kết quả chưa đạt được ................................ ................................ ................. 36 TÀI LIỆU THAM KHẢO 37 Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 2 DANH SÁCH HÌNH ẢNH Hình 1.1 : Các ứng dụng của ngôn ngữ lập trình Java ................................ ................. 4 Hình 1.2: Mô hình MVC ................................ ................................ ............................. 5 Hình 2.1: Sơ đ ồ phân rã chức năng của Admin... …………………………………. ..9 Hình 2. 2: Sơ đồ phân rã chức năng của Nhân Viên…………………………………9 Hình 2. 3 : Biểu đồ ca sử dụng các chức năng của hệ thống ................................ ...... 10 Hình 2. 4 : Biểu đồ ca sử dụng chức năng Quản lý thông tin cá nhân ........................ 10 Hình 2. 5 : Biểu đồ ca s ử dụng chức năng Quản lý nhân viên ................................ .... 11 Hình 2. 6 : Biểu đồ ca sử dụng chức năng Quản lý trang thiết bị ............................... 11 H ình 2. 7 : Biểu đồ c a sử dụng chức năng Quản lý yêu cầu của nhân viên ................ 12 Hình 2. 8 : Biểu đồ ca sử dụng chức năng quản lý thông tin cá nhân ......................... 12 Hình 2. 9 : Biểu đồ ca sử dụn g chức năng quản lý thông tin yêu cầu ......................... 13 Hình 2. 10 : Biểu đồ các lớp của hệ thống ................................ ................................ .. 16 Hình 2.1 1 : Biểu đồ hoạt động chức năng đăng nhập ................................ ................ 17 Hình 2.1 2 Biểu hoạt động chức năng đăng kí nhân viên ................................ .......... 17 Hình 2.1 3 : Biểu đồ tuần tự chức năng đăng nhập ................................ ..................... 18 Hình 2.1 4 : Biểu đồ tuần tự chức năng đăng kí nhân viên ................................ ......... 19 Hình 2.1 5 : Thiết kế cơ sở dữ liệu ................................ ................................ .............. 19 Hình 3.1: Cấu hình cơ sở dữ liệu trên máy chủ... …………………………………. 26 Hình 3.2: Giao diện chức năng quản lý của Admin ................................ .................. 26 Hình 3.3 : Giao diện chức năng quản lý nhân viên trong công ty ............................. 26 Hình 3.4: Giao diện chức n ăng import/export thiết bị trong công ty ........................ 27 Hình 3.5 : Giao diện chức năng import/export nhân viên công ty ............................. 27 Hình 3.6 : Giao diện thêm nhân viên của Admin ................................ ....................... 28 Hình 3.7 : Giao diện thống kê tình trạng thiết bị của Admin ................................ ..... 28 Hình 3 .8: Giao diện quản lý thông tin mà user yêu cầu ................................ ............ 29 Hình 3.9 : Giao diện quản lý thông tin cá nhân của Admin ................................ ....... 29 Hình 3.10 : Giao diện quản lý phê duyệt thiết bị mà nhân viên yêu cầu ................... 30 Hình 3.11: Giao diện quản lý thông tin thiết bị đang chờ hoặc đã phê duyệt ........... 30 Hình 3.12 : Giao diện nhân viên quản lý thông tin cá nhân ................................ ....... 31 Hình 3.13 : Giao diện nhân viên quản lý yêu cầu thông tin của mình ....................... 31 Hình 3.14: Giao diện màn hình xem thông tin liên hệ của Admin khi cần việc … . 32 Hình 3.15 : Giao diện xem thông tin mượn trả thiết bị trong ngày ........................... 32 Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 3 DANH SÁCH BẢNG Bảng 2.1: Ca sử dụng đăng nhập ................................ ................................ .............. 13 Bảng 2.2: Ca sử dụng quản lý người dùng ................................ ............................... 14 Bảng 2.3: Ca sử dụng thống kê tình trạng thiết bị ................................ .................... 14 Bảng 2.4: Ca sử dụng quản lý import/export file excel thiết bị ................................ 15 Bảng 2.5: Ca sử dụng quản lý thông tin cá nhân ................................ ..................... 15 Bảng 2.6: Ca sử dụng quản lý thông tin yêu cầu cấp phát thiết bị ........................... 15 Bảng 2.7: Ca sử dụng xem thông tin mượn trả thiết bị trong ngày .......................... 16 Bảng 2.8 : Mô tả bảng User ................................ ................................ ....................... 20 Bảng 2.9 : Mô tả bảng Employee ................................ ................................ ............... 21 Bảng 2.10: Mô tả bảng Block_User ................................ ................................ .......... 21 Bảng 2.11 : Mô tả bảng Device ................................ ................................ ................. 21 Bảng 2.12 : Mô tả bảng Device_Catalog ................................ ................................ .. 22 Bảng 2.13 : Mô tả bảng Device_detail ................................ ................................ ...... 22 Bảng 2.14 : Mô tả bảng Employee_device_detai l ................................ ..................... 22 Bảng 2.15: Mô tả bảng File_profile ................................ ................................ ......... 23 Bảng 2.16 : Mô tả bảng Group ................................ ................................ .................. 23 Bảng 2.17 : Mô tả bảng Request ................................ ................................ ................ 23 Bảng 2.18 : Mô tả bảng Role ................................ ................................ ..................... 24 Bảng 2.19 : Mô tả bảng Token_Verification ................................ .............................. 24 Bảng 2.20 : Mô tả bảng User_group ................................ ................................ ......... 24 Bảng 2.2 1 : Mô tả bảng User_role ................................ ................................ ............ 24 Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 4 DANH SÁCH TỪ VIẾT TẮT Từ viết tắt Diễn giải CSDL Cơ Sở Dữ Liệu HTML Hyper Text Markup Language MVC Mode View Controller URL Uniform Resource Locator PK Primary Key URL Uniform Resource Locator ERD Entity Relationship Diagram Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 2 MỞ ĐẦU 1. Tổng quan về đề tài Ngày nay Công nghệ thông tin đã trở thành một phần tất yếu của cuộc sống con người, không những thế nó còn góp phần phát triển kinh tế trong tất cả các l ĩ nh vực . Việc ứng dụng Công nghệ thông tin trong các hoạt động quản lý giúp nâng cao tính hiệu quả và mức độ chính xác của công việc . Hoạt động quản lý các tr ang thiết bị đa số vẫn được thực hiện thủ công hoặc bán tự động (sử dụng excel để quản lý) , d o đó cần thiết xây dựng hệ thống Website quản lý trang thiết bị tại công ty phần mềm để giải quyết các vấn đề đó. 2. Mục đích và ý nghĩa của đề tài 2.1. Mục đích Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm cho phép: - Hỗ trợ hiệu quả hơn hoạt động quản lý trang thiết bị và nhân viên tại công ty - Hỗ trợ nhân viên quản lý hiệu quả các thiết bị mà mình mượn trả, thông tin cá nhân - Hỗ trợ thống kê thiết bị, import, export excel nhanh chóng 2.2. Ý nghĩa Nâng cao hiệu quả trong công tác quản lý trang thiết bị tại công ty phần mềm 3. Phương pháp thực hiện - Phương pháp phân tích tổng hợp từ nguồn tài liệu trên mạng ; - Phương pháp phân tích thiết kế hệ thống theo hướng đối tượng ; - Phương pháp thử nghiệm, đánh giá kết quả . 4 . Bố cục của đồ án Đồ án bao gồm các nội dung sau: Mở đầu Chương 1: CƠ SỞ LÝ THUYẾT Chương 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG Chương 3: TRIỂN KHAI THỰC TẾ VÀ ĐÁNH GIÁ KẾT QUẢ Kết luận và hướng phát triển. Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 3 CƠ SỞ LÝ THUYẾT 1.1. Phân tích hiện trạng quản lý trang thiết bị Do nhu cầu về Công nghệ thông tin ngày càng cao nên nhân công ty phần mềm ngày càng mọc nhiều, nhân viên cũng nhiều nên đòi hỏi phải quản lý tốt các thiết bị thuê mượn hợp lý, n hằm mục đích hỗ trợ hiệu quả cho công ty trong việc quản lý tốt về Admin và nhân viên, tạo ra thống kê hiệu quả. 1.2. N ghiên cứu lý thuyết 1.2.1. Tổng quan về Java Java là một ngôn ngữ lập lập trình, được phát triển bởi Sun Microsystem vào năm 1995, là ngôn ngữ kế thừa trực tiếp từ C/C++ và là một ngôn ngữ lập trình hướng đối tượng. Với đặc điểm nổi bật đó, Java có những đặc điểm cơ bản như sau: • Đơn giản và quen thuộc: Vì Java kế thừa trực tiếp từ C/C++ nên nó có những đặc điểm của ngôn ngữ này, Java đơn giản vì mặc dù dựa trên cơ sở C++ nhưng Sun đã cẩn thận lược bỏ các tính năng khó nhất của của C++ để làm cho ngôn ngữ này dễ sử dụng hơn. • Hướng đối tượng và quen thuộc. • Mạnh mẽ (thể hiện ở cơ chế tự động thu gom rác - Garbage Collection ) và an toàn. • Kiến trúc trung lập, độc lập nền tảng và có tính khả chuyển ( Portability ). • Hiệu suất cao. • Máy ảo (biên dịch và thông dịch). • Phân tán. • Đa nhiệm: Ngôn ngữ Java cho phép xâ dựng trình ứng dụng, trong đó nhiều quá trình có thể xảy ra đồng thời. T ính đa nhiệm cho phép các nhà lập trình có thể biên soạn phần mềm đáp ứng tốt hơn, tương tác tốt hơn và thực hiện theo thời gian thực ,… Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 4 Hình 1. 1 : Các ứng dụng của ngôn ngữ lập trình Java 1.2.2. Mô hình MVC (Mode l – View - Controller) Mô hình MVC là một chuẩn mô hình và đóng vai trò quan trọng trong quá trình xây dựng – phát triển – vận hành và bảo trì một hệ thống hay một ứng dụng – phần mềm. Nó tạo ra một mô hình 3 lớp Model – View – Controller (hình 1.2) tách bi ệt và tương tác nhau, giúp các chuyên gia có thể dễ dàng dựa vào mô hình để trao đổi và xử lý những nghiệp vụ một cách nhanh chóng. M ô hình MVC có thể áp dụng cho các dự án trong môi trường Windows, Linux… và sử dụng bất kỳ ngôn ngữ nào như PHP, ASP, JSP… Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 5 Hình 1. 2 : Mô hình MVC Mô hình MVC được chia làm 3 lớp xử lý gồm Model – View – Controller: - Model : là nơi chứa những nghiệp vụ tương tác với dữ liệu hoặc hệ quản trị cơ sở dữ liệu (mysql, mssql… ); nó sẽ bao gồm các class/function xử lý nhiều nghiệp vụ như kết nối database, truy vấn dữ liệu, thêm – xóa – sửa dữ liệu… ; - View : là n ơ i chứa những giao diện như một nút bấm, khung nhập, menu, hình ảnh… nó đảm nhiệm nhiệm vụ hiển thị dữ liệu và giúp người dùng tương tác với hệ thống ; - Controller : là nơi tiếp nhận những yêu cầu xử lý được gửi từ người dùng, nó sẽ gồm những class/function xử lý nhiều nghiệp vụ logic giúp lấy đúng dữ liệu thông tin cần thiết nhờ các nghiệp vụ lớp Model cung cấp và hiển thị dữ liệu đó ra cho n gười dùng nhờ lớp View. 1.2.3. Tổng quan về Spring Framework Spring là framework phát triển ứng dụng phổ biến nhất dành cho Java Enterprise. Ban đầu nó được viết bởi Rod Johnson và lần đầu tiên được phát hành theo giấy phép Apache 2.0 vào tháng 6 năm 2003. Spring có kích thướ c nhẹ, phiên bản cơ bản của Spring framework có kích thước khoảng 2 MB . Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 6 Spring framework là một Java Platform mã nguồn mở, một giải pháp gọn nhẹ dành cho Java Enterprise. Với Spring Framework các nhà phát triển có thể tạo ra các mã có hiệu suấ t cao, dễ kiểm thử và có thể sử dụng lại được. Các tính năng core của Spring Framework có thể được sử dụng trong việc phát triển bất kỳ ứng dụng Java nào. Bên cạnh đó, phần mở rộng được sử dụng để xây dựng các ứng dụng web trên nền tảng Java EE. Mục tiêu của Spring Framework là làm cho việc phát triển ứng dụng J2EE dễ dàng hơn và thúc đẩy việc lập trình tốt hơn bằng mô hình POJO - based . Lợi ích của việc sử dụng Spring Framework Spring cho phép các nhà phát triển tạo các ứng dụng cấp Enterpris e sử dụng các POJO. Lợi ích của việc sử dụng các POJO là bạn không cần một sản phẩm chứa EJB như một máy chủ ứng dụng, mà bạn chỉ có thể sử dụng một bộ chứa servlet mạnh mẽ như Tomcat hoặc một số sản phẩm thương mại khác . - Spring được tổ chức theo kiểu mô đ un. Mặc dù số lượng các gói và các lớp là khá nhiều, nhưng bạn chỉ cần quan tâm đến những gì bạn cần và không cần quan tâm đến phần còn lại . - Spring sử dụng một số công nghệ hiện có như một số ORM Framewor k , logging frameworks, JEE, Quartz, JDK timers và các công nghệ View khác. - Dễ dàng để kiểm thử một chương trình được viết bằng Spring. - Web framework của Spring là một Web MVC framework có thiết kế tốt, nó là một thay thế tuyệt vời cho Struts và các công nghệ kém phổ biến khác. - Spring cung cấp một API thuận tiện để dịch các ngoại lệ công nghệ cụ thể (ném bởi JDBC, Hibernate, hoặc JDO chẳng hạn) vào các trường hợp ngoại lệ nhất quán, không được kiểm soát. - IoC Container có trọng lượng nhẹ. Điều này có lợi c ho việc phát triển và triển khai các ứng dụng trên các máy tính có bộ nhớ và tài nguyên CPU hạn chế. - Spring cung cấp một giao diện quản lý transaction nhất quán có thể mở rộng đến một local transaction (ví dụ như sử dụng một CSDL) và mở rộng lên các global transaction (sử dụng JTA). Spring Boot là một dự án phát triển bởi JAVA (ngôn ngữ java) trong hệ sinh thái Spring framework. Nó giúp cho các lập trình viên chúng ta đơn giản hóa quá trình lập trình một ứng dụng với Spring, chỉ tập trung vào việc phát triển business cho ứng dụng . Dưới đây là một số tính năng nổi bật của Spring Boot: - Tạo các ứng dụng Spring độc lập; Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 7 - Nhúng trực tiếp Tomcat, Jetty hoặc Undertow (không cần phải deploy ra file WAR); - Các starter dependency giúp việc cấu hình Maven đơn giản hơ n; - Tự động cấu hình Spring khi cần thiết; - Không sinh code cấu hình và không yêu cầu phải cấu hình bằng XML . 1.3. K ết chương Chương này cung cấp cho người đọc thực trạng vấn đề quản lý trang thiết bị và nhân viên tại công ty phần mềm nói chung và Asian Tech nói riêng . Đồng thời phân tích các cơ sở lý thuyết , giải pháp để triển khai xây dựng hệ thống quản lý trang thiết bị tại công ty phần m ềm Asian Tech. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG - Hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech gồm 2 phân quyền : Adm in & người dùng. Trong đó Admin quản lý thông tin cá nhân, thống kê tình trạng các thiết bị trong hệ thống, quản lý thông tin các nhân viên(thêm,sửa,xóa,tìm kiếm,…), quản lý thông tin tất cả các thiết bị(thêm,sửa,xóa,tìm kiếm,…), quản lý các thiết bị được cấp phát hoặc đã trả, quản lý cá c các yêu cầu của nhân viên công ty để phê duyệt, import excel tất cả các thông tin nhân viên, tất cả các thiết bị nhập từ kho. Nhân viên trong công ty quản lý thông tin cá nhân, xem thông tin liên hệ của tất cả các Admin, thay đổi mật khẩu, t ạo yêu cầu th ay đổi profile, tạo yêu cầu mượn thiết bị, trả thiết bị, thống kê các thiết bị mượn trả trong ngày. 1.3.1. Nghiệp vụ của A dmin - Quản lý người dùng (nhân viên) : cho phép admin import file excel tất cả các nhân viên trong công ty, thêm, sửa, xóa, tìm kiếm nhân viên trong công ty. - Quản lý thông tin cá nhân : cho phép admin quản lý thông tin cá nhân như đăng nhập, thay đổi mật khẩu, đăng xuất. - Thống kê tình trạng thiết bị : Thống kê các thiết bị trong công ty ở 3 tình trạng: đang sử dụng, chưa sử dụng, bị hư hỏng bằng biểu đồ hình học. - Quản lý import, export file excel thiết bị : cho phép admin quản lý import, export file excel để thống kê các thiết bị được quản lý trong công ty. Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 8 - Quản lý import, export file excel thông tin nhân viên : cho ph ép admin quản lý import, export tất cả các nhân viên trong công ty. - Quản lý phê duyệt, cấp phát thiết bị : cho p hép admin quản lý phê duyệt các thiết bị nhân viên yêu cầu và cấp phát thiết bị khi thiết bị chưa sử dụng. - Quản lý các thiết bị đang chờ, đ ã chấp nhận được phê duyệt : cho phép admin quản lý danh sách các thiết bị đang chờ, đã chấp nhận phê duyệt - Cấu hình và cài đặt hệ thống: cho phép admin có thể cấu hình và cài đặt cho hệ thống. 1.3.2. Nghiệp vụ của Nhân viên − Xem thông tin liên hệ Admin : cho phép nhân viên xem thông tin của Admin để liên hệ khi cần thiết như số điện thoại, email… − Quản lý thông tin cá nhân : cho phép nhân viên thay đổi, cập nhật profile để chờ Admin phê duyệt. − Quản lý thông tin yêu cầu cấp phát thiết bị : cho phép nhân viên quản lý thông tin yêu cầu như mượn thiết bị, trả thiết bị hoặc cập nhật thông tin cá nhân. − Xem thông tin mượn trả thiết bị trong ngày : cho phép nhân viên xem các thông tin thiết bị mượn trả trong ngày. 1.4. T hiết kế hệ thống 1.4.1. Sơ đồ phân rã chức năng Sơ đồ này ch o thấy một cách tổng quát và toàn diện các chức năng, phạm vi thực hiện của Website . Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 9 Hình 2. 1 : Sơ đồ phân rã chức năng của Admin Hình 2. 2 : Sơ đ ồ phân rã chức năng của nhân viên Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 10 1.4.2. Biểu đồ ca sử dụng Biểu đồ ca sử dụng (use case) mô tả các chức năng, sự tương tác đặc trưng giữa người dùng và Website . Nó mô tả các yêu cầu đối với Website hiện tại, những gì Website phải làm. 1.4.2.1. Tổng quát các chức năng của hệ thống Hình 2. 3 : Biểu đồ ca sử dụng các chức năng của hệ thống 1.4.2.2. Tổng quát các chức năng quản lý của Admin Hình 2. 4 : Biểu đồ ca sử dụng chức năng Quản lý thông tin cá nhân Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 11 Hình 2. 5 : Biểu đồ ca sử dụng chức năng Quản lý Nhân viên Hình 2. 6 : Biểu đồ ca sử dụng chức năng Quản lý trang thiết bị Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 12 Hình 2.7 : Biểu đồ ca sử dụng Quản lý yêu cầu của nhân viên 1.4.2.3. Tổng quát các chức năng của nhân viên Hình 2. 8 : Biểu đồ ca sử dụng chức năng Quản lý thông tin cá nhân Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 13 Hình 2. 9 : Biểu đồ ca sử dụng của chức năng quản lý thông tin yêu cầu 1.4.3. Đặc tả ca sử dụng Đặc tả ca sử dụng là quá trình mô tả cách các tác nhân tương tác, thực hiện ca sử dụng cho phép người d ù ng hiểu rõ hơn về các h sử dụng chức năng đó. Tên ca sử dụng Đăng nhập Người dùng Admin , Nhân viên . Mô tả Cho phép Admin đăng nhập vào phần quản lý . Cho phép Ng ười dùng đăng nhập vào website. Điều kiện kích hoạt Người dùng vào trang đ ăng nhập hoặc truy cập các trang dành cho người dùng nhưng chưa đăng nhập . Các bước thực hiện 1. Người dùng nhập các thông tin tên đăng nhập và mật khẩu . 2. Hệ thống kiểm tra dữ liệu nhập là đúng . 3. Đưa đến trang quản lý hoặc tr ang chủ Kết quả Đưa đến trang quản lý Trung tâm tin học hoặc trang chủ . Trường hợp lỗi 1. Người dùng không nhập các thông tin tên đăng nhập và mật khẩu . 2. Hệ thống kiểm tra dữ liệu nhập tên đăng nhập và mật khẩu sai , t hông báo lỗi ra màn hình. Bảng 2. 1 : Ca sử dụng đăng nhập Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 14 Tên ca sử dụng Quản lý người dùng Người dùng Admin Mô tả Cho phép admin quản lý người dùng Điều kiện kích hoạt Admin chọn Leftbar User Các bước thực hiện 1. A dmin chọn User 2. Hệ thống hiện thông tin user mà Admin đã chọn . 3. Admin tùy biến để xem, sửa xóa tìm kiếm user theo ý muốn Kết quả Cho phép Admin quản lý thông tin user Trường hợp lỗi Lỗi kết nối database Bảng 2. 2 : Ca sử dụng quản lý người dùng Tên ca sử dụng Thống kê tình trạng thiết bị Người dùng Admin Mô tả Cho phép admin thống kê tình trạng thiết bị trong kho Điều kiện kích hoạt Admin chọn Leftbar Các bước thực hiện 1. Admin chọn Leftbar Summary 2. Hệ thống trả về biểu đồ hình học tất cả các thiết bị hư hỏng, chưa sử dụng hoặc đang sử dụng Kết quả Trả về trang biểu đồ hình học quản lý các thiết bị Trường hợp lỗi 1. Lỗi frontend hoặc 1 cú pháp sai sẽ load lại trang lỗi 2. Lỗi kết nối database Bảng 2. 3 : Ca sử dụng thống kê tình trạng thiết bị Tên ca sử dụng Quản lý import/export file excel thiết bị Người dùng Admin Mô tả Cho phép admin import/export file excel thiết bị Điều kiện kích hoạt File excel chứa thông tin các thiết bị trong kho Các bước thực hiện 1. Admi n chọn import(choose file) excel 2. Thông tin workbook sẽ được get và lấy ra các row của workbook lưu vào database Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 15 3 . Trả lại thông báo alert thành công hoặc thất bại Kết quả Th ông b áo alert “Import file excel thành công!” Trường hợp lỗi 1. Hệ thống kiểm tra thông tin file excel 2. Thông báo “Import file excel thất bại!” Bảng 2. 4 : Ca sử dụng quản lý import/export file excel thiết bị Tên ca sử dụng Quản lý thông t in cá nhân Người dùng Admin , Nhân viên Mô tả Cho phép chỉnh sửa các thông tin c á nhân. Điều kiện kích hoạt Admin, Người dùng chọn chỉnh sửa thông tin cá nhân Các bước thực hiện 1. Admin, Người dùng chọn chỉnh sửa thông tin cá nhân 2. Điền đẩy đủ các thông tin cá nhân 3. Hệ thống lưu thông tin cá nhân 4. Trả lại thông báo và đưa đến trang cá nhân Kết quả Thông báo và đưa đến trang c á nhân Trường hợp lỗi Lỗi kết nối database Bảng 2. 5 : Ca sử dụng quản lý thông tin cá nhân Tên ca sử dụng Quản lý thông tin yêu cầu cấp phát thiết bị Người dùng N hân viên Mô tả Cho phép người dung quản lý thông tin mà mình đã mượn,trả thiết bị hoặc cập nhật thông tin cá nhân Điều kiện kích hoạt Người dùng click vào My Request Các bước thực hiện 1. Người dùng click vào tab My Request 2. Hệ thống show ra các yêu cầu mà người dùng đề nghị với Admin Kết quả Hiển thị Trang thông tin các yêu cầu mà nhân viên đề nghị Trường hợp lỗi Lỗi bug của front end hoặc kết nối database Bảng 2. 6 : Ca sử dụng quản lý thông tin yêu cầu cấp phát thiết bị Tên ca sử dụng Xem thông tin mượn trả thiết bị trong ngày Người dùng N hân viên Mô tả Cho phép nhân viên xem thiết bị mà mình mượn trả trong ngày Điều kiện kích hoạt Có thông tin yêu cầu của nhân viên như mượn,trả Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 16 Các bước thực hiện 1. N gười dùng click vào tab Home 2. Hiển thị trang hiển thị danh sách mượn trả thiết bị trong ngày của nhân viên Kết quả Chuyển đến trang hiển thị thông tin mượn trả thiết bị trong ngày Trường hợp lỗi Lỗi kết nối database Bảng 2. 7 : Ca sử d ụng xem thông tin mượn trả thiết bị trong ngày 1.4.4. Biểu đồ tuần tự Một số biểu đồ tuần tự tổ ng quát sau sẽ cho thấy rõ hơn s ự tương tác cơ bản giữa các thành phần của Website trong một số chức năng quan trọng. 1.4.4.1. Đăng nhập Hình 2. 1 3 : Biểu đồ tuần tự chức nă ng đăng nhập Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 17 1.4.4.2. Đăng kí nhân viên Hình 2. 1 4 : Biểu đồ tuần tự chức năng đăng ký nhân viên 1.4.5. Biểu đồ hoạt động Một số biểu đồ hoạt động tổng quát sau sẽ mô tả các hoạt độ ng hay một chuỗi các hoạt động x ảy ra trong quá trình thực hiện chức năng của hệ thống Website . 1.4.5.1. Biểu đồ hoạt động chức năng đăng nhập Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 18 Hình 2. 10 : Biểu đồ hoạt động chức năng đăng nhập 1.4.5.2. Biểu đồ hoạt động chức năng Đăng ký nhân viên Hình 2. 1 2 : Biểu đồ hoạt động chức năng đăng ký nhân viê n 1.4.6. Biểu đồ lớp Một lớp (class) là một tập hợp các đối tượng có cùng cấu trúc, cùng hành vi... Biểu đồ lớp thể hiện các khối của bất kỳ hệ thống hướng đối tượng nào. Biểu đồ lớp mô tả cái nhìn tĩnh của mô hình hoặc một phần của mô hình, miêu tả những thuộc tính và hành vi một cách chi tiết. 1.4.6.1. Biểu đồ lớp của hệ thống Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 19 Hình 2. 1 2 : Biểu đồ lớp của hệ thống Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 20 1.4.7. Thiết kế cơ sở dữ liệu Hình 2. 1 5 : Thiết kế cở sở dữ liệu Mô tả các bảng trong cơ sở dữ liệu : Tên cột Giải thích Kiểu dữ liệu Độ dài tối đa Ghi chú user_id Sẽ tự động tăng mỗi khi thêm mới bigint 20 Khóa chính active Kích hoạt user Boolean description Mô tả user n varchar 255 email Email của user varchar 255 non_del Tình trạng xóa của user Boolean non_locked Tình trạng bị khóa của user Boolean password Mật khẩu của user varchar 255 file_profile_id Id profile của user bigint 20 Khóa Ngoại Bảng 2. 8 : Mô tả bảng User Tên cột Giải thích Kiểu dữ liệu Độ dài tối đa Ghi chú Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 21 employee_id Sẽ tự động tăng mỗi khi thêm mới bigint 20 Khóa chính address Địa chỉ của nhân viên n varchar 255 avatar Avatar của nhân viên varchar 255 date_of_birth Ngày sinh của nhân viên date employee_name Tên của nhân viên n varchar 255 gender Giới tính của nhân viên Boolean phone Số điện thoại của nhân viên varchar 255 team Tên team của nhân viên nvarchar 255 user_id Id của user bigint 20 Khóa n goại Bảng 2. 9 : Mô tả bảng Employee Tên cột Giải thích Kiểu dữ liệu Độ dài tối đa Ghi chú block_user_id Sẽ tự động tăng mỗi khi thêm mới bigint 20 Khóa chính block_time Thời gian bị khóa tài khoản của User datetime number_fail Số lần đăng nhập trượt của User int 11 user_id Id của User bigint 20 Khóa ngoại Bảng 2. 10 : Mô tả bảng Block_User Tên cột Giải thích Kiểu dữ liệu Độ dài tối đa Ghi chú device_id Sẽ tự động tăng mỗi khi thêm mới bigint 20 Khóa chính description Mô tả thiết bị nvarchar 255 name Tên thiết bị nvarchar 255 price Gía tiền của thiết bị double quantity Số lượng thiết bị bigint 20 Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 22 device_catalog_id Id của loại thiết bị bigint 20 Khóa n goại Bảng 2. 11 : Mô tả bảng Device Tên cột Giải thích Kiểu dữ liệu Độ dài tối đa Ghi chú device_catalog_id Sẽ tự động tăng mỗi khi thêm mới bigint 20 Khóa chính description Mô tả loại thiết bị nvarchar 255 name Tên loại thiết bị nvarchar 255 Bảng 2. 12 : Mô tả bảng Device_Catalog Tên cột Giải thích Kiểu dữ liệu Độ dài tối đa Ghi chú device_detail_id Sẽ tự động tăng mỗi khi thêm mới bigint 20 Khóa chính device_detail_description Mô tả chi tiết thiết bị nvarchar 255 product_id Mã thiết bị varchar 11 status Trạng thái thiết bị Boolean update_date Ngày cập nhật thiết bị datetime device_id Id của thiết bị bigint 20 Khóa ngoại Bảng 2. 13 : Mô tả bảng Device_detail Tên cột Giải thích Kiểu dữ liệu Độ dài tối đa Ghi chú employee_device_detail_id Sẽ tự động tăng mỗi khi thêm mới bigint 20 Khóa chính date_deliver_receive Ngày cấp phát thiết bị(cho mượn) datetime date_return Ngày trả thiết bị datetime device_detail_id Id của chi tiết thiết bị bigint 20 Khóa n goại Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 23 employee_id Id của nhân viên bigint 20 Khóa n goại Bảng 2. 14 : Mô tả bảng Employee_device_detail Tên cột Giải thích Kiểu dữ liệu Độ dài tối đa Ghi chú file_profile_id Sẽ tự động tăng mỗi khi thêm mới bigint 20 Khóa chính data Dữ liệu của ảnh longblob file_name Tên của ảnh varchar 255 file_type Kiểu của ảnh varchar 255 Bảng 2. 15 : Mô tả bảng File_profile Tên cột Giải thích Kiểu dữ liệu Độ dài tối đa Ghi chú group_id Sẽ tự động tăng mỗi khi thêm mới bigint 20 Khóa chính group_description Mô tả nhóm của user nvarchar 255 group_name Tên nhóm của user nvarchar 255 Bảng 2. 16 : Mô tả bảng Group Tên cột Giải thích Kiểu dữ liệu Độ dài tối đa Ghi chú request_id Sẽ tự động tăng mỗi khi thêm mới bigint 20 Khóa chính content Nội dung cần yêu cầu của nhân viên n varchar 255 content_reply Nội dung trả lời của Admin nvarchar 55 status Trạng thái yêu cầu của thiết bị varchar 255 type Loại yêu cầu của thiết bị varchar 255 update_date Ngày cập nhật yêu cầu datetime Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 24 user_id Id của user bigint 20 Khóa n goại device_detail_id Id của chi tiết thiết bị bigint 20 avatar avatar của user varchar 255 Bảng 2. 17 : Mô tả bảng Request Tên cột Giải thích Kiểu dữ liệu Độ dài tối đa Ghi chú role_id Sẽ tự động tăng mỗi khi thêm mới bigint 20 Khóa chính role_description Mô tả phân quyền của user nvarchar 255 role_name Tên của phân quyền nvarchar 255 Bảng 2. 18 : Mô tả bảng Role Tên cột Giải thích Kiểu dữ liệu Độ dài tối đa Ghi chú token_verification_id Sẽ tự động tăng mỗi khi thêm mới bigint 20 Khóa chính expire_time Thời gian hết hạn của user datetime token_code Mã Token varchar 255 user_id Id của user bigint 20 Khóa n goại Bảng 2. 19 : Mô tả bảng Token_Verification Tên cột Giải thích Kiểu dữ liệu Độ dài tối đa Ghi chú user_group_id Sẽ tự động tăng mỗi khi thêm mới bigint 20 Khóa chính group_id Id của group bigint 20 Khóa ngoại user_id Id của user bigint 20 Khóa ngoại Bảng 2. 20 : Mô tả bảng User_group Tên cột Giải thích Kiểu dữ liệu Độ dài tối đa Ghi chú Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 25 user_ role _id Sẽ tự động tăng mỗi khi thêm mới bigint 20 Khóa chính role _id Id của role bigint 20 Khóa ngoại user_id Id của user bigint 20 Khóa ngoại Bảng 2. 21 : Mô tả bảng User_role 1.5. K ết chương Chương này cung cấp cho người đọc cái nhìn tổng quan về nghiệp vụ quản lý trang thiết bị tại công ty phần mềm Asian Tech . Đ ồng thời tiến hành phân tích & thiết kế hệ thống Website quản lý trang thiết bị đáp ứng mô hình nghiệp vụ nêu trên . Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 26 TRIỂN KHAI VÀ ĐÁNH GIÁ 1.6. Yêu cầu cấu hình máy chủ Để triển khai và đưa Website đi vào hoạt động một cách ổn định, máy chủ cần đáp ứng được một số yêu cầu sau: − Hệ điều hành : Windows Server 2008 trở lên; − Java 8 ; − Spring Boot framework 2.0.4 trở lên − Mysql − Bootstrap, Ajax, html, css, js, jquery − Web service(Restful, Postman) 1.7. Tri ể n khai hệ thống Website Cấu hình Website & CSDL được đặt tại máy chủ 192.168.1.33 . Người sử dụng bao gồm cả admin, người dùng truy cập vào Website thông qua địa chỉ http:// 192.168.1.33:8093 + Cách tạo database: Ta tạo các class mapping với các Object thông qua hibernate với các quan hệ 1 - 1, 1 - n, n - 1, n - n, Trong spring boot sự động sinh ra cho ta các bảng tự động liên kết với nhau với việc update các Object này. Hệ thống sẽ mapping với các bảng sau: - Bảng User - Bảng Employee - Bảng Block_User - Bảng Device - Bảng Device_Catalog - Bảng Device_Detail - Bảng Employee_device_detail - Bảng File_profile - Bảng Group Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 27 - Bảng Request - Bảng Role - Bảng Token_Verification - Bảng User_group - Bảng User_role Hình 3. 1 : Cấu hình cơ sở dữ liệu trên máy chủ 1.8. Giao diện hệ thống Website 1.8.1. Giao diện một số chức năng của admin + Giao diện thống kê tình trạng tất cả các thiết bị trong hệ thống, bao gồm các thiết bị đang làm việc, chưa sử dụng và đã bị hư hỏng Ta truy xuất database bảng Device_Detail rồi kiểm tra tình trạng là như thế nào Case 1: Đang làm việc Case 2: Chưa sử dụng Case 3: Bị hư hỏng Rồi thống kê biểu đồ bằng cách lấy Đang làm việc: case 1/ (case 1 + case 2 + case 3) Chưa sử dụng: case 2/ (case 1 + case 2 + case 3) Bị hư hỏng: case 3/(case 1 + case 2 + case 3) Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 28 Hình 3. 2 : Giao diện chức năng quản lý của admin Hình 3 . 3 : Gia o diện chức năng quản lý nhân viên trong công ty + Giao diện chức năng quản lý nhân viên cho phép Admin có thể xem danh sách nhân viên, thêm, sửa, xóa và tìm kiếm nhân viên trong công ty. Ta truy xuất User những nhân viên nào trạng thái đã kích hoạt và không xóa thì sẽ được hiển thị, rồi từ đó viết api thêm, sửa, xóa, tìm kiếm rồi kết nối front end để hiển thị lên web. Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 29 Hình 3. 4 : Giao diện chứ c năng import/export thiết bị trong công ty Q uản lý danh sách import/export thiết bị trong kho để có thể quản lý thông qua phần mềm. + Ta tạo 1 file excel thống kê thiết bị(đối với import thiết bị) rồi upload file này vào database, Ta tùy biến các truy vấn data base như select, update theo đúng ý mình cần muốn từ các data trong excel Hình 3. 5 : Giao diện chức năng import/export nhân viên công ty + Ta tạo 1 file excel thống kê nhân viên(đối với import nhân viên) rồi upload file này vào database, Ta tùy biến các truy vấn database như select, update theo đúng ý mình cần muốn từ các data trong excel . Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 30 Hình 3. 6 : Giao diện thêm nhân viên của Admin + Ta Viết api thêm nhân viên dựa vào các trường trong bảng User và Employee để update lại da tabase theo đúng yêu cầu . Hình 3. 7 : Giao diện thống kê tình trạng thiết bị của Admin + Giao diện thống kê tình trạng tất cả các thiết bị trong hệ thống, bao gồm các thiết bị đang làm việc, chưa sử dụng và đã bị hư hỏng . Ta truy xuất database bảng Device_Detail rồi kiểm tra tình trạng là như thế nào Case 1: Đang làm việc Case 2: Chưa sử dụng Case 3: Bị hư hỏng Bị hư hỏng: case 3/(case 1 + case 2 + case 3) Đang làm việc: case 1/ (case 1 + case 2 + case 3) Chưa sử dụng: case 2/ (case 1 + case 2 + case 3) Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 31 Hình 3. 8 : Giao diện quản lý thông tin mà user yêu cầu + Gia o diện quản lý các yêu cầu của user, ta trích xuất vào bảng Request để hiển thị các bảng ghi ứng với nhân viên này yêu cầu, rồi từ đó Admin mới quyết định phê duyệt hay không. Hình 3. 9 : Giao diện quản lý thông tin cá nhân của Admin + Ta trích xuất vào b ảng Use r lấy ra Admin này rồi kết nối F ront end hiển thị lên web. Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 32 Hình 3. 10 : Giao diện quản lý phê duyệt thiết bị mà nhân viên yêu cầu + Hiển thị những yêu cầu phê duyệt của Nhân viên, truy xuất bảng Request trạng thái là “Allocation” rồi thay đổi trạng thái của nó là “Return”. Hình 3. 11 : Giao diện quản lý thông tin thiết bị đang chờ hoặc đã phê duyệt + Ta trích xuất vào bảng Reqquest các thiết bị có status là “Pending” hoặc “Approved” rồi kết nối với front end hiển thị lên màn hình. Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 33 1.8.2. Giao diện một số chức năng của nhân viên Hình 3. 12 : Giao diện nhân viên quản lý thông tin cá nhân + Nhân viên có thể quản lý thông tin cá nhân của mình như upload profile, thay đổi mật khẩu,.... Trích xuất bảng User và Employee thao tác với database. Hình 3. 13 : Giao diện nhân viên quản lý thông tin yêu cầu của mình + Nhân viên quản lý các yêu cầu củ a mình trong bảng Request sẽ lấy ra được danh sách và hiển thị xuống front end. Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 34 Hình 3. 14 : Giao diện màn hình xem thông tin liên hệ của Admin khi cần việc Chức năng này c ho phép xem thông tin Admin để liên hệ khi cần + Ta trích xuất các Admin trong hệ thống rồi hiển thị lên giao diện Front end Hình 3. 15 : Giao diện xem thông tin mượn trả thiết bị trong ngày của nhân viên + Ta trích xuất vào bảng E mplo yee_ D evice_ D etail thời gian mượn, thời gian trả rồi hiển thị lên giao diện Front end. Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 35 1.9. K ết chương Chương này tr ì nh bày một số yêu cầu đối với môi trường triển khai hệ thống Website , quá trình vận hành hệ thống Website trong thực tế giúp người đọc có cái nhìn tổng quan và cụ thể hơn về hệ thống Website quản lý trang thiết bị tại công ty phần mềm Asian Tech. Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 36 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 1. Kết quả đạt được Trong thời gian tìm hiểu, nghiên cứu cơ sở lý thuyết và triển khai ứng dụng công nghệ, đồ án đã đạt được những kết quả sau: Về mặt lý thuyết : − Ứ ng dụng các kiến thức đã học để phân tích nghiệp vụ của hệ thống Website quản lý trang thiết bị tại công ty phần mềm Asian Tech; − S ử dụng mô hình logic MVC để triển khai xây dựng hệ thống Website trên cơ sở công nghệ Java; − S ử dụng Spring boot Framework và H ibernate để tương tác CSDL. Về mặt thực tiễn ứng dụng : Đ ã xây dựng được hệ thống Website q uản lý trang thiết bị tại công ty phần mềm Asian Tech và triển khai thực tế. Tuy nhiên, đồ án còn tồn tại các vấn đề như sau: − Cần phát triền thêm các chức năng Import File excel thiết bị, user với số lượng lớn, thống kê số lượng thiết bị cho hợp lý hơn,...... − Vấn đề bảo mật với thông tin của Website còn hạn chế. 2. Kết quả chưa đạt được Một số kết quả chưa đạt được của đề tài: − Hệ thống sẽ chạy chậm, t hời gian time out nhiều khi số lượng nhân viên, thiết bị import trong hệ thống rất lớn, cần tăng performance bằng cách refactor code nhiều hơn nữa − Hệ thống còn chưa được tối ưu database, cần phát triển nhiều hơn − Một số Trang còn thiếu phân trang 3. Hướng phát triển Một số số hướng nghiên cứu và phát triển của đề tài như sau: − Phát triền thêm các chức năng Đăng kí, import/export file excel với số lượng lớn của user, thiết bị trong công ty,.... − Nghiên c ứ u s ử d ụ ng thêm c á c thu ậ t to á n m ớ i vào We bsite như thuật toán tìm kiếm, thuật toán gợi ý các nhân viên, thiết bị,.... Xây dựng hệ thống quản lý trang thiết bị tại công ty phần mềm Asian Tech SVTH: Từ Viết Văn GVHD: ThS. Nguyễn Văn Nguyên 37 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Công Tuấn, 100 bài tập và gỡ rối với Java, Tài liệu lưu hành nội bộ, 2007 . [2] Đậu Quang Tuấn, Tự học thiết kế trang web bằng JavaScript, 2008 . [3] Đoàn Vă n Ban, Lập trình Java nâng cao, 2011 [4] Nguy ễn Văn Phong, Tài liệu Java Spring MVC – Nhất Nghệ (PDF) , 2015 [5] https://loda.me/spring - boot - 13 -
Phân tích hiện trạng quản lý trang thiết bị
Do nhu cầu về Công nghệ thông tin ngày càng cao nên nhân công ty phần mềm ngày càng mọc nhiều, nhân viên cũng nhiều nên đòi hỏi phải quản lý tốt các thiết bị thuê mượn hợp lý, nhằm mục đích hỗ trợ hiệu quả cho công ty trong việc quản lý tốt về Admin và nhân viên, tạo ra thống kê hiệu quả.
Nghiên cứu lý thuyết
Tổng quan về Java
Java là một ngôn ngữ lập lập trình, được phát triển bởi Sun Microsystem vào năm 1995, là ngôn ngữ kế thừa trực tiếp từ C/C++ và là một ngôn ngữ lập trình hướng đối tượng
Với đặc điểm nổi bật đó, Java có những đặc điểm cơ bản như sau:
• Đơn giản và quen thuộc: Vì Java kế thừa trực tiếp từ C/C++ nên nó có những đặc điểm của ngôn ngữ này, Java đơn giản vì mặc dù dựa trên cơ sở C++ nhưng Sun đã cẩn thận lược bỏ các tính năng khó nhất của của C++ để làm cho ngôn ngữ này dễ sử dụng hơn
• Hướng đối tượng và quen thuộc
• Mạnh mẽ (thể hiện ở cơ chế tự động thu gom rác - Garbage Collection) và an toàn
• Kiến trúc trung lập, độc lập nền tảng và có tính khả chuyển (Portability)
• Máy ảo (biên dịch và thông dịch)
• Đa nhiệm: Ngôn ngữ Java cho phép xâ dựng trình ứng dụng, trong đó nhiều quá trình có thể xảy ra đồng thời Tính đa nhiệm cho phép các nhà lập trình có thể biên soạn phần mềm đáp ứng tốt hơn, tương tác tốt hơn và thực hiện theo thời gian thực,…
SVTH: Từ Viết Văn GVHD: ThS Nguyễn Văn Nguyên 4
Mô hình MVC (Model – View - Controller)
Mô hình MVC là một chuẩn mô hình và đóng vai trò quan trọng trong quá trình xây dựng – phát triển – vận hành và bảo trì một hệ thống hay một ứng dụng – phần mềm Nó tạo ra một mô hình 3 lớp Model – View – Controller (hình 1.2) tách biệt và tương tác nhau, giúp các chuyên gia có thể dễ dàng dựa vào mô hình để trao đổi và xử lý những nghiệp vụ một cách nhanh chóng Mô hình MVC có thể áp dụng cho các dự án trong môi trường Windows, Linux… và sử dụng bất kỳ ngôn ngữ nào như PHP, ASP, JSP…
SVTH: Từ Viết Văn GVHD: ThS Nguyễn Văn Nguyên 5
Mô hình MVC được chia làm 3 lớp xử lý gồm Model – View – Controller:
- Model: là nơi chứa những nghiệp vụ tương tác với dữ liệu hoặc hệ quản trị cơ sở dữ liệu (mysql, mssql… ); nó sẽ bao gồm các class/function xử lý nhiều nghiệp vụ như kết nối database, truy vấn dữ liệu, thêm – xóa – sửa dữ liệu…;
- View: là nơi chứa những giao diện như một nút bấm, khung nhập, menu, hình ảnh… nó đảm nhiệm nhiệm vụ hiển thị dữ liệu và giúp người dùng tương tác với hệ thống;
- Controller: là nơi tiếp nhận những yêu cầu xử lý được gửi từ người dùng, nó sẽ gồm những class/function xử lý nhiều nghiệp vụ logic giúp lấy đúng dữ liệu thông tin cần thiết nhờ các nghiệp vụ lớp Model cung cấp và hiển thị dữ liệu đó ra cho người dùng nhờ lớp View.
Tổng quan về Spring Framework
Spring là framework phát triển ứng dụng phổ biến nhất dành cho Java
Enterprise Ban đầu nó được viết bởi Rod Johnson và lần đầu tiên được phát hành theo giấy phép Apache 2.0 vào tháng 6 năm 2003 Spring có kích thước nhẹ, phiên bản cơ bản của Spring framework có kích thước khoảng 2 MB
SVTH: Từ Viết Văn GVHD: ThS Nguyễn Văn Nguyên 6
Spring framework là một Java Platform mã nguồn mở, một giải pháp gọn nhẹ dành cho Java Enterprise Với Spring Framework các nhà phát triển có thể tạo ra các mã có hiệu suất cao, dễ kiểm thử và có thể sử dụng lại được
Các tính năng core của Spring Framework có thể được sử dụng trong việc phát triển bất kỳ ứng dụng Java nào Bên cạnh đó, phần mở rộng được sử dụng để xây dựng các ứng dụng web trên nền tảng Java EE Mục tiêu của Spring Framework là làm cho việc phát triển ứng dụng J2EE dễ dàng hơn và thúc đẩy việc lập trình tốt hơn bằng mô hình POJO-based
Lợi ích của việc sử dụng Spring Framework
Spring cho phép các nhà phát triển tạo các ứng dụng cấp Enterprise sử dụng các POJO Lợi ích của việc sử dụng các POJO là bạn không cần một sản phẩm chứa EJB như một máy chủ ứng dụng, mà bạn chỉ có thể sử dụng một bộ chứa servlet mạnh mẽ như Tomcat hoặc một số sản phẩm thương mại khác
- Spring được tổ chức theo kiểu mô đun Mặc dù số lượng các gói và các lớp là khá nhiều, nhưng bạn chỉ cần quan tâm đến những gì bạn cần và không cần quan tâm đến phần còn lại
- Spring sử dụng một số công nghệ hiện có như một số ORM Framework, logging frameworks, JEE, Quartz, JDK timers và các công nghệ View khác
- Dễ dàng để kiểm thử một chương trình được viết bằng Spring
- Web framework của Spring là một Web MVC framework có thiết kế tốt, nó là một thay thế tuyệt vời cho Struts và các công nghệ kém phổ biến khác
- Spring cung cấp một API thuận tiện để dịch các ngoại lệ công nghệ cụ thể (ném bởi JDBC, Hibernate, hoặc JDO chẳng hạn) vào các trường hợp ngoại lệ nhất quán, không được kiểm soát
- IoC Container có trọng lượng nhẹ Điều này có lợi cho việc phát triển và triển khai các ứng dụng trên các máy tính có bộ nhớ và tài nguyên CPU hạn chế
- Spring cung cấp một giao diện quản lý transaction nhất quán có thể mở rộng đến một local transaction (ví dụ như sử dụng một CSDL) và mở rộng lên các global transaction (sử dụng JTA)
Spring Boot là một dự án phát triển bởi JAVA (ngôn ngữ java) trong hệ sinh thái Spring framework Nó giúp cho các lập trình viên chúng ta đơn giản hóa quá trình lập trình một ứng dụng với Spring, chỉ tập trung vào việc phát triển business cho ứng dụng
Dưới đây là một số tính năng nổi bật của Spring Boot:
- Tạo các ứng dụng Spring độc lập;
SVTH: Từ Viết Văn GVHD: ThS Nguyễn Văn Nguyên 7
- Nhúng trực tiếp Tomcat, Jetty hoặc Undertow (không cần phải deploy ra file WAR);
- Các starter dependency giúp việc cấu hình Maven đơn giản hơn;
- Tự động cấu hình Spring khi cần thiết;
- Không sinh code cấu hình và không yêu cầu phải cấu hình bằng XML.
Kết chương
Nghiệp vụ của Admin
- Quản lý người dùng(nhân viên): cho phép admin import file excel tất cả các nhân viên trong công ty, thêm, sửa, xóa, tìm kiếm nhân viên trong công ty
- Quản lý thông tin cá nhân: cho phép admin quản lý thông tin cá nhân như đăng nhập, thay đổi mật khẩu, đăng xuất
- Thống kê tình trạng thiết bị: Thống kê các thiết bị trong công ty ở 3 tình trạng: đang sử dụng, chưa sử dụng, bị hư hỏng bằng biểu đồ hình học
- Quản lý import, export file excel thiết bị: cho phép admin quản lý import, export file excel để thống kê các thiết bị được quản lý trong công ty
SVTH: Từ Viết Văn GVHD: ThS Nguyễn Văn Nguyên 8
- Quản lý import, export file excel thông tin nhân viên: cho phép admin quản lý import, export tất cả các nhân viên trong công ty
- Quản lý phê duyệt, cấp phát thiết bị: cho phép admin quản lý phê duyệt các thiết bị nhân viên yêu cầu và cấp phát thiết bị khi thiết bị chưa sử dụng
- Quản lý các thiết bị đang chờ, đã chấp nhận được phê duyệt: cho phép admin quản lý danh sách các thiết bị đang chờ, đã chấp nhận phê duyệt
- Cấu hình và cài đặt hệ thống: cho phép admin có thể cấu hình và cài đặt cho hệ thống.
Nghiệp vụ của Nhân viên
− Xem thông tin liên hệ Admin: cho phép nhân viên xem thông tin của Admin để liên hệ khi cần thiết như số điện thoại, email…
− Quản lý thông tin cá nhân: cho phép nhân viên thay đổi, cập nhật profile để chờ Admin phê duyệt
− Quản lý thông tin yêu cầu cấp phát thiết bị: cho phép nhân viên quản lý thông tin yêu cầu như mượn thiết bị, trả thiết bị hoặc cập nhật thông tin cá nhân
− Xem thông tin mượn trả thiết bị trong ngày: cho phép nhân viên xem các thông tin thiết bị mượn trả trong ngày.
Thiết kế hệ thống
Sơ đồ phân rã chức năng
Sơ đồ này cho thấy một cách tổng quát và toàn diện các chức năng, phạm vi thực hiện của Website
SVTH: Từ Viết Văn GVHD: ThS Nguyễn Văn Nguyên 9
Hình 2.1: Sơ đồ phân rã chức năng của Admin
Hình 2.2: Sơ đồ phân rã chức năng của nhân viên
SVTH: Từ Viết Văn GVHD: ThS Nguyễn Văn Nguyên 10
Biểu đồ ca sử dụng
Biểu đồ ca sử dụng (use case) mô tả các chức năng, sự tương tác đặc trưng giữa người dùng và Website Nó mô tả các yêu cầu đối với Website hiện tại, những gì Website phải làm.
1.4.2.1 Tổng quát các chức năng của hệ thống
Hình 2.3: Biểu đồ ca sử dụng các chức năng của hệ thống
1.4.2.2 Tổng quát các chức năng quản lý của Admin
Hình 2.4: Biểu đồ ca sử dụng chức năng Quản lý thông tin cá nhân
SVTH: Từ Viết Văn GVHD: ThS Nguyễn Văn Nguyên 11
Hình 2.5: Biểu đồ ca sử dụng chức năng Quản lý Nhân viên
Hình 2.6: Biểu đồ ca sử dụng chức năng Quản lý trang thiết bị
SVTH: Từ Viết Văn GVHD: ThS Nguyễn Văn Nguyên 12
Hình 2.7: Biểu đồ ca sử dụng Quản lý yêu cầu của nhân viên
1.4.2.3 Tổng quát các chức năng của nhân viên
Hình 2.8: Biểu đồ ca sử dụng chức năng Quản lý thông tin cá nhân
SVTH: Từ Viết Văn GVHD: ThS Nguyễn Văn Nguyên 13
Hình 2.9: Biểu đồ ca sử dụng của chức năng quản lý thông tin yêu cầu
Đặc tả ca sử dụng
Đặc tả ca sử dụng là quá trình mô tả cách các tác nhân tương tác, thực hiện ca sử dụng cho phép người dùng hiểu rõ hơn về cách sử dụng chức năng đó
Tên ca sử dụng Đăng nhập
Người dùng Admin, Nhân viên
Mô tả Cho phép Admin đăng nhập vào phần quản lý
Cho phép Người dùng đăng nhập vào website Điều kiện kích hoạt Người dùng vào trang đăng nhập hoặc truy cập các trang dành cho người dùng nhưng chưa đăng nhập
1 Người dùng nhập các thông tin tên đăng nhập và mật khẩu
2 Hệ thống kiểm tra dữ liệu nhập là đúng
3 Đưa đến trang quản lý hoặc trang chủ
Kết quả Đưa đến trang quản lý Trung tâm tin học hoặc trang chủ
1 Người dùng không nhập các thông tin tên đăng nhập và mật khẩu
2 Hệ thống kiểm tra dữ liệu nhập tên đăng nhập và mật khẩu sai, thông báo lỗi ra màn hình
Bảng 2.1: Ca sử dụng đăng nhập
SVTH: Từ Viết Văn GVHD: ThS Nguyễn Văn Nguyên 14
Tên ca sử dụng Quản lý người dùng
Mô tả Cho phép admin quản lý người dùng Điều kiện kích hoạt Admin chọn Leftbar User
2 Hệ thống hiện thông tin user mà Admin đã chọn
3 Admin tùy biến để xem, sửa xóa tìm kiếm user theo ý muốn
Kết quả Cho phép Admin quản lý thông tin user
Trường hợp lỗi Lỗi kết nối database
Bảng 2.2: Ca sử dụng quản lý người dùng
Tên ca sử dụng Thống kê tình trạng thiết bị
Mô tả Cho phép admin thống kê tình trạng thiết bị trong kho Điều kiện kích hoạt Admin chọn Leftbar
2 Hệ thống trả về biểu đồ hình học tất cả các thiết bị hư hỏng, chưa sử dụng hoặc đang sử dụng
Kết quả Trả về trang biểu đồ hình học quản lý các thiết bị
Trường hợp lỗi 1 Lỗi frontend hoặc 1 cú pháp sai sẽ load lại trang lỗi
Bảng 2.3: Ca sử dụng thống kê tình trạng thiết bị
Tên ca sử dụng Quản lý import/export file excel thiết bị
Mô tả Cho phép admin import/export file excel thiết bị Điều kiện kích hoạt File excel chứa thông tin các thiết bị trong kho
1 Admin chọn import(choose file) excel
2 Thông tin workbook sẽ được get và lấy ra các row của workbook lưu vào database
SVTH: Từ Viết Văn GVHD: ThS Nguyễn Văn Nguyên 15
3 Trả lại thông báo alert thành công hoặc thất bại
Kết quả Thông báo alert “Import file excel thành công!”
Trường hợp lỗi 1.Hệ thống kiểm tra thông tin file excel
2.Thông báo “Import file excel thất bại!”
Bảng 2.4: Ca sử dụng quản lý import/export file excel thiết bị
Tên ca sử dụng Quản lý thông tin cá nhân
Người dùng Admin, Nhân viên
Mô tả Cho phép chỉnh sửa các thông tin cá nhân Điều kiện kích hoạt Admin, Người dùng chọn chỉnh sửa thông tin cá nhân
1 Admin, Người dùng chọn chỉnh sửa thông tin cá nhân
2 Điền đẩy đủ các thông tin cá nhân
3 Hệ thống lưu thông tin cá nhân
4 Trả lại thông báo và đưa đến trang cá nhân
Kết quả Thông báo và đưa đến trang cá nhân
Trường hợp lỗi Lỗi kết nối database
Bảng 2.5: Ca sử dụng quản lý thông tin cá nhân
Tên ca sử dụng Quản lý thông tin yêu cầu cấp phát thiết bị
Mô tả Cho phép người dung quản lý thông tin mà mình đã mượn,trả thiết bị hoặc cập nhật thông tin cá nhân Điều kiện kích hoạt Người dùng click vào My Request
1 Người dùng click vào tab My Request
2 Hệ thống show ra các yêu cầu mà người dùng đề nghị với Admin
Kết quả Hiển thị Trang thông tin các yêu cầu mà nhân viên đề nghị
Trường hợp lỗi Lỗi bug của front end hoặc kết nối database
Bảng 2.6: Ca sử dụng quản lý thông tin yêu cầu cấp phát thiết bị
Tên ca sử dụng Xem thông tin mượn trả thiết bị trong ngày
Mô tả Cho phép nhân viên xem thiết bị mà mình mượn trả trong ngày Điều kiện kích hoạt Có thông tin yêu cầu của nhân viên như mượn,trả
SVTH: Từ Viết Văn GVHD: ThS Nguyễn Văn Nguyên 16
1 Người dùng click vào tab Home
2 Hiển thị trang hiển thị danh sách mượn trả thiết bị trong ngày của nhân viên
Kết quả Chuyển đến trang hiển thị thông tin mượn trả thiết bị trong ngày
Trường hợp lỗi Lỗi kết nối database
Bảng 2.7: Ca sử dụng xem thông tin mượn trả thiết bị trong ngày
Biểu đồ tuần tự
Một số biểu đồ tuần tự tổng quát sau sẽ cho thấy rõ hơn sự tương tác cơ bản giữa các thành phần của Website trong một số chức năng quan trọng
Hình 2.13: Biểu đồ tuần tự chức năng đăng nhập
SVTH: Từ Viết Văn GVHD: ThS Nguyễn Văn Nguyên 17
Hình 2.14: Biểu đồ tuần tự chức năng đăng ký nhân viên
Biểu đồ hoạt động
Một số biểu đồ hoạt động tổng quát sau sẽ mô tả các hoạt động hay một chuỗi các hoạt động xảy ra trong quá trình thực hiện chức năng của hệ thống Website
1.4.5.1 Biểu đồ hoạt động chức năng đăng nhập
SVTH: Từ Viết Văn GVHD: ThS Nguyễn Văn Nguyên 18
Hình 2.10: Biểu đồ hoạt động chức năng đăng nhập
1.4.5.2 Biểu đồ hoạt động chức năng Đăng ký nhân viên
Hình 2.12: Biểu đồ hoạt động chức năng đăng ký nhân viên
Biểu đồ lớp
Một lớp (class) là một tập hợp các đối tượng có cùng cấu trúc, cùng hành vi
Biểu đồ lớp thể hiện các khối của bất kỳ hệ thống hướng đối tượng nào Biểu đồ lớp mô tả cái nhìn tĩnh của mô hình hoặc một phần của mô hình, miêu tả những thuộc tính và hành vi một cách chi tiết
1.4.6.1 Biểu đồ lớp của hệ thống
SVTH: Từ Viết Văn GVHD: ThS Nguyễn Văn Nguyên 19
Hình 2.12: Biểu đồ lớp của hệ thống
SVTH: Từ Viết Văn GVHD: ThS Nguyễn Văn Nguyên 20
Thiết kế cơ sở dữ liệu
Hình 2.15: Thiết kế cở sở dữ liệu
Mô tả các bảng trong cơ sở dữ liệu:
Tên cột Giải thích Kiểu dữ liệu Độ dài tối đa Ghi chú user_id Sẽ tự động tăng mỗi khi thêm mới bigint 20 Khóa chính active Kích hoạt user Boolean description Mô tả user nvarchar 255 email Email của user varchar 255 non_del Tình trạng xóa của user Boolean non_locked Tình trạng bị khóa của user Boolean password Mật khẩu của user varchar 255 file_profile_id Id profile của user bigint 20 Khóa
Bảng 2.8: Mô tả bảng User
Tên cột Giải thích Kiểu dữ liệu Độ dài tối đa
SVTH: Từ Viết Văn GVHD: ThS Nguyễn Văn Nguyên 21 employee_id Sẽ tự động tăng mỗi khi thêm mới bigint 20 Khóa chính address Địa chỉ của nhân viên nvarchar 255 avatar Avatar của nhân viên varchar 255 date_of_birth Ngày sinh của nhân viên date employee_name Tên của nhân viên nvarchar 255 gender Giới tính của nhân viên Boolean phone Số điện thoại của nhân viên varchar 255 team Tên team của nhân viên nvarchar 255 user_id Id của user bigint 20 Khóa ngoại
Bảng 2.9: Mô tả bảng Employee
Tên cột Giải thích Kiểu dữ liệu Độ dài tối đa
Ghi chú block_user_id Sẽ tự động tăng mỗi khi thêm mới bigint 20 Khóa chính block_time Thời gian bị khóa tài khoản của User datetime number_fail Số lần đăng nhập trượt của User int 11 user_id Id của User bigint 20 Khóa ngoại
Bảng 2.10: Mô tả bảng Block_User
Tên cột Giải thích Kiểu dữ liệu Độ dài tối đa
Ghi chú device_id Sẽ tự động tăng mỗi khi thêm mới bigint 20 Khóa chính description Mô tả thiết bị nvarchar 255 name Tên thiết bị nvarchar 255 price Gía tiền của thiết bị double quantity Số lượng thiết bị bigint 20
SVTH: Từ Viết Văn GVHD: ThS Nguyễn Văn Nguyên 22 device_catalog_id Id của loại thiết bị bigint 20 Khóa ngoại
Bảng 2.11: Mô tả bảng Device
Tên cột Giải thích Kiểu dữ liệu Độ dài tối đa
Ghi chú device_catalog_id Sẽ tự động tăng mỗi khi thêm mới bigint 20 Khóa chính description Mô tả loại thiết bị nvarchar 255 name Tên loại thiết bị nvarchar 255
Bảng 2.12: Mô tả bảng Device_Catalog
Tên cột Giải thích Kiểu dữ liệu Độ dài tối đa
Ghi chú device_detail_id Sẽ tự động tăng mỗi khi thêm mới bigint 20 Khóa chính device_detail_description Mô tả chi tiết thiết bị nvarchar 255 product_id Mã thiết bị varchar 11 status Trạng thái thiết bị Boolean update_date Ngày cập nhật thiết bị datetime device_id Id của thiết bị bigint 20 Khóa ngoại
Bảng 2.13: Mô tả bảng Device_detail
Tên cột Giải thích Kiểu dữ liệu Độ dài tối đa
Ghi chú employee_device_detail_id Sẽ tự động tăng mỗi khi thêm mới bigint 20 Khóa chính date_deliver_receive Ngày cấp phát thiết bị(cho mượn) datetime date_return Ngày trả thiết bị datetime device_detail_id Id của chi tiết thiết bị bigint 20 Khóa ngoại
SVTH: Từ Viết Văn GVHD: ThS Nguyễn Văn Nguyên 23 employee_id Id của nhân viên bigint 20 Khóa ngoại
Bảng 2.14: Mô tả bảng Employee_device_detail
Tên cột Giải thích Kiểu dữ liệu Độ dài tối đa
Ghi chú file_profile_id Sẽ tự động tăng mỗi khi thêm mới bigint 20 Khóa chính data Dữ liệu của ảnh longblob file_name Tên của ảnh varchar 255 file_type Kiểu của ảnh varchar 255
Bảng 2.15: Mô tả bảng File_profile
Tên cột Giải thích Kiểu dữ liệu Độ dài tối đa Ghi chú group_id Sẽ tự động tăng mỗi khi thêm mới bigint 20 Khóa chính group_description Mô tả nhóm của user nvarchar 255 group_name Tên nhóm của user nvarchar 255
Bảng 2.16: Mô tả bảng Group
Tên cột Giải thích Kiểu dữ liệu Độ dài tối đa
Ghi chú request_id Sẽ tự động tăng mỗi khi thêm mới bigint 20 Khóa chính content Nội dung cần yêu cầu của nhân viên nvarchar 255 content_reply Nội dung trả lời của
Admin nvarchar 55 status Trạng thái yêu cầu của thiết bị varchar 255 type Loại yêu cầu của thiết bị varchar 255 update_date Ngày cập nhật yêu cầu datetime
SVTH: Từ Viết Văn GVHD: ThS Nguyễn Văn Nguyên 24 user_id Id của user bigint 20 Khóa ngoại device_detail_id Id của chi tiết thiết bị bigint 20 avatar avatar của user varchar 255
Bảng 2.17: Mô tả bảng Request
Tên cột Giải thích Kiểu dữ liệu Độ dài tối đa
Ghi chú role_id Sẽ tự động tăng mỗi khi thêm mới bigint 20 Khóa chính role_description Mô tả phân quyền của user nvarchar 255 role_name Tên của phân quyền nvarchar 255
Bảng 2.18: Mô tả bảng Role
Tên cột Giải thích Kiểu dữ liệu Độ dài tối đa
Ghi chú token_verification_id Sẽ tự động tăng mỗi khi thêm mới bigint 20 Khóa chính expire_time Thời gian hết hạn của user datetime token_code Mã Token varchar 255 user_id Id của user bigint 20 Khóa ngoại
Bảng 2.19: Mô tả bảng Token_Verification
Tên cột Giải thích Kiểu dữ liệu Độ dài tối đa Ghi chú user_group_id Sẽ tự động tăng mỗi khi thêm mới bigint 20 Khóa chính group_id Id của group bigint 20 Khóa ngoại user_id Id của user bigint 20 Khóa ngoại
Bảng 2.20: Mô tả bảng User_group
Tên cột Giải thích Kiểu dữ liệu Độ dài tối đa Ghi chú
SVTH: Từ Viết Văn GVHD: ThS Nguyễn Văn Nguyên 25 user_role_id Sẽ tự động tăng mỗi khi thêm mới bigint 20 Khóa chính role_id Id của role bigint 20 Khóa ngoại user_id Id của user bigint 20 Khóa ngoại
Bảng 2.21: Mô tả bảng User_role
Kết chương
Chương này cung cấp cho người đọc cái nhìn tổng quan về nghiệp vụ quản lý trang thiết bị tại công ty phần mềm Asian Tech Đồng thời tiến hành phân tích & thiết kế hệ thống Website quản lý trang thiết bị đáp ứng mô hình nghiệp vụ nêu trên
SVTH: Từ Viết Văn GVHD: ThS Nguyễn Văn Nguyên 26
TRIỂN KHAI VÀ ĐÁNH GIÁ
1.6 Yêu cầu cấu hình máy chủ Để triển khai và đưa Website đi vào hoạt động một cách ổn định, máy chủ cần đáp ứng được một số yêu cầu sau:
− Hệ điều hành: Windows Server 2008 trở lên;
− Spring Boot framework 2.0.4 trở lên
− Bootstrap, Ajax, html, css, js, jquery
Triển khai hệ thống Website
Cấu hình Website & CSDL được đặt tại máy chủ 192.168.1.33 Người sử dụng bao gồm cả admin, người dùng truy cập vào Website thông qua địa chỉ http://192.168.1.33:8093
+ Cách tạo database: Ta tạo các class mapping với các Object thông qua hibernate với các quan hệ 1-1, 1-n, n-1, n-n, Trong spring boot sự động sinh ra cho ta các bảng tự động liên kết với nhau với việc update các Object này
Hệ thống sẽ mapping với các bảng sau:
SVTH: Từ Viết Văn GVHD: ThS Nguyễn Văn Nguyên 27
Hình 3.1: Cấu hình cơ sở dữ liệu trên máy chủ
Giao diện hệ thống Website
Giao diện một số chức năng của admin
+ Giao diện thống kê tình trạng tất cả các thiết bị trong hệ thống, bao gồm các thiết bị đang làm việc, chưa sử dụng và đã bị hư hỏng
Ta truy xuất database bảng Device_Detail rồi kiểm tra tình trạng là như thế nào
Rồi thống kê biểu đồ bằng cách lấy Đang làm việc: case 1/ (case 1 + case 2 + case 3)
Chưa sử dụng: case 2/ (case 1 + case 2 + case 3)
Bị hư hỏng: case 3/(case 1 + case 2 + case 3)
SVTH: Từ Viết Văn GVHD: ThS Nguyễn Văn Nguyên 28
Hình 3.2: Giao diện chức năng quản lý của admin
Hình 3.3: Giao diện chức năng quản lý nhân viên trong công ty
+ Giao diện chức năng quản lý nhân viên cho phép Admin có thể xem danh sách nhân viên, thêm, sửa, xóa và tìm kiếm nhân viên trong công ty
Ta truy xuất User những nhân viên nào trạng thái đã kích hoạt và không xóa thì sẽ được hiển thị, rồi từ đó viết api thêm, sửa, xóa, tìm kiếm rồi kết nối front end để hiển thị lên web
SVTH: Từ Viết Văn GVHD: ThS Nguyễn Văn Nguyên 29
Hình 3.4: Giao diện chức năng import/export thiết bị trong công ty
Quản lý danh sách import/export thiết bị trong kho để có thể quản lý thông qua phần mềm
+ Ta tạo 1 file excel thống kê thiết bị(đối với import thiết bị) rồi upload file này vào database, Ta tùy biến các truy vấn database như select, update theo đúng ý mình cần muốn từ các data trong excel
Hình 3.5: Giao diện chức năng import/export nhân viên công ty
+ Ta tạo 1 file excel thống kê nhân viên(đối với import nhân viên) rồi upload file này vào database, Ta tùy biến các truy vấn database như select, update theo đúng ý mình cần muốn từ các data trong excel
SVTH: Từ Viết Văn GVHD: ThS Nguyễn Văn Nguyên 30
Hình 3.6: Giao diện thêm nhân viên của Admin
+ Ta Viết api thêm nhân viên dựa vào các trường trong bảng User và Employee để update lại database theo đúng yêu cầu
Hình 3.7: Giao diện thống kê tình trạng thiết bị của Admin
+ Giao diện thống kê tình trạng tất cả các thiết bị trong hệ thống, bao gồm các thiết bị đang làm việc, chưa sử dụng và đã bị hư hỏng
Ta truy xuất database bảng Device_Detail rồi kiểm tra tình trạng là như thế nào
Bị hư hỏng: case 3/(case 1 + case 2 + case 3) Đang làm việc: case 1/ (case 1 + case 2 + case 3)
Chưa sử dụng: case 2/ (case 1 + case 2 + case 3)
SVTH: Từ Viết Văn GVHD: ThS Nguyễn Văn Nguyên 31
Hình 3.8: Giao diện quản lý thông tin mà user yêu cầu
+ Giao diện quản lý các yêu cầu của user, ta trích xuất vào bảng Request để hiển thị các bảng ghi ứng với nhân viên này yêu cầu, rồi từ đó Admin mới quyết định phê duyệt hay không
Hình 3.9: Giao diện quản lý thông tin cá nhân của Admin
+ Ta trích xuất vào bảng User lấy ra Admin này rồi kết nối Front end hiển thị lên web
SVTH: Từ Viết Văn GVHD: ThS Nguyễn Văn Nguyên 32
Hình 3.10: Giao diện quản lý phê duyệt thiết bị mà nhân viên yêu cầu
+ Hiển thị những yêu cầu phê duyệt của Nhân viên, truy xuất bảng Request trạng thái là
“Allocation” rồi thay đổi trạng thái của nó là “Return”
Hình 3.11: Giao diện quản lý thông tin thiết bị đang chờ hoặc đã phê duyệt
+ Ta trích xuất vào bảng Reqquest các thiết bị có status là “Pending” hoặc “Approved” rồi kết nối với front end hiển thị lên màn hình
SVTH: Từ Viết Văn GVHD: ThS Nguyễn Văn Nguyên 33
Giao diện một số chức năng của nhân viên
Hình 3.12: Giao diện nhân viên quản lý thông tin cá nhân
+ Nhân viên có thể quản lý thông tin cá nhân của mình như upload profile, thay đổi mật khẩu,
Trích xuất bảng User và Employee thao tác với database
Hình 3.13: Giao diện nhân viên quản lý thông tin yêu cầu của mình
+ Nhân viên quản lý các yêu cầu của mình trong bảng Request sẽ lấy ra được danh sách và hiển thị xuống front end
SVTH: Từ Viết Văn GVHD: ThS Nguyễn Văn Nguyên 34
Hình 3.14: Giao diện màn hình xem thông tin liên hệ của Admin khi cần việc
Chức năng này cho phép xem thông tin Admin để liên hệ khi cần
+ Ta trích xuất các Admin trong hệ thống rồi hiển thị lên giao diện Front end
Hình 3.15: Giao diện xem thông tin mượn trả thiết bị trong ngày của nhân viên
+ Ta trích xuất vào bảng Employee_Device_Detail thời gian mượn, thời gian trả rồi hiển thị lên giao diện Front end
SVTH: Từ Viết Văn GVHD: ThS Nguyễn Văn Nguyên 35
Kết chương
Chương này trình bày một số yêu cầu đối với môi trường triển khai hệ thống Website, quá trình vận hành hệ thống Website trong thực tế giúp người đọc có cái nhìn tổng quan và cụ thể hơn về hệ thống Website quản lý trang thiết bị tại công ty phần mềm Asian Tech
SVTH: Từ Viết Văn GVHD: ThS Nguyễn Văn Nguyên 36
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Trong thời gian tìm hiểu, nghiên cứu cơ sở lý thuyết và triển khai ứng dụng công nghệ, đồ án đã đạt được những kết quả sau:
− Ứng dụng các kiến thức đã học để phân tích nghiệp vụ của hệ thống Website quản lý trang thiết bị tại công ty phần mềm Asian Tech;
− Sử dụng mô hình logic MVC để triển khai xây dựng hệ thống Website trên cơ sở công nghệ Java;
− Sử dụng Spring boot Framework và Hibernate để tương tác CSDL
Về mặt thực tiễn ứng dụng: Đã xây dựng được hệ thống Website quản lý trang thiết bị tại công ty phần mềm Asian Tech và triển khai thực tế
Tuy nhiên, đồ án còn tồn tại các vấn đề như sau:
− Cần phát triền thêm các chức năng Import File excel thiết bị, user với số lượng lớn, thống kê số lượng thiết bị cho hợp lý hơn,
− Vấn đề bảo mật với thông tin của Website còn hạn chế.
Kết quả chưa đạt được
Một số kết quả chưa đạt được của đề tài:
− Hệ thống sẽ chạy chậm, thời gian time out nhiều khi số lượng nhân viên, thiết bị import trong hệ thống rất lớn, cần tăng performance bằng cách refactor code nhiều hơn nữa
− Hệ thống còn chưa được tối ưu database, cần phát triển nhiều hơn
− Một số Trang còn thiếu phân trang
Một số số hướng nghiên cứu và phát triển của đề tài như sau:
− Phát triền thêm các chức năng Đăng kí, import/export file excel với số lượng lớn của user, thiết bị trong công ty,
− Nghiên cứu sử dụng thêm các thuật toán mới vào Website như thuật toán tìm kiếm, thuật toán gợi ý các nhân viên, thiết bị,