Biểu đồ luồng dữ liệu

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 44)

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

Api cập nhật thông tin một loài, chỉ có chuyên gia và nhà quản lý mới gọi được sử dụng phương thức PUT

localhost:8081/a pi/species/{id}?a ccess-

token={value} 12 Danh sách loài theo

ID của ngành

Api lấy tất cả các loài có trong cơ sở dữ liệu theo ID của ngành sử dụng phương thức GET

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

13 Danh sách loài theo ID của lớp

Api lấy tất cả các loài có trong cơ sở dữ liệu theo ID của lớp sử dụng phương thức GET

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

14 Danh sách loài theo ID của bộ

Api lấy tất cả các loài có trong cơ sở dữ liệu theo ID của bộ sử dụng phương thức GET

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

14 Danh sách loài theo ID của họ

Api lấy tất cả các loài có trong cơ sở dữ liệu theo ID của họ sử dụng phương thức GET

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

15 Danh sách loài theo ID của chi

Api lấy tất cả các loài có trong cơ sở dữ liệu theo ID của chi sử dụng phương thức GET localhost:8081/a pi/species/genus/ {id} 16 Danh sách các loài do người dùng chia sẻ

Api lấy lại tất cả các loài mà người dùng đã chia sẻ chỉ có thành viên gọi được API sử dụng phương thức GET localhost:8081/a pi/species/list/sh are?id={value} &access_token= {value} 17 Thành viên chia sẻ loài

Api chia sẻ thông tin của một loài cụ thể từ thành viên, server lưu trữ thông tin ở trang thái chờ phê duyệt từ chuyên gia sử dụng phương thức POST

localhost:8081/a pi/species/share? access-

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

18 Danh sách loài chưa được phê duyệt

Api trả về danh sách loài chưa được phê duyệt cho chuyên gia sử dụng phương thức GET

localhost:8081/a pi/species/list/ap prove

19 Phê duyệt một loài từ chuyên gia

Api cho phép chuyên gia phê duyệt một loài từ danh sách đợi, trạng thái của loài sẽ được kích hoạt sử dụng phương thức PUT

localhost:8081/a pi/species/appro ve/{idSpecies}?i dCreator={value }&&access- token={value} 20 Danh sách tất cả các ngành Api trả về danh sách tất cả các ngành có trong cơ sở dữ liệu sử dụng phương thức GET

localhost:8081/a pi/phylums 21 Lấy ngành theo ID Api trả lại ngành theo ID sử

dụng phương thức GET

localhost:8081/a pi/phylums/{id} 22 Tạo một ngành mới Api tạo một ngành 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/phylums?acce ss-

token={value} 23 Cập nhật một ngành Api cập nhật thông tin của một

ngành chỉ có chuyên gia và nhà

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 44)

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

(89 trang)