Microsoft Word 19522018 BùiThanhPhú SE501 N11 PMCL docx 1 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH ĐẠ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 LẬP TRÌNH VIÊN ỨNG DỤNG DI ĐỘNG Cô[.]
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH ĐẠ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 LẬP TRÌNH VIÊN ỨNG DỤNG DI ĐỘNG Cơng ty thực tập: CƠNG TY TNHH MLTECH SOFT Người phụ trách: Phan Lê Hợp Đức Lớp: SE501.N11.PMCL Thực tập sinh: Bùi Thanh Phú - 19522018 TP Hồ Chí Minh, tháng 12 năm 2022 NHẬN XÉT CỦA KHOA MỤC LỤC CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP I Giới thiệu chung công ty II Lĩnh vực hoạt động III Môi trường làm việc CHƯƠNG 2: NỘI DUNG THỰC TẬP I II III Tổng quan chương trình thực tập Tổng quan .9 Vị trí thời gian thực tập Các nhiệm vụ giao Những kiến thức học 10 Agile 10 tuyên ngôn Agile .10 12 nguyên tắc Agile 10 Scrum 11 trụ cột Scrum 12 Các công cụ Scrum .13 Quy trình Scrum 13 GitLab .14 Tổng quan GitLab 14 Lợi ích sử dụng GitLab 14 Lý nên sử dụng 15 Công cụ kiểm thử API Insomnia 16 Lợi ích cơng cụ kiểm thử API .16 Ưu điểm Insomnia .16 Ngôn ngữ Dart – Cross-flatform Flutter 17 Dart 17 Flutter 18 Khái niệm 18 Tính 18 Kotlin 19 Ưu điểm .19 Các dự án tham gia 19 LEAD with LOF(đã phát hành phát triển) 19 Nhiệm vụ sinh viên giao .19 Chi tiết trình 20 Digisale(đã phát hành) 23 Nhiệm vụ sinh viên giao .25 Chi tiết trình 25 Kun Làm việc tốt Version 26 Nhiệm vụ sinh viên giao .26 Chi tiết trình 28 CHƯƠNG 4: KẾT QUẢ ĐẠT ĐƯỢC QUA ĐỢT THỰC TẬP 30 I Kết thu 30 II Các điểm yếu thân 31 III Cảm nhận công ty 31 LỜI NĨI ĐẦU Q trình học tập đại học giúp sinh viên có kiến thức lý thuyết thực hành Tuy nhiên, với khối lượng kiến thức học chưa đủ để sinh viên áp dụng vào việc làm thực tế Vì thế, để đáp ứng yêu cầu doanh nghiệp tham gia tuyển dụng, nhà trường tạo điều kiện cho sinh viên tiếp xúc trực tiếp với doanh nghiệp ngồi ghế nhà trường để tìm hiểu làm quen với cơng việc thực tế Thơng qua để hiểu rõ cách điều hành hoạt động doanh nghiệp Trong thời gian thực tập Công ty TNHH MLTech Soft, em tiếp thu nhiều kiến thức kỹ năng, tư logic tư lập trình Song song em có hội làm quen, thực đóng góp kiến thức mà thân em học tập q trình thực tập cơng ty, hiểu quy trình làm việc cách quản lý cơng việc cách hiệu Ngồi kiến thức chun mơn, em cịn rèn luyện tinh thần trách nhiệm công việc, khả chịu áp lực với công việc, kỹ mềm giao tiếp, làm việc nhóm thành viên dự án, quản lý thời gian làm việc cách có hiệu Qua thời gian tìm hiểu thực hành thực tế, em xây dựng cho thân quy trình làm việc trình tự LỜI CẢM ƠN Lời đầu tiên, em xin gửi lời cảm ơn sâu sắc đến tất Thầy/Cô khoa Công nghệ Phần Mềm nói riêng trường Đại học Cơng nghệ Thơng tin – Đại học quốc gia TPHCM nói chung tận tình dạy em kiến thức cần thiết tạo điều kiện cho em tiếp xúc với môi trường doanh nghiệp, giúp em tự tin Tiếp đến, em xin trân thành gửi lời cảm ơn đến Công ty TNHH MLTech Soft tạo điều kiện cho em có hội thực tập cơng ty Chỉ thời gian ngắn, nhờ dẫn anh Phan Lê Hợp Đức số anh chị khác, em tiếp thu kiến thức quan trọng kĩ năng, tư lập trình kiến thức liên quan cách thức hoạt động doanh nghiệp Chân thành cảm ơn anh chị dành nhiều thời gian, cơng sức q báu để hướng dẫn em hồn thành chương trình thực tập Em xin chân thành cảm ơn! Bùi Thanh Phú TP Hồ Chí Minh, tháng 12 năm 202 CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP I - Giới thiệu chung công ty Tên đơn vị: Công ty TNHH MLTECH SOFT Trụ sở chính: Tầng 4, tồ nhà C6, 268 Lý Thường Kiệt, phường 14, quận 10, TP Hồ Chí Minh Trang web: https://mltechsoft.com/ Email: contact@mltechsoft.com Điện thoại: +84 976 837 364 Thời gian làm việc: Thứ đến thứ 6: 08h30 - 17h30 Được thành lập vào năm 2020 với đội ngũ sáng lập dày dặn kinh nghiệm chuyên môn lĩnh vực chuyển đổi kỹ thuật số doanh nghiệp Đứng trước sóng chuyển giao cơng nghệ mạnh mẽ thời đại mới, MLTECH SOFT nhận thấy xu tất yếu việc áp dụng công nghệ số hệ thống thông tin doanh nghiệp Từ đó, MLTECH SOFT trọng vào đào tạo xây dựng đội ngũ nhân lực tài năng, trẻ, sáng tạo động với xuất thân từ nhóm nghiên cứu phịng thí nghiệm trọng điểm kỹ thuật hệ thống, IoT, công nghệ thông tin,… nhằm đáp ứng nhu cầu không ngừng gia tăng thị trường Hình 1.1: Logo Cơng ty TNHH MLTech Soft - Với tầm nhìn trở thành đơn vị hàng đầu lĩnh vực tư vấn cung cấp giải pháp phần mềm phục vụ chuyển đổi số cho doanh nghiệp FMCG, MLTECH SOFT không ngừng nghiên cứu, phát triển hồn thiện giải pháp Tích hợp cơng nghệ kỹ thuật số vào quy trình vận hành quản lý doanh nghiệp; Số hóa hệ thống mơ hình kinh doanh thơng qua phần mềm ứng dụng; Ứng dụng cơng nghệ IoT phân tích liệu; - Giá trị cốt lõi mà MLTECH SOFT muốn mang lại cho khách hàng tận tâm tư vấn phát triển giải pháp, với đội ngũ trẻ giàu sức sáng tạo II - Lĩnh vực hoạt động Với sản phẩm cốt lõi tảng vận hành nhà máy số DigiMake, MLTECH SOFT cung cấp công cụ tối ưu giúp doanh nghiệp sản xuất đo lường hiệu suất (OEE), giám sát thơng số, máy móc, sản lượng,… - Đặc biệt, MLTECH SOFT cịn nhanh chóng bắt kịp xu hướng phát triển ngành phần mềm Việt Nam Khi mà tình hình dịch bệnh COVID-19 diễn biến phức tạp, nhu cầu chuyển đổi số số hóa doanh nghiệp thúc đẩy liên tục MLTECH SOFT đón đầu xu mang đến giải pháp phần mềm dịch vụ phát triển phần mềm Bên cạnh đó, MLTECH SOFT cịn cung cấp vài tảng bổ trợ hoạt động doanh nghiệp DigiSale – tảng quản lý bán hàng, DigiSign – tảng số hóa văn phịng,… - MLTECH SOFT hỗ trợ doanh nghiệp FMCG ứng dụng công nghệ tăng trưởng thời đại kinh tế số, giúp cho doanh nghiệp ứng dụng hiệu công nghệ để đáp ứng nhu cầu thay đổi nhanh chóng thị trường III Môi trường làm việc - Môi trường làm việc trẻ trung, động, sáng tạo, hoà đồng Đồng nghiệp thân thiện, tốt bụng, giúp đỡ lẫn CHƯƠNG 2: NỘI DUNG THỰC TẬP I Tổng quan chương trình thực tập Tổng quan Sinh viên tham gia tập định hướng đào tạo theo chuẩn đầu vào công ty kiến thức ngôn ngữ Dart, ngôn ngữ Kotlin, Platform Flutter làm việc công cụ thiết kế Figma Ngồi kiến thức chun mơn, chương trình đào tạo cho thực tập sinh kỹ mềm như: kỹ làm việc nhóm, kỹ giao tiếp, kỹ trình bày, kỹ hồ nhập với môi trường doanh nghiệp Thực tập sinh tham gia tập có quyền lợi như: - Tham gia khoá đào tạo nội - Tham gia kiện cơng ty - Có hội tham gia vào dự án công ty q trình thực tập - Có hội trở thành nhân viên thức Chương trình thực tập kéo dài 12 tuần Vị trí thời gian thực tập - Vị trí thực tập: Lập trình viên ứng dụng di động - Thời gian thực tập: 01/06/2022 – 01/09/2022 - Thời gian làm việc công ty: o Thực tập part-time: tham gia làm việc ngày/tuần § Sáng: từ 8h30 – 12h00 § Chiều: từ 13h00 – 17h30 Các nhiệm vụ giao - Học kiến thức Dart, Kotlin, Flutter, Git, Insomnia - Học cách sử dụng Jira để quản lý, theo dõi task - Học mơ hình làm việc Agile – Scrum - Tham gia dự án lập trình ứng dụng di động flatform Flutter (1 dự án có ứng dụng di động) nhằm áp dụng kiến thức học phát triển khả teamwork II Những kiến thức học Agile Agile phuơng pháp phát triển phần mềm linh hoạt, hướng tiếp cận cụ thể cho việc quản lý dự án phần mềm Nó gồm q trình làm việc tương tác tích hợp để đưa sản phẩm đến tay người dùng nhanh tốt Những phương pháp phát triển phần mềm theo cách truyền thống ngày bộc lộ nhiều nhược điểm tỷ lệ dự án thất bại cao thời kỳ bùng phát ngành công nghệ Nhận vấn đề đó, số cá nhân cơng ty riêng lẻ đưa phương pháp phát triển phần mềm đại khác để thích ứng với tình hình tun ngơn Agile - Cá nhân tương tác quy trình công cụ - Phần mềm chạy tốt tài liệu đầy đủ - Cộng tác với khách hàng đàm phán hợp đồng - Phản hồi với thay đổi bám theo kế hoạch 12 nguyên tắc Agile - Thoả mãn yêu cầu khách hàng thông qua việc giao hàng sớm liên tục - Giao phần mềm chạy cho khách hàng cách thường xuyên - Chào đón việc thay đổi yêu cầu, chí thay đổi yêu cầu muộn - Nhà kinh doanh kỹ sư lập trình phải làm việc hàng ngày suốt dự án - Các dự án xây dựng xung quanh cá nhân có động lực Cung cấp cho họ mơi trường hỗ trợ cần thiết tin tưởng họ để hồn thành cơng việc - Trao đổi trực tiếp mặt đối mặt phương pháp hiệu để truyền đạt thông tin - Hần mềm chạy thước đo tiến độ - Phát triển bền vững trì nhịp độ phát triển liên tục 10 - Dễ gần: dart quen thuộc với nhiều nhà phát triển có, nhờ vào cú pháp định hướng đối tượng khơng gây ngạc nhiên Nếu bạn biết C++, C # Java, bạn làm việc hiệu với Dart sau vài ngày - Reactive Dart: phù hợp với lập trình Reactive, với hỗ trợ để quản lý đối tượng tồn thời gian ngắn, chẳng hạn widget UI, thông qua phân bổ đối tượng nhanh GC Dart hỗ trợ lập trình khơng đồng thơng qua tính ngơn ngữ API sử dụng đối tượng Future Stream Flutter Khái niệm Flutter tảng phát triển ứng dụng đa tảng cho iOS Android Google phát triển sử dụng để tạo ứng dụng cho Google Flutter gồm thành phần quan trọng: - Một SDK (Software Development Kit): Một sưu tập công cụ giúp bạn phát triển ứng dụng Điều bao gồm cơng cụ để biên dịch mã bạn thành mã máy gốc (mã cho iOS Android) - Một Framework (UI Library based on widgets): Một tập hợp thành phần giao diện người dùng (UI) tái sử dụng (button, text inputs, slider, v.v.) giúp bạn cá nhân hóa tùy theo nhu cầu riêng Tính - Sử dụng ngơn ngữ lập trình Dart đơn giản dễ học - Phát triển ứng dụng nhanh - Giao diện người dùng đẹp linh hoạt - Hỗ trợ nhiều widget khác - Thể UI nhiều tảng - Ứng dụng có hiệu cao 18 Kotlin Kotlin ngơn ngữ lập trình phát triển JetBrains Nó xuất lần đầu năm 2011 JetBrains công bố dự án họ mạng tên "Kotlin" Đây ngôn ngữ mã nguồn mở Về bản, Java, C hay C++ , Kotlin "ngơn ngữ lập trình kiểu tĩnh" Nghĩa biến không cần phải định nghĩa trươc sử dụng Kiểu tĩnh thực việc kê khai nghiêm ngặt khởi tạo biến trước chúng sử dụng Ưu điểm Kotlin sử dụng tất tảng thư viện Java có Kotlin mã nguồn mở Kotlin dễ học dễ tiếp cận Null-safety Kotlin Review code khơng cịn vấn đề III Các dự án tham gia LEAD with LOF(đã phát hành phát triển) Ứng dụng ứng dụng hướng nghiệp nhằm giúp học sinh từ 13 đến 18 tuổi khám phá loại tính cách họ, tìm hiểu nghề nghiệp phù hợp với đặc điểm tham gia cộng đồng với người khác có loại tính cách Nó cung cấp buổi seminar workshop chuyên gia ngành giảng dạy, kết nối bạn với chuyên gia tư vấn, người giúp bạn giải nghi ngờ nghề nghiệp chọn Ứng dụng sử dụng để quảng bá Malto, nhãn hiệu sữa IDP Nhiệm vụ sinh viên giao - Dùng ngôn ngữ Dart framework Flutter để xây dựng ứng đa tảng chạy Android IOS - Hoàn thiện task giao(code giao diện, logic gọi API,…) 19 Ứng dụng App Store Ứng dụng Google Play Store Chi tiết trình Tuần Nội dung thực tập Người hướng dẫn Tuần - Tìm hiểu cơng ty, cách tổ chức công ty - Làm quen với cách làm việc theo mơ hình Agile cơng ty Anh Phan Lê Hợp Đức(Product Manager) Anh Nguyễn Bang(Tech Lead) - Làm quen với công cụ làm việc công ty (kênh chat trực tuyến công ty - WhatsApp, công cụ quản lý dự án – JIRA) - Cài đặt môi trường để chuẩn bị cho dự án 20 Tuần - Tìm hiểu Dart, Flutter - Tìm hiểu Web service, Web Api, RESTful API - Tìm hiểu Git tool liên quan tới Git - Tìm hiểu Insomnia - Chia nhỏ dự án LwL thành backlog để dễ theo Tuần dõi tiến độ công việc 3, - Hoàn thành task giao(chức trắc Tuần nghiệm Holland) - Tham gia daily standup ngày: báo cáo công việc mà hôm qua thân làm hơm làm gì, thắc mắc điểm - Tham gia buổi họp sprint Review sprint Retrospective Các buổi họp planning trao đổi với bên 21 Giới thiệu test Giao diện test 22 Hoàn thành test Kết test Digisale(đã phát hành) Tạo quản lý thông tin khách hàng riêng bạn Ứng dụng giúp người dùng nhắc nhở người đặt lịch chăm sóc khách hàng bạn (tần suất ghé thăm ngày tuần) thay sử dụng sổ tay vật lý Có thể đánh dấu bỏ đánh dấu khách hàng truy cập Thông báo cho người dùng việc truy cập đến cần thực (Tính tương lai) 23 Người dùng chụp ảnh up ảnh chụp có liên quan đến khách hàng (bill đơn hàng, sản phẩm họ mong muốn, ) dựa yêu cầu nghiệp vụ người dùng Tạo quản lý đơn đặt hàng, sản phẩm chương trình khuyến doanh nghiệp Theo dõi KPI doanh nghiệp, thành tích bạn dựa đơn hàng, tiền sản phẩm Nhận báo cáo, lưu chia sẻ chúng với Ứng dụng Google PlayStore Ứng dụng AppStore 24 Nhiệm vụ sinh viên giao - Dùng ngôn ngữ Dart framework Flutter để fix bug chỉnh sửa số chức chấm cơng, tính chọn tìm kiếm địa từ GoogleMap chức khuyến mãi(dự kiến) Đăng nhập Báo cáo KPI Viếng thăm Chi tiết trình Tuần Nội dung thực tập Người hướng dẫn Anh Hoàng Ngọc Tuấn Khoa(Product Manager) Tuần - Tìm hiểu GitLab - Đọc sourcecode dự án - Tìm hiểu Bloc-Cubit 25 Tuần - Fix bug cho app code chức chọn tìm kiếm địa GoogleMap - Sửa đổi, test chức khuyến Tuần 7, Tuần Kun Làm việc tốt Version Em Làm Việc Tốt ứng dụng khuyến khích làm việc tốt dành cho bé từ đến 11 tuổi với nội dung thiết kế Hội đồng Đội Trung Ương công ty Cổ phần Sữa Quốc Tế IDP Với Làm Việc Tốt, bé giáo dục làm việc tốt thông qua danh sách hoạt động thiết kế gần gũi, thực tế, gắn liền với hoạt động ngày bé Từ việc tốt đơn giản Đi học giờ, Giúp đỡ cha mẹ, bé rèn luyện, thực hành phát triển tinh thần “làm việc tốt” từ nhỏ Nhưng chắn, với độ tuổi thiếu nhi bé, đồng hành cha mẹ bậc phụ huynh điều thiếu Cha mẹ người bé, trở thành người dẫn dắt theo dõi bé làm việc tốt ngày Nhiệm vụ sinh viên giao - Dùng ngôn ngữ Kotlin để thiết kế chức liên quan - Hoàn thiện task giao(code giao diện, logic gọi API,…) 26 Ứng dụng Google Play Store 27 Ứng dụng App Store Chi tiết trình Tuần Nội dung thực tập Người hướng dẫn Anh Phan Lê Hợp Tuần Đức(Product Manager) Anh Nguyễn - Code file giao diện từ Figma sang file Bang(Tech Lead) Tuần 10,11,12 Xml - Đọc source code, tìm hiểu cách triển khai mơ hình - Code chức gọi API liên quan đến Giao diện home cũ Giao diện home 28 Giao diện Kun Tươi vui Giao diện Kun Học tốt 29 CHƯƠNG 4: KẾT QUẢ ĐẠT ĐƯỢC QUA ĐỢT THỰC TẬP I Kết thu Trải nghiệm quy trình làm việc từ đầu đến cuối dự án thực tế theo mơ hình làm việc Agile Trau dồi nhiều kiến thức: - Có kiến thức Dart/Flutter Kotlin - Có thể sử dụng công cụ thiết kế Figma - Có thể sử dụng Git đầy đủ - Có thể sử dụng Insomnia REST API Client Postman - Có thể sử dụng JIRA để quản lý cơng vi Hiểu nguyên tắc xây dựng phần mềm từ ý tưởng đến việc phân tích đưa ý tưởng thành thực Trải qua tháng thực tập đầy bổ ích, ngồi kiến thức chun mơn, trải nghiệm thực tế, em trau dồi nhiều kỹ làm việc môi trường doanh nghiệm mà em phải sử dụng nhiều sau Được làm việc chung đến anh, chị, bạn đồng nghiệp thân thiện, trẻ trung, hồ đồng giúp em học hỏi kỹ cách làm việc người Với quy trình làm việc rõ ràng với giám sát quản lý người có chun mơn tốt, môi trường làm việc chuyên nghiệp giúp thân em có kỷ luật học hỏi nhiều 30 II Các điểm yếu thân Lần đầu tham gia thực tập, làm việc môi trường thực tế, có chuẩn bị mặt tâm lý lẫn kiến thức từ trước tránh bỡ ngỡ giấc quy trình làm việc mơi trường III Cảm nhận công ty Cơ sở vật chất tốt, phịng rộng rãi, thống mát, thoải mái, Thiết bị, máy móc hiệu làm việc cao, đường truyền internet mạnh Đội ngũ phụ trách hướng dẫn giảng dạy thực tập đa dạng, vô tận tâm nhiệt tình, trình độ chun mơn cao, hịa đồng, vui vẻ 31 TÀI LIỆU THAM KHẢO [1] “GitLab Documentation,” docs.gitlab.com https://docs.gitlab.com/ [2] “Flutter documentation,” docs.flutter.dev https://docs.flutter.dev/ [3] “Dart documentation,” Dart.dev, 2019 https://dart.dev/guides [4] K Schwaber and J Sutherland, “The Scrum GuideTM The Definitive Guide to Scrum: The Rules of the Game,” 2013 [Online] Available: https://scrumguides.org/docs/scrumguide/v1/Scrum-Guide-US.pdf [5] “Kotlin documentation,” docs.kotlin.org https://kotlinlang.org/docs/home.html ... ty q trình thực tập - Có hội trở thành nhân viên thức Chương trình thực tập kéo dài 12 tuần Vị trí thời gian thực tập - Vị trí thực tập: Lập trình viên ứng dụng di động - Thời gian thực tập: ... thời gian thực tập Công ty TNHH MLTech Soft, em tiếp thu nhiều kiến thức kỹ năng, tư logic tư lập trình Song song em có hội làm quen, thực đóng góp kiến thức mà thân em học tập trình thực tập cơng... - Học mơ hình làm việc Agile – Scrum - Tham gia dự án lập trình ứng dụng di động flatform Flutter (1 dự án có ứng dụng di động) nhằm áp dụng kiến thức học phát triển khả teamwork II Những kiến