Hiện nay, hệ thống thư viện của nhiều nơi còn sơ sài trong vấn đề quản lý xét về mặt thông tin cập nhật cho người dùng cũng như thuận tiện cho thư thư trong vấn đề quản lý những mặt yếu
Trang 1TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI
TRUNG TÂM ĐÀO TẠO ELEARNING
-BÁO CÁO BÀI TẬP LỚN MÔN: LẬP TRÌNH WEB NGÀNH: CÔNG NGHỆ THÔNG TIN
Đề 06:
Xây dựng Website quản lý thư viện phân tán trực tuyến
NHÓM 6:
Trang 2Bảng Phân Công Nhiệm Vụ và Mức Độ Thực Hiện
hiện
Nguyễn Diệu Quỳnh Thiết kế hệ thống và viết chương trình 100%
Ngô Tuấn Dương Thiết kế hệ thống và viết chương trình 100%
Lê Quang Anh Thiết kế hệ thống và viết chương trình 100%
Vũ Hữu Dũng Thiết kế hệ thống và viết chương trình 100%
Cám Văn Lanh Thiết kế hệ thống và viết chương trình 100%
LỜI CÁM ƠN
Nhóm SVTH:
1
Trang 3Chúng em xin chân thành gửi lời cám ơn đến quý thầy cô trường Đại Học
Mở Hà Nội nói chung và các thầy cô bộ môn trong khoa công nghệ thông tin nóiriêng đã tạo điều kiện cho chúng em cơ hội thực hành, tiếp xúc để chúng em cóthể tránh được những vướng mắc và bỡ ngỡ trong môi trường công việc thời giantới
Nhờ sự giúp đỡ tận tình và những chỉ bảo của thầy cô từ lúc bắt đầu cho tớilúc kết thúc bài tập lớn này mà nhóm chúng em đã hoàn thành đúng thời hạn quyđịnh và tích lũy được cho mình một lượng nền tảng kiến thức quý báu
Mặc dù đã cố gắng hoàn thành đề tài tốt nhất nhưng do thời gian và kiếnthức còn có hạn nên chúng em sẽ không thể tránh khỏi những thiếu sót nhất định,rất mong nhận được sự cảm thông, chia sẻ và tận tình đóng góp chỉ bảo của quýthầy cô cũng như các bạn
Chúng em xin chân thành cảm ơn./
Trang 4Hiện nay, hệ thống thư viện của nhiều nơi còn sơ sài trong vấn đề quản lý(xét về mặt thông tin cập nhật cho người dùng cũng như thuận tiện cho thư thưtrong vấn đề quản lý) những mặt yếu thể hiện trong công tác cho mượn sách, cũngnhư công việc của thủ thư hiện nay mất thời gian và độ chính xác không được đảmbảo: độc giả mượn sách một cách thủ công, người mượn sách phải tìm tài liệu bằngcách tự tìm trong nhiều cuốn sách có tại thư viện, dẫn đến việc độc giả không chủđộng trong việc mượn sách và độc giả không nhận được thông tin nhanh nhất từthư viện, mặc dù nhu cầu lớn nhưng việc viết ý kiến phản hồi còn hạn chế, thủ thưhiện tại vẫn phải quản lý công việc chủ yếu bằng giấy tờ và như vậy độ chính xáckhông được đảm bảo, thống kê thông tin rất mất thời gian, gửi thông tin đến người
sử dụng mới chỉ có hình thức bảng thông báo trên thư viện Điều này chưa thực sựđáp ứng được yêu cầu người sử dụng
Tóm lại, vai trò và vị trí của thư viện chưa đứng đúng vị trí của nó, vẫn chưakhuyến khích độc giả trong việc tìm tài liệu tự nghiên cứu Trong điều kiện hiện tạirất nhiều trung tâm, nhà trường đang được trang bị cơ sở vật chất về thông tin rấthiện đại mạng văn phòng được phát triển rộng rãi và chúng em kết hợp quản lý thưviện với hệ thống hiện có Trong đề tài này nhóm chúng em chỉ đưa ra một giảipháp hạn chế phần nào những vấn đề trên
Do thời gian có hạn và khả năng còn hạn chế cùng với kinh nghiệm chưa cónhiều nên nhóm em gặp rất nhiều khó khăn và chắc chắn sẽ có rất nhiều nhữngthiếu sót Chúng em rất mong được các thầy cô góp ý cho chúng em có thể hoànthành tốt hơn đề tài của mình
Nhóm SVTH:
3
Trang 5DANH MỤC HÌNH ẢNH
Hình 1 Đăng nhập hệ thống 20
Hình 2 Màn hình sau đăng nhập của quản lý thư viện 20
Hình 3 Thêm nhà xuất bản 21
Hình 4 Thêm chi nhánh 21
Hình 5 Thêm sách vào hệ thống 22
Hình 6 Xem danh sách sách theo chi nhánh 22
Hình 7 Xem danh sách sách theo nhà xuất bản 23
Hình 8 Xem thông tin chi tiết của sách 23
Hình 9 Thêm đọc giả 24
Hình 10 Tìm kiếm thông tin bạn đọc theo chi nhánh 24
Hình 11 Form thuê sách 25
Hình 12 Tra cứu thông tin mượn theo học sinh 25
Hình 13 Form trả sách 26
Hình 14 Form penalty cho những sách quá hạn 26
Hình 15 Tra cứu các sách quá hạn 27
Hình 16 Giao diện độc giả 27
Hình 17 Chi tiết của tài khoản 28
Hình 18 Thay đổi thông tin tài khoản 28
Hình 19 Thay đổi mật khẩu 29
Hình 20 Danh sách sách đã mượn 29
Hình 21 Danh sách sách đã trả 30
Hình 22 Danh sách sách quá hạn 30
Trang 6MỤC LỤC
PHẦN 1: GIỚI THIỆU CHUNG 5
1 Giới thiệu bài toán 5
2 Đánh giá các đề tài/sản phẩm tương tự, liên quan 5
3 Mục tiêu của đề tài 5
PHẦN 2: XÁC ĐỊNH YÊU CẦU 6
1 Giới thiệu về Microsoft NET và Kiến trúc NET 6
2 Ngôn ngữ lập trình C# 9
3 Giới thiệu về SQL Server Management Studio 9
4 Yêu cầu chức năng 11
5 Yêu cầu phi chức năng 11
PHẦN 3: PHÂN TÍCH & THIẾT KẾ 12
1 Mục đích của việc phân tích chức năng của hệ thống 12
2 Phân tích Hệ thống về chức năng 12
3 Phân tích và thiết kế Hệ thống về Dữ liệu 16
3 1 Mô tả cấu trúc các table 16
3 2 Thiết kế Hệ thống về Giao diện 18
PHẦN 4: MỘT SỐ CHỨC NĂNG CHÍNH 24
1 Trang chủ 24
1 1 Trang đăng nhập 24
1 2 Trang dành cho nhân viên thư viện 30
PHẦN 5: KẾT LUẬN 45
Nhóm SVTH:
5
Trang 7CHƯƠNG 1: GIỚI THIỆU CHUNG
1 Giới thiệu bài toán
Giả sử ta có hệ thống thư viện gồm các chi nhánh đặt tại các địa điểm khácnhau Mỗi thư viện đều có nhiều loại tài liệu khác nhau và được kết nối vớiInternet Người đọc có thể mượn và trả tài liệu ở các chi nhánh khác nhau của thưviện
2 Đánh giá các đề tài/sản phẩm tương tự, liên quan
Đề tài này giúp người quản lý sẽ quản lý được chuỗi hệ thống thư viện củamình thông qua website quản lý thư viện, người đọc cũng sẽ biết thư viện nào sẽphục vụ đúng nhu cầu nghiên cứu của mình không tốn nhiều thời gian khác vớinhững sản phẩm khác mỗi thư viện sẽ phải sử dụng một phần mềm quản lý thưviện riêng rất khó khăn cho người quản lý và người đọc
3 Mục tiêu của đề tài
Xây dựng website phục vụ cho các nhóm người dùng sau:
a, Bộ phận quản lý các thư viện:
- Quản lý đầu sách, báo, tạp chí trong thư viện
- Quản lý người đọc, nhân sự của thư viện
- Quản lý mượn trả tài liệu
b, Người đọc:
- Đăng ký thành viên
Trang 8CHƯƠNG 2: XÁC ĐỊNH YÊU CẦU
1 Giới thiệu về Microsoft NET và Kiến trúc NET
1.1 Giới thiệu về Microsoft NET
- Microsoft Net không phải là một ngôn ngữ lập trình, đó là một không gianlàm việc tổng hợp bởi bốn bộ ngôn ngữ lập trình: C#, VB.NET, Managed C++,and J# NET ở đó có sự chồng gối lên nhau của các ngôn ngữ, và được định nghĩatrong FCL (framework class library)
- Microsoft .Net bao gồm 2 phần chính: Framework và IntergratedDevelopment Enviroment (IDE) Framework cung cấp những gì cần thiết và cănbản, là khuôn dạng hay môi trường hỗ trợ các hạ tầng cơ sở theo một quy ước nhấtđịnh để công việc được thuận tiện IDE cung cấp một môi trường giúp chúng tatriển khai dễ dàng và được nhanh chóng các ứng dụng dựa trên nền tảng Net
- Thành phần Framework là quan trọng nhất NET là cốt lõi và tinh hoa củamôi trường, còn IDE chỉ là công cụ để phát triển dựa trên nền tảng đó thôi.Trong NET toàn bộ các ngôn ngữ C#, Visual C++ hay Visual Basic.NET đềudùng cùng một IDE
- Microsoft NET là nền tảng cho việc xây dựng và thực thi các ứng dụngphân tán thế hệ kế tiếp Bao gồm các ứng dụng từ client đến server và các dịch vụkhác Một số tính năng của Microsoft NET cho phép những nhà phát triển sử dụngnhư sau:
- Một mô hình lập trình cho phép nhà phát triển xây dựng các ứng dụng dịch
vụ web và ứng dụng client với Extensible Markup Language (XML)
+ Tập hợp dịch vụ XML Web, như Microsoft NET My Services cho phépnhà phát
triển đơn giản và tích hợp người dùng kinh nghiệm
Nhóm SVTH:
7
Trang 9+ Cung cấp các server phục vụ bao gồm: Windows 2000, SQL Server, vàBizTalk Server, tất cả điều tích hợp, hoạt động, và quản lý các dịch vụ XML Web
và các ứng dụng
+ Các phần mềm client như Windows XP và Windows CE giúp người pháttriển phânphối sâu và thuyết phục người dùng kinh nghiệm thông qua các dòngthiết bị
+ Nhiều công cụ hỗ trợ như Visual Studio NET, để phát triển các dịch vụWeb XML,ứng dụng trên nền Windows hay nền web một cách dể dàng và hiệuquả
1.2 Kiến trúc Net
- Mô hình kiến trúc của Net:
Hình 1: Mô hình kiến trúc của NET.NET Framework là một platform mới làm đơn giản việc phát triển ứngdụng trong môi trường phân tán của Internet .NET Framework được thiết kế đầy
đủ để đáp ứng theo quan điểm sau:
Trang 10Để cung cấp một môi trường thực thi mã nguồn mà đảm bảo việc thực thi antoàn mã nguồn, bao gồm cả việc mã nguồn được tạo bởi hãng thứ ba hay bất cứhãng nào mà tuân thủ theo kiến trúc NET.
Để cung cấp một môi trường thực thi mã nguồn mà loại bỏ được những lỗithực hiện các script hay môi trường thông dịch
Để làm cho những người phát triển có kinh nghiệm vững chắc có thể nắmvững nhiều kiểu ứng dụng khác nhau Như là từ những ứng dụng trên nềnWindows đến những ứng dụng dựa trên web
Để xây dựng tất cả các thông tin dựa triên tiêu chuẩn công nghiệp để đảmbảo rằng mã nguồn trên NET có thể tích hợp với bất cứ mã nguồn khác
.NET Framework có hai thành phần chính: Common Language Runtime(CLR) và thư viện lớp NET Framework CLR là nền tảng của NET Framework.Phát triển ứng dụng Client
Những ứng dụng client cũng gần với những ứng dụng kiểu truyền thốngđược lập trình dựa trên Windows Đây là những kiểu ứng dụng hiển thị những cửa
sổ hay những form trên desktop cho phép người dùng thực hiện một thao tác haynhiệm vụ nào đó Những ứng dụng client bao gồm những ứng dụng như xử lý vănbản, xử lý bảng tính, những ứng dụng trong lĩnh vực thương mại như công cụ nhậpliệu, công cụ tạo báo cáo Những ứng dụng client này thường sử dụng những cửa
sổ, menu, toolbar, button hay các thành phần GUI khác, và chúng thường truy cậpcác tài nguyên cục bộ như là các tập tin hệ thống, các thiết bị ngoại vi như máy in.Một loại ứng dụng client khác với ứng dụng truyền thống như trên làActiveX control (hiện nay nó được thay thế bởi các Windows Form control) đượcnhúng vào các trang web trên Internet Các ứng dụng này cũng giống như nhữngứng dụng client khác là có thể truy cập tài nguyên cục bộ
Những lớp NET Framework chứa trong NET Framework được thiết kế choviệc sử dụng phát triển các GUI Điều này cho phép người phát triển nhanh chóng
Nhóm SVTH:
9
Trang 11và dễ dàng tạo các cửa sổ, button, menu, toolbar, và các thành phần khác trong cácứng dụng được viết phục vụ cho lĩnh vực thương mại.
2 Ngôn ngữ lập trình C#
Ngôn ngữ C# khá đơn giản, chỉ khoảng 80 từ khóa và hơn mười mấy kiểu
dữ liệu được xây dựng sẵn Tuy nhiên, ngôn ngữ C# có ý nghĩa cao khi nó thực thinhững khái niệm lập trình hiện đại C# bao gồm tất cả những hỗ trợ cho cấu trúc,thành phần component, lập trình hướng đối tượng
Phần cốt lõi hay còn gọi là trái tim của bất cứ ngôn ngữ lập trình hướng đốitượng là sự hỗ trợ của nó cho việc định nghĩa và làm việc với những lớp Nhữnglớp thì định nghĩa những kiểu dữ liệu mới, cho phép người phát triển mở rộngngôn ngữ để tạo mô hình tốt hơn để giải quyết vấn đề Ngôn ngữ C# chứa những từkhóa cho việc khai báo những kiểu lớp đối tượng mới và những phương thức haythuộc tính của lớp, và cho việc thực thi đóng gói, kế thừa, và đa hình, ba thuộc tính
cơ bản của bất cứ ngôn ngữ lập trình hướng đối tượng
Trong ngôn ngữ C# mọi thứ liên quan đến khai báo lớp điều được tìm thấytrong phần khai báo của nó Định nghĩa một lớp trong ngôn ngữ C# không đoi hỏiphải chia ra tập tin header và tập tin nguồn giống như trong ngôn ngữ C++ Hơnthế nữa, ngôn ngữ C# hỗ trợ kiểu XML, cho phép chèn các tag XML để phát sinh
tự động các document cho lớp
Ngôn ngữ C# cung cấp những đặc tính hướng thành phần oriented), như là những thuộc tính, những sự kiện Lập trình hướng thành phầnđược hỗ trợ bởi CLR cho phép lưu trữ metadata với mã nguồn cho một lớp
(component-3 Giới thiệu về SQL Server Management Studio
Trang 12+ Trải nghiệm người dùng tốt
+ Nhiều tùy chọn bổ trợ
+ Dễ dàng để cài đặt
3.1 Ưu điểm của SQL là gì?
- Ưu điểm của SQL giúp nó an toàn duy trì đến hôm nay
Tại sao cần sử dụng SQL? Với SQL, người dùng dường như khai thác đượckhá nhiều lợi ích Dưới đây là một số ưu điểm của SQL:
+ Dữ liệu có ở mọi nơi: Dữ liệu xuất hiện ở mọi nơi trên màn hình từ laptop
đến điện thoại của bạn Việc học tập và tìm hiểu SQL sẽ giúp bạn biết được cáchthức hoạt động của những dữ liệu này
+ Thêm, sửa, đọc và xóa dữ liệu dễ dàng: với SQL, các thao tác xử lý dữliệu trở nên dễ dàng hơn bao giờ hết Bạn chỉ cần thực hiện một số thao tác với dữliệu đơn giản trên SQL thay vì phải dùng nhiều câu lệnh phức tạp trên các loạingôn ngữ khác
+ SQL giúp công việc lập trình dễ dàng hơn: bạn có thể lưu nhiều dữ liệucho nhiều ứng dụng khác nhau trên cũng một cơ sở dữ liệu và việc truy cập các cơ
sở dữ liệu này trở lên đơn giản hơn nhờ một cách thức giống nhau
+ Được sử dụng và hỗ trợ bởi nhiều công ty lớn: tất cả các công ty lớn vềcông nghệ trên thế giới hiện nay như Microsoft, IBM, Oracle… đều hỗ trợ việcphát triển ngôn ngữ SQL
+ Lịch sử hơn 40 năm: với lịch sử phát triển hơn 40 năm từ 1970, SQL vẫntồn tại và trụ vững đến ngày nay Điều này cho thấy vị trí của SQL hiện tại rất khó
bị thay thế bởi bất kỳ một ngôn ngữ máy tính nào khác
3.2 Nhược điểm của SQL là gì?
- Một số phiên bản SQL đòi hỏi chi phí vận hành khá cao gây khó khăn chongười lập trình
Nhóm SVTH:
11
Trang 13- Mặc dù là ngôn ngữ được sử dụng phổ biến, thế nhưng, không một ngônngữ nào là hoàn hảo Vì vậy, SQL cũng tồn tại một số hạn chế dưới đây:
+ Giao diện khó dùng: SQL có giao diện phức tạp khiến một số người dùngkhó truy cập
+ Không được toàn quyền kiểm soát: Các lập trình viên sử dụng SQL không
có toàn quyền kiểm soát cơ sở dữ liệu
+ Thực thi: Hầu hết các chương trình cơ sở dữ liệu SQL đều có phần mởrộng độc quyền riêng
+ Giá cả: Chi phí vận hành của một số phiên bản SQL khá cao khiến một sốlập trình viên gặp khó khăn khi tiếp cận
Các yêu cầu mà website phải đáp ứng
4 Yêu cầu chức năng
- Công nghệ: ASP.NET
- Cơ sở dữ liệu: MS SQL Server
- Chương trình cần đảm bảo các nghiệp vụ chính của bài toán
- Giao diện thuận tiện, dễ dùng, đáp ứng ứng chuẩn Responsive
- Đảm bảo các phần Client side, Server side
- Đảm bảo bảo mật thông tin, Phân cấp sử dụng chức năng, chống được các kiểu tấn công cơ bản
5 Yêu cầu phi chức năng
Máy tình tối thiểu phải cài được windows 8, ổ đĩa cứng còn khoản 40G để setup được các phần mềm ứng dụng chính visual studio 2017 và Microsoft SQL server 2008 r2
Trang 14CHƯƠNG 3: PHÂN TÍCH & THIẾT KẾ
1 Mục đích của việc phân tích chức năng của hệ thống
Phân tích là công việc đầu tiên không thể thiếu được trong quá trình xây dựng hệ quản trị trong máy tính Không thể đưa tin học hóa trong quá trình quản lý
mà không qua quá trình phân tích Hiệu quả mang lại của hệ thống là độ sâu của quá trình ban đầu Mục đích của nó là xác định xem bộ phận nào của hệ thống nên
xử lý bằng máy tính bộ phận nào do con người thực hiện Tổng quan về các công tác quản lý ở trên ta thấy rằng quản lý thư viện khi sử dụng bằng máy tính, các công việc như thwm bớt sách, lưu trữ thông tin về sách báo đều do con người làm, nên mọi công việc như tìm kiếm, cập nhật rất khó khăn và chậm chạp vì số lượng sách báo quá nhiều
Vì vậy để tăng hiệu quả, giảm nhẹ công sức và tiết kiệm thời gian thì tin họchóa vào hệ thống thư viện là rất cần thiết hơn nữa việc tìm kiếm, sửa, hủy, thêm, bớt theo một yêu cầu nào đó sẽ được thực hiện hoàn toàn trên máy tính, giúp cho việc quản lý đạt hiệu quả cao có tính mềm dẻo và tiện lợi muốn như vậy thì trước hết ta phải có phần phân tích thật tốt
2 Phân tích Hệ thống về chức năng
2.1 Biểu đồ phân rã chức năng
Nhóm SVTH:
13Hình 2: sơ đồ phân rã chức năng
Trang 152.2 Sơ đồ luồng dữ liệu
Hình 3: sơ đồ ngữ cảnh2.3 Sơ đồ luồng dữ liệu mức đỉnh
Trang 16Hình 4: sơ đồ luồng dữ liệu mức đỉnh
2.4 Sơ đồ luồng dữ liệu mức dưới đỉnh (phân hệ quản lý bạn đọc)
Hình 5: Sơ đồ luồng dữ liệu mức dưới đỉnh (phân hệ quản lý bạn đọc)2.5 Sơ đồ luồng dữ liệu mức dưới đỉnh (phân hệ quản lý mượn trả)
Nhóm
Trang 17Hình 6: Sơ đồ luồng dữ liệu mức dưới đỉnh (phân hệ quản lý mượn trả)2.6 Sơ đồ luồng dữ liệu mức dưới đỉnh (phân hệ quản lý nhân viên)
Hình 7: Sơ đồ luồng dữ liệu mức dưới đỉnh (phân hệ quản lý nhân viên)
2.7 Sơ đồ luồng dữ liệu mức dưới đỉnh (Phân hệ quản lý sách)
Trang 18Hình 8: Sơ đồ luồng dữ liệu mức dưới đỉnh (Phân hệ quản lý sách)
3 Phân tích và thiết kế Hệ thống về Dữ liệu
- Dựa vào những phân tích trên ta có thể tạo các table như sau:
Admin (Người quản lý): AID, Name, UserName, PassWord, EntryDate.BookMst (Sách): BookID, BookName, Author, Detail, Price, Publication, Branch, Quantities, AvailableQnt, RentQnt, Image, BookPDF, EntryDate
BranchMst (Chi nhánh): BranchID, BranchName
PenaltyMst (Phạt): PID, SID, BookName, Price, Panalty, Detail, EntryDatePublictionMst (Xuất bản): PID, Publication, EntryDate
RentMst (Thuê): RID, BookName, SID, Days, Issedate, ReturnDate, StatusStudentMst (Bạn đọc): SID, StudentName, BrachName, Mobile, Address, City, PinCode, DOB, Gender, Email, Password, Image, EntryDate
3.1 Mô tả cấu trúc các table
* Table Admin
* Table BookMst
Nhóm SVTH:
17
Trang 195 Price Float Giá sách
bản
Trang 202 BookName Nvarchar(50)
* Table StudentMst
Nhóm SVTH:
19
Trang 213.2 Thiết kế Hệ thống về Giao diện
3.2.1 Đăng nhập hệ thống: (Quản lí và người dùng)
Hình 1 Đăng nhập hệ thống
3.2.2 Nhân viên quản lý thư viện:
Trang 223.2.3 Add publication
Hình 3 Thêm nhà xuất bản3.2.4 Add Branch
Hình 4 Thêm chi nhánh
Nhóm SVTH:
21
Trang 233.2.5 Add Book
Hình 5 Thêm sách vào hệ thống3.2.6 Report Books theo Chi nhánh
Trang 243.2.7 Report Book theo Nhà xuất bản
Hình 7 Xem danh sách sách theo nhà xuất bản
3.2.8 Chi tiết thông tin sách
Hình 8 Xem thông tin chi tiết của sách
Nhóm SVTH:
23
Trang 253.2.9 Add Student
Hình 9 Thêm đọc giả3.2.10 Student Report
Trang 263.2.11 Issue Book
Hình 11 Form thuê sách3.2.12 Issue Book Report
Hình 12 Tra cứu thông tin mượn theo học sinh
Nhóm SVTH:
25