1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án quản lý thú cưng

71 14 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

Tiêu đề Quản Lý Thú Cưng
Tác giả Vũ Quang Huy, Nguyễn Quốc Huy
Người hướng dẫn Thái Thụy Hàn Uyển
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Khoa Công Nghệ Phần Mềm
Thể loại Đồ Án Quản Lý Thú Cưng
Năm xuất bản 2023
Thành phố Hồ Chí Minh
Định dạng
Số trang 71
Dung lượng 3,54 MB

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

Nội dung

Để đáp ứng nhu cầu này, chúng ta cần một phần mềm quản lý thú cưng tối ưu, cung cấp các tính năng tân tiến, dễ dàng sử dụng và thân thiện với người dùng.. 1.2 Quy trình thực hiện các côn

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

25021404 – Nguyễn Quốc Huy

Giảng viên hướng dẫn : Thái Thuỵ Hàn Uyển

Tp.Hồ Chí Minh, tháng 7 năm 2023

Trang 2

Chương 3 : Xác định và mô hình hóa yêu cầu phần mềm 7

3.2 Sơ đồ luồng dữ liệu cho từng yêu cầu (biểu mẫu và quy định kèm theo, sơ đồ, mô tả

Trang 3

3.2.6 Biểu mẫu 6 21 3.2.7 Sơ đồ luồng dữ liệu cho yêu cầu đăng nhập 23

5.1.2 Bước 2: Xét yêu cầu quản lý thức ăn thú cưng 28

5.3 Danh sách các bảng dữ liệu (table) trong sơ đồ: 38

Trang 4

66.3.4 Màn hình Chi tiết thú cưng: 48

Trang 5

LỜI CẢM ƠN

Đồ án với đề tài “XÂY DỰNG WEBSITE QUẢN LÝ VÀ CHĂM SÓC THÚ CƯNG” là minh chứng cho quá trình cố gắng không ngừng trong việc tìm tòi, học hỏi trong suốt hơn 3 năm học tập tại trường Đại học Công nghệ Thông tin Thể hiện khả năng của bản thân trong việc áp dụng kiến thức chuyên môn vào giải quyết bài toán thực tế

Trong quá trình thực hiện đồ án, em đã nhận được sự hướng dẫn tận tình từ quý thầy

cô, sự giúp đỡ và hỗ trợ từ gia đình cũng như bạn bè Một cách đặc biệt, em xin được gửi lời cảm ơn chân thành đến:

 Các thầy cô trường Đại học Công nghệ Thông Tin nói chung và các thầy cô trong Khoa Công nghệ Phần mềm nói riêng đã tận tình truyền đạt kiến thức tới em trong những năm học tập tại trường Đó là tài sản quý báu đã giúp em hoàn thành đồ

án và cũng là hành trang cho con đường sự nghiệp của bản thân sau này

 Em xin được gửi lời cảm ơn sâu sắc tới cô Thái Thụy Hàn Uyển, người đã trực tiếp hướng dẫn, chỉ bảo, giúp đỡ em những lúc khó khăn, đưa ra những lời khuyên bổ ích để khoá luận được hoàn thành đúng tiến độ và đáp ứng các yêu cầu

đề ra ban đầu

Nhóm thực hiện

Trang 6

Chương 1: Giới thiệu bài toán cần giải quyết, mô tả quy

trình thực hiện các công việc chính

1.1 Bài toán cần giải quyết

● Trong thời đại công nghệ hiện đại, việc quản lý thông tin về thú cưng đã trở thành một vấn đề quan trọng Để đáp ứng nhu cầu này, chúng ta cần một phần mềm quản lý thú cưng tối ưu, cung cấp các tính năng tân tiến, dễ dàng sử dụng và thân thiện với người dùng Đề tài này nhằm mục đích phát triển một phần mềm như vậy,

để hỗ trợ việc quản lý các thông tin liên quan đến thú cưng một cách hiệu quả

● Nhân sự quản lý gồm: ban quản lý

● Các công việc: quản lý thú cưng , thức ăn thú cưng , phụ kiện , dịch vụ , lập báo cáo , thanh toán

1.2 Quy trình thực hiện các công việc chính

● Xác định yêu cầu bài toán Quản lý thú cưng

● Phân tích yêu cầu bài toán

● Thiết kế phần mềm: Thiết kế dữ liệu, thiết kế giao diện và thiết kế xử lý

Trang 7

thường kết hợp các thư viện của bên thứ ba Tất cả các trình duyệt web chính đều

có một công cụ JavaScript chuyên dụng để thực thi mã trên thiết bị của người dùng

 JavaScript là một ngôn ngữ lập trình máy tính động Nó nhẹ và được sử dụng phổ biến nhất như một phần của các trang web, mà việc triển khai của chúng cho phép tập lệnh phía máy khách tương tác với người dùng và tạo các trang động Nó

là một ngôn ngữ lập trình thông dịch với khả năng hướng đối tượng JavaScript lần đầu tiên được biết đến với cái tên LiveScript, nhưng Netscape đã đổi tên nó thành JavaScript, có thể vì sự thú vị được tạo ra bởi Java JavaScript xuất hiện lần đầu tiên trong Netscape 2.0 vào năm 1995 với tên LiveScript Cốt lõi mục đích chung của ngôn ngữ đã được nhúng trong Netscape, Internet Explorer và các trình duyệt web khác

 JavaScript là ngôn ngữ biên dịch cấp cao , thường vừa kịp thời , tuân theo tiêu chuẩn ECMAScript Nó có tính năng nhập động , hướng đối tượng dựa trên nguyên mẫu và các chức năng hạng nhất Nó là đa mô hình , hỗ trợ các phong cách lập trình theo hướng sự kiện , chức năng và mệnh lệnh Nó có các giao diện lập trình ứng dụng (API) để làm việc với văn bản, ngày tháng, biểu thức chính quy , cấu trúc dữ liệu chuẩn và Mô hình đối tượng tài liệu (DOM)

2.2 Hệ quản trị cơ sở dữ liệu MongoDB

Trang 8

 Sử dụng cấu trúc tài liệu linh động (Flexible document model), khác với

mô hình bảng của hệ quản trị cơ sở dữ liệu quan hệ, giúp dễ dàng thay đổi cấu trúc của tài liệu và quản lý dữ liệu phức tạp hơn

 Hỗ trợ các tính năng Quản lý dữ liệu phân tán (Distributed data

management), giúp mở rộng quy mô hệ thống và tăng tính sẵn sàng của hệ thống

 Cung cấp query ngôn ngữ được gọi là MongoDB Query Language (MQL) cùng với các tính năng truy xuất hiệu quả dữ liệu và bạn cũng có thể sử dụng các thư viện để kết nối và thực hiện query cho MongoDB từ các ngôn ngữ lập trình phổ biến khác như Javascript, Java, Python, Ruby, C#

2.2.3 Ưu điểm của MongoDB:

 Mongodb hỗ trợ quản lý dữ liệu phân tán, có khả năng mở rộng hoàn toàn

mà không bị giới hạn bởi chi phí phần cứng

 MongoDB có các API dễ sử dụng và tài liệu hướng dẫn phong phú, giúp cho nhà phát triển có thể nhanh chóng học và triển khai những ứng dụng mới

 Hỗ trợ các tính năng bảo mật và khóa dữ liệu riêng tư cực kỳ cao, không

có giới hạn gì đối với việc lập trình các ứng dụng nhỏ và có giá thành thấp

 Có thể lưu trữ các tài liệu (document) có cấu trúc linh hoạt và phong phú, không giới hạn về kích cỡ và số lượng

2.2.4 Nhược điểm của MongoDB:

 MongoDB không phù hợp khi xử lý dữ liệu liên quan tới giao dịch, bởi vì MongoDB không có các tính năng giao dịch như các hệ quản trị cơ sở dữ liệu quan

hệ truyền thống

 MongoDB không hỗ trợ các tính năng thu thập dữ liệu (data aggregations) phức tạp như nhóm dữ liệu, nhiều phép tính toán, v.v

 Sử dụng MongoDB có thể yêu cầu một lượng bộ nhớ lớn hơn so với các

hệ quản trị cơ sở dữ liệu quan hệ

Trang 9

2.3 NodeJS

2.3.1 NodeJS là gì?

 Node.js là một nền tảng phát triển ứng dụng web mã nguồn mở, được xây dựng trên nền tảng V8 của Google, cho phép lập trình viên sử dụng Javascript để xây dựng các ứng dụng web phía server

2.3.2 Đặc điểm

 Nodejs bao gồm các tính năng sau:

o Các thư viện Javascript có sẵn trong Node.js cung cấp cho người lập trình những hàm có sẵn để xử lý các tác vụ cơ bản, như xử lý file, gửi yêu cầu HTTP, xử

lý dữ liệu JSON, cũng như các công cụ bảo mật và mã hóa

o Node.js sử dụng cơ chế đưa ra các yêu cầu I/O vào một hàng đợi sự kiện

sử dụng khối lệnh non-blocking cho phép Node.js có khả năng xử lí hàng ngàn phiên đồng thời cùng một lúc

o Có thể sử dụng Node.js để xây dựng các ứng dụng web thời gian thực (real-time) như các ứng dụng game trực tuyến, ứng dụng chat real-time, ứng dụng

dữ liệu thời gian thực

o Node.js cũng cung cấp các công cụ cho phép phát triển các ứng dụng đơn giản bản đồ để bất kỳ ai cũng có thể tự xây dựng ứng dụng nhanh chóng

2.3.3 Ưu điểm của Nodejs

 Node.js có một số ưu điểm sau:

o Dễ dàng để học và sử dụng, vì nó sử dụng ngôn ngữ lập trình Javascript phổ biến

o Có thể sử dụng lại các thành phần một cách dễ dàng, giúp cho các người phát triển nhanh chóng xây dựng các ứng dụng một cách nhanh chóng

o Có tính năng non-blocking I/O, cho phép xử lý đồng thời nhiều phiên kết nối với độ trễ thấp

Trang 10

o Có khả năng xử lý các yêu cầu đồng thời, vì Node.js sử dụng cơ chế đưa ra các yêu cầu IO vào một hàng đợi sự kiện

2.3.4 Nhược điểm của Nodejs

 Một số nhược điểm của Node.js là:

o Nếu không được chỉnh sửa đúng cách, Node.js có thể gây ra các lỗi bảo mật như các lỗ hổng Cross-Site Scripting (XSS) hoặc các lỗ hổng trong quản lý cơ sở dữ liệu

o Vì Node.js sử dụng Javascript để lập trình các ứng dụng side-server, nên

Node.js mang lại kết quả xử lý chậm hơn so với các ngôn ngữ như Java hoặc C#, đặc biệt là trong việc xử lý các tác vụ phức tạp

 JSX: React sử dụng cú pháp JSX để kết hợp mã JavaScript và HTML trong cùng một tệp JSX giúp tạo ra mã dễ đọc và dễ hiểu hơn so với việc tạo DOM bằng JavaScript thông thường

 Unidirectional Data Flow: React áp dụng mô hình dữ liệu chảy một chiều (unidirectional data flow), giúp quản lý trạng thái ứng dụng dễ dàng hơn Dữ liệu

Trang 11

luôn di chuyển từ component cha xuống các component con, giúp đảm bảo tính dễ bảo trì và dễ hiểu của mã nguồn

 Cộng đồng mạnh mẽ: React có một cộng đồng phát triển rộng lớn, đông đảo, với nhiều tài liệu, thư viện và công cụ hỗ trợ Điều này giúp giải quyết vấn đề nhanh chóng và dễ dàng tìm kiếm nguồn tư liệu học tập

2.4.4 Nhược điểm:

 Học ngưỡng ban đầu: Với một người mới tiếp cận React, có thể có một học ngưỡng ban đầu khá lớn, đặc biệt là khi phải làm quen với JSX và các khái niệm mới

 Quá phụ thuộc vào cộng đồng: Do React có nhiều phiên bản và bổ sung từ cộng đồng, việc theo kịp các phiên bản và thay đổi có thể gây khó khăn đôi khi

 Cần kết hợp với các thư viện bên thứ ba: React chỉ tập trung vào việc xây dựng giao diện người dùng, vì vậy bạn cần phải sử dụng các thư viện bên thứ ba để quản lý trạng thái ứng dụng (ví dụ: Redux) hoặc để xử lý định tuyến (ví dụ: React Router)

Trang 12

Chương 3 : Xác định và mô hình hóa yêu cầu phần mềm 3.1 Phân loại các yêu cầu phần mềm

3.1.1 Yêu cầu nghiệp vụ

a Danh sách các yêu cầu

2 Tiếp nhận hồ sơ thức ăn thú

Trang 13

● Yêu cầu lưu trữ:

○ Lưu trữ thông tin người dùng phần mềm: Lưu trữ thông tin tài khoản, mật khẩu tài khoản

○ Lưu trữ thông tin thú cưng: Mã thú cưng , tên thú cưng , tuổi , giống , màu , chiều cao , cân nặng , giá , hình ảnh

○ Lưu trữ thông tin thức ăn thú cưng : Mã thức ăn thú cưng , tên thức ăn , hương vị , kích cỡ , giá , hình ảnh

○ Lưu trữ thông tin phụ kiện: Mã phụ kiện , tên phụ kiện , hình ảnh , kích thức , màu , giá

○ Lưu trữ dịch vụ: mã dịch vụ , tên dịch vụ , hình ảnh , giá , thời gian bắt đầu , thời gian kết thúc , địa chỉ khách hàng

○ Lưu trữ hóa đơn: mã hóa đơn , thời gian , tổng giá

○ Lưu trữ chi tiết hóa đơn : mã chi tiết hóa đơn , mã sản phẩm , số lượng , mã hóa đơn

○ Lưu trữ thông tin lịch sử thanh toán : mã hóa đơn , thời gian , tổng tiền

● Yêu cầu tra cứu:

○ Tra cứu thông tin : thông tin thú cưng , thức ăn thú cưng , dịch vụ , sản phẩm , lịch sử thanh toán

● Yêu cầu tính toán:

○ Tính toán tổng số tiền thanh toán của hóa đơn

● Yêu cầu kết xuất:

○ Thống kê lịch sử thanh toán , báo cáo doanh thu

b Danh sách các biểu mẫu và quy định

Trang 14

Chi tiết : ……… Màu :

Trang 15

……… STT Tên phụ

Trang 16

phẩm

Tên sản phẩm

Trang 18

Bước 2 Kết nối cơ sở dữ liệu

Bước 3 Lưu D4 xuống bộ nhớ phụ

Bước 4 Xuất D5 ra máy in (nếu có yêu cầu)

Bước 5.Đóng kết nối cơ sở dữ liệu

Trang 20

Bước 2 Kết nối cơ sở dữ liệu

Bước 3 Lưu D4 xuống bộ nhớ phụ

Bước 4 Xuất D5 ra máy in (nếu có yêu cầu)

Bước 5.Đóng kết nối cơ sở dữ liệu

Bước 6.Kết thúc

Trang 21

……… STT Tên phụ

Trang 22

Bước 2 Kết nối cơ sở dữ liệu

Bước 3 Lưu D4 xuống bộ nhớ phụ

Bước 4 Xuất D5 ra máy in (nếu có yêu cầu)

Bước 5.Đóng kết nối cơ sở dữ liệu

Trang 24

D6 : Không có

Thuật toán:

Bước 1 Nhận D1 từ người dùng

Bước 2 Kết nối cơ sở dữ liệu

Bước 3 Lưu D4 xuống bộ nhớ phụ

Bước 4 Xuất D5 ra máy in (nếu có yêu cầu)

Bước 5.Đóng kết nối cơ sở dữ liệu

Bước 6.Kết thúc

3.2.5 Biểu mẫu 5

Ngày: Tổng tiền: STT Mã sản

Trang 26

Bước 4.Xuất D5 ra máy in

Bước 5.Trả D6 cho người dùng

Bươc 6.Đóng cơ sở dữ liệu

Trang 28

Bước 5 Xuất D5 ra máy in

Bước 6 Đóng cơ sở dữ liệuu

Trang 29

D1: Thông tin đăng nhập (tài khoản, mật khẩu)

B2: Kết nối cơ sở dữ liệu

B3: So sánh thông tin D1 với D3 nếu không thỏa thì chuyển sang bước 5

MVC là viết tắt của cụm từ “Model-View-Controller“ Đây là mô hình thiết kế được

sử dụng trong kỹ thuật phần mềm MVC là một mẫu kiến trúc phần mềm để tạo lập giao diện người dùng trên máy tính MVC chia thành ba phần được kết nối với nhau

và mỗi thành phần đều có một nhiệm vụ riêng của nó và độc lập với các thành phần khác Tên gọi 3 thành phần:

● Model (dữ liệu): Quản lí xử lí các dữ liệu

Trang 30

● View (giao diện): Nơi hiển thị dữ liệu cho người dùng.

● Controller (bộ điều khiển): Điều khiển sự tương tác của hai thành phần Model

và View

4.2 Mô tả các thành phần trong hệ thống:

1 Model Là bộ phận có chức năng lưu trữ toàn bộ dữ

liệu của ứng dụng và là cầu nối giữa 2 thành phần bên dưới là View và Controller Một model là dữ liệu được sử dụng bởi chương trình Đây có thể là cơ sở dữ liệu, hoặc file

Trang 31

XML bình thường hay một đối tượng đơn giản.

2 View Đây là phần giao diện (theme) dành cho

người sử dụng View là phương tiện hiển thị các đối tượng trong một ứng dụng Chẳng hạn như hiển thị một cửa sổ, nút hay văn bản trong một cửa sổ khác Nó bao gồm bất cứ thứ gì

mà người dùng có thể nhìn thấy được

3 Controller Là bộ phận có nhiệm vụ xử lý các yêu cầu

người dùng đưa đến thông qua View Một controller bao gồm cả Model lẫn View Nó nhận input và thực hiện các update tương ứng

Chương 5 : Thiết kế dữ liệu

5.1 Thuật toán lập sơ đồ logic:

5.1.1 Bước 1: Xét yêu cầu quản lý thú cưng

a Thiết kế dữ liệu với tính đúng đắn

● Biểu mẫu liên quan: BM1

● Sơ đồ luồng dữ liệu: SĐ1

● Các thuộc tính mới: name , description , id , product_type , img_url , price , breed , age , gender , aboutBreed , characteristic , origin , weight , height , color

● Thiết kế dữ liệu: table PET , table PRODUCT

Trang 32

● Các thuộc tính trừu tượng: product_id , pet_id , id

● Sơ đồ logic:

b Thiết kế dữ liệu với tính tiến hóa

● Quy định liên quan: Không có

● Sơ đồ luồng dữ liệu: số hiệu sơ đồ luồng dữ liệu tương ứng

● Các thuộc tính mới: Không có

● Thiết kế dữ liệu: table PRODUCT , table PET , table FOODFORPET

● Các thuộc tính trừu tượng: Không có

Trang 33

5.1.2 Bước 2: Xét yêu cầu quản lý thức ăn thú cưng

c Thiết kế dữ liệu với tính đúng đắn

● Các thuộc tính mới: flavour_id , size_id

● Thiết kế dữ liệu: table PRODUCT , table PET , table FOODFORPET

● Thuộc tính trừu tượng: food id , flavour_id , size_id

● Sơ đồ logic:

Trang 34

d Thiết kế dữ liệu với tính tiến hóa

● Quy định liên quan: Không có

● Sơ đồ luồng dữ liệu: số hiệu sơ đồ luồng dữ liệu tương ứng

● Các thuộc tính mới: Không có

● Thiết kế dữ liệu: table PRODUCT , table PET , table FOODFORPET

● Các thuộc tính trừu tượng: Không có

● Sơ đồ logic: Không có

5.1.3 Bước 3: Xét yêu cầu quản lý phụ kiện

a Thiết kế dữ liệu với tính đúng đắn

● Các thuộc tính mới: price, color_id

● Thiết kế dữ liệu: table PRODUCT , table PET, table FOODFORPET, table ACCESSORY

Trang 35

● Các thuộc tính trừu tượng: color_id , accessory_id

● Sơ đồ logic:

b Thiết kế dữ liệu với tính tiến hóa

● Quy định liên quan: Không có

● Sơ đồ luồng dữ liệu: SĐ3

● Các thuộc tham số mới: color_id , accessory_id

● Thiết kế dữ liệu: table PRODUCT , table PET, table FOODFORPET, table ACCESSORY

● Các thuộc tính trừu tượng: không có

Trang 36

● Sơ đồ logic: Không có

5.1.4 Bước 4: Xét yêu cầu quản lý dịch vụ

 Thiết kế dữ liệu với tính đúng đắn

Trang 37

● Các thuộc tính trừu tượng: service_id

● Sơ đồ logic:

Trang 38

a Thiết kế dữ liệu với tính tiến hóa

● Quy định liên quan: Không có

● Sơ đồ luồng dữ liệu: số hiệu sơ đồ luồng dữ liệu tương ứng

● Các thuộc tính mới: Không có

● Các tham số mới:Không có

● Thiết kế dữ liệu: table PRODUCT , table PET , table FOODFORPET , table ACCESSORY , table SERVICEFORPET

● Các thuộc tính trừu tượng: Không có

● Sơ đồ logic: Không có

5.1.5 Bước 5: Xét yêu cầu thanh toán

a Thiết kế dữ liệu với tính đúng đắn

Ngày đăng: 04/09/2023, 20:28

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w