Giới thiệu công ty CMC Global CMC Global ra đời từ kinh nghiệm 25 năm trong lĩnh vực ICT và hơn 10 năm kinh nghiệm trong lĩnh vực Outsourcing của Tập đoàn công nghệ CMC, với sứ mệnh trở
Trang 1KHOA CÔNG NGHỆ PHẦN MỀM
BÁO CÁO THỰC TẬP
FIX BUG DỰ ÁN MICROSOFT ACCESS / VBA
TP Hồ Chí Minh, tháng 7 năm 2020
Trang 2LỜI MỞ ĐẦU
Trong bối cảnh phát triển chung của ngành Công Nghệ Thông Tin Việt Nam, ngành công nghiệp phần mềm hiện là một lĩnh vực thu hút chất xám cũng nhờ sự quan tâm của các nhà kinh
tế, và đạt được những bước tiến quan trọng Một trong những đối tác chiến lược quan trọng của Việt Nam trong lĩnh vực này chính là Nhật Bản
Hiện nay khá nhiều doanh nghiệp của Nhật đang áp dụng hình thức outsourcing tại Việt Nam với mong muốn tận dụng được nguồn nhân lực dồi dào và nâng cao khả năng cạnh tranh doanh nghiệp Điều đó dẫn đến nhu cầu tuyển dụng nguồn nhân lực IT có vốn ngoại ngữ tiếng Nhật trong nước cao
Sau hơn ba năm học tập trên trường, do mong muốn có kinh nghiệm làm việc thực tế cũng như tận dụng trình độ ngoại ngữ JLPT N2 của mình vào công việc nên em đã quyết định chọn thực tập tại công ty CMC Global, một công ty chuyên làm outsourcing cho các doanh nghiệp nước ngoài, đặc biệt là Nhật Bản
Trang 3LỜI CẢM ƠN
Trân trọng gửi lời cảm ơn Công ty CMC Global đã tạo điều kiện cho em có cơ hội được thực tập tại công ty
Chỉ trong vài tháng ngắn ngủi ở công ty, tuy đây là lần đầu tiên làm việc trong môi trường thực tế nhưng nhờ sự giúp đỡ nhiệt tình của các anh chị trong công ty, em đã nhanh chóng làm quen được với công việc Em xin chân thành gửi lời cảm ơn đến các anh chị trong công ty
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 này
Nguyễn Hoài Thu TpHCM, ngày 23 tháng 07 năm 2020
Nguyễn Hoài Thu
Trang 4NHẬN XÉT CỦA KHOA
Trang 5
MỤC LỤC
MỤC LỤC 5
Chương 1: Giới thiêu công ty thực tập 6
1 Giới thiệu công ty CMC Global 6
2 Sản phẩm và dịch vụ của công ty 7
Chương 2: Nội dung thực tập 8
1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 8
2 Tham gia dự án fix bug 8
2.1 Nghiên cứu công nghệ sử dụng Microsoft Access / VBA 9
2.2 Thiết lập môi trường 10
2.3 Phân tích tổng quan danh sách bug 10
2.4 Thực hiện fix bug loại A và viết Q&A cho các bug loại B 11
3 Onsite dự án java ở INTEC Vietnam 12
4 Hỗ trợ dịch thuật và tự học ReactJs 12
5 Lịch làm việc 12
TÀI LIỆU THAM KHẢO 14
TỔNG KẾT 15
Nguyễn Hoài Thu
Trang 6Chương 1: Giới thiêu công ty thực tập
1 Giới thiệu công ty CMC Global
CMC Global ra đời từ kinh nghiệm 25 năm trong lĩnh vực ICT và hơn 10 năm kinh nghiệm trong lĩnh vực Outsourcing của Tập đoàn công nghệ CMC, với sứ mệnh trở thành đơn vị cung cấp nhân lực kỹ sư phần mềm chất lượng cao, cung cấp các giải pháp, dịch vụ CNTT cho thị trường quốc tế Hiện CMC Global đang sở hữu đến 700++ nhân viên, cùng một công ty thành viên tại Nhật Bản
Tập đoàn công nghệ CMC cùng CMC Global tự hào là một trong những doanh nghiệp hàng đầu Việt Nam trong lĩnh vực phát triển, cung cấp các giải pháp và dịch
vụ phần mềm Chia sẻ chung những tiêu chí tiên quyết cho sự phát triển của Tập đoàn CMC: Sáng tạo, Chuyên nghiệp, Đồng đội, CMC Global luôn nỗ lực không ngừng để xây dựng một tập thể vững mạnh, tiên phong trong nền công nghệ Việt Nam và ngày một vươn xa ra thế giới
Với mục tiêu đưa các sản phẩm và dịch vụ công nghệ cao của CMC ra thế giới, CMC Global đang xây dựng những nền móng đầu tiên với tham vọng: có ít nhất 2.000 người làm việc ở nước ngoài vào năm 2022; doanh thu phần mềm và dịch vụ
từ thị trường xuất khẩu lớn hơn thị trường trong nước; có nhiều sản phẩm và dịch vụ đạt tiêu chuẩn hàng đầu thế giới Trong tương lai, ngoài công ty thành viên CMC
Trang 7Japan tại Nhật Bản, CMC Global sẽ mở thêm các chi nhánh tại các nước châu Á như Singapore, Malaysia,…
Chiến lược đầu tư của CMC Global được định vị có phần khác biệt so với các công ty outsourcing cũng ngành ở thị trường Việt Nam CMC Global sẽ chú trọng vào việc phát triển nguồn lực, chuẩn hóa qui trình cung cấp dịch vụ và phát triển phần mềm, đào tạo nhân sự chất lượng cao, cùng lúc thu hút số lượng lớn các nhân tài trong lĩnh vực công nghệ thông tin Đồng thời, CMC Global cũng sẽ là đại diện, cầu nối cho các công ty thành viên của CMC trong việc cung cấp các giải pháp và dịch vụ tích hợp trọn gói ra thế giới
2 Sản phẩm và dịch vụ của công ty
Dịch vụ truyền thông: Dịch vụ ứng dụng, dịch vụ quản trị, chuyển đổi dữ liệu, kiểm thử (Testing)
Dịch vụ tư vấn: SAP ERP, SAP S/4HANA, Microsoft Dynamics CRM
Sản phẩm & Giải pháp: Hạ tầng, Kỹ thuật & phần mềm, Chính phủ điện tử, Tài chính – Chứng khoán – Bảo hiểm (FSI), Doanh nghiệp, SMB
Chuyển đổi số: Trí tuệ nhân tạo, Blockchain, Điện toán đám mây, Phân tích dữ liệu, dữ liệu lớn, Vạn vật kết nối, Robotic, Tự động hóa
Nguyễn Hoài Thu
Trang 8Chương 2: Nội dung thực tập
Đến với CMC Global, sau 1 tuần làm quen với các quy định và quy trình làm việc của công ty, em được tham gia vào dự án bug fixing cho phần mềm quản lý cho thuê xe được viết bằng Microsoft Access cho đối tác Nhật Bản
1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty
Thời gian: 5 ngày
Nội dung:
- Được phổ cập cơ cấu tổ chức và các quy định trong công ty
- Cách sử dụng mail công việc
- Cách sử dụng công cụ quản lý ngày nghỉ, công cụ quản lý dự án JIRA
Thực hiện:
- Tham gia buổi seminar quy định làm việc trong công ty
- Đọc các tài liệu về quy định làm việc
- Thực hành sử dụng email công việc, các công cụ nêu trên
Kết quả:
- Nắm được cơ cấu tổ chức, các quy định trong công ty
- Nắm được cách thức sử dụng mail công việc
- Nắm được cơ bản cách sử dụng các công cụ nêu trên
2 Tham gia dự án fix bug
Tổng quan về dự án: Dự án fix bug cho phần mềm quản lý cho thuê xe được viết bằng
Microsoft Access Do phần mềm được phát triển đã lâu nên không có tài liệu mô tả Team chỉ được khách hàng cung cấp một danh sách hơn 250 bug Khách hàng trực tiếp của công ty
là đơn vị phát triển phần mềm nên quá trình làm rõ yêu cầu gặp nhiều khó khăn do họ cũng không nắm rõ yêu cầu, phải xác nhận lại với khách hàng của họ
Thời gian thực hiện: Trong vòng 3 tháng
Thành viên trong team: gồm 5 người: 1 Project Manager kiêm Tech Lead, 1 BA kiêm
người làm việc trực tiếp với khách hàng bằng tiếng Nhật, 3 developers
Trang 92.1 Nghiên cứu công nghệ sử dụng Microsoft Access / VBA
Thời gian: 1 ngày
Nội dung: Tự tìm hiểu Microsoft Access
Microsoft Access là một hệ thống quản lý cơ sở dữ liệu hoặc một hệ quản trị cơ sở
dữ liệu quan hệ (tiếng Anh: relational database management system, viết tắt RDBMS) với khả năng giúp chúng ta phát triển nhanh những giải pháp lưu trữ và quản lý thông tin (RAD – Rapid Application Development)
Với Access, ta có thể phát triển được một hệ thống quản trị thông tin dành cho các doanh nghiệp vừa và nhỏ rất nhanh chóng, thậm chí Access còn có thể giúp cho việc quản trị dữ liệu trong 1 số mảng của doanh nghiệp lớn ví dụ như: quản lý thông tin các đầu mối khách hàng, các cơ hội bán hàng, trạng thái khách hàng, thông tin đặt hàng và thông tin sản phẩm v.v
Với sự hỗ trợ của VBA – một ngôn ngữ lập trình được hỗ trợ và tích hợp trong tất
cả các phần mềm trong bộ Office, giúp việc phát triển phần mềm bằng Access linh hoạt và dễ dàng hơn cho lập trình viên
Ngoài ra, Access còn có thể kết nối tới datasource ngoài như SQL Server, Oracle
1 số khái niệm trong access:
- Table: Bảng, như các hệ quản trị cơ sở dữ liệu quan hệ khác, Access lưu trữ dữ liệu theo bản, gồm nhiều hàng và cột Mỗi cột là một thuộc tính do người dùng định nghĩa, Access hỗ trợ nhiều kiểu dữ liệu cho cột: Text, Number, Yes/No, Currency, Date/Time, Rich Text,…
- Query: Câu truy vấn, dùng để đọc dữ liệu hoặc thêm mới/ cập nhật dữ liệu trong bảng
- Form: Biểu mẫu, dùng để hiển thị dữ liệu lấy từ query hoặc trực tiếp từ table, Access hỗ trợ khá đầy đủ các chức năng giống WinForm như text input, label, button, checkbox, radio button, combobox, grid, v.v… và có thể dễ dàng lập trình với VBA
Nguyễn Hoài Thu
Trang 10Thực hiện: Đọc tài liệu về Microsoft Access, xây dựng ứng dụng demo các tính năng
cơ bản
Kết quả: Nắm được các tính năng Access hỗ trợ, cách sử dụng các chức năng cơ bản:
tạo bảng, tạo Form hiện dữ liệu từ table, cập nhật dữ liệu trong table từ Form
2.2 Thiết lập môi trường
Thời gian: 1 ngày
Nội dung:
- Cài đặt Microsoft Access với sự hỗ trợ của bên IT
- Cài SQL Server trên local và import database do khách hàng cung cấp
- Chạy source code do khách hàng cung cấp và config kết nối với SQL server
local
Thực hiện:
- Tạo ticket nhờ yêu cầu hỗ trợ cài đặt Access trên JIRA
- Pull source từ SVN của dự án bằng TortoiseSVN
- Config database server và chạy source
Kết quả:
- Môi trường sẵn sàng để chỉnh sửa source code, pull và push lên SVN của dự án
2.3 Phân tích tổng quan danh sách bug
Thời gian: 3 ngày
Nội dung: phân tích, viết tài liệu mô tả và phân loại toàn bộ danh sách bug thành 2
loại:
- Loại A: các bug có thể fix mà không confirm với khách hàng
- Loại B: các bug chưa rõ yêu cầu khách hàng, cần phải QnA xác nhận lại
Thực hiện:
- Thực hiện phân tích và viết tài liệu
- Cập nhật tiến độ và upload tài liệu lên JIRA
- Tham gia họp báo cáo tiến độ vào cuối ngày
Kết quả:
Trang 11Nắm được các bug có thể fix mà không cần confirm lại với khách hàng và các bug cần confirm
2.4 Thực hiện fix bug loại A và viết Q&A cho các bug loại B
Thời gian: 45 ngày (9 tuần)
Nội dung:
- Mỗi ngày các thành viên được giao task fix 1-3 bug tùy vào độ khó do PM estimate hoặc task phân tích và viết Q&A cho bug loại B khi số lượng bug loại A gần hết
Thực hiện:
- Tham gia buổi họp với khách hàng vào đầu ngày để báo cáo tiến độ và hỏi 1 số câu Q&A trực tiếp
- Tham gia buổi họp nội bộ sau buổi họp với khách hàng để báo cáo tiến độ của task ngày hôm trước, đọc trả lời Q&A của khách hàng để chuyển bug loại B thành loại A
- Thực hiện fix bug trong thời gian còn lại, với task fix bug, thực hiện theo qui trình sau:
1 Pull source mới nhất và lock file source trên SVN
2 Thực hiện chỉnh sửa file source
3 Đối với những chỉnh sửa cần thay đổi cấu trúc cơ sở dữ liệu (thêm một trường vào bảng, xóa một trường khỏi bảng
4 Chụp evidence các chỗ chỉnh sửa
5 Viết testcase
6 Upload file evidence và testcase lên JIRA
7 Push source đã chỉnh sửa và unlock file source trên SVN
Quy trình khi thực hiện fix bug phức tạp do tính chất file source của Access chỉ có một file duy nhất, không thể thực hiện chỉnh sửa cùng lúc, phải chụp evidence để có thể truy vết lại khi có vấn đề phát sinh
- Với task viết Q&A: các thành viên phân tích và đặt Q&A cho khách hàng, sau đó upload tài liệu lên JIRA, anh BA sẽ dịch tài liệu và gửi cho khách hàng
Nguyễn Hoài Thu
Trang 12Kết quả: Dự án kết thúc, cả team hoàn thành task đúng tiến độ đã commit với khách
hàng và được khách hàng đánh giá tốt
3 Onsite dự án java ở INTEC Vietnam
Thời gian: 10 ngày (2 tuần)
Nội dung: Trong giai đoạn này, do công ty không có dự án thích hợp, em được onsite ở
công ty INTEC Vietnam, thực hiện dự án website được viết bằng java trong 2 tuần Các task được giao khá đơn giản: chỉnh sửa giao diện (thêm/xóa các thuộc tính hiển thị, đổi text hiển thị,…), sửa các câu lệnh truy vấn (thêm/xóa các thuộc tính cần lấy, thay đổi điều kiện truy vấn), sửa các stored procedure trong SQL Server,…
Thực hiện: Mỗi ngày lên công ty khách hàng, đọc và thực hiện chỉnh sửa source /
database theo tài liệu được viết bằng tiếng Nhật, push code lên git, viết testcase và upload lên redmine
Kết quả: Hoàn thành hết các task được giao trước tiến độ, support chị PM viết testcase
cho dự án khác trong khoảng thời gian onsite còn lại
4 Hỗ trợ dịch thuật và tự học ReactJs
Thời gian: 15 ngày (3 tuần)
Nội dung: Do em đã báo công ty xin nghỉ sau tháng 2 do lịch học trong học kì 2
2019-2020 khá nhiều (phải lên trường 3 ngày trong tuần) nên công ty không xếp em vào các
dự án mới Trong khoảng thời gian này, hỗ trợ dịch các tài liệu của dự án khác và tự học Reactjs
Thực hiện:
- Nhận tài liệu tiếng Nhật và dịch sang tiếng Việt
- Khi không có tài liệu cần dịch, đọc tài liệu về ReactJs để củng cố kiến thức
5 Lịch làm việc
Trang 13độ hoàn thành
hướng dẫn
1
- Tìm hiểu công ty và
các kỹ năng cơ bản trong công ty
Chị Nga, Chị Tâm
2
- Nghiên cứu công
nghệ sử dụng Microsoft Access / VBA
- Thiết lập môi
trường
- Phân tích tổng quan
danh sách bug
Anh Trần Hoài Nam, anh Huỳnh Ngọc Vinh
3-12
- Thực hiện fix bug
loại A và viết Q&A cho các bug loại B
Anh Trần Hoài Nam, anh Huỳnh Ngọc Vinh, anh Trương Văn Vũ 13-14
- Onsite dự án java ở
INTEC Vietnam
Anh Ngọc Đức, anh Huỳnh Ngọc Vinh
15-17
- Hỗ trợ dịch thuật và
tự học ReactJs
Anh Trần Hoài Nam, anh Huỳnh Ngọc Vinh
Nguyễn Hoài Thu
Trang 14TÀI LIỆU THAM KHẢO
https://www.cmc.com.vn/cmc-global
For Access
https://docs.microsoft.com/en-us/office/vba/api/overview/access
For ReactJs
https://reactjs.org/docs/getting-started.html
Trang 15TỔNG KẾT
Như vậy, chỉ trong vòng vài tháng ngắn ngủi, nhờ sự giúp đỡ của các anh chị trong công
ty CMC Global, em đã có những kinh nghiệm hết sức mới mẻ và quý báu Những kinh nghiệm
ấy đã góp phần giúp cho em có được cái nhìn chi tiết hơn về ngành nghề này cũng như bước đầu hình thành lộ trình tương lai của bản thân
Em xin gửi lời cảm ơn chân thành đến anh Trần Hoài Nam, người đã hướng dẫn tận tình khi em mới vào công ty, anh Huỳnh Ngọc Vinh, người đã luôn giúp em giải quyết các khó khăn trong quá trình thực hiện dự án và các anh chị trong công ty CMC Global
Nguyễn Hoài Thu