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

Xây dựng diễn đàn trên mạng.doc

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 (352.04 KB, 25 trang )

BÁO CÁO TỐT NGHIỆP
- Thưa các thầy cô giáo trong hội đồng bảo vệ
- Thưa các thầy cô, và các bạn
Hôm nay em xin được trình bày tới hội đồng bảo vệ đồ án của em trong đợt thực
tập tốt nghiệp này đó là đồ án “ Xây dựng diễn đàn trên mạng”.
Sau thời gian thực tập thì đồ án của em cũng được hoàn thành, đầu tiên em xin
được cảm ơn tất cả các thầy cô giáo đã dạy em trong suốt quá trình học tập của em
trong trường đại học, tất cả các bạn và đặc biêït là thầy Đỗ Như An đã hướng dẫn em
trong quá trình thực tập.
Bây giờ em xin đi vào vấn đề, báo cáo của em hôm nay bao gồm 6 phần:
- Đặt vấn đề
- Các công cụ trợ giúp
- Phân tích chương trình
- Phân tích thiết kế hệ thống
- Xây dựng chương trình
- Kết luận và đánh giá kết quả
Đầu tiên em muốn giới thiệu tổng quan về chương trình của em. Như tất cả
chúng ta đều biết, nếu ai đã từng sử dụng Internet chắc sẽ không ít lần nghe hoặc sử
dụng dòch vụ nhóm thảo luận trên Internet (NewsGroup), đây là dòch vụ khá phổ biến
hiện nay. Khi ta gặp một vấn đề thắc mắc, hoặc đang tìm kiếm một thông tin gì đó,
thì NewsGroup sẽ là người trợ giúp đắc lực cho chúng ta. Dòch vụ này cho phép người
dùng gửi lên mạng Internet những câu hỏi hoặc những thắc mắc của mình, sau đó
nếu một người nào đó, ở đâu đó trên thế giới cũng tham gia vào nhóm thảo luận đó
nếu họ đọc được được mẩu tin của chúng ta và biết về thông tin về vấn đề đó họ sẽ
trả lời cho ta và ngược lại ta cũng có thể trở thành một người trả lời.
Tác dụng lớn nhất của Diễn đàn trên web là mọi người khi tham gia vào mạng
có thể đặt ra một vấn đề gì đó theo một chủ đề nhất đònh để có thể nhận được câu trả
lời của nhiều người trên toàn thế giới.
Và hướng xây dựng chương trình của em là: Khi nói đến diễn đàn mọi người
liên tưởng đến ngay đến các cuộc bàn luận, phân tích về một vấn đề gì đó của một
nhóm người nào đó. Trong diễn đàn mọi người đưa ra ý kiến của mình, các câu hỏi


của mình để mọi người tham gia phân tích tìm câu trả lời, đó là diễn đàn trong cuộc
sống hằng ngày chỉ diễn ra trong nội bộ một nhóm người.
Ngày nay, với sự phát triển của mạng Internet ý tưởng đưa các cuộc nói chuyện,
bàn luận xung quanh một vấn đề gì đó cũng được đưa lên mạng. Như vậy, khi tham
gia diễn đàn trên mạng các thành viên không cần phải tập trung tại một đòa điểm nào
đó mà chỉ cần ngồi tại nhà cùng với chiếc máy tính và tham gia vào mạng là có thể
tham gia được diễn đàn. ưu điểm của phương pháp này là ở chổ sẽ có nhiều người và
rất nhiều nơi trên thế giới tham gia vào diễn đàn và vấn đề đặt ra trên diễn đàn chắc
chắn sẽ mau chóng được giải thích.
Diễn đàn trên web là một chương trình ứng dụng được xây dựng dưới dạng các
trang web. Với web, mọi người sử dụng có thể truy xuất đến các trang ứng dụng này
để trao đổi thông tin với người khác.
Do chương trình xây dựng trên web có trao đổi thông tin giữa các người sử dụng
với nhau nên các trang web của ứng dụng nhất thiết phải là các trang web có nội
dung động. Trong những năm gần đây để xây dựng các trang web động người ta
thường hay sử dụng các ngôn ngữ như: VBScript, Jscript, ASP. Ngoài ra các trang
web cho phép người sử dụng trao đổi thông tin với nhau nên phải có một cơ sở dữ
liệu để lưu trữ các thông tin mà người sử dụng trao đổi với nhau.
Và đây là một số công cụ trợ giúp
1. Môi trường làm việc của ứng dụng:
- PWS (Personal Web Server)
- Cơ sở dữ liệu: Microsoft Access 98
- Chuẩn kết nối: ODBC
Web Server là một chương trình ứng dụng. Trên web server chứa những site mà
các máy con có thể truy xuất đến các site này. Thông thường trên máy có hệ điều
hành Windows 98 thì web server là Personal Web Server, trên máy WindowsNT
Server thì dùng phần mềm IIS 4.0.
Về cơ sở dữ liệu, các ứng dụng thực tế hiện nay người ta thường hay sử dụng
SQL Server. Nhưng trong chương trình ta chỉ dùng cơ sở dữ liệu để lưu trữ thông tin
vào các bảng nên việc chọn SQL Server hay MS Access là không quan trọng.

Về chuẩn ODBC, ODBC là viết tắt của Open Database Connectivity (hệ thống
kết nối CSDL mở). ODBC được coi như là một giao thức chuẩn để giao tiếp giữa
chương trình ứng dụng với hệ thống các bảng của cơ sở dữ liệu.
Các công cụ lập trình
- Jscript: Jscript được phát triển bởi Microsoft nhằn làm tăng tính năng cho trình
duyệt Internet Explorer.
- Vbscript: Vbscript cũng do Microsoft phát triển. Cũng như Jscript, Vbscript
được chèn vào trang web để làm tăng thêm tính năng tương tác cho trang web.
- ASP: Microsoft Active Server Page (ASP) là một môi trường kòch bản trên
máy chủ dùng để tạo ra những ứng dụng Web động và có tương tác. ASP có một tập
Thêm User
Quá trình tìm kiếm
bµi
Hoạt động của User đăng ký
Các chức năng của người quản lý
các đối tượng có sẵn với nhiều tính năng phong phú, khả năng hỗ trợ VBScript và
JScript cùng với một số thành phần ActiveX khác kèm theo.
- Visual Inter Dev: Visual InterDev là một phần mềm được phát triển bởi
Microsoft. Đây là một phần mềm có hỗ trợ cho lập trình thiết kế web đặc biệt phần
mềm có cho phép người lập trình có thể nhìn thấy trực tiếp trang web của mình đang
thiết kế. Visual InterDev hỗ trợ rất mạnh cho việc lập trình các trang web có tương
tác.
- DHTML: Là sự kết hợp giữa các thuộc tính của HTML, JavaScript và
Vbscript.
Sau khi đã trình bày những khái niệm cơ bản cũng như những công cụ trợ giúp
để xây dựng đề án này thì bây giờ em xin được phân tích chương trình:
Phân tích chương trình bao gồm :
Đầu tiên là tổng quát về chức năng: Bao gồm
- Gửi bài lên diễn đàn.
- Xem bài đã được gửi theo các chủ đề khác nhau

- Trả lời bài đã được gửi
- Tìm kiếm một bài
- Đăng ký trở thành thành viên của diễn đàn
- Đánh dấu bài ưa thích
- Xoá các bài đã có trên diễn đàn
- Thêm người sử dụng
- Xoá người sử dụng
- Thêm chủ đề cho diễn đàn
- Xoá chủ đề.
Các vấn đề khi quyết các chức năng này là:
Thiết kế tổng quát ứng dụng: nhằm giúp người lập trình dễ phát triển ứng dụng
một cách có tổ chức, đúng hướng, đúng yêu cầu đã đề ra.
Thiết kế cơ sở dữ liệu: đây là phần quan trọng, có liên quan đến tính tối ưu của
hệ thống.
Xây dựng giao diện: tạo điều kiện thuận lợi cho người sử dụng khi gửi các yêu
cầu của mình đến web server.
Viết các trang web để thực hiện các chức năng của chương trình: dựa vào ASP
và các ngôn ngữ script để tạo ra những modul cho chương trình.
Kiểm tra, sửa lỗi chương trình
Thêm User
Quá trình tìm kiếm
bµi
Hoạt động của User đăng ký
Các chức năng của người quản lý
SƠ ĐỒ QUI TRÌNH HOẠT ĐỘNG CỦA CÁC TRANG TRONG ỨNG DỤNG WEB
FORUM
Xem nội dung 1 bài
Gửi bài mới
Về trang hiển thò
Quay về trang

hiển thò
Trang Login
Trang đăng

Thành công
Thất bại
Danh sách
bài ghi nhớ
Ghi nhớ bài
Xem
nội
dung
1 bài
Xem, gửi bài
Tìm kiếm
Đăng ký
Login
Danh sách
bài
Thêm chủ
đề
Xoá chủ đề
Danh sách
chủ đề
Xoá
bài
Danh sách
User
Xoá User
Thêm User







U
s
e
r
A
d
m
i
n
Hiển thò các
bài
Nội dung bài
Soạn và gửi
bài
Trang nhập ND cần
tìm kiếm
Hiển thò kết
quả tìm kiếm
là danh sách
các bài gửi


Quá trình tìm kiếm
bµi


Hoạt động của User đăng ký

Các chức năng của người quản lý
Quá trình xem, gửi và trả lời
bài
Hình 11: Qui trình hoạt động của các trang web
Cụ thể qui trình hoạt động như sau:
- Qui trình gửi và xem bài: Trang đầu tiên sẽ là trang hiển thò danh sách các
bài được gửi dưới dạng các siêu liên kết. Người sử dụng muốn xem nội dung của một
bài nào đó thì kích vào tiêu đề của bài. ở trang xem nội dung người sử dụng có thể
trả lời cho bài có nội dung vừa đọc. Ngoài ra người sử dụng có thể gửi một bài mới.
- Qui trình tìm kiếm bài: Khi người sử dụng muốn tìm kiếm một bài nào đó, sẽ
có một trang tìm kiếm và ở trang tìm kiếm
+ Tìm kiếm theo chủ đề của bài gửi
+ Tìm kiếm theo nội dung của bài gửi
+ Tìm kiếm những bài trong một khoảng thời gian giới hạn nào đó
- Qui trình đăng ký và login của người sử dụng, ghi nhớ bài: Để trở thành một
thành viên của diễn đàn, người sử dụng phải đăng ký một account và sẽ được hệ
thống cấp một tên truy nhập và mật khẩu riêng cho người đó.
Khi yêu cầu được đăng ký, một trang đăng ký bao gồm các ô để nhập thông tin
được hiện ra, người sử dụng sẽ nhập các thông tin vào các ô này và gửi đi, nếu được
hệ thống chấp nhận thì người đăng ký sẽ nhận được một thông báo chúc mừng thành
công, nếu không thành công hệ thống sẽ thông báo lỗi và hiện ra lại trang đăng ký
cho người sử dụng sửa lại các thông tin đăng ký cho phù hợp.
Khi đã trở thành một thành viên của diễn đàn người sử dụng ngoài việc có thể
sử dụng các trang giống như một người sử dụng bình thường còn có thể đánh dấu
những bài mà mình ưa thích.
- Qui trình hoạt động của người quản lý:
Để forum hoạt động tốt cần phải có một người quản lý, chức năng của người quản lý

bao gồm:
+ Xoá bài
+ Thêm người sử dụng, xóa người sử dụng
+ Thêm chủ đề, xóa chủ đề
Và em xin tiếp tục được trình bày phần phân tích thiết kế hệ thống của chương
trình
Như đã nói trong phần giới thiệu tổng quan về hoạt động của diễn đàn, người
sử dụng khi gửi một bài lên diễn đàn thì các thành phần của một bài gửi: thông tin về
người gửi, tiêu đề bài gửi, nội dung... đều phải được lưu trữ trong cơ sở dữ liệu trên
máy chủ.
Thông thường người ta thường dùng các mô hình cơ sở dữ liệu quan hệ để chứa
các thông tin về bài gửi như SQL Server hay MS Access.
Trong đồ án này em chọn cơ sở dữ liệu là Access để lưu các thông tin về bài
gửi. Do có liên quan nhiều đến cơ sở dữ liệu, đồng thời các thông tin của bài gửi đòi
U
s
e
r
C
h
ư
a

đ
a
ê
n
g

k

y
ù
U
s
e
r
C
h
ư
a

đ
a
ê
n
g

k
y
ù
Admin
gởi yêu cầu
Yêu cầu xem các bài
trên diễn đàn
U
s
e
r
đ
a

õ

đ
a
ê
n
g

k
y
ù
U
s
e
r
đ
a
õ

đ
a
ê
n
g

k
y
ù
hỏi phải được tổ chức một cách hợp lý và chặt chẽ nên trong phần này chủ yếu trình
bày về phần phân tích và thiết kế hệ thống.

Những thông tin cần quản lý trên cơ sở dữ liệu
Thông tin các bài mà người sử dụng gửi lên diễn đàn, mỗi bài phải có mã riêng,
cấp của bài đó, nội dung của bài là gì.
Thông tin về người dùng, khi người sử dụng đăng ký thì các thông tin về người
sử dụng như: tên truy nhập, mật khẩu, cấp của người sử dụng (cấp Admin và cấp
User) phải được lưu trữ trên cơ sở dữ liệu.
Nội dung của bài sau khi gửi sẽ được tách ra thành các từ khoá, các từ khoá này
sẽ tạo nên các bảng chỉ mục dùng cho mục đích tìm kiếm thông tin về các bài gửi đã
gửi lên diễn đàn. Do vậy các từ khoá, các chỉ mục cũng phải được lưu giữ.
Quản lý các chủ đề của bài gửi, các chủ đề này do người quản lý diễn đàn qui
đònh và có thể thêm bớt.
Quản lý các thông tin ghi nhớ bài của tất cả các thông tin về người sử dụng: họ
tên, e-mail...
Và đây là mô hình Sơ đồ dòng dữ liệu


U
s
e
r
C
h
ư
a

đ
a
ê
n
g


k
y
ù
U
s
e
r
C
h
ư
a

đ
a
ê
n
g

k
y
ù
Admin
gởi yêu cầu
Yêu cầu xem các bài
trên diễn đàn
U
s
e
r

đ
a
õ

đ
a
ê
n
g

k
y
ù
U
s
e
r
đ
a
õ

đ
a
ê
n
g

k
y
ù

SƠ ĐỒ DÒNG DỮ LIỆU DFD
Qua sơ đồ dòng dữ liệu ta thu thập được :
a. Dữ liệu về bài gửi
Mỗi bài gửi bao gồm các thuộc tính như sau:
- Mã bài gửi
- Cấp của bài gửi
- Mã bài cha (nếu là bài mới trường này có giá trò là 0, bài trả lời trường này
chứa mã bài của bài được nó trả lời)
- Thứ tự
- Thuộc chủ đề nào
- Tiêu đề của bài viết
U
s
e
r
C
h
ư
a

đ
a
ê
n
g

k
y
ù
U

s
e
r
C
h
ư
a

đ
a
ê
n
g

k
y
ù
Gởi bài lên diễn
đàn
Admin
gởi yêu cầu
Yêu cầu tìm kiếm các
thông tin trên diễn đàn
Yêu cầu xem các bài
trên diễn đàn
Các bài viết trên diễn đàn
Kết quả tìm kiếm
Các trang Web
Admin Login
Xem các bài

đã được gởi
1
Phân tích bài
được gởi
3
Tìm kiếm
4
Xử lý yêu
cầu của Admin
7
Login
5
A
d
m
i
n
A
d
m
i
n
U
s
e
r
đ
a
õ


đ
a
ê
n
g

k
y
ù
U
s
e
r
đ
a
õ

đ
a
ê
n
g

k
y
ù
Xử lý yêu
cầu của User
đã đăng ký
6

User Login
User gởi yêu cầu
Đăng ký
2
Đăng ký
Bảng chỉ mục, bảng từ khoá
Dữ liệu các bài gởi
Danh sách User
Các chủ đề của forum
User
chưa
đăng ký
User đã
đăng ký
Admin
- Họ tên người gửi
- Đòa chỉ mail của người gửi
- Ngày giờ gửi
- Nội dung của bài gửi.
b. Dữ liệu về người sử dụng
Mỗi người sử dụng khi đăng ký sẽ có những thuộc tính sau:
- Mã người sử dụng
- Tên truy nhập
- Mật khẩu
- Quyền truy cập (Admin hay User)
- Đòa chỉ Email
c. Dữ liệu về chủ đề của các bài gửi
Các chủ đề của các bài trên web forum có các thuộc tính sau:
- Mã chủ đề
- Tên chủ đề

Từ đó ta xây dựng Mô Hình Quan Niệm Dữ Liệu:
ChủĐề
Ghinhớbài
BàiGửi
MãChủĐề
TênChủĐề

Mãbài
MãNgườiSD
MãNgườiSD
TênTruyNhập
MậtKhẩu
QuyềnTruyCập
NgườiSD
MãTừKhoá
TừKhoá
TừKhoá
MãChỉMục
MãBàiGửi
MãTừKhoá
ChỉMục
MãBàiGửi
Cấp
MãBàiTrước
ThứTự
MãChủĐề
Tiêu Đề
NgườiGửi
Email
NgàyGiờGửi

NộiDung
1-1
0-n
1-1
0-n
1-1
0-n
1-n
1-1
1-1
0-n
Và sau đây là phần XÂY DỰNG CHƯƠNG TRÌNH
Phần này gồm hai phần chính:
Phần 1: Phân tích các chức năng chung như thuật toán quản lý các bài như thế
nào, trật tự cách hiển thò thông tin về các bài lên web.
Phần 2: Đi sâu vào cách viết các trang theo yêu cầu của người sử dụng: ví dụ
các trang đáp ứng yêu cầu của người quản lý, của người sử dụng
Đầu tiên em xin trình bày việc quản lý các bài gởi lên diễn đàn:
Tất cả các bài viết gửi lên diễn đàn đều có đặc điểm chung giống nhau như sau:
- Thuộc về một chủ đề nào đó
- Có thể là câu hỏi hoặc là câu trả lời cho một vấn đề nào đó.
Vậy để quản lý các bài viết trên diễn đàn ta phải biết:
- Bài đó thuộc chủ đề nào
- Phải phân biệt được đâu là câu hỏi đâu là câu trả lời
- Nếu là câu trả lời thì phải biết trả lời cho bài nào
Để dễ hình dung cách quản lý các bài viết trên diễn đàn ta đưa ra ví dụ sau:
Giả sử ta đã có các bài gửi có mã bài từ: 1 đến 8 trong đó có cả các câu hỏi và
câu trả lời. Khi tham gia vào diễn đàn, muốn xem các bài đã gửi chúng ta sẽ thấy
xuất hiện một trang trông giống như hình sau:
Như đã thấy trong hình, một bài viết được hiển hiện lên trang web bao gồm các

thông tin về: tiêu đề của bài viết, người gửi, ngày giờ gửi. Tiêu đề được hiển thò dưới
dạng một siêu liên kết và khi người sử dụng nhắp vào đây sẽ xem được nội dung của
bài viết.
Hình 20: Trang hiển thò các bài viết
Và các bài viết sẽ được lưu trữ trong cơ sở dữ liệu như sau:
Mãbài Cấpbài Bàicha Thứtự Tiêề Chủđề Ngườigưi Nộidung ...
1 1 0 1 ... ... ... ... ...
2 1 0 1 ... ... ... ... ...
3 2 2 1 ... ... ... ...
4 2 2 2 ... ... ... ...
5 3 3 1 ... ... ... ...
6 4 5 1 ... ... ... ...
7 1 0 1 ... ... ... ...
8 2 7 1 ... ... ... ...
Cấp của bài viết
Để có thể quản lý được bài viết gửi lên diễn đàn thì mỗi một bài được gửi sẽ
được gán cho một mã số, nhưng để có thể quản lý theo kiểu phân cấp giữa bài cha,
bài con thì phải có thêm một trường phân bài ra thành các cấp khác nhau.
Cấp của bài phải tuân theo qui tắc sau đây:
- Bài được gửi lần đầu tiên không trả lời cho bài nào cả sẽ là cấp 1
- Các bài trả lời cho bài cấp 1 sẽ có cấp là 2
- Bài trả lời cho bài cấp 2 sẽ có cấp là 3...
Lưu trữ mã bài cha
Đây là cách đi kèm với cách xác đònh cấp bài để xem bài nào là bài cha, bài
nào là bài con và bài con đó thuộc về bài cha nào.
Trường bài cha được tổ chức theo cách:
- Nếu là bài gửi đầu tiên, không trả lời cho một bài nào cả thì giá trò của trường
này bằng 0
- Nếu là bài trả lời thì giá trò của trường này là số mã bài của bài cha (bài mà nó
trả lời).

Ví dụ:
Nhìn vào trong bảng sau ta có thể thấy được qui luật tổ chức trường bài cha như
thế nào. Bài 1, 2, 7 là các câu hỏi, bài đầu tiên. Bài 3, 4 là bài trả lời của bài 2, 5 là
bài trả lời của bài 3...
Cách tổ chức trường thứ tự
Để giúp cho việc xác đònh thứ tự của các bài gửi lên diễn đàn. Được tổ chức
theo luật sau: câu hỏi (không trả lời cho bài nào cả) có thứ tự bằng 1.
Câu trả lời cho một bài theo luật sau:
- Nếu có một câu trả lời thì thứ tự của câu trả lời bằng 1
- Nếu có từ hai câu trả lời cho một bài (hai câu trả lời có cấp bài bằng nhau) thì
bài trả lời thứ nhất cũng có giá trò thứ tự bằng 1, bài trả lời thứ hai sẽ có thứ tự bằng
2...

×