Báo Cáo Thực Tập Lập Trình Ứng Dụng Di Động Với Flutter.docx

22 93 0
Báo Cáo Thực Tập Lập Trình Ứng Dụng Di Động Với Flutter.docx

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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 LẬP TRÌNH ỨNG DỤNG DI ĐỘNG VỚI FLUTTER Công ty thực tập Công ty TNHH Giải Pháp WATA Người phụ trách Ngô Vũ Quyền Thực tập si[.]

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 LẬP TRÌNH ỨNG DỤNG DI ĐỘNG VỚI FLUTTER Công ty thực tập : Công ty TNHH Giải Pháp WATA Người phụ trách : Ngô Vũ Quyền Thực tập sinh : Lưu Ngọc Sáng - 19520898 TP Hồ Chí Minh, tháng 12 năm 2022 LỜI MỞ ĐẦU Trong thời điểm mà ngành công nghệ thông tin nói chung phát triển phần mềm nói riêng phát triển với tốc độ chưa có tiền lệ Nhu cầu cho sản phẩm phần mềm thuộc nhiều lĩnh vực ngày tăng Để đáp ứng với nhu cầu ngày dồn dập Ngành phát triển phần mềm phải áp dụng quy trình làm việc cho suất cao Đã từ lâu mơ hình thác nước cho lỗi thời Sự phát triển mơ hình theo hướng lặp, tập trung vào việc giao cho khách hàng sản phẩm thời gian nhanh nhất, sau cải thiện dần sản phẩm tạo điều kiện cho quy trình phát triển phần mềm theo nguyên tắc Agile Trong Scrum quy trình phổ biến hiệu Sau ba năm học tập trường, mong muốn có thêm kinh nghiệm thực tế Cũng mong muốn học q trình phát triển phần mềm mơi trường chun nghiệp cơng ty Vì em định chọn Watasolutions, công ty nhiều truyền thống sản phẩm phần mềm tiếp tục phát triển, để làm nơi thực tập LỜI CẢM ƠN Trân trọng gửi lời cảm ơn Công ty TNHH Giải pháp WATA 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 nhiệt tình nhóm trainer, em tiếp thu kiến thức quan trọng để làm phần mềm theo quy trình phát triển Scrum Chân thành cảm ơn anh chị nhóm trainer bỏ 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 Đặc biệt cảm ơn anh Ngô Vũ Quyền, tập huấn cho em quy trình phát triển phần mềm Scrum, kỹ thuật công nghệ kiểm thử, khó khăn việc làm quen với mơi trường Cảm ơn anh Tiến Đỗ, nhiệt tình giúp đỡ em gặp số vấn đề quy trình làm việc từ xa để làm sản phẩm thời gian qua Cũng xin cảm ơn thầy khoa Cơng nghệ phần mềm nhiệt tình hỗ trợ, tạo điều kiện em làm báo cáo NHẬN XÉT CỦA KHOA MỤC LỤC MỤC LỤC Chương 1: Giới thiệu công ty thực tập Giới thiệu công ty Watasolution Lĩnh vực liên quan 2 Chương 2: Nội dung thực tập 3 3 7 Tìm hiểu công ty kỹ công ty Nghiên cứu kỹ thuật Thực dự án Lịch làm việc Chương 3: Chi tiết dự án Giới thiệu project Thực Kế hoạch 9 11 11 TÀI LIỆU THAM KHẢO TỔNG KẾT 13 14 Chương 1: Giới thiêu công ty thực tập Giới thiệu công ty Watasolutions WATA Solutions là một 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 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 Được thành lập vào năm 2016, WATA Solutions phát triển nhanh chóng trở thành công ty tiên phong cung cấp giải pháp phần mềm chất lượng cao nhiều lĩnh vực phục vụ nhiều khách hàng nước Bắc Mỹ, Singapore, Hàn Quốc Nhật Bản Sứ mệnh công ty cung cấp dịch vụ quản lý tư vấn đám mây chất lượng cao với giá phải để giúp công ty khởi nghiệp cơng ty thuộc quy mơ hồn thành dự án quy mô Công ty giúp doanh nghiệp tận dụng mạnh họ hỗ trợ họ cung cấp sản phẩm dịch vụ tuyệt vời để đảm bảo trải nghiệm tích cực cho người dùng cuối Lĩnh vực liên quan ● Phát triển xuất phần mềm ● Cung cấp giải pháp phần mềm Chương 2: Nội dung thực tập 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 Thực tập viên biết chức vụ cơng ty, đường mà lập trình viên lựa chọn để thăng tiến công ty Cũng thông tin khác người hướng dẫn cung cấp 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ơ tổ chức nhân Công ty Giúp cho thân tự vạch hướng để thăng tiến ngành kỹ thuật phần mềm Nghiên cứu kĩ thuật 2.1 Công cụ sử dụng - Thời gian: ngày - Nội dụng: Giới thiệu số công cụ sử dụng công ty thông qua gặp mặt Google Meet Các công cụ nội bao gồm: Trình gửi Email, trình quản lý công việc, dịch vụ hỗ trợ 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ộ: - Jira: công cụ để quản lý dự án, kiểm soát theo dõi vấn đề xảy dự án, quản lý phản hồi từ phía người sử dụng - Slack: ứng dụng làm việc nhóm giúp team làm việc hiệu với tương tác, trao đổi qua khung chat linh hoạt Slack lại tập trung phát triển tính giúp việc tương tác nhóm mạnh mẽ, gắn kết Không giống email, hội thoại phần mềm dễ tìm kiếm theo dõi nhóm/dự án, thành viên gọi, trao đổi, chia sẻ liệu, tệp kết nối với ứng dụng khác có mở cổng API phần mềm - Skype: công cụ quản lí tin nhắn cá nhân tổ chức, tích hợp chức call nhóm, tiện lợi để quản lí tình hình thành viên team - Google meeting: phục vụ cho việc làm việc online - Kết quả: Kết thúc thời gian tìm hiểu, em có hiểu biết sơ cách thức sử dụng phần mềm hệ thống dùng nội công ty Tạo điều kiện cho thực tập viên giao tiếp hiệu với người hướng dẫn 2.2 Framework - Thời gian: tuần - Nội dung: Được giới thiệu về ngôn ngữ lập trình Dart Flutter framework, những kiến thức quan trọng cho việc tới ưu hố hiệu cho ứng dụng di động -  Các cú pháp, câu lệnh cơ bản của Dart -  So sánh Dart và Java -  Làm quen với lập trình Flutter -  Xây dựng ứng dụng Flutter cơ bản 2.3 Clean Architecture - Thời gian : tuần - Nội dung : Tìm hiểu về kiến trúc Clean Architecture - Định nghĩa về Clean Architecture: Clean Architecture được xây dựng dựa trên tư tưởng "độc lập" kết hợp với các nguyên lý thiết kế hướng đối tượng(đại diện tiêu biểu là Dependency Inversion) Độc lập ở đây nghĩa là việc project không bị phụ thuộc vào framework và các công cụ sử dụng quá trình kiểm thử - Kiến trúc của Clean Architecture chia thành layer với một quy tắc phụ thuộc Các layer bên không nên biết bất kỳ điều gì về các layer bên ngoài Điều này có nghĩa là nó có quan hệ phụ thuộc nên "hướng" vào bên - Thực hiện : -  Tham gia đầy đủ các buổi training -  Tạo những ứng dụng cơ bản, có áp dụng kiến trúc Clean Architecture và mô hình MVP - Kết quả: Cơ bản nắm được kiến thức về Clean Architecture, mô hình MVP lập trình Flutter 2.5 Dependency Injection & thư viện Get it - Thời gian : tuần - Nội dung : Tìm hiểu khái niệm Dependency Injection và thư viện Get it -  Khái niệm Dependency Injection: Dependency Injection được xây dựng dựa trên khái niệm Inversion of Control Nghĩa là các phụ thuộc của class chỉ nên được cung cấp từ bên ngoài Dependency injection là một kĩ thuật đó một object (hoặc một static method) cung cấp các dependencies của một object khác Một dependency là một object mà có thể sử dụng ứng dụng -  Thư viện Get it: Get it là một dependency injection framework thuộc dạng compile-time và fully static Tách biệt khởi tạo/sử dụng, dễ dàng test hơn (unit test và function), khả năng mở rộng tốt hơn - đây chỉ là một vài lợi ích từ việc sử dụng depedency injection framework như Get it - Thực hiện : -  Tham gia đầy đủ các buổi training Get it -  Tạo ứng dụng demo cơ bản, có áp dụng Dependency Injection và thư viện - Kết quả: Cơ bản nắm được kiến thức về Dependency Injection, Get it và một số thư viện liên quan 2.4 Tìm hiểu Scrum - Thời gian: ngày Nội dung: Thực tập viên tự tìm hiểu quy trình phát triển phần mềm Scrum nguyên tắc phát triển phần mềm Agile Một số khái niệm điển hình kể đến sau - Scrum: quy trình phát triển phần mềm theo phương pháp Agile, tn thủ nguyên tắc Agile Scrum dựa chân lý: Minh bạch, tra thích nghi - Sprint: Quy trình phát triển thực thơng qua phân đoạn nối tiếp gọi Sprint Kết thúc Sprint nhóm phát triển đưa phần tăng trưởng sản phẩm Mỗi Sprint diễn vịng khơng q tuần diễn liên tiếp mà không bị gián đoạn Sprint bắt đầu sau Sprint khác kết thúc - Scrum master: người có hiểu biết sâu sắc Scrum, đảm bảo nhóm làm việc hiệu với scrum Là người tháo gỡ thắc mắc cho PO, DEV, kiểm thử - Product Owner: chủ sản phẩm: người chịu trách nhiệm thành công dự án Là người biết rõ tầm nhìn sản phẩm Là người chịu trách nhiệm quản lý đảm bảo minh bạch Product Backlog - Development team: Một nhóm liên chức tự quản lý để tiến hành chuyển đổi yêu cầu tổ chức Product Backlog thành chức hệ thống Đặc điểm nhóm phát triển là: tự tổ chức liên chức Các tạo tác từ Scrum bao gồm - Product backlog: nơi lưu trữ danh sách mong muốn sản phẩm, danh sách xếp dựa theo độ ưu tiên hạng mục Độ ưu tiên cao đặt lên đầu danh sách - Sprint backlog: bảng cơng việc nhóm phát triển để quản lý trình sản xuất sprint Các hoạt động thực 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 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 tập Thực dự án Thời gian: ngày Nội dung: Hướng dẫn viên lập kế hoạch thực dự án theo kiến thức tìm hiểu Scrum phổ biến plan cho thành viên team Thực hành: Thực tập viên soạn Product Backlog Sprint Backlog người hướng dẫn đánh giá tạo tác Đưa gợi ý để thực tập viên cải thiện chỉnh sửa 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ơ tổ chức nhân Công ty Giúp cho thân tự vạch hướng để thăng tiến ngành kỹ thuật phần mềm Lịch làm việc Tuần Công việc Người hướng dẫn Nhận xét người hướng dẫn - Tìm hiểu về công ty, cách tổ chức của công ty Anh Ngô Vũ Quyền & team HR - Làm quen với các công cụ làm việc công ty - Học cách trao đởi, làm việc qua email - Tìm hiểu về ngôn Anh Ngô Vũ ngữ lập trình Dart Quyền Flutter framework - Nghiên cứu việc tới ưu hố hiệu cho ứng dụng di động Tìm hiểu về Clean Architecture thư viện liên quan Anh Ngô Vũ Quyền Xây dựng dự án Anh Ngô Vũ Quyền Chương 3: Chi tiết dự án Giới thiệu dự án - Ý tưởng: Ứng dụng hỗ trợ quản lí nhân viên thiết bị di động, chức chính: xem/thêm/xố/sửa danh sách nhân viên dự án có hệ thống, kiểm tra timesheet, hệ số làm việc nhân viên - Các chức chính: ● Xác thực người dùng: Người dùng đăng nhập vào hệ thống sử dụng chức phạm vi quyền hạn tài khoản ● Quản lí nhân viên: Người quản trị quản lí danh sách nhân viên có hệ thống, bao gồm việc xem/thêm/xố/sửa thơng tin nhân viên đó: họ tên, ngày sinh, quê quán, địa chỉ, thông tin liên lạc,… thông tin liên quan đến dự án nhân viên ● Quản lí dự án: Người quản trị quản lí danh sách dự án có hệ thống, bao gồm việc xem/thêm/xố/sửa thơng tin dự án đó: tên dự án, thời gian, kinh phí, thơng tin stakeholders, danh sách cách nhân viên dự án thơng tin liên quan ● Quản lí thời gian làm việc: Người quản trị quản lí thời gian làm việc dự án nhân viên theo ngày, tuần, tháng ● Quản lí thơng tin cá nhân: Người dung quản lí thơng tin cá nhân thơng qua chức Profile Kiến trúc ứng dụng và tổ chức cây thư mục: Ứng dụng được viết dựa trên kiến trúc Clean Architecture và mô hình MVP Ứng dụng được chia thành module chính(3 tầng): App, Data, Domain 1.4.1 Tầng Domain: Tầng domain chứa các business logic của toàn bộ project Định nghĩa các object chứa các thông tin liên quan đến ứng dụng Ngoài còn chứa các interface của các repositories và các usecase liên quan 1.4.2 Tầng Data: Sẽ implement các abstract class và interface từ Domain layer Mục đích là để cô lập tầng Data khỏi tầng App để chúng ta có thể dễ dàng thay đổi nó cần 1.4.3 Tầng App: Chứa những thứ liên quan đến UI và Android như là view architecture(MVP, MVVM ), fragment, activity, Presenter không phụ thuộc vào các Android class để dễ kiểm thử Layer này là nơi tập trung của các chi tiết Chúng ta sẽ giữ những thứ này ở bên ngoài, nơi chúng khó có thể gây ảnh hưởng đến các phần bên Thực hiện: Sau thời gian trau dồi kiến thức từ các buổi training và tự nghiên cứu tài liệu Cộng với sự giúp đỡ của các anh mentor và các thành viên team, sinh viên đã hoàn thành xong dự án ... tìm hiểu, thực tập viên có hiểu biết 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 tập Thực dự án Thời gian: ngày Nội dung: Hướng dẫn viên lập kế hoạch thực dự án... Chương 2: Nội dung thực tập 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 Thực tập viên biết chức vụ cơng ty, đường mà lập trình viên lựa chọn... hiệu cho ứng dụng di động Tìm hiểu về Clean Architecture thư viện liên quan Anh Ngô Vũ Quyền Xây dựng dự án Anh Ngô Vũ Quyền Chương 3: Chi tiết dự án Giới thiệu dự án - Ý tưởng: Ứng dụng hỗ

Ngày đăng: 01/02/2023, 21:17

Tài liệu cùng người dùng

Tài liệu liên quan