Ngoài quy trình sản xuất nghiêm ngặt với sức người và các nguyên tắc lao động truyền thống, các công nghệ tân tiến hiện đại cũng được hội đồng quản trị của các doanh nghiệp trên chạy đua
Trang 1TRƯỜ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
Software Engineer Công ty thực tập : TechLink Silicones Vietnam
TP Hồ Chí Minh, tháng 01 năm 2021
Trang 2LỜI MỞ ĐẦU Ngày nay, ngành sản xuất công nghiệp nặng ở các nước phát triển đang dần hướng tới thị trường Việt Nam, với mục đích tìm kiếm được nguồn nhân lực trẻ, tri thức với nguồn vốn bỏ ra rẻ hơn so với nhân lực ở các quốc gia, châu lục khác mà vẫn bảo đảm được chất lượng thành phẩm cũng như lợi nhuận cho công ty Ngoài quy trình sản xuất nghiêm ngặt với sức người và các nguyên tắc lao động truyền thống, các công nghệ tân tiến hiện đại cũng được hội đồng quản trị của các doanh nghiệp trên chạy đua để nâng cao năng suất sản xuất Đó cũng chính là cơ hội cho các sinh viên phát triển phần mềm, nhúng, tự động hóa,… có cơ hội được mài dũa kĩ năng
và cọ sát thực tế.
TechLink Silicone cũng là một ông lớn không ngoại lệ Hiện nay, các chế phẩm được sản xuất từ Silicone đang dần được ưu chuộng Với chức danh Software
Enginner đã qua thời gian thử việc 2 tháng và kí hợp đồng 1 năm, đối với cá nhân
em đây luôn là một vùng đất đầy thử thách với đa dạng các bài toán khác nhau, phát triển toàn diện các kĩ năng của một Kỹ sư phần mềm hiện đại.
Các công nghệ chính được áp dụng tại TechLink-Silicones:
+ ERP Software: Sử dụng hệ quản trị cơ sở dữ liệu SQL Server và Mysql để quản
lý hạ tầng database phức tạp, chồng chéo giữa nhiều nghiệp vụ, từ quản lý nhân sự, kho bãi, các lệnh sản xuất, hải quan, xuất nhập tồn….
+ NET CORE, NET FRAMEWORK, C#, VB.NET: Thiết kế desktop application (WPF, WindowForm app) phục vụ end-user theo 1 chuỗi từ đầu đến cuối chặng để sản xuất 1 thành phẩm, theo dõi tồn kho và số lượng hao hụt của nó qua các bộ phận.
+ PHP Laravel + MySQL: Quản lý bộ phận thu mua, lên đơn mua sắm, nghiệm thu hàng hóa từ nước ngoài cũng như nội địa với đầy đủ chứng từ, báo cáo tồn theo quý, tháng năm, kiểm soát ngoại tệ chênh lệch tỉ giá mua-bán
Trang 3LỜI CẢM ƠN
Trân trọng gửi lời cảm ơn Công ty TechLink Silicone Việt Nam đã tạo điều kiện cho em
có cơ hội được thực tập tại công ty
5 tháng không phải là 1 thời gian ngắn, cũng không thể được coi là một thời gian dài nhưng các anh chị cấp quản lý, là các project leader cũng như các chủ quản HongKong đã tạo môi trường, các platform với đầy đủ nghiệp vụ để cho em được tạo ra một software, một system
từ đầu đến cuối 1 cách đúng nghĩa Ngoài ra, việc vận hành và bảo trì, phát triển các hệ thống cũ cũng là 1 trải nghiệm đáng nhớ
Từ 1 người chân ướt chân ráo, em đã được anh Trần Đức An – sinh viên tốt nghiệp đại học Bách Khoa TPHCM – 5 năm kinh nghiệm phát triển phần mềm tại công ty Samsung ở khu công nghệ cao – hiện tại cũng là đồng nghiệp hỗ trợ em trong mảng phát triển phần mềm phục
vụ cho mục đích giám sát sản xuất, thống kê số liệu bán hàng, kinh doanh của 1 doanh nghiệp công nghiệp nặng với 4 trụ sở tại châu Á
Là một công ty non-IT, có cái hay mà một công ty thuần IT hiếm khi sẽ được trải nghiệm Em phải có trách nhiệm hoàn toàn các khâu phát triển phát mềm, tự áp dụng Scrum Agile hoặc mô hình Waterfall để quản lý dự án được giao Từ việc làm BA( Bussiness Analyst) các khó khăn, bất cập của nhân viên và các cấp quản lý trong việc giám sát, quản lý luồng đi của các tác vụ, cho đến bắt tay vào code, xây dựng 1 hệ thống từ backend -> frontend trong khoảng thời gian cho phép thật sự là 1 trải nghiệm rất áp lực nhưng cũng vô cùng đáng nhớ và tuyệt vời Tự tay mình viết 1 chương trình có đa cấp người dùng, mình tự nghiên cứu các use-case với sự trợ giúp của 2 mentor khi gặp khúc mắc, sau đó tự test đi test lại cho đến khi sản phẩm có thể deploy và thực sự có những người dùng chương trình của mình mà cảm thấy tiện lợi, hữu ích, thật sự là 1 niềm hạnh phúc khó tả với một người mới vào nghề như 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ài báo cáo này
Nguyễn Hoàng Triều TPHCM, ngày 13/01/2021
Trang 4NHẬN XÉT CỦA KHOA
Trang 5MỤC LỤC
1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 3
Trang 6Chương 1: Giới thiêu công ty thực tập
1 Giới thiệu công ty TechLink Silicones
Tech-Link không ngừng nỗ lực để cung cấp các sản phẩm chất lượng cao với giá cả cạnh tranh Công ty chúng tôi là một trong những công ty hoàn thiện nhất về sản xuất silicone; từ quá trình trùng hợp vật liệu đến sản xuất bộ phận
Tech-Link là công ty DUY NHẤT ở Trung Quốc có khả năng đa chế biến bao gồm đúc, ép, đùn, lịch và phủ Điều này khiến chúng tôi trở thành nhà sản xuất silicone linh hoạt nhất trên thế giới
Chúng tôi được chứng nhận chất lượng theo QS 9000, TS 16949 và ISO 9001
Khối lượng sản xuất của chúng tôi là đẳng cấp thế giới, sản xuất hơn 4.000 tấn phụ tùng silicone mỗi năm
TechLink Silicones hiện chia làm 4 công ty lớn với trụ sở chính là nhà máy ở DongGuan, Trung Quốc, một nhà máy ở Việt Nam, một ở HongKong và một còn lại cũng ở Trung Quốc
Tổng giám đốc của Techlink Silicones, Tony Chang sinh 1957 Ngài là tiến sĩ hóa học đã cùng vợ mình xây dựng ra đế chế sản xuất phụ tùng xe hơi, chế phẩm từ Silicone để phục vụ hàng trăm các nhà tiêu thụ từ trung bình đến lớn, có thể kể đến Disney, Toyota ,Honda…
Project leader của em, Jonathan Chang, con trai cả của Tony Chang là thạc sĩ cơ khí tại đại học Columbia Mỹ, từng là kĩ sư cơ khí của Tesla – công ty xe hơi điện nổi tiếng của tỉ phú Ellon Musk
2 Sản phẩm của công ty
- Đồ gia dụng: bếp, khuôn bánh, khuôn đặt nồi bếp bằng Silicone
- Linh kiện xe hơi: Ống xả, ống bô,…
- Vòi nước chữa cháy, vòi nước công nghiệp
Trang 7- Đồ điện tử nhập nội địa Trung Quốc, màn hình siêu phẳng cho mục đích
Room meeting, các máy móc băng chuyền sản xuất để sử dụng và bán tiêu thụ.
Trang 8Chương 2: Nội dung thực tập
Đợt thực tập kéo dài trong 5 tháng tới hiện tại, thì mức độ hoàn thành của em ở độ hoàn thiện nhất chính là dự án Auto-Scanning, sử dụng Winform + máy scan công nghiệp quét mã
QR Code cho thành phẩm, bán thành phẩm,… nguyên vật liệu để nhập kho, chuyển kho từ kho này sang kho khác, đồng thời phải đồng bộ dữ liệu với database của phần mềm ERP bên Trung Quốc
- Một số dự án đang dang dở: Phần mềm chứng thực hải quan, phần mềm chuyển đối tỉ giá hối đoái khi mua-bán giữa công ty mẹ-con, hệ thống giám sát tồn kho để chạy kịp tiến độ sản xuất
1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty
Thời gian : 3 ngày
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 (như đã nhắc đến ở trê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
Ngoài ra, thực tập sinh còn được giới thiệu 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…
Kết quả : Hiểu thêm về công ty TechLink, 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, làm việc có kế hoạch, có kỷ luật, có trách nhiệm hơn
2 Nghiên cứu kỹ thuật
2.1 Các công cụ làm việc
Thời gian : 4 ngày
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 trên, công ty đã phát cho em laptop + màn hình làm sharing monitor, tự do mang ra vào làm việc riêng tùy thích Ngoài ra, học nội quy các quy
định trong công ty, về quy tắc phòng chống dịch, tham gia ăn trưa-tối do công ty chu cấp
Share các branch nhỏ của Github TechLink, hiện do anh Trần Quốc An quản lý để tiếp nhận source code của công ty, làm quen các software do chính nhân viên
Techlink sử dụng để làm quen dần
Thực hiện :
Trang 9Kết quả : Lập trình sử dụng các công cụ miễn phí, giúp dễ dàng kết hợp các công cụ
với nhau, so với việc dung các IDE( Visual Studio + MS SQL Server)
2.2 Tìm hiểu ngôn ngữ C# và VB.NET nâng cao
Thời gian : 5 ngày (1 tuần)
Nội dung : Nghiên cứu cách viết tối ưu SQL, Store Procedure,… Ôn lại cách khai báo
và sử dụng hiệu các syntax liên quan đến danh sách: List, Dictionary,…
- Nghiên cứu framework MVVM(WPF) và MVC(Winform và ASP.NET Core)
Thực hiện :
- Tham gia đầy đủ các buổi training của công ty
- Làm các bài thực hành, kiểm tra về kiến thức đã học
Kết quả :
- Nâng cao kỹ năng lập trình với ngôn ngữ C#, VB.NET
- Có được những kiến thức quan trọng cho việc lập trình Web, Desktop application, hay thậm chí Mobile(Xamarin) sau này
- 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
2.3 Lập trình hệ thống in mã QR-Code cho từng cục hàng xuất-nhập kho từ dữ liệu
của ERP:
Nội dung: Sử dụng thư viện in mã QR-Code của dòng máy in
BIXOLON( BXLLAPI_x64.dll & BXLLAPI_x86.dll) để thực hiện generate QR-Code theo format yêu cầu, dữ liệu từ SQL Server
- Config: Setting các thông số vật lý của máy in(tốc độ in, khổ giấy in( mm), độ dày, trục tọa độ (x,y) điểm bắt đầu – kết thúc)
- QRCoder
Trang 10Là thư viện basic trong Visual Studio, viết bằng C#.NET, được đăng kí bản quyền
sở hữu trí tuệ của MIT
- LINQ:
LINQ là 1 cách tiếp cận để thống nhất việc truy vấn dữ liệu trong C#( và Visual Basic.NET) chuyên dùng để truy vấn dữ liệu từ nhiều nguồn khác nhau.
Cú pháp của LINQ được tích hợp thẳng trong ngôn ngữ C# (và VB.NET) giúp loại bỏ được sự khác biệt giữa ngôn ngữ lập trình và ngôn ngữ truy vấn dữ liệu, cũng như tạo ra một giao diện lập trình thống nhất (sử dụng cùng một nhóm lệnh truy vấn) dùng cho nhiều loại nguồn dữ liệu khác nhau (SQL Server, Xml, Dịch
vụ Webm tập hợp onject,…) Qua đó, LINQ giúp loại bỏ yêu cầu sử dụng nhiều loại ngôn ngữ khác nhau trong quá trình truy vấn dữ liệu.
Cần 3 yếu tố khi sử dụng LINQ: nguồn dữ liệu( data sourcce), truy vấn (querry), lời gọi thực hiện truy vấn (query execution).
Nguồn dữ liệu Ienumerable và Iqueryable
Từ một góc nhìn khác, LINQ thực chất là một bộ thư viện phương thức mở rộng (extension method) cho các class thực thi hai giao diện (interface) Ienumerable
và Iqueryable Tất cả các class và interface cho LINQ đều đặt trong namespace System.Linq, vốn được sử dụng mặc định khi tạo mới file mã nguồn cho bất kì class nào.
Áp dụng truy vấn LINQ trong project, thay vì SQLCommand, SQLDataAdapter,…
File dbml chứa các table kéo thả trực tiếp từ SQL Server:
Trang 11Thực hiện :
- Chia dự án thành các phase, sprint… Hoàn thành trong vòng 4 sprint ( 2 tháng)
- Áp dụng LINQ và mô hình MVC để thực thi dự án, get dữ liệu từ database và generate QRCode, sau đó dùng máy Scan để scan QRCode vào ERP ( chương trình trung gian này em cũng là người thực hiện)
- Dự án làm việc độc lập, theo sát từ lúc xây dựng ý tưởng đến khi nó được 100% hoàn tất
Kết quả :
- Hiểu các khái niệm về lập trình theo MVC để sau này xúc tiến xây dựng Web (hiện đang thực thi 1 dự án khác bằng ASP.NET)
- Đã in được mã QRCode đẹp, không bị mất chữ, information đi kèm, phù hợp với mọi khổ in của mọi loại giấy vì đã nắm được nguyên lý trục tọa độ + vận tốc in
- Hiểu được cách xây dựng hệ thống Scan mã vạch, từ đó có thể làm được những
dự án tương tự: Scan hàng hóa siêu thị, scan mã ID nhân viên,… trong quản lý
3 Thực hiện project
Trang 12- Sau hai tháng với khoảng thời gian trainning ngắn ngủi, em đã hoàn thành được
dự án mà sếp bàn giao(Auto-Scanning) Hiện hệ thống Scanning của em đang được áp dụng cho 2/3 bộ phận tại TechLink Silicones (Kho Gia dụng – Bán thành phẩm) Bộ phận còn lại có mindset và nghiệp vụ khác, nên đang được phát triển sau
- Giảm thiểu được nhân lực cho việc kiểm toán, nghiệm hàng bằng file excel hoặc ghi tay trên giấy Chỉ cần Scanning hai bước ( Scan mã QR của mặt hàng + Scan
mã nghiệp vụ( Scan Next – Scan Next Lot( lô hàng) – Scan End – Scan Start) là
có thể hoàn tất chuyển hàng giữa các kho với nhau, cập nhật số tồn đúng trên hệ thống -> sau đó synchronize dữ liệu vào phần mềm quản lý tổng liệu của Công ty (ERP)
Chi tiết đồ án sẽ được nói ở phần sau
4 Lịch làm việc
thành
Nhận xét của người hướng dẫn
1
- Tìm hiểu về công ty, cách tổ chức của công ty
- Làm quen với các công
cụ làm việc trong công ty
- Học cách trao đổi, làm việc qua email
Anh Trần Đức An
(đồng nghiệp) Anh Nguyễn Lê Khôi( trưởng phòng bộ phận Kho – Sản xuất)
100%
2
- Tìm hiểu framework
WindowForm
- Nghiên cứu cấu trúc LINQ để có thể cải thiện tốc độ truy vấn dữ liệu thay vì mô hình N-tier
Anh Trần Đức
3
- Tìm hiểu Database của ERP, xác định mối quan hệ giữa các bảng
dữ liệu
Chị Nguyễn Thị Thúy Diệu(ERP Consultant)
50%
4
- Thực hiện viết chương trình in mã QRCode, tạo tiền để cho chương trình Scanning
Anh Trần Đức An
100%
5 Lấy yêu cầu từ các bộ phận
nhập – xuất kho, hỏi rõ khó Chị Nguyễn ThịThúy Diệu 100%
Trang 13khăn và cồng kềnh thế nào
khi phải quản lý thủ công
xuất nhập tồn
Anh Nguyễn Ngọc Toàn(Nhan viên kho)
6
Giai đoạn Scanning được
đưa vào Testing:
Test qua database Test của
TechLink trước khi đưa vào
hoạt động
Chị Nguyễn Thị Thúy Diệu
Anh Nguyễn Lê Khôi
100%
7
Vận hành và update thêm
những function khác cho
project Auto-Scanning
(2 tháng bản dùng được, từ
đó đến nay vẫn bảo trì và
nâng cấp)
Anh Nguyễn Lê Khôi
Sếp Jimmy Ng
50%
Trang 14Chương 3: Chi tiết về project
1 Giới thiệu về Auto-Scanning
- Auto-Scanning là một system bao gồm 2 chức năng chính: QRCode Generator và QRCode Scanner Cụ thể, thay vì sử dụng file excel và kiểm hàng bằng cách đếm lại số lượng ở nhiều chặng trước khi mặt hàng chính thưc được xuất kho – nhập kho, thì chỉ cần tạo lệnh trên ERP, sau đó scan mã QRCode chứa thông tin của lô hàng đó Lượng tồn sẽ được trừ khỏi kho xuất và cộng vào kho nhập trên phần
mềm quản lý chính ERP( Phần mềm của cty, cập nhật vào database sau đó ERP sẽ get thông tin từ Database vào)
-2 Thực hiện
- Tạo QRCode: QRCode Generator:
Trang 15■ QR Code Scanner:
■ Báo cáo số liệu những nhà kho của TechLink đã được cài đặt chương trình
Trang 16■ Kế hoạch phát triển phần mềm cho năm 2021 tại TechLink
■
� Sau cuộc họp thường niên, công ty đã phát thưởng thêm cho từng dự án nhỏ hoàn tất của
em và anh Trần Đức An
Trang 17TÀI LIỆU THAM KHẢO
For LINQ
http://www.docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/ For MVVM
https://www.wintellect.com/model-view-viewmodel-mvvm-explained/
For BIXOLON PRINTER API
https://docs.bixolon.com/index.php?kind=apis&key=24
For QRCode Generator Library
https://ironsoftware.com/csharp/barcode/tutorials/csharp-qr-code-generator/
Trang 19TỔNG KẾT
Như vậy, chỉ trong vòng 2 tháng ngắn ngủi, cùng với sự giúp đỡ của các anh chị bộ phận Kho – sản xuát và sự tư vấn, góp ý trong quy trình coding, về cách tiếp cận bài toán của anh đồng nghiệp Trần Đức An, em đã hoàn thành được chương trình thực tế đầu tiên của mình
Em cũng xin trân trọng cảm ơn nhà trường vì đã tạo điều kiện cho em trình bày quá trình thực tập cũng như thúc đẩy em phải đi thực tập để biết được kiến thức trên sách vở và ngoài thực tế
nó có sự xa cách thế nào Dựa vào những nền tảng mà trường dạy + sự chăm chỉ học hỏi khảo sát thực tế, em đã có được hợp đồng nhân viên chính thức đầu tiên Em xin trân trọng cảm ơn