Nói đến ngôn ngữ lập trình thì có C# còn nhắc đến việc quản trị cơ sở dữ liệu lại không thể không nhắc đến hệ quản trị cơ sở dự liệu SQL Server.Chính vì vậy em đã chọn 2 ngôn ngữ này đề
Trang 1TRƯỜNG ĐẠI HỌC KINH TẾ
KHOA CÔNG NGHỆ THÔNG TIN
~~~~~~*~~~~~~
BÁO CÁO ĐỀ ÁN MÔN HỌC
Đề tài: Viết chương trình quản lý bán hàng siêu thị
Giáo viên hướng dẫn :
Sinh viên thực hiện
1
Trang 2LỜI NÓI ĐẦU
Hiện nay có rất nhiều ngôn ngữ lập trình đã được sử dụng như C, C++, C#, VB.NET, JAVA, .Cùng với JAVA thì C# đang là ngôn ngữ phổ biến nhất hiện này,nhờ tính mềm dẻo của nó Nói đến ngôn ngữ lập trình thì có C# còn nhắc đến việc quản trị cơ sở dữ liệu lại không thể không nhắc đến hệ quản trị cơ sở dự liệu SQL Server.Chính vì vậy em đã chọn 2 ngôn ngữ này đề tạo nên phần mềm quản
lý bán hàng ở siêu thị(C# kết nối Sql server)
Trong thời buổi hiện nay công nghệ được ứng dụng vào hầu hết các lĩnh vực của đời sống,và hoạt động kinh doanh buôn bán không phải là một ngoại lệ.việc ứng dụng công nghệ thông tin vào quản lý bán hàng không những tiết kiệm thời gian,tiện lợi mà còn thể hiện được sự chính xác cao và tăng năng lực quản lý
Trong quá trình tìm hiểu ngôn ngữ C# và viết chương trình ,dù đã rất cố gắngnhưng do kiến thức có hạn nên k thể tránh khỏi những hạn chế và sai sót,rất mong nhận được sự đóng góp ý kiến của tất cả các bạn
Qua đây em cũng xin gửi lời cảm ơn chân thành đến cô Nguyễn Quỳnh Mai
đã giúp đỡ em trong quá trình thực hiện đề tài này
Mục lục
LỜI NÓI ĐẦU 2Mục lục 3
Trang 3Phần I : Tổng quan về ngôn ngữ lập trình C# và SQL Server 4
Chương 1: Tổng quan về ngôn ngữ C# 4
1.1.Giới thiệu về nền tảng NET 4
1.2.Giới thiệu ngôn ngữ lập trình C# 4
Chương 2 : Giới thiệu về SQL Server 6
Phần II : Chương trình quản lý bán hàng ở siêu thị 8
Chương 1:Khảo sát thực tế 8
1.1.Tình hình thực tế tại siêu thị Trung Thành 8
1.2.Quy trình nghiệp vụ 8
Chương 2 :Phân tích yêu cầu của hệ thống 8
2.1.Quy trình nghiệp vụ 8
2.2.Mô hình quan hệ thực thể 9
2.2.Phân tích các Use Case 10
2.3.Sơ đồ Bảng 16
2.4.Phân tích các Bảng 17
2.4.6.Hóa đơn xuất 18
2.5.Biểu đồ trạng thái 19
Chương 3:Thiết kế 19
3.1.Thiết kế hệ thống(sơ đồ tuần tự) 19
3.2.Thiết kế cơ sở dữ kiệu 21
3.2.6.Bảng hóa đơn xuất 24
3.3.Thiết kế giao diện 25
Chương 4 : Đánh giá kết quả và hướng phát triển 34
4.1.đánh giá kết quả 34
4.2.Hướng phát triền 34
Trang 4Phần I : Tổng quan về ngôn ngữ lập trình C# và SQL Server
Chương 1: Tổng quan về ngôn ngữ C#
1.1.Giới thiệu về nền tảng NET
.NET là một nền tảng chứ không phải là một sản phẩm đơn lẻ.NET được định nghĩa dưới dạng một khung ứng dụng .NET cung cấp một khung cho những ứng dụng nào được xây dựng; nó xác định những ứng dụng truy nhập các hàm như thế nào qua các hệ thống và các mạng .Net cung cấp một nền tảng mà trên đó các giải pháp và các dịch vụ Web có thể được xây dựng, một nền tảng giải phóng những sự ràng buộc và tự bản thân nó giải phóng khỏi Microsoft Windows Nói cách khác, NET là một cách để xây dựng các ứng dụng và các dịch vụ mà nó hoạt động không phụ thuộc vào một nền tảng nào Đây là một cách để tạo ra các trao đổi thông tin (truyền thông) giữa những hệ thống đa dạng và các ứng dụng cũng như tích hợp nhiều thiết bị vào trong việc trao đổi thông tin này
.NET gồm có hai phần: Framework và Integrated Development Environment(IDE) Framework cung cấp tất cả những gì cần thiết căn bản Chữ Framework có
nghĩa là cái Khung hay khung cảnh trong đó ta dùng những hạ tầng cơ sở theo một
qui ước nhất định để công việc trôi chảy Còn IDE cung cấp một môi trường giúp
ta triển khai dễ dàng, nhanh chóng hơn Framework là quan trọng nhất, còn IDE bất quá chỉ là một công cụ gắn lên phía trên Framework thôi
1.2.Giới thiệu ngôn ngữ lập trình C#
C# là ngôn ngữ được phát triển trên nền tảng net, C# có tính diễn đạt
cao,hỗ trợ lập trình có cấu trúc, hướng đối tượng và hướng thành phần
Trang 5Trọng tâm của ngôn ngữ hướng đối tượng là Bảng Bảng định nghĩa kiểu dữ liệu mới,
cho phép mở rộng ngôn ngữ theo hướng cần giải quyết
C# hỗ trợ khái niệm giao diện, (interfaces) Một Bảng chỉ có thể kế thừa duynhất một Bảng cha nhưng có thế cài đặt nhiều giao diện
C# cũng cho truy cập trực tiếp bộ nhớ dùng con trỏ kiểu C++, nhưng vùng
Giao tiếp với người dùng bằng bàn phím.
Không có gia diện đồ họa.
Chương trình Winform
Giao tiếp với người dùng bằng bàn phím và chuột.
Giao diên đồ họa và có sử lý sự kiện.
Chương trình WebForm
Kết hợp ASP.NET, C# làm nền tương tác CSDL và sử lý sự kiện.
Giao diên đồ họa và có sử lý sự kiện.
C# là một ngôn ngữ khá mạnh có tính tương tác CSDL nên được sử dụngkhá rộng dãi trong việc triển khai các ứng dụng phần mềm, chương trình quản lý
Lập trình với C# cũng khá đơn giản Nếu như bạn đã từng lập trình VB6 hayVB.NET thì việc lập trình C# cũng tương tự như vậy Thực tế đã giúp em rút rađiều đó trong khóa 49 sinh viên đã từng học qua VB 6 trong trường ĐH KTQD
Trang 6mặc dù chưa từng được đào tạo chính quy ngôn ngữ C# nhưng khi triển khai ứngdụng bằng C# lại có thể cập nhật kiến thức mới khá nhanh nhạy và thích nghi khátốt Điều này là sự đúc rút từ cá nhân tôi, nhưng tôi tin và khẳng định rằng ngônngữ C# đơn giản hơn so vơi một số ngôn ngữ trước đó như C++ hay Java.
Chương 2 : Giới thiệu về SQL Server
SQL, viết tắt của Structured Query Language (ngôn ngữ hỏi có cấu trúc), làcông cụ sử dụng để tổ chức, quản lý và truy xuất dữ liệu đuợc lưu trữ trong các cơ
sở
dữ liệu SQL là một hệ thống ngôn ngữ bao gồm tập các câu lệnh sử dụng để tươngtác
với cơ sở dữ liệu quan hệ
Tên gọi ngôn ngữ hỏi có cấu trúc phần nào làm chúng ta liên tưởng đến mộtcông cụ (ngôn ngữ) dùng để truy xuất dữ liệu trong các cơ sở dữ liệu Thực sự mà nói,
khả năng của SQL vượt xa so với một công cụ truy xuất dữ liệu, mặc dù đây là mục
đích ban đầu khi SQL được xây dựng nên và truy xuất dữ liệu vẫn còn là một trong
những chức năng quan trọng của nó SQL được sử dụng để điều khiển tất cả các chức
năng mà một hệ quản trị cơ sở dữ liệu cung cấp cho người dùng bao gồm:
• Định nghĩa dữ liệu: SQL cung cấp khả năng định nghĩa các cơ sở dữliệu,
các cấu trúc lưu trữ và tổ chức dữ liệu cũng như mối quan hệ giữa các thành
phần dữ liệu
Trang 7• Truy xuất và thao tác dữ liệu: Với SQL, người dùng có thể dễ dàng thực
hiện các thao tác truy xuất, bổ sung, cập nhật và loại bỏ dữ liệu trong các cơ
sở dữ liệu
• Điều khiển truy cập: SQL có thể được sử dụng để cấp phát và kiểm soát các
thao tác của người sử dụng trên dữ liệu, đảm bảo sự an toàn cho cơ sở dữ liệu
• Đảm bảo toàn vẹn dữ liệu: SQL định nghĩa các ràng buộc toàn vẹn trong
cơ sở dữ liệu nhờ đó đảm bảo tính hợp lệ và chính xác của dữ liệu trước các
thao tác cập nhật cũng như các lỗi của hệ thống
Như vậy, có thể nói rằng SQL là một ngôn ngữ hoàn thiện được sử dụng trong
các hệ thống cơ sở dữ liệu và là một thành phần không thể thiếu trong các hệ quản trị
cơ sở dữ liệu Mặc dù SQL không phải là một ngôn ngữ lập trình như C, C++, Java,
song các câu lệnh mà SQL cung cấp có thể được nhúng vào trong các ngôn ngữ lậptrình nhằm xây dựng các ứng dụng tương tác với cơ sở dữ liệu
Khác với các ngôn ngữ lập trình quen thuộc như C, C++, Java, SQL là ngôn
ngữ có tính khai báo Với SQL, người dùng chỉ cần mô tả các yêu cầu cần phải thực
hiện trên cơ sở dữ liệu mà không cần phải chỉ ra cách thức thực hiện các yêu cầu như
thế nào
Trang 8Phần II : Chương trình quản lý bán hàng ở siêu thị
Chương 1:Khảo sát thực tế
1.1.Tình hình thực tế tại siêu thị Trung Thành
Siêu thị Trung Thành là siêu thị nhỏ,kinh doanh các mặt hàng tiêu dùng,siêu thị có năm nhân viên và một quầy thanh toán
Trang 9Chương trình sẽ quán lý hàng hóa nhập vào và quản lý hàng hóa bán ra từ đóđưa được doanh thu.Thông tin về hàng hóa gồm có mã hàng hóa,tên hàng hóa,đơn giá nhập,đơn giá xuất,nhà cung cấp và số lượng còn trong kho.
Khi nhập hàng nhân viên sẽ phải in mã hàng hóa lên hàng hóa,chương trình
sẽ thêm mới những hàng hóa mới cũng như nhà cũng cấp mới và CSDL và tăng số lượng đối với những hàng hóa đã có
Nhân viên bán hàng sẽ lập hóa đơn theo hàng hóa mà khác yêu cầu
mua,chương trình sẽ tự động tính tiền và quản lý số lượng hàng hóa
Ngoài ra chương trình còn có các chứ năng quản lý nhân viên, quản lý nhà cung cấp và thống kê kinh doanh
2.2.Mô hình quan hệ thực thể
Hình 2.1 Sơ đồ Use Case
Trang 102.2.Phân tích các Use Case
2.2.1.Đăng nhập hệ thống
Tên Use case : Đăng nhập hệ thống
Tắc nhân : Nhân viên,quản lý
Điều kiện tiên quyết :
Điều kiện hoàn thành: Được hệ thống nhận diện
Dòng sự kiện chính :
o Quản lý hoặc nhân viên yêu cầu hệ thống cho đăng nhập
o Hệ thống yêu cầu nhập tên đăng nhập(mã nhân viên) và mật khẩu
o Quản lý hoặc nhân viên nhập thông tin đăng nhập
o Hệ thống so sánh và đưa ra kết quả
Dòng sự kiện phụ:
o Nếu quản lý hoặc nhân viên không nhập hoặc nhập sai tên đăng nhập
sẽ đưa ra thông báo và yêu cầu nhập lại
o Nếu chọn nút thoát thì sẽ thoát khỏi chương trình
2.2.2.Lập hóa đơn bán hàng
Tên Use case: Lập hóa đơn bán hàng
Tác nhân: Nhân viên,quản lý
Điều kiện tiên quyết : Được hệ thống nhận diện và cho phép sử dụng hệ thống
Điều kiện hoàn thành : Một hóa đơn bán hàng được hoàn thành
Dòng sự kiện chính :
o Quản lý hoặc nhân viên yêu cầu hệ thống lập một hóa đơn bán hàng
o Hệ thống hiện thị danh sách hàng hóa
o Quản lý hoặc nhân viên nhập mã hóa đơn bán ,tên khách và địa chỉ của khách
Trang 11o Hệ thống nghi nhận và yêu cầu quản lý hoặc nhân viên nhập các loại hàng hóa và số lượng muốn mua
o Hệ thống ghi nhận thông tin hóa đơn và đưa ra kết quả và in hóa đơn
Dòng sự kiện phụ:
o Nếu khi tạo hóa đơn mà chưa nhập mã hóa đơn thì hệ thống sẽ đưa ra thông báo,người lập sẽ nhập mã hóa đơn
o Hệ thống thực hiện tạo hóa đơn mới
o Nếu hóa đơn mới bị trùng thì hệ thống sẽ đưa ra thông báo,người lập
sẽ nhập mã hóa đơn khác
o Hệ thống thực hiện tạo hóa đơn mới
o Khi thêm hàng vào hóa đơn mà chưa nhập mã hàng hoặc mã hàng đã
có trong hóa đơn thì hệ thống sẽ đưa ra thông báo,người lập sẽ nhập
mã hàng hóa
o Hệ thống thực hiện thêm hàng hóa vào hóa đơn
o Khi nhập số lượng cần mua mà lớn hơn số lượng còn trong kho thì hệ thống sẽ thông báo,người lập sẽ nhập lại
o Hệ thống thực hiện thêm hàng hóa vào hóa đơn
o Khi chưa hoàn thành hóa đơn mà thoát khỏi hệ thống thì hệ thống sẽ xóa hoánđơn và hàng hóa trong đó
2.2.3.Lập hóa đơn nhập hàng
Tên Use case : lập hóa đơn nhập hàng
Tác nhân : quản lý hoặc nhân viên
Điều kiện tiên quyết : Được hệ thống nhận diện và cho phép sử dụng hệ thống
Điều kiện hoàn thành : Một hóa đơn bán hàng được hoàn thành
Dòng sự kiện chính :
Trang 12o Quản lý hoặc nhân viên yêu cầu hệ thống lập một hóa đơn nhập hàng
o Hệ thống yêu cầu người lập nhập mã hóa đơn
o Hệ thống nghi nhận mã hóa đơn và yêu cầu người lập thêm mặt hàng nhập vào
o Người lập thêm mã hàng hóa và số lượng nhập
o Hệ thống nghi nhận và đưa ra thông báo kết quả
Dòng sự kiện phụ:
o Nếu khi tạo hóa đơn mà chưa nhập mã hóa đơn thì hệ thống sẽ đưa ra thông báo,người lập sẽ nhập mã hóa đơn
o Hệ thống thực hiện tạo hóa đơn mới
o Nếu hóa đơn mới bị trùng thì hệ thống sẽ đưa ra thông báo,người lập
sẽ nhập mã hóa đơn khác
o Hệ thống thực hiện tạo hóa đơn mới
o Khi thêm hàng vào hóa đơn mà chưa nhập mã hàng hoặc mã hàng đã
có trong hóa đơn thì hệ thống sẽ đưa ra thông báo,người lập sẽ nhập lại mã hàng hóa
o Hệ thống thực hiện thêm hàng hóa vào hóa đơn
o Khi thêm hàng hóa mà nhà sản xuất chưa có thì sẽ thực hiện thêm nhàsản xuất mới
2.2.4.Thống kê
Tên tác nhân : Thống kê
Tác nhân:quản lý hoặc nhân viên
Điều kiện tiên quyết: Được hệ thống nhận diện và cho phép sử dụng hệ thống
Điều kiện hoàn thành:
Dòng sự kiện chính:
o Quản lý hoặc nhân viên yêu cầu hệ thống thống kê
Trang 13o Hệ thống yều cầu quản lý hoặc nhân viên chọn ngày tháng hoặc mã nhân viên và chọn loại hóa đơn để thống kê
o Quản lý hoặc nhân viên chọn ngày tháng hoặc mã nhân viên và chọn loại hóa đơn
o Hệ thống đưa ra danh sách thỏa mãn
2.2.5.Thông tin cá nhân
Tên tác nhân : thông tin cá nhân
Tác nhân : quản lý hoặc nhân viên
Điều kiện tiên quyết : Được hệ thống nhận diện và cho phép sử dụng hệ thống
Điều kiện hoàn thành: cập nhật thông tin cá nhân
Dòng sự kiện chính:
o Quản lý hoặc nhân viên yêu cầu hệ thống hiện thông tin cá nhân
o Hệ thống hiện thị thông tin cá nhân của nhân viên yêu cầu
o Quản lý hoặc nhân viên nhập thông tin muốn cập nhật
o Hệ thống ghi nhận và đưa ra thông báo
Dòng sự kiện phụ:
o Trong quá trình nhập mật khẩu mới mà hai mật khẩu không trùng thì
hệ thống sẽ thông báo và yêu cầu quản lý hoặc nhân viên nhập lại
o Quản lý hoặc nhân viên nhập lại mật khẩu
o Hệ thống ghi nhận và đưa ra thông báo
2.2.6.Quản lý nhà cung cấp
Trang 14 Tên Use case : Quản lý nhà cung cấp
Tác nhân : quản lý hoặc nhân viên
Điều kiện tiên quyết : Được hệ thống nhận diện và cho phép sử dụng hệ thống
Điều kiện hoàn thành:
Dòng sự kiện chính:
o Quản lý hoặc nhân viên yêu cầu hệ thống cho quản lý nhà cung cấp
o Hệ thống yêu cầu nhập thông tin cập nhật hoặc thông tin mới của nhà cung cấp
o Quản lý hoặc nhân viên nhập các thông tin cần thiết
o Hệ thống ghi nhận và đưa ra thông báo kết quả
Dòng sự kiện phụ:
o Khi thêm nhà cung cấp mới mà mã nhà cung cấp đã có thì hệ thống sẽđưa ra thông báo và yêu cầu quản lý hoặc nhân viên nhập lại
o Quản lý hoặc nhân viên sẽ nhập lại thông tin
o Hệ thống sẽ ghi nhận và đưa ra kết quả
2.2.7.Tra cứu hàng hóa
Tên Use case : Tra cứu hàng hóa
Tác nhân : quản lý hoặc nhân viên
Điều kiện tiên quyết : Được hệ thống nhận diện và cho phép sử dụng hệ thống
Điều kiện hoàn thành:
Dòng sự kiện chính:
o Quản lý hoặc nhân viên nhập mã hàng hóa cần tra cứu
o Quản lý hoặc nhân viên nhập mã cần tra cứu
o Hệ thống hiện thông tin yêu cầu
Trang 152.2.8.Quản lý nhân viên
Tên Use case : quản lý nhân viên
Tác nhân: Quản lý
Điều kiện tiên quyết: Được hệ thống nhận diện là quản lý
Điều kiện hoàn thành : xóa hoặc thêm nhân viên mới
Dòng sự kiện chính:
o Quản lý yêu cầu chức năng quản lý nhân viên
o Hệ thống yêu cầu nhập thông tin của nhân viên
o Quản lý nhập thông tin
o Nếu mã nhân viên đã có đã có thì hệ thống sẽ đưa ra thông báo và yêucầu quản lý nhập lại
o Quản lý sẽ nhập lại thông tin
o Hệ thống ghi nhận và đưa ra thông báo kết quả
2.2.9.Quản lý hàng hóa
Tên tác nhân : quản lý hàng hóa
Tác nhân : quản lý
Điều kiện tiên quyết : được hệ thống nhận diện là quản lý
Điều kiện hoàn thành:
Dòng sự kiện chính:
o Quản lý yêu cầu hệ thống chắc năng quản lý hàng hóa
o Hệ thống yêu cầu quản lý nhập thông tin
o Quản lý nhập các thông tin
o Hệ thống ghi nhận và đưa ra thông báo kết quả
Dòng sự kiện phụ:
Trang 162.3.Sơ đồ Bảng
Hình 2.2: Sơ đồ Bảng
Trang 172.4.Phân tích các Bảng
2.4.1.Bảng nhân viên
Tên cột Mô tả
manv Mã nhân viên
tennv Tên nhân viên
mahd Mã hóa đơn
manvlap Mã nhân viên lập
Trang 18dgnhap Đơn giá nhập
dgxuat Đơn giá xuất
Trang 203.1.2 : lập hóa đơn bán hàng
3.2.Thiết kế cơ sở dữ kiệu
3.2.1.Sơ đồ cơ sở dữ liệu
Trang 22manv nvarchar(50) Khóa chính
Tên cột Kiểu dữ liệu Ràng buộc
mahd nvarchar(50) Khóa chính
manvlap nvarchar(50) Khóa ngoại
ngaylap nvarchar(50)
tongtien float
trangthai nvarchar(50)
3.2.3.Bảng hóa đơn nhập chi tiết
Tên cột Kiểu dữ liệu Ràng buộc
mhd nvarchar(50) Khóa ngoại
mhh nvarchar(50) Khóa ngoại
Tên cột Kiểu dữ liệu Ràng buộc
manhacc nvarchar(50) Khóa chính