Bài Luận
Xây dựng chương trình quản lý hồ sơ học sinh
trường trung học phổ thông tháng 10 – Tuyên Quang
1
LỜI CAM ĐOAN
Em xin cam đoan về nội dung đồ án: “Xây dựng chương trình quản lý hồ
sơ học sinh trường trung học phổ thông tháng 10 – Tuyên Quang” dưới sự hướng
dẫn của giảng viên Th/s Nguyễn Hiền Trinh, bộ môn Khoa học máy tính – Khoa
Công Nghệ Thông Tin - Đại học công nghệ thông tin và truyền thông Thái
Nguyên là không sao chép nội dung cơ bản từ các đồ án khác và sản phẩm của đồ
án là của chính bản thân nghiên cứu xây dựng nên.
2
LỜI CẢM ƠN
Em xin chân thành cảm ơn Giảng viên: Th/s Nguyễn Hiền Trinh, bộ môn
Khoa học máy tính – Khoa Công Nghệ Thông Tin - Đại học công nghệ thông tin
và truyền thông Thái Nguyên đã tận tình chỉ dẫn, tạo điều kiện cho em hoàn thành
đồ án tốt nghiệp này.
Em xin chân thành cảm ơn các thầy, cô giáo phụ trách giảng dạy các môn
học trong những năm học vừa qua.
Cuối cùng em xin chân thành cảm ơn các cán bộ và thầy cô giáo ở trường
THPT tháng 10 đã tạo điều kiện và giúp đỡ em trong thời gian thực tập làm đồ án.
Tiếp đến là sự đóng góp ý kiến của các bạn trong lớp đã trao đổi kinh nghiệm lập
trình giúp em hoàn thành được đồ án này.
3
Mục Lục
TÀI LI U THAM KH OỆ Ả 59
LỜI MỞ ĐẦU
Ngày nay cùng với sự phát triển nhanh chóng của ngành công nghệ thông
tin đã kéo theo sự biến đổi mạnh mẽ của nhiều lĩnh vực. Trong đó việc ứng dụng
tin học vào lĩnh vực quản lý dường như không còn xa lạ với các doanh nghiệp, các
thành được hết những yêu cầu cấp thiết mà một thư viện phải có . Báo cáo này
còn rất nhiều thiếu xót, tuy vậy em rất mong nhận được sự góp ý của các thầy cô
giáo, và các bạn.
Em xin chân thành cảm ơn cô Nguyễn Hiền Trinh đã nhiệt tình hướng dẫn,
giúp đỡ em trong suốt thời gian làm đồ án để em có thể hoàn thành báo cáo này.
Em xin chúc nhà Trường sẽ gặt hái được nhiều thành công trong giảng dạy.
Em xin chúc các thầy cô luôn khoẻ mạnh, hạnh phúc và công tác tốt.
Em xin chân thành cảm ơn!
Phú thọ, tháng 11 năm 2011
Sinh Viên
Bùi Hải Khánh
5
Chương 1
GIỚI THIỆU NGÔN NGỮ LẬP TRÌNH C#
VÀ HỆ CƠ SỞ DỮ LIỆU ACCESS
1.1 NGÔN NGỮ LẬP TRÌNH C#
Như chúng ta biết, ngày nay đang tồn tại 3 phương pháp lập trình:
Lập trình có cấu trúc (Programming Structure)
Lập trình dựa trên đối tượng (Programming Laseon Object)
Lập trình theo hướng đối tượng (Programming Orient Object)
Đặc trưng của 3 phương pháp này là:
Đặc trưng của lập trình có cấu trúc là phương pháp Top – Down, dữ liệu
tách khỏi chương trình trong khi thực hiện chương trình một cách tuần tự. Hạn
chế của nó là không sử dụng lại được vì vậy việc bảo trì gặp rất nhiều khó khăn.
Đặc trưng của lập trình dựa trên đối tượng và hướng đối tượng là:
Có thể phân tích bài toán theo nhiều hướng khác nhau
Dễ sử dụng lại các khối dữ liệu
Khi thực hiện chương trình, Quyền chủ động thuộc về người sử dụng.
Một trong những ngôn ngữ lập trình điển hình cho việc lựa chọn đối
Nó dùng để thêm chuỗi, bảo mật, chấp thuận đối với lớp (class)
Data and XML classes: Là tầng CSDL, nó bao gồm:
ADO.NET: Là chuỗi liên kết với CSDL kiểu Windows (Access).
SQL: Là chuỗi liên kết kiểu SQL Server
XSLT: Dùng cho Web
Tầng trên cùng là tầng ứng dụng, kiểu Win, Web, Services thực thi . CLR
là 1 máy ảo (tương tự máy ảo của Java. CLR kích hoạt đối tượng thực hiện kiểm
tra bảo mật cấp phát bộ nhớ, thực thi và khi kết thúc thì thu gọn).
1.1.3 Ngôn ngữ trung gian
Với .Net chương trình không biên dịch thành tập tin thực thi (EXE…) mà
biên dịch thành ngôn ngữ trung gian MSIL (Microsoft Intermediate Language)
7
gọi tắt là IL. Sau đó chúng mới được CRL thực thi. Các tập tin IL biên dịch từ
ngôn ngữ C# đồng thời với 3 ngôn ngữ chính còn lại.
Khi biên dịch đóng gói dự án, mã nguồn C# được chuyển thành tập tin IL
trên đĩa. Và cuối cùng khi chạy chương trình IL được biên dịch lần nữa bằng
chương trình JIT( Just In Time) – Just In Time và khi này kết quả chương trình là
mã máy và PC có thể thực thi được.
1.1.4 Cấu hình và bảo mật
a. Cấu hình
Người lập trình yêu cầu máy tính cấp phát quyền và bộ nhớ cho chương
trình. Cấu hình ở đây có nghĩa là khi chạy chương trình hệ điều hành cần thay
đổi hệ thống sao cho chương trình chạy ổn định nhất. Cấu hình bao gồm:
Chọn nơi cài đặt nơi cấp phát bộ nhớ.
Cấu hình ngôn ngữ sử dụng cho chương trình.
b. Bảo mật
Bảo mật cho chương trình (Sercutity) là quá trình đóng gói, đặt pass, mã
hoá…
Đóng gói:
Là quá trình đóng mã lệnh thành: Control, class, … Thành DLL để hỗ
Char 1 Char Mã kí tự unicode
Bool 1 Bolean True hoặc False
Sbyte 1 Sbyte -127… 127
Short 2 Int16 Có dẫu -32767 … 32767
Ushort 2 Uint16 Không dấu 0 … 65535
Int 4 Int32 Kiểu Int có dấu -214748 …
214748
Uint 4 Uint32 Không dấu 0 … 4294967295
Float 4 Single Số thực (≈ ±1.5*10-45 ≈
±3.4*1038)
Double 8 Double Số thực(≈±5.0*10-324 ≈
±1.7*10308)
9
Decimal 8 Decimal Số dấu chấm tĩnh 28 kí tự và dấu
chấm
Long 8 Int64 Sốnguyêndấu23372036…92233
ULong 8 Uint64 Số nguyên không dấu từ 0 …
0*fffffff
c. Biến và Hằng
Biến dùng để lưu dữ liệu mỗi biến thuộc về 1 kiểu DL nào đó.
Hằng là 1 biến nhưng giá trị không thay đổi theo thời gian.
Biến: Trong C# trước khi dùng 1 biến thì biến đó phải được khởi tạo nếu
không trình biên dịch sẽ báo lỗi.
Hằng: Khi cần thao tác trên 1 giá trị không đổi ta dùng hằng và khai báo
hằng tương tự khai báo biến nhưng có thêm từ khoá const đằng trước. Một khi
hằng khởi tạo thì ta không thể thay đổi được nữa.
1.1.6 Một số câu lệnh
a. Lệnh Rẽ Nhánh Không điều kiện
Loại 1: Lệnh gọi phương thức
Loại 2: Dùng từ khoá goto, break, continue, return, catch, throw
Gia tăng biến đếm;
Khối lệnh;
1.1.7 Toán tử
Nhóm Toán
Tử
Toán Tử Ý nghĩa
Toán Học +, -, *, /, % Viết lần lượt +, -, * , / lấy phần dư
Logic & | ^ ! ~ && ||
true false
Phép toán logic và thao tác trên bit
Ghép chuỗi + Ghép nối 2 chuỗi
Tăng (giảm) ++, Tăng, giảm toán hạng lên hoặc xuống
1 đ.vị.
Dịch bit <<, >> Dịch trái, dịch phải
Quan hệ = =; !=; <; >; Bằng, khác, lớn hơn, nhỏ hơn,
Gán =, +=, = = Là cách gán( bằng, cộng, trừ, nhân,
11
chia)
Chỉ số [ ] Là cách truy xuất phần tử của mảng
Ép kiểu ( ) Là ép kiểu của biến…
Địa chỉ và
đường dẫn
->, [ ], & Là dùng trong con trỏ chỉ tới địa chỉ
và đường dẫn của DL
1.1.8 Bộ từ truy xuất
Từ Khoá Giải Thích
Public Cộng cộng (Truy xuất mọi nơi trong chương trình)
Protected Là truy xuất trong nội bộ lớp hoặc các lớp con
Internal Là truy xuất trong nội bộ trong chương trình (assembly)
Protexted
Text: Thuộc tính kí tự là những gì mà nhãn hiển thị lên cho người
dùng
Visible (ẩn/ hiện): Nếu giá trị là True thì nhìn thấy nhãn, False: thì
không nhìn thấy nhãn (ẩn chứ không mất đi).
Ngoài ra, Còn có các thuộc tính chung với các control.
d. TextBox
Định Nghĩa: Hộp văn bản dùng để hiển thị, dùng để người dùng nhập kí tự
sau đó chương trình xử lý.
Thuộc Tính:
Name: (txt) Tên của hộp văn bản không được trùng với bất kì tên nào
khác của đối tượng trong Form.
Text: Là kí tự xuất hiện trong văn bản: Thuộc tính này dùng để người
lập trình quản lý Text để xử lý trong mã lệnh.
Visible (Giống với Label)
Enable: Nếu giá trị False người dùng không thao tác được với TextBox
13
Password \ Password Chars: Mặc định là False. Nếu đặt là False thì hộp
nhập Password. Khi đó nhập kí tự vào Password chars để hiển thị kí tự đó thay
cho kí tự người dùng nhập vào.
Focus: Là thuộc tính đặt thiết lập con trỏ có xuất hiện đầu tiên tại đó hay
không.
Ngoài ra, Còn có các thuộc tính chung với các control.
e. Button (Nút Bấm)
Định Nghĩa: Là 1 đối tượng văn bản trong Windows Form. Nút bấm dùng
để điều khiển chương trình làm 1 điều gì đó khi người dùng bấm nút hoặc nhả
nút, kích nút.
Thuộc Tính: (btn) Là tên của nút bấm không được trùng bất kì tên nào
khác trong Form.
Text: Là kí tự được ghi trên nút bấm có tác dụng chú thích cho người
dùng tác dụng của nút bấm. Thuộc tính này là ReadOnly.
Khái Niệm: Là đối tượng trong lập trình WinDows Form nó chứa các
Item như ListBox, thường được khi người lập trình sử dụng chọn 1 đối tượng.
Thuộc Tính: + Name: Tên ComBoBox không được trùng với bất kì đối
tượng nào khác trong Form. Được đặt theo qui ước chuẩn. VD: cmb sothich
thuộc tính khác tương tự với đối tượng khác.
1.2 HỆ QUẢN TRỊ CSDL MICROSOFT ACCESS
1.2.1 Định nghĩa về hệ quản trị Microsoft access
Hệ quản trị Microsoft access là hệ thống quản trị cơ sở dữ liệu trên môi
trường Windows, trong đó có sẵn các công cụ hữu hiệu và tiện lợi để sản sinh
chương trình cho hầu hết các bài toán thường gặp trong quản trị, thống kê, kế
toán. Đối với Access, người dùng không phải viết từng câu lệnh cụ thể như trong
Pascal, hay Foxpro mà chỉ cần tổ chức dữ liệu và thiết kế các yêu cầu,công việc
cần giải quyết.
Microsoft Access cung cấp cho chúng ta căn cứ vào các đối tượng:
15
Bảng (Tables): Có cấu trúc như một tệp. DBF của Fox được dùng để lưu
trữ dữ liệu của cơ sở dữ liệu. Một cơ sở dữ liệu thường gồm có nhiều bảng có
mối quan hệ với nhau.
Truy vấn (Query): Truy vấn là công cụ mạnh nhất của Access dùng để
tổng hợp, sắp xếp, tìm kiếm dữ liệu trên các bảng. Khi thực hiện truy vấn sẽ nhận
được một tập hợp kết quả thể hiện trên màn hình dưới dạng các bảng gọi là các
dynaset.
Dynaset chỉ là bảng kết quả trung gian không được ghi trên đĩa và nó sẽ bị
xoá khi kết thúc truy vấn. Tuy nhiên, có thể sử dụng một dynaset như một bảng
để xây dựng các truy vấn khác. Chỉ với truy vấn chúng ta có thể giải quyết khá
nhiều các dạng toán trong quản trị cơ sở dữ liệu.
Mẫu biểu (Form): Mẫu biểu thường được dùng để tổ chức cập nhật dữ liệu
cho các bảng và thiết kế giao diện nhưng mẫu biểu cũng sẽ cung cấp nhiều khả
năng nhập dữ liệu tiện lợi như: Nhập dữ liệu từ một danh sách, nhận các hình
ảnh, nhập dữ liệu đồng thời trên nhiều bảng. Mẫu biểu còn cho phép nhập các giá
trong một tệp duy nhất (Tệp có đuôi là . mdb) như vậy thuật ngữ hệ chương trình
hay CSDL được hiểu là một tổ chức bao gồm cả chương trình và dữ liệu (Người
ta thường gọi ngắn là chương trình thay cho thuật ngữ hệ chương trình).
Như vậy, trong Access khi nói đến chương trình hay CSDL thì cũng có
nghĩa đó là một hệ phần mềm gồm cả chương trình và dữ liệu do Access tạo ra.
Chương trình Access được xây dựng và thực hiện trong môi trường
Access. Vì vậy để làm việc với các chương trình trong Access ta phải khởi động
chương trình Access.
Đối với chương trình quản lý thuốc, việc thiết kế cơ sở dữ liệu và các mối
quan hệ bảng với Windows Form rất quan trọng, quyết định chính xác dữ liệu
đến hệ thống .Các mối quan hệ của chúng được tạo trong hệ quản trị cơ sở dữ
liệu Microsoft Access.
1.2.2 Tạo Bảng
Để tạo bảng trong cơ sở dữ liệu Access, ta làm theo các bước sau:
Mở cửa sổ Tables, chọn New\ Open \ Design để:
Nút New: Dùng để tạo bảng mới
17
Nút Open: Để mở nhập dữ liệu cho bảng được chọn
Nút Design: Để xem, sửa cấu trúc bảng được chọn.
Có hai cách để tạo bảng ứng với hai lựa chọn: Table Wizards và New Table.
Nếu chọn Tables Wizards thì bảng được xây dựng bằng công cụ Wizards
của Access và ta chỉ việc trả lời các câu hỏi mà Access yêu cầu.+ Nếu chọn New
Table thì bảng được thiết kế theo ý của người sử dụng để tạo bảng. Khi chọn
New Table xuất hiện cửa sổ dưới đây:
Hình 4- Cửa sổ tạo bảng
Cửa sổ Tables được chia làm hai phần:
Phần trên gồm có 3 cột Filename, Data Type, Description dùng để khai
báo các trường của bảng, Mỗi trường khi khai báo trên một dòng.
Phần dưới dùng để qui định thuộc tính của Trường. Có thể dùng chuột
hoặc ấn phím F6 để di chuyển qua lại giữa hai phần.
Cách tạo quan hệ: Chọn Menu Tools \ Relationships
Nếu thấy cửa sổ Add Table thì chọn Add Table từ Menu Relationships để
mở cửa sổ này.
Trong cửa sổ Add Table, Chọn các bảng cần tạo quan hệ \ Add \ Chọn
Close.
Bảng Relationship xuất hiện với các bảng được chọn.
Các loại quan hệ:
Để ràng buộc toàn vẹn dữ liệu được thực hiện cần quy định hai loại quan hệ:
1 > (Trường trong bảng chính là khoá chính)
1 >1 (Cả hai trường quan hệ đều là khoá chính)
19
Tính toàn vẹn tham chiếu:
Tại mục Enforce Referential Intergrity
Nếu: Trường trong bảng chính là khoá chính (quan hệ 1 > hoặc 1 >1)
Các trường quan hệ có cùng kiểu dữ liệu.
Cả hình ảnh bao quát thuộc cùng dữ liệu.
20
Chương 2
KHẢO SÁT THỰC TRẠNG VÀ
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.1 KHẢO SÁT THỰC TRẠNG QLHSHS TRƯỜNG THPT THÁNG 10
TỈNH TUYÊN QUANG
2.1.1 Khảo sát hiện trạng của trường THPT Tháng 10
a. Giới thiệu về trường
Mấy chục năm trước đây, con em nông trường chè Tháng 10 và các xã
Mỹ Bằng, Phú Lâm, Nhữ Hán muốn học cấp 3 đều phải đi đò qua bến phà Hiên
học nhờ trường THPT Thác Bà (Yên Bái) hoặc trọ học ở trường THPT Tân Trào,
THPT Yên Sơn (nay là trường THPT Nguyễn Văn Huyên). Việc đi học thật khó
khăn. Năm 1990 trường phổ thông cấp 2-3 Tháng 10 dược thành lập thỏa nỗi ước
mong của người dân trong vùng. Ngôi trường được tiếp nhận cơ sở vật chất của
đẳng đạt bình quân hàng năm là 14 - 20% so với tổng số học sinh lớp 12. 3 năm
liền (Năm học 2008-2009, 2009-2010, 2010-2011) nhà trường đạt danh hiệu tập
thể lao động xuất sắc được Bộ giáo dục và UBND tỉnh Tuyên Quang tặng bằng
khen.
Hiện tại, công tác quản lý hồ sơ học sinh của trường chủ yếu dựa trên
giấy tờ ghi chép, mọi công việc đều tiến hành thủ công, từ việc cập nhật đến tìm
kiếm, sắp xếp tài liệu do đó mất rất nhiều thời gian và nhân lực. Thêm vào đó do
công tác quản lý trên giấy tờ nên việc lưu trữ tốn nhiều không gian, sổ sách dễ bị
thất lạc và công tác bảo quản cũng gặp nhiều khó khăn và sai sót, khi cần cập nhật
thông tin mới thường gây ra tình trạng tẩy xoá. Hiện nay, trường đã được cấp thêm
máy tính để trợ giúp cho công tác quản lý song cũng chỉ để giảm bớt việc ghi
chép, giúp in ẩn bảng biểu, số liệu.
Tóm lại, việc quản lý hồ sơ của học sinh đều làm thủ công trên giấy tờ,
máy tính chưa hỗ trợ nhiều và chưa có phần mềm quản lý.
22
b. Cơ cấu tổ chưc của nhà trường
Hiệu trưởng là người đứng đầu cao nhất trong bộ máy tổ chức, là
người đại diện cho nhà trường về mặt pháp lý, có trách nhiệm và thẩm quyền cao
nhất về hành chính, chuyên môn trong nhà trường, chịu trách nhiệm trước Bộ giáo
dục tổ chức và quản lý toàn bộ hoạt động của nhà trường.
Ban giám hiệu Lãnh đạo điều hành chung mọi hoạt động của nhà
trường, trực tiếp phụ trách công tác Tổ chức cán bộ, Công tác tài chính, Công tác
đầu tư quy hoạch phát triển của nhà trường. Ký bằng tốt nghiệp
Hiệu trưởng
Họ và tên: TRƯƠNG THỊ NGÂN
Sinh ngày: 15.11.1962
Trình độ: Đại học sư phạm Ngữ Văn
Điện thoại: 0975 125 898
Email: [email protected]
Phó Hiệu trưởng