Xây dựng diễn đàn trên mạng
lượt xem 65
download
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.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Xây dựng diễn đàn trên mạng
- Xay dung dien dan tren web 3 Chương 1 ĐẶT VẤN ĐỀ I. GIỚI THIỆU CHUNG 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. Thật là thú vị khi được mọi người trên toàn cầu giúp ta giải quyết một vấn đề. Ngày nay các NewsGroup thường được tích hợp luôn trên web nên tạo điều kiện thuận lợi hơn cho người sử dụng và người ta gọi đó là các Diễn đàn trên web (web forum). Trên mạng Internet hiện đang có rất nhiều diễn đàn nói về nhiều chủ đề khác nhau. Ví dụ trang www.deja.com đây là trang web nổi tiếng về vấn đề trao đổi thông tin giữa mọi người qua Internet. Như ta thấy trên hình, người ta chia ra rất nhi ều ch ủ đ ề như: copm. (computer): khoa học về máy tính, rec. (recreation): hội thảo về giải trí nghệ thuật... 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ó Hình 1: Trang web nổi tiếng về diễn đàn (deja.com) 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. Để có thể thấy được lợi ích về tính quảng bá và khối lượng thông tin, kiến thức đồ sộ trên diễn đàn ta có thể so sánh dịch vụ này v ới dịch vụ E-mail như sau: Nếu như nói thông tin trao đổi qua mail chỉ là quan hệ 1-1 , tức là chỉ có một người gửi và chỉ có một người, hoặc một nhóm người nhận thư. Trong khi đó Diễn đàn trên web lại có quan hệ 1-n, tức là một người hỏi có nhiều người trả lời. Như vậy lợi ích mà Diễn đàn trên web đem lại cho người sử dụng là không nhỏ.
- Xay dung dien dan tren web 4 Ngày nay Diễn đàn trên Web được ứng dụng rất nhiều nơi, ví dụ trong một trường đại học, diễn đàn sẽ giúp đỡ các sinh viên trao đổi thảo luận với nhau qua mạng, hay trong mạng nội bộ của một cơ quan... Xuất phát từ lợi ích mà diễn đàn đem lại, với mong muốn tạo ra một ứng dụng trên mạng, giúp mọi người trao đổi thông tin với nhau nên em chọn đề tài: “Xây dựng diễn đàn trên web - Web Forum”. Hiện nay Khoa Công Nghệ Thông Tin - Điện tử Viễn thông chúng ta đang có một mạng cục bộ hiện đại, tuy nhiên em chưa thấy có nơi cho phép sinh viên truy nhập, tìm hiểu những vấn đề phục vụ cho công việc học tập hay giải trí. Chương trình Diễn đàn trên Web nếu được sử dụng trên mạng của trường mong sẽ góp một phần vào việc trao đổi thông tin của các bạn sinh viên, đem lại một hình thức trao đổi thông tin mới và chắc chắn sẽ hiệu quả. II. HƯỚNG XÂY DỰNG CHƯƠNG TRÌNH 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. CHƯƠNG 2 CÁC CÔNG CỤ TRỢ GIÚP Phần này giới thiệu về các thành phần cần thiết để ứng dụng có thể chạy được và các công cụ giúp cho việc lập trình. I. YÊU CẦU VỀ MÔI TRƯỜNG LÀM VIỆC CỦA ỨNG DỤNG Diễn đàn trên Web là một chương trình ứng dụng được viết trên giao diện web và người sử dụng có thể ngồi tại máy con để truy xuất các trang web của ứng dụng do vậy yêu cầu đầu tiên là phải có một máy chủ chạy phần mềm web server (thông thường là IIS (Internet Information Server chạy trên WinNT hay Personal Web Server chạy trên Win98). Thứ hai, do đây là trang web có tương tác với cơ sở dữ liệu cần phải có MS Access hay SQL Server. Thứ ba, phải có một chuẩn kết nối giữa cơ sở dữ liệu để đưa dữ liệu
- Xay dung dien dan tren web 5 từ các người sử dụng vào cơ sở dữ liệu cũng như truy xuất các dữ liệu từ các bảng của cơ sở dữ liệu. Khi xây dựng chương trình tuy có nhiều cách lựa chọn về môi trường làm việc của ứng dụng nhưng em chọn môi trường làm việc cho ứng dụng gồm: - 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. Tuy nhiên trong quá trình xây dựng chương trình không có một máy tính có cấu hình đủ mạnh để cài đặt SQL Server. Hơn nữa 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. Ví dụ khi ta viết các ch ương trình ứng dụng có truy xuất cơ sở dữ liệu thông qua ODBC thì ODBC nhận những yêu cầu từ chương trình ứng dụng và chuyển thành ngôn ngữ database engine để truy xuất cơ sở dữ liệu. Và để có thể hình dung được khái quát cách chương trình làm việc cũng như cách trao đổi dữ liệu từ người sử dụng với cơ sở dữ liệu như thế nào ta xem hình 2 CSDL Máy chủ Máy con Interne ODBC t Theo như hình vẽ Intraneười sử dụng có thông qua môi trường mạng Internet hay trên, ng Intranet có thể truy xuấ2: Yêu cầu ủa ứngườụnglàm việc server ng chủ). Khi có thao Hình t các trang c môi tr d ng trên web của ứ(máy t tác với cơ sở dữ liệu như: gửi một bài, ụngkiếm thông tin về một bài nào đó... thì các d tìm yêu cầu này sẽ được web server thực hiện. Web server sẽ thực thi các đoạn mã lệnh để truy xuất được các bảng trong cơ sở dữ liệu thông quan ODBC, tuỳ theo yêu cầu c ủa người sử dụng web server có thể đưa dữ liệu vào cơ sở dữ liệu hoặc truy xuất các thông tin từ cơ sở dữ liệu và cuối cùng trả về cho người sử dụng kết quả mà họ yêu cầu. Trên là một số điều cơ bản về môi trường và cách thức hoạt động của ứng dụng. II. CÁC CÔNG CỤ TRỢ GIÚP TRONG LẬP TRÌNH 1. Jscript (javascript): 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. Trước đây các trang web được viết bằng HTML có khả năng tương tác với người sử dụng rất kém thì nay với Jscript chúng ta có thể tạo ra đ ược những trang web đ ầy sống động và khả năng tương tác rất mạnh. Nếu ai đã từng lập trình với Java thì việc học Jscript sẽ rất dễ dàng. Mặt dù ch ức năng của Jscript không mạnh bằng các ngôn ngữ lập trình như Java hay C++ nhưng cũng đủ để người lập trình viết những chương trình nhỏ cho các trang web. Trong thực tế
- Xay dung dien dan tren web 6 người ta thường hay sử dụng Jscript để tạo ra những trang web tương tác với người dùng như: các form nhập số liệu, các nút bấm trên trang web, hoặc những hình ảnh chuyển động trên trang web..., làm cho trang web giống như một chương trình thực thụ. 2. VBScript (visual basic script) 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. Thường Vbsript được dùng để viết những đoạn chương trình tính toán số liệu trên trang web, hoặc có thể dùng nó để viết những đoạn chương trình trao đổi dữ liệu giữa trang web và các cơ sở dữ liệu. Tóm lại, Jscript và Vbscript không phải là phiên bản của bất kỳ một ngôn ngữ nào mặc dù Jscript thì trông gần giống như Java hay Vbscript thì trông gần giống như Visual basic. Thêm vào đó Jscript và VBScript không dùng để tạo ra được các ứng dụng độc lập mà nó phải được chạy kèm vào trong các trang web và các đoạn mã của các ngôn ngữ này sẽ được dịch và thực thi trên web server hay trên trình duyệt của người sử dụng. 3. ASP (active server page) 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 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. - Đặc điểm của ASP Tạo ra những trang web động có tương tác: ASP có hộ trợ các script như JScript và Vbscript, bằng cách đưa các script này vào trong trang ASP chúng ta có thể tạo ra những trang web động có tương tác. ASP có hỗ trợ các đối tượng được xây dựng sẵn, với các đ ối tượng này cùng với các script chúng ta có thể tạo ra những trang web đa năng. Ví dụ chúng ta có thể dùng đối tượng Request để viết những đoạn chương trình yêu cầu server cung cấp thông tin từ server. Ngoài ra ASP còn có những đối tượng khác mà khi dùng người dùng phải định nghĩa trước khi dùng, các đối tượng này cũng cung cấp cho người lập trình có khả năng tạo ra được những trang Web hữu ích. Có thể truy xuất đến cơ sở dữ liệu như MS Access hay SQL server. - Khả năng của ASP Với ASP ta có thể tạo được nhiều loại web nào hiện đang có trên Internet. Sau đây ta có thể liệt kêCLIENTột số khả năng mà ASP có thể làm: ra m REQUEST OBJECT REQUEST OBJECT SERVER SERVER CLIENT Cookies Cookies Tạo những hình ảnh quảng cáo động rất sinh động và đẹp mắt trên trang web. Form Form Có thể đưa các thông tin từ các form của HTML lên cơ sở dữ liệu. QueryString QueryString ServerVariables ServerVariables Có thể tạo ra có thể hiển thị ClientCertificate nhau tuỳ thuộc vào người sử dụng. Có nội dung khác ClientCertificate nghĩa là đối với người sử dụng này sẽ có nội dung hiển thị trên trình duyệt khác với người sử dụng khác. RESPONSE OBJECT RESPONSE OBJECT Đối với những trình duyệt web khác nhau, version khác nhau (IE hay Netscape) thì Cookies Cookies (properties) (properties) asp có thể có những nội dung hiển (methods)nhau tuỳ thuộc vào khả năng của trình duyệt. thị khác (methods) - Các đối tượng của ASP Nhằm tạo điều kiện cho người lập trình, ASP cung cấp cho người lập trình năm đối tượng được xây dựng sẵn. SERVER OBJECT APPLICATION OBJECT APPLICATION OBJECT SERVER OBJECT (methods) (methods) SESSION OBJECT SESSION OBJECT (methods) (methods) (properties) (properties) Hình 3: Các đối tượng được xây dựng sẵn của ASP (methods) (methods)
- Xay dung dien dan tren web 7 Trong đó: Dùng để lưu trữ những thông tin cần thiết trong phiên làm việc của Session user. Những thông tin lưu trữ trong session không bị mất đi khi user di chuyển qua các trang ứng dụng. Dùng để chia sẻ thông tin giữa các user trong cùng một ứng dụng. Application Đối tượng Application thường được dùng để đếm số lần truy cập đến ứng dụng của user dùng để truy cập những thông tin được chuyển cùng với yêu cầu Request HTTP. Những thông tin này gồm các tham số của form khi được Submit dùng phương thức POST hay GET hay các tham số được ghi cùng với trang asp trong lời gọi đến trang đó. Dùng đối tượng Request để chia sẻ thông tin giữa các trang asp trong một ứng dụng. Ngoài ra Request còn được dùng để lấy giá trị cookie lưu trữ trên máy client gửi thông tin ra user, gồm các thông tin ghi trực tiếp ra browser, Response chuyển browser đến một URL khác hoặc thiết lập cookie trên máy client cung cấp phương tiện truy cập đến những phương thức và thuộc Server tính trên server. - Cách tạo trang ASP Với một trang HTML có sẵn, ta có thể dễ dàng tạo ra các trang ASP bằng cách thêm vào các lệnh ASP Script cần thiết và đổi phần mở rộng thành .asp. - Cách chèn các ASP Script vào trang ASP: ASP Script phải được đặt giữa ký hiệu hoặc giữa khối Những lệnh nằm giữa phải sử dụng ngôn ngữ scripting chính thức qui định cho trang đó. Để chỉ định ngôn ngữ chính thức cho trang ASP, ta dùng chỉ dẫn < %language = language> đặt ở dòng đầu tiên của trang ASP. Lưu ý, ngôn ngữ Vbsvript là ngôn ngữ chính thức ngầm định cho trang ASP.
- Xay dung dien dan tren web 8 Dùng khối để định nghĩa các Procedure (Sub hoặc Function) có sử dụng trong trang ASP (các Procedure thường đặt ở cuối trang). 4. Visual InterDev (visual Internet Development) 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. Tất cả các đ ối t ượng c ủa ASP đều được phầm mềm này hỗ trợ. Do tất cả các đối tượng của ASP được phần mềm này hổ trợ nên việc lấy Visual Interdev để soạn thảo các trang asp sẽ rất nhanh và ít gặp lỗi. - Những ưu điểm của phần mềm: Hỗ trợ mạnh cho người lập trình tạo ra những trang ứng dụng bằng ngôn ngữ HTML hay các ngôn ngữ mới như DHTML. Là một công cụ lập trình mạnh cho web, phần mềm có rất nhiều công cụ được xây dựng sẵn, các đối tượng được xây dựng sẵn trong thư viện. Ngoài ra người lập trình có thể sử dụng đến các công cụ gỡ rối chương trình, kiểm tra chương trình hay tạo ra những trang web một cách nhanh chóng Tích hợp tất cả các thuộc tính, các đối tượng của các ngôn ngữ như VBScript, JavaScript, J++ hay các đối tượng của ASP Visual InterDev có một trình soạn thảo thông minh, tự động hiểu được tất cả các method, properties, event của đối tượng (để thấy rõ điều này xin xem hình 5). Một vài hình vẽ sau sẽ cho thấy sự thuận tiện của Visual InterDev trong việc lập trình web, đặc biệt là lập trình với các trang ASP. Cho phép tạo ra các trang html, asp... Hiển thị tất cả các thuộc tính các phương thức của một đối tượng asp Hình 4: Chọn lựa các kiểu khác nhau để tạo trang web Hình 5: Trình soạn thảo thông minh cho phép lập trình thuận lợi
- Xay dung dien dan tren web 9 Tạo ra 1 Project để Các công cụ hỗ chứa tất cả các file trợ cho lập trình trong web site các trang web Cho phép gỡ rối chương trình thấy Nhìn Xem mã nguồn trực tiếp kết của chương trình quả lập trình 5 . DHTML (dynamic html) Hình 6: Có thể quản lý được 1 project, thấy được trực quan kết quả - DHTML là sự kết hợp giữa các thuộc tính của HTML, JavaScript và Vbscript. lập trình, hỗ trợ các công cụ... Trước đây muốn làm một trang Web đẹp, với các hình ảnh động, chữ đổi màu, đổi kiểu chữ hay muốn làm một menu trên trang web là một điều khó khăn. Gần đây Microsoft đưa ra công nghệ DHTML (dynamic HTML), DHTML được xây dựng dựa trên nền tảng của HTML, nhưng khả năng của DHTML tỏ ra nổi trội hơn so với HTML do khả năng tạo ra những trang web động và linh hoạt. - Khả năng của DHTML Với DHTML ta có thể dễ dàng tạo ra những hiệu ứng đối với trang web, công việc này trước đây phải mất rất nhiều thời gian và công sức. Có thể dấu đi một dòng chữ hay một bức ảnh nào đó trên trang web và có thể cho nó xuất hiện bất cứ khi nào ta muốn. Có thể tạo ra những dòng chữ hay những bức tranh sống động trên trang web Có thể tạo ra những form trên trang web, dữ liệu trong form có thể cho hiển thị ngay lên chính trang web đó mà không phải mở ra một trang web khác (thông thường, với HTML ta muốn hiển thị một thông tin khác lên trên trang web thì bắt buộc một trang web khác phải được mở ra). Có thể dùng DHTML để hiển thị thông tin trong cơ sở dữ liệu.
- Xay dung dien dan tren web 10 CHƯƠNG 3 PHÂN TÍCH CHƯƠNG TRÌNH I. TỔNG QUÁT VỀ CHỨC NĂNG CỦA DIỄN ĐÀN TRÊN WEB - 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ủ đề. Chức năng chính của Diễn đàn trên web là cho phép người sử dụng đ ưa đ ược ý kiến của họ lên mạng. Để hiểu được một cách khái quát web forum hoạt động như thế nào chúng ta xét một ví dụ về chức năng chính của diễn đàn là xem và gửi bài. Ví dụ: Khi tham gia vào diễn đàn người sử dụng sẽ lựa chọn một chủ đề trong loạt các chủ đề của diễn đàn như trong hình 7, Ví dụ ta chọn chủ đề “lập trình”, sau khi chọn chủ đề xong, một danh sách các bài thuộc chủ đề đó sẽ xuất hiện như hình 8. Người sử dụng sẽ chọn một trong các bài trong danh sách để xem nội dung, ví dụ chọn bài “Con trỏ trong C” thì nội dung của bài này hiện ra như trong hình 9, nếu người đọc thấy có thể trả lời được thì nhắp vào nút trả lời và nhập nội dung vào form như hình 10 và nhắp nút trả lời, bài trả lời sẽ nằm ngay dưới câu hỏi. Nếu người sử dụng muốn gửi một bài mới thì có thể nhắp vào nút “Gửibàimới”. Trên đây là phần sơ lược về hoạt động cơ bản của diễn đàn. Ngoài ra nó còn cho phép người dùng có nhiều thao tác khác khác nhau. Để minh hoạ cho chức năng chính của diễn đàn là gửi và trả lưòi một bài, ta đưa ra ví dụ để chúng ta có thể hình dung đ ược khái quát diễn đàn dùng làm gì và nó có dáng dấp như thế nào. Phần sau chúng ta s ẽ đi chi tiết về chức năng của diễn đàn. Hình 8: Danh sách các bài đã đăng Hình 7: Các chủ đề của diễn ®µn Hình 9: Xem nội dung 1 bài Hình 10: Gửi bài mới, hoặc trả lời
- Xay dung dien dan tren web 11 II. CÁC VẤN ĐỀ CẦN GIẢI QUYẾT KHI XÂY DỰNG CHƯƠNG TRÌNH 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 1. Phân cấp người sử dụng Không phải tất cả người sử dụng diễn đều có quyền thực hiện tất cả các khả năng trên. Ví dụ, một người sử dụng thông thường không thể có quyền xoá bài trên diễn đàn, hoặc có thể đánh dấu một bài... Do vậy, phân quyền cho người sử dụng là điều cần thiết và khi tham gia vào diễn đàn tuỳ theo quyền của mình mà có các ch ức năng khác nhau. Chương trình chia người sử dụng thành 3 cấp: cấp 0, cấp 1 và cấp 2. - Cấp 0: người sử dụng chưa đăng ký - Cấp 1: là những người quản lý hệ thống. - Cấp 2: người sử dụng có đăng ký tên truy nhập. a. Người sử dụng thông thường Diễn đàn trên mạng là nơi mà tất cả mọi người đều có thể tham gia và đóng góp các ý kiến, các câu hỏi của mình. Do vậy, một người không cần đăng ký có thể tham gia vào diễn đàn và có các khả năng sau: - Xem nội dung của một bài bất kỳ. - Gửi câu hỏi mới theo một chủ đề nhất định nào đó - Gửi câu trả lời cho những câu mà mình biết. - Sắp xếp trật tự của các bài gởi theo ý muốn: theo chủ đề của bài gửi, theo tiêu đề, theo ngày tháng năm, theo người gửi, ... - Tìm kiếm: tìm kiếm bất kỳ một bài gởi nào đó trên diễn đàn theo: nội dung của bài gởi, theo chủ đề, theo tiêu đề của bài gửi. b. Người sử dụng có đăng ký Diễn đàn trên Web có thể cho phép mọi người truy cập vào và gởi các bài của mình lên diễn đàn, tuy nhiên hệ thống có cho phép người dùng có thể tạo cho mình một Account riêng. Đối với những người dùng có đăng ký Account khi Login vào ứng dụng sẽ có khả năng lưu giữ lại các bài mà người đó ưa thích. Lần truy cập tiếp theo, n ếu người sử dụng login đúng tên truy nhập và mật khẩu thì có khả năng xem lại các bài mà mình đã ghi nhớ trong các lần trước. Ngoài quyền lợi đưa đánh dấu bài, người sử dụng có đăng ký còn có thể có nhiều quyền lợi khác như: nhận được thông tin về một bài mới hay các câu hỏi/ trả lời có liên quan đến người sử dụng... Tuy nhiên trong quá trình phát triển ứng dụng do thời gian có hạn nên chưa ứng dụng tạm thời chưa có chức năng này.
- Xay dung dien dan tren web 12 c. Người quản lý Đối với người quản lý, ngoài các hoạt động như một người sử dụng bình thường còn có các khả năng sau: - Quản lý người sử dụng: - Xoá người sử dụng: xoá một người sử dụng bình thường ra khỏi hệ thống - Tạo người sử dụng mới - Xoá các bài trên diễn đàn: Đây là một biện pháp dùng để quản lý nội dung của các bài viết gởi lên diễn đàn - Quản lý các chủ đề của diễn đàn: - Xoá một chủ đề bất kỳ Quay về trang - Thêm vào một chủ đề mớihiển thị Gửi bài mới Soạn và gửi Nội dung Hiển thị Xem nội dung 1 bài bài Xem, gửi các bài bài bài Về trang hiển thị Trangầnnhtìm ập Hiển thị kết Xe ND c quả tìm m kiếm kiếm là danh nội sách các bài dun Tìm kiếm gửi g1 bài Danh sách Ghi nhớ bài ghi Đăng ký nhớ bài Trang đăng ký U e s r SƠ ĐỒ QUIất bại Th TRÌNH HOẠT ĐỘNG CỦA CÁC TRANG TRONG ỨNG DỤNG WEB FORUM Thành công Danh sách Xoá Trang Login bài bài Login m A d n i Thêm chủ Danh sách đề chủ đề Quálờtrình xem, gửi và Xoá chủ trả i bài đề Quá trình tìm kiếm Hoạt động của User đăng ký Thêm User bµi Danh Các chức năng của người quản lý sách User Xoá User Hình 11: Qui trình hoạt động của các trang web
- Xay dung dien dan tren web 13 2. Hoạt động của chương trình: Khi người sử dụng gửi yêu cầu đến server có chứa ứng dụng, nếu yêu cầu đ ược đáp ứng trang web giao tiếp với người sử sụng sẽ hiện ra trên máy của người dùng. Từ đây người sử dụng có thể tiếp tục gửi các yêu cầu của mình đến server bằng cách chọn các chức năng tương ứng đã được thiết kế sẵn trên các trang web và server sẽ nhận các yêu cầu này sau đó xử lý tính toán ngay trên server và trả về cho người dùng những gì mà họ yêu cầu. Cụ thể qui trình hoạt động của các trang 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 Áp dụng đối với: Người sử dụng bình thường, người sử dụng có đăng ký, người quản lý. 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 đó Kết quả trả về:
- Xay dung dien dan tren web 14 Nếu tìm thấy các bài có như nội dung người dùng cần tìm kiếm thì danh sách các bài được tìm thấy sẽ được liệt kê trên trang web Nếu không tìm thấy sẽ hiển thị thông báo không tìm thấy Qui trình đăng ký và login của người sử dụng, ghi nhớ bài Áp dụng đối với: Người chưa đăng ký, người đã đăng ký, người quản lý. Để 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 ưu thích. • Qui trình hoạt động của người quản lý: Áp dụng đối với: 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 Chương trình cho phép người quản lý chọn bất cứ một bài nào đó để xoá và có thể xoá nhiều bài hoặc xoá một bài. Việc xoá bài thực hiện theo nguyên tắc: khi một bài cha được xoá thì tất cả các bài con của nó sẽ được xoá theo. Thêm người sử dụng , xoá người sử dụng Nhằm quản lý được người dùng trên hệ thống, chương trình cho phép người quản lý có thể thêm người sử dụng vào hệ thống và ngược lại có thể xoá người s ử dụng ra khỏi hệ thống. - Thêm chủ đề , xoá chủ đề Để cho diễn đàn ngày càng phong phú, người quản lý có thể thêm vào diễn đàn những chủ đề cho phù hợp với yêu cầu thực tiễn. Ngược lại, nếu có một chủ đề nào đó mà quá lâu ngày không có người tham gia thì người quản lý có thể xoá chủ đ ề đó đi. Việc xoá chủ đề cũng theo nguyên tắc là tất cả các bài thuộc chủ đó cũng xoá theo.
- Xay dung dien dan tren web 15 CHƯƠNG 4 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 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 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. I. 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...
- Xay dung dien dan tren web 16 II. PHÂN TÍCH VÀ THIẾT KẾ 1. Sơ đồ dòng dữ liệu DFD 2 Đăng ký Đăng ký User U U chưa s s Cá c b à i v i ết t rê n d i ễn đăng e e đàn Gởi bài lên ký r r 3 Phân tích diễn đàn C C bài được Yêu cầu xem các h 1 h gởi bài trên diễn đàn Xem các bài ư Yêu cầu tìm kiếm các ư Các trang a đã được gởi thông tin trên diễn a 4 Web đàn Tìm kiếm Kết quả tìm kiếm đ đ ă U ă U n n s User s 6 g e ge User gởi yêu đã Xử lý yêu User đăng r cầu r cầu của Login k k ký User đã đđ ý ý đăng ký ãã 5 Login đ đ ă Admin ă 7 n n gởi yêu Xử lý yêu Admi g g A cầu Admin Login cầu của A n d Admin d k k m m ýi ýi nn Bảng chỉ mục, bảng từ Các chủ đề của Dữ liệu các bài gởi Danh sách User khoá forum 1 Xem các Hình 12: DFD cấp 0 bài đã được gửi 1 Sắp xếp bài theo . tiêu đề, thời 1 gian, chủ đề... Các chủ đề của diễn Các bài viết trên diễn đàn đàn Hình 13: DFD cấp 1 của phần xem các bài đã được gửi (1)
- Xay dung dien dan tren web 17 2 2 Kiểm tra Danh sách người sử . Đăng ký cho phép dụng 1 ký đâng Hình 14: DFD cấp 1 của phân đăng ký (2) Các bài viết trên diễn đàn 3 3 3 . Phân Phân tích các phân tích . 2 chủ tích thông tin nội dung 1 bài đề; ngày tháng của bài gởi được gởi, cấp bài gởi gởi... Bảng chỉ mục, bảng từ khoá Các chủ đề của diễn đàn Hình 15: DFD cấp 1 của phân tích bài được gởi lên Bảng iễn hoá, bảng chỉ d từ k đàn (3) Các chủ đề của diễn mục đàn 4 4 Tìm ki. m ế Tìm kiếm . theo chủ theo nội 1 2 đề dung 4 Tìm Các bài viết trên diễn kiếm đàn Dữ liệu các bài gởi 4 Tìm kiếm . theo tiêu 3 đề Hình 16: DFD c5 p 2 của quá trình tìm ấ 5 Kiểm tra cho . kiếm (4) Danh sách người sử Login phép login 1 dụng Hình 17: DFD cấp 1 của phân Login (5)
- Xay dung dien dan tren web 18 Danh sách người sử dụng Các bài viết trên diễn đàn Các chủ đề của diễn đàn 6. Đánh dấu các bài ưa thích. Xử lý yêu cầu của User đã đăng ký Hình 18: DFD cấp 1 của quá trình xử lý các yêu cầu của User đã đăng ký Các chủ đề của (6) forum 7.3 7.2 7.1 Xo á c h ủ đ ề Th ê m Us e r Th ê m c h ủ đề 7 Xử l ý y ê u Danh sách c ầu c ủa User A d m in 7.5 7.4 Xo á c á c b à i Xo á Us e r đ ã g ởi Dữ liệu nội dung bài 2. Dữ liệu thugthiập được ở a. Dữ liệu về bài gửi Mỗi bài gHình 19: DFDthuộp tính ủaư sau: trình xử lý yêu cầu của ửi bao gồm các cấ c 1 c nh quá - Mã bài gửidmin (7) A - 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
- Xay dung dien dan tren web 19 - Tiêu đề của bài viết - 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ủ đề 3. Các cấu trúc kiểu Dựa vào các dữ liệu thu lượm được ta có xây dựng thành các cấu trúc kiểu. Từ các cấu trúc kiểu này ta có thể xây dựng được các mô hình biểu diễn hệ thống thông tin của web forum BàiGửi a. Dữ liệu bài gửi: MãBàiGửi Dữ liệu Mã bài gửi là khoá của thực thể BàiGửi vì nó cho Cấp phép chỉ định một bài duy nhất BàiTrước Các kiểu dữ liệu khác đều là thuộc tính của thực thể ThứTự MãChủĐề BàiGửi vì có các phụ thuộc hàm giữa khoá là MãBàiGửi và mỗi Tiêu Đề thuộc tính của nó. Vậy ta nhận được cấu trúc kiểu phiếu là NgườiGửi BAIGUI Email NgàyGiờGửi Vậy mỗi giá trị của khoá MãBàiGửi tương ứng với một NộiDung và chỉ một giá trị thuộc tính khác của thực thể BAIGUI b. Người sử dụng: MãNgườiSD là khoá của thực thể NGUOISD, đây cũng là NgườiSD cấu trúc kiểu phiếu và khoá MãNgườiSD cho phép chỉ định một MãNgườiSD người sử dụng duy nhất. Mỗi một giá trị của khoá MãNgườiSD TênTruyNhập chỉ tương ứng với một và chỉ một giá trị thuộc tính khác của Email MậtKhẩu thực thể NGUOISD. QuyềnTruyCập c. Chủ đề: MãChủĐề là khoá của thực thể chủ đề, thuộc tính còn lại ChủĐề duy nhất của phiếu CHUDE là ChủĐề (tên của chủ đề). Mỗi MãChủĐề một ChủĐề cho phép xác định duy nhất một chủ đề. TênChủĐề d. Dữ liệu Từ khoá: Từ khoá có nguồn gốc từ nội dung của bài gửi. Từ nội dung TừKhoá của bài gửi ta tách nội dung thành các từ riêng biệt, mỗi từ là một MãTừKhoá TừKhoá
- Xay dung dien dan tren web 20 từ khoá. MãTừKhoá là khoá của thực thể TUKHOA. Trong cấu trúc của thực thể TUKHOA MãTừKhoá tương ứng với một và chỉ một giá trị thuộc tính TừKhoá. 4. Quan hệ giữa các thực thể a. Quan hệ giữa BàiGửi và Từ khoá Sau khi người sử dụng gửi một bài bất kỳ lên diễn đàn, nội dung của bài ngoài việc lưu giữ vào cơ sở dữ liệu còn được tách ra thành các từ, các từ này được gọi là các từ khoá và cũng được lưu trữ. Và để thể hiện mối quan hệ giữa các từ khoá ta có một kết hợp không phân cấp giữa hai thực thể BAIGUI và TUKHOA. TừKhoá BàiGửi 0-n 1-n Thuộc về MãTừKhoá MãBàiGửi TừKhoá Cấp MãBàiTrước ThứTự MãChủĐề Tiêu Đề NgườiGửi Email NgàyGiờGửi NộiDung b. Quan hệ giữa CHUDE và BAIGUI Đây là một cấu trúc kiểu CHA_CON. Mỗi chủ đề có thể không có một bài nào nói về chủ đề đó hoặc cũng có thể có nhiều bài nói về chủ đề này. Và mỗi bài chỉ duy nhất nói về một chủ đề. ChủĐề BàiGửi 0_n 1_1 MãChủĐề MãBàiGửi TênChủĐ Cấp ề MãBàiTrước ThứTự Tiêu Đề NgườiGửi Email NgàyGiờGửi NộiDung c. Quan hệ giữa người sử dụng và bài gửi: BàiGửi Đối với người sử dụng có đăng ký một tên truy nhập ườiSD mật khẩu trên hệ Ngvà một 0-n 1-1 thống, thì chương trìnhửi cấp khả năng Bàiu trữ bất cứ một bài nào đó mà người dùng GhiNhớ lư MãNgườiSD MãBàiG cung Cấp lại để lần sau đọc các bài này được dễ dàng vàpnhanh chóng. Để TênTruyNhậ ưa thích, hoặc lưu nhớ MãBàiTrước có quan hệ sau: MậtKhẩu thể hiện mối quan hệ trên ta ThứTự QuyềnTruyCậ MãChủĐề p Tiêu Đề NgườiGửi Email NgàyGiờGửi NộiDung
- Xay dung dien dan tren web 21 Mô hình thực thể kết hợp: BàiGửi TừKhoá ChủĐề 0-n 1-1 MãBàiGửi MãTừKhoá 1-n 1-n MãChủĐề Thuộc về Cấp TừKhoá TênChủĐ MãBàiTrướ ề c ThứTự Tiêu Đề NgườiGửi Email NgàyGiờGử i 1-1 NộiDung Ghinhớbài ChủĐề BàiGửiớ bài Ghi nh 0-n MãBàiGửi 1-1 Mã MãChủĐề 1-1 0-n Cấp 0-n Mãbài TênChủĐề MãBàiTrước MãNgườiSD NgườiSD ThứTự 1-1 MãCh ườ ề MãNgủĐiSD Tiêu Đyđủ Tênđầ ề NgườiGửi ậ TênTruyNh Mô hình quan niệm dữ liệu Email p NgàyGi u MậtKhẩờGửi NộiDung 0-n NgườiSD MãNgườiSD 1-n TênTruyNhập MậtKhẩu QuyềnTruyCậ p 1-1 ChỉMục TừKhoá 0-n 1-1 MãTừKhoá MãChỉMục TừKhoá MãBàiGửi MãTừKhoá
- Xay dung dien dan tren web 22 Chuyển đổi mô hình quan niệm dữ liệu thành mô hình logic dữ liệu tệp: Bảng BàiGửi: Bảng này được dùng để lưu trữ các bài được gửi lên diễn đàn Dữ liệu Mô tả kiểu dữ liệu Mô tả )a.1.3. MãBàiGửi Mã (Số thứ tự) của bài được gửi. N Cấp Dùng chứa cấp của bàI gửi. N MãBàiTrước Chứa MãBàiGửi của bàI mà nó trả lời. N ThứTự N MãChủĐề Chứa mã chủ đề của bài gửi đó N TiêuĐề Chứa tiêu đề của bài gửi M NgườiGửi Tên của người gửi C50 Địa chỉ Email của người gửi Email C100 NgàyGiờGửi Ngày giờ lúc gửi D NộiDung Nội dung của bài gửi M Bảng ChỉMục: )a.1.2. Dữ liệu Mô tả kiểu dữ liệu Mô tả MãChỉMục N MãBàiGửi N MãTừKhoá N Bảng TừKhoá: )a.1.4. Dữ liệu Mô tả kiểu dữ liệu Mô tả MãTừKhoá N TừKhoá C30 Bảng NgườiSD: )a.1.5. Dữ liệu Mô tả kiểu dữ liệu Mô tả MãNgườiSD N TênTruyNhập C30 MậtKhẩu C30 )a.1.1.
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Hướng dẫn sử dụng và bài tập cơ bản Packet Tracer 5.0
13 p | 1115 | 296
-
Đồ án tốt nghiệp- Đềtài: XÂY DỰNG DIỄN ĐÀN TRÊN MẠNG
33 p | 735 | 265
-
Xây dựng hệ thống đám mây điện toán của riêng bạn với Ubuntu- P1
5 p | 270 | 96
-
Phát triển web
15 p | 209 | 57
-
Xây dựng hệ thống đám mây điện toán của riêng bạn với Ubuntu
10 p | 158 | 50
-
Phần 3: Cài đặt style (Skin) cho diễn đàn
8 p | 118 | 35
-
XÂY DỰNG BẢN ĐỒ TRÊN ĐIỆN THOẠI DI ĐỘNG CÓ HỖ TRỢ JAVA - 1
17 p | 139 | 29
-
Xây dựng tường lửa bảo vệ máy tính toàn diện
4 p | 128 | 17
-
Hướng dẫn về DD-WRT Phần 3: Xây dựng một Bridge không dây
9 p | 129 | 14
-
Điện toán mây làm biến đổi cách phòng chống virus?
4 p | 74 | 14
-
XÂY DỰNG BẢN ĐỒ TRÊN ĐIỆN THOẠI DI ĐỘNG CÓ HỖ TRỢ JAVA - 9
17 p | 81 | 11
-
Giáo trình hướng dẫn phân tích nguyên tắc lập trình trong access với joomla code p7
5 p | 87 | 10
-
20 lý do nên xây dựng website
4 p | 60 | 5
-
Đánh giá các phương pháp dựa trên deep learning cho bài toán phát hiện logo
8 p | 24 | 5
-
Giáo trình hướng dẫn tạo ra những kiểu dữ liệu mới bằng việc tạo ra các lớp đối tượng theo phương thức đa hình p6
5 p | 70 | 5
-
Giáo trình hướng dẫn phân tích phương pháp định tuyến các giao thức trong cấu hình TCPU p5
6 p | 60 | 4
-
GIÁO TRÌNH HƯỚNG DẪN TRUY CẬP CÁC THÀNH PHẦN TRONG MẢNG ĐA CHIỀU CÓ KÍCH THƯỚC KHÁC NHAU p3
5 p | 63 | 4
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn