ĐỒ ÁN PHÁT TRIỂN PHẦN MỀM QUẢN LÝ DỰ ÁN

105 6 0
ĐỒ ÁN PHÁT TRIỂN PHẦN MỀM QUẢN LÝ DỰ ÁN

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐỒ ÁN PHÁT TRIỂN PHẦN MỀM QUẢN LÝ DỰ ÁN Đồ án nhằm mục đích xây dựng một phần mềm hỗ trợ quản lý dự án, giúp người quản lý có thể theo dõi được tiến độ dự án để có những điều chỉnh phù hợp. Bên cạnh đó, phần mềm được xây dựng để có thể quản lý và phân công các công việc cần thực hiện để hoàn thành dự án và quản lý tài khoản để nhân viên và người quản lý truy nhập vào hệ thống. Trong đồ án này, chúng em thực hiện theo các bước phát triển phần mềm từ lập kế hoạch, thu thập yêu cầu, phân tích, thiết kế hệ thống và triển khai hệ thống. Quá trình phân tích thiết kế theo hướng đối tượng sử dụng ngôn ngữ mô hình hoá thống nhất (UML). Ứng dụng được xây dựng trên nền tảng web, triển khai trên Java Spring Tool và sử dụng hệ cơ sở quản trị dữ liệu MySQL. Chúng em đã xây dựng được phần mềm đáp ứng được các yêu cầu chức năng cơ bản của hệ thống. Phần mềm có thể tạo và phân chia công việc trong dự án, quản lý nhân sự dự án, ước lượng và đánh giá được tiến độ công việc cũng như tiến độ dự án. Tuy nhiên, phần mềm vẫn còn một số vấn đề cần khắc phục và có thể tiếp tục được phát triển trong tương lai.

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ - VIỄN THÔNG ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Đề tài: PHÁT TRIỂN PHẦN MỀM QUẢN LÝ DỰ ÁN Sinh viên thực hiện: TRẦN TRỌNG ĐẠI CN-Điện tử TT 02 K58 LÊ TỬ HÙNG Điện tử 08 K59 NGUYỄN TIẾN THÀNH Điện tử 04 K59 Giảng viên hướng dẫn: TS NGUYỄN THANH BÌNH Hà Nội, 06 – 2019 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ - VIỄN THÔNG ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Đề tài: PHÁT TRIỂN PHẦN MỀM QUẢN LÝ DỰ ÁN Sinh viên thực hiện: TRẦN TRỌNG ĐẠI CN-Điện tử TT 02 K58 LÊ TỬ HÙNG Điện tử 08 K59 NGUYỄN TIẾN THÀNH Điện tử 04 K59 Giảng viên hướng dẫn: TS NGUYỄN THANH BÌNH Cán phản biện: Hà Nội, 06 - 2019 ĐÁNH GIÁ QUYỂN ĐỒ ÁN TỐT NGHIỆP (Dùng cho giảng viên hướng dẫn) Tên giảng viên đánh giá: TS NGUYỄN THANH BÌNH Họ tên Sinh viên: TRẦN TRỌNG ĐẠI MSSV: 20135307 Tên đồ án: PHÁT TRIỂN PHẦN MỀM QUẢN LÝ DỰ ÁN Chọn mức điểm phù hợp cho sinh viên trình bày theo tiêu chí đây: Rất (1); Kém (2); Đạt (3); Giỏi (4); Xuất sắc (5) Có kết hợp lý thuyết thực hành (20) Nêu rõ tính cấp thiết quan trọng đề tài, vấn đề giả thuyết (bao gồm mục đích tính phù hợp) phạm vi ứng dụng đồ án Cập nhật kết nghiên cứu gần (trong nước/quốc tế) Nêu rõ chi tiết phương pháp nghiên cứu/giải vấn đề Có kết mơ phỏng/thưc nghiệm trình bày rõ ràng kết đạt 1 2 3 4 5 5 5 5 Có khả phân tích đánh giá kết (15) Kế hoạch làm việc rõ ràng bao gồm mục tiêu phương pháp thực dựa kết nghiên cứu lý thuyết cách có hệ thống Kết trình bày cách logic dễ hiểu, tất kết phân tích đánh giá thỏa đáng Trong phần kết luận, tác giả rõ khác biệt (nếu có) kết đạt mục tiêu ban đầu đề đồng thời cung cấp lập luận để đề xuất hướng giải thực tương lai Kỹ viết đồ án (10) Đồ án trình bày mẫu quy định với cấu trúc chương logic đẹp mắt (bảng biểu, hình ảnh rõ ràng, có tiêu đề, đánh số thứ tự giải thích hay đề cập đến đồ án, có lề, dấu cách sau dấu chấm, dấu phẩy v.v), có mở đầu chương kết luận chương, có liệt kê tài liệu tham khảo có trích dẫn quy định Kỹ viết xuất sắc (cấu trúc câu chuẩn, văn phong khoa học, lập luận logic có sở, từ vựng sử dụng phù hợp v.v.) Thành tựu nghiên cứu khoa học (5) (chọn trường hợp) 10a 10b 10c Có báo khoa học đăng chấp nhận đăng/đạt giải SVNC khoa học giải cấp Viện trở lên/các giải thưởng khoa học (quốc tế/trong nước) từ giải trở lên/ Có đăng ký phát minh sáng chế Được báo cáo hội đồng cấp Viện hội nghị sinh viên nghiên cứu khoa học không đạt giải từ giải trở lên/Đạt giải khuyến khích kỳ thi quốc gia quốc tế khác chuyên ngành TI contest Không có thành tích nghiên cứu khoa học Điểm tổng Điểm tổng quy đổi thang 10 /50 Nhận xét khác (về thái độ tinh thần làm việc sinh viên) Ngày: … / … / 20… Người nhận xét (Ký ghi rõ họ tên) ĐÁNH GIÁ QUYỂN ĐỒ ÁN TỐT NGHIỆP (Dùng cho giảng viên hướng dẫn) Tên giảng viên đánh giá: TS NGUYỄN THANH BÌNH Họ tên Sinh viên: LÊ TỬ HÙNG MSSV: 20142075 Tên đồ án: PHÁT TRIỂN PHẦN MỀM QUẢN LÝ DỰ ÁN Chọn mức điểm phù hợp cho sinh viên trình bày theo tiêu chí đây: Rất (1); Kém (2); Đạt (3); Giỏi (4); Xuất sắc (5) Có kết hợp lý thuyết thực hành (20) Nêu rõ tính cấp thiết quan trọng đề tài, vấn đề giả thuyết (bao gồm mục đích tính phù hợp) phạm vi ứng dụng đồ án Cập nhật kết nghiên cứu gần (trong nước/quốc tế) Nêu rõ chi tiết phương pháp nghiên cứu/giải vấn đề Có kết mơ phỏng/thưc nghiệm trình bày rõ ràng kết đạt 1 2 3 4 5 5 5 5 Có khả phân tích đánh giá kết (15) Kế hoạch làm việc rõ ràng bao gồm mục tiêu phương pháp thực dựa kết nghiên cứu lý thuyết cách có hệ thống Kết trình bày cách logic dễ hiểu, tất kết phân tích đánh giá thỏa đáng Trong phần kết luận, tác giả rõ khác biệt (nếu có) kết đạt mục tiêu ban đầu đề đồng thời cung cấp lập luận để đề xuất hướng giải thực tương lai Kỹ viết đồ án (10) Đồ án trình bày mẫu quy định với cấu trúc chương logic đẹp mắt (bảng biểu, hình ảnh rõ ràng, có tiêu đề, đánh số thứ tự giải thích hay đề cập đến đồ án, có lề, dấu cách sau dấu chấm, dấu phẩy v.v), có mở đầu chương kết luận chương, có liệt kê tài liệu tham khảo có trích dẫn quy định Kỹ viết xuất sắc (cấu trúc câu chuẩn, văn phong khoa học, lập luận logic có sở, từ vựng sử dụng phù hợp v.v.) Thành tựu nghiên cứu khoa học (5) (chọn trường hợp) 10a 10b 10c Có báo khoa học đăng chấp nhận đăng/đạt giải SVNC khoa học giải cấp Viện trở lên/các giải thưởng khoa học (quốc tế/trong nước) từ giải trở lên/ Có đăng ký phát minh sáng chế Được báo cáo hội đồng cấp Viện hội nghị sinh viên nghiên cứu khoa học không đạt giải từ giải trở lên/Đạt giải khuyến khích kỳ thi quốc gia quốc tế khác chuyên ngành TI contest Khơng có thành tích nghiên cứu khoa học Điểm tổng Điểm tổng quy đổi thang 10 /50 Nhận xét khác (về thái độ tinh thần làm việc sinh viên) Ngày: … / … / 20… Người nhận xét (Ký ghi rõ họ tên) ĐÁNH GIÁ QUYỂN ĐỒ ÁN TỐT NGHIỆP (Dùng cho giảng viên hướng dẫn) Tên giảng viên đánh giá: TS NGUYỄN THANH BÌNH Họ tên Sinh viên: NGUYỄN TIẾN THÀNH MSSV: 20144098 Tên đồ án: PHÁT TRIỂN PHẦN MỀM QUẢN LÝ DỰ ÁN Chọn mức điểm phù hợp cho sinh viên trình bày theo tiêu chí đây: Rất (1); Kém (2); Đạt (3); Giỏi (4); Xuất sắc (5) Có kết hợp lý thuyết thực hành (20) Nêu rõ tính cấp thiết quan trọng đề tài, vấn đề giả thuyết (bao gồm mục đích tính phù hợp) phạm vi ứng dụng đồ án Cập nhật kết nghiên cứu gần (trong nước/quốc tế) Nêu rõ chi tiết phương pháp nghiên cứu/giải vấn đề Có kết mơ phỏng/thưc nghiệm trình bày rõ ràng kết đạt 1 2 3 4 5 5 5 5 Có khả phân tích đánh giá kết (15) Kế hoạch làm việc rõ ràng bao gồm mục tiêu phương pháp thực dựa kết nghiên cứu lý thuyết cách có hệ thống Kết trình bày cách logic dễ hiểu, tất kết phân tích đánh giá thỏa đáng Trong phần kết luận, tác giả rõ khác biệt (nếu có) kết đạt mục tiêu ban đầu đề đồng thời cung cấp lập luận để đề xuất hướng giải thực tương lai Kỹ viết đồ án (10) Đồ án trình bày mẫu quy định với cấu trúc chương logic đẹp mắt (bảng biểu, hình ảnh rõ ràng, có tiêu đề, đánh số thứ tự giải thích hay đề cập đến đồ án, có lề, dấu cách sau dấu chấm, dấu phẩy v.v), có mở đầu chương kết luận chương, có liệt kê tài liệu tham khảo có trích dẫn quy định Kỹ viết xuất sắc (cấu trúc câu chuẩn, văn phong khoa học, lập luận logic có sở, từ vựng sử dụng phù hợp v.v.) Thành tựu nghiên cứu khoa học (5) (chọn trường hợp) 10a 10b 10c Có báo khoa học đăng chấp nhận đăng/đạt giải SVNC khoa học giải cấp Viện trở lên/các giải thưởng khoa học (quốc tế/trong nước) từ giải trở lên/ Có đăng ký phát minh sáng chế Được báo cáo hội đồng cấp Viện hội nghị sinh viên nghiên cứu khoa học không đạt giải từ giải trở lên/Đạt giải khuyến khích kỳ thi quốc gia quốc tế khác chuyên ngành TI contest Không có thành tích nghiên cứu khoa học Điểm tổng Điểm tổng quy đổi thang 10 /50 Nhận xét khác (về thái độ tinh thần làm việc sinh viên) Ngày: … / … / 20… Người nhận xét (Ký ghi rõ họ tên) ĐÁNH GIÁ QUYỂN ĐỒ ÁN TỐT NGHIỆP (Dùng cho cán phản biện) Giảng viên đánh giá: Họ tên Sinh viên: TRẦN TRỌNG ĐẠI MSSV: 20135307 Tên đồ án: PHÁT TRIỂN PHẦN MỀM QUẢN LÝ DỰ ÁN Chọn mức điểm phù hợp cho sinh viên trình bày theo tiêu chí đây: Rất (1); Kém (2); Đạt (3); Giỏi (4); Xuất sắc (5) Có kết hợp lý thuyết thực hành (20) Nêu rõ tính cấp thiết quan trọng đề tài, vấn đề giả thuyết (bao gồm mục đích tính phù hợp) phạm vi ứng dụng đồ án Cập nhật kết nghiên cứu gần (trong nước/quốc tế) Nêu rõ chi tiết phương pháp nghiên cứu/giải vấn đề Có kết mơ phỏng/thưc nghiệm trình bày rõ ràng kết đạt 1 2 3 4 5 5 5 5 Có khả phân tích đánh giá kết (15) Kế hoạch làm việc rõ ràng bao gồm mục tiêu phương pháp thực dựa kết nghiên cứu lý thuyết cách có hệ thống Kết trình bày cách logic dễ hiểu, tất kết phân tích đánh giá thỏa đáng Trong phần kết luận, tác giả rõ khác biệt (nếu có) kết đạt mục tiêu ban đầu đề đồng thời cung cấp lập luận để đề xuất hướng giải thực tương lai Kỹ viết đồ án (10) Đồ án trình bày mẫu quy định với cấu trúc chương logic đẹp mắt (bảng biểu, hình ảnh rõ ràng, có tiêu đề, đánh số thứ tự giải thích hay đề cập đến đồ án, có lề, dấu cách sau dấu chấm, dấu phẩy v.v), có mở đầu chương kết luận chương, có liệt kê tài liệu tham khảo có trích dẫn quy định Kỹ viết xuất sắc (cấu trúc câu chuẩn, văn phong khoa học, lập luận logic có sở, từ vựng sử dụng phù hợp v.v.) Thành tựu nghiên cứu khoa học (5) (chọn trường hợp) 10a 10b 10c Có báo khoa học đăng chấp nhận đăng/đạt giải SVNC khoa học giải cấp Viện trở lên/các giải thưởng khoa học (quốc tế/trong nước) từ giải trở lên/ Có đăng ký phát minh sáng chế Được báo cáo hội đồng cấp Viện hội nghị sinh viên nghiên cứu khoa học không đạt giải từ giải trở lên/Đạt giải khuyến khích kỳ thi quốc gia quốc tế khác chuyên ngành TI contest Khơng có thành tích nghiên cứu khoa học Điểm tổng Điểm tổng quy đổi thang 10 /50 Nhận xét khác cán phản biện Ngày: … / … / 20… Người nhận xét (Ký ghi rõ họ tên) KẾT LUẬN Sau trình thực đồ án, chúng em xây dựng phần mềm thực yêu cầu chức đặt hệ thống quản lý dự án Quá trình phát triển phần mềm diễn từ thu thập yêu cầu, phân tích, thiết kế hệ thống đến triển khai hệ thống tảng Java Spring Phần mềm thiết kế thực chức nghiệp vụ hệ thống gồm: quản lý phòng ban, quản lý nhân viên, quản lý tài khoản nghiệp vụ quản lý dự án Vấn đề trọng tâm hệ thống đánh giá tiến độ dự án giải cách xây dựng triển khai mơ hình tốn học để tính tốn tiến độ dự án Tuy nhiên hạn chế thời gian, bước phân tích, thiết kế cịn thiếu sót nên chưa hoàn toàn bao quát hết chức nghiệp vụ hệ thống Phần mềm xây dựng cịn số chức chưa hồn tồn với yêu cầu đưa cần khắc phục xử lý để hoàn thiện Trong tương lai, phần mềm tiếp tục phát triển để tích hợp thêm nghiệp vụ khác doanh nghiệp, giúp công việc quản lý trở đơn giản hiệu Với việc đánh giá tiến độ dự án, ta xây dựng thêm mơ hình tốn học khác để đánh giá xác tiến độ dự án, giúp quản lý dự án hiệu Hệ thống cài đặt triển khai hạ tầng vật lý để đưa vào hoạt động tích hợp với nghiệp vụ doanh nghiệp 67 TÀI LIỆU THAM KHẢO [1] A Dennis, B H Wixom, D Tegarden, System Analysis Design, UML Version 2.0: An Object-Oriented Approach, Fourth Edition, Willey, 2012 [2] https://en.wikipedia.org/wiki/Unified_Modeling_Language, truy nhập cuối ngày 10/06/2019 [3] https://www.tutorialspoint.com/uml/, truy nhập cuối ngày 10/06/2019 [4] https://spring.io/projects/spring-boot, truy nhập cuối ngày 10/06/2019 [5] https://o7planning.org/vi/11669/spring-boot, truy nhập cuối ngày 10/06/2019 [6] https://kipalog.com/posts/Buoc-dau-tim-hieu-Spring-Boot, truy nhập cuối ngày 10/06/2019 [7] https://spring.io/guides/tutorials/rest/, truy nhập cuối ngày 10/06/2019 [8] https://spring.io/guides/gs/rest-service/, truy nhập cuối ngày 10/06/2019 [9] https://o7planning.org/vi/11645/vi-du-crud-restful-web-service-voi-springboot, truy nhập cuối ngày 10/06/2019 [10] https://kipalog.com/posts/Spring-boot -Rest-API Overview, truy nhập cuối ngày 10/06/2019 [11] https://spring.io/projects/spring-security, truy nhập cuối ngày 10/06/2019 [12] https://kipalog.com/posts/Huong-dan-lap-trinh-Spring-Security, truy nhập cuối ngày 10/06/2019 [13] https://www.w3schools.com/bootstrap4/default.asp, truy nhập cuối ngày 10/06/2019 [14] https://getbootstrap.com/, truy nhập cuối ngày 10/06/2019 [15] https://www.w3schools.com/jquery/default.asp, truy nhập cuối ngày 10/06/2019 [16] https://blog.jquery.com/, truy nhập cuối ngày 10/06/2019 [17] https://code.jquery.com/, truy nhập cuối ngày 10/06/2019 [18] https://www.w3schools.com/js/, truy nhập cuối ngày 10/06/2019 [19] https://javascript.info/, truy nhập cuối ngày 10/06/2019 68 BẢNG ĐỐI CHIẾU THUẬT NGỮ VIỆT ANH Ngơn ngữ mơ hình hố thống Unified Modeling Language Quy trình nghiệp vụ Business Process Mơ hình hố chức Functional Modeling Sơ đồ ca sử dụng Use Case Diagram Sơ đồ hoạt động Activity Diagram Kịch hoạt động Use Case Description Mơ hình hố cấu trúc Structural Modeling Lớp Class Đối tượng Object Thẻ cộng tác trách nhiệm lớp Class-Responsibility-Collaboration card Sơ đồ lớp Class Diagram Mơ hình hố hoạt động Behavioral Modeling Sơ đồ Sequence Diagram Lớp (layer) Layer Sơ đồ gói Package diagram Cơ sở liệu Database Sơ đồ thực thể liên kết Entity-Relationship Diagram Nền tảng Framework 69 PHỤ LỤC Phụ lục Cơ sở lý thuyết thành phần triển khai hệ thống 1.1 Giới thiệu chung • Xây dựng ứng dụng web quản lý dự án cho cơng ty Rạng Đơng • Ngơn ngữ viết: Java, Javascript • Các thành phần: ▪ Front-end: JavaScript, BootStrap ▪ Back-end: Java ▪ Cơ sở liệu: Hệ quản trị sở liệu MySQL 1.2 Các thành phần front-end 1.2.1 JavaScript 1.2.1.1 Giới thiệu ngôn ngữ JavaScript JavaScript ngơn ngữ lập trình HTML WEB Nó nhẹ sử dụng phổ biến phần trang web, mà thi hành chúng cho phép Client-Side script tương tác với người sử dụng tạo trang web động Nó ngơn ngữ chương trình thông dịch với khả hướng đối tượng JavaScript biết đến với tên Mocha, sau LiveScript, cơng ty Netscape đổi tên thành JavaScript, phổ biến tượng Java lúc JavaScript xuất lần đầu Netscape 2.0 năm 1995 với tên LiveScript Core đa ngôn ngữ nhúng vào Netscape, IE, trình duyệt khác ECMA-262 Specification định nghĩa phiên chuẩn ngôn ngữ JavaScript sau: • • • • • JavaScript ngơn ngữ chương trình thơng dịch, nhẹ Được thiết kế để tạo ứng dụng mạng trung tâm Bổ sung tích hợp với Java Bổ sung tích hợp với HTML Mở đa tảng 1.2.1.2 Client-side JavaScript Client-Side JavaScript Form phổ biến ngôn ngữ Script nên bao gồm tài liệu HTML cho việc mã hóa để thơng dịch trình duyệt Nghĩa trang web khơng cần HTML tĩnh, bao gồm chương trình mà tương tác với người dùng, điều khiển trình duyệt, tạo nội dung HTML động 70 Kỹ thuật Client-Side JavaScript cung cấp nhiều lợi CGI Server-Side Script Ví dụ, bạn sử dụng JavaScript để kiểm tra người sử dụng nhập địa Email hợp lệ trường Form JavaScript code thực thi người sử dụng đệ trình Form, tất đầu vào hợp lệ, chúng đệ trình tới Web Server JavaScript sử dụng để nắm bắt kiện khởi tạo từ người sử dụng nhấp chuột, điều hướng link, hoạt động khác mà người dùng khởi tạo 1.2.1.3 Các lợi JavaScript Các lợi việc sử dụng JavaScript là: • Sự tương tác Server hơn: Bạn xác nhận đầu vào (input) người sử dụng trước gửi trang tới Server Điều làm tiết kiệm lưu lượng tải Server, nghĩa Server bạn tải • Phản hồi tới khách truy cập: Họ chờ cho trang web tải lại để thấy xem họ quên nhập • Khả tương tác tăng lên: Bạn tạo giao diện mà phản ứng lại người sử dụng rê chuột qua chúng kích hoạt chúng thơng qua bàn phím • Giao diện phong phú hơn: Bạn sử dụng JavaScript để bao gồm mục thành phần Drag Drop (DnD) trượt (Slider) để cung cấp Rich Interface (Giao diện giàu tính năng) tới site khách truy cập bạn 1.2.1.4 Hạn chế JavaScript Chúng ta đối xử JavaScript ngơn ngữ chương trình thức (full-fledged) Nó thiếu tính quan trọng sau: • Client-side JavaScript khơng cho phép đọc ghi file, lý bảo mật • JavaScript khơng sử dụng cho việc kết nối mạng ứng dụng khơng có hỗ trợ có sẵn • JavaScript khơng có khả đa luồng đa xử lý Một lần nữa, JavaScript ngơn ngữ chương trình thông dịch, nhẹ mà cho phép bạn xây dựng khả tương tác trang HTML tĩnh 1.2.1.5 Các công cụ phát triển JavaScript Một điểm mạnh lớn JavaScript khơng u cầu cơng cụ phát triển tốn Bạn bắt đầu với biên soạn (Editor) văn đơn 71 giản Notepad Khi ngơn ngữ thơng dịch bên context trình duyệt web, bạn không cần phải mua Complier (bộ phiên dịch) Để làm sống bạn đơn giản hơn, nhiều nhà cung cấp cho đời công cụ chỉnh sửa JavaScript đẹp, liệt kê đây: • Microsoft FrontPage Microsoft phát triển HTML Editor phổ biến gọi FrontPage FrontPage cung cấp cho nhà lập trình cơng cụ JavaScript để giúp đỡ tạo Website có tính tương tác • Macromedia Dreamweaver MX Macromedia Dreamweaver MX HTML JavaScript Editor phổ biến cộng đồng lập trình web chuyên nghiệp Nó cung cấp thành phần JavaScript xây dựng trước mà thuận tiện, tích hợp tốt với sở liệu, theo chuẩn XHTML XML • Macromedia HomeSite HomeSite HTML JavaScript Editor từ Macromedia mà sử dụng để quản lý Website cá nhân cách hiệu 1.2.1.6 JavaScript ngày nay? Chuẩn ECMAScript Edition cập nhật công bố năm qua JavaScript 2.0 tuân theo chuẩn ECMAScript Edition 5, khác chúng Chi tiết kỹ thuật cho JavaScript 2.0 tìm thấy site sau: http://www.ecmascript.org/ Ngày nay, JavaScript Netscape JScript Microsoft tuân theo chuẩn ECMAScript, hai ngơn ngữ hỗ trợ tính mà không phần chuẩn Theo Tutorialspoint 1.2.2 Ngôn ngữ Java Đồ án sử dụng Java 8.211 1.2.2.1 Giới thiệu Java Java Ngơn ngữ lập trình Platform: • Ngơn ngữ lập trình: Java ngơn ngữ lập trình bậc cao, hướng đối tượng, bảo mật mạnh mẽ • Platform: Bất mơi trường phần cứng phần mềm mà có chương trình chạy, hiểu Platform Với mơi trường runtime riêng cho (JRE) API, Java gọi Platform 72 Ngơn ngữ lập trình Java ban đầu phát triển Sun Microsystems James Gosling khởi xướng phát hành vào năm 1995 Phiên Java Standard Edition Java SE Với tiến Java phổ biến rộng rãi nó, nhiều cấu hình xây dựng để phù hợp với nhiều loại tảng khác Ví dụ: J2EE cho ứng dụng doanh nghiệp, J2ME cho ứng dụng di động Các phiên J2 đổi tên thành Java SE, Java EE Java ME Phương châm java “Write Once, Run Anywhere” – viết lần chạy nhiều nơi, nghĩa bạn cần viết lần window chẳng hạn, sau chương trình bạn chạy Linux, Android, thiết bị J2ME… Java là: • Hướng đối tượng – Trong Java, thứ Object Java dễ dàng mở rộng bảo trì xây dựng dựa mơ hình Object • Nền tảng độc lập – Khơng giống nhiều ngơn ngữ lập trình khác bao gồm C C ++, Java biên dịch, khơng biên dịch thành ngơn ngữ máy tảng cụ thể, thay vào mã byte – tảng độc lập Mã byte thông dịch máy ảo (JVM) tảng mà chạy • Đơn giản – Java thiết kế để dễ học Nếu bạn hiểu khái niệm OOP Java, dễ để trở thành master java • Bảo mật – Với tính an tồn Java, cho phép phát triển hệ thống khơng có virut, giả mạo Các kỹ thuật xác thực dựa mã hố khóa cơng khai • Kiến trúc – trung lập – Trình biên dịch Java tạo định dạng tệp đối tượng kiến trúc trung lập, làm cho mã biên dịch thực thi nhiều vi xử lý, với diện hệ điều hành Java • Portable – Là kiến trúc tập trung khơng có khía cạnh thực phụ thuộc đặc tả làm cho Java khả chuyển Trình biên dịch Java viết ANSI C, tập POSIX • Mạnh mẽ – Java làm nỗ lực để loại trừ tình dễ bị lỗi cách kiểm tra lỗi thời gian biên dịch kiểm tra lỗi runtime • Đa luồng – Với tính đa luồng Java viết chương trình thực nhiều tác vụ đồng thời Tính thiết kế cho phép nhà phát triển xây dựng ứng dụng tương tác chạy trơn tru • Thơng dịch – Mã byte Java dịch trực tiếp tới máy tính gốc khơng lưu trữ đâu • Hiệu cao – Với việc sử dụng trình biên dịch Just-In-Time, Java cho phép thực hiệu cao • Phân tán – Java thiết kế cho mơi trường phân tán Internet 73 • Năng động – Java động C C++ thiết kế để thích nghi với mơi trường phát triển Các chương trình Java mang lượng lớn thông tin runtime mà sử dụng để xác minh giải truy cập vào đối tượng runtime Nơi Java sử dụng Theo tập đoàn SUN, có khoảng tỷ thiết bị chạy java Ví dụ: • • • • • • • • Desktop App acrobat reader, media player, antivirus, … Web App irctc.co.in, javatpoint.com, … Enterprise App ứng dụng xử lý nghiệp vụ ngân hàng, … Thiết bị Mobile Hệ thống nhúng Smart Card Robot Game App Các kiểu Java App Có kiểu ứng dụng java app: • Standalone App biết đến Desktop App Window-based App Để tạo ứng dụng kiểu người ta thường sử dụng AWT, Swing JavaFX framework • Web App ứng dụng chạy server tạo trang động Hiện nay, servlet, jsp, struts, jsf, spring… công nghệ sử dụng để tạo Web App java • Một ứng dụng dạng Banking App, có lợi tính bảo mật cao, cân tải (load balancing) clustering Trong java, EJB sử dụng để tạo Enterprise App • Mobile App ứng dụng tạo cho thiết bị di động Hiện Android Java ME sử dụng để chạy ứng dụng 1.2.2.2 Spring Framework Spring Framework, hay ngắn Spring, cấu trúc dùng để xây dựng chương trình ứng dụng mã nguồn mở dành cho ngơn ngữ lập trình Java Spring framework nhẹ Nó dùng framework frameworks cung cấp hỗ trợ khác frameworks Struts, Hibernate, Tapestry, EJB, JSF vv Các framework, ý nghĩa rộng hơn, định nghĩa cấu trúc mà tìm thấy giải pháp vấn đề kỹ thuật 74 Spring framework bao gồm số modules IOC, AOP, DAO, Context, ORM, WEB MVC vv Các modules tìm hiểu phần Hình Các thành phần Spring Framework Ưu điểm Spring Framework • Lightweight very little overhead việc phát triển ứng dụng bạn • Dependency Injection Inversion of Control sử dụng để giúp component tách rời, độc lập với Spring container giúp gắn kết components lại với theo đặc tả business bạn • Spring IoC container quản lý vịng đời Spring Bean cấu hình project chẳng hạn JNDI lookup • Spring MVC framework sử dụng cho phát triển ứng dụng web dễ dàng với việc hỗ trợ tốt tính web services, json,… • Hỗ trợ quản lý transaction, JDBC operations, File uploading, Exception Handling,… dễ dàng cách cấu hình rút gọn, thay vào sử dụng annotation spring bean configuration file • Và vài ưu điểm sử dụng Spring framework: 75 • Làm giảm phụ thuộc components khác ứng dụng, Spring IoC container làm nhiệm vụ khởi tạo resources beans “tiêm – inject” chúng theo phụ thuộc khác • Thực unit test case dễ business logic bạn khơng có phụ thuộc trực tiếp Việc thực viết test configuration inject mock bean cho mục đích test khác • Làm giảm khối lượng code nhiều, chẳng hạn việc khởi tạo đối tượng, open/close resources,… • Spring framework chia thành nhiều module riêng biệt, việc sử dụng features Spring framework tự do… Ví dụ ứng dụng khơng sử dụng tính transaction, khơng cần thiết phải thêm dependency vào • Spring framework hỗ trợ hầu hết tính Java EE, chí cịn nhiều Nguồn: Vnfit.com 76 Phụ lục Một số chức khác phần mềm hỗ trợ Hình Chức gửi phản hồi Hình Chức thống kê phản hồi Hình Chức trả lời phản hồi 77 Hình Giới thiệu trang web Hình Giới thiệu team 78 Phụ lục Mã nguồn SQL cho sở liệu create database rangdongdev3; use rangdongdev3; create database test1; Create table create table `account` ( account_id int not null primary key auto_increment, account_name VARCHAR(50) not null unique, `password` VARCHAR(128) not null, role_id int default 3, foreign key(role_id) references role(role_id) ) ; Create table create table role ( role_id int not null primary key auto_increment, role_name VARCHAR(50) not null unique ) ; create table department ( department_id int not null primary key auto_increment, department_name VARCHAR(50) not null, manager_name VARCHAR(50) not null, discription varchar(500) not null ) ; create table staff ( staff_id int not null primary key auto_increment, first_name varchar(50) not null, last_name varchar(50) not null, full_name varchar(100) not null, gender enum('male','female'), email varchar(100) not null unique, possition varchar(100) not null, skill varchar(100) not null, department_id int not null, account_id int not null, telephone varchar(10) not null unique, discription varchar(500) null, foreign key(department_id) references department(department_id), foreign key(account_id) references `account`(account_id) ); create table staff_project ( id int not null primary key auto_increment, staff_id int not null , project_id int not null , 79 foreign key(staff_id) references staff(staff_id), foreign key(project_id) references project(project_id) ); create table project ( project_id int not null primary key auto_increment, project_name varchar(100) not null, create_date datetime not null, start_date datetime not null, deadline_date datetime not null, finish_date datetime not null, discription varchar(500) null, project_state int null, project_output varchar(500) null ); create table task ( task_id int not null auto_increment primary key, task_idparent int default 0, project_id int not null unique, task_name varchar(500) not null, name_create varchar(100) not null, name_assign varchar(100) not null, date_create datetime not null, deadline_date datetime not null, finish_date datetime null, task_state int null, discription varchar(500) not null, task_output varchar(500) null, foreign key(project_id) references project(project_id) ); create table staff_task ( id int not null primary key auto_increment, staff_id int not null , task_id int not null , foreign key(staff_id) references staff(staff_id), foreign key(task_id) references task(project_id) ); create table progress_task ( progresstask_id int not null primary key auto_increment, confirm int , datelog datetime not null, detail_log nvarchar(500), progress int(11), task_id int(11) , foreign key(task_id) references task(task_id) 80 ); create table feedback ( id int not null primary key auto_increment, `comment` varchar(255) not null, email varchar(255) not null, experience varchar(255), `name` varchar(255) not null, review varchar(255) not null ); create table progress_project ( progress_id bigint(20) not null primary key auto_increment, confirm int(11), datelog datetime, detail_log varchar(255), progress int(11), project_id int(11), foreign key(project_id) references project(project_id) ); create table progress_task ( progress_id bigint(20) not null primary key auto_increment, confirm int(11), datelog datetime, detail_log varchar(255), progress int(11), task_id int(11), foreign key(task_id) references task(task_id) ); create table task_relation ( task_id int(11), previos_task_id int(11), foreign key(task_id) references task(task_id), foreign key(previos_task_id) references task(task_id) ) 81

Ngày đăng: 28/04/2023, 07:24

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan