Chương trình Xây dựng diễn đàn trên mạng
TỔNG QUÁT VỀ CHỨC NĂNG CỦA DIỄN ĐÀN
- 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ủ đề.
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Bạn đang xem 10 trang mẫu của tài liệu "Chương trình Xây dựng diễn đàn trên mạng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Chương trình Xây dựng diễn đàn trên mạng
Ch ươ ng trình Xây dựng diễn đ àn trên mạng GVHD: Thầy Đỗ Nh ư An SVTH: Đinh Hoàng Hà Phần 1 Đặt vấn đ ề 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. H Ư ỚNG XÂY DỰNG CH ƯƠ NG TRÌNH 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. Phần 2 Các công cụ trợ giúp MÔI TR Ư ỜNG LÀM VIỆC - PWS (Personal Web Server) - C ơ sở dữ liệu: Microsoft Access 98 - Chuẩn kết nối: ODBC CÔNG CỤ TRỢ GIÚP - 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.. - Visual Inter Dev : Visual InterDev là một phần mềm đư ợc phát triển bởi Microsoft. - DHTML : Là sự kết hợp giữa các thuộc tính của HTML, JavaScript và Vbscript. Phần 3 Phân tích ch ươ ng trình TỔNG QUÁT VỀ CHỨC NĂNG CỦA DIỄN ĐÀN - 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 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 ký 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 User Admin 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 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 Qui trình hoạt đ ộng các trang trong ứng dụng Web Forum Phần 4 Phân tích 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... User Chưa đăng ký 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 Admin User đã đăng ký 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 S ơ đ ồ dòng dữ liệu DFD ChủĐề Ghinhớbài BàiGửi MãChủĐề TênChủĐề Mã Mãbài gử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 Mô hình quan niệm dữ liệu Phần 5 Xây dựng ch ươ ng trình 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 ta có ví dụ nh ư 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. 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êu đ ề 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 ... ... ... ... 7 8 2 3 5 6 4 1 1 2 3 4 5 1 3 8 2 4 7 5 6 0 7 0 2 3 5 2 0 1 1 1 1 1 1 2 1 Cấp bài Mã bài Bài cha Thứ tự HIỂN THỊ BÀI THEO QUI LUẬT CÂY TH Ư MỤC XÂY DỰNG TRANG WEB DỰA VÀO YÊU CẦU NG Ư ỜI SỬ DỤNG - Xử lý yêu cầu của ng ư ời ch ư a đă ng ký - Xử lý yêu cầu của ng ư ời đ ã đă ng ký - Xử lý yêu cầu của ng ư ời quản lý Xem bài: Để xem đư ợc nội dung một bài cần phải biết bài đ ó thuộc chủ đ ề nào và có mã số bằng bao nhiêu. Do vậy, khi một ng ư ời tham gia vào diễn đ àn thì trang đ ầu tiên mà ng ư ời sử dụng nhìn thấy là một danh sách các chủ đ ề của diễn đ àn Đầu vào: chủ đ ề cần hiển thị Đầu ra: Nếu có tồn tại chủ đ ề: danh sách các bài theo chủ đ ề đ ã chọn Nếu không tồn tại chủ đ ề: hiển thị thông báo không tìm thấy Thuật toán hiển thị danh sách các bài theo chủ đ ề Xem nội dung một bài: Để xem nội dung một bài, ng ư ời sử dụng nhắp vào liên kết của bài đư ợc hiển thị, ví dụ nhắp vào liên kết “Hay dung len” sẽ đ ọc đư ợc nội dung nh ư hình: Gởi bài: - Khi ng ư ời dùng muốn gửi một bài mới lên diễn đ àn, ng ư ời dùng nhắp vào nút gửi bài - Có hai hình thức gửi bài đ ó là gửi bài mới và gửi bài trả lời. Kiểm tra tính chính xác của các thông tin {email, ng ư ời gửi, tiêu đ ề đ ã nhập đ ủ ch ư a} Kiểm tra có tồn tại mã bài của câu hỏi hay không Nếu có { đ ây là bài trả lời } Dựa vào mã bài của câu hỏi xác đ ịnh: Cấp của câu hỏi Thứ tự của câu hỏi Gán các biến cho bài con: Cấp bài = cấp bài cha + 1 Bài cha = mã bài cha ELSE { đ ây là bài mới} Cấp bài = 1 Bài cha = 1 Thứ tự = 1 Đ ư a tất cả các biến vừa có vào c ơ sở dữ liệu Đ ă ng ký trở thành thành viên: Khi ng ư ời sử dụng tham gia vào diễn đ àn, nếu đă ng ký một tên truy nhập trên hệ thống thì ng ư ời sử dụng ngoài các quyền giống nh ư một ng ư ời sử dụng bình th ư ờng (ng ư ời sử dụng ch ư a đă ng ký) thì còn có khả n ă ng ghi nhớ các bài viết trên diễn đ àn. Thuật toán Nhận thông tin về Tên đ ầy đ ủ, Têntruynhập, MậtKhẩu, E-mail Kiểm tra phát hiện lỗi (thiếu thông tin, nhập sai yêu cầu) IF có lỗi then báo lỗi Quay lại trang nhập ELSE Truy xuất c ơ sở dữ liệu chứa dữ liệu ng ư ời dùng của hệ thống If tìm thấy một Têntruynhập giống tên vừa đă ng ký THEN Báo lỗi Quay lại trang nhập Else {thông tin đă ng ký hợp lệ} Nhập tất cả các thông tin vừa đă ng ký vào CSDL END IF Xử lý yêu cầu của ng ư ời đ ã đă ng ký: Đối với ng ư ời đ ã đă ng ký ngoài các quyền nh ư một ng ư ời sử dụng ch ư a đă ng ký nh ư : gửi bài, xem bài, tìm kiếm ... còn có thêm đư ợc chức n ă ng ghi nhớ bài Ghi nhớ bài: Khi ng ư ời sử dụng có đă ng ký trên hệ thống một tên truy nhập thì hệ thống cho phép ng ư ời sử dụng sau khi login vào hệ thống có thể l ư u lại đư ợc những bài mà họ cảm thấy cần phải nhớ. Các bài đư ợc chọn sẽ đư ợc l ư u vào trong bảng ghi nhớ sau: Tên tr ư ờng Kiểu dữ liệu Giải thích Mãng ư ờiSD Number Mãbàigửi Number Xử lý yêu cầu của ng ư ời quản lý: Đối với ng ư ời quản lý ngoài các chức n ă ng giống nh ư ng ư ời sử dụng ch ư a đă ng ký, ng ư ời sử dụng đ ã đă ng ký còn có những chức n ă ng khác nhằm duy trì cho hệ thống hoạt đ ộng tốt h ơ n. Xoá bài: Để một quản lý đư ợc nội dung của diễn đ àn, hệ thống cho phép ng ư ời quản lý diễn đ àn có thể xoá bất cứ bài nào trên diễn đ àn. Thuật toán: <Từ danh sách các bài Chọn bài đ ể xoá {lấy đư ợc mãbài} Dò tìm tất cả các bài trả lời cho bài đ ó {thuật toán tìm bài con} Xoá bài & xoá luôn cả bài con Xoá mãbài đ ó trong bảng chỉ mục Thêm ng ư ời sử dụng: Ng ư ời quản lý có quyền thêm ng ư ời sử dụng cũng nh ư thêm ng ư ời quản lý vào hệ thống. Để phân biệt đư ợc ng ư ời sử dụng và ng ư ời quản lý, ch ươ ng trình chia ng ư ời sử dụng thành hai cấp: Cấp 2 : Là cấp của ng ư ời sử dụng Cấp 1: Là cấp của ng ư ời quản lý Thuật toán Nhận dữ liệu: tên đ ầy đ ủ, têntruynhập, mậtkhẩu, email, cấp If thiếu thông tin then Báo lỗi Else If tên truy nhập trùng tên đ ã có tr ư ớc then Thông báo Mở lại form đă ng ký Else Đ ư a dữ liệu vào c ơ sở dữ liệu End if End if Xoá ng ư ời sử dụng: Để quản lý đư ợc số l ư ợng ng ư ời sử dụng cũng nh ư số l ư ợng ng ư ời quản lý của hệ thống. Ng ư ời quản lý có quyền xoá ng ư ời sử dụng ra khỏi hệ thống. Thêm chủ đ ề: Để có thể đ áp ứng đư ợc nhu cầu trao đ ổi thông tin về nhiều lĩnh vực khác nhau của ng ư ời sử dụng. Ch ươ ng trình cho phép ng ư ời quản lý thêm chủ đ ề cho diễn đ àn. Thuật toán: Nhận dữ liệu về tên chủ đ ề, giải thích về chủ đ ề If thiếu tên chủ đ ề Báo lỗi Else Kiểm tra trên c ơ sở dữ liệu đ ã có chủ đ ề ch ư a If có Thông báo trùng chủ đ ề Mở lại form đă ng ký Else {thành công} Đ ư a vào c ơ sở dữ liệu End if End if Xoá chủ đ ề: Nếu có thêm chủ đ ề thì phải có xoá chủ đ ề, hay những chủ đ ề đ ã cũ không còn ai quan tâm đ ến thì ng ư ời quản lý có thể xoá đ i. Tìm kiếm: Ứng dụng cho phép ng ư ời sử dụng tìm kiếm thông tin về bất cứ một bài viết nào đ ó trên diễn đ àn theo những lựa chọn: tìm kiếm theo chủ đ ề của bài gửi, tìm kiếm theo tiêu đ ề của bài gửi, tìm kiếm theo nội dung bài gửi. Tìm kiếm theo chủ đ ề: Để tìm kiếm theo chủ đ ề, ng ư ời sử dụng gõ một chuỗi ký tự bất kỳ thuộc chủ đ ề đ ó, sau đ ó bấm nút “Tìm kiếm” Thuật toán tìm kiếm theo chủ đ ề: Ta dùng câu lệnh SQL sau đ ể thực hiện tìm kiếm SQLQuery = "Select * from chude where chude.chude like '%"&chuoicantim&"%'; Tìm kiếm theo nội dung: Xây dựng bảng chỉ mục phục vụ cho việc tìm kiếm Để xây dựng bảng chỉ mục đ ầu tiên ta xây dựng bảng từ khóa. Từ khóa có đư ợc là do nội dung của bài viết đư ợc tách thành các từ. Qui trình thực hiện xây dựng bảng từ khóa có thể tóm tắc nh ư sau: - Đầu tiên ta tách nội dung của bài viết thành các từ khoá - Đ ư a tất cả các từ khoá vừa tách đư ợc vào trong một bảng tạm - Dùng ngôn ngữ truy vấn dữ liệu đ ể cập nhật các từ khoá trong bảng tạm vào trong bảng từ khoá chính theo nguyên tắc: không thêm vào bảng chính những từ mà bảng chính đ ã có. Ví dụ Ta có một bài gửi có các tham số sau: Mãbàigửi = 100 Nộidung: Tự học Visual-Basic 6 trong 6 ngày Sau khi tách ra l ư u vào trong bảng tạm nh ư sau: Mãbàigửi Từ khoá 100 Tự 100 học 100 Visual 100 Basic 100 6 100 Trong 100 6 100 Ngày Giả sử bảng từ khoá tr ư ớc đ ã có từ: Visual, học, sau khi thêm các từ khoá của bài có mã bài gửi là 100 vào thì nh ư sau: Mãtừkhoá Từkhoá 1 Visual 2 Học 3 Tự 4 Basic 5 Trong 6 6 7 Ngày Bảng sau đ ây là ví dụ cho các từ khoá của bài có mã 100, tr ư ờng mã từ khoá sẽ đư ợc đ ối chiếu với bảng từ khoá. Giả sử từ Visual trong bài số 98, từ học có mã bài số 99 Mãbàigửi Mãtừkhoá 98 1 99 2 100 3 100 2 100 1 100 4 100 6 100 5 100 6 100 7 Tìm kiếm theo tiêu đ ề: Các tiêu đ ề của bài gửi sau khi đư ợc gửi lên diễn đ àn cũng đư ợc tách ra thành các từ khoá và cũng đư ợc l ư u trữ trong các bảng từ khoá và bảng chỉ mục dành riêng cho từ khoá. Cách xây dựng các bảng chỉ mục, xây dựng bảng từ khóa và cách thức xây dựng thuật toán tìm kiếm hoàn toàn t ươ ng tự nh ư cách xây dựng thuật toán tìm kiếm thao nội dung. Tính bảo mật của hệ thống: Tất cả các trang web dành cho ng ư ời quản lý thì chỉ đư ợc truy xuất bởi ng ư ời quản lý. Do vậy các trang này phải có tính bảo mật. Để thực hiện đ iều này ta làm nh ư sau: Sau khi ng ư ời quản lý Login thành công thì thiết lập biến Session(“capNguoiSD”), biến này tồn tại trong suốt phiên làm việc của ng ư ời quản lý và tất cả các trang web đư ợc xây dựng cho ng ư ời quản lý khi đư ợc mở sẽ kiểm tra biến session này đ ầu tiên, nếu biến này không phù hợp thì không cho mở trang này. Kết luận và đ ánh giá kết quả
File đính kèm:
- chuong_trinh_xay_dung_dien_dan_tren_mang.ppt