Đề tài Xây dựng website tìm bạn cũ sử dụng công nghệ JSP với cơ sở dữ liệu SQL 2000

MỞ ĐẦU Lập trình Web là xu thể phát triển của công nghệ phần mềm đang thu hút rất nhiều nhà đầu tư cũng như người dùng Web. Không như mô hình lập trình Desktop truyền thống. Web thường gắn với Internet, nó đòi hỏi người lập trình phải học về những khái niệm cũng như phong cách lập trình mạng, thoát khỏi sự bó buộc cục bộ của những chương trình ứng dụng trước đây. Có rất nhiều kỹ thuật, ngôn ngữ cũng như môi trường phát triển phát triển ứng dụng Web đó là ASP, Perl, PHP, Coldfusion, JSP . Trong đó, JSP/Servlet (nền tảng dựa trên ngôn ngữ lập trình Java) có thể nói là rất phù hợp với lập trình Web và là một trong những lựa chọn sáng giá nhất. Đề tài xây dựng website tìm bạn cũ sử dụng công nghệ JSP với cơ sở dữ liệu SQL 2000 nhằm mục đích xây dựng một website cho phép các thành viên tham gia có thể tìm kiếm bạn bè, trao đổi thông tin cũng như tham gia thảo luận về các chủ đề trong diễn đàn. Bố cục đồ án gồm 3 chương: · Chương I: TỔNG QUAN Giới thiệu tổng quan về website tìm bạn cũ và các công nghệ liên quan. · Chương II: PHÂN TÍCH THIẾT KẾ Phân tích thiết kế bài toán website tìm bạn cũ sử dụng ngôn ngữ UML với công cụ hỗ trợ Rational Rose. · Chương III: CÀI ĐẶT VÀ KIỂM THỬ Cài đặt kiểm thử webiste và giới thiệu một số màn hình giao diện chính của website.

doc70 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2633 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đề tài Xây dựng website tìm bạn cũ sử dụng công nghệ JSP với cơ sở dữ liệu SQL 2000, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
MỤC LỤC DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT F FK Forgein Key Khóa ngoài H HTML Hyper Text Markup Language J JDK Java Development Kit JSP Java Server Page JDBC Java Database Connectivity O ODBC Open Database Connectivity Chuẩn kết nối cơ sở dữ liệu mở P PK Primary Key Khóa chính U UML Unified Modeling Language Ngôn ngữ mô hình hóa thống nhất DANH MỤC CÁC HÌNH VẼ Hình 2.1: Biểu đồ use case tổng quan chức năng của Admin 13 Hình 2.2: Biểu đồ use case tổng quan chức năng của Member và Guest 14 Hình 2.3: Phân rã use case Quản lý Member 14 Hình 2.4: Phân rã use case Quản lý diễn đàn 15 Hình 2.5: Phân rã use case Duyệt yêu cầu thêm trường 15 Hình 2.6: Phân rã use case Cập nhật thông tin 16 Hình 2.7: Phân rã use case: Quản lý thông tin bạn bè 17 Hình 2.8: Phân rã use case Tìm bạn 17 Hình 2.9: Phân rã use case Tham gia diễn đàn 18 Hình 2.10: Phân rã use case Quản lý tin nhắn 18 Hình 211: Sơ đồ lớp phân tích của website tìm kiếm bạn cũ 28 Hình 2.17: đồ tuần tự cho chức năng Yêu cầu cấp lại mật khẩu. 30 Hình 2.18: đồ tuần tự cho chức năng Thêm thông tin quá trình học tập 31 Hình 2.19: Biểu đồ tuần tự cho chức năng Sửa thông tin quá trình học tập 32 Hình 2.20: Biểu đồ tuần tự cho chức năng Xóa thông tin quá trình học tập 33 Hình 2.21: Biểu đồ tuần tự chức năng Tìm bạn 33 Hình 2.26: Biểu đồ cộng tác chức năng Chấp nhận thêm trường 34 Hình 2.27: Biểu đồ cộng tác chức năng Yêu cầu cấp lại mật khẩu 34 Hình 2.28: Biểu đồ cộng tác chức năng Thêm thông tin quá trình học tập 35 Hình 2.29: Biểu đồ cộng tác chức năng Sửa thông tin quá trình học tập 36 Hình 2.30: Biểu đồ cộng tác chức năng Xóa thông tin quá trình học tập 37 Hình 2.31: Biểu đồ cộng tác chức năng Tìm bạn 37 Hình 2.32: Biểu đồ lớp chi tiết 38 Hình 2.33: Mô hình cơ sở dữ liệu 59 DANH MỤC CÁC BẢNG Bảng 2.5: Kịch bản chấp nhận thêm trường 19 Bảng 2.6: Kịch bản Yêu cầu cấp lại mật khẩu 20 Bảng 2.7: Kịch bản Thêm thông tin quá trinh học tập 22 Bảng 2.8: Kịch bản Yêu cầu thêm trường 23 Bảng 2.9: Kịch bản Sửa thông tin quá trình học tập 24 Bảng 2.10: Kịch bản Xóa thông tin quá trình học tập 25 Bảng 2.11:Kịch bản Tìm bạn 26 Bảng 2. 12: Bảng thiết kế chi tiết lớp Member 39 Bảng 2. 13: Bảng thiết kế chi tiết lớp Thành phố 40 Bảng 2. 14: Bảng thiết kế chi tiết lớp Quận Huyện 41 Bảng 2. 15: Bảng thiết kế chi tiết lớp Loại trường 42 Bảng 2.16: Bảng thiết kế chi tiết lớp Trường 43 Bảng 2.17: Bảng thiết kế chi tiết lớp Học tập 44 Bảng 2.18: Bảng thiết kế chi tiết lớp Công tác 46 Bảng 2.19: Biểu đồ thiết kế chi tiết lớp Message 47 Bảng 2.20: Biểu đồ thiết kế chi tiết lớp Chủ đề 47 Bảng 2.21: Biểu đồ thiết kế chi tiết lớp Bài viết 48 Bảng 2.22: Biểu đồ thiết kế chi tiết lớp Friend 49 Bảng 2.23: Biểu đồ thiết kế chi tiết lớp Lưu bút 50 Bảng 2.24: Biểu đồ thiết kế chi tiết lớp Yêu cầu 51 Bảng 2.25: Bảng Member 52 Bảng 2.26: Bảng Thành phố 53 Bảng 2.27: Bảng Quận Huyện 53 Bảng 2.28: Bảng Loại trường 53 Bảng 2.29: Bảng Trường 54 Bảng 2.30: Bảng học tập 54 Bảng 2.31: Bảng Công tác 55 Bảng 2.32: Bảng Message 55 Bảng 2.33: Bảng Chủ đề 56 Bảng 2.34: Bảng Bài viết 56 Bảng 2.35: Bảng Friend 56 Bảng 2.36: Bảng Từ khóa 57 Bảng 2.37: Bảng Lưu bút 57 Bảng 2.38: Bảng Yêu cầu 58 LỜI CẢM ƠN Em xin chân thành cảm ơn các thầy, các cô khoa Công nghệ Thông tin Học viện Bưu chính Viễn Thông đã tận tình dạy dỗ, truyền đạt cho chúng em nhiều kiến thức quý báu. Em xin tỏ lòng biết ơn sâu sắc đến thầy giáo PGS.TS Trần Đình Quế - người trực tiếp hướng dẫn em trong toàn bộ quá trình thực hiện đồ án này. Xin chân thành cảm ơn toàn thể các bạn trong lớp HCD07-CNTT2 đã giúp đỡ, động viên tôi rất nhiều trong quá trình thực hiện đề tài. Hà Nội, ngày20 tháng 08 năm 2009 Sinh viên thực hiện Trần Anh Liêm MỞ ĐẦU Lập trình Web là xu thể phát triển của công nghệ phần mềm đang thu hút rất nhiều nhà đầu tư cũng như người dùng Web. Không như mô hình lập trình Desktop truyền thống. Web thường gắn với Internet, nó đòi hỏi người lập trình phải học về những khái niệm cũng như phong cách lập trình mạng, thoát khỏi sự bó buộc cục bộ của những chương trình ứng dụng trước đây. Có rất nhiều kỹ thuật, ngôn ngữ cũng như môi trường phát triển phát triển ứng dụng Web đó là ASP, Perl, PHP, Coldfusion, JSP…. Trong đó, JSP/Servlet (nền tảng dựa trên ngôn ngữ lập trình Java) có thể nói là rất phù hợp với lập trình Web và là một trong những lựa chọn sáng giá nhất. Đề tài xây dựng website tìm bạn cũ sử dụng công nghệ JSP với cơ sở dữ liệu SQL 2000 nhằm mục đích xây dựng một website cho phép các thành viên tham gia có thể tìm kiếm bạn bè, trao đổi thông tin cũng như tham gia thảo luận về các chủ đề trong diễn đàn. Bố cục đồ án gồm 3 chương: Chương I: TỔNG QUAN Giới thiệu tổng quan về website tìm bạn cũ và các công nghệ liên quan. Chương II: PHÂN TÍCH THIẾT KẾ Phân tích thiết kế bài toán website tìm bạn cũ sử dụng ngôn ngữ UML với công cụ hỗ trợ Rational Rose. Chương III: CÀI ĐẶT VÀ KIỂM THỬ Cài đặt kiểm thử webiste và giới thiệu một số màn hình giao diện chính của website. CHƯƠNG I: TỔNG QUAN 1.1 GIỚI THIỆU HỆ THỐNG Webiste tìm kiếm bạn cũ, cho phép các thành viên tham gia có thể tìm kiếm bạn bè, trao đổi thông tin cũng như tham gia thảo luận về các chủ đề thông qua chức năng diễn đàn. Để sử dụng chức năng tìm kiếm thông tin trên webiste các thành viên tham gia website phải đăng ký một tài khoản trong hệ thống. Webiste bao gồm một số chức năng chính sau: Các thành viên sau khi đăng ký tài khoản có thể sửa đổi, bổ xung thêm các thông tin cá nhân, các thông tin về quá trình học tập, công tác các thông tin này sẽ phục vụ cho quá trình tìm kiếm. Thông tin về tỉnh thành phố, quận huyện, trường học nơi các thành viên đã từng tham gia học tập, công tác sẽ được chọn từ danh mục cơ sở dữ liệu chuẩn của website. Thông tin về các trường Đại học, Trung học và Tiểu học trong danh mục cơ sở dữ liệu sẽ được các thành viên hoàn thiện dần thông qua chức năng gửi yêu cầu thêm trường. Khi thành viên xác định trường nơi mình học tập không có trong danh mục trường, hoặc thông tin về trường không đầy đủ cần sửa đổi lại, website cung cấp chức năng gửi yêu cầu thêm trường. Các yêu cầu này sẽ được chuyển đến Admin quản lý website. Admin sẽ có trách nhiệm duyệt danh sách các yêu cầu. Khi một yêu cầu thêm trường được duyệt. Thông tin về trường sẽ được tự động thêm mới vào danh mục trường trong cơ sở dữ liệu. Chức năng gửi, nhận tin nhắn để các thành viên có thể liên lạc trao đổi thông tin với nhau. Kèm theo chức năng gửi tin nhắn các thành viên có thể thiết lập các mối quan hệ bạn bè thông qua các tin nhắn mời kết bạn. Chức năng quản lý danh sách bạn bè, các thành viên sử dụng chức năng này để quản lý danh sách những người bạn trong website, gửi yêu cầu kết bạn hoặc hủy bỏ kết bạn. Chức năng viết lưu bút, cho phép các thành viên hoặc khách ghé thăm webiste có thể ghi chép lại những dòng lưu niệm, những cảm xúc, những tâm tình, những gợi nhớ về các kỷ niệm thời học sinh, kỷ niệm tuổi thơ mỗi khi ghé thăm website. Chức năng tìm kiếm bạn cũ, cho phép các thành viên tìm kiếm bạn bè theo nhiều tiêu chí khác nhau (theo thông tin về quá trình học tập, quá trình công tác hoặc thông tin cá nhân). Từ khóa tìm kiếm của các thành viên sẽ được hệ thống lưu lại vào cơ sở dữ liệu, phục vụ cho việc phân tích thông tin tìm kiếm. Chức năng diễn đàn, cho phép các thành viên tham gia thảo luận hoặc đăng tin tìm kiếm bạn cũ theo các chủ đề. Các chủ đề này được quản lý bởi Admin. Ngoài ra website còn bao gồm một số chức năng khác khác như: Chức năng cấp lại mật khẩu khi thành viên quên mật khẩu. Chức năng Hủy tài khoản, khi thành viên muốn hủy bỏ tài mình đã đăng ký trên website. Khi một tài khoản được hủy bỏ, tất cả các thông tin liên quan đến tài khoản này sẽ được xóa bỏ khỏi cơ sở dữ liệu của website. Chức năng quản trị thành viên dành cho Admin. 1.2 CÁC CÔNG NGHỆ SỬ DỤNG 1.2.1 Ngôn ngữ mô hình hóa hướng đối tượng UML UML (Unified Modelling Language) là ngôn ngữ mô hình hóa tổng quát được xây dựng để đặc tả, phát triển và viết tài liệu cho các khía cạnh trong phát triển phần mềm hướng đối tượng UML giúp người phát triển hiểu rõ và ra quyết định liên quan đến phần mềm cần xây dựng. UML bao gồm một tập các khái niệm, bác biểu đồ và hướng dẫn. UML hỗ trợ xây dựng hệ thống hướng đối tượng dựa trên việc nắm bắt các khía cạnh cấu trúc tĩnh và các hành vi động của hệ thống. - Các cấu trúc tĩnh định nghĩa các kiểu đối tượng quan trọng của hệ thống, nhằm cài đặt và chỉ ra mối quan hệ giữa các đối tượng đó. - Các hành vi động (dynamic behavior) định nghĩa các hoạt động của các đối tượng theo thời gian và tương tương tác giữa các đối tượng hướng tới đích. Các mục đích của ngôn ngữ mô hình hóa thống nhất UML: Mô hình hóa các hệ thống sử dụng các khái niệm hướng đối tượng. Thiết lập sự liên hệ từ nhận thức của con người đến các sự kiện cần mô hình hóa. Giải quyết vấn đề về mức độ thừa kế trong các hệ thống phức tạp voiứ nhiều ràng buộc khác nhau. Tạo một ngôn ngữ mô hình hóa có thể sử dụng được bởi người và máy. UML quy định một loạt các ký hiệu và quy tắc để mô hình hóa các pha trong quá trình phát triển phần mềm hướng đối tượng dưới dạng các biểu đồ. 1.2.2 Cơ sở dữ liệu SQL 2000 Để xây dựng một ứng dụng Web hoàn chỉnh, ta cần sử dụng cơ sở dữ liệu cho mục đích xử lí, cập nhật và lưu trữ thông tin. SQL server 2000 là một hệ cơ sở dữ liệu đa người dùng, chạy trên môi trường Windows 9x/XP, Windows NT, Windows 2000. Có khả năng xử lý một lượng lớn dữ liệu từ cơ sở dữ liệu của máy tính lớn (mainframe) cho đến dữ liệu dùng cho các máy tính cá nhân. 1.2.3 Ngôn ngữ: JSP JSP là một công công nghệ rất mạnh để tạo trang HTML động về phía trình chủ. JSP là phần mở rộng trực tiếp của Java Servlet. Bộ biên dịch JSP sẽ ánh xạ trực tiếp mã JSP thành Servlet. Viết JSP ta không cần phải trải qua quá trình biên dịch tập tin thực thi .class như trong Servlet. JSP cung cấp mô hình lập trình Web dễ dàng và tiện dụng hơn Servlet. Công việc biên dịch trang JSP được tự động thực hiện bởi trình chủ. 1.2.4 JDBC và trình điều khiển truy xuất cơ sử dữ liệu: Công việc lập trình ứng dụng mà JSP thường thực hiện nhất đó là lưu trữ và truy xuất cơ sở dữ liệu, cung cấp thông tin cho trình khách. Việc truy xuất dữ liệu trong JSP dựa vào trình truy xuất JDBC theo chuẩn Java. JDBC là các trình đạo diễn cho phép truy cập vào cơ sở dữ liệu của các hệ như Access, MS SQL Server, Oracle… bằng ngôn ngữ truy vấn SQL. Theo đặc tả của Sun có 4 kiểu JDBC nhau: Kiểu 1: JDBC sử dụng cầu nối ODBC Kiểu 2: JDBC kết nối trực tiếp với các trình điều khiển cư sở dữ liệu. Kiểu 3: JDBC kết nối thông quá các ứng dụng mạng trung gian. Kiểu 4: JDBC kết nối thông qua các trình điều khiển đặc thù ở xa. Trong bài toán Xây dựng website tìm bạn cũ sử dụng kiểu 1- JDBC sử dụng cầu nối ODBC. Kết nối ODBC(Open Database Connectivity) là cách kết nối tổng quát nhất đến mọi hệ cơ sở dữ liệu thông qua trình quản lý ODBC của Windows. Mỗi hệ CSDL dữ liệu một trình điều khiển có khả năng đọc hiểu được cơ sở dữ liệu của chúng. Trình điều khiển này sẽ sẽ được đăng ký với bộ quản lý ODBC. Tất các lệnh truy xuất cơ sở dữ liệu sau đó được thực thi bằng lệnh SQL. Java cung cấp khả năng sử dụng JDBC để gọi ODBC và bằng cách này ta có thể kiểm soát rất nhiều hệ quản trị CSDL khác nhau. CHƯƠNG II: PHÂN TÍCH THIẾT KẾ 2.1 PHA PHÂN TÍCH: Phần này thiết lập một cách nhìn tổng quan rõ ràng về bài toán website tìm bạn cũ và các mục đích chính của hệ thống cần xây dựng. Liệt kê các nhiệm vụ mà bài toán cần thực hiện thông qua các mô hình. Yêu cầu của hệ thống bao gồm 2 nhóm chức năng chính sau: Nhóm chức năng dành cho các thành viên Nhóm chức năng quản trị website. 2.1.1 Mô hình Use Case và kịch bản: 2.1.1.1 Xây dựng biểu đồ Use Case: a) Biểu đồ Use case mức tổng quan: Hình 2.1: Biểu đồ use case tổng quan chức năng của Admin Các use case: Quản lý Member, Quản lý diễn đàn, Duyệt yêu cầu thêm trường được phân rã thành các use case nhỏ hơn. Hình 2.2: Biểu đồ use case tổng quan chức năng của Member và Guest Use Case Cập nhật thông tin, Quản lý tin nhắn, Tham gia diễn đàn, Quản lý thông tin bạn bè được phân rã thành các use case nhỏ hơn. b) Phân rã biểu đồ Use case Use case Quản lý Member được phân rã thành 2 use case nhỏ hơn thực hiện các chức năng cụ thể là: Active/Inactive Member (Kích hoạt / không kích hoạt thành viên) và Xóa Member. Hình 2.3: Phân rã use case Quản lý Member Use case Quản lý diễn đàn được phân rã thành 7 uses case nhỏ thực hiện các chức năng cụ thể: Thêm chủ đề, Xóa chủ đề, Sửa chủ đề, Thêm bài viết, Trả lời bài viết, Xóa bài viết, Sửa bài viết. Hình 2.4: Phân rã use case Quản lý diễn đàn Use case: Duyệt yêu cầu thêm trường được phân rã thành 2 use case với chức năng cụ thể: Chấp nhận thêm trường và Từ chối thêm trường. Hình 2.5: Phân rã use case Duyệt yêu cầu thêm trường Use Case Cập nhật thông tin được phân rã thành 3 use case: Đổi mật khẩu Cập nhật thông tin cá nhân Cập nhật thông tin về quá trình học tập Cập nhật thông tin về quá trình công tác Use case Cập nhật thông tin quá trình học tập và Cập nhật thông tin quá trình công tác được phân rã thành các use case nhỏ hơn. Use case Cập nhật thông tin về quá trình học tập được phân rã thành 4 use case với các chức năng cụ thể: Thêm thông tin quá trình học tập, Sửa thông tin quá trình học tập, Xóa thông tin quá trình học tập và Yêu cầu thêm trường. Use case Cập nhật thông tin quá trình công tác được phân rã thành 3 use case với các chức năng cụ thể: Thêm thông tin quá trình công tác, Xóa thông tin quá trình công tác, Sửa thông tin quá trình công tác Hình 2.6: Phân rã use case Cập nhật thông tin Use case Quản lý thông tin bạn bè được phân rã thành 2 use case với chức năng cụ thể: Mời kết bạn và Hủy bỏ kết bạn. Hình 2.7: Phân rã use case: Quản lý thông tin bạn bè Use case tìm bạn được phân rã thành 2 use case với chức năng cụ thể; Tìm bạn học và tìm đồng nghiệp. Hình 2.8: Phân rã use case Tìm bạn Use case Tham gia diễn đàn được phân rã thành 3 use case nhỏ thực hiện các chức năng cụ thể: Thêm bài viết, Trả lời bài viết, Sửa bài viết. Hình 2.9: Phân rã use case Tham gia diễn đàn Use case Quản lý tin nhắn được phân rã thành các use case mức nhỏ hơn với các chức năng cụ thể: Mời kết bạn, gửi tin nhắn, Xóa tin nhắn, Trả lời, Đồng ý kết bạn, Từ chối kết bạn. Hình 2.10: Phân rã use case Quản lý tin nhắn 2.2.1.2 Biểu diễn biểu đồ Use Case bằng kịch bản: Biểu diễn các biểu đồ use case ở phần trước bằng các kịch bản tương ứng. Kịch bản Chấp nhận thêm Trường. Tên Use Case Chấp nhận Thêm trường Tác nhân chính Admin Mức 3 Người chịu trách nhiệm Admin Tiền điều kiện Admin đã đăng nhập vào hệ thống. Trong CSDL có yêu cầu thêm Trường. Đảm bảo tối thiểu Trường được thêm vào CSDL Đảm bảo thành công Trường không được thêm vào CSDL Kích hoạt Admin chọn chức năng Chấp nhận thêm trường Chuỗi sự kiện chính: Admin chọn chức năng Duyệt yêu cầu thêm Trường. Hệ thống hiển thị danh sách các yêu cầu. Admin xác định yêu cầu cần duyệt. Hệ thống yêu cầu xác nhận thao tác thêm Trường vào CSDL. Admin xác nhận yêu cầu. Hệ thống thêm trường vào CSDL, xóa yêu cầu khỏi danh sách. Ngoại lệ: 5.1 Admin không xác nhận yêu cầu thêm trường, hệ thống quay trở lại trang danh sách yêu cầu, Trường không được thêm vào CSDL. Bảng 2.5: Kịch bản chấp nhận thêm trường Kịch bản yêu cầu cấp lại mật khẩu Tên Use Case Yêu cầu cấp lại mật khẩu Tác nhân chính Admin, Member Mức 1 Người chịu trách nhiệm Admin Tiền điều kiện Member đã có tài khỏan trong hệ thống. Đảm bảo tối thiểu Hệ thống loại bỏ các thông tin đã nhập và quay lại trang trước. Đảm bảo thành công Thông tin tài khoản được gửi đến email của Admin, Member Kích hoạt Admin, Member chọn chức năng Quên mật khẩu. Chuỗi sự kiện chính: Hệ thống hiển thị Form yêu cầu Admin, Member cung cấp thông tin về địa chỉ email. Hệ thống kiểm tra tính hợp lệ của thông tin. Hệ thống gửi thông tin về tài khoản vào địa chỉ email của Admin, Member. Hệ thống thông báo quá trình cấp lại mật khẩu thành công. Ngoại lệ: Hệ thống thông báo thông tin không hợp lệ, yêu cầu Admin, Member nhập lại thông tin. Bảng 2.6: Kịch bản Yêu cầu cấp lại mật khẩu Kịch bản Thêm thông tin QT học tập. Tên Use Case Thêm thông tin QT học tập Tác nhân chính Member Mức 5 Người chịu trách nhiệm Admin Tiền điều kiện Member đã đăng nhập vào hệ thống Đảm bảo tối thiểu Hệ thống loại bỏ các thông tin đã nhập và quay lại trang trước Đảm bảo thành công Thông tin về quá trình học tập được thêm vào CSDL Kích hoạt Member chọn chức năng Thêm quá trình học tập. Chuỗi sự kiện chính: Member chọn chức năng Thông tin quá trình Học tập. Hệ thống chuyển đến trang Thông tin quá trình học tập (bao gồm danh sách các bản ghi về quá trình học tập tương ứng với Member đó). Member chọn chức năng Thêm quá trình học tập (Đại học, Trung Học, Tiểu học). Hệ thống hiển thị danh mục các tỉnh/ thành phố trên cả nước. Member chọn Tỉnh/ thành phố nơi mình học tập Hệ thống hiển thị danh sách Quận/ Huyện tương ứng ứng với Tỉnh/Thành phố Member đã chọn. Member chọn Quận/Huyện nơi mình học tập. Hệ thống hiển thị danh sách các trường (Đại học,Trung học,Tiểu học) tương ứng với Quận/Huyện Member đã chọn. Member chọn Trường nơi mình đã học tập. Hệ thống hiển thị Form yêu cầu Member nhập thêm thông tin về quá trình học tập. Member nhập đầy đủ thông tin sau đó chọn nút Thêm quá trình học tập. Hệ thống kiểm tra tính hợp lệ của thông tin. Hệ thống thêm thông tin quá trình học tập vào cơ sở dữ liệu. Ngoại lệ: 8.1 Trường Member học chưa có trong danh sách Trường (Đại học, Trung học, Tiểu học). 8.1.a Member chọn chức năng Yêu cầu thêm Trường. (xem Kịch bản Yêu cầu thêm Trường) 8.2. Member chọn chức năng Hiển thị danh sách tất cả các trường. 8.2.a. Hệ thống hiển thị danh sách các trường (Đại học, Trung học, Tiểu học) trong cơ sở dữ liệu. 8.2.b. Tiếp tục bước 9 trong Chuỗi sự kiện chính. 11.1 Member chọn nút Hủy bỏ. Hệ thống loại bỏ các thông tin đã nhập và quay lại trang trước. 12.1. Hệ thống thông báo thông tin không đầy đủ, yêu cầu Member bổ xung thông tin. Bảng 2.7: Kịch bản Thêm thông tin quá trinh học tập Kịch bản Yêu cầu thêm trường. Tên Use Case Yêu cầu thêm Trường Tác nhân chính Member Mức 6 Người chịu trách nhiệm Admin Tiền điều kiện Member đã đăng nhập vào hệ thống Đảm bảo tối thiểu Hệ thống loại bỏ các thông tin đã nhập và quay lại trang trước Đảm bảo thành công Yêu cầu thêm Trường được thêm vào cơ sở dữ liệu. Kích hoạt Member chọn chức năng Yêu cầu thêm trường. Chuỗi sự kiện chính: Hệ thống hiển thị Form yêu cầu thêm trường. Member nhập đầy đủ thông tin Yêu cầu thêm Trường, sau đó chọn nút Gửi yêu cầu. Hệ thống kiểm tra tính hợp lệ của thông tin. Hệ thống thêm yêu cầu vào CSDL và thông báo quá trình Gửi yêu cầu thành công. Ngoại lệ: 2.1 Member chọn nút Hủy bỏ, Hệ thống loại bỏ các thông tin đã nhập và quay lại trang trước. 3.1 Hệ thống thông báo thông tin không đầy đủ, yêu cầu Member bổ xung thông tin. Bảng 2.8: Kịch bản Yêu cầu thêm trường Kịch bản Sửa thông tin QT học tập. Tên Use Case Sửa thông tin QT học tập Tác nhân chính Member Mức 5 Người chịu trách nhiệm Admin Tiền điều kiện Member đã đăng nhập vào hệ thống Đảm bảo tối thiểu Hệ thống loại bỏ các thông tin đã nhập và quay lại trang trước Đảm bảo thành công Thông tin sửa đổi được cập nhật vào cơ sở dữ liệu. Kích hoạt Member chọn chức năng Sửa thông tin quá trình học tập. Chuỗi sự kiện chính: Member chọn chức năng Thông tin quá trình Học tập. Hệ thống chuyển đến trang Thông tin quá trình học tập (bao gồm danh sách các bản ghi quá trình học tập tương ứng với Member đó). Member chọn bản ghi cần Sửa thông tin. Hệ thống hiển thị thông tin quá trình học tương ứng với bản ghi đó. Hệ thống nhập thông tin sửa đổi, chọn nút Lưu thay đổi Hệ thống kiểm tra tính hợp lệ của thông tin. Hệ thống cập nhật thông tin thay đổi vào cơ sở dữ liệu. Ngoại lệ: 5.1 Member chọn nút Hủy bỏ, Hệ thống loại bỏ các thông tin đã nhập và quay lại trang trước. 6.1. Hệ thống thông báo thông tin không đầy đủ, yêu cầu Member bổ xung thông tin. Bảng 2.9: Kịch bản Sửa thông tin quá trình học tập Kịch bản Xóa thông tin QT học tập Tên Use Case Xóa thông tin QT học tập Tác nhân chính Member Mức 5 Người chịu trách nhiệm Admin Tiền điều kiện Member đã đăng nhập vào hệ thống Đảm bảo tối thiểu Hệ thống loại bỏ các thông tin đã nhập và quay lại trang trước Đảm bảo thành công Thông tin QT học tập được xóa khỏi cơ sở dữ liệu. Kích hoạt Member chọn chức năng Xóa thông tin quá trình học tập. Chuỗi sự kiện chính: Member chọn chức năng Thông tin quá trình Học tập. Hệ thống chuyển đến trang Thông tin quá trình học tập (bao gồm danh sách các bản ghi Quá trình học tập tương ứng với Member đó). Member chọn bản ghi cần Xóa thông tin. Hệ thống yêu cầu xác nhận thao tác Xóa thông tin Member xác nhận yêu cầu. Hệ thống xóa bản ghi quá trình học tập khỏi cơ sở dữ liệu. Ngoại lệ: 5.1 Member không xác nhận thao tác Xóa thông tin, hệ thống quay lại trang trước đó. Bảng 2.10: Kịch bản Xóa thông tin quá trình học tập Kịch bản Tìm bạn (Tìm bạn học và Tìm đồng nghiệp) Tên Use Case Tìm bạn Tác nhân chính Member Mức 4 Người chịu trách nhiệm Admin Tiền điều kiện Member đã đăng nhập vào hệ thống Đảm bảo tối thiểu Hệ thống loại bỏ các thông tin đã nhập và quay lại trang trước Đảm bảo thành công Hệ thống hiển thị kết quả tìm kiếm. Kích hoạt Member chọn chức năng Tìm bạn học Chuỗi sự kiện chính: Hệ thống hiển thị Form tìm kiếm, yêu cầu Member nhập thông tin tìm kiếm. Member nhập thông tin tìm kiếm, click vào nút Tìm kiếm. Hệ thống kiểm tra tính hợp lệ của thông tin. Hệ thống chuyển đến trang hiển thị kết quả tìm kiếm. Ngoại lệ: 3.1 Hệ thống thông báo thông tin tìm kiếm không đầy đủ, yêu cầu Member bổ xung thông tin. Bảng 2.11:Kịch bản Tìm bạn 2.2.3 Xây dựng biểu đồ lớp trong pha phân tích Xem xét bài toán xây dựng website tìm bạn cũ, từ các use case và scenario ta sẽ liệt kê các danh từ. Dựa vào tập danh từ đó, bước đầu ta có thể xác định được một số lớp chính. Dựa trên các lớp đã được xác định, xem xét các động từ đi kèm với danh từ biểu diễn lớp trong scenario và xem xét xem các động từ đó có thể trở thành các phương thức được không. Các lớp chính và các phương thức chính cho bài toán Website tìm bạn cũ được thể hiện qua Sơ đồ lớp phân tích “xem Hình 2.11”. Các thông tin chi tiết về các phương thức này sẽ được cụ thể hóa trong pha thiết kế ở phần sau. Hình 2.11: Sơ đồ lớp phân tích của website tìm kiếm bạn cũ 2.2.3 Biểu đồ trạng thái Dựa trên các lớp đã tìm ra trong mô hình lớp, biểu đồ trạng thái được xây cho mỗi lớp. Biểu đồ này cho biết các trạng thái có thể có và các điều kiện chuyển đổi giữa các trạng thái. Hình 2. 12: Biểu đồ trang thái cho lớp Member 2.3 PHA THIẾT KẾ: Dựa trên các kết quả của pha phân tích, nội dung phần này bao gồm : Xây dựng các biểu đồ tương tác bao gồm biểu đồ tuần tự và biểu đồ cộng tác cho một số chức năng chính của bài toán dựa trên các sự kiện trong scenario của các chức năng đó. Thiết kế chi tiết : Xây dựng biểu đồ động cho các phương thức phức tạp trong các lớp và xây dựng các bảng thiết kế chi tiết cũng như kế hoạch cài đặt và tích hợp. Phát sinh mã chuẩn bị cho cài đặt hệ thống. 2.3.1 Các biểu đồ tương tác 2.3.1.1 Các biểu đồ tuần tự Biểu đồ tuần tự chức năng Chấp nhận thêm Trường. Hình 2.12: Biểu đồ tuần tự cho chức năng Chấp nhận thêm trường. Biểu đồ tuần tự chức năng Yêu cầu cấp lại mật khẩu Hình 2.13: đồ tuần tự cho chức năng Yêu cầu cấp lại mật khẩu. Biểu đồ tuần tự chức năng Thêm thông tin quá trình học tập: Hình 2.14: đồ tuần tự cho chức năng Thêm thông tin quá trình học tập Biểu đồ tuần tự chức năng Sửa thông tin quá trình học tập. Hình 2.15: Biểu đồ tuần tự cho chức năng Sửa thông tin quá trình học tập Biểu đồ tuần tự chức năng Xóa thông tin quá trình học tập Hình 2.16: Biểu đồ tuần tự cho chức năng Xóa thông tin quá trình học tập Biểu dồ tuần tự chức năng Tìm bạn (Tìm bạn học, Tìm bạn công tác). Hình 2.17: Biểu đồ tuần tự chức năng Tìm bạn 2.3.1.2 Các biểu đồ cộng tác Biểu đồ cộng tác cho chức năng Chấp nhận thêm trường Hình 2.18: Biểu đồ cộng tác chức năng Chấp nhận thêm trường Biểu đồ cộng tác cho chức năng Yêu cầu cấp lại mật khẩu Hình 2.19: Biểu đồ cộng tác chức năng Yêu cầu cấp lại mật khẩu Biểu đồ cộng tác cho chức năng Thêm thông tin QT học tập Hình 2.20: Biểu đồ cộng tác chức năng Thêm thông tin quá trình học tập Biểu đồ cộng tác cho chức năng Sửa thông tin QT học tập Hình 2.21: Biểu đồ cộng tác chức năng Sửa thông tin quá trình học tập Biểu đồ cộng tác cho chức năng Xóa thông tin QT học tập Hình 2.22: Biểu đồ cộng tác chức năng Xóa thông tin quá trình học tập Biểu đồ cộng tác cho chức năng Tìm bạn (Bạn học, Bạn đồng nghiệp) Hình 2.23: Biểu đồ cộng tác chức năng Tìm bạn 2.2.3 Biểu đồ lớp chi tiết Hình 2.24: Biểu đồ lớp chi tiết 2.2.4 Thiết kế chi tiết: 2.2.4.1 Xây dựng biểu đồ hoạt động cho các phương thức Hình 2. 25: Biểu đồ hoạt động cho phương thức Đăng nhập của lớp Member Hình 2. 26: Biểu đồ hoạt động cho phương thức Đổi mật khẩu của lớp Member 2.2.4.2 Xây dựng bảng thiết kế chi tiết Tên lớp Member Người thiết kế Trần Anh Liêm Người cài đặt Trần Anh Liêm Thời gian 20/08/2009 Tên thuộc tính Mô tả Kiểu Phạm vi userID Tên đăng nhập String private Password Mật khẩu String private Hoten Họ tên String private Ngaysinh Ngày sinh Datetime private Gioitinh Giới tính boolean private Noisong Nơi sống String private Email Địa chỉ email String private Active Kích hoạt boolean private Type Loại tài khoản boolean private Dienthoai Điện thoại String private Tên phương thức Mô tả Giá trị trả về Phạm vi Dangnhap() Đăng nhập hệ thống void Public Dangky() Đăng ký thành viên void public Doimatkhau() Đổi mật khẩu void public Huytaikhoan() Hủy tài khoản void public Đoạn khung mã cho lớp (xem Phụ lục) Bảng 2. 12: Bảng thiết kế chi tiết lớp Member Tên lớp Thanhpho Người thiết kế Trần Anh Liêm Người cài đặt Trần Anh Liêm Thời gian 20/08/2009 Tên thuộc tính Mô tả Kiểu Phạm vi TPID Mã định danh thành phố int private Thanhpho Tên thành phố String private Tên phương thức Mô tả Giá trị trả về Phạm vi Set_TPID Thiết lập mã định danh thành phố void Public Get_Name Lấy tên thành phố String public Hienthi() Hiển thị danh sách thành phố ResultSet public Đoạn khung mã cho lớp (xem Phụ lục) Bảng 2. 13: Bảng thiết kế chi tiết lớp Thành phố Tên lớp QuanHuyen Người thiết kế Trần Anh Liêm Người cài đặt Trần Anh Liêm Thời gian 20/08/2009 Tên thuộc tính Mô tả Kiểu Phạm vi QHID Mã định danh quận huyện int private TPID Mã định danh thành phố int private TenQH Tên quận huyện String private Tên phương thức Mô tả Giá trị trả về Phạm vi Set_TPID Thiết lập mã định danh thành phố void public Set_QHID Thiết lập mã định danh quận huyện void public Get_Name Lấy tên quận huyện String public Hienthi() Hiển thị danh sách quận huyện tương ứng theo mã định danh thành phố ResultSet public Đoạn khung mã cho lớp (xem Phụ lục) Bảng 2. 14: Bảng thiết kế chi tiết lớp Quận Huyện Tên lớp Loaitruong Người thiết kế Trần Anh Liêm Người cài đặt Trần Anh Liêm Thời gian 20/08/2009 Tên thuộc tính Mô tả Kiểu Phạm vi LoaiID Mã định danh loại trường int private Tenloai Tên loại trường String private Tên phương thức Mô tả Giá trị trả về Phạm vi Set_LoaiID Thiết lập mã định danh loại trường void public Set_Tenloai Thiết lập tên loại void public Get_Tenloai Lấy tên loại String public Them() Thêm mới loại trường void public Xoa() Xóa loại trường void public Sua() Sửa loại trường void public Đoạn khung mã cho lớp (xem Phụ lục) Bảng 2. 15: Bảng thiết kế chi tiết lớp Loại trường Tên lớp Truong Người thiết kế Trần Anh Liêm Người cài đặt Trần Anh Liêm Thời gian 20/08/2009 Tên thuộc tính Mô tả Kiểu Phạm vi TruongID Mã định danh trường int private QHID Mã định danh quận huyện int private Tentruong Tên trường String private LoaiID Mã định danh loại trường int private Tên phương thức Mô tả Giá trị trả về Phạm vi Set_QHID Thiết lập mã định danh quận huyện void public Set_LoaiID Thiết lập mã định danh loại trường void public Them() Thêm trường void public Xoa() Xóa trường void public Hienthi() Hiển thị danh sách trường tương ứng theo mã định danh quận huyện và mã định danh loại trường. ResultSet public Đoạn khung mã cho lớp (xem Phụ lục) Bảng 2.16: Bảng thiết kế chi tiết lớp Trường Tên lớp Hoctap Người thiết kế Trần Anh Liêm Người cài đặt Trần Anh Liêm Thời gian 20/08/2009 Tên thuộc tính Mô tả Kiểu Phạm vi ID Mã định quá trình học tập int private userID Tên đăng nhập String private Tunam Từ năm int private Dennam Đến năm int private Bietdanh Biệt danh String private TruongID Mã định danh trường int private Tên phương thức Mô tả Giá trị trả về Phạm vi Set_ID() Thiết lập mã định danh quận huyện void public Set_userID() Thiết lập giá trị userID void public Set_Tunam() Thiết lập giá trị Tunam void public Set_Dennam() Thiết lập giá trị Dennam void public Set_Bietdanh() Thiết lập giá trị Bietdanh void public Set_TruongID() Thiết lập giá trị TruongID void public Them() Thêm thông tin quá trình học tập void public Sua() Cập nhật thông tin quá trình học tập void public Xoa() Xóa thông tin quá trình học tập. void public Đoạn khung mã cho lớp (xem Phụ lục) Bảng 2.17: Bảng thiết kế chi tiết lớp Học tập Tên lớp Congtac Người thiết kế Trần Anh Liêm Người cài đặt Trần Anh Liêm Thời gian 20/08/2009 Tên thuộc tính Mô tả Kiểu Phạm vi ID Mã định quá trình công tác int private userID Tên đăng nhập String private Congty Tên công ty String private Tunam Từ năm int private Dennam Đến năm int private Bietdanh Biệt danh String private QHID Mã định danhquận huyện int private Tên phương thức Mô tả Giá trị trả về Phạm vi Set_ID() Thiết lập mã định danh quận huyện void public Set_userID() Thiết lập giá trị userID void public Set_Congty Thiết lập trị Congty void public Set_Tunam() Thiết lập giá trị Tunam void Public Set_Dennam() Thiết lập trị trị Dennam void public Set_Bietdanh() Thiết lập giá trị Bietdanh void public Set_QHID() Thiết lập giá trị TruongID void public Them() Thêm thông tin quá trình công tác void public Sua() Cập nhật thông tin quá trình công tác void public Xoa() Xóa thông tin quá trình công tác void public Đoạn khung mã cho lớp (xem Phụ lục) Bảng 2.18: Bảng thiết kế chi tiết lớp Công tác Tên lớp Message Người thiết kế Trần Anh Liêm Người cài đặt Trần Anh Liêm Thời gian 20/08/2009 Tên thuộc tính Mô tả Kiểu Phạm vi msgID Mã định danh tin nhắn int private Ngay Ngày Datetime private FromID Tên đăng nhập người gửi String private ToID Tên đăng nhập người nhận String private Subject Tiêu đề String private Noidung Nội dung String private Bietdanh Biệt danh String private Status Trạng thái (đã đọc/chưa đọc) boolean private IsInvite Có kèm nội dung mời kết bạn không boolean private Tên phương thức Mô tả Giá trị trả về Phạm vi Set_msgID() Thiết lập mã định danh tin nhắn void public Set_ToID() Thiết lập tên đăng nhập người nhận void public Capnhat() Cập nhật trạng thái tin nhắn void public Them() Thêm tin nhắn void public Xoa() Xóa tin nhắn void public Danhsach() Hiển thị danh sách tin nhắn ResultSet public Hienthi() Hiện thị thông tin chi tiết tin nhắn ResultSet public New_msg() Số tin nhắn mới int public Đoạn khung mã cho lớp (xem Phụ lục) Bảng 2.19: Biểu đồ thiết kế chi tiết lớp Message Tên lớp Chude Người thiết kế Trần Anh Liêm Người cài đặt Trần Anh Liêm Thời gian 20/08/2009 Tên thuộc tính Mô tả Kiểu Phạm vi ChudeID Mã định danh chủ đề int private Tenchude Tên chủ đề String private Tên phương thức Mô tả Giá trị trả về Phạm vi Set_ChudeID () Thiết lập mã định danh chủ đề void public Set_Tenchude() Thiết lập tên chủ đề void public Sua() Cập nhật thông tin chủ đề void public Them() Thêm chủ đề void public Xoa() Xóa chủ đề void public Đoạn khung mã cho lớp (xem Phụ lục) Bảng 2.20: Biểu đồ thiết kế chi tiết lớp Chủ đề Tên lớp Baiviet Người thiết kế Trần Anh Liêm Người cài đặt Trần Anh Liêm Thời gian 20/08/2009 Tên thuộc tính Mô tả Kiểu Phạm vi ID Mã định danh bài viết int private ParentID Quan hệ với bài viết cha String private userID Tên đăng nhập String private Tieude Tiêu đề bài viết String private Ngay Ngày viết Datetime private Noidung Nội dung bài viết String private ChudeID Mã định danh chủ đề int private Tên phương thức Mô tả Giá trị trả về Phạm vi Set_ID () Thiết lập mã định danh chủ đề void public Set_ChudeID() Thiết lập tên chủ đề void public Set_userID() Thiết lập giá trị userID void public Hienthi() Hiện thị thông tin bài viết void public Danhsach() Hiển thị danh sách bài viết theo chủ đề. void public Xoa() Xóa bài viết void public Đoạn khung mã cho lớp (xem Phụ lục) Bảng 2.21: Biểu đồ thiết kế chi tiết lớp Bài viết Tên lớp Friend Người thiết kế Trần Anh Liêm Người cài đặt Trần Anh Liêm Thời gian 20/08/2009 Tên thuộc tính Mô tả Kiểu Phạm vi userID Tên đăng nhập String private FriendID Tên đăng nhập kết bạn String private Tên phương thức Mô tả Giá trị trả về Phạm vi Set_userID () Thiết lập giá trị userID void public Set_FriendID() Thiết lập giá trị FriendID void public Them() Thêm mối quan hệ void public Xoa() Xóa mối quan hệ void public Đoạn khung mã cho lớp (xem Phụ lục) Bảng 2.22: Biểu đồ thiết kế chi tiết lớp Friend Tên lớp Luubut Người thiết kế Trần Anh Liêm Người cài đặt Trần Anh Liêm Thời gian 20/08/2009 Tên thuộc tính Mô tả Kiểu Phạm vi ID Mã định danh lưu bút String private Hoten Họ tên String private Email Địa chỉ email String private Ngay Ngày Datetime private Noidung Nội dung String private Tên phương thức Mô tả Giá trị trả về Phạm vi Set_ID () Thiết lập mã định danh lưu bút void public Set_Hoten() Thiết lập giá trị Hoten void public Set_Email() Thiết lập giá trị Email void public Set_Noidung() Thiết lập giá trị Noidung void public Them() Thêm lưu bút void public Xoa() Xóa lưu bút void public Hienthi() Hiển thị danh sách lưu bút void public Đoạn khung mã cho lớp (xem Phụ lục) Bảng 2.23: Biểu đồ thiết kế chi tiết lớp Lưu bút Tên lớp Yeucau Người thiết kế Trần Anh Liêm Người cài đặt Trần Anh Liêm Thời gian 20/08/2009 Tên thuộc tính Mô tả Kiểu Phạm vi YeucauID Mã định danh yêu cầu int private QHID Mã định danh quận huyên int private Tentruong Tên trường String private LoaiID Mã định danh loại trường int private Ghichu Ghi chú String private Tên phương thức Mô tả Giá trị trả về Phạm vi Set_YecauID () Thiết lập mã định danh yêu cầu void public Set_QHID() Thiết lập giá trị QHID void public Set_Tentruong() Thiết lập giá trị Tentruong void public Set_LoaiID() Thiết lập giá trị LoaiID void public Them() Thêm yêu cầu void public Xoa() Xóa yêu cầu void public Hienthi() Hiển thị danh sách yêu cầu void public Đoạn khung mã cho lớp (xem Phụ lục) Bảng 2.24: Biểu đồ thiết kế chi tiết lớp Yêu cầu CHƯƠNG III: CÀI ĐẶT VÀ KIỂM THỬ 3.1 THIẾT KẾ CSDL VỚI SQL 2000 3.1.1 Thiết kế các bảng Bảng: Member Lưu trữ thông tin về các thành viên của website. STT Khóa Tên trường Kiểu dữ liệu Độ rộng Diễn giải 1 PK userID nvarchar 50 Tên đăng nhập 2 Password nvarchar 50 Mật khẩu 3 Hoten nvarchar 50 Họ tên 4 Ngaysinh smalldatetime 4 Ngày sinh 5 Gioitinh nvarchar 3 Giới tính 6 Noisong nvarchar 100 Nơi sống 7 Email nvarchar 50 Địa chỉ email 8 Active bit 1 Trạng thái kích hoạch hay không 9 Type bit 1 Loại tài khoản(dùng để phân biệt giữa Member và Admin) 10 Dienthoai nvarchar 15 Số điện thoại liên lạc Bảng 2.25: Bảng Member Bảng: Thanhpho Lưu trữ thông tin về các tỉnh thành phố trên cả nước. STT Khóa Tên trường Kiểu dữ liệu Độ rộng Diễn giải 1 PK TPID int 4 Mã thành phố 2 Thanhpho nvarchar 50 Tên thành phố Bảng 2.26: Bảng Thành phố Bảng: QuanHuyen Lưu trữ thông tin các quận huyện tương ứng với các tỉnh thành phố. STT Khóa Tên trường Kiểu dữ liệu Độ rộng Diễn giải 1 PK QHID int 4 Mã quận huyện 2 FK TPID int 4 Mã thành phố 3 TenQH nvarchar 50 Tên quận huyện Bảng 2.27: Bảng Quận Huyện Bảng: Loaitruong Lưu trữ thông tin về loại trường. STT Khóa Tên trường Kiểu dữ liệu Độ rộng Diễn giải 1 PK LoaiID int 4 Mã loại 2 Tenloai nvarchar 50 Tên loại Bảng 2.28: Bảng Loại trường Bảng: Truong Lưu trữ thông tin về các trường Đại học, Trung học, Tiểu học tương ứng với các quận huyện. STT Khóa Tên trường Kiểu dữ liệu Độ rộng Diễn giải 1 PK TruongID int 4 Mã trường 2 FK QHID int 4 Mã quận huyện 3 Tentruong nvarchar 50 Tên trường 4 FK LoaiID int 4 Mã loại trường Bảng 2.29: Bảng Trường Bảng: Hoctap Chứa thông tin về quá trình học tập của các thành viên. STT Khóa Tên trường Kiểu dữ liệu Độ rộng Diễn giải 1 PK ID int 4 ID của bản ghi 2 FK userID nvarchar 50 Tên đăng nhập 3 Tunam int 4 Từ năm 4 Dennam int 4 Đến năm 5 Bietdanh nvarchar 50 Biệt danh 6 TruongID int 4 Mã trường Bảng 2.30: Bảng học tập Bảng: Congtac Lưu trữ thông tin về quá trình công tác của các thành viên. STT Khóa Tên trường Kiểu dữ liệu Độ rộng Diễn giải 1 PK ID int 4 ID của bản ghi 2 FK userID nvarchar 50 Tên đăng nhập 3 Congty nvarchar 50 Tên công ty 4 Tunam int 4 Từ năm 5 Dennam int 4 Đến năm 6 Chucvu nvarchar 50 Chức vụ 7 FK QHID int 4 Mã Quận Huyện Bảng 2.31: Bảng Công tác Bảng: Message Lưu trữ thông tin tin nhắn giữa các thành viên. STT Khóa Tên trường Kiểu dữ liệu Độ rộng Diễn giải 1 PK msgID int 4 Mã tin nhắn 2 Ngay smalldatetime 4 Ngày 3 FK FromID nvarchar 50 Tên đăng nhập của người gửi 4 FK ToID nvarchar 50 Tên đăng nhập của người nhận 5 Subject nvarchar 50 Tiêu đề 6 Noidung nvarchar 200 Nội dung 7 Status bit 1 Trạng thái - đã đọc hoặc chưa đọc 8 isInvite bit 1 Có kèm nội dung mời kết bạn không Bảng 2.32: Bảng Message Bảng: Chude Lưu trữ thông tin về các chủ đề thảo luận trong diễn đàn. STT Khóa Tên trường Kiểu dữ liệu Độ rộng Diễn giải 1 PK ChudeID int 4 Mã chủ đề 2 Tenchude nvarchar 50 Tên chủ đề Bảng 2.33: Bảng Chủ đề Bảng: Baiviet Lưu trữ thông tin về các bài viết, bài trả lời tương ứng với các chủ đề. STT Khóa Tên trường Kiểu dữ liệu Độ rộng Diễn giải 1 PK ID int 4 Mã bài viết 2 FK ParentID int 4 Quan hệ với bài viết cha (Null nếu là bài viết gốc) userID Nvarchar 50 Tên đăng nhập của thành viên 3 Tieude nvarchar 50 Tiêu đề bài viết 4 Ngay smalldatetime 4 Ngày viết 5 Noidung nvarchar 200 Nội dung 6 FK ChudeID int 4 Mã chủ đề Bảng 2.34: Bảng Bài viết Bảng: Friend Lưu trữ thông tin về mối quan hệ giữa các thành viên trong website. STT Khóa Tên trường Kiểu dữ liệu Độ rộng Diễn giải 1 PK userID int 4 Tên đăng nhập của thành viên 2 PK FriendID int 4 Tên đăng nhập được kết bạn Bảng 2.35: Bảng Friend Bảng: Tukhoa Lưu trữ thông tin từ khóa tìm kiếm của các thành viên. STT Khóa Tên trường Kiểu dữ liệu Độ rộng Diễn giải 1 PK LoaiID int 4 Mã loại 1 FK userID Int 50 Tên đăng nhập của thành viên 2 Tenloai nvarchar 50 Tên loại Bảng 2.36: Bảng Từ khóa Bảng: Luubut Lưu trữ thông tin về các bài viết của các thành viên hoặc khách ghé thăm website. STT Khóa Tên trường Kiểu dữ liệu Độ rộng Diễn giải 1 PK ID int 4 Mã lưu bút 2 Hoten ivarchar 50 Tên người viết 3 Email nvarchar 50 Địa chỉ email người viết 4 Ngay smalldatetime 4 Ngày viết 5 Noidung nvarchar 200 Nội dung bài viết Bảng 2.37: Bảng Lưu bút Bảng: Yeucau Bảng tạm lưu trữ thông tin về các yêu cầu thêm trường của các thành viên. Thông tin các yêu cầu sẽ được tự động được xóa đi khi Admin duyệt các yêu cầu này. STT Khóa Tên trường Kiểu dữ liệu Độ rộng Diễn giải 1 PK YeucauID int 4 Mã yêu cầu 2 QHID int 4 Mã quận huyện 3 Tentruong nvarchar 50 Tên trường 4 LoaiID int 4 Mã loại trường 5 Ghichu nvarchar 200 Thông tin ghi chú thêm cho yêu cầu Bảng 2.38: Bảng Yêu cầu 3.1.2 Mô hình cơ sở dữ liệu Hình 2.27: Mô hình cơ sở dữ liệu 3.2 TỔ CHỨC CHƯƠNG TRÌNH Giao diện trang chủ : Trang thông tin quá trình học tập : Cho phép thành viên Thêm, Xóa, Sửa thông tin về quá trình học tập của mình. Để thêm mới thông tin về quá trình học tập của mình, các thành viên chọn chức năng thêm thông tin, website sẽ hiển thị danh sách các tỉnh thành phố. Sau khi chọn tên thành phố, website sẽ hiển thị danh sách các quận, huyện tương ứng với thành phố vừa chọn Sau khi chọn quận, huyện website sẽ hiển thị danh sách các trường tương ứng theo quận huyện và loại trường đã chọn. Tại màn hình này các thành viên chọn trường nơi mình đã tham gia học tập, website cung cấp thêm chức năng Gửi yêu cầu thêm trường nếu thành viên không tìm thấy trường mình cần tìm trong danh sách. Yêu cầu này sẽ được chuyển đến quản trị website xét duyệt. Sau khi thành viên chọn trường website hiển thị form yêu cầu nhập thông tin về quá trình học tập Trang quản lý tin nhắn Nội dung tin nhắn mời kết bạn Giao diện trang Lưu bút : Cho phép các thành viên hoặc khách ghé thăm website ghi lại các dòng lưu niệm. 3.3 CÀI ĐẶT ỨNG DỤNG WEBSITE TÌM BẠN CŨ 3.3.1 Hệ điều hành Có thể sử dụng hệ điều hành Windows 98/NT hoặc 2000/XP, tuy nhiên tốt nhất nên sử dụng Windows NT hoặc 2000. Đây là hệ điều hành phục vụ tính năng máy chủ Server rất mạnh. 3.3.2 Cài đặt và cấu hình JDK Download bộ cài JDK từ website của Sun. Sau đó click chuột vào file cài đặt JDK. Chương trình sẽ yêu cầu chỉ định thư mục cài đặt, sau khi chọn thư mục cài đặt quá trình cài đặt còn lại sẽ được chương trình cài đặt thực hiện tự động. Trên Windows Java sử dụng máy ảo là chương trình mang tên java.exe Trình biên dịch java là javac.exe. Cả hai chương trình này đều được đặt trong đường dẫn mặc định C:\Program Files\Java\jdk1.6.0_07\bin. Ta có thể thiết lập đường dẫn bằng biến môi trường PATH để có thể gọi hai chương trình này từ bất kỳ nơi như sau: SET PATH=%PATH% ; C:\Program Files\Java\jdk1.6.0_07\bin 3.3.2 Cài đặt SQL Sever 2000 SQL là hệ quản trị CSDL của Microsoft. Đề cài đặt SQL Server bạn sử dụng bộ đĩa CD của Microsoft. Cơ sở dữ liệu backup của website tìm bạn cũ chứa trong file MEMBER_MNG.db, sử dụng chức năng restore của SQL Server để khôi phục cơ sở dữ liệu. Bước tiếp đến sử dụng trình quản lý ODBC của Windows tạo chuỗi kết nối ODBC cho hệ cơ sở dữ liệu của website mang tên MEMBER_MNG. Các trình điều khiển JDBC của Java trong ứng dụng sẽ sử dụng các chuỗi ODBC này để kết nối với cơ sở dữ liệu 3.3.2 Cài đặt trình chủ Web server Tomcat Trình chủ Tomcat là ứng dụng Web server mã nguồn mở (open source). Bộ cài TomCat được download miễn phí tại địa chỉ Sau khi download Tomcat về chạy file jakarta-tomcat-5.5.9.exe để thực hiện quá trình cài đăt. TomCat cấu hình cổng chạy ứng dụng Web là 8080. Để kiểm tra TomCat đã khởi động tốt, bạn gọi địa chỉ URL để hiển thị trang chủ của TomCat như sau: Ứng dụng website tìm bạn cũ được đặt trong thư mục [TOMCAT_HOME]\webapps KẾT LUẬN Các kết quả đã đạt được: Đã hoàn thành đồ án, xâydựng và chạy thử thành công website Tìm bạn cũ. Website đã đáp ứng được việc tìm kiếm thông tin giữa các thành viên, thông qua danh mục các tỉnh thành phố, quận huyện và trường học trong cơ sở dữ liệu. Các thông tin này sẽ dần được hoàn thiện và bổ xung trong quá trình website đi vào hoạt động. Các thành viên có thể trao đổi thông tin và thiết lập các mối quan hệ bạn bè thông qua chức năng quản lý tin nhắn và quản lý danh sách bạn bè. Xây dựng được một diễn đàn đơn giản phục vụ cho việc trao đổi thông tin giữa các thành viên. Các hạn chế: Do hạn chế về thời gian thực hiện đồ án và kinh nghiệm có hạn nên đồ án của em còn nhiều hạn chế. Website mới dừng lại ở mức độ đơn giản cả về mặt chức năng lẫn giao diện. Các chức năng của hệ thống mới chỉ chạy thử với lượng dữ liệu nhỏ và ít người truy cập. Website mới đáp ứng được mức độ tìm kiếm thông tin ở mức độ đơn giản, diễn đàn còn đơn giản về mặt chức năng. Hướng phát triển: Hoàn thiện và bổ xung thêm các chức năng cho để website thực sự mang lại lợi ích và thu hút nhiều thành viên tham gia. Xây dựng hệ thống trợ giúp người sử dụng. Xây dựng chức năng cho phép các thành viên có thể tự tạo các trang cá nhân và chia sẻ với bạn bè. Hoàn thiện đồ án để đảm bảo hệ thống có thể chạy tốt với lượng dữ liệu và lượng người truy cập lớn. TÀI LIỆU THAM KHẢO [1] Nguyễn Phương Lan, Hoàng Đức Hải, Lập trình ứng dụng Web với JSP/Servlet, Nhà xuất bản lao động – xã hội (2003). [2] Phạm Hữu Khang, Hoàng Đức Hải, Xây dựng ứng dụng Web với JSP, Servlet, JavaBeans, Nhà xuất bản giáo dục (2001). [3] Trần Đình Quế, Nguyễn Mạnh Sơn, Phân tích và thiết kế hệ thống thông tin, Học viện Công nghệ Bưu chính Viễn thông. [4] Addison Wesley, Visual Modeling with Rational Rose 2002 and UML (2002) [5] [6] PHỤ LỤC Đoạn mã khung cho lớp Member Public class Member { private String userID; private intTPID; private TenQH; } Đoạn mã khung cho lớp Thành phố Đoạn mã khung cho lớp Quân Huyện public class QuanHuyen { private int QHID; private int TPID; private String TenQH; public void set_TPID (int ID){ TPID=ID; } public void set_QHID (int ID){ QHID=ID; } public void Hienthi(){ } } Đoạn mã khung cho lớp Message public class Message { private int msgID; private Ngay; private String FromID; private String ToID; private String Subject; private String Noidung; private boolean Status; private boolean isInvite; public void set_msgID (int ID){ msg_ID=ID; } public void Hienthi(){ } }

Các file đính kèm theo tài liệu này:

  • docTRAN LIEM _Do An Tot Nghiep.doc