Hệ thống phần mềm được xây dựng dựa trên: - Phương pháp phân tích hệ thống hướng đối tượng UML - Ngôn ngữ lập trình C#.Net - Hệ quản trị cơ sở dữ liệu SQL Server 2005 Kết quả đạt được sa
Trang 1KHOA CÔNG NGHỆ THÔNG TIN
LUẬN VĂN TỐT NGHIỆP
PHẦN MỀM QUẢN LÝ MUA BÁN
VÀ BẢO HÀNH CÁC THIẾT BỊ MÁY TÍNH
Giáo viên hướng dẫn:
ThS.BÙI THỊ HỒNG PHÚC
Sinh viên thực hiện:
DANH TRƯỜNG SƠN MSSV: 0951190269 Lớp: ĐH CNTT Khóa: 2
Hậu Giang - 2013
Trang 3Sinh viên thực hiện: Danh Trường Sơn
Sinh viên thực hiện
(Ký và ghi rõ họ tên)
Trang 4Sinh viên thực hiện: Danh Trường Sơn
Lời đầu tiên, tôi xin chân thành cảm ơn tất cả quý thầy cô của trường đại học
Võ Trường Toản, đặc biệt là quý thầy cô trong khoa công nghệ thông tin đã truyền dạy những kiến thức vô cùng quý báu, những kiến thức này rất hữu ích và giúp tôi rất nhiều trong quá trình thực hiện khóa luận tốt nghiệp này
Tôi cũng xin chân thành cảm ơn cô Ths Bùi Thị Hồng Phúc, người đã trực tiếp hướng dẫn tôi hoàn thành khóa luận tốt nghiệp Với những lời chỉ dẫn, những tài liệu,
sự tận tình hướng dẫn và những lời động viên của cô đã giúp tôi vượt qua nhiều khó khăn trong quá trình thực hiện khóa luận này
Tôi cũng xin gởi lời cảm ơn chân thành đến tất cả bạn bè và toàn thể nhân viên trong công ty thương mại Tool Apple, những người đã giúp tôi trả lời câu hỏi khảo sát làm nguồn dữ liệu cho việc phân tích và cho ra kết quả nghiên cứu khóa luận này
Xin chân thành cảm ơn!
Trân trọng!
Sinh viên thực hiện
(Ký và ghi rõ họ tên)
Trang 5Sinh viên thực hiện: Danh Trường Sơn
Chuyên ngành: Hệ Thống Thông Tin
Cơ quan công tác: Trường Đại Học Võ Trường Toản
Họ và tên : Danh Trường Sơn
Mã số sinh viên : 0951190269
Chuyên ngành : Công Nghệ Thông Tin
Tên đề tài : Quản Lý Mua Bán, Bảo Hành Các Thiết Bị Máy Tính
Trang 6Sinh viên thực hiện: Danh Trường Sơn
iv
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Hậu Giang, ngày … tháng … năm …
Giáo viên phản biện
(Ký và ghi rõ họ tên)
Trang 7Sinh viên thực hiện: Danh Trường Sơn
v
MỤC LỤC
CHƯƠNG 1 TỔNG QUAN 1
1.1 ĐẶT VẤN ĐỀ 1
1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ 2
1.3 MỤC TIÊU VÀ PHẠM VI ĐỀ TÀI 2
1.3.1 Mục tiêu 2
1.3.2 Phạm vi đề tài 3
1.4 Ý NGHĨA ĐỀ TÀI 4
1.5 PHƯƠNG PHÁP NGHIÊN CỨU 5
1.5.1 Phương pháp nghiên cứu lý thuyết 5
1.5.2 Phương pháp nghiên cứu thực nghiệm 5
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 6
2.1 QUY TRÌNH PHÁT TRIỂN PHẦN MỀM 6
2.1.1 Khái niệm 6
2.1.2 Các mô hình trong quy trình phát triển phần mềm 6
2.2 NGÔN NGỮ UML 7
2.2.1 Khái niệm 7
2.2.2 Mục đích sử dụng UML 7
2.2.3 Sơ đồ UML 8
2.3 LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG 12
2.3.1 Khái niệm 12
2.3.2 Ưu điểm của lập trình hướng đối tượng so với lập trình thủ tục 13
2.4 NGÔN NGỮ C# 14
CHƯƠNG 3 NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU 15
3.1 KẾ HOẠCH THỰC HIỆN 15
3.2 LẤY YÊU CẦU 16
3.2.1 Tổng quan về hệ thống 16
3.2.2 Quy trình hoạt động của công ty 17
3.3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 21
3.3.1 Sơ đồ hoạt vụ 21
3.3.2 Sơ đồ lớp 24
Trang 8Sinh viên thực hiện: Danh Trường Sơn
vi
3.3.3 Lưu đồ giải thuật 26
3.3.4 Sơ đồ tuần tự 30
3.3.5 Thiết kế cơ sở dữ liệu 66
3.4 HỆ THỐNG QUẢN LÝ BÁN HÀNG 94
3.4.1 Các chức năng chính của hệ thống 94
3.4.2 Đề mô chương trình 94
CHƯƠNG 4 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 114
4.1 KẾT LUẬN 114
4.1.1 Kết quả đạt được 114
4.1.2 Hạn chế 115
4.2 HƯỚNG PHÁT TRIỂN 115
Trang 9Sinh viên thực hiện: Danh Trường Sơn
vii
DANH MỤC HÌNH ẢNH
Hình 1 Quan hệ bao hàm 8
Hình 2 Ví dụ quan hệ bao hàm 9
Hình 3 Quan hệ mở rộng 9
Hình 4 Ví dụ quan hệ mở rộng 9
Hình 5 Quan hệ tổng quát hóa 10
Hình 6 Ví dụ quan hệ tổng quát hóa 10
Hình 7 Quan hệ giữa các tác nhân 11
Hình 8 Kế hoạch thực hiện luận văn 15
Hinh 9 Sơ đồ hoạt vụ cho chức năng đặt hàng 21
Hình 10 Sơ đồ hoạt vụ cho chức năng quản lý quầy hàng 21
Hình 11 Sơ đồ hoạt vụ cho chức năng lập hóa đơn bán hàng 22
Hình 12 Sơ đồ hoạt vụ cho chức năng bảo hành 22
Hình 13 Sơ đồ hoạt vụ cho chức năng xuất nhập hàng hóa 23
Hình 14 Sơ đồ hoạt vụ cho chức năng báo cáo thống kê 23
Hình 15 Sơ đồ lớp quy trình bán hàng, bảo hành 24
Hình 16 Sơ đồ lớp quy trình xuất nhập hàng 25
Hình 17 Lưu đồ giải thuật đăng nhập hệ thống 26
Hình 18 Lưu đồ giải thuật thêm thông tin 27
Hình 19 Lưu đồ giải thuật tìm kiếm thông tin 28
Hình 20 Lưu đồ giải thuật xóa thông tin 29
Hình 21 Sơ đồ tuần tự cho chức năng đăng nhập 32
Hình 22 Sơ đồ tuần tự cho chức năng thêm sản phẩm 35
Hình 23 Sơ đồ tuần tự cho chức năng sửa thông tin sản phẩm 37
Hình 24 Sơ đồ tuần tự cho chức năng xóa thông tin sản phẩm 39
Hình 25 Sơ đồ tuần tự cho chức năng tìm kiếm thông tin sản phẩm 40
Hình 26 Sơ dồ tuần tự cho chức năng thêm nhân viên 44
Hình 27 Sơ đồ tuần tự cho chức năng sửa thông tin nhân viên 48
Hình 28 Sơ đồ tuần tự cho chức năng xóa thông tin nhân viên 50
Hình 29 Sơ đồ tuần tự cho chức năng tìm kiếm thông tin nhân viên 51
Hình 30 Sơ đồ tuần tự cho chức năng lập phiếu mua hàng 55
Hình 31 Sơ đồ tuần tự cho chức năng lập hóa đơn bán hàng 58
Trang 10Sinh viên thực hiện: Danh Trường Sơn
viii
Hình 32 Sơ đồ tuần tự cho chức năng lập phiếu đặt hàng 62
Hình 33 Sơ đồ tuần tự cho chức năng lập hóa đơn nhâp hàng 65
Hình 34 Sơ đồ liên kết dữ liệu 93
Hình 35 Các chức năng chính của hệ thống 94
Hình 36 Giao diện chính 95
Hình 37 Giao diện đăng nhập 96
Hình 38 Đăng nhập với username hoặc mật khẩu không đúng 96
Hình 39 Đăng nhập sai quá 3 lần 97
Hinh 40 Đăng nhập thành công 97
Hinh 41a Giao diện đăng nhập với quyền admin 98
Hình 41b Giao diện đăng nhập với quyền admin 99
Hình 41c Giao diện đăng nhập với quyền admin 99
Hình 42a Giao diện đăng nhập với quyền bán hàng 100
Hình 42b Giao diện đăng nhập với quyền bán hàng 101
Hình 42c Giao diện đăng nhập với quyền bán hàng 101
Hình 43a Giao diện đăng nhập với quyền quản lý kho 102
Hình 43b Giao diện đăng nhập với quyền quản lý kho 103
Hình 44 Giao diện đăng nhập với quyền báo cáo thống kê 103
Hình 45 Giao diện ghi nhận thông tin khách hàng 104
Hình 46 Giao diện lập phiếu mua hàng cho khách hàng 105
Hình 47 Giao diện lập hóa đơn cho khách hàng 106
Hình 48 Giao diện lập phiếu bảo hành 107
Hình 49 Giao diện quản lý kho hàng 108
Hình 50 Giao diện ghi nhận thông tin nhà cung cấp 109
Hình 51 Giao diện lập phiếu đặt hàng 110
Hình 52 Giao diện lập hóa đơn nhập hàng 111
Hình 53 Giao diện thống kê số lƣợng sản phẩm nhập vào 112
Hình 54 Giao diện thống kê số lƣợng sản phẩm bán ra 112
Hình 55 Giao diện thống kê doanh thu 113
Trang 11Sinh viên thực hiện: Danh Trường Sơn
ix
DANH MỤC BIỂU BẢNG
Bảng 1 KÝ HIỆU LỚP 11
Bảng 2 NHÂN VIÊN 66
Bảng 3 KHÁCH HÀNG 67
Bảng 4 HÓA ĐƠN 68
Bảng 5 CHI TIẾT HÓA ĐƠN 68
Bảng 6 SẢN PHẨM 69
Bảng 7 BẢO HÀNH 69
Bảng 8 QUẦY HÀNG 70
Bảng 9 CHI TIẾT QUẦY 70
Bảng 10 PHIẾU XUẤT HÀNG CHO KHÁCH HÀNG 70
Bảng 11 CHI TIẾT PHIẾU XUẤT HÀNG CHO KHÁCH HÀNG 71
Bảng 12 PHIẾU XIN CẤP HÀNG 72
Bảng 13 CHI TIẾT PHIẾU XIN CẤP HÀNG 72
Bảng 14 BỘ PHẬN 73
Bảng 15 PHIẾU ĐẶT HÀNG 73
Bảng 16 CHI TIẾT PHIẾU ĐẶT HÀNG 74
Bảng 17 HÓA ĐƠN NHẬP HÀNG 74
Bảng 18 CHI TIẾT HÓA ĐƠN NHẬP HÀNG 75
Bảng 19 NHÀ CUNG CẤP 75
Bảng 20 CHI TIẾT PHIẾU BẢO HÀNH 76
Bảng 21 PHIẾU MUA HÀNG 76
Bảng 22 CHI TIẾT PHIẾU MUA HÀNG 77
Bảng 23 CA 77
Bảng 24 HÓA ĐƠN CHI 78
Bảng 25 PHIẾU XUẤT HÀNG CHO QUẦY 78
Bảng 26 CHI TIẾT PHIẾU XUẤT HÀNG CHO QUẦY 79
Bảng 27 PHIẾU GIAO CA 79
Bảng 28 LỚP NHÂN VIÊN 80
Bảng 29 LỚP KHÁCH HÀNG 81
Bảng 30 LỚP NHÀ CUNG CẤP 82
Bảng 31 LỚP SẢN PHẨM 83
Trang 12Sinh viên thực hiện: Danh Trường Sơn
x
Bảng 32 LỚP PHIẾU MUA HÀNG 84
Bảng 33 LỚP HÓA ĐƠN BÁN HÀNG 85
Bảng 34 LỚP PHIẾU ĐẶT HÀNG 86
Bảng 35 LỚP HÓA ĐƠN NHẬP HÀNG 87
Bảng 36 LỚP PHIẾU XIN CẤP HÀNG 88
Bảng 37 LỚP PHIẾU XUẤT HÀNG CHO QUẦY 89
Bảng 38 LỚP PHIẾU XUẤT HÀNG CHO KHÁCH HÀNG 90
Bảng 39 LỚP PHIẾU BẢO HÀNH 91
Bảng 40 LỚP PHIẾU CHI TIẾT BẢO HÀNH 92
Trang 13Sinh viên thực hiện: Danh Trường Sơn
xi
DANH MỤC TỪ VIẾT TẮT
SQL: Structure Query Language
UML: Unified Modeling Language
CS: Creative Suite
OOP: Object Oriented Programming
IDE: Intergrated Development Enviroment
MSDN: Microsoft Developer Network
MSSQL: Microsoft SQL Server
CNTT: Công Nghệ Thông Tin
CSDL: Cơ Sở Dữ Liệu
Trang 14Sinh viên thực hiện: Danh Trường Sơn
xii
TÓM TẮT
Trong thời đại công nghệ thông tin hiện nay, sự trao đổi thông tin đã trở thành nhu cầu cần thiết không thể thiếu đối với mỗi quốc gia nói riêng và trên toàn thế giới nói chung Sự phát triển của công nghệ thông tin được xem là kim chỉ nam cho những bước phát triển mới, cho những mục tiêu mới và luôn gắn chặt với các ứng dụng khoa học kỹ thuật vào sự phát triển của nền kinh tế
Công ty thương mại cổ phần Tool Apple cũng như các tổ chức doanh nghiệp khác trong cả nước đang từng bước tiếp cận, đưa tin học vào trong quá trình kinh doanh, song song với hoạt động kinh doanh ngày càng mở rộng thì đòi hỏi phải có một
hệ thống thông tin tốt là rất cần thiết hơn bao giờ hết đối với công ty
Đề tài: “Xây dựng phần mềm quản lý mua bán, bảo hành các thiết bị máy tính” được xây dựng nhằm đáp ứng cho yêu cầu chung đó và đáp ứng cho nhu cầu cơ bản hiện nay của công ty
Hệ thống phần mềm được xây dựng dựa trên:
- Phương pháp phân tích hệ thống hướng đối tượng UML
- Ngôn ngữ lập trình C#.Net
- Hệ quản trị cơ sở dữ liệu SQL Server 2005
Kết quả đạt được sau quá trình nghiên cứu và thực hiện chương trình: Cơ bản
đã quản lý được quy trình bán hàng, bảo hành, đặt hàng, xuất, nhập hàng, báo cáo thống kê
Do thời gian nghiên cứu còn hạn chế, kiến thức và kinh nghiệm của bản thân còn chưa cao nên chương trình vẫn còn một số thiếu sót về giao diện chưa thực sự chuyên nghiệp, các chức năng còn thiếu xót cần phải mở rộng
Trong thời gian sắp tới chương trình sẽ được cải tiến về một số mặt sau đây:
- Về giao diện: Điều chỉnh giao diện chương trình để giao diện chương trình càng lúc càng chuyên nghiệp hơn
- Các chức năng: Nghiên cứu tìm hiểu và mở thêm các chức năng cho hệ thống
Trang 15Sinh viên thực hiện: Danh Trường Sơn
xiii
ABSTRACT
Today, In this era of information technology, the exchange of information has become a necessity indispensable to every country in particular and the world in general The development of information technology is seen as the lodestar for new development, to new goals and closely to the application of scientific and technical development of the economy
AppleToolCompanyas well asotherbusinessorganizationsin the countryis graduallyapproaching, bringing informationintobusiness processes, parallel to theoperationsexpandingitrequiresagoodinformationsystemis neededmore than everforcompanies
The theme “Construction management software sales and maintenance of computer equipment” is built to meet these common demand and help companies optimize management
The management system is built by:
- The method Methor pour Rassember les Idees Sans Effort (MERISE),
-Programming language C#
-Database managemet system SQL 2005
The result after past activities: Basically, manage the sales process, warranty, orders, export and import goods, statistical reports
Limit, the time, experience, knowledge So my program won't perfect byinterface,lacking functions needed to expand
In the future, the program would improve about interface, extendedfunctionality
Trang 16
Sinh viên thực hiện: Danh Trường Sơn
1
CHƯƠNG 1
TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ
- Sự ra đời và phát triển của công nghệ thông tin là một trong những thành tựu vĩ đại nhất của con người Nhịp độ phát triển công nghệ thông tin đang là một vấn đề rất được các nghành khoa học, giáo dục, kinh tế, quan tâm Nó hiện hữu với một tầm vóc hết sức mạnh mẽ, to lớn và ngày càng lớn mạnh thêm Tin học giữ vai trò đặc biệt trong hoạt động của con người, trong đời sống xã hội, trong khoa học kỹ thuật, trong sản xuất kinh doanh, trong quản lý khách hàng, trong các hoạt động mua bán hàng hoá Quản lý bán hàng trong các doanh nghiệp là một công việc quan trọng, đòi hỏi bộ phận quản lý phải thực hiện nhiều nghiệp vụ phức tạp Một doanh nghiệp muốn phát triển khả năng sản xuất, thông tin và khả năng đáp ứng nhu cầu khách hàng một cách hiệu quả nhất thì không thể thiếu một hệ thống thông tin hỗ trợ Tuy nhiên để có một phần mềm phù hợp với công tác quản lý, phù hợp với hoạt động của mỗi doanh nghiệp lại không phải là một vấn đề dễ dàng, nó chính là bài toán khó cho các doanh nghiệp
- Công ty thương mại cổ phần Tool Apple là một công ty chuyên về bán hàng cho tất cả các khách hàng trong và ngoài nước, do đó việc giải quyết tốt bài toán quản lý bán hàng là một công việc mang tính chất quyết định đối với sự phát triển của công
ty
- Hoạt động chính của công ty chủ yếu là bán hàng, nhập hàng và xuất hàng do đó đòi hỏi quản lý các thông tin bán hàng và các thông tin về xuất nhập hàng hóa là rất quantrọng và cấp bách đối với công ty
- Hiện nay công ty quản lý việc bán hàng chỉ bằng phương pháp thủ công nên dẩn đến rất nhiều bất cập như:
+ Tốc độ cập nhật xử lý không cao, không đáp ứng được nhu cầu cần báo cáo đột xuất của ban lãnh đạo
+ Không đồng bộ trong việc cập nhật dẩn đến những sai sót
Trang 17Sinh viên thực hiện: Danh Trường Sơn
2
+ Quản lý thủ công thường chịu ảnh hưởng bởi các yếu tố chủ quan do sự tác động của môi trường bên ngoài
+ Lưu trữ thông tin khó dễ bị lộ
+ Thông tin thường được lưu trữ trên giấy nên gây lảng phí lớn
+ Khi mở rộng kinh doanh thì hệ thống quản lý thủ công sẽ không đáp ứng được các yêu cầu đặt ra
- Bài toán đặt ra cho công ty là tìm cách tổ chức một hệ thống mới quản lý tới các hoạt động liên quan đến bán hàng trên cơ sở các cách thức hoạt động và quy tắt làm việc của các đơn vị Hệ thống mới phải làm sao giải quyết được các vấn đề nêu trên, phù hợp với điều kiện của công ty
- Hiện nay công ty đã và đang có kế hoạch mở rộng kinh doanh, mở thêm một số các chi nhánh tại các tỉnh trên cả nước Do đó bài toán quản lý bán hàng của công ty ngày càng trở nên phức tạp Lý do này khiến công ty phải tìm một công cụ quản lý bán hàng hiệu quả
Trang 18Sinh viên thực hiện: Danh Trường Sơn
3
+ Phần mềm phải đáp ứng được các yêu cầu cơ bản của một phần mềm quản lý hệ thống bán hàng đơn giản như: bán hàng, lập hóa đơn, thanh toán cho khách hàng, lập báo cáo thu chi, xuất nhập hàng hóa, báo cáo xuất nhập tồn hàng tháng, hàng quý hoặc bất kỳ lúc nào người quản lý yêu cầu
Bằng việc sử dụng các công nghệ mới được tích hợp trong bộ Visual Studio
2008, đề tài hướng đến mục tiêu xây dựng một hệ thống quản lý với các chức năng đáp ứng các yêu cầu nghiệp vụ và đặc thù của công ty
+ StartUML công cụ để mô hình hóa hệ thống hướng đối tượng
+ Hệ quản trị SQL Server 2005, các phương pháp tổ chức và thiết kế cơ sở
Trang 19Sinh viên thực hiện: Danh Trường Sơn
4
+ Quản lý quy trình bảo hành, cho phép nhân viên lập các phiếu bảo hành cho khách hàng, tiến hành bảo hành khi khách hàng đến bảo hành, hổ trợ tìm kiếm và kiểm tra các thông tin bảo hành khi khách hàng đến bảo hành + Quản lý xuất nhập hàng hóa, cho phép nhập hàng hóa từ các nhà cung cấp khác nhau, cập nhật hàng hóa trong kho, xuất hàng cho khách hàng, xuất hàng cho quầy, thống kê số lượng hàng hóa nhập vào, thống kê số lượng hàng hóa xuất ra
+ Báo cáo thống kê, cho phép thống kê doanh thu theo tháng, theo năm, thống kê tồn kho theo tháng, theo năm, thống kế số lượng sản phẩm bán ra theo tháng, theo năm
- Hệ thống được xây dựng thành công mang lại các ý nghĩa sau đây:
* Đối với người dùng
+ Có được một giao diện làm việc thân thiện, tạo cho nhân viên một cảm giác thoải mái khi làm việc, giảm tải áp lực cho nhân viên
+ Giúp cho nhân viên dễ dàng kiểm soát trong khâu bán hàng, tránh trường hợp mất mát do không kiểm soát được làm thiệt hại đến công ty
+ Làm cho khách hàng cảm thấy thích thú khi mua hàng tránh trường hợp xử
Trang 20Sinh viên thực hiện: Danh Trường Sơn
5
* Đối với sinh viên thực hiện
+ Có cơ hội ứng dụng kiến thức đã học vào xây dựng một hệ thống thực tế + Hiểu biết thêm rất nhiều về quy trình bán hàng ở ngoài thực tế
+ Nâng cao khả năng tự nghiên cứu, phân bổ thời gian thực hiện công việc một cách hợp lý
+ Củng cố và phát triển khả năng lập trình quản lý
1.5 PHƯƠNG PHÁP NGHIÊN CỨU
Đề tài này sẽ kết hợp hai phương pháp nghiên cứu, đó là:
1.5.1 Phương pháp nghiên cứu lý thuyết
- Nghiên cứu tài liệu, ngôn ngữ và công nghệ liên quan
- Tổng hợp các tài liệu
- Phân tích và thiết kế hệ thống thông tin theo quy trình xây dựng ứng dụng phần mềm
1.5.2 Phương pháp nghiên cứu thực nghiệm
- Phân tích yêu cầu thực tế của bài toán và xây dựng các bước phân tích hệ thống
Trang 21Sinh viên thực hiện: Danh Trường Sơn
6
CHƯƠNG 2
CƠ SỞ LÝ THUYẾT 2.1 QUY TRÌNH PHÁT TRIỂN PHẦN MỀM
2.1.1 Khái niệm
Quy trình phát triển phần mềm là một cấu trúc bao gồm tập hợp các thao tác và các kết quả tương quan sử dụng trong việc phát triển để sản xuất ra một sản phẩm phần mềm
2.1.2 Các mô hình trong quy trình phát triển phần mềm
Có rất nhiều mô hình trong quy trình phát triển phần mềm như: Mô hình thác nước, mô hình phát triển tiến hóa, mô hình xoắn óc…, Tuy nhiên chúng ta chỉ xét đến mô hình thác nước vì đây là mô hình được ứng dụng trong đề tài xây dựng phần mềm “Quản Lý Mua Bán Và Bảo Hành Các Thiết Bị Máy Tính” Tool Apple
2.1.2.1 Khái niệm mô hình thác nước
Mô hình thác nước (tiếng Anh: waterfall model) là một mô hình của quy
trình phát triển phần mềm, trong đó quy trình phát triển trông giống như một dòng chảy, với các pha được thực hiện theo trật tự nghiêm ngặt và không có sự quay lui hay nhảy vượt pha, mô hình thác nước được chia ra làm 5 giai đoạn: phân tích yêu cầu, thiết kế, triển khai thực hiện, kiểm thử, liên kết và bảo trì
2.1.2.2 Quy trình trong mô hình thác nước
- Phần mềm quản lý bán hàng Tool Apple là phần mềm được xây dựng dựa trên
mô hình thác nước
- Theo mô hình thác nước, người phát triển phải thực hiện từng giai đoạn theo thứ tự nghiêm ngặt Trước hết, giai đoạn "xác định yêu cầu" phải được hoàn tất, kết quả nhận được sẽ là danh sách các yêu cầu đối với phần mềm Sau khi các yêu cầu đã hoàn toàn được xác định, sẽ chuyển sang pha thiết kế, ở pha này người ta sẽ tạo ra các tài liệu dành cho lập trình viên, trong đó mô tả chi tiết các phương pháp và kế hoạch thực hiện các yêu cầu đã được làm rõ ở pha trước Sau khi pha thiết kế hoàn tất, lập trình viên sẽ triển khai thực hiện (mã hóa, viết mã)
Trang 22Sinh viên thực hiện: Danh Trường Sơn
2.2 NGÔN NGỮ UML
2.2.1 Khái niệm
Unified Modeling Language(UML) là một ngôn ngữ mô hình hoá thống nhất có phần chính bao gồm những ký hiệu hình học, được các phương pháp hướng đối tượng sử dụng để thể hiện và miêu tả các thiết kế của một hệ thống
2.2.2 Mục đích sử dụng UML
- Unified Modeling Language (UML) được sử dụng để mô tả các hệ thống thông
tin cả về cấu trúc cũng như hoạt động Cách tiếp cận theo mô hình của UML giúp ích rất nhiều cho những người thiết kế và thực hiện hệ thống thông tin cũng như những người sử dụng nó, tạo nên một cái nhìn bao quát và đầy đủ về hệ thống thông tin dự định xây dựng Cách nhìn bao quát này giúp nắm bắt trọn vẹn các yêu cầu của người dùng, phục vụ từ giai đoạn phân tích đến việc thiết kế, thẩm định và kiểm tra sản phẩm ứng dụng công nghệ thông tin Các mô hình hướng đối tượng được lập cũng là cơ sở cho việc ứng dụng các chương trình tự động sinh mã trong các ngôn ngữ lập trình hướng đối tượng, chẳng hạn như ngôn ngữ C++, Java,C#
Phương pháp mô hình này rất hữu dụng trong lập trình hướng đối tượng
- Sử dụng ngôn ngữ UML để xây dựng các mô hình một cách tỉ mỉ, rõ ràng, đầy
đủ ở các mức độ chi tiết khác nhau Đặc biệt là UML thực hiện việc chi tiết hoá tất
cả các quyết định quan trọng trong phân tích, thiết kế và thực thi một hệ thống phần mềm
Chính vì những lý do trên tôi quyết định chọn UML làm ngôn ngữ để xây dựng
nên mô hình tổng quát hệ thống
Trang 23Sinh viên thực hiện: Danh Trường Sơn
8
2.2.3 Sơ đồ UML
2.2.3.1 Sơ đồ hoạt vụ(Use case diagram)
- Sơ đồ hoạt vụ hay còn gọi là mô hình trường hợp sử dụng là một mô hình cơ bản trong việc phân tích và thiết kế hệ thống thông tin theo kiểu hướng đối tượng
- Trường hợp sử dụng là một kỹ thuật mô tả hệ thống dựa trên quan điểm người
sử dụng Mỗi trường hợp sử dụng là một cách thức riêng biệt để sử dụng hệ thống
- Trường hợp sử dụng là một tập hợp bao gồm các thao tác được kích hoạt bởi một tác nhân bên ngoài và tạo ra một kết quả xác định được, quan sát được
- Tác nhân là những người sử dụng hệ thống không kể đến những kỹ sư phần mềm, cài đặt và tham số hóa phần mềm Ngoài ra, tác nhân có thể là các thiết bị ngoại vi sử dụng bởi hệ thống, các phần mềm đã sẳn sàng được tích hợp vào hệ thống, các hệ thống tin học nằm ngoài nhưng có tương tác với hệ thống đang xét
- Nói chung tác nhân là những ai, những gì sử dụng hệ thống và có tương tác với
hệ thống
- Các trường hợp sử dụng được gôm lại trong sơ đồ hoạt vụ, nhằm chỉ ra mối quan hệ giữa các trường hợp sử dụng và giữa các tác nhân Những sơ đồ này cho phép biểu diễn sự phụ thuộc giữa các trường hợp sử dụng lẫn nhau và giữa các tác nhân lẫn nhau
Quan hệ giữa các trường hợp sử dụng trong sơ đồ hoạt vụ
Trang 24Sinh viên thực hiện: Danh Trường Sơn
Trang 25Sinh viên thực hiện: Danh Trường Sơn
10
Quan hệ tổng quát hóa
+ Một trường hợp sử dụng A là một sự tổng quát hóa trường hợp
sử dụng B nếu B là một trường hợp đặc biệt của A
Trang 26Sinh viên thực hiện: Danh Trường Sơn
11
Quan hệ giữa các tác nhân
+ Giữa các tác nhân chỉ tồn tại duy nhất một quan hệ - quan hệ tổng quát hóa
+ Hình ảnh
Hình 7 Quan hệ giữa các tác nhân
2.2.3.2 Sơ đồ lớp(Class Diagram)
- Lớp là sự mô tả một tập hợp các đối tượng có cùng các đặt tính: Cùng một ngữ nghĩa, có chung các thuộc tính, các phương thức và các quan hệ
- Một đối tượng là một thể hiện của lớp
Ký hiệu:
Bảng 1 KÝ HIỆU LỚP
Tên Lớp Danh sách các thuộc tính Danh sách các phương thức
Trang 27Sinh viên thực hiện: Danh Trường Sơn
12
+ Tên lớp: Phải có nghĩa và bắt đầu bằng chử hoa
+ Mỗi thuộc tính được mô tả bằng tên và kiểu, tên thuộc tính phải duy nhất trong lớp
+ Mỗi phương thức được mô tả kiểu trả về, danh sách các đối số và kiểu tương ứng mỗi đối số
a) thuộc tính
- Đặc tả bởi tên, kiểu dữ liệu, giá trị khởi tạo
- Tên thuộc tính phải duy nhất trong lớp đó
- Các kiểu dữ liệu chuẩn của UML 2.0: String, integer, long, boolean
b) Phương thức
- Đặc tả kiểu trả về
- Đặc tả danh sách các đối số và kiểu tương ứng
- Operation Name (arg1: arg1 data type, arg2: arg2 data type…): return type
2.2.3.3 Sơ đồ trình tự(Sequence Diagram)
Mục đích chính của một biểu đồ trình tự là để xác định các trình tự sự kiện dẫn đến một số kết quả mong muốn Sự tập trung ít hơn vào chính các thông điệp
và nhiều hơn vào thứ tự các thông điệp xảy ra, tuy nhiên hầu hết các biểu đồ trình
tự sẽ truyền đạt những gì các thông điệp được gửi giữa các đối tượng của một hệ thống cũng như thứ tự trong đó chúng xảy ra Biểu đồ truyền tải thông tin này theo chiều dọc và chiều ngang, chiều đứng, từ trên xuống, thể hiện trình tự thời gian của các thông điệp, yêu cầu khi chúng xảy ra, và chiều ngang, từ trái sang phải, thể hiện các ví dụ đối tượng mà thông điệp được gửi đến
2.3 LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
2.3.1 Khái niệm
Lập trình hướng đối tượng (gọi tắt là OOP, từ chữ Anh ngữ object-oriented
programming), hay còn gọi là lập trình định hướng đối tượng, là kĩ thuật lập trình
hỗ trợ công nghệ đối tượng OOP được xem là giúp tăng năng suất, đơn giản hóa
độ phức tạp khi bảo trì cũng như mở rộng phần mềm bằng cách cho phép lập trình viên tập trung vào các đối tượng phần mềm ở bậc cao hơn
Trang 28Sinh viên thực hiện: Danh Trường Sơn
- Ngoài ra, vì có nhiều trường hợp sử dụng cùng một lớp tại cùng một thời điểm,
do đó việc xử lý dữ liệu lớn trở nên dễ dàng hơn rất nhiều
Trên quy mô nhỏ, sự khác biệt này có thể sẽ không nhiều, nhưng nếu như ứng dụng ngày càng phát triển lớn hơn, lập trình hướng đối tượng sẽ giúp giảm đáng
kể khối lượng công việc, nếu nó được thực thi đúng
b) Tổ chức chương trình
- Một lợi ích khác của hướng đối tượng là khả năng dễ dàng đóng gói và phân loại Mỗi lớp nói chung có thể được giữ trong một tập tin riêng biệt của chính nó,
và nếu một quy ước đặt tên thống nhất được sử dụng, việc truy cập vào các lớp sẽ
vô cùng đơn giản Mỗi lớp được đặt tại một file riêng biệt làm mã lệnh trở nên di động hơn và dễ dàng để tái sử dụng hơn trong các ứng dụng mới
- Trong khi đó lập trình hướng cấu trúc sẽ không tái sử dụng code được khi phát triển hệ thống mới
c) Dễ bảo trì
- Do cấu trúc mã lệnh tuy liên kết chặt chẽ nhưng vẫn tách biệt và rời rạc thành từng phần nên sự thay đổi mã lệnh trong lập trình hướng đối tượng thường dễ dàng hơn là trong lập trình hướng thủ tục
Chính vì những lý do trên tôi quyết định chọn lập trình hướng đối tượng để xây dựng hệ thống phần mềm
Trang 29Sinh viên thực hiện: Danh Trường Sơn
- C# là ngôn ngữ sử dụng giới hạn những từ khóa Phần lớn các từ khóa được sử dụng để mô tả thông tin Một ngôn ngữ có nhiều từ khóa thì sẽ mạnh hơn Điều này không phải sự thật, ít nhất là trong trường hợp ngôn ngữ C#, chúng ta có thể tìm thấy rằng ngôn ngữ này có thể được sử dụng để làm bất cứ nhiệm vụ nào
Chính vì những ưu điểm đó tôi đã quyết định chọn ngôn ngữ C# làm ngôn ngữ
để phát triển hệ thống phần mềm
Trang 30Sinh viên thực hiện: Danh Trường Sơn
Trang 31Sinh viên thực hiện: Danh Trường Sơn
- Cụ thể việc phân cấp quản lí từng bộ phận như sau:
+ Cửa hàng trưởng: Là người chịu trách nhiệm về hoạt động kinh doanh và kế hoạch thực hiện
+ Bộ phận tư vấn khách hàng: Là những nhân viên quan sát khách hàng để tư vấn khách hàng
+ Bộ phận bán hàng: Là những nhân viên trực tiếp bán hàng cho khách hàng tại quầy mà mình phụ trách Cuối mỗi ca phải kiểm tra lượng hàng bán được, báo cáo và giao ca
+ Bộ phận thu ngân: Để tính tiền khách hàng sau đó nhập dữ liệu vào máy tính + Bộ phận quản lý bán hàng: Phân tích số liệu của hai bộ phận bán hàng và thu ngân Cân đối số lượng hàng hóa trên quầy và bán ra để tìm ra sai xót giữa khâu này Sau đó sẽ chuyển số liệu sang bộ phận kế toán để tính doanh thu, xét duyệt các đợt xuất hàng ra quầy, lập các báo cáo, thống kê cho cửa hàng trưởng
+ Thủ kho: Quản lý công việc xuất nhập hàng hóa trong kho
Trang 32Sinh viên thực hiện: Danh Trường Sơn
sự phân công như vậy mà công ty có thể phát hiện dể dàng sự sai xót các khâu với nhau.Việc mất mát hàng hóa và người có liên quan sẽ được phát hiện Do vậy công ty có thể phát triển hơn về nhiều mặt như việc tự giác và phong cách làm việc ở mỗi nhân viên trong công ty
3.2.2 Quy trình hoạt động của công ty
a) Nhập hàng
- Công ty có một bộ phận nhân viên nghiên cứu thị trường, bộ phận này nắm bắt nhu cầu thị trường và giá cả mặt hàng trên thị trường Từ đó tìm những nhà cung cấp mặt hàng cho công ty Sau khi đã tìm được nhà cung cấp, thì bộ phận này sẽ đặt mua hàng từ những nhà cung cấp này thông qua phiếu đặt hàng, thông tin phiếu đặt hàng gồm có mã phiếu đặt hàng, tên nhà cung cấp, nhân viên lập phiếu, ngày lập Với mỗi phiếu đặt hàng sẽ có chi tiết phiếu đặt hàng riêng, thông tin chi tiết phiếu đặt hàng gồm có mã phiếu đặt hàng, tên hàng, số lượng
- Công ty nhận hàng từ nhà cung cấp thông qua một hóa đơn nhập ghi thông tin chi tiết về việc nhập hàng từ nhà cung cấp, thông tin hóa đơn nhập hàng gồm có
mã hóa đơn nhập hàng, tên nhà cung cấp, nhân viên lập phiếu, ngày lập,ngày nhập, tên hàng, số lượng, đơn giá, tổng tiền
- Mọi hoạt động thu mua thiết bị của công ty đều do bộ phân kế toán chi tiền, để tiện quản lý việc chi tiền nhân viên kế toán sẽ lập một hóa đơn chi, thông tin hóa đơn chi gồm mã hóa đơn chi, lý do chi, số tiền chi, tên nhân viên lập phiếu, ngày lập
Trang 33Sinh viên thực hiện: Danh Trường Sơn
+ Hình thức thứ hai là hàng được xuất ra quầy để bán khi có sự yêu cầu của bộ phận quản lý Trong đó quầy là nơi trưng bày nhiều hàng khác nhau của từng loại hàng Nghĩa là một quầy thì có một loại hàng đặt trưng cho quầy đó để việc quản
lý được dể dàng hơn đồng thời còn giúp cho khách hàng có thể dể dàng tìm kiếm mặt hàng mà mình cần
- Tại mỗi quầy thì có một nhân viên phụ trách quầy Thông tin quầy cần quản lý gồm có mã quầy, tên sản phẩm, loại sản phẩm, số lượng, đơn giá, giá bán Nhân viên quản lý quầy có nhiệm vụ quản lý quầy của mình và có nhiệm vụ bán các mặt hàng trong quầy Thông tin nhân viên cần quản lý gồm có mã nhân viên, họ tên nhân viên, giới tính, địa chỉ, số điện thoại, chức vụ Khi bán được mặt hàng nào thì nhân viên phải ghi lại thông tin các mặt hàng mình bán được, để khi kết thúc ca trực của mình thì họ sẽ tổng kết lại có bao nhiêu mặt hàng bán được và tồn lại trong quầy là bao nhiêu để báo cáo cho bộ phận quản lý thông qua phiếu giao ca, phiếu giao ca gồm có mã phiếu giao ca, số hàng bán được, số hàng tồn, thời gian giao ca, nhân viên lập phiếu
- Trong mỗi ca trực của các nhân viên phụ trách quầy thì bất cứ nhân viên nào cũng có thể đề nghị cấp hàng thêm cho quầy khi quầy đó đã hết mặt hàng nào đó hay là mặt hàng sắp hết bằng cách yêu cầu bộ phận quản lý thông qua phiếu xin cấp hàng, phiếu xin cấp hàng gôm có mã phiếu xin cấp hàng, nhân viên lập phiếu, tên hàng, số lượng, ngày lập
Sau khi nhận được phiếu xin cấp hàng từ nhân viên phụ trách quầy thì bộ phân quản lý bán hàng kiểm tra lại và thấy hợp lý thì họ sẽ yêu cầu quản lý kho xuất
Trang 34Sinh viên thực hiện: Danh Trường Sơn
19
hàng ra cho quầy Mà hàng sẽ được xuất ra quầy thông qua hóa đơn xuất để có thể quản lý được số lượng xuất ra và mặt hàng nào được xuất, thông tin hóa đơn xuất gồm có mã hóa đơn xuất, mã quầy, nhân viên lập phiếu, nhân viên xuất, tên hàng, số lượng, ngày xuất
- Khi một khách hàng đã chọn được mặt hàng của mình thì nhân viên phụ trách quầy sẽ ghi lại thông tin khách hàng và thông tin sản phẩm vào phiếu mua hàng, thông tin khách hàng gồm có mã khách hàng, họ tên khách hàng, số điện thoại, địa chỉ Thông tin sản phẩm gồm có mã sản phẩm, tên sản phẩm, loại sản phẩm,
số lượng, đơn giá, thời gian bảo hành Sau đó phiếu này và mặt hàng tương ứng
sẽ được chuyển sang bộ phận phận thu ngân
Nếu khách hàng đến mua hàng với số lượng lớn thì nhân viên phụ trách quầy cũng sẽ ghi lại thông tin khách hàng đó và thông tin sản phẩm cần mua vào phiếu mua hàng tuy nhiên lúc này trong phiếu mua hàng sẽ có thêm thông tin ngày nhận hàng vì số lượng hàng hóa lớn nên không thể giao hàng trực tiếp tại cửa hàng, mà hàng hóa sẽ do nhân viên công ty giao đến địa chỉ của khách hàng
- Tùy theo từng loại khách hàng mà bộ phận thu ngân sẽ sẽ in ra hoá đơn cho khách hàng, thông tin hóa đơn gồm có mã hóa đơn, tên khách hàng, tên hàng đã mua, số lượng, đơn giá, thành tiền, ngày lập
- Sau khi đã tính tiền xong cho khách hàng, Nếu sản phẩm có bảo hành thì hóa đơn sẽ được chuyển sang bộ phận kỹ thuật để tiến hành in phiếu bảo hành cho khách hàng, khách hàng sẽ nhận mặt hàng của mình và phiếu bảo hành để xác định thời gian bảo hành và điều kiện bảo hành, thông tin phiếu bảo hành gồm có
mã phiếu bảo hành, tên hàng, thời gian bảo hành, nhân viên lập phiếu, ngày lập, ngày kết thúc bảo hành
- Sau mỗi ngày làm việc thì bộ phận quản lý bán hàng sẽ cập nhật tất cả dữ liệu
có liên quan từ kho, quầy, bộ phận thu ngân để xem có sai xót không nếu không sai xót thì sẽ nhập vào cơ sở dử liệu của công ty và cuối tháng thì sẽ tổng lết lại doanh thu của công ty trong tháng và báo cáo cho cửa hàng trưởng
Trang 35Sinh viên thực hiện: Danh Trường Sơn
20
d) Quy trình bảo hành
- Sau khi khách hàng đã mua hàng về từ cửa hàng, trong quá trình sử dựng thiết
bị đó, nếu có trục trặt hoặc hư hỏng, khách hàng có thể đem thiết bị đó đến tại cửa hàng để tiến hành sửa chửa với điều kiện là hàng đó phải còn thời gian bảo hành, để biết được hàng đó có còn thời gian bảo hành hay không khách hàng sẻ dựa vào thời gian bảo hành đã ghi trên phiếu bảo hành mà khách hàng đã nhận được khi mua hàng
- Khi khách hàng đem hàng đến bảo hành, nhân viên kỹ thuật sẽ tiến hành kiểm tra phiếu bảo hành của khách hàng bằng cách nhập mã phiếu đó vào máy tính, khi đó máy tính sẽ tiến hành kiểm tra, nếu hợp lệ máy tính sẽ xuất lên màn hình thông tin phiếu bảo hành đó mà máy đã lưu trước đó khi khách hàng đến mua hàng Dựa vào thông tin đó nhân viên sẻ tiến hành bảo hành cho khách hàng
- Nhân viên kỹ thuật sẽ in cho khách hàng một phiếu hẹn, để hẹn khách hàng đến nhận lại hàng, thông tin phiếu hẹn gồm có mã phiếu hẹn, mã phiếu bảo hành, ngày lập phiếu, ngày nhận lại hàng
- Khi khách hàng đến nhận lại hàng, nhân viên kỹ thuật sẽ in cho khách hàng một phiếu chi tiết bảo hành, thông tin chi tiết bảo hành gồm có mã chi tiết bảo hành, tên sản phẩm, số lần đến bảo hành, lý do bảo hành, phát sinh ngoại lệ, thu thêm phí nếu có, ngày lập
Trang 36Sinh viên thực hiện: Danh Trường Sơn
21
3.3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
3.3.1 Sơ đồ hoạt vụ
3.3.1.1 Sơ đồ hoạt vụ cho chức năng lập phiếu đặt hàng
Hinh 9 Sơ đồ hoạt vụ cho chức năng đặt hàng
3.3.1.2 Sơ đồ hoạt vụ cho chức năng quản lý quầy hàng
Hình 10 Sơ đồ hoạt vụ cho chức năng quản lý quầy hàng
Trang 37Sinh viên thực hiện: Danh Trường Sơn
22
3.3.1.3 Sơ đồ hoạt vụ cho chức năng bán hàng
Hình 11 Sơ đồ hoạt vụ cho chức năng lập hóa đơn bán hàng
3.3.1.4 Sơ đồ hoạt vụ cho chức năng bảo hành
Hình 12 Sơ đồ hoạt vụ cho chức năng bảo hành
Trang 38Sinh viên thực hiện: Danh Trường Sơn
23
3.3.1.5 Sơ đồ hoạt vụ cho chức năng xuất nhập hàng hóa
Hình 13 Sơ đồ hoạt vụ cho chức năng xuất nhập hàng hóa
3.3.1.6 Sơ đồ hoạt vụ cho chức năng báo cáo thống kê
Hình 14 Sơ đồ hoạt vụ cho chức năng báo cáo thống kê
Trang 39Sinh viên thực hiện: Danh Trường Sơn
24
3.3.2 Sơ đồ lớp
3.3.2.1 Sơ đồ lớp cho quy trình bán hàng, bảo hành sản phẩm
Hình 15 Sơ đồ lớp quy trình bán hàng, bảo hành
Trang 40Sinh viên thực hiện: Danh Trường Sơn
25
3.3.2.2 Sơ đồ lớp cho chức quy trình xuất nhập hàng hóa
Hình 16 Sơ đồ lớp quy trình xuất nhập hàng