Em nhận thấy cần phải có một hệ thống dành riêng cho Cửa hàng trong công tác quản lý để đáp ứng phần nào những nhu cầu trên, quản lý được các thông tin nhập, xuất, gói gọn dữ liệu.. Vài
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2 KHOA: CÔNG NGHỆ THÔNG TIN
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
Chuyên ngành: Công nghệ thông tin
Người hướng dẫn khoa học
TS TRỊNH ĐÌNH THẮNG
Hà NộI - 2012
Trang 2LỜI CẢM ƠN
Trong suốt quá trình thực hiện để có thể hoàn thiện đề tài tốt nghiệp này, ngoài sự cố gắng nỗ lực của bản thân, quá trình tích lũy những kiến thức được học tại trường em không thể không kể tới sự hướng dẫn, chỉ bảo và giúp
đỡ tận tình của quý các thầy cô giáo trong khoa Công nghệ thông tin trường Đại học Sư phạm Hà Nội 2, ban lãnh đạo cùng toàn thể các anh chị nhân viên tại Cửa hàng xe máy Duy Hiến, cùng với sự cổ vũ, động viên của gia đình và bạn bè
Vậy qua đây cho phép em được gửi lời cảm ơn chân thành nhất tới:
- Thầy giáo Trịnh Đình Thắng người đã trực tiếp hướng dẫn em trong suốt quá trình thực hiện đề tài
- Quý các thầy cô trong khoa đã tận tình giảng dạy, trang bị cho em những kiến thức quý báu trong suốt quá trình học tập tại trường
- Ban lãnh đạo cùng toàn thể các anh chị nhân viên tại Cửa hàng bán
xe máy Duy Hiến đã giúp đỡ và tạo điều kiện cho em nghiên cứu xây dựng đề tài này
- Gia đình và bạn bè đã cổ vũ, động viên giúp em hoàn thiện đề tài Mặc dù đã có nhiều cố gắng song do điều kiện thời gian và trình độ kiến thức của bản thân có hạn nên đề tài của em không thể tránh khỏi những nhược điểm và thiếu sót Em kính mong các thầy, cô và các bạn hết sức thông cảm, giúp đỡ, đưa ra những chỉ dẫn quý báu để đề tài của em được hoàn thiện hơn
Em xin chân thành cảm ơn!
Sinh viên thực hiện
Nguyễn Thị Tuyết Mai
Trang 3LỜI CAM ĐOAN
Khóa luận của em được hoàn thành dưới sự hướng dẫn của thầy giáo
Trịnh Đình Thắng cùng với sự cố gắng của bản thân Em xin cam đoan đây
là công trình nghiên cứu của riêng em Các số liệu, căn cứ, kết quả trong đề tài là hoàn toàn trung thực dựa trên khảo sát thực tế
Đề tài chưa từng được công bố trong bất kỳ công trình nghiên cứu khoa học nào khác
Sinh viên thực hiện
Nguyễn Thị Tuyết Mai
Trang 4MỤC LỤC
CHƯƠNG 1: MỞ ĐẦU 1
1.1 Lý do chọn đề tài 1
1.2 Mục đích và nhiệm vụ nghiên cứu 1
1.3 Đối tượng và phạm vi nghiên cứu 2
1.4 Ý nghĩa khoa học và thực tiễn của đề tài 2
1.5 Phương pháp nghiên cứu 2
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 3
2.1 Giới thiệu về ngôn ngữ Visual C Sharp 3
2.2 Tổng quan về cơ sở dữ liệu SQL 5
2.2.1 Giới thiệu chung về SQL 5
2.2.2 Giới thiệu các tập lệnh cơ bản của SQL 7
CHƯƠNG 3: KHẢO SÁT VÀ PHÂN TÍCH HỆ THỐNG 8
3.1 Khảo sát hệ thống 8
3.1.1 Vài nét về cửa hàng bán xe máy Duy Hiến 8
3.1.2 Khảo sát hiện trạng thực tế 8
3.1.3 Yêu cầu hệ thống mới 11
3.2 Phân tích hệ thống 15
3.2.1 Sơ đồ phân cấp chức năng (BPC) 15
3.2.2 Sơ đồ phân rã các chức năng 15
3.2.3 Sơ đồ luồng dữ liệu 20
CHƯƠNG 4: THIẾT KẾ HỆ THỐNG 22
4.1 Thiết kế cơ sở dữ liệu 22
4.1.1 Thiết kế bảng dữ liệu 22
4.1.2 Mô hình thực thể liên kết 25
Trang 54.2 Thiết kế giao diện 30
4.2.1 Form đăng nhập 30
4.2.2 Giao diện chính của chương trình 31
4.2.3 Giao diện các form con của chương trình 32
4.2.4 Thiết kế Report 40
KẾT LUẬN VÀ PHƯƠNG HƯỚNG PHÁT TRIỂN 48
1 Kết luận 48
2 Phương hướng phát triển 49
TÀI LIỆU THAM KHẢO 50
PHỤ LỤC: HƯỚNG DẪN SỬ DỤNG 51
Trang 6CHƯƠNG 1: MỞ ĐẦU
1.1 Lý do chọn đề tài
Việc lưu trữ quản lý dữ liệu bằng sổ sách, giấy tờ làm tốn nhiều thời gian, công sức và tiền của Trong khi đó, công nghệ thông tin đã và đang phát triển mạnh mẽ Các ứng dụng của công nghệ thông tin đã mang lại nhiều hiệu quả cho công tác lưu trữ, chế bản, đặc biệt là công tác quản lý dữ liệu Các đơn vị hành chính, các công ty, cửa hàng rất cần một hệ thống có đủ khả năng giải quyết, đáp ứng các nhu cầu về việc quản lý hồ sơ, giấy tờ hay các dữ liệu khác Qua quá trình học tập và nghiên cứu tại trường Đại Học Sư phạm Hà Nội 2 kết hợp với thời gian tìm hiểu thực tế tại Cửa hàng bán xe máy Duy Hiến Em nhận thấy cần phải có một hệ thống dành riêng cho Cửa hàng trong công tác quản lý để đáp ứng phần nào những nhu cầu trên, quản lý được các
thông tin nhập, xuất, gói gọn dữ liệu Vì vậy em đã chọn đề tài: “Chương
trình quản lý cửa hàng bán xe máy Duy Hiến” để làm đề tài nghiên cứu
khoa học của mình
Chương trình này được xây dựng bằng ngôn ngữ lập trình Visual C Sharp (C#) kết hợp với cơ sở dữ liệu SQL Server 2005
1.2 Mục đích và nhiệm vụ nghiên cứu
- Mục đích nghiên cứu: Nghiên cứu các giải pháp xây dựng phần mềm quản lý cửa hàng bán xe máy cho cửa hàng Duy Hiến sao cho phù hợp và sát thực tế, giúp cho nhà quản lý thực hiện tốt các công việc cần thiết đồng thời tiết kiệm được công sức và tiền của
- Nhiệm vụ nghiên cứu:
+ Làm sáng tỏ cơ sở lý luận của đề tài
+ Tìm hiểu thực trạng kinh doanh của cửa hàng
Trang 7+ Đưa ra các giải pháp, xây dựng phần mềm quản lý cửa hàng bán xe máy Duy Hiến
+ Thực hiện việc ứng dụng tin học và công tác quản lý trong các đơn vị hành chính, các công ty, cửa hàng
1.3 Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu trong đề tài “Quản lý cửa hàng bán xe máy Duy Hiến” là quy trình nghiệp vụ bán hàng tại cửa hàng
- Phạm vi nghiên cứu: Vì lý do thời gian và trình độ của mình nên trong phạm vi của đề tài nghiên cứu này em chỉ tập trung nghiên cứu vào quy trình quản lý bán hàng tại cửa hàng
1.4 Ý nghĩa khoa học và thực tiễn của đề tài
Chương trình được xây dựng sẽ đáp ứng được các yêu cầu trong công tác quản lý tại cửa hàng bán xe máy Duy Hiến
1.5 Phương pháp nghiên cứu
- Phương pháp nghiên cứu lý luận: Nghiên cứu qua việc đọc sách, báo
và các tài liệu liên quan nhằm xây dựng cơ sở lý thuyết của đề tài và các biện pháp cần thiết để giải quyết các vấn đề của đề tài
- Phương pháp chuyên gia: Tham khảo ý kiến của các chuyên gia để có thể thiết kế chương trình phù hợp với yêu cầu thực tiễn, nội dung xử lý nhanh đáp ứng yêu cầu ngày càng cao của người sử dụng
- Phương pháp thực nghiệm: Thông qua quan sát thực tế, yêu cầu của cửa hàng đặt ra để hoàn thành tốt đề tài một cách khách quan
Trang 8
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Giới thiệu về ngôn ngữ Visual C Sharp
Ngôn ngữ C Sharp (C#) khá đơn giản, chỉ khoảng 80 từ khóa và hơn mười mấy kiểu dữ liệu được xây dựng sẵn Tuy nhiên, ngôn ngữ C# có ý nghĩa cao khi nó thực thi những khái niệm lập trình hiện đại C# bao gồm tất cả những hỗ trợ cho cấu trúc, thành phần component, lập trình hướng đối tượng Những tính chất đó hiện diện trong một ngôn ngữ lập trình hiện đại
Và ngôn ngữ C# hội đủ những điều kiện như vậy, hơn nữa nó được xây dựng trên nền tảng của hai ngôn ngữ mạnh nhất là C++ và Java
Ngôn ngữ C# được phát triển bởi đội ngũ kỹ sư của Microsoft, trong
đó người dẫn đầu là Anders Hejlsberg và Scott Wiltamuth Cả hai người này điều là những người nổi tiếng, trong đó Anders Hejlsberg được biết đến là tác giả của Turbo Pascal, một ngôn ngữ lập trình PC phổ biến Và ông đứng đầu nhóm thiết kế Borland Delphi, một trong những thành công đầu tiên của việc xây dựng môi trường phát triển tích hợp (IDE) cho lập trình client/server
Phần cốt lõi hay còn gọi là trái tim của bất cứ ngôn ngữ lập trình hướng đối tượng là sự hỗ trợ của nó cho việc định nghĩa và làm việc với những lớp Những lớp thì định nghĩa những kiểu dữ liệu mới, cho phép người phát triển mở rộng ngôn ngữ để tạo mô hình tốt hơn để giải quyết vấn đề Ngôn ngữ C# chứa những từ khóa cho việc khai báo những kiểu lớp đối tượng mới
và những phương thức hay thuộc tính của lớp, và cho việc thực thi đóng gói,
kế thừa, và đa hình, ba thuộc tính cơ bản của bất cứ ngôn ngữ lập trình hướng đối tượng
Trong ngôn ngữ C# mọi thứ liên quan đến khai báo lớp đều được tìm thấy trong phần khai báo của nó Định nghĩa một lớp trong ngôn ngữ C# không đòi hỏi phải chia ra tập tin header và tập tin nguồn giống như
Trang 9trong ngôn ngữ C++ Hơn thế nữa, ngôn ngữ C# hỗ trợ kiểu XML, cho phép chèn các tag XML để phát sinh tự động các document cho lớp
C# cũng hỗ trợ giao diện interface, nó được xem như một cam kết với
một lớp cho những dịch vụ mà giao diện quy định Trong ngôn ngữ C#, một lớp chỉ có thể kế thừa từ duy nhất một lớp cha, tức là không cho đa kế thừa như trong ngôn ngữ C++, tuy nhiên một lớp có thể thực thi nhiều giao diện Khi một lớp thực thi một giao diện thì nó sẽ hứa là nó sẽ cung cấp chức năng thực thi giao diện
Trong ngôn ngữ C#, những cấu trúc cũng được hỗ trợ, nhưng khái niệm về ngữ nghĩa của nó thay đổi khác với C++ Trong C#, một cấu trúc được giới hạn, là kiểu dữ liệu nhỏ gọn, và khi tạo thể hiện thì nó yêu cầu ít hơn về hệ điều hành và bộ nhớ so với một lớp
Ngôn ngữ C# cung cấp những đặc tính hướng thành phần (component-oriented), như là những thuộc tính, những sự kiện Lập trình hướng thành phần được hỗ trợ bởi CLR cho phép lưu trữ metadata với mã nguồn cho một lớp Metadata mô tả cho một lớp, bao gồm những phương thức và những thuộc tính của nó, cũng như những sự bảo mật cần thiết và những thuộc tính khác Mã nguồn chứa đựng những logic cần thiết để thực hiện những chức năng của nó Do vậy, một lớp được biên dịch như là một khối self-contained, nên môi trường hosting biết được cách đọc metadata của một lớp và mã nguồn cần thiết mà không cần những thông tin khác để sử dụng nó Một lưu ý cuối cùng về ngôn ngữ C# là ngôn ngữ này cũng hỗ trợ việc truy cập bộ nhớ trực tiếp sử dụng kiểu con trỏ của C++ và từ khóa cho dấu ngoặc [] trong toán tử Các mã nguồn này là không an toàn (unsafe)
Và bộ giải phóng bộ nhớ tự động của CLR sẽ không thực hiện việc giải phóng những đối tượng được tham chiếu bằng sử dụng con trỏ cho đến khi chúng được giải phóng
Trang 102.2 Tổng quan về cơ sở dữ liệu SQL
2.2.1 Giới thiệu chung về SQL
a) SQL là gì?
SQL là viết tắt của Structure Query Language, nó là một công cụ quản
lý dữ liệu được sử dụng phổ biến ở nhiều lĩnh vực Hầu hết các ngôn ngữ bậc cao đều có trình hỗ trợ SQL như Visual Basic, Oracle, Visual C#
Trong Oracle tất cả các chương trình và người sử dụng phải sử dụng SQL để truy nhập vào dữ liệu trong cơ sở dữ liệu (CSDL) của Oracle Các chương trình ứng dụng và các công cụ Oracle cho phép người sử dụng truy nhập tới CSDL mà không cần sử dụng trực tiếp SQL Nhưng những ứng dụng
đó khi chạy phải sử dụng SQL
b) Lịch sử phát triển
SQL được phát triển từ ngôn ngữ SEQUEL2 bởi IBM theo mô hình Codd tại trung tâm nghiên cứu của IBM ở California, vào những năm 70 cho
hệ thống quản trị cơ sở dữ liệu lớn
Ðầu tiên SQL được sử dụng trong các ngôn ngữ quản lý CSDL và chạy trên các máy đơn lẻ Song do sự phát triển nhanh chóng của nhu cầu xây dựng những CSDL lớn theo mô hình khách chủ (trong mô hình này toàn bộ CSDL được tập trung trên máy chủ (Server)) Mọi thao tác xử lý dữ liệu được thực hiện trên máy chủ bằng các lệnh SQL máy trạm chỉ dùng để cập nhập hoặc lấy thông tin từ máy chủ) Ngày nay trong các ngôn ngữ lập trình bậc cao đều
có sự trợ giúp của SQL Nhất là trong lĩnh vực phát triển của Internet ngôn ngữ SQL càng đóng vai trò quan trọng hơn Nó được sử dụng để nhanh chóng tạo các trang Web động…
SQL đã được viện tiêu chuẩn quốc gia Mỹ (ANSI) và tổ chức tiêu chuẩn quốc tế (ISO) chấp nhận như một ngôn ngữ chuẩn cho CSDL quan hệ
Trang 11Nhưng cho đến nay chuẩn này chưa đưa ra đủ 100% Nên các SQL nhúng trong các ngôn ngữ lập trình khác nhau đã được bổ xung mở rộng cho SQL chuẩn cho phù hợp với các ứng dụng của mình Do vậy có sự khác nhau rõ ràng giữa các SQL
c) Ðặc điểm của SQL và đối tượng làm việc
Ðặc điểm:
SQL là ngôn ngữ tựa tiếng Anh
SQL là ngôn ngữ phi thủ tục Nó không yêu cầu ta cách thức truy nhập CSDL như thế nào Tất cả các thông báo của SQL đều rất dễ sử dụng và ít khả năng mắc lỗi
SQL cung cấp tập lệnh phong phú cho các công việc hỏi đáp dữ liệu + Chèn, cập nhật, xoá các hàng trong một quan hệ
+ Tạo, sửa đổi, thêm và xoá các đối tượng trong của CSDL
+ Ðiều khiển việc truy nhập tới cơ sở dữ liệu và các đối tượng của CSDL để đảm bảo tính bảo mật của CSDL
+ Đảm bảo tính nhất quán và sự ràng buộc của CSDL
Yêu cầu duy nhất để sử dụng cho các hỏi đáp là phải nắm vững được các cấu trúc CSDL của mình
Ðối tượng làm việc của SQL:
Là các bảng (tổng quát là các quan hệ) dữ liệu hai chiều Các bảng này bao gồm một hoặc nhiều cột và hàng Các cột gọi là các trường, các hàng gọi
là các bản ghi Cột với tên gọi và kiểu dữ liệu (kiểu dữ liệu của mỗi cột là duy nhất) xác định tạo nên cấu trúc của bảng (ta có thể dùng lệnh Desc [ribe] TABLE-name để xem cấu trúc của bảng, phần tuỳ chọn [] có thể được bỏ trong Oracle) Khi bảng đã được tổ chức hệ thống cho một mục đích nào đó
có một CSDL
Trang 12 Các kiểu dữ liệu cơ bản của SQL:
- Integer: Số nguyên: -2147483648 đến 2147483647
- Smallinteger: -32768 đến 32767
- Number (n, p): số thập phân độ dài tối đa là n kể cả p chữ số thập phân (không tính dấu chấm)
- Char (n) : Xâu có độ dài cố định là n, n <= 255
- Varchar (n): Xâu có độ dài biến đổi (0-:-n)
- Long varchar: Xâu có độ dài không cố định, độ dài có thể thay đổi 4Kb-:-32Kb
- Date: Dữ liệu kiểu ngày
2.2.2 Giới thiệu các tập lệnh cơ bản của SQL
Tập lệnh SELECT: Ðây là lệnh thường được dùng nhiều nhất trong
CSDL, nó thường được sử dụng để nhận dữ liệu từ CSDL
Tập lệnh INSERT, UPDATE, DELETE: Các lệnh này thường hay được dùng để vào một hàng mới, sửa đổi hay xoá bỏ các hàng đã tồn tại trong các quan hệ của CSDL
Tập lệnh CREATE, ALTER, DROP: Ba lệnh này dùng để tạo, thay đổi, xoá bỏ bất kỳ cấu trúc dữ liệu nào của các quan hệ như TABLE, VEW, INDEX…
Tập lệnh GRANT, REVOKE: Hai lệnh này được sử dụng để cho phép quyền truy nhập hay không cho phép quyền truy nhập tới CSDL của Oracle
và cấu trúc bên trong nó
Trang 13CHƯƠNG 3: KHẢO SÁT VÀ PHÂN TÍCH HỆ THỐNG
3.1 Khảo sát hệ thống
3.1.1 Vài nét về cửa hàng bán xe máy Duy Hiến
Cửa hàng bán xe máy Duy Hiến là một trong những cửa hàng kinh doanh nằm trong hệ thống các cửa hàng của Doanh nghiệp Duy Hiến được thành lập từ ngày 14 tháng 09 năm 1999 có địa chỉ đặt tại Số nhà 42 - Phố Văn Miếu - Phường Hùng Vương - Phúc Yên - Vĩnh Phúc dưới sự quản lý của Giám đốc Đào Văn Hiến Là một doanh nghiệp chuyên bán mô tô, xe máy, dịch vụ lưu trú ngắn ngày, nhà hàng và các dịch vụ ăn uống phục vụ lưu động vận tải hàng hóa bằng đường bộ, bán buôn ô tô và xe có động cơ khác, mua bán vàng bạc
Là một bộ phận của Doanh nghiệp, cửa hàng bán xe máy Duy Hiến được thành lập và đưa vào hoạt động như một đại lý cấp 1 cho công ty TNHH YAMAHA Motor Việt Nam từ ngày 29 tháng 09 năm 2001 đến nay đã được hơn 10 năm Những ngày đầu thành lập cửa hàng đã gặp phải những khó khăn nhất định trong việc quảng bá và tiêu thụ sản phẩm, song với sự cố gắng không ngừng cửa hàng Duy Hiến đã từng bước tạo dựng được uy tín với khách hàng, cho đến nay cửa hàng đã trở thành một thương hiệu khá quen thuộc và nổi tiếng trong và ngoài khu vực với nhiều chủng loại xe của các hãng xe nổi tiếng như Yamaha, Suzuki, SYM, Honda Doanh số bán hàng không ngừng được tăng lên, năm sau cao hơn năm trước
3.1.2 Khảo sát hiện trạng thực tế
Hệ thống được khảo sát tại cửa hàng bán xe máy Duy Hiến Do cửa hàng hoạt động trên một quy mô lớn, công việc kinh doanh khá phát triển nên việc quản lý thủ công đã không còn phù hợp do không thể đáp ứng hết các
Trang 14yêu cầu của cửa hàng, chính vì vậy với đà phát triển của công nghệ thông tin như hiện nay, việc sử dụng một hệ thống phần mềm để quản lý là một việc tất yếu và cần thiết
a) Quy trình hoạt động của cửa hàng
Cửa hàng Duy Hiến là đại lý bán mô tô, xe máy Khách hàng của cửa hàng là các cửa hàng nhỏ hơn hoặc khách hàng mua bán lẻ Khi khách hàng tới mua hàng tại cửa hàng thì họ sẽ đưa ra yêu cầu về mặt hàng cần mua với nhân viên bán hàng Nhân viên bán hàng kiểm tra hàng hóa trong kho, nếu mặt hàng mà khách hàng yêu cầu không có bán tại cửa hàng hoặc đã hết hàng thì đưa ra một thông báo từ chối bán hàng Trong trường hợp mặt hàng có bán tại cửa hàng thì nhân viên bán hàng lưu thông tin của khách hàng lại, trước khi lập hóa đơn bán hàng, phiếu bảo hành và giao hàng Bộ phận bán hàng cũng có trách nhiệm giải quyết việc thanh toán tiền hàng với khách hàng Có nhiều hình thức thanh toán, có thể thanh toán trực tiếp bằng tiền mặt, chuyển khoản hoặc trả góp Hóa đơn bán hàng bao gồm các thông tin về khách hàng, thông tin hàng bán, tổng tiền hàng và được lập thành 3 liên, liên trắng lưu tại cửa hàng, liên đỏ giao cho khách hàng, liên xanh giao cho phòng thuế Khách hàng sau đó sẽ nhận hàng kèm theo các loại giấy tờ như: Hóa đơn bán hàng, phiếu xuất xưởng, giấy bảo hành
Khi nhà cung cấp giới thiệu sản phẩm thì bộ phận nhập hàng có trách nhiệm kiểm tra chất lượng của mặt hàng này, để đồng ý nhập hoặc từ chối nhập Nếu mặt hàng là mặt hàng mới thì nhân viên nhập hàng có nhiệm vụ thêm hàng đó vào danh sách hàng, sau đó lập phiếu nhập hàng Bộ phận này cũng chịu trách nhiệm thanh toán tiền cho nhà cung cấp Trong trường hợp cửa hàng muốn nhập thêm hàng thì có thể làm đơn đặt hàng gửi cho nhà cung cấp sau đó chuyển tiền cho công ty, công ty sau khi nhận được đơn đặt hàng sẽ giao
Trang 15hàng cho cửa hàng, bộ phận nhập hàng kiểm tra chất lượng xe và nhận hàng kèm theo phiếu xuất xưởng và thẻ bảo hành
b) Đánh giá ưu, nhược điểm của hệ thống cũ
- Ưu điểm: Hệ thống cũ dựa trên cách làm truyền thống, thủ công nên cách làm dễ dàng, chi phí thấp, thích hợp cho những hệ thống nhỏ
- Nhược điểm: Khi quy mô của cửa hàng tăng lên, hệ thống cũ không thể đáp ứng hết được các yêu cầu, gây ra một số khó khăn
+ Tra cứu thông tin về hàng hóa, khách hàng, nhà cung cấp mất nhiều thời gian và có thể không chính xác
+ Quản lý thủ công, công việc lưu trữ hay cập nhật thông tin vẫn yêu cầu nhân viên phải ghi chép và tự tổng hợp
+ Thông tin lưu trữ đều bằng sổ sách, giấy tờ dẫn tới cồng kềnh, khó khăn trong việc tìm kiếm thông tin
+ Mất nhiều công sức cho nhân viên trong bộ phận quản lý khi phải tổng hợp thông tin, và kiểm tra tài chính
+ Ban giám đốc muốn có thông tin thì phải chờ đợi các báo cáo nên việc nắm bắt tình hình kinh doanh của cửa hàng gặp nhiều khó khăn, nhất là khi có việc đột xuất cần thiết
Như vậy, để khắc phục nhược điểm của hệ thống cũ, hệ thống mới ra đời nhằm giảm bớt công việc của nhân viên, cũng như giúp nhà quản lý dễ dàng quản lý cửa hàng hơn
c) Một số giải pháp
Việc quản lý thủ công tồn tại rất nhiều bất cập trong phương thức quản
lý dữ liệu nên cần xây dựng một hệ thống phần mềm để quản lý tốt hơn Bởi vậy, em đã sử dụng ngôn ngữ lập trình Visual C Sharp để xây dựng chương trình quản lý cửa hàng, hệ thống sẽ có khả năng thực hiện những công việc như:
Trang 16- Hệ thống thông tin đáp ứng được tất cả các nhu cầu về quản lý hàng bán, khách hàng, nhà cung cấp, nhân viên, tài chính, các yêu cầu về thống kê, báo cáo
- Thông tin được kết nối với nhau không rời rạc, tiện lợi cho việc tổng hợp thông tin
- Hệ thống linh hoạt, đáp ứng được nhu cầu cập nhật và truy xuất thông tin theo từng khoảng thời gian về tình hình kinh doanh của cửa hàng
- Tự động hoá trong việc tìm kiếm, cập nhật, thống kê, tính toán, lập báo cáo
- Hệ thống thân thiện với người sử dụng, giới hạn quyền sử dụng đối với từng nhóm người, đảm bảo tính bảo mật về thông tin
3.1.3 Yêu cầu hệ thống mới
a) Yêu cầu về chức năng
Hệ thống quản lý cửa hàng được chia thành các chức năng:
Quản lý thông tin khách hàng:
+ Bao gồm các chức năng: Thêm mới thông tin khách hàng khi có khách hàng mới, sửa chữa thông tin khách hàng khi thay đổi, xoá bỏ thông tin
về khách hàng, tìm kiếm thông tin khách hàng
+ Các thông tin về khách hàng bao gồm: Mã khách hàng, tên khách hàng, địa chỉ, điện thoại liên hệ, email Tất cả các thông tin về khách hàng đều được lưu trữ lại
+ Đầu vào là thông tin của khách hàng, bao gồm tên khách, địa chỉ, điện thoại, email
+ Đầu ra là 1 bản danh sách ghi đầy đủ thông tin của khách hàng
Quản lý thông tin hàng:
+ Bao gồm các chức năng: Thêm mới hàng khi hàng được đưa về, sửa các thông tin về hàng khi cần thiết, xoá thông tin về hàng khi không còn kinh
Trang 17doanh nữa và tìm kiếm thông tin về hàng hóa tại cửa hàng
+ Các thông tin về hàng bao gồm: M ã hàng, tên hàng, mô tả hàng, thông tin bảo hành, nhà sản xuất, số lượng hiện có, đơn vị tính
+ Đầu vào là thông tin về hàng bao gồm: Tên hàng, mô tả, thông tin bảo hành, nhà sản xuất, số lượng, đơn vị tính
+ Đầu ra là 1 bản danh sách ghi đầy đủ thông tin về hàng hóa của cửa hàng
Quản lý thông tin nhà cung cấp:
+ Bao gồm các chức năng: Thêm mới nhà cung cấp khi công ty nhập hàng của nhà cung cấp mới, sửa các thông tin về nhà cung cấp khi cần thiết, xóa thông tin về nhà cung cấp khi không nhập hàng của nhà cung cấp đó nữa
và tìm kiếm thông tin nhà cung cấp
+ Các thông tin về nhà cung cấp gồm: Mã nhà cung cấp, tên nhà cung cấp, địa chỉ, điện thoại, email
+ Đầu vào là thông tin của nhà cung cấp bao gồm: Tên nhà cung cấp, địa chỉ, điện thoại, email
+ Đầu ra là 1 bản danh sách ghi đầy đủ thông tin của các nhà cung cấp
Quản lý nhân viên:
+ Bao gồm các chức năng: Thêm mới nhân viên khi có nhân viên mới được tuyển, sửa các thông tin về nhân viên khi cần thiết, xóa thông tin khi hết hợp đồng hoặc sa thải nhân viên, tìm kiếm thông tin nhân viên
+ Các thông tin về nhân viên gồm: Mã nhân viên, tên nhân viên, năm sinh, giới tính, địa chỉ, điện thoại, chức vụ, lương cơ bản
+ Đầu vào là thông tin của nhân viên bao gồm: Tên nhân viên, địa chỉ, điện thoại, năm sinh, giới tính, chức vụ, lương cơ bản
+ Đầu ra là 1 bản danh sách ghi đầy đủ thông tin của nhân viên
Trang 18 Quản lí xuất hàng:
+ Khi khách hàng mua hàng tại cửa hàng thì nhân viên bán hàng thực hiện giao dịch, lập hóa đơn xuất hàng và giao hàng cùng các giấy tờ liên quan cho khách hàng
+ Các thông tin trên phiếu xuất hàng gồm: Mã phiếu xuất, ngày xuất, tên nhân viên bán hàng, tên khách hàng, tên hàng, số lƣợng xuất, đơn giá xuất, thuế Một nhân viên có thể lập nhiều phiếu xuất Một phiếu xuất thì chỉ do một và chỉ một nhân viên lập
Quản lí nhập hàng:
+ Khi nhập hàng hóa về cửa hàng thì bộ phận nhập hàng thực hiện kiểm tra chất lƣợng hàng, giao dịch, lập phiếu nhập và nhận hàng cùng các giấy tờ liên quan
+ Các thông tin trên phiếu nhập hàng gồm: Mã phiếu nhập, ngày nhập, tên nhân viên, tên nhà cung cấp, tên hàng, số lƣợng nhập, đơn giá nhập, thuế Một nhân viên có thể lập nhiều phiếu nhập Một phiếu nhập thì chỉ do một và chỉ một nhân viên lập
Báo cáo thống kê:
+ Để tiện theo dõi việc kinh doanh của cửa hàng, hàng tháng bộ phận kế toán sẽ lập các báo cáo gửi cho ban giám đốc về doanh thu trong tháng, mặt hàng đã bán ra, hàng tồn kho, mặt hàng bán chạy, để ban giám đốc có các biện pháp điều chỉnh việc kinh doanh cho hợp lí
+ Đầu vào là các hóa đơn nhập, xuất, danh sách hàng hóa
+ Đầu ra là các bản báo cáo hàng nhập, hàng xuất, doanh thu, hàng tồn, hàng bán chạy
b) Yêu cầu về dữ liệu
Dữ liệu phải đƣợc cập nhật một cách nhanh chóng, chính xác, kịp thời, vừa đủ, không gây dƣ thừa cũng nhƣ không thể thiếu cho việc quản lý
Trang 19c) Yêu cầu về người sử dụng
Vì đây là một chương tình quản lý giúp cho các nhà quản lý nắm bắt thông tin được nhanh nhất, rõ ràng nên người sử dụng chỉ cần biết những kiến thức cơ bản về máy tính, không đòi hỏi phải có trình độ cao
d) Yêu cầu về quản lý thông tin
- Cơ sở dữ liệu phải đảm bảo đầy đủ và thống nhất trên toàn hệ thống
- Các thông tin phải có tính bảo mật cao
- Phân quyền sử dụng nhằm đảm bảo tài nguyên không bị sử dụng bởi các cá nhân không có quyền hoặc theo các cách không hợp lý bằng cách gán cho người dùng một số quyền truy cập nhất định và cho phép người dùng chính (admin) được uỷ quyền hoặc giao quyền truy cập cho người khác
e) Yêu cầu về hệ thống thiết kế
- Phần mềm xây dựng phải dễ sử dụng , dễ cài đặt và hỗ trợ tối đa người dùng trong việc thao tác trên phần mềm khi sử dụng
- Phần mềm phải dễ thích ứng với các thay đổi phần cứng của máy tính
- Phần mềm phải đạt được mức độ bảo mật tối thiểu là ngăn ngừa những người không được cấp quyền sử dụng được phần mềm
f) Giao diện
Giao diện thân thiện với người sử dụng, đơn giản, dễ nhìn
Trang 203.2 Phân tích hệ thống
3.2.1 Sơ đồ phân cấp chức năng (BPC)
Sơ đồ phân cấp chức năng của toàn hệ thống
Hình 3.1: Sơ đồ phân cấp chức năng
Chương trình quản lý cửa hàng bán xe máy Duy Hiến bao gồm các chức năng chính: Quản lý hàng hóa, quản lý khách hàng, quản lý nhà cung cấp, quản lý nhân viên, quản lý nhập hàng, quản lý xuất hàng, báo cáo thống
kê
3.2.2 Sơ đồ phân rã các chức năng
a) Sơ đồ phân rã chức năng quản lý hàng hóa
Hình 3.2: Sơ đồ phân rã chức năng quản lý hàng hóa
Quản lý nhà cung cấp
Quản lý nhân viên
Quản lý nhập hàng
Quản lý xuất hàng
Báo cáo – thống kê
Trang 21Chức năng quản lý hàng hóa giúp cho người dùng quản lý các thông tin
về hàng hóa của cửa hàng
Chức năng quản lý hàng hóa có thể thêm hàng mới, chỉnh sửa các thông tin về hàng hay xóa thông tin của một hàng hóa bất kỳ, khi cần thiết người dùng có thể tìm kiếm thông tin hàng một cách nhanh chóng và chính xác
b) Sơ đồ phân rã chức năng quản lý khách hàng
Hình 3.3: Sơ đồ phân rã chức năng quản lý khách hàng
Chức năng quản lý khách hàng giúp cho người dùng quản lý các thông tin về khách hàng của cửa hàng
Chức năng quản lý khách hàng có thể thêm thông tin khách hàng, chỉnh sửa các thông tin về khách hàng hay xóa thông tin của một khách hàng bất kỳ, khi cần thiết người dùng có thể tìm kiếm thông tin khách hàng một cách nhanh chóng và chính xác
Trang 22c) Sơ đồ phân rã chức năng quản lý nhà cung cấp
Hình 3.4: Sơ đồ phân rã chức năng quản lý nhà cung cấp
Chức năng quản lý nhà cung cấp giúp cho người dùng quản lý các thông tin về các nhà cung cấp hàng cho cửa hàng
d) Sơ đồ phân cấp chức năng quản lý nhân viên
Hình 3.5: Sơ đồ phân rã chức năng quản lý nhân viên
Chức năng quản lý nhân viên giúp cho người dùng quản lý các thông tin về các nhân viên làm việc tại cửa hàng
Quản lý nhân viên
Trang 23e) Sơ đồ phân rã chức năng quản lý nhập hàng
Hình 3.6: Sơ đồ phân rã chức năng quản lý nhập hàng
Chức năng quản lý nhập hàng giúp cho người dùng quản lý các thông tin về hàng nhập tại cửa hàng
Khi nhập hàng nhân viên tiến hành kiểm tra chất lượng hàng nhập, nếu
đủ tiêu chuẩn thì đồng ý nhập hàng và lập phiếu nhập, ngược lại từ chối nhập hàng
f) Sơ đồ phân rã chức năng quản lý xuất hàng
Hình 3.7: Sơ đồ phân rã chức năng quản lý xuất hàng
Chức năng quản lý xuất hàng giúp cho người dùng quản lý các thông tin về hàng xuất tại cửa hàng
Trang 24Khi bán hàng nhân viên tiến hành kiểm tra hàng có trong cửa hàng, nếu đáp ứng đƣợc nhu cầu của khách hàng thì tiến hành giao dịch đồng thời lập phiếu xuất (hóa đơn bán hàng), ngƣợc lại từ chối bán hàng
g) Sơ đồ phân rã chức năng báo cáo - thống kê
Hình 3.8: Sơ đồ phân rã chức năng báo cáo - thống kê
Để tiện cho việc theo dõi tình hình kinh doanh của cửa hàng, hàng tháng bộ phận kế toán sẽ lập các báo cáo gửi cho ban giám đốc về doanh thu trong tháng, mặt hàng đã bán ra, hàng nhập, hàng tồn kho để ban giám đốc có
các biện pháp điều chỉnh việc kinh doanh cho hợp lí
Báo cáo - thống kê
Thống kê
hàng bán
Thống kê hàng nhập
Thống kê hàng tồn
Báo cáo doanh thu
Trang 253.2.3 Sơ đồ luồng dữ liệu
a) Sơ đồ luồng dữ liệu mức khung cảnh
- Chức năng: Quản lý cửa hàng
- Các đối tác: Khách hàng, nhà cung cấp, nhà quản lý, nhân viên
- Sơ đồ:
Hình 3.9: Sơ đồ luồng dữ liệu mức khung cảnh
Mô tả chi tiết:
- Nhà cung cấp nhận thông tin yêu cầu từ phía hệ thống là đơn đặt hàng
và số tiền thanh toán sau đó nhà cung cấp đƣa ra thông tin phản hồi là thông tin về sản phẩm, giao hàng kèm phiếu giao hàng
- Khách hàng đƣa ra thông tin yêu cầu về hàng cần mua sau đó nhận thông tin phản hồi là thông báo đồng ý hoặc từ chối xuất, nếu cửa hàng đồng
ý xuất sẽ làm thủ tục giao hàng kèm phiếu giao hàng và nhận tiền thanh toán
- Nhà quản lý yêu cầu báo cáo từ hệ thống nhƣ doanh thu, danh sách hàng bán, danh sách hàng tồn…và nhận đƣợc các báo cáo theo yêu cầu
Quản lý cửa hàng
Trang 26- Nhân viên nhận thông tin yêu cầu từ phía hệ thống là hồ sơ nhân viên sau đó gửi lại hệ thống thông tin về nhân viên
b) Sơ đồ luồng dữ liệu mức đỉnh
- Các chức năng: Quản lý nhập hàng, quản lý xuất hàng, quản lý nhà cung cấp, quản lý hàng, quản lý khách hàng, quản lý nhân viên, thống kê - báo cáo
- Các đối tác: Khách hàng, nhà cung cấp, nhà quản lý, nhân viên
- Sơ đồ:
Hình 3.10: Sơ đồ luồng dữ liệu mức đỉnh
Quản lý nhập
Quản lý khách
Quản lý xuất
Trang 276 THONGTINBAOHANH Nvarchar (100) Thông tin bảo hành
7 DONVITINH Nvarchar (50) Đơn vị tính
2 TENKHACHHANG Nvarchar (50) Tên khách hàng
3 DIACHI Nvarchar (50) Địa chỉ khách hàng
4 DIENTHOAI Nvarchar (50) Điện thoại khách hàng
Bảng 4.2: Bảng khách hàng
Trang 28 Bảng nhà cung cấp
Bảng nhà cung cấp lưu trữ các thông tin về các nhà cung cấp hàng cho cửa hàng
STT Tên thuộc tính Kiểu (Độ rộng) Mô tả
1 MANHACUNGCAP (PK) Nvarchar (50) Mã nhà cung cấp
2 TENNHACUNGCAP Nvarchar (50) Tên nhà cung cấp
3 DIACHI Nvarchar (50) Địa chỉ nhà cung cấp
4 DIENTHOAI Nvarchar (50) Điện thoại
Bảng 4.3: Bảng nhà cung cấp
Bảng nhân viên
Bảng nhân viên lưu trữ các thông tin về nhân viên làm việc tại cửa hàng
STT Tên thuộc tính Kiểu (Độ rộng) Mô tả
1 MANHANVIEN (PK) Nvarchar (50) Mã nhân viên
2 TENNHANVIEN Nvarchar (50) Tên nhân viên
5 DIENTHOAI Nvarchar (50) Điện thoại nhân viên
8 LUONGCOBAN Nvarchar (50) Lương cơ bản
Bảng 4.4: Bảng nhân viên