Tải bản đầy đủ (.pdf) (17 trang)

Ứng dụng quản lý thiết bị smarthome (báo cáo thực tập)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (779.81 KB, 17 trang )

ĐẠ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

ỨNG DỤNG QUẢN LÝ THIẾT BỊ SMARTHOME

Công ty thực tập

: Cty TNHH XNK XD DV TM Minh Đức

Người phụ trách

: Nguyễn Thị Phương Loan

Thực tập sinh

: Nguyễn Minh Đức

TP. HỒ CHÍ MINH, 2022


LỜI MỞ ĐẦU
Công nghệ kết nối vạn vật đang được phát triển với tốc độ đáng kinh ngạc.
Các ứng dụng cơng nghệ IoT mang lại nhiều lợi ích cho con người. Điển hình là mơ
hình nhà thơng minh và các thiết bị gia dụng thơng minh, có khả năng điều khiển
chúng bằng một ứng dụng trên smartphone hoặc bằng giọng nói, cử chỉ. Khơng chỉ
dừng lại ở đó, khi mọi đồ vật được kết nối Internet, chúng sẽ trở nên thông minh hơn
nhờ khả năng gửi và/hoặc nhận thông tin và tự động hoạt động dựa trên các thơng tin


đó, đồng thời có thể ra lệnh cho các thiết bị khác. Cơng nghệ này cịn cho phép người
dùng có thể dễ dàng điều khiển các thiết bị trong nhà dù ở bất cứ đâu.
Vì vậy, để tìm cơ hội tiếp cận với thế giới IoT và với mong muốn có thêm kinh
nghiệm thực tế trong môi trường làm việc của ngành Cơng nghệ Thơng tin nói chung
và Kỹ thuật Phần mềm nói riêng, nên em đã quyết định ứng tuyển vào công ty TNHH

XNK XD DV TM Minh Đức – một công ty xây dựng đang định hướng phát triển
ứng dụng IoT và cung cấp cho các khách hàng.

Nguyễn Minh Đức


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 TNHH XNK XD DV
TM Minh Đức đã tạo điều kiện cho em có cơ hội thực tập tại công ty.
Từ ngày đầu tiên thực tập, các anh chị trong nhóm đã hỗ trợ nhiệt tình, bổ sung
các kiến thức về quy trình Kanban trong dự án thực tế và được thử sức để phát triển
ứng dụng Android bằng Flutter.
Em chân thành cảm ơn các anh chị đã giúp đỡ và động viên em xuyên suốt
quá trình thực tập tại cơng ty. Mọi người tạo mọi điều kiện để em học tập, làm việc
một cách có hiệu quả, giúp em làm quen với quá trình phát triển phần mềm, hiểu được
sự phức tạp của lập trình, cung cấp kinh nghiệm thực tiễn phong phú, tạo nền tảng
cho sự phát triển của em sau này.
Bên cạnh đó, em cũng trân trọng gửi lời cảm ơn tới quý thầy cơ khoa Cơng
nghệ Phần mềm đã tận tình dạy dỗ, chỉ bảo, hướng dẫn và tạo điều kiện cho em hoàn
thành bài báo cáo này.

Sinh viên thực hiện

Nguyễn Minh Đức

TP.Hồ Chí Minh, ngày 15 tháng 06 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 ......................................... 1
1.1. Giới thiệu công ty Minh Đức.............................................................. 1
1.2. Sản phẩm của công ty ........................................................................ 1
Chương 2. Nội dung thực tập ........................................................................ 2
2.1. Tìm hiểu cơng ty và các kỹ năng cơ bản sử dụng trong cơng việc ...... 2

2.2. Tìm hiểu về sản phẩm và các công nghệ liên quan ............................. 2
2.3. Làm việc theo quy trình Kanban ........................................................ 3
2.4. Lịch làm việc ..................................................................................... 3
Chương 3. Chi tiết về project ........................................................................ 5
3.1. Giới thiệu về dự án............................................................................. 5
3.2. Thực hiện ........................................................................................... 6
Chương 4. Kết quả đạt được ......................................................................... 7
4.1. Kanban............................................................................................... 7
4.1.1. Giới thiệu .................................................................................... 7
4.1.2. Bốn nguyên lý của Kanban ......................................................... 8
4.1.3. Bảng Kanban ............................................................................... 8
4.2. Flutter ................................................................................................ 8
4.2.1. Flutter là gì? ................................................................................ 8
4.2.2. Tính mới của Flutter .................................................................... 8
4.2.3. Đặc điểm nổi bật ......................................................................... 9
TỔNG KẾT ................................................................................................ 11
TÀI LIỆU THAM KHẢO........................................................................... 12


1

Chương 1. GIỚI THIỆU CÔNG TY THỰC TẬP
1.1. Giới thiệu công ty Minh Đức
Công ty TNHH Xuất Nhập Khẩu Xây Dựng Dịch Vụ Thương Mại Minh Đức
là một công ty chuyên về các dịch vụ xây dựng, xuất nhập khẩu và thương mại. Với
các định hướng tiếp theo hướng đến một Việt Nam 4.0 và nâng cao chất lượng đời
sống của cư dân. Trong năm qua, công ty TNHH Minh Đức đang nghiên cứu phát
triển hệ thống nhà thông minh để phát triển với định hướng tiếp theo.
Những lĩnh vực phát triển của cơng ty:
• Xây dựng các ứng dụng di động để quản lý smarthome.

• Thiết kế, tích hợp phần cứng cho các thiết bị thơng minh.
• Phát triển máy chủ và phần mềm nhúng.
1.2. Sản phẩm của công ty
Với định hướng phát triển hệ thống kết nối IoT cho các thiết bị trong gia đình,
giúp kết nối các đồ vật và thiết bị, cho phép các đồ vật và thiết bị thu thập và trao đổi
dữ liệu để tự động hố một số cơng việc.
Dù là một cơng ty mới nhưng Minh Đức cũng đã nghiên cứu các sản phẩm
chất lượng và chuẩn bị đến giai đoạn thương mại hố:
• Cơng tắc thơng minh.
• Cửa khố thơng minh.
• Cảm biến chuyển động.
• Thiết bị giám sát hệ thống điện trong gia đình.

Nguyễn Thị Phương Loan

Nguyễn Minh Đức


Chương 2. Nội dung thực tập
Trong thời gian thực tập, em đã tham gia quá trinh phát triển ứng dụng MDS,
ửng dụng quản lý tập trung các thiết bị thông minh trong gia đình. Thực tập sinh tại
cơng ty có cơ hội học hỏi, khám phá và làm việc trong mơi trường phát triển ứng
dụng chun nghiệp.
2.1. Tìm hiểu cơng ty và các kỹ năng cơ bản sử dụng trong cơng việc
Thời gian: 1 ngày
Nội dung:
• Giới thiệu tổng quan về cơng ty (q trình thành lập và phát triển, quy trình
làm việc, cách tổ chức của cơng ty).
• Tìm hiểu các nguyên tắc trong công ty (giờ làm việc, cách theo dõi tiến độ
công việc bằng Trello, sử dụng email trong cơng việc, thái độ làm việc, …).

• Giới thiệu về các thành viên nhóm và sản phẩm sẽ thực hiện.
• Giới thiệu các cơng cụ và website hỗ trợ trong q trình làm việc.
Kết quả:
• Biết các kiến thức tổng quan về cơng ty.
• Có thêm các kỹ năng về việc sử dụng email, Trello trong công việc, tác phong
làm việc có kế hoạch, trách nhiệm và kỷ luật.
• Có kiến thức định hình về các kiến thức trong q trình thực tập tại cơng ty.
2.2. Tìm hiểu về sản phẩm và các công nghệ liên quan
Thời gian: 1 tuần
Nội dung:
• Nghiên cứu document của sản phẩm, setup mơi trường lập trình.
• Tìm hiểu về các library của Flutter.
• Tìm hiểu các cơng cụ hỗ trợ như Trello, Github.
• Tìm hiểu về Docker, WebSocket.

Nguyễn Thị Phương Loan

Nguyễn Minh Đức


Kết quả:
• Sử dụng được Trello và biết các nội dung căn bản của Kanban.
• Hiểu các khái niệm cần thiết.
• Sử dụng được các thư viê
2.3. Làm việc theo quy trình Kanban
Thời gian: 10 tuần
Nội dung:
Nhận nhiệm vụ trong mỗi tuần, lên kế hoạch, và thực hiện: Thực hiện các
nhiệm vụ được giao, sửa sửa lỗi, hỗ trợ mọi người khi có thời gian.
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 Kanban.
Sử dụng Trello để quản lý dự án.
1

Nghiên cứu Figma để thiết kế.
Thiết kế trang Dashboard.

Đạt

Nguyễn Thị
Phương

100%


yêu

Loan

cầu

Nguyễn Thị

Đạt

Xây dựng các Card widget tại
Dashboard.
Thiết kế trang điều khiển máy lạnh.
Xây dựng trang Dashboard.
2

Xâyd ựng trang điều khiển máy
lạnh.

Phương
Loan

100%

yêu
cầu

Xây dựng luồng gọi API cho các
màn hình.


Nguyễn Thị Phương Loan

Nguyễn Minh Đức


Nghiên cứu Mocking fake data.
Nghiên cứu BloC pattern để quản
lý state.
Sửa các lỗi sau khi các tester gửi
danh sách.
Áp dụng BloC pattern để xử lý
logic cho các màn hình Dashboard
và điều khiển máy lạnh.
3

Mocking fake data.

Đạt

Nguyễn Thị
Phương

100%

yêu

Loan

cầu


Nguyễn Thị

Đạt

Sửa các lỗi do tester phát hiện ra
trong những màn hình đã làm.

4

Hỗ trợ thành viên khác xây dựng
các màn hình chưa hồn thành.

Phương

100%

yêu

Loan

cầu

Nguyễn Thị

Đạt

Gọi các API từ backend.
5

Clean code.


Phương

Sửa các lỗi do tester phát hiện ra

Loan

100%

yêu
cầu

trong những màn hình đã làm.
Bảng 2.1 Lịch làm việc theo sprint

Nguyễn Thị Phương Loan

Nguyễn Minh Đức


Chương 3. Chi tiết về project
3.1. Giới thiệu về dự án
Ứng dụng MDS là ứng dụng quản lý nhà thông minh tập trung, có thể điều
khiển, kiểm tra thơng số của các thiết bị trong nhà như rèm cửa, máy lạnh, đèn, tivi
… và báo các số liệu từ cảm biến để thông báo cho người dùng. Ứng dụng này xây
dựng cho các khách hàng sử để điều khiển các thiết bị thông minh do Công ty Minh
Đức đã phát triển.

Hình 3.1: Hình ảnh thực tế từ ứng dụng MDS
Do yêu cầu bảo mật thông tin của doanh nghiệp nên em khơng thể trình bày

chi tiết hơn.

Nguyễn Thị Phương Loan

Nguyễn Minh Đức


3.2. Thực hiện
Các thành viên thực hiện team Internship:
• Nguyễn Minh Đức.
• Nguyễn Thiện Thuật.
Và sự giúp đỡ nhiệt tình từ team các anh chị mentors:
• Nguyễn Thị Phương Loan.
• Hồ Văn Quý.
• Phạm Minh Nguyệt.

Nguyễn Thị Phương Loan

Nguyễn Minh Đức


Chương 4. Kết quả đạt được
Trogn 3 tháng thực tập tại công ty, các kiến thức cũng như kinh nghiệm thu
được sẽ được trình bày tại chương này.
4.1. Kanban
4.1.1. Giới thiệu
Kanban [1] là phương pháp Agile và nguồn gốc Kanban được phát triển vào
cuối những năm 1940 bởi một kỹ sư người Nhật tên là Taiichi Ohno. Agile Kanban
Framework tập trung vào việc trực quan hóa tồn bộ dự án trên các bảng nhằm tăng
tính minh bạch của dự án và sự hợp tác giữa các thành viên trong nhóm.


Hình 4.1 Minh hoạ một bảng Kanban đơn giản
Kanban là một phương pháp Agile nhưng khơng nhất thiết cần có tính lặp. Các
quy trình như Kanban có các lần lặp ngắn (Sprint) là vịng đời của dự án trên quy mơ
nhỏ, có điểm bắt đầu và kết thúc riêng biệt cho mỗi lần lặp. Kanban cho phép phần
mềm được phát triển trong một chu kỳ phát triển lớn. Mặc dù vậy, Kanban là một ví

Nguyễn Thị Phương Loan

Nguyễn Minh Đức


dụ về một phương pháp Agile vì nó đáp ứng tất cả mười hai nguyên tắc đằng sau
tuyên ngôn Agile, bởi vì mặc dù nó khơng có tính lặp, nhưng vẫn có tính tăng trưởng.
4.1.2. Bốn ngun lý của Kanban
• Trực quan hố cơng việc.
• Giới hạn cơng việc đang làm.
• Tập trung vào luồng làm việc.
• Cải tiến liên tục.
4.1.3. Bảng Kanban
Bảng Kanban – Kanban board là công cụ để trực quan hóa cơng việc. Bảng
Kanban bao gồm các cột tương ứng với trạng thái của công việc và các thẻ đại diện
cho các nhiệm vụ. Mỗi công việc khi ở trạng thái nào thì được đặt ở cột tương ứng.
4.2. Flutter
4.2.1. Flutter là gì?
Flutter [6, 7] là mobile UI framework của Google nhằm tạo ra các giao diện
chất lượng cao trên iOS và Android trong khoảng thời gian ngắn. Flutter hoạt động
với những code sẵn có được sử dụng bởi các lập trình viên, các tổ chức.
Flutter hồn tồn miễn phí và cũng là mã nguồn mở.
4.2.2. Tính mới của Flutter

Flutter là một công nghệ mới được Google phát triển, một framework dựa trên
ngơn ngữ lập trình Dart. Đây được kỷ vọng sẽ là một cơng nghệ có thể khắc phục các
nhược điểm của React Native.
Các ứng dụng được xây dựng với Flutter hầu như không thể phân biệt với
những ứng dụng được xây dựng bằng cách sử dụng Android SDK, cả về giao diện và
hiệu suất. Và chỉ cần thêm một số tham số là có thể triển khai phiên bản IOS của một
ứng dụng.

Nguyễn Thị Phương Loan

Nguyễn Minh Đức


Với khả năng chạy hỗ trợ 60 khung hình trên giây, giao diện người dùng được
tạo ra với Flutter thực thi tốt hơn nhiều so với những ứng dụng được tạo ra với các
framework phát triển đa nền tảng khác chẳng hạn như React Native và Ionic. Một số
điểm đặc biệt của Flutter:
• Flutter sử dụng Dart, một ngơn ngữ nhanh, hướng đối tượng với nhiều tính
năng hữu ích như mixin, generic, isolate, và static type.
• Flutter có các thành phần UI được thiết kế riêng theo Material Design của
Google, có thể sử dụng trên cả hai nền tảng Android và iOS.
• Các ứng dụng Flutter thường được phát triển bằng cách sử dụng IntelliJ IDEA,
Android Studio và Visual Studio Code.
4.2.3. Đặc điểm nổi bật
• Fast Development: Tíng năng Hot Reload hoạt động rất nhanh. Sử dụng tập
hợp các widget có thể customizable để xây dựng giao diện trong vài phút.
• Expressive and Flexible UI: Có rất nhiều các thành phần để xây dựng giao
diện của Flutter vô cùng đẹp mắt theo phong cách Material Design và
Cupertino, hỗ trợ nhiều các APIs chuyển động, smooth scrolling...
• Native Performance: Các widget của fluter kết hợp các sự khác biệt của các

nền tảng ví dụ như scrolling, navigation, icons, font để cung cấp một hiệu năng
tốt nhất tới iOS và Android.

Nguyễn Thị Phương Loan

Nguyễn Minh Đức


Hình 4.2 Ví dụ minh họa cho Flutter

Nguyễn Thị Phương Loan

Nguyễn Minh Đức


TỔNG KẾT
Trong thời gian thực tập tại đây, em đã học được thêm nhiều kiến thức mới và
bổ ích, đồng thời tiếp nhận được nhiều kinh nghiệm từ dự án MDS.
Trogn thời gian thực tập, việc trao đổi với các thành viên đơi khi có chút bất
lợi bởi vì mọi người đều làm việc từ xa. Mặc dù vậy, các cơng việc được giao vẩn
được thực hồn thành đúng thời gian và có thể hỗ trợ các thành viên khác.
Thời gian thực tập ở công ty tuy ngắn nhưng đem lại cho em rất nhiều trải
nghiệm quý báu. Dây cũng là lần đầu tiên được trực tiếp tham gia vào một dự án thực
tế và quy trình làm việc chuyên nghiệp. Đặc biệt, sự chỉ dạy tận tình của các anh chị
trong nhóm đã giúp em rất nhiều khi gặp các vấn đề.
Xin chân thành cảm ơn công ty Minh Đức và các anh chị hướng dẫn đã cho
em cơ hội được thực tập cũng như ứng dụng những kiến thức và kỹ năng của bản thân
vào môi trường làm việc chuyên nghiệp.

Nguyễn Thị Phương Loan


Nguyễn Minh Đức


TÀI LIỆU THAM KHẢO
[1]

H.V.Agile, “Kanban là gì? Hệ thống bảng Kanban hiệu quả nhất,” 2017. [Trực
tuyến]. Địa chỉ: [Truy cập 19/5/2022].

[2]

T.Việt, “Flutter là gì? Nó có ưu điểm vượt trội ra sao để làm một ứng dụng
mobile?,” 2018. [Trực tuyến]. Địa chỉ: />[Truy cập 19/5/2022].

[3]

V.N.Tuấn, “Giới thiệu về Flutter,” 2018. [Trực tuyến]. Địa chỉ:
a/p/gioi-thieu-ve-flutter-bWrZnNxrZxw. [Truy cập 19/5/2022].

Nguyễn Thị Phương Loan

Nguyễn Minh Đức



×