TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN
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 : Ths Nguyễn Quỳnh Mai
Sinh viên thực hiện : Đồng Văn Thịnh
Lớp :CNTT 49A
Mã sinh viên : CQ492594
Hà Nội,8/2010
1
LỜ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ắng
như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.
Hà nội,ngày 14 tháng 08 năm 2010
Sinh viên
Đồng văn Thịnh
2
Mục lục
LỜI NÓI ĐẦU...........................................................................................................2
Mục lục......................................................................................................................3
Phần I : ......................................................................................................................4
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 :.....................................................................................................................8
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..........................................................................................................20
3.2.6.Bảng hóa đơn xuất.............................................................................................................23
3.3.Thiết kế giao diện.................................................................................................................24
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
3
Phầ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.
4
Trọ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 duy
nhấ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
mã đó
được xem như không an toàn. CLR sẽ không thực thi việc thu dọn rác tự động các
đối tượng được tham chiếu bởi con trỏ cho đến khi lập trình viên tự giải phóng.
Các ứng dụng của ngôn ngữ C#:
• Chương trình ứng dụng Console.
• 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ụng
khá 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 hay
VB.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
5
mặc dù chưa từng được đào tạo chính quy ngôn ngữ C# nhưng khi triển khai ứng
dụ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ôn
ngữ 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ương
tá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ột
cô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.
6
• 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ập
trì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.
7
Phầ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
1.2.Quy trình nghiệp vụ
Hàng hóa sẽ được nhập vào kho bởi nhân viên của siêu thị sau khi đã in mã
hàng hóa lên từng mặt hàng
Khách hàng sẽ tự lựa chọn mặt hàng của mình muốn mua có sợ hướng dẫn
của nhân viên siêu thị nếu cần.
Sau khi lựa chọn xong khách hàng sẽ mang đến quầy tính tiền để thanh
toán .
Nếu quá trình nhập hàng và thánh toán diễn ra một cách thủ công sẽ mất thời
gian và sẽ không quản lý chặt chẽ được hàng hóa.
Chương 2 :Phân tích yêu cầu của hệ thống
2.1.Quy trình nghiệp vụ
Theo hiện trạng đã nêu ở trên thì việc áp dụng công nghệ vào quản lý bán
hàng mà cụ thể là sử dụng phần mềm vào quy trình nghiệp vụ quản lý bán hàng là
rất cần thiết để tăng khả năng quản lý hàng hóa nhanh chóng mà chính xác trong
thanh toán.
8
Chươ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
9
2.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
10
o 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 :
11
o 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ê
12
o 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
• Dòng sự kiện phụ:
o Nếu quản lý hoặc nhân viên k chọn loại hóa đơn thì hệ thống đưa ra
thông báo
o Quản lý hoặc nhân viên chọn loại hóa đơn
o Hệ thống thực hiện thống kê
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
13