Báo Cáo Thực Tập Hệ Thống Quản Lý Học Viên.pdf

23 4 0
Báo Cáo Thực Tập Hệ Thống Quản Lý Học Viên.pdf

Đ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

1 Trần Hoàng Phúc / Trần Thị Thuỳ Dương Võ Tấn Việt 19522519 TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM BÁO CÁO THỰC TẬP HỆ THỐNG QUẢN LÝ HỌC VIÊN Công ty thực tập Công ty TNHH Phần mề[.]

1 TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM BÁO CÁO THỰC TẬP HỆ THỐNG QUẢN LÝ HỌC VIÊN Công ty thực tập : Công ty TNHH Phần mềm FPT Hồ Chí Minh Người phụ trách : Trần Hoàng Phúc Thực tập sinh : Võ Tấn Việt - 19522519 Thành phố Hồ Chí Minh, tháng 08 năm 2022 Trần Hoàng Phúc / Trần Thị Thuỳ Dương Võ Tấn Việt - 19522519 TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM BÁO CÁO THỰC TẬP HỆ THỐNG QUẢN LÝ HỌC VIÊN Công ty thực tập : Công ty TNHH Phần mềm FPT Hồ Chí Minh Người phụ trách : Trần Hồng Phúc Thực tập sinh : Võ Tấn Việt - 19522519 Thành phố Hồ Chí Minh, tháng 08 năm 2022 Trần Hồng Phúc / Trần Thị Thuỳ Dương Võ Tấn Việt - 19522519 LỜI MỞ ĐẦU Trong năm gần đây, công nghệ thông tin bước hội nhập với đời sống người Nhiều ngành nghề liên quan đến lĩnh vực theo mà phát triển để bắt kịp với xu hướng công nghệ giới Với tốc độ phát triển vơ mạnh mẽ đó, lập trình web lĩnh vực hot nhận quan tâm đông đảo sinh viên công nghệ thông tin ngồi ghế nhà trường Nếu lập trình viên front-end có quyền lực kiến tạo nên vẻ đẹp trang web, lập trình viên back-end người xử lý logic nghiệp vụ phức tạp ẩn phía sau giúp cho hệ thống hoạt động trơn tru Vì lý này, em định chọn lập trình web làm định hướng cho việc học tập Sau ba năm mài mị, nghiên cứu, học tập trường, với mong muốn có thêm kinh nghiệm làm việc mơi trường thực tế, em có dự định thực tập hè Vì vậy, em định chọn FPT Software - môi trường lý tưởng, đại, chuyên nghiệp - nơi giúp em thực dự định Trần Hoàng Phúc / Trần Thị Thuỳ Dương Võ Tấn Việt - 19522519 LỜI CẢM ƠN Trân trọng gửi lời cảm ơn Cơng ty TNHH Phần mềm FPT Hồ Chí Minh tạo điều kiện cho em có hội thực tập công ty Sau 10 tuần thực tập ngắn ngủi, nhờ có dẫn nhiệt tình anh chị công ty tạo điều kiện để em có kiến thức quan trọng làm hành trang cho đường nghiệp em tương lai Chân thành cảm ơn anh chị bỏ thời gian, công sức để hướng dẫn chúng em hoàn thành đợt thực tập Đặc biệt cảm ơn anh Trần Hoàng Phúc dành thời gian quý báu hướng dẫn, giúp đỡ cho chúng em tận tình khó khăn việc tiếp cận cơng nghệ framework Spring Boot kiến trúc Microservices , bên cạnh anh dẫn chúng em cách viết báo cáo, lên kế hoạch, kỹ lập trình kỹ mềm khác thiếu làm sau này; cảm ơn chị Trần Thị Thuỳ Dương, dẫn, hỗ trợ chúng em nhiều quy trình nghiệp vụ để hồn thành dự án cách hồ nhập với mơi trường làm việc công ty cụ thể FSoft Cuối em xin cảm ơn thầy cô khoa Cơng nghệ phần mềm nhiệt tình hỗ trợ, tạo điều kiện cho em làm báo cáo thực tập Võ Tấn Việt TP HCM, ngày 20 tháng 08 năm 2022 Trần Hoàng Phúc / Trần Thị Thuỳ Dương Võ Tấn Việt - 19522519 NHẬN XÉT CỦA KHOA Trần Hoàng Phúc / Trần Thị Thuỳ Dương Võ Tấn Việt - 19522519 MỤC LỤC LỜI MỞ ĐẦU LỜI CẢM ƠN MỤC LỤC Chương 1: Giới thiệu công ty thực tập 1.1 Giới thiệu công ty TNHH Phần mềm FPT 1.2 Sản phẩm công ty Chương 2: Nội dung thực tập 1.1 Tìm hiểu cơng ty kỹ công ty 1.2 Nghiên cứu kỹ thuật 1.2.1 Các công cụ làm việc 1.2.2 Spring Boot 10 1.2.3 Microservices 13 1.3 Thực project 14 1.4 Lịch làm việc 14 Chương 3: Chi tiết project 19 1.1 Giới thiệu dự án 19 1.2 Thực 20 1.3 Kế hoạch 21 TÀI LIỆU THAM KHẢO 22 TỔNG KẾT 23 Trần Hoàng Phúc / Trần Thị Thuỳ Dương Võ Tấn Việt - 19522519 Chương 1: Giới thiệu công ty thực tập 1.1 Giới thiệu công ty TNHH Phần mềm FPT FPT Software tên gọi khác công ty TNHH Phần mềm FPT (gọi tắt FSOFT), trực thuộc tập đồn FPT với nhiệm vụ gia công phần mềm Việt Nam nước Thành lập từ năm 1988 đến với Trụ sở FPT Software đặt Việt Nam số nước toàn giới Hoa Kỳ, Nhật Bản, Malaysia, Đức, Úc, Singapore, Malaysia, Thái Lan Philipines FPT Software đáp ứng nhu cầu gia công phần mềm lớn cho 150 công ty hàng đầu 20 quốc gia lớn giới với hợp đồng lớn có đạt triệu USD dành cho số đối tác lớn Hitachi, NEOPOST, Petronas, Deutsche Bank, Unilever với 4000 nhân viên toàn giới FPT Software theo đuổi mục tiêu gia công phần mềm để đáp ứng cho nhu cầu phát triển CNTT hãng phần mềm nước, công ty lớn nước tham vọng xuất phần mềm toàn giới cho cơng ty nước ngồi biết đến tập đồn FPT, mục đích vươn đến tầm cao thông qua công nghệ nhằm nâng cao suất lao động FPT Software vinh dự nhận chứng giới chất lượng bảo mật như: CMMI ISO 27001: 2005, ISO 20000 1.2 Sản phẩm công ty FPT Software cung cấp dịch vụ đạt tiêu chuẩn quốc tế mảng: • Dịch vụ phần mềm truyền thống (Application Services, Business Application Services, Legacy Migration, Testing & BPO) Trần Hoàng Phúc / Trần Thị Thuỳ Dương Võ Tấn Việt - 19522519 • Dịch vụ Digital Age Sercvices (Cloud, Mobility, Analytics & Internet of Things) • Dịch vụ Product Engineering bao gồm Embedded System, CAD/CAM IC Design Kinh doanh FPT Sofware xuất phát từ Công nghệ thông tin Viễn Thông FPT cốt lõi để đáp ứng cho khách hàng 63 tỉnh thành toàn lãnh thổ Việt Nam mở rộng đến khách hàng toàn cầu Từ thành lập nay, FPT Software công ty phần mềm số Việt Nam lĩnh vực tích hợp hệ thống, phân phối bán lẻ, dịch vụ Công Nghệ Thông tin, xuất gia công phần mềm, bán lẻ sản phẩm CNTT Ở lĩnh vực Viễn Thông FPT nhà cung cấp dịch vụ internet cáp quang FPT hàng đầu Việt Nam, Về lĩnh vực quảng cáo, FPT đơn vị quảng cáo trực tuyến số Việt Nam với trang báo điện tử VNexpress với 42 triệu lượt truy cập ngày Trần Hoàng Phúc / Trần Thị Thuỳ Dương Võ Tấn Việt - 19522519 Chương 2: Nội dung thực tập Đợt thực tập với chủ đề “Hệ thống quản lý học viên FSoft” nhằm mục đích giúp sinh viên thực tập đào tạo tồn diện kỹ lập trình web back-end, đồng thời rèn luyện kỹ mềm làm việc nhóm, thuyết trình, viết báo cáo, giao tiếp, trình bày báo cáo tiến độ cơng việc Tại cơng ty, sinh viên có hội học tập, khám phá văn hố FSoft làm việc mơi trường làm việc gần giống với thực tế tham gia hoạt động với người cơng ty 1.1 Tìm hiểu cơng ty kỹ công ty Thời gian: ngày Nội dung: Giới thiệu công ty Cách tổ chức hoạt động công ty Các quy định, hướng dẫn làm việc Được nghe người phụ trách giới thiệu cơng ty, q trình thành lập phát triển, quy trình làm việc từ cao xuống thấp, cách thức tổ chức công ty thông qua lời nói, slide, video, hình ảnh Ngồi ra, thực tập sinh phổ biến cách thức làm việc công ty thời gian làm, quy định cần phải tuân thủ, cách sử dụng email công việc, thông tin liên lạc trainer, admin mentor… Kết quả: Hiểu thêm FSoft, trình thành lập phát triển, văn hố cơng ty Có thêm kỹ việc sử dụng email công việc, kỹ trình bày báo cáo, làm việc có kế hoạch, có kỷ luật, có trách nhiệm 1.2 Nghiên cứu kỹ thuật 1.2.1 Các công cụ làm việc Thời gian : Xuyên suốt thời gian thực tập Nội dung : Tìm hiểu cơng cụ sử dụng trình làm việc Trong thời gian này, thực tập sinh có hội tìm hiểu cơng cụ giúp ích cho cơng việc sau Một số phần mềm số như: Trần Hoàng Phúc / Trần Thị Thuỳ Dương Võ Tấn Việt - 19522519 10 - Draw.io: Phần mềm vẽ đồ thị đa tảng mã nguồn mở miễn phí phát triển HTML5 JavaScript - GitLab – Hệ thống self-hosted mã nguồn mở dựa hệ thống máy chủ Git dùng để quản lý mã nguồn - PostgreSQL: Hệ quản trị sở liệu quan hệ - đối tượng - Postman: Nền tảng API dành cho nhà phát triển thiết kế, xây dựng, thử nghiệm lặp lại API Thực : Thực hành sử dụng phần mềm nêu Kết : Phân tích u cầu, thiết kế hệ thống, lập trình sử dụng cơng cụ miễn phí, giúp dễ dàng kết hợp công cụ với 1.2.2 Spring Boot Nội dung : Tìm hiểu Spring Boot – framework hỗ trợ lập trình Java back-end - Luồng xử lý Spring Boot: Cấu trúc ứng dụng Spring Boot tuân theo mơ hình bản: MVC lớp o Repository layer: Service cịn tương tác với service khác, dùng Repository để gọi DB thông qua định nghĩa DAO class thao tác với DB triển khai thông qua tầng abstraction JPA implement Repository trực tiếp tương tác, đọc ghi liệu DB trả cho service o Service layer: Chứa code tính tốn, xử lý Khi Controller u cầu, Service tương ứng tiếp nhận cho liệu trả cho Controller, cầu nối controller repository o Controller layer: Trả View (có chứa data sẵn, dạng trang HTML), Model thể dạng API cho View, để endpoint cụ thể cho API ➔ Controller nhận DTO Sau Service chuyển DTO thành Model/Entity, xử lý business Cuối Repository nhận Entity đưa vào DB Ngược lại, Repository lấy Entity từ DB Sau Service xử lý chuyển thành DTO Controller trả DTO Trần Hoàng Phúc / Trần Thị Thuỳ Dương Võ Tấn Việt - 19522519 11 - Bean : Là module chương trình, tạo quản lý Spring IoC container Dùng @Component lên class class thành bean - ApplicationContext: Là khái niệm Spring Boot dùng để Spring IoC container, tương tự bean đại diện cho dependency - Các dạng data: o Public: Dùng để trao đổi, chia sẻ với bên qua REST API giao tiếp với service khác microservice Data lúc dạng DTO o Private: Dùng nội ứng dụng Data lúc nằm domain model Entity Từ private public có dạng data chính: o DTO (Data transfer object): Là class đóng gói data để chuyển client - server service microservice Mục đích tạo DTO để giảm bớt lượng info không cần thiết phải chuyển đi, tăng cường độ bảo mật o Domain model: Là class đại diện cho domain, hiểu đối tượng thuộc business Client, Report, Department chẳng hạn Trong ứng dụng thực, class đại diện cho kết tính tốn, class làm tham số đầu vào cho service tính tốn coi domain model o Entity: Cũng domain model tương ứng với table DB, map vào DB Định nghĩa entity ánh xạ tới column table tương ứng với DB - Spring Boot xử lý request controller: Controller ứng dụng Spring Boot nơi tiếp nhận request trả response cho client Tuỳ vào liệu nằm đâu có cách lấy khác nhau: Request param (query string), Path variable, Request body, Header Các loại HTTP method: Create (POST), Read (GET), Update (PUT/PATCH), Delete (DELETE) - Xử lý response Controller dùng: Trần Hoàng Phúc / Trần Thị Thuỳ Dương Võ Tấn Việt - 19522519 12 o @ResponseBody @ResponseSatus: Với REST API, liệu trả nằm response body, dạng JSON Mặc định Spring Boot trả số status code 200, 401… o Class ResponseEntity: Có thể tùy chỉnh status code, body response tùy vào điều kiện khác nhau, vừa chỉnh thơng số response khác header, - Xử lý exception phát sinh: Exception đối tượng đại diện cho lỗi xảy chạy chương trình Lỗi tác động bên ngồi code ném Nhiệm vụ phải "bắt" "xử lý" chúng cách thích hợp (đưa thơng báo lỗi ) Nếu exception khơng xử lý, làm chương trình bị dừng Giải pháp: Tạo exception class tuỳ chỉnh - Validate request - Cấu hình kết nối DB file application.properties - JPA interface: o CRUD o Query creation o Sắp xếp phân trang với data query: sort paging custom paging qua limit, page size - Spring security: Thuộc phần hệ thống Spring Dùng để cung cấp bảo mật cho ứng dụng Spring Cung cấp tính năng: Authentication & Authorization, An ninh mạng, Spring Security Crypto API, Servlet filter Thực : - Tự tìm hiểu kiến thức áp dụng vào dự án công ty Kết : - Trau dồi kỹ lập trình back-end Java với framework Spring Boot - Có kiến thức quan trọng cho việc lập trình web sau Trần Hồng Phúc / Trần Thị Thuỳ Dương Võ Tấn Việt - 19522519 13 - Ngồi cịn biết thêm số quy tắc việc viết code cho chuẩn, dễ đọc, dễ hiểu 1.2.3 Microservices Nguồn:https://tigosoftware.com/vi/kien-truc-microservice-la-gi-cung-tim-hieu-trong-10-phut Nội dung: Các kiến thức microservices - Khái niệm microservices: Là kiếu kiến trúc phần mềm Các module phần mềm chia thành service nhỏ (microservice) Mỗi service đặt server riêng nên dễ dàng để nâng cấp scale ứng dụng - Eureka server: Là máy chủ để quản lý, đặt tên cho services, hay gọi service registry Nó dùng để hardcore địa IP service Khi service sử dụng IP động tự động cập nhật mà không cần thay đổi code bên - OpenFeign: Trần Hoàng Phúc / Trần Thị Thuỳ Dương Võ Tấn Việt - 19522519 14 Dùng để call đến service khác thay cho RestTemplate - API gateway: Cho phép cấu hình để request tới forward request đến service định - Load balancing (Cân tải): Là trình phân phối lưu lượng phiên khác ứng dụng, service cần giao tiếp với service khác, cần chọn phiên cụ thể để gửi yêu cầu Thực : - Tìm hiểu kiến trúc microservices, ưu điểm, nhược điểm Kết : 1.3 - Hiểu khái niệm microservices - Áp dụng vào dự án Spring Boot Thực project Sau tháng tìm hiểu requirement kiến thức liên quan đến Spring Boot, thực tập sinh nắm kiến thực Spring Boot Trong tháng tiếp theo, mentor hướng dẫn thực tập sinh áp dụng kiến thức học để thực dự án quản lý học viên theo mô hình kiến trúc microservices Chi tiết đồ án nói phần sau 1.4 Lịch làm việc Mức Tuần Cơng việc Người hướng dẫn độ hồn Trần Hồng Phúc / Trần Thị Thuỳ Dương Nhận xét người hướng dẫn Võ Tấn Việt - 19522519 15 thành Tìm hiểu công Anh - Âu Mậu 100% ty, cách tổ chức, Dương (Trainer) quy định công Chị Trần Thị Thuỳ ty Dương (Admin) Học cách trao đổi, Anh Trần Hồng - làm việc qua email - Ơn lại Java core - Tìm hiểu cách hoạt động Spring Phúc (Mentor) Boot, Authorization Spring Security báo cáo với mentor Họp, tìm hiểu, phân Chị Trần Thị Thuỳ 100% - tích requirement Dương hệ thống Anh Trung Viết danh sách chức Anh Trần Hoàng - Viết SRS - Vẽ Phúc use-case diagram, đặc tả user-case - Vẽ class diagram Anh Trần Hoàng 100% - Viết script SQL Phúc - Thiết kế database Chị Trần Thị Thuỳ - Khởi tạo task Dương tạo deadline Trần Hoàng Phúc / Trần Thị Thuỳ Dương Võ Tấn Việt - 19522519 16 - Tạo dự án Spring Anh Trần Hồng 100% Boot theo mơ hình Phúc chung Chị Trần Thị Thuỳ nhóm - Dương Cấu hình kết nối Spring Boot với DB PostgreSQL, MySQL Anh Trần Hoàng 100% Spring 1-1: - Viết chức tạo Phúc điểm cho học viên Chị Trần Thị Thuỳ từ module subject Dương grade - Viết API get điểm tất trainees Anh Trần Hoàng 100% Spring 1-2: - Viết API cập nhật Phúc điểm thành quiz, phần Chị Trần Thị Thuỳ assignment, Dương final học viên - Xử lý exception handling class - Tạo base response, request JSON Anh Trần Hoàng 100% Spring 2-1: - Viết API xoá điểm Phúc học viên - Tính Chị Trần Thị Thuỳ điểm Dương Trần Hoàng Phúc / Trần Thị Thuỳ Dương Võ Tấn Việt - 19522519 17 academic, final module mark - API Viết xố module subject Anh Trần Hồng 100% Spring 2-2: - Fix bug API lấy tất Phúc điểm học Chị Trần Thị Thuỳ viên module Dương - Fix bug tính điểm học viên - Review request merge services GitLab - Deploy code lên Anh Trần Hoàng 100% Heroku Phúc - Test API server Chị Trần Thị Thuỳ - Fix bug đưa Dương data từ DB lên front-end - Hỗ trợ team test API fix bug - Báo cáo cuối đợt Anh Trần Hoàng 100% thực tập 10 - Review task Chị Trần Thị Thuỳ tồn đọng - Phúc Dương Viết hoàn chỉnh Anh Trung tài liệu SRS, API Trần Hoàng Phúc / Trần Thị Thuỳ Dương Võ Tấn Việt - 19522519 18 - Meeting tổng kết điểm đánh giá Trần Hoàng Phúc / Trần Thị Thuỳ Dương Võ Tấn Việt - 19522519 19 Chương 3: Chi tiết project 1.1 Giới thiệu dự án Trước admin thường làm công việc quản lý học viên bao gồm nhập liệu file excel, xuất báo cáo theo tuần / tháng, điểm danh học viên ngày học lên lịch, gửi email cách thủ công Giờ đây, website Fresher Management đời với mục đích quản lý học viên FSoft cách tự động Website có tính năng: - Quản lý người dùng role - Quản lý học viên theo lớp năm - Tính lương học viên theo năm, lớp tháng - Quản lý điểm thưởng, điểm phạt theo lớp năm - Quản lý feedback theo năm khoá học - Quản lý điểm học viên theo tháng lớp - Quản lý topic điểm học viên theo lớp - Quản lý kho câu hỏi audit (vấn đáp) - Đặt lịch cho buổi audit - Quản lý người audit - Quản lý đánh giá học viên theo lớp - Quản lý lớp học - Quản lý khoá học - Quản lý điểm danh theo tháng Trần Hoàng Phúc / Trần Thị Thuỳ Dương Võ Tấn Việt - 19522519 20 1.2 - Quản lý đơn xin nghỉ học viên - Điểm danh mã Qr - Quản lý thông tin cá nhân - Quản lý, xuất báo cáo - Học viên điểm danh gửi yêu cầu Thực Nội dung: Nhóm back-end chia thành nhóm nhỏ, nhóm nhỏ có thành viên Nhóm back-end quản lý theo mơ hình Scrum – quy trình Agile: - Sprint Planning (Họp kế hoạch sprint): Các nhóm gặp khách hàng (Admin Trainer) để tìm hiểu, trao đổi, phân tích yêu cầu hệ thống quản lý học viên Sau nhóm tạo task DragApp bao gồm nội dung chi tiết task ước chừng thời gian hồn thành task - Daily Sprint/Daily Meeting (Họp Scrum hàng ngày): Cuối ngày thực tập sinh phải viết báo cáo tiến độ bao gồm: Công việc làm hôm nay, Công việc làm ngày mai, Khó khăn gặp phải, Câu hỏi Tuy nhiên, vào thời gian cuối thực tập cần đẩy nhanh tiến độ dự án Scrum Master meeting đầu cuối ngày trực tiếp review task với người - Sprint Review (Họp sơ kết Sprint): Scrum Master (Mentor) tổ chức họp vào cuối tuần để kiểm tra tiến độ task tuần review công việc - Sprint Retrospective (Họp cải tiến Sprint): Các nhóm rà sốt lại cơng việc Sprint vừa kết thúc với giúp đỡ Scrum Master (Mentor) Product Owner (Admin) tiến hành cải tiến Sprint Thực hiện: - Tham gia đầy đủ meeting Trần Hoàng Phúc / Trần Thị Thuỳ Dương Võ Tấn Việt - 19522519 ... ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM BÁO CÁO THỰC TẬP HỆ THỐNG QUẢN LÝ HỌC VIÊN Công ty thực tập : Công ty TNHH Phần mềm FPT Hồ Chí Minh Người phụ trách : Trần Hoàng Phúc Thực tập. .. năm - Quản lý feedback theo năm khoá học - Quản lý điểm học viên theo tháng lớp - Quản lý topic điểm học viên theo lớp - Quản lý kho câu hỏi audit (vấn đáp) - Đặt lịch cho buổi audit - Quản lý người... audit - Quản lý đánh giá học viên theo lớp - Quản lý lớp học - Quản lý khoá học - Quản lý điểm danh theo tháng Trần Hoàng Phúc / Trần Thị Thuỳ Dương Võ Tấn Việt - 19522519 20 1.2 - Quản lý đơn

Ngày đăng: 01/02/2023, 21:16

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

Tài liệu liên quan