You are on page 1of 41

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC ĐẠI NAM

BÁO CÁO THỰC TẬP TẠI CÔNG TY TINASOFT VIỆT NAM

ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG ĐIỆN THOẠI CÔNG TY


TINASOFT VIỆT NAM

Giảng viên hướng dẫn: Trần Đức Minh

Sinh viên thực hiện:

Stt Mã sv Họ và tên Lớp

1 Phạm Tùng Linh 1451020145 CNTT14-01

Hà Nội, năm 2023


BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC ĐẠI NAM

BÁO CÁO THỰC TẬP TẠI CÔNG TY TINASOFT VIỆT NAM

ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG ĐIỆN THOẠI CÔNG TY


TINASOFT VIỆT NAM

Điểm
STT Mã Sinh Viên Họ và Tên Ngày Sinh Bằng Bằng
Số Chữ

1 1451020145 Phạm Tùng Linh 26/04/2002

CÁN BỘ CHẤM THI 1 CÁN BỘ CHẤM THI 2

Hà Nội, năm 2023


LỜI NÓI ĐẦU

Kính gửi Trường Đại học Đại Nam, Thầy Trần Đức Minh, Công ty TinaSoft
Việt Nam và Giám đốc Nguyễn Quốc Uy,

Trước hết, tôi xin gửi lời cảm ơn chân thành đến Trường Đại học Đại Nam vì
đã tạo cơ hội cho chúng tôi thực tập tại công ty Tinasoft. Đây là một trải nghiệm vô
cùng quý báu và hữu ích trong quá trình học tập của tôi.

Đồng thời, tôi muốn bày tỏ lòng biết ơn sâu sắc đến Thầy Trần Đức Minh và
Giám đốc Nguyễn Quốc Uy vì sự nhiệt tình và tận tâm trong việc hướng dẫn chúng
tôi trong suốt thời gian thực tập. Thầy và Giám đốc đã chia sẻ kiến thức, kinh nghiệm
quý giá và định hướng rõ ràng để chúng tôi phát triển kỹ năng và nhận thức về công
việc.

Thời gian thực tập tại công ty Tinasoft, dù ngắn ngủi, đã mang lại cho tôi nhiều
kiến thức bổ ích và tạo động lực để phát triển sự nghiệp trong tương lai. Tôi đã học
được cách làm việc hiệu quả, rèn luyện tinh thần học tập và nghiêm túc trong công
việc. Những kiến thức và kỹ năng này sẽ trở thành nền tảng vững chắc để chúng tôi
vươn tới thành công trong tương lai.

Tuy nhiên, tôi thừa nhận rằng trong bài báo cáo thực tập của tôi có thể còn
thiếu sót và chưa chính xác. Tôi xin nhận những góp ý, chỉnh sửa từ Thầy và Giám
đốc để hoàn thiện báo cáo và nắm vững hơn những kiến thức đã được học.

Một lần nữa, Tôi xin chân thành cảm ơn Trường Đại học Đại Nam, Thầy Trần
Đức Minh và Giám đốc Nguyễn Quốc Uy vì sự hỗ trợ và định hướng quý báu trong
quá trình thực tập. Hy vọng tôi có cơ hội được gặp lại và hợp tác trong tương lai.

Đồ án bao gồm những nội dung chính sau:

Chuơng 1. Giới thiệu.


4

Chương 2. Quá trình thực tập tại đơn vị

Chương 3. Cơ sở lí thuyết

Chuơng 4. Phân tích hệ thống

Chuơng 5. Kết quả thực nghiệm

Chuơng 6. Kết luận và kiến nghị

Lớp CNTT 14-01 Page 4


5

MỤC LỤC

CHƯƠNG 1. GIỚI THIỆU ..................................................................................................... 7

1.1. Giới thiệu về Công ty Tinasoft Việt Nam ................................................................... 7

1.1.3. Cơ cấu bộ máy tổ chức .......................................................................................... 9

1.1.4. Cơ sở vật chất kĩ thuật và công nghệ ...................................................................9

1.2. Các dự án tiêu biểu của Tinasoft Việt Nam ............................................................. 10

1.2.1 Dự án Easy 1 của Tinasoft Việt Nam ..................................................................10

1.2.2. Hệ thống ERP cho Smart Corp .......................................................................... 11

CHƯƠNG 2: QUÁ TRÌNH THỰC TẬP TẠI ĐƠN VỊ ..................................................... 13

2.1. Mô tả công việc được giao .......................................................................................... 13

2.1.1. Tổng quan về công việc được giao ..................................................................... 13

2.1.2. Mô tả ......................................................................................................................13

2.2. Quy trình thực hiện .....................................................................................................14

CHƯƠNG 3: CƠ SỞ LÍ THUYẾT ...................................................................................... 16

3.1. Lí do chọn đề tài .......................................................................................................... 16

3.2. Mục tiêu nghiên cứu ................................................................................................... 16

3.3. Đối tượng và phạm vi nghiên cứu ............................................................................. 17

3.4 Tổng quan về kiến thức ............................................................................................... 18

3.4.1. Flutter ....................................................................................................................18

3.4.2. Dart ........................................................................................................................21

CHƯƠNG 4: PHÂN TÍCH HỆ THỐNG ............................................................................ 23

4.1. Yêu cầu hệ thống ......................................................................................................... 23

4.2. Mô tả bài toán ..............................................................................................................23


Lớp CNTT 14-01 Page 5
6

4.3. Các chức năng của hệ thống ...................................................................................... 24

4.3.1. Khách hàng ........................................................................................................... 24

4.3.2. Quản trị ................................................................................................................. 24

4.4. Thiết kế hệ thống .........................................................................................................24

4.4.1. Xác địng Actor và Usecase .................................................................................. 24

4.4.2. Biểu đồ Usecase .................................................................................................... 25

4.4.3. Biểu đồ hoạt động .................................................................................................27

4.4.4. Biểu đồ tuần tự ..................................................................................................... 30

CHƯƠNG 5: KẾT QUẢ THỰC NGHIỆM ........................................................................ 32

5.1. Các Chức Năng Đã Hoàn Thành ...............................................................................32

5.1.1. Trang đăng nhập ..................................................................................................32

5.1.2. Trang đăng kí ....................................................................................................... 33

5.1.3.Trang chủ ...............................................................................................................34

5.1.4. Trang các dự án tiêu biểu ....................................................................................35

5.1.5. Bộ máy công ty ..................................................................................................... 36

5.1.6. Trang dịch vụ ....................................................................................................... 37

5.1.7. Trang Blog ............................................................................................................ 38

5.2. Các Chức Năng Có Thể Phát Triển .......................................................................... 40

CHƯƠNG 6. KẾT LUẬN VÀ KIẾN NGHỊ ....................................................................... 41

Lớp CNTT 14-01 Page 6


7

CHƯƠNG 1. GIỚI THIỆU

1.1. Giới thiệu về Công ty Tinasoft Việt Nam


Tên công ty: TINASOFT VIET NAM JOINT STOCK COMPANY
Tên viết tắt: TINASOFT VIET NAM JOINT STOCK COMPANY
Mã số thuế: 0108564876
Địa chỉ trụ sở chính: Tầng 4, Tòa nhà Ellipse Tower, 110 Trần Phú, Hà Đông,
Hà Nội
Đại diện pháp luật: Hoàng Thu Thủy - Giới tính: Nữ - Chức danh: Tổng giám
đốc
Ngày thành lập: 2018-12-27 00:00:00
Tình trạng hoạt động: Tình trạng hoạt động:
Loại hình pháp lý: Công ty cổ phần
Logo công ty:

1.1.1. Cái nhìn chung về Tinasoft


Được thành lập vào năm 2018, Tinasoft nhanh chóng khẳng định vị thế là một
trong những Nhà tư vấn Phát triển Phần mềm và Chuyển đổi số hàng đầu tại Việt
Nam. Kinh nghiệm, chuyên môn, cơ sở vật chất được trang bị tốt nhất, quản lý
chuyên nghiệp và cam kết của chúng tôi đã và đang mang đến cho khách hàng sự hài
lòng tối đa và đổi lại chúng tôi đã đạt được sự tăng trưởng nhanh chóng và bền vững
trong hơn 6 năm qua.

Lớp CNTT 14-01 Page 7


8

Để trở thành điểm đến duy nhất cho mọi nhu cầu về phần mềm, Tinasoft được tổ
chức thành một nhóm gồm các công ty hệ thống khác nhau bao gồm các lĩnh vực
chuyên môn liên quan, cụ thể là Tư vấn chuyển đổi kỹ thuật số, Phát triển phần mềm,
Công nghệ thông tin. Nhân sự & Tìm nguồn cung ứng. Với 6 năm có mặt trên thị
trường, Tinasoft đã xây dựng được một mạng lưới rộng lớn các đối tác và chuyên gia,
những người đang sát cánh cùng Tinasoft để cung cấp các dịch vụ phát triển và giải
pháp phần mềm tỉnh vi, hiệu quả, theo yêu cầu đặc biệt cho khách hàng trên toàn thế
giới. Cho đến nay, chúng tôi đã hỗ trợ khách hàng thành công hơn 300 dự án phần
mềm.
1.1.2. Công việc của Tinasoft
Bên cạnh trọng tâm chính của Tinasoft là dịch vụ Gia công phần mềm & Chuyển
đổi số, chúng tôi cũng cung cấp các giải pháp công nghệ toàn diện như: ERP, EAM,
SCE, d/EPM, WMS... Tinasoft đã được lựa chọn trở thành đối tác chính thức của
công nghệ hàng đầu thế giới như AWS, INFOR (USA), CityXsys, Fast Re- act... Giúp
doanh nghiệp đạt được lợi thế cạnh tranh trên thị trường với tốc độ và khả năng trích
xuất thông tin, tự động hóa các công việc thủ công tẻ nhạt, hỗ trợ làm việc sáng tạo,
thông minh.
Tinasoft đưa ra các mô hình hợp tác đa dạng như: Tăng cường nhân sự CNTT
(Che lấp các khoảng trống về tài nguyên hoặc kỹ năng của nhóm CNTT nội bộ của
bạn với các chuyên gia của chúng tôi do bạn trực tiếp quản lý.), Đội tự quản (Nhận
một nhóm tự quản do PM hoặc Trưởng nhóm của Tinasoft lãnh đạo để thực hiện sáng
kiến CNTT của bạn.), Thuê ngoài toàn bộ (Chúng tôi chăm sóc (các) chức năng
CNTT cụ thể của bạn với toàn bộ trách nhiệm về chất lượng và các rủi ro liên quan).

Lớp CNTT 14-01 Page 8


9

1.1.3. Cơ cấu bộ máy tổ chức

1.1.4. Cơ sở vật chất kĩ thuật và công nghệ


Hiện Công ty Tinasoft Việt Nam có chi nhánh ở Tầng 4, Tòa nhà Ellipse Tower,
110 Trần Phú, Hà Đông, Hà Nội có vị trí làm việc thuận lợi với hệ thống cơ sở vật
chất kỹ thuật hiện đại, trang bị đầy đủ tiện nghi từ các thiết bị phục vụ công việc đến
nhu cầu cá nhân của nhân sự. Công ty có con dấu riêng, được xây dựng 4 tầng với bố
trí đầy đủ các phòng làm việc riêng của lãnh đạo văn phòng, phòng họp, phòng nghỉ
trưa, phòng làm việc riêng của từng bộ phận. Có nơi tiếp khách và trang bị máy tính
cũng như máy chiếu đầy đủ phục vụ cho công việc…
Tại từng văn phòng của các bộ phận đều được trang bị cho văn phòng hệ thống
máy vi tính để nhân viên có thể sử dụng làm việc và quản lý một cách chính xác nhất.
Ngoài ra, còn được trang thiết bị văn phòng như điều hòa, máy in, máy fax và một số
thiết bị khác nhằm đáp ứng một cách tốt nhất nhu cầu của nhân viên tại công ty, tạo
sự thoải mái để nhân viên có thể làm việc tốt đạt hiệu quả cao nhất.

Lớp CNTT 14-01 Page 9


10

1.2. Các dự án tiêu biểu của Tinasoft Việt Nam


1.2.1 Dự án Easy 1 của Tinasoft Việt Nam
Tinasoft Việt Nam tự hào đã triển khai thành công dự án Easy 1 với đầy đủ tính
năng một phần mềm quản lý tối ưu. Với phần mềm quản lý và dịch vụ chất lượng cao

của Tinasoft, công ty đã nhận được những phản hồi rất tích cực từ phía khách hàng..
Dự án Easy 1 được Tinasoft triển khai dưới dạng mô hình Agile Scrum với đội
ngũ nhân sự chuyên nghiệp gồm 17 người, trong đó có 1 PM, 1 Scrum Master, 2 BA,
1 Test Lead, 3 Tester, 4 BE, 4 FE, 2 Designer.
Dự án Easy 1 được Tinasoft sử dụng những công nghệ hiện đại nhất như: Nest Js,
ReactJs, AWS, S3, Postgres DB, MQTT, K8S, Docker, ElasticSearch … với những
tính năng nổi bật như:
 Phần mềm quản lý công ty, chi nhánh, phòng ban, chức vụ, nhân sự
 Quản Lý Luồng Đơn Hàng, tạo, giao-nhận, xử lý và chăm sóc khách hàng
của công ty
 Tích hợp thống kê báo cáo dữ liệu nhân sự, đơn hàng
 Quản lý các dịch vụ, gói dịch vụ trong công ty
 Quản Lý Mua Bán Sản Phẩm Trong Công Ty, nhập xuất sản phẩm bằng
Excel
 Quản Lý Xuất Nhập Kho

Lớp CNTT 14-01 Page 10


11

Với những tính năng ưu việt trên, doanh nghiệp sẽ giảm thiểu tối đa những chi
phí trong khâu quản lý và thống kê, từ đó giúp doanh nghiệp tối ưu quy trình sản xuất
và kinh doanh của mình.
1.2.2. Hệ thống ERP cho Smart Corp
Hệ thống ERP là hệ thống hoạch định nguồn lực doanh nghiệp hỗ trợ chủ doanh
nghiệp điều hành hoạt động kinh doanh hiệu quả. Hệ thống này bao gồm quản lý hiệu
suất doanh nghiệp, phần mềm giúp lập kế hoạch, lập ngân sách, dự đoán và báo cáo

về kết quả tài chính của tổ chức.


Tại sao nên sử dụng hệ thống ERP cho Smart Corp của Tinasoft Việt Nam?
Quản lý dịch vụ khách hàng: Hệ thống cung cấp cho người quản lý các công cụ
như thống kê, phân tích và thẩm định các vấn đề trong kinh doanh, đánh giá hiệu quả
công việc của nhân viên. Công nghệ hỗ trợ các chuyên gia bán hàng tìm kiếm, theo
dõi và quản lý khách hàng thành công.
Quản lý cấu trúc công ty: Các tính năng phụ khác của quản lý cấu trúc nhóm bao
gồm quản lý công ty, quản lý chi nhánh, công ty đối tác, quản lý khu vực và nhân viên
quản lý theo vị trí và quyền hạn.
Quản trị nhân sự: Hệ thống còn hỗ trợ doanh nghiệp quản lý thông tin con người,
cơ cấu vị trí, cấp bậc, quản lý lương, KPI, truyền thông nội bộ.
Quản lý bán hàng và tiếp thị: Quản lý chu trình bán hàng từ lâu đã là mối quan
tâm lớn của các công ty, nhưng với hệ thống ERP cho doanh nghiệp thông minh của
Lớp CNTT 14-01 Page 11
12

Tinasoft, doanh nghiệp sẽ không phải mất nhiều thời gian và tiền bạc để xử lý các
hoạt động telesales, đơn hàng affiliate, sự kiện hay hoạt động tiếp thị. . Điều phối đơn
hàng cho từng chi nhánh hoặc sự chậm trễ trong quá trình lắp đặt sản phẩm, vận
chuyển hàng hóa hoặc dịch vụ khách hàng.
Kiểm soát hàng tồn kho: Người dùng có thể quản lý các yêu cầu xuất nhập hàng,
quản lý sản phẩm, quản lý danh mục, thống kê, báo cáo bằng chương trình. Từ đó,
lãnh đạo công ty có thể nhận thức rõ hơn về tình hình và thay đổi số lượng nhập và
tiêu thụ các mặt hàng để tránh thất thoát, lãng phí
Tổ chức kế toán và tài chính: nó cũng cho phép các chủ doanh nghiệp quản lý
vốn và dòng tiền, kế toán, chi phí, tài sản và nợ phải trả.
Dự án Easy 1 được Tinasoft triển khai dưới dạng mô hình Agile Scrum với đội
ngũ nhân sự chuyên nghiệp gồm nhân sự (1 PM, 1 Scrum Master, 2 BA, 1 Test Lead,
3 Tester, 4 BE, 4 FE, 2 Designer)
Công nghệ: NestJs, ReactJs, AWS, S3, PostgresDB, MQTT, K8S, Docker, Tìm
kiếm đàn hồi.

Lớp CNTT 14-01 Page 12


13

CHƯƠNG 2: QUÁ TRÌNH THỰC TẬP TẠI ĐƠN VỊ

2.1. Mô tả công việc được giao


2.1.1. Tổng quan về công việc được giao
Công việc chính: Học tập, tìm hiểu ngôn ngữ Dart, Flutter và xây dựng một ứng
dụng trên thiết bị di động Androi
Nhiệm vụ chính cần làm:
+ Làm việc với nhóm phát triển để hiểu và tham gia vào quy trình phát triển ứng
dụng di động.
+ Thực hiện các nhiệm vụ lập trình, bao gồm viết mã, kiểm thử và gỡ lỗi theo
yêu cầu.
+ Xây dựng giao diện người dùng:
Sử dụng Flutter để xây dựng giao diện người dùng hấp dẫn và thân thiện trên nền
tảng di động.
Tạo các màn hình, widget và các thành phần UI khác để cung cấp trải nghiệm
người dùng tốt nhất.
+ Kết nối với dữ liệu và API
+ Học hỏi và nâng cao kĩ năng
2.1.2. Mô tả
- Đề tài được giao: Xây dựng ứng dụng di động của công ty Tinasoft Việt Nam
- Thời gian hoạt động : Từ ngày 02/01/2024 – 16/3/2024 theo lịch của nhà trường
- Vị trí làm việc: Intern (Thực tập sinh)
- Lịch làm việc: Hoạt động offline tại văn phòng của Công ty, lịch làm việc theo
công ty.
- Công việc
 Áp dụng kiến thức tìm hiểu được xây dựng các giao diện và chức năng
trong dự án Xây dựng ứng dụng di động của công ty Tinasoft Việt Nam.
 Hoàn thiện báo cáo.
Lớp CNTT 14-01 Page 13
14

2.2. Quy trình thực hiện


 Nội dung và lộ trình thực tập tại Công ty Tinasoft Việt Nam
Thời gian Nội dung thực tập Kết quả Ghi chú
thực hiện
Tuần 1 (từ 2/1 đến 5/1) Trải nghiệm, tìm hiểu cách Hoàn thành
thức hoạt động làm việc
của công ty
Tuần 2 (từ 8/1 đến 12/1) Trải nghiệm thực tế trên Hoàn thành
văn phòng chính Tinasoft
Tuần 3 (từ 15/1 đến 19/1) Khám phá, cài đặt Flutter Hoàn thành
và Dart

Tuần 4 (từ 22/1 đến 26/1) Tìm hiểu cú pháp cơ bản, Hoàn thành
kiểu dữ liệu, hàm, lớp,..và
thực hành Dart đơn giản
Tuần 5 (từ 29/1 đến 2/2) Nghỉ tết theo lịch công ty Hoàn thành

Tuần 6 (từ 5/2 đến 9/2 ) Tìm hiểu Widgets cơ bản Hoàn thành
trong flutter
Tuần 7 (từ 12/2 đến 16/2) Tìm hiểu Widgets tạo giao Hoàn thành
diện như Button,
TextField, ListView,…và
xây dựng giao diện với các
Widgets này
Tuần 8 (từ 19/2 đến 23/2) Tìm hiểu về quản lí trạng Hoàn thành
thái trong Flutter và cách
điều hướng giữa các màn
hình, áp dụng xây dựng

Lớp CNTT 14-01 Page 14


15

ứng dụng đơn giản với


quản lí trạng thái và điều
hướng.
Tuần 9 (từ 26/2đến 1/3) Xây dựng ứng dụng Hoàn thành
Flutter cơ bản
Tuần 10 (từ 4/3 đến 8/3) Thực hiện làm đề tài được Hoàn thành
doanh nghiệp giao
Tuần 11 (từ 11/3 đến 15/3) Thực hiện làm và kiểm thử Hoàn thành
đề tài được doanh nghiệp
giao

Lớp CNTT 14-01 Page 15


16

CHƯƠNG 3: CƠ SỞ LÍ THUYẾT

3.1. Lí do chọn đề tài


Việc lựa chọn đề tài xây dựng website kinh doanh điện thoại không chỉ đơn
thuần là chọn một lĩnh vực kinh doanh phổ biến, mà còn dựa trên nhận thức về sức
hấp dẫn và tính quan trọng của thị trường này. Điện thoại di động không chỉ đơn
thuần là một phương tiện liên lạc, mà còn là công cụ đa chức năng từ việc giải trí cho
đến công việc. Với tính tiện ích và tính hiện đại của chúng, nhu cầu sở hữu và nâng
cấp điện thoại di động liên tục tăng cao, tạo ra một thị trường có tiềm năng lớn cho
kinh doanh.
Trong bối cảnh 4.0 việc tìm hiểu và đặt hàng trực tuyến ngày càng trở thành xu
hướng phổ biến, việc xây dựng một ứng dụng cho công ty sẽ giúp mở rộng phạm vi
kinh doanh, quảng cáo và mang đến lợi ích cho người tiêu dùng cũng như công ty.
Với ứng dụng này khách hàng có thể tìm hiểu cũng như đặt hàng giao công phần mềm,
AI, IOT,… bất cứ lúc nào, ở bất cứ đâu và trong mọi không gian. Tôi tin rằng việc tạo
ra một nền tảng trải nghiệm mua sắm độc đáo sẽ là chìa khóa để thu hút và giữ chân
khách hàng.
Tôi hy vọng rằng việc xây dựng ứng dụng cho công ty sẽ mang lại những cơ hội
kinh doanh và phát triển, đồng thời tạo ra một môi trường trực tuyến thuận tiện và hấp
dẫn cho khách hàng. Qua đó, tôi mong muốn được đóng góp vào sự phát triển của
công ty Tinasoft Việt Nam và ngành công nghệ thông tin.
3.2. Mục tiêu nghiên cứu
Tôi sẽ nghiên cứu và tích hợp các thành phần có sẵn trong Flutter để tối ưu hóa
giao diện người dùng và cải thiện trải nghiệm người dùng. Tôi sẽ đánh giá hiệu quả và
so sánh hiệu suất của các thành phần trong Flutter để chọn và sử dụng chúng một cách
hiệu quả nhất. Mục tiêu của tôi là phát triển một ứng dụng di động đơn giản, mạnh mẽ
và linh hoạt. Tôi mong muốn quản lý dữ liệu một cách hiệu quả, đảm bảo tính bảo

Lớp CNTT 14-01 Page 16


17

mật cho thông tin người dùng và sản phẩm, cũng như tối ưu hóa quá trình giao tiếp
giữa frontend và backend.
Ở phía giao diện người dùng, mục tiêu của tôi là tạo ra một ứng dụng di động
thân thiện và tương tác, sử dụng Flutter để xây dựng một giao diện động, hiện đại và
dễ sử dụng. Tôi mong muốn cung cấp tính năng tìm kiếm thông minh, danh sách dịch
vụ phẩm mượt mà để tối ưu hóa quá trình tìm hiểu công ty và đặt hàng những sản
phẩm của công ty.
Ở phía công ty, mục tiêu của tôi là tôi sẽ giúp các Công ty dễ dàng tìm hiểu và
đáp ứng các yêu cầu của người có nhu cầu sử dụng dịch vụ để xây dựng một ứng
dụng hiệu quả đúng yêu cầu. Bên cạnh đó cũng là kênh quảng cáo giúp tăng doanh
thu cho công ty cũng như tăng hiểu quả nhận diện thương hiệu
Mục tiêu nghiên cứu của tôi cũng bao gồm thiết kế một ứng dụng có khả năng
mở rộng, đáp ứng nhanh chóng đến sự thay đổi trong thị trường và nhu cầu của người
dùng. Tôi muốn tạo ra một nền tảng linh hoạt, có khả năng tích hợp các tính năng mới
và cập nhật các dịch vụ một cách thuận lợi. Để hướng đến một mục tiêu lớn là đem lại
lợi nhuận, uy tín cho công ty Tinasoft Việt Nam và tất cả các công ty sẽ ứng dụng
vào thực tế.
Cuối cùng, mục tiêu của tôi là mang lại trải nghiệm mua sắm trực tuyến thú vị
độc đáo và yên tâm vào dịch vụ cho người dùng, không chỉ là quá trình mua bán đơn
thuần. Tôi muốn giúp họ tận hưởng việc lựa chọn theo cách mới mẻ và sáng tạo.
3.3. Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu của tôi tập trung vào cả người dùng và nhà cung cấp dịch
vụ trong lĩnh vực công nghệ thông tin. Đối với tôi, như là một người yêu công
nghệ,tôicó thể là một phần quan trọng trong nhóm người dùng mà chúng tôi đang
nhắm đến. Chúng tôi quan tâm đến nhu cầu và mong muốn cụ thể của tôi trong việc
tìm kiếm một công ty gia công phần mềm, chuyển đổi số,…, đồng thời công ty
Tinasoft Việt Nam có thể cung cấp một nền tảng để nhà cung cấp quảng cáo, quản lý
đặt hàng dịch vụ của mình.

Lớp CNTT 14-01 Page 17


18

Về phía nhà cung cấp dịch vụ, chúng tôi muốn hỗ trợ các doanh nghiệp trong
lĩnh vực điện thoại, cung cấp cho họ một nền tảng trực tuyến hiệu quả để quảng bá
sản phẩm và mở rộng kinh doanh. Doanh nghiệp hiểu rằng sự hài lòng của khách
hàng là quan trọng đối với những người kinh doanh này, và vì vậy, mong muốn xây
dựng một hệ thống mà tôi cảm thấy thoải mái và thuận tiện khi sử dụng.
3.4 Tổng quan về kiến thức
3.4.1. Flutter
3.4.1.1. Flutter là gì?
Flutter là một bộ SDK đa nền tảng có thể hoạt động trên iOS và Android do
Google phát triển được sử dụng để tạo ra các ứng dụng dành cho di động (native app).
Flutter gồm 2 thành phần quan trọng:
Một SDK (Software Development Kit): Một bộ sưu tập các công cụ sẽ giúp bạn
phát triển các ứng dụng của mình.
Một Framework (UI Library based on widgets): Một tập hợp các thành phần giao
diện người dùng (UI) có thể tái sử dụng (button, text inputs, slider, v.v.) giúp bạn có
thể cá nhân hóa tùy theo nhu cầu của riêng mình.
Nói chung, tạo một ứng dụng di động là một công việc rất phức tạp và đầy thử
thách. Có rất nhiều framework có sẵn, cung cấp các tỉnh năng tuyệt vời để phát triển
các ứng dụng di động. Để phát triển các ứng dụng dành cho thiết bị di động, Android
cung cấp một framework gốc dựa trên ngôn ngữ Java và Kotlin, trong khi iOS cung
cấp một framework dựa trên ngôn ngữ Objective-C/Swift.
Vì vậy, chúng ta cần hai ngôn ngữ và framework khác nhau để phát triển ứng
dụng cho cả hai hệ điều hành. Ngày nay, để khắc phục sự phức tạp này, có một số
framework đã được giới thiệu hỗ trợ cả hệ điều hành cùng với các ứng dụng dành cho
máy tính để bản. Những loại framework này được gọi là công cụ phát triển đa nền
tảng

Lớp CNTT 14-01 Page 18


19

Framework phát triển đa nền tảng có khả năng viết một code và có thể triển khai
trên nhiều nền tảng khác nhau (Android, iOS và Máy tính để bàn). Nó tiết kiệm rất
nhiều thời gian và nỗ lực phát triển của các nhà phát triển.
Có một số công cụ có sẵn để phát triển đa nền tảng, bao gồm các công cụ dựa
trên web. Mỗi framework này có mức độ thành công khác nhau trong ngành công
nghiệp di động. Gần đây, một framework công tác mới đã được giới thiệu trong họ
phát triển đa nền tảng có tên là Flutter được phát triển từ Google.
Flutter là một bộ công cụ giao diện người dùng để tạo các ứng dụng nhanh, đẹp,
được biên dịch nguyên bản cho thiết bị di động, web và máy tính để bàn với một ngôn
ngữ lập trình và cơ sở code duy nhất. Nó là miễn phí và code nguồn mở, Ban đầu nó
được phát triển từ Google và bây giờ được quản lý theo tiêu chuẩn ECMA. Ứng dụng
Flutter sử dụng ngôn ngữ lập trình Dart để tạo ứng dụng
Flutter chủ yếu được tối ưu hóa cho các ứng dụng di động 2D có thể chạy trên cả
nền tảng Android và iOS. Chúng ta cũng có thể sử dụng nó để xây dựng các ứng dụng
đầy đủ tính năng, bao gồm máy ảnh, bộ nhớ, SDK bên thứ ba,..
3.4.1.2. Các tính năng của Flutter
Flutter cung cấp các phương pháp dễ dàng và đơn giản để bắt đầu xây dựng các
ứng dụng dành cho thiết bị di động và máy tính để bàn đẹp mắt với một bộ thiết kế
material design và widget phong phú. Ở đây, chúng ta sẽ thảo luận về các tỉnh năng
chính của nó để phát triển framework di động.
Code nguồn mở (Open-Source:): Flutter là một framework code nguồn mở và
miễn phí để phát triển các ứng dụng di động.
Đa nền tảng(Cross-platform): Tính năng này cho phép Flutter viết code một lần,
duy trì và có thể chạy trên các nền tảng khác nhau. Nó tiết kiệm thời gian, công sức và
tiền bạc của các nhà phát triển.
Tải lại nóng(Hot Reload): Bất cứ khi nào nhà phát triển thực hiện thay đổi trong
code, thì những thay đổi này có thể được nhìn thấy ngay lập tức với Tài lại nóng. Nó

Lớp CNTT 14-01 Page 19


20

có nghĩa là những thay đổi hiển thị ngay lập tức trong chính ứng dụng. Đây là một
tính năng rất tiện dụng, cho phép nhà phát triển sửa các lỗi ngay lập tức.
Các tính năng và SDK gốc có thể truy cập (Accessible Native Features and
SDKs): Tính năng này cho phép quá trình phát triển ứng dụng dễ dàng và thú vị thông
qua code gốc của Flutter, tích hợp bên thứ ba và các API nền tảng. Do đó, chúng tôi
có thể dễ dàng truy cập SDK trên cả hai nền tảng.
Code tối thiểu (Minimal code): Ứng dụng Flutter được phát triển bởi ngôn ngữ
lập trình Dart, sử dụng biên dịch JIT và AOT để cải thiện thời gian khởi động tổng thể,
hoạt động và tăng tốc hiệu suất. JIT nâng cao hệ thống phát triển và làm mới giao
diện người dùng mà không cần nỗ lực thêm vào việc xây dựng hệ thống mới.
Widget: framework công tác Flutter cung cấp các widget có khả năng phát triển
các thiết kế cụ thể có thể tùy chỉnh. Quan trọng nhất, Flutter có hai bộ widget:
Material Design và các widget Cupertino giúp mang lại trải nghiệm không có trục trặc
trên tất cả các nền tảng
3.4.1.3. Kiến trúc của Flutter

Ảnh 1: Kiến trúc của Flutter

Lớp CNTT 14-01 Page 20


21

3.4.2. Dart
3.4.2.1 Giới thiệu về ngôn ngữ lập trình Dart
Dart là một ngôn ngữ lập trình hướng đối tượng mã nguồn mở, có mục đích
chung với cú pháp kiểu C do Google phát triển vào năm 2011 . Mục đích của lập trình
Dart là tạo giao diện người dùng frontend cho web và ứng dụng dành cho thiết bị di
động. Nó đang được phát triển tích cực, được biên dịch sang mã máy gốc để xây dựng
ứng dụng di động, lấy cảm hứng từ các ngôn ngữ lập trình khác như Java, JavaScript,
C # và Typed mạnh. Vì Dart là một ngôn ngữ biên dịch nên bạn không thể thực thi
code của mình trực tiếp; thay vào đó, trình biên dịch phân tích cú pháp nó và chuyền
nó thành code máy.
Nó hỗ trợ hầu hết các khái niệm chung của ngôn ngữ lập trình như lớp, giao diện,
hàm, không giống như các ngôn ngữ lập trình khác. Ngôn ngữ Dart không hỗ trợ
mảng trực tiếp. Nó hỗ trợ tập hợp, được sử dụng để sao chép cấu trúc dữ liệu như
màng, generic và kiểu tùy chọn.
3.4.2.2. Lý do tại sao mà ngôn ngữ Dart lại được Flutter lựa chọn để sử
dụng:
 Tối ưu cho giao diện người dùng
Hoạt động bất đồng bộ cho phép chương trình của bạn có thể hoàn thành hoàn
toàn công việc trong khi chờ hoạt động khác kết thúc. Đây là một số hoạt động bất
đồng bộ phổ biến:
- Tìm nạp dữ liệu thông qua mạng
- Viết cơ sở dữa liệu
- Đọc dữ liệu từ file
Hầu hết các máy tính, thậm chí các nền tảng mobile, đều có CPU đa nhân. Để
tận dụng hết tất cả các nhân đó, các dev thông thường phải sử dụng các luồng bộ nhớ
chia sẻ đồng thời. Các concurrency ở trạng thái chia sẻ có thể dễ bị lỗi và có thể dễ
dẫn đến những code khá phức tạp. Thay vì sử dụng luồng, tất cả các code của ngôn

Lớp CNTT 14-01 Page 21


22

ngữ Dart chạy bên trong các isolate. Mỗi isolate có vùng bộ nhớ riêng, đảm bảo rằng
không có bất kỳ trạng thái của isolate này có thể truy cập được vào isolate kia.
Ngôn ngữ lập trình này cũng tối ưu cho việc xây dựng giao diện người dùng với
những tính năng cho phép mở rộng các collection và tùy chỉnh UI cho từng nền tảng
khác nhau.
 Việc phát triển năng suất hơn
Flutter có tính năng hot reload giúp bạn thử nghiệm, xây dựng UI, thêm tính
năng và fix bug một cách nhanh chóng và dễ dàng hơn. Tính năng hot reload hoạt
động bằng cách đưa những file source code đã được update vào máy ảo Virtual
Machine (VM) của Dart. Sau khi VM cập nhập các class với phiên bản mới nhất của
field và function, framework Flutter sẽ tự động tái xây dựng cây widget, cho phép bạn
xem các hiệu ứng mà bạn đã thay đổi một cách nhanh chóng hơn.
Flutter cung cấp phân tích static cho phép bạn phát hiện ra những vấn đề ngay
trước khi dòng code đó được thực thi. Nó thực sự là một công cụ mạnh mẽ có thể giúp
các dev tránh việc phát sinh bug và đảm bảo được code tuân theo các quy tắc của
style.
 Hiệu năng nhanh trên tất cả nền tảng
Ngôn ngữ Dart có trình biên dịch AOT (Ahead of Time) giúp nó biên dịch nhanh,
đúng và native code. Điều này không chỉ đảm bảo giúp Flutter nhanh hơn mà còn
đảm bảo rằng hầu như mọi thứ (bao gồm tất cả các widget) đều có thể được tùy chỉnh.
Với lý do đó cho nên hầu hết các phần của Flutter đều được viết bằng ngôn ngữ này.

Lớp CNTT 14-01 Page 22


23

CHƯƠNG 4: PHÂN TÍCH HỆ THỐNG

4.1. Yêu cầu hệ thống


Phân tích rõ quy trình nghiệp vụ của ứng dụng của công ty Tinasoft Việt Nam
bao gồm các chức năng:
- Quản lý loại dịch vụ: bao gồm danh sách dịch vụ, thêm dịch vụ, sửa dịch vụ,
xóa dịch vụ.
- Quản lý loại bài viết: bao gồm danh sách, thêm bài viết mới, sửa bài viết, xóa
bài viết.
- Tài khoản: bao gồm đăng ký, đăng nhập.
4.2. Mô tả bài toán
Ứng dụng điện thoại này tập trung vào việc xây dựng một nền tảng trực tuyến
hiệu quả cho cả khách hàng và Admin. Mục tiêu của ứng dụng là cung cấp khả năng
giới thiệu và đặt hàng trực tuyến cho các dự án công nghệ thông tin đa dạng. Đồng
thời, ứng dụng cũng cung cấp các chức năng quản lý cho Admin, giúp họ nhập và
quản lý thông tin về các dịch vụ, bài viết và cập nhật công nghệ mới của công ty.
Dưới đây là mô tả chi tiết của bài toán:
Trong ứng dụng, khách hàng sẽ có thể truy cập vào danh sách các dự án công
nghệ thông tin và tìm hiểu thông tin chi tiết về từng dự án. Họ cũng có thể đặt hàng
trực tuyến cho các dự án mà họ quan tâm. Ngoài ra, ứng dụng cũng cung cấp các chức
năng tìm kiếm và lọc dự án để giúp khách hàng tìm thấy các dự án phù hợp với nhu
cầu của mình.
 Chức năng: Xem thông tin sản phẩm.
Đối với Admin, ứng dụng cung cấp giao diện quản lý để họ có thể quản lý thông
tin về các dịch vụ và bài viết. Admin có thể thêm, sửa đổi và xóa các dịch vụ và bài
viết. Họ cũng có thể thêm cập nhật về công nghệ mới của công ty và hiển thị chúng
cho khách hàng. Qua giao diện quản lý, Admin có quyền kiểm soát và duyệt thông tin
trước khi hiển thị cho khách hàng.

Lớp CNTT 14-01 Page 23


24

 Chức năng: Thêm mới, sửa, xóa bài viết và bài viết.
Khách hàng cần đăng nhập vào hệ thống để sử dụng các chức năng như xem
thông tin bài viết, xem thành phẩm của công ty , và đặt hàng theo yêu cầu. Nếu chưa
có tài khoản, họ có thể đăng ký mới với các thông tin như email, mật khẩu, và thông
tin cá nhân cơ bản.
 Chức năng: Đăng nhập, đăng ký tài khoản mới.
Tổng quan, ứng dụng điện thoại này tạo ra một nền tảng trực tuyến để khách
hàng có thể tìm hiểu và đặt hàng trực tuyến cho các dự án công nghệ thông tin. Nó
cũng cung cấp cho Admin các chức năng quản lý, cho phép họ nhập và quản lý thông
tin về các dịch vụ, bài viết và cập nhật công nghệ mới của công ty.
4.3. Các chức năng của hệ thống
4.3.1. Khách hàng
- Chức năng đăng nhập và đăng kí tài khoản.
- Chức năng đổi mật khẩu.
- Chức năng đổi thông tin cá nhân.
- Chức năng đặt nhiều sản phẩm hoặc đặt một sản phẩm.
4.3.2. Quản trị
- Chức năng quản lý bài viết.
- Chức năng quản lý dịch vụ.
4.4. Thiết kế hệ thống
4.4.1. Xác địng Actor và Usecase
ST ACTOR USECASE
T
1 Admin - Quản lý bài viết: Thêm sửa xóa
- Quản lý dịch vụ: Thêm sửa xóa
2 Khách hàng - Đăng ký tài khoản
- Quản lí tài khoản cá nhân:
+ Đổi mật khẩu
Lớp CNTT 14-01 Page 24
25

+ Thay đổi thông tin


- Đăng nhập, đăng xuất

4.4.2. Biểu đồ Usecase


4.4.2.1. Usecase tổng quát

Ảnh 2: Usecase tổng quát


4.4.2.2. Sơ đồ phân rã Usecase
- Usecase đăng nhập, đăng xuất

Ảnh 3: Usecase đăng nhập, đăng kí


- Usecase đăng ký tài khoản khách hàng

Lớp CNTT 14-01 Page 25


26

Ảnh 4: Usecase đăng kí


- Usecase quản lý bài viết

Ảnh 5: Usecase quản lí bài viết

Lớp CNTT 14-01 Page 26


27

- Usecase quản lý dịch vụ

Ảnh 6: Usecase quản lí dịch vụ


4.4.3. Biểu đồ hoạt động
- Biểu đồ hoạt động đăng nhập, đăng xuất

Ảnh 7: Biểu đồ đăng nhập

Lớp CNTT 14-01 Page 27


28

Ảnh 8: Biểu đồ đăng xuất- Biểu đồ hoạt động đăng kí

Lớp CNTT 14-01 Page 28


29

Ảnh 9: Biểu đồ đăng kí

Lớp CNTT 14-01 Page 29


30

4.4.4. Biểu đồ tuần tự


- Biểu đồ tuần tự đăng nhập, đăng xuất

Ảnh 10: Biểu đồ đăng nhập

Ảnh 11: Biểu đồ đăng xuất

Lớp CNTT 14-01 Page 30


31

- Biểu đồ tuần tự đăng ký tài khoản của khách hàng

Ảnh 12: Biểu đồ đăng kí


- Biểu đồ tuần tự quản lý dịch vụ

Ảnh 13: Biểu đồ quản lí dịch vụ

Lớp CNTT 14-01 Page 31


32

CHƯƠNG 5: KẾT QUẢ THỰC NGHIỆM

5.1. Các Chức Năng Đã Hoàn Thành


5.1.1. Trang đăng nhập

Lớp CNTT 14-01 Page 32


33

5.1.2. Trang đăng kí

Lớp CNTT 14-01 Page 33


34

5.1.3.Trang chủ

Lớp CNTT 14-01 Page 34


35

5.1.4. Trang các dự án tiêu biểu

Lớp CNTT 14-01 Page 35


36

5.1.5. Bộ máy công ty

Lớp CNTT 14-01 Page 36


37

5.1.6. Trang dịch vụ

Lớp CNTT 14-01 Page 37


38

5.1.7. Trang Blog

Lớp CNTT 14-01 Page 38


39

5.1.8. Trang chi tiết dịch vụ


(Ví dụ dịch vụ Gia công phần mềm)

Lớp CNTT 14-01 Page 39


40

5.2. Các Chức Năng Có Thể Phát Triển


- Liên kết đăng nhập bằng Facebook
Mô tả: Kết nối tài khoản Facebook của bạn để đăng nhập vào ứng dụng.
- Quét QR để đăng nhập
Mô tả: Quét mã QR để đăng nhập nhanh chóng
- Tìm kiếm
Mô tả: Tìm kiếm sản phẩm theo yêu cầu.
- Dự đoán tìm kiếm
Mô tả: Thông qua các ký tự khách hàng đang nhập, dự đoán và hiển thị lên màn
hình sản phẩm và khách hàng đang muốn tìm.

Lớp CNTT 14-01 Page 40


41

CHƯƠNG 6. KẾT LUẬN VÀ KIẾN NGHỊ

 Kiến nghị
Trong thời đại 4.0, công nghệ và ứng dụng di động đã trở thành một phần thiết
yếu trong cuộc sống của chúng ta. Việc mua sắm online đã trở thành một xu hướng
phổ biến, mang lại sự tiện lợi và linh hoạt cho người dùng. Đặc biệt trong bối cảnh
hiện tại, khi việc di chuyển và gặp gỡ trực tiếp gặp khó khăn, ứng dụng mua sắm trực
tuyến càng trở nên quan trọng hơn bao giờ hết.
Công ty Tinasoft Việt Nam đã phát triển một ứng dụng điện thoại nhằm giúp mọi
người tiếp cận và đáp ứng nhu cầu mua sắm công nghệ thông tin một cách dễ dàng và
thuận tiện, mà không cần phải di chuyển xa. Ứng dụng này cho phép người dùng tìm
kiếm, so sánh và đặt mua sản phẩm công nghệ thông tin từ bất kỳ đâu và vào bất kỳ
thời điểm nào. Điểm mạnh của ứng dụng là mang lại trải nghiệm mua sắm trực tuyến
an toàn, đáng tin cậy và tiết kiệm thời gian.
Chúng tôi cam kết cung cấp dịch vụ chất lượng và đáng tin cậy cho người dùng,
đồng thời đảm bảo an ninh thông tin và bảo vệ quyền lợi của khách hàng. Ứng dụng
của chúng tôi sẽ tiếp tục cải thiện và phát triển để đáp ứng các nhu cầu thực tế của
người dùng trong cuộc sống hiện đại.

 Kết luận
Qua thời gian thực hiện, dưới sự hướng dẫn và góp ý tận tình của Thầy Trần
Đức Minh, tôi đã hoàn thành đồ án đúng theo thời gian quy định và đã hoàn thành
trên 90% những dự dịnh ban đầu của nhóm về ứng dụng này. Trong đồ án t đã thực
hiện các công việc như sau: Xây dựng ứng dụng điện thoại công ty Tinasoft Việt Nam
bằng Android Studio và Flutter. Với vốn kiến thức ở thời điểm hiện tại nhóm chúng
tôi đã hoàn thành được ứng dụng tuy còn vài lổ hổng trong ứng dụng nhưng tôi tin
rằng sau thêm vài lần sửa chửa và update ứng dụng lên trong tương lai thì ứng dụng
sẽ có thể đưa vào sử dụng trong thực tế.

Lớp CNTT 14-01 Page 41

You might also like