Tuy nhiên, do nước ta là một nước đang phát triển, nhiều người bán hàngvẫn còn cảm thấy lạ lẫm trong việc ứng dụng công nghệ thông tin vào trongcông việc của họ nên việc quản lý kinh doa
Trang 1MỤC LỤC
Trang 2DANH MỤC CÁC BẢNG
DANH MỤC CÁC HÌNH
Trang 3PHẦN MỞ ĐẦU
1 Tính cấp thiết của đề tài
Ngày nay, khoa học kỹ thuật phát triển nhanh chóng, lao động trí óc đangdần dần thay thế cho lao động chân tay bằng những ứng dụng thực tiễn của nótrong đời sống Và góp phần đắc lực trong cuộc cách mạng này phải kể đến lĩnhvực công nghệ thông tin Ở nước ta, công nghệ thông tin đang ngày càng khẳngđịnh vị trí, vai trò to lớn của mình trên tất cả các lĩnh vực kinh tế, xã hội Rấtnhiều cơ quan, công sở, xí nghiệp, cửa hàng kinh doanh,… đã đưa các ứng dụngcủa tin học vào trong hoạt động của mình Một trong những ứng dụng đã được
Trang 4quản lý Đây là một phần công việc quan trọng không thể thiếu trong bất kỳ mộtcông ty, cơ quan cho đến một cửa hàng kinh doanh nào
Tuy nhiên, do nước ta là một nước đang phát triển, nhiều người bán hàngvẫn còn cảm thấy lạ lẫm trong việc ứng dụng công nghệ thông tin vào trongcông việc của họ nên việc quản lý kinh doanh của rất nhiều cửa hàng nói chung
và các cửa hàng băng đĩa phim nói riêng vẫn còn rất thủ công, việc ghi chéptruyền thống thông qua sổ sách gặp rất nhiều trở ngại, gây không ít khó khăncho người quản lý muốn xem xét tình trạng các mặt hàng còn hay hết, vì vậyviệc đưa tin học vào quản lý là rất cần thiết và đáng quan tâm Khi áp dụng côngnghệ thông tin vào quản lý, mọi thông tin được thể hiện và lưu trữ dưới dạng dữliệu và chương trình trên một hệ thống quản lý cơ sở dữ liệu, làm tăng khả năngquản lý, tra cứu và giảm đáng kể công việc, tiết kiệm thời gian, chi phí, giảmgánh nặng cho người quản lý, tăng tính thuận tiện cho người sử dụng
Vì vậy trong quá trình nghiên cứu đề tài này, nhóm chúng em đã tiến hànhxây dựng một phần mềm quản lý cho một cửa hàng bán và cho thuê băng đĩaphim Phần mềm là một chương trình cho phép người sử dụng thực hiện mộtcách nhanh chóng, chính xác việc nhập dữ liệu, lưu trữ, cập nhật thông tin cácloại băng đĩa, thực hiện yêu cầu tìm kiếm thông tin, thống kê bán hàng hàng, in
ấn hóa đơn,… với giao diện làm việc bắt mắt, thân thiện, dễ sử dụng… Mongrằng với phần mềm này, nhóm chúng em có thể đóng góp được một phần nào đóvào sự nghiệp phát triển kinh doanh của các cửa hàng băng đĩa
Để thực hiện được đề tài này, nhóm chúng em đã sử dụng những phươngpháp nghiên cứu như: phương pháp thống kê sản phẩm của các cửa hàng băngđĩa, phương pháp quan sát thực tế tại một số cửa hàng băng đĩa, tiến hành phântích và thiết kế thông tin quản lý cửa hàng băng đĩa
Sản phẩm của nhóm là một phần mềm quản lý được xây dựng theo mô hìnhSQL 3 lớp (Lớp 1: DataAccess Layer – kết nối CSDL và thực thi lệnh SQL; Lớp2: BussinessLogic Layer – xử lý lệnh SQL và gọi lớp 1 thực thi; Lớp 3: GUI-giao diện người dùng thao tác gọi hàm lớp 2 xử lý), lập trình bằng ngôn ngữ C#trên phần mềm Microsoft Visual Studio C#2010 và SQL Server 2008
2 Yêu cầu của đề tài
Từ việc quan sát trực tiếp các cửa hàng băng đĩa ngoài thực tế để nắmđược những vấn đề còn bất cập, chưa hợp lý và chưa phù hợp với hệ thống quản
lý cũ, nhóm chúng em đã xây dựng nên những biện pháp xử lý mới phù hợp hơnvới thực tế mà những người chủ cửa hàng băng đĩa đang cần, như:
Trang 5- Chương trình có khả năng lưu trữ, cập nhật các thông tin về các loại đĩa,các đĩa mới hiện có trong cửa hàng và thông tin của khách hàng thuê đĩa.
- Cho phép tìm kiếm các thông tin liên quan đến đĩa và các hoạt động bán,cho thuê đĩa
- Thống kê được số đĩa bán, số đĩa cho thuê, số đĩa hiện có trong cửa hàng
và số khách hàng thuê đĩa trong một khoảng thời gian bất kỳ
- Có khả năng tạo, in ra hóa đơn mỗi khi khách hàng mua hay thuê băngđĩa
- Các thao tác phải thực hiện công việc phải dễ dàng, thuận tiện
3 Mục tiêu nghiên cứu
Chương trình quản lý cửa hàng cho thuê băng đĩa kế thừa mô hình hoạtđộng của các cửa hàng băng đĩa hiện có trên thực tế Đồng thời ứng dụng côngnghệ mới với mục đích làm cho chương trình có thể đáp ứng được nhu cầu quản
lý của cửa hàng ngày càng phức tạp với khối lượng đĩa ngày càng lớn, dễ dàngtrong triển khai cũng như trong ứng dụng Giúp cho người dùng có thể thực hiệncác thao tác quản lý, giao dịch một cách dễ dàng, thuận tiện đáp ứng được cácyêu cầu cơ bản sau:
- Có khả năng quản lý thông tin, danh sách đĩa, loại đĩa
- Quản lý thông tin của khách hàng thuê đĩa
- Quản lý việc cho thuê, trả, cập nhật danh sách đĩa, quản lý hóa đơn chothuê, hóa đơn bán
- Cung cấp các bảng thống kê, báo cáo liên quan đến doanh thu của cửahàng theo ngày/tháng/năm, bảng thống kê kho hàng,…
4 Phạm vi của đề tài
Do thời gian nghiên cứu ngắn và kiến thức về lập trình còn non kém, chưasâu sắc nên nhóm nghiên cứu chúng em chỉ nghiên cứu chương trình cho nhữngcửa hàng kinh doanh băng đĩa có quy mô vừa và nhỏ
5 Đối tượng và tài liệu tham khảo
Để thực hiện được những kết quả trên, nhóm chúng em đã nghiên cứu,tham khảo những tài liệu sau:
- Giáo trình, bộ bài tập Demo và chương trình Demo 3 Layer do thầy giáoPhạm Anh Tuấn cung cấp
Trang 6- Video hướng dẫn các thao tác tạo CSDL và lập trình trên WindowsForm của thầy giáo Nguyễn Văn Căn.
- Lập trình Winform – tác giả Trần Minh Thái
- Giáo trình SQL – Đại học Huế
- Các video hướng dẫn trên mạng Internet
- Và nhiều nguồn tài liệu tham khảo khác,…
6 Nội dung tóm tắt của báo cáo
CHƯƠNG I: PHÂN TÍCH THIẾT KẾ
Thực hiện công việc phân tích thiết kế hệ thống quản lý trước khi bắt đầuthực hiện chương trình, phân tích các yêu cầu, phân cấp chức năng thiết kế các
sơ đồ, xác định các luồng dữ liệu và mô hình ERD
CHƯƠNG II: CÀI ĐẶT HỆ THỐNG
Giới thiệu sơ bộ về các công cụ để cài đặt hệ thống, xác minh hệ quản trị
cơ sở dữ liệu, công cụ lập trình và mô hình lập trình
CHƯƠNG III: THIẾT KẾ HỆ THỐNG, GIAO DIỆN VÀ CHỨC NĂNGThiết kế các bảng chức năng trong sql, các giao diện chính trong form cácchức năng chính của form đạt được
CHƯƠNG IV: LỚP DATA ACCESS VÀ BUSINESS LOGIC
Giới thiệu về 2 lớp data access và business logic, các chức năng chính của
2 lớp này
CHƯƠNG V: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Kết luận sơ bộ về chương trình, đánh giá chung về các chức năng màchương trình đạt được, hướng phát triển của chương trình trong tương lai
Trang 7Chương 1 PHÂN TÍCH THIẾT KẾ 1.1 Mô tả bài toán và phân quyền trong chương trình
Qua khảo sát hiện trạng trực tiếp ở các cửa hàng băng đĩa, chúng em nhậnthấy còn tồn tại những vấn đề bất cập, chưa hợp lí và chưa phù hợp trong hệthống quản lý cũ, từ đó chúng em đã tiến hành xây dựng những biện pháp xử lýmới phù hợp hơn với thực tế mà những người chủ cửa hàng băng đĩa đang cần
Áp dụng mô hình hoạt động thực tế của các cửa hàng kinh doanh băng đĩa,khi có một khách đến cửa hàng để mua (thuê) đĩa thì người chủ cửa hàng sẽ tạomột hóa đơn mới Chi tiết các hóa đơn cho thuê gồm có: mã đĩa, tên đĩa, giá đĩa,
số lượng đĩa thuê, ngày thuê, ngày trả, đặt cọc và số tiền cần thanh toán Trên
Trang 8hóa đơn bán gồm có: mã đĩa, tên đĩa, ngày bán, số lượng, thành tiền Khi nhậpthêm đĩa mới thì chủ cửa hàng tạo mới một phiếu nhập, trong đó có: mã phiếunhập, tên đĩa nhập, số lượng đĩa nhập, giá đĩa nhập và các mô tả về đĩa và lưu lạithành một danh sách đĩa.
Do phạm vi đề tài được giới hạn trong việc quản lý các cửa hàng băng đĩavừa và nhỏ nên chỉ có hai mức quyền Một là quyền quản lý toàn bộ cửa hàng làngười chủ cửa hàng Vì vậy chủ cửa hàng có thể sử dụng được toàn bộ chứcnăng của hệ thống: nhập đĩa, thống kê, in hóa đơn, cho thuê, nhận trả, bán đĩa,…Mức quyền thứ hai là của nhân viên trong cửa hàng Mỗi nhân viên sẽ đượcngười chủ cửa hàng cấp phát 1 tài khoản để đăng nhập vào hệ thống, nhân viên
sẽ không có quyền chỉnh sửa hay thêm đĩa, loại đĩa vào danh sách đĩa, danh sáchloại đĩa, xem thống kê, báo cáo Nhân viên chỉ có quyền trong các chức năngcho thuê và bán của cửa hàng
- MA_CD ( thuộc tínhkhóa)
- MA_KH ( thuộc tínhkhóa)
Trang 9QUẢN LÝ CỬA HÀNG BĂNG ĐĨA
Quản lý người dùng
Đăng ký tài khoản
Đổi mật khẩu
Thoát
Quản lý đầu vào
Thông tin đĩa
Thông tin khách hàng
Thông tin loại đĩa
Thống kê báo cáo
TK hóa đơn thuê
6 Bán Quản lý việc bán đĩa của cửa hàng,
thêm, sửa, xóa các dữ liệu, in hóađơn cho khách hàng xác nhận
- MA_BAN (thuộc tínhkhóa)
Trang 111.6 Phát triển biểu luồng dữ liệu mức 1
1.6.1 Biểu đồ mức 1: Quản lý đầu vào của hệ thống
Hình 1.4 Quản lý danh sách đĩa và danh sách khách hàng 1.6.2 Biểu đồ mức 1: Quản lý chức năng cho thuê đĩa và bán đĩa
Hình 1.5 Chức năng cho thuê và bán đĩa của cửa hàng
Trang 121.6.3 Biểu đố mức 1: Thống kê hoạt động cho thuê đĩa và bán đĩa
Hình 1.6 Chức năng thống kê, in ấn 1.7 Mô hình ERD
Hình 1.7 Mô hình thực thể liên kết ERD
Mô hình thực thể liên kết gồm có:
- Các thực thể Danh sách đĩa CD, danh sách khách hàng, hóa đơn thuê, hóađơn bán, loại CD
Trang 13- Các thuộc tính:
+ Danh sách đĩa CD (MA_CD, MA_LOAI, TEN_CD, SOLUONG, GIA,
MOTA)
+ Danh sách khách hàng ( MA_KH, TEN_KH, DIACHI, SDT)
+ Hóa đơn thuê (MA_MUON, MA_KH, MA_CD, SL_ MUON,
TRANGTHAI, NGAYMUON, NGAYTRA, TIENMUON, DATCOC)
+ Hóa đơn bán (MA_BAN, MA_CD, SL_BAN, NGAYBAN, TIENBAN) + Loại CD (MA_LOAI, TENLOAI)
Chương 2 CÀI ĐẶT HỆ THỐNG 2.1 Giới thiệu và chọn lựa các công cụ cài đặt hệ thống
2.1.1 Hệ quản trị cơ sở dữ liệu
Chương trình quản lý sử dụng hệ quản trị cơ sở dữ liệu Microsoft SQLServer 2008 bởi tính đa dụng và phổ biến của nó
Trang 14Khả năng quản lý dữ liệu mạnh Đặc biệt nó còn là một học phần củangành công nghệ thông tin Lựa chọn Microsoft SQL Server 2008 trong chươngtrình giúp tăng lượng kiến thức cần có trong các học phần sau này.
2.1.2 Công cụ lập trình
C# là một ngôn ngữ lập trình ứng dụng, ngôn ngữ biên dịch, ngôn ngữ đanăng được phát triển bởi hãng Microsoft, là một phần khởi đầu cho kế hoạch.NET Microsoft phát triển C# dựa trên C, C++ và Java C# được miêu tả làngôn ngữ có được sự cân bằng giữa C++, Visual Basic, Delphi và Java,…
Ngôn ngữ lập trình C# được đánh giá là dễ học và kết hợp được nhiều ưuđiểm của các ngôn ngữ lập trình hướng đối tượng Java và C++ Do đó ngôn ngữC# đựơc sử dụng rộng rãi nhất C# có thể được viết với bất kỳ trình soạn thảovăn bản nào như Notepad của Windows, và sau đó biên dịch với trình biên dịchdòng lệnh của C#, csc.exe luôn đi kèm với Net framework Do đó mà ngày nay,C# được rất nhiều các coder trên thế giới ưu chuộng và tìm hiều
Ngoài ra ngôn ngữ lập trình C# là ngôn ngữ được sử dụng trong học phầnLập trình hướng đối tượng Vì vậy nhóm chúng em đã lựa chọn ngôn ngữ lậptrình C# để tiến hành lập trình, tạo nên chương trình quản lý cửa hàng băng đĩaphim
2.2 Giới thiệu và chọn lựa mô hình lập trình hệ thống
2.2.1 Mô hình
Chương trình quản lý cửa hàng băng đĩa phim được áp dụng theo mô hình
3 lớp, nhằm dễ dàng quản lý các thành phần của hệ thống, cũng như không bịảnh hưởng bởi các thay đổi, dễ dàng nhóm các thành phần có cùng chức năng lạivới nhau và phân chia trách nhiệm cho từng thành viên trong nhóm để công việckhông bị chồng chéo và ảnh hưởng lẫn nhau
Mô hình 3 lớp được cấu thành từ các thành phần chính là: PresentationLayers, Business Layers và Data Layer Các lớp này sẽ giao tiếp với nhau thôngqua các dịch vụ mà mỗi lớp cung cấp để tạo nên ứng dụng, lớp này cũng khôngcần biết bên trong lớp kia làm gì mà chỉ cần biết lớp kia cung cấp dịch vụ gì chomình và sử dụng nó
2.2.2 Presentation Layers
Lớp này làm nhiệm vụ giao tiếp với người dùng cuối để thu thập dữ liệu vàhiển thị kết quả/dữ liệu thông qua các thành phần trong giao diện người sử dụng.Lớp này sẽ sử dụng các dịch vụ do lớp Business Logic cung cấp Trong NET
Trang 15chúng ta thường dùng Windows Forms, ASP.NET hay Mobile Forms để hiệnthực lớp này.
Trong lớp này có 2 thành phần chính là User Interface Components và UserInterface Process Components:
- UI Components là những phần tử chịu trách nhiệm thu thập và hiển thịthông tin cho người dùng cuối Trong ASP.NET thì những thành phần này cóthể là các TextBox, các Button, DataGridView…
- UI Process Components: là thành phần chịu trách nhiệm quản lý các quytrình chuyển đổi giữa các UI Components Ví dụ chịu trách nhiệm quản lý cácmàn hình nhập dữ liệu trong một loạt các thao tác định trước như các bước trongmột Wizard…
Chúng ta không nên sử dụng trực tiếp các dịch vụ của lớp Data Access mànên sử dụng thông qua các dịch vụ của lớp Business Logic vì khi sử dụng trựctiếp như vậy, có thể ta đã bỏ qua các ràng buộc, các logic nghiệp vụ mà ứngdụng cần phải có
2.2.3 Business Logic Layer
Lớp này thực hiện các nghiệp vụ chính của hệ thống, sử dụng các dịch vụ
do lớp Data Access cung cấp, và cung cấp các dịch vụ cho lớp Presentation Lớpnày cũng có thể sử dụng các dịch vụ của các nhà cung cấp thứ 3 (3rd parties) đểthực hiện công việc của mình
Trong lớp này có các thành phần chính là Business Components, BusinessEntities và Service Interface:
- Service Interface là giao diện lập trình mà lớp này cung cấp cho lớpPresentation sử dụng Lớp Presentation chỉ cần biết các dịch vụ thông qua giaodiện này mà không cần phải quan tâm đến bên trong lớp này được hiện thực nhưthế nào
- Business Entities là những thực thể mô tả những đối tượng thông tin mà
hệ thống xử lý Trong ứng dụng chúng ta các đối tượng này là các chuyênmục(Category) và bản tin(News) Các business entities này cũng được dùng đểtrao đổi thông tin giữa lớp Presentation và lớp Data Access
- Business Components là những thành phần chính thực hiện các dịch vụ
mà Service Interface cung cấp, chịu trách nhiệm kiểm tra các ràng buộc logic(constraints), các qui tắc nghiệp vụ (business rules), sử dụng các dịch vụ bên
Trang 16Trong ứng dụng của chúng ta, lớp này sẽ chứa các thành phần làCategoryService và NewsService làm nhiệm vụ cung cấp các dịch vụ quản lýchuyên mục và các bản tin (thêm, xóa, sửa, xem chi tiết, lấy danh sách…).
2.2.4 Data Layers
Lớp này thực hiện các nghiệp vụ liên quan đến lưu trữ và truy xuất dữ liệucủa ứng dụng Thường lớp này sẽ sử dụng các dịch vụ của các hệ quản trị cơ sở
dữ liệu như SQL Server, Oracle,… để thực hiện nhiệm vụ của mình
Lớp này thực hiện các nghiệp vụ liên quan đến lưu trữ và truy xuất dữ liệucủa ứng dụng Thường lớp này sẽ sử dụng các dịch vụ của các hệ quản trị cơ sở
dữ liệu như SQL Server, Oracle,… để thực hiện nhiệm vụ của mình Trong lớpnày có các thành phần chính là Data Access Logic, Data Sources, ServiveAgents)
Data Access Logic components (DALC) là thành phần chính chịu tráchnhiệm lưu trữ vào và truy xuất dữ liệu từ các nguồn dữ liệu – Data Sources nhưRDMBS, XML, File systems… Trong NET Các DALC này thường được hiệnthực bằng cách sử dụng thư viện ADO.NET để giao tiếp với các hệ cơ sở dữ liệuhoặc sử dụng các O/R Mapping Frameworks để thực hiện việc ánh xạ các đốitượng trong bộ nhớ thành dữ liệu lưu trữ trong CSDL
Service Agents là những thành phần trợ giúp việc truy xuất các dịch vụ bênngòai một cách dễ dàng và đơn giản như truy xuất các dịch vụ nội tại
Trang 17Chương 3 THIẾT KẾ HỆ THỐNG, GIAO DIỆN VÀ CHỨC NĂNG 3.1 Thiết kế bảng cơ sở trong SQL
3.1.1 Quản lý thông tin đĩa (DANHSACH_CD)
Tên trường Kiểu dữ liệu Độ dài Allow
đĩa ( Thuộc tính khóa
chính)
đĩa
khách hàng
Bảng 3.2 Bảng thông tin khách hàng 3.1.3 Quản lý chức năng cho thuê đĩa (HD_MUON)
Tên trường Kiểu dữ liệu Độ dài Allow
Nulls
Mô tả
Trang 18MA_MUON nvarchar 50 Mã hóa đơn mượn
Bảng 3.4 Bảng hóa đơn bán đĩa 3.1.5 Quản lý đầu vào (DANGNHAP)
Tên trường Kiểu dữ liệu Độ dài Allow
Trang 193.1.6 Sơ đồ mối quan hệ dữ liệu
Hình 3.1 Sơ đồ quan hệ dữ liệu 3.2 Thiết kế giao diện và chức năng của từng form
Để vào được các form chính của chương trình, người dùng phải đăng nhậptài khoản Form đăng nhập giúp xác định đúng người được phân quyền sử dụng.Trong form này, chỉ có người có tài khoản mới có quyền đăng nhập, sử dụngchương trình