Mục tiêu và yêu cầu cơ bản của hệ thống

Một phần của tài liệu Xây dựng hệ thống quản lý đa dạng động vật thành phố Đà Nẵng trên nền Geoserver. (Trang 38)

2.1.1. Mục tiêu của hệ thống

Đề tài mang lại lợi ích cho cộng đồng với website về đa dạng động vật cho thành phố Đà Nẵng. Website được phát triển trên nền tảng ngôn ngữ thuận tiện nhất cho việc mở rộng ứng dụng về sau.

- Xây dựng trang thông tin về đang dạng động vật thành phố Đà Nẵng với nguồn dữ liệu tổng hợp từ nhiều nghiên cứu riêng lẻ.

- Kết hợp thông tin dữ liệu lên vị trí địa lý, sử dụng bảng đồ 2D trực quan và nâng cao hiệu năng cho website.

- Phát triển hệ thống tìm kiếm dữ liệu chính xác hơn theo địa lý sinh vật.

2.1.2. Yêu cầu cơ bản của hệ thống

Xây dựng một ứng dụng gồm 5 loại người dùng (khách vãng lai, thành viên, chuyên gia, nhà quản lý, quản trị viên) và giới hạn chức năng của từng loại người dùng.

Hệ thống sẽ tập trung chi tiết vào các loài động vật quý hiếm trên địa bàn Đà Nẵng.

Hệ thống sẽ có hai thành phần là backend server và frontend server:

- Backend server sẽ trả về dữ liệu theo định dạng JSON cho frontend khi một API nào đó được gọi.

- Frontend server:

• Chứa các giao diện với màu sắc hài hòa, thân thiện với người dùng và hiển thị đầy đủ, chính xác dữ liệu được lấy từ server.

• Dữ liệu sẽ được xác thực trước khi gửi đến server.

2.2. Sơ đồ phân rã chức năng

Lê Ngọc Duy – lớp 13CNTT (2013 - 2017) 28

Hình 2.1 Sơ đồ phân rã chức năng của khách vãng lai

Lê Ngọc Duy – lớp 13CNTT (2013 - 2017) 29

2.2.2. Sơ đồ phân rã chức năng của thành viên

Hình 2.3 Sơ đồ phân rã chức năng của thành viên

Lê Ngọc Duy – lớp 13CNTT (2013 - 2017) 30

2.2.3. Sơ đồ phân rã chức năng của chuyên gia

Hình 2.5 Sơ đồ phân rã chức năng của chuyên gia

Lê Ngọc Duy – lớp 13CNTT (2013 - 2017) 31

2.2.4. Sơ đồ phân rã chức năng của nhà quản lý

Hình 2.7 Sơ đồ phân rã chức năng của nhà quản lý

Lê Ngọc Duy – lớp 13CNTT (2013 - 2017) 32

2.2.5. Sơ đồ phân rã chức năng của quản trị viên

Hình 2.9 Sơ đồ phân rã chức năng của quản trị viên

Lê Ngọc Duy – lớp 13CNTT (2013 - 2017) 33

2.3. Biểu đồ luồng dữ liệu 2.3.1. Back-end 2.3.1. Back-end

2.3.1.1. Biểu đồ mức ngữ cảnh

Lê Ngọc Duy – lớp 13CNTT (2013 - 2017) 34

2.3.1.2. Biểu đồ mức 0

Lê Ngọc Duy – lớp 13CNTT (2013 - 2017) 35

Lê Ngọc Duy – lớp 13CNTT (2013 - 2017) 36

Lê Ngọc Duy – lớp 13CNTT (2013 - 2017) 37

2.3.1.3. Biểu đồ mức 1

Lê Ngọc Duy – lớp 13CNTT (2013 - 2017) 38

Hình 2.16 Biểu đồ luồng dữ liệu mức 1 của quá trình 6.0 (Back-end)

Lê Ngọc Duy – lớp 13CNTT (2013 - 2017) 39

Hình 2.18 Biểu đồ luồng dữ liệu mức 1 của quá trình 8.0 (Back-end)

Lê Ngọc Duy – lớp 13CNTT (2013 - 2017) 40

Hình 2.20 Biểu đồ luồng dữ liệu mức 1 của quá trình 10.0 (Back-end)

Lê Ngọc Duy – lớp 13CNTT (2013 - 2017) 41

Hình 2.22 Biểu đồ luồng dữ liệu mức 1 của quá trình 18.0 (Back-end)

Lê Ngọc Duy – lớp 13CNTT (2013 - 2017) 42

Hình 2.24 Biểu đồ luồng dữ liệu mức 1 của quá trình 20.0 (Back-end)

Lê Ngọc Duy – lớp 13CNTT (2013 - 2017) 43

Hình 2.26 Biểu đồ luồng dữ liệu mức 1 của quá trình 22.0 (Back-end)

Lê Ngọc Duy – lớp 13CNTT (2013 - 2017) 44

Hình 2.28 Biểu đồ luồng dữ liệu mức 1 của quá trình 24.0 (Back-end)

2.3.2. Front-end

2.3.2.1. Biểu đồ mức ngữ cảnh

Lê Ngọc Duy – lớp 13CNTT (2013 - 2017) 45

2.3.2.2. Biểu đồ mức 0

Lê Ngọc Duy – lớp 13CNTT (2013 - 2017) 46

2.3.2.3. Biểu đồ mức 1

Lê Ngọc Duy – lớp 13CNTT (2013 - 2017) 47

2.4. Biểu đồ quan hệ thực thể

Lê Ngọc Duy – lớp 13CNTT (2013 - 2017) 48

2.5. Mô hình dữ liệu vật lý

1. Bảng kingdom

Tên cột Giải thích Kiểu dữ liệu Ghi chú

id Mã giới int Khóa chính

idCreater Mã người tạo int Khóa ngoại

vietnamesename Tên tiếng việt nvarchar sciencename Tên khoa học nvarchar

notation Ký hiệu nvarchar

discoverername Người phát hiện nvarchar yeardiscover Thời gian phát hiện date

Bảng 2.1 Mô tả dữ liệu bảng kingdom trong cơ sở dữ liệu 2. Bảng phylum

Tên cột Giải thích Kiểu dữ liệu Ghi chú

id Mã ngành int Khóa chính

idKingdom Mã giới int Khóa ngoại

idCreater Mã người tạo int Khóa ngoại

vietnamesename Tên tiếng việt nvarchar sciencename Tên khoa học nvarchar

notation Ký hiệu nvarchar

discoverername Người phát hiện nvarchar yeardiscover Thời gian phát hiện date

Bảng 2.2 Mô tả dữ liệu bảng phylum trong cơ sở dữ liệu 3. Bảng class

Tên cột Giải thích Kiểu dữ liệu Ghi chú

id Mã lớp int Khóa chính

idPhylum Mã ngành int Khóa ngoại

idCreater Mã người tạo int Khóa ngoại

vietnamesename Tên tiếng việt nvarchar sciencename Tên khoa học nvarchar

notation Ký hiệu nvarchar

discoverername Người phát hiện nvarchar yeardiscover Thời gian phát hiện date

Lê Ngọc Duy – lớp 13CNTT (2013 - 2017) 49

4. Bảng order

Tên cột Giải thích Kiểu dữ liệu Ghi chú

id Mã bộ int Khóa chính

idClass Mã lớp int Khóa ngoại

idCreater Mã người tạo int Khóa ngoại

idChecker Mã người phê duyệt int Khóa ngoại

vietnamesename Tên tiếng việt nvarchar sciencename Tên khoa học nvarchar

notation Ký hiệu nvarchar

discoverername Người phát hiện nvarchar yeardiscover Thời gian phát hiện date

status Trạng thái nvarchar

dateupdate Ngày cập nhật date

datecreate Ngày tạo date

Bảng 2.4 Mô tả dữ liệu bảng order trong cơ sở dữ liệu 5. Bảng family

Tên cột Giải thích Kiểu dữ liệu Ghi chú

id Mã lớp int Khóa chính

IdOrder Mã bộ int Khóa ngoại

idCreater Mã người tạo int Khóa ngoại

idChecker Mã người phê duyệt int Khóa ngoại

vietnamesename Tên tiếng việt nvarchar sciencename Tên khoa học nvarchar

notation Ký hiệu nvarchar

discoverername Người phát hiện nvarchar yeardiscover Thời gian phát hiện date

status Trạng thái nvarchar

dateupdate Ngày cập nhật date

datecreate Ngày tạo date

Bảng 2.5 Mô tả dữ liệu bảng family trong cơ sở dữ liệu 6. Bảng genus

Tên cột Giải thích Kiểu dữ liệu Ghi chú

id Mã chi int Khóa chính

idFamily Mã họ int Khóa ngoại

Lê Ngọc Duy – lớp 13CNTT (2013 - 2017) 50

idChecker Mã người phê duyệt int Khóa ngoại

vietnamesename Tên tiếng việt nvarchar sciencename Tên khoa học nvarchar

notation Ký hiệu nvarchar

discoverername Người phát hiện nvarchar yeardiscover Thời gian phát hiện date

status Trạng thái nvarchar

dateupdate Ngày cập nhật date

datecreate Ngày tạo date

Bảng 2.6 Mô tả dữ liệu bảng genus trong cơ sở dữ liệu 7. Bảng species

Tên cột Giải thích Kiểu dữ liệu Ghi chú

id Mã loài int Khóa chính

idGenus Mã chi int Khóa ngoại

idCreater Mã người tạo int Khóa ngoại

idChecker Mã người phê duyệt int Khóa ngoại

vietnamesename Tên tiếng việt nvarchar

sciencename Tên khoa học nvarchar

othername Tên khác nvarchar

notation Ký hiệu nvarchar

individualquantity Số lượng cá thể int reproductiontraits Đặc điểm sinh sản nvarchar sexualtraits Đặc điểm giới tính nvarchar orthertraits Đặc điểm khác nvarchar alertlevel Mức độ báo động nvarchar biologicalbehavior Tập tính sinh học nvarchar discoverername Người phát hiện nvarchar yeardiscover Thời gian phát hiện date mediumsize Kích thước trung bình nvarchar

food Thức ăn nvarchar

origin Xuất xử nvarchar

image Hình ảnh nvarchar

status Trạng thái nvarchar

dateupdate Ngày cập nhật date

datecreate Ngày tạo date

type Loại nvarchar

color Màu sắc nvarchar

Lê Ngọc Duy – lớp 13CNTT (2013 - 2017) 51

8. Bảng Habitat

Tên cột Giải thích Kiểu dữ liệu Ghi chú

id Mã địa điểm phân bố int Khóa chính

idCreater Mã người tạo int Khóa ngoại

idChecker Mã người phê duyệt int Khóa ngoại

location Địa điểm nvarchar

latitude Vỹ độ double

longitude Kinh độ double

Attribute name nvarchar

geom nvarchar

Bảng 2.8 Mô tả dữ liệu bảng habitat trong cơ sở dữ liệu 9. Bảng distribution

Tên cột Giải thích Kiểu dữ liệu Ghi chú

idSpecies Mã loài int Khóa chính

idHabitat Mã địa điểm phân bố int Khóa chính

distributionratio Phân bố nvarchar desitydistribution Mật độ phân bố nvarchar individualquantity Số lượng cá thể int

Bảng 2.9 Mô tả dữ liệu bảng distribution trong cơ sở dữ liệu 10. Bảng roles

Tên cột Giải thích Kiểu dữ liệu Ghi chú

Id Mã loại người dùng int Khóa chính

Rolename Tên loại người dùng nvarchar

Detail Chi tiết nvarchar

Bảng 2.10 Mô tả dữ liệu bảng roles trong cơ sở dữ liệu 11. Bảng member

Tên cột Giải thích Kiểu dữ liệu Ghi chú

id Mã thành viên int Khóa chính

fullname Họ tên nvarchar

birthday Ngày sinh date

address Địa chỉ nvarchar

phonenumber Số điện thoại nvarchar

detail Chi tiết nvarchar

Lê Ngọc Duy – lớp 13CNTT (2013 - 2017) 52

12. Bảng account

Tên cột Giải thích Kiểu dữ liệu Ghi chú

id Mã giới int Khóa chính

idRole Mã loại người dùng int Khóa ngoại

idMember Mã thành viên int Khóa ngoại

status Trạng thái nvarchar

attribute name Tên thuộc tính nvarchar activationcode Mã kích hoạt nvarchar activationdate Ngày kích hoạt date dateupdate Ngày cập nhật date

detail Chi tiết nvarchar

username Tên đăng nhập nvarchar

password Mật khẩu nvarchar

email Địa chỉ email nvarchar

Bảng 2.12 Mô tả dữ liệu bảng account trong cơ sở dữ liệu 13. Bảng login

Tên cột Giải thích Kiểu dữ liệu Ghi chú

idlogin Mã giới int Khóa chính

idrole Mã loại người dùng int

rolename Tên loại người dùng nvarchar

idmember Mã thành viên int

status Trạng thái nvarchar

username Tên đăng nhập nvarchar

password Mật khẩu nvarchar

email Địa chỉ email nvarchar

Bảng 2.13 Mô tả dữ liệu bảng login trong cơ sở dữ liệu

2.6. Kết chương

Phân tích và thiết kế hệ thống là điều kiện tiên quyết để bắt đầu cho việc xây dựng hệ thống. Trên đây là phân tích thiết kế hệ thống theo phương pháp hướng chức năng, các phân tích và thiết kế đi từ đối tượng, chức năng cụ thể để phát triển hoàn thiện hệ thống lớn.

Đề tài được phân tích và thiết kế theo những yêu cầu căn bản và thiết yếu - Xác định mục tiêu và các yêu cầu cơ bản của hệ thống.

Lê Ngọc Duy – lớp 13CNTT (2013 - 2017) 53

- Phân rã chức năng của từng loại người dùng.

- Biểu đồ luồng dữ liệu từ mức ngữ cảnh đến các mức chi tiết hơn (mức 0, mức 1, …).

- Thiết kế mô hình dữ liệu logic. - Thiết kế mô hình dữ liệu vật lý.

Lê Ngọc Duy – lớp 13CNTT (2013 - 2017) 54

CHƯƠNG 3: THỬ NGHIỆM VÀ ĐÁNH GIÁ

3.1. Mục tiêu và yêu cầu cơ bản của hệ thống 3.1.1. Về đề tài 3.1.1. Về đề tài

Đề tại mang lại một hệ thống hỗ trợ người dùng quản lý đa dạng động vật tại thành phố Đà Nẵng. Đề tài không những giúp người dùng nâng cao hiểu biết về đa dạng sinh học của thành phố mà còn là một ứng dụng hữu ích. Kết quả đạt được:

- Xây dựng ra một hệ thống back-end server tạo ra các API để lập trình viên, hoặc nhà phát triển phần mềm có thể lấy dữ liệu từ server một cách dễ dàng thông qua việc gọi API tương ứng với yêu cầu của ứng dụng. Hệ thống gồm các API tương ứng với tất cả các chức năng được nêu ra trong sơ đồ phân rã chức năng và được bảo mật với phương thức chứng thực Oauth 2.0.

- Ngoài ra, còn xây dựng ra một hệ thống front-end web server hỗ trợ người dùng có thể dễ dàng tương tác với hệ thống back-end server được nêu ra phía trên, nhưng chỉ mới hỗ trợ được cho hai loại người dùng là khách vãng lai và thành viên.

3.1.2. Về kiến thức

Sau thời gian thực hiện đề tài, nhóm nghiên cứu đã phát triển về cả kỹ năng tìm kiếm, nghiên cứu thông tin kiến thức lẫn kỹ năng lập trình. Những kết quả thu được cho thấy sự tiến bộ về:

- Kỹ năng lập trình Java và phát triển phần mềm với Spring Framework. - Thành thạo hơn với phương pháp phân tích thiết kế hướng chức năng. - Tiếp cận với nhiều công nghệ mới đang phổ biến hiện nay (phương

pháp chứng thực Oauth 2.0, sử dụng các ứng dụng của bên thứ ba như Microsoft Cognitive Service …).

Lê Ngọc Duy – lớp 13CNTT (2013 - 2017) 55

- Hiểu hơn về nền đa dạng sinh học ở thành phố Đà Nẵng mà đặc biệt là về đa dạng động vật và các động vật quý hiếm cần được bảo tồn. - Thực hành được phương pháp phát triển phần mềm theo mô hình

Scrum, tăng hiệu quả hoạt động của nhóm phát triển.

- Sau thời gian thực tập, sinh viên được tiếp xúc với môi trường doanh nghiệp hoạt động chuyên nghiệp thực tế.

3.2. Trình diễn ứng dụng 3.2.1. Back-end

Backend được thể hiện thông qua các API trao đổi dữ liệu, đáp ứng yêu cầu thông tin cho các ứng dụng frontend. Các API là cầu nối giữa yêu cầu người dùng với việc tương tác cơ sở dữ liệu. Hoạt động chính của backend server là tạo ra các API và thực hiện xử lý khi được gọi đến.

API trao đổi thông tin qua định dạng JSON

Hình 3.1 Mô hình truyền và nhận API

Dang sách API trong backend server

STT Tên Chức năng Mô tả Url

1 Lấy tất cả các loài Api sẽ trả lại tất cả các loài có trong cơ sở dữ liệu sử dụng phương thức GET

localhost:8081/a pi/species

Lê Ngọc Duy – lớp 13CNTT (2013 - 2017) 56

2 Danh sách tất cả các loài có trong cơ sở dữ liệu theo bước nhảy

Api trả lại danh sách tất cả các loài động vật có trong cơ sở dữ liệu theo bước nhảy (offset) sử dụng phương thức GET localhost:8081/a pi/species/all?off set={value} 3 Danh sách các loài động vật quý hiếm

Api trả lại danh sách các loài động vật quý hiếm có trong cơ sở dữ liệu theo bước nhảy (offset) sử dụng phương thức GET localhost:8081/a pi/species/rare?o ffset={value} 4 Danh sách các loài động vật thường

Api trả lại danh sách các loài động vật thường có trong cơ sở dữ liệu theo bước nhảy (offset) sử dụng phưng thức GET

localhost:8081/a pi/species/norma l?offset={value} 5 Danh sách nơi cư

trú của các loài động vật

Api lấy địa điểm phân bố của các loài trên địa bàn Đà Nẵng sử dụng phương thức GET

localhost:8081/a pi/habitats 6 Phân bố môi trường

sống của loài

Api lấy phân bố của một loài cụ thể theo id loài sử dụng phương thức GET

localhost:8081/a pi/species/habita t/{id}

7 Tìm kiếm loài theo tên thường gọi và tên khoa học

Api trả về danh sách loài theo từ khóa gửi từ trình duyệt so sánh với tên thường gọi và tên khoa học của loài trong danh sách sử dụng phương thức GET

localhost:8081/a pi/species/search /?key={value}

8 Đồng bộ dữ liệu loài theo ngày cập nhật mới nhất

Api trả về danh sách các loài được cập nhật mới từ sau ngày được gửi lên bởi trình duyệt, từ đó danh sách dữ liệu được cập nhật không tốn nhiều dung lượng thiết bị, sử dụng phương thức GET

localhost:8081/a pi/species/date/? date-

update={value}

9 Lấy thông tin chi tiết loài

Api lấy thông tin chi tiết loài theo id của loài sử dụng phương thức GET

localhost:8081/a pi/species/{id}

Lê Ngọc Duy – lớp 13CNTT (2013 - 2017) 57

10 Thêm một loài mới Api thêm một loài mới, chỉ có chuyên gia và nhà quản lý mới gọi được sử dụng phương thức POST localhost:8081/a pi/species/?acces s-token={value} 11 Cập nhật thông tin một loài

Một phần của tài liệu Xây dựng hệ thống quản lý đa dạng động vật thành phố Đà Nẵng trên nền Geoserver. (Trang 38)

Tải bản đầy đủ (PDF)

(89 trang)