1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

23 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Báo Cáo Thực Tập Hệ Thống Quản Lý Học Viên
Tác giả Võ Tấn Việt
Người hướng dẫn Trần Hoàng Phúc, Trần Thị Thuỳ Dương
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Công Nghệ Phần Mềm
Thể loại Báo cáo
Năm xuất bản 2022
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 23
Dung lượng 1,46 MB

Nội dung

Với tốc độ phát triển vô cùng mạnh mẽ đó, lập trình web đang l ĩnh vực hot và l à nhận được sự quan tâm của đông đảo sinh viên công nghệ thông tin đang ngồi trên ghế nhà trường.. Đặc biệ

Trang 1

1 TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

Trang 2

2 TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

Trang 3

3 LỜI MỞ ĐẦU

Trong những năm gần đây, công nghệ thông tin đang từng bước hội nhập với đời sống của con người Nhiều ngành nghề liên quan đến lĩnh vực này cũng theo đó mà phát triển để bắt kịp với xu hướng công nghệ của thế giới Với tốc độ phát triển vô cùng mạnh mẽ đó, lập trình web đang l ĩnh vực hot và l à nhận được sự quan tâm của đông đảo sinh viên công nghệ thông tin đang ngồi trên 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 đcủa các trang web, thì lập trình viên back-end là người xử lý mọi 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ý do này, em quyết định chọn lập trình weblàm định hướng cho việc học tập của mình

Sau ba năm mài mò, nghiên cứu, học tập trên 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 là sẽ thực tập trong hè Vì vậy, em quyết , định chọn FPT Software - một môi trường lý tưởng, hiện đại, chuyên nghiệp - là nơi sẽ giúp em hiện thực được dự định này

Trang 4

4 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ó cơ hội được thực tập tại công ty

Sau 10 tuần thực tập ngắn ngủi, nhưng nhờ có sự chỉ dẫn nhiệt tình của các anh chị trong công ty đã tạo điều kiện để em có kiến thức quan trọng làm hành trang cho con đường sự nghiệp của em trong tương lai Chân thành cảm ơn các anh chị đã bỏ ra thời gian, công sức để hướng dẫn chúng em hoàn thành đợt thực tập này

Đặ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 cả những khó khăn trong ệc tiếp cvi ận công nghệ mới là framework Spring Boot và kiến trúc Microservices và cả những , bên cạnh đó anh cũng chỉ dẫ chn úng em cách viết báo cáo, lên kế hoạch, những kỹ năng lập trình cũng như những kỹ năng mềm kháckhông thể thiếu khi đi làm sau này; cảm ơn chị Trần Thị Thuỳ Dương đã chỉ d , hỗ trợ chúng , ẫn

em rất nhiều về quy ình nghitr ệp vụ để hoàn thành ự án và c d ách hoà nhập với môi trường làm việc trong công ty cụ thể là FSoft

Cuối cùng em cũng xin cảm ơn thầy cô trong 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ài báo cáo thực tập này

Võ Tấn Việt

TP HCM, ngày 20 tháng 08 năm 2022

Trang 5

5 NHẬN XÉT CỦA KHOA

Trang 6

6 MỤC LỤC

LỜI MỞ ĐẦU 3

LỜI CẢM ƠN 4

MỤC LỤC 6

Chương 1: Giới thiệu công ty thực tập 7

1.1 Giới thiệu công ty TNHH Phần mềm FPT 7

1.2 Sản phẩm của công ty 7

Chương 2: Nội dung thực tập 9

1.1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 9

1.2 Nghiên cứu kỹ thuật 9

1.2.1 Các công cụ làm việc 9

1.2.2 Spring Boot 10

1.2.3 Microservices 13

1.3 Thực hiện project 14

1.4 Lịch làm việc 14

Chương 3: Chi tiết về project 19

1.1 Giới thiệu về dự án 19

1.2 Thực hiện 20

1.3 Kế hoạch 21

TÀI LIỆU THAM KHẢO 22

TỔNG KẾT 23

Trang 7

7 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 là tên gọi khác của công ty TNHH Phần mềm FPT (gọi tắt là FSOFT), trực thuộc tập đoàn FPT với nhiệm vụ chính là gia công phần mềm tại Việt Nam và nước ngoài

Thành lập từ năm 1988 đến nay với 3 Trụ sở chính FPT Software đặt tại Việt Nam

và một số nước trên toàn thế giới như Hoa Kỳ, Nhật Bản, Malaysia, Đức, Úc, Singapore, Malaysia, Thái Lan và Philipines hiện FPT Software đáp ứng nhu cầu gia công phần mềm lớn cho hơn 150 công ty hàng đầu tại 20 quốc gia lớn nhất trên thế giới hiện nay với các hợp đồng lớn có khi đạt cả 1 triệu USD dành ch một số đối o tác lớn như Hitachi, NEOPOST, Petronas, Deutsche Bank, và Unilever với hơn 4000 nhân viên trên toàn thế 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 của các hãng phần mềm trong nước, các công ty lớn trong nước và tham vọng hơn là xuất khẩu phần mềm trên toàn thế giới cho các công ty nước ngoài biết đến tập đoàn FPT, mục đích chính là vươn đến tầm cao mới thông qua công nghệ nhằm nâng cao năng suất lao động

FPT Software ã vinh dđ ự nhận được các chứng chỉ thế giới về chất lượng và bảo mật như: CMMI 5 và ISO 27001: 2005, ISO 20000

1.2 Sản phẩm của công ty

FPT Software cung cấp các dịch vụ đạt tiêu chuẩn quốc t ở các mảng:ế

• Dịch vụ phần mềm truyền thống (Application Services, Business Application Services, Legacy Migration, Testing & BPO)

Trang 8

Ở lĩnh vực Viễn Thông FPT là một trong 3 nhà cung cấp dịch vụ internet cáp quang FPT hàng đầu tại Việt Nam, Về lĩnh vực quảng áo, FPT là đơn vị quảng cáo ctrực tuyến số 1 tại Việt Nam với trang báo điện tử VNexpress với hơn 42 triệu lượt truy cập mỗi ngày

Trang 9

9 Chương 2: Nội dung thực tập

Đợt thực tập với chủ đề “ ệ thống quản lH ý học viên FSoft” nhằm mục đích giúp sinh viên thực tập được đào tạo toàn diện về ỹ năng ập trình k l web back-end đồng thời , rèn luy ện

những kỹ năng ềm như lm à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ó cơ hội được học tập, khám phá văn hoá FSoft và làm việc trong một môi trường làm việc gần như giống với thực tế ũng như tham gia c c ác hoạt động ngoài giờ với mọi người trong công ty

1.1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty

Thời gian: 1 ng ày

Nội dung: Giới thiệu về công ty Cách tổ chức hoạt động của công ty Các quy định, hướng dẫn khi làm việc

Được nghe người phụ trách giới thiệu về công ty, quá trình thành lập và 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ủa công ty ông qua lth ời nói, slide, video, hình ảnh

Ngoài ra, thực tập sinh còn được ph biến ổ về cách thức làm việc trong công ty như thời gian đi làm, các quy định cần phải tuân thủ, cách sử dụng email trong công việc, thông tin liên ạc ủa trainer, l c admin và mentor…

Kết quả: Hiểu thêm về FSoft, quá trình thành lập và phát triển, văn hoá của công ty Có thêm các kỹ năng về việc sử dụng email trong công việc, kỹ năng trình bày báo c , làm áoviệc có kế hoạch, có kỷ luật, có trách nhiệm hơn

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 về các công cụ sẽ được sử dụng trong quá trình làm việc.Trong thời gian này, ực tập sinh th có cơ hội tìm hiểu về các công cụ sẽ giúp ích cho trong công việc sau này Một số phần mềm trong số đó như:

Trang 10

- PostgreSQL: Hệ quản trị cơ sở dữ liệu quan hệ - đối ượng t

- Postman: Nền tảng API dành cho các nhà phát triển thiết kế, xây dựng, thử nghiệm và lặp lại các API

Thực hiện : Thực hành sử dụng các phần mềm đã nêu trên

Kết quả : Phân tích yêu cầu, thiết kế ệ thống ập trình sử dụng các công cụ miễn h , lphí, giúp dễ dàng kết hợp các công cụ với nhau

1.2.2 Spring Boot

Nội dung : Tìm hiểu về Spring Boot framework h– ỗ trợ lập trình Java back-end

- Luồng xử lý của Spring Boot:

Cấu trúc ứng dụng Spring Boot tuân theo 2 mô hình cơ bản: MVC và 3 lớp

o Repository layer: Service còn có thể tương tác với service khác, hoặc dùng Repository để gọi DB thông qua định nghĩa các DAO class thao tác với DB được triển khai thông qua 1 tầng abstraction ở JPA implement Repository

là trực tiếp tương tác, đọc ghi dữ liệu trong DB và trả cho service

o Service layer: Chứa các code tính toán, xử lý chính Khi Controller yêu cầu, thì Service tương ứng sẽ tiếp nhận và cho ra dữ liệu trả cho Controller,

là cầu nối giữa controller và repository

o Controller layer: Trả về View (có chứa data sẵn, dạng trang HTML), hoặc Model thể hiện dưới dạng API cho View, chỉ để endpoint cụ thể cho các API

➔ Controller nhận DTO Sau đó Service sẽ chuyển DTO ành Model/Entity, thrồi xử lý business Cuối cùng Repository nhận Entity đưa vào DB Ngược

lại, Repository lấy Entity từ DB Sau đó S vice xer ử lý và chuyển thành DTO Controller trả về DTO

Trang 11

Từ private và public có 3 dạng data chính:

o DTO (Data transfer object): Là các class đóng gói data để chuyển giữa client - server hoặc giữa các service trong microservice Mục đích tạo ra DTO là để giảm bớt lượng info không cần thiết phải chuyển đi, và cũng tăng cường độ bảo mật

o Domain model: Là các class đại diện cho các domain, hiểu là các đối tượng thuộc business như Client, Report, Department chẳng hạn Trong ứng dụng thực, các class đại diện cho kết quả tính toán, các class làm tham số đầu vào cho service tính toán được coi là domain model

o Entity: Cũng là domain model nhưng tương ứng với table trong DB, có thể map vào DB được Định nghĩa entity ánh xạ tới các column trong table tương ứng với DB

- Spring Boot xử lý request trong controller:

Controller trong ứng dụng Spring Boot là nơi tiếp nhận request và trả về response cho client Tuỳ vào dữ liệu nằm ở đâu có các cách lấy ra 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 trong Controller khi dùng:

Trang 12

12

o @ResponseBody và @ResponseSatus: Với REST API, dữ liệu khi trả về sẽ nằm trong response body, dạng JSON Mặc định Spring Boot sẽ trả về một

số status code như 200, 401…

o Class ResponseEntity<T>: Có thể tùy chỉnh status code, body response tùy vào các điều kiện khác nhau, vừa có thể chỉnh các thông số response khác như header,

- Xử lý exception phát sinh:

Exception cơ bản là đối tượng đại diện cho một lỗi xảy ra khi chạy chương trình Lỗi này có thể do tác động bên ngoài hoặc chính trong code ném ra Nhiệm vụ của chúng ta là phải "bắt" và "xử lý" chúng một cách thích hợp (đưa ra thông báo lỗi ) Nếu exception không được xử lý, nó có thể làm chương trình bị dừng Giải pháp: Tạo các exception class tuỳ chỉnh

Thực hiện :

- Tự tìm hiểu các kiến thức và áp dụng vào d án cự ủa công ty

Kết quả :

- Trau dồi kỹ năng lập trình back-end Java với framework Spring Boot

- Có được những kiến thức quan trọng cho việc lập trình web sau này

Trang 13

13

- Ngoài ra còn được biết thêm một số quy tắc trong việc viết code sao cho đúng 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 cơ bản về microservices

- Khái niệm cơ bản về microservices:

Là một kiếu kiến trúc phần mềm Các module trong phần mềm này được chia thành các service rất nhỏ (microservice) Mỗi service sẽ được đặt trên một server riêng nên dễ dàng

để nâng cấp và scale ứng dụng

- Eureka server:

Là máy chủ để quản lý, đặt tên cho các services, hay còn gọi là service registry

Nó dùng để hardcore địa chỉ IP của mỗi service Khi các service sử dụng IP động thì nó sẽ tự động cập nhật mà không cần thay đổi code bên trong

- OpenFeign:

Trang 14

14 Dùng để call đến service khác thay cho RestTemplate

- API gateway:

Cho phép cấu hình để khi một request tới nó th nó sì ẽ forward request đến service được chỉ định

- Load balancing (Cân bằng tải):

Là quá trình phân phối lưu lượng giữa các phiên bản khác nhau của cùng một ứng dụng, bất cứ khi nào một service cần giao tiếp với service khác, nó cần chọn một phiên bản cụ thể để gửi yêu cầu của nó

Thực hiện :

- Tìm hiểu về kiến trúc microservices, ưu điểm, nhược điểm

Kết quả :

- Hiểu được những khái niệm cơ bản về microservices

- Áp dụng vào dự án Spring Boot

Trang 15

15 thành

làm việc qua email

- Ôn lại Java core

- Tìm hiểu về cách

hoạt động của

Spring Boot,

Authorization trong

Spring Security và

báo cáo với mentor

Anh Âu Mậu Dương (Trainer) Chị Trần Thị Thuỳ Dương (Admin) Anh Trần Hoàng Phúc (Mentor)

Anh Trung Anh Trần Hoàng Phúc

Chị Trần Thị Thuỳ Dương

100%

Trang 16

16

4

- Tạo d án Spring ự

Boot theo mô hình

của chung giữa các

Chị Trần Thị Thuỳ Dương

100%

5

Spring 1-1:

- Viết chức năng tạo

điểm cho học viên

Chị Trần Thị Thuỳ Dương

Chị Trần Thị Thuỳ Dương

Chị Trần Thị Thuỳ Dương

100%

Trang 17

17 academic, final

viên trong 1 module

- Fix bug tính điểm

Chị Trần Thị Thuỳ Dương

100%

9

- Deploy code lên

Heroku

- Test API trên server

- Fix bug khi đưa

Chị Trần Thị Thuỳ Dương

Chị Trần Thị Thuỳ Dương

Anh Trung

100%

Trang 18

18

- Meeting tổng kết về

điểm và đánh giá

Trang 19

19 Chương 3: Chi tiết về project

1.1 Giới thiệu về dự án

Trước đây 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 mỗi ngày học cũng như lên lịch, gửi email một cách thủ công Giờ đây, website Fresher Management ra đời với mục đích là quản lý học viên của FSoft một cách tự động

Website có các tính năng:

- Quản lý người dùng và role

- Quản lý học viên theo lớp và năm

- Tính lương học viên theo năm, lớp và tháng

- Quản lý điểm thưởng điểm phạt theo lớp và năm ,

- Quản lý feedback theo năm và khoá học

- Quản lý điểm của học viên theo tháng và lớp

- Quản lý topic và điểm của 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

Trang 20

20

- Quản lý đơn xin ngh ủa học viỉ c ên

- Điểm danh bằng 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 và gửi yêu cầu

1.2 Thực hiện

Nội dung:

Nhóm back-end sẽ chia thành 7 nhóm nhỏ, mỗi nhóm nhỏ có 5 thành vi ên

Nhóm back-end sẽ quản lý theo mô hình Scrum quy ình Agile – tr :

- Sprint Planning (Họp kế hoạch sprint) Các nhóm s: ẽ gặp khách hàng (Admin và Trainer) để tìm hiểu, trao đổi, phân tích yêu cầu của hệ thống quản lý học viên Sau ó nhóm sđ ẽ tạo task trên DragApp bao gồm nội dung chi tiết task và ước

chừng thời gian sẽ hoàn thành as t k ó đ

- Daily Sprint/Daily Meeting (Họp Scrum hàng ngày): Cuối mỗ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 sẽ làm ngày mai, Khó khăn gặp phải, Câu h Tuy nhi , vào thỏi ên ời gian cuối thực tập cần đẩy nhanh tiến độ dự án thì Scrum Master sẽ meeting đầu và cuối mỗi ngày trực tiếp review task với từng người

- Sprint Review (Họp sơ kết Sprint): Scrum Master (Mentor) sẽ tổ chức cuộc họp vào cuối tuần để kiểm tra tiến độ task trong tuần cũng như review công việc

- Sprint Retrospective (Họp cải tiến Sprint): Các nhóm sẽ rà soát lại công việc trong Sprint vừa kết thúc với sự giúp đỡ của Scrum Master (Mentor) và Product Owner (Admin) và tiến hành cải tiến trong Sprint tiếp theo

Thực hiện:

- Tham gia đầy đủ các meeting

Trang 21

21 1.3 Kế hoạch

Kết quả:

- Website cơ bản hoàn thành các chức năng mà khách hàng mong muốn

Thiếu sót:

- Giao diện chưa thật sự chỉnh chu, bắt mắt người dùng

- Một số tính năng về biểu đồ thống kê chưa hoàn chỉnh về mặt giao diện

Ngày đăng: 11/02/2025, 16:09

TÀI LIỆU CÙNG NGƯỜI DÙNG

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

TÀI LIỆU LIÊN QUAN