Tải bản đầy đủ (.doc) (51 trang)

xây dựng hệ thống quản lý sinh viên

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.84 MB, 51 trang )

Đồ án tốt nghiệp kỹ sư Giáo viên hướng dẫn: Bùi Văn Huyến
LỜI CẢM ƠN
Viết một khóa luận khoa học là một trong những việc khó nhất mà em
phải hoàn thành từ trước đến nay.Trong quá trình thực hiện đề tài em đã gặp
rất nhiều khó khăn và bỡ ngỡ. Nếu không có được những sự giúp đỡ và lời
động viên chân thành của nhiều người có lẽ em khó có thể hoàn thành đồ án
tốt nghiệp này.
Đầu tiên em xin gửi lời biết ơn chân thành nhất đến thầy Bùi Văn
Huyến, người trực tiếp tận tình hướng dẫn, chỉ bảo trong suốt quá tìm hiểu,
nghiên cứu và thực hiện, cung cấp cho nhiều kiến thức, phương pháp tìm tòi
đúng đắn để em có thể hoàn thành đồ án này.
Em xin chân thành cảm ơn quý thầy cô trong Khoa: Công Nghệ Thông
Tin, trường Đại học Thủy Lợi, đã tận tình giảng dạy, trang bị cho chúng em
những kiến thức vô cùng quý báu trong những năm học vừa qua.
Trên con đường tích lũy những kiến thức quý báu của ngày hôm nay,
ngoài thầy cô là những người bạn đã cùng sát cánh, chia sẽ những khó khăn
trong học tập và cuộc sống.
Mặc dù đã cố gắng hoàn thành luận văn trong phạm vi khả năng cho
phép nhưng chắc chắn không tránh khỏi những thiếu sót. Em kính mong nhận
được sự thông cảm và tận tình chỉ bảo của quý thầy cô và các bạn. Mọi ý kiến
góp ý xin gửi về địa chỉ email:
Xin chân thành cảm ơn!
Hà Nội, ngày…tháng …năm 2011
Sinh viên thực hiện:
Tạ Hoàng Long
SVTH : Tạ Hoàng Long Trang 1
Đồ án tốt nghiệp kỹ sư Giáo viên hướng dẫn: Bùi Văn Huyến
MỤC LỤC
LỜI CẢM ƠN 1
MỤC LỤC 2
DANH MỤC HÌNH ẢNH TRONG ĐỒ ÁN 4


LỜI NÓI ĐẦU 5
CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI 7
1.1 YÊU CẦU CHỨC NĂNG 8
1.2 YÊU CẦU HỆ THỐNG 8
1.3 CÁC THAO TÁC CỦA HỆ THỐNG 8
1.3.1 Quản lý sinh viên 8
1.3.2 Quản lý điểm 9
1.3.3 Thống kê báo cáo 9
CHƯƠNG 2 : CÁC CÔNG CỤ SỬ DỤNG TRONG ĐỒ ÁN 10
2.1 ASP.NET 10
2.1.1 Khái niệm và nguồn gốc xuất xứ 10
2.1.2 Những ưu điểm nổi bật của ASP.NET 11
2.2 NGÔN NGỮ C# 12
2.3 CƠ SỞ DỮ LIỆU 14
2.3.1 Giới thiệu về SQL 14
2.3.1.1 Lịch sử phát triển 14
2.3.1.2 Chuẩn SQL 15
2.3.1.3 Đặc điểm SQL 15
2.3.1.4 Các loại lệnh của SQL 15
2.3.1.5 Vai trò của SQL 16
2.2.2 Tổng quan về SQL Sever 2008 18
2.2.2.1 Giới thiệu 18
2.2.2.2 Ưu điểm 18
CHƯƠNG 3:PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 20
3.1 PHÂN TÍCH HỆ THỐNG 20
3.1.1 Phân tích chức năng 20
3.1.1.1 Lựa chọn phương pháp phân tích 20
3.1.1.2 Phương pháp phân tích hướng chức năng 20
3.1.2 Mô hình tiến hóa và biểu đồ luồng dữ liệu 21
3.1.2.1 Mô hình tiến hóa 21

3.1.2.2 Biểu đồ luồng dữ liệu 22
3.1.2.3 Biểu đồ 24
3.2 THIẾT KẾ CƠ SỞ DỮ LIỆU 28
3.2.1 Mô hình ER (Entily - Relationship) 28
SVTH : Tạ Hoàng Long Trang 2
Đồ án tốt nghiệp kỹ sư Giáo viên hướng dẫn: Bùi Văn Huyến
3.2.2 Mô hình quan hệ 35
3.2.3 Chi tiết thiết kế dữ liệu bảng 35
CHƯƠNG 4: TRIỂN KHAI HỆ THỐNG 39
4.1 GIAO DIÊN CHỨC NĂNG ĐĂNG NHẬP 39
4.2 GIAO DIỆN CÁC CHỨC NĂNG QUẢN LÝ 40
4.2.1 Giao diện chức năng quản lý sinh viên 40
4.2.3 Chức năng quản lí khóa học 44
4.2.5 Chức năng quản lí lớp học 45
4.2.6 Chức năng quản lí phân nhóm học 46
4.2.7 Chức năng quản lý điểm 47
4.2.8 Chức năng quản lí trung đội 48
4.3 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 50
4.3.1 Kết quả đạt được 50
4.3.2 Định hướng phát triển 50
SVTH : Tạ Hoàng Long Trang 3
Đồ án tốt nghiệp kỹ sư Giáo viên hướng dẫn: Bùi Văn Huyến
DANH MỤC HÌNH ẢNH TRONG ĐỒ ÁN
LỜI CẢM ƠN 1
MỤC LỤC 2
DANH MỤC HÌNH ẢNH TRONG ĐỒ ÁN 4
LỜI NÓI ĐẦU 5
CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI 7
CHƯƠNG 2 : CÁC CÔNG CỤ SỬ DỤNG TRONG ĐỒ ÁN 10
CHƯƠNG 3:PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 20

CHƯƠNG 4: TRIỂN KHAI HỆ THỐNG 39
SVTH : Tạ Hoàng Long Trang 4
Đồ án tốt nghiệp kỹ sư Giáo viên hướng dẫn: Bùi Văn Huyến
LỜI NÓI ĐẦU
Từ khi chiếc máy tính đầu tiên ra đời cho dến nay, máy tính đã khẳng
định vai trò to lớn của nó trong sự phát triển kinh tế xã hội. Công nghệ thông
tin ngày càng phát triển vượt bậc , tin học được ứng dụng rộng rãi trong tất cả
các ngành, các lĩnh vực của đời sống đặc biệt là trong quản lý. Đề án 112 cải
cách hành chính về thực hiện chính phủ điện tử của Thủ Tướng Chính Phủ đã
mang lại lợi ích to lớn, thiết thực cho công việc quản lý trong các ngành các
lĩnh vực.
Trước kia, một tổ chức sở hữu nguồn lao động hàm lượng tri thức cao,
tri thức đó được tổ chức khai thác phục vụ chủ yếu cho họat động của tổ chức.
Điều đó hàm ý tri thức nằm bên trong tổ chức. Ngày nay, với một phần mềm
kế toán người ta có thể biến người bình thường trở thành chuyên gia bằng
cách trang bị cho họ một phần mềm kế toán và hướng dẫn cho họ cách nhấn
trỏ chuột. Điều này hàm ý nguồn lực tri thức ngày nay chủ yếu nằm bên ngoài
tổ chức và nằm trong xã hội. Bằng cách khai thác tri thức trong xã hội, một tổ
chức hay một nền kinh tế có thể nhân bội hiệu quả của mình với số lượng và
chất lượng các nguồn lực truyền thống hạn chế. Cùng với tầm quan trọng của
nguồn lực tri thức ngày càng được nâng cao, vai trò của ngành quản lý thông
tin và tri thức càng trở nên quan trọng
Khi thông tin và trí thức càng trở nên phong phú, đa dạng và phát triển
mạnh mẽ theo thời gian; khi nhu cầu cầu của xã hội về thông tin ngày càng
trở nên cao cấp hơn việc lưu trữ, khai thác, tổ chức, và phân phối thông tin
theo kiểu truyền thống trở nên không phù hợp, đòi hỏi một cách thức mới.
Cùng lúc đó, với cách mạng công nghệ thông tin, đặc biệt là sự bùng nổ của
kỹ thuật số hoá làm cho khả năng đáp ứng nhu cầu đang tăng lên chưa từng có
về lưu trữ, tổ chức và phân phối thông tin trở nên hiện thực. Tin học hóa đã đi
sâu vào từng lĩnh vực, từng ngành nghề, từng cơ quan… Việc viết phầm mềm

hay website để quản lý về nhân sự, các trang thiết bị … càng trở nên cấp thiết.
Và trong lĩnh vực giáo dục cũng vậy, viêc quản lý sinh viên, khóa học, giáo
SVTH : Tạ Hoàng Long Trang 5
Đồ án tốt nghiệp kỹ sư Giáo viên hướng dẫn: Bùi Văn Huyến
viên, điểm … cũng là nhu cấu cấp thiết. Đó là lý do mà em chọn đề tài :”Xây
dựng hệ thống quản lý sinh viên cho trung tâm giáo dục quốc phòng 2”.
Luận văn được trình bày theo 4 chương:
Chương 1: Giới thiệu đề tài
Chương 2: Các công nghệ ứng dụng trong đồ án
Chương 3: Phân tích và thiết kế hệ thống
Chương 4: Triển khai hệ thống.
SVTH : Tạ Hoàng Long Trang 6
Đồ án tốt nghiệp kỹ sư Giáo viên hướng dẫn: Bùi Văn Huyến
CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI
Công tác quản lý sinh viên đóng vai trò hết sức quan trọng đối với hoạt
động của các trường đại học nói chung và Trung tâm giáo dục Quốc phòng 2
nói riêng.
Đầu vào của bài toán là danh sách sinh viên của các trường đại học, danh
sách sách sinh viên này các trường đại học phải làm theo mẫu của trung tâm.
Danh sách sinh viên yêu cầu phải có tên sinh viên, mã sinh viên, mã lớp và
các thông tin phụ khác để công tác quản lý dễ dàng hơn, như ngày sinh, địa
chỉ, giới tính, ghi chú.Trung tâm tiếp nhận danh sách từ các trường gửi lên,
rồi chia thành các trung đội nhỏ để quản lý.
Sinh viên được đào tạo học các khóa học tùy chọn, khóa học được chia
thành các học phần nhỏ, mỗi học phần có hệ số điểm khác nhau. Sinh viên
vượt qua khóa học bằng cách thi qua các học phần. Sau khi đã có điểm của
các học phần, quản trị sẽ nhập điểm thi của sinh viên vào hệ thống, hệ thống
sữ tự động tính toán điểm tổng kết của sinh viên và cho ra được danh sách
thống kê sinh viên đạt hay không đạt. Đầu ra của bài toán chính là danh sách
những sinh viên đạt hoặc không đạt.

Bài toán quản lý sinh viên cho trung tâm đặt ra các vấn đề cơ bản sau:
- Thể hiện được mô hình quản lý sinh viên theo khóa học, trung đội và
trường đại học.
- Quản lý các môn học, học phần của các trung đội theo khóa học và kết
quả học tập của sinh viên đối với các môn học đó.
- Hệ thống còn phải cho phép tạo ra các báo cáo từ kết quả học tập của
sinh viên nhằm phục vụ công tác điều hành huấn luyện như: tổng kết kết quản
học tập theo khóa học, theo năm học.
Có thể mô tả sơ lược các công việc chính đối với một khóa học trong hệ
thống quản lý sinh viên của trung tâm như sau:
- Với mỗi trung đội sau khi đã cập nhật danh sách sinh viên.
SVTH : Tạ Hoàng Long Trang 7
Đồ án tốt nghiệp kỹ sư Giáo viên hướng dẫn: Bùi Văn Huyến
- Với mỗi khóa học cần cập nhật các môn học, học phần.
- Khi có kết quả các học phần cập nhật điểm học phần/ trung đội.
- Tổng kết kết quả học tập của khóa học.
- Thống kê điểm.
1.1 Yêu cầu chức năng
Chức năng người dùng : người dùng là sinh viên là những người có nhu
cầu xem thông tin điểm của các sinh viên. Họ chỉ có quyền xem điểm.
Chức năng quản trị : Họ phải đăng nhập vào hệ thống để sử dụng chức
năng quản trị. Quản trị là người chịu trách nhiệm mọi hoạt động của hệ thống.
Chính vì thế quản trị thường phải là người có kiến thức sâu về tin học và
đặc biệt trong tình huống này là hệ thống, có trách nhiệm sửa chữa, bảo trì và
cập nhật nội dung cho hệ thống.
Tuy nhiên để làm được những nhiệm vụ trên cần đến những bộ công cụ
khác nằm ngoài hệ thống chúng ta đang xây dựng.
Và cụ thể trong hệ thống này người “quản trị” có hai nhiệm vụ cơ bản
sau:
• Quản lí user – tức các đối tượng “sinh viên”, trong trung tâm.

• Thiết lập một vài thuộc tính của hệ thống để hỗ trợ tốt cho công tác
quản lýsinh viên, và tính ổn định của hệ thống.
1.2 Yêu cầu hệ thống
- Quản lý khóa học.
- Quản lý lớp, trường.
- Quản lý trung đội.
- Thống kê điểm.
- Việc tính toán điểm phải chính xác, đáng tin cậy.
1.3 Các thao tác của hệ thống
1.3.1 Quản lý sinh viên
Trung tâm tiếp nhận danh sách sinh viên từ các trường đại học, trong danh
sách sinh viên có các thông tin bắt buộc là mã sinh viên, tên sinh viên và mã lớp.
SVTH : Tạ Hoàng Long Trang 8
Đồ án tốt nghiệp kỹ sư Giáo viên hướng dẫn: Bùi Văn Huyến
Trung tâm nhập thông tin của trường, danh sách các lớp mà các trường
đại học sẽ gửi sinh viên lên học, sau khi hệ thống đã được nhập trường, lớp
đầy đủ. Quản lý sinh viên sẽ nhập danh sách sinh viên bằng 2 cách: một là
nhập bằng tay từng sinh viên, hai là nhập sinh viên từ file excel mà trường đại
học đã gửi lên.
Hệ thống sau khi đã nhập danh sách sinh viên, quản lý sẽ tiếp tục phân
sinh viên thành các trung đội nhỏ để quản lý dễ dàng hơn.
1.3.2 Quản lý điểm
Sinh viên sẽ được đào tạo theo các khóa học, chia làm các học phần nhỏ,
mỗi học phần sẽ có một hệ số riêng tùy theo quy đinh của học phần. Sinh viên
sẽ phải thi qua các học phần này để vượt qua khóa học.
Điểm thi của các sinh viên cũng được nhập bằng hai cách: nhập bằng tay
từng sinh viên hoặc nhập qua file excel theo lần thi, khóa học và học phần.
1.3.3 Thống kê báo cáo
Sau khi quản trị nhập hết điểm các học phần của sinh viên, hệ thống sẽ
động tự tính điểm tổng kết của mỗi sinh viên theo công thức :

ĐTB : điểm trung bình.
HPi : học phần .
HSi : hệ số.
Danh sách sinh viên đạt hay không đạt sẽ được hệ thống thống kê và xuất
ra được file excel.
SVTH : Tạ Hoàng Long Trang 9
Đồ án tốt nghiệp kỹ sư Giáo viên hướng dẫn: Bùi Văn Huyến
CHƯƠNG 2 : CÁC CÔNG CỤ SỬ DỤNG TRONG ĐỒ ÁN
2.1 ASP.net
2.1.1 Khái niệm và nguồn gốc xuất xứ
Từ khoảng cuối thập niên 90, ASP (Active Server Page) đã được nhiều
lập trình viên lựa chọn để xây dựng và phát triển ứng dụng web động trên
máy chủ sử dụng hệ điều hành Windows. ASP đã thể hiện được những ưu
điểm của mình với mô hình lập trình thủ tục đơn giản, sử dụng hiệu quả các
đối tượng COM: ADO (ActiveX Data Object) - xử lý dữ liệu, FSO (File
System Object) - làm việc với hệ thống tập tin…, đồng thời, ASP cũng hỗ trợ
nhiều ngôn ngữ: VBScript, JavaScript. Chính vì những ưu điểm đó, ASP đã
được yêu thích trong một thời gian dài.
Tuy nhiên, ASP vẫn còn tồn đọng một số khó khăn như mã (code) ASP
và HTML lẫn lộn, điều này làm cho quá trình viết code khó khăn, thể hiện và
trình bày code không trong sáng, hạn chế khả năng sử dụng lại code. Bên
cạnh đó, khi triển khai cài đặt, do không được biên dịch trước nên dễ bị mất
mã nguồn. Thêm vào đó, ASP không có hỗ trợ cache (cơ chế bộ nhớ đệm),
không được biên dịch trước nên phần nào hạn chế về mặt tốc độ thực hiện,
quá trình xử lý postback khó khăn, …
Đầu năm 2002, Microsoft giới thiệu một kỹ thuật lập trình web khá mới
mẻ với tên gọi ban đầu là ASP+, tên chính thức sau này là ASP.NET. Với
ASP.NET, không những không đòi hỏi lập trình viên phải biết các tag HTML
và kỹ năng thiết kế web mà nó còn hỗ trợ mạnh lập trình hướng đối tượng
trong quá trình xây dựng và phát triển ứng dụng web.

ASP.NET là kỹ thuật lập trình và phát triển ứng dụng web ở phía server
(server-side) dựa trên nền tảng của Microsoft .NET Framework.
Hầu hết, những người mới đến với lập trình web đều bắt đầu tìm hiểu
những kỹ thuật ở phía client (client-side) như: HTML, JavaScript, CSS
(Cascading Style Sheet). Khi trình duyệt web (web browser) - client yêu cầu
SVTH : Tạ Hoàng Long Trang 10
Đồ án tốt nghiệp kỹ sư Giáo viên hướng dẫn: Bùi Văn Huyến
một trang web (trang web sử dụng kỹ thuật client-side), web server tìm trang
web mà client yêu cầu, sau đó gởi về cho client. Client nhận kết quả trả về từ
server và hiển thị lên màn hình.
ASP.NET sử dụng kỹ thuật lập trình server-side thì hoàn toàn khác. Mã
lệnh ở phía server (ví dụ: mã lệnh trong trang ASP) sẽ được biên dịch và thi
hành tại web server. Sau khi được server đọc, biên dịch và thi hành, kết quả tự
động được chuyển sang HTML/JavaScript/CSS và trả về cho client. Tất cả
các xử lý lệnh ASP.NET đều được thực hiện tại server và do đó, gọi là kỹ
thuật lập trình server-side.
2.1.2 Những ưu điểm nổi bật của ASP.NET
• ASP.NET cho phép lựa chọn một trong các ngôn ngữ lập trình: Visual
Basic.NET, J#, C#,…
Trang ASP.NET được biên dịch trước.Thay vì phải đọc và thông dịch mỗi
khi trang web được yêu cầu, ASP.NET biên dịch những trang web động thành
những tập tin DLL mà server có thể thi hành nhanh chóng và hiệu quả.Yếu tố này
là một bước nhảy vọt đáng kể so với kỹ thuật thông dịch của ASP.
Hình1: ASP.NET biên dịch trang web động thành tập tin DLL
• ASP.NET hỗ trợ mạnh mẽ bộ thư viện phong phú và đa dạng của
.NET Framework, làm việc với XML, Web Service, truy cập cơ sở dữ liệu
qua ADO.NET, …
SVTH : Tạ Hoàng Long Trang 11
Đồ án tốt nghiệp kỹ sư Giáo viên hướng dẫn: Bùi Văn Huyến
• ASPX và ASP có thể cùng hoạt động trong một ứng dụng.

• ASP.NET sử dụng phong cách lập trình mới: Code behide - tách riêng
mã nguồn và giao diện, do vậy, mã nguồn dễ đọc, dễ quản lý và bảo trì.
• ASP.NET có kiến trúc lập trình giống ứng dụng trên Windows.
• ASP.NET hỗ trợ quản lý trạng thái của các control.
• ASP.NET tự động phát sinh mã HTML cho các đối tượng giao diện
phía server (server control) tương ứng với từng loại web browser.
• ASP.NET hỗ trợ nhiều cơ chế cache.
• ASP.NET không cần lock, không cần đăng ký DLL.
• ASP.NET cho phép nhiều hình thức cấu hình ứng dụng.
• ASP.NET hỗ trợ quản lý ứng dụng ở mức toàn cục.
• Global.aspx có nhiều sự kiện hơn.
• ASP.NET cho phép quản lý session trên nhiều server, không cần
cookies.
2.2 Ngôn ngữ 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 thi nhữ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.Những tính
chất đó hiện diện trong một ngôn ngữ lập trình hiện đại.Và ngôn ngữ C# hội
đủ những điều kiện như vậy, hơn nữa nó được xây dựng trên nền tảng của hai
ngôn ngữ mạnh nhất là C++ và Java.
Ngôn ngữ C# được phát triển bởi đội ngũ kỹ sư của Microsoft, trong đó
người dẫn đầu là Anders Hejlsberg và Scott Wiltamuth. Cả hai người này điều
là những người nổi tiếng, trong đó Anders Hejlsberg được biết đến là tác giả
SVTH : Tạ Hoàng Long Trang 12
Đồ án tốt nghiệp kỹ sư Giáo viên hướng dẫn: Bùi Văn Huyến
của Turbo Pascal, một ngôn ngữ lập trình PC phổ biến.Và ông đứng đầu
nhóm thiết kế Borland Delphi, một trong những thành công đầu tiên của việc
xây dựng môi trường phát triển tích hợp (IDE) cho lập trình client/server.
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

đối tượ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ững lớ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ộng ngô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 hay thuộ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ấy trong phần khai báo của nó.Định nghĩa một lớp trong ngôn ngữ C#
không đòi hỏi phải chia ra tập tin header và tập tin nguồn giống như trong
ngôn ngữ C++.Hơn thế 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.
C# cũng hỗ trợ giao diện interface, nó được xem như một cam kết với
một lớp cho những dịch vụ mà giao diện quy định. Trong ngôn ngữ C#, một
lớp chỉ có thể kế thừa từ duy nhất một lớp cha, tức là không cho đa kế thừa
như trong ngôn ngữ C++, tuy nhiên một lớp có thể thực thi nhiều giao diện.
Khi một lớp thực thi một giao diện thì nó sẽ cung cấp chức năng thực thi giao
diện.
Trong ngôn ngữ C#, những cấu trúc cũng được hỗ trợ, nhưng khái niệm
về ngữ nghĩa của nó thay đổi khác với C++.Trong C#, một cấu trúc được giới
hạn, là kiểu dữ liệu nhỏ gọn, và khi tạo thể hiện thì nó yêu cầu ít hơn về hệ
điều hành và bộ nhớ so với một lớp. Một cấu trúc thì không thể kế thừa từ
một lớp hay được kế thừa nhưng một cấu trúc có thể thực thi một giao diện.
Ngôn ngữ C# cung cấp những đặc tính hướng thành phần (component-
oriented), như là những thuộc tính, những sự kiện.Lập trình hướng thành phần
SVTH : Tạ Hoàng Long Trang 13
Đồ án tốt nghiệp kỹ sư Giáo viên hướng dẫn: Bùi Văn Huyến
được hỗ trợ bởi CLR cho phép lưu trữ metadata với mã nguồn cho một
lớp.Metadata mô tả cho một lớp, bao gồm những phương thức và những
thuộc tính của nó, cũng như những sự bảo mật cần thiết và những thuộc tính

khác. Mã nguồn chứa đựng những logic cần thiết để thực hiện những chức
năng của nó Do vậy, một lớp được biên dịch như là một khối self-contained,
nên môi trường hosting biết được cách đọc metadata của một lớp và mã
nguồn cần thiết mà không cần những thông tin khác để sử dụng nó.
Một lưu ý cuối cùng về ngôn ngữ C# là ngôn ngữ này cũng hỗ trợ việc
truy cập bộ nhớ trực tiếp sử dụng kiểu con trỏ của C++ và từ khóa cho dấu
ngoặc [] trong toán tử. Các mã nguồn này là không an toàn (unsafe). Và bộ
giải phóng bộ nhớ tự động của CLR sẽ không thực hiện việc giải phóng
những đối tượng được tham chiếu bằng sử dụng con trỏ cho đến khi chúng
được giải phóng.
2.3 Cơ sở dữ liệu
Khi nhu cầu phát triển ứng dụng và quản trị với số lượng bản ghi lớn,
kích thước lớn, nhiều kiểu dữ liệu phức tạp (âm thanh, hình ảnh…) thì việc
đặt ra với các hãng phần mềm là phát triển các hệ quản trị cơ sở dữ liệu lớn.
Việc những nhà lập trình phát triển ứng dụng trên hệ quản trị cơ sở dữ liệu
lớn cũng đòi hỏi phảt có những nắm bắt tích cực về sự phát triển của các hệ
quản trị cơ sở dữ liệu.
2.3.1 Giới thiệu về SQL
2.3.1.1 Lịch sử phát triển
SQL (Structured Query Language) là tập lệnh truy xuất cơ sở dữ liệu
(CSDL) quan hệ. Ngôn ngữ SQL được IBM sử dụng đầu tiên trong hệ quản
trị CSDL System R vào giữa những năm 70. Hệ ngôn ngữ SQL đầu tiên
(SEQUEL2) được IBM công bố vào tháng 11 năm 1976. Năm 1979, tập đoàn
ORACLE giới thiệu thương phẩm đầu tiên của SQL, SQL cũng được cài đặt
SVTH : Tạ Hoàng Long Trang 14
Đồ án tốt nghiệp kỹ sư Giáo viên hướng dẫn: Bùi Văn Huyến
trong các hệ quản trị CSDL như DB2 của IBM và SQL/DS.
Ngày nay, SQL được sử dụng rộng rãi và đuợc xem là ngôn ngữ chuẩn
để truy xuất CSDL quan hệ.
2.3.1.2 Chuẩn SQL

Năm 1989, Viện tiêu chuẩn quốc gia Hoa kỳ (ANSI) công nhận SQL là
ngôn ngữ chuẩn để truy xuất CSDL quan hệ trong văn bản ANSI SQL89.
Năm 1989, Tổ chức tiêu chuẩn quốc tế (ISO) công nhận SQL ngôn ngữ
chuẩn để truy xuất CSDL quan hệ trong văn bản ISO 9075-1989.
Tất cả các hệ quản trị CSDL lớn trên thế giới đều cho phép truy xuất
bằng SQL và hầu hết theo chuẩn ANSI.
2.3.1.3 Đặc điểm SQL
SQL là ngôn ngữ gần với ngôn ngữ tự nhiên (Tiếng Anh)
• SQL là ngôn ngữ phi thủ tục. Nó không yêu cầu cách thức truy xuất
CSDL như thế nào.
• SQL cung cấp tập lệnh phong phú cho các công việc truy vấn CSDL
• SQL đảm bảo tính bảo mật của CSDL
• SQL đảm bảo tính nhất quán và sự ràng buộc của CSDL
• Ngôn ngữ SQL được sử dụng rất rộng rãi trong các Hệ quản trị CSDL.
• SQL được chia 2 loại: SQL (ngôn ngữ truy vấn) và PL/SQL (ngôn ngữ
lập trình).
2.3.1.4 Các loại lệnh của SQL
Các lệnh của SQL chia làm bốn loại chính:
• Lệnh truy vấn: cho phép truy vấn CSDL để đưa ra các thông tin
cần thiết (SELECT).
• Các lệnh định nghĩa dữ liệu (DDL - Data Definition Language):
tạo và thay đổi cấu trúc các đối tượng trong cơ sở dữ liệu (CREATE,
ALTER…)
SVTH : Tạ Hoàng Long Trang 15
Đồ án tốt nghiệp kỹ sư Giáo viên hướng dẫn: Bùi Văn Huyến
• Các lệnh thực hiện trên dữ liệu (DML - Data Manipulation
Language): cho phép thêm, sửa, xóa dữ liệu (INSERT, UPDATE,
DELETE…).
• Các lệnh điều khiển dữ liệu (DCL - Data Control Language):
cho phép gán hoặc huỷ các quyền truy cập dữ liệu (GRANT, REVOTE)

2.3.1.5 Vai trò của SQL
Bản thân SQL không phải là một hệ quản trị cơ sở dữ liệu, nó không
thể tồn tại độc lập. SQL thực sự là một phần của hệ quản trị cơ sở dữ liệu, nó
xuất hiện trong các hệ quản trị cơ sở dữ liệu với vai trò ngôn ngữ và là công
cụ giao tiếp giữa người sử dụng và hệ quản trị cơ sở dữ liệu.
Trong hầu hết các hệ quản trị cơ sở dữ liệu quan hệ, SQL có những vai
trò như sau:
SQL là ngôn ngữ hỏi có tính tương tác: Người sử dụng có thể dễ
dàng thông qua các trình tiện ích để gởi các yêu cầu dưới dạng các câu lệnh
SQL đến cơ sở dữ
liệu và nhận kết quả trả về từ cơ sở dữ liệu
SQL là ngôn ngữ lập trình cơ sở dữ liệu: Các lập trình viên có thể
nhúng các câu lệnh SQL vào trong các ngôn ngữ lập trình để xây dựng
nên các chương trình ứng dụng giao tiếp với cơ sở dữ liệu
SQL là ngôn ngữ quản trị cơ sở dữ liệu: Thông qua SQL, người quản
trị cơ sở dữ liệu có thể quản lý được cơ sở dữ liệu, định nghĩa các cấu trúc lưu
trữ dữ liệu, điều khiển truy cập cơ sở dữ liệu,
SQL là ngôn ngữ cho các hệ thống khách/chủ (client/server): Trong các
hệ thống cơ sở dữ liệu khách/chủ, SQL được sử dụng như là công cụ để giao
tiếp giữa các trình ứng dụng phía máy khách với máy chủ cơ sở dữ liệu.
SQL là ngôn ngữ truy cập dữ liệu trên Internet: Cho đến nay, hầu hết
các máy chủ Web cũng như các máy chủ trên Internet sử dụng SQL với vai
trò là ngôn ngữ để tương tác với dữ liệu trong các cơ sở dữ liệu.
SQL là ngôn ngữ cơ sở dữ liệu phân tán: Đối với các hệ quản trị cơ sở
dữ liệu phân tán, mỗi một hệ thống sử dụng SQL để giao tiếp với các hệ
thống khác trên mạng, gởi và nhận các yêu cầu truy xuất dữ liệu với nhau.
SVTH : Tạ Hoàng Long Trang 16
Đồ án tốt nghiệp kỹ sư Giáo viên hướng dẫn: Bùi Văn Huyến
SQL là ngôn ngữ sử dụng cho các cổng giao tiếp cơ sở dữ liệu: Trong
một hệ thống mạng máy tính với nhiều hệ quản trị cơ sở dữ liệu khác nhau,

SQL thường được sử dụng như là một chuẩn ngôn ngữ để giao tiếp giữa các
hệ quản trị cơ sở dữ liệu.
Mô hình hoạt động của SQL Server trên mạng máy tính.
Mô hình chung SQL Server trên mạng.
Hình 2: Mô hình chung SQL Server
Trong sơ đồ trên thể hiện ba kiểu kết nối ứng dụng đến SQL Server:
1. Kết nối trên Desktop: Có thể trên cùng máy tính với SQL Server hoặc
kết nối qua mạng nội bộ.
2. Kết nối qua mạng diện rộng: Thông qua đường truyền mạng xa kết nối
đến SQL Server.
3. Kết nối qua mạng Internet: Các ứng dụng kết nối thông qua máy chủ
SVTH : Tạ Hoàng Long Trang 17
Đồ án tốt nghiệp kỹ sư Giáo viên hướng dẫn: Bùi Văn Huyến
Internet, dịch vụ IIS thực hiện ứng dụng trên Internet (ASP, JSP,
ASP.net …)
2.2.2 Tổng quan về SQL Sever 2008
2.2.2.1 Giới thiệu
SQL Server 2008 là phiên bản mới nhất của SQL Server, có tên là “katmai”.
Cũng như SQL Sever 2005 thì SQL Sever 2008 vẫn là một hệ thống quản lý cơ sở
dữ liệu (Relational Database Management System (RDBMS) ) sử dụng Transact-
SQL để trao đổi dữ liệu giữa Client computer và SQL Server computer. Một
RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý
dữ liệu và các bộ phận khác nhau trong RDBMS.
SQL Server 2008 được tối ưu để có thể chạy trên môi trường cơ sở dữ
liệu rất lớn (Very Large Database Environment) lên đến Tera-Byte và có thể
phục vụ cùng lúc cho hàng ngàn user. SQL Server 2008 có thể kết hợp "ăn ý"
với các server khác như Microsoft Internet Information Server (IIS), E-
Commerce Server, Proxy Server
Để xứng đáng là một người bạn tin cậy, Microsoft SQL server 2008có
những điểm mới, tiến bộ sau:

Một trong điểm nổi bật khi xem xét về SQL Server 2008 của Microsoft
là tính năng phân loại biệt ngữ mới và các lợi ích vào trong nhóm hoặc các
vùng chính. Có bốn vùng chính đó là Enterprise Data Platform, Dynamic
Development, Beyond Relational Database, và Pervasive Insight.
SQL Server 2008 có tác dụng đòn bẩy cho công nghệ .NET 3.0 (Dot Net
Framework 3.0) với LINQ (Language Integrated Query – ngôn ngữ truy vấn
tích hợp). Thêm vào đó là sự hỗ trợ hiệu quả hơn cho các thực thể dữ liệu
doanh nghiệp cùng với các tùy chọn đồng bộ dữ liệu.
2.2.2.2 Ưu điểm
SQL Server 2008 có nhiều cải thiện hữu dụng và thiết thực:
- Mã hóa dữ liệu trong suốt cho phép toàn bộ cơ sở dữ liệu, các bảng và
dữ liệu có thể được mã hóa mà không cần phải lập trình ứng dụng.
- Backup có thể được mã háo để ngăn chặn việc lộ và thay đổi dữ liệu
SVTH : Tạ Hoàng Long Trang 18
Đồ án tốt nghiệp kỹ sư Giáo viên hướng dẫn: Bùi Văn Huyến
- Sự thay đổi truy cập dữ liệu có thể được thẩm định.
- Fact Tables có thể được nén lại với hiệu suất cao.
- Tài nguyên chủ có thể được đảm bảo an toàn
- SQL 2008 hỗ trợ Hot Plug CPU.
- Bộ đếm hiệu suất được mở rộng.
- Việc cài đặt đã được đơn giản hóa.
SVTH : Tạ Hoàng Long Trang 19
Đồ án tốt nghiệp kỹ sư Giáo viên hướng dẫn: Bùi Văn Huyến
CHƯƠNG 3:PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
3.1 Phân tích hệ thống
3.1.1 Phân tích chức năng
3.1.1.1 Lựa chọn phương pháp phân tích
Có hai phương pháp phân tích hệ thống đó là phương pháp phân tích
hướng chức năng và phương pháp phân tích hướng đối tượng.
Phương pháp phân tích hướng chức năng là phương pháp đã phổ biến và

sử dụng rộng rãi đồng thời nó cũng ra đời trước phương pháp phân tích hướng
đối tượng.Mặc dù có một số nhược điểm nhưng phương pháp này lại khá phù
hợp với một số hệ thống vừa và nhỏ.
3.1.1.2 Phương pháp phân tích hướng chức năng
Hệ thống được phân tích theo quan điểm này sẽ được bắt đầu ở mức cao
nhất, sau đó sẽ phân rã dần về các chức năng chi tiết hơn. Theo cách tiếp cận
này thì bảng phân tích sẽ được phân tích thành các đơn thể có tác dụng lẫn
nhau. Mỗi đơn thể như vậy chính là một chức năng đã được xác định rõ. Các
chức năng này có trạng thái cục bộ nhưng chúng trao đổi thông tin với nhau
qua trạng thái hệ thống.Theo phương pháp này thì người ta dùng biểu đồ
luồng dữ liệu (để mô tả việc xử lý dữ liệu logic), các lược đồ cấu trúc (chỉ ra
cấu trúc của phần mềm) và các mô tả.
Biểu đồ phân cấp chức năng:
• Là loại biểu đồ diễn tả sự phân rã dần dần các chức năng từ đại thể
đến chi tiết. Mỗi nút trong biểu đồ là một chức năng và quan hệ duy nhất giữa
các chức năng, diễn tả bởi các cung nối liền các nút, là quan hệ bao hàm. Như
vậy biểu đồ phân cấp chức năng tạo thành một cấu trúc cây.
• Ưu điểm:
 Cho cách nhìn khái quát, dễ hiểu từ đại thể đến chức năng.
SVTH : Tạ Hoàng Long Trang 20
Đồ án tốt nghiệp kỹ sư Giáo viên hướng dẫn: Bùi Văn Huyến
 Dễ thiết lập trên cơ sở phân rã dần dần các chức năng từ trên xuống.
Hình 3: Biểu đồ phân cấp chức năng
3.1.2 Mô hình tiến hóa và biểu đồ luồng dữ liệu
3.1.2.1 Mô hình tiến hóa
Định nghĩa: Mô hình hóa tiến trình là sự biểu diễn đồ thị các hoạt động
chức năng hóa hoặc quá trình thu thập, thao tác, lưu trữ và phân phối dữ liệu
giữa hệ thống và môi trường của nó cũng như giữa các thành phần trong hệ
thống.
Quá trình mô hình tiến hóa: Quá trình mô hình hóa tiến trình được bắt

đầu xây dựng biểu đồ ngữ cảnh mô tả sự tương tác hệ thống và môi trường
của nó, sự tương tác này được biểu diễn bằng các luồng dữ liệu từ môi trường
đi vào hệ thống và ngược lại. Tiếp đến là quá trình làm mịn liên tiếp từ sơ đồ
ngữ cảnh này đến các tiến trình thuộc các sơ đồ nhận được sau đó bằng cách
bổ sung vào các hoạt động xử lý (các tiến trình) lấy từ sơ đồ phân rã chức
SVTH : Tạ Hoàng Long Trang 21
Đồ án tốt nghiệp kỹ sư Giáo viên hướng dẫn: Bùi Văn Huyến
năng cùng các kho dữ liệu (đặc trưng bởi các tài liệu) và các luồng dữ liệu
liên kết các yếu tố này (quá trình, kho dữ liệu và tác nhân). Quá trình này tiếp
tục cho đến khi nhận được các luồng dữ liệu mà các tiến trình của nó đủ đơn
giản và hoàn toàn có thể xác định được nội dung xử lý bên trong của nó.
Sản phẩm của mô hình tiến hóa
- Các sản phẩm của mô hình hóa tiến trình:
• Biểu đồ ngữ cảnh: biểu đồ này cho biết phạm vi của hệ thống
• Biểu đồ luồng dữ liệu vật lý: của hệ thống hiện thời mô tả hệ
thống hiện thời
• Biểu đồ luồng dữ liệu logic của hệ thống hiện thời
• Biểu đồ dữ liệu logic cho hệ thống mới biểu diễn các chức năng
xử lý dữ liệu, các kho dữ liệu và các luồng dữ liệu liên kết chúng
cần phải có trong hệ thống mới.
• Biểu đồ luồng dữ liệu vật lý cho hệ thống mới là luồng dữ liệu
logic của hệ thống mới gắn với các phương tiện vật lý thực hiện
chúng.
• Các mô tả chi tiết về nội dung thực hiện của mỗi tiến trình (thành
phần) trong các biểu đồ luồng dữ liệu ở mức thấp nhất.
3.1.2.2 Biểu đồ luồng dữ liệu
- Định nghĩa và ký hiệu
Sơ đồ luồng dữ liệu diễn tả tập hợp các chức năng của hệ thống trong các
mối quan hệ trước, sau, trong tiến trình xử lý, trong bàn giao thông tin của
mỗi tiến trình xử lý cho nhau.Khi một chức năng xử lý thì nó xác định được

lấy thông tin ở đâu và sau khi xử lý xong thông tin kết quả được đưa đến
đâu.Biểu đồ luồng dữ liệu là một biểu đồ động.
Cấu trúc của biểu đồ luồng dữ liệu đều sử dụng các ký hiệu để biểu diễn
cùng một số sự vật, đó là: khối chức năng, luồng dữ liệu, kho dữ liệu, tiến
trình và tác nhân.
• Khối chức năng
Biểu diễn một quá trình xử lý dữ liệu (thay đổi giá trị, cấu trúc…).
Quy ước vẽ: Một hình tròn hoặc hình bầu dục bên trong có đề tên
SVTH : Tạ Hoàng Long Trang 22
Đồ án tốt nghiệp kỹ sư Giáo viên hướng dẫn: Bùi Văn Huyến
của chức năng. Tên chức năng phải là một động từ, có thể thêm bổ ngữ để nói
rõ chức năng đó làm gì.
Hình 4: Ký hiệu khối chức năng
• Luồng dữ liệu (data flow):
Biểu diễn tuyến truyền dẫn thông tin đi vào hoặc ra khỏi một khối
chức năng.Đi vào là mang dữ liệu đến đi ra là đưa kết quả ra sau khi được
xử lý. Dữ liệu có thể là dữ liệu đơn, ví dụ tên khách hàng, hoặc dữ liệu có
cấu trúc, ví dụ hóa đơn.
Quy ước vẽ: Một mũi tên, trên đó viết tên của luồng dữ liệu. Tên
của luồng dữ liệu phải là một danh từ, có thêm tính ngữ nếu cần
Tên luồng dữ liệu
Hình 5: Ký hiệu Luồng dữ liệu
Trường hợp đối với dữ liệu chuyển giao là dữ liệu có cấu trúc thì có
thể biểu diễn bằng mũi tên phân nhánh ở đầu hoặc đuôi để biểu diễn luồng
dữ liệu thành phầ
Hình 6: Ký hiệu luồng dữ liệu phân nhánh
SVTH : Tạ Hoàng Long Trang 23
Tên chức năng
Đồ án tốt nghiệp kỹ sư Giáo viên hướng dẫn: Bùi Văn Huyến
• Kho dữ liệu

Biểu diễn địa điểm dữ liệu được lưu lại để có thể được truy cập
nhiều lần về sau
Quy ước vẽ: Tên kho dữ liệu nằm giữa hai đoạn thẳng nằm ngang.
Tên kho dữ liệu phải là một danh từ, kèm theo tính ngữ nếu cần.
Tên kho dữ liệu
Hình 7: Ký hiệu Kho dữ liệu
• Đối tác (tác nhân ngoài)
Biểu diễn một thực thể (người, thiết bị, file…) ngoài hệ thống có
trao đổi thông tin với hệ thống.Đối tác chỉ phát mà không nhận thông tin
gọi là nguồn.Đối chỉ nhận thông tin gọi là vực.
Quy ước vẽ: Tên đối tác nằm trong hình chữ nhật. Tên đối tác phải
là một danh từ, kèm theo tính ngữ nếu cần.
Hình 8: Ký hiệu đối tác
3.1.2.3 Biểu đồ
- Mức bối cảnh
Mức bối cảnh thể hiện chức năng tổng quát của chương trình là quản lý
công trình và hỗ trợ các giải pháp kĩ thuật đảm bảo an toàn công trình xây
dựng, với hai tác nhân đó là: Người quản trị và người sử dụng
SVTH : Tạ Hoàng Long Trang 24
Tên đối tác
Đồ án tốt nghiệp kỹ sư Giáo viên hướng dẫn: Bùi Văn Huyến
Hình 9: Biểu đồ luồng dữ liệu mức ngữ cảnh
- Mức đỉnh: phân rõ các chức năng ở mức bối cảnh thành các chức năng
con
Hình 10: Biểu đồ luồng dữ liệu mức đỉnh
SVTH : Tạ Hoàng Long Trang 25

×