XÂY DỰNG ỨNG DỤNG FORUM 1 Thi ết kế diễn đàn.

Một phần của tài liệu Đồ án tốt nghiệp đại học: " Nghiên cứu công nghệ JSP & Java, xây dựng Website bán hàng cho công ty cổ phần chế biến gỗ Việt Đức Kha " pdf (Trang 53 - 58)

1.1. Thiết kế xử lý. Các hoạt động chính của diễn đàn trong chương trình bán hàng là: Liệt kê tất cả các topic của diễn đàn. Tìm kiếm một topic. Tạo mới một topic. Trả lời một topic. Xố một topic.

Tĩm lại: Cơ chế một diễn đàn được mơ tả bằng sơđồ sau:

Error!

XỬ LÝ: Liệt kê tất cả các topic

Các topic ởđây là các vấn đề mà khách hàng muốn trao đổi với cơng ty, hoặc muốn các thành viên trong cơng ty với nhau nhằm bàn bạc về một vấn đề nào đĩ. Xử

lý này được mơ tả như sau:

Tiếp nhận yêu cầu liệt kê các topic.

Liệt kê tất cả các topic Tìm kiếm một topic

Tạo mới một topic

Trả lời một topic

Liệt kê tất cả các đáp ứng Xoá một topic

Truy xuất cơ sở dữ liệu (bảng messages) Xuất ra màn hình các topic.

XỬ LÝ: Tạo mới một topic

Khi cần một khách hàng cĩ thể trao đổi các vấn đề mà cần bàn bạc đến các khách hàng khác và mong cĩ ý kiến trao đổi của nhiều người. Việc tạo mới một topic

được mơ tả như sau:

Tiếp nhận yêu cầu tạo mới một topic.

Tiếp nhận các nội dung của việc tạo topic như tên topic, người tạo topic và nội dung topic.

Lấy max(message_id)+1 trong bảng messages để tạo khố cho topic. Lưu vào trong cơ sở dữ liệu.

XỬ LÝ: Tìm kiếm theo nội dung topic

Yêu cầu này đặt ra khi cĩ quá nhiều topic, người sử dụng chỉ muốn tìm kiếm một topic cĩ chủ đề giống chủ đề mình cần tìm. Mơ tả việc tìm kiếm một nội dung topic như sau:

Tiếp nhận yêu cầu tìm kiếm topic Lấy thơng tin tìm kiếm.

Truy xuất cơ sở dữ liệu cĩ topic cĩ chữ giống với nội dung tìm kiếm. Liệt kê các topic thoả yêu cầu tìm kiếm.

XỬ LÝ: Liệt kê tất cả các đáp ứng cho một topic

Khi khách hàng hoặc thành viên của cơng ty chọn một topic để xem xét các trả

lời cho topic tương ứng thì yêu cầu này cần phải thực hiện như sau: Tiếp nhận yêu cầu cần liệt kê.

Lấy mã số của tên topic cần liệt kê (mã số = message_id). Truy xuất cơ sở dữ liệu tương ứng với message_id đĩ. Liệt kê tất cả các đáp ứng của topic.

XỬ LÝ: Đáp ứng một topic

Mỗi khách hàng hoặc thành viên của cơng ty cĩ thể trao đổi kinh nghiệm về

một vấn đề mà mình biết cho các khách hàng hoặc thành viên khác mà họđang quan tâm vấn đềđĩ. Các bước xử lý được mơ tả như sau:

Tiếp nhận yêu cầu đáp ứng. Lấy mã số của topic cần đáp ứng. (adsbygoogle = window.adsbygoogle || []).push({});

Ghi nhận các thơng tin của người đáp ứng (tên, nội dung đáp ứng) vào cơ sở dữ liệu.

XỬ LÝ: Xố một topic

Lấy mã số của topic cần xố.

Xố tất cả nội dung của topic trong cơ sở dữ liệu 1.2. Thiết kế bảng dữ liệu

Xây dựng diễn đàn bằng JSP cho Web site này, chúng ta cần một bảng cơ sở dữ

liệu để lưu nội dung của chủ đề bàn bạc, tên tác giả, người gửi bài, ngày tháng bài

được gởi, … cùng các trang JSP tương tác khác.

Messages:Bảng chứa thơng tin của diễn đàn

KEY COMLUMN NAME DATATYPE LENGTH

K Message_id Smallint 2 Message_parent_id Smallint 2 Topic Varchar 50 Author Varchar 50 Date_entered Datetime 8 Message Varchar 300 Chú thích:

Message_id: Khố duy nhất cho mỗi đề mục.

Message_parent_id: Quan hệ với đề mục cha (NULL nếu là đề mục gốc). Topic: Tiêu đề cần thảo luận của đề mục.

Author: Tên người gởi bài. Date_entered: Ngày gởi bài. Message: Nội dung cần thảo luận.

2. Chức năng các trang JSP cho ứng dụng forum: bao gồm các trang sau. 2.1. Trang index.jsp 2.1. Trang index.jsp

Trước hết là trang index.jsp, đây là trang chủ của một ứng dụng. Trong trang này ta đọc từ bảng dữ liệu message các chủ đề hiện cĩ. Hiển thị các chủ đề và phân trang chúng(5 mẫu tin đọc được trên một trang). Người dùng cĩ thể kích chuột vào các liên kết Previous hoặc Next để đi đến các trang dữ liệu khác. Ta cũng được cung cấp cơ chế sắp xếp dữ liệu theo tên đề mục (topic), tên người gửi, ngày tháng bài được gửi… Trang chủ index.jsp cũng bao gồm một thẻ <form> trỏđến trang search.jsp thực hiện thao tác tìm kiếm khi ta nhấn vào search (submit).

2.2. Phần tiêu đề trang: chỉ là file chứa các hình ảnh tiêu đề và logo dành cho

ứng dụng sẽ xuất hiện ở mọi trang giao diện JSP khác.

2.3. Trang viewthread.jsp

Khi người dùng kích chuột vào một hyperlink của một chủđề cần thảo luận ta sẽ sử dụng trang viewthread.jsp để hiển thị chi tiết các mục trả lời đã được gởi lên.

Mỗi chủđề cung cấp số mid (message_id) trên đường liên kết URL dạng query string, trang viewthread.jsp sử dụng tham số này để tìm ra chủ đề chính cũng như các câu trả

lời con liên quan (căn cứ vào trường message_parent_id).

2.4. Trang newthread.jsp

Nếu người dùng muốn tạo một chủ đề mới, họ cĩ thể kích chuột vào mục newthread của trang chủ. Trang newthread.jsp dưới đây sẽ hiển thị giao diện để người dùng nhập vào tên người gởi bài, tên chủđề và nội dung.

2.5. Trang savethread.jsp

Nhiệm vụ của trang này khá đơn giản. Đầu tiên nĩ tiếp nhận dữ liệu do trang newthread.jsp gửi lên. Tiếp đến, là tạo khố cho mục dữ liệu chèn vào. Khố được tạo bằng cách lấy giá trị lớn nhất của trường message_id hiện hành cộng thêm 1. sau cùng lệnh SQL INSERT được gọi để chèn dữ liệu vào bảng.

2.6. Trang reply.jsp

Trong quá trình xem trả lời của các mục thảo luận, người dùng cĩ thể nhấn vào nút Reply để phản hồi hoặc gĩp thêm ý kiến vào mục thảo luận. Trang reply.jsp rất giống với trang newthread.jsp, tuy nhiên trang reply.jsp liên quan đến các đề mục đã cĩ.

2.7. Trang savereply.jsp

Tương tự như trang savethread.jsp trước đây, trang savereply.jsp thực hiện chức năng lưu câu trả lời vào bảng dữ liệu. Tuy nhiên, vì đây là câu trả lời liên quan đến đề

mục đã cĩ, ta lấy khố của đề mục cha từđối số gửi lên bởi trang reply.jsp mang tên mid. Sau cùng, lệnh INSERT của SQL được gọi để chèn dữ liệu cho câu trả lời vào bảng dữ liệu. (adsbygoogle = window.adsbygoogle || []).push({});

2.8. Trang search.jsp

Một khi trang web của ta được nhiều người sử dụng truy cập và thảo luận trên forum, lượng đề mục cũng như số luợng câu trả lời sẽ tăng lên. Chúng ta cần cung cấp cơ chế cho phép người dùng tìm kiếm xem một đề mục nào đĩđã được thảo luận trước

đĩ hay chưa. Trang search.jsp sẽ thực hiện cơng việc này.

Cơ chế hiển thị của trang search.jsp rất giống với trang index.jsp, tuy nhiên trang search.jsp thực hiện chức năng tìm kiếm trong mệnh đề WHERE của câu lệnh SQL dựa vào dữ liệu từ ơ nhập liệu mang tên s_topic. Trang search.jsp được gọi từ

Chương VI

HẠN CHẾ – HƯỚNG CẢI TIẾN

1. Hạn chế

Như vậy, em đã thiết kế thành cơng và đã hiện thực được mơ hình bán hàng qua mạng (thương mại điện tử). Nhưng với lượng thời gian cĩ hạn và nội dung đề tài quá lớn, nên khơng thể hồn thiện tất các chức năng cần thiết cho mơ hình. Chính vì lý do này, hệ thống cịn một số hạn chế nhất định là điều khĩ tránh khỏi.

Dưới đây là một số hạn chế mà khơng thể xây dựng:

Quá trình kiểm tra và thử nghiệm hệ thống chưa được chú ý vì lý do khơng đủ

nhân lực và thời gian thực hiện cịn hạn hẹp.

Hệ thống giúp đỡ sử dụng của hệ thống chưa được xây dựng. Hạn chế này sẽ

gây khĩ khăn rất nhiều cho người dùng cuối (end user).

Hệ thống chỉ cĩ bản cài đặt trên mơi trường windows, chưa cĩ bản cài đặt chính thức, thống nhất cho các mơi trường khác.

Và một số hạn chế khác sẽ phát sinh trong quá trình kiểm tra của các beta tester. Cơng cụ xây dựng này cịn quá đơn giản.

Chương trình xây dựng phức tạp nên việc cập nhật, nâng cấp chương trình hơi khĩ thực hiện.

2. Hướng cải tiến

Nhìn chung, em đã thực hiện và xây dựng được các phần chính của hệ thống. Ở

mức độ vừa và nhỏ, hệ thống cĩ thể được áp dụng vào thực tế. Tuy nhiên, hệ thống cần cĩ cĩ một số cải tiến sau trong tương lai.

Cĩ thể nâng cấp và cải tiến đểđưa vào vận hành sử dụng. Xây dựng hệ thống trợ giúp cho người sử dụng.

Một phần của tài liệu Đồ án tốt nghiệp đại học: " Nghiên cứu công nghệ JSP & Java, xây dựng Website bán hàng cho công ty cổ phần chế biến gỗ Việt Đức Kha " pdf (Trang 53 - 58)