Tài liệu là kết quả bài tập nhóm môn Công Nghệ Phần Mềm. Trong đề tài này, nhóm đã thực hành làm các bước quản lý một dự án công nghệ phần mềm, cụ thể là phần mềm quản lý bán hàng cho một cửa hàng máy tính.
Trang 1BỘ CÔNG THƯƠNG ĐẠI HỌC KINH TẾ KỸ THUẬT CÔNG NGHIỆP
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO BÀI TẬP NHÓM Môn: Công Nghệ Phần Mềm
ĐỀ TÀI: XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ BÁN
HÀNG CÔNG TY MÁY TÍNH THUẬN AN
Giáo viên hướng dẫn: Trần Thị Hương
Sinh viên thực hiện (Nhóm 06)
Trần Duy Sơn, Đào Diễm Hương, Trần Thị Thu, Nguyễn Hoàn Hải, Trần Thị Mai, Nguyễn Thị Khánh Trinh, Nguyễn Văn Hiệp, Dương Công Cường, Vũ Văn Có, Trần Văn Đại, Nguyễn Xuân Chiến Tuấn
Hà Nội, 11 tháng 10, 2017
Trang 2Danh sách phân công công việc
Vũ Văn Có (Cài đặt) Dương Công Cường (Cài đặt) Trần Văn Đại (Kiểm thử) Nguyễn Hoàn Hải (Thiết kế) Nguyễn Văn Hiệp (Kiểm thử) Đào Diễm Hương (Phân tích) Trần Thị Mai (Phân tích) Trần Duy Sơn (Cài đặt) Trần Thị Thu (Xác định yêu cầu) Nguyễn Thị Khánh Trinh (Xác định yêu cầu) Nguyễn Xuân Chiến Tuấn (Thiết kế)
CHƯƠNG I XÁC ĐỊNH YÊU CẦU 4
1.1 Mô tả bài toán 4
1.2 Mục tiêu nghiên cứu của đề tài 5
1.3 Phạm vi, đối tượng, nội dung nghiên cứu 6
CHƯƠNG II PHÂN TÍCH 8
2.1 Xây dựng biểu đồ phân cấp chức năng 8
2.1.1 Các chức năng của hệ thống 8
2.1.2 Sơ đồ các chức năng của hệ thống 9
2.2 Xây dựng biểu đồ luồng dữ liệu 10
2.3 Biểu đồ luồng dữ liệu mức đỉnh 12
1
Trang 3CHƯƠNG III THIẾT KẾ 14
3.1 Mô tả các form chức năng 14
3.1.1 Form login 14
3.1.2 Form main 15
3.1.3 Form báo cáo sản phẩm 16
3.1.4 Form thống kê kinh doanh 17
3.1.5 Form tìm hóa đơn 18
3.1.6 Form hóa đơn bán hàng 20
3.1.7 Form danh mục nhân viên 24
3.1.8 Form danh mục nhà cung cấp 26
3.1.9 Form danh mục hàng hóa 27
3.1.10 Form danh mục khách hàng 29
3.2 Thiết kế cơ sở dữ liệu 30
3.2.1 Table login 30
3.2.2 Table nhân viên 31
3.2.3 Table khách hàng 31
3.2.4 Table nhà cung cấp 31
3.2.5 Table hàng hóa 32
3.2.6 Table hóa đơn bán hàng 32
3.2.7 Table chi tiết hóa đơn bán hàng 33
CHƯƠNG IV CÀI ĐẶT 34
4.1 Giới thiệu về ngôn ngữ C# 34
4.2 Giới thiệu về SQL Server 35
4.3 Xây dựng mô hình Cơ sở dữ liệu quan hệ trong SQL Server 36
4.4 Các form của chương trình sau khi cài đặt thành công 36
CHƯƠNG V KIỂM THỬ PHẦN MỀM 47
2
Trang 4CHƯƠNG I XÁC ĐỊNH YÊU CẦU
1.1 Mô tả bài toán
Công ty máy tính Thuận An có hệ thống quản lý bán hàng hoạt động như sau:
Khi khách hàng có nhu cầu mua sản phẩm của cửa hàng,sau khi đã được các nhân viên của cửa hàng giới thiệu và tư vấn về các sản phẩm sau đó bộ phận quản lí khách hàng sẽ lấy thông tin của khách hàng, thông tin của khách hàng bao gồm: tên khách hàng, địa chỉ, số điện thoại
Mỗi khách hàng có một định danh duy nhất là Mã khách hàng.Sau khi xác nhận các thông tin của khách hàng hệ thống sẽ lưu lại các thông tin của khách hàng để tra cứu và liên hệ
Khi khách hàng mua hàng sẽ xem thông tin về mặt hàng Thông tin mặt hàng gồm có : Tên mặt hàng và đơn giá Khi khách hàng nhận hàng và thanh toán thì nhân viên sẽ lập hóa đơn.Hóa đơn bao gồm: mã hóa đơn, Mã mặt hàng,
Số lượng, Đơn giá
Mỗi khách hàng có nhiều hóa đơn , mỗi hóa đơn chỉ ghi một khách hàng Trên mỗi hóa đơn có thể có nhiều mặt hàng mỗi hóa đơn do một nhân viên lập,một nhân viên có thể lập nhiều hóa đơn Các hóa đơn bán hàng cũng sẽ đượccác nhân viên lưu trữ lại
Bộ phận giao hàng sẽ cùng với phòng bán hàng trực tiếp giao hàng và lập biên bản giao hàng, thanh toán hóa đơn bán hàng với khách theo đúng thời gian,chủng loại hàng, số lượng hàng, địa điểm giao hàng đã ghi trong hợp đồng mua bán Hoặc khách hàng có thể đến trực tiếp công ty để ký biên bản giao hàng, thanh toán hóa đơn bán hàng và nhận phiếu bảo hành sản phẩm
Theo biên bản giao hàng, khách hàng đã nhận đủ và kí biên bản Phòng bán hàng có trách nhiệm thu tiền theo các hình thức thanh toán đã được thỏa thuận giữa 2 bên trong hợp đồng mua bán
Sau khi giao hàng cho khách hàng thành công, công ty có trách nhiệm chăm sóc khách hàng bằng cách cam kết bảo hành: "Nếu sản phẩm lỗi sẽ được bảo hành theo quy chế của nhà sản xuất mà đại diện là Công Ty Thuận An"
3
Trang 5Để theo dõi và quản lý nhân viên làm việc tại công ty : thực hiện thêm mới vào danh sách khi có nhân viên mới được tuyển ,sửa đổi thông tin nhân viên khi
có thay đổi và xóa bỏ nhân viên khi ngừng làm việc tại công ty Các thông tin
về nhân viên gồm có: Mã nhân viên,Tên nhân viên,Giới tính,Năm sinh,Địa chỉ,Số điện thoại
Về hàng hóa có các thông tin như hàng, tên hàng, mã hàng, mã NCC, số lượng, đơn giá nhập, đơn giá bán, ảnh, ghi chú Còn nhà cung cấp thì sẽ có mã NCC và tên NCC
1.2 Mục tiêu nghiên cứu của đề tài
Đề tài “ Nghiên cứu xây dựng chương trình quản lý bán hàng của công ty máy tính Thuận An” được ra đời nhằm phục vụ cho việc quản lý bán hàng và tổng kết bán hàng của công ty máy tính Thuận An Phần mềm về cơ bản phải đạt được một số yêu cầu sau:
Phân quyền phù hợp cho người dùng: Khi đăng nhập vào phần mềm, các nhân viên thuộc các bộ phận khác nhau được phân quyền hạn khác nhau sao chophù hợp với chức vụ, công việc
Theo dõi quá trình bán hàng hằng ngày: Cập nhật tình hình đơn hàng trựctuyến để các bộ phận tiện theo dõi
Lập hóa đơn, phiếu nhập:
Danh sách hóa đơn
Tìm kiếm hóa đơn
In hóa đơn, phiếu nhập
Quản lí danh sách mặt hàng:
Hiển thị danh sách mặt hàng
Tra cứu, tìm kiếm mặt hàng
Cập nhật các mặt hàng được cửa hàng quản lý: Thêm, sửa, xóa
Thống kê tình hình hàng hóa: Số lượng hàng hóa tồn kho của từng mặt hàng
4
Trang 6 Báo cáo tình hình trong tháng:Tạo báo cáo trong đó thống kê doanh số, doanh thu, lợi nhuận của từng mặt hàng.
Theo dõi, quản lí cập nhật tình hình danh sách nhân viên:
Hiển thị danh sách nhân viên
Thêm, sửa, xóa nhân viên
Theo dõi, quản lí cập nhật tình hình danh sách khách hàng:
Hiển thị danh sách khách hàng
Thêm, sửa, xóa khách hàng
Hệ thống mang tính bảo mật cao
1.3 Phạm vi, đối tượng, nội dung nghiên cứu
Phạm vi nghiên cứu: Công ty máy tính Thuận An
Đối tượng nghiên cứu: Thông tin về các mặt hàng máy tính
Nội dung nghiên cứu: Xây dựng dự án phần mềm để quản lý bán hàng củacông ty máy tính Thuận An
1.4 Sơ đồ tổ chức quản lý của công ty
Công ty máy tính Thuận An đứng đầu là giám đốc người có quyền lực cao nhất, chịu trách nhiệm trước pháp luật về tình hình hoạt động kinh doanh của công ty Giúp việc cho giám đốc có hai phó giám đốc và các trưởng phòng khác
Ta có thể khái quát bộ máy quản lý của Công ty máy tính Thuận An bằng
sơ đồ sau:
5
Trang 7Ban giám đốc bao gồm: 1 giám đốc và 2 phó giám đốc.
Giám đốc là người điều hành hoạt động kinh doanh của công ty
Phó giám đốc: là người có quyền hạn dưới giám đốc, bao gồm:
Phó giám đốc kinh doanh: Chịu trách nhiệm về tình hình kinh doanh của công ty
Phó giám đốc kỹ thuật: giúp giám đốc trong việc lập, đôn đốc, kiểm tra việc thực hiện các kế hoạch sản xuất
6
Trang 8CHƯƠNG II PHÂN TÍCH
Phân tích thiết kế hệ thống là phương pháp nghiên cứu lựa chọn các giải pháp thích hợp cho bài toán quản lý Phân tích là công việc đầu tiên của quá trình xây dựng hệ thống trên máy tính Không thể đưa máy tính vào hoạt động
mà không qua giai đoạn phân tích thiết kế hệ thống Hiệu quả đem lại cao hay không là phụ thuộc vào kết quả phân tích ban đầu Phân tích thiết kế hệ thống
về xử lý thực chất là tìm ra các thao tác đặc trưng của hệ thống có tác động đến các tệp dữ liệu Để phân tích thiết kế hệ thống, ta có thể sử dụng một trong hai phương pháp hoặc dùng kết hợp cả hai phương pháp là:
Phân tích hệ thống trên cơ sở sử dụng biểu đồ luồng dữ liệu mức khung cảnh
Phân tích hệ thống trên cơ sở sử dụng biểu đồ luồng dữ liệu mức đỉnh Trong cả hai phương pháp trên ta đều có thể tiến hành phân tích từ tổng thể đến chi tiết (phương pháp Top-Down) hoặc phân tích từ chi tiết đến tổng thể(phương pháp Button-Up)
Trên cơ sở khảo sát thực tế và dựa vào bài toán quản lý đã đặt ra, phân tích
hệ thống dữ liệu của bài toán quản lý Kinh Doanh của Công ty máy tính Thuận
An ta có:
2.1 Xây dựng biểu đồ phân cấp chức năng
2.1.1 Các chức năng của hệ thống
Quản lý khách hàng: do bộ phận quản lý khách hàng đảm nhiệm
Quản lý tất cả các thông tin về khách hàng , các sản phẩm bán ra và
các thông tin về khách hàng, đồng thời đảm nhiệm việc bàn giao sản phẩm cho khách hàng
Quản lý hóa đơn: do bộ phận quản lý hóa đơn đảm nhiệm Quản
lý nhập và xuất hóa đơn
7
Trang 9 Quản lý hàng hóa: do bộ phận quản lý hàng hóa đảm nhiệm Quản
lý tất cả các sản phẩm bán ra và các thông tin về khách hàng, thôngtin về nhà cung cấp của sản phẩm, đồng thời đảm nhiệm việc bàn giao sản phẩm cho khách hàng đồng thời
Quản lý nhân viên: do bộ phận quản lý nhân viên đảm nhiệm
Cung cấp tất cả các thông tin về nhân viên như : Mã nhân viên, tên nhân viên, số điện thoại…
2.1.2 Sơ đồ các chức năng của hệ thống
8
QUẢN LÝ BÁN HÀNG
QL Khách hàng QL Hóa đơn QL Hàng hóa
Quản
lý sản phẩm
QL thông tin NCC
QL Nhân viên
Quản
lý hóa đơn
QL chi tiết hóa đơn
Sơ đồ phân cấp chức năng
Trang 102.2 Xây dựng biểu đồ luồng dữ liệu
Từ việc phân tích cụ thể các yêu cầu của bài toán, nếu coi hệ thống chỉ baogồm một chức năng tổng thể và xét tới sự trao đổi thông tin giữa các thực thểvới hệ thống và ngược lại, ta sẽ có một mô hình chung của hệ thống và gọi làbiểu đồ luồng dữ liệu mức khung cảnh Tiếp tục phân tích các chức năng của nó
ta sẽ được biểu đồ luồng dữ liệu mức đỉnh, mức dưới đỉnh, tương ứng với cácchức năng chi tiết của chương trình
Biểu đồ luồng dữ liệu thể hiện hệ thống ở dạng động, nó thể hiện sự trao đổithông tin giữa hệ thông với môi trường bên ngoài và các luồng trao đổi thôngtin trong nội bộ hệ thống Biểu đồ luồng dữ liệu bao gồm các tác nhân bên trong
và bên ngoài hệ thống, các tiến trình xử lý thông tin, các luồng thông tin vào/ramỗi tiến trình Mối liên quan giữa biểu đồ luồng dữ liệu và biểu đồ phân cấpchức năng là các chức năng trong biểu đồ phân cấp chức năng tương ứng vớicác tiến trình của biểu đồ luồng dữ liệu; mỗi mức của biểu đồ phân cấp chứcnăng được mô tả bởi biểu đồ luồng dữ liệu tương ứng
Ta tiến hành xây dựng biểu đồ luồng dữ liệu cho hệ thống này dựa vào
biểu đồ phân cấp chức năng đã lập ở phần trên như sau:
Hàng được giao
Phiếu y/c mua hàng
Giao hàng Hóa đơn nhập
Thanh toán
Trang 11 Giải thích biểu đồ dữ liệu mức ngữ cảnh:
Hệ thông quản lý kinh doanh máy tính và linh kiện máy tính của công tygiao tiếp với hai tác nhân ngoài Tác nhân thứ nhất là nhà Khách hàng và tácnhân thứ hai là nhà cung cấp (Nhà CC)
Với tác nhân ngoài là khách hàng: Khi khách hàng có nhu cầu về
hàng hóa, chủng loại máy tính, thiết bị và linh kiện khách hàng sẽ cung cấp đầy đủ thông tin cho công ty, công ty đáp ứng theo đúng yêu cầu về chủng loại mà khách hàng đã chọn sau đó công ty sẽ xuất các hàng hoá đểbán cộng với hóa đơn cho khách hàng Khách hàng sẽ thanh toán tiền hàng và hàng sẽ được giao
Với tác nhân ngoài là nhà cung cấp: Công ty sẽ đưa ra các thông
tin về chủng loại máy tính và linh kiện bằng phiếu yêu cầu mua hàng đến nhà cung cấp Nhà cung cấp sẽ đối chiếu với lượng hàng hóa đạt yêu cầu trong kho và đáp ứng lại bằng cách chuyển đến cho công ty hóa đơn nhập, công ty chuyển tiền thanh toán và hàng được nhà cung cấp giao đếncông ty
10
Trang 122.3 Biểu đồ luồng dữ liệu mức đỉnh
Qua biểu đồ luồng dữ liệu mức khung cảnh ta sẽ xây dựng được biểu đồluồng dữ liệu ở mức đỉnh như sau:
Biểu đồ luồng dữ liệu mức đỉnh
2.4 Biểu đồ luồng dữ liệu mức dưới đỉnh
Qua biểu đồ phân cấp chức năng ta đã thấy rõ 4 chức năng chính củacông ty, lần lượt phân rã các chức năng này ta sẽ nhận được các biểu đồluồng dữ liệu mức dưới đỉnh
Chức năng quản lý hóa đơn
Ta tiến hành phân rã chức năng này thành các chức năng nhỏ sau:
Quản lý hóa đơn: Thông qua hoá đơn nhập sẽ có các thông tin về sản
phẩm như: Mã hóa đơn bán, mã nv, ngày bán, mã khách, tổng tiền Các thông tin về sản phẩm sẽ được đưa vào một kho hàng có tên là “ CSDL sản phẩm”
Quản lý chi tiết hóa đơn: Bao gồm những trường sau: Mã hóa đơn bán,
mã hàng, số lượng, đơn giá, giảm giá, thành tiền
Chức năng quản lý hàng hóa
Ta tiến hành phân rã chức năng này thành các chức năng nhỏ sau:
Quản lý sản phẩm: Thông qua hoá đơn nhập sẽ có các thông tin về sản
phẩm như: số hoá đơn nhập, tên sản phẩm , mã sản phẩm ,tên nhà cungcấp ,số lượng , đơn giá
Quản lý thông tin nhà cung cấp: Bao gồm Tên nhà cung cấp, mã nhà
cung cấp
11
Hàng
Trang 1312
Trang 14CHƯƠNG III THIẾT KẾ
Từ những mô hình đã xây dựng ở phần Phân tích, phần thiết kế sẽ mô tả trựcquan để định hướng rõ cho người lập trình các công việc phải làm
3.1 Mô tả các form chức năng
3.1.1 Form login
Form Login
Các điều khiển Tên Kiểu dữ liệu Chức năng
“Username”
“Password”
nhập
trình
13
Trang 153.1.2 Form main
14
Form Main
thị”CHƯƠNG TRÌNH QUẢN
LÝ BÁN HÀNG”
Trang 163.1.3 Form báo cáo sản phẩm
Form báo cáo sản phẩm
“THỐNG KÊ HÀNG HÓA”ReportViewer rptThongkehh Hiển thị thống kê
hàng tồn kho
15
Trang 173.1.4 Form thống kê kinh doanh
Form thống kê kinh doanh
“THỐNG KÊ TÌNH HÌNH KINH DOANH”ReportViewer rptThongkekd Hiển thị thống kê
doanh số,doanh thu,lợi nhuận
16
Trang 183.1.5 Form tìm hóa đơn
Form tìm hóa đơn
đơn”
lblMakhachhang Text Hiển thị “Mã
khách hàng”
lblTongtien Text Hiển thị “Tổng
tổng tiền
17
Trang 19TxtManhanvien Text Nhập,hiển thị mã
nhân viênDatagridview dgvTimhoadon Hiển thị hóa đơn
Trang 203.1.6 Form hóa đơn bán hàng
19
Trang 21Form hóa đơn bán hàng
Label lblMahoadon Text Hiển thị “Mã hóa
Trang 22txtTenkhachhang Text Nhập,hiển thị tên
khách hàngtxtDiachi Text Nhập,hiển thị địa
chỉtxtTennhanvien Text Nhập,hiển thị tên
nhân viêntxtDienthoai Text Nhập,hiển thị
SĐTtxtTenhang Text Nhập,hiển thị tên
lượng hàngtxtBaohanh Text Nhập,hiển thị bảo
hành
giảm giátxtThanhtien Text Hiển thị thành
tiềntxtTongtien Text Hiển thị tổng tiềnCombobox cbMakhachhang Text Nhập,hiển thị mã
hóa đơnDatagridview dgvHoadonbanhan Hiển thị thông tin
hóa đon
đơn
21
Trang 243.1.7 Form danh mục nhân viên
Form Danh mục nhân viên
Label lblDanhmucnhanvien Text Hiển thị “DANH
MỤC NHÂN VIÊN”
lblManhanvien Text Hiển thị ‘Mã
nhân viên
23
Trang 25txtSodienthoai Text Nhập,hiển thị số
điện thoạiMaskedTextbox txtNgaysinh Text Nhập,hiển thị
ngày sinhDatagridview dgvDanhmunnhanvien Hiển thị thông
tin nhân viên
Trang 263.1.8 Form danh mục nhà cung cấp
Form Danh mục nhà cung cấp
Label lblDanhmucnhacungcap Text Hiển thị ‘DANH
MỤC NHÀ CUNG CẤP”lblManhacungcap Text Hiển thị “Mã nhà
cung cấp”
lblTennha cungcap Text Hiển thị “Tên
nhà cung cấp”Textbox txtManhacungcap Text Nhập,hiển thị mã
nhà cấptxtTennhacungcap Text Nhấp,hiển thị tên
nhà cung cấp
25
Trang 273.1.9 Form danh mục hàng hóa
Form DANH MỤC HÀNG HÓA
Trang 28Giá Bán”
Chú”
định: tăng 10%
so với giá nhập”
txtdongianhap Text Nhập Đơn giá
nhập
bán
năng tìm kiếmbtnHienthi Thực hiện chức
năng Hiển thịDataGridView DataDridView Hiển thị dữ liệu
ra màn hình
27
Trang 30thị dữ liệu ra màn hình
txtTenkhach Text Nhập Tên kháchtxtDiachi Text Nhập Địa chỉtxtSodienthoai Text Nhập Số điện
Trang 313.2.2 Table nhân viên
Lưu thông tin nhân viên
Trang 323.2.5 Table hàng hóa
Lưu thông tin về hàng hóa
3.2.6 Table hóa đơn bán hàng
Lưu thông tin về hóa đơn bán hàng
31
Trang 333.2.7 Table chi tiết hóa đơn bán hàng
Lưu thông tin chi tiết hóa đơn bán hàng
32
Trang 34CHƯƠNG IV CÀI ĐẶT
4.1 Giới thiệu về ngôn ngữ C#
Trong chương trình chúng em dùng ngôn ngữ C# để xây dựng chương trình bởi
vì trong quá trình khảo sát em thấy:
C# là ngôn ngữ đơn giản:
C# loại bỏ một vài sự phức tạp và rối rắm của những ngôn ngữ như Java và c++, bao gồm việc loại bỏ những macro, những template, đa kế thừa, và lớp cơ
sở ảo (virtual base class)
C# khá giống C, C++ và Java về diện mạo, cú pháp, biểu thức, toán tử và những chức năng khác được lấy trực tiếp từ ngôn ngữ C và C++, nhưng nó đã được cải tiến để làm cho ngôn ngữ đơn giản hơn Một vài trong các sự cải tiến
là loại bỏ các dư thừa, hay là thêm vào những cú pháp thay đổi
C# là ngôn ngữ hiện đại:
Những đặc tính như là xử lý ngoại lệ, thu gom bộ nhớ tự động, những kiểu
dữ liệu mở rộng, và bảo mật mã nguồn là những đặc tính được mong đợi trong một ngôn ngữ hiện đại C# chứa tất cả những đặc tính trên
C# là ngôn ngữ hướng đối tượng:
Những đặc điểm chính của ngôn ngữ hướng đối tượng (Object-oriented language) là sự đóng gói (encapsulation), sự kế thừa (inheritance), và đa hình (polymorphism) C# hỗ trợ tất cả những đặc tính trên Phần hướng đối tượng của C# sẽ được trình bày chi tiết trong một
33