BÀI TẬP LỚN PHÂN TÍCH THIẾT KẾ Đề Bài: HỆ THỐNG QUẢN LÝ THƯ VIỆN ĐIỆN TỬ

Hệ thống quản lý thư viện điện tử (QLTV) của một trường đại học cho phép nhân viên thư viện và bạn đọc thực hiện 1 số chức năng sau:   Nhân viên: Tìm kiếm, đăng nhập, nhập tài liệu, ktra tình trạng mượn của bạn đọc trong ngày, thống kê bạn đọc. Bạn đọc : tìm kiếm, xem tóm tắt tài liệu, đăng nhập, download tài liệu

Nhân viên phải đăng nhập vào hệ thống mới có thể thực hiện các chức năng của mình. Bạn đọc sau khi đăng ký qua mạng sẽ được cấp 1 account. Họ có thể tự do tìm kiếm tài liệu, xem tóm tắt… nhưng khi yêu cầu chức năng download tài liệu thì hệ thống sẽ hiển thị giao diện yêu cầu đăng nhập. Câu 1: a. Hãy xác định các tác nhân(actor) và các use case của hệ thống với UML b. Xác định quan hệ giữa các use case dựa trên <includes> và <extends> Câu 2: a. Trình bày kịch bản cho use case bạn đọc download tài liệu b. Trình bày kịch bản cho use case nhân viên nhập tài liệu c. Phác thảo giao diện cho nhập tài liệu và download tài liệu Câu 3: a. Hãy xác định các lớp, các thuộc tính và các kiểu lớp(thực thể, biên) từ 2 kịch bản trên b. Xây dựng biểu đồ lớp phân tích được ở câu 3.a Câu 4: a. Xây dựng biểu đồ tuần tự cho chức năng download tài liệu b. Xây dựng phương thức và gán phương thức cho lớp tương ứng Câu 5: a. Xây dựng biểu đồ lớp thiết kế và mã code java sinh từ biểu đồ này. b. Dựa trên biểu đồ lớp thiết kế hãy xây dựng CSDL Câu 6: a. Xây dựng 2 biểu đồ trạng thái cho 2 phương thức mà sinh viên tự chọn b. Hãy trình bày 1 thiết kế kiến trúc 3 tầng dựa trên công nghệ J2EE cho QLTV c. Hãy viết 1 modul chương trình để bạn đọc download tài liệu dựa vào code được sinh từ câu 5.

Bài làm Câu 1: a. Xác định các tác nhân(actor) và các use case của hệ thống với UML - Actor: Bạn đọc, Nhân viên thư viện - Use case:  Bạn đọc:  Tìm kiếm  Xem tóm tắt  Download  Đăng nhập  Đăng ký  Nhân viên thư viện:  Đăng nhập  Đăng ký  Tìm kiếm  Nhập tài liệu  Kiểm tra tình trạng mượn  Thống kê b. Sơ đồ Use case Bạn đọc:

Nhân viên thư viện:

Câu 2: a) Trình bày kịch bản cho use case bạn đọc download tài liệu. Tên các use case Tác nhân chính Tiền điều kiện Đảm bảo tối thiểu Đảm bảo thành công Kích hoạt Downloadtailieu Bạn đọc Bạn đọc đã có tài khoản trong hệ thống Bạn đọc đăng nhập không thành công,Hệ thống trở lại GD đăng nhập Bạn đọc download thành công tài liệu về máy của mình Bạn đọc chọn chức năng download tài liệu

Chuỗi sự kiện chính: 1. Bạn đọc chọn chức năng download tài liệu trên giao diện chính.

2. Hệ thống yêu cầu người dùng đăng nhập và hiển thị ra giao diện đăng nhập. 3. Bạn đọc điền đầy đủ thông tin và nhấn nút login. 4. Hệ thống kiểm tra thông tin và thông báo “Login thành công ” và hiển thị giao diện tìm tài liệu cần download tài liệu gồm: 1 textfiled điền tên sách, 1 nút “Tìm kiếm” 5. Bạn đọc điền tên sách cần download và ấn nút “Tìm kiếm”. 6. Hệ thống hiện thị ra danh sách sách có cùng với tên sách bạn muốn cùng các thông tin về sách: tác giả, nhà xuất bản, thể loại...,Checkbotton để bạn chọn sách muốn download và 1 nút “Download”. 7. Bạn đọc cho sách cần download và ấn nút “Download” 8. Hệ thống hiển thị thông báo:”Download thành công”

Ngoại lệ: 1. Bạn đọc điền thông tin đăng nhập sai. 2. Hệ thống thông bào login chưa thành công ,hiển thị giao diện đăng nhập.

b) Trình bày kịch bản cho use case nhân viên nhập tài liệu Tên các use case Tác nhân chính Tiền điều kiện Đảm bảo tối thiểu Đảm bảo thành công Kích hoạt Chuỗi sự kiện chính: Nhập tài liệu Nhân viên Nhân viên đã có tài khoản trong hệ thống Nhân viên đăng nhập không thành công,Hệ thống trở lại GD đăng nhập Nhân viên download thành công tài liệu về máy của mình Nhân viên đăng nhập vào hệ thống

1. Nhân Viên đăng nhập bằng các điền Username và password và ấn Login trên giao diện đăng nhập 2. Hệ thống hiển thị giao diện chức năng của NV: Nhập tài liệu, kiểm

3. 4.

5.

6. 7. 8.

tra tình trạng mượn, tìm kiếm, thống kê. Nhân Viên chọn chức năng nhập tài liệu Hệ thống hiển thị ra giao diện nhập tài liệu gồm các ô: Mã tài liệu, tên tài liệu, tên tác giả, năm xuất bản, thể loại, giới thiệu tóm tắt, một nút Browser (để upload tài liệu từ máy tính) và 1 nút Upload Nhân Viên nhập: - Mã tài liệu: HH14 - Tên tài liệu: Phân tích thiết kế - Tên tác giả: Trần Đình Quế - Năm xuất bản: 2005 - Thể loại: CNTT - Giới thiệu tóm tắt: … - Sau đó nhấn nút Browser Hệ thống hiển thị giao diện Upload file, hiển thị tất cả các file trong ổ cứng Nhân viên chọn tài liệu D:\CNTT\Phân tích thiết kế và nhấn Open, sau đó nhấn Upload Hệ thống upload tài liệu và thông báo thành công

Ngoại lệ 1: 1. Nhân viên điền thông tin đăng nhập sai. 2. Hệ thống thông bào login chưa thành công ,hiển thị giao diện đăng nhập. Ngoại lệ 2: 1.Nhân viên nhập trung mã tài liệu. 2. Hệ thống báo mã tài liệu bị trùng và hiển thị giao diện nhập tài liệu. Ngoại lệ 3: 1.Nhân viên nhập tên tài liệu bị trùng. 2.Hệ thống thông báo tên tài liệu bị trung và hiển thị giao diện

c, Phác thảo giao diện Giao diện nhập tài liệu NHẬP TÀI LIỆU

MÃ TÀI LIỆU

TÊN TÀI LIỆU

TÊN TÁC GIẢ NĂM SẢN XUẤT

THỂ LOẠI

GIỚI THIỆU

LINK

CHỌN UPLOAD

Giao diện download tài liệu

STT

Mã Tài liệu

Tên Tài Liệu

Tên Tác Giả

Năm Sản Xuất 2006 2002 2004

Thể Loại CNTT CNTT CNTT

Giới Thiệu Là sách... Là sách... Là sách...

Chọn

1 2 3

A01 Phân tích thiết kế B13 Phân tích thiết kế C21 Phân tích thiết kế

Nguyễn Mạnh Hùng Trần Đình Quế Từ Minh Phương

X

Download

Câu 3: a. Xác định lớp: - Lớp thực thể: Hoten, Nguoi, Diachi, Nhanvien, Bandoc, Tailieu, Download - Lớp biên:  Lớp giao diện đăng ký/đăng nhập  Lớp giao diện chức năng nhân viên quản lý, giao diện tìm kiếm, giao diện nhập tài liệu, giao diện thống kê, giao diện kiểm tra tình trạng mượn  Lớp giao diện chức năng bạn đọc, giao diện download tài liệu, giao diện danh sách tài liệu - Lớp điều khiển

b. Sơ đồ lớp

Câu 4: a, Sơ đồ tuần tự

b, Xây dựng phương thức và gán phương thức cho lớp tương ứng

Câu 5: a , Xây dựng biểu đồ lớp thiết kế

Mã code Java sinh từ biểu đồ public class Bandoc extends Nguoi { private String _id; private String _lop; private String _khoa; public Download _download; } public class Diachi { private String _xa; private String _huyen; private String _tinh;

public Nguoi _nguoi; } public class Download { private String _id; private Bandoc _bandoc; private Tailieu _tailieu; } public class Hoten { private String _hodem; private String _ten; public Nguoi _nguoi; } public class Nguoi { private Hoten _hoten; private Diachi _diachi; private int _tuoi; } public class Nhanvien extends Nguoi { private String _id; } public class Tailieu { private String _id; private String _ten; private String _tacgia; private String _theloai; private Date _namxb; private String _tomtat; public Download _download; }

b, Cơ sở dữ liệu

Câu 6 Xây dựng 2 biểu đồ trạng thái cho 2 phương thức mà sinh viên tự chọn

Biểu đồ trạng thái cho chức năng đăng nhập

Biểu đồ trạng thái cho chức năng tìm tài liệu