Báo cáo BTL môn CNPM GVHD: Th.s Nguyễn Thế Cường
TRƯỜNG ĐẠI HỌC HÀNG HẢI
KHOA CÔNG NGHỆ THÔNG TIN
------------------------
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
-----------------------
BÁO CÁO BÀI TẬP LỚN
MÔN CÔNG NGHỆ PHẦN MỀM
Họ và tên sinh viên: Nguyễn Trường Nguyên
Nguyễn Xuân Tiến
Phạm Quang Tuân
Nguyễn Văn Quyết
Thời gian: từ ngày ……………………. đến ngày ……………………….
• Tên đề tài:
Xây dựng chương trình quản lý thư viện.
• Mục đích, yêu cầu:
- Khảo sát về công tác quản lý thư viện tại khoa CNTT.
- Phân tích thiết kê hệ thống thông tin học hóa trong việc quản lý thư viện.
- Cài đặt chương trình đáp ứng được các yêu cầu của hệ thống.
• Nội dung công việc cần thực hiện:
- Phân tích thiết kế hệ thống.
- Tìm hiểu ngôn ngữ Visual Basic và MS Access
- Viết báo cáo
• Tài liệu tham khảo:
- Tài liêu hướng dẫn sử dụng ngôn ngữ Visual Basic và MS Access
- Chương trình Visual Basic và MS Access
-
• Yêu cầu về báo cáo:
- Nội dung và hình thức: Theo mẫu quy định
- Hạn nộp báo cáo:
Sinh viên: Nguyên, Tiến, Tuân, Quyết – Lớp: CNT46ĐH2
1
Báo cáo BTL môn CNPM GVHD: Th.s Nguyễn Thế Cường
LỜI NÓI ĐẦU
Hiện nay, sự phát triển của Công nghệ Thông tin ở nước ta đang bước vào thời
kì mới với việc triển khai rộng rãi các ứng dụng tin học cho các tổ chức và xã hội.
Không ai còn nghi ngờ gì về vai trò của Công nghệ Thông tin trong đời sống, trong
khoa học kỹ thuật, kinh doanh, cũng như trong mọi mặt của xã hội, ngay cả đối với
một cá nhân.
Tuy nhiên trong thời điểm hiện tại, Công nghệ Thông tin mới chỉ bước đầu được
ứng dụng trong đời sống nói chung và giáo dục nói riêng. Việc sử dụng tài liệu điện tử
trong dạy và học chưa thực sự phổ biến, chưa mang lại hiệu quả cao thì những quyển
sách, giáo trình … vẫn có vai trò vô cùng quan trọng. Đối với những trường lớn như
Đại học Hàng Hải, việc quản lý một hệ thống thư viện với hàng ngàn đầu sách và quản
lý việc mượn – trả sách của hàng ngàn sinh viên là vô cùng phức tạp. Vì vậy chúng em
đã nhận nghiên cứu đề tài:
“Xây dựng chương trình quản lý thư viện”
Chương trình được viết bằng ngôn ngữ Visual Basic với cơ sở dữ liệu MS
Access
Chúng em xin chân thành cảm ơn thầy giáo Th.s Nguyễn Thế Cường, và các
thầy cô trong khoa Công nghệ Thông tin Trường Đại học Hàng Hải Việt Nam đã giúp
chúng em hoàn thành đề tài này
Hải Phòng, ngày 05 tháng 05 năm 2008.
Sinh viên: Nguyên, Tiến, Tuân, Quyết – Lớp: CNT46ĐH2
2
Báo cáo BTL môn CNPM GVHD: Th.s Nguyễn Thế Cường
PHẦN 1
CƠ SỞ LÝ THUYẾT
CHƯƠNG 1
TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU QUAN HỆ
I. KHÁI NIỆM CƠ BẢN VỀ CƠ SỞ DỮ LIỆU QUAN HỆ.
Cơ sở dữ liệu (CSDL) là nguồn cung cấp thông tin cho hệ thống thông tin trên
máy tính, trong đó các dữ liệu được lưu trữ một cách có cấu trúc theo một quy định
nào đó nhằm giảm thiểu sự dư thừa và đảm bảo toàn vẹn dữ liệu.
Hệ quản trị cơ sở dữ liệu là hệ các chương trình để có thể xử lý, thay đổi dữ liệu.
Theo nghĩa này, hệ quản trị CSDL có nhiệm vụ rất quan trọng như là một bộ diễn dịch
với ngôn ngữ bậc cao nhằm giúp người sử dụng có thể dùng được hệ thống mà ít nhiều
không cần quan tâm đến thuật toán chi tiết hoặc biểu diễn dữ liệu trong máy tính
Trong lịch sử phát triển của CSDL, có 3 mô hình CSDL chính thường được sử
dụng, đó là:
- Mô hình phân cấp: Mô hình dữ liệu là một cây, trong đó các nút biểu diễn các
tập thực thể, giữa các nút con và nút cha được liên hệ theo một mối quan hệ xác định
- Mô hình mạng: Mô hình được biểu diễn là một đồ thụ có hướng. Mô hình
mạng cũng gần giống như mô hình cây, đó là một nút cha có thể có nhiều nút con,
nhưng khác là một nút con không chỉ có một nút cha mà có thể có nhiều nút cha. Do
vậy việc truy nhập thông tin mềm dẻo hơn.
- Mô hình quan hệ: Mô hình này dựa trên cơ sở lý thuyết tập hợp của các quan
hệ. Các dữ liệu được chuyển vào bảng hai chiều, mỗi bảng gồm các hàng và các cột,
mỗi hàng xác định một bản ghi, mỗi cột xác định một trường dữ liệu. Các bảng có thể
móc nối với nhau để thực hiện các mối quan hệ.
Sinh viên: Nguyên, Tiến, Tuân, Quyết – Lớp: CNT46ĐH2
3
Báo cáo BTL môn CNPM GVHD: Th.s Nguyễn Thế Cường
Trong ba loại mô hình trên thì mô hình quan hệ được nhiều người quan tâm hơn
cả, bởi nó có tính độc lập dữ liệu rất cao, lại dễ dàng sử dụng và được hình thức hóa
toán học tốt.
II. MÔ HÌNH CƠ SỞ DỮ LIỆU QUAN HỆ
1. Các khái niệm cơ bản.
- Miền: là tập các giá trị. Ví dụ miền của các giá trị màu vẽ là tập hợp {đỏ, da
cam, vàng...}.
Khái niệm tiếp theo là tích Đề-Các của các miền. Giả sử có các miền D
1
, D
2
,
D
3
,..., D
n
, tích Đề-Các của n miền D
1
×D
2
×D
3
×...×D
n
là tập tất cả n-bộ (v
1
, v
2
, v
3
,..., v
n
)
trong đó v
i
Є D
i
- Quan hệ: Là tập con các tích Đề-Các của một hoặc nhiều miền.
Quan hệ hay bảng quan hệ là bảng hai chiều. Quan hệ có các hàng và các cột,
các cột ứng với các miền, các hàng ứng với các miền của tích Đề-Các.
- Thuộc tính: Thuộc tính của một quan hệ là cột của bảng quan hệ, đặc trưng bởi
một tên
- Khóa: Khóa của quan hệ r trên tập thuộc tính R={A
1
,..., A
n
} là tập con K
⊆
R
sao cho bất kì hai bộ khác nhau t
1
, t
2
Є r luôn thỏa t
1
(K) ≠ t
2
(K), bất kì tập con thực sự
K
’
⊂
K nào đó đều không có tính chất đó.
Tập K là siêu khóa của quan hệ r nếu K là một khóa của quan hệ r.
2. Các phép tính trên CSDL quan hệ.
Các phép tính cơ bản thay đổi một CSDL là: chèn (insert), loại bỏ (delete) và
thay đổi (change). Trong mô hình CSDL quan hệ, các phép tính này được áp dụng cho
từng bộ của các quan hệ lưu trữ trong máy.
- Phép chèn:
Phép chèn thêm một bộ vào quan hệ r{A
1
,...,A
n
} có dạng r = r
∪
t.
- Phép loại bỏ:
Là phép xóa một bộ ra khỏi quan hệ cho trước, có dạng r = r – t.
- Phép thay đổi:
Sinh viên: Nguyên, Tiến, Tuân, Quyết – Lớp: CNT46ĐH2
4
Báo cáo BTL môn CNPM GVHD: Th.s Nguyễn Thế Cường
Gọi tập {C
1
,..., C
p
}
⊆
{ A
1
,..., A
n
} là tập các thuộc tính mà tại đó các giá trị của
bộ cần thay đổi, khi đó phép thay đổi có dạng r = r \ t
∪
t
’
.
III.LÝ THUYẾT VỀ CHUẨN HÓA CÁC QUAN HỆ
Do việc cập nhật dữ liệu (chèn, loại bỏ, thay đổi) gây nên những dị thường cho
nên các quan hệ cần được biến đổi thành dạng phù hợp. Quan hệ được chuẩn hóa là
quan hệ trong đó mỗi miền của một thuộc tính chỉ chứa những giá trị nguyên tố tức là
không phân nhỏ được nữa và do đó mỗi giá trị trong quan hệ cũng là nguyên tố. Một
quan hệ được chuẩn hóa có thể thành một hoặc nhiều quan hệ chuẩn hóa khác và
không làm mất mát thông tin.
Trước khi nghiên cứu các dạng chuẩn, ta xét một số khái niệm cần thiết.
1.Các khái niệm
- Thuộc tính khóa: Cho một lược đồ quan hệ R trên tập thuộc tính
U={A
1
,...,A
n
}. Thuộc tính AЄ U được gọi là thuộc tính khóa nếu A là thành phần thuộc
một khóa nào đó của R, ngược lại A là thuộc tính không khóa.
- Phụ thuộc hàm: Cho R là mọt lược đồ quan hệ trên tập thuộc tính
U={A
1
,...,A
n
} và X, Y là tập con của U. Nói rằng X
→
Y (X xác định hàm Y hay Y
phụ thuộc hàm vào X) nếu r là một quan hệ xác định trên R(U) sao cho bất kỳ hai bộ
t1,t2 Є r mà
nếu t1[X] = t2[X] thì t1[Y] = t2[Y]
Nói cách khác, phụ thuộc hàm có nghĩa là với mọi giá trị của khóa tại mọi thời
điềm được xét, chỉ có một giá trị cho từng thuộc tính khác trong quan hệ.
- Phụ thuộc hàm đầy đủ: Y là phụ thuộc hàm đầy đủ vào X nếu Y là phụ thuộc
hàm vào X nhưng không phụ thuộc vào bất kì một tập hợp con thực sự nào của X.
2.Các dạng chuẩn
Năm 1970, khi đề xuất mô hình CSDL quan hệ, trong lý thuyết ban đầu Codd
E.F đưa ra ba dạng chuẩn của quan hệ. Đó là: dạng chuẩn thứ nhất (First Normal Form
– 1NF), dạng chuẩn thứ hai (2NF), dạng chuẩn thứ ba (3NF). Ngoài ba dạng chuẩn trên
trong lý thuyết chuẩn hóa còn có một số dạng chuẩn khác, tuy nhiên chúng không sử
dụng rộng rãi nên ta không xét ở đây.
Sinh viên: Nguyên, Tiến, Tuân, Quyết – Lớp: CNT46ĐH2
5
Báo cáo BTL môn CNPM GVHD: Th.s Nguyễn Thế Cường
- Dạng chuẩn thứ nhất (First Normal Form – 1NF):
Một lược đồ quan hệ R được gọi là ở dạng chuẩn thứ nhất khi và chỉ khi toàn bộ
các miền có mặt trong R đều chỉ chứa các giá trị nguyên tố, tức là các giá trị đơn.
- Dạng chuẩn thứ hai (2NF):
Lược đồ R ở dạng chuẩn hai nếu nó ở dạng chuẩn một và nếu mỗi thuộc tính
không khóa của R là phụ thuộc hàm đầy đủ vào khóa chính, không phụ thuộc hàm vào
một phần của khóa.
- Dạng chuẩn thứ ba (3NF):
Lược đồ quan hệ R là ở dạng chuẩn ba nếu nó là dạng chuẩn hai và mỗi thuộc
tính không khóa của R không phụ thuộc hàm bắc cầu vào khóa chính. Hay nói cách
khác, các thuộc tính không khóa không phụ thuộc hàm vào bất kỳ phần tử không phải
khóa nào.
Sinh viên: Nguyên, Tiến, Tuân, Quyết – Lớp: CNT46ĐH2
6
Báo cáo BTL môn CNPM GVHD: Th.s Nguyễn Thế Cường
CHƯƠNG 2
KHÁI QUÁT VỀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG
THÔNG TIN QUẢN LÝ
I. HỆ THỐNG THÔNG TIN QUẢN LÝ
1. Khái niệm cơ bản về hệ thông tin.
Hệ thông tin được tạo ra từ phần cứng, phần mềm, con người, thủ tục và dữ liệu
cung cấp khả năng xử lý dữ liệu và thông tin mà con người cần để làm quyết định cho
tốt hơn, có đủ căn cứ hơn.
Có bốn loại hình hệ thông tin phổ biến, đó là: Hệ thông tin xử lý dữ liệu, Hệ
thông tin quản lý, Hệ trợ giúp quyết định và Hệ chuyên gia.
2. Khả năng của hệ thông tin.
- Đưa vào: Khả năng đưa vào của hệ thông tin có thể chấp nhận: dữ liệu gốc, câu
hỏi, trả lời cho lời nhắc, lệnh, thông báo cho người sử dụng hệ thống và thay đổi.
- Xử lý: Khả năng xử lý của hệ thông tin bao gồm: sắp xếp, cập nhật dữ liệu
trong bộ nhớ, tổng lược, lựa chọn và thao tác.
- Lưu trữ: Khả năng lưu trữ của hệ thông tin cho phép chúng lưu trữ cả dữ liệu,
văn bản, hình ảnh và các thông tin số hóa khác để có thể dễ dàng gọi lại cho xử lý về
sau.
- Đưa ra: Khả năng đưa ra của hệ thông tin cho phép tạo ra cái ra nhiều khuôn
dạng: sao cứng, sao mềm, hay điều khiển.
3. Hệ thông tin quản lý
a. Định nghĩa
Thật khó có thể định nghĩa chính xác và thống nhất thế nào là một hệ thông tin
quản lý. Tuy nhiên, có một định nghĩa về hệ thống thông tin quản lý được dùng khá
phổ biến, đó là:
- Hệ thống thông tin quản lý là một cấu trúc hợp nhất các cơ sở dữ liệu và dòng
thông tin làm tối ưu cho việc thu nhập, truyền, và trình bày thông tin thông qua tổ chức
Sinh viên: Nguyên, Tiến, Tuân, Quyết – Lớp: CNT46ĐH2
7
Báo cáo BTL môn CNPM GVHD: Th.s Nguyễn Thế Cường
nhiều cấp có các nhóm thành phần thực hiện nhiều nhiệm vụ để hoàn thành một mục
tiêu thống nhất.
b. Đặc trưng của các hệ thông tin quản lý
- Hỗ trợ cho chức năng xử lý dữ liệu trong giao dịch và lưu trữ.
- Dùng cơ sở dữ liệu hợp nhất và hỗ trợ cho nhiều lĩnh vực chức năng.
- Cung cấp cho các nhà quản lý các cấp tác nghiệp, sách lược, chiến lược khả
năng dễ dàng thâm nhập các thông tin theo thời gian.
- Đủ mềm dẻo và có thể thích ứng với những thay đổi về nhu câu thông tin của
tổ chức.
- Cung cấp lớp vỏ an toàn cho hệ thống để giới hạn việc thâm nhập của các nhân
viên không có quyền.
c. Yêu cầu của hệ thông tin quản lý
Hệ thống thông tin phải đáp ứng được yêu cầu quản lý, đảm bào có hiệu quả
kinh tế cao hơn, tốt hơn so với khi sử dụng hệ thống cũ, đồng thời phải có tính mở, đáp
ứng sự phát triển trong tương lai. Đầu ra của hệ thống phải mềm dẻo, linh hoạt, đáp
ứng cao và nhanh nhất yêu cầu về thông tin của nhà quản lý.
Hệ thống phải có khả năng lưu trữ, truy cập dữ liệu một cách nhanh chóng,
chính xác. Các thao tác phải thuận lợi, đơn giản, dễ bảo trì, có thể điều chỉnh, có tính
mở, có khả năng kiểm tra tính đúng đắn của dữ liệu, phát hiện và xử lý lỗi.
Giao diện giữa người và máy phải được thiết kế khoa học, thân thiện, đẹp, gọn
và có tính thống nhất về phương pháp làm việc, cách trình bày.
Hệ thống có khả năng trợ giúp, giải đáp thắc mắc của người dùng khi sử dụng.
Như vậy hệ thống không chỉ đáp ứng cho người dùng thông thạo về tin học mà còn đáp
ứng được với những người dùng ít hiểu biết về tin học.
Hệ thống phải co khả năng thực hiện chế độ hội thoại ở mức độ nào đó nhằm
cung cấp nhanh và chuẩn xác các yêu cầu bất thường của nhà quản lý, đảm bảo nhanh
cho người dùng khai thác tối đa các chức năng mà hệ thóng cung cấp.
Sinh viên: Nguyên, Tiến, Tuân, Quyết – Lớp: CNT46ĐH2
8
Báo cáo BTL môn CNPM GVHD: Th.s Nguyễn Thế Cường
4. Sự phát triển hệ thống thông tin
Mọi hệ thống đều phải trải qua sự khởi đầu, triển khai, xây dựng, khai thác, bảo
dưỡng và kết thúc. Quá trình đó là vòng đời của hệ thống. Nếu chỉ nhấn mạnh đến sự
phát triển và xây dựng, thì gọi là sự phát triển hệ thống. Có nhiều loại chu trình phát
triển của hệ thống, song có một số chu trình phát triển chính sau:
- Chu trình thác nước:
Đó là quá trình tiếp nối của các giai đoạn: Phân tích, thiết kế, mã hóa, kiểm
nghiệm và nghiệm thu. Mỗi giai đoạn chỉ có thể bắt đầu khi giai đoạn trước đó đã được
hoàn tất. Vì thế còn gọi là chu trình tuyến tính.
- Chu trình tăng trưởng:
Chu trình dựa trên các bước tăng trưởng dần dần, cho phép hoàn thành hệ thống
từng mảng một. Mỗi bước tăng trưởng thực hiện một tiến trình tuyến tính: Phân tích,
thiết kế, mã hóa, kiểm dịch để triển khai một phần có thể chuyển giao được của hệ
thống. Quá trình này lặp lại nhiều lần cho tới khi có một phương án hoàn chỉnh của hệ
thống.
- Chu trình xoắn ốc:
Là quá trình lặp đi lặp lại một dãy các giai đoạn chính. Sau mỗi vòng lặp, tạo ra
một nguyên mẫu hoàn thiện dần bằng cách khắc phục các thiếu xót từ nguyên mẫu
trước. Có bốn giai đoạn chính cho mỗi vòng lặp, đó là:
. Xác định mục tiêu, phương án và các ràng buộc.
. Đánh giá các phương án.
. Thiết kế và tạo lập một nguyên mẫu.
. Thử nghiệm.
- Chu trình lắp ráp các thành phần:
Chu trình này dựa trên việc sử dụng lại các thành phần phần mềm. Việc tạo lập
hệ thống được thực hiện bằng cách lắp ráp các thành phần có sẵn, được điều chỉnh,
thích ứng với hệ thống, bao gồm các giai đoạn:
. Nhận thức bài toán
. Hình thành giải pháp
Sinh viên: Nguyên, Tiến, Tuân, Quyết – Lớp: CNT46ĐH2
9
Báo cáo BTL môn CNPM GVHD: Th.s Nguyễn Thế Cường
. Tìm kiếm thành phần
. Điều chỉnh và thích ứng các thành phần
. Đánh giá
II. CÁC GIAI ĐOẠN PHÂN TÍCH THIẾT KẾ HỆ THỐNG
1. Khảo sát hiện trạng và tìm hiểu nhu cầu.
Đây là bước mở đầu của quá trình phân tích thiết kế một hệ thống. Mục đích của
khảo sát hiện trạng là nhằm để tiếp cận với nghiệp vụ chuyên môn, môi trường làm
việc của hệ thống, tìm hiểu các chức năng, nhiệm vụ và cung cách hoạt động của hệ
thống, chỉ ra chỗ hợp lý của hệ thống cần được kế thừa và các chỗ bất hợp lý cần được
nghiên cứu khắc phục.
Sau khi đã thấy rõ được những yêu cầu phát triển của hệ thống, từ đó cần xác lập
và khởi đầu một dự án xây dựng hệ thống mới đó, bao gồm các công việc chính sau:
- Xác định phạm vi và các hạn chế của dự án.
- Xác định mục tiêu và ưu tiên cho dự án.
- Phác họa giải pháp và cân nhắc tính khả thi.
- Lập kế hoạch triển khai dự án.
2. Phân tích hệ thống
a. Phân tích hệ thống về chức năng.
Phân tích thống về chức năng hiểu một cách đơn giản là xác định các chức năng
nghiệp vụ cần được tiến hành của hệ thống sau khi đã khảo sát thực tế và đi sâu vào
các thành phần của hệ thống.
Các bước tiến hành:
- Diễn tả chức năng từ mức vật lý về mức lôgic, từ mức đại thể về mức chi tiết.
- Xây dựng sơ đồ phân cấp chức năng.
- Xây dựng sơ đồ dòng dữ liệu
b. Phân tích hệ thống về dữ liệu.
Phân tích hệ thống dữ liệu là việc phân tích về cấu trúc thông tin được dùng và
được tổ chức bên trong hệ thống đang khảo sát, xác định được mối quan hệ tự nhiên
Sinh viên: Nguyên, Tiến, Tuân, Quyết – Lớp: CNT46ĐH2
10