Vìvây, để quản lý và kiểm soát các vùng và cơ sở chân nuôi cần phải có một hệ thốngquản lý dữ liệu hiệu quả.. Bài tập lớn này sẽ tập trung vào việc thiết kế một CSDL để quản lý các thông
Trang 1TRƯỜNG ĐIỆN – ĐIỆN TỬ
***** *****
BÁO CÁO BÀI TẬP LỚN:
Kỹ thuật phần mềm và ứng dụng
ĐỀ TÀI: HỆ THỐNG QUẢN LÝ CHĂN NUÔI
Giảng viên hướng dẫn: Th.S Vũ Song Tùng
Mã lớp: 145539 Nhóm: 16 Sinh viên: Thịnh Tú
Ngô Quang ThànhCao Việt BìnhNguyễn Phú Bình
20214124202140902021381820203330
Hà Nội, T1/2024
Trang 2LỜI MỞ ĐẦU 5
CHƯƠNG 1: TỔNG QUAN HỆ THỐNG QUẢN LÝ CSDL CHĂN NUÔI 6
1.1 Yêu cầu đề tài 6
1.2 Yêu cầu dữ liệu 6
1.3 Yêu cầu chức năng 6
1.4 Yêu cầu phi chức năng 7
1.5 Giói thiệu công cụ, phần mềm sử dụng 7
1.5.1 Visual Studio C# 7
1.5.2 WPF 8
1.5.3 Microsoft SQL Server 8
1.5.4 MVC 8
1.6 Kết luận 9
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 10
2.1 FHD 10
2.2 DFD 10
2.3 ERD 12
2.3.1 ER 12
2.3.2 Mô hình quan hệ 13
CHƯƠNG 3: TRIỂN KHAI HỆ THỐNG 15
3.1 Từ điển dữ liệu 15
3.2 SQL Sever 16
3.3 Giao diện ứng dụng 18
KẾT LUẬN 22
TÀI LIỆU THAM KHẢO 23
Trang 3Hình 2.1 Sơ đồ chức năng 9
Hình 2.2 DFD mức ngữ cảnh 9
Hình 2.3 DFD mức đỉnh 10
Hình 2.4 DFD mức dưới đỉnh quản lý tài khoản 10
Hình 2.5 DFD mức dưới đỉnh tìm kiếm dữ liệu 11
Hình 2.6 DFD mức dưới đỉnh cập nhật dữ liệu 11
Hình 2.7 Quan hệ cơ sở và loại cơ sở 11
Hình 2.8 Quan hệ giữa vùng và cơ sở 12
Hình 2.9 Quan hệ giữa cơ sở và giấy chứng nhận 12
Hình 2.10 ERD giữa cơ sở với vùng và loại cơ sở 12
Hình 2.11 ERD giữa cơ sở và giấy chứng nhận 13
Hình 3.1 Giao diện phần mềm 19
Hình 3.2 Giao diện xem thông tin chi tiết 20
Trang 4DANH MỤC BẢNG BIỂU
Bảng 1.1 Yêu cầu dữ liệu 6
Bảng 3.1 Thuộc tính cơ sở 14
Bảng 3.2 Thuộc tính giấy chứng nhận 14
Bảng 3.3 Thuộc tính loại cơ sở 15
Bảng 3.4 Thuộc tính vùng 15
Bảng 3.5 Thuộc tính giấy chứng nhận cơ sở 15
Bảng 3.6 Code Database 15
Bảng 3.7 Code View 17
Bảng 3.8 Code truy vấn 17
Bảng 3.9 Code kết nối 17
Trang 5
LỜI MỞ ĐẦU
Trong những năm qua, ngành chăn nuôi Việt Nam đang trên đà phát triển, là mộtngành nông nghiệp rất quan trọng, đóng góp vào nhu cầu thực phẩm của con người Vìvây, để quản lý và kiểm soát các vùng và cơ sở chân nuôi cần phải có một hệ thốngquản lý dữ liệu hiệu quả
Bài tập lớn này sẽ tập trung vào việc thiết kế một CSDL để quản lý các thông tinliên quan đến chăn nuôi, bao gồm thông tin về các các cơ sở chăn nuôi, vùng chănnuôi, giấy chứng nhận và các thông tin khác Mục đích của bài tập này là giúp hiểu rõhơn về cách thiết kế CSDL, tăng cường kỹ năng phân tích và thiết kế hệ thống cơ sở
dữ liệu
Nhiệm vụ của bài tập lớn này bắt đầu bằng việc phân tích yêu cầu và thiết kế cácbảng dữ liệu, quan hệ giữa chúng, các khóa chính và ngoại Sau đó, sẽ xây dựng cáctruy vấn và hàm trong CSDL để truy xuất thông tin một cách hiệu quả Bên cạnh đó,cũng cần thiết kế giao diện dễ dàng sử dụng
Bản cáo cáo này gồm có 3 chương Chương I về tổng quan chương trình quản lýCSDL chăn nuôi Chương II về phân tích hệ thống, bằng cách vẽ các sơ đồ FHD,DFD, ERD Chương III trình bày về phần xây dựng cơ sở dữ liệu trên Microsoft SQLServer
Trang 6CHƯƠNG 1: TỔNG QUAN HỆ THỐNG QUẢN LÝ CSDL CHĂN NUÔI
Chương này đặt vấn đề cần giải quyết khi đề xuất hệ thống quản lý và phân tíchcác chức năng cần thiết để giải quyết vấn đề đặt ra Đồng thời mô tả sơ lược các công
cụ hỗ trợ của bên thứ ba được sử dụng trong đề tài
1.1 Yêu cầu đề tài
Xây dựng hệ thống quản lý hữu hiệu cho cán bộ nghiệp vụ cho cán bộ nghiệp vụtrong công tác quản lý tài cơ sở chăn nuôi, vùng chăn nuôi, giấy chứng nhân chănnuôi Để dễ dàng sử dụng trong việc quản lý các danh mục để nang cao hiệu suất vàquản lý dễ dàng hơn
1.2 Yêu cầu dữ liệu
Bảng 1.1 Yêu cầu dữ liệu
1.3 Y
êu cầu chức năng
Cập nhật dữ liệu : phần mềm giúp người quản lý có thể nhập thêm thông tin về cơ
sở chăn nuôi Bao gồm:
Chỉnh sửa : chỉnh sửa dữ liệu mà đã có sự thay đổi trong thời gian gần đây
Lưu trữ: Phần mềm cho phép lưu lại các thông tin của các loại cơ sở chăn nuôi, cácvùng chăn nuôi, các sơ sở chăn nuôi, giấy chứng nhận nên phải đảm bảo đủ bộ nhớ
Cơ sở sản xuất Quản lý danh mục cơ sở sản xuất sản phẩm xử lý chất thải
chăn nuôi
Cơ sở khảo nghiệm Quản lý danh mục cơ sở khảo nghiệm sản phẩm xử lý chất
thải chăn nuôi
Tổ chức, cá nhân Tra cứu về các cơ sở thuộc sử hữu của tổ chức cá nhân
Cơ sở chế biến Quản lý danh mục cơ sở chế biến sản phẩm chăn nuôi
Quy mô cơ sở Quản lý danh mục cơ sở chế biến sản phẩm chăn nuôi
Vùng chăn nuôi Xem bản đồ phân bổ các tổ chức, cá nhân trong cơ sở chăn
nuôi; Tra cứu thông tin vùng chăn nuôi an toàn dịch bệnhCác cơ sở liên quan Quản lý và tra cứu
Trang 7Thống kê: Để quản lý cơ sở dữ liệu một cách hiệu quả cần có bảng tổng hợp dữliệu chẳng hạn thống kê số hộ chăn nuôi nhỏ lẻ, thống kê số cơ sở chăn nuôi tại mộtvùng,…
Tìm kiếm: Phần mềm có chức năng tra cứu, truy vấn thông tin lưu trữ thông tinmột cách dễ dàng Tìm kiếm có thể thực hiện bằng cách tra cứu tên, bàn đồ vùng cơ
sở, sô lượng giấy chứng nhân của cơ sở…
1.4 Yêu cầu phi chức năng
Hiệu suất: Yêu cầu về hiệu suất để đảm bảo rằng phần mềm hoạt động một cáchnhanh chóng và mượt mà
Độ tin cậy: Yêu cầu độ tin cậy để đảm bảo rằng phần mềm không gây ra lỗi, sự cốhoặc mất dữ liệu
An ninh: Yêu cầu về an ninh để đảm bảo rằng phần mềm được bảo vệ chống lại cáccuộc tấn công và lỗ hổng bảo mật
Khả năng mở rộng: Yêu cầu về khả năng mở rộng để đảm bảo rằng phần mềm cóthể mở rộng và tích hợp với các hệ thống khác
Khả năng tương thích: Yêu cầu về khả năng tương thích để đảm bảo rằng phầnmềm có thể hoạt động trên các hệ điều hành khác nhau và với các phiên bản khác nhaucủa các công nghệ khác nhau
Dễ sử dụng: Yêu cầu về dễ sử dụng để đảm bảo rằng người sử dụng có thể sử dụngphần mềm một cách dễ dàng và không gặp phải khó khăn trong việc tìm hiểu cách sửdụng
Tính linh hoạt: Yêu cầu về tính linh hoạt để đảm bảo rằng phần mềm có thể tùychỉnh và cấu hình cho các nhu cầu đặc biệt của khách hàng
Thân thiện với người dùng: Yêu cầu về thân thiện với người dùng để đảm bảo rằngphần mềm tạo ra trải nghiệm người dùng tốt và thân thiện
1.5 Giói thiệu công cụ, phần mềm sử dụng
1.5.1 Visual Studio C#
Visual Studio được hiểu là một hệ thống bao gồm tất cả những gì có liên quan đếnphát triển ứng dụng như trình chỉnh sửa mã, thiết kế, gỡ lỗi, viết code hay chỉnh sửathiết kế, ứng dụng một cách dễ dàng và nhanh chóng Có thể nói đây là một phần mềm
Trang 8hỗ trợ đắc lực đối với dân lập trình trong việc lập trình website.Visual Studio cho phépngười dùng có khả năng thiết kế và trải nghiệm giao diện như khi phát triển ứng dụng.Khả năng hỗ trợ nhiều loại ngôn ngữ lập trình như C/C++, C#, Visual Basic,HTML, CSS, Ít dung lượng, các tính năng đa dạng, phong phú và hoạt động vô cùngmạnh mẽ [1].
1.5.2 WPF
Windows Presentation Foundation (WPF) là một framework phát triển ứng dụngdesktop được sử dụng để tạo ra các ứng dụng desktop WPF có một bộ công cụ đadạng để phát triển ứng dụng, bao gồm Extensible Application Markup Language(XAML), các điều khiển, data binding, layout, đồ họa 2D và 3D, animation, styles,templates, documents, media, text, và typography WPF được phát triển bởi Microsoft
và là một phần của NET Framework WPF sử dụng một độ phân giải độc lập và một
bộ máy vẽ dựa trên vector, được xây dựng để tận dụng phần cứng đồ họa hiện đại.WPF được viết bằng ngôn ngữ lập trình C# và VB [2]
1.5.3 Microsoft SQL Server
Microsoft SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) đượcphát triển bởi Microsoft SQL Server cung cấp cho người dùng một số tính năng nhưquản lý cơ sở dữ liệu, truy vấn dữ liệu, xử lý dữ liệu, và bảo mật dữ liệu SQL Server
có thể được sử dụng để lưu trữ và quản lý dữ liệu cho các ứng dụng web và desktop.SQL Server có thể được sử dụng trên các hệ điều hành khác nhau như Windows, Linux
và Docker containers Bạn có thể tìm hiểu thêm về SQL Server và tải xuống phiên bảnphù hợp với nhu cầu của bạn tại trang web của Microsoft [3]
1.5.4 MVC
Mô hình Model-View-Controller (MVC) là một mẫu kiến trúc phân tách một ứngdụng thành ba thành phần logic chính Model, View và Controller Mỗi thành phần đảmnhận một nhiệm vụ riêng, hoạt động độc lập với các thành phần khác Các thành phầncủa mô hình MVC được mô tả như sau:
Model: Đây là thành phần chịu trách nhiệm cho việc lưu trữ dữ liệu và xử lý logicliên quan đến dữ liệu
View: Đây là thành phần chịu trách nhiệm hiển thị dữ liệu cho người dùng
Trang 9Controller: Đây là thành phần chịu trách nhiệm điều khiển luồng của ứng dụng, xử
lý các sự kiện và tương tác giữa Model và View [4]
1.6 Kết luận
Qua tìm hiểu về yêu cầu thiết kế , các chức năng của hệ thống sẽ xây dựng hệthống dữ liệu từ các công cụ SQL , Visual Studio , … Trước khi bắt đầu code cầnbước phân tích thiết kế hệ thống ở Chương 2
Trang 10CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Chương này phân tích hệ thống qua bằng cách vẽ các sơ đồ FHD, DFD, ERD
2.1 FHD
Sơ đồ FHD thường được sử dụng trong giai đoạn thiết kế hệ thống phần mềm, saukhi đã xác định được các yêu cầu của khách hàng và các chức năng cần có trong hệthống
Hình 2.1 Sơ đồ chức năng
2.2 DFD
Hình 2.2 DFD mức ngữ cảnh
Trang 11Hình 2.3 DFD mức đỉnh
Hình 2.4 DFD mức dưới đỉnh quản lý tài khoản
Trang 12Hình 2.5 DFD mức dưới đỉnh tìm kiếm dữ liệu
Trang 13Hình 2.8 Quan hệ giữa vùng và cơ sở
Hình 2.9 Quan hệ giữa cơ sở và giấy chứng nhận
2.3.2 Mô hình quan hệ
Một vùng thì có nhiều cơ sở ( Quan hệ 1-N)
Một loại cơ sở thì có nhiều cơ sở ( Quan hệ 1-N)
Hình 2.10 ERD giữa cơ sở với vùng và loại cơ sở
Trang 14Hình 2.11 ERD giữa cơ sở và giấy chứng nhận
Một cơ sở thì sở hữa nhiều giấy chứng nhận khác nhau
Một giấy chứng nhận thì được phát cho nhiều cơ sở khác nhau
Quan hệ N-N
Trang 15CHƯƠNG 3: TRIỂN KHAI HỆ THỐNG
Chương này sẽ đi vào phân tích rõ thuộc tính của cá bảng ở chương 2 và đi vàoxây dựng cơ sở dữ liệu trên SQL
3.1 Từ điển dữ liệu
Bảng 3.2 Thuộc tính cơ sở
Tên thuộc tính Kiểu dữ liệu Giá trị mẫu Mô tả Ghi chú
khóa chính
Not Null
DiaChi Nvarchar(100) Hà Nội Địa chỉ cơ sở Not Null
cơ sở
Not Null
SoHuu Nvarchar(100) Tập đoàn A Chủ sở hữu Not Null
Bảng 3.3 Thuộc tính giấy chứng nhận
Tên thuộc tính Kiểu dữ liệu Giá trị mẫu Mô tả Ghi chú
Tên giấy chứng nhận
Not Null
cấp
Nơi cấp giấy Not Null
Trang 16Bảng 3.4 Thuộc tính loại cơ sở
Tên thuộc tính Kiểu dữ liệu Giá trị mẫu Mô tả Ghi chú
Not Null
Bảng 3.6 Thuộc tính giấy chứng nhận cơ sở
Tên thuộc tính Kiểu dữ liệu Giá trị mẫu Mô tả Ghi chú
khóa chính
Not Null
Trang 17use QuanLyChanNuoi
go
create table Vung (
Id int identity primary key,
Ten nvarchar(100) NOT NULL ,
DienTich real NOT NULL ,
TinhTrang nvarchar(100) NOT NULL ,
LoaiVatNuoi nvarchar(100) NOT NULL
)
go
create table LoaiCoSo (
Id int identity primary key,
Ten nvarchar(100) NOT NULL
)
go
create table GiayChungNhan (
Id int identity primary key,
Ten nvarchar(100 ) NOT NULL,
Cap nvarchar(100) NOT NULL,
SDT int NOT NULL
)
go
create table CoSo (
Id int identity primary key NOT NULL,
Ten nvarchar(100) NOT NULL,
DiaChi nvarchar(100) NOT NULL,
QuyMo nvarchar(100) NOT NULL,
SDT int NOT NULL,
SoHuu nvarchar(100) NOT NULL,
DienTich int NOT NULL,
LoaiCoSoId int NOT NULL,
VungId int NOT NULL,
foreign key (LoaiCoSoId) references dbo.LoaiCoSo(Id),foreign key (VungId) references dbo.Vung(Id),
)
go
create table GiayChungNhanCoSo (
Id int identity primary key ,
GiayChungNhanId int NOT NULL,
CoSoId int NOT NULL,
foreign key (GiayChungNhanId) references
dbo.GiayChungNhan(Id),
foreign key (CoSoId) references dbo.CoSo(Id),
)
go
Trang 18Bảng 3.8 Code View
Tạo View:
create view ViewCoSo as
SELECT CoSo.*, LoaiCoSo.Ten as Loai,Vung.Ten as ViTri
FROM CoSo
INNER JOIN LoaiCoSo ON LoaiCoSoId = LoaiCoSo.Id
INNER JOIN Vung ON VungId = Vung.Id
CREATE VIEW ViewGiayChungNhan as
SELECT GiayChungNhanCoSo.Id, CoSo.Ten as TenCoSo,
GiayChungNhan.Ten as TenGCN
FROM GiayChungNhanCoSo
INNER JOIN GiayChungNhan ON
GiayChungNhanId=GiayChungNhan.Id
INNER JOIN CoSo ON CoSoId = CoSo.Id
Bảng 3.9 Code truy vấn
Truy vấn:
SELECT *
FROM ViewCoSo
WHERE ViTri Like N'%sông cử8u long%'
where Loai Like N'%sa8n xuấ;t%'
WHERE QuyMo LIKE N'%nho8%'
WHERE SoHuu LIKE N'%B%'
Trang 19public Provider(string connectionString)
var cmd = new SqlCommand(sql, Open());
var reader = cmd.ExecuteReader();
DataTable table = new DataTable();
table.Load(reader);
reader.Close();
Trang 20var lst = new List<T>();
var props = typeof(T).GetProperties();
foreach (DataRow r in Load(sql).Rows)
{
var one = new T();
foreach (var prop in props)
Trang 21Hình 3.13 Giao diện xem thông tin chi tiết
Trang 22KẾT LUẬN
Dựa trên quá trình thiết kế CSDL chăn nuôi, bản báo cáo này đã hoàn thành cáccông việc cơ bản như phân tích yêu cầu, thiết kế mô hình dữ liệu, đặc tả các chức năngcủa hệ thống Nhưng vẫn còn nhiều thiếu sót trong quá trình hoàn thiện đề tài, đề tài đãhoàn thành ở mức độ cơ bản
Nắm được quy trình cách hình thành nên một ứng dựng, tạo cơ sở dữ liệu thôngqua SQL, kết nối C# với SQL, cách viết và trình bày một bản báo cáo cho đúng quychuẩn
Cảm ơn thầy Vũ Song Tùng đã chỉ bảo và giúp đỡ nhóm trong quá trình làm đềtài
Trang 23TÀI LIỆU THAM KHẢO
[1] Visual Studio là gì? Những tính năng cần thiết của Visual Studio, năm 2021,https://bizflycloud.vn/tin-tuc/visual-studio-la-gi-nhung-tinh-nang-can-thiet-cua-visual-studio-20210324175835691.htm
https://learn.microsoft.com/en-us/dotnet/desktop/wpf/overview/?view=netdesktop-8.0[3] Rohan Kumar, SQL Server 2022 is now generally available, năm 2022,https://cloudblogs.microsoft.com/sqlserver/2022/11/16/sql-server-2022-is-now-
generally-available/
[4] MVC là gì: Tổng quan MVC và Ứng dụng mô hình MVC trong lập trình, năm
2023, https://itviec.com/blog/mvc-la-gi/