Báo cáo Chương trình xây dựng diễn đàn trên mạng - Đinh Hoàng Hà

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ủ đề.

ppt36 trang | Chia sẻ: vietpd | Lượt xem: 1527 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Báo cáo Chương trình xây dựng diễn đàn trên mạng - Đinh Hoàng Hà, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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 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... Sơ đồ dòng dữ liệu DFD 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 ... ... ... ... 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ý 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ả
Tài liệu liên quan