Phần mềm quản lý bán hàng tại công ty máy tính mai hoàng
Trang 1TRƯỜNG ĐẠI HỌC THÀNH ĐÔ KHOA CÔNG NGHỆ THÔNG TIN
BÀI TẬP LỚN PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI
TƯỢNG VỚI UML (NHÓM 10)
Nhóm: 12 Lớp: ĐH TIN 13.1 Khóa: 5
Đề tài: Phần mềm quản lý bán hàng tại công ty máy tính Mai Hoàng Giáo viên bộ môn: Trần Nguyên Hoàng.
1
Trang 2Mục lụcChương I: Khảo sát hệ thống
1 Giới thiệu về công ty Mai Hoàng
1 Biểu đồ use case
2 Xây dựng biểu đồ lớp cơ bản
3 Xây dựng biểu đồ tuần tự
4 Biểu đồ lớp chi tiết
Trang 31. Giao diện
3
Trang 4Lời nói đầu
Ngày nay, ngành Công nghệ thông tin phát triển rất nhanh chóng và ứng dụng
ngày càng rộng rãi trong cuộc sống và trong các công tác quản lý của các công ty lớn,
bệnh viện trường học, trụ sở ủy ban… đặc biệt là trong công tác quản lý bán hàng Nó
có tác dụng thiết thực đối với đời sống con người, giúp cho người quản lý có cái nhìn
tổng thể mà chi tiết thông tin được lưu trữ đầy đủ, cập nhật hàng ngày, nâng cao hiệu
quả làm việc, tiết kiệm sức làm việc
Hiện nay linh kiện máy tính trên thị trường và các thiết bị điện tử là rất nhiều,
cùng với rất nhiều chủng loại và nguồn gốc xuất xứ với niềm đam mê tìm hiếu những
vấn đề liên quan đến chuyên ngành học tập Công nghệ thông tin của mình, chúng em
đã quyết định chọn đề tài quản lý bán hàng: linh kiện máy tính Với kiến thức thực tế
và qua quá trình tìm hiểu thực trạng của hệ thống bán hàng chúng em đã thu được một số kết quả
Trang 5Chương I: Khảo sát hệ thống
1 Giới thiệu về công ty Mai Hoàng
Công ty TNHH Tin học Mai Hoàng là công ty chuyên cung cấp các loại linh kiện máy tính với số lượng vừa và nhỏ Thành lập ngày 17/7/1999 theo giấy phép thành lập số
4496 GP/TLDN của Uỷ ban nhân dân thành phố Hà Nội Website chính thức của Công tyTNHH Tin học Mai Hoàng:http://www.maihoang.com.vn/
Vốn điều lệ: 6 000 000 000 (6 ti đồng Việt Nam)
Đội ngũ nhân viên: Ðội ngũ chuyên viên của Công ty gồm hơn 150 nguời, trong đó hơn 80% là các kỹ sư đã tốt nghiệp đại học chuyên ngành Ðiện tử - Tin học, Kinh tế, Kế toán Trong số đó hơn 12 chuyên viên kỹ thuật của Công ty đã tham dự các khoá tu nghiệp với công nghệ tiên tiến của các nhà sản xuất hàng đầu trên thế giới, đặc biệt là cáccông nghệ ứng dụng trong việc phát triển hệ thống máy tính thông minh
Địa chỉ: 41 Thái Hà - Ðống Ða - Hà Nội
Hotline :04.3628.5868
Hiện tại công ty có 4 cơ sơ trên địa bàn Hà Nội
Cơ sở 1:
Ðịa chỉ : Số 241 Phố Vọng - Hai Bà Trung - Hà Nội
Ðiện thoại : (04) 3.628 5868 Fax : (04) 3.628 5867
Cơ sở 2:
Ðịa chỉ : Số 41 Thái Hà - Ðống Ða - Hà Nội
Ðiện thoại : (04) 3.5377109 Fax : (04) 3.5377108
Cơ sở 3:
Ðịa chỉ : Số 05 Hồ Tùng Mậu - Cầu Giấy - Hà Nội
Ðiện thoại : (04) 3.9369989 Fax : (04) 3.9369986
Cơ sở 4:
Ðịa chỉ : Số 104 Lê Thanh Nghị - Hai Bà Trung - Hà Nội
Ðiện thoại : (04) 3.7664647 Fax : (04) 3.7664648
2 Nhiệm vụ cơ bản
5
Trang 6 Lấy hàng từ nhà cung cấp bán cho khách hàng
Nhận tiền thanh toán từ khách hàng
Thanh toán tiền hàng cho nhà cung cấp
3 Cơ cấu tổ chức
Trang 74 Quy trình xử lí
Khi có yêu cầu nhập thiết bị: nhân viên tiến hành ghi phiếu yêu cầu gồm các
thông tin chi tiết về thiết bị và gửi đến cho nhà cung cấp
Nhà cung cấp sẽ gửi đơn chào hàng chi tiết các thiết bị bao gồm các thông tin
như: tên, loại thiết bị, số lượng, nguồn gốc….Qua đơn chào hàng của nhà cung cấp thì cửa hàng sẽ đưa ra đơn đặt hàng và gửi đến cho nhà cung cấp, để đáp ứng nhu cầu nhập thiết bị của cửa hàng nhà cung cấp sẽ chuyển thiết bị cho cửa hàng theo hợp đồng mua,bán hàng hóa và biên lai bàn giao thiết bị (kiêm hóa đơn thanh toán tiền thiết bị) Trước khi nhập hàng vào kho thì cửa hàng sẽ kiểm tra xem đã đủ thiết bị chưa
theo biên bản bàn giao thiết bị mà nhà cung cấp gửi đến, đồng thời cửa hàng sẽ ghi các thông tin cần thiết vào sổ chi và sổ kho Nếu thiết bị nào không đạt yêu cầu thì cửa hàng sẽ trả lại nhà cung cấp, và yêu cầu nhà cung cấp cấp lại những thiết bị như hợp đồng đã thỏa thuận
Khi khách có nhu cầu mua thiết bị, khách hàng xem thông tin hàng hóa, tìm kiếm hàng cần mua Nếu khách hàng chọn được thiết bị cần mua thì cửa hàng sẽ kiểm tra trong kho, nếu trong kho còn hàng thì nhân viết sẽ viết phiếu bán hàng Sau đó cửa hàng sẽ tiến hành bàn giao thiết bị cho khách và gửi đến khách hàng hóa đơn thanh toán, phiếu bảo hành và các giấy tờ liên quan, có kèm theo các khuyến mại(nếu có) Khi khách đã thanh toán tiền thiết bị thì cửa hàng sẽ lập biên lai thu tiền cho khách đồng thời sẽ ghi các thông tin cần thiết vào sổ thu và sổ kho
Để tiện cho việc quản lý hệ thống sẽ lưu trữ và quản lý thông tin về nhà cung cấp
và thông tin khách hàng.Có thể sửa hoặc xóa khi cần thiết
Sau một khoảng thời gian nhất định nhân viên các bộ phận sẽ tổng hợp thông tin mua,bán, và các thông tin khác
7
Trang 8Chương II: Phân tích thiết kế
I Phân tích thiết kế
1 Biểu đồ use case (Use case diagram)
Một biểu đồ Use case chỉ ra một số lượng các tác nhân ngoại cảnh và mối liên kết của chúng đối với Use case mà hệ thống cung cấp Một Use case là một lời miêu tả của một chức năng mà hệ thống cung cấp Lời miêu tả Use case thường
là một văn bản tài liệu, nhưng kèm theo đó cũng có thể là một biểu đồ hoạt động.Các Use case được miêu tả duy nhất theo hướng nhìn từ ngoài vào của các tác nhân (hành vi của hệ thống theo như sự mong đợi của người sử dụng), không miêu tả chức năng được cung cấp sẽ hoạt động nội bộ bên trong hệ thống ra sao Các Use case định nghĩa các yêu cầu về mặt chức năng đối với hệ thống
a) Xác định các tác nhân và use case
Một biểu đồ Use case chỉ ra một số lượng các tác nhân ngoại cảnh và mối liên kết của chúng đối với Use case mà hệ thống cung cấp Một Use case là một lời miêu tả của một chức năng mà hệ thống cung cấp Lời miêu tả Use case thường là một văn bản tài liệu, nhưng kèm theo đó cũng
có thể là một biểu đồ hoạt động Các Use case được miêu tả duy nhất theo hướng nhìn từ ngoài vào của các tác nhân (hành vi của hệ thống theo như sự mong đợi của người sử dụng), không miêu tả chức năng được cung cấp sẽ
Trang 9hoạt động nội bộ bên trong hệ thống ra sao Các Use case định nghĩa các yêu cầu về mặt chức năng đối với hệ thống.
b) Biểu đồ use case tổng quát
Khái quát chức năng chính của hệ thống Các chức năng này có tính tổngquát dễ dàng nhìn thấy được trên quan điểm của các tác nhân Dựa vào yêu cầu của bài toán ta có use case tổngquát như sau:
c) Phân rã biểu đồ use case
Từ use case tổng quát chúng ta chúng ta biểu diễn lại thành dạng phân cấp gọi là phân rã biểu đồ use case thành các use case con trong đó sử dụng quan hệ <<include>> để chỉ ra rằng một use case được sử dụng bởi một use case khác
d) Use case tìm hàng
Tác nhân: Khách hàng
Mô tả: Khách hàng có thể tìm hàng theo tên hàng hoặc theo mã hàng Nhập thông tin về mã hàng hoặc tên hàng, hệ thống sẽ tìm kiếm theo yêucầu và gửi kết quả lại cho khách hàng biết
9
Trang 10e) Use case quản lý khách hàng
Tác nhân: Nhân viên
Điều kiện: Phải đăng nhập vào hệ thống
Mô tả: Nhân viên sau khi đăng nhập được Tìm khách hàng theo mã hoặctên rồi sau đó có thể tùy chọn các chức năng tương ứng như nhập thông tin khách hàng, xóa thông tin khách hàng, sửa thông tin khách hàng
f) Use case quản lý nhà cung cấp
Tác nhân: nhân viên
Điều kiện: Phải đăng nhập vào hệ thống
Trang 11Mô tả: Nhân viên sau khi đăng nhập được Tìm nhà cung cấp theo tên hoặc địa chỉ rồi sau đó có thể tùy chọn các chức năng tương ứng như nhập thông tin nhà cung cấp, xóa thông tin nhà cung cấp, sửa thông tin nhà cung cấp
g) Use case quản lý bán hàng
Tác nhân: Nhân viên
Điểu kiện: Phải đăng nhập được vào hệ thống
Mô tả: Dựa vào yêu cầu của khách hàng, nhân viên sẽ lập hóa đơn bán hàng, kiểm tra hàng trong kho xem có còn hayđáp ứng được không (tìm hàng), nếu đáp ứng được thì sẽ giao hàng cho khách hàng và cập nhật thông tin hàng bán vào hệ thống
Nếu hàng trong kho không đáp ứng được thì thông báo cho khách hàng
h) Use case quản lý nhập hàng
Tác nhân: Nhân viên
11
Trang 12Điểu kiện: Phải đăng nhập được vào hệ thống
Mô tả: Dựa vào yêu cầu của khách hàng, nhân viên sẽ lập hóa đơn bán hàng, kiểm tra hàng trong kho xem có còn hayđáp ứng được không (tìm hàng), nếu đáp ứng được thì sẽ giao hàng cho khách hàng và cập nhật thông tin hàng bán vào hệ thống
Nếu hàng trong kho không đáp ứng được thì thông báo cho khách hàng
i) Use case báo cáo thống kê
Tác nhân: Nhân viên
Điều kiện: Đăng nhập được vào hệ thống
Mô tả: Cuổi tháng nhân viên sẽ thống kê hàng bán, hàng nhập, thống kê doanh thu và báo cáo cho quản lý
j) Use case quản li tài khoản
Tác nhân: Admin
Điều kiện: Đăng nhập được vào hệ thống
Trang 13Mô tả: Khi có nhân viên mới vào làm việc trong hệ thống hoặc có nhân viên ghỉ việc trong hệ thống
k) Use case chi tiết
Dựa vào các use case đãđược phân rã, ta tổng hợp lại tất cả các use case
13
Trang 142 Xây dựng biểu đồ lớp căn bản
Xác định các lớp từ use case
Xét từ bài toán quản lý bán hàng và use case chi tiết đã xây dựng ở trên chúng ta có thể liệt kê các lớp cơ bản như khách hàng, hàng xuất, hàng nhập, phiếu xuất, phiếu nhập, hàng, nhà cung cấp
Xác định các thuộc tính và một số phương thức cơ bản
Từ các lớp xác định ở bước trên ta có thể thấy một số thuộc tính và phương thức cơ bản như trong lớp khách hàng thì có thuộc tính mã khách hàng, tên khách hàng, địa chỉ, điện thoại Lớp hàng xuất có số phiếu xuất, tên hàng, số lượng xuất,đơn giá Cụ thể như hình sau:
3 Xây dựng biều đồ tuần tự
Mục đích: biểu diễn tương tác giữa những người dùng và những đối tượng bên trong hệ thống Biểu đồ này cho biết các thông điệp được truyền tuần tự như thế nào theo thời gian Thứ tự các sự kiện trong biểu đồ tuần tự hoàn toàn tương tự như trong scenario mô tả use case tương ứng
Trang 15Biểu diễn: Biểu đồ tuần tự được biểu diễn bởi các đối tượng và message
truyền đi giữa các đối tượng đó
Trong hệ thống quản lý bán hàng, chúng ta lựa chọn biểu đồ tương tác dạng tuần
tự để biểu diễn các tương tác giữa các đối tượng Để xác định rõ các thành phần cần bổ sung trong biểu đồ lớp, trong mỗi biểu đồ tuần tự của hệ thống quản lý bán hàng sẽ thực hiện:
- Xác định rõ kiểu của đối tượng tham gia trong tương tác (ví dụ giao diện, điều khiển hay thực thể)
- Mỗi biểu đồ tuần tự có thể có ít nhất một lớp giao diện (Form) tương ứng với chức năng (use case) mà biểu đồ đó mô tả
- Mỗi biểu đồ tuần tự có thể liên quan đến một hoặc nhiều đối tượng thực thể Các đối tượng thực thể chính là các đối tượng của các lớp đã được xây dựng trong biểu đồ thiết kế chi tiết Dưới đây là một số biểu đồ tuần tự cho các chức năng của hệ thống quản lý bán hàng:
Biểu đồ tuần tự cho chức năng đăng nhập
15
Trang 16 Biểu đồ tuần tự cho chức năng tìm hàng
Biểu đồ tuần tự cho chức năng thêm hàng
Trang 18 Biểu đồ tuần tự cho chức năng cho chức năng quản lý bán hàng
Trang 19 Biểu đồ tuần tự cho chức năng cho chức năng quản lý khách hàng
Biểu đồ tuần tự cho chức năng cho chức năng thông kế bán hàng
19
Trang 214 Biểu đồ lớp chi tiết Xây dựng biểu đồ lớp thiết kế chi tiết
Dựa vào biểu đồ lớp cơ bản đã xây dựng ở trên và các biểu đồ tuần tự, biểu đồ lớp chi tiết bổ sung nhiều thuộc tính và phương thức hơn so với biểu đồ lớp cơ bản
Biểu đồ lớp chi tiết cho chức năng tra cứu hàng
21
Trang 22Biểu đồ lớp chi tiết cho chức năng quản lý khách hàng
Biểu đồ lớp chi tiết cho chức năng quản lý nhà cung cấp
Trang 23Biểu đồ lớp chi tiết cho chức năng quản lý hàng
Biểu đồ lớp chi tiết cho chức năng quản lý bán hàng
23
Trang 245 Biểu đồ ca sử dụng
Biểu đồ ca sử dụng đăng nhập
Biểu đồ ca sử dụng lập hóa đơn
Trang 25 Biểu đồ ca sử dụng nhập hàng
Biểu đồ ca sử dụng thống kê
25
Trang 266 Biểu đồ thành phần
Trang 277 Biểu đồ triển khai
27
Trang 28II Thiết kế cơ sở dữ liệu
1) Hàng
liệu
Not null/null
Khóa chính Khóa ngoại
2) Đăng nhập
liệu
Not null/null
Khóa chính Khóa ngoại
3) Phiếu xuất
liệu
Not null/null
Khóa chính Khóa ngoại
4) Phiếu nhập
liệu
Not null/null
Khóa chính Khóa ngoại
5) Nhà cung cấp
Trang 29STT Tên thuộc tính Kiểu dữ
liệu
Not null/null
Khóa chính Khóa ngoại
6) Khách hàng
liệu
Not null/null
Khóa chính Khóa ngoại
Chương III: Sản phẩm
1 Giao diện
Dựa vào yêu cầu bài toán và phân tích thiết kế ở trên, ta xây dựng chương
trình quản lý bán hàng sử dụng ngôn ngữ Microsoft Visual Studio phiên bản
2013 và dùng Microsoft SQL Server 2008 để lưu trữ dữ liệu
Chương trình được xây dựng trên mô hình ba lớp sau:
❖ Lớp BussinessLogic: thực hiện các chức năng chính của hệ
thống như thêm, xóa, sửa, cập nhật
❖ Lớp DataAccess: thực hiện chức năng chính là tạo kết nối
với cơ sở dữ liệu từ Microsoft SQL Server 2008
❖ Lớp Quanlybanhang: chứa tất cả các form của chương
trình, gọi đến lớp DataAccess và BussinessLogic Thực hiện các chức
năng, hiển thị giao diện và cập nhật vào cơ sở dữ liệu.
Form đăng nhập
29
Trang 31 Form main
Form tài khoản
31
Trang 32 Form hàng hóa
Trang 33 Form khách hàng
33
Trang 34 Form nhà cung cấp
Trang 35 Form phiếu nhập
35
Trang 36 Form phiếu xuất
Trang 37 Form báo cáo nhập hàng
37
Trang 38 Form báo cáo xuất hàng
public static bool themhanghoa(HangHoaETT hhe) {
return DALHangHoa.themhanghoa(hhe);
}
public static bool suahanghoa(HangHoaETT hhe)
Trang 39static SqlConnection con;
//Lấy dữ liệu từ bảng hàng hóa
public static int quyen;
public static DataTable laydulieuhanghoa()
{
string truyvan = "Select * From HangHoa";
39
Trang 41public static DataTable timkiemhh(string timkiem){
string truyvan = string.Format("Select * From HangHoa where TenHang like N'%"+timkiem+"%'");
con=DBConnection.KeNoi();
DataTable dt = DBConnection.LayDuLieuBang(truyvan,con);
41
Trang 42private string MaHang;
public string MaHang1
{
get { return MaHang; }
set { MaHang = value; }
}
private string TenHang;
public string TenHang1
Trang 43{
get { return TenHang; }
set { TenHang = value; }
}
private string LoaiHang;
public string LoaiHang1
{
get { return LoaiHang; }
set { LoaiHang = value; }
}
private string DonViTinh;
public string DonViTinh1
{
get { return DonViTinh; }
set { DonViTinh = value; }
}
private int Hangcon;
public int HangCon1
{
get { return Hangcon; }
set { Hangcon = value; }
}
}
Code form đăng nhập
43
Trang 44public partial class DangNhap : Form
private void DangNhap_Load(object sender, EventArgs e)
//kiem tra dang nhap
if (tbtaikhoan.Text == "" && tbmatkhau.Text == "")
{
MessageBox.Show(" Chưa nhập thông tin ","Thông Báo"); }
Trang 45else if (tbtaikhoan.Text == "" && tbmatkhau.Text != "")
SqlDataAdapter ad = new SqlDataAdapter(sqlTenDangNhap, conn);
DataTable dt = new DataTable();
dt.Clear();
ad.Fill(dt);
if (dt.Rows.Count != 0)
{
//kiem tra xem tai khoan co khoa khong
int loi = Convert.ToInt16(this.exeCuteQuery(tbtaikhoan.Text));
Trang 46//update trang thai = khoa
string sqlkhoa = "update DangNhap set TrangThai= 'Khóa' where TenDN='" + tbtaikhoan.Text + "'";
//string sqlkhoa = "update taikhoan set trangthai=" +1+ "where tendangnhap ='" + tbtaikhoan.Text + "'";
SqlDataAdapter ad1 = new SqlDataAdapter(sqlMatKhau, conn);
DataTable dt1 = new DataTable();
dt1.Clear();
ad1.Fill(dt1);
if (dt1.Rows.Count != 0)