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

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

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

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

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

Trang 17

Em xin chân thành cảm ơn sự giúp đỡ nhiệt tình của anh Nguyễn Trung Thái và toàn thể công ty STYL Solutions trong quá trình thực tập Nhờ sự giúp đỡ của mọi người mà em có khoảng thời gian thực tập đầy ý nghĩa và đáng nhớ Hành trình này góp phần to lớn vào việc thúc đẩy sự phát triển cá nhân, là hành trang để em có thể phát triển và theo đuổi nghề nghiệp trong tương lai

Trang 18

3.1 Điểm mạnh

● Đã có kinh nghiệm về lập trình ứng dụng web từ trước ● Có kỹ năng về ngôn ngữ java và spring framework ● Chấp hành tốt các nội quy của công ty

Trang 19

TÀI LIỆU THAM KHẢO

1 Spring framework document Link: https://spring.io/projects/spring-framework/ 2 Stack Overflow Link: https://stackoverflow.com/

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

Xem thêm:

w