BO GIAO DUC & DAO TAO
TRUONG DAI HOC KINH TE QUOC DAN
VIEN CONG NGHE THONG TIN VA KINH TE SO —
Chuyên ngành :Công nghệ thông tinHệ đào tạo :Chính quy
Giảng viên hướng dẫn :TS Đặng Minh Quân
——:——«>l»c—= Oe
Trang 2MỤC LỤC
LOT MO DAU © G G SG << << EESESES SE se EeSesevesesseesee 1
CHƯƠNG 1: MO TẢ BÀI TOÁN XÂY DỰNG WEBSITE
QUAN LÝ CẢM BIEN VA KET NÓI CAM BIEN NHÀ MAY
i0 7Š ‹::1 2
1 Giới thiệu bài COANE d- (<< 9 9 9.99 9.90 0.0 001009600408 2
2 Tại sao lại giải quyết bài toán: -s<css<sssvssesserseesserseerssrssersee 2
2.1 Nói chung - 0s << S9 9.999.908.908 000896948040894884896806 2
2.2 Nói riÊng: cọ cọ HH TH cọ TH 0000000800609 804 3
3 V nghiia thurc té: 65 4
3.1 Trong khi giải bài tOÁN: << <5 S9 9 0 90 956896988866 43.2 Sau khi giải bài toa: o œ5 HH Họ ưng n0 g0 4
CHƯƠNG 2: SƠ LƯỢC VE CÁC CÔNG NGHỆ DUOC SU
DỤNG TRONG DE 'TÀ I << se se ©s< sesse=ssessessecssss 5
1.1 .NET Core là một platform (nền tang) để thực thi ứng dụng: 5 1.3 .NET Core cung cấp các thư ViỆN: -.s s s-ssese=secscssessesses 6
2 ASP.NET COFe€: o.5-G 5c 0005008000806 62.1 ASP.NET Core khái niệm chung - 25-55-55 ssessesesseesessese 6
2.2 Cấu trúc của ASP.NET COF€: e«-ces<ccecesseserkeseeorreseroree 8
2.3 Cách thức hoạt động của một ứng dụng ASP.NET Core 83 ASP.NET Core MVC và Web APÌ o o-s- se su vesesseseesese 10
6 MOTT và MQTTne€(: o 70G G5 5 565 99 59959995 9699056995.968556695566556695 15
CHƯƠNG 3: PHAN TÍCH VA THIET KE HE THÓNG 16
Trang 31 Pha phân tÍCHh: << 5 9 9.9 9 9.999 9.9009.090 8096968000996 16
1.1 Biểu đồ UseCase: s«-ssscssereservserrserrserrserrsesrssersssrke 16 1.2 Biểu đồ lớp: o°œ©c< se ©ssssExsEEseEseEserseEsersersetseessessersere 24 1.3 Biểu đồ trạng thái: s-s-scscsecsecsscssrssesserseessrsssssers 26 1.4 Biểu đồ tuần tự: <-s©cs©csccsecserserserserserserssrssessersessere 37 1.5 Biểu đồ giao tiẾp: -c-< << se ssEcsexsersersersersersersersesssessessere 61
© - Giao đIỆN: d sọ eee 93
5 Trang Quản lý chỉ số kỹ thuật: . -s- s5 se sessssessessessessessesse 96
Trang 4PHAN: KET NÓI CẢM BIEN «-ccsseeceseeees.e 110
2 Giao diện cập nhật dữ liệu cảm biến: -s-s-s<ssssessessessesse 110
TÀI LIEU THAM KHAO -s°-scssecssesecse.s LLL
KET LUẬN 5 55ccsecsssesesseseesesssssesssssssesessessesseses Í 2
Trang 5LỜI MỞ ĐẦU
Trong cuộc sống hiện nay, nhu cầu của con người thay đồi theo từng ngày, từng giờ Nếu như trước kia con người chỉ mong muốn cuộc sống có cơm ăn đầy đủ, quần áo mặc ấm Thì ngày nay nhu cầu đó đã được thay thế băng cơm ngon quần áo đẹp.
Cuộc sống chính là như vậy, là sự biến đổi không ngừng, là luôn tiến đến những giới hạn mới phục vụ cho những nhu cầu mới của con người Và trong cuộc sống hiện
đại ngày nay, khi khoa học công nghệ thay đồi theo từng giờ nhu cầu của con người cũng biến đồi theo Không chỉ dừng lại ở nhu cầu muốn tiếp cận với công nghệ mới mà ngày nay con người còn có nhu cầu làm chủ các công nghệ này Làm chủ ở đây không giới hạn trong đối tượng là những kỹ sư, những nhà phát triển phần mềm mà bao trùm lên tất cả mọi người Làm chủ ở đây không dừng lại ở mức nắm rõ, sử
dụng tốt các công nghệ mà còn mở rộng tới phạm vi sáng tạo ra các công nghệ mới, các sản phẩm công nghệ Việc sáng tạo này có thé rất vĩ mô như tạo ra robot phục vụ con người nhưng cũng rất đơn giản như việc tạo ra một trang web Trang web
ngày nay muôn hình muôn dạng nhưng cùng có một điểm chung là thỏa mãn một
yêu cầu nào đó của con người Đó có thê là trong quản lý nhân sự, trong quản lý tài chính Với ý nghĩa như vậy, thông qua bài chuyên đề này tôi muốn mang đến một cách giải quyết yêu cầu quản lý thông tin cho nhà máy điện của con người hiện nay thông qua việc xây dựng website “Quản lý cảm biến và kết nối cảm biến nhà máy
điện”
Trang 6CHUONG 1: MÔ TẢ BÀI TOÁN XÂY DỰNG _
WEBSITE QUAN LÝ CAM BIEN VÀ KET NÓI CAM BIEN NHA MAY DIEN
1 Giới thiệu bài toán:
Trong thời đại công nghệ phát triển như hiện nay, việc một doanh
nghiệp (công ty) có một website dé quản lý thông tin đã không còn là điều gì quá xa lạ Thông tin được quan lý cũng vô cùng đa dạng từ
những thông tin cơ bản như thông báo của công ty tới những thông tin
có giá trị như thông tin về nhân sự Và đã bao giờ bạn tự hỏi với một nhà máy điện bao gồm hàng nghìn thiết bị, họ quán lý những gi qua 1 website? và họ quản lý chúng như thế nào?.Trong bài chuyên đề thực tập lần này tôi và các bạn sẽ cùng đi tìm câu trả lời cho những câu hỏi trên thông qua việc giải quyết bài toán cụ thể xây dựng website “Quản lý cảm biến và kết nối cảm biến nhà máy điện” Vậy nên bài toán cuối cùng mà tôi muốn mang đến và giải quyết trong chuyên đề này là xây dượng website “Quan lý cảm biến và kết nối cảm biến nhà máy điện” 2 Tại sao lại giải quyết bài toán:
2.1 Nói chung
Theo thống kê không chính thức đến từ VNetWork hiện nay số
người dùng tại Internet hiện nay 68 triệu/người Nếu so sánh với
dân số Việt Nam (ngày 27/06/2021 theo số liệu mới nhất từ Liên Hợp Quéc) là 98 triệu người thì số người dùng Internet tại Việt
Nam chiếm tỷ lệ khoảng 70% so với dân số Đây là một con số vô
cùng lớn, với lượng người truy cập Internet nhiều như vậy sẽ tạo ra một lượng nhu cầu sử dụng vô cùng lớn cùng với một thị trường
tiềm năng cho các nhà phát triển web Điều này cũng đồng nghĩa
việc bạn có một trang web cho riêng mình là rất dễ dàng nhưng giá cả thì lại không phải là rẻ Nên tôi muốn thông qua bài toán điều
dai tiên tôi muốn cung cấp cho mọi người sự đánh giá tổng quan về
việc xây dựng một trang web?.
Chúng ta thường rất quen thuộc với các trang web quản lý nhân sự, quản lý bán hàng nhưng liệu đã ai đặt ra câu hỏi vậy nếu nhà máy
Trang 7điện cũng tạo một website thì họ sẽ quản lý gì? Giải quyết câu hỏi trên cũng là một mục đích của chuyên đề hướng đến.
Như chúng ta có thê thấy hiện nay công nghệ thông tin vô cùng
phát trién Từ những thứ trước kia được cho là thiếu thực tế có vẻ xa vời thì nay lại trở nên gần gũi và có thé sử dụng như trong lĩnh vực trí tuệ nhân tạo với sự xuất hiện của các trợ lý nhân tạo như trợ lý Google, Amzon Alexa, Siri, Hay những thứ đã phát triển sẵn từ trước nhưng thiếu phổ biến nay cũng đã được áp dung vào cuộc
sống hàng ngày như thanh toán điện tử cụ thé thông qua ví điện tử
như paypal, airpay, hay thông qua thẻ hoặc trong lĩnh vực
thương mại điện tử với sự xuất hiện của nhiều sàn giao dịch thương mại điện tử nồi tiếng hiện nay như: Shopee,Lazada, Với một
cuộc sống đang từng ngày thay đổi như vậy việc mọi người biết về công nghệ thông tin không chỉ là cần thiết mà là vô cùng quan
trọng Vậy nên thông qua giải quyết bài toán này tôi cũng muốn cung cấp một ít kiến thức của mình về công nghệ thông tin cụ thé
trong lĩnh vực lập trình web tới mọi người CGIúp mọi người có cái
nhìn tổng quan về những thứ đăng sau website.
2.2 Nói riêng:
Vào những thế kỷ trước khi khoa học công nghệ không phát triển như ngày nay thì cách thức con người sử dụng dé quan lý thông tin thường là chép tay các tài liệu , rồi lưu trữ vào một vị trí xác định.
Khi các thông tin mới người ta sẽ lấy các tài liệu và bổ sung váo nó bằng hình thức viết tay Có thé nói với cách thức lưu trữ như vậy vô cùng tốn công và thời gian Đó là trong quá khứ vậy các bạn có
từng đặt câu hỏi vậy ngày nay con người đã và đang sử dụng
những hình thức, công cụ, giải pháp gì để quản lý thông tin.
Ngày nay với sự phát triển công nghệ các doanh nghiệp có hàng
ngàn các lựa chon cho việc lưu trữ và quản lý thông tin thông tin
của mình Họ có thê lựa chọn tự phát triển hoặc thuê ngoài như thiết kế mới hoàn toàn hoặc sử dụng các phần mềm có sẵn như: phần mềm quan lý nhân sự BambooHR,SmartRecruiters, Nói
như vậy đề thấy hiện nay hầu như toàn bộ các doanh nghiệp, công
Trang 8ty đều lựa chọn sử dụng công nghệ liên quan đến máy tính, Internet dé ứng dụng vào công việc quản lý và lưu trữ thông tin.
Giải quyết 2 luận điểm trên chính là một mục dich mà bai toán tôi muốn hướng đến Thông qua bài tiêu luận này tôi muốn cung cấp cho các bạn, doanh nghiệp một giải pháp dé giúp quan lý thông tin Tuy rằng nó chỉ một website chưa phải một phần mềm nhưng nó
có đủ sự tiện lợi, dé sử dụng, dé quản lý,
3 Ý nghĩa thực tế:
Bài toán trên không phải theo dạng như những bài toán giải hệ phươngtrình, giải phương trình bạn đã học Nó không chỉ dừng lại ở việc chỉ
cô gang tìm cách giải và đưa ra đáp án Mà bài toán ở đây còn hướng đến những giá tri thực tế Giá trị thực tế của bài toán được thể hiện qua
các khía cạnh như trong giải bài toán và sau khi giải xong bài toán.3.1 Trong khi giải bài toán:
Các công cụ được sử dụng dé giải bài toán luôn là các công nghệ mới, được phần lớn mọi người sử dụng thông qua đó cung cấp
thông tin cơ bản về các công nghệ sử dụng trong lập trình web Đồng thời quy trình áp dụng dé giải bài toán cũng được cấu trúc theo các quy trình thực tế qua đó mang đến các cách tiếp cận cho
mọi người khi giải một bài toán như vậy.
3.2 Sau khi giải bài toán:
Thứ chúng ta có thể đạt được thông quan giải bài toán này không chỉ một trang web quản lý thông tin và kết nối cho nhà máy điện
mà là một quy trình để xây dựng trang web, là một giải pháp trong
quản lý thông tin.
Trang 9CHƯƠNG 2: SƠ LƯỢC VE CÁC CÔNG NGHỆ DUOC
SỬ DỤNG TRONG DE TÀI
1 .NET Core:
.NET Core là một nền tang (Platform), bao gồm các framework cùng các hệ thống thư viện (library) được Microsoft đưa ra phiên ban đầu
tiên là vào ngày 27/06/2016.
.NET Core va NET Framework là côn nghệ hoàn toàn độc lập vớinhau.
1.1 .NET Core là một platform (nền tảng) dé thực thi
ứng dụng:
e Bat kỳ dang chương trình nao từ dll hoặc tự thực thi EXE chỉ cần viết băng ngôn ngữ lập trình NET đều
được dịch sang mã trung gian IL (hay còn gọi là
Intermediate Language)
e Môi trường thực thi của NET Core được gọi là
CoreCLR và có thể chạy trên nhiều hệ điều hành như
Windows, Linux, và sử dụng trình biên dịch trung
gian JIT (Just-in-Time) complier.
e Compiler có nhiệm vụ dich mã IL thành một dang
mã máy (machine instruction) khi chạy chương trình
và có thé dich sang mã máy của 3 nền tảng nó hỗ trợ.
e Dưới đây là ToolChain của NET Core (“Toolchain
là tập hợp của các tool dùng để biên dịch source
code thành các file executable có thể chạy được trên target device” (Pham Minh Tuấn (Shun), 2020))
Trang 10CH, WB MET code Fa code
1.2 .NET Core cung cấp framework:
e NET Core cung cấp các freamwork trong các lĩnh vực phát triển web (ASP.NET Core), phát triển ứng
dung desktop trên windows (Windows Forms vàWPF) (Trong Đức,2019)
1.3 .NET Core cung cấp các thư viện:
e NET Core có các hệ thống thư viện (library) bao
gồm các class dùng trong các ngôn ngữ được nó hỗ
trợ hiện nay (C#, VB.NET và F#)
e Trong thư viện bao gồm các thư viên cơ bản của
.NET Frameworrk và thư viện class riêng của NETCore.
2 ASP.NET Core:
ASP.NET Core là một framework dùng dé phát triển các ứng dung web, được Microsoft giới thiệu phiên bản đầu tiên vào tháng 6 năm
2.1 ASP.NET Core khái niệm chung
e ASP.NET Core và ASP.NET là 2 framework độc lập, riêng rẽ ASP.NET Core là một framework mã nguồn
mở, được xây mới hoàn toàn nhưng vân có trong
Trang 11mình những đặc điểm nỗi trội của ASP.NET, giúp
xây dựng các ứng dụng web chạy đa nền tảng.
ASP.NET Core thống nhất tất cả các mô hình lập trình đã xuất hiện trong ASP.NET như MVC, Web
API và xây mới như Razor Pages thành một mô hình
chung, dùng chung thư viện Người dùng sẽ được lựa
chọn mô hình lập trình mà mình muốn làm.
Những ứng dụng web được viết từ ASP.NET Core rất đan dạng từ ứng dụng web HTML truyền thống,
ứng dung web đơn trang(Single Page Application,
SPA) dén dich vu gọi ham từ xa (Remote Procedure
Call, RPC).
ASP.NET Core có thé chạy trên NET Framework
(Mai Chi, 2019).
Dé giải thích điều này cần biết một điều: quá trình
runtime các ứng dung là quá trinh chương trình may
ảo sẽ nạp ứng dụng vào dé thực thi (Mai
Chi,2019).Lúc này ứng dụng phải nằm ở dang mã
trung gian IL.
Mà các ứng dụng xây dựng trên framework
ASP.NET Core sẽ sử dụng một hệ thống API mà ở đó chứa các API cơ bản của NET Core Đồng thời
các API cơ bản này cũng trùng với các API cơ bản
của NET Framework.
Vậy nên có thể đưa ra kết luận như trên.
ASP.NET Core có thé coi là một tầng bổ sung xây
dựng bên trên ứng dụng console với mục đích chuyển đổi thành ứng dụng web.
Với cách nhìn nhận trên giúp các ứng dụng xây dựng
từ ASP.NET Core có thé chạy trên nhiều hệ điều
hành, chạy như một web server độc lập hoặc kết hợp
với các server khác (IIS).
Trang 12hd Middleware URL Routing Dependency Configuration
Server Injection & Logging
(Mai Chi, 2021)
2.2 Cấu trúc của ASP.NET Core:
ASP.NET Core gồm 3 phan như hình trên bao gồm:
e Application Frameworks: chứa framework gitip xây
dựng các loại ứng dụng web bao gồm: MVC
framework, Razor Pages,
e Utility Frameworks: chứa framework liên quan tới
bao mật và cơ sở dit liệu bao gồm: Indentity va
Entity Framework.
e Platform: chứa những thành phầm tạo nên nền tảng
chung cho toàn bộ ứng dụng web.
2.3 Cách thức hoạt động của một ứng dụng ASP.NETCore
2.3.1 Khái niệm chung:
Trong một ứng dụng sử dung ASP.NET Core framework
bạn sẽ có 2 chương trình web server bao gồm: reverse proxy
(IS,Apache, ), built-in-server Kestrel Trong đó Kestrel là
web server riêng của ASP.NET Core, được xây dựng độc
lập và có thé chạy trên nhiều nền tảng (Windows, )
Reverse proxy không phải thành phan bắt buộc, bạn có thé
lựa chon ứng dụng chạy có nó hoặc không.
e Nếu có tương đương reverse proxy sẽ là server dam nhận quá trình giao tiếp với client, server sẽ nhận các yêu cầu từ client dưới dạng HTTP nhưng nó không
xử lý mà chuyên tiếp yêu cầu này cho Kestrel.
Trang 13Kestrel sẽ có nghĩa vụ xử lý yêu cầu và gửi lại kết
qua cho reverse proxy.
e Nếu không ứng dụng lúc này trở thành ứng dụng
console độc lập chạy với web server Kestrel.
Middleware là các thư viện/thành phần phần làm nhiệm vụ xử lý các truy vấn HTTP và trả lại kết quả Các middleware có thê ghép lại với nhau thành các chuỗi (pipeline) tùy theo
mục đích sử dụng, với nhiệm vụ cụ thê.
2.3.2 Cách thức hoạt động:
Trình duyệt web (Browser) gửi yêu cầu người dùng dưới dạng các yêu cầu HTTP tới server.
Sau đó các yêu cầu sẽ được sẽ được nhận bởi
reverse proxy (IIS hoặc Apache, ) Reverse
proxy sẽ chuyên yêu cầu tới Kestrel
(ASP.NET Core web server) Kestrel nhận các
yêu cầu HTTP tiếp tục chuyền nó tới các
middleware Middleware sẽ xử lý các yêu cầu này và chuyên kết quả tới MVC middleware.
Tại day MVC middleware sẽ sinh ra HTML
phản hồi chuyền nó tới Middleware,rồi lại
chuyền tới Kestrel Kestrel sẽ gửi kết quả tới reverse proxy Reverse proxy chuyền kết quả lại cho trình duyệt Trình duyệt hiển thị kết
quả này cho người dùng.
Dưới đây là mô hình cơ bản chi quá trình trên:
Trang 14made to the server to 7 The HTML responsethe homepage is sent to browser.
_ | em 1H
L Request is forwarded by a
IS/NGINX/Apache to your
ASPNET Core app.
3 The ASPNET Core web server : (
receives the HTTP request and :passes it to middleware ‘
1 The middleware processes ‘ ;
che request and passes iton = | 4 ‘Response pes rên
:0 the MYC middleware ‘ | web server.
ASP.NET Core MVC la mot framework trong ASP.NET
Core thực thi mô hình hién trúc MVC (Trọng Đức,2020) Từ framework này ta có thé xây dựng được các ứng dụng
nhưng ứng dụng web truyền thống, web API 3.1.1 MVC:
MVC là mẫu thiết kế được sử dụng trong phát
trién phan mềm Được sử dụng trong phát
triển web, ứng dụng desktop, mobile nhưng
phô biến hơn cả là trong phát triển web Thành phần MVC chia làm 3 phan:
e M(Model) là thành phần lưu trữ dữ
liệu và trạng thái của ứng dụng Model
có thê là cơ sở dữ liệu nhưng cũng có thể là file XML bình thường
e V(View) là thành phần dùng đề hiển thị đữ liệu, hiển thị giao diện người
dùng View được cấu tạo từ các thành phần HTML,CSS, View cung cấp
10
Trang 15giao diện người dùng giúp người dùng
và hệ thống có thé giao tiếp thông qua
các thao tác có sẵn trên view View chỉ
làm nhiệm vụ hiển thị dữ liệu, chuyển giao yêu cầu người dùng nhưng không có tự yêu cau dữ liệu.
e C(Controller) là thành phan dùng dé xử lý các yêu cầu người dùng đồng
nghĩa có thê thay đổi model và cung
câp view tương ứng.
(Monamedia-Công ty thiết kế website cao cap,n.d)
Controller nhận yêu cau va xử ly yêu cầu
người dùng Trong quá trình này controller
có thê kết nối tới thành phần Model đề lấy dữ liệu Sau đó lựa chọn view dé hiển thị kết quả.
11
Trang 163.1.2 MVC trong ASP.NET Core:
Xét mơ hình hoạt động:
The MVC Request Life Cycle
4> ÌMatch URL to a route, HttpHandler builds the
Which has an associated right controller based on Acton (hi and
HttpHandler the route data Method thhợgm nh
LSC appropriate formatGenerates the
Non HTML Response
Action Result «
If the format is HTML, Writes the data to the
parse and render the view tesponse stream in the
Một truy van dang HTTP được tao ra từ người sử dụng trang web được cơ chế routing (ánh xạ)
Sang một action cụ thé (phương thức) thuộc một controller cụ thể (class) Trong phương thức này
sẽ thực hiện yêu câu được tạo ra sẽ được sử lý.
12
Trang 17Việc xử lý trên có thé dẫn tới sự kết nối model (CSDL) và cũng có thé thay đổi dữ liệu trong
model Đề hoàn tất quá trình xử lý cần bước cuối cùng là lựa chọn view dé hiển thị ra cho người
Lưu ý: Đề sử dụng được mô hình kiến trúc MVC trong ASP.NET Core ta cần có một middleware
có tên là MVC middleware.
3.2 Web API:
Web API là một cách gọi chung cho các chương trình chạy
trên server trả về kết quả không phải dưới dạng HTML mà
là dữ liệu ở các dạng JSON hoặc XML.
Web API trong ASP.NET Core có thé được xây dung thông qua framework ASP.NET Core MVC với một số thay đổi
nhỏ trong kỹ thuật.
Trong Web API thành phan việc xuất giao diện không nằm trong phạm vi xử lý của server, server chỉ đảm nhận xuất dữ liệu Quá trình xử lý dữ liệu và hiển thị sẽ do một một thành phần khác đảm nhận cụ thể phần giao diện người dùng
nhưng là một ứng dụng độc lập chạy trên một thiết bị khác Như vậy trong một ứng dụng sử dụng Web API ta có thể
chia làm 2 phần một phần: phần giao diện là một ứng dụng chạy trên một thiết bị khác và một chương trình chạy trên
Phan giao diện có thé là các ứng dung don trang, các ứng
dụng mobile hoặc ứng dụng desktop.
Phần server là Web API.
4 SQL Server:
4.1 Khai niệm:
SQL Server là một hệ quan trị cơ sở dit liệu quan hệ
(Relational Database Management System (RDBMS)) đồng
13
Trang 18thời cũng là một hệ quả trị cơ sở dữ liệu đối tượng
(Oject-Relational Database Management System (ORDBMS))
(Vũ An,n.d).Được sinh ra với mục đích dé chứa dit liệu và truy xuất theo yêu cầu Hỗ trợ ngôn ngữ SQL với mục đích để “giao tiếp” giữa máy Client và hệ quản trị cơ sở dữ liệu.
SQL Server có thé chạy trên đa nên tảng cụ thể (Windows, Linux) bắt đầu từ phiên bản SQL Server 2017.
Đề thực hiện công việc với SQL Server ta cần một thành phần là workstation Nên có hiểu mô hình hoạt động của
SQL Server bao gồm 2 thành phan là workstation và server e Workstation là các phần mềm được dùng dé tương
tác với Server được cải đặt ở mọi thiết bị ví dụ như
SSMS, SQLEM
e Server là các dịch vụ được cai đặt trên máy chủ tập
trung như: SQL Server, SISS,
Trên một máy có thé có nhiều bản cài đặt của SQL Server
gọi là các instance Có 2 loại bản cài là Default (Mặc định)và Named (Đặt tên mới).
¢ Loại default chỉ cho phép một bản cài duy nhất e Loại Named cho phép có nhiều bản cài.
5 ABP Freamwork:
ABP Frreamwork là một một ma nguồn mo, một freamwork được
dùng để xây dựng các ứng dụng web, tuân theo các phương pháp phát triển phần mềm và công nghệ mới nhất.
ABP Framework được tích hợp với nhiều hệ quản trị cơ sở dữ liệu khác nhau như: SQL Server, MongoDB.
ABP Framework thiết kế ứng dụng dựa trên nguyên tác Domain Driven Design và một số pattern khác với mục đích phân tách ứng
dụng thách các mô-đun nhỏ.
ABP Framework cũng được dùng để thiết kế loại ứng dụng SaaS
14
Trang 196 MQTT và MQTTnet:
“MQTT (Message Queuing Telemetry Transport) là một giao thức
truyền thông điệp (message) theo mô hình publish/subscribe (xuất ban — theo dõi), sử dung băng thông thấp, độ tin cậy cao và có khả năng
hoạt động trong điều kiện đường truyền không ổn định.” (Smart
Industry VN,2021)
MQtTTnet là một thư viện Net cho phép xây dựng các MQTT clientand a MQTT server (broker) và các các tính năng như của mô hình
MQTT mong đợi
15
Trang 20CHUONG 3: PHAN TÍCH VA THIẾT KE HE THONG
PHAN: QUAN LY CAM BIEN
1 Pha phan tich:
1.1 Biểu đồ UseCase:
1.1.1 Xác định Actor:
e Admin: Người quản lý hệ thống Người này tôn tại ở
cả hai loại phiên bản: Tenant và Không Tenant.
e TenantUser: Là các thành viên thuộc từng tenant cụ
1.1.2 Xác định các chức năng của Actor:
Chức năng chung cho tat cả:
e Với Admin của Teanat:
Quan ly cam bién
Trang 21Sửa thông tin người dùng
Sửa quyền (Permission)
Tim kiêm người dùng
Quản lý quyền người dùng:
Thêm quyền người dùng
Xóa quyền người dùng
17
Trang 22Sửa quyền người dùng
Tìm kiếm quyền người dùng.
Quản lý Tenant:
Thêm người thué(Tenant)Xóa người thuê(Tenant)
Sửa người thuê(Tenant)
Tìm kiếm người thuê Quản lý thông số cài đặt:
Thêm thông số cài đặt Xóa thông số cài đặt Sửa thông số cài đặt
Tìm kiếm thông số cài đặt
Trang 24Sửa thông tin
Thêm thiết bịXóa thiết bị
Admin
Trang 252.4 Quản lý quyền người dùng:
Hệ quản lý người dùng và theo dõi người dùng
Trang 272.7 Quan lý thông số cài đặt:
Hệ quản lý thông số cài đặt và theo dõi thông số cài đặt
Sửa thông tin
lông số cài đặi
Hệ quản lý thông số cài đặt và theo dõi thông số cài đặt
Trang 28Phan 1: Quản lý liên quan đến người dùng bao gồm
các chức năng: Quản lý người dùng, quản lý Tenant,
quản lý quyền (Role)
Phần 2:Quản lý liên quan đến thiết bị bao gồm các chức năng: Quản lý cảm biến, quản lý thiết bị, quản lý thông số cài đặt, quản lý chỉ số kỹ thuật, quản lý lịch sử thiết bị.
24
Trang 291.2.3 Biểu đồ lớp cho từng phần hệ thống:
e Phần 2 (Quản lý liên quan đến thiết bi):
Trang 301 Biểu đồ trạng thái cho UseCase: Quản lý chung: e Biểu đồ trạng thái đăng nhập:
l Đăng nhập[thất bại]/Đăng nhập lại
Kiểm tra[that bại]/Nhập lại a nhậpƒ g áp
Trang 31e Biểu đồ trạng thái quên mật khẩu:
Nhắn vào link quên mật khẩu trong form
Kiểm tra{that bại|'Nhập lại |
GÌithát bạiJNhập lạ Nhập thông tn vào rom
Kiểm tra[thát bai/Hiy
Gửi[ thành công và không Click vào link
trong gmailJHủy
6ùithát bại]Hủy
Gửi[thành công click vào link trong mail]/Click
Kiem tra [that bại]/Nhập lại Nhập thông tin
Luu(that bại|/Nhập lạiLuufthanh công]
Kiểm tra[thát bại|JHủy
Luufthat bại]JHỦy
27
Trang 32e Biểu đồ trang thái quên mật khẩu:
Kiểm trallhát bạïJINhập lại Đăng nhập|lhát bại]/Đăng nhập lại
Trang 332 Biểu đồ trạng thái cho UseCase: Quản lý cảm biến e Biểu đồ trạng thái thêm bản ghi mới:
Kiểm tra[thát baij/Nhap lại ng nhập[thát bại]/Đăng nhập lại
Kiểm tra[thất bại]/Hủy
Kiểm tra[thát bại]/Nhập lại
Lưu[thất bại]/Nhập lại
Kiểm tra[that bại]/HủyLuuthát bại|/Hủy
Luu[thàni
Trang 34e_ Biểu đồ trạng thái sửa bản ghi:
Kiểm traithát
HủyĐăng nhập thành công
Đăng nhập|thát bại|/Hủy
Kiểm tra[that bạiJ/Hủy
Nhắn vào Monitoring Panel và chọn Tag Manager
Nhắn vào button hình trang
giấy trong bản ghi được chọn
Kiểm tra [sail/Nhap lại Nhập thông tn
Trang 35e_ Biểu đồ trạng thái xóa bản ghi:
Kiem tra[thât bại]í Nhập lại Đăng nhập[Thát bạiJ'Đăng nhập lại
Kiểm tra|thát bạiJJHủy
Đăng nhập[thành công]
Đăng nhập|thát bại]Hủy
Nhân vào Monitoring Panel và chọn Tag Manager
Nhân vào button hình thùng rác trong bản ghi
Xóa|Thát bại)/Xóa lại
Xóalthát bại]JHủy
Xóa[thành công]
Trang 36e Biểu đồ trạng thái tìm kiếm:
Kim ht bel NN Đăng nhdpthat bang nhập la
Đăng nhap|that bail/Hiy
- Kiểm tra{that bạiJJHủy
Đăng nhập[thành công]
Nhán vào Monitoring Panel chọn Tag Manager Ở
Tim kiếm|thất bail/Tim kiếm lai
Nhập thông tin vào 6 tìm kiếm
Tim kiếm|thành công]
Tim kiếm|thát bạiJlHủy
Trang 373 Biểu đồ trạng thái cho UseCase Quản lý thiết bị: Tương tự biếu đồ trạng thái cho UseCase Quan lý cảm biến:
4 Biéu đồ trạng thái cho UseCase Quản lý người dùng: Các chức năng: thêm, sửa, xóa, tìm kiếm người dùng tương tự Quản lý cảm biến.
e Biểu đồ trạng thái sửa quyền:
Kiểm tra[thát bại]/Nhập lại Đăng nhập[thát bại]/Đăng nhập lạiĐăng nhập[thất bại]/Hủy
Đăng nhập [thành công]
Kiểm tra[that bại]/HủyNhắn vào Admin Panel và chọn User Manager
Nhấn vào button action trong bản
ghi được chọn chọn Permission
Tích chọn Permission
Lưu[thất bại]/Hủy
Lưu[thành công]/Lưu và cập nhật
33
Trang 38Biểu đồ trạng thái cho UseCase Quản lý quyền người
Tương tự biểu đồ trạng thái cho UseCase cho Quản
lý cảm biến.
Biểu đồ trạng thái cho UseCase Quan lý Tenant:
Tương tự biểu đồ trạng thái cho UseCase cho Quản
Chức năng: Tìm kiếm lịch sử thiết bị tương tự biểu đồ trạng thái tìm kiếm cảm biến của biểu đồ trạng thái cho UseCase Quản lý cảm biến.
34
Trang 39e Biểu đồ trạng thái lọc lịch sửa thiết bị:
Kiém tralthát bail Nhap lại Đăng nhaptthat bail/Dang nhập lại
Đăng nhập {thanh công] Kiem tralthát bail Hy
Đăng nhapfthat
Nhân vào Report Panel và chon History Trend And Value
Go thông tin về Parameter và chonNgày tháng có thé cả 6 tim kiếmTìm kinm|thát bạiJTìm kiếm lại
Tim liên|hátbại|Hùy
35
Trang 40Nhân vào Report Panel và chọn History Trend And Value
Tim kiém(that bai Tim kiém lai
e Biêu đô trạng thái vẽ biêu đô:
Đăng nhập|thát bại]/Đăng nhập lai
6 thông tin về Parameter và chọn Ngày tháng có thé cả ô tim kiếm
Tìm kiém[that bai]
Hủy