CHƯƠNG I: XÁC ĐỊNH YÊU CẦU PHẦN MỀM 1. Yêu cầu chức năng Phần mềm quản lý cửa hàng bán máy tính cần đáp ứng một số yêu cầu chức năng sau: o Quản lý kho: Phần mềm cần cho phép quản lý nhập, xuất và tồn kho sản phẩm máy tính và linh kiện liên quan. Nó cũng nên cho phép xem thông tin chi tiết của từng sản phẩm trong kho. o Quản lý bán hàng: Phần mềm cần cho phép tạo đơn hàng, giỏ hàng, hóa đơn và phiếu thu, tất cả các hoạt động này nên được ghi nhận và có thể được quản lý để theo dõi doanh thu và lợi nhuận.
o Quản lý khách hàng: Phần mềm cần cho phép quản lý danh sách khách hàng và thông tin liên lạc của họ. Nó cũng nên cho phép sử dụng các công cụ quảng cáo và khuyến mãi để tạo ra nhiều khách hàng mới. o Quản lý bảo hành: Phần mềm cần cho phép quản lý thông tin về bảo hành sản phẩm, bao gồm cả việc phục vụ bảo hành, sửa chữa và đổi trả. o Báo cáo và thống kê: Phần mềm cần cho phép tạo các báo cáo và thống kê doanh thu, lợi nhuận, tồn kho, bảo hành và các hoạt động khác để giúp quản lý cửa hàng đưa ra quyết định tốt nhất cho doanh nghiệp.
o Quản lý nhân viên: Phần mềm cần cho phép quản lý thông tin về nhân viên của cửa hàng, bao gồm cả việc theo dõi giờ làm việc và tính lương. o Tích hợp thanh toán: Phần mềm cần có khả năng tích hợp các hình thức thanh toán khác nhau, bao gồm tiền mặt, chuyển khoản và thẻ tín dụng. Tóm lại, phần mềm quản lý cửa hàng bán máy tính cần đáp ứng các yêu cầu chức năng trên để giúp quản lý cửa hàng hiệu quả và tối ưu hoá doanh thu và lợi nhuận. Yêu cầu phi chức năng Yêu cầu phi chức năng của phần mềm quản lý cửa hàng bán máy tính là các yêu cầu không liên quan trực tiếp đến hoạt động của phần mềm, nhưng lại có ảnh hưởng đến trải nghiệm sử dụng của người dùng.
Các yêu cầu phi chức năng bao gồm: o Tính bảo mật: Phần mềm cần đảm bảo an toàn cho thông tin của khách hàng và doanh nghiệp. Nó nên có khả năng phát hiện và ngăn chặn các cuộc tấn công mạng và lưu trữ thông tin khách hàng một cách an toàn. o Khả năng mở rộng: Phần mềm nên được thiết kế để có thể mở rộng để có thể đáp ứng nhu cầu mở rộng của doanh nghiệp trong tương lai. o Tương tác người dùng: Giao diện người dùng của phần mềm cần được thiết kế để dễ sử dụng và thân thiện với người dùng.
Nó nên có khả năng tương tác với người dùng theo cách tự nhiên và linh hoạt. o Hỗ trợ khách hàng: Phần mềm cần cung cấp hỗ trợ khách hàng tốt để giải quyết các vấn đề liên quan đến phần mềm và cung cấp hướng dẫn sử dụng cho người dùng. o Hiệu suất: Phần mềm cần được thiết kế để hoạt động ổn định, nhanh chóng và hiệu quả để tối ưu hóa thời gian và năng suất của người dùng. o Tính linh hoạt: Phần mềm cần có khả năng tùy chỉnh để đáp ứng các yêu cầu đặc biệt của doanh nghiệp.
Tóm lại, các yêu cầu phi chức năng của phần mềm quản lý cửa hàng bán máy tính là những yêu cầu không liên quan trực tiếp đến hoạt động của phần mềm, nhưng lại có ảnh hưởng đến trải nghiệm sử dụng của người dùng. Các yêu cầu này đảm bảo cho phần mềm là an toàn, dễ sử dụng, hiệu quả và có khả năng mở rộng trong tương lai. CHƯƠNG II. PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2.
Biểu đồ usecase STT Actor Use Case Quản lý Đăng nhập Quản lý thông tin máy tính Quản lý nhân viên Quản lý nhà cung cấp Quản lý hóa đơn bán Quản lý hóa đơn nhập Quản lý Khách hàng Thống kê Tìm kiếm a. Usecase “Tổng quát hệ thống” Hình 2.1: Use case tổng quát hệ thống Tóm tắt: - Người quản lý phải đăng nhập để thực hiện công việc quản lý của mình, quản lý thông tin máy tính, hóa đơn, nhà cung cấp, thống kê, tìm kiếm, thêm, sửa, xóa thông tin. - Người quản trị hệ thống là người QL có phân quyền cao nhất, phải đăng nhập để quản lý các chức năng chung của hệ thống như quản lý thông tin máy tính, hóa đơn, nhà cung cấp, thống kê, xem được báo cáo thống kê. Dòng sự kiện - Dòng sự kiện chính Quản lý thông tin máy tính: Quản lý tất cả các thông tin liên quan đến máy tính của cửa hàng.
Quản lý nhà cung cấp: Quản lý tất cả các thông tin liên quan đến nhà cung cấp. Quản lý hóa đơn: Quản lý các thông tin về hóa đơn bán và nhập máy tính. Thống kê: Thống kê các thông tin cần thiết về các máy tính theo tháng Nếu không đăng nhập thì không thể thực hiện các chức năng bên trong hệ thống. - Các yêu cầu đặc biệt Bắt buộc người quản lý phải có tài khoản để đăng nhập vào hệ thống.
- Trạng thái hệ thống bắt đầu khi thực hiện các use case Đối với người quản lý: Hệ thống sẽ đòi hỏi phải đăng nhập trước khi sử dụng các chức năng quản lý. Use case “Đăng nhập” Hình 2.2: Usecase Đăng nhập Tóm tắt: Chức năng này cho phép người dùng đăng nhập vào hệ thống để sử dụng các chức năng của chương trình. Dòng sự kiện: - Dòng sự kiện chính: Usecase này bắt đầu khi người sử dụng chạy chương trình. Hệ thống sẽ kiểm tra tính hợp lệ của tài khoản và mật khẩu.
Nếu đúng sẽ đưa ra thông báo nhóm sử dụng của người dùng và hiện màn hình giao diện chính của chương trình với hệ thống menu hiển thị phù hợp với chức năng của người đăng nhập, phụ thuộc vào nhóm sử dụng của tên đăng nhập đó. Ngược lại, sẽ đưa ra thông báo lỗi và yêu cầu người dùng Đăng nhập lại. - Dòng sự kiện phụ: Nếu người dùng nhấn vào nút “Thoát”, usecase kết thúc. Form được đóng lại.
Nếu người dùng chưa nhập giá trị gì vào Username và Password mà nhấn chuột vào nút đăng nhập thì coi trường hơp Tên đăng nhập và Mật khẩu là không hợp lệ. Usecase “Quản lý thông tin máy tính” System Timkiem Them <<extend>> <<extend>> Sua Nhanvien Thongtinmaytinh <<extend>> <<include>> Xoa <<extend>> Dangnhap Hình 2.3: Usecase Quản lý thông tin máy tính Tóm tắt: - Chức năng này cho phép người dùng quản lý các thông tin của máy tính trong cửa hàng. Dòng sự kiện: - Dòng sự kiện chính: - Dòng sự kiện phụ: Nút “Tìm” dùng khi người dùng muốn tìm kiếm thông tin máy tính: Các thông tin của máy tính bao gồm các thông tin như: mã máy tính, tên máy tính, số lượng, giá bán, mã nhà cung cấp, được nhập trên các ô textbox, và combobox. Khi nhập xong thì nhấn nút “Thêm” thì toàn bộ các thông tin của máy tính được load lên DataGridview và đồng thời được lưu vào trong cơ sở dữ liệu.
Nếu muốn “Sửa” thông tin của máy tính nào thì ta chỉ cần chọn nhân viên đó trên DataGridview khi đó thông tin được load trở lại các ô textbox và Combobox và người dùng có thể sửa thông tin. Tương tự như vậy với chức năng “Xoá” ta chỉ cần chọn máy tính cần xóa trên DataGridview và nhấn vào nút xóa thì sẽ xóa được thông tin của nhân viên đó. Nếu người sử dụng nhấn nút “Làm Mới” thì toàn bộ các ô textbox sẽ trở về rỗng cho phép người dùng nhập mới mộtsản phẩm - Dòng sự kiện phụ: Nút “Quay lại” dùng khi người dùng muốn quay trở lại trang menu khi muốn chuyển sang quản lý các mục khác. - Dòng sự kiện phụ: Nút “Thoát” dùng khi người dùng muốn thoát chương trình.
- Điều kiện tiên quyết: Người dùng chạy chương trình và phải đăng nhập thành công. - Điều kiện bổ sung: Người dùng phải nhập đầy đủ các thông tin trên ô textbox và Combobox, chú ý số số lượng và đơn giá thì chỉ được nhập số. Usecase “Quản lý nhân viên” System Them Sua <<extend>> Nhanvien <<extend>> NguoiQL <<include>> <<extend>> Xoa Dangnhap Hình 2. UsecaseQuản lý nhân viên Tóm tắt: - Chức năng này cho phép người dùng quản lý thông tin nhân viên trong cửa hàng.
Dòng sự kiện: - Dòng sự kiện chính: Các thông tin của nhân viên bao gồm các thông tin như: mã NV, tên NV, giới tính, địa chỉ, số điện thoại, được nhập trên các ô textbox. Khi nhập xong thì nhấn nút “Thêm” thì toàn bộ các thông tin của nhân viên được load lên DataGridview và đồng thời được lưu vào trong cơ sở dữ liệu. Nếu muốn “Sửa” thông tin của nhân viên nào thì ta chỉ cần chọn nhân viên đó trên DataGridview khi đó thông tin được load trở lại các ô textbox và Combobox và người dùng có thể sửa thông tin. Tương tự như vậy với chức năng “Xoá” ta chỉ cần chọn nhân viên cần xóa trên DataGridview và nhấn vào nút xóa thì sẽ xóa được thông tin của nhân viên đó.
Nếu người sử dụng nhấn nút “Làm Mới” thì toàn bộ các ô textbox sẽ trở về rỗng cho phép người dùng nhập mới mộtsản phẩm - Dòng sự kiện phụ: Nút “Quay lại” dùng khi người dùng muốn quay trở lại trang menu khi muốn chuyển sang quản lý các mục khác. - Dòng sự kiện phụ: Nút “Thoát” dùng khi người dùng muốn thoát chương trình. - Điều kiện tiên quyết: Người dùng chạy chương trình và phải đăng nhập thành công. - Điều kiện bổ sung: Người dùng phải nhập đầy đủ các thông tin trên ô textbox.
Usecase “Quản lý nhà cung cấp” System Them Sua <<extend>> Nhacungcap <<extend>> Nhanvien <<include>> <<extend>> Xoa Dangnhap Hình 2.5: Usecase Quản lý nhà cung cấp Tóm tắt: - Chức năng này cho phép người quản lý nhà cung cấp Dòng sự kiện: - Dòng sự kiện chính: Các thông tin mà người quản lý cần khi quản lý bao gồm: mã nhà cung cấp, tên nhà cung cấp, các thông tin được nhập vào các ô textbox trên form Khi các thông tin đã có đầy đủ thì nhấn nút “Thêm” thì toàn bộ thông tin được load lên DataGridview đồng thời được lưu vào trong cơ sở dữ liệu. Nút “Sửa” khi muốn sửa đổi thông tin gì thì ta chọn mã nhà cung cấp cần sửa trên DataGridview khi đó thông tin được load trở lại Textbox lúc đó người dùng có thể sửa thông tin. Nút “Xóa” dùng khi người sử dụng muốn xóa một nhà cung cấp vì một lý do nào đó.