1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ Án môn học công nghệ phần mềm quản lý nhà sách

54 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Đồ Án Môn Học Công Nghệ Phần Mềm Quản Lý Nhà Sách
Tác giả Nguyễn Đăng Quang, Lê Thanh Trí, Ngô Hải Bình, Nguyễn Minh Hòa, Mai Quốc Hậu
Người hướng dẫn Ths. Lương Trần Hy Hiến
Trường học Trường Đại Học Công Nghệ Tphcm
Chuyên ngành Công Nghệ Phần Mềm
Thể loại đồ án
Năm xuất bản 2016
Thành phố Tp Hcm
Định dạng
Số trang 54
Dung lượng 11,82 MB

Cấu trúc

  • 1.1 Hiện trạng (4)
  • 1.2 Các biểu mẫu thống kê (5)
    • 1.2.1 Sơ đồ Use Case (7)
    • 1.2.2 Mô tả các thành phần (7)
  • 2.1 Phát hiện thực thể (9)
    • 2.1.1 Danh sách thực thể (10)
    • 2.1.2 Danh sách mối kết hợp (10)
  • 2.2 Mô hình ERD (CDM) (0)
    • 2.2.1 Sơ đồ CDM QLHS (0)
  • 2.3 Mô tả chi tiết thực thể - mối kết hợp (11)
  • 2.4 Mô tả chi tiết các thực thể (11)
    • 2.4.1 THỰC THỂ SACH (11)
    • 2.4.2 THỰC THỂ THELOAI (11)
    • 2.4.3 THỰC THỂ HOADON (12)
    • 2.4.4 THỰC THỂ KHACHHANG (12)
    • 2.4.5 THỰC THỂ PHIEUGIAO (12)
    • 2.4.6 THỰC THỂ BAOCAOTON (13)
    • 2.4.7 THỰC THỂ BAOCAOCONGNO (13)
    • 2.4.8 THỰC THỂ QUYDINH (13)
    • 2.4.9 THỰC THỂ NGƯỜI DÙNG (14)
  • 2.5 Mô tả chi tiết mối kết hợp (14)
    • 2.5.1 Mối kết hợp CTPHIEUGIAO (14)
    • 2.5.2 Mối kết hợp CTHD (15)
    • 2.5.3 Mối kết hợp CTBAOCAOTON (15)
    • 2.5.4 Mối kết hợp CTCONGNO (16)
  • 2.6 Sơ đồ luồng dữ liệu (17)
    • 2.6.1 Nhập sách (17)
    • 2.6.2 Quản lý thông tin kho sách (17)
    • 2.6.3 Xem báo cáo tháng (18)
    • 2.6.4 Quản lý quy định (19)
    • 2.6.5 Tra cứu thông tin sách, khách hàng (20)
    • 2.6.6 Lập hoá đơn, xuất hoá đơn (20)
    • 2.6.7 Đăng ký khách hàng thân thiết (21)
    • 2.6.8 Ghi nợ khách hàng (22)
    • 2.6.9 Lập phiếu thu tiền (22)
  • 3.1 Thiết kế dữ liệu (23)
    • 3.1.1 Mô hình vật lý (23)
    • 3.1.2 Danh sách các đối tượng (23)
    • 3.1.3 Mô tả chi tiết các Table (24)
  • 4.1 Thiết kế menu (28)
    • 4.2.2 Danh sách các thành phần màn hình trên sơ đồ (29)
  • 4.3 Thiết kế xử lý (0)
    • 4.3.1 Danh sách các xử lý (Các xử lý quan trọng) (0)
    • 4.3.2 Mô tả chi tiết từng xử lý (0)
  • 5.1 Cài đặt (52)
  • 5.2 Các thử nghiệm (52)
  • 6.1 Kết quả đạt được (54)
  • 6.2 Đánh giá ưu, khuyết điểm (54)
    • 6.2.1 Ưu điểm (54)
    • 6.2.2 Khuyết điểm (54)
  • 6.3 Hướng phát triển tương lai (54)

Nội dung

của nhiều Nhà xuất bản, nhà cung cấp sách có uy tín như: NXB Trẻ, Giáo Dục, Kim Đồng, Vănhóa -Văn Nghệ, Tổng hợp TP.HCM, Chính Trị Quốc Gia… Sách ngoại văn bao gồm: từ điển, giáo trình,

Hiện trạng

 Giới thiệu về thế giới thực liên quan

 Mô tả quy trình các công việc liên quan đến đề tài

 Mô tả các mẩu biểu có liên quan

 Mô tả các quy định ràng buộc có liên quan

 Mô tả các quy định công thức tính có liên quan

Nhà sách 506 (NS506), thuộc công ty 506, là một trong những nhà sách lớn nhất Việt Nam với chỉ một cơ sở duy nhất NS506 tự hào sở hữu hơn 5.000 cán bộ công nhân viên có trình độ chuyên môn cao, nhiệt tình, năng động và chuyên nghiệp Đội ngũ quản lý tại NS506 có nhiều năm kinh nghiệm, giỏi nghiệp vụ và có khả năng quản lý hiệu quả, đảm bảo hoạt động của đơn vị diễn ra suôn sẻ Nhà sách chuyên cung cấp sách quốc văn và ngoại văn với đầy đủ thể loại.

Sách quốc văn đa dạng với nhiều thể loại như sách giáo khoa, giáo trình, từ điển và sách tham khảo ở các lĩnh vực phong phú như văn học, tâm lý giáo dục, khoa học kỹ thuật, kinh tế - xã hội, phong thủy, nghệ thuật sống, danh ngôn, sách thiếu nhi, truyện tranh, nấu ăn và làm đẹp Nhiều nhà xuất bản uy tín như NXB Trẻ, Giáo Dục, Kim Đồng, Văn hóa - Văn Nghệ, Tổng hợp TP.HCM, và Chính Trị Quốc Gia cung cấp những tài liệu này.

Sách ngoại văn bao gồm nhiều thể loại như từ điển, giáo trình, sách tham khảo, truyện tranh thiếu nhi, sách học ngữ, từ vựng, ngữ pháp, cùng với tài liệu luyện thi TOEFL, TOEIC, IELTS Các ấn phẩm này được nhập khẩu từ các nhà xuất bản uy tín nước ngoài như Cambridge và Mc.

Graw-Hill, Pearson Education, Oxford, Macmillan, Cengage Learning…

NS506 cung cấp dịch vụ ưu đãi hấp dẫn cho khách hàng, bao gồm chương trình đăng ký khách hàng thân thiết, cho phép mua sách với mức giảm giá cao và hỗ trợ ghi nợ - xóa nợ trong thời gian ngắn hạn theo quy định.

Danh sách các công việc sẽ được hỗ trợ thực hiện trên máy tính (dựa theo tóm tắt yêu cầu đã cho). Chương trình cho phép:

 Đăng nhập: để vô màn hình của thu ngân hay quản lý.

Lập phiếu nhập sách là bước quan trọng trong việc quản lý kho lưu trữ dữ liệu Quy trình này bao gồm việc nhập danh sách các cuốn sách sẽ được thêm vào kho, với các thông tin cần thiết như tên sách, thể loại, tác giả và số lượng.

 Quản lý sách: xoá, sửa sách.

 Lập hoá đơn bán sách: Ghi hoá đơn tính tiền cho khách hàng.

 Tra cứu sách: Tìm kiếm sách, hoá đơn, khách hàng đang lưu trữ bằng cách nhập từ khoá.

 Lập phiếu thu tiền: Dùng để thu tiền trả nợ của khách hàng, khi khách đăng ký nợ tiền sách chưa trả đủ

 Quản lý thông tin khách hàng: dùng để thêm khách quen đi mua hàng Từ đó, chức năng này dùng để cho khách hàng quen thuộc nợ tiền.

 Quản lý quy định: dùng để sửa, thay đổi quy định được áp dụng trong nhà sách.

 Lập báo cáo tháng: bao gồm báo cáo công nợ và báo cáo tồn

Các biểu mẫu thống kê

Mô tả các thành phần

Gồm có Quản lý ,thu ngân, khách hàng.

Chức năng chung cho thu ngân và quản lý: Đăng nhập, tra cứu.

- Bước 1: Người dùng nhập thông tin tài khoản.

- Bước 2: Kiểm tra thông tin người xem có nhập đúng thông tin không.

- Bước 3: Nếu đúng thì tài khoản chức vụ là thu ngân sẽ vô giao diện thu ngân,tài khoản là quản lý sẽ vô giao diện quản lý.

- Bước 1: Người dùng muốn thấy được chức năng cần phải đăng nhập vô giao diện thu ngân hoặc quản lý.

- Bước 2:Người dùng nhập từ khoá cần tìm

Để tìm kiếm thông tin, bước 3 là chọn mục cần tra cứu như sách, hóa đơn hoặc khách hàng Sau khi thực hiện tìm kiếm, chương trình sẽ trả về kết quả và hiển thị dữ liệu cho người dùng.

- Bước 1: Chọn chức năng quản lý sách.

- Bước 2: Thông tin sách sẽ hiện lên, và các chức năng cho người dùng thao tác gồm sửa, xoá và chức năng “nhập sách”

Người dùng có thể chọn sách cần thiết và thực hiện một trong ba chức năng: sửa, xoá hoặc nhập sách Sau khi sửa sách, dữ liệu sẽ được cập nhật, trong khi việc xoá sách sẽ loại bỏ sách đó khỏi kho dữ liệu Khi nhấn nút nhập sách, màn hình sẽ hiển thị chức năng nhập thông tin sách.

- Bước 1: Người dùng nhập thông tin các cuốn sách.

- Bước 2: Khi thêm sách, dữ liệu sẽ được kiểm tra từ thông tin quản lý quy định gồm số lượng tồn tối thiểu và nhập tối thiểu

- Bước 3: Sau khi kiểm tra nếu không có sai sót thì dữ liệu sẽ được thêm vào kho dữ liệu lưu trữ.

 Báo cáo tồn: xem tồn số lượng sách ảnh hưởng từ nhập thông tin sách và lập hoá đơn

 Báo cáo công nợ: Xem nợ của khách hàng, báo cáo công nợ ảnh hưởng từ việc ghi nợ cho khách hàng.

 Lập báo cáo tháng: gồm báo cáo công nợ, báo cáo tồn:

- Bước 1: Người dùng nhập thông tin tháng, năm.

- Bước 2: Người dùng chọn xem báo cáo công nợ hay báo cáo tồn.

Nếu người dùng chọn xem báo cáo công nợ, màn hình báo cáo công nợ sẽ được hiển thị Ngược lại, nếu người dùng chọn xem báo cáo tồn, màn hình báo cáo tồn sẽ xuất hiện Báo cáo tồn chịu ảnh hưởng từ việc nhập thông tin sách và lập hóa đơn, trong khi báo cáo công nợ phụ thuộc vào việc ghi nợ cho khách hàng.

 Quản lý quy định: Dùng để quản lý thông tin nhập đối với quản lý và thu ngân

Khi người dùng chọn xem quy định, họ sẽ nhận được thông tin chi tiết về quy định đó Nếu muốn chỉnh sửa, chỉ cần nhấn nút sửa, thực hiện các thay đổi cần thiết và sau đó nhấn nút áp dụng để áp dụng các thay đổi ngay lập tức.

- Bước 1: Ghi thông tin cho hoá đơn mua hàng của người dùng.

- Bước 2: Sau mỗi lần thêm 1 món hàng thì sẽ kiểm.

Khi bấm tính tiền, hệ thống sẽ hiển thị số tiền cần thanh toán Nếu có nợ, sẽ có kiểm tra theo quy định về mức nợ tối đa Nếu số nợ không đúng theo quy định, bạn sẽ không được phép nợ hoặc mua sách.

- Bước 4: Nếu kiểm tra hoàn tất không có lỗi gì sẽ ghi hoá đơn ra đưa cho khách hàng.

- Bước 5: Nếu khách hàng không đủ tiền và yêu cầu ghi nợ thì thu ngân sẽ ghi nợ cho khách hàng.

Khách hàng cần ghi nợ sẽ được thu ngân hỗ trợ thông qua việc nhấn nút ghi nợ trong chức năng lập hóa đơn Lưu ý rằng chỉ những khách hàng quen thuộc mới đủ điều kiện để thực hiện ghi nợ.

- Bước 2: Sau khi bấm nút sẽ có màn hình hiện ra để ghi thông tin nợ cho khách hàng và lưu vào kho dữ liệu khách hàng nợ.

 Nhập thông tin khách hàng quen:

Khi khách hàng là khách quen của tiệm, ví dụ như họ thường xuyên mua sản phẩm với tổng giá trị cao, việc lập danh sách khách hàng thân thiết là cần thiết.

- Bước 2: Tiếp nhận thông tin từ khách hàng, thu ngân sẽ điền thông tin khách hàng rồi lưu vào kho dữ liệu khách hàng.

Khách hàng yêu cầu xoá nợ, thu ngân sẽ sử dụng chức năng lập phiếu thu tiền để tìm kiếm thông tin về số nợ của khách hàng.

Ghi lại số tiền mà khách hàng đã thanh toán và kiểm tra theo quy định hiện hành Nếu số tiền khách hàng trả vượt quá số tiền nợ, hãy thông báo lại cho khách hàng.

- Bước 3: Nếu không có trục trặc gì, lập phiếu thu tiền để xoá nợ cho khách hàng.

 Đăng ký nợ: khi khách hàng muốn ghi nợ yêu cầu đăng ký và cung cấp thông tin cho thu ngân.

 Đăng ký thông tin khách hàng: khi khách hàng là khách hàng quen thì có thể đăng ký thông tin khách hàng quen để có thể ghi nợ.

 Trả nợ: Khách hàng trả nợ.

 Thanh toàn: Khách hàng thanh toán tiền dựa vào hoá đơn.

Phát hiện thực thể

Danh sách thực thể

Báo cáo tồn BAO_CAO_TON

Báo cáo công nợ BAO_CAO_CONG_NO

Danh sách mối kết hợp

Chi tiết phiếu giao CHI_TIET_PHIEU_GIAO

Chi tiết hóa đơn CHI_TIET_HOA_DON

2.3 Mô tả chi tiết thực thể - mối kết hợp

2.4 Mô tả chi tiết các thực thể

Name Code Data Type Domain Primary Identifier Mandatory

MASACH MA_SACH Variable characters (100) TRUE TRUE TENSACH TEN_SACH Variable characters (100) FALSE TRUE TACGIA TAC_GIA Variable characters (100) FALSE TRUE

NXB NXB Variable characters (100) FALSE TRUE

SOLUONG SO_LUONG Integer FALSE FALSE

DONGIA DON_GIA Integer FALSE FALSE

Name Code Data Type Domain Primary Identifier Mandatory

MATL MA_THE_LOAI Variable characters (100) TRUE TRUETENTL TEN_THE_LOAI Variable characters (50) FALSE TRUE

Name Code Data Type Domain Primary

MAHD MA_HOA_DON Variable characters (100) TRUE TRUE

NGAYTHUTIEN NGAY_THU_TIEN Datetime FALSE FALSE

Name Code Data Type Domain Primary

MAKH MA_KHACH Variable characters (100) TRUE TRUE

TENKH TEN_KHACH_HANG Variable characters (100) FALSE TRUE

DIACHI DIA_CHI Variable characters (100) FALSE FALSE

DT DIEN_THOAI NUMERIC(11,0) FALSE FALSE

EMAIL EMAIL Variable characters (50) FALSE FALSE

TONGNO TONG_NO Integer FALSE FALSE

Name Code Data Type Domain Primary

Identifier Mandatory MAPG MA_PHIEU_GIAO Variable characters (100) TRUE TRUE

NGAYLAP NGAY_LAP Datetime FALSE FALSE

Name Code Data Type Domain Primary

MATON MA_TON Variable characters (100) TRUE TRUE

THANGLAP THANG_LAP datetime FALSE TRUE

Code BAO_CAO_CONG_NO

Name Code Data Type Domain Primary

Identifier Mandatory MANO MA_NO Variable characters (100) TRUE TRUE

THANGNO THANG_NO datetime FALSE TRUE

Name Code Data Type Domain Primary

NHAPTHOITHIEU NHAP_TOI_THIEU Integer FALSE FALSE

TONTOITHIEU TON_TOI_THIEU Integer FALSE FALSE

TIENNOTOIDA TIEN_NO_TOI_DA Integer FALSE FALSE

SUDUNGQD4 SU_DUNG_QD4 Bit FALSE FALSE

Name Code Data Type Domain Primary

USERNAME USERNAME Variable characters (100) TRUE TRUE PASSWORD PASSWORD Variable characters (100) FALSE TRUE CHUCVU CHUC_VU Variable characters (70) FALSE FALSE

2.5 Mô tả chi tiết mối kết hợp

Code CHI_TIET_PHIEU_GIAO

2.5.1.2 Danh sách thực thể liên quan

Association Entity Role Cardinality of Role

Name Code Domain Data Type Mandatory Comment

SOLUONG SO_LUONG Integer TRUE

Code CHI_TIET_HOA_DON

2.5.2.2 Danh sách thực thể liên quan

Association Entity Role Cardinality of Role

Name Code Domain Data Type Mandatory Comment

DONGIA DON_GIA Integer FALSE

SOLUONG SOLUONG Integer FALSE

Code CHI_TIET_BAO_CAO_TON

2.5.3.2 Danh sách thực thể liên quan

Association Entity Role Cardinality of Role

Name Code Domain Data Type Mandatory Comment

TONDAU TON_DAU Integer FALSE

SLNHAP SO_LUONG_NHAP Integer FALSE

SLBAN SO_LUONG_BAN Integer FALSE

TONCUOI TON_CUOI Integer FALSE

Code CHI_TIET_CONG_NO

2.5.4.2 Danh sách thực thể liên quan

Association Entity Role Cardinality of Role

Name Code Domain Data Type Mandatory Comment

NODAU NO_DAU Integer FALSE

PHATSINH PHAT_SINH Integer FALSE

NOCUOI NO_CUOI Integer FALSE

2.6 Sơ đồ luồng dữ liệu :

Nhập và kiểm tra D1 ( dùng D4 )

D2: Thông tin danh sách sách đưa vào kho dữ liệu.

D3 Số lượng nhập ít nhất, chỉ cho nhập sách có số lượng tồn ít nhất.

2.6.2 Quản lý thông tin kho sách:

D1: Xoá sách và cập nhật lại dữ liệu trong kho sách Việc sửa sách liên quan đến số lượng nhập và số lượng tồn sẽ do D4 kiểm tra.

D2: dữ liệu thay đổi nên cập nhật lại dữ liệu trong kho sách.

D1: Thông tin sách muốn xoá, sửa

D2: dữ liệu kho sách cập nhật sau khi xoá, sửa

D3 Số lượng nhập ít nhất, chỉ cho nhập sách có số lượng tồn ít nhất.

Xử lý sửa, xoá sách Xử lý tham

Xem báo cáo công nợ hay báo cáo tồn

D1: yêu cầu xem báo cáo ( loại công nợ hay báo cáo tồn do người dùng chọn )

D2 Kết quả có được sau khi chọn lọc trong kho dữ liệu.

D2: ghi lại quy định mới ( cập nhật).

D3: lấy thông tin đưa lên cho người dùng xem sau khi thay đổi bởi D1.

D1 Thông tin quy định được thay đổi.

D3 Quy định được cập nhật sau khi thay đổi.

Thay đổi các quy định

2.6.5 Tra cứu thông tin sách, khách hàng:

D1: Thông tin sách, khách hàng, hoá đơn được nhập từ quản lý.

D2 Thông tin trả về chọn lọc từ kho dữ liệu.

2.6.6 Lập hoá đơn, xuất hoá đơn:

D1 Yêu cầu lập hoá đơn của khách hàng.

D3: Ghi thông tin hoá đơn

D5 Kiểm tra quy định về số lượng sách lấy thông tin sách lên từ

( D7 ), kiểm tra số tiền nợ…

D8 lập hoá đơn xong tiến hành xuất hoá đơn cho khách hàng.

D10: Cập nhật lại số lượng trong kho sách.

D11: giao sách cho khách hàng.

Tra cứu thông tin sách, khách hàng, hoá đơn

D1 Thông tin sách của khách hàng đã chọn.

D3: Thông tin sách được khách hàng chọn mua.

D4 ghi thông tin hoá đơn vào kho dữ liệu hoá đơn.

2.6.7 Đăng ký khách hàng thân thiết:

Xử lý yêu cầu lập khách hàng thân thiết

Xử lý nhập khách hàng thân thiết

Yêu cầu lập hoá đơn

Quy định Hoá đơn Sách

D1 Nhận yêu cầu lập khách hàng thân thiết.

D3 Nhập thông tin khách hàng váo kho dữ liệu khách hàng.

D1 yêu cầu ghi nợ cho khách hàng.

D3 Ghi thông tin khách hàng nợ vào kho dữ liệu chi tiết công nợ.

Xử lý yêu cầu ghi nợ

Xử lý ghi nợ khách hàng

Xử lý yêu cầu lập phiếu thu tiền

Xử lý xoá nợ cho khách hàng

Chi tiết công nợ Quy định

D1 Yêu cầu xoá nợ của khách hàng.

D3 Kiểm tra thông tin khách hàng.

D5 Tiến hành cập nhật lại số tiền khách đã nợ.

D7 Kiểm tra tham số theo quy định.

3.1.2 Danh sách các đối tượng

CTPHIEUGIAO CHI_TIET_PHIEU_GIAO

CHI_TIET_HOA_DON CHI _TIET_CONG_NO CHI_TIET_BAO_CAO_TON

3.1.3 Mô tả chi tiết các Table

Name Chi tiết kết quả

Name Code Domain Primary Mandatory

MASACH MA_SACH TRUE TRUE

MATL MA_TL TRUE TRUE

TENSACH TEN_SACH FALSE TRUE

TACGIA TAC_GIA FALSE TRUE

NXB NXB FALSE TRUE

SOLUONG SO_LUONG FALSE TRUE

DONGIA DON_GIA FALSE TRUE

Name Code Domain Primary Mandatory

MAHD MA_HD TRUE TRUE

NGAYTHUTIEN NGAY_THU_TIEN FALSE TRUE

TONGTIEN TONG_TIEN FALSE TRUE

MAKH MA_KH FALSE TRUE

Name Code Domain Primary Mandatory

MAPG MA_PG TRUE TRUE

NGAYLAP NGAY_LAP FALSE TRUE

Name Code Domain Primary Mandatory

MATL MATL TRUE TRUE

TENTL TENTL FALSE TRUE

Name Code Domain Primary Mandatory

MAKH MA_KH TRUE TRUE

TENKH TEN_KH FALSE TRUE

DIACHI DIA_CHI FALSE TRUE

DT DT FALSE TRUE

EMAIL EMAIL FALSE TRUE

TONGNO TONG_NO FALSE TRUE

Name Code Domain Primary Mandatory

USERNAME USERNAME TRUE TRUE

PASSWORD PASSWORD TRUE TRUE

CHUCVU CHUC_VU FALSE TRUE

Name Code Domain Primary Mandatory

NHAPTOITHIEU QD1 TRUE TRUE

TONTOITHIEU QD2 FALSE TRUE

Code BAO_CAO_CONG_NO

Name Code Domain Primary Mandatory

MANO MA_NO TRUE TRUE

THANGNO THANG_NO FALSE TRUE

Name Code Domain Primary Mandatory

MAPG MA_PG TRUE TRUE

MASACH MA_SACH FALSE TRUE

SOLUONG SO_LUONG FALSE TRUE

Name Code Domain Primary Mandatory

MAHD MA_HD TRUE TRUE

MASACH MA_SACH FALSE TRUE

DONGIA DON_GIA FALSE TRUE

SOLUONG SO_LUONG FALSE TRUE

Name Code Domain Primary Mandatory

MANO MA_NO TRUE TRUE

MAKH MA_KH FALSE TRUE

NODAU NO_DAU FALSE TRUE

PHATSINH PHAT_SINH FALSE FALSE

NOCUOI NO_CUOI FALSE TRUE

Code CT_BAO_CAO_TON

Name Code Domain Primary Mandatory

MATON MA_TON TRUE TRUE

MASACH MA_SACH FALSE TRUE

TONDAU TON_DAU FALSE TRUE

SLNHAP SL_NHAP FALSE TRUE

SLBAN SL_BAN FALSE FALSE

TONCUOI TON_CUOI FALSE TRUE

+ Sơ đồ chính (Sơ đồ phân quyền, chia theo Quản lý và Thu ngân)

+ Sơ đồ chi tiết (Sơ đồ chung, không chia theo Quản lý và Thu ngân)

4.2.2 Danh sách các thành phần màn hình trên sơ đồ

3 Màn hình quản lý sách

4 Màn hình nhập thông tin sách

5 Màn hình tra cứu thông tin

6 Màn hình truy vấn dữ liệu

7 Màn hình báo cáo nợ

8 Màn hình báo cáo tồn

11 Màn hình hóa đơn bán hàng

12 Màn hình đăng ký nợ

13 Màn hình đăng ký khách hàng thân thiết

14 Màn hình thanh toán nợ

15 Màn hình phiếu thu tiền

STT Name Control Ý nghĩa Ghi chú

1 txtTenDangNhap TextBox Tên đăng nhập Không được rỗng

2 txtMatKhau TextBox Mật khẩu Không được rỗng

3 btnDangNhap Button Nút đăng nhập

5 lblBaoLoi Lable Thông báo lỗi Ẩn khi hiện chương trình

STT Điều kiện kích hoạt Xử lý dữ liệu

1 Nhập sai tên đăng nhập hoặc mật khẩu - Khi nhấn nút đăng nhập sẽ báo lỗi vì phải nhập đúng tên đăng nhập và mật khẩu

2 Không nhập tên đăng nhập hoặc mật khẩu

- Khi nhấn nút đăng nhập sẽ báo lỗi vì phải nhập đầy đủ tên đăng

3 Nhập đầy đủ tên đăng nhập và mật khẩu rồi nhấn nút đăng nhập

- Nếu là tài khoản quản lý thì truy cập vào trang chủ giao diện quản lý

- Nếu là tài khoản thu ngân thì truy cập vào trang chủ giao diện thu ngân

4 Nhấn vào nút thoát - Thoát khỏi màn hình đăng nhập

STT Name Control Ý nghĩa Ghi chú

1 btnDangXuat Button Nút đăng xuất

2 lblTenNguoiDung Lable Tên người dùng

STT Điều kiện kích hoạt Xử lý dữ liệu

0 Khởi động màn hình Hiển thị tên người dùng, chức vụ, ngày tháng hiện tại sau khi đăng nhập

Khi người dùng bấm nút đăng xuất, một hộp thoại yes/no sẽ xuất hiện để hỏi liệu họ có muốn đăng xuất hay không Nếu người dùng chọn "Có", hệ thống sẽ đưa họ trở lại màn hình đăng nhập.

GIAO DIỆN QUẢN LÝ SÁCH

STT Name Control Ý nghĩa Ghi chú

1 txtMaSach_qls TextBox Mã sách Không nhập được

2 txtTenSach_qls TextBox Tên sách Không nhập được

3 txtTacGia_qls TextBox Tác giả Không nhập được

4 txtNhaXuatBan_qls TextBox Nhà xuất bản Không nhập được

5 cboTheLoai_qls ComboBox Thể loại Không chọn được

6 numSoLuong_qls NumericUpDown Số lượng Phải > 0, hiện giờ không chọn

7 txtDonGia_qls TextBox Đơn giá Không được rỗng Chỉ cho nhập số nguyên

Phải > 0, hiện giờ không nhập được.

8 btnNhapSach_qls Button Nút nhập sách

9 btnSua_qls Button Nút sửa

10 btnXoa_qls Button Nút xóa Không nhấn được

11 btnLuu_qls Button Nút lưu Không nhấn được

12 btnHuyBo_qls Button Nút hủy bỏ

13 dgvQuanLySach DataGridView Bảng dữ liệu quản lý sách

STT Điều kiện kích hoạt Xử lý dữ liệu

0 Khởi động màn hình - Load dữ liệu lên dgvQuanLySach

1 Chọn số lượng nhỏ hơn hoặc bằng không và chọn số lượng sai quy định

- Khi nhấn nút lưu sẽ hiển thị hộp thoại báo lỗi vì người dùng phải chọn số lượng > 0 và phải đúng theo quy định

2 Nhập đơn giá < 0 hoặc nhập đơn giá bằng chữ

- Hiển thị hộp thoại báo lỗi vì người dùng phải nhập vào số nguyên > 0

3 Nhấn vào nút nhập sách - Hiển thị ra giao diện “Nhập thông tin sách”

4 Chọn ít nhất 1 dòng và bấm nút sửa - Các TextBox sẽ hiện ra để người dùng có thể nhập vào để sửa

- Lúc này nút lưu và nút hủy bỏ sẽ hiện ra để cho người dùng có thể thao tác

Để xóa dòng, hãy chọn ít nhất 1 dòng và nhấn nút xóa Một hộp thoại sẽ xuất hiện với câu hỏi yes/no để xác nhận việc xóa Nếu người dùng chọn "có", dòng đang được chọn sẽ bị xóa.

- Lúc này nút lưu và nút hủy bỏ sẽ hiện ra để cho người dùng có thể thao tác

6 Sau khi sửa hoặc xóa rồi bấm nút lưu - Hiển thị ra hộp thoại yes/no hỏi người dùng có muốn lưu hay không

- Nếu người dùng chọn có thì các dữ liệu sau khi thay đổi sẽ được lưu vào database

7 Khi sửa hoặc xóa sai rồi bấm nút hủy bỏ - Hiển thị hộp yes/no hỏi người dùng có muốn hủy bỏ hay không

- Nếu người dùng chọn có thì các dữ liệu đang bị sửa hoặc xóa sẽ không bị thay đổi

Các TextBox và Button sẽ trở về trạng thái ban đầu, không cho phép người dùng thao tác Cụ thể, TextBox sẽ bị khóa để người dùng không thể nhập liệu, trong khi các Button lưu và xóa sẽ bị ẩn, ngăn chặn việc nhấn vào.

GIAO DIỆN NHẬP THÔNG TIN SÁCH

STT Name Control Ý nghĩa Ghi chú

1 txtTenSach_ns TextBox Tên sách Không được rỗng

2 txtTacGia_ns TextBox Tác giả

3 cboTheLoai_ns TextBox Thể loại

4 txtNhaXuatBan_ns TextBox Nhà xuất bản

5 txtSoLuong_ns ComboBox Số lượng Phải chọn

6 txtDonGia_ns TextBox Đơn giá Không được rỗng

7 lblDate_ns Lable Ngày tháng

8 btnThem_ns Button Nút thêm

9 btnSua_ns Button Nút sửa Không nhấn được

10 btnXoa_ns Button Nút xóa Không nhấn được

11 btnNhapSach_ns Button Nút nhập sách

12 btnHuyBo_ns Button Nút hủy bỏ

13 dgvNhapSach DataGridView Bảng dữ liệu nhập sách

STT Điều kiện kích hoạt Xử lý dữ liệu

0 Khởi động màn hình - Load dữ liệu lên dgvNhapSach

Khi bạn không nhập tên sách và nhấn nút thêm hoặc nhập sách, một hộp thoại lỗi sẽ xuất hiện, thông báo rằng tên sách là thông tin cần thiết không thể thiếu để hoàn tất quy trình.

2.1 Chọn số lượng nhỏ hơn hoặc bằng không - Hiển thị hộp thoại báo lỗi vì người dùng phải chọn số lượng > 0 2.2 Chọn số lượng sai quy định rồi bấm nút nhập sách - Hiển thị hộp thoại báo lỗi vì người dùng phải chọn số lượng theo quy định (Người dùng đọc bảng quy định trước khi chọn số lượng)

3.1 Không nhập vào đơn giá - Khi nhấn nút thêm hoặc nhập sách sẽ hiển thị hộp thoại báo lỗi vì đơn giá là 1 trong những thông tin cần thiết cần phải có của 1 quyển sách 3.2 Nhập đơn giá < 0 , nhập đơn giá bằng chữ

- Hiển thị hộp thoại báo lỗi vì người dùng phải nhập vào số nguyên > 0

4 Sau khi nhập đầy đủ thông tin sách rồi bấm nút thêm - Thông tin sách vừa nhập vào các

TextBox sẽ được thêm vào dgvNhapSach

5 Chọn ít nhất 1 dòng và bấm nút sửa - Thông tin hiện có của quyển sách đang chọn sẽ được đổ vào các TextBox cho người dùng sửa

- Lúc này nút nhập sách và nút hủy bỏ sẽ hiện ra để cho người dùng có thể thao tác

6 Chọn ít nhất 1 dòng và bấm nút xóa

- Hiển thị ra hộp thoại yes/no hỏi người dùng có muốn xóa hay không.

Nếu người dùng chọn có thì dòng đang chọn hiện tại sẽ được xóa

- Lúc này nút nhập sách và nút hủy bỏ sẽ hiện ra để cho người dùng có thể thao tác

7 Sau khi sửa hoặc xóa rồi bấm nút nhập sách - Hiển thị ra hộp thoại yes/no hỏi người dùng có muốn nhập sách hay không

- Nếu người dùng chọn có thì các thông tin sách vừa thêm vào dgvNhapSach sẽ được lưu vào database

8 Khi sửa hoặc xóa sai rồi bấm nút hủy bỏ

- Hiển thị hộp yes/no hỏi người dùng có muốn hủy bỏ hay không

- Nếu người dùng chọn có thì các dữ liệu đang bị sửa hoặc xóa sẽ không bị thay đổi

Các TextBox và Button sẽ trở về trạng thái ban đầu, như chưa từng được thao tác Các TextBox sẽ trống rỗng, trong khi các Button sửa, nhập sách và xóa sẽ bị ẩn, không cho phép người dùng nhấn vào.

STT Name Control Ý nghĩa Ghi chú

2 rbtS_tc RadioButton Nút chọn sách

3 chkConHang CheckBox Nút chọn còn hàng Không check được

4 rbtHD_tc RadioButton Nút chọn hóa đơn

5 rbtKH_tc RadioButton Nút chọn khách hàng

6 chkKhachNo CheckBox Nút chọn khách nợ Không check được

7 dgvTraCuu DataGridView Bảng dữ liệu tra cứu

STT Điều kiện kích hoạt Xử lý dữ liệu

1 Nhập từ khóa rồi check vào

- Thông tin sách cần tra cứu sẽ hiển thị trên dgvTraCuu

- Các RadioButton còn lại sẽ không được check

- Hiện ra checkbox còn hàng

2 Nhập từ khóa rồi check vào

RadioButton Sách và CheckBox còn hàng

- Thông tin sách còn hàng cần tra cứu sẽ hiển thị trên dgvTraCuu

- Các RadioButton còn lại sẽ không được check

3 Nhập từ khóa rồi check vào

RadioButton hóa đơn - Thông tin hóa đơn cần tra cứu sẽ hiển thị trên dgvTraCuu

- Các RadioButton còn lại sẽ không được check

- Hiện ra checkbox khách nợ.

4 Nhập từ khóa rồi check vào

- Thông tin khách hàng cần tra cứu sẽ hiển thị trên dgvTraCuu Các RadioButton còn lại sẽ không được check

5 Nhập từ khóa rồi check vào

- Thông tin khách hàng nợ cần tra cứu sẽ hiển thị trên dgvTraCuu

- Các RadioButton còn lại sẽ không được check

GIAO DIỆN TRUY VẤN DỮ LIỆU

STT Name Control Ý nghĩa Ghi chú

1 txtThang_tvdl TextBox Tháng Không được rỗng

2 txtNam_tvdl TextBox Năm Không được rỗng

3 btnBaoCaoTon Button Báo cáo tồn

4 btnBaoCaoNo Button Báo cáo nợ

STT Điều kiện kích hoạt Xử lý dữ liệu

1 Nhập tháng bằng chữ hay nhập tháng < 0 hoặc > 12 - Hiển thị hộp thoại báo lỗi vì tháng nhập vào phải là số nguyên và phải > 0 và < 12

2 Nhập năm bằng chữ hay nhập năm < năm có trong dữ liệu báo cáo hoặc > năm hiện tại

- Hiển thị hộp thoại báo lỗi vì năm nhập vào phải là số nguyên

> 0 Năm nhập vào phải >= năm có trong dữ liệu báo cáo và =< năm hiện tại

3 Không nhập tháng hoặc năm mà nhấn vào nút báo cáo tồn hay nút báo cáo nợ

- Hiển thị hộp thoại báo lỗi vì phải nhập cả tháng và năm mới có thể xuất báo cáo được

4 Sau khi nhập tháng và năm rồi nhấn nút báo cáo tồn - Xuất ra màn hình báo cáo tồn

5 Sau khi nhập tháng và năm rồi nhấn nút báo cáo nợ - Xuất ra màn hình báo cáo nợ

GIAO DIỆN BÁO CÁO NỢ

STT Name Control Ý nghĩa Ghi chú

1 txtThang_bcn TextBox Tháng Không nhập được

2 txtNam_bcn TextBox Năm Không nhập được

3 btnThoat_bcn Button Nút thoát

4 dgvBaoCaoNo DataGridView Bảng dữ liệu báo cáo nợ

STT Điều kiện kích hoạt Xử lý dữ liệu

0 Khởi động màn hình - Load dữ liệu lên dgvBaoCaoNo,

- Tháng và năm là số mà người dùng đã nhập

1 Nhấn nút thoát - Thoát khỏi màn hình báo cáo nợ

GIAO DIỆN BÁO CÁO TỒN

STT Name Control Ý nghĩa Ghi chú

1 txtThang_bct TextBox Tháng Không nhập được

2 txtNam_bct TextBox Năm Không nhập được

3 btnThoat_bct Button Nút thoát

4 dgvBaoCaoTon DataGridView Bảng dữ liệu báo cáo tồn

STT Điều kiện kích hoạt Xử lý dữ liệu

1 Khởi động chương trình - Load dữ liệu lên dgvBaoCaoTon

- Tháng và năm là số mà người dùng đã nhập

2 Nhấn nút thoát - Thoát khỏi màn hình báo cáo tồn

STT Name Control Ý nghĩa Ghi chú

1 txtNhapMin_qd TextBox Nhập tối thiểu Chỉ được nhập số nguyên > 0, hiện giờ không nhập được.

2 txtTonMin_qd TextBox Tồn tối thiểu Chỉ được nhập số nguyên > 0, hiện giờ không nhập được.

3 txtNoMax_qd TextBox Tiền nợ tối đa Chỉ được nhập số nguyên > 0, hiện giờ không nhập được.

4 txtTonMinSauBan_qd TextBox Tồn tối thiểu sau khi bán

Chỉ được nhập số nguyên > 0, hiện giờ không nhập được.

5 rbtYes_qd RadioButton Có Hiện giờ không chọn được.

6 rbtNo_qd RadioButton Không Hiện giờ không chọn được.

7 btnApDung_qd Button Nút áp dụng Không nhấn được

8 btnSua_qd Button Nút sửa

9 btnHuyBo_qd Button Nút hủy bỏ Không nhấn được

STT Điều kiện kích hoạt Xử lý dữ liệu

1 Nhấn nút sửa - Các TextBox sẽ hiện lên cho người dùng nhập vào quy định cần sửa

- Các Button áp dụng và hủy bỏ sẽ hiện lên cho người dùng thao tác

2 Nhập vào số lượng nhập tối thiếu < 0 hoặc bằng chữ

- Khi nhấn nút áp dụng sẽ hiển thị hộp thoại báo lỗi vì số lượng nhập tối thiểu chỉ được nhập vào số nguyên > 0

3 Nhập vào số lượng tồn tối thiểu < 0 hoặc bằng chữ

- Khi nhấn nút áp dụng sẽ hiển thị hộp thoại báo lỗi vì số lượng tồn tối thiểu chỉ được nhập vào số nguyên > 0

4 Nhập vào số tiền nợ tối đa

5 Nhập vào số lượng tồn tối thiểu sau khi bán < 0 hoặc bằng chữ

- Khi nhấn nút áp dụng sẽ hiển thị hộp thoại báo lỗi vì số lượng tồn tối thiểu sau khi bán chỉ được nhập vào số nguyên > 0

6 Sau khi sửa rồi nhấn nút áp dụng

- Hiển thị hộp thoại yes/no hỏi người dùng có muốn ap dụng hay không

- Nếu người dùng chọn có thì các quy định mới sẽ được lưu vào cơ sở dữ liệu

7 Sau khi sửa sai rồi nhấn nút hủy bỏ - Hiển thị hộp yes/no hỏi người dùng có muốn hủy bỏ hay không

- Nếu người dùng chọn có thì các dữ liệu đang bị sửa sẽ không bị thay đổi

Các TextBox và Button sẽ trở lại trạng thái ban đầu như chưa từng được thao tác, với TextBox không cho phép người dùng nhập liệu và Button sẽ bị ẩn để ngăn người dùng nhấn vào.

STT Name Control Ý nghĩa Ghi chú

1 cboTenSach_hd ComboBox Tên sách

2 numSoLuong_hd NumericUpDown Số lượng Không chọn được

3 lblDate_hd Lable Ngày tháng

4 txtTongCong_hd TextBox Tổng cộng Không nhập được

5 txtTienNhan_hd TextBox Tiền nhận

6 txtTienThoi_hd TextBox Tiền thối Không nhập được

7 btnDangKyNo Button Đăng ký nợ

8 btnThem_hd Button Nút thêm

9 btnXoa_hd Button Nút xóa Không nhấn được

10 btnXoaSach_hd Button Nút xóa sạch Không nhấn được

11 btnTinhTien_hd Button Nút tính tiền

12 btnXuatHoaDon_hd Button Nút xuất hóa đơn

13 dgvHoaDon DataGridView Bảng dữ liệu hóa đơn

STT Điều kiện kích hoạt Xử lý dữ liệu

0 Khởi động chương trình - Load dữ liệu lên dgvHoaDon

1 Không chọn tên sách - Khi nhấn nút thêm sẽ hiển thị hộp thoại báo lỗi vì người dùng phải chọn tên sách để lập hóa đơn

2 Chọn số lượng 0

Sau khi nhập số tiền khách hàng đã thanh toán và nhấn nút tính tiền, máy sẽ tự động tính toán tổng số tiền và số tiền thối, sau đó hiển thị kết quả trên các trường txtTienNhan_hd và txtTienThoi_hd.

Nếu khách hàng có nợ, hệ thống sẽ thông báo số tiền nợ hiện có Tuy nhiên, nếu số nợ vượt quá giới hạn quy định, khách hàng sẽ không được phép mua sách.

5 Sau khi nhập đầy đủ thông tin của hóa đơn vào các TextBox rồi nhấn nút thêm

- Các thông tin hóa đơn vừa nhập vào sẽ hiển thị lên dgvHoaDon

6 Chọn 1 dòng thông tin sản phẩm trên dgvHoaDon rồi nhấn nút xóa

- Hiển thị hộp thoại yes/no hỏi người dùng có muốn xóa hay không

- Nếu người dùng chọn có thì xoá thông tin sản phẩm đang chọn

7 Nhấn nút xóa sạch Lúc đầu nút ( xóa sạch sẽ bị ẩn không cho người dùng thao tác nếu như chưa có hóa đơn nào được thêm vào)

- Hiển thị hộp thoại yes/no hỏi người dùng có muốn xóa hay không

- Nếu người dùng chọn có thì các hóa đơn trên dgvHoaDon sẽ bị xóa sạch

- Sau khi nhấn xóa sạch sẽ trả lại trạng thái ban đầu cho các TextBox(làm rỗng), ComboBox, NumericUpDown và các Button

8 Nhấn nút đăng ký nợ - Hiện ra màn hình đăng ký nợ

9 Nhấn nút xuất hóa đơn - Hiện ra màn hình hóa đơn bán hàng

GIAO DIỆN HÓA ĐƠN BÁN HÀNG

STT Name Control Ý nghĩa Ghi chú

1 lblDate_xhd Lable Ngày tháng

2 dgvHoaDon_xhd DataGridView Bảng dữ liệu hóa đơn

3 txtTongCong_xhd TextBox Tổng cộng Không nhập được

4 txtTienNhan_xhd TextBox Tiền nhận Không nhập được

5 txtTienThoi_xhd TextBox Tiền thối Không nhập được

6 txtTienNo_xhd TextBox Tiền nợ Không nhập được

STT Điều kiện kích hoạt Xử lý dữ liệu

0 Khởi động chương trình - Load dữ liệu lên dgvHoaDon_xhd

GIAO DIỆN ĐĂNG KÝ NỢ

STT Name Control Ý nghĩa Ghi chú

1 txtMaKhachHang_dkn TextBox Mã khách hàng Không nhập được

2 txtHoTen_dkn TextBox Họ tên

3 txtSoTien_dkn TextBox Số tiền

4 btnDangKyNo_dkn Button Nút đăng ký nợ

STT Điều kiện kích hoạt Xử lý dữ liệu

1 Nhập vào số tiền nợ < 0 hoặc bằng chữ hoặc nhập sai với quy định

Hộp thoại báo lỗi sẽ hiển thị nếu số tiền nợ nhập vào không phải là số nguyên dương hoặc không tuân thủ quy định Người dùng cần đọc kỹ các quy định trước khi thực hiện việc nhập số tiền.

2 Khi chưa nhập vào đẩy đủ thông tin cần thiết của khách hàng đăng ký nợ

Nút đăng ký nợ sẽ bị ẩn cho đến khi người dùng cung cấp đầy đủ thông tin cần thiết của khách hàng để hoàn tất quá trình đăng ký nợ.

3 Sau khi nhập vào đầy đủ thông tin của khách hàng

- Hiển thị hộp thoại yes/no hỏi người dùng có muốn đăng ký hay không

Khi người dùng nhấn nút đăng ký nợ sau khi điền thông tin vào các TextBox, nếu chọn "Có", toàn bộ dữ liệu sẽ được lưu trữ vào cơ sở dữ liệu.

GIAO DIỆN ĐĂNG KÝ KHÁCH HÀNG THÂN THIẾT

STT Name Control Ý nghĩa Ghi chú

1 txtMaKhachHang TextBox Mã khách hàng Không nhập được

2 txtHoTen TextBox Họ tên Không được rỗng

3 txtDiaChi TextBox Địa chỉ Không được rỗng

4 txtDienThoai TextBox Điện thoại Chỉ được nhập số nguyên, Không được rỗng.

6 btnDangKy_kh Button Nút đăng ký Không nhấn được

7 btnHuyBo_kh Button Nút hủy bỏ

STT Điều kiện kích hoạt Xử lý dữ liệu

1 Nhập số điện thoại bằng chữ - Hiển thị hộp thoại báo lỗi vì số

76 điện thoại nhập vào phải là số nguyên

Mô hình ERD (CDM)

Mô tả chi tiết các thực thể

THỰC THỂ SACH

Name Code Data Type Domain Primary Identifier Mandatory

MASACH MA_SACH Variable characters (100) TRUE TRUE TENSACH TEN_SACH Variable characters (100) FALSE TRUE TACGIA TAC_GIA Variable characters (100) FALSE TRUE

NXB NXB Variable characters (100) FALSE TRUE

SOLUONG SO_LUONG Integer FALSE FALSE

DONGIA DON_GIA Integer FALSE FALSE

THỰC THỂ THELOAI

Name Code Data Type Domain Primary Identifier Mandatory

MATL MA_THE_LOAI Variable characters (100) TRUE TRUETENTL TEN_THE_LOAI Variable characters (50) FALSE TRUE

THỰC THỂ HOADON

Name Code Data Type Domain Primary

MAHD MA_HOA_DON Variable characters (100) TRUE TRUE

NGAYTHUTIEN NGAY_THU_TIEN Datetime FALSE FALSE

THỰC THỂ KHACHHANG

Name Code Data Type Domain Primary

MAKH MA_KHACH Variable characters (100) TRUE TRUE

TENKH TEN_KHACH_HANG Variable characters (100) FALSE TRUE

DIACHI DIA_CHI Variable characters (100) FALSE FALSE

DT DIEN_THOAI NUMERIC(11,0) FALSE FALSE

EMAIL EMAIL Variable characters (50) FALSE FALSE

TONGNO TONG_NO Integer FALSE FALSE

THỰC THỂ PHIEUGIAO

Name Code Data Type Domain Primary

Identifier Mandatory MAPG MA_PHIEU_GIAO Variable characters (100) TRUE TRUE

NGAYLAP NGAY_LAP Datetime FALSE FALSE

THỰC THỂ BAOCAOTON

Name Code Data Type Domain Primary

MATON MA_TON Variable characters (100) TRUE TRUE

THANGLAP THANG_LAP datetime FALSE TRUE

THỰC THỂ BAOCAOCONGNO

Code BAO_CAO_CONG_NO

Name Code Data Type Domain Primary

Identifier Mandatory MANO MA_NO Variable characters (100) TRUE TRUE

THANGNO THANG_NO datetime FALSE TRUE

THỰC THỂ QUYDINH

Name Code Data Type Domain Primary

NHAPTHOITHIEU NHAP_TOI_THIEU Integer FALSE FALSE

TONTOITHIEU TON_TOI_THIEU Integer FALSE FALSE

TIENNOTOIDA TIEN_NO_TOI_DA Integer FALSE FALSE

SUDUNGQD4 SU_DUNG_QD4 Bit FALSE FALSE

THỰC THỂ NGƯỜI DÙNG

Name Code Data Type Domain Primary

USERNAME USERNAME Variable characters (100) TRUE TRUEPASSWORD PASSWORD Variable characters (100) FALSE TRUECHUCVU CHUC_VU Variable characters (70) FALSE FALSE

Mô tả chi tiết mối kết hợp

Mối kết hợp CTPHIEUGIAO

Code CHI_TIET_PHIEU_GIAO

2.5.1.2 Danh sách thực thể liên quan

Association Entity Role Cardinality of Role

Name Code Domain Data Type Mandatory Comment

SOLUONG SO_LUONG Integer TRUE

Mối kết hợp CTHD

Code CHI_TIET_HOA_DON

2.5.2.2 Danh sách thực thể liên quan

Association Entity Role Cardinality of Role

Name Code Domain Data Type Mandatory Comment

DONGIA DON_GIA Integer FALSE

SOLUONG SOLUONG Integer FALSE

Mối kết hợp CTBAOCAOTON

Code CHI_TIET_BAO_CAO_TON

2.5.3.2 Danh sách thực thể liên quan

Association Entity Role Cardinality of Role

Name Code Domain Data Type Mandatory Comment

TONDAU TON_DAU Integer FALSE

SLNHAP SO_LUONG_NHAP Integer FALSE

SLBAN SO_LUONG_BAN Integer FALSE

TONCUOI TON_CUOI Integer FALSE

Mối kết hợp CTCONGNO

Code CHI_TIET_CONG_NO

2.5.4.2 Danh sách thực thể liên quan

Association Entity Role Cardinality of Role

Name Code Domain Data Type Mandatory Comment

NODAU NO_DAU Integer FALSE

PHATSINH PHAT_SINH Integer FALSE

NOCUOI NO_CUOI Integer FALSE

Sơ đồ luồng dữ liệu

Nhập sách

Nhập và kiểm tra D1 ( dùng D4 )

D2: Thông tin danh sách sách đưa vào kho dữ liệu.

D3 Số lượng nhập ít nhất, chỉ cho nhập sách có số lượng tồn ít nhất.

Quản lý thông tin kho sách

D1: Xóa sách và cập nhật lại dữ liệu trong kho sách Việc sửa sách liên quan đến số lượng nhập và số lượng tồn sẽ được D4 kiểm tra.

D2: dữ liệu thay đổi nên cập nhật lại dữ liệu trong kho sách.

D1: Thông tin sách muốn xoá, sửa

D2: dữ liệu kho sách cập nhật sau khi xoá, sửa

D3 Số lượng nhập ít nhất, chỉ cho nhập sách có số lượng tồn ít nhất.

Xem báo cáo tháng

Xử lý sửa, xoá sách Xử lý tham

Xem báo cáo công nợ hay báo cáo tồn

D1: yêu cầu xem báo cáo ( loại công nợ hay báo cáo tồn do người dùng chọn )

D2 Kết quả có được sau khi chọn lọc trong kho dữ liệu.

Quản lý quy định

D2: ghi lại quy định mới ( cập nhật).

D3: lấy thông tin đưa lên cho người dùng xem sau khi thay đổi bởi D1.

D1 Thông tin quy định được thay đổi.

D3 Quy định được cập nhật sau khi thay đổi.

Thay đổi các quy định

Tra cứu thông tin sách, khách hàng

D1: Thông tin sách, khách hàng, hoá đơn được nhập từ quản lý.

D2 Thông tin trả về chọn lọc từ kho dữ liệu.

Lập hoá đơn, xuất hoá đơn

D1 Yêu cầu lập hoá đơn của khách hàng.

D3: Ghi thông tin hoá đơn

D5 Kiểm tra quy định về số lượng sách lấy thông tin sách lên từ

( D7 ), kiểm tra số tiền nợ…

D8 lập hoá đơn xong tiến hành xuất hoá đơn cho khách hàng.

D10: Cập nhật lại số lượng trong kho sách.

D11: giao sách cho khách hàng.

Tra cứu thông tin sách, khách hàng, hoá đơn

D1 Thông tin sách của khách hàng đã chọn.

D3: Thông tin sách được khách hàng chọn mua.

D4 ghi thông tin hoá đơn vào kho dữ liệu hoá đơn.

Đăng ký khách hàng thân thiết

Xử lý yêu cầu lập khách hàng thân thiết

Xử lý nhập khách hàng thân thiết

Yêu cầu lập hoá đơn

Quy định Hoá đơn Sách

D1 Nhận yêu cầu lập khách hàng thân thiết.

D3 Nhập thông tin khách hàng váo kho dữ liệu khách hàng.

Ghi nợ khách hàng

D1 yêu cầu ghi nợ cho khách hàng.

D3 Ghi thông tin khách hàng nợ vào kho dữ liệu chi tiết công nợ.

Lập phiếu thu tiền

Xử lý yêu cầu ghi nợ

Xử lý ghi nợ khách hàng

Xử lý yêu cầu lập phiếu thu tiền

Xử lý xoá nợ cho khách hàng

Chi tiết công nợ Quy định

D1 Yêu cầu xoá nợ của khách hàng.

D3 Kiểm tra thông tin khách hàng.

D5 Tiến hành cập nhật lại số tiền khách đã nợ.

D7 Kiểm tra tham số theo quy định.

Thiết kế dữ liệu

Danh sách các đối tượng

CTPHIEUGIAO CHI_TIET_PHIEU_GIAO

CHI_TIET_HOA_DONCHI _TIET_CONG_NOCHI_TIET_BAO_CAO_TON

Mô tả chi tiết các Table

Name Chi tiết kết quả

Name Code Domain Primary Mandatory

MASACH MA_SACH TRUE TRUE

MATL MA_TL TRUE TRUE

TENSACH TEN_SACH FALSE TRUE

TACGIA TAC_GIA FALSE TRUE

NXB NXB FALSE TRUE

SOLUONG SO_LUONG FALSE TRUE

DONGIA DON_GIA FALSE TRUE

Name Code Domain Primary Mandatory

MAHD MA_HD TRUE TRUE

NGAYTHUTIEN NGAY_THU_TIEN FALSE TRUE

TONGTIEN TONG_TIEN FALSE TRUE

MAKH MA_KH FALSE TRUE

Name Code Domain Primary Mandatory

MAPG MA_PG TRUE TRUE

NGAYLAP NGAY_LAP FALSE TRUE

Name Code Domain Primary Mandatory

MATL MATL TRUE TRUE

TENTL TENTL FALSE TRUE

Name Code Domain Primary Mandatory

MAKH MA_KH TRUE TRUE

TENKH TEN_KH FALSE TRUE

DIACHI DIA_CHI FALSE TRUE

DT DT FALSE TRUE

EMAIL EMAIL FALSE TRUE

TONGNO TONG_NO FALSE TRUE

Name Code Domain Primary Mandatory

USERNAME USERNAME TRUE TRUE

PASSWORD PASSWORD TRUE TRUE

CHUCVU CHUC_VU FALSE TRUE

Name Code Domain Primary Mandatory

NHAPTOITHIEU QD1 TRUE TRUE

TONTOITHIEU QD2 FALSE TRUE

Code BAO_CAO_CONG_NO

Name Code Domain Primary Mandatory

MANO MA_NO TRUE TRUE

THANGNO THANG_NO FALSE TRUE

Name Code Domain Primary Mandatory

MAPG MA_PG TRUE TRUE

MASACH MA_SACH FALSE TRUE

SOLUONG SO_LUONG FALSE TRUE

Name Code Domain Primary Mandatory

MAHD MA_HD TRUE TRUE

MASACH MA_SACH FALSE TRUE

DONGIA DON_GIA FALSE TRUE

SOLUONG SO_LUONG FALSE TRUE

Name Code Domain Primary Mandatory

MANO MA_NO TRUE TRUE

MAKH MA_KH FALSE TRUE

NODAU NO_DAU FALSE TRUE

PHATSINH PHAT_SINH FALSE FALSE

NOCUOI NO_CUOI FALSE TRUE

Code CT_BAO_CAO_TON

Name Code Domain Primary Mandatory

MATON MA_TON TRUE TRUE

MASACH MA_SACH FALSE TRUE

TONDAU TON_DAU FALSE TRUE

SLNHAP SL_NHAP FALSE TRUE

SLBAN SL_BAN FALSE FALSE

TONCUOI TON_CUOI FALSE TRUE

Thiết kế menu

Danh sách các thành phần màn hình trên sơ đồ

3 Màn hình quản lý sách

4 Màn hình nhập thông tin sách

5 Màn hình tra cứu thông tin

6 Màn hình truy vấn dữ liệu

7 Màn hình báo cáo nợ

8 Màn hình báo cáo tồn

11 Màn hình hóa đơn bán hàng

12 Màn hình đăng ký nợ

13 Màn hình đăng ký khách hàng thân thiết

14 Màn hình thanh toán nợ

15 Màn hình phiếu thu tiền

STT Name Control Ý nghĩa Ghi chú

1 txtTenDangNhap TextBox Tên đăng nhập Không được rỗng

2 txtMatKhau TextBox Mật khẩu Không được rỗng

3 btnDangNhap Button Nút đăng nhập

5 lblBaoLoi Lable Thông báo lỗi Ẩn khi hiện chương trình

STT Điều kiện kích hoạt Xử lý dữ liệu

1 Nhập sai tên đăng nhập hoặc mật khẩu - Khi nhấn nút đăng nhập sẽ báo lỗi vì phải nhập đúng tên đăng nhập và mật khẩu

2 Không nhập tên đăng nhập hoặc mật khẩu

- Khi nhấn nút đăng nhập sẽ báo lỗi vì phải nhập đầy đủ tên đăng

3 Nhập đầy đủ tên đăng nhập và mật khẩu rồi nhấn nút đăng nhập

- Nếu là tài khoản quản lý thì truy cập vào trang chủ giao diện quản lý

- Nếu là tài khoản thu ngân thì truy cập vào trang chủ giao diện thu ngân

4 Nhấn vào nút thoát - Thoát khỏi màn hình đăng nhập

STT Name Control Ý nghĩa Ghi chú

1 btnDangXuat Button Nút đăng xuất

2 lblTenNguoiDung Lable Tên người dùng

STT Điều kiện kích hoạt Xử lý dữ liệu

0 Khởi động màn hình Hiển thị tên người dùng, chức vụ, ngày tháng hiện tại sau khi đăng nhập

Khi người dùng nhấn nút đăng xuất, một hộp thoại sẽ xuất hiện với câu hỏi yes/no để xác nhận liệu họ có muốn đăng xuất hay không Nếu người dùng chọn "Có", hệ thống sẽ đưa họ trở lại màn hình đăng nhập.

GIAO DIỆN QUẢN LÝ SÁCH

STT Name Control Ý nghĩa Ghi chú

1 txtMaSach_qls TextBox Mã sách Không nhập được

2 txtTenSach_qls TextBox Tên sách Không nhập được

3 txtTacGia_qls TextBox Tác giả Không nhập được

4 txtNhaXuatBan_qls TextBox Nhà xuất bản Không nhập được

5 cboTheLoai_qls ComboBox Thể loại Không chọn được

6 numSoLuong_qls NumericUpDown Số lượng Phải > 0, hiện giờ không chọn

7 txtDonGia_qls TextBox Đơn giá Không được rỗng Chỉ cho nhập số nguyên

Phải > 0, hiện giờ không nhập được.

8 btnNhapSach_qls Button Nút nhập sách

9 btnSua_qls Button Nút sửa

10 btnXoa_qls Button Nút xóa Không nhấn được

11 btnLuu_qls Button Nút lưu Không nhấn được

12 btnHuyBo_qls Button Nút hủy bỏ

13 dgvQuanLySach DataGridView Bảng dữ liệu quản lý sách

STT Điều kiện kích hoạt Xử lý dữ liệu

0 Khởi động màn hình - Load dữ liệu lên dgvQuanLySach

1 Chọn số lượng nhỏ hơn hoặc bằng không và chọn số lượng sai quy định

- Khi nhấn nút lưu sẽ hiển thị hộp thoại báo lỗi vì người dùng phải chọn số lượng > 0 và phải đúng theo quy định

2 Nhập đơn giá < 0 hoặc nhập đơn giá bằng chữ

- Hiển thị hộp thoại báo lỗi vì người dùng phải nhập vào số nguyên > 0

3 Nhấn vào nút nhập sách - Hiển thị ra giao diện “Nhập thông tin sách”

4 Chọn ít nhất 1 dòng và bấm nút sửa - Các TextBox sẽ hiện ra để người dùng có thể nhập vào để sửa

- Lúc này nút lưu và nút hủy bỏ sẽ hiện ra để cho người dùng có thể thao tác

Để xóa một dòng, người dùng cần chọn ít nhất 1 dòng và nhấn nút xóa Hệ thống sẽ hiển thị hộp thoại xác nhận yes/no để hỏi xem người dùng có muốn thực hiện việc xóa hay không Nếu người dùng chọn "Có", dòng được chọn sẽ bị xóa khỏi danh sách.

- Lúc này nút lưu và nút hủy bỏ sẽ hiện ra để cho người dùng có thể thao tác

6 Sau khi sửa hoặc xóa rồi bấm nút lưu - Hiển thị ra hộp thoại yes/no hỏi người dùng có muốn lưu hay không

- Nếu người dùng chọn có thì các dữ liệu sau khi thay đổi sẽ được lưu vào database

7 Khi sửa hoặc xóa sai rồi bấm nút hủy bỏ - Hiển thị hộp yes/no hỏi người dùng có muốn hủy bỏ hay không

- Nếu người dùng chọn có thì các dữ liệu đang bị sửa hoặc xóa sẽ không bị thay đổi

Các TextBox và Button sẽ được khôi phục về trạng thái ban đầu, như chưa từng được thao tác Cụ thể, TextBox sẽ không cho phép người dùng nhập liệu, trong khi các Button lưu và xóa sẽ bị ẩn đi, ngăn không cho người dùng thực hiện thao tác nhấn vào.

GIAO DIỆN NHẬP THÔNG TIN SÁCH

STT Name Control Ý nghĩa Ghi chú

1 txtTenSach_ns TextBox Tên sách Không được rỗng

2 txtTacGia_ns TextBox Tác giả

3 cboTheLoai_ns TextBox Thể loại

4 txtNhaXuatBan_ns TextBox Nhà xuất bản

5 txtSoLuong_ns ComboBox Số lượng Phải chọn

6 txtDonGia_ns TextBox Đơn giá Không được rỗng

7 lblDate_ns Lable Ngày tháng

8 btnThem_ns Button Nút thêm

9 btnSua_ns Button Nút sửa Không nhấn được

10 btnXoa_ns Button Nút xóa Không nhấn được

11 btnNhapSach_ns Button Nút nhập sách

12 btnHuyBo_ns Button Nút hủy bỏ

13 dgvNhapSach DataGridView Bảng dữ liệu nhập sách

STT Điều kiện kích hoạt Xử lý dữ liệu

0 Khởi động màn hình - Load dữ liệu lên dgvNhapSach

Khi bạn nhấn nút thêm hoặc nhập sách mà không điền tên sách, hệ thống sẽ hiển thị hộp thoại báo lỗi Tên sách là thông tin cần thiết và bắt buộc để hoàn tất quy trình nhập sách.

2.1 Chọn số lượng nhỏ hơn hoặc bằng không - Hiển thị hộp thoại báo lỗi vì người dùng phải chọn số lượng > 0 2.2 Chọn số lượng sai quy định rồi bấm nút nhập sách - Hiển thị hộp thoại báo lỗi vì người dùng phải chọn số lượng theo quy định (Người dùng đọc bảng quy định trước khi chọn số lượng)

3.1 Không nhập vào đơn giá - Khi nhấn nút thêm hoặc nhập sách sẽ hiển thị hộp thoại báo lỗi vì đơn giá là 1 trong những thông tin cần thiết cần phải có của 1 quyển sách 3.2 Nhập đơn giá < 0 , nhập đơn giá bằng chữ

- Hiển thị hộp thoại báo lỗi vì người dùng phải nhập vào số nguyên > 0

4 Sau khi nhập đầy đủ thông tin sách rồi bấm nút thêm - Thông tin sách vừa nhập vào các

TextBox sẽ được thêm vào dgvNhapSach

5 Chọn ít nhất 1 dòng và bấm nút sửa - Thông tin hiện có của quyển sách đang chọn sẽ được đổ vào các TextBox cho người dùng sửa

- Lúc này nút nhập sách và nút hủy bỏ sẽ hiện ra để cho người dùng có thể thao tác

6 Chọn ít nhất 1 dòng và bấm nút xóa

- Hiển thị ra hộp thoại yes/no hỏi người dùng có muốn xóa hay không.

Nếu người dùng chọn có thì dòng đang chọn hiện tại sẽ được xóa

- Lúc này nút nhập sách và nút hủy bỏ sẽ hiện ra để cho người dùng có thể thao tác

7 Sau khi sửa hoặc xóa rồi bấm nút nhập sách - Hiển thị ra hộp thoại yes/no hỏi người dùng có muốn nhập sách hay không

- Nếu người dùng chọn có thì các thông tin sách vừa thêm vào dgvNhapSach sẽ được lưu vào database

8 Khi sửa hoặc xóa sai rồi bấm nút hủy bỏ

- Hiển thị hộp yes/no hỏi người dùng có muốn hủy bỏ hay không

- Nếu người dùng chọn có thì các dữ liệu đang bị sửa hoặc xóa sẽ không bị thay đổi

Khi thực hiện thao tác, các TextBox và Button sẽ trở về trạng thái ban đầu, như chưa từng được sử dụng Các TextBox sẽ trở nên trống rỗng, trong khi các Button như sửa, nhập sách và xóa sẽ bị ẩn đi, không cho phép người dùng tương tác.

STT Name Control Ý nghĩa Ghi chú

2 rbtS_tc RadioButton Nút chọn sách

3 chkConHang CheckBox Nút chọn còn hàng Không check được

4 rbtHD_tc RadioButton Nút chọn hóa đơn

5 rbtKH_tc RadioButton Nút chọn khách hàng

6 chkKhachNo CheckBox Nút chọn khách nợ Không check được

7 dgvTraCuu DataGridView Bảng dữ liệu tra cứu

STT Điều kiện kích hoạt Xử lý dữ liệu

1 Nhập từ khóa rồi check vào

- Thông tin sách cần tra cứu sẽ hiển thị trên dgvTraCuu

- Các RadioButton còn lại sẽ không được check

- Hiện ra checkbox còn hàng

2 Nhập từ khóa rồi check vào

RadioButton Sách và CheckBox còn hàng

- Thông tin sách còn hàng cần tra cứu sẽ hiển thị trên dgvTraCuu

- Các RadioButton còn lại sẽ không được check

3 Nhập từ khóa rồi check vào

RadioButton hóa đơn - Thông tin hóa đơn cần tra cứu sẽ hiển thị trên dgvTraCuu

- Các RadioButton còn lại sẽ không được check

- Hiện ra checkbox khách nợ.

4 Nhập từ khóa rồi check vào

- Thông tin khách hàng cần tra cứu sẽ hiển thị trên dgvTraCuu Các RadioButton còn lại sẽ không được check

5 Nhập từ khóa rồi check vào

- Thông tin khách hàng nợ cần tra cứu sẽ hiển thị trên dgvTraCuu

- Các RadioButton còn lại sẽ không được check

GIAO DIỆN TRUY VẤN DỮ LIỆU

STT Name Control Ý nghĩa Ghi chú

1 txtThang_tvdl TextBox Tháng Không được rỗng

2 txtNam_tvdl TextBox Năm Không được rỗng

3 btnBaoCaoTon Button Báo cáo tồn

4 btnBaoCaoNo Button Báo cáo nợ

STT Điều kiện kích hoạt Xử lý dữ liệu

1 Nhập tháng bằng chữ hay nhập tháng < 0 hoặc > 12 - Hiển thị hộp thoại báo lỗi vì tháng nhập vào phải là số nguyên và phải > 0 và < 12

2 Nhập năm bằng chữ hay nhập năm < năm có trong dữ liệu báo cáo hoặc > năm hiện tại

- Hiển thị hộp thoại báo lỗi vì năm nhập vào phải là số nguyên

> 0 Năm nhập vào phải >= năm có trong dữ liệu báo cáo và =< năm hiện tại

3 Không nhập tháng hoặc năm mà nhấn vào nút báo cáo tồn hay nút báo cáo nợ

- Hiển thị hộp thoại báo lỗi vì phải nhập cả tháng và năm mới có thể xuất báo cáo được

4 Sau khi nhập tháng và năm rồi nhấn nút báo cáo tồn - Xuất ra màn hình báo cáo tồn

5 Sau khi nhập tháng và năm rồi nhấn nút báo cáo nợ - Xuất ra màn hình báo cáo nợ

GIAO DIỆN BÁO CÁO NỢ

STT Name Control Ý nghĩa Ghi chú

1 txtThang_bcn TextBox Tháng Không nhập được

2 txtNam_bcn TextBox Năm Không nhập được

3 btnThoat_bcn Button Nút thoát

4 dgvBaoCaoNo DataGridView Bảng dữ liệu báo cáo nợ

STT Điều kiện kích hoạt Xử lý dữ liệu

0 Khởi động màn hình - Load dữ liệu lên dgvBaoCaoNo,

- Tháng và năm là số mà người dùng đã nhập

1 Nhấn nút thoát - Thoát khỏi màn hình báo cáo nợ

GIAO DIỆN BÁO CÁO TỒN

STT Name Control Ý nghĩa Ghi chú

1 txtThang_bct TextBox Tháng Không nhập được

2 txtNam_bct TextBox Năm Không nhập được

3 btnThoat_bct Button Nút thoát

4 dgvBaoCaoTon DataGridView Bảng dữ liệu báo cáo tồn

STT Điều kiện kích hoạt Xử lý dữ liệu

1 Khởi động chương trình - Load dữ liệu lên dgvBaoCaoTon

- Tháng và năm là số mà người dùng đã nhập

2 Nhấn nút thoát - Thoát khỏi màn hình báo cáo tồn

STT Name Control Ý nghĩa Ghi chú

1 txtNhapMin_qd TextBox Nhập tối thiểu Chỉ được nhập số nguyên > 0, hiện giờ không nhập được.

2 txtTonMin_qd TextBox Tồn tối thiểu Chỉ được nhập số nguyên > 0, hiện giờ không nhập được.

3 txtNoMax_qd TextBox Tiền nợ tối đa Chỉ được nhập số nguyên > 0, hiện giờ không nhập được.

4 txtTonMinSauBan_qd TextBox Tồn tối thiểu sau khi bán

Chỉ được nhập số nguyên > 0, hiện giờ không nhập được.

5 rbtYes_qd RadioButton Có Hiện giờ không chọn được.

6 rbtNo_qd RadioButton Không Hiện giờ không chọn được.

7 btnApDung_qd Button Nút áp dụng Không nhấn được

8 btnSua_qd Button Nút sửa

9 btnHuyBo_qd Button Nút hủy bỏ Không nhấn được

STT Điều kiện kích hoạt Xử lý dữ liệu

1 Nhấn nút sửa - Các TextBox sẽ hiện lên cho người dùng nhập vào quy định cần sửa

- Các Button áp dụng và hủy bỏ sẽ hiện lên cho người dùng thao tác

2 Nhập vào số lượng nhập tối thiếu < 0 hoặc bằng chữ

- Khi nhấn nút áp dụng sẽ hiển thị hộp thoại báo lỗi vì số lượng nhập tối thiểu chỉ được nhập vào số nguyên > 0

3 Nhập vào số lượng tồn tối thiểu < 0 hoặc bằng chữ

- Khi nhấn nút áp dụng sẽ hiển thị hộp thoại báo lỗi vì số lượng tồn tối thiểu chỉ được nhập vào số nguyên > 0

4 Nhập vào số tiền nợ tối đa

5 Nhập vào số lượng tồn tối thiểu sau khi bán < 0 hoặc bằng chữ

- Khi nhấn nút áp dụng sẽ hiển thị hộp thoại báo lỗi vì số lượng tồn tối thiểu sau khi bán chỉ được nhập vào số nguyên > 0

6 Sau khi sửa rồi nhấn nút áp dụng

- Hiển thị hộp thoại yes/no hỏi người dùng có muốn ap dụng hay không

- Nếu người dùng chọn có thì các quy định mới sẽ được lưu vào cơ sở dữ liệu

7 Sau khi sửa sai rồi nhấn nút hủy bỏ - Hiển thị hộp yes/no hỏi người dùng có muốn hủy bỏ hay không

- Nếu người dùng chọn có thì các dữ liệu đang bị sửa sẽ không bị thay đổi

Các TextBox và Button sẽ được khôi phục về trạng thái ban đầu, như chưa từng được thao tác Cụ thể, các TextBox sẽ không cho phép người dùng nhập liệu, trong khi đó, Button sẽ bị ẩn đi, ngăn cản người dùng thực hiện thao tác nhấn vào.

STT Name Control Ý nghĩa Ghi chú

1 cboTenSach_hd ComboBox Tên sách

2 numSoLuong_hd NumericUpDown Số lượng Không chọn được

3 lblDate_hd Lable Ngày tháng

4 txtTongCong_hd TextBox Tổng cộng Không nhập được

5 txtTienNhan_hd TextBox Tiền nhận

6 txtTienThoi_hd TextBox Tiền thối Không nhập được

7 btnDangKyNo Button Đăng ký nợ

8 btnThem_hd Button Nút thêm

9 btnXoa_hd Button Nút xóa Không nhấn được

10 btnXoaSach_hd Button Nút xóa sạch Không nhấn được

11 btnTinhTien_hd Button Nút tính tiền

12 btnXuatHoaDon_hd Button Nút xuất hóa đơn

13 dgvHoaDon DataGridView Bảng dữ liệu hóa đơn

STT Điều kiện kích hoạt Xử lý dữ liệu

0 Khởi động chương trình - Load dữ liệu lên dgvHoaDon

1 Không chọn tên sách - Khi nhấn nút thêm sẽ hiển thị hộp thoại báo lỗi vì người dùng phải chọn tên sách để lập hóa đơn

2 Chọn số lượng 0

Sau khi nhập số tiền khách đưa, nhấn nút tính tiền, máy sẽ tự động tính tổng số tiền và số tiền thối, hiển thị kết quả tại txtTienNhan_hd và txtTienThoi_hd.

Nếu khách hàng có nợ, hệ thống sẽ thông báo số tiền nợ hiện tại Tuy nhiên, nếu số nợ vượt quá quy định, khách hàng sẽ không được phép mua sách.

5 Sau khi nhập đầy đủ thông tin của hóa đơn vào các TextBox rồi nhấn nút thêm

- Các thông tin hóa đơn vừa nhập vào sẽ hiển thị lên dgvHoaDon

6 Chọn 1 dòng thông tin sản phẩm trên dgvHoaDon rồi nhấn nút xóa

- Hiển thị hộp thoại yes/no hỏi người dùng có muốn xóa hay không

- Nếu người dùng chọn có thì xoá thông tin sản phẩm đang chọn

7 Nhấn nút xóa sạch Lúc đầu nút ( xóa sạch sẽ bị ẩn không cho người dùng thao tác nếu như chưa có hóa đơn nào được thêm vào)

- Hiển thị hộp thoại yes/no hỏi người dùng có muốn xóa hay không

- Nếu người dùng chọn có thì các hóa đơn trên dgvHoaDon sẽ bị xóa sạch

- Sau khi nhấn xóa sạch sẽ trả lại trạng thái ban đầu cho các TextBox(làm rỗng), ComboBox, NumericUpDown và các Button

8 Nhấn nút đăng ký nợ - Hiện ra màn hình đăng ký nợ

9 Nhấn nút xuất hóa đơn - Hiện ra màn hình hóa đơn bán hàng

GIAO DIỆN HÓA ĐƠN BÁN HÀNG

STT Name Control Ý nghĩa Ghi chú

1 lblDate_xhd Lable Ngày tháng

2 dgvHoaDon_xhd DataGridView Bảng dữ liệu hóa đơn

3 txtTongCong_xhd TextBox Tổng cộng Không nhập được

4 txtTienNhan_xhd TextBox Tiền nhận Không nhập được

5 txtTienThoi_xhd TextBox Tiền thối Không nhập được

6 txtTienNo_xhd TextBox Tiền nợ Không nhập được

STT Điều kiện kích hoạt Xử lý dữ liệu

0 Khởi động chương trình - Load dữ liệu lên dgvHoaDon_xhd

GIAO DIỆN ĐĂNG KÝ NỢ

STT Name Control Ý nghĩa Ghi chú

1 txtMaKhachHang_dkn TextBox Mã khách hàng Không nhập được

2 txtHoTen_dkn TextBox Họ tên

3 txtSoTien_dkn TextBox Số tiền

4 btnDangKyNo_dkn Button Nút đăng ký nợ

STT Điều kiện kích hoạt Xử lý dữ liệu

1 Nhập vào số tiền nợ < 0 hoặc bằng chữ hoặc nhập sai với quy định

Hộp thoại báo lỗi sẽ hiển thị khi số tiền nợ nhập vào không phải là số nguyên dương hoặc không tuân thủ quy định Người dùng cần đọc kỹ quy định trước khi thực hiện việc nhập số tiền.

2 Khi chưa nhập vào đẩy đủ thông tin cần thiết của khách hàng đăng ký nợ

Nút đăng ký nợ sẽ không hiển thị cho người dùng cho đến khi họ cung cấp đầy đủ thông tin cần thiết của khách hàng để thực hiện việc đăng ký nợ.

3 Sau khi nhập vào đầy đủ thông tin của khách hàng

- Hiển thị hộp thoại yes/no hỏi người dùng có muốn đăng ký hay không

Khi người dùng nhấn nút đăng ký nợ sau khi điền thông tin vào các TextBox, nếu chọn "Có", tất cả thông tin sẽ được lưu trữ vào cơ sở dữ liệu.

GIAO DIỆN ĐĂNG KÝ KHÁCH HÀNG THÂN THIẾT

STT Name Control Ý nghĩa Ghi chú

1 txtMaKhachHang TextBox Mã khách hàng Không nhập được

2 txtHoTen TextBox Họ tên Không được rỗng

3 txtDiaChi TextBox Địa chỉ Không được rỗng

4 txtDienThoai TextBox Điện thoại Chỉ được nhập số nguyên, Không được rỗng.

6 btnDangKy_kh Button Nút đăng ký Không nhấn được

7 btnHuyBo_kh Button Nút hủy bỏ

STT Điều kiện kích hoạt Xử lý dữ liệu

1 Nhập số điện thoại bằng chữ - Hiển thị hộp thoại báo lỗi vì số

76 điện thoại nhập vào phải là số nguyên

Khi người dùng chưa cung cấp đầy đủ thông tin cần thiết, nút đăng ký sẽ bị ẩn, ngăn cản thao tác cho đến khi thông tin được nhập đầy đủ.

3 Khi đã nhập đầy đủ thông tin cần thiết của khách hàng rồi nhấn nút đăng ký

- Hiển thị hộp thông báo yes/no hỏi người dùng có muốn đăng ký hay không

- Nếu người dùng chọn có thì thông tin khách hàng vừa đăng ký sẽ được lưu vào cơ sở dữ liệu

4 Khi nhập sai thông tin khách hàng rồi nhấn nút hủy bỏ

- Hiển thị hộp yes/no hỏi người dùng có muốn hủy bỏ hay không

- Nếu người dùng chọn có thì các thông tin khách hàng vừa nhập vào các TextBox sẽ bị xóa sạch

Thiết kế xử lý

Mô tả chi tiết từng xử lý

STT Điều kiện kích hoạt Xử lý dữ liệu

0 Khởi động chương trình - Load dữ liệu lên dgvPhieuThuTien

Cài đặt

- Bảng phân công cài đặt:

STT Ngày Công việc Người thực hiện Ký tên

1 … Thiết kế dữ liệu Ngô Hải Bình,

2 … Thiết kế giao diện Nguyễn Đăng Quang

3 Thiết kế xử lý Mai Quốc Hậu

4 … Cài đặt Lê Thanh Trí

5 Viết báo cáo Nguyễn Đăng Quang,

Nguyễn Minh Hoà, Ngô Hải Bình.

6 … Kiểm tra chương trình Ngô Hải Bình

- Danh sách tình trạng cài đặt các chức năng (mức độ hoàn thành)

STT Chức năng Mức độ hoàn thành Ghi chú

2 Quản lý thông tin sách Hoàn thành Có làm demo chạy chương trình

3 Nhập thông tin sách Hoàn thành Có làm demo chạy chương trình

5 Lập báo cáo tháng Hoàn thành

6 Quản lý quy định Hoàn thành

7 Lập hoá đơn Hoàn thành

8 Xuất Hoá đơn Hoàn thành

9 Ghi nợ khách hàng Hoàn thành

10 Lập phiếu thu tiền Hoàn thành

11 Nhập thông tin khách hàng quen

Các thử nghiệm

 Nội dung các bảng dữ liệu

₋ MASACH( Giá trị tự tăng dạng chuỗi 10 kí tự)

₋ TENSACH( Chuỗi dài 100 kí tự)

₋ MATHELOAI( Chọn từ bảng THELOAI)

₋ TACGIA( Chuỗi dài 100 kí tự)

₋ NXB( Chuỗi dài 100 kí tự)

₋ SOLUONG( Giá trị nguyên lớn hơn 0)

₋ TENTHELOAI( Chuỗi dài 100 kí tự)

 Một số test case chạy thử nghiệm

Tên Sách Tác giả Thể loại Nhà xuất bản Đơn giá Số lượng Kết quả Bách khoa tri thức bằng hình #1

Dorling Kindersley Khoa học Dân Trí 599.000 500 Thành công

Các siêu sao trong Thế giới động vật Dorling

Kindersley Khoa học Dân Trí 250.000 300 Thành công Lịch Sử tự nhiên Dorling

Kindersley Khoa học Dân Trí 690.000 400 Thành công Atlas giải phẫu cơ thể ngời BS Alice

Roberts Khoa học Y Học 680.000 350 Thành công Bách khoa tri thức phổ thông Dorling

Kindersley Khoa học Dân Trí 185.000 300 Thành công Bách khoa động vật George McKay Khoa học Dân Trí 316.000 340 Thành công Bách khoa Lịch sử

USBORNE Khoa học Dân Trí 350.000 500 Thành công Bách khoa tri thức cho trẻ em - Câu hỏi & trả lời King Fisher Khoa học Dân Trí 235.000 450 Thành công

Bách khoa tri thức cho trẻ em - Khám phá & sáng tạo

MacMillan Khoa học Dân Trí 270.000 360 Thành công

Mời lẻ một đêm Hồ Anh Thái Truyện Đà Nẵng 45.000 300 Thành công Tiếng thở dài qua rừng kim tớc Hồ Anh Thái Truyện Hội Nhà

Văn 42.000 300 Thành công Bỗng nhiên có một ngày Tô Hải Vân Truyện Hội Nhà

Văn 36.000 300 Thành công Ngời ăn gió và quả chuông bay đi Nhật Chiêu Truyện Hội Nhà

Văn 36.000 300 Thành công Rừng xa xanh lá Bùi Ngọc Tấn Truyện Hội Nhà

Kết quả đạt được

Sự phát triển của công nghệ thông tin đã làm cho việc quản lý nhà sách trở nên dễ dàng và thuận tiện hơn Các nhà quản lý có thể theo dõi doanh thu bán hàng và quản lý hàng tồn kho một cách hiệu quả, đồng thời nâng cao phong cách phục vụ chuyên nghiệp.

Đánh giá ưu, khuyết điểm

Ưu điểm

 Đầy đủ các chức năng cơ bản nhất theo yêu cầu của người dùng

 Hoạt động tốt và xử lý nhanh

 Giao diện thân thiện và dễ sử dụng

Khuyết điểm

 Thiếu màn hình thêm nhân viên.

 Chưa quản lý khách hàng chặt chẽ Ví dụ, khách hàng ấy không còn đến mua hàng tại nhà sách.

 Chưa thực hiện được chức năng loại bỏ hoá đơn hoặc chi tiết hoá đơn, báo cáo tháng… quá cũ.

Ngày đăng: 10/11/2024, 21:42

w