1. Trang chủ
  2. » Giáo Dục - Đào Tạo

đề tài hệ thống quản lý tài nguyên thiên nhiên

69 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Nội dung

Bởi vì Server - máy chủ luôn luôn trong trạng thái sẵn sàng để nhận request từ client nên chỉ cần client gửi yêu cầu tín hiệu vàchấpnhậnyêucầuđóthìserver sẽtrảkếtquả vềphíaclienttrong th

Trang 1

ĐẠIHỌCBÁCHKHOAHÀNỘI TRƯỜNGĐIỆN-ĐIỆN TỬ

Trang 6

Lời NóiĐầu

chínhphủViệtNamquantâmhơnbaogiờhết.Nạnchặtphácâyrừngđểlấygỗ,săn bắt động vậttrái phép để buôn bán vẫn đang là vấn đề đáng báo động Nó gây ra những hệ lụy tiêucực như biến đổi khí hậu, phá hủy hệ sinh thái, cắt đứt chuỗi thực ăn,…và những hệlụy kéo theonhư nước biểndâng, thiêntai;cuộc sốngcon người bị đe dọa cả về điềukiện sống và tính mạng Ngoài ra, như đã biết, chính phủ Việt Nam đang quyết tâmthực hiện mục tiêu Net zero (đưa mức phác thải dòng về 0) thìviệcbảovệtàinguyênthiênnhiênnhưrừng,độngvậtlạicàngtrởlênquantrọnghơn bao giờ hết Vìvậy, bài toán đặt ra là phải có những cách quản lý tài nguyên thiên nhiên Từ đó, có nhữngbiện pháp kịp thời để bảo vệ và phát triển tài nguyên thiên nhiên nước nhà.

Hiện nay, khoa học công nghệ phát triển nhanh như vũ bão, đặc biệt là lĩnh vựccông nghệ thông tin Có thể nói, công nghệ và chuyển đổi số đã được ứng dụng vàohầu hết tất cả mọi lĩnh vực trong cuộc sống Trong đó, công nghệ phần mềm luônđóng vai trò tiên phong, dẫn đầu trong quá trình đó Các phần mềm đã, đang vàsẽđược ứng dụng ngày càng nhiều trong công việc cũng như cuộc sống thường ngàycủa con người.

vật,câytrồng,cơsởsảnxuấtchếbiếngỗ.Dựavàophầnmềm,cáccấpquảnlý,những hộgiađình,nhữngcá thể có thểtruycập thôngtin dễ dàng,có cái nhìntrực quan và quản lý dễdàng tài nguyên thiên nhiên Từ đó, đề ra được những chính sách đúng đắn, nhữnghành động kịp thời để bảo vệ, ngăn chặn kịp thời những ảnh hướng tiêu cực và pháttriển tài nguyên của quốc gia.

Trang 7

Đây là phần mềm đầu tiên mà nhóm 6 – Nature Care thực hiện nên không thểtránhkhỏinhữnghạnchếvàthiếusót,kínhmonggiảngviênvàcácbạnbổsung,góp ý để phầnmềm ngày càng hoàn thiện và thực sự hữu ích với người sử dụng.

Nhóm6xinchânthànhcảmơn!

Trang 8

nhiên” là công trình nghiên cứu của chính chúng tôi Những phần có sử dụng tài

liệu thamkhảo cótrongbáo cáo đãđượcliệt kêvànêu rõratại phầntàiliệutham khảo Đồng thời những số liệu hay kết quả trình bày trong đồ án đều mang tính

Nếunhưsai,chúngtôixinhoàntoànchịutráchnhiệmvớigiảngviênbộmôn và nhà trường.

Trang 9

Ở chương 1, đề cập đến các nội dung bao gồm nêu ra bài toán quản lý tài nguyên, đưarahướnggiảiquyếtlàsửdụngcôngnghệ,tạoramộtphầnmềmvớicáctínhnăngphùhợp Tiếp theo lànhững cái mà xã hội đã và đang làm, nhược điểm của các phương pháp quản lý truyền thống vàđưa ra những ưu điểm của sử sụng công nghệ phần mềm Tiếp đến là những công cụ hỗ trợ xâydựng phần mềm được sử dụng (JavaScript, HTML, Springboot, );những môhình ápdụngchobàitoán(client-server); biểuđồtrựcquan hóa bài toán, dữ liệu.

 Quảnlýcơsởlưutrữđộngvật

1.3 Nhữngcáclàmhiệnnay

 Nhữngphầnmềmquảnlýhiệnnay:quảnlýbánhàng,quảnlýsổtaychỉtiêu,… Nhữngcáicáchmàngườitadùngđểquảnlýgỗ,độngvật,cây

1.4 Cáccôngcụđượcsửdụngtrongđềtài

1.4.1 Môhìnhclient-server[1]

Mô hình Client Server là mô hình mạng máy tính trong đó các máy tính con được đóngvaitrònhưmộtmáykhách, chúnglàmnhiệmvụgửiyêucầuđếncácmáychủ.Để máy chủ xử lý yêu cầu và trả kết quả về cho máy khách đó.

Trang 10

TrongmôhìnhClient-Server,serverchấpnhậntấtcảcácyêucầuhợplệtừmọinơi khác nhau trên Internet, sau đó trả kết quả về máy tính đã gửi yêu cầu đó

Máy tính được coi là máy khách khi chúng làm nhiệm vụ gửi yêu cầu đến các máy chủ và đợi câu trả lời được gửi về Để máy khách và máy chủ có thể giao tiếp được với nhauthìgiữachúngphảicómộtchuẩnnhấtđịnh,vàchuẩnđóđược gọilàgiaothức.Một số giao thứcđược sử dụng phổ biến hiện nay như: HTTPS, TCP/IP, FTP,

Nếumáykháchmuốntruyxuấtcác thôngtintừ máychủ,chúngphải tuântheo một

giaothứcmàmáychủ đóđưara.Nếuyêucầuđóđượcchấpnhậnthìmáychủsẽ thuthập thông tin và trả về kết quả cho máy khách yêu cầu Bởi vì Server - máy chủ luôn luôn trong trạng thái sẵn sàng để nhận request từ client nên chỉ cần client gửi yêu cầu tín hiệu vàchấpnhậnyêucầuđóthìserver sẽtrảkếtquả vềphíaclienttrong thờigian ngắnnhất.

 Giúp chúng ta có thể làm việc trên bất kì một máy tính nào có hỗ trợ giao thứctruyềnthông.Giaothứcchuẩnnàycũnggiúpcácnhàsảnxuấttíchhợplênnhiều sản phẩmkhác nhau mà không gặp phải khó khăn gì.

 Có thể có nhiều server cùng làm một dịch vụ, chúng có thể nằm trên nhiều máytính hoặc một máy tính.

 Chỉmangđặcđiểmcủaphầnmềmmàkhông hềliênquanđếnphần cứng,ngoài yêu cầuduy nhất là server phải có cấu hình cao hơn các client.

 Hỗ trợ người dùng nhiều dịch vụ đa dạng và sự tiện dụng bởi khả năng truy cậptừ xa.

 Cung cấp một nền tảng lý tưởng, cho phép cung cấp tích hợp các kỹ thuật hiệnđại như mô hình thiết kế hướng đối tượng, hệ chuyên gia, hệ thông tin địalý(GIS).

Nhượcđiểm:

Trang 11

 Vấnđề bảomậtdữliệuthôngtinđôikhicònchưađượcan toàndophảitrao đổidữliệugiữa2máytínhkhácnhauở2khuvựcđịalýcáchxanhau.Vàđâycũng

nhượcđiểmduynhấtcủamôhìnhnày.Tuynhiênvấnđềnàycómộtsốgiaothức đã hỗ trợ bảomật dữ liệu khi truyền tải Giao thức được sử dụng phổ biến nhưHTTPS.

TừmôhìnhClient–Server,giớilậptrìnhviênhiệnđạiđãphântrangwebralàm hai phần để thuận tiện phát triển và quản lý: Front-end -B a c k - e n d

Phầnfront-endcủamộttrangweblàphầntươngtácvớingườidùng.Tấtcảmọithứ ta nhìn thấykhi điều hướng trên Internet, từ các font chữ, màu sắc cho tới các menu xổ xuống và các thanh trượt, là một sự kết hợp của HTML, CSS, và JavaScript được điều

Đâu là những phần giúp phần front-end của một trang web có thể hoạt động được? Tất cả dữ liệu sẽ được lưu trữ ở đâu? Đó là phần việc của back end Phần back end của một trang web bao gồm một máy chủ, một ứng dụng, và một cơ sở dữ liệu Một lập trình viênback-endxâydựngvàduytrì côngnghệ màsứcmạnhcủanhữngthànhphầnđó,cho phép phần giao diện người dùng của trang web có thể tồn tại được.

1.4.2 Back-end:JavavàSpringFramework1.4.2.1 Java[2]

JavađượcpháttriểnbởimộtnhómdoJamesGoslinglãnhđạotạiSunMicrosystems.Sun

Microsystems đã được Oracle mua lại vào năm 2010 Ban đầu có tên là Oak, Java được thiết kế vào năm 1991 để sử dụng trong chip nhúng cho các thiết bị điện tử Vào năm 1995, sau khi đổi tên thành Java, nó đã được thiết kế lại để phát triển ứng dụng Web.

Javađãtrở nêncựckỳ phổbiến Sự tăngtrưởngnhanhchóngvà bao phủrộngrãicủanó đến từ các đặc tính thiết kế Java đơn giản, hướng đối tượng, phân tán, diễn giải, mạnh

mẽ,antoàn,khôngphụthuộckiếntrúc,diđộng,hiệusuấtcao,đaluồngvàlinhhoạt,đặc biệt Java

được tạo ra với tiêu chí “Viết (code) một lần, thực thi khắp nơi” (Write Once, Run

Anywhere– W O R A )

Java là một ngôn ngữ lập trình đa chức năng, tổng quát, được sử dụng để phát triển các ứngdụngquantrọng.Ngàynay,nókhôngchỉđượcsửdụngcholậptrìnhWebmàcònđể phát triển các ứng dụng độc lập hoạt động trên nhiều nền tảng trên máy chủ, máy tính để bàn và thiết bị di động.

Trang 12

1.4.2.2 SpringFramework[3]

triệulậptrìnhviênlựachọnđểsửdụng.Nhờnómàcáclậptrìnhviêncóthểpháttriểnứng dụng Java mộtcách dễ dàng với tốc độ cao đáng kinh ngạc.

Spring khá nhẹ (version chỉ khoảng 2MB với kích thước nhỏ) và trong suốt (hoạt độngtrong suốt với lập trình viên) Spring cũng cung cấp và hỗ trợ các cơ sở hạ tầng đã đượcxácđịnhrõràngđểpháttriểnứngdụngtrongJava.Nóidễhiểuhơn,Springxửlýcơsởhạ tầng để bạntập trung tối đa vào việc phát triển ứng dụng.

NhữngtínhnăngcốtlõicủaSpringphùhợpđểsửdụngởnhiềumảngkhácnhau.Nócó thể hỗ trợtốt từ các ứng dụng mobile, desktop đến các ứng dụng Java web.

1.4.3 Front-end:HTML,CSS,JavascriptvàVuejs1.4.3.1 HTML[4]

HTMLlàviếttắtcủacụmtừHypertextMarkupLanguage(tạmdịchlàNgônngữđánh dấu siêu văn bản).HTMLđược sử dụng để tạo và cấu trúc các thành phần trong trang web hoặc ứng dụng, phân chia các đoạn văn, heading, titles, blockquotes…

MộttàiliệuHTMLđượchìnhthànhbởicácphầntửHTML(HTML Elements)đượcquy định bằngcác cặp thẻ (tag và attributes) Các cặp thẻ này được bao bọc bởi một dấu

ngoặcngọn (vídụ<html>)vàthườnglàsẽđượckhaibáothànhmộtcặp,baogồmthẻmởvàthẻđóng.Vídụ,chúngtacóthể tạomộtđoạnvănbằng cáchđặt vănbảnvàotrongcặp tag mở và

1.4.3.2 CSS[5]

CSSlà chữ viết tắt của Cascading Style Sheets, nó là một ngôn ngữ được sử dụng đểtìm và định dạnglại các phần tử được tạo ra bởi các ngôn ngữ đánh dấu (HTML) Nói ngắn gọn hơn là ngôn ngữ tạo phong cách cho trang web Bạn có thể hiểu đơn giản rằng, nếu

HTMLđóngvaitròđịnhdạngcácphầntửtrên websitenhưviệctạoracácđoạnvănbản,

Trang 13

cáctiêuđề,bảng,…thìCSSsẽgiúpchúngtacóthểthêmstylevàocácphầntửHTMLđó như đổi bố cục, màu sắc trang, đổi màu chữ, font chữ, thay đổi cấu trúc…

CSSđượcpháttriểnbởiW3C(WorldWideWebConsortium)vàonăm1996,vìHTML không được thiết kế để gắn tag để giúp định dạng trang web.

PhươngthứchoạtđộngcủaCSSlànósẽtìmdựavàocácvùngchọn,vùngchọncóthểlà tên một thẻ HTML, tên một ID, class hay nhiều kiểu khác Sau đó là nó sẽ áp dụng các thuộc tính cần thay đổi lên vùng chọn đó.

MốitươngquangiữaHTMLvàCSSrất mậtthiết.HTML làngôn ngữ markup(nềntảngcủasite)vàCSSđịnhhìnhphongcách(tấtcảnhữnggìtạonêngiaodiệnwebsite),chúng là khôngthể tách rời.

mộtframeworklinhđộngdùngđểxâydựnggiaodiệnngườidùng(userinterfaces).Khác với các framework nguyên khối (monolithic), Vue được thiết kế từ đầu theo hướng cho phép và khuyến khích việc phát triển ứng dụng theo từng bước Khi phát triển lớp giao

diện(viewlayer),ngườidùngchỉcầndùngthưviệnlõi(core library) củaVue,vốnrấtdễ học và tíchhợp với các thư viện hoặc dự án có sẵn Cùng lúc đó, nếu kết hợp với những kĩ thuật hiện đại nhưSFC (single file components)vàcác thư viện hỗ trợ, Vue cũng đáp ứng được dễ dàngnhu cầu xây dựng những ứng dụng một trang (SPA - Single-Page

Applications)vớiđộphứctạpcaohơnnhiều.1.4.4 Cơsởdữliệuvàhệquảntrịcơsởdữliệu[7]

Cơ sở dữ liệu có tên tiếng anh là Database, viết tắt là CSDL Là một tập hợp các dữ liệucótổchức,đượclưutrữvàtruycậptừhệ thốngmáytính.Khicơsởdữliệu phứctạp hơn, chúng sẽ được phát triển bằng cách sử dụng các thiết kế và mô hình hóa hình thức Tóm lại, có sở dữ liệu là hệ thống gồm rất nhiều thông tin, dữ liệu được xây dựng theo một cấu trúc nhất định để đáp ứng nhu cầu khai thác, sử dụng của nhiều người hay chạy nhiều chương trình cùng một lúc Khi áp dụng hình thức lưu trữ này, sẽ khắc phục được những điểm yếu của việc lưu file thông thường trên máy tính Các thông tin dữ liệu đảm bảo được sự nhất quán, hạn chế được việc trùng lặp thông tin.

Từ SQL là viết tắt của cụm Structured Query Language, có nghĩa là loại ngôn ngữ truy vấncócấutrúc.Đây làmộtloạingônngữmáytínhgiúphỗtrợcácthaotáclưutrữ,truy xuất dữ liệu cùng một cơ sở dữ liệu quan hệ một cách nhanh chóng Ngôn ngữ này đã

đượcANSI–việntiêuchuẩnquốcgiacủaHoaKỳđặttiêuchuẩnhóa,vàtrởthànhmột ngôn ngữ được sử dụng phổ biến.

HệquảntrịcơsởdữliệuMySQLđượcsửdụngtrongdựánnày.

Trang 14

Hình 2-1.DFDmứcngữcảnh

Trongphầnnày,trìnhbàyrõràngcácbướctừthiêtkế,phântíchhệthống.Cácnộidung gồm có sơ đồDFD (DFD mức 1, DFD mức dưới đỉnh, DFD mức đỉnh, DFD mức ngữ

2.1.1 DFDmứcngữcảnh

Hình2.1DFDmứcngữcảnh

Trang 15

2.1.2 DFDmứcđỉnh

Hình2.2DFDmứcđỉnh

Trang 18

Hình 2.8 DFD quản lý hệ thống

2.1.3.5 Chứcnăng 5: Quản lýhệthống

Hình2.7DFDquảnlýhệthống

Trang 19

Hình2.9Sơđồquản trịhệthống

Hình2.10Sơđồchứcnăngphânquyền

Trang 20

Hình2.12Sơđồ Quảnlí lịchsử

Trang 21

Hình2.13Sơđồ Báo cáo thốngkê

Hình2.14Sơđồ quản lítàikhoản

Trang 22

Hình2.15Sơđồquản lítàinguyên

Hình2.16Sơđồ quản lísản xuấtgỗ

Trang 23

Hình2.17Sơđồquản lílưutrữđộngvật

Hình2.18Sơđồquản lícâygiống

Trang 24

Hình 2.19SơđồERD

Nhưvậy,ởchương2,đãhoànthànhbướcphântíchthiếtkế,bao gồmvẽcáccơ đồ DFD (mức đỉnh, mức 1, mức dưới đỉnh), DFD và ERD Từ đó, có một cái nhìn tổng thể, bao quát về những gì phải làm ở bước tiếp theo – bước triển khai.

Trang 25

Sau khi đã phân tích, thiết kế hệ thống ở chương 2, sẽ đến bước triển khai ở chương 3 Ở chươngnày,cáccông việcbaogồmthiếtkếcơsởdữliệu (lậpcácbảngthựcthểvàthuộc tính, từ điểndữ liệu pha phân tích, bảng database, pha thiết kế); viết code và trình bày giao diện web

3.1 Thiếtkếcơsởdữliệu

3.1.1 Cácthựcthểvàthuộctính

Administrationscode,name,surbordinate,administrativeLevel

Usersusername, password , firstName , lastName , avatar , email, b i r t h D a t e , a d d r e s s , i s A c t i v e , r o l e , ot p ,

otpGeneratedTime,administration

Coordinateslat,lng ,facilities

Fluctuationid,name ,characteristics

AnimalSpeciesname,animalType,image,mainFood,mainDisease,fluctuation

Trang 26

3.1.2 Từđiểndữliệuphaphântích:

CấpđộhànhchínhAdministrativeLevels Lưutrữtênvàcáccấpcủacấpđộhànhchính

tài khoản , mật khẩu , email , vaitròvàcơsởhành chính củangười

cơsở,sứcchứa,cơsởhànhchính của cơ sở

Hìnhthứchoạtđộng

Trang 27

SốliệuthốngkêStatisticsLưutrữđơnvị,sốlượngvàngàycủasốliệu thốngkê

trồng, loài động vật và loạihìnhsảnxuất

3.1.3 Bảngdatabase

Hình3.1Bảngthiếtkếdatabase

Trang 28

3.1.4 Phathiếtkế

Bảng3.3Cácthuộctínhbảngadministrative_levels(CĐHC – cấp độ hành chính)

Bảng3.5Cácthuộctínhbảngroles(VT–Vaitrò)

Trang 29

Thờigian tạomã

Bảng3.7Cácthuộctínhbảngfacility_types(LCS–loạicơsở)

Trang 30

Bảng3.9Cácthuộctínhbảngoperation_types(HTHĐ–hìnhthứchoạtđộng)

Trang 31

Bảng3.12Cácthuộctínhbảnganimal_species(LĐV–loàiđộngvật)

Trang 32

Sâu bệnhchính

NOT NULL

NOT NULL

Trang 33

NOTNULL

Trang 35

.orElseThrow(()->newDataNotFoundException("Not found administrationw i t h c o d e = " +c o d e ) ) ;

&&a d m i n i s t r a t i o n g e t A d m i n i s t r a t i v e L e v e l ( ) g e t L ev e l ( ) ! = a d m i n i s t r a t i v e L e v e l g e t L e v e l ( ) ) {

thrownewInvalidDataException("Đơn vịhành chính cấp Tỉnh không thể đổi c ấ p ");

&&a d m i n i s t r a t i o n g e t A d m i n i s t r a t i v e L e v e l ( ) g e t L e

Trang 36

v e l ( ) ! = a d m i n i s t r a t i v e L e v e l g e t L e v e l ( ) ) {

Trang 37

&&a d m i n i s t r a t i o n g e t A d m i n i s t r a t i v e L e v e l ( ) g e t L ev e l ( ) ! = a d m i n i s t r a t i v e L e v e l g e t L e v e l ( ) ) {

"ĐơnvịhànhchínhcấpPhường,Thịtrấn,Xãchỉcóthểđổic h o nhau");

Strings u b o r d i n a t e =

a d m i n i s t r a t i o n D T O g e t S u b o r d i n a t e C o d e ( ) = = n u l l ?"":administrationDTO.getSubordinateCode();

if(administration.getAdministrativeLevel().getLevel()==1){thrown e wInvalidDataException(

"Đơnvịhànhchính cấ pTỉnh khôngthể trựcthuộcđơnvịhànhchínhkhác");

{t h r o w n e wInvalidDataException(

"ĐơnvịhànhchínhcấpPhường,Thịtrấn,Xãchỉcóthểt r ự c t h u ộ c đ ơ n v ị h à n h c h í n h c ấ p t h à n h p h ố , huyện");

Trang 38

administration.setSubordinate(subordinateAdministration);}

Trang 39

thrown e w I n v a l i d D a t a E x c e p t i o n ("Kícht h ư ớ c ả n h đ ạ i d i ệ n p h ả inhỏ

StringfileName=StringUtils.cleanPath(avatarFile.getOriginalFilename());

Trang 40

PathuploadPath=Path.of(uploadDir.toString(),uniqueFileName); Files.copy(avatarFile.getInputStream(),uploadPath,

Trang 41

Useru s e r=this.userRepository.findByEmail(verifyOtpDTO.getEmail())

3.2.3 Cơsởlưutrữđộngvật–AnimalStorageFacilities

Thêmmột cơsởlưutrữđộngvật

Trang 42

AnimalStorageFacilitiesanimalStorageFacilities=n e wAnimalStorageFacilities();

animalStorageFacilities.setAdministration(administration);}c a t c h ( Exceptione x c e p t i o n )

}

Trang 43

}

Trang 44

3.2.5 Loàiđộngvật–AnimalSpecies

Stringi m a g e=t h i s.saveImage(imageFile);Fluctuationfluctuation=

AnimalSpeciesanimalSpecies=AnimalSpecies.builder()

Trang 45

->newDataNotFoundException("Khôngtìmthấyloạib i ế n đ ộ n g v ớ i i d = " +i d ) ) ;}

3.2.7 Thốngkêtheotháng/quý/năm

publicL o n g g e t M o n t h Q u a n t i t y O f F a c i l i t i e s ( Stringn a m e , i n t m o n t h , i n t y ea r ){Y e a r M o n t h yearMonth = YearMonth.of(year, month);

intd a y= yearMonth.lengthOfMonth();

LocalDatel o c a l D a t e = L o c a l D a t e o f ( y e a r , m o n t h ,d a y ) ;Dated a t e =

Ngày đăng: 15/07/2024, 16:28

w