TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH KHOA CÔNG NGHỆ PHẦN MỀM BÁO CÁO THỰC TẬP DOANH NGHIỆP LẬP TRÌNH ỨNG DỤNG DI ĐỘNG TRÊN ANDROID (ANDROID DEVELOPER) Công ty thực[.]
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH KHOA CƠNG NGHỆ PHẦN MỀM BÁO CÁO THỰC TẬP DOANH NGHIỆP LẬP TRÌNH ỨNG DỤNG DI ĐỘNG TRÊN ANDROID (ANDROID DEVELOPER) Công ty thực tập: Công ty Cổ phần TVT Group Người phụ trách: Nguyễn Ngọc Tú (Project Manager) Thực tập sinh: Trần Quốc Khánh Tp Hồ Chí Minh, tháng 12 năm 2022 LỜI MỞ ĐẦU Khi cách mạng công nghiệp 4.0 diễn mạnh mẽ toàn giới, phát triển ngành Cơng nghệ thơng tin “chìa khố” cho thay đổi, đóng góp vào lớn mạnh đất nước nhiều lĩnh vực Công nghệ thơng tin ngành có chuyển biến tích cực năm qua triển khai ứng dụng công nghệ thông tin đời sống, xã hội doanh nghiệp Việt Nam trở thành quốc gia có số lượng người dùng internet thuộc top cao giới Chính cơng nghệ thơng tin len lỏi vào đời sống sinh hoạt người dân, giúp nâng cao cải thiện chất lượng sống Trong phải kể đến đóng góp vơ to lớn ứng dụng di động nói riêng thiết bị di động nói chung Nhờ có phát triển khoa học cơng nghệ, chưa người sử dụng điện thoại thông minh lại có nhiều tiện ích phục vụ sống Theo thống kê, nay, cửa hàng ứng dụng Google (Google Play Store) có khoảng 2,87 triệu ứng dụng miễn phí mà người dung tải sử dụng Phần lớn số mang lại lợi ích đáng kể cho người dung, giúp người dung cải thiện sống, gia tăng xuất hiệu cơng việc Bên cạnh đó, ngành Kỹ thuật phần mềm ngành có đóng góp vơ to lớn cho kinh tế tồn cầu Với đặc tính làm việc linh động, dễ dàng làm việc đâu với việc thiệt bị điện tử laptop, điện thoại thông minh (smartphone) ngành trở nên phổ biến Nhờ vào đặc tính đặc biệt đó, ngành Kỹ thuật phần mềm nói chung ngành Lập trình thiết bị di động nói riêng vượt qua đại dịch cách thần kỳ tang trưởng mạnh mẽ Tính đến năm 2023, tảng ứng dụng thiết bị di động thu gần 935 tỷ đô (theo BuildFire) Nhận thấy thú vị tầm quan trọng ứng dụng di động thời điểm tương lai tiếp tục góp phần to lớn vào việc cải thiện sống người Em chọn định hướng cho theo hướng lập trình viên phát triển phần mềm ứng dụng di động tảng mà em chọn để tiếp cận với ngành Android, hệ điều hành vô tiếng phổ biến phát triển Google Trần Quốc Khánh - 19521686 LỜI CẢM ƠN Đầu tiên, em xin gửi lời cảm ơn đến Công ty Cổ phần TVT Group – chi nhánh Hồ Chí Minh tạo điều kiện hội cho em thực tập doanh nghiệp trao dồi thêm kiến thực kinh nghiệm thực tế Trong khoàng thời gian tháng thực tập, em hướng dẫn tận tình từ anh Phạm Hồng Thơng, em học nhiều quy trình phát triển phầm mềm, cách tiếp nhận, xử lý thông tin từ khách hang đặc biệt kỹ phát triển phầm mềm kỹ làm việc nhóm Bên cạnh đó, em học hỏi từ anh chị công ty cách thức giao tiếp, vận hành dự án thực tế Chân thành cảm ơn anh chị giúp đỡ, hướng dẫn chia sẻ kỹ năng, kinh nghiệm suốt thời gian thực tập Cũng xin cảm ơn khoa Công nghệ phầm mềm thầy cô khoa tạo điều kiện, hỗ trợ em báo cáo thực tập, mong em nhận lời đóng góp q thầy, để em hồn thiện tốt Tp Hồ Chí Minh, ngày 27 tháng 12 năm 2022 Trần Quốc Khánh Trần Quốc Khánh - 19521686 NHẬN XÉT CỦA KHOA ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………………………… Trần Quốc Khánh - 19521686 MỤC LỤC LỜI MỞ ĐẦU LỜI CẢM ƠN NHẬN XÉT CỦA KHOA CHƯƠNG 1: GIỚI THIỆU CÔNG TY 1.1 Giới thiệu Công ty Covisoft 1.2 Sản phẩm công ty CHƯƠNG 2: NỘI DUNG THỰC TẬP 2.1 Tìm hiểu công ty kỹ công ty 2.2 Làm quen với dự án 2.3 Nghiên cứu kỹ thuật 2.3.1 Các công cụ làm việc 2.3.2 Tìm hiểu quy trình làm việc công ty 2.3.3 Tìm hiểu Android Studio 2.3.4 Tìm hiểu Kotlin MVVM 2.4 Thực dự án 10 2.5 Lịch làm việc 10 CHƯƠNG 3: CHI TIẾT DỰ ÁN 12 3.1 Giới thiệu Handheld POS 12 3.1.1 Giới thiệu dự án 12 3.1.2 Thực 12 3.1.3 Kết 13 CHƯƠNG 4: TỔNG KẾT 14 Trần Quốc Khánh - 19521686 CHƯƠNG 1: GIỚI THIỆU CƠNG TY Giới thiệu Cơng ty cổ phần TVT Group TVT Group công ty chuyên lập trình phần mềm thị trường Việt Nam, Hàn Quốc, Singapore, Thái Lan Châu Âu Cùng với đội ngũ nhân trẻ nhiệt huyết, công ty phát triển sản phẩm phần mềm cho thị trường châu Âu, Mỹ, Úc, Singapore, Nhật Bản theo hướng out-source hợp tác phát triển sản phẩm Chiến lược phát triển - TVT Group bước hoàn thiện giải pháp nâng cao trình độ kĩ thuật qua sản phẩm để ngày trở nên hồn thiện đáp ứng nhu cầu cao thị trường nước Chính sách chất lượng: - Ln cung cấp sản phẩm dịch vụ tốt nhất, đảm bảo thi công tiến độ, chất lượng, hiệu thoả thuận với khách hàng Không ngừng cải tiến mặt để đạt hoàn hảo sản phẩm dịch vụ cung cấp mối quan hệ với khách hàng khả cạnh tranh Liên tục đào tạo nhằm phát triển nguồn nhân lực, tăng cường đầu tư trang thiết bị kỹ thuật công nghệ thi công đại, nghiên cứu ứng dụng phương thức quản lý hiệu quả, chuyên nghiệp, tiên tiến nhằm đám ứng yêu cầu khách hàng, đối tác Sản phẩm công ty Những lĩnh vực công ty tập trung phát triển: Mobile application (iOS, Android, Window Phone) Embeded System, Navigation/Blackbox System IoT System Server/Web solution Các phần mềm chuyên trí tuệ nhân tạo (AI), xử lý bigdata chuyển đổi số Trần Quốc Khánh - 19521686 CHƯƠNG 2: NỘI DUNG THỰC TẬP Trong trình thực tập với chủ đề “Lập trình thiết bị di động Android”, em ứng tuyển công ty cổ phần TVT Group với vị trí thực tập sinh phát triển phần mềm ứng dụng di động tảng Android (Android Developer Intern) Trong thời gian thực tập vừa qua, em anh chị tạo điều kiện để tiếp xúc với toàn quy trình phát triển hồn thiện ứng dụng di động, với giải pháp tối ưu bảo trì ứng dụng mobile có công ty Đồng thời, phát triển cho thân kỹ mềm cần thiết làm việc nhóm, đặt vấn giải vấn đề, giao tiếp, phân cơng cơng việc, dự tính tiến độ cơng việc thời gian hồn thành Em có hội làm việc, học hỏi trải nghiệm, khám phá mơi trường doanh nghiệp chun nghiệp 2.1 Tìm hiểu công ty kỹ công ty Thời gian: ngày Nội dung: Giới thiệu công ty, cách tổ chức công ty Được thêm vào Trello (Phần mềm quản lý cơng việc dành cho doanh nghiệp) để tìm hiểu quy trình, nội quy, quy định, cách thức làm việc công ty: thời gian làm việc, quy định việc báo cáo cuối ngày, email thông tin liên lạc, trao đổi thông tin công việc qua Skype Ngồi ra, thực tập sinh cịn giới thiệu thành viên team, chức vụ người người hướng dẫn thực tập sinh, trao đổi làm quen với thành viên team Kết quả: Hiểu thêm văn hóa Cơng ty, q trình thành lập, quy trình vận hành phát triển cơng ty Có thêm kỹ việc sử dụng Email, giao tiếp công việc, làm việc có kế hoạch, trách nhiệm, kỹ luật Làm quen với dự án Thời gian: ngày Nội dung: Giới thiệu thông tin dự án, số lượng thành viên tham gia, quy trình phát triển công nghệ sử dụng để phát triển dự án Tiến hành thêm thực tập sinh vào group hướng dẫn cấp quyền cho thực tập sinh truy cập tới source dự án để tham khảo qua móng dự án Đồng thời phổ biến cho thực tập sinh sơ qua business logic dự án module triển khai Trần Quốc Khánh - 19521686 Tìm hiểu Bitbucket, tham khảo source code dự án base project Tìm hiểu Business Logic dự án, hiểu flow dự án giá trị cốt lõi sản phẩm Kết quả: Có thể truy cập vào source code dự án, đọc hiểu architecture dự án design pattern dự án áp dụng Qua thực tập sinh nắm rõ convention cách tổ chức code dự án Nghiên cứu kỹ thuật Các công cụ làm việc Thời gian: ngày Nội dung: Tìm hiểu cơng cụ sử dụng q trình làm việc Trong thời gian này, leader mentor hướng dẫn thực tập sinh tìm hiểu cơng cụ giúp ích q trình thực cơng việc Một số phần mềm là: Trello: cơng cụ quản lý công việc trực quan hỗ trợ nhóm lên ý tưởng, lập kế hoạch, quản lý ăn mừng thành tựu cách hợp tác, hiệu có tổ chức Được sử dụng để chia task (cơng việc) quản lý tiến độ, tính hình dự án theo mơ hình Agile Bitbucket: dịch vụ lưu trữ web dành cho dự án có sử dụng hệ thống kiểm sốt Git/Mercurial revision Bitbucket viết ngơn ngữ lập trình Python xây dựng tảng Django Framework.Là công cụ quản lý source code dự án công ty, với trực quan nhiều tính Android Studio: IDE thông dụng phổ biến cho lập trình viên phát triển ứng dụng Mobile Là mơi trường phát triển tích hợp (IDE) thức để phát triển ứng dụng Android, dựa IntelliJ IDEA Ngoài trình soạn thảo mã cơng cụ phát triển mạnh mẽ IntelliJ, Android Studio cung cấp thêm nhiều tính giúp bạn nâng cao suất xây dựng ứng dụng Android Trần Quốc Khánh - 19521686 Figma: Công cụ thiết kế giao diện Skype: Công cụ chat nội bộ, giao tiếp với thành viên team teams liên quan Postman: Công cụ dùng để setup môi trường để test api từ phía Backend Thực hiện: Tìm hiểu sử dụng công cụ kể Kết quả: Hiểu quy trình làm việc cơng cụ cần thiết quy trình cơng ty Tìm hiểu quy trình làm việc cơng ty Thời gian: ngày Nội dung: Tìm hiểu quy trình làm việc theo mơ hình Scrum – Agile Được anh chị team liên quan hướng dẫn, dạy thử tham gia vào quy trình làm việc công ty Thực hiện: Thực hành tham gia vào giai đoạn mơ hình Kết quả: Có thêm kiến thức thực hành nhuần nhuyễn công đoạn quy trình phát triển ứng dụng Tìm hiểu Android Studio Thời gian: ngày Nội dung: Tìm hiểu tính cách sử dụng Android Studio, extensions tiện ích mà Android Studio hỗ trợ Học cách quản lí source code Bitbucket thơng qua Git GUI tích hợp sẵn Android Studio Thực hiện: Thực hành tìm hiểu, liệt kê cơng dụng, nội dung tính thường xun sử dụng Android Studio Kết quả: Có thêm kiến thức bổ ích Android Studio cách sử dụng phát triển phầm mềm ứng dụng di động Tìm hiểu Kotlin MVVM Thời gian: ngày Nội dung: Tìm hiểu lập trình Mobile với Kotlin Thực hiện: Các cú pháp, câu lệnh cở Kotlin Các kiến thức ứng dụng Android Tìm hiểu View, Life Circle, Method base component, library Android Tìm hiểu MVVM pattern: Trần Quốc Khánh - 19521686 o Mơ hình MVVM mơ hình kiến trúc nhiều lập trình viên u thích sử dụng Mơ hình sinh dành cho ứng dụng sử dụng ngôn ngữ XML để định nghĩa giao diện ứng dụng như: Windows Phone 8.0, 8.1, Silverlight, Windows RT View Tương tự mơ hình MVC, View phần giao diện ứng dụng để hiển thị liệu nhận tương tác người dùng Một điểm khác biệt so với ứng dụng truyền thống View mơ hình tích cực hơn, có khả thực hành vi phản hồi lại người dùng thông qua tính binding, command Model Cũng tương tự mơ hình MVC, Model đối tượng giúp truy xuất thao tác liệu thực ViewModel Là lớp trung gian View Model View Model xem thành phần thay cho Controller mơ hình MVC Nó chứa mã lệnh thực Data Binding, Command Một điểm cần lưu ý mơ hình MVVM, tầng bên khơng biết thơng tin tầng Kết quả: Nắm vững kiến thức trả lời câu hỏi Mentor Bên cạnh đó, hiểu cách thức lập trình Kotlin Android cách tổ chức code theo mơ hình MVVM Thực dự án Trong tuần thực tập đầu tiên, hướng dẫn nhiệt tính anh, chị Mentor cố gắng, không ngừng học hỏi, em trang bị kiến thức tảng để xây dựng phát triển ứng dụng mobile Trong thời gian tiếp theo, em công ty cho phép tham gia vào trình xây dựng hỗ trợ cải tiến project công ty Lịch làm việc Tuần Cơng việc Người hướng dẫn Mức độ hồn thành Nhận xét + Tìm hiểu cơng ty + Học hỏi trao đổi qua Skype Email + Sử dụng công cụ Trello để kiểm tra tiến độ công việc Anh Nguyễn Ngọc Tú, Anh Đỗ Văn Được, Anh Phạm Hồng Thơng 100% Đạt 10 Trần Quốc Khánh - 19521686 Từ tuần + Học cách quản lý source code thông qua Git GUI Android Studio + Tìm hiểu kiến thức nâng cao Kotlin Android + Tìm hiểu base component dự án + Tìm hiểu MVVM Pattern Thực Task theo Sprint team Anh Phạm Hồng Thơng 100% Đạt Anh Phạm Hồng Thơng 100% Đạt 11 Trần Quốc Khánh - 19521686 CHƯƠNG 3: CHI TIẾT DỰ ÁN 3.1 Giới thiệu Handheld POS 3.1.1 Giới thiệu dự án Handheld POS phần mềm Point Of Sale giúp quản lý, bán hàng toán trực tiếp thiết bị với tích hợp module đọc thẻ NFC, RFID, EMV, quét mã QR, kết nối máy in nhiệt tích hợp sẵn thiết bị POS hỗ trợ toán chạm, thống kế, lưu đơn hàng 3.1.2 Thực Vai trị: Android Developer Cơng việc: Làm việc theo nhóm thành viên team Tìm hiểu tài liệu, nhận giúp đỡ hỏi đáp từ anh chị Mentor team Chỉnh sửa phần View XML, thiết kế giao diện đơn giản để làm quen với components, convention dự án Chỉnh sửa, thay đổi, tách file thư mực cho hợp lý theo structure dự án Tạo Activity, Fragment từ base component dự án Tạo Adapter cho phần View theo dạng List, kết nối Fragment View theo mơ hình MVVM, tạo interface để khai báo hàm gọi từ Fragment, tạo ViewModel để xử lí logic, dụng binding data để giao tiếp View Fragment, Activity Tìm hiểu cách đọc requirement tài liệu dự án, quy định xây dựng View file XML để phù hợp với design bên khách hang cung cấp 12 Trần Quốc Khánh - 19521686 Báo cáo kết tiến độ công việc hang ngày, tiến hành đổi với anh chị BA để hiểu Business Logic, trao đổi với team QC để giải lỗi phát sinh trình phát triển module 3.1.3 Kết Hồn thành cơng việc giao theo tiến độ 13 Trần Quốc Khánh - 19521686 CHƯƠNG 4: TỔNG KẾT Chỉ sau vòng vài tháng ngắn ngủi, em hoàn thành thời gian thực tập cơng ty, học hỏi tìm hiểu nhiều kiến thức bổ ích q trình thực tập, biết thêm kiến thức, kinh nghiệm dự án thực tế Ngồi ra, em tiếp xúc với mơi trường làm việc chuyên nghiệp, học hỏi cọ xác với dự án khác nhau, phát triển kỹ thân việc lập trình, làm việc nhóm đặc biệt xử lý công việc chuyên nghiệp Bên cạnh đó, em hồn thành tốt, theo yêu cầu cấp giao cho có hội trở thành nhân viên thức Một lần nữa, xin chân thành cảm ơn đến anh chị Team Mobile công ty cổ phần TVT Group tận tình hỗ trợ, giúp đỡ em suốt trình thực tập, bên ngồi Em xin cảm ơn khoa Công Nghệ Phần Mềm tạo hội cho em thực tập, cọ xát, nâng cao trình độ học hỏi kiến thức mơi trường doanh nghiệp 14 Trần Quốc Khánh - 19521686 ... Trong trình thực tập với chủ đề ? ?Lập trình thiết bị di động Android? ??, em ứng tuyển công ty cổ phần TVT Group với vị trí thực tập sinh phát triển phần mềm ứng dụng di động tảng Android (Android. .. Android Studio: IDE thông dụng phổ biến cho lập trình viên phát triển ứng dụng Mobile Là mơi trường phát triển tích hợp (IDE) thức để phát triển ứng dụng Android, dựa IntelliJ IDEA Ngoài trình. .. tìm hiểu, liệt kê cơng dụng, nội dung tính thường xuyên sử dụng Android Studio Kết quả: Có thêm kiến thức bổ ích Android Studio cách sử dụng phát triển phầm mềm ứng dụng di động Tìm hiểu Kotlin