Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.59 MB, 31 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
- Thư viện Phương Nam (PNLib) là một thư viện nhỏ, chuyên cho thuê các loại sách phục vụ cho các bạn đọc như “Kinh tế”, “Ngoại Ngữ”, “Công nghệ thông tin”, “Ẩm thực”, “Sức Khoẻ” …
- Việc quản lý các đầu sách, các phiếu mượn sách, thành viên hiện đang được thư viện quản lý trên sổ sách bằng tay. Việc này gây khó khăn cho thư viện, tốn thời gian ghi chép, và sai sót nhiều trong thống kê. Vì vậy, PNLIB mong muốn xây dựng một phần mềm chạy trên thiết bị di động cá nhân để hỗ trợ giải quyết các khó khăn trên.
<b>Phân tích yêu cầu khách hàng</b>
Vẽ sơ đồ use casesĐặc tả yêu cầu hệ thống
Sơ đồ triển khai và yêu cầu hệ thống
Tạo giao diện
Tạo cơ sở dữ liệu với SQLITE
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">Lập trình CSDLLập trình chức năng
<b>Kiểm thử</b>
Xây dựng kịch bản kiểm thử
<b>Đóng gói & triển khai</b>
Đóng gói sản phẩm
a.Sơ đồ use case tổng
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">b.Sơ đồ use case dành cho nhân viên
c. Sơ đồ dành cho quản lý
<b>Mô tả chức năng:</b>
-Chức năng quản lý thành viên được sử dụng để quản lý thông tin thành viên, chức năng này là liệt kê danh sách thành viên, xem thông tin chi tiết yêu cầu của mỗi thành viên, thêm thành viên mới, cập nhật thông tin hoặc xóa thành viên đã tồn tại.
<b>Dữ liệu liên quan</b>
-Thông tin của mỗi thành viên gồm: mã thành viên, họ tên thành viên, năm sinh thành viên.
<b>Dữ liệu liên quan</b>
-Thông tin của mỗi loại sách gồm: mã thể loại, tên thể loại.
<b>Dữ liệu liên quan</b>
-Thông tin của mỗi loại sách gồm: mã sách, tên sách, mã loại sách, giá thuê.
<b>Đối tượng sử dụng</b>
-Sau khi đăng nhập thì tất cả người dùng có thể sử dụng chức năng này.
<b>Mô tả chức năng:</b>
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">-Chức năng quản lý phiếu mượn được sử dụng để quản lý phiếu mượn, chức năng này là liệt kê danhsách phiếu mượn, thêm phiếu mượn, cập nhật thông tin hoặc xóa phiếu mượn đã tồn tại.
<b>Dữ liệu liên quan</b>
-Thơng tin của mỗi phiếu mượn gồm: mã phiếu mượn, mã sách, mã thành viên, mã thủ thư, tiền thuê, ngày thuê, ngày trả
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8"><b>3.2.2.1 Thực thể thủ thư</b>
MATT String Mã thủ thư
HoTen String Họ và tên thủ thư
<b>3.2.2.2 Thực thể phiếu mượn</b>
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9"><b>Thuộc tínhKiểu dữ liệuMơ tả</b>
MAPM INTEGER Mã phiếu mượnMATV INTEGER Mã thành viênMASACH INTEGER Mã sách
MATT String Mã thủ thưTIENTHUE INTEGER Tiền thuê
TRASACH INTEGER Ngày trả
<b>3.2.2.3 Thực thể thành viên</b>
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10"><b>Thuộc tínhKiểu dữ liệuMơ tả</b>
MATV INTEGER Mã thành viênHOTEN String Họ và tên thành viênNAMSINH String Năm sinh thành viên
<b>3.2.2.4 Thực thể loại sách</b>
MALOAI INTEGER Mã loạiTENLOAI String Tên loại
<b>3.2.2.5 Thực thể sách</b>
MASACH INTEGER Mã sáchMALOAI INTEGER Mã loại
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">TENSACH String Tên sáchGIATHUE INTEGER Giá bán
<b>GIAO DIỆN</b>
</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20"><b>GIAO DIỆN</b>
</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22"><b>CẤU TRÚC BẢNG</b>
<b>T<small>ÊNCỘT</small>K<small>IỂUDỮLIỆU</small>R<small>ÀNGBUỘC</small>M<small>ÔTẢ</small></b>
</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">MaTT TEXT PK Mã thủ thưMatKha
TEXT NOT NULL Mật khẩu
HoTen TEXT NOT NULL Họ và tên
<b>MÃ LỆNH TẠO BẢNG</b>
<b>CÂU LỆNH CƠ BẢN CỦA SQLITE</b>
<b><small>db</small></b><small>.insert(</small><b><small>"ThuThu"</small></b><small>, </small><b><small>null</small></b><small>, values);</small>
<b><small>db</small></b><small>.update(</small><b><small>"ThuThu"</small></b><small>, values, </small><b><small>"maTT=?"</small></b><small>, </small><b><small>new </small></b><small>String[]{obj.</small><b><small>maTT</small></b><small>});</small>
<b><small>db</small></b><small>.delete(</small><b><small>"ThuThu" "maTT=?"</small></b><small>, , </small><b><small>new </small></b><small>String[]{id});</small>
<b><small>db</small></b><small>.execSQL(“</small>SELECT FROM* <b><small>ThuThu </small></b>WHERE <b><small>maTT=?"</small></b><small>, </small><b><small>new </small></b><small>String[]{obj.</small><b><small>maTT</small></b><small>});</small>
<b><small>db</small></b><small>.execSQL(“</small>SELECT FROM* <b><small>ThuThu”</small></b><small>);</small>
maTV INTEGER PK Mã thành viênhoTen TEXT NOT NULL Họ và tênnamSin
TEXT NOT NULL Năm sinh
<b>MÃ LỆNH TẠO BẢNG</b>
</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28"><b>CÂU LỆNH CƠ BẢN CỦA SQLITE</b>
<b><small>db</small></b><small>.insert(</small><b><small>"ThanhVien"</small></b><small>, </small><b><small>null</small></b><small>, values);</small>
<b><small>db</small></b><small>.update(</small><b><small>"ThanhVien "</small></b><small>, values, </small><b><small>"maTV=?"</small></b><small>, </small><b><small>new </small></b><small>String[]{obj.</small><b><small>maTV</small></b><small>});</small>
<b><small>db</small></b><small>.delete(</small><b><small>"ThanhVien "</small></b><small>, </small><b><small>"maTV=?"</small></b><small>, </small><b><small>new </small></b><small>String[]{id});</small>
<b><small>db</small></b><small>.execSQL(“</small>SELECT FROM* <b><small>ThanhVien</small></b> WHERE <b><small>maTV=?"</small></b><small>, </small><b><small>new </small></b><small>String[]{obj.</small><b><small>maTV</small></b><small>});</small>
<b><small>db</small></b><small>.execSQL(“</small>SELECT FROM* <b><small>ThanhVien”</small></b><small>);</small>
maLoai INTEGER PK Mã loại sáchtenLoai TEXT NOT NULL Tên loại sách
<b>MÃ LỆNH TẠO BẢNG</b>
<b>CÂU LỆNH CƠ BẢN CỦA SQLITE</b>
<b><small>db</small></b><small>.insert(</small><b><small>"LoaiSach"</small></b><small>, </small><b><small>null</small></b><small>, values);</small>
<b><small>db</small></b><small>.update(</small><b><small>"LoaiSach "</small></b><small>, values, </small><b><small>"maLoai=?"</small></b><small>, </small><b><small>new </small></b><small>String[]{obj.</small><b><small>maLoai</small></b><small>});</small>
<b><small>db</small></b><small>.delete(</small><b><small>"LoaiSach " " maLoai =?"</small></b><small>, , </small><b><small>new </small></b><small>String[]{id});</small>
<b><small>db</small></b><small>.execSQL(“</small>SELECT FROM* <b><small>LoaiSach</small></b> WHERE <b><small>maLoai =?"</small></b><small>, </small><b><small>new </small></b><small>String[]{obj.</small><b><small>maLoai</small></b><small>});</small>
<b><small>db</small></b> SELECT FROM* <b><small>LoaiSach”</small></b>
</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">maSach INTEGER PK Mã sáchtenSach TEXT NOT NULL Tên sáchgiaThue INTEGER NOT NULL Giá thuêmaLoai INTEGER FK Mã loại sách
<b>MÃ LỆNH TẠO BẢNG</b>
<b>CÂU LỆNH CƠ BẢN CỦA SQLITE</b>
<b><small>db</small></b><small>.insert(</small><b><small>"Sach"</small></b><small>, </small><b><small>null</small></b><small>, values);</small>
<b><small>db</small></b><small>.update(</small><b><small>"Sach "</small></b><small>, values, </small><b><small>"maSach=?"</small></b><small>, </small><b><small>new </small></b><small>String[]{obj.</small><b><small>maSach</small></b><small>});</small>
<b><small>db</small></b><small>.delete(</small><b><small>"Sach " " maSach =?"</small></b><small>, , </small><b><small>new </small></b><small>String[]{id});</small>
<b><small>db</small></b><small>.execSQL(“</small>SELECT FROM* <b><small>Sach</small></b> WHERE <b><small>maSach =?"</small></b><small>, </small><b><small>new </small></b><small>String[]{obj.</small><b><small>maSach</small></b><small>});</small>
<b><small>db</small></b><small>.execSQL(“</small>SELECT FROM* <b><small>Sach”</small></b><small>);</small>
maPM INTEGER PK Mã phiếu mượnmaSach INTEGER FK Mã sách
maTV INTEGER FK Mã thành viên
</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">MaTT TEXT FK Mã thủ thưtienThu
INTEGER NOT NULL Tiền thuê
Ngay DATE NOT NULL Ngày mượntraSach INTEGER NOT NULL Ngày trả
<b>MÃ LỆNH TẠO BẢNG</b>
<b>CÂU LỆNH CƠ BẢN CỦA SQLITE</b>
<b><small>db</small></b><small>.insert(</small><b><small>"PhieuMuon"</small></b><small>, </small><b><small>null</small></b><small>, values);</small>
<b><small>db</small></b><small>.update(</small><b><small>"PhieuMuon "</small></b><small>, values, </small><b><small>"maPM=?"</small></b><small>, </small><b><small>new </small></b><small>String[]{obj.</small><b><small>maPM</small></b><small>});</small>
<b><small>db</small></b><small>.delete(</small><b><small>"PhieuMuon " " maPM =?"</small></b><small>, , </small><b><small>new </small></b><small>String[]{id});</small>
<b><small>db</small></b><small>.execSQL(“</small>SELECT FROM* <b><small>PhieuMuon</small></b> WHERE <b><small>maPM =?"</small></b><small>, </small><b><small>new </small></b><small>String[]{obj.</small><b><small>maPM</small></b><small>});</small>
<b><small>db</small></b><small>.execSQL(“</small>SELECT FROM* <b><small>PhieuMuon”</small></b><small>);</small>
</div>