PTTK HDT 2 Nhóm 13 Huy_Tu_Viet HTTTK53 Mục lục: Lời nói đầu ..................................................................................................................................... 3 I. Khảo sát nghiệp vụ. ..................................................................................................................... 4 1.Mô tả chung hệ thống nghiệp vụ ............................................................................................. 4 1.1 Hoạt động của 1 hệ thống thư viện nói chung: ................................................................ 4 1.2 Yêu cầu của hệ thống: ..................................................................................................... 5 2.Danh sách quy trình nghiệp vụ ................................................................................................ 5 3.Đặc tả quy trình nghiệp vụ ...................................................................................................... 5 4.Mô hình hóa quy trình nghiệp vụ ............................................................................................ 9 II. Phân tích .................................................................................................................................. 10 1.Đối tác và ca sử dụng ............................................................................................................ 10 1.1 Đối tác............................................................................................................................ 10 2.Đặc tả ca sử dụng .................................................................................................................. 10 2.1 Sơ đồ usecase tổng quát ................................................................................................. 11 2.2 Quản lí truy cập ............................................................................................................. 12 2.3 Tìm kiếm........................................................................................................................ 14 2.4 Quản lí sách ................................................................................................................... 19 2.5 Quản lí người dùng ........................................................................................................ 22 2.6Quản lí mượn trả sách ..................................................................................................... 26 2.7 Quản lí báo cáo .............................................................................................................. 28 3.Phân tích kiến trúc và hành vi ............................................................................................... 30 3.1 Biểu đồ trình tự hệ thống ............................................................................................... 30 3.2 Biểu đồ lớp .................................................................................................................... 35 III. Thiết kế .................................................................................................................................. 40 1.Phân rã thành gói các chức năng ........................................................................................... 40 2.Mô hình phân tầng theo công nghệ ....................................................................................... 41 2.1. Giới Thiệu Yii Framework ........................................................................................... 41 2.2. Các thành phần trong Project dùng Yii Framework: .................................................... 42 2.3. Luồng hoạt động trong Yii project ............................................................................... 43 Kết luận ........................................................................................................................................ 44 Tài liệu tham khảo: ....................................................................................................................... 45 PTTK HDT 3 Nhóm 13 Huy_Tu_Viet HTTTK53 Lời nói đầu Hiện nay, thư viện là một hệ thống khá phổ biến trong các trường học cũng như trên các tỉnh thành trong cả nước. Đi cùng với sự phát triển của các thư viện là nhu cầu của bạn đọc tăng lên, và số lượng sách trong thư viện cũng tăng lên rất nhiều so với những hệ thống thư viện đơn giản và nhỏ lẻ trước đây. Và, cũng một yêu cầu được đặt ra cùng với sự phát triển đó là làm thế nào để quản lý các thông tin trong thư viện một cách tót nhất và có hiệu quả nhất. Vì vậy, chúng em xin giới thiệu 1 hệ thống quản lý thư viện, đáp ứng được 1 số chức năng cơ bản cần thiết của một hệ thống quản lý thư viện là quản lý tài liệu, bạn đọc, quản lý cập nhật và quản lý quá trình mượn và trả sách trong thư viện. Hệ thống mà em đang giới thiệu tập trung chủ yếu vào quản lý dữ liệu ( tài liệu, bạn đoc ) và quản lý mượn, trả sách… Chúng em xin chân thành cảm ơn thầy giáo TS Nguyễn Hữu Đức và các bạn trong lớp HTTTK53 đã giúp đỡ chúng em hoàn thành việc phân tích thiết kế hệ thống này Hà Nội 5 2012 Nhóm sinh viên: Nguyễn Quang Huy Nguyễn Trọng
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
-
BÁO CÁO BÀI TẬP LỚN
Môn: Phân tích thiết kế hệ thống hướng đối tượng
Đề tài : Phân tích thiết kế hệ thống quản lí thư viện
Giáo viên hướng dẫn: TS Nguyễn Hữu Đức
Sinh viên thực hiện: Nhóm 13
Nguyễn Quang Huy 20081149 HTTT-K53 Nguyễn Trọng Tú 20083080 HTTT-K53
Trang 2Mục lục:
Lời nói đầu 3
I Khảo sát nghiệp vụ 4
1.Mô tả chung hệ thống nghiệp vụ 4
1.1 Hoạt động của 1 hệ thống thư viện nói chung: 4
1.2 Yêu cầu của hệ thống: 5
2.Danh sách quy trình nghiệp vụ 5
3.Đặc tả quy trình nghiệp vụ 5
4.Mô hình hóa quy trình nghiệp vụ 9
II Phân tích 10
1.Đối tác và ca sử dụng 10
1.1 Đối tác 10
2.Đặc tả ca sử dụng 10
2.1 Sơ đồ usecase tổng quát 11
2.2 Quản lí truy cập 12
2.3 Tìm kiếm 14
2.4 Quản lí sách 19
2.5 Quản lí người dùng 22
2.6Quản lí mượn trả sách 26
2.7 Quản lí báo cáo 28
3.Phân tích kiến trúc và hành vi 30
3.1 Biểu đồ trình tự hệ thống 30
3.2 Biểu đồ lớp 35
III Thiết kế 40
1.Phân rã thành gói các chức năng 40
2.Mô hình phân tầng theo công nghệ 41
2.1 Giới Thiệu Yii Framework 41
2.2 Các thành phần trong Project dùng Yii Framework: 42
2.3 Luồng hoạt động trong Yii project 43
Kết luận 44
Tài liệu tham khảo: 45
Trang 3Lời nói đầu
Hiện nay, thư viện là một hệ thống khá phổ biến trong các trường học cũng như trên các tỉnh thành trong cả nước Đi cùng với sự phát triển của các thư viện
là nhu cầu của bạn đọc tăng lên, và số lượng sách trong thư viện cũng tăng lên rất nhiều so với những hệ thống thư viện đơn giản và nhỏ lẻ trước đây
Và, cũng một yêu cầu được đặt ra cùng với sự phát triển đó là làm thế nào để quản lý các thông tin trong thư viện một cách tót nhất và có hiệu quả nhất Vì vậy, chúng em xin giới thiệu 1 hệ thống quản lý thư viện, đáp ứng được 1 số chức năng
cơ bản cần thiết của một hệ thống quản lý thư viện là quản lý tài liệu, bạn đọc, quản lý cập nhật và quản lý quá trình mượn và trả sách trong thư viện Hệ thống
mà em đang giới thiệu tập trung chủ yếu vào quản lý dữ liệu ( tài liệu, bạn đoc ) và quản lý mượn, trả sách…
Chúng em xin chân thành cảm ơn thầy giáo TS Nguyễn Hữu Đức và các bạn trong lớp HTTT-K53 đã giúp đỡ chúng em hoàn thành việc phân tích thiết kế hệ thống này!
Trang 4I Khảo sát nghiệp vụ
1.Mô tả chung hệ thống nghiệp vụ
1.1 Hoạt động của 1 hệ thống thư viện nói chung:
Đối với các hệ thống quản lý thư viện nói chung mà em đã từng được chứng kiến, thì có thể nhận thấy 1 hệ thống quản lý thư viện thường có các hoạt động cơ bản sau :
Thư viện làm các phích sách theo vần A…B…C , mỗi ô phích có nhiều phích sách, mỗi phích sách bao gồm các thông tin về Mã sách, Tên sách, Tên tác giả, Năm xuất bản, Thể loại… Khi bạn đọc muốn mượn sách thì tra cứu thông tin trên phích sách rồi ghi vào phiếu mượn
Một dạng của phiếu mượn:
Bạn đọc đến với thư viện sẽ được cấp cho một phiếu mượn trên đó ghi đầy
đủ các thông tin về bạn đọc như : họ tên, mã số thẻ, ngày cấp…
Mượn sách: Bạn đọc tìm kiếm và ghi thông tin sách cần mượn lên phiếu mượn, sau khi kiểm tra đầy đủ thông tin trên phiếu mượn và thẻ mượn, người quản
lý sẽ kiểm tra điều kiện mượn của sinh viên và cho phép mượn sách, lưu lại một số thông tin trong phiếu em chưa mượn để quản lý
Trang 5Trả sách: Khi bạn đọc mang sách đến trả tại thư viện, người quản lý sẽ dựa vào thông tin trên phiếu mượn đã được lưu lại để kiểm tra sách và thời gian trả, xác nhận sách trả cho bạn đọc
Bạn đọc mà trả muộn hơn thời gian quy định sẽ bị phạt
1.2 Yêu cầu của hệ thống:
Dựa vào các hoạt động cơ bản của một hệ thống thư viện, ta có thể thấy được những yêu cầu cơ bản của một hệ thống quản lý thư viện là :
- Cung cấp cho người quản lý các thông tin về các đầu sách trong thư viện, các đầu sách theo từng thể loại , số sách đang được mượn, số sách rỗi (chưa được mượn)…
- Hỗ trợ việc quản lý thông tin về bạn đọc
- Hỗ trợ cập nhật các thông tin về tài liệu và bạn đọc như : các lần tái bản, t
hêm sách, thêm bạn đọc, xóa bạn đọc, thay đổi thông tin tài liệu, thay đổi thông tin bạn đọc…
- Hỗ trợ người quản lý trong quá trình xác nhận cho mượn và trả sách với bạn đọc
- Đối với một thư viện online, hệ thống quản lý thư viện còn cho phép bạn đọc có thể tìm kiếm, tra cứu tài liệu trực tiếp trên internet và lựa chọn các đầu sách mình cần trước khi thực hiện quá trình mượn sách tại thư viện
2.Danh sách quy trình nghiệp vụ
Từ mô tả chung về hệ thống nghiệp vụ, chúng ta rút ra các quy trình nghiệp vụ chính của hệ thống:
- Cho mượn sách: một sinh viên có nhu cầu mượn sách sẽ lên thư viện lập phiếu yêu cầu mượn sách, và sẽ được mượn sách của thư viện
- Nhận trả sách: khi đến hạn trả sách, sinh viên sẽ mang sách lên thư viện trả lại sách
- Cập nhật sách: là quá trình cập nhật dữ liệu khi nhập sách mới về
3.Đặc tả quy trình nghiệp vụ
Trang 6Cho mượn sách:
Trang 7Nhận trả sách:
Trang 8Cập nhật sách:
Trang 94.Mô hình hóa quy trình nghiệp vụ
Trang 10II Phân tích
1.Đối tác và ca sử dụng
1.1 Đối tác
Qua quá trình khảo sát nghiệp vụ ta nhận thấy hệ thống gồm 3 tác nhân là:
- Sinh viên: Sinh viên là đối tác thực hiện việc mượn trả sách Sinh viên có thể đăng nhập vào hệ thống để biết thông tin về quá trình mượn trả sách của mình, tìm kiếm những đầu sách muốn mượn trong thư viện
- Nhân viên thư viện: là tác nhân thực hiện công việc ghi nhận cho mượn và trả sách của sinh viên, thực hiện cập nhật sách khi thư viện nhập thêm sách mới về, thực hiện quản lí sinh viên, lập các báo cáo cho cấp trên
- Quản lí thư viện: là người có quyền hạn cao nhất, có tất cả các khả năng của nhân viên, và có khả năng quản lí nhân viên
Trang 112.1 Sơ đồ usecase tổng quát
Trang 12Phương thức cơ bản 1 Người dùng chọn chức năng
Trang 13Thiết kế giao diện:
thư viện
thống muốn thoát ra khỏi hệ thống
Sự kiện kích hoạt Người dùng chọn chức năng đăng xuất Điều kiện kiên quyết Người dùng phải đăng nhập
Phương thức cơ bản 1 Người dùng chọn chức năng
Trang 142.3 Tìm kiếm
Trang 15Tìm sách theo từ khóa:
thư viện
thống muốn tìm kiếm sách trong cơ sở
dữ liệu
Sự kiện kích hoạt Người dùng chọn chức năng tìm kiếm
theo từ khóa Điều kiện kiên quyết Người dùng phải đăng nhập
Phương thức cơ bản 1 Người dùng chọn tìm kiếm theo
từ khóa
2 Hệ thống trả về form tìm kiếm theo từ khóa
3 Người dùng nhập từ khóa và tìm kiếm
4 Hệ thống trả về kết quả tìm kiếm
Phương thức thay thế
người sử dụng muốn tìm
Ngoại Lệ
Thiết kế giao diện
Trang 16Tìm sách theo thể loại:
thư viện
thống muốn tìm kiếm sách trong cơ sở
dữ liệu
Sự kiện kích hoạt Người dùng chọn chức năng tìm kiếm
theo thể loại Điều kiện kiên quyết Người dùng phải đăng nhập
Phương thức cơ bản 1 Người dùng chọn tìm kiếm theo
thể loại
2 Hệ thống trả về form tìm kiếm theo thể loại
3 Người dùng nhập từ khóa và tìm kiếm
4 Hệ thống trả về kết quả tìm kiếm
Phương thức thay thế
người sử dụng muốn tìm
Ngoại Lệ
Thiết kế giao diện:
Trang 17Tìm kiếm sinh viên:
thư viện muốn tìm sinh viên để thực hiện ghi nhận mượn trả
Sự kiện kích hoạt Nhân viên thư viện chọn chức năng
tìm kiếm sinh viên Điều kiện kiên quyết Nhân viên phải đăng nhập
Phương thức cơ bản 1 Người dùng chọn tìm kiếm sinh
viên
2 Hệ thống trả về form tìm kiếm theo thể loại
3 Nhân viên nhập mã số sinh viên
4 Hệ thống trả về kết quả tìm kiếm
Phương thức thay thế
Ngoại Lệ
Thiết kế giao diện:
Trang 18Tìm kiếm nhân viên:
thông tin của nhân viên
Sự kiện kích hoạt Quản lí thư viện chọn chức năng tìm
kiếm nhân viên Điều kiện kiên quyết Quản lí thư viện phải đăng nhập
Phương thức cơ bản 1 Người dùng chọn tìm kiếmnhân
Trang 192.4 Quản lí sách
Quản lí cập nhật sách:
mới, xóa sách ko có trong thư viện, sửa thông tin về sách, nhân viên thư viện sẽ dùng usecase này
Sự kiện kích hoạt Nhân viên thư viện vào quản lí sách Điều kiện kiên quyết Nhân viên thư viện phải đăng nhập
Phương thức cơ bản 1 Nhân viên chọn một trong các
chức năng thêm sách, xóa sách, thay đổi sách
Trang 20Thiết kế giao diện:
Trang 21Thêm thể loại sách:
Trang 222.5 Quản lí người dùng
Thêm sinh viên:
cần thêm tài khoản cho sinh viên truy cập vào hệ thống thư viện của trường
Sự kiện kích hoạt Khóa mới vào trường, nhân viên thư
viện cập nhật sinh viên mới
Điều kiện kiên quyết Nhân viên thư viện phải đăng nhập
Phương thức cơ bản 1 Nhân viên chọn thêm sinh viên
2 Hệ thống tạo một trường sinh viên mới trong cơ sở dữ liệu
Phương thức thay thế
dùng thư viện Ngoại Lệ
Tần suất sử dụng Mỗi năm dùng một lần khi có khóa
mới nhập trường
Trang 23Thiết kế giao diện:
Xóa sinh viên:
thành trả sách thư viện
Sự kiện kích hoạt Nhân viên thư viện xóa sinh viên đã ra
trường Điều kiện kiên quyết Nhân viên thư viện phải đăng nhập
Phương thức cơ bản 1 Nhân viên chọn xóa sinh viên
2 Hệ thống xóa sinh viên và lưu trong cơ sở dữ liệu
Trang 24Thiết kế giao diện:
Thêm nhân viên:
Sự kiện kích hoạt Quản lí thêm nhân viên mới
Điều kiện kiên quyết Quản lí phải đăng nhập
Phương thức cơ bản 1 Quản lí chọn thêm nhân viên
2 Hệ thống thêm nhân viên mới Phương thức thay thế
Ngoại Lệ
Thiết kế giao diện:
Trang 25Xóa nhân viên:
Sự kiện kích hoạt Quản lí thư viện thực hiện xóa nhân
viên Điều kiện kiên quyết Quản lí thư viện phải đăng nhập
Phương thức cơ bản 1 Quản lí thư viện chọn xóa nhân
viên
2 Hệ thống xóa nhân viên và lưu
cơ sở dữ liệu Phương thức thay thế
Trang 262.6Quản lí mượn trả sách
Cho mượn sách:
viên thư viện thực hiện cập nhật thông tin sách mà sinh viên đã mượn
Sự kiện kích hoạt Sinh viên đến mượn sách và nhân viên
nhận phiếu mượn sách của sinh viên Điều kiện kiên quyết Nhân viên thư viện phải đăng nhập
Phương thức cơ bản 1 Nhân viên nhập số hiệu sinh
viên, mã sách sinh viên mượn
2 Hệ thống lưu thông tin này vào
cơ sở dữ liệu Phương thức thay thế
được lưu
Ngoại Lệ
Trang 27Thiết kế giao diện:
Nhận trả sách:
thư viện nhận lại sách và lưu thông tin
Sự kiện kích hoạt Sinh viên đến trả sách, nhân viên thư
viện nhận sách
Điều kiện kiên quyết Nhân viên thư viện phải đăng nhập
Phương thức cơ bản 1 Nhân viên nhập số hiệu sinh
viên, mã sách sinh viên mượn
2 Hệ thống kiểm tra và xóa thông tin về sách đã trả của sinh viên Phương thức thay thế
Ngoại Lệ
Trang 28Thiết kế giao diện:
2.7 Quản lí báo cáo
Trang 29Quản lí báo cáo:
hình hoạt động của thư viên như sách thiếu, sách hết, sinh viên quá hạn trả
mà chưa trả sách
Sự kiện kích hoạt Quản lí thư viện, nhân viên thư viện
lập báo cáo Điều kiện kiên quyết Nhân viên thư viện, quản lí thư viện
phải đăng nhập Phương thức cơ bản 1 Chọn loại báo cáo cần lập và lập
Trang 303.Phân tích kiến trúc và hành vi
3.1 Biểu đồ trình tự hệ thống
Usecase đăng nhập:
Trang 31Usecase đăng xuất:
Trang 32Usecase cập nhật sách:
Usecase tìm kiếm nhân viên
Trang 33Usecase tìm kiếm sách:
Trang 34Usecase tìm kiếm sinh viên:
Usecase tìm kiếm theo thể loại sách:
Trang 353.2 Biểu đồ lớp
Usecase đăng nhập:
Trang 36Usecase tìm kiếm:
Trang 37Usecase quản lí nhân viên:
Usecase quản lí sinh viên:
Trang 38Usecase cho mượn sách:
Usecase nhận trả sách:
Trang 39Usecase quản lí báo cáo:
Trang 40III Thiết kế
1.Phân rã thành gói các chức năng
Qua quá trình phân tích ở trên, chúng em thiết kế thành các gói chức năng sau:
Trang 412.Mô hình phân tầng theo công nghệ
Ở đây chúng em sử dụng framework Yii được viết bằng ngôn ngữ PHP.Dưới đây,chúng em xin trình bày kiến trúc của framework và cách thức hoạt động của
nó
2.1 Giới Thiệu Yii Framework
- Yii Framework là framework sử dụng ngôn ngữ PHP được thiết kế theo mô hình MVC Yii ra đời lần đầu tiên năm 2008 do một tác giả là Quiang Xue viết ra Quiang Xeng cũng chính là người đứng đầu nhóm xây dựng Prado một framework khác của PHP
- Trong quá trình phát triển Prado,nhận thấy nhiều nhược điểm của Prado đặc biệt là về hiệu năng,Quiang và nhóm phát triển Prado đã quyết định xây dựng lại một framework mới kế thừa những ưu điểm của Prado và mang rất nhiều cải tiến mới mẻ,độc đáo khiến cho Yii Framework trở thành một trong những framework
có hiệu năng cao nhất và thích hợp cho việc xây dựng các ứng dụng web rất đa dạng ở nhiều loại hình,quy mô với sự tiết kiệm rất nhiều thời gian và công sức cho người phát triển
+Yii sử dụng ActiveRecord Design Pattern để biểu diễn và thao tác với dữ liệu một cách trong sáng và chặt chẽ.Đồng thời ,Yii cũng cung cấp 2 cách nữa để làm việc với CSDL là DAO (Data Access Object) và Query Builder.Mỗi cách lại
có những ưu ,nhược điểm riêng,người phát triển có thể chọn lựa cách thức phù hợp nhất trong từng trường hợp
+Yii sử dụng Jquery là thư viện Javascript mặc định,hỗ trợ rất tốt cho Ajax +Yii có các widget giúp cho người phát triển rất dễ dàng trong xây dựng giao diện người dùng
+Yii cho phép dễ dàng tích hợp các thư viện thứ 3 giúp người phát triển có thể dễ dàng tích hợp các thư viện đa dạng cho ứng dụng của mình
Trang 422.2 Các thành phần trong Project dùng Yii Framework:
+Controller
Là một thể hiện của lớp Ccontroller.Nó được tạo bởi đối tượng application khi có yêu cầu từ người dùng được gửi đến.Khi một yêu cầu được thực
hiện,controller sẽ thực thi action được yêu cầu.action của Yii đơn giản chỉ là
phương thức mở đầu bằng từ khóa “action”.Controller đọc dữ liệu từ model ,xử lý
và trả về kết quả cho view tương ứng
+Model
Là một thể hiện của lớp CModel được được dùng để biểu diễn dữ liệu,các quy tắc biểu diễn dữ liệu và mối quan hệ giữa chúng.Mỗi model biểu diễn một đối tượng dữ liệu đơn.Nó có thể là một hàng của một bảng hoặc một trường của
HTML form.Mỗi trường của dữ liệu tương ứng với một thuộc tính của model Trong Yii có 2 loại Model: Cform và CactiveRecord.Cả hai đều là lớp con của Cmodel.Cform được sử dụng để biểu diễn dữ liệu thu thập từ người dùng thông qua form
Cactive Record sử dụng Active Record design pattern (Đối tượng truy cập
dữ liệu trừu tượng) để biểu diễn dữ liệu trong các bảng của CSDL
+Layout
Trang 43Layout là một view đặc biệt trong Yii.Nó quy định giao diện ,bố cục chung cho cả trang.Trong Layout ,view của action được thực hiện sẽ được truyền vào qua biến $content
+Widget là thể hiện của lớp Cwidget và các lớp con của Cwidget.Widget chủ yếu dùng để tạo giao diện.Widget thường được dùng để tạo ra các đối tượng giao diện tương đối phức tạp như ClistView, CdetailedView, CgridView, Calendar ,…Widget tạo ra sự tiện dụng cho người phát triển ,giúp việc sử dụng lại code được thực hiện dễ dàng và hiệu quả hơn rất nhiều
2.3 Luồng hoạt động trong Yii project
- hi có request từ người dùng,đầu tiên file bootrap index.php sẽ được thực thi
và tạo ra đối tượng Cwebapplication.Đối tượng này làm nhiệm vụ quản lý các controller và component
- Đối tượng Webapp sẽ xác định thông tin chi tiết về yêu cầu của người dùng thông qua component request
- Đối tượng Webapp xác định controller và action được gọi đến thông qua component URL Manager
- Sau khi xác định được controller và action ,Webapp gọi đến controller và action đó Một thể hiện của Controller được tạo ra.Trước khi action được thực thi,controller sẽ tạo ra và thực thi bộ lọc tương ứng với action đó.Nếu thỏa mãn các điều kiện của bộ lọc thì action sẽ được thực thi.Ngược lại ,nếu không thỏa mãn các yêu cầu thì sẽ có thông báo lỗi
- Khi thực hiện action,action đọc dữ liệu từ model rồi render đến 1 view nào
đó và truyền dữ liệu đến view đó.View đọc dữ liệu từ model
- View thực thi widget
- View đã được render được nhúng vào layout
- Cuối cùng ,action trả lại kết quả cho người dùng