1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài tập lớn môn Công nghệ phần mềm: Smurfs - Smart Universial Farm System

16 18 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 16
Dung lượng 482,88 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đề tài Smurfs - Hệ thống nông trại thông minh trong trường đại học được thực hiện với mục đích cho phép người sử dụng điều khiển tất cả các thiết bị truyền động (thiết bị IOT) trong trang trại của mình. Ví dụ, một trang trại trồng rau có thể có một hệ thống bơm và/hoặc một hệ thống bón phân để cung cấp nước / phân bón/chất dinh dưỡng cho cây trồng/... Ví dụ khác, một trang trại nuôi tôm có thể có một hệ thống cung cấp oxy để cung cấp thêm oxy đến những con tôm. Mời các bạn cùng tham khảo!

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH

CÔNG NGHỆ PHẦN MỀM

Bài tập lớn

Smurfs - Smart Universial Farm System

Giáo viên hướng dẫn: Lê Đình Thuận

Lớp: L03

DANH SÁCH THÀNH VIÊN NHÓM

1 Nguyễn Trung Tính – 1713521

2 Nguyễn Nhật Tân – 1713074

3 Đặng Văn Dũng – 1710853

4 Cao Đăng Dũng – 1710849

5 Nguyễn Trương Đình Quân – 1712825

6 Nguyễn Xuân Trực – 1513804

TP HỒ CHÍ MINH - THÁNG 4/2019

Trang 2

MỤC LỤC

I Introduction 2

II Indivual document 2

1 Function requirement 3

a) Use-case diagram 3

b) Use-case scenario 4

2 Non-functional requirements 15

a) General non-functional requirement 15

b) Use-case non-functional requirement 15

Trang 3

I Introduction:

Smurfs - Smart Universial Farm System

For increasing the quality and productivity of farming products, our university would like to develop a system (Smurfs) for building and controlling smart farms

Such the system allows the users to control all the actuators (IOT device) in their farm For example, a vegetable farm may have a pumping system and/or a fertilizing system to provide the plants in the farms with water/fertilizer/plant nutrients/… For another example, a shrimp farm may have an oxygen supply system to provide more oxygen to the shrimps

Importantly, the system has to provide the users the health of their farms based on data collected from the sensors, such as moiture sensor, water level sensor, oxygen level sensor, pH level sensor, etc or some health diagnostic system based on image processing techniques The system then allows the users to configure actuators to work automatically based on scheduling or based on a formala of collected data

The collected data for the system must be stored in a cloud-scale technology and can only be accessed by authorized persons

The platform should be in multi-platform to allow the users access to the system using their working daily devices such as desktop and mobile

Assume that, there is only one system and the users may need to register and configure their farms to the system before use

II Indivual document:

Trang 4

1 Function requirement:

a) Use-case diagram:

Trang 5

b) Use-case scenario:

Use-case name: Đăng Kí

Description: Use – Case cho phép người dùng tạo một tài khoản mới trên hệ thống Trigger: Khi người dùng bấm vào liên kết “Đăng kí Tài khoản”

Pre-condition: 1 Thiết bị phải có kết nối Internet

2 Người dùng chưa Đăng nhập vào hệ thống Post-condition: Người dùng đăng kí tài khoản thành công

Normal Flow: 1 Hệ thống hiển thị màn hình Đăng Kí

2 Người dùng nhập User Name theo ý của mình

3 Người dùng nhập Password

4 Người dùng nhập lại Password

5 Hệ thống kiểm tra User Name đã được sử dụng hay chưa

6 Hệ thống kiểm tra Password và Re-Password có giống nhau hay không

7 Nếu thành công, hệ thống sẽ đăng kí tài khoản mới cho User với các thông số User Name và Password

8 Kết thúc User - Case

Alternative Flow: A User Name đã được sử dụng: Khi người dùng chọn User Name đã

có người đăng kí trước đó

1 Hệ thống hiển thị lại màn hình Đăng Kí để người dùng nhập lại thông tin kèm theo thông báo User Name đã được sử dụng

2 Quay lại bước 2 trong Normal Flow

B Hai Password khác nhau: Khi người dùng nhập Password và

Re-Password không trùng nhau

1 Hệ thống hiển thị lại màn hình Đăng Kí để người dùng nhập lại thông tin kèm theo thông báo Password không trùng nhau

2 Quay lại bước 2 trong Normal Flow

Exceptions: Ở bước 1, nếu không có kết nối Internet, hệ thống sẽ báo cho người

dùng biết

Notes and issues: Không

Non – functional: • Hệ thống không được để lộ thông tin của User

• Trang đăng kí có giao diện rõ ràng, bố cục cân đối, màu chữ tương phản, rõ ràng

• Thời gian cho phép để hệ thống phản hồi lại thông tin đã tiếp nhận yêu cầu xử lý từ phía người sử dụng là 3 giây

• Tên đăng nhập (UserName) không được dài quá 20 kí tự, không chứa khoảng trắng, chỉ chấp nhận kí tự bảng chữ cái Tiếng Anh và kí tự số (không chấp nhận kí tự đặc biệt)

Trang 6

• Mật khẩu (Password) dài tối thiểu 8 kí tự, bao gồm kí tự số, kí tự đặc biệt, kí tự IN HOA và kí tự thường

• Không cho phép tên tài khoản và mật khẩu đăng nhập được truyền trên môi trường mạng mà không được mã hóa

• Hỗ trợ ít nhất 2 ngôn ngữ (Tiếng Anh + Tiếng Việt)

Use-case name: Gửi dữ liệu về hệ thống đám mây

Actor Hệ thống quan sát tình trạng nông trại

Description: Sau khi có dữ liệu đo điều kiện môi trường từ các cảm biến, dữ liệu

sẽ được gửi về hệ thống đám mây Trigger: Tự động gửi dữ liệu về hệ thống đám mây

Pre-condition: 1 Thiết bị phải có kết nối Internet

2 Có dữ liệu thu thập được từ các cảm biến

3 Hệ thống phải được kết nối với hệ cơ sở dữ liệu đám mây

Post-condition: Dữ liệu được gửi về hệ thống đám mây thành công

Normal Flow: 1 Hệ thống nhận dữ liệu đo được từ các cảm biến

2 Hệ thống tự động chuyển dữ liệu lên hệ thống đám mây

3 Thông báo đã chuyển dữ liệu thành công

Alternative Flow:

Exceptions: Ở bước 2, nếu không có kết nối Internet, hệ thống sẽ báo cho người

dùng biết chuyển dữ liệu lên đám mây không thành công

Notes and issues: Nếu không gửi dữ liệu lên hệ thống đám mây thành công, dữ liệu

không bị mất đi (vẫn được lưu trong hệ thống nông trại) và tự động gửi khi có kết nối internet

Non – functional: • Tốc độ gửi dữ liệu về hệ thống đám mây nhanh

• Không được làm mất dữ liệu khi bị lỗi internet

Use-case name: Cảm biến đo các điều kiện của môi trường

Actor Hệ thống quan sát tình trạng nông trại

Description: Dùng để đo các điều kiện của môi trường

Pre-condition: 1 Yêu cầu cảm biến phải được kích hoạt

2 Cảm biến không bị hư hỏng hoạt đông còn tốt

Post-condition: Đã đo được điều kiện của môi trường

Nomal Flow: 1 Cảm biến được kích hoạt để đo điều kiện của môi trường

2 Sau khi được kích hoạt cảm biến sẽ đo từng loại điều kiện của môi trường:

2.1 Đo độ ẩm

2.2 Đo mực nước

Trang 7

2.3 Đo mức PH

2.4 Đo mức oxy

3 Sau khi đo xong cảm biến sẽ ghi nhận và lưu lại dữ liệu đã

được đo

Alternative Flow: Không

Exceptions: Nếu cảm biến không được kích hoạt hoặc bị hư hỏng step 2,3 sẽ

không được thực hiện

Notes and issues: Không

Non – functional: - Hệ thống cảm biến có thể hoạt động trong thời gian dài 24/7

- Thời gian phản hồi cũng như xử lý rất tốt

- Chịu được những thay đổi của môi trường

- Độ nhạy tốt với sai số nhỏ

- Có thể tích hợp thêm để đo các loại điều kiện môi trường khác

- Quản lý dễ với cơ chế tự động

- Khả năng tương tác đối với hệ thống tốt

Use-case name: Xử lý ảnh

Actor Hệ thống quan sát tình trạng nông trại

Description: Thu thập hình ảnh về tình trạng của nông trại để xử lý

Pre-condition: 1.Thiết bị xử lý ảnh phải được kích hoạt

2.Thiết bị không bị hư hỏng vẫn còn hoạt động tốt

Post-condition: Sau khi thu thập hình ảnh về tình trạng của nông trại,hình ảnh sẽ

phải đươc xử lý

Normal Flow: 1.Thiết bị xử lý ảnh được kích hoạt

2 Sau khi được kích hoạt thiết bị sẽ thu thập mọi hình ảnh về tình trạng nông trại hiện có như:chất lượng nước nuôi tôm hình ảnh cây trồng hiện tại,…

3 Hình ảnh sau khi được thu thập sẽ được thiết bị xử lý đưa ra tình trạng sức khỏe của nông trại hiện nay

4.Sau đó sẽ được ghi nhận và lưu lại dữ liệu

Alternative Flow: Không

Exceptions: Nếu 1 trong 4 step trên có lỗi thì những step tiếp theo sẽ không được

thực hiện tiếp

Notes and issues: Không

Non – functional: - Độ phân giải hình ảnh chất lương cao

- Tốc độ tính toán xử lý nhanh

- Các thao tác thêm,sửa,xóa được quản lý chặt chẽ

- Có thể tự điều chỉnh thiết lập mới tính năng

- Khả năng tương tác phản hồi đối với hệ thống tốt

- Có thể quản lý dễ dàng với cơ chế tự động

Trang 8

Use-case name: Điều khiển các thiết bị IOT

Description: User có thể điều khiển các thiết bị IOT để thực hiện các công

việc tưới cây, bón phân,

Trigger: Người dùng click vào mục “Điều khiển các thiết bị IOT”

Pre-condition: 1 Thiết bị phải có kết nối Internet

2 Phải đảm bảo các thiết bị IOT không bị hư hỏng hay thiếu pin

3 Các loại thức ăn, phân bón, nước, … phải được cung cấp đầy đủ vào các thiết bị IOT

Post-condition: 1 Nông sản trong nông trại được tưới nước, bón phân đầy đủ

2 Các loài gia súc, gia cầm được cung cấp thức ăn, tưới nước để làm mát, làm sạch

3 Các loài thủy hải sản được cung cấp đầy đủ Oxy, được cung cấp thức ăn

Normal Flow: 1 Người dùng click vào biểu tượng “Điều khiển thiết bị IOT

trên màn hình”

2 Giao diện sẽ hiện ra để người dùng chọn hệ thống muốn sử

dụng

3 Người dùng chọn vào “Hệ thống bơm”

3.1 Giao diện sẽ hiển thị để người dùng chọn vị trí, loại nông sản sẽ tưới, lượng nước, thời gian thực hiện dưới dạng Combobox

3.2 Người dùng lựa chọn vị trí, loại nông sản, thời gian, lượng nước

3.3 Nhấn xác nhận 3.4 Hệ thống sẽ hiện thị hộp thoại “Bạn có chắc chắn với lựa chọn này” để đảm bảo không có sai sót

3.5 Nhấn xác nhận 1 lần nữa để kết thúc lựa chọn

4 Người dùng chọn vào “Hệ thống bón phân”

4.1 Giao diện sẽ hiện thị loại nông sản, vị trí, lượng phân bón dưới dạng Combobox

4.2 Người dùng lựa chọn theo ý muốn của mình 4.3 Nhấn xác nhận

4.4 Hệ thống sẽ hiện thị hộp thoại “Bạn có chắc chắn với lựa chọn này” để đảm bảo không có sai sót

4.5 Nhấn xác nhận 1 lần nữa để kết thúc lựa chọn

5 Người dùng chọn vào “Hệ thống cung cấp Oxy”

5.1 Giao diện hiển thị vị trị, lượng oxy cần cung cấp dưới dạng Combobox

5.2 Người dùng lựa chọn theo ý muốn của mình 5.3 Nhấn xác nhận

Trang 9

5.4 Hệ thống sẽ hiện thị hộp thoại “Bạn có chắc chắn với lựa chọn này” để đảm bảo không có sai sót

5.5 Nhấn xác nhận 1 lần nữa để kết thúc lựa chọn

6 Sau khi hệ thống hoạt động xong sẽ có thông báo cho người dùng biết

7 Người dùng click vào ô kiểm tra để xem hình ảnh gửi về

8 Người dùng click vào “Thoát” để kết thúc việc điều khiển thiết bị IOT

Alternative Flow: Ở bước 3.2, 4.2, 5.2: thì người dùng có thể nhập 1 thông số khác

ở textbox

Ở bước 7: Bất cứ khi nào người dùng click vào ô kiểm tra thì các thiết bị IOT sẽ chụp 1 vài bức ảnh để gửi về để tiện cho việc theo dõi

Ngoài ra người dùng có thể cấu hình để các thiết bị có thể tự động hoạt động mà không cần kích hoạt

Exceptions: Ở bước 1: Nếu người dùng chưa đăng nhập vào thì hệ thống sẽ

yêu cầu đăng nhập trước khi bắt đầu ứng dụng Ở bước 3.2, 4.2, 5.2: Nếu người dùng nhập thông số không hợp lệ (Ví dụ như lượng phân quá nhiều, thiết bị IOT chưa có đủ) hoặc người dùng bỏ trống thì sẽ hiện thông báo để người dùng có thể điều chỉnh nhanh chóng

Notes and issues: Không

Non – functional: • Tốc độ phản hồi của các thiết bị IOT dưới 1s

• Tốc độ di chuyển của các thiết bị hệ thống bơm, hệ thống bón phân IOT không được chậm hơn 0.2m/s

• Tuổi thọ của các thiết bị ít nhất là 2 năm

• Dung lượng pin phải đáp ứng được 3 giờ hoạt động liên tục

• Các thiết bị có thể hoạt động tốt trong điều kiện ngoài trời như: nhiệt độ cao, trời mưa,…

Use-case name: Nhận báo cáo về tình trạng nông trại

Description: Người dùng có thể nhận báo cáo về: sức khỏe, độ ẩm, nhiệt độ,

thời tiết, lượng nước,…

Trigger: Người dùng click vào “Nhận báo cáo”

Pre-condition: 1 Phải có kết nối mạng Internet

2 Trong hệ thống lưu trữ đã có dữ liệu Post-condition: Người dùng biết được thông tin về nông trại của mình

1 Người dùng click vào mục “Nhận báo cáo”

2 Giao diện sẽ hiện ra các thông tin có thể cung cấp ví dụ như: nhiệt độ, độ ẩm, lượng nước, lượng phân, tình trạng sức

Trang 10

khỏe

3 Người dùng click vào thông tin muốn xem

4 Hộp thoại hiện ra sẽ hiển thị thông tin đó về cho người dùng

5 Người dùng click “Thoát” để kết thúc việc nhận báo cáo Alternative Flow: Ở bước 3: Người dùng có thể click vào ô xem tất cả để nhanh

chóng biết được tất cả thông tin về nông trại

Ở bước 4: Nếu hệ thống phát hiện có điều bất ổn thì người dùng

có thể click vào “Hiển thị giải pháp” để hiển thị một số biện pháp nhằm khắc phục sơ bộ tình trạng bệnh ở nông trại

Exceptions: Ở bước 4: Nếu dữ liệu chưa có trong hệ thống lưu trữ thì sẽ thông

báo “Chưa có dữ liệu”

Ở bước 1: Nếu người dùng chưa đăng nhập thì sau khi click vào

“Nhận báo cáo” sẽ hiển thị ra trang Đăng nhập Notes and issues: Không

Non – functional: • Tốc độ gửi báo cáo dưới 1s

• Giao diện thân thiện, người dùng có thể đọc thông tin 1 cách nhanh chóng

• Độ chính xác của các thông số được báo cáo như: nhiệt độ, lương nước,… phải chỉnh xác đến 2 chữ số thập phân sau dấu phẩy

Use-case name: Cấu hình bộ truyền động

Description: Người dùng có thể cấu hình bộ truyền động để các thiết bị có thể

hoạt động theo ý của mình Trigger: Người dùng click vào “Cấu hình bộ truyền động”

Pre-condition: 1 Người dùng phải có kết nối Internet

Post-condition: 1 Các thiết bị IOT được cấu hình để có thể tự động làm việc Normal Flow: 1 Người dùng click vào mục “Cấu hình”

2 Giao diện hiện ra với các thông tin có thể cấu hình như:

• Hẹn giờ

• Tốc độ tưới của hệ thống bơm

• Lượng phân bón trên 1 đơn vị diện tích

• Lượng Oxy được bơm trên 1 đơn vị thời gian

3 Người dùng click vào mục muốn điều chỉnh

4 Điều chỉnh thông số

5 Nhấn xác nhận Alternative Flow: Ở bước 2: Hệ thống sẽ hiện thị một số thông số thường dùng để

người dùng có thể lựa chọn nhanh chóng

Exceptions: Ở bước 1: Nếu người dùng chưa đăng nhập thì sau khi click vào

thì giao diện Đăng nhập sẽ hiện ra

Trang 11

Ở bước 4: Nếu người dùng bỏ lỡ thông số nào thì hệ thống sẽ báo lỗi

Notes and issues: Không

Non – functional: • Tốc độ phản hồi dưới 1s

• Hỗ trợ ít nhất 2 ngôn ngữ: tiếng Anh, tiếng Việt

Use-case name: Nhận dữ liệu từ hệ thống đám mây

Description: Sau những khoản thời gian cố định hệ thống chuẩn đoán sức

khỏe sẽ nhận dữ liệu từ hệ thống đám mây gửi về

Trigger: Đến thời điểm được thiết lập

Pre-condition: Thiết bị phải có kết nối Internet

Post-condition: Dữ liệu được nhận thành công và xuất ra theo form

Normal Flow: 1 Đến thời điểm bắt đầu, hệ thống chuẩn đoán sức khỏe gửi yêu

cầu đến hệ thống đám mấy

2 Hệ thống đám mây sẽ kiểm tra yêu cầu

3 Hệ thống đám mây sẽ gửi dữ liệu về cho hệ thống chuẩn đoán sức khỏe

4 Hệ thống chuẩn đoán sức khỏe nhận dữ liệu và xuất ra theo form

5 Kết thúc

Alternative Flow: - Bước 1: nếu không thể kết nối internet, hệ thống sẽ báo lỗi

cho user biết

- Bước 2: nếu yêu cầu không hợp lệ, hệ thống đám mây sẽ

không gửi dữ liệu về và chuyển đến kết thúc

Exceptions: Ở bước 1, nếu không có kết nối internet, hệ thống sẽ thử kết nội

lại sau khi báo lỗi cho user biết

Notes and issues: Không

Non – functional: - Độ trễ < 0.5s

- Hệ thống đám mây đáp ứng được yêu cầu của ít nhất 100 client một lúc

Use-case name: Xử lí dữ liệu

Description: Dữ liệu sau khi nhận về, hệ thống sẽ tiến hành phân tích xử lí để

kết luận được tình trạng sức khỏe hiện tại của nông trại

Trigger: Sau khi nhận dữ liệu từ hệ thống đám mây thành công

Pre-condition: 1 Thiết bị phải có kết nối Internet

Ngày đăng: 08/12/2021, 08:51

🧩 Sản phẩm bạn có thể quan tâm

w