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ý CSDL Chăn Nuôi

48 1 0
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ý CSDL Chăn Nuôi

Đ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

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘIKHOA ĐIỆN TỬ - VIỄN THÔNG

Trang 2

Mục Lục

Chương I: Tổng quan về chương trình quản lý CSDL chăn nuôi4

Trang 4

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ột ngà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 Tuy nhiên, để quản lý và kiểm soát chất lượng sản phẩm đạt tiêu chuẩn, cần phải có một hệ thống quả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 tin liên quan đến chăn nuôi, bao gồm thông tin về các sản phẩm xử lý chất thải chăn nuôi; các cơ sở chăn nuôi, thị trường chế biến sản phẩm chăn nuôi 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ác bả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ác truy 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ảnlý 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ênMicrosoft SQL Server.

Trang 5

Chương I: Tổng quan về chương trình quản lý CSDL chăn nuôi

1 Yêu cầu chức năng

●Đăng nhập và quản lý người dùng: Yêu cầu cho phép người dùng đăng nhập và quản lý thông tin người dùng.

●Quản lý dữ liệu: Yêu cầu cho phép người dùng tạo, lưu trữ, cập nhật và xóa dữ liệu.

●Tìm kiếm và lọc dữ liệu: Yêu cầu cho phép người dùng tìm kiếm và lọc dữ liệu theo nhiều tiêu chí khác nhau.

●Hiển thị dữ liệu: Yêu cầu cho phép hiển thị dữ liệu theo cách rõ ràng, dễ đọc và dễ hiểu.

●Thao tác và xử lý dữ liệu: Yêu cầu cho phép người dùng thao tác với dữ liệu và thực hiện các xử lý dữ liệu.

●Tương tác với người dùng: Yêu cầu cho phép tương tác với người dùng thông qua các giao diện người dùng thân thiện và dễ sử dụng.

●Bảo mật và phân quyền: Yêu cầu cho phép bảo mật dữ liệu và phân quyền truy cập cho người dùng.

●Giao tiếp với các hệ thống khác: Yêu cầu cho phép phần mềm giao tiếp với các hệ thống khác để chia sẻ và truyền dữ liệu.

2 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ách nhanh 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ác cuộ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ần mề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 nhau củ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ụng phầ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ùy chỉnh và cấu hình cho các nhu cầu đặc biệt của khách hàng.

Trang 6

●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ằng phần mềm tạo ra trải nghiệm người dùng tốt và thân thiện.

3 Giới thiệu công cụ, phần mềm sử dụng

1.1.1 Visual Studio C#

Visual Studio là một môi trường phát triển tích hợp (IDE) được phát triển bởi Microsoft Nó cung cấp cho nhà phát triển một công cụ toàn diện để phát triển phần mềm cho nhiều nền tảng khác nhau, bao gồm Windows, MacOS, Linux, iOS, Android và nhiều hệ điều hành khác.

Visual Studio hỗ trợ nhiều ngôn ngữ lập trình như C#, C++, F#, Visual Basic, JavaScript, TypeScript và nhiều ngôn ngữ khác Nó cũng cung cấp cho người dùng một số công cụ và tính năng hữu ích như IntelliSense, bộ dò lỗi, kiểm tra mã nguồn, quản lý mã nguồn, thiết kế giao diện, đồ họa, và các công cụ kiểm thử và phân tích mã nguồn.

Visual Studio là một công cụ quan trọng trong việc phát triển phần mềm và được sử dụng rộng rãi trong các công ty phát triển phần mềm, doanh nghiệp và cộng đồng lập trình viên trên toàn thế giới.

1.1.2 WPF (Windows Presentation Foundation)

WPF (Windows Presentation Foundation) là một công nghệ của Microsoft được sử dụng để phát triển các ứng dụng Windows đồ họa, bao gồm cả ứng dụng desktop và ứng dụng trên nền tảng web (Web applications) WPF cung cấp một bộ công cụ mạnh mẽ cho việc thiết kế giao diện người dùng, bao gồm các tính năng như đường viền, nền, hiệu ứng chuyển động, hình ảnh và video, và hỗ trợ việc tạo các điều khiển người dùng tùy chỉnh WPF được phát triển trên nền tảng NET Framework của Microsoft, cho phép các lập trình viên sử dụng nhiều ngôn ngữ lập trình khác nhau như C# và VB.NET để phát triển ứng dụng.

1.1.3 Microsoft SQL Server

Microsoft SQL Server là một hệ quản trị cơ sở dữ liệu quan hệđược phát triển bởi Microsoft Nó cung cấp cho người dùng một hệthống quản lý cơ sở dữ liệu mạnh mẽ để lưu trữ, truy xuất và quản lýdữ liệu của một tổ chức.

Trang 7

Microsoft SQL Server hỗ trợ nhiều ngôn ngữ lập trình như T-SQL, C++, C#, Java và nhiều ngôn ngữ khác Nó cũng cung cấp cho người dùng các tính năng quản lý cơ sở dữ liệu như sao lưu dữ liệu, phục hồi, quản lý người dùng, bảo mật, kiểm soát phiên, xử lý dữ liệu, và các tính năng liên quan đến hiệu suất.

Microsoft SQL Server được sử dụng rộng rãi trong các doanh nghiệp, tổ chức và cộng đồng lập trình viên trên toàn thế giới để lưu trữ và quản lý dữ liệu Nó cũng được sử dụng để phát triển các ứng dụng web và desktop phức tạp, cùng với các hệ thống quản lý quan hệ khác như Oracle và MySQL.

4 Mô hình MVVM

MVVM (Model-View-ViewModel) là một kiến trúc phần mềm được sử dụng trong các ứng dụng WPF (Windows Presentation Foundation) và Silverlight của Microsoft MVVM được thiết kế để giúp tách biệt hoàn toàn giữa dữ liệu (Model), giao diện người dùng (View) và quản lý tương tác giữa các thành phần này (ViewModel) Trong MVVM, Model đại diện cho dữ liệu và luật logic của ứng dụng View đại diện cho giao diện người dùng, bao gồm các điều khiển và các thành phần khác như hình ảnh, văn bản, nút bấm, v.v ViewModel là cầu nối giữa Model và View, nó chứa các thuộc tính và phương thức để định nghĩa cách dữ liệu được hiển thị trong giao diện người dùng và xử lý các tương tác người dùng với dữ liệu.

Với MVVM, các thành phần Model, View và ViewModel được tách biệthoàn toàn, giúp cho việc phát triển ứng dụng trở nên dễ dàng hơn, dễ bảo trìhơn và có khả năng tái sử dụng cao hơn Ngoài ra, MVVM cũng cung cấpmột số lợi ích khác như khả năng kiểm thử dễ dàng hơn, tăng tính linh hoạtcủa ứng dụng và giảm độ phức tạp của mã nguồn.

Trang 8

Hình I.4: Mô hình MVVM trên sản phẩm

Chương II: Phân tích hệ thống

1 Phân tích chức năng 1.1 Sơ đồ FHD

Sơ đồ FHD thường được sử dụng trong giai đoạn thiết kế hệ thống phần mềm, sau khi đã 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 Nó giúp cho các nhà phát triển và nhà thiết kế có thể phân tích và trình bày các chức năng của hệ thống một cách cụ thể, đồng thời tạo ra một cái nhìn tổng quan về các chức năng chính và cách chúng tương tác với nhau.

Dưới đây là sơ đồ FHD của phần mềm.

Sơ đồ FHD

Trang 9

Hình 2.1a

Từ sơ đồ FHD bên trên, thiết kế hệ thống thực hiện 2 chức năng chính đó là Quản trị hệ thống và Quản lý CSDL chăn nuôi Bên trong Quản trị hệ thống gồm: Quản lý chức năng hệ thống, Quản lý thông tin người dùng và Bảo mật, phân quyền Bên trong Quản lý CSDL chăn nuôi gồm: Quản lý CSDL về sản phẩm xử lý chất thải chăn nuôi, Quản lý CSDL về cơ sở chăn nuôi, chế biến và thị trường sản phẩm chăn nuôi, Quản lý CSDL khác về chăn nuôi.

1.2 Sơ đồ DFD

1.2.1 Sơ đồ luồng dữ liệu mức ngữ cảnh (Mức 0)

Hình 2.1b: Sơ đồ DFD mức 0

Trang 10

Trong đó:

(1) Dữ liệu mà cán bộ, nhân viên (CBNV) cần tìm kiếm quản lý (2) Dữ liệu về các kết quả tìm kiếm trên

(3) Các tác vụ mà Quan trị hệ thống (QTHT) thực hiện (4) Phản hồi của hệ thống về cho Quản trị hệ thống (5) Cấp quyền truy cập người dùng

(6) Truy vấn quyền người dùng

1.2.2 Sơ đồ luồng dữ liệu mức ngữ đỉnh (Mức 1)

Hình 2.1c: Sơ đồ DFD mức 1

Trong đó:

(1) Phân quyền cho người dùng, nhóm người dùng

(2) Phản hồi của hệ thống về việc phân quyền cho người dùng (3) Tìm kiếm thông tin người dùng, nhóm người dùng

(4) Thông tin về người dùng nhóm người dùng (5) Tra cứu quyền truy cập của người dùng (6) Phản hồi thông tin về quyền người dùng

(7) Phản hồi của hệ thống về các tác vụ mà QTHT thực hiện

(8) Các tác vụ của QTHT như tìm kiếm, sửa đổi, thêm, xóa… đối với hệ thống hoặc người dùng

(9) Truy vấn thông tin về hệ thống như lịch sử truy cập, tác động … (10) Thông tin về hệ thống vừa truy vấn

(11) Đăng nhập vào hệ thống, tìm kiếm, sửa đổi thông tin bản thân… (12) Phản hồi của hệ thống về tác vụ của CBNV

(13) Phản hồi của hệ thống về chức năng mà CBNV thực hiện(14) Truy vấn chức năng cần thực hiện

Trang 11

(15) Tìm kiếm thông tin người dùng (16) Thông tin về người dùng

2 Phân tích dữ liệu 2.1 Sơ đồ ERD

Hình 2.2a: sơ đồ ERD về hệ thống quản lý người dùng và nhóm người dùng

Trang 12

Hình 2.2b: Sơ đồ ERD về sản phẩm xử lý chất thải chăn nuôi

Hình 2.2c: Sơ đồ ERD về cơ sở chăn nuôi, chế biến và thị trường sản phẩm chăn nuôi

Trang 13

Hình 2.2d: Sơ đồ ERD thông tin khác về chăn nuôi

Chương III: SQL Server

create table DonViHanhChinhHuyen (Ma nvarchar(10) primary key , TenHuyen nvarchar(20) )

create table DonViHanhChinhXa (Ma nvarchar(10) primary key

, MaHuyen nvarchar(10) foreign key references DonViHanhChinhHuyen(Ma)

, TenXa nvarchar(20) )

create table Quyen

(Ma nvarchar(5) primary key , MoTa nvarchar(30)

create table ThongTinCaNhan (ID nvarchar(12) primary key , HoTen nvarchar(30)

, MaQuyen nvarchar(5) foreign key references Quyen(Ma) , MaDiaChi nvarchar(10) foreign key references

DonViHanhChinhXa(Ma) )

create table TaiKhoan

(ID nvarchar(12) foreign key references ThongTinCaNhan(ID) , password nvarchar(20)

, state bit

Trang 14

create table LichSuTruyCap

(ID nvarchar(12) foreign key references ThongTinCaNhan(ID) , ThoiGian Datetime

create table LichSuTacDong

(ID nvarchar(12) foreign key references ThongTinCaNhan(ID) , TacDong nvarchar(20)

, ThoiGian Datetime )

create table Nhom

(Ma nvarchar(10) primary key , Ten nvarchar(20)

, MaQuyen nvarchar(5) foreign key references Quyen(Ma) , TrangThai bit

create table NhomNguoiDung

(ID nvarchar(12) foreign key references ThongTinCaNhan(ID) , MaNhom nvarchar(10) foreign key references Nhom(Ma)

Trang 17

create table CoSoSanXuat (Ten nvarchar(50) primary key , DiaChi nvarchar(50)

, SDT nvarchar(12) , TrangThai nvarchar(20) )

Trang 18

create table SanPham

(Ma nvarchar(10) primary key

create table CoSoKhaoNghiem (Ten nvarchar(50) primary key , DiaChi nvarchar(50)

, SDT nvarchar(12) , TrangThai nvarchar(20) )

create table QlSanPham

(MaSanPham nvarchar(10) foreign key references SanPham(Ma) , CoSoSanXuat nvarchar(50) foreign key references

Trang 20

create table ThongTinCaNhan (ID nvarchar(12) primary key , HoTen nvarchar(30)

, ChucVu nvarchar(15) , TrangThai nvarchar(20) )

create table ToChucCapGiayChungNhan (Ten nvarchar(30) primary key , DiaChi nvarchar(50)

, SDT nvarchar(10) , TrangThai varchar(20) )

create table GiayChungNhan (Ma nvarchar(10) primary key

, NoiCap nvarchar(30) foreign key references ToChucCapGiayChungNhan(Ten)

, ChiTieu nvarchar(20) )

create table CoSoChanNuoi (Ten nvarchar(30) primary key

create table ToChucCoSo (Ten nvarchar(30) primary key , VaiTro nvarchar(30)

create table QuanLyNhanSu

(TenCoSo nvarchar(30) foreign key references CoSoChanNuoi(Ten) , IDCaNhan nvarchar(12) foreign key references ThongTinCaNhan(ID) , TenToChuc nvarchar(30) foreign key references ToChucCoSo(Ten) )

create table DKChanNuoi

(TenCoSo nvarchar(30) foreign key references CoSoChanNuoi(Ten)

create table CoSoCheBien (Ten nvarchar(30) primary key , DiaChi nvarchar(50)

Trang 21

create table SanPhamCheBien

(TenCoSo nvarchar(30) foreign key references CoSoCheBien(Ten)

Insert into ToChucCapGiayChungNhan

(Ten,DiaChi,SDT,TrangThai) values (@Ten,@DiaChi,@SDT,@TrangThai)

Trang 25

create table ChiCuc

(Ten nvarchar(30) primary key , DiaChi nvarchar(30)

, SDT nvarchar(10) , TrangThai nvarchar(30) )

create table DaiLyBanThuoc (Ten nvarchar(30) primary key

create table ThuocThuY

(DaiLy nvarchar(30) foreign key references

create table KhuTamGiuTieuHuy (Ten nvarchar(30) primary key

create table QLTamGiuTieuHuy

(TenCoSo nvarchar(30) foreign key references

create table KhuGietMo

(Ten nvarchar(30) primary key

create table QLGietMo

(TenCoSo nvarchar(30) foreign key references KhuGietMo(Ten)

Trang 29

Kế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ác cô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ăng của hệ thống và xây dựng sơ đồ DFD Qua đó, hi vọng rằng hệ thống CSDL chăn nuôi được thiết kế sẽ giúp cho các doanh nghiệp trong lĩnh vực chăn nuôi có thể quản lý, theo dõi và nắm bắt thông tin về các sản phẩm xử lý chất thải chăn nuôi, các cơ sở

Tuy nhiên, đây chỉ là một bài tập lớn trên giảng đường học tập, do đó hệ thốngCSDL chăn nuôi còn cần được phát triển và hoàn thiện hơn trong thực tế để đápứng nhu cầu sử dụng của doanh nghiệp và mang lại hiệu quả kinh tế cao nhất.

Trang 30

Phụ Lục

1 Hình ảnh

Hình 1a: Giao diện màn hình đăng nhập

(Có thể bấm Cancel để thoát, Sign up để đăng nhập, kèm thêm animation khi di chuột vào)

Hình 1b: Giao diện màn hình đăng nhập khi nhập pass sai

Trang 31

Hình 1c: Giao diện chính khi đăng nhập thành công Chú thích (11c):

(1) Để design giao diện cho đẹp hơn, sử dụng WindowStyle="None" , tuy nhiên khi thêm các nút “close” “maximize” “minimize” sẽ cần gán thêm các chức năng trong window vào để sử dụng Và qua chỉnh sửa cũng đã có thể di chuyển app qua lại bằng cách giữ chuột thanh tiêu đề.

(2) Có thể chuyển đổi qua lại giữa các view

(3) Có thêm các Animation khi di chuột chạm vào, và nhấn.

publicevent PropertyChangedEventHandler PropertyChanged;

protectedvirtualvoid OnPropertyChanged([CallerMemberName] string propertyName = null)

privatereadonly Predicate<T> _canExecute;

privatereadonly Action<T> _execute;

Trang 32

publicRelayCommand(Predicate<T> canExecute, Action<T> execute)

add { CommandManager.RequerySuggested += value; }

remove { CommandManager.RequerySuggested -= value; }

privatereadonly Action<object> _execute;

privatereadonly Func<object, bool> _canExecute;

publicevent EventHandler CanExecuteChanged {

Trang 33

add { CommandManager.RequerySuggested += value; }

remove { CommandManager.RequerySuggested -= value; }

publicevent PropertyChangedEventHandler PropertyChanged;

publicvoid OnPropertyChanged([CallerMemberName] string propName = null)

Trang 34

publicint GeneId { get; set; } publicstring GeneName { get; set; } publicstring CoSoKhaoNghiem { get; set; } publicstring Location { get; set; }

publicint SDT { get; set; } publicstring EMAIL { get; set; }

new GeneSourceModel { GeneId = 123456, GeneName = "Dog", CoSoKhaoNghiem = "Gene No1 VN", Location="Quảng Ninh", SDT = 0367778988, EMAIL="Geneno1vn@gmail.com"}

Trang 35

public ICommand CloseWindowCommand { get; set; } public ICommand MaximizeWindowCommand { get; set; } public ICommand MinimizeWindowCommand { get; set; } public ICommand MouseMoveWindowCommand { get; set; }

FrameworkElement window = GetWindowParent(p); Window w = window as Window;

FrameworkElement window = GetWindowParent(p); var w = window as Window;

FrameworkElement window = GetWindowParent(p); var w = window as Window;

Ngày đăng: 12/04/2024, 16:37