Khách hàng Bán và Mua sẽ có các thông tin gồm: mã khách hàng, tênkhách hàng, ngày sinh, địa chỉ, số điện thoại, tên đăng nhập, mật khẩu …Khách hàng mua muốn tìm kiếm thiết bị mình cần mu
Trang 1BÁO CÁO BÀI TẬP LỚN MÔN HỌC
Đồng Tháp, ngày 26 tháng 06 năm 2022
Trang 2LỜI NÓI ĐẦU
Ngày nay máy tính trở thành một phương tiện quan trọng được ứngdụng trong mọi lĩnh vực, một trong những ứng dụng đó là quản lý Trong
đó, lập trình DOTNET (Với C#) với giao diện thân thiện dễ sử dụng Đểthay thế cho việc quản lý dữ liệu bằng cách thủ công Lập trình DOTNET(Với C#) là một môn học hay, ứng dụng cao mà chúng em được cô trongkhoa Khoa SP Toán – Tin Trường Đại học Đồng Tháp giảng dạy Vìnhững lý do đó, nhóm em đã chọn Đề tài xây dựng CSDL “Quản lý kinhdoanh thiết bị CNTT Hiệp Toàn” làm đề tài báo cáo với mục đích ứngdụng những kiến thức đã được học
Mặc dù đã hết sức cố gắng nhưng do kiến thức của nhóm em cònnhiều hạn chế nên không tránh khỏi sai sót trong quá trình thưc hiện đề tài
Vì vậy, nhóm em rất mong có được sự đóng góp ý kiến của cô để chươngtrình của nhóm em được hoàn thiện hơn
Nhóm em xin chân thành cảm ơn cô giáo hướng dẫn ThS.Trần Kim
Hương đã trực tiếp hướng dẫn, chỉ bảo và giúp đỡ nhóm em trong thời
gian học
Trang 3
Phần mềm “Quản lý kinh doanh thiết bị CNTT Hiệp Toàn” sẽ giúp chongười quản lý biết được chính xác các mặt hàng mà Cty của mình có những gì
và tồn những gì và nhà cung cấp, khách hàng là những ai
2 Ý nghĩa lý thuyết, thực tiễn của đề tài
Đề tài được chọn dựa trên nhu cầu thực tế của của công ty, doanhnghiệp, cửa hàng, giúp người quản lý giảm thiểu việc dùng sổ sách, ghi chépthủ công, các phòng ban trong công ty đều có thể truy cập để xem mặt hàngcủa công ty mình
Phần mềm lưu dữ liệu các thông tin khách hàng, các user người dùng,các thông tin về thiết bị
3 Mục tiêu của đề tài
- Cho khách hàng đăng nhập kiểm tra các sản phẫm
- Cho người quản lý đăng nhập vào kiểm tra sản phẫm, thông tin kháchhàng, báo cáo thống kê
- Giúp người khách hàng cũng như quản lý truy xuất các thông tin sảnphẫm nhanh nhất
- Tìm kiếm thông tin khách hàng nhanh và chính sát
- Lưu dữ liệu trong thời gian dài
- Tạo giao diện dễ sử dụng cho người dùng
4 Phạm vi của đề tài
- Phần mềm được sử dụng với phạm vi là một cửa hàng kinh doanh thiết
bị công nghệ thông tin
- Phần mềm được đáp ứng cho người quản lý, nhân viên, khách hàng
- Áp dụng cửa hàng kinh doanh thiết bị công nghệ thông tin vừa và nhỏ
- Đề tài nghiên cứu ngôn ngữ lập trình C# và nghiên cứu về cơ sở dữ liệuSQL Server, để áp dụng trong việc xây dựng đề tài
5 Các phương pháp nghiên cứu
5.1 Phương pháp nghiên cứu tài liệu.
Trang 4- Khảo sát và thu thập các thông tin từ các tài liệu và cơ sở dữ liệu cóliên quan.
- Tìm hiểu qua sách, các trang web liên quan đến đề tài nghiên cứu
5.2 Phương pháp nghiên cứu thực tiễn.
- Quan sát việc quản lý các thông tin của một số cửa hàng kinh doanhthiết bị CNTT
- Tiếp cận một số phần mềm quản lý bán hàng có sẵn
5.3 Phương pháp tổng hợp và phân tích số liệu.
- Thu thập thông tin từ việc phỏng vấn
- Thống kê, tổng kết số liệu
- Phân tích, đưa ra kết quả và thực hiện
6 Kế hoạch thực hiện đề tài
- Tìm hiểu đề tài
- Thiết kế CSDL, các ràng buộc toàn vẹn
- Thiết kế ứng dụng: các chức năng, Forms và Reports
- Cài đặt chương trình ứng dụng, nhập liệu, chạy thử và kiểm tra lỗi
- Viết một bài báo cáo về công việc đã thực hiện theo mẫu qui định
Trang 5PHẦN HAI: NỘI DUNG CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
Một số lý thuyết ứng dụng trong việc xây dựng demo
1 Vài nét về Ngôn ngữ lập trình C#
C# (hay C sharp) là một ngôn ngữ lập trình đơn giản, được phát triển bởinhóm của kỹ sư Anders Hejlsberg và Scott Wiltamuth tại Microsoft vào năm2000
C# là ngôn ngữ lập trình hiện đại, hướng đối tượng và được cung cấp cácthư viện xây dựng sẵn, được xây dựng trên nền tảng của hai ngôn ngữ mạnhnhất là C++ ;và Java Cho phép lập trình viên phát triển ứng dụng nhanhchóng
C# và Visual Basic chia sẻ thư viện của Framework Class Library(FCL)
C# thích hợp cho các yêu cầu phát triển ứng dụng quản lý Đặc biệt làcác ứng dụng trên nền windows và Web
C# là ngôn ngữ hướng sự kiện và hỗ trợ lập trình trực quan Chươngtrình được xây dựng sử dụng môi trường lập trình tích hợp (IntegratedDevelopment Environment-IDE)
C# được chuẩn hóa bởi ECMA (European Computer ManufacturersAssociation) International
2 Các kỹ thuật lập trình của C# được áp dụng (mô hình kết nối, mô hình ngắt kết nối).
3 Những điểm mới (tự nghiên cứu) được áp dụng.
Trang 6CHƯƠNG 2: XÂY DỰNG CHƯƠNG TRÌNH ADO.NET
1 Mô tả bài toán
Để quản lý kinh doanh kho thiết bị CNTT thì cần có các thông tin liênquan như sau:
Thiết bị sẽ chứa các thông tin của thiết bị gồm: mã thiết bị, tên thiết bị,loại thiết bị, đơn vị tính, …Thiết bị được chia làm 2 phần là tên và loại
Khách hàng (Bán và Mua) sẽ có các thông tin gồm: mã khách hàng, tênkhách hàng, ngày sinh, địa chỉ, số điện thoại, tên đăng nhập, mật khẩu …Khách hàng (mua) muốn tìm kiếm thiết bị mình cần mua và tham khảo giá,khách hàng (bán) báo giá thiết bị mình cần bán, sau đó sẽ tạo phiếu nhập(xuất) trên chương trình
Phiếu nhập (xuất) có các thông tin sau: mã số phiếu, ngày nhập (xuất), sốlượng nhập (xuất), đơn giá nhập (xuất), nội dung nhập (xuất), mã thiết bị nhập(xuất), mã khách hàng nhập (xuất)
Hóa đơn nhập (xuất) sẽ có các thông tin gồm: số hóa đơn, tên kháchhàng (tên đơn vị), mã nhân viên, tên nhân viên, mã thiết bị, tên thiết bị, địachỉ, hình thức thanh toán, số lượng, đơn giá, thành tiền
Nhân viên (gồm Thủ kho) sẽ có các thông tin gồm: mã nhân viên, tênnhân viên, ngày sinh, vị trí công việc, số điện thoại, tên đăng nhập, mậtkhẩu… Nhân viên có thê tìm kiếm thiết bị theo yêu cầu của khách hàng, khinhận được phiếu nhập (xuất) thì nhân viên sẽ kiểm tra phiếu nhập (xuất).Nhân viên sẽ kiểm tra thiết bị và trả thông báo xác nhận nhập (xuất) trênphiếu của khách hàng Sau đó nhân viên sẽ tạo hóa đơn nhập (xuất) thiết bị đóvới khách hàng
* Yêu cầu của hệ thống:
- Hỗ trợ khách hàng, nhân viên có thể tìm kiếm thông tin thiết bị mìnhcần mua hoặc bán
- Hỗ trợ khách hàng thay đổi thiết bị khác, cũng như số lượng
- Hỗ trợ nhân viên quản lý thiết bị, khách hàng, nhân viên như thêm, sửa,xóa, tìm kiếm… cũng như nắm rõ thông tin của tất cả thiết bị trong kho Hỗtrợ nhân viên làm báo cáo thống kê các thiết bị, khách hàng, nhân viên…
- Hỗ trợ nhân viên nhập (xuất) thiết bị từ trong kho qua hệ thống
- Hỗ trợ nhân viên có thể xử lý các tình huống khách hàng, tìm kiếmthông tin, cập nhật thay đổi thông tin hành chánh như họ tên địa chỉ hay sốđiện thoại bị sai
2 Cách tổ chức dữ liệu
Trang 7hàng Tên khách hàng khách hàng Ngày sinh khách hàng Địa chỉ Số điện thoại khách hàng Mã tài khoản
Chuỗi Chuỗi Ngày tháng năm Chuỗi Chuỗi Chuỗi
Bảng cấu trúc
STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 MaKH Nchar(10) FK_PhieuBan_KhachHang
FK_PhieuMua_KhachHan g
Khóa chín bảng Khách hàng và là khóa ngoại của bảng Phiếu mua
và Phiếu bán
6 MaTK Nchar(12) FK_KhachHang_TaiKhoan Khóa ngoại của bảng
Số lượng mua
Đơn giá mua
Nội dung mua
Xác nhận mua thiết bị Mã
Mã khách hàng
Chuỗi Ngày Số Số Chuỗi Đúng/Sai Chuỗi Chuỗi
Trang 8STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 MaPM FK_HDXuat_PhieuMua Khóa chín bảng phiếu mua và là khóa ngoại
7 MaTB FK_PhieuMua_ThietBi Khóa ngoại của bảng thiết bị
8 MaKH FK_PhieuMua_KhachHang Khóa ngoại của bảng khách hàng
Số lượng bán
Đơn giá bán
Nội dung bán
Xác nhận bán thiết bị Mã
Mã khách hàng
Chuỗi Ngày Số Số Chuỗi Đúng/Sai Chuỗi Chuỗi
STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
1 MaPB FK_DHNhap_PhieuBan Khóa chín bảng phiếu bán và là khóa ngoại
bảng hóa đơn xuất
2 NgBan
3 SLBan
4 DGBan
Trang 95 NDBan
6 XacNhanBan
7 MaTB FK_PhieuBan_ThietBi Khóa ngoại của bảng thiết bị
8 MaKH FK_PhieuBan_KhachHang Khóa ngoại của bảng khách hàng
Đơn giá hóa đơn nhập
Thành tiền hóa đơn nhập
phiếu bán
Mã nhân viên
Chuỗi Số Số Số Đúng/sai Chuỗi Chuỗi
Bảng cấu trúc
STT trường Tên Kiểu dữ liệu Ràng buộc Mô tả
1 MaHDN Khóa chín bảng hóa đơn nhập
2 SLHDN
3 DGHDN
4 TTHDN
5 MaPB FK_HDNhap_PhieuBa n Khóa ngoại bảng phiếu bán
6 MaNV Khóa ngoại bảng nhân viên
2.5 Bảng Hóa đơn xuất:
Bảng HDXuat: lưu thông tin hóa đơn thiết bị mình bán ra cho khách hàng.
Bảng lưu trữ dữ liệu
Trang 10Mã hóa
đơn bán
Số lượng hóa đơn xuất
Đơn giá hóa đơn xuất
Thành tiền hóa đơn
Mã phiếu mua
Mã nhân viên
Chuỗi Số Số Số Đúng/sai Chuỗi Chuỗi
ST
T trường Tên Kiểu dữ liệu Ràng buộc Mô tả
1 MaHDX Khóa chín bảng hóa đơn xuất
2 SLHDX
3 DGHDX
4 TTHDX
5 MaPM FK_HDXuat_PhieuMu a Khóa ngoại bảng phiếu mua
2.6 Bảng Tài khoản:
Bảng TaiKhoan: lưu thông tin nhân viên được cấp tài khoản và thông tin khách hàng đã đăng ký tài khoản.
Bảng lưu trữ dữ liệu
Mã tài khoản Tên tài khoản Mật khẩu Quyền
STT trường Tên Kiểu dữ liệu Ràng buộc Mô tả
1 MaTK
FK_KhachHang_TaiKhoa n
FK_QuanTri_TaiKhoan FK_NhanVien_Tai
Khóa chín bảng tài khoản và là khóa ngoại của bảng khách hàng
và nhân viên
2 TenTK
Trang 11Mã quản trị Tên quản trị Mã tài khoản
STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
viên Tên nhân viên Ngày sinh nhân viên nhân viên Địa chỉ Số điện thoại nhân viên Mã tài khoản
Chuỗi Chuỗi Ngày Chuỗi Chuỗi Chuỗi
STT Tên trường Kiểu dữ liệu Ràng buộc Mô tả
2 TenNV
3 NgSinhNV
Trang 12Mã thiết bị Tên thiết bị Loại thiết bị Đơn vị tính thiết bị Đơn giá thiết bị
2 TenTB
3 LoaiTB
4 DVTTB
5 DonGiaTB
Trang 133 Diagram:
4 Các giải thuật, module xử lý tiêu biểu
4.1 Sơ đồ phân rã chức năng hệ thống
Trang 144.2 Mô tả chi tiết module chức năng tiêu biểu nhất
- Trong form phiếu mua giúp cho người dùng dễ sử dụng và tìm kiếmsản phẫm một cách nhanh nhất
- Trong form phiếu mua người dùng có thể nhập vào “Nhập thiết bị cần
tìm” thì sẽ lọc ra thiết bị người dùng cần và xem thông tin trực tiếp từ đó.
- Khi khách hàng muốn mua chỉ cần chọn “Thêm” và chọn sản phẫm
bên danh sách thì thông tin sản phẫm hiện lên
Nhập mã phiếu vào
Ngày tháng sẽ tự cập nhật thời gian hiện tại
Nhập vào số lượng cần mua
Nhập nội dung khách hàng cần yêu cầu
Tên thiết bị, loại thiết bị, trạng thái sẽ tự cập nhật
- “Sửa” khi khách hàng đã lưu phiếu mua rồi nhưng lại cần có sự thay đổi thì có thể “Nhập phiếu mua cần tìm” thì phiếu mua hiện lên trong danh
sách và chọn phiếu cần sửa, xong lưu lại
-“Xóa” khi khách hàng không muốn mua thiết bị đó nửa thì có thể vào
“Nhập phiếu mua cần tìm” rồi chọn phiếu cần xóa, sau khi chọn nút xóa thì
bảng thông báo “Bạn có chắc muốn xóa phiếu mua này không ?” chấp nhậnxóa thì chọn Yes còn nếu không thì chọn No
Trang 155 Công cụ sử dụng xây dựng demo
FSCapture đây là phần mềm với đa tính năng giúp cho chúng ta có thểchụp ảnh màn hình một cách dễ dàng Ngoài tính năng đó, FSCapture còn hỗtrợ quay màn hình máy tính
6 Một số giao diện chính của chương trình
6.1 Giao diện đăng nhập
Khi người dùng đã có tài khoản thì giao diện trên sẽ đăng nhập Đồngthời giao diện trên cũng cho người dùng đăng ký tài khoản trên đó
Tên đăng nhập, mật khẩu sau đó bấm vào đăng nhập
6.2 Giao diện đăng ký
Trang 16Người dùng hoặc khách hành có thề đăng ký tài khoản trong form trên.Điền các thông tin Mã tài khoản, tên tài khoản, nhập khẩu,
6.3 Giao diện chính
Giao diện chính đươc bố trí đầu đủ các chức năng của phần mềm, nhưlập phiếu bán , phiếu mua, lập hóa đơn, xuất hóa đơn,
Trang 176.4 Giao diện hóa đơn nhập
Trong form nhập ta có thể tìm kiếm các phiếu nhập trước đó, có thểthêm, sửa, xóa hóa đơn nhập
6.5 Giao diện hóa đơn xuất
Trong form giao diện nhập hóa đơn người dùng có thể tìm kiếm thiết bị,
có thêm, sửa, xóa các phiếu nhập
Trang 186 6 Giao diện nhân viên
Trong form thông tin nhân viên ta có thề thêm nhân viên mới, sửa thông tin nhân viên đã có, cũng như xóa nhân viện hiện tại
6.7 Giao diện báo cáo thống kê
Form thống kê có bao nhiêu nhân viên, có bao nhiêu khách hàng, có baonhiêu phiếu mua, phiếu bán, v,v
Trang 19BÀI TẬP CÁ NHÂN – HV1: Lê Văn Ngọt
Bài tập chương 1: Lập trình trên Console Application
Bài :TÌM SỐ NGÀY TRONG THÁNG
(bài tập cá nhân dùng IF)
Và nếu năm nhuần thì số ngày = 29
Ngược lại số ngày = 28
Năm nhuần là năm chia hết cho 400 (nam % 400 == 0) (hoặc chia hếtcho 4 nhưng không chia hết 100 (nam % 4 == 0 && nam % 100 != 0)) Ví dụNăm 2000 là năm nhuần vì năm chia hết cho 400, Năm 1900 không nhuần vìnăm chia hết cho 4 và chia hết cho 100
Giải Thuật:
Khái báo hàm Kiểm tra tháng:
static void KiemTraThang()
{
if (check == "yes")
{
//Cho nhập vào ngày tháng năm
Console.Write("Nhap vao thang: ");
string thang = Console.ReadLine();
Console.Write("Nhap vao nam: ");
string nam = Console.ReadLine();
Trang 20//Điều kiện tháng có 31 ngày
if (th == 1 || th == 3 || th == 5 || th == 7 || th == 8 || th == 10 || th == 12) {
Console.WriteLine("Thang " + th + " nam " + na + " co 31 ngay");
Console.WriteLine("Thang khong hop le");
//Nếu chọn yes thì tiếp tục thực hiện chương trình, chọn no thì kết chương trình
Console.WriteLine("Nhap yes de tiep tuc, No de thoat");
Trang 21Bài tập chương 3: Lập trình trên Window Form Application
Bài: TẠO ĐỒNG HỒ ĐIẾM NGƯỢC SAU
Yêu cầu:
- Tạo Timer1 có Enabled = false; Interval = 1000
- Khởi tạo biến đếm i = 20
- Button Bắt đầu (btnBatDau): dùng để bật chế độ hẹn thời gian
- Button Dừng (btnDung): dùng để dừng chương trình
- Timer1: Đếm ngược từ 20 đến 1 và xuất ra dòng chữ “Hết giờ”
+ Xuất giá trị biến đếm i ra Label lblDongHo
+ Giảm biến i xuống 1 đơn vị
+ Khi biến đếm i < 0 thì tắt chế độ hẹn giờ và xuất “Hết giờ!” ra Label lblDongHo
Trang 22Giao diện:
START (F5): Trong bntStart được gán vào phím nóng F5 và tổ hợp
phím Alt+S
Khi bấm START (F5) thì đồng hồ điếm ngược thời giang từ 20 giảm
xuống, đồng thời STOP (F5) hiện lên.
Khi bấm vào STOP (F5) thì đồng hồ điếm ngược sẽ ngừng lại ngây thờigiang giảm dần đó Và START (F5) hiện lên, nếu bấm vào START (F5) thìthời gian sẽ giảm tiếp theo
Khi thời gian giảm đến 1 thì đồng hồ báo hết thời gián
Trang 23RESET: Bấm nút RESET (hoặc tổ hợp phím Alt+R) thì đồng hồ sẽ trả
về ban đầu 20 giây
EXIT: khi bấm vào EXIT (hoặc tổ hợp phím Alt+E) thì chương trình sẽ
thoát hoàn toàn
BÀI TẬP CÁ NHÂN – HV2: Trần Văn Toàn
Bài tập chương 1: Lập trình trên Console Application
Bài : GIẢI PHƯƠNG TRÌNH BẬC 2
(bài tập cá nhân dùng IF)
Giải phương trình bậc hai: ax2 + bx + c = 0 Yêu cầu:
+ Tính nghiệm theo Delta
Delta < 0: Phương trình vô nghiệm
Delta = 0: Phương trình có nghiệm kép:
Trang 25{
Console.Write("\nPhuong trinh vo nghiem");
} else if(delta == 0)
{
float x = (float)-b / (2 * a);
Console.Write("\nPhuong trinh co mot nghiem kép: x = {0:0.0}", x);
}
else
{
float x1 = (float)((-b + Math.Sqrt(delta)) / (2 * a));
float x2 = (float)((-b - Math.Sqrt(delta)) / (2 * a));
Console.Write("\nPhuong trinh co hai nghiem:\nx1 = {0:0.0}\nx2 = {1:0.0}", x1, x2);
Bài tập chương 3: Lập trình trên Window Form Application
Bài: GIẢI PHƯƠNG TRÌNH BẬC 2
Yêu cầu:
- Viết chương trình giải phương trình bậc 2: ax2 + bx + c = 0
- Xử lý lỗi: Nhập hệ số a = 0, thông báo sai phương trình bậc 2
Trang 26- Nút Tính: Giải phương trình bậc theo công thức
- Nút Xóa: xóa trống các ô textbox và lable
- Nút Thoát: hỏi trước khi đóng chương trình
Trang 27else if (txtNhapb.Text == "")
{
MessageBox.Show("Hằng số b chưa nhập"); }
else if (txtNhapc.Text == "")
{
MessageBox.Show("Hằng số c chưa nhập"); }