Sự phát triển của các mô hình theo hướng lặp, tập trung vào việc giao cho khách hàng một sản phẩm trong thời gian nhanh nhất, sau đó cải thiện dần sản phẩm đó đã tạo điều kiện cho các qu
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
Báo cáo thực tập Xây dựng phầm mềm hỗ trợ quản lí nhân sự
với nestjs, nextjs và flutter.
Công ty thực tập : Công ty TNHH giải pháp phầm mềm watasolutions Người phụ trách : Ngô Vũ Quyền
Trang 2TP Hồ Chí Minh, tháng 6 năm 2022
Trang 3LỜI MỞ ĐẦU
Trong thời điểm mà ngành công nghệ thông tin nói chung và phát triển phần mềm nói riêng đang phát triển với tốc độ chưa từng có tiền lệ Nhu cầu cho các sản phẩm phần mềm thuộc nhiều lĩnh vực càng ngày càng tăng
Để đáp ứng được với những nhu cầu ngày càng dồn dập này Ngành phát triển phần mềm đã phải dần dần áp dụng những quy trình làm việc cho năng suất cao hơn Đã từ lâu mô hình thác nước được cho là lỗi thời Sự phát triển của các mô hình theo hướng lặp, tập trung vào việc giao cho khách hàng một sản phẩm trong thời gian nhanh nhất, sau đó cải thiện dần sản phẩm đó đã tạo điều kiện cho các quy trình phát triển phần mềm theo nguyên tắc Agile Trong đó Scrum là một trong những quy trình phổ biến và hiệu quả nhất
Sau ba năm học tập trên trường, do mong muốn có thêm kinh nghiệm thực tế Cũng như mong muốn được học về những quá trình phát triển phần mềm trong môi trường chuyên nghiệp của một công ty Vì vậy em quyết định chọn Fujinet, một trong những công ty nhiều truyền thống về sản phẩm phần mềm và đang tiếp tục phát triển, để làm nơi thực tập
Trang 4LỜI CẢM ƠN
Trân trọng gửi lời cảm ơn Công ty Giải pháp phần mềm Watasolutions đã tạo điều kiện cho em có cơ
hội được thực tập tại công ty Chỉ trong một thời gian ngắn, nhưng nhờ sự chỉ dẫn nhiệt tình của nhóm trainer, em đã tiếp thu được những kiến thức quan trọng để có thể làm được một phần mềm theo quy trình phát triển Scrum Chân thành cảm ơn các anh chị trong nhóm trainer đã bỏ ra nhiều thời gian,công sức để hướng dẫn chúng em
hoàn thành đợt thực tập này Đặc biệt cảm ơn anh Ngỗ Vũ Quyền, đã tập huấn cho em về quy trình phát triển phần mềm Scrum, cũng như các kỹ thuật và công nghệ kiểm thử, cũng như những khó khăn việc làm quen với môi trường mới; cảm ơn anh Polo, đã nhiệt tình giúp đỡ khi em gặp một số vấn đề về quy trình làm việc từ xa để có thể
làm ra một sản phẩm trong thời gian qua 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
<Hà Minh Hiệu>
<TpHCM, ngày 15 tháng 6 năm 2022>
Trang 5NHẬN XÉT CỦA KHOA
Trang 6
MỤC LỤC
MỤC LỤC 1
Chương 1: Giới thiệu công ty thực tập 2
Giới thiệu về công ty Watasolution 2
Sản phẩm của công ty 2
Chương 2: Nội dung thực tập 3
Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 3
Nghiên cứu kỹ thuật 3
Thực hiện project 7
Lịch làm việc 7
Chương 3: Chi tiết về project 9
Giới thiệu về project 9
Thực hiện 11
Kế hoạch 11
TÀI LIỆU THAM KHẢO 13
TỔNG KẾT 14
Trang 7Chương 1: Giới thiêu công ty thực tập
1 Giới thiệu công ty watasolutions
WATA Solutions là một trong những công ty hàng đầu về Dịch vụ Giải pháp Phần mềm có trụ sở tại Thành phố Hồ Chí Minh Đến với công ty wata, khách hàng sẽ có
cơ hội làm việc với những thành viên trẻ trung, năng động, tài năng Khách hàng/Đối tác của chúng tôi đến từ Bắc Mỹ, Úc, Châu Âu, Nhật Bản, Singapore và Hàn Quốc Chúng tôi đang tìm kiếm ứng viên Kỹ Sư Cầu Nối (BrSE) cho các dự án mới của công ty, người sẽ chịu trách nhiệm thực hiện các công việc liên quan
2 Lĩnh vực liên quan
Phát triển và xuất khẩu phần mềm
Cung cấp giải pháp phần mềm
Trang 8Chương 2: Nội dung thực tập
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 : Giới thiệu về công ty, cách tổ chức của công ty
Thực tập viên được biết về các chức vụ chính trong công ty, các con đường mà lập trình viên
có thể lựa chọn để thăng tiến tại công ty Cũng như các thông tin khác được người hướng
dẫn cung cấp khi thực tập viên có thắc mắc
Kết quả : Kết thúc thời gian tìm hiểu, em đã có hiểu biết sơ bộ về tổ chức nhân sự của Công
ty Fujinet Giúp cho bản thân tự vạch ra được hướng đi để có thể thăng tiến trong ngành kỹ thuật phần mềm
2 Nghiên cứu kĩ thuật
Thời gian: 1 ngày
Nội dung: : Giới thiệu về một số công cụ được sử dụng trong công ty thông qua gặp mặt
trên Google Meet Các công cụ nội bộ bao gồm: Trình gửi Email, trình quản lý công việc, dịch vụ hỗ trợ về công nghệ, hệ thống làm việc từ xa, hệ thống nhắn tin thời gian thực nội bộ
Kết quả: Kết thúc thời gian tìm hiểu, em đã có hiểu biết sơ bộ cũng như cách thức sử dụng
các phần mềm và hệ thống được dùng trong nội bộ công ty Tạo điều kiện cho thực tập viên
có thể giao tiếp hiệu quả hơn với người hướng dẫn
2.1 Công cụ sử dụng
Jira: là công cụ để quản lý dự án, kiểm soát và theo dõi các vấn đề xảy ra
trong dự án, quản lý các phản hồi từ phía người sử dụng
Slack: là một ứng dụng làm việc nhóm giúp team làm việc cùng nhau hiệu
quả hơn với sự tương tác, trao đổi qua khung chat linh hoạt Slack lại tập
trung phát triển các tính năng giúp việc tương tác nhóm mạnh mẽ, gắn kết
hơn Không giống email, các hội thoại trên phần mềm dễ tìm kiếm và theo
dõi tại mỗi nhóm/dự án, các thành viên có thể gọi, trao đổi, chia sẻ dữ liệu,
các tệp và kết nối với các ứng dụng khác do có mở cổng API trên phần
mềm
Google meeting: phục vụ cho việc làm việc online
2.2 Framework
Thời gian: 2 tuần
Nestjs: framework để build server sử dụng typescriptm nodejs graphql , etc…
Docker: software packaging
NextJs: Building web application using typescript
Flutter: Building mobile applications using dart
2.3 Tìm hiểu về scrum
Thời gian: 2 ngày
Thời gian: 1 ngày Nội dung: Thực tập viên tự tìm hiểu về quy trình phát triển phần mềm Scrum cũng như các nguyên tắc phát triển phần mềm Agile Một số khái niệm điển hình có thể kể đến như sau
Trang 9- Scrum: là một quy trình phát triển phần mềm theo phương pháp Agile, vì thế nó tuân thủ các nguyên tắc của Agile Scrum dựa trên 3 chân lý: Minh bạch, thanh tra và thích nghi
- Sprint: Quy trình phát triển được thực hiện thông qua các phân đoạn nối tiếp nhau được gọi
là các Sprint Kết thúc mỗi sprint nhóm phát triển sẽ đưa ra 1 phần tăng trưởng của sản phẩm Mỗi sprint diễn ra trong vòng không quá 4 tuần được diễn ra liên tiếp mà không bị gián đoạn 1 sprint này bắt đầu ngay sau khi 1 sprint khác kết thúc
- Scrum master: là người có hiểu biết sâu sắc về scrum, đảm bảo nhóm làm việc hiệu quả với scrum Là người tháo gỡ các thắc mắc cho PO, dev, kiểm thử
- Product Owner: chủ sản phẩm: là người chịu trách nhiệm về sự thành công của dự án Là người biết rõ về tầm nhìn của sản phẩm Là người chịu trách nhiệm quản lý và đảm bảo sự minh bạch của product backlog
- Development team: Một nhóm liên chức năng tự quản lý để tiến hành chuyển đổi các yêu cầu được tổ chức trong Product Backlog thành chức năng của hệ thống Đặc điểm của nhóm phát triển là: tự tổ chức và liên chức năng
Các tạo tác từ Scrum bao gồm
- Product backlog: là nơi lưu trữ các danh sách mong muốn của sản phẩm, danh sách này được sắp xếp dựa theo độ ưu tiên của từng hạng mục Độ ưu tiên cao sẽ được đặt lên đầu danh sách
- Sprint backlog: là bảng công việc được nhóm phát triển để quản lý quá trình sản xuất trong
1 sprint
Các hoạt động được thực hiện trong quy trình Scrum là:
- Sprint Planning (Lập kế hoạch Sprint)
- Daily Scrum (Họp Scrum hàng ngày)
- Sprint Review (Rà soát Sprint)
- Sprint Retrospective (Cải tiến Sprint)
Kết quả: Kết thúc thời gian tìm hiểu, thực tập viên có hiểu biết về quy trình phát triển Scrum Tạo điều kiện để lên kế hoạch phát triển hệ thống trong kỳ thực tập này
2.4 Lên kế hoạch thực hiện dự án
Thời gian: 4 giờ
Nội dung: Hướng dẫn viên lập kế hoạch thực hiện dự án theo kiến thức đã tìm hiểu được về Scrum và phổ biến plan cho các thành viên trong team Thực hành: Thực tập viên soạn Product Backlog và Sprint Backlog và người hướng dẫn đánh giá các tạo tác này Đưa ra các gợi ý để thực tập viên có thể cải thiện và chỉnh sửa nếu cần thiết
Kết quả: Kết thúc thời gian tìm hiểu, em đã có hiểu biết sơ bộ về tổ chức nhân sự của Công ty Fujinet Giúp cho bản thân tự vạch ra được hướng đi để có thể thăng tiến trong ngành kỹ thuật phần mềm
2.5 Thực hiện dự án
Planning using ganttchart
Trang 103 Chi tiết dự án
3.1 Giới thiệu về dự án
3.1.1 Ý tưởng
Phần mềm hỗ trợ quản lí nhân viên
3.1.2 Các chức năng chính
Quản lí nhân viên
Quản lí dự án
Trang 11 Quản lí thời gian làm việc Màn hình mẫu dự án
Trang 12TỔNG KẾT
Như vậy sau 24 tuần làm việc với những anh chị trainer Em đã về cơ bản hoàn thành được một trang web học tiếng Anh theo quy trình phát triển Trong quá trình thực hiện, em đã thu lại nhiều bài học quý giá về quá trình phát triển phần mềm, cũng như những kỹ năng làm việc trong môi trường doanh nghiệp Trong một hoàn cảnh đặc biệt đó là thực tập viên phải làm việc từ xa do ảnh hưởng của dịch COVID-19 Mặc dù có một số khó khăn trong việc giao tiếp,
em cũng như các anh chị trainer đã làm việc cùng nhau để quá trình thực tập diễn ra suôn sẻ
Chân thành cảm ơn sự giúp đỡ của các anh chị nhóm trainer watasolutions , sự nỗ lực của nhóm Beast Knight để có thể hoàn thành game này Cảm ơn thầy Nguyễn Hữu Thương đã giúp em hoàn thành bài báo cáo này