Đề tài Chương trình quản lý cửa hàng bán đĩa theo tiếp cận hướng đối tượng

pdf 68 trang yendo 4510
Bạn đang xem 20 trang mẫu của tài liệu "Đề tài Chương trình quản lý cửa hàng bán đĩa theo tiếp cận hướng đối tượng", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfde_tai_chuong_trinh_quan_ly_cua_hang_ban_dia_theo_tiep_can_h.pdf

Nội dung text: Đề tài Chương trình quản lý cửa hàng bán đĩa theo tiếp cận hướng đối tượng

  1. Lời Mở Đầu Kinh tế càng phát triển thì càng có nhiều hình thức kinh doanh hơn: bán sỉ, bán lẻ, siêu thị, Dù ở hình thức kinh doanh một mặt hàng hay nhiều mặt hàng thì đây cũng là lĩnh vực có tần suất hoạt động cao và vấn đề quản lý các sổ sách cũng khá phức tạp. Cho dù có nhiều hình thức kinh doanh nhưng chung quy lại thì bài toán quản lý này cũng tập chung trên một số vấn đề: Cửa hàng này kinh doanh mặt hàng gì? Các mặt hàng này do ai cung cấp? Đối tượng mua hàng là ai? Cách ghi hoá đơn? Cách quản lý số lượng hàng tồn kho? Có thẻ kho hay không? Thông thường thì các cơ sở kinh doanh phải có nhiều sổ sách khác nhau để ghi nhận các vấn đề trên. Và mỗi ngày việc tính kết quả kinh doanh phải dựa trên các sổ này. Việc nhầm lẫn sai sót là điều không thể tránh khỏi. Đó là chưa kể việc tính toán này làm mất nhiều thời gian và công việc. Do vậy tin học hoá bài toán quản lý bán hàng là việc cần được quan tâm. Gần đây, nhiều doanh nghiệp cũng tìm cách tin học hoá việc kinh doanh của mình với mục đích nâng cao hiệu quả quản lý, tiết kiệm chi phí, giảm thiểu các nguồn lực trong quá trình quản lý và giảm thiểu thời gian tính toán các sổ sách giúp cho việc kinh doanh có thể phát triển tốt hơn. Nhiều công ty làm phần mềm cũng đã giới thiệu các gói phần mềm quản lý bán hàng. Theo ý kiến phản hồi được biết nếu mua sản phẩm phần mềm này thì giúp cho công việc lưu trữ dễ dàng và thuận tiện hơn. Song do đặc trưng của doanh nghiệp có vài điểm khác biệt thì phần mềm này chưa đáp ứng được. Một số doanh nghiệp khác lại đặt làm các phần mềm theo đặc trưng kinh doanh của mình. Dạng phần mềm này đáp ứng được các yêu cầu của các doanh nghiệp. Tuy nhiên, nếu có một doanh nghiệp khác có những nghiệp vụ tương tự và có thêm một số yêu cầu khác muốn sử dụng lại phần mềm này cho doanh nghiệp của mình lại không được. Vì vậy muốn dùng cho một doanh nghiệp khác thì thiết kế lại và lập trình lại từ đầu. Điều này cho thấy các nhà làm phần mềm mất rất nhiều thời gian và công sức do tính tái sử dụng không cao. 1
  2. Vấn đề được đặt ra ở đây là làm thế nào để có một hệ thống mở và linh hoạt để có thể thêm những đặc trưng riêng của doanh nghiệp và hệ thống này cũng có thể tái sử dụng những thành phần chung mà không phải xây dựng lại. Đó là mục đích nghiên cứu của đề tài. Nội dung của đề tài:  Viết chương trình “Quản lý bán đĩa” Để cho bài toán có tính mở và linh hoạt, thiết nghĩ phương pháp hướng đối tượng là phương pháp giúp cho việc giải quyết vấn đề nhanh chóng. Một công cụ hỗ trợ cho việc phân tích thiết kế phần mềm hướng đối tượng rất hữu ích là ngôn ngữ UML được sử dụng để phân tích thiết kế bài toán này. 2
  3. Chương 1: Khảo Sát Hiện Trạng 1.1. Khảo sát: Cửa hàng tư nhân kinh doanh các mặt hàng đĩa, việc thực hiện quản lý cửa hàng như sau: . Cửa hàng có nhiều mặt hàng đĩa khác nhau, mỗi mặt hàng đĩa được mô tả các đặc tính: Mã số đĩa, tên đĩa. Các mặt hàng đĩa này được nhập từ nhiều nhà cung cấp khác nhau. . Tuỳ theo yêu cầu mà cửa hàng tiến hành nhập đĩa về. Mỗi lần nhập nhân viên kế toán sẽ ghi vào các thông tin: Nhà cung cấp, ngày nhập và chi tiết nhập như: Số lượng nhập, đơn giá nhập, số tiền trả. . Khi bán hàng nhân viên kế toán sẽ ghi hoá đơn với các thông tin như sau: Số hoá đơn, ngày bán, mã số đĩa, đơn giá bán, số lượng, thành tiền. . Khi khách hàng có nhu cầu tìm kiếm đĩa theo phân loại, nhà cung cấp, ca sĩ, diễn viên, thì nhân viên sẽ vào trong kệ tìm xem có loại đĩa khách cần tìm hay không, và trả lời khách hàng. . Cuối mỗi ngày nhân viên kế toán tiến hành tổng kết việc mua bán trong ngày với các việc sau đây: Tổng số tiền bán hàng, tổng số tiền mua hàng. 1.2. Hiện trạng tin học: Sự bùng nổ công nghệ thông tin làm thay đổi xu hướng phát triển trên thế giới. Nền kinh tế thế giới phụ thuộc rất nhiều vào công nghệ phần mềm. Do nhu cầu của thương trường đòi hỏi nâng cao năng suất, chất lượng nhưng phải giảm thiểu thời gian và sức lao động của con người. Bên cạnh đó, các ứng dụng phần mềm lại mở rộng về kích thước và độ phức tạp, đòi hỏi nhiều nhân lực có trình độ mà việc đào tạo không đáp ứng ngay được. 3
  4. Công nghệ phần mềm đang đối diện với những thách thức mới: Công nghệ thay đổi quá nhanh đòi hỏi một đội ngũ nhạy bén để tiếp cận và áp dụng vào các ứng dụng cụ thể. Các nhóm làm việc cũng đông hơn để đáp ứng yêu cầu công việc. Ngoài ra việc phát triển phần mềm đòi hỏi sự chuyên môn hoá cao, mỗi nhóm chịu trách nhiệm một phần trong quy trình công nghệ phần mềm. Với quy trình phát triển công nghệ phần mềm trước đây, so với những đòi hỏi của xã hội đối với công nghệ phần mềm cho thấy một số vấn đề như sau:  Khi người sử dụng có nhu cầu xây dựng ứng dụng việc trao đổi bằng ngôn ngữ tự nhiên với nhóm phát triển, có thể không mô tả hết được những yêu cầu cần có để đáp ứng được nhu cầu trên thực tế.  Sự phát triển quá nhanh của công việc dẫn đến hệ thống không đáp ứng kịp các yêu cầu mới  Kiến trúc phần mềm không chắc chắn làm cho các module không khớp với nhau.  Khi phân tích thiết kế, không kiểm soát hết độ phức tạp của bài toán dẫn đến phần mềm khó bảo trì, nâng cấp, mở rộng.  Trong quá trình phát triển dự án phần mềm, không phát hiện được sự mâu thuẩn giữa các yêu cầu, thiết kế và cài đặt tạo ra các lổ hổng trong dự án phần mềm.  Việc thông tin các thay đổi trong dự án mơ hồ làm cho các thành viên không nắm bắt được ai đã thay đổi cái gì? Ở đâu? Khi nào? Và tại sao phải thay đổi? Nói chung, qua việc nhìn nhận các vấn đề trong quy trình phát triển phần mềm cho thấy nguyên nhân chính của những vấn đề này là do thiếu ngôn ngữ phân tích trực quan, đặc tả thống nhất giữa các thành viên trong nhóm phát triển. Do vậy, cần có một công cụ để có thể phát triển hệ thống đạt được các mục tiêu sau:  Phân tích vấn đề và mô tả các nhu cầu của người dùng một cách có hiệu quả.  Đạt được các thỏa thuận với người dùng về các yêu cầu đối với hệ thống. 4
  5.  Mô hình hóa sự tương tác giữa người dùng với hệ thống một cách trực quan. 1.3. Sơ đồ tổ chức: Cửa Hàng Ban Quản L ý Bộ Phận Bộ Phận Giao Dịch Hành Chánh Cửa hàng Nhân viên Nhân viên coi quầy đĩa trưởng kế toán  Ban quản lý: Quản lý chung mọi hoạt động của cửa hàng, đặt ra các chính sách và yêu cầu cho nhân viên cấp dưới.  Bộ phận giao dịch: Trong coi quầy và đáp ứng các yêu cầu của khách.  Bộ phận hành chánh: Lập báo cáo thống kê về doanh thu bán theo tiêu chí: ngày, tháng, năm. Thống kê những đĩa đã bán được theo theo tiêu chí: ngày, tháng, năm. 5
  6. 1.4. Các quy trình nghiệp vụ:  Cập nhật đĩa: Đĩa nhập về sẽ được phân loại, đánh mã số và ghi vào sổ danh mục đĩa và sau đó được đưa vào kệ.  Huỷ đĩa: Đĩa cũ hoặc hư cần thanh lý sẽ được loại bỏ ra khỏi kệ và chỉnh lại số lượng trong sổ danh mục đĩa.  Bán đĩa: . Tiếp nhận yêu cầu mua của khách hàng . Tìm đĩa cần bán . Xuất hoá đơn . Ghi nhận lại số lượng đĩa còn lại trong sổ danh mục đĩa . Giao đĩa  Tìm đĩa: Việc tìm đĩa được thực hiện dựa trên kệ đĩa và những đĩa đã bán  Kiểm kê đĩa: Việc kiểm kê đĩa được thực hiện mỗi quý (3 tháng) một lần: Đầu tiên kiểm kê tại kệ đĩa Đối chiếu với những hoá đơn đã xuất và sổ danh mục đĩa Xử lý các trường hợp sai sót và cập nhật lại sổ danh mục đĩa 6
  7.  Thống kê đĩa: Việc thống kê đĩa dựa trên sổ danh mục đĩa, các hoá đơn đã xuất và kết quả kiểm kê đĩa.  Thống kê doanh thu: Việc thống kê doanh thu được thực hiện dựa trên những hoá đơn đã xuất. 1.4. Giao diện:  Hệ thống hoạt động trên môi trường giao diện đồ hoạ.  Không cho phép thay đổi cấu hình các giao diện. 7
  8. Chương 2 : Cách Tiếp Cận Và Giải Quyết Vấn Đề 2.1. Yêu cầu bài toán: 2.1.1. Yêu cầu chức năng: Công việc sẽ thực hiện trên máy tính  Lưu trữ: - Danh mục đĩa: Mã số đĩa, tên đĩa, loại đĩa, mã thể loại, mô tả, đơn giá bán, đơn giá nhập, số lượng tồn, năm phát hành. - Hoá đơn: Số hoá đơn, ngày bán, tổng tiền. - Phiếu nhập: Số phiếu nhập, ngày nhập, thành tiền, mã nhà cung cấp.  Tra cứu: - Thông tin về đĩa: Mã số đĩa, tên đĩa  Tính toán: - Doanh thu: Số lượng đĩa bán, số lượng đĩa tồn. - Giá trị một hoá đơn: Ngày hoá đơn, đơn giá bán - Số lượng tồn của một loại đĩa: Mã số loại đĩa  Kết xuất: - Phiếu nhập: Số phiếu nhập, ngày nhập. - Hoá đơn: Số hoá đơn, ngày bán. - Doanh thu: Số lượng đĩa bán, số lượng đĩa tồn. 8
  9. 2.1.2.Yêu cầu phi chức năng:  Tiện dụng và dễ dùng: - Hệ thống được thiết kế giao diện trực quan, thực tế, dễ thao tác, hỗ trợ việc tính toán tự động, cũng như có cơ chế kiểm soát lỗi.  Hiệu quả: Hỗ trợ tính toán chính xác, giải quyết vấn đề nhanh chóng, tiện lợi.  An toàn và bảo mật: Bảo đảm dữ liệu không bị mất khi gặp sự cố. Đảm bảo tính đóng gói của lập trình hướng đối tượng, không cho phép việc truy xuất dữ liệu trực tiếp. 2.2. Dự kiến triển khai: Để có thể đạt được các yêu cầu của bài toán được đặt ra, công việc dự kiến sẽ triển khai theo các bước sau :  Mô hình hóa bài toán bán hàng : Khảo sát quá trình kinh doanh tại cửa hàng: Cửa hàng bán băng đĩa nhạc Uyên.  Phân tích – thiết kế Dự kiến kết quả đạt được trong phần phân tích bài toán này: - Use – case Diagram - Sequence Diagram - Class Diagram 9
  10. Từ kết quả ở mức phân tích, triển khai thiết kế để đạt được các kết quả sau : - Mô hình quan hệ cơ sở dữ liệu - Kiến trúc của phần mềm - Sequence Diagram ở mức thiết kế - Thiết kế các class  Cài đặt Thực hiện cài đặt các kết quả đã thiết kế trên VB.Net 10
  11. Chương 3: Phân Tích Bài Toán 3.1. Phạm vi dự án: 3.1.1. Xử lý: . Thống kê đĩa tồn tại trong kho theo đầu đĩa và loại đĩa. . Thống kê đĩa đã bán đựợc theo tiêu chí:ngày, tháng, năm. . Thống kê doanh thu . Tra cứu những đĩa hiện có trong cửa hàng. . Cập nhật đĩa. . Cập nhật hoá đơn. . Cập nhật phiếu nhập. 3.1.2. Các mong đợi: . Hệ thống chương trình mới cần cho nhân viên có thể tìm kiếm những đĩa theo từng chủ đề, mã số đĩa, tên đĩa, nhà cung cấp một cách nhanh chóng và linh hoạt. . Cho phép lưu trữ dữ liệu, cập nhật đĩa với số lượng lớn một cách dễ dàng. . Việc quản lý và tra cứu thông tin đĩa một cách hiệu quả, nhanh chóng. . Hỗ trợ việc thống kê nhập đĩa, thống kê bán đĩa, thống kê đĩa tồn kho, thống kê kinh doanh dễ dàng, nhanh chóng và chính xác . 11
  12. 3.2. Phân tích vấn đề: 3.2.1. Nhận định chung: . Hằng ngày những công việc trong cửa hàng đều thực hiện bằng tay. Vì vậy rất khó khăn và hạn chế trong việc quản lý kinh doanh của cửa hàng: Bán đĩa, thống kê và tra cứu thông tin về đĩa. . Hiện nay cửa hàng sẽ tăng số lượng đĩa nên việc quản lý đĩa trở nên cần thiết và đạt hiệu quả kinh doanh hơn. 3.2.2. Xác định vấn đề: . Cập nhật đĩa, hóa đơn thực hiện bằng tay không chính xác và tốn rất nhiều thời gian. . Tìm đĩa có hay không phải tìm trong kệ mất thời gian và không chính xác. Không thể tìm đĩa theo các yêu cầu khác nhau như: Tên đĩa, thể loại, tên ca sĩ, nhà cung cấp. . Nhân viên không thể tra cứu được những đĩa mà cửa hàng có thể đáp ứng theo yêu cầu khách hàng một cách chính xác và nhanh chóng vì phải vào từng kệ đĩa xem còn hay không. . Việc thống kê đĩa theo số lượng đầu đĩa, loại đĩa, tên ca sĩ dựa vào sổ ghi chép và hóa đơn khó khăn và mất thời gian. . Khó kiểm tra số lượng đĩa bị mất, trầy xước, hỏng và số lượng có trong kho thực hiện thống kê bằng tay. 12
  13. 3.2.3. Nguyên nhân: . Ghi chép bằng tay dễ sai sót, thiếu sót, không được cập nhật thường xuyên dữ liệu trong các sổ ghi chép không chính xác. . Việc tìm đĩa có hay không phải vào trong kệ để tìm hoặc dựa vào sổ sách, hóa đơn không chính xác và mất nhiều thời gian. . Do nhân viên không tự vào kệ tìm đĩa. . Việc thống kê dựa vào sổ mất thời gian và không chính xác. Do việc thống kê tiến hành bằng tay có thể có nhiều sai sót. . Thống kê đĩa dựa vào từng hóa đơn bán ra và số lượng đĩa trong kho khó quản lý và mất thời gian. 3.2.4. Mục tiêu: . Tổ chứcdữ liệu và xử lý cho phép cập nhật đĩa bằng máy một cách hiệu quả và nhanh chóng. . Cần có cách tổ chức dữ liệu linh hoạt thuận lợi cho việc tìm kiếm. . Xây dựng hệ thống giúp nhân viên tra cứu trực tiếp trong chương trình. . Dữ liệu đĩa cần phải cập nhật tức thời để thống kê tùy lúc. . Cần có cách tổ chức linh hoạt để thuận lợi cho việc sắp xếp thứ tự theo các tiêu thức khác nhau dễ dàng thống kê theo từng tiêu thức. . Dữ liệu đĩa bán ra phải cập nhật thường xuyên. Tổ chức hóa đơn một cách hợp lý để dễ tìm ra những đĩa đã bán. 13
  14. 3.2.5. Các yêu cầu: . Cập nhật (thêm, sửa, huỷ) đĩa với số lượng lớn một cách đầy đủ, thuận lợi và thường xuyên. . Cập nhật (thêm, sửa , huỷ) hoá đơn một cách đầy đủ, thuận lợi và thường xuyên. . Cập nhật (thêm, sửa, huỷ) phiếu nhập một cách đầy đủ, thuận lợi, thường xuyên. . Tra cứu đĩa theo các tiêu chí khác nhau một cách thuận lợi và nhanh chóng. . Thống kê theo số lượng đĩa, loại đĩa, tên đĩa, nhà cung cấp. . Thống kê doanh thu theo: ngày , tháng, năm hay một khoảng thời gian nào đó. 3.2.6. Xác định Actor: . Cửa hàng trưởng: Đăng nhập hệ thống, quản lý thông tin về một đĩa, thống kê kinh doanh của cửa hàng, tra cứu theo từng tiêu chí. . Nhân viên kế toán: Đăng nhập hệ thống, quản lý việc nhập hàng, bán hàng, thông tin về một đĩa, thống kê kinh doanh và tra cứu theo từng tiêu chí. 14
  15. 3.3. Mô hình hóa bài toán: 3.3.1. Use-case Diagram: 3.3.1.1. Mô hình Use-case: Dang nhap he thong Quan ly nhap dia Nhan vien ke toan Quan ly ban dia Quan ly thong tin dia Cua hang truong Tra cuu Thong ke kinh doanh  Chú thích: . Đăng nhập hệ thống: Khi nhân viên sử dụng hệ thống kinh doanh này thì bắt buộc phải đăng nhập. Hệ thống này gồm có 2 quyền (Admin, User) nhân viên thuộc quyền nào thì được sử dụng use-case đó, còn các use-case khác sẽ không được phép sử dụng. 15
  16. . Quản lý nhập đĩa: Use-case này nhằm quản lý các mặt hàng đĩa được nhập vào cửa hàng. Khi đĩa được nhập vào thì nhân viên sẽ ghi nhận phiếu nhập này. Sau đó hệ thống thực hiện việc ghi nhận thẻ kho. . Quản lý bán đĩa: Use-case này nhằm quản lý việc bán đĩa của cửa hàng. Khi khách hàng mua đĩa, nhân viên sẽ ghi nhận hoá đơn bán hàng. Hệ thống thực hiện việc ghi nhận thẻ kho. . Thống kê kinh doanh: Use-case này nhằm mục đích thống kê kinh doanh của cửa hàng. Thống kê kinh doanh bao gồm( báo cáo kinh doanh, báo cáo doanh thu và thống kê số lượng tồn của đĩa trong ngày hay trong kỳ). Sau đó nhân viên có thể in ra báo cáo này để biết được tình hình kinh doanh của cửa hàng. . Tra cứu: Use-case này giúp cho nhân viên có thể tìm kiếm thông tin đĩa theo yêu cầu của khách hàng một cách gần đúng nhất và nhanh chóng. . Quản lý thông tin đĩa: Use-case này giúp cho nhân viên dễ quản lý danh mục đĩa của cửa hàng. Khi nhập đĩa mới về thì nhân viên cập nhật thông tin đĩa vào danh mục đĩa. 16
  17. 3.3.2. Sequence Diagram  Đăng nhập hệ thống: : Actor Man hinh : Dang nhap Xu ly : Dang Nhap : Nhan vien Nhap ten va mat khau Yeu cau xu ly ten va mat khau Kiem tra ten va mat khau Ket qua kiem tra ten va mat khau Thong bao dang nhap thanh cong hay khong Dong man hinh 17
  18.  Quản lý nhập Đĩa: : Danh Muc Dia : Nhan vien ke MH : Phieu nhap XL : PHIEU NHAP : Phieu nhap : Chi Tiet Phieu Nhap : Quan Ly Thong Tin toan Dia Nhap so phieu nhap Yeu cau kiem tra so phieu nhap Kiem tra so phieu nhap Ket qua kiem tra so phieu nhap Thong bao so phieu nhap chua co Nhap ten dia Yeu cau kiem tra ten dia Kiem tra ten dia co trong danh muc dia hay khong Ten dia chua co trong danh muc dia Thong bao dia moi Ghi dia moi Ghi thong tin dia moi Nhap so luong va don gia Ghi phieu nhap Yeu cau ghi phieu nhap Kiem tra co thong tin chi tiet phieu nhap hay khong Khong co thong tin cua chi tiet phieu nhap Thong bao phieu nhap khong co thong tin chi tiet phieu nhap Co thong tin chi tiet phieu nhap Ghi thong tin phieu nhap Ghi thong tin chi tiet phieu nhap Thong bao ghi thanh cong hay khong Cap nhat so luong ton Cap nhat so luong ton vao danh muc dia 18
  19.  Quản lý bán đĩa: : HOA DON : Ch tiet hoa don : Nhan vien ke MH : Hoa Don XL : Hoa don : Danh Muc Dia toan Nhap so hoa don Yeu cau kiem tra so hoa don Kiem tra so hoa don Ket qua kiem tra so hoa don Thong bao so hoa don chua co Nhap ten dia can mua Yeu cau kiem tra ten dia Kiem tra ten dia co trong danh muc dia hay khong Ten dia chua co trong danh muc dia Thong bao khong co dia can mua Ten dia con trong danh muc dia Thong bao co dia can mua va gia ban Nhap so luong dia can mua Yeu cau kiem tra so luong ton Kiem tra so luong ton So luong ton cua dia So luong > So luong ton Thong bao so luong ton Tiep tuc hay khong Hieu chinh so luong Ghi hoa don Yeu cau ghi hoa don Kiem tra co thong tin chi tiet hoa don khong Khong co thong tin chi tiet hoa don Thong bao hoa don khong co chi tiet hoa don Co thong tin chi tiet hoa don Ghi thong tin hoa don Ghi thong tin chi tiet hoa don Thong bao ghi thanh cong hay khong Cap nhat so luong ton Cap nhat so luong ton vao danh muc dia  Quản lý thông tin đĩa: 19
  20. MH : Quan Ly Thong : Danh Muc Dia : Cua hang Tin Dia XL : Quan Ly Thong Tin truong Dia Nhap thong tin dia moi Yeu cau kiem tra dia da co hay chua Kiem tra dia ton tai Ket qua kiem tra dia ton tai Da co Thong bao dia da co thong tin Cap nhat hay khong Cap nhat thong tin dia Yeu cau cap nhat thong tin dia Cap nhat loai thong tin dia Chua co Thong bao dia chu co thong tin Ghi dia vao danh muc dia Yeu cau ghi vao danh muc dia Ghi thong tin dia moi Ket qua ghi thong tin dia moi Thong bao ghi thanh cong hay khong 20
  21.  Tra cứu: MH : Tra cuu : Danh Muc Dia : Actor XL : Tra Cuu Nhap thong tin can tra cuu ve dia Yeu cau tra cuu thong tin ve dia Tim thong tin dia can tra cuu Ket qua tim thong tin ve dia Hien thi thong tin can tim 21
  22.  Thống kê kinh doanh: : Actor MH : Thong ke kinh doanh XL : THong Ke Kinh : HOA DON : Phieu nhap Doanh Nhap thoi gian can thong ke Yeu cau thong ke kinh doanh Tinh tong doanh thu Tong doanh thu Hien thi tong doanh thu Tinh tong chi Tong chi Hien thi tong chi Tinh ket qua kinh doanh Hien thi ket qua kinh doanh Chon In Yeu cau In bao cao In Thong bao In thanh cong 22
  23.  Thống kê Đĩa tồn kho: MH : Thong ke dia : Danh Muc Dia : Actor XL : Thong Ke Dia Thong ke dia ton kho Yeu cau thong ke dia ton kho Liet ke so luong ton cua tung loai dia So luong ton cua dia Hien thi so luong ton Chon In Yeu cau In In Thong bao In thanh cong hay khong 23
  24. 3.3.3. Class Diagram: ChiTietHoaDon SoLuongBan ListBaiHat TenCaSi > DanhMucDia > MaSoDia HoaDon TenDia BaiHat LoaiDia SoHD MaBaiHat MoTa NgayBan TenBaiHat 1 * 1 * DonGiaNhap 1 * 1 * TongTien DonGiaBan SoLuongTon 1 * NamPhatHanh TheLoai Matheloai 1 1 * TenTheLoai ChiTietPhieuNhap SoLuongNhap NhanVien MaNhanVien TenNhanVien Username Password PhanQuyen 1 * > NhaCungCap Phieu nhap MaNhaCungCap SoPhieuNhap TenNhaCungCap NgayLap DiaChi 1 * 1 ThanhTien DienThoai 24
  25.  DanhMucDia: Lớp Danh mục đĩa . MaSoDia: Mã số đĩa . TenDia: Tên đĩa . LoaiDia: Loại đĩa . MoTa: Mô tả . DonGiaNhap: Đơn giá nhập . DonGiaBan: Đơn giá bán . SoLuongTon: Số lượng tồn . NamPhatHanh: Năm phát hành  PhieuNhap: Lớp phiếu nhập . SoPhieuNhap: Số phiếu nhập . NgayLap: Ngày lập hoá đơn . ThanhTien: Số tiền phải thanh toán  BaiHat: Lớp bài hát . MaBaiHat: Mã bài hát . TenBaiHat: Tên bài hát 25
  26.  TheLoai: Lớp thể loại . MaTheLoai: Mã thể loại . TenTheLoai: Tên thể loại  ListBaiHat: Lớp list bài hát . TenCaSi: Tên ca sĩ  HoaDon: Lớp hoá đơn . SoHD: Số hoá đơn . NgayBan: Ngày lập hoá đơn bán hàng . TongTien: Số tiền phải trả  ChiTietHoaDon: Lớp chi tiết hoá đơn . SoLuongBan: Số lượng đĩa bán  ChiTietPhieuNhap: Lớp chi tiết phiếu nhập . SoLuongNhap: Số lượng đĩa nhập.  NhaCungCap: Lớp nhà cung cấp . MaNhaCungCap: Mã nhà cung cấp . TenNhaCungCap: Tên nhà cung cấp . DiaChi:Địa chỉ . DienThoai: Điện thoại 26
  27.  NhanVien: Lớp nhân viên . MaNhanVien: Mã nhân viên . TenNhanVien: Tên nhân viên . Username: Tên đăng nhập . Password: Mật khẩu . PhanQuyen: Quyền khi đăng nhập hệ thống 27
  28. Chương 4: Thiết Kế Chương Trình 4.1. Kiến trúc ứng dụng: Các Class Diagram chứa toàn bộ các thuộc tính và hoạt động của các nghiệp vụ trong bài toán. Và cũng từ các Sequence Diagram ta nhận thấy các nghiệp vụ này tương tác với các actor thông qua các lớp interface của hệ thống. Ngoài ra, để hoàn toàn độc lập với hệ quản trị cơ sở dữ liệu, ta cũng cần xây dựng các lớp làm nhiệm vụ trao đổi dữ liệu với hệ thống. Từ đó ta có sơ đồ phân lớp như sau: DBMS Access Layer Business Layer View Layer 28
  29. - DBMS : là hệ quản trị cơ sở dữ liệu - AccessLayer: chứa các class làm nhiệm vụ trao đổi dữ liệu giữa DBMS và Business layer. - Business Layer: bao gồm các class chứa thuộc tính và hoạt động của bài toán. - View Layer : Phân lớp này là interface tương tác giữa actor và hệ thống. 4.2. Danh sách các bảng dữ liệu: DanhMucDia( MaSoDia, MaTheLoai, TenDia, LoaiDia, MoTa, DonGiaBan, DonGiaNhap, SoLuongTon, NamPhatHanh) PhieuNhap( SoPhieuNhap, MaNhaCungCap, NgayLap, ThanhTien) ChiTietPhieuNhap( MaSoDia, SoPhieuNhap, SoLuongNhap) HoaDon( SoHD, NgayBan, TongTien) ChiTietHoaDon( MaSoDia, SoHD, SoLuongBan) NhaCungCap( MaNhaCungCap, TenNhaCungCap, DiaChi, DienThoai) TheLoai( MaTheLoai, TenTheLoai) BaiHat( MaBaiHat, TenBaiHat) ListBaiHat( MaBaiHat, MaSoDia, TenCaSi) NhanVien( MaNhanVien, TenNhanVien, Username, Password, PhanQuyen) 29
  30. 4.2.1. Sơ đồ cơ sở dữ liệu quan hệ: 30
  31. 4.2.2. Mô tả các bảng:  Bảng Danh Mục Đĩa STT Tên thuộc tính Mô tả Kiểudữ liệu Kích thước Ràng buộc 1 MaSoDia Mã số đĩa Text 20 2 MaTheLoai Mã thể loại Text 20 3 TenDia Tên đĩa Text 50 4 LoaiDia Loại đĩa Text 50 5 MoTa Mô tả Text 50 6 DonGiaBan Đơn giá bán Double 7 DonGiaNhap Đơngiá nhập Double 8 SoLuongTon Số lượng tồn Integer 9 NamPhatHanh Năm phát hành Date/Time  Bảng Phiếu Nhập Ràng STT Tên thuộc tính Mô tả Kiểu dữ liệu Kích thước buộc SoPhieuNhap Số phiếu nhập 1 Text 20 2 MaNhaCungCap Mã nhà cung cấp Text 20 3 NgayLap Ngày lập Date/Time 4 ThanhTien Thành tiền Double 31
  32.  Bảng Bài Hát STT Tên thuộc tính Mô tả Kiểu dữ liệu Kích thước Ràng buộc 1 MaBaiHat Mã bài hát Text 20 2 TenBaiHat Tên bài hát Text 50  Bảng Chi Tiết Phiếu Nhập STT Tên thuộc tính Mô tả Kiểu dữ liệu Kích thước Ràng buộc 1 MaSoDia Mã số đĩa Text 20 2 SoPhieuNhap Số phiếu nhập Text 20 3 SoLuongNhap Số lượng nhập Integer  Bảng Hoá Đơn STT Tên thuộc tính Mô tả Kiểu dữ liệu Kích thước Ràng buộc 1 SoHD Số hoá đơn Text 20 2 NgayBan Ngày bán Date/Time 3 TongTien Tổng tiền Double  Bảng Chi Tiết Hoá Đơn STT Tên thuộc tính Mô tả Kiểu dữ liệu Kích thước Ràng buộc 1 MaSoDia Mã số đĩa Text 20 2 SoHD Số hoá đơn Text 20 3 SoLuongBan Số lượng bán Integer 32
  33.  Bảng Thể Loại STT Tên thuộc tính Mô tả Kiểu dữ liệu Kích thước Ràng buộc 1 MaTheLoai Mã thể loại Text 20 2 TenTheLoai Tên thể loại Text 50  Bảng Nhà Cung Cấp STT Tên thuộc tính Mô tả Kiểu dữ liệu Kích thước Ràng buộc 1 MaNhaCungCap Mã nhà cung cấp Text 20 2 TenNhaCungCap Tên nhà cung cấp Text 50 3 DiaChi Địa chỉ Text 50 4 DienThoai Điện thoại Text 50  Bảng List Bài Hát STT Tên thuộc tính Mô tả Kiểu dữ liệu Kích thước Ràng buộc 1 MaBaiHat Mã bài hát Text 20 2 MaSoDia Mã số đĩa Text 20 3 TenCaSi Tên ca sĩ Text 50  Bảng Nhân Viên STT Tên thuộc tính Mô tả Kiểu dữ liệu Kích thước Ràng buộc 1 MaNhanVien Mã nhân viên Text 20 2 TenNhanVien Tên nhân viên Text 50 3 Username Tên đăng nhập Text 50 4 Password Mật khẩu Text 50 5 PhanQuyen Phân quyền Text 50 33
  34. 4.2.3. Ràng buộc dữ liệu: MaSoDia là khoá chính của bảng DanhMucDia. MaTheLoai là khoá ngoại của bảng DanhMucDia, được tham chiếu từ bảng TheLoai. SoPhieuNhap là khoá chính của bảng PhieuNhap. MaNhaCungCap là khoá ngoại của bảng PhieuNhap, được tham chiếu từ bảng NhaCungCap. MaSoDia, SoPhieuNhap là tổ hợp khoá chính của bảng ChiTietPhieuNhap, được kết hợp từ khoá chính của các bảng DanhMucDia và PhieuNhap. SoHD là khoá chính của bảng HoaDon. MaSoDia, SoHD là tổ hợp khoá chính của bảng ChiTietHoaDon, được kết hợp từ khoá chính của các bảng DanhMucDia và HoaDon. MaNhaCungCap là khoá chính của bảng NhaCungCap. MaTheLoai là khoá chính của bảng TheLoai. MaBaiHat là khoá chính của bảng BaiHat. MaBaiHat, MaSoDia là tổ hợp khoá chính của bảng ListBaiHat, được kết hợp từ khoá chính của các bảng BaiHat và DanhMucDia. MaNhanVien là khoá chính của bảng NhanVien. 34
  35. 4.3. Giao diện: 4.3.1. Form đăng nhập:  Danh sách các thuộc tính: STT Tên thuộc tính Diễn giải Kiểu dữ liệu Kích thước 1 Tendangnhap Tên đăng nhập Text 2 Matkhau Mật khẩu Text  Danh sách các xử lí: STT Tên xử lí Tên control Biến cố Ý nghĩa 1 Đăng Nhập btdangnhap click Đăng nhập hệ thống 2 Thoát btthoat click Đóng cửa sổ chương trình  Mô tả xử lí: Nút Đăng nhập: - Tên xử lí: Đăng nhập - Dữ liệu vào: Đăng nhập - Dữ liệu ra: Không có 35
  36. - Thuật giải: Nhấn vào nút Đăng nhập thì người dùng nhập tên đăng nhập và mật khẩu vào form quản lý bán đĩa. Nút Thoát: - Tên xử lí: Thoát - Dữ liệu vào: Thoát - Dữ liệu ra: Không có - Thuật giải: Khi nhấn vào nút Thoát thì sẽ đóng cửa sổ lại. 36
  37. 4.3.2. Form main: 4.3.3. Form phân quyền: 37
  38.  Danh sách các thuộc tính: STT Tên thuộc tính Diễn giải Kiểu dữ liệu Kích thước 1 Tendangnhap Tên dăng nhập Text 2 Matkhau Mật khẩu Text 3 Quyen Quyền Text  Danh sách các xử lí: STT Tên xử lí Tên control Biến cố Ý nghĩa 1 Thêm btthem1user click Thêm user mới 2 Huỷ bthuy1user click Hủy user mới 3 Thoát btthoat click Đóng cửa sổ lại  Mô tả và xử lí: Nút Thêm: - Tên xử lí: Thêm - Dữ liệu vào: Tên đăng nhập, mật khẩu, quyền - Dữ liệu ra: Không có - Thuật giải: Kiểm tra Tên đăng nhập và mật khẩu có chưa? Kiểm tra có bị trùng với cơ sỡ dữ liệu không? Nếu có xuất hiện câu thông báo có sửa hay không? Nếu có thì sửa , không xóa trắng ô. Nếu không ghi xuống cơ sỡ dữ kiệu 38
  39. Nút Hủy: - Tên xử lí: Hủy - Dữ liệu vào: Tên đăng nhập, mật khẩu, quyền - Dữ liệu ra: Không có - Thuật giải: Kiểm tra Tên đăng nhập và mật khẩu có chưa? Kiểm tra có bị trùng với cơ sỡ dữ liệu không? Nếu có xuất hiện câu thông báo có xóa hay không? Nếu có thì xóa Nếu không xóa trắng ô. Nút Thoát: - Tên xử lí: Thoát - Dữ liệu vào: Tên đăng nhập, mật khẩu, quyền - Dữ liệu ra: Không có - Thuật giải: Nhấn nút thoát thì đóng cửa sổ 39
  40. 4.3.4. Form Cập nhật:  Danh sách các thuộc tính: STT Tên thuộc tính Diễn giải Kiểu dữ liệu Kích thước 1 TheLoai Thể loại Text 2 LoaiDia Loại đĩa Text 3 MaSoDia Mã số đĩa Text 4 NamPhatHanh Năm phát hành Text 5 TenDia Tên đĩa Text 6 MoTa Mô tả Text 7 DonGiaBan Đơn giá bán Text 8 DonGiaNhap Đơn giá nhập Text 40
  41.  Danh sách các xử lí: STT Tên xử lí Tên control Biến cố Ý nghĩa 1 List bài hát btlistbaihat click Mở form list bài hát 2 Thêm mới btthem click Thêm thông tin đĩa vào danh mục 3 Lưu btluu Click Lưu dữ liệu xuống bảng 4 Xóa btxoa Click Hủy thông tin đĩa 5 Thoát btthoat Click Thoát khỏi form  Mô tả xử lí: Nút List bài hát: - Tên xử lí: List bài hát - Dữ liệu vào: Thể loại nhạc - Dữ liệu ra: Tên bài hát - Thuật giải: Nếu chọn thể loại là nhạc thì nút List bài hát sẽ sáng lên. Tiếp đó nhấn vào nút List bài hát sẽ hiển thị form List bài hát, tiếp theo người dùng nhập thông tin List bài hát. Nếu bài hát đó mới không có trong List thì ta nhấn vào dấu 3 chấm sẽ mở form Danh mục bài hát. Người dùng nhập thông tin của bài hát rồi cập nhật xuống cơ sở dữ liệu. Ngược lại, nếu người dùng không chọn thể loại nhạc thì nút List bài hát không sáng lên. 41
  42. Nút Thêm mới: - Tên xử lí: Thêm mới - Dữ liệu vào: Thể loại, loại đĩa, tên đĩa, năm phát hành, mô tả, đơn giá bán và đơn giá nhập. - Dữ liệu ra: mã số đĩa - Thuật giải: Kiểm tra các thông tin của đĩa đã có hay chưa? Kiểm tra có bị trùng lấp với cơ sỡ dữ liệu? Nếu có xuất hiện câu thông báo có sửa hay không? Nếu có thì sửa, không xóa trắng ô. Nếu không ghi xuống cơ sỡ dữ liệu Nút Lưu: - Tên xử lí: Lưu - Dữ liệu vào: Thể loại, loại đĩa, tên đĩa, năm phát hành, mô tả, đơn giá bán và đơn giá nhập. - Dữ liệu ra: không có - Thuật giải: + Kiểm tra các thông tin của đĩa đã có hay chưa? + Kiểm tra có bị trùng lấp với cơ sỡ dữ liệu? 42
  43. + Nếu có xuất hiện câu thông báo có sửa hay không? Nếu có thì sửa, không xóa trắng ô. + Nếu không lưu xuống cơ sỡ dữ liệu Nút xóa: - Tên xử lí: Xóa - Dữ liệu vào: Loại đĩa, tên đĩa - Dữ liệu ra: Mã số đĩa, năm phát hành, mô tả, đơn giá bán, đơn giá nhập - Thuật giải: . Khi người dùng nhập tên đĩa và loại đĩa, nếu có thì sẽ hiển thị tất cả các thông tin có liên quan. . Nếu người dùng nhấn nút xóa, hệ thống hiển thị thông báo có xóa hay không? . Nếu có sẽ xóa thông tin người dùng muốn xóa. Ngược lại, thì hệ thống hoạt động bình thường. Nút Thoát: - Tên xử lí: Thoát - Dữ liệu vào: Thoát - Dữ liệu ra: Không có - Thuật giải: Khi nhấn vào nút Thoát thì sẽ đóng cửa sổ lại. 43
  44. 4.3.5. Form tìm thông tin:  Danh sách các thuôc tính: STT Tên thuộc tính Diễn giải Kiểu dữ liệu Kích thước 1 Theloai Thể loại Text 2 Tendia Tên đĩa Text 3 Baihat Bài hát Text 4 Casi Ca sĩ Text 5 Loaidia Loại đĩa Text 6 Namphathanh Năm phát hành Text 44
  45.  Danh sách các xử lí: STT Tên xử lí Tên control Biến cố Ý nghĩa 1 Thể loại cbtheloai Chọn Chọn thể loại 2 Loại đĩa cbloaidia Chọn Chọn loại đĩa 3 Tìm bttim Click Tìm thông tin đĩa 4 Thoát btthoat Click Đóng cửa sổ  Mô tả xử lí: Thể loại - Tên xử lí: Thể loại - Dữ liệu vào: Thể loại - Dữ liệu ra: Mã số đĩa, tên đĩa, loại đĩa, đơn giá, mô tả - Thuật giải: Khi chọn thể loại thì liệt kê toàn bộ các đĩa thuộc thể loại được chọn vào danh sách. Loại đĩa - Tên xử lí: Loại đĩa - Dữ liệu vào: :Loại đĩa - Dữ liệu ra: mã số đĩa, tên đĩa, loại đĩa, đơn giá, mô tả. - Thuật giải: Khi chọn loại đĩa thì liệt kê toàn bộ các đĩa thuộc loại đĩa được chọn vào danh sách 45
  46. Nút tìm - Tên xử lí: Tìm - Dữ liệu vào: Tìm - Dữ liệu ra: Mã số đĩa, tên đĩa, loại đĩa, đơn giá, mô tả - Thuật giải: Tìm các đĩa liên quan dến thông tin cần tìm Tên đĩa - Tên xử lí: Tên đĩa - Dữ liệu vào: Tên đĩa - Dữ liệu ra: Mã số đĩa, tên đĩa, loại đĩa, đơn giá, mô tả. - Thuật giải: Nhập tên đĩa sau đó xem loại đĩa có chứa tên đĩa không? Nếu có sẽ hiển thị thông tin xuống danh sách Nếu không sẽ xuất ra câu thông báo “không tìm thấy” Bài hát, ca sĩ: Tương tự như tên đĩa Nút thoát - Tên xử lí: Thoát - Dữ liệu vào: không có - Dữ liệu ra: không có - Thuật giải: Nhấn nút thoát thì đóng cửa sổ 46
  47. 4.3.6. Form nhật ký bán hàng:  Danh sách các xử lí:  STT Tên thuộc tính Diễn giải Kiểu dữ liệu Kích thước 1 Sohoadon Số hóa đơn Text 2 Ngay Ngày Datetime 47
  48.  Danh sách các xử lí: STT Tên xử lí Tên control Biến cố Ý nghĩa Số HĐ txtsohoadon Load focus Kiểm tra hóa đơn sau đó hiển 1 thị thông tin 2 Thêm mới btthemmoi Click Thêm hóa đơn 3 Cập nhật btcapnhat Click Ghi hóa đơn 4 Xáo btxoa Click Xóa hóa đơn 5 In btin Click In hóa đơn 6 Thoát btthoat Click Thoát chương trình  Mô tả xử lí: Số hoá đơn - Tên xử lí: Số hoá đơn - Dữ liệu vào: Số hóa đơn - Dữ liệu ra: Tên đĩa, số lượng, đơn giá, thành tiền - Thuật giải: Tìm trên cơ sở dữ liệu nếu có số hóa đơn vừa nhập thì chọn toàn bộ các record trên bảng chi tiết hóa đơn. Thêm mới - Tên xử lí: Thêm mới - Dữ liệu vào: Tên đĩa, số lượng, đơn giá, thành tiền - Dữ liệu ra: Số hóa đơn 48
  49. - Thuật giải: Xóa trắng để thêm mới, phát sinh số hóa đơn Nút cập nhật - Tên xử lí: Cập nhật - Dữ liệu vào: Tên đĩa, số lượng, đơn giá, thành tiền - Dữ liệu ra: Số hóa đơn - Thuật giải: Kiểm tra số hóa đơn đã có hay chưa. Nếu có thì hiển thị thông tin để sửa sau đó ghi vào cơ sở dữ liệu. Nếu chưa thì ghi hóa đơn vào bảng hóa đơn. Nút thoát - Tên xử lí: Thoát - Dữ liệu vào: không có - Dữ liệu ra: không có - Thuật giải: Nhấn nút thoát thì đóng cửa sổ 49
  50. 4.3.7. Form Nhật ký phiếu nhập:  Danh sách các thuộc tính: STT Tên thuộc tính Diễn giải Kiểu dữ liệu Kích thước 1 Sophieunhap Số phiếu nhập Number 2 Ngay Ngày Datetime 3 Nhacungcap Nhà cung cấp Text 4 Diachi Địa chỉ Text 5 Dienthoai Điện thoại Number 50
  51.  Danh sách các xử lí: STT Tên xử lí Tên control Biến cố Ý nghĩa Số phiếu nhập txtsophieunhap Lost focus Kiểm tra hóa đơn đã có 1 chưa? 2 Thêm mới Btthemmoi click Thêm phiếu nhập mới 3 Cập nhật Btcapnhat click Ghi phiếu nhập 4 Xoá Btxoa click Xóa phiếu nhập 5 In Btin click In phiếu nhập 6 Thoát btthoat click Đóng cửa sổ  Mô tả xử lí: Số phiếu nhập - Tên xử lí: Số phiếu nhập - Dữ liệu vào: Số phiếu nhập - Dữ liệu ra: Tên đĩa, Số lượng, đơn giá, thành tiền - Thuật giải: Tìm phiếu nhập đã có trên cơ sở dữ liệu: sau đó hiển thị thông tin lên datagrid Nút thêm mới - Tên xử lí: Thêm mới - Dữ liệu vào: Số phiếu nhập - Dữ liệu ra: Tên đĩa, Số lượng, đơn giá, thành tiền 51
  52. - Thuật giải: Xóa trắng để nhập mới. Phát sinh Số phiếu nhập Nút cập nhật - Tên xử lí: Cập nhật - Dữ liệu vào: Tên đĩa, số lượng, đơn giá, thành tiền - Dữ liệu ra: Số phiếu nhập - Thuật giải: Kiểm tra phiếu nhập đã có trên cơ sở dữ liệu hay chưa? Nếu có sửa thông tin trên cơ sở dữ liệu Nếu chưa: ghi xuống datagrid và cơ sở dữ liệu. Nút xoá - Tên xử lí: Xoá - Dữ liệu vào: Số phiếu nhập - Dữ liệu ra: Tên đĩa, số lượng, đơn giá, thành tiền - Thuật giải: Tìm phiếu nhập đã có trên cơ sở dữ liệu: sau đó xóa thông tin trên datagrid 52
  53. Nút thoát - Tên xử lí: Thoát - Dữ liệu vào: không có - Dữ liệu ra: không có - Thuật giải: Nhấn nút thoát thì chuyển sang form thông tin nhà cung cấp 4.3.8. Form Nhà cung cấp: 53
  54.  Danh sách các thuộc tính: STT Tên thuộc tính Diễn giải Kiểu dữ liệu Kích thước 1 Manhacungcap Mã nhà cung cấp Number 2 Tennhacungcap Tên nhà cung cấp Text 3 Diachi Địa chỉ Text 4 Dienthoai Điện thoại Number  Danh sách các xử lí: STT Tên xử lí Tên control Biến cố Ý nghĩa 1 Thêm mới btthemmoi click Thêm 1 nhà cung cấp mới 2 Cập nhật btcapnhat click Lưu thông tin nhà cung cấp 3 Thoát btthoat click Đóng cửa sổ  Mô tả xử lí: Nút thêm mới - Tên xử lí: Thêm mới - Dữ liệu vào: không có - Dữ liệu ra: Mã nhà cung cấp - Thuật giải: Nhấn vào nút Thêm mới sẽ xóa trắng các thông tin như:Mã nhà cung cấp,Tên nhà cung cấp, Địa chỉ ,Điện thoại. Nút cập nhật - Tên xử lí: Cập nhật - Dữ liệu vào: Không có 54
  55. - Dữ liệu ra: Mã nhà cung cấp - Thuật giải: Nhấn vào nút Cập nhật có 2 trường hợp: - Lưu: Nếu thêm mới thì sẽ lưu xuống cơ sỡ dữ liệu và datagrid. - Cập nhật: Nhập tên nhà cung cấp : Nếu có sẽ hiển thị: Tên nhà cung cấp, địa chỉ, điện thoại -> sửa Nếu không: ghi xuống cơ sở dữ liệu Nút thoát - Tên xử lí: Thoát - Dữ liệu vào: không có - Dữ liệu ra: không có - Thuật giải: Nhấn nút thoát thì đóng cửa sổ 4.3.9. Form Thể loại: 55
  56.  Danh sách các thuộc tính: STT Tên thuộc tính Diễn giải Kiểu dữ liệu Kích thước 1 Matheloai Mã thể loại Number 2 Tentheloai Tên thể loại Text  Danh sách các xử lí: STT Tên xử lí Tên control Biến cố Ý nghĩa 1 Thêm btthem Click 2 Cập nhật btcapnhat Click 3 Thoát btthoat Click  Mô tả xử lí: Nút thêm - Tên xử lí: Thêm - Dữ liệu vào: Tên thể loại - Dữ liệu ra: Mã thể loại - Thuật giải: Xóa trắng để nhập mới Phát sinh mã thể loại Nút cập nhật - Tên xử lí: Cập nhật - Dữ liệu vào: Tên thể loại 56
  57. - Dữ liệu ra : Mã thể loại - Thuật giải: Kiểm tra thể loại đã có trên cơ sở dữ liệu hay chưa? Nếu có sửa thông tin trên cơ sở dữ liệu Nếu chưa: ghi xuống datagrid và cơ sở dữ liệu Nút xoá - Tên xử lí: Xoá - Dữ liệu vào: Tên thể loại - Dữ liệu ra: Mã thể loại - Thuật giải: Tìm tên thể loại đã có trên cơ sở dữ liệu: sau đó xóa thông tin trên datagrid Nút thoát - Tên xử lí: Thoát - Dữ liệu vào: không có - Dữ liệu ra: không có - Thuật giải: Nhấn nút thoát thì đóng cửa sổ 57
  58. 4.3.10. Form Thống kê:  Danh sách các thuộc tính: STT Tên thuộc tính Diễn giải Kiểu dữ liệu Kích thước 1 Loaithongke Loại thống kê Text 2 Tungay Từ ngày Datetime 3 Denngay Đến ngày Datetime  Danh sách các xử lí: STT Tên xử lí Tên control Biến cố Ý nghĩa 1 Thống kê btthongke click In ra báo cáo 2 Thoát btthoat click  Mô tả xử lí: Nút thống kê - Tên xử lí: Thống kê - Dữ liệu vào: Loại thống kê, từ ngày, đến ngày 58
  59. - Dữ liệu ra: Tổng doanh thu, tổng giá vốn, kết quả kinh doanh - Thuật giải: Khi nhấn vào nút thống kê Nếu loại thống kê = “Báo cáo doanh thu” . Tính tổng tiền bán đĩa trong khoảng thời gian [Từ ngày], .[Đến ngày] . In ra mẫu báo cáo (report) Nút thoát - Tên xử lí: Thoát - Dữ liệu vào: không có - Dữ liệu ra: không có - Thuật giải: Nhấn nút thoát thì đóng cửa sổ 59
  60. 4.3.11. Form List bài hát:  Danh sách các thuộc tính: STT Tên thuộc tính Diễn giải Kiểu dữ liệu Kích thước 1 Tenbaihat Tên bài hát Text 2 Tencasi Tên ca sĩ Text  Danh sách các xử lí: STT Tên xử lí Tên control Biến cố Ý nghĩa 1 Bt click Thêm bài hát vào danh mục bài hát 2 Thêm btthem Click Thêm bài hát vào list 3 Cập nhật btcapnhat Click Ghi bài hát vào list 4 Xoá btxoa Click Xóa bài hát trong list 5 Thoát btthoat Click Thoát 60
  61.  Mô tả xử lí: Nút - Tên xử lí: - Dữ liệu vào: không có - Dữ liệu ra: không có - Thuật giải: khi click vào nút sẽ hiện ra danh mục bài hát Nút thêm - Tên xử lí: Thêm - Dữ liệu vào: không có - Dữ liệu ra: Mã bài hát - Thuật giải: Xóa trắng để nhập mới, phát sinh mã bài hát mới - Tên xử lí: Cập nhật - Dữ liệu vào: Tên bài hát, tên ca sĩ - Dữ liệu ra: Tên bài hát, tên ca sĩ - Thuật giải: Khi điền thông tin tên bài hát gần đúng nếu có bài hát thì sẽ hiển thị thông tin để sửa sau đó ghi xuống cơ sở dữ liệu. Nếu không sẽ ghi xuống cơ sở dữ liệu. 61
  62. Nút thoát - Tên xử lí: Thoát - Dữ liệu vào: không có - Dữ liệu ra: không có - Thuật giải: Nhấn nút thoát thì đóng cửa sổ 4.3.12. Form Danh mục bái hát:  Danh sách các thuộc tính: STT Tên thuộc tính Diễn giải Kiểu dữ liệu Kích thước 1 Mabaihat Mã bài hát Number 2 Tenbaihat Tên bài hát Text 62
  63.  Danh sách các xử lí: STT Tên xử lí Tên control Biến cố Ý nghĩa 1 Thêm mới btthemmoi Click Thêm bài hát 2 Cập nhật btcapnhat Click Ghi bài hát 3 Thoát btthoat Click Thoát  Mô tả xử lí: Nút thêm mới - Tên xử lí: Thêm mới - Dữ liệu vào: Không có - Dữ liệu ra: Mã bài hát - Thuật giải: Xóa trắng để thêm mới, phát sinh mã bài hát mới. Nút cập nhật - Tên xử lí: Cập nhật - Dữ liệu vào: Tên bài hát - Dữ liệu ra: Mã bài hát - Thuật giải: Khi điền thông tin tên bài hát gần đúng nếu có bài hát thì sẽ hiển thị thông tin để sửa, sau đó ghi xuống cơ sở dữ liệu. Nếu không sẽ ghi xuống cơ sở dữ liệu. 63
  64. Nút thoát - Tên xử lí: Thoát - Dữ liệu vào: không có - Dữ liệu ra: không có - Thuật giải: Nhấn nút thoát thì đóng cửa sổ 64
  65. Chương 5: Cài Đặt Và Thử Nghiệm 5.1. Cài đặt: Ở bước phân tích thiết kế, chương trình gồm có 10 lớp đối tượng chính tương ứng với 10 bảng ở cơ sở dữ liệu. Chương trình được cài đặt trên ngôn ngữ VB.Net là ngôn ngữ hỗ trợ hoàn toàn cho phương pháp lập trình hướng đối tượng. Trong chương trình sử dụng thư viện ADO.Net của Visual Studio.Net. Các đối tượng trong chương trình, dù có nhiều hoạt động khác nhau trên hệ thống, song chung quy lại các hoạt động này cũng chỉ xoay quanh các động tác: Thêm, xoá, sửa, lấy thông tin trên cơ sở dữ liệu. Các lớp đối tượng trong chương trình được đảm bảo tính mở và linh hoạt đồng thời cũng đảm bảo tính đóng gói dữ liệu để ngăn sự truy xuất dữ liệu trực tiếp từ bên ngoài. 5.2. Thử nghiệm: Chương trình được thử nghiệm trên Windown XP. Trước khi chạy chương trình phải có chương trình Visual Studio 2005 và Microsoft Access. Các lớp cơ sở dữ liệu được thiết kế trên Microsoft Access, còn các giao diện được thiết kế trên Visual Studio 2005. Trong khi lập trình, ta xây dựng 3 lớp: Access Layer, Business Layer và View Layer. Trong đó lớp Access Layer dùng để kết nối cơ sở dữ liệu , còn lớp Business Layer là một lớp trung gian để kết nối giữa Access Layer với View Layer. 65
  66. Trong lớp Business Layer ta tạo các lớp tương ứng với các bảng dưới cơ sở dữ liệu. Sau đó, trong các lớp này ta thiết lập thuộc tính, phương thức và xây dựng các hàm. Còn lớp View layer là lớp giao diện, trong lớp này ta gọi các phương thức để lấy cơ sở dữ liệu lên và hiển thị các thông tin cần thiết lên trên giao diện. 66
  67. Chương 6: Kết Luận 6.1. Đánh giá kết quả đạt được: Sau khi hoàn thành chúng tôi có những nhận xét và đánh giá như sau: Về giao diện: Chương trình đơn giản nhưng thiết kế còn nhiều khó khăn và cần khắc phục Về chức năng: Chương trình được sắp xếp thứ tự nhưng còn nhiều sai sót Về code: Về kỹ thuật lập trình còn gặp nhiều khó khăn và vướng mắc nên lập trình gặp nhiều khó khăn. Về việc cài đặt và sử dụng: Chương trình được cài đặt và sử dụng một cách nhanh chóng, thích hợp với các cửa hàng bán đĩa. 6.2. Kết luận: Sau hơn 4 tháng thực hiện khóa luận với sự giúp đỡ của Thầy Cô và các bạn. Đặc biệt là nhóm tôi được sự giúp đỡ tận tình của Cô Đào Thị Phấn, nay nhóm tôi đã hoàn thành khóa luận của mình.Tuy đây, không phải là một phần mềm ứng dụng tốt nhưng nó có thể đáp ứng được các nhu cầu của cửa hàng bán đĩa. Phần mềm ứng dụng này còn nhiều sai sót và hạn chế. 67