Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 107 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
107
Dung lượng
13,04 MB
Nội dung
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 /50 Điểm tổng quy đổi thang 10 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 /50 Điểm tổng quy đổi thang 10 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 chun ngành TI contest Khơng có thành tích nghiên cứu khoa học Điểm tổng /50 Điểm tổng quy đổi thang 10 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 giá: Họ tên Sinh viên: TRẦN TRỌNG ĐẠI đánh 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 chun ngành TI contest Khơng có thành tích nghiên cứu khoa học Điểm tổng /50 Điểm tổng quy đổi thang 10 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 hồn tồn bao qt 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 93 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 94 BẢNG ĐỐI CHIẾU THUẬT NGỮ VIỆT ANH Ngôn ngữ mơ hình hố thống Quy trình nghiệp vụ Mơ hình hố chức Sơ đồ ca sử dụng Sơ đồ hoạt động Kịch hoạt động Mơ hình hố cấu trúc Lớp Đối tượng Thẻ cộng tác trách nhiệm lớp Sơ đồ lớp Mơ hình hố hoạt động Sơ đồ Lớp (layer) Sơ đồ gói Cơ sở liệu Sơ đồ thực thể liên kết Nền tảng Unified Modeling Language Business Process Functional Modeling Use Case Diagram Activity Diagram Use Case Description Structural Modeling Class Object Class-Responsibility-Collaboration card Class Diagram Behavioral Modeling Sequence Diagram Layer Package diagram Database Entity-Relationship Diagram Framework 95 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 96 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ọ qn 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 97 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 98 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 99 • 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 100 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: 101 • 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 102 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 103 Hình Chức trả lời phản hồi Hình Giới thiệu trang web Hình Giới thiệu team 104 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 , 105 project_id int not null , 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) , 106 foreign key(task_id) references task(task_id) ); 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) ) 107 ... án Người quản lý dự án Người quản lý dự án Nhân viên Nhân viên, Người quản lý dự án Người quản lý dự án Nhân viên báo cáo tiến độ công việc cho người quản lý dự án người quản lý dự án đánh giá... chức hệ thống quản lý dự án Nghiệp vụ quản lý dự án phần nghiệp vụ quản lý công ty Ở tập trung vào vấn đề quản lý dự án, để hỗ trợ cho việc quản lý dự án, cần thêm nghiệp vụ quản lý nhân viên... lượng tiến độ dự án dựa vào tiến độ công việc dự án Phần mềm phát triển cần có chức để quản lý đầu việc nhân dự án bên cạnh trọng tâm đánh giá tiến độ dự án Quá trình phát triển phần mềm diễn theo