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

Báo cáo môn thực tập tốt nghiệp (se501 n21 pmcl)

16 9 0

Đ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 môn: Thực Tập Tốt Nghiệp (SE501.N21.PMCL)
Tác giả Nguyễn Trí Minh
Người hướng dẫn ThS. Huỳnh Hồ Thị Mộng Trinh
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Công Nghệ Thông Tin
Thể loại Báo cáo thực tập
Năm xuất bản 2023
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 16
Dung lượng 565,69 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Sau những năm tháng trong môi trường đại học, với mong muốn áp dụng những kiến thức đã học và có được trải nghiệm trong môi trường thực tế, em đã quyết định tham gia thực tập tại công ty

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

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

BÁO CÁO THỰC TẬP

MÔN: THỰC TẬP TỐT NGHIỆP

(SE501.N21.PMCL)

Giảng viên hướng dẫn:

THS HUỲNH HỒ THỊ MỘNG TRINH

Họ và tên sinh viên:

NGUYỄN TRÍ MINH - 19521847

Thành phố Hồ Chí Minh, 07/2023

Trang 2

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

FRONT-END WEB DEVELOPER

pháp Phần mềm Tường Minh (TMA Solutions)

Nguyễn Trường Sơn

TP Hồ Chí Minh, tháng 07 năm 2023

Trang 3

LỜI MỞ ĐẦU

Công nghệ web luôn mang lại nhiều lợi ích quan trọng trong nhiều năm qua cho cuộc sống của chúng ta, và đến tận ngày nay - trong xã hội 4.0 và toàn cầu hoá nó vẫn luôn là cốt lõi trong cuộc sống hằng ngày Thật vậy, công nghệ web cho phép chúng ta kết nối và truy cập thông tin trên toàn cầu một cách dễ dàng và nhanh chóng Nó còn giúp tạo nhiều điều kiện thuận lợi cho việc kinh doanh và giao tiếp, mở ra nhiều cơ hội việc làm trong các lĩnh vực khác nhau Chính vì thế, lĩnh vực phát triển web không bao giờ mất đi vai trò quan trọng của nó, cũng như luôn phải được cập nhật và phát triển liên tục Phát triển web bao gồm việc sử dụng các kỹ năng và công nghệ để tạo ra các trang web hay ứng dụng web Đặc biệt phát triển front-end web đóng vai trò rất quan trọng trong việc xử lý các yêu cầu và cung cấp trải nghiệm tốt cho người dùng Phát triển front-end web không chỉ đòi hỏi kiến thức về HTML, CSS và JavaScript

mà còn rất nhiều công nghệ, kiến thức lập trình khác để tạo ra giao diện đẹp và có tính tương tác tốt Nó giúp cải thiện trải nghiệm người dùng, tạo ra các trang web thân thiện, xử lý yêu cầu chính xác, dễ sử dụng và thú vị Ngoài ra, lĩnh vực này cũng cung cấp nhiều cơ hội việc làm và có tiềm năng phát triển lớn trong ngành kỹ thuật phần mềm Chính vì vậy, em đã chọn lĩnh vực này để học hỏi và phát triển bản thân để trở thành một front-end web developer, và xa hơn nữa là một fullstack web developer khi những kiến thức về công nghệ mới được tiếp thu

và những kỹ năng nền tảng được trau dồi một cách vững chắc hơn

Sau những năm tháng trong môi trường đại học, với mong muốn áp dụng những kiến thức đã học và có được trải nghiệm trong môi trường thực tế, em đã quyết định tham gia thực tập tại công ty TNHH Giải pháp Phần mềm Tường Minh (TMA Solutions) - một môi trường lý tưởng

và chuyên nghiệp để thực hiện dự định của bản thân

Trang 4

LỜI CẢM ƠN

Em xin trân trọng gửi lời cảm ơn tới Bộ phận Thực tập (Industry Internship) tại công ty TNHH Giải pháp Phần mềm Tường Minh (TMA Solutions) đã tạo điều kiện cho em có cơ hội được thực tập tại công ty Dù trong thời gian ngắn nhưng nhờ sự chỉ dẫn nhiệt tình của anh Nguyễn Trường Sơn (project manager) và chị Hứa Bảo Kim Ngân (mentor), em đã được học hỏi, tiếp thu những kiến thức quan trọng và có nhiều trải nghiệm khi tham gia một dự án thực tế Chân thành cảm ơn anh Sơn, chị Ngân và các anh chị, các bạn trong team dự án đã bỏ ra nhiều thời gian, công sức để hướng dẫn, giúp đỡ em tận tình trong khi làm quen môi trường mới cũng như trong việc tiếp cận kiến thức công nghệ, kỹ năng lập trình và tư duy sản phẩm để có thể thực hiện tốt dự án cá nhân và dự án thực tế trong thời gian qua

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 em làm báo cáo này

TP HCM, ngày 04 tháng 07 năm 2023

Nguyễn Trí Minh

Trang 5

NHẬN XÉT CỦA KHOA

Trang 6

MỤC LỤC

LỜI MỞ ĐẦU 2

LỜI CẢM ƠN 3

NHẬN XÉT CỦA KHOA 4

MỤC LỤC 5

CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP 6

1.1 Giới thiệu 6

1.2 Giải pháp, dịch vụ và sản phẩm của công ty 8

1.3 Lịch làm việc khi thực tập tại công ty 8

CHƯƠNG 2: NỘI DUNG THỰC TẬP 9

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

2.2.1 Tuần 1 9

2.2.2 Tuần 2 10

2.3 Thực hiện dự án cá nhân 10

2.3.1 Công nghệ 10

2.3.3 Kết quả 11

2.4 Tham gia dự án thực tế 11

2.4.1 Nội dung, tình hình dự án khi tham gia 11

2.4.2 Những khó khăn gặp phải 12

2.4.3 Kết quả đạt được 12

CHƯƠNG 3: TỔNG KẾT 13

3.1 Điểm mạnh 13

3.2 Điểm yếu 13

3.3 Chuẩn đạt được 13

TÀI LIỆU THAM KHẢO 15

Trang 7

CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP

1.1 Giới thiệu

Hình 1.1 Logo TMA Solutions

TMA Solutions là một công ty hàng đầu về outsourcing phần mềm tại Việt Nam

TMA Solutions được thành lập vào năm 1997 nhằm cung cấp dịch vụ outsourcing phần mềm chất lượng cho các công ty hàng đầu trên toàn thế giới TMA là một trong những công ty outsourcing phần mềm lớn nhất tại Việt Nam với 4.000 kỹ sư Đội ngũ kỹ sư của TMA được chọn lọc từ nhiều nguồn lực IT lớn ở Việt Nam và đã được đào tạo tốt cũng như đã hoàn thành thành công nhiều dự án lớn và phức tạp

TMA Solutions gồm nhiều bộ phận, trung tâm (center) phát triển đa dạng các lĩnh vực như:

1 Telecom Software

2 IoT

3 Data Solution

4 Automotive Software

5 Fintech

6 Hardware

7 AI

8 Robotics Software

9 Healthtech

10 5G

- Địa chỉ:

+ Văn phòng chính (Lab 1): 111 Nguyễn Đình Chính, Phường 15, Quận Phú Nhuận, Tp

Hồ Chí Minh

Trang 8

+ Văn phòng 3 (Lab 3): 10 Đặng Văn Ngữ, Phường 10, Quận Phú Nhuận, Tp Hồ Chí Minh

+ Văn phòng 4 (Lab 4): 84A/5 Trần Hữu Trang, Phường 10, Quận Phú Nhuận, Tp Hồ Chí Minh

+ Văn phòng 5 (Lab 5): Anna Building, Lô 1 - Đường Trung tâm, Công viên Phần mềm Quang Trung, Phường Tân Chánh Hiệp, Quận 12, Tp Hồ Chí Minh

+ Văn phòng 6 (Lab 6): Toà nhà TMA, Lô 17 - Đường số 10, Công viên Phần mềm Quang Trung, Phường Tân Chánh Hiệp, Quận 12, Tp Hồ Chí Minh

+ Công viên Sáng tạo TMA (Lab 8): Đại lộ Khoa học, Ghềnh Ráng, Quy Nhơn, Bình Định

Quy mô về số lượng kỹ sư qua các năm:

- Website: https://www.tmasolutions.com

- Email: intern@tma.com.vn (Internship department)

- Điện thoại: 028 3997 8000 | ext: 5615 - 02838912532 (Internship Department)

CEO/Chairman:

- Delivery & Technology

- Business & Innovation

- CDF

- Finance/ Legal

- TMA Overseas

- QMS/PMO

- HR & Admin

Trang 9

1.2 Giải pháp, dịch vụ và sản phẩm của công ty

Công ty cung cấp nhiều giải pháp và dịch vụ, điển hình như:

• Phát triển phần mềm:

− Phát triển sản phẩm mới

− Tối ưu sản phẩm đã có

− Bảo trì, hỗ trợ

− Chuyển đổi, di dời

− Thiết kế lại hệ thống

• Kiểm thử phần mềm

− Kiểm thử chức năng

− Kiểm thử hệ thống, khả năng tích hợp

− Kiểm thử hiệu năng

− Kiểm thử bảo mật

• Các giải pháp cải tiến:

− R&D

− PoC & prototype

− Roadmap về công nghệ

− Đưa ra giải pháp về kỹ thuật

• Chuyển đổi số:

− Online hoá

− Mobile hoá

− Tự động hoá

− Cloud hoá

Sản phẩm trên nhiều lĩnh vực:

• Telecom

• Healthtech

• Logistics & Transportation

• Fintech

• E-Commerce, Retail & Distribution

• Automotive

1.3 Lịch làm việc khi thực tập tại công ty

Em tham gia làm việc tại công ty bắt đầu từ ngày 03/04/2023 tới 07/07/2023, các ngày làm việc trong tuần là thứ 2, thứ 4, thứ 5, thứ 6 (part-time) Công việc hằng ngày bắt đầu từ lúc 8 giờ 30 phút đến 18 giờ Thời gian nghỉ trưa khoảng 1 tiếng Buổi chiều sẽ bắt đầu làm việc vào lúc 13 giờ 30 Sau mỗi ngày làm việc em sẽ báo cáo tiến độ công việc trong ngày, đặt câu hỏi

và nhận chia sẻ, giải đáp từ chị Ngân - mentor của em cũng như đặt mục tiêu cho ngày làm việc tiếp theo Mỗi tuần sẽ họp tiến độ dự án 3 lần vào sáng thứ 2, 4, 6 Mọi người sẽ cùng họp

và bàn bạc về các vấn đề đã giải quyết, tồn đọng, bài học, giải pháp và mục tiêu cho tuần tiếp theo Anh Sơn là người quản lý dự án chính và cập nhật những thông tin về tình hình của dự

án cho mọi người Toàn bộ quy trình làm việc đều sử dụng Tiếng Anh là chủ yếu

Trang 10

CHƯƠNG 2: NỘI DUNG THỰC TẬP

Tổng thời gian: Khoảng 1 tuần

Nội dung: Giới thiệu về công ty, cách tổ chức của công ty, đượ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, các phòng ban về IT, HR, … Ngoài ra, thực tập sinh còn được giới thiệu về văn hóa làm việc trong công ty như thời gian đi làm, các quy định, cách sử dụng email trong công việc, … Bên cạnh đó em còn được train về các nội dung kỹ năng mềm cũng như kỹ thuật chuyên môn khi đi làm do những anh, chị có kinh nghiệm giảng dạy Các khoá học ngắn

mà em được train là:

• Agile Development Process

• Security Awareness

• Communication Skills

• Email Writing guidelines

• Work Etiquette and Teamwork

Kết quả: Hiểu thêm về văn hoá làm việc tại công ty, quá trình thành lập và phát triển Có thêm các kỹ năng về việc sử dụng email trong công việc và các kỹ năng mềm khác như làm việc nhóm, giao tiếp, làm việc có kế hoạch, có kỷ luật, có trách nhiệm hơn Ngoài ra em còn được học thêm về các quy trình phát triển phần mềm và bảo mật tại công ty

2.2 Nghiên cứu kỹ thuật

2.2.1 Tuần 1

Nội dung: Học và ôn tập các kiến thức liên quan theo Training Plan

Kết quả: Ôn tập kiến thức cũ và học được những kiến thức mới về Front-end như RESTful API, HTTP/HTTPS, bảo mật, authorization, authentication,

Trang 11

2.2.2 Tuần 2

Nội dung: Học và ôn tập các kiến thức liên quan theo Training Plan

Kết quả: Ôn tập kiến thức cũ và học được những kiến thức mới và quan trọng về React JS như Routing, HTTP request, Hook, Axios, Redux,…

2.3 Thực hiện dự án cá nhân

Trong 2 tuần kế tiếp, em được mentor giao cho 1 task cá nhân về việc xây dựng 1 ứng dụng web cho phép người dùng tạo và quản lý ghi chú Ban đầu, mentor không yêu cầu em thực hiện phần back-end, chỉ cần chú trọng vào front-end, tuy nhiên em đã nỗ lực tìm tòi, học hỏi

và tự làm cả phần back-end để có thể hiểu rõ hơn

2.3.1 Công nghệ

Về Back-end:

Node.js và Express.js để xây dựng API

MySQL là database, remote sử dụng CleverCloud

• Deploy sử dụng Cyclic

Mã hoá, tạo và xác thực token sử dụng JSON Web Token Nhờ vậy, mật khẩu của

người dùng trên database được mã hoá; session đăng nhập cũng được quản lý

API được cấu trúc theo mô hình Service - Controller - Router:

Service: Xử lý kết nối trực tiếp với database

Controller: Quản lý các phương thức khi request API

Router: Quản lý các API endpoint

Về Front-end:

React , HTML và CSS để xây dựng UI

Trang 12

• Các thư viện CSS: Bootstrap và React Bootstrap

• Deploy sử dụng Vercel

Ứng dụng được cấu trúc theo mô hình Model - Controller - View (MVC):

Model: Xử lý request trực tiếp tới API endpoint

Controller: Quản lý các phương thức được gọi từ các component UI

View: Quản lý các component UI Ứng dụng được chia thành nhiều component để có

thể tái sử dụng

• Lưu trữ trạng thái sử dụng ReduxRedux Thunk Hệ thống Redux được cấu trúc

theo mô hình Reducer - Container - Actions Một vài trạng thái như xác thực người

dùng thông qua token cho thấy sự hiệu quả khi triển khai với Redux

2.3.2 Mô tả dự án

Ứng dụng chỉ đơn giản là giúp người dùng tạo và quản lý các ghi chú của mình với các chức năng cơ bản Các use-case của người dùng:

− Tạo tài khoản mới

− Đăng nhập

− Tạo ghi chú mới

− Tìm ghi chú theo tên

− Xem nội dung ghi chú

− Chỉnh sửa và xoá ghi chú

− Đăng xuất (người dùng sẽ bị tự động đăng xuất khi phiên đăng nhập hết hạn) 2.3.3 Kết quả

• Các chức năng đều hoạt động chính xác, đúng như yêu cầu

• Mentor đánh giá đạt yêu cầu

• Repo GitHub: https://github.com/ntminh2nd/tma-notezy-app

• Link ứng dụng (đã được deploy): https://tma-notezy.vercel.app/

2.4 Tham gia dự án thực tế

Theo như quy định của công ty, các dự án thực tế đều phải được bảo mật, do vậy em không thể cung cấp những hình ảnh và tài nguyên về dự án mà chỉ có thể đưa ra những nội dung sơ lược, khách quan nhất có thể

2.4.1 Nội dung, tình hình dự án khi tham gia

• Dự án có nội dung về một ứng dụng web cho phép doanh nghiệp tái sử dụng và quản

lý các hợp đồng của mình Flow chính của ứng dụng là: admin tải lên 1 file hợp đồng, admin có thể chỉnh sửa file trực tiếp trên editor của ứng dụng và thiết lập các trường cho phép người dùng được điền theo form và lưu lại Sau này, những người dùng có nhu cầu sử dụng template đó chỉ cần điền theo form các nội dung cần thay đổi, sau đó

họ sẽ có 1 bản hợp đồng hoàn chỉnh, có thể lưu về nhiều định dạng hoặc mang đi in

ấn Ví dụ 1 template hợp đồng có các trường như địa chỉ, họ và tên, giới tính,… theo sau đó là nơi nhập nội dung (được đánh dấu như ……….), thông thường người dùng

Trang 13

phải sửa thủ công, tuy nhiên nhờ vào template của admin sau khi đã thiết lập các trường đó thì người dùng chỉ cần điền vào form các mục địa chỉ, họ và tên, giới

tính,… thì tự động ứng dụng sẽ thay thế các mục trống cần điền có dạng ……… thành nội dung cụ thể Ưu điểm của việc này là template đó có thể tái sử dụng cho nhiều trường hợp cũng như rất tiện lợi và nhanh chóng

• Đây là dự án đã và đang phát triển, do thiếu nhân lực mảng Front-end nên vào thời điểm tham gia, em đã hỗ trợ dưới vai trò là front-end developer cho dự án Front-end developer trước của dự án không còn làm nữa nên em phải kế thừa và thực hiện tiếp quy trình phát triển của dự án cho đến cuối giai đoạn thực tập

2.4.2 Những khó khăn gặp phải

• Do phải kế thừa lại toàn bộ source code cũ của dự án, em phải mất nhiều thời gian đề tìm tòi, nghiên cứu cũng như nhờ sự hỗ trợ của người phát triển trước để hiểu rõ về kiến trúc phần mềm của dự án, các cách triển khai tiếp theo cũng như thích ứng với các công nghệ mới được sử dụng

• Một vài công nghệ mới và yêu cầu khi làm việc của công ty trong quy trình phát triển trong lần đầu tiếp xúc cũng gây cho em nhiều khó khăn để thích ứng và học hỏi

• Một vài yêu cầu về chức năng của dự án là khá phức tạp do ứng dụng chạy trên nền web nên cũng gặp nhiều hạn chế Em phải đưa ra nhiều giải pháp để có thể giải quyết được một vài khó khăn tồn động, cũng như đưa ra hướng phát triển tiếp theo sau khi bàn bạc với team và mentor

2.4.3 Kết quả đạt được

• Tính đến thời điểm hiện tại, một vài chức năng chính và quan trọng của dự án đã có thể hoạt động ở mức ổn Tuy còn nhiều lỗi tồn động và hệ thống chưa được tối ưu tốt nhưng với một vài yêu cầu cơ bản được đưa ra, hệ thống đều có thể đảm nhận được

• Em được học hỏi thêm về cấu trúc dự án từ người phát triển trước do em kế thừa lại quy trình phát triển dang dở Ngoài ra, em còn được học thêm nhiều công nghệ mới, quy trình phát triển phần mềm trong công ty và cải thiện kỹ năng lập trình

Trang 14

CHƯƠNG 3: TỔNG KẾT

Quãng thời gian thực tập tại TMA Solutions đã giúp em cải thiện bản thân rất nhiều trong quy trình làm việc thực tế, tác phong của người kỹ sư phần mềm Được làm việc tại đây, em đã học thêm được kỹ năng mềm sử dụng mail, quản lý ticket, làm việc nhóm, giao tiếp với cấp trên cũng như được rèn luyện về các kỹ năng chuyên môn của mình

Chỉ trong thời gian hạn chế, em đã hoàn thành dự án cá nhân trong quá trình training với các tính năng, yêu cầu đặt ra ban đầu

Khi tham gia vào dự án thực tế, em cũng hoàn thành tốt các tác vụ đúng hạn và đạt chất lượng tốt

3.1 Điểm mạnh

Trong quá trình thực tập tại công ty, em nhận ra mình có những điểm mạnh sau:

• Tự tin giao tiếp, làm việc với Tiếng Anh ở mức tốt và nâng cao

• Hoà hợp với team làm việc, đưa ra đề xuất giúp cải thiện dự án và được đồng tình

• Làm việc độc lập tốt, khả năng tự research tốt

• Khả năng học hỏi công nghệ mới và thích ứng nhanh

• Hỗ trợ đồng nghiệp tốt

• Hoàn thiện yêu cầu được đưa ra

3.2 Điểm yếu

Trong quá trình thực tập tại công ty, em nhận ra mình có những điểm yếu sau:

• Chưa nắm bắt tốt hoàn toàn quy trình làm việc tại công ty

• Khả năng thống nhất giải pháp chưa tốt, tốn nhiều thời gian tìm nhiều giải pháp không hợp lý

• Quản lý thời gian làm việc chưa hợp lý

• Khả năng nhờ giúp đỡ về chuyên môn chưa được thực hiện thường xuyên

3.3 Chuẩn đạt được

Em tự đánh giá mục tiêu đạt được của môn học như sau:

• Nắm bắt được xu hướng, nhu cầu xã hội và tính đặc thù của doanh nghiệp (G1): 8/10

• Hiểu và giải thích được các khái niệm cơ bản, thuật ngữ và sơ đồ hệ thống trong dự án (G2): 9/10

• Nắm được quy trình, phương pháp và công nghệ phát triển sản phẩm phần mềm tại doanh nghiệp (G3): 9/10

• Có khả năng tìm hiểu vấn đề, mô hình hóa vấn đề và tham gia giải quyết vấn đề (G4): 9/10

• Phát triển kỹ năng tư duy, kỹ năng làm việc nhóm và kỹ năng trình bày (G5): 9/10

• Đọc, hiểu các tài liệu và giao tiếp bằng tiếng Anh (G6): 10/10

Ngày đăng: 04/09/2023, 20:57

HÌNH ẢNH LIÊN QUAN

Hình 1.1. Logo TMA Solutions - Báo cáo môn thực tập tốt nghiệp (se501 n21 pmcl)
Hình 1.1. Logo TMA Solutions (Trang 7)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w