1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo Cáo Thực Tập Intern Back End Software Engineering.pdf

19 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 Intern Back End Software Engineering
Tác giả Phạm Thị Nhật Khánh
Người hướng dẫn Nguyễn Trung Thái
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 thực tập
Năm xuất bản 2023
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 19
Dung lượng 627,14 KB

Nội dung

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: - Nghe bộ phận HR giới thiệu về công ty, cách tổ chức của công ty, quá trình thành lập và phát triển,

Trang 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 INTERN BACK END SOFTWARE ENGINEERING

Công ty thực tập : STYL Solutions Pte Ltd

Người phụ trách : Nguyễn Trung Thái Thực tập sinh : Phạm Thị Nhật Khánh

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

Trang 2

LỜI MỞ ĐẦU

Trong cuộc cách mạng công nghiệp 4.0, công nghệ thông tin nói chung và ngành Công nghệ phần mềm nói riêng luôn là nhân tố đóng vai trò quan trọng trong quá trình phát triển của xã hội

Công nghệ Web, hay công nghệ sản xuất các trang web đã phục vụ hầu hết các nhu cầu của con người từ bán hàng, cung cấp kiến thức đến thông tin liên lạc, Hiện nay đã có đến hơn 1.5 tỷ trang web, nhưng nhu cầu tạo ra những trang web mới vẫn chưa có dấu hiệu giảm

Do đó, một trang web muốn được nhiều người sử dụng phải đáp ứng được yếu

tố hình thức và nội dung Làm thế nào để sản phẩm tạo ra đạt chất lượng cao ở hai yếu

tố trên luôn làm bất kì một đội ngũ phát triển website nào cũng cần phải suy nghĩ đau đầu Để thử thách bản thân trong ngành công nghiệp web, em đã lựa chọn Back end web developer là định hướng cho việc học cũng như nghề nghiệp trong tương lai

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 vào STYL Solutions – một môi trường lý tưởng và chuyên nghiệp để thực hiện

dự định

Trang 3

LỜI CẢM ƠN

Em xin trân trọng gửi lời cảm ơn công ty STYL Solutions Pte Ltd đã tạo điều kiện cho em cơ hội được thực tập tại công ty

Trong khoảng thời gian 3 tháng vừa qua, nhờ sự chỉ dẫn nhiệt tình của nhóm Server Internship, em đã tiếp thu những kiến thức quan trọng để có thể tham gia vào một dự án thực tế Em chân thành cảm ơn các anh chị đã dành nhiều thời gian, công sức giúp em hoàn thành đợt thực tập này Đặc biệt, em chân thành cảm ơn anh Nguyễn Trung Thái đã hướng dẫn em những kiến thức mới, giải thích rõ ràng hơn về dự án Bên cạnh đó, anh cũng giúp đỡ em tận tình trong khi làm quen môi trường mới và đưa

ra lời khuyên bổ ích giúp em vượt qua khó khăn trong quá trình thực tập

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 15 tháng 12 năm 2023

Khánh

Phạm Thị Nhật Khánh

Trang 4

NHẬN XÉT CỦA KHOA

Trang 5

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 STYL Solutions 6

1.2 Sản phẩm công ty 6

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

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

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

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

2.2.1 Tuần 1 8

2.2.2 Tuần 2 9

2.2.3 Tuần 3 9

2.2.4 Tuần 4 9

2.3 Tham gia dự án thực tế 10

2.3.1 Giới thiệu dự án 10

2.3.2 Quá trình tham gia dự án thực tế 13

2.3.4 Thuận lợi 14

2.3.5 Khó khăn 15

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

3.1 Điểm mạnh 18

3.2 Điểm yếu 18

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

TÀI LIỆU THAM KHẢO 19

Trang 6

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

1.1 Giới thiệu STYL Solutions

Hình 1.1 Logo

STYL Solutions Pte Ltd (STYL) được thành lập vào năm 2008 bởi một nhóm doanh nhân công nghệ giàu kinh nghiệm với nền tảng kiến thức đa dạng từ các công ty điện tử đa quốc gia Nhóm bao gồm những người có kỹ năng khác nhau về R&D, tiếp thị và sản xuất, đã cùng nhau phát triển STYL thành như ngày nay

Mục đích của công ty là đưa FINTECH IoT vào các ứng dụng hàng ngày, tạo ra môi trường thông minh và hiệu quả nhằm nâng cao chất lượng cuộc sống cho tất cả mọi người

1.2 Sản phẩm công ty

Là một công ty FINTECH IoT, STYL Solutions kết hợp các hoạt động thanh toán với các yếu tố của IoT, cung cấp nền tảng trên các phân khúc thị trường như Bán hàng tự động, Tự phục vụ, Vận chuyển, Bán lẻ, F&B cũng như Quản lý Dữ liệu IoT Một số dự án nổi bật của công ty gồm có:

- Transit Solutions: là một giải pháp vận chuyển, một đầu đọc không tiếp xúc được thiết kế linh hoạt, nhỏ gọn với màn hình tích hợp phù hợp cho việc thu phí vận chuyển cũng như thanh toán tự phục vụ bán lẻ mà không cần sự giám sát như cổng thu tiền vé, máy bán hàng tự động, máy trò chơi,…

Trang 7

- Intelligent school: đây là dự án thanh toán không tiếp xúc được xây dựng cho các trường học, tạo điều kiện thuận lợi cho việc dạy học sinh nhỏ tuổi cách tiết kiệm

và chi tiêu khôn ngoan bằng cách giúp các em theo dõi thói quen chi tiêu và tiết kiệm của mình Thiết bị thanh toán gồm có một đồng hồ thông minh Học sinh có thể thực hiện thanh toán không tiếp xúc tại thiết bị đầu cuối Smart Buddy được lắp đặt trong các trường học và hơn 100.000 điểm thanh toán trên khắp Singapore Bên cạnh đó thì cha mẹ có thể quản lý và giám sát việc chi tiêu của con mình trên ứng dụng

- FarmBox: là một giải pháp canh tác trong nhà thông minh, tích hợp công nghệ canh tác trong nhà và IoT có khả năng trồng trọt thủy canh Người dùng có thể điều khiển và giám sát toàn bộ quá trình canh tác từ xa thông qua trang web hoặc thiết

bị di động có kết nối wifi Đèn, quạt, nước có thể được lên lịch hoạt động; máy ảnh có thể được lên lịch để chụp ảnh vào nhiều thời điểm khác nhau; dữ liệu thời gian thực liên tục được gửi tới nền tảng đám mây để phân tích dữ liệu,…

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 18/09/2023 tới 17/12/2023, các ngày làm việc trong tuần là thứ hai, thứ tư, thứ năm và thứ sáu Công việc hằng ngày bắt đầu từ lúc 8h30 đến 5h30 Thời gian nghỉ trưa khoảng 1 tiếng 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ừ người hướng dẫn Mỗi tuần sẽ họp tiến độ tuần 1 lần vào sáng thứ 2, 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

Trang 8

CHƯƠNG 2: NỘI DUNG THỰC TẬP 2.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:

- Nghe bộ phận HR giới thiệu về công ty, cách tổ chức của 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, …

- Gặp IT Helpdesk để nhận thiết bị, cài đặt các phần mềm liên quan và được thêm vào phòng chat của công ty

- 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, …

Kết quả: Em đã hiểu thêm về quy trình, phong cách và văn hóa làm việc của STYL

Solutions, Có thêm các kỹ năng về việc sử dụng email, báo cáo tiến độ, làm việc có kế hoạch, có kỷ luật, có trách nhiệm hơn

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

2.2.1 Tuần 1

Nội dung: Cài đặt các công cụ lập trình và nghiên cứu về ngôn ngữ lập trình Java

- Em được tìm hiểu và cài đặt các công cụ lập trình như Eclipse, MySQL workbench,…

- Gặp gỡ người hướng dẫn để thảo luận về các kiến thức cần học và nhiệm vụ trong quá trình thực tập

- Ôn tập các kiến thức cơ bản về java như OOP, Packages, Data Types, Conditional, Loop, Exception Handling, Memory Management & Garbage Collection,…

- Ôn tập các kiến thức nâng cao về java như Generics, Threading, Race condition, Collection, Antonation và Reflection,…

Trang 9

Kết quả: Sau tuần đầu tiên thực tập tại công ty, em có thể nắm được những mốc thời

gian và nhiệm vụ cần hoàn thành Bên cạnh đó, việc ôn tập lại ngôn ngữ java giúp em

bổ sung những kiến thức chưa biết về java

2.2.2 Tuần 2

Nội dung: Nghiên cứu về Java EE

- Gặp gỡ người hướng dẫn để báo cáo những kiến thức đã học được trong tuần trước và đặt mục tiêu cho tuần này

- Tạo ứng dụng JSP Servlet cơ bản, sử dụng JDBC để kết nối cơ sở dữ liệu trong MySQL workbench

- Nghiên cứu cách xây dựng và hoạt động của ứng dụng Spring MVC

- Tạo ứng dụng Spring MVC cơ bản giống với ứng dụng JSP Servlet trước đó

Kết quả: Sau tuần thứ hai, em đã học được cách lên kế hoạch, mục tiêu hằng tuần Bằng

việc tạo những ứng dụng đơn giản, em có thể có cái nhìn tổng quan về các ứng dụng java web, so sánh được sự giống và khác nhau giữa chúng, đồng thời làm quen với IDE lập trình mới

2.2.3 Tuần 3

Nội dung: Nghiên cứu về unit test cơ bản và unit test trong Spring framework

- Gặp người hướng dẫn để báo cáo những kiến thức đã học được trong tuần trước

và đặt mục tiêu cho tuần này

- Tìm hiểu các khái niệm, vòng đời và vai trò của unit test

- Tìm hiểu về unit test trong java và Spring framework

- Viết unit-test cơ bản cho ứng dụng web đơn giản được tạo từ hai tuần trước

Kết quả: Sau tuần thứ ba, em đã có thêm nhiều kiến thức hơn về unit test, hiểu được

vai trò của unit test trong phát triển và bảo trì phần mềm

2.2.4 Tuần 4

Nội dung: Nghiên cứu unit test trong Spring framework và thuyết trình những kết quả

đã tìm hiểu được với người hướng dẫn và team thực tập

Trang 10

- Đọc tài liệu và tìm hiểu về Spring test context framework

- Tìm hiểu cơ sở dữ liệu H2 dùng trong kiểm thử

- Tìm hiểu các bước để viết unit test cho dự án Spring MVC

- Chuẩn bị những nội dung cho bài thuyết trình

- Thuyết trình cho người hướng dẫn và team thực tập

Kết quả: Sau tuần thứ tư, em hiểu sâu hơn về unit test trong Spring framework Qua

việc thuyết trình, em có thể củng cố kiến thức thêm một lần nữa cũng như nhận được những góp ý chân thực của người hướng dẫn

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

2.3.1 Giới thiệu dự án

Caribbean (https://www.styl.com.sg/caribbean.html) là dự án trong lĩnh vực giáo dục đã được phát triển từ nhiều năm về trước của STYL Solutions Hiện tại, công

ty đang tham gia vào giai đoạn bảo trì Là thực tập sinh, em được giao nhiệm vụ viết unit test cho dự án này, mục tiêu là duy trì các tiêu chuẩn và chất lượng khi bảo trì và cập nhật trong tương lai

Dự án Caribbean CMS là một ứng dụng Java Spring Framework, MySQL workbench cho cơ sở dữ liệu Dự án giúp các điểm bán trong các trường học có thể quản lý việc bán đồ ăn, học sinh thể mua đồ ăn, thanh toán bằng thẻ và mã QR thông qua tích hợp thiết bị đầu cuối thanh toán Ngoài ra thì ứng dụng hỗ trợ ba mẹ có thể nạp tiền vào ví điện tử gia đình và đặt hàng trước cho con của mình Caribbean cũng theo dõi tình trạng dị ứng của người dùng, ngăn chặn việc bán các thực phẩm có khả năng gây nguy hiểm cho các cá nhân

Một số hình ảnh của Caribbean:

Trang 11

Hình 2.3.1.1 Màn hình quản lý các đồ ăn vặt

Hình 2.3.1.2 Màn hình quản lý hệ thống các máy POS đã được sử dụng

Trang 12

Hình 2.3.1.3 Màn hình quản lý hệ thống các máy order

Hình 2.3.1.4 Màn hình quản phiên bản của hệ thống

Trang 13

Hình 2.3.1.5 Màn hình thống kê

2.3.2 Quá trình tham gia dự án thực tế

2.3.2.1 Tìm hiểu về dự án

Thời gian: 1 tuần

Nội dung: Sau khi thuyết trình về unit test ở tuần trước thì tuần này em nhận được

nhiệm vụ là tìm hiểu và viết unit test cho dự án Caribbean Em được thêm vào dự án Caribbean trên GitLab và thực hiện clone code về máy và chạy chương trình

- Trong thời gian một tuần, em đọc những tài liệu hiện có liên quan đến dự án, tìm hiểu cấu trúc dự án, user flow, danh sách các màn hình, coding

conventions,…

- Gặp người hướng dẫn để báo cáo và hỏi về những gì chưa hiểu rõ trong dự án

Kết quả: Em hiểu rõ hơn về mục đích của dự án, cấu trúc của dự án và cách hoạt động

một ứng dụng Spring trong môi trường thực tế

2.3.2.1 Thực hiện nhiệm vụ viết unit test

Trang 14

Thời gian: 6 tuần

Nội dung: Sau khi tìm hiểu về dự án Caribbean, em gặp người hướng dẫn để báo cáo

và hỏi về những nội dung chưa nắm rõ Những tuần tiếp theo, em thực hiện viết unit test cho các module trong dự án từ các lớp Dao, các lớp Service đến các lớp

Controller

- Trước khi chuyển sang viết unit test module mới em sẽ báo cáo kết quả đạt được từ module trước đó và estimate thời gian cho module tiếp theo

- Sau khi hoàn thành test cho mỗi module, em được review lại những gì đã làm thực hiện giải quyết những xung đột để hợp nhất code

Kết quả: Sau 6 tuần thực hiện viết unit test cho dự án, em đã hoàn thành unit test cho

những module được giao với độ bao phủ ở mức tốt Qua thời gian đó, em có thể viết unit test thành thạo và chuyên nghiệp hơn

2.3.4 Thuận lợi

Trong thời gian tham gia viết unit test cho dự án Caribbean, em học hỏi được rất nhiều kiến thức từ cách xây dựng ứng dụng web trong thực tế, đến cách làm để đảm bảo chất lượng cho những dòng code

Trước đây, khi học tại trường, em đã từng làm ứng dụng web bằng Java Spring Boot, cho đến khi được tiếp cận với dự án Spring MVC trong thực tế giúp em hiểu rõ hơn về cấu trúc, cách xây dựng của ứng dụng web

Trong vòng ba tháng thực tập tại công ty, em nhận được sự giúp đỡ nhiệt tình của người hướng dẫn, giúp em được giải đáp những vướng mắc trong dự án Bên cạnh người hướng dẫn, em cũng học hỏi được rất nhiều từ những bạn thực tập sinh, các bạn

là người cùng làm việc và cùng thảo luận về những vấn đề em chưa hiểu rõ

Trang 15

2.3.5 Khó khăn

Khi tìm hiểu về dự án thực tế, do dự án đã phát triển từ nhiều năm trước nên tài liệu về dự án còn rất ít khiến em gặp khó khăn khi đọc hiểu về dự án Em mất nhiều thời gian hơn để hiểu dự án làm gì, tự tìm hiểu cấu trúc của dự án và hỏi người hướng dẫn về dự án

Dự án trong thực tế khá phức tạp, và có quy mô lớn hơn rất nhiều so với những ứng dụng web em từng làm ở trường, do vậy, việc viết unit test đảm bảo độ bao phủ đòi hỏi sự tỉ mỉ, cẩn thận và hiểu biết sâu về Spring test context và lĩnh vực khác trong quá trình phát triển phần mềm

Trang 16

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

Quãng thời gian thực tập tại STYL 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 một kỹ sư phần mềm Đây là một trải nghiệm tuyệt vời, đầy ý nghĩa, giúp em học hỏi được rất nhiều kiến thức về nghề nghiệp trong tương lai

Về kiến thức, kỳ thực tập là một hành trình giúp em có tầm nhìn rộng mở hơn về kiến thức Trong quá trình thực tập tại công ty, em được tìm hiểu sâu hơn về Java Spring framework giúp em có cái nhìn toàn diện hơn kiến trúc, nguyên tắc của ứng dụng Spring Bên cạnh đó, việc đọc hiểu tài liệu về dự án Caribbean của công ty, em có được

sự hiểu biết về dự án thực tế, cách xây dựng ứng dụng web có khả năng mở rộng, bảo trì Trong quá trình thực tập tại công ty, nhiệm vụ chính của em là viết unit test cho ứng dụng Caribbean Qua đó, em có thể hiểu được những kiến thức và vai trò của unit test trong phát triển ứng dụng web với Spring framework, các bước viết unit test, làm sao

để đảm bảo độ bao phủ code của unit test

Về kỹ năng, kỳ thực tập mang lại cho em những kỹ năng thiết yếu về làm việc trong môi trường thực tế Việc thực hiện các nhiệm vụ tại công ty không chỉ giúp nâng cao trình độ về Java Spring framework mà còn củng cố hơn kỹ năng giải quyết vấn đề cũng như quản lý thời gian của em Qua quá trình thực tập tại công ty, em nhận thấy để trở thành một kỹ sư phần mềm đòi hỏi sự kiên trì, tính tỉ mỉ và sự cẩn thận rất lớn, điều này giúp em hình thành tác phong trong công việc Không chỉ là kỹ năng lập trình, em còn học hỏi được thêm những kỹ năng khác trong công việc như sử dụng email trong môi trường doanh nghiệp, làm việc nhóm, đặt vấn đề, giao tiếp với đồng nghiệp và học hỏi từ những anh chị đi trước

Như vậy, trong thời gian hạn chế, em đã hoàn thành các kiến thức training của công ty và cùng bạn trong team thực tập đã hoàn thành unit test cho dự án Caribbean

Ngày đăng: 15/05/2024, 09:22

w