Tải bản đầy đủ (.pdf) (46 trang)

Xây dựng website chia sẻ tài liệu qua mạng

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 (1.64 MB, 46 trang )

Đồ án tốt nghiệp

Giáo viên h-ớng dẫn: ThS. Trần Văn Cảnh
Tr-ờng đại học vinh
Khoa công nghệ thông tin
------------

đồ án tốt nghiệp
Đề tài :

Xây dựng website chia sẻ tài liệu qua mạng
Giáo viên h-ớng dẫn :

ThS. Trần Văn Cảnh

Sinh viên thực hiện :

Phạm Văn Sơn

Lớp

46K3 - CNTT

:

Vinh, 05/2010

Sinh viên thực hiện: Phạm Văn Sơn Lớp: 46K3-CNTT

1



Đồ án tốt nghiệp

Giáo viên h-ớng dẫn: ThS. Trần Văn Cảnh
MụC Lục

MụC Lục ........................................................................................................ 1
LờI CảM ƠN .................................................................................................. 4
LờI NóI ĐầU ................................................................................................. 5
PHầN I. TổNG QUAN Về Đề TàI ............................................................. 6
1.1 Lý do chọn đề tài ..................................................................................... 6
1.2 Mục đích của đề tài ................................................................................. 6
1.3 H-ớng triển khai của đề tài ..................................................................... 7
1.4 H-ớng phát triển của đề tài ..................................................................... 7
PHầN II. CƠ Sở Lý THUYếT .................................................................... 8
2.1 Sơ l-ợc về .Net Framework ..................................................................... 8
2.1.1 .Net Framework là gì ? ..................................................................... 8
2.1.2 Các thành phần và chức năng chính trong .Net Framework ............ 9
2.1.3 Mét sè -u ®iĨm chÝnh cđa .Net Framework ................................... 11
2.2 Tỉng quan vỊ ASP.NET ........................................................................ 11
2.2.1 ASP.NET là gì ? ............................................................................. 11
2.2.2 Một số -u nh-ợc điểm .................................................................... 12
2.3 Ngôn ngữ lập trình C# ........................................................................... 13
2.3.1 Giới thiệu ........................................................................................ 13
2.3.2 Một số đặc điểm ............................................................................. 13
2.3.3 Sự kết hợp giữa ASP.NET và ngôn ngữ C# .................................... 14
2.4 Microsoft SQL Server 2005 ................................................................... 14
2.4.1 Giíi thiƯu vỊ SQL Server 2005 ....................................................... 14
2.4.2 Lý do chän CSDL Microsoft SQL Server 2005 .............................. 14
2.4.3 Stored Procedure............................................................................. 16

2.5 Mô hình ba lớp (3-Tier) và công nghệ AJAX ....................................... 18
2.5.1 Mô hình ba lớp ............................................................................... 18
2.5.2 Công nghệ AJAX ........................................................................... 22

Sinh viên thực hiện: Phạm Văn Sơn Lớp: 46K3-CNTT

2


Đồ án tốt nghiệp

Giáo viên h-ớng dẫn: ThS. Trần Văn Cảnh

PHầN III. PHÂN TíCH THIếT Kế Hệ THốNG .................................... 23
3.1. Phân tích hệ thống về mặt chức năng ................................................... 23
3.1.1. Biểu đồ phân cấp chức năng .......................................................... 23
3.1.2. Biểu đồ luồng dữ liệu .................................................................... 23
3.2. Phân tích hệ thống về mặt dữ liệu ........................................................ 29
3.3. Thiết kế các bảng dữ liệu ..................................................................... 30
PHầN IV. XÂY DựNG WEBSITE CHIA Sẻ TàI LIƯU ........................ 36
4.1 PhÇn Frontend (PhÇn giao diƯn ng-êi dïng) ......................................... 36
4.1.1 Trang chđ (Default.aspx)................................................................ 36
4.1.2 Trang t×m kiÕm (Search.aspx) ........................................................ 37
4.1.3 Trang đăng ký thành viên (Register.aspx) ..................................... 37
4.1.4 Trang nạp tài khoản (BuyVcoint.aspx) .......................................... 38
4.1.5 Trang Upload tài liÖu (Upload.aspx) .............................................. 38
4.1.6 Trang tin tøc (News.aspx) .............................................................. 39
4.1.7 Trang hiển thị tài liệu ..................................................................... 39
4.1.8 Trang liên hệ, phản hồi (Feedback.aspx) ....................................... 40
4.2 Phần Backend (Quản trị Website) ......................................................... 41

4.2.1 Trang đăng nhập (Login.aspx) ....................................................... 41
4.2.2 Trang quản lý tài liệu (CheckFile.aspx) ......................................... 41
4.2.3 Trang quản lý tin tức (News.aspx) ................................................. 42
4.2.4 Trang quản lý thể loại tài liệu (Genre.aspx) ................................... 42
4.2.5 Trang quản lý nhóm thẻ Paycard (PaycardManager.aspx) ............ 43
4.2.6 Trang quản lý thẻ (ListPaycard.aspx) ............................................ 43
KếT LUậN .................................................................................................... 45
Tài liệu tham khảo ............................................................................ 46

Sinh viên thực hiện: Phạm Văn Sơn Lớp: 46K3-CNTT

3


Đồ án tốt nghiệp

Giáo viên h-ớng dẫn: ThS. Trần Văn Cảnh

LờI CảM ƠN

Lời đầu tiên cho phép em đ-ợc gửi lời cảm ơn đến các thầy giáo, cô
giáo trong khoa c«ng nghƯ th«ng tin. Trong st thêi gian häc tËp tại tr-ờng
em đà đ-ợc các thầy, các cô tận tình chỉ bảo và mang những kiến thức quý
báu của mình đến truyền đạt cho chúng em.
Để hoàn thành đ-ợc đồ án này, em xin đ-ợc gửi lời cảm ơn chân thành
nhất đến thầy giáo Th.S Trần Văn Cảnh ng-ời đà tận tình chỉ bảo và dìu dắt
em trong suốt quá trình học tập và thực hiện các đề tài thực tập cơ sở, đề tài
thực tập chuyên ngành và cuối cùng là đồ án tốt nghiệp. Em xin chân thành
cảm ơn gia đình và bạn bè đà cổ vũ, động viên và giúp đỡ em trong suốt thời
gian thực hiện đồ án.

Mặc dù cố gắng hoàn thành đồ án trong phạm vi và khả năng cho phép
nh-ng chắc chắn sẽ không tránh khỏi những thiếu sót. Em rất mong nhận
đ-ợc sự thông cảm, góp ý và tận tình chỉ bảo của các thầy, cô và tất cả các bạn
để đề tài ngày càng hoàn thiện hơn.
Vinh, tháng 5 năm 2010
Sinh viên thực hiện: Phạm Văn Sơn

Sinh viên thực hiện: Phạm Văn Sơn Lớp: 46K3-CNTT

4


Đồ án tốt nghiệp

Giáo viên h-ớng dẫn: ThS. Trần Văn Cảnh

LờI NóI ĐầU
Xây dựng th- viện điện tử là một trong những xu h-ớng mới đà và đang
đ-ợc nhân rộng trong hầu hết các tr-ờng đại học. Tuy nhiên, các nguồn tài
liệu này vẫn ch-a thực sự đ-ợc cung cấp rộng rÃi đến với sinh viên. Đặc biệt là
các đề tài, luận văn và đồ án tốt nghiệp. Sinh viên muốn sử dụng nguồn tài
liệu này phải trực tiếp đến th- viện nghiên cứu hoặc mang USB đến Copy
những tài liệu mình cần nên mất rất nhiều thời gian. Thiết nghĩ tại sao ta
không xây dựng một Website cung cấp thông tin và cho phép sinh viên sử
dụng những nguồn tài liệu này thông qua hình thức thanh toán bằng thẻ
(Paycard) hoặc SMS Mobile.
Do đó tôi đà lựa chọn đề tài: Xây dựng Website chia sẻ tài liệu qua
mạng làm đồ án tốt nghiệp. Mục đích chính của đề tài là tạo điều kiện thuận
lợi hơn cho các bạn sinh viên trong việc tra cứu và sử dụng các loại tài liệu và
hơn hết là tạo ra một môi tr-ờng chia sẻ kiến thức và tài liệu học tập cho cộng

đồng sinh viên.
Nội dung của đề tài gồm bốn phần chính.
Phần I: Tổng quan về đề tài
Phần II: Cơ sở lý thuyết
Phần III: Phân tích thiết kế hệ thống
Phần IV: Xây dựng Website chia sẻ tài liệu.
Hiện nay đà có không ít Website triển khai hình thức thanh toán thông
qua việc phát hành thẻ nh-: ; ... và đÃ
mang lại hiệu quả rất cao.
Tôi rất mong muốn đề tài của mình sẻ đ-ợc triển khai trong th- viện
tr-ờng Đại Học Vinh. Nếu đ-ợc nh- vậy sẽ giúp các bạn sinh viên có điều
kiện thuận lợi trong việc khai thác các nguồn tài liệu của th- viện, phục vụ tốt
hơn cho công việc học tập và nghiên cứu.

Sinh viên thực hiện: Phạm Văn Sơn Lớp: 46K3-CNTT

5


Đồ án tốt nghiệp

Giáo viên h-ớng dẫn: ThS. Trần Văn Cảnh

PHầN I. TổNG QUAN Về Đề TàI

1.1 Lý do chọn đề tài
Đối với mỗi sinh viên, các tài liệu, giáo trình, luận văn, đồ án... là
những nguồn tài liệu rất bổ ích. Đặc biệt là ở n-ớc ta, khi mà tài liệu học tập
cho sinh viên còn thiếu và hệ thống thông tin th- viện ch-a đáp ứng đ-ợc nhu
cầu ngày càng cao của sinh viên. Hiện nay nhu cầu trao đổi, tìm kiếm tài liệu

của sinh viên là rất lớn, nh-ng thực tế sinh viên vẫn ch-a tìm kiếm đúng và
đầy đủ các tài liệu mình cần. Các th- viện không thể cung cấp cùng lúc nhiều
tài liệu đến tất cả các sinh viên do số l-ợng có hạn. Các đề tài, đồ án, luận văn
ch-a đ-ợc cung cấp rộng rÃi và hiện vẫn ch-a có nguồn đề thi cũ chính thức
để sinh viên có thể tham khảo.
Mặc dù hiƯn nay cã kh¸ nhiỊu c¸c Website cho phÐp ng-êi dùng chia sẻ
các tài liệu học tập, tuy nhiên vẫn ch-a có nhiều Website nào tập trung h-ớng
đến việc chia sẻ các tài liệu chuyên biệt dành cho sinh viên.
Vậy: Làm thế nào để tạo nên một môi tr-ờng chia sẻ tài liệu phong
phú, thiết thực và thực sự hiệu quả?.
1.2 Mục đích của đề tài
+ Tạo ra một môi tr-ờng học tập và chia sẻ kiến thức, tài liệu cho các
bạn sinh viên, giúp sinh viên có thể tra cứu và có đ-ợc những tài liệu họ cần
một cách nhanh chóng và dễ dàng.
+ Xây dựng một nguồn học liệu phong phú, tập trung các tr-ờng đại
học trên toàn quốc nhằm phục vụ tốt hơn cho các bạn sinh viên trong học tập
và nghiên cứu.
+ H-ớng tới xây dựng nguồn tài liệu có bản quyền. Sinh viên có thể sử
dụng thông qua hình thức nạp tiền vào tài khoản bằng thẻ Paycard.
+ Triển khai mô hình thanh toán thông qua thẻ Paycard, mô hình đà và
đang đ-ợc áp dụng trªn nhiỊu hƯ thèng lín hiƯn nay.

Sinh viªn thùc hiƯn: Phạm Văn Sơn Lớp: 46K3-CNTT

6


Đồ án tốt nghiệp

Giáo viên h-ớng dẫn: ThS. Trần Văn Cảnh


1.3 H-ớng triển khai của đề tài
Website cho phép ng-ời dùng có thể đăng ký thành viên và chia sẻ các
tài liệu của mình. Thông qua Website, ng-ời dùng có thể tìm kiếm và
Download các tài liệu cần thiết nhờ chức năng phân loại, tìm kiếm dựa vào từ
khóa, tiêu đề, nội dung... Các tài liệu Website cung cấp phân thành 2 loại:
miễn phí và có thu phí.
+ Đối với tài liệu miễn phí, ng-ời dùng chỉ cần đăng ký thành viên và
tiến hành tìm kiếm, Download các tài liệu cần thiết.
+ Đối với tài liệu dạng có thu phí ng-ời dùng phải thanh toán bằng thẻ
theo hình thức nạp tiền vào tài khoản bằng thẻ Paycard hoặc nhắn tin SMS để
tải về các tài liệu t-ơng ứng.

1.4 H-ớng phát triển của đề tài
+ Hiện tại Website chỉ mới đáp ứng đ-ợc một phần nhỏ yêu cầu của
ng-ời dùng, nguồn tµi liƯu ch-a thùc sù phong phó. Website chØ míi cho phép
ng-ời dùng thanh toán thông qua hệ thống thẻ Paycard. Sau này khi quy mô
trang Web đ-ợc mở rộng sẻ triển khai thêm hệ thống thanh toán thông qua
cổng tin nhắn SMS.
+ Nguồn tài liệu hiện tại chỉ mới giới hạn trong cộng đồng sinh viên và
trong tr-ờng đại học, ch-a thực sự xây dựng đ-ợc một nguồn tài liệu tập trung
tất cả các tr-ờng đại học trên toàn quốc. Vì vậy trong thời gian sắp tới
Website sẻ h-ớng tới xây dựng một nguồn tài liệu đa dạng và phong phú hơn
phục vụ cho cộng đồng sinh viên và mọi đối t-ợng.

Sinh viên thực hiện: Phạm Văn Sơn Líp: 46K3-CNTT

7



Đồ án tốt nghiệp

Giáo viên h-ớng dẫn: ThS. Trần Văn Cảnh

PHầN II. CƠ Sở Lý THUYếT
2.1 Sơ l-ợc về .Net Framework
2.1.1 .Net Framework là gì ?
Thông th-ờng, mỗi ngôn ngữ lập trình đều có một tập các th- viện
riêng, chẳng hạn: VC++ thì có th- viện chính là msvcrt.dll; Visual Basic thì
có msvbm60.dll... Các th- viện này chứa các hàm, thủ tục cơ bản của mỗi
ngôn ngữ. Tất cả các thứ này đều có ý nghĩa logic giống nhau nh-ng về cách
sử dụng hay cú pháp thì hầu nh- là khác nhau. Điều này khiến cho một lập
trình viên C++ không thể áp dụng những kiến thức họ biết sang VB hoặc
ng-ợc lại. Hơn nữa, việc phát triển bộ th- viện riêng cho mỗi ngôn ngữ nhvậy là quá d- thừa.
ý t-ởng của Microsoft là không xây dựng chung một tập th- viện riêng
biệt cho từng ngôn ngữ lập trình mà sẽ xây dựng một bộ th- viện dùng chung.
Tập th- viện dùng chung này hình thành nên một bộ khung (Framework) để
các lập trình viên viết ứng dụng trên bộ khung sẵn có đó.
Bộ khung này thực chất là một tập hợp các th- viện đ-ợc xây dựng sẵn,
đáp ứng mọi nhu cầu phát triển các ứng dụng Desktop, Network, Mobile,
Web...

Hình 2.1 Mô hình xây dựng phần mềm bằng ngôn ngữ truyền thống

Sinh viên thực hiện: Phạm Văn Sơn – Líp: 46K3-CNTT

8


Đồ án tốt nghiệp


Giáo viên h-ớng dẫn: ThS. Trần Văn Cảnh

2.1.2 Các thành phần và chức năng chính trong .Net Framework
+ Common Language Runtime (Trình thực thi ngôn ngữ chung): sau khi
đ-ợc ứng dụng dịch ra file .Exe (nội dung file .Exe này tuân theo một chuẩn
ngôn ngữ chung, dù là viết bằng C# hay VB.NET), tiếp theo để file .Exe trung
gian này có thể chạy đ-ợc trên máy hiện hành thì cần phải biên dịch ra mÃ
máy t-ơng ứng. Việc biên dịch và chạy đ-ợc là nhờ ch-ơng trình thực thi
ngôn ngữ chung - CLR (Common Language Runtime).
+ Base Class Library: là tập các th- viện chứa các lớp cơ bản để sử
dụng trong tất cả các ngôn ngữ .NET.
+ ADO.NET : là tập các th- viện chuyên dành cho thao t¸c víi CSDL
+ ASP.NET : c¸c th- viƯn dành cho phát triển ứng dụng Web.
+ Windows Forms : các th- viện dành cho phát triển các ứng dụng
Windows.
+ Common Language Specification : phần này có nhiệm vụ đặc tả ngôn
ngữ chung để các ch-ơng trình viết trên các ngôn ngữ lập trình khác nhau phải
tuân theo. Nói cách khác, biên dịch các ch-ơng trình viết trên các ngôn ngữ
khác nhau về một ngôn ngữ chung nhất (Common Language).

Hình 2.2 Kiến trúc của .NET Framework

Sinh viên thực hiện: Phạm Văn Sơn Lớp: 46K3-CNTT

9


Đồ án tốt nghiệp


Giáo viên h-ớng dẫn: ThS. Trần Văn Cảnh

Hình 2.3 Mô hình biên dịch và thực thi ch-ơng trình của ứng dụng .NET (1)

Hình 2.4 Mô hình biên dịch và thực thi ch-ơng trình của ứng dụng .NET (2)

Sinh viên thực hiện: Phạm Văn Sơn Lớp: 46K3-CNTT

10


Đồ án tốt nghiệp

Giáo viên h-ớng dẫn: ThS. Trần Văn Cảnh

2.1.3 Một số -u điểm chính của .Net Framework
+ Tất cả các ngôn ngữ đều thừa h-ởng một th- viện thống nhất. Khi sửa
chữa hay nâng cấp th- viện này thì chỉ phải thực hiện một lần.
+ Phong cách phát triển ứng dụng nhất quán và t-ơng tự nhau giữa các
ngôn ngữ lập trình. Có thể chuyển đổi sang ngôn ngữ lập trình .NET khác
nhau một cách dễ dàng.
+ Viết các ứng dụng Webform không khác nhiều so với ứng dơng
Winform.
+ Cung cÊp mét tËp th- viƯn truy xt CSDL thống nhất (ADO.NET)
cho mọi ngôn ngữ .NET.
+ Hỗ trợ cơ chÕ “Write One - Run Everywhere”. Mét øng dông viÕt
b»ng .NET có thể chạy trên bất cứ hệ điều hành nào mà không cần sửa lại
code, miễn là máy đó cã cµi .NET Framework.
+ Cung cÊp hƯ thèng kiĨu chung (Common Type), do vậy đảm bảo tính
thống nhất về kiểu dữ liệu giữa các ngôn ngữ lập trình.

+ Cho phép sử dụng nhiều ngôn ngữ lập trình trong một dự án
+ Kế thừa và sử dụng chéo giữa các ngôn ngữ lập trình dễ dàng nh- trên
cùng một ngôn ngữ. Các ứng dụng triển khai dễ dàng.
2.2 Tổng quan về ASP.NET
2.2.1 ASP.NET là gì ?
+ ASP.NET đ-ợc viết tắt từ Active Server Pages.NET. Nói đơn giản là
một công nghệ có tính cách mạng dùng để phát triển các ứng dụng về mạng
hiện nay cũng nh- trong t-ơng lai. ASP.NET là một ph-ơng pháp tổ chức hay
khung tổ chức để thiết lập các ứng dụng hết sức mạnh cho mạng dựa trên CLR
(Common Language Runtime) chứ không phải là ngôn ngữ lập trình. Ngôn
ngữ lập trình dùng để diễn đạt có thể là VB.NET, C#...
+ ASP.NET dùng các ngôn ngữ mới có trình biên dịch nh- C#, VB.NET
để soạn thảo các nguồn mà trong các trang Web ở Server.

Sinh viên thực hiện: Phạm Văn Sơn Lớp: 46K3-CNTT

11


Đồ án tốt nghiệp

Giáo viên h-ớng dẫn: ThS. Trần Văn Cảnh

2.2.2 Một số -u nh-ợc điểm
+ Có thể sử dụng ®Ĩ ph¸t triĨn c¸c øng dơng Web ®đ mäi kÝch cỡ, từ
ứng dụng nhỏ nhất đến ứng dụng cho toàn doanh nghiƯp.
+ øng dơng viÕt b»ng ASP.NET dƠ t-¬ng thÝch với nhiều loại trình
duyệt khác nhau. Nhà phát triển không cần quan tâm nhiều đến trình duyệt
nào đ-ợc sử dụng để duyệt Website, điều này sẽ đ-ợc Framework sinh ra mÃ
t-ơng ứng.

+ Truy xuất dữ liệu bằng công nghệ ADO.NET có sẵn của .NET
Framework
+ Tốn ít dòng lệnh hơn so với ASP/PHP... khi thực hiện cùng một công
việc. Dễ dàng bảo trì và dễ đọc hơn bởi Code và giao diện đ-ợc tách biệt. Điều
này cũng giúp cho tính chuyên biệt hóa cao hơn.
+ ASP.NET sử dụng ngôn ngữ lập trình VB.NET hoặc C# hoặc cả hai
để phát triển ứng dụng.
+ 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ình 2.5 Mô hình thực thi trang ASP.NET

Sinh viên thực hiện: Phạm Văn S¬n – Líp: 46K3-CNTT

12


Đồ án tốt nghiệp

Giáo viên h-ớng dẫn: ThS. Trần Văn Cảnh

2.3 Ngôn ngữ lập trình C#
2.3.1 Giới thiệu
+ C# mô tả một ngôn ngữ hiện đại h-ớng đối t-ợng. Nó đ-ợc thiết kế
để chú ý đến việc diễn đạt C++ theo kiểu lập trình và phát triển nhanh ứng
dụng RAD (Rapid Application Development) chẳng hạn nh- Microsoft VB,
Delphil, C++... C# đ-ợc kiến trúc bới Anders Hejlsbeg, ng-ời đà viết nên trình

biên dịch Pascal và có nhiều đóng góp cho ngôn ngữ Delphi cũng nh- Java.
Và do đó sự tiến triển của C# chịu ảnh h-ởng bởi các ngôn ngữ nh- C++, Java
và các ngôn ngữ khác.
+ Tr-ớc hết, mọi thứ trong C# đều là đối t-ợng. C# không quan tâm
đến dữ liệu toàn cục hay hàm toàn cục. Tất cả dữ liệu và ph-ơng thức thao tác
trên dữ liệu cần đ-ợc đóng gói nh- một đơn vị chức năng, các đơn vị chức
năng này là những đối t-ợng có thể đ-ợc sử dụng lại, chúng độc lập và có thể
tự hoạt động.
2.3.2 Một số đặc điểm
+ C# là ngôn ngữ khá đơn giản, với khoảng 80 từ khóa và hơn 10 kiểu
dữ liệu đ-ợc dựng sẵn. Tuy nhiên, C# có tính diễn đạt cao. C# bao gồm tất cả
những hỗ trợ cho cấu trúc, h-ớng đối t-ợng, h-ớng thành phần. 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.
+ 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 trong việc 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.

Sinh viên thực hiện: Phạm Văn S¬n – Líp: 46K3-CNTT

13


Đồ án tốt nghiệp


Giáo viên h-ớng dẫn: ThS. Trần Văn Cảnh

2.3.3 Sự kết hợp giữa ASP.NET và ngôn ngữ C#
ASP.NET là một bộ khung làm việc hay một môi tr-ờng làm việc nền
tảng cho công việc lập trình, nó đ-ợc xây dựng dựa vào bộ vận hành ngôn ngữ
chung CLR (Common Language Runtime). ASP.NET có thể đ-ợc sử dụng
trên máy Server để xây dựng các trình ứng dụng Web với nhiều khả năng hỗ
trợ mạnh mẽ. Lý do nó trở nên mạnh mẽ so với tiền nhiệm của nó bởi nó tận
dụng đ-ợc khả năng hỗ trợ mạnh mẽ của .NET Framework. Chẳng những nó
hỗ trợ C#, mà còn hỗ trợ hơn 40 ngôn ngữ. Trong đồ án này tôi sử dụng ngôn
ngữ C# để lập trình, vì nó có nhiều -u điểm:
+ Là ngôn ngữ dễ học, dễ hiểu và dễ thao tác
+ Mọi thứ trong C# đều h-ớng đối t-ợng
+ Tất cả dữ liệu và ph-ơng thức trong C# đ-ợc chứa trong khai báo: cấu
trúc (Struct) hoặc lớp (Class).
+ Ngôn ngữ C# đơn giản, khoảng 80 từ khóa và một số kiểu dữ liệu
đ-ợc dựng sẵn.
+ Dựa trên nền tảng của C, C++ và Java.
+ Có những đặc tính: thu gom bộ nhớ tự động, nh-ng kiểu dữ liệu mở
rộng, bảo mật mà nguồn... Và cũng là ngôn ngữ đang đ-ợc sử dụng rộng rÃi
trong ứng dụng tin häc hiƯn nay.
2.4 Microsoft SQL Server 2005
2.4.1 Giíi thiƯu vỊ SQL Server 2005
SQL Server 2005 là một hệ thống quản lý cơ sở dữ liệu (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 Database, Database Engine và các ứng dụng
để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS.
2.4.2 Lý do chän CSDL Microsoft SQL Server 2005
+ Microsoft SQL Server 2005 là hệ quản trị cơ sở dữ liệu hỗ trợ tốt với

l-ợng dữ liệu lớn, cho phép ng-ời sử dụng theo mô hình Client/Server.

Sinh viên thực hiện: Phạm Văn Sơn Lớp: 46K3-CNTT

14


Đồ án tốt nghiệp

Giáo viên h-ớng dẫn: ThS. Trần Văn Cảnh

+ Microsoft SQL Server 2005 đ-ợc tối -u để có thể chạy trên môi
tr-ờng cơ sở dữ liệu rất lớn, lên đến Tera-Byte và có thể phục vụ cùng lúc cho
hµng ngµn User.
+ Microsoft SQL Server 2005 cã thĨ kÕt hợp ăn ý với các Server khác
nh- IIS, E-commerce Server, Proxy Server...
+ Microsoft SQL Server 2005 là công cụ thiết kế và xây dựng cơ sở dữ
liệu có tính thực thi cao, đ-ợc trải nghiệm qua nhiều phiên bản nhằm đem lại
sự tối -u. Những ng-ời phát triển ứng dụng, những nhà phân tích và thiết kế
hệ thống và tất cả những ai quan tâm đến việc thiết kế, phát triển, bảo l-u và
quản lý các trình ứng dụng đều có thể sử dụng công cụ này.
Các phiên bản của SQL Server 2005
+ Enterprise: chứa đầy đủ các đặc tr-ng của SQL Server và có thể chạy
tốt trên hệ thống lên đến 32 CPUs và 64 GB Ram. Thêm vào đó nó có các dịch
vụ giúp cho việc phân tích dữ liệu rất hiệu quả (Analysis Services).
+ Standard: rất thích hợp cho các công ty vừa và nhỏ vì giá thành rẻ
hơn nhiều so với Enterprise Editor, nh-ng lại bị giới hạn một số chức năng cao
cấp khác, Editor có thể chạy tốt trên hệ thống lên đến 4 CPU và 2 GB Ram.
+ Personal: đ-ợc tối -u hóa để chạy trên PC nên có thể cài đặt trên hầu
hết các phiên bản Windows kể cả Windows 98.

+ Developer: có đầy đủ các tính năng của Enterprise Editor nh-ng đ-ợc
chế tạo đặc biệt nh- giới hạn số l-ợng ng-ời kết nèi vµo Server cïng mét lóc.
Editor nµy cã thĨ cµi trªn windows 2000 Professional hay Win NT
Workstartion.
+ Desktop Engine (MSDE): đây chỉ là một Engine chạy trên Desktop
và không có User Interface. ThÝch hỵp cho viƯc triĨn khai øng dơng ở máy
Client. Kích th-ớc Database bị giới hạn khoảng 2GB.
+ Trial: có các tính năng của Enterprise Edition, Download Free nh-ng
giới hạn thời gian sử dụng.

Sinh viên thực hiện: Phạm Văn Sơn Lớp: 46K3-CNTT

15


Đồ án tốt nghiệp

Giáo viên h-ớng dẫn: ThS. Trần Văn Cảnh

2.4.3 Stored Procedure
1. Khái niệm
+ Stored Procedure là tập các câu lệnh đà đ-ợc biên dịch sẵn và dùng để
thao tác với cơ sở dữ liệu, bao gồm nhiều câu lệnh T-SQL đ-ợc tập hợp lại với
nhau thành một nhóm, và tất cả các lệnh này sẽ đ-ợc thực thi khi thủ tục l-u
trữ đ-ợc thi hành.
+ Bên trong thủ tục l-u trữ có thể sử dụng các biến nh- trong ngôn ngữ
lập trình nhằm l-u giữ các giá trị tính toán đ-ợc, các giá trị đ-ợc truy xuất
đ-ợc từ cơ sở dữ liệu.
+ Một tập các câu lệnh SQL đ-ợc kết hợp lại với nhau thành một khối
lệnh bên trong mét thđ tơc. Mét thđ tơc cã thĨ nhËn các tham số truyền vào

cũng nh- có thể trả về các giá trị thông qua các tham số. Khi một thủ tục l-u
trữ đà đ-ợc định nghĩa, nó có thể đ-ợc gọi thông qua tên thủ tục, nhận các
tham số truyền vào, thực thi các câu lệnh SQL bên trong thủ tục và có thể trả
về các giá trị sau khi thực hiện xong.
2. Các loại Stored Procedure:
+ System Stored Procedure: là những Stored Procedure chứa trong
Master Database và th-ờng bắt đầu bằng tiếp đầu ngữ sp_
+ Local Stored Procedure: đây là loại th-ờng dùng nhất. Chúng đ-ợc
chứa trong User Database và th-ờng đ-ợc viết để thực hiện một công việc nào
đó.
+ Temporary Stored Procedure: là nh-ng loại Stored Procedure t-ơng
tự nh- Local Stored Procedure nh-ng chỉ tồn tại cho đến khi Connection đÃ
tạo ra chúng bị đóng lại hoặc SQL Server Shutdown.
+ Extended Stored Procedure: đây là loại Stored Procedure sử dụng
một ch-ơng trình ngoại vi vốn đ-ợc biên dịch thành một DLL để mở rộng
chức năng hoạt động của SQL Server. Loại này th-ờng bắt đầu bằng tiếp đầu
ngữ xp_
+ Remote Stored Procedure: những Stored Procedure gọi Stored
Procedure ở Server khác.

Sinh viên thực hiện: Phạm Văn Sơn Líp: 46K3-CNTT

16


Đồ án tốt nghiệp

Giáo viên h-ớng dẫn: ThS. Trần Văn Cảnh

3. Lợi ích của việc sử dụng Stored Procedure

+ SQL Server chỉ biên dịch các thủ tục l-u trữ một lần và sử dụng lại
kết quả biên dịch này trong các lần tiếp theo trừ khi ng-ời dùng có những thiết
lập khác. Việc sử dụng lại kết quả biên dịch không làm ảnh h-ởng đến hiệu
suất hệ thống khi thủ tục l-u trữ đ-ợc gọi liên tục nhiều lần.
+ Stored Procedure đ-ợc phân tích, tối -u khi tạo ra nên viƯc thùc thi
chóng nhanh h¬n nhiỊu so víi thùc hiƯn một tập rời rạc các câu lệnh SQL
t-ơng đ-ơng theo cách thông th-ờng.
+ Stored Procedure cho phép chúng ta thực hiện cùng một yêu cầu bằng
một câu lệnh đơn giản thay vì sử dụng nhiều dòng lệnh SQL. Điều này sẽ làm
giảm thiểu sự l-u thông trên mạng
+ Thay vì cấp phát quyền trực tiếp cho ng-ời sử dụng trên các câu lệnh
SQL và trên các đối t-ợng cơ sở dữ liệu, ta có thể cấp phát quyền cho ng-ời sử
dụng thông qua các Stored Procedure, nhờ đó tăng khả năng bảo mật của hệ
thống.
Các Stored Procedure trả về kết quả theo 4 cách:
+ Sử dụng các tham số Output
+ Sử dụng các lệnh trả về giá trị
+ Tập các giá trị trả về của câu lệnh SELECT
+ Một biến con trỏ toàn cục có thể tham chiếu từ bên ngoài

Sinh viên thực hiện: Phạm Văn Sơn Lớp: 46K3-CNTT

17


Đồ án tốt nghiệp

Giáo viên h-ớng dẫn: ThS. Trần Văn Cảnh

2.5 Mô hình ba lớp (3-Tier) và công nghệ AJAX

2.5.1 Mô hình ba lớp
Trong phát triển ứng dụng, để dễ dàng quản lý các thành phần hệ thống
cũng nh- không bị ảnh h-ởng bởi các thay đổi, ng-ời ta hay nhóm các thành
phần có cùng chức năng lại với nhau và phân chia trách nhiệm cho từng nhóm
để công việc không bị chồng chéo và ảnh h-ởng lẫn nhau. Trong phát triển
Web, ng-ời ta cũng áp dụng cách phân chia chức năng này. Trong kiến trúc đa
tầng (nhiều lớp), mỗi lớp sẽ thực hiện một chức năng nào đó, trong đó mô
hình 3 lớp là phổ biến nhất.
Mô hình 3 líp bao gåm:
+ Presentation (líp giao diƯn)
+ Business Logic (líp chứa các hàm)
+ Data Access (lớp truy xuất đến cơ sở dữ liệu)
Mô hình 3 lớp mà Microsoft phát triển dùng cho các hệ thống dựa trên
nền .NET nh- sau:

Hình 2.6 Mô hình 3 lớp

Sinh viên thực hiện: Phạm Văn S¬n – Líp: 46K3-CNTT

18


Đồ án tốt nghiệp

Giáo viên h-ớng dẫn: ThS. Trần Văn Cảnh

1. Layer Presentation (lớp giao diện)
Lớp này làm nhiệm vụ giao tiếp với ng-ời dùng để thu thập dữ liệu và
hiển thị kết quả dữ liệu thông qua các thành phần trong giao diện ng-ời sử
dụng. Lớp này sẽ sử dụng các dịch vụ do lớp Business logic cung cấp. Trong

lớp này có 2 thành phần chính là User Interface Component và User
Interface Proccess Components.
+ UI Components: là những phần tử chịu trách nhiệm thu thập và hiển
thị thông tin cho ng-ời dùng. Trong ASP.NET thì những thành phần này có
thể là các Textbox, Button, Repeater...
+ UI Process Components: là thành phần chịu trách nhiệm quản lý các
quy trình chuyển đổi giữa các UI Component.
Lớp này không nên sử dụng trực tiếp các dịch vụ của lớp Data Access
mà nên sử dụng thông qua các dịch vụ của lớp Business Logic v× khi sư dơng
trùc tiÕp nh- vËy cã thĨ bỏ qua các ràng buộc, các logic nghiệp vụ mà ứng
dụng cần phải có.
2. Layer Business Logic (lớp chứa các hàm)
Lớp này thực hiện các nghiệp vụ chính của hệ thống, sử dụng các dịch
vụ do lớp Data Access cung cấp, và cung cấp các dịch vụ cho lớp Presentation.
Trong lớp này có các thành phần chính là Business Component, Business
Entities, Business Workflow vµ Services Interface.
+ Services Interface lµ giao diện lập trình mà lớp này cung cấp cho lớp
Presentation sử dụng. Lớp Presentation chỉ cần biết các dịch vụ thông qua giao
diện này mà không cần phải quan tâm đến bên trong lớp này đ-ợc thực hiện
nh- thế nào.
+ Business Entities là những thực thể mô tả những đối t-ợng thông tin
mà hệ thống xử lý.
+ Business Components là những thành phần chính thực hiện các dịch
vụ mà Services Interface cung cấp.

Sinh viên thực hiện: Phạm Văn Sơn Líp: 46K3-CNTT

19



Đồ án tốt nghiệp

Giáo viên h-ớng dẫn: ThS. Trần Văn Cảnh

3. Layer Data Access (lớp truy xuất dữ liệu)
Lớp này thực hiện các nghiệp vụ liên quan đến l-u trữ và truy xuất dữ
liệu của ứng dụng. Th-ờng lớp này sẻ sử dụng các dịch vụ của các hệ quản trị
cơ sở dữ liệu nh- SQL Server, Oracle... để thực hiện nhiệm vụ của mình.
Trong lớp này có các thành phần chính là Data Access Logic, Data Source và
Services Agents.
Data Access Logic Component (DALC) là thành phần chịu trách
nhiệm l-u trữ vào và truy xuất dữ liệu từ các nguồn dữ liệu. Trong .NET các
DALC th-ờng đ-ợc hiện thực bằng cách sử dụng th- viện ADO.NET để giao
tiếp với các cơ sở dữ liệu.
Services Agents là những thành phần trợ giúp việc truy xuất các dịch vụ
bên ngoài một cách dễ dàng và đơn giản nh- truy xuất các dịch vụ nội tại.
ứng dụng mô hình 3 lớp trong xây dựng Website chia sẻ tài liệu
+ Lớp giao diện: sử dụng các hàm, Class do lớp Business cung cấp

Hình 2.7 Lớp giao diện ng-ời dùng

Sinh viên thực hiện: Phạm Văn S¬n – Líp: 46K3-CNTT

20


Đồ án tốt nghiệp

Giáo viên h-ớng dẫn: ThS. Trần Văn Cảnh


+ Lớp Business Logic: Lớp chứa các hàm xử lý chính của Website. Lớp
này sử dụng các hàm, Class do lớp DataObject cung cấp

Hình 2.8 Lớp chứa các hàm xử lý
+ Lớp DataContext, DataObject: Là lớp giao tiếp với cơ sở dữ liệu,
cung cấp các chức năng xử lý cho lớp Business Logic.

Sinh viên thực hiện: Phạm Văn Sơn Líp: 46K3-CNTT

21


Đồ án tốt nghiệp

Giáo viên h-ớng dẫn: ThS. Trần Văn Cảnh

2.5.2 Công nghệ AJAX
1. Giới thiệu về AJAX
Ajax là viết tắt của Asynchronous Javascript and XML, là bộ công cụ
cho phép tăng tốc độ ứng dụng web bằng cách cắt nhỏ dữ liệu và hiển thị
những gì cần thiết thay vì tải đi tải lại toàn bộ trang Web.
2. So sánh ứng dụng Web truyền thống và Web có sử dơng AJAX
+ ë c¸c øng dơng Web trun thèng, Client sẽ gửi các HTTP Request
đến Web Services và Web Services sẽ gửi trả Response chứa các thông tin
d-ới dạng HTML và CSS. Ajax cho phép tạo ra một Ajax Engine nằm giữa
giao tiếp này. Khi đó, các yêu cầu gửi Request và nhận Response do Ajax
Engine thực hiện. Thay vì trả dữ liệu d-ới dạng HTML và CSS trực tiếp cho
trình duyệt Web Server có thể gửi trả dữ liệu dạng XML và Ajax Engine sẻ
tiếp nhận, phân tách và chuyển hóa thành XHTML + CSS cho trình duyệt hiển
thị. Việc này đ-ợc thực hiện trên Client nên giảm tải rất nhiều cho Server,

đồng thời ng-ời sử dụng cảm thấy kết quả xử lý đ-ợc hiển thị tức thì mà
không cần phải nạp lại trang.
+ Mặt khác, sự kết hợp công nghệ web nh- CSS và XHTML làm cho
việc trình bày giao diện trang web tốt hơn nhiều và giảm đáng kể dung l-ợng
trang phải nạp. Đây là lợi ích hết sức thiết thực mà Ajax đem lại.
3. Một số ứng dụng của AJAX
Phần lớn các ứng dụng trên Web đều đòi hỏi phải có một trang Web
mới gửi tới cho ng-ời sử dụng để hoàn thành từng b-ớc đề ra trong nhiệm vụ.
Đây chính là nguyên nhân khiến cho chúng hoạt động rất chậm chạp. Nh-ng
Ajax cho phép dữ liệu mới biết cách truy cập vào để cập nhật néi dung cđa
trang Web ®ã víi tèc ®é hÕt søc nhanh. Radcontrol Ajax là một bộ công cụ
mới, đ-ợc phát triển từ nhiều công nghệ mà nền tảng cơ bản là công nghệ
Ajax, cho nên cơ chế hoạt động giống với Ajax. Bộ công cụ này gồm rất nhiều
công cụ khác nhau, có giao diện đẹp, nhiều chức năng, tạo thuận lợi cho lập
trình viên phát triển ứng dụng của mình.

Sinh viên thực hiện: Phạm Văn Sơn Lớp: 46K3-CNTT

22


Đồ án tốt nghiệp

Giáo viên h-ớng dẫn: ThS. Trần Văn Cảnh

PHầN III. PHÂN TíCH THIếT Kế Hệ THốNG
3.1. Phân tích hệ thống về mặt chức năng
3.1.1. Biểu đồ phân cấp chức năng
WEBSITE


Ng-ời dùng

Quản trị

Truy cập, tìm kiếm

Cập nhật tài liệu

Đăng ký tài khoản

Quản lý ng-ời dùng

Quản lý tài khoản

Quản lý tin tức

Nạp tài khoản

Quản lý Paycard

Download tài liệu

Phản hồi thông tin

Bình luận, góp ý

Hình 3.1 Biểu đồ phân cấp chức năng
3.1.2. Biểu đồ luồng dữ liệu
1. Biểu đồ luồng dữ liệu mức khung cảnh
Thông tin yêu cầu


Thông tin tài liệu, ng-ời dùng, Paycard

Đáp ứng yêu cầu
Liên hệ

Phản hồi
Website

Ng-ời dùng

Quản trị

Góp ý
Tìm kiếm tài liệu

Thông tin yêu cầu

Kết quả tìm kiếm

Đáp ứng yêu cầu

Hình 3.2 Biểu đồ luồng dữ liệu mức khung cảnh

Sinh viên thực hiện: Phạm Văn Sơn Lớp: 46K3-CNTT

23


Đồ án tốt nghiệp


Giáo viên h-ớng dẫn: ThS. Trần Văn Cảnh

2. Biểu đồ luồng dữ liệu mức đỉnh
Ng-ời dùng
3

4

5

1

2

Quản trị
6

Cập nhật

7

thông tin

Tìm kiếm

Quản lý tài liệu

Quản lý


tin tức, User

Paycard

Nạp tài khoản

Kho dữ liệu

Hình 3.3 Biểu đồ luồng dữ liệu mức đỉnh
Chú thích:
1. Thông tin của ng-ời dùng (đăng ký...)
2. Thông tin ng-ời quản trị
3. Thông tin tìm kiếm
4. Kết quả tìm kiếm
5. Nạp tài khoản
6. Thông tin tài liệu, tin tức, ng-ời dùng
7. Thông tin thẻ Paycard.

Sinh viên thực hiện: Phạm Văn Sơn Lớp: 46K3-CNTT

24


Đồ án tốt nghiệp

Giáo viên h-ớng dẫn: ThS. Trần Văn Cảnh

3. Biểu đồ luồng dữ liệu mức d-ới đỉnh
+ Chức năng cập nhật thông tin
Quản trị


6

1

Ng-ời dùng

2

3

4

5

Cập nhật

Cập nhật

tài liệu

tin tức
Cập nhật
ng-ời dùng
Cập nhật
tài khoản

Kho dữ liệu

Hình 3.4 Chức năng cËp nhËt th«ng tin


Chó thÝch:
1. Th«ng tin cËp nhËt tin tức
2. Thông tin ng-ời dùng
3. Thông tin tài liệu ng-ời quản trị cập nhật
4. Thông tin quản trị
5. Thông tin tài liệu ng-ời dùng cập nhật

Sinh viên thực hiện: Phạm Văn Sơn Lớp: 46K3-CNTT

25


×