Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 24 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
24
Dung lượng
692,3 KB
Nội dung
ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜ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 XÂY DỰNG ỨNG DỤNG ĐIỀU KHIỂN NHÀ THƠNG MINH TRÊN THIẾT BỊ DI ĐỘNG Cơng ty thực tập : Sunshine Tech Người phụ trách : Đặng Quang Trung Thực tập sinh : Trần Tuấn Minh TP HỒ CHÍ MINH, 2022 LỜI MỞ ĐẦU Ngày nay, có ứng dụng thơng minh xuất khía cạnh sống – kể đến ứng dụng mua hàng trực tuyến, ứng dụng nghe nhạc/xem phim, ứng dụng đặt nhà hàng/khách sạn, v.v Kết chuyển đổi với tốc độ nhanh đến chóng mặt giới, kỹ thuật phần mềm vươn lên trở thành công cụ cốt yếu tất tổ chức, dù nhỏ hay lớn áp dụng phổ biến Do thực tế này, khơng có ngạc nhiên ngày có nhiều tổ chức tạo áp dụng phần mềm nhiều lĩnh vực khác nhau, đặc biệt ứng dụng lĩnh vực IoT Các ứng dụng điều khiển IoT cho phép người dùng truy cập điều khiển thiệt bị nhà cho dù bạn đâu Nó hỗ trợ điều khiển lúc nhiều loại thiết bị khác lúc giúp tiết kiệm công sức giúp thiết bị hoạt động cách hiệu Để hiểu rõ quy trình tạo phần mềm điều khiển thiết bị IoT, với mong muốn có thêm kinh nghiệm thực tế, tham gia làm việc môi trường chuyên nghiệp, em định chọn Công ty Sunshine Tech – môi trường chuyên nghiệp, sáng tạo, nơi phù hợp để em thực dự dự định Trần Tuấn Minh LỜI CẢM ƠN Trước hết, em xin gửi lời cảm ơn chân thành tới công ty Sunshine Tech tạo điều kiện cho em có hội thực tập cơng ty thời gian tháng Ngay từ buổi đầu thực tập, hướng dẫn nhiệt tình anh chị mentors, em tiếp thu nhiều kiến thức quy trình xây dựng phần mềm thực tế, làm việc môi trường chuyên nghiệp Không tạo điều kiện cho em học tập, anh chị cịn tạo văn hóa làm việc cởi mở, giúp em chia sẻ tiếp thu nhiều kiến thức cách chủ động, thoải mái Em cảm ơn anh Kiệt, chị Nguyệt, anh Tuấn ln hỗ trợ suốt q trình làm việc công ty Đặc biệt, em gửi lời cảm ơn đến anh Trung – mentor em trình thực tập Cảm ơn anh anh hướng dẫn tận tình, tạo hội điều kiện cho em học hỏi, thử sức với mảng liên quan tới mục tiêu định hướng mục tiêu nghề nghiệp em sau Một lần cho em cảm ơn anh chị nhiều! Bên cạnh đó, em trân trọng gửi lời cảm ơn đến quý thầy cô Khoa Công Nghệ Phần Mềm tận tình dạy dỗ, bảo, hướng dẫn chúng em từ ngày đầu bước chân vào trường Dựa vào kiến thức, kinh nghiệm học trường góp phần giúp em hồn thành báo cáo Sinh viên thực Trần Tuấn Minh TP.Hồ Chí Minh, ngày 06 tháng 15 năm 2022 NHẬN XÉT CỦA KHOA MỤC LỤC DANH MỤC HÌNH i DANH MỤC BẢNG ii Chương GIỚI THIỆU CÔNG TY THỰC TẬP 1.1 Giới thiệu công ty Sunshine Tech – thành viên Sunshine Group 1.2 Sản phẩm công ty Chương Nội dung thực tập 2.1 Tìm hiểu cơng ty kỹ sử dụng cơng việc .5 2.2 Tìm hiểu sản phẩm công nghệ liên quan .5 2.3 Tham gia làm việc Scrum team 2.4 Lịch làm việc Chương Chi tiết project 3.1 Giới thiệu dự án 3.2 Thực 10 Chương Kết đạt 11 4.1 Scrum 11 4.1.1 Giới thiệu .11 4.1.2 Ba trụ cột Scrum 12 4.1.3 Scrum team 12 4.1.4 Scrum Event 12 4.2 Flutter 12 4.2.1 Flutter gì? 12 4.2.2 Tính Flutter 13 4.2.3 Đặc điểm bật 13 4.3 Stoplight 14 TỔNG KẾT 15 TÀI LIỆU THAM KHẢO 16 i DANH MỤC HÌNH Hình 1.1: Logo công ty Sunshine Tech .1 Hình 1.2: Logo Unicloud Group .2 Hình 1.3: Nhà thơng minh Sunshine Tech Hình 1.4: Ứng dụng Kienlong Bank Plus [4] Hình 3.1: Hình ảnh thực tế từ ứng dụng Sliving App Hình 4.1 Mơ tả quy trình Scrum 11 Hình 4.2 Ví dụ minh họa cho Flutter .14 ii DANH MỤC BẢNG Bảng 2.1 Lịch làm việc theo sprint Chương GIỚI THIỆU CÔNG TY THỰC TẬP 1.1 Giới thiệu công ty Sunshine Tech – thành viên Sunshine Group Hình 1.1: Logo công ty Sunshine Tech Công ty CP Đầu tư Thương mại Sunshine Tech [1] thành lập ngày 12/06/2016, công ty công nghệ chuyên giải pháp công nghệ IoT liên quan tới tối ưu nâng cao chất lượng đời sống cư dân dự án hộ hạng sang Trong năm qua, Sunshine Tech liên tục cho đời giải pháp giải pháp tổng thể cho smart living, giải pháp nhà thông minh, giải pháp bãi đỗ xe thông minh, giải pháp an ninh thông minh, giải pháp thang máy thơng minh giải pháp kiểm sốt vào thơng minh Những bước đột phá công nghệ thông minh giúp Sunshine Group hoàn thiện “hệ sinh thái Sunshine” với tâm điểm “cư dân điện tử” tiện ích cơng nghệ dịch vụ hồn hảo nhằm nâng cao chất lượng đời sống người dân Việt…Đồng thời tạo khác biệt cho sản phẩm bất động sản Sunshine Group nhờ khác biệt công nghệ đại, vượt trội thông minh Những lĩnh vực phát triển công ty [2]: • Xây dựng ứng dụng di động (Mobile App) cho việc giám sát, điều khiển • Thiết kế phần cứng Sản phẩm • Xây dựng Firmware, Cloud Server • Xây dựng Mobile App, Website • AI, Machine learning, … Đặng Quang Trung Trần Tuấn Minh Cuối năm 2021, Sunshine Tech đổi tên thành Công ty CP Tập đồn Cơng nghệ Unicloud (Unicloud Group), có 300 thành viên trụ sở Hà Nội chi nhánh TP.HCM, công ty Unicloud Investment Nanochip Hình 1.2: Logo Unicloud Group 1.2 Sản phẩm công ty Sunshine Tech công ty xây dựng sản phẩm đại tiện lợi cho cư dân hộ cao cấp, giúp kết nối đồ vật thiết bị thông qua cảm biến, phần mềm công nghệ khác, cho phép đồ vật thiết bị thu thập trao đổi liệu với để tự hoạt động dựa liệu Các giải pháp nhà thơng minh bật Sunshine Tech [3] giúp thay đổi chất lượng sống: • Hệ thống cơng tắc cảm ứng • Rèm cửa thơng minh • Điều hịa thơng minh • Cảm biến chuyển động • Hệ thống đo lường thơng minh (giúp chủ nhà kiểm soát số liệu điện nước tiêu thụ gia đình theo thời gian thực tế) Đặng Quang Trung Trần Tuấn Minh Hình 1.3: Nhà thơng minh Sunshine Tech Hình 1.4: Ứng dụng Kienlong Bank Plus [4] Đặng Quang Trung Trần Tuấn Minh Bên cạnh sản phẩm nhà thông minh, Sunshine Tech xây dựng sản phẩm khác Một sản phẩm bật Kienlong Bank Plus, Ngân hàng TMCP Kiên Long (KienlongBank) Tập đoàn Sunshine (Sunshine Group) phối hợp hoàn thiện Đặng Quang Trung Trần Tuấn Minh Chương Nội dung thực tập Trong thời gian thực tập, em tham gia dự án xây dựng ứng dụng dạy điều khiển nhà thông minh thiết bị di động - Sliving App - phục vụ điều khiển thiết bị IoT hộ thông minh Thực tập sinh công ty có hội học hỏi, khám phá làm việc môi trường phát triển ứng dụng chuyên nghiệp 2.1 Tìm hiểu cơng ty kỹ sử dụng công việc Thời gian: ngày Nội dung: • Giới thiệu tổng quan cơng ty (q trình thành lập phát triển, quy trình làm việc, cách tổ chức cơng ty) • Tìm hiểu nguyên tắc công ty (giờ làm việc, cách theo dõi tiến độ công việc Jira, sử dụng email cơng việc, thái độ làm việc, …) • Giới thiệu thành viên nhóm sản phẩm thực • Giới thiệu cơng cụ website hỗ trợ q trình làm việc Kết quả: • Có kiến thức hiểu biết thêm cơng ty Sunshine Tech văn hóa, giá trị, q trình thành lập phát triển cơng ty • Biết cách tự tìm đọc tài liệu hiệu liên quan đến việc tải ứng dụng, cài đặt máy • Có thêm kỹ việc sử dụng email, Jira cơng việc, tác phong làm việc có kế hoạch, trách nhiệm kỷ luật • Có kiến thức định hình kiến thức sử dụng trình thực tập cơng ty 2.2 Tìm hiểu sản phẩm công nghệ liên quan Thời gian: tuần Nội dung: Đặng Quang Trung Trần Tuấn Minh • Tìm hiểu làm quen với sản phẩm, cấu trúc, cách cài đặt, framework liên quan dựa vào document sản phẩm… • Tìm hiểu library Flutter như: TextField, Image Picker, … • Tìm hiểu cơng cụ hỗ trợ Stoplight, Jira, Gitlab • Tìm hiểu Docker, WebSocket Kết quả: • Tiếp cận với tool làm việc Scrum team • Hiểu khái niệm cần thiết, có khả sử dụng thư viện mở rộng 2.3 Tham gia làm việc Scrum team Thời gian: 10 tuần Nội dung: Làm việc chung tham gia đầy đủ event với Scrum team : Sprint Planning Meeting, Daily Scrum, Sprint Review, Sprint Retrospective Nhận tasks, lên kế hoạch, estimate hoàn thành: Thiết kế test case, Thực task, sửa lỗi cho chức khác ứng dụng 2.4 Lịch làm việc Sprint Cơng việc Người Mức độ Nhận hướng dẫn hồn thành xét Tìm hiểu quy trình làm việc Scrum Học cách trao đổi cơng việc qua Skype, email Tìm hiểu cách quản lý dự án Đặng Quang Trung 100% Đạt yêu cầu Jira cài đặt công cụ phục vụ cho dự án Đặng Quang Trung Trần Tuấn Minh Xây dựng hình Đăng nhập, Xác thực OTP, Quên mật Tạo widget (textfield, button) dùng chung cho hình Xây dụng hình Trợ giúp Xây dựng luồng gọi API cho hình Tạo mock data cho hình Tìm hiểu BloC pattern để quản lý Đặng Quang 100% Trung Đạt yêu cầu state Sửa lỗi tester phát hình làm Áp dụng BloC pattern để xử lý logic cho hình Đăng nhập, Trợ giúp, Quên mật Tạo mock data Đặng Quang Hỗ trợ thành viên khác xây dựng hình chưa hồn thành 100% Trung Đạt yêu cầu Sửa lỗi tester phát hình làm Áp dụng BloC pattern để xử lý logic cho hình Tạo kịch bản, Thêm phòng Đặng Quang Trung 100% Đạt yêu cầu Tạo mock data Đặng Quang Trung Trần Tuấn Minh Hỗ trợ thành viên khác xây dựng hình chưa hồn thành Refactor clean code Áp dụng BloC pattern để xử lý logic cho hình Sửa/Xóa kịch bản, Sửa/Xóa phịng Đặng Tạo mock data Quang Refactor clean code Trung 100% Đạt yêu cầu Sửa lỗi tester phát hình làm Sửa lỗi hình trang chủ Tìm hiểu WebSocket Đặng Refactor clean code Quang Sửa lỗi tester phát Trung 100% Đạt yêu cầu hình làm Bảng 2.1 Lịch làm việc theo sprint Đặng Quang Trung Trần Tuấn Minh Chương Chi tiết project 3.1 Giới thiệu dự án Ứng dụng Sliving App ứng dụng cho phép người sử dụng điều khiển tất thiết bị thiết yếu ngơi nhà thơng minh bóng đèn, rèm cửa, máy lạnh… lấy thông tin từ cảm biến ánh sáng, cảm biến nhiệt độ để thông báo cho người dùng Ứng dụng xây dựng chủ yếu nhắm tới nhóm khách hàng sở hữu nhà thơng minh xây dụng tập đồn Sunshine Group Vì vậy, tác vụ xử lý thông tin cho thiết bị IoT chủ động tối ưu Hình 3.1: Hình ảnh thực tế từ ứng dụng Sliving App Đặng Quang Trung Trần Tuấn Minh 10 Do yêu cầu bảo mật thông tin doanh nghiệp nên em khơng thể trình bày chi tiết 3.2 Thực Bốn thành viên thực team Internship: • Trần Tuấn Minh • Phạm Quốc Đạt • Hồng Cơng Thắng • Trần Trung Và giúp đỡ nhiệt tình từ team anh chị mentors • Đặng Quang Trung • Cao Thị Nguyệt • Trần Thanh Tâm • Hồng Tuấn Kiệt Đặng Quang Trung Trần Tuấn Minh 11 Chương Kết đạt Trong chương này, em trình bày kết quả, kiến thức kĩ làm việc mà em đạt tháng thực tập công ty 4.1 Scrum 4.1.1 Giới thiệu Scrum [5] framework giúp người giải thích nghi với vấn đề phức tạp cách hiệu quả, sáng tạo cung cấp sản phẩm có giá trị cao • Nhẹ nhàng • Dễ hiểu • Khó quản lý làm chủ Hình 4.1 Mơ tả quy trình Scrum Scrum framework sử dụng để quản lý công việc sản phẩm phức tạp Scrum trình, kỹ thuật định nghĩa nào, Scrum framework – tức phương pháp nhiều người sử dụng trở nên Đặng Quang Trung Trần Tuấn Minh 12 phổ biến giúp làm rõ hiệu tương đối việc quản lý sản phẩm kĩ thuật để cải thiện sản ph ẩm, cải thiện mối quan hệ team member môi trường làm việc 4.1.2 Ba trụ cột Scrum Scrum nhấn mạnh vào yếu tố gồm: • Transparency: Minh bạch • Inspection: Thanh tra • Adaptation: Thích nghi 4.1.3 Scrum team Scrum team gồm có roles chính: • Product Owner • The Developer Team • Scrum Master 4.1.4 Scrum Event Sprint thường kéo dài khoảng 2-3 tuần gồm events sau: • Planning Meeting • Daily Meeting • Review Meeting • Retrospective 4.2 Flutter 4.2.1 Flutter gì? Flutter [6, 7] mobile UI framework Google nhằm tạo giao diện chất lượng cao iOS Android khoảng thời gian ngắn Flutter hoạt động với code sẵn có sử dụng lập trình viên, tổ chức Flutter hồn tồn miễn phí mã nguồn mở Đặng Quang Trung Trần Tuấn Minh 13 4.2.2 Tính Flutter Flutter công nghệ Google phát triển, framework dựa ngơn ngữ lập trình Dart Đây kỷ vọng cơng nghệ khắc phục nhược điểm React Native Các ứng dụng xây dựng với Flutter phân biệt với ứng dụng xây dựng cách sử dụng Android SDK, giao diện hiệu suất Và cần thêm số tham số triển khai phiên IOS ứng dụng Với khả chạy hỗ trợ 60 khung hình giây, giao diện người dùng tạo với Flutter thực thi tốt nhiều so với ứng dụng tạo với framework phát triển đa tảng khác chẳng hạn React Native Ionic Một số điểm đặc biệt Flutter: • Flutter sử dụng Dart, ngôn ngữ nhanh, hướng đối tượng với nhiều tính hữu ích mixin, generic, isolate, static type • Flutter có thành phần UI thiết kế riêng theo Material Design Google, sử dụng hai tảng Android iOS • Các ứng dụng Flutter thường phát triển cách sử dụng IntelliJ IDEA, Android Studio Visual Studio Code 4.2.3 Đặc điểm bật • Fast Development: Tíng Hot Reload hoạt động nhanh Sử dụng tập hợp widget customizable để xây dựng giao diện vài phút • Expressive and Flexible UI: Có nhiều thành phần để xây dựng giao diện Flutter vô đẹp mắt theo phong cách Material Design Cupertino, hỗ trợ nhiều APIs chuyển động, smooth scrolling • Native Performance: Các widget fluter kết hợp khác biệt tảng ví dụ scrolling, navigation, icons, font để cung cấp hiệu tốt tới iOS Android Đặng Quang Trung Trần Tuấn Minh 14 Hình 4.2 Ví dụ minh họa cho Flutter 4.3 Stoplight Stoplight [8] trang web cho phép người dùng mock API cách nhanh chóng Khi tạo nhập tài liệu OpenAPI, người dùng có quyền truy cập vào máy chủ giả thì, máy chủ có tính tự động tự động tải lại tài liệu bạn thay đổi Một API giả máy chủ HTTP giả mô hoạt động API thực cho phép cộng tác phản hồi thiết kế API Với chế độ giả lập, ta đẩy nhanh phát triển API Các nhóm làm việc song song trước API khả dụng thơng qua ảo hóa Máy chủ giả máy chủ giả trực tuyến Stoplight ảo hóa API bên bên ngồi bạn với phản hồi động tạo từ JSON schema thiết kế sẵn Stoplight xác thực yêu cầu mô hành vi máy chủ cách tự động xác thực thông tin yêu cầu gửi từ phía người dùng cuối giống máy chủ thực dựa tài liệu API thiết kế Đặng Quang Trung Trần Tuấn Minh 15 TỔNG KẾT Sau khoảng thời gian tháng thực tập, em hoàn thành nhiệm vụ dự án xây dựng ứng dụng Sliving thiết bị di động Khoảng thời gian vừa qua, em học thêm nhiều kiến thức kinh nghiệm bổ ích Tuy nhiên, tình hình dịch bệnh phức tạp, thực tập trực tuyến gây số hạn chế định Việc trao đổi trực tiếp giải vấn đề kịp thời làm nhiều thời gian thực dự án Ngồi ra, thời gian thực tập có hạn dẫn đến em chưa tham gia vào xây dựng số chức mở rộng ứng dụng tương lai Thời gian thực tập công ty khoảng thời gian đem lại cho em nhiều trải nghiệm quý giá Em tiếp cận với dự án thực tết tinh thần làm việc chuyên nghiệp Hơn nữa, giúp đỡ, dạy tận tình anh Đặng Quang Trung thành viên nhóm góp phần để em hồn thành tốt đợt thực tập Thời gian ba tháng thời gian dài, ngắn vừa đủ để em tận hưởng trọn vẹn kỷ niệm đẹp với công ty Sunshine Tech Một lần nữa, em xin chân thành cảm ơn công ty Sunshine Tech, người hướng dẫn hướng dẫn Đặng Quang Trung cho em hội thực tập, trau dồi kinh nghiệm ứng dụng kiến thức kỹ học vào môi trường làm việc thực tế Đặng Quang Trung Trần Tuấn Minh 16 TÀI LIỆU THAM KHẢO [1] TopCV, “Thông tin công ty & tin tuyển dụng từ Công ty Cổ phần Tập đồn Cơng nghệ Unicloud (Unicloud Group),” 2022 [Trực tuyến] Địa chỉ: https://www.topcv.vn/cong-ty/cong-ty-co-phan-tap-doan-cong-nghe-unicloudunicloud-group/95485.html [Truy cập 15/5/2022] [2] “Về Haravan, Sunshine Mall,” 2020 [Trực tuyến] https://Sunshinemall.vn/blogs/ve-Sunshine-mall/about-us Địa [Truy chỉ: cập 15/5/2022] [3] SunshineGroup, “Sống tiện nghi với nhà thông minh Sunshine Group,” 2021 [Trực tuyến] Địa chỉ: https://Sunshinegroup.vn/song-tien-nghi-hon-voinha-thong-minh-cua-Sunshine-group/ [Truy cập 16/5/2022] [4] GooglePlay, “KienlongBank Plus,” 2022 [Trực tuyến] Địa chỉ: https://play.google.com/store/apps/details?id=com.Sunshine.ksbank&hl=vi&g l=VI [Truy cập 16/5/2022] [5] L.T.P.Thảo, “Scrum nên dùng Scrum,” 2018 [Trực tuyến] Địa chỉ: https://viblo.asia/p/scrum-la-gi-va-tai-sao-nen-dung-scrum-1Je5Ed6LlnL [Truy cập 18/5/2022] [6] T.Việt, “Flutter gì? Nó có ưu điểm vượt trội để làm ứng dụng mobile?,” 2018 [Trực tuyến] Địa chỉ: https://topdev.vn/blog/flutter-la-gi/ [Truy cập 18/5/2022] [7] V.N.Tuấn, “Giới thiệu Flutter,” 2018 [Trực tuyến] Địa chỉ: https://viblo.asia/p/gioi-thieu-ve-flutter-bWrZnNxrZxw [Truy cập 18/5/2022] [8] Stoplight, “OpenAPI Mock Server & Web Mock Service | API Mocking & Servers Online | Stoplight,” 2022 [Trực tuyến] Địa chỉ: https://stoplight.io/mocking [Truy cập 19/5/2022] Đặng Quang Trung Trần Tuấn Minh ... Minh Chương Nội dung thực tập Trong thời gian thực tập, em tham gia dự án xây dựng ứng dụng dạy điều khiển nhà thông minh thiết bị di động - Sliving App - phục vụ điều khiển thiết bị IoT hộ thông. .. Tuấn Minh Chương Chi tiết project 3.1 Giới thiệu dự án Ứng dụng Sliving App ứng dụng cho phép người sử dụng điều khiển tất thiết bị thiết yếu nhà thông minh bóng đèn, rèm cửa, máy lạnh… lấy thông. .. độ để thông báo cho người dùng Ứng dụng xây dựng chủ yếu nhắm tới nhóm khách hàng sở hữu nhà thông minh xây dụng tập đồn Sunshine Group Vì vậy, tác vụ xử lý thông tin cho thiết bị IoT chủ động