Báo cáo bài tập lớn Kỹ Thuật Phần Mềm
Danh sách thành viên trong nhóm
Họ và tên:
Lớp:
MSSV:
NGUYỄN VĂN ĐẠI
Điện Tử Y Sinh K52
20070689
Họ và tên:
Lớp:
MSSV:
LÊ ĐĂNG TUẤN
Điện Tử Y Sinh K52
20073154
Họ và tên:
Lớp:
MSSV:
NGUYỄN LỆNH TUẤN
Điện Tử Y Sinh K52
20073189
Họ và tên:
Lớp:
MSSV:
NGUYỄN THỊ HẢI YẾN
Điện Tử 5 K52
20073568
Họ và tên:
Lớp:
MSSV:
NGUYỄN TUẤN TÚ
Điện Tử 10 K52
4.1 Thiết kế cơ sở dữ liệu: 19
4.1.1 Phân tích yêu cầu của cơ sở dữ liệu: 19
4.1.2 Nhận diện các thực thể: 19
4.1.3 Nhận diện mối tương quan giữa các thực thể: 19
2
Báo cáo bài tập lớn Kỹ Thuật Phần Mềm
4.1.4 Xác định khóa chính: 20
4.1.5 Nhận diện khóa ngoại lai: 21
4.1.6 Thêm các thuộc tính không khóa vào bảng dữ liệu: 21
4.1.7 Thực hiện chuẩn hóa các bảng dữ liệu: 21
4.1.8 Khai báo phạm vi của mỗi thuộc tính: 26
4.2 Thiết kế Form: 28
4.2.1 Form Main: 28
4.2.2 Form Đăng nhập: 29
4.3.3 Form thêm mới thể loại sách: 29
4.3.4 Form Thêm mới sách: 30
4.3.5 Form thêm mới Nhà xuất bản: 31
4.3.6: Form Mượn sách: 31
4.3.7 Form Trả sách: 32
4.3.8 Form Đổi mật khẩu: 32
4.3.9 Form Thống kê: 33
4.3.10 Form Thêm mới hoặc xóa nhân viên: 34
3
Báo cáo bài tập lớn Kỹ Thuật Phần Mềm
CHƯƠNG 1: GIỚI THIỆU
1.1 Giới thiệu về đề tài:
Ngày nay công nghệ thông tin ngày càng chiếm một ví trí quan trọng
trong nhiều lĩnh vực của đời sống như kinh tế, chính trị, xã hội, văn hoá, giáo
dục, giải trí… Nhờ có công nghệ thông tin mà nhiều vấn đề được giải quyết rất
đơn giản, giúp sức rất nhiều cho con người trong công việc. Để minh chứng cho
3
Phase
4
Phase
5
Phase
6
Viết báo
cáo
Nguyễn Văn Đại
Nguyễn Lệnh Tuấn
Lê Đăng Tuấn
Nguyễn Thị Hải
Yến
Nguyễn Tuấn Tú
1.2.3 Đánh giá tính khả thi:
Hiện tại, thư viện trường THPT Nguyễn Tất Thành chưa sử dụng phầm
mềm quản lí thư viện nào. Do đó, công tác quản lý của thư viện đều được thực
hiện thủ công. Vì vậy, hình thức trên gặp nhiều hạn chế như: tính phức tạp của
hệ thống; sự tốn kém trong công tác bảo quản sổ sách, tài liệu lưu trữ; sự khó
5
Báo cáo bài tập lớn Kỹ Thuật Phần Mềm
khăn khi tổng hợp dữ liệu… Với những lý do trên, ứng dụng phần mềm vào
quản lý thư viện là hoàn toàn khả thi. Nếu hệ thống được ứng dụng, sẽ đem lại
nhiều tiện ích về kinh tế và kỹ thuật.
1.3 Phạm vi của Project:
1. Chức năng:
• Quản lý việc mượn trả tài liệu của học sinh trong trường.
• Quản lý kho sách của thư viện.
Hệ thống chương trình quản lý thư viện sẽ rất tiện dụng khi chạy trên môi
trường mạng. Tuy nhiên nó vẫn có thể cài trên máy lẻ, áp dụng với những cơ sở
chưa ứng dụng mạng máy tính trong quản lý.
2.3.1 Giới thiệu C#:
Là một ngôn ngữ lập trình hướng đối tượng được phát triển bởi Microsoft,
là phần khởi đầu cho kế hoạch .NET của họ.
Tên của ngôn ngữ bao gồm ký tự thăng theo Microsoft nhưng theo ECMA
là C#, chỉ bao gồm dấu số thường. Microsoft phát triển C# dựa trên 2 ngôn ngữ
cực mạnh là C++ và Java. C# được miêu tả là ngôn ngữ có được sự cân bằng
giữa C++, Visual Basic, Delphi và Java. C# được thiết kế chủ yếu bởi Anders
Hejlsberg kiến trúc sư phần mềm nổi tiếng với các sản phẩm Turbo Pascal,
Delphi, J++, WFC. C# là ngôn ngữ khá đơn giản với hơn 80 từ khóa, 10 kiểu dữ
7
Báo cáo bài tập lớn Kỹ Thuật Phần Mềm
liệu định nghĩa sẵn. Tuy nhiên nó vẫn có khả năng hỗ trợ đầy đủ lập trình cấu
trúc, thành phần component, lập trình hướng đối tượng. C# theo một hướng nào
đó là ngôn ngữ lập trình phản ánh trực tiếp nhất đến .NET Framework mà tất
cả các chương trình .NET chạy, và nó phụ thuộc mạnh mẽ vào Framework này.
Mọi dữ liệu cơ sở đều là đối tượng, được cấp phát và hủy bỏ bởi trình dọn rác
Garbage-Collector (GC), và nhiều kiểu trừu tượng khác chẳng hạn như class,
delegate, interface, exception, v.v…, phản ánh rõ ràng những đặc trưng của
.NET runtime.
Tóm tắt ưu điểm của công cụ lập trình này:
- Là ngôn ngữ đơn giản, ít từ khóa.
- C# có khả năng lập trình đa dạng, hỗ trợ hướng đối tượng, hướng
module.
- Hiện nay C# là ngôn ngữ khá phổ biến.
2.3.2 Đánh giá các hệ quản trị cơ sở dữ liệu – chọn hệ quản trị cơ sở dữ liệu
hợp lí:
Hệ Quản Trị CSDL là một phần mềm cho phép tạo lập CSDL và điều khiển
- Tạo báo cáo công việc theo ngày, tháng, năm.
- Tạo báo cáo tài chính.
Từ các yêu cầu trên, chúng tôi đưa ra sơ đồ chức năng hệ thống như sau:
Hình 3.1: Sơ đồ chức năng của hệ thống
9
Báo cáo bài tập lớn Kỹ Thuật Phần Mềm
3.2 Mẫu biểu mượn tài liệu:
Hình 3.2: Mẫu phiếu mượn sách
10
Báo cáo bài tập lớn Kỹ Thuật Phần Mềm
3.4 Phân tích các chức năng:
Thư viện có chức năng chính là quản lý tài liệu cho học sinh mượn trả.
Bởi thế, hệ thống quản lý thư viện yêu cầu các hoạt động khởi tạo, cập nhật, xóa
và xử lý thông tin trong các chức năng: đăng nhập, quản lý tài liệu trong kho và
tài liệu cho mượn, kiểm tra thông tin và báo cáo cho người quản lý.
3.4.1 Phân tích các chức năng:
a. Quản lý quyền sử dụng:
Mỗi thủ thư sẽ được cấp 1 tài khoản (user name) và password riêng. Thông
tin sẽ được lưu trên máy chủ đảm bảo tính bảo mật. Nhân viên quản trị có thể
chỉnh sửa thông tin người dùng (cung cấp lại password, tạo tài khoản mới, sửa
đổi thông tin tài khoản,…).
b. Quản lý thông tin học sinh:
Đây là chức năng kiểm tra mã số học sinh theo thẻ để cho phép học sinh
mượn/trả tài liệu và update danh sách học sinh của các khóa mới cũng như danh
sách học sinh đã ra trường từ hệ thống thông tin học sinh của trường THPT
Nguyễn Tất Thành.
c. Quản lý tài liệu trong kho:
Khi có các yêu cầu cần bổ sung tài liệu, thủ thư có thể kiểm tra danh mục tài
liệu có trong kho.
Từ đó, có thể đưa ra danh sánh tài liệu cần bổ sung thêm cho thư viện và gửi
a. DFD mức đỉnh:
Hình 3.5: DFD mức đỉnh
13
Báo cáo bài tập lớn Kỹ Thuật Phần Mềm
b. DFD mức 1 chức năng 1:
Hình 3.6: DFD mức 1 chức năng 1
14
Báo cáo bài tập lớn Kỹ Thuật Phần Mềm
c. DFD mức 1 chức năng 2:
Hình 3.7: DFD mức 1 chức năng 2
d. DFD mức 1 chức năng 3:
15
Báo cáo bài tập lớn Kỹ Thuật Phần Mềm
Hình 3.8: DFD mức 1 chức năng 3
e. DFD mức 1 chức năng 4
16
Báo cáo bài tập lớn Kỹ Thuật Phần Mềm
Hình 3.9: DFD mức 1 chức năng 4
f. DFD mức 1 chức năng 5:
17
Báo cáo bài tập lớn Kỹ Thuật Phần Mềm
Hình 3.10: DFD mức 1 chức năng 5
CHƯƠNG 4: THIẾT KẾ HỆ THỐNG
18
Báo cáo bài tập lớn Kỹ Thuật Phần Mềm
4.1 Thiết kế cơ sở dữ liệu:
Cơ sở dữ liệu được thiết kế dựa vào các phân tích yêu cầu ở phần trên và
tuân thủ theo 8 buớc thiết kế cơ sở dữ liệu cũng như các quy tắc toàn vẹn dữ liệu
trong mô hình quan hệ.
4.1.1 Phân tích yêu cầu của cơ sở dữ liệu:
4.1.4 Xác định khóa chính:
a. Với thực thể “Tài liệu”
Do mỗi tài liệu có một Mã tài liệu duy nhất, nên ứng với một giá trị của
Mã tài liệu, ta xác định được duy nhất một giá trị của tập hợp (Tên tài liệu, Tác
giả, Mã NXB, Mã thể loại, Nội dung, bìa tài liệu, giá tiền, Vị trí, Tình trạng).
Vì thế Mã tài liệu là khóa chính của thực thể “Tài liệu”.
b. Với thực thể “Nhân viên”
Do mỗi nhân viên có một Mã nhân viên duy nhất nên ứng với một giá trị
của Mã nhân viên, xác định được duy nhất một giá trị của tập hợp (Họ tên nhân
viên, Mật khẩu).
Vì thế, Mã nhân viên là khóa chính của thực thể “Nhân viên”.
c. Với thực thể “Học sinh”
Do mỗi học sinh có một Mã học sinh duy nhất nên ứng với mỗi giá trị của
Mã học sinh, xác định được duy nhất một giá trị của tập hợp (Họ tên sinh viên,
Lớp).
Vì thế, Mã học sinh là khóa chính của thực thể “Học sinh”.
d. Với thực thể “NXB”
Do mỗi Mã NXB cho ta biết một NXB, nên ứng với mỗi giá trị của Mã
NXB là một giá trị của Tên NXB.
Vì thế, Mã NXB là khóa chính của thực thể “NXB”.
e. Với thực thể “Thể loại”
Do mỗi Mã thể loại cho ta biết một thể loại duy nhất, nên ứng với mỗi giá
trị của Mã thể loại là một giá trị của Tên thể loại.
Vì thế, Mã thể loại là khóa chính của thực thể “Thể loại”.
f. Với thực thể “Mượn – trả sách”
Do tại một thời điểm, một tài liệu chỉ do một học sinh mượn, nên ứng với
mỗi giá trị của tập hợp (Mã tài liệu, Mã học sinh) xác định được duy nhất một
giá trị của tập hợp (Ngày mượn, Hạn trả, Tiền đặt cược).
Vì thế, tập hợp (Mã tài liệu, Mã học sinh) là khóa chính của thực thể “Tài
liệu mượn trả”.
Lớp). Vì thế, (Họ tên sinh viên, Lớp) phụ thuộc hàm vào Mã học sinh.
Do mỗi Mã NXB cho ta biết một NXB, nên ứng với mỗi giá trị của Mã
NXB là một giá trị của Tên NXB. Do đó Tên NXB phụ thuộc hàm vào Mã
NXB.
Do mỗi Mã thể loại cho ta biết một thể loại duy nhất, nên ứng với mỗi giá
trị của Mã thể loại là một giá trị của Tên thể loại. Vì thế, Tên thể loại phụ thuộc
hàm vào Mã thể loại.
21
Báo cáo bài tập lớn Kỹ Thuật Phần Mềm
Do tại một thời điểm, một tài liệu chỉ do một học sinh mượn, nên ứng với
mỗi giá trị của tập hợp (Mã tài liệu, Mã học sinh) xác định được duy nhất một
giá trị của tập hợp (Ngày mượn, Hạn trả, Tiền đặt cược). Vì thế, (Ngày mượn,
Hạn trả, Tiền đặt cược) phụ thuộc hàm vào (Mã tài liệu, Mã học sinh).
Hình 4.1: UNF
- Chuẩn hóa 1NF bằng phương pháp dàn phẳng:
Do mỗi học sinh có thể mượn được nhiều tài liệu nên ứng với một giá trị
của khóa chính Mã tài liệu có thể xác định được nhiều giá trị của tập hợp (Mã
học sinh, Họ tên học sinh, Lớp, Ngày mượn, Hạn trả, Tiền đặt cược). Vì thế,
(Mã học sinh, Họ tên học sinh, Lớp, Ngày mượn, Hạn trả, Tiền đặt cược) là
nhóm lặp.
22
Báo cáo bài tập lớn Kỹ Thuật Phần Mềm
Đưa Mã tài liệu và nhóm lặp sang một bảng ta có quan hệ 1NF như sau:
Hình 4.2: 1NF
b. Chuẩn hóa 1NF sang 2NF:
Do thuộc tính Lớp và thuộc tính Họ tên học sinh phụ thuộc hàm vào thuộc
tính Mã học sinh. Mà Mã học sinh là một thành phần của khóa chính (Mã tài
liệu, Mã học sinh) nên thuộc tính Lớp và thuộc tính Họ tên học sinh phụ thuộc
hàm không đầy đủ vào khóa chính (Mã tài liệu, Mã học sinh).
Ta có dạng chuẩn 2NF như sau: