BÁO CÁO QUẢN TRỊ DỰ ÁN PHẦN MỀM INSTRUCTOR : VŨ ĐÌNH LONG Member names: 1. Đoàn Minh Hòa 2. Phạm Minh Hậu 3. Trần Bá Quân Thụy 4. Trần Xuân Hoàng ĐẠI HỌC GIAO THÔNG VẬN TẢI THÀNH PHỐ HỒ CHÍ MINH TP.HCM, 2018 1 Mục lục I. Khảo sát hiện trạng .............................................................................................. 2 II. Phân tích và thiết kế chức năng........................................................................... 3 1. Sơ đồ Use-case................................................................................................. 3 2. Đặc tả các use-case .......................................................................................... 3 III. Phân tích và thiết kế cơ sở dữ liệu ...................................................................... 7 1. Sơ đồ quan hệ thực thể..................................................................................... 7 2. Các lược đồ quan hệ......................................................................................... 7 IV. Phân tích và thiết kế chương trình .................................................................... 10 1. Các Class trong chương trình ........................................................................ 10 2. Sơ đồ Class .................................................................................................... 10 V. Kết quả thực hiện .............................................................................................. 13 1. Ứng dụng quản lý nhà sách............................................................................ 13 2. Website Library.............................................................................................. 16 3. Ứng dụng Android Library ............................................................................ 21 VI. Tổng kết ............................................................................................................ 27 VII.Tài liệu tham khảo ............................................................................................ 27 2 I. Khảo sát hiện trạng Hiện nay, nhu cầu đọc sách của mọi người đã trở nên rất phổ biến, điều đó dẫn đến sự xuất hiện của các nhà sách ở khắp mọi nơi. Cũng chính vì vậy mà số lượng sách của một nhà sách quy mô cỡ vừa đã là con số rất lớn. Nhờ sự phát triển của công nghệ thông tin mà việc quản lý nhà sách không còn khó khăn như trước nữa. Việc quản lý trở nên dễ dàng và thuận tiện hơn cho các nhà quản lý trong việc quản lý doanh thu bán hàng, quản lý hàng tồn và mang đến phong cách phục vụ chuyên nghiệp hơn. Cũng vì điều đó, nhóm em xin giới thiệu hệ thống Quản Lý Nhà Sách để phục vụ cho n
Trang 1BÁO CÁO QUẢN TRỊ DỰ ÁN PHẦN MỀM
Trang 2Mục lục
I Khảo sát hiện trạng 2
II Phân tích và thiết kế chức năng 3
1 Sơ đồ Use-case 3
2 Đặc tả các use-case 3
III Phân tích và thiết kế cơ sở dữ liệu 7
1 Sơ đồ quan hệ thực thể 7
2 Các lược đồ quan hệ 7
IV Phân tích và thiết kế chương trình 10
1 Các Class trong chương trình 10
2 Sơ đồ Class 10
V Kết quả thực hiện 13
1 Ứng dụng quản lý nhà sách 13
2 Website Library 16
3 Ứng dụng Android Library 21
VI Tổng kết 27
VII.Tài liệu tham khảo 27
Trang 3Cũng vì điều đó, nhóm em xin giới thiệu hệ thống Quản Lý Nhà Sách để phục vụ cho nhà sách có quy mô cỡ vừa
Các thông tin cơ bản về nhà sách như sau :
• Nhà sách có quy mô vừa
• Nhân sự của nhà sách gồm có : Quản lý nhà sách (có thể là chủ nhà sách), nhân viên bán hàng và thủ kho
• Mỗi khách hàng đến mua sách thì nhân viên bán hàng sẽ lập hóa đơn bán sách gồm có các thông tin như sau : mã hóa đơn, tên khách hàng, ngày lập hóa đơn, mã sách, tên sách (Danh sách các sách), số lượng, đơn giá, thành tiền
• Thủ kho có nhiệm vụ cập nhật thông tin sách mới vào kho, kiểm kê và báo cáo số lượng sách trong kho
• Hàng tháng, người quản lý sẽ thống kê số sách đã bán, số sách còn trong kho, để biết có thể biết được loại sách nào bán được nhiều, loại sách nào bán với số lượng ít, nhằm đưa ra giải pháp kịp thời Ngoài ra, người quản lý còn thống kê doanh thu để nắm bắt tình hình kinh doanh của nhà sách
• Bên cạnh đó, công nghệ phát triển, khách hàng không nhất thiết phải tới tận nhà sách để
có thể xem sách và mua sách, việc mua sách có thể đặt online thông qua Web hoặc ứng dụng Android của nhà sách Việc này giúp cho khách hàng vừa tiết kiệm thời gian, cũng như có thể dễ dàng xem được rõ tình trạng cũng như giá cả của sản phẩm cần thiết
Trang 4II Phân tích và thiết kế chức năng
Use case này cho phép người dùng đăng nhập vào hệ thống quản lý nhà sách, tùy theo chức
vụ mà người dùng sẽ thực hiện các hoạt động khác nhau
1.2.Dòng sự kiện
1.2.1 Dòng sự kiện chính
Use case bắt đầu khi người dùng chọn Đăng nhập vào hệ thống
_ Hệ thống yêu cầu nhập tên đăng nhập và mật khẩu Sau đó người chọn Đăng nhập _ Hệ thống sẽ kiểm tra thông tin người dùng và xác nhận có hợp lệ hay không
_ Tùy theo chức vụ mà hệ thống sẽ hiển thị các form với những chức năng phù hợp _ Hệ thống thông báo đăng nhập thành công
_ Người dùng có thể đăng xuất bằng cách chọn Đăng xuất
1.2.2 Các dòng sự kiện khác
_ Sai tên đăng nhập và mật khẩu: hệ thống sẽ kiểm tra những thông tin người dùng nhập, nếu không có trong cơ sở dữ liệu thì hệ thống sẽ thông báo lỗi và yêu cầu đăng nhập lại Người dùng có thể hủy bỏ và kết thúc Use case
Trang 5_ Người dùng chưa đăng nhập tên và mật khẩu : nếu chưa đăng nhập tên và mật khẩu
mà đã lựa chọn Đăng nhập, thì hệ thống sẽ hiện thông báo yêu cầu người dùng đăng nhập tên và mật khẩu
1.3.Các yêu cầu đặc biệt
Không có
1.4.Trạng thái hệ thống trước khi bắt đầu thực hiện Use-case
Người dùng ở trạng thái chưa đăng nhập vào hệ thống
1.5.Trạng thái hệ thống sau khi thực hiện Use-case
Người dùng ở trạng thái đã đăng nhập vào hệ thống
Use case bắt đầu khi nhân viên bán hàng chọn chức năng lập hóa đơn
_ Nhân viên bán hàng nhập vào các thông tin của hóa đơn: tên khách hàng, ngày lập _ Nhân viên nhập mã các quyển sách khách hàng mua, số lượng sách
_ Nhân viên chọn chức năng tính tiền sẽ hiện ra số tiền cần thanh toán
2.2.2 Các dòng sự kiện khác
_ Sai mã sách : nhân viên bán hàng nhập sai mã sách hoặc mã sách không tồn tai trong
hệ thống, thì sẽ thông báo lỗi không có sách này tồn tại và yêu cầu nhập lại mã sách khác
2.3.Các yêu cầu đặc biệt
Không có
2.4.Trạng thái hệ thống trước khi bắt đầu thực hiện Use-case
Người dùng ở trạng thái đã đăng nhập vào hệ thống
2.5.Trạng thái hệ thống sau khi thực hiện Use-case
Người dùng ở đã lập hóa đơn thành công
2.6.Điểm mở rộng
Không có
Trang 6Use case bắt đầu khi nhân viên bán hàng chọn chức năng tìm kiếm sách :
_ Hệ thống hiển thị form tìm kiếm và yêu cầu nhân viên nhập tên sách cần tìm _ Nhân viên nhập tên sách và chọn tìm kiếm
_ Hệ thống hiển thị thông tin về sách cần tìm
_ Nhân viên thoát chức năng tìm kiếm bằng cách chọn nút thoát trên màn hình form tìm kiếm
3.4.Trạng thái hệ thống trước khi bắt đầu thực hiện Use-case
Người dùng ở trạng thái đã đăng nhập vào hệ thống
3.5.Trạng thái hệ thống sau khi thực hiện Use-case
Hệ thống phải hiển thị thông tin sách cần tìm
Use case bắt đầu khi thủ kho chọn chức năng quản lý sách
_ Hệ thống sẽ hiện ra một menu chức năng bao gồm : thêm sách, sửa thông tin sách, xóa sách và kiểm kê sách
_ Nếu thủ kho chọn chức năng thêm sách, thì hệ thống sẽ hiển thị form thêm sách và yêu cầu thủ kho nhập đầy đủ thông tin về sách mới Sau đó chọn button “Thêm mới”
Hệ thống sẽ kiểm tra và thông báo thành công
_ Nếu thủ kho chọn chức năng sửa thông tin sách, thì hệ thống sẽ hiển thị form sửa thông tin sách và yêu cầu nhập mã sách cần sửa Hệ thống kiểm tra mã sách mà thủ kho đã nhập và hiển thị thông tin sách Thủ kho sửa thông tin và chọn button “Xác
Trang 7nhận” Hệ thống lưu trữ thông tin đã được sửa vào cơ sở dữ liệu và thông báo sửa thành công
_ Nếu thủ kho chọn chức năng xóa sách, thì hệ thống sẽ hiển thị form xóa sách và yêu cầu thủ kho nhập mã sách muốn xóa Hệ thống sẽ kiểm tra mã sách muốn xóa và hiển thị thông tin sách Thủ kho chọn “Xóa sách”, hệ thống sẽ hỏi thủ kho có muốn xóa hay không (pop-up hiển thị lựa chọn yes hoặc no)
_ Nếu thủ kho chọn chức năng kiểm kê sách, thì hệ thống sẽ hiển thị mã sách, tên sách, số lượng sách còn lại tương ứng
4.2.2 Các dòng sự kiện khác
_ Sách mới thêm đã có trong hệ thống : thủ kho nhập mã sách hoặc tên sách trùng với
mã sách trong cơ sở dữ liệu thì hệ thống tự động tăng số lượng đó lên
_ Không tồn tại mã sách trông hệ thống : thủ kho nhập mã sách hoặc tên sách không tồn tại trong cơ sở dữ liệu (chức năng sửa và xóa) thì hệ thống sẽ thông báo không tồn tai và yêu cầu nhập lại
4.3.Các yêu cầu đặc biệt
Không có
4.4.Trạng thái hệ thống trước khi bắt đầu thực hiện Use-case
Người dùng ở trạng thái đã đăng nhập vào hệ thống
4.5.Trạng thái hệ thống sau khi thực hiện Use-case
Nếu Use-case thực hiện thành công thì các quá trình thêm, sửa, xóa sẽ được thực hiện và hệ thống sẽ cập nhật lại cơ sở dữ liệu Ngược lại, tình trạng hệ thống không thay đổi
Use case này bắt đầu khi người quản lý chọn chức năng tạo tài khoản:
_ Hệ thống hiển thị form tạo tài khoản, yêu cầu người quản lý điền đầy đủ thông tin _ Người quản lý chọn button “Tạo tài khoản”
_ Hệ thống thông báo tạo tài khoản thành công
5.2.2 Các dòng sự kiện khác
_ Tên đăng nhập đã tồn tại : nếu người quản lý tạo tài khoản trùng với tên đăng nhập
đã có trong hệ thống thì hệ thống sẽ thông báo trùng tên tài khoản và yêu cầu nhập lại tên tài khoản khác
5.3.Các yêu cầu đặc biệt
Không có
Trang 85.4.Trạng thái hệ thống trước khi bắt đầu thực hiện Use-case
Người dùng ở trạng thái đã đăng nhập vào hệ thống
5.5.Trạng thái hệ thống sau khi thực hiện Use-case
Nếu thực hiện thành công thì hệ thống sẽ cập nhật lại dữ liệu của nhân viên Ngược lại, tình trạng hệ thống sẽ không thay đổi
• Sach(maSach, tenSach, maLoaiSach, giaTien, moTa)
Ràng buộc toàn vẹn dữ liệu:
• Toàn vẹn thực thể: maSach là khóa chính
Trang 9• Toàn vẹn tham chiếu: thuộc tính maLoaiSach của quan hệ SACH là khóa ngoại tham
chiếu đến khóa chính của quan hệ LOAISACH
2.2 LOAISACH
Lược đồ quan hệ:
• LoaiSach(maLoaiSach, tenLoaiSach)
Ràng buộc toàn vẹn dữ liệu:
• Toàn vẹn thực thể: maLoaiSach là khóa chính
• Toàn vẹn tham chiếu:
2.3 TACGIA
Lược đồ quan hệ:
• TacGia(maTacGia, tenTacGia, namSinh, queQuan)
Ràng buộc toàn vẹn dữ liệu:
• Toàn vẹn thực thể: maTacGia là khóa chính
• Toàn vẹn tham chiếu:
2.4 THONGTINXUATBAN
Lược đồ quan hệ:
• ThongTinXuatBan(maSach, lanTaiBan, namXuatBan, giaBia)
Ràng buộc toàn vẹn dữ liệu:
• Toàn vẹn thực thể: maSach là khóa chính
• Toàn vẹn tham chiếu: thuộc tính maSach của quan hệ THONGTINXUATBAN là khóa
ngoại tham chiếu đến khóa chính của quan hệ SACH
2.5 KHO
Lược đồ quan hệ:
• Kho(maSach, tongSoLuong, tonKho)
Ràng buộc toàn vẹn dữ liệu:
• Toàn vẹn thực thể: maSach là khóa chính
Trang 10• Toàn vẹn tham chiếu: thuộc tính maSach của quan hệ KHO là khóa ngoại tham chiếu đến
khóa chính của quan hệ SACH
2.6 CHITIETHOADON
Lược đồ quan hệ:
• ChiTietHoaDon(maHoaDon, maSach, soLuong, giaTienHienTai)
Ràng buộc toàn vẹn dữ liệu:
• Toàn vẹn thực thể: maHoaDon và maSach là khóa chính
• Toàn vẹn tham chiếu: thuộc tính maHoaDon của quan hệ CHITIETHOADON là khóa
ngoại tham chiếu đến khóa chính của quan hệ HOADON
• Toàn vẹn tham chiếu: thuộc tính maSach của quan hệ CHITITETHOADON là khóa ngoại
them chiếu đến khóa chính của quan hệ SACH
2.7 HOADON
Lược đồ quan hệ:
• HoaDon(maHoaDon, tenKhachHang, ngayLap, tongTien)
Ràng buộc toàn vẹn dữ liệu:
• Toàn vẹn thực thể: maHoaDon là khóa chính
• Toàn vẹn tham chiếu:
2.8 NHATKYNHAPSACH
Lược đồ quan hệ:
• NhatKyNhapSach(STT, maSach, soLuong, ngayNhap)
Ràng buộc toàn vẹn dữ liệu:
• Toàn vẹn thực thể: STT là khóa chính
• Toàn vẹn tham chiếu: thuộc tính maSach của quan hệ NHATKYNHAPSACH là khóa
ngoại tham chiếu đến khóa chính của quan hệ SACH
2.9 TAIKHOAN
Lược đồ quan hệ:
• TaiKhoan(username, password, name, id, chucvu)
Ràng buộc toàn vẹn dữ liệu:
• Toàn vẹn thực thể: username là khóa chính
Trang 11• Toàn vẹn tham chiếu:
2.10 VIETSACH
Lược đồ quan hệ:
• VietSach(maSach,maTacGia)
Ràng buộc toàn vẹn dữ liệu:
• Toàn vẹn thực thể: maSach và maTacGia là khóa chính
• Toàn vẹn tham chiếu: thuộc tính maSach của quan hệ VIETSACH là khóa ngoại tham
chiếu đến khóa chính của quan hệ SACH
• Toàn vẹn tham chiếu: thuộc tính maTacGia của quan hệ VIETSACH là khóa ngoại tham
chiếu đến khóa chính của quan hệ TACGIA
IV Phân tích và thiết kế chương trình
1.1 Boundary
• FrmLogin: Form cho phép người dùng đăng nhập vào hệ thống
• FrmChucNangNguoiDung: Form cho phép người dùng quản lý những chức năng theo từng chức vụ
• FrmLapHoaDon: Form cho phép người dùng tạo một hóa đơn để thanh toán
• FrmQuanLy: Form cho phép người dùng quản lý sản phẩm (thêm, sửa, xóa)
• FrmTaoTaiKhoan: Form cho phép người dùng tạo tài khoản theo chức vụ
• FrmThongKe: Form cho phép người dùng thống kê sách theo các tiêu chí
• FrmTiemKiemSach: Form cho phép người dùng tìm kiếm đầu sách theo tiêu chí
1.2 Entiy
• TaiKhoan: Lưu trữ thông tin người dùng
• Sach: Lưu trữ thông tin sách
• TacGia: Lưu trữ thông tin tác giả
• Kho: Lưu trữ thông tin về các đầu sách trong kho
• HoaDon: Lưu trữ thông tin hóa đơn : mã hóa đơn, ngày lập, tổng tiền
• ChiTietHoaDon: Lưu trữ thông tin các quyển sách bán đi và số lượng
1.3 Connection
• CheckInternet: Kiểm tra kết nối Internet
• SocketClass: Kết nới với Server lưu trữ cơ sở dữ liệu và chứa các hàm xử lý các chức năng
2.1 Login
Trang 122.2 Lập hóa đơn
2.3 Tạo tài khoản
2.4 Quản lý sách
Trang 132.5 Tìm kiếm sách
Trang 151.3 Form Tìm Kiếm
1.4 Form Quản Lý Sách
Trang 161.5 Form Lập hóa đơn
Trang 171.6 Form Tạo tài khoản
2 Website Library
2.1 Trang chủ
Trang 192.2 Login
2.3 Register
Trang 202.4 Category
2.5 Contact
Trang 212.6 Cart
2.7 Detail Product
Trang 223 Ứng dụng Android Library
3.1 Home
Trang 233.2 Home
Trang 243.3 Tạo tài khoản
Trang 253.4 Mua sản phẩm
Trang 263.5 Giỏ hàng
Trang 273.6 Thanh toán sản phẩm
Trang 28VI Tổng kết
Sau một thời gian tìm hiểu cũng như xây dựng dự án, nhóm em đã hiểu hơn về quy trình
cơ bản tổ chức dự án thông qua công cụ Microsoft Project Về sản phẩm thì nhóm em đã cố gắng đạt được những yêu cầu cơ bản, do cũng còn nhiều thiếu xót bởi những lý do chủ quan như kinh nghiệm còn hạn chế và khách quan như thời gian cho nhiều môn học khác, chưa được trải
nghiệm những dự án thực tế Trong tương lai, nếu có điều kiện cũng như cải thiện tốt hơn về những kĩ năng thì nhóm sẽ bổ sung hoàn thành ứng dụng Website và Android, cũng như hoàn thiện ứng dụng quản lý để có hỗ trợ tốt cho người sử dụng, giảm bớt thao tác dư thừa
VII Tài liệu tham khảo
[2] Project môn Lập trình thiết bị di động
[3] Project môn Phân tích và Thiết kế Phần mềm