1. Thiết kế diễn đàn.
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:
Liệt kê tất cả các topic
Liệt kê tất cả các topic Tìm kiếm một topicTìm kiếm một topic
Tạo mới một topic
Tạo mới một topic
Liệt kê tất cả các đáp ứng
Liệt kê tất cả các đáp ứng
Xoá một topic
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. 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.
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ụngsẽ xuất hiện ở mọi trang giao diện JSP khác. 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).
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.
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ừ thuộc tính action của thẻ <form> trong trang index.jsp. Nội dung như sau
Chương VI
HẠN CHẾ – HƯỚNG CẢI TIẾN 1. Hạn chế 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.