Với kiến thức thu nhận được trong quá trình học tập trên ghế nhà trường, em quyết định chọn cho mình một đề tài phù hợp với khả năng bản thân và tình hình thực tế.. Trong quá trình tìm h
Trang 1HỮU NGHỊ VIỆT - HÀN
KHOA CÔNG NGHỆ THÔNG TIN
TÓM TẮT ĐỒ ÁN TỐT NGHIỆP
NGÀNH: CÔNG NGHỆ THÔNG TIN
Đề tài:
XÂY DỰNG WEBSITE MẠNG XÃ HỘI SỬ DỤNG SPRING FRAMEWORK MVC KẾT HỢP NOSQL
Niên khóa : 2015 - 2018
Trang 2LỜI NÓI ĐẦU
Đối với tầm quan trọng của một đồ án tốt nghiệp, yêu cầu kỹ năng chuyên môn cao và sự đầu tư nghiêm túc từ thời gian cho đến công sức Với kiến thức thu nhận được trong quá trình học tập trên ghế nhà trường, em quyết định chọn cho mình một
đề tài phù hợp với khả năng bản thân và tình hình thực tế
Trong quá trình tìm hiểu và với sự yêu thích, những kiến thức của bản thân, em
đã quyết định chọn cho mình một đề tài phù hợp, đó là “Xây dựng website mạng xã hội sử dụng Spring Framework MVC kết hợp NoSQL”
Trong quá trình làm đồ án em nhận được sự giúp đỡ nhiệt tình của giáo viên hướng dẫn, và đặc biệt em được gửi lời cảm ơn riêng đến giáo viên hướng dẫn của
mình là TS Nguyễn Quang Vũ đã hướng dẫn tận tình em trong quá trình thực hiện đồ
án Trong quá trình thực hiện đồ án còn nhiều thiết xót, xin phép thầy cô góp ý cho em
để đồ án được hoàn thiện hơn
Em xin cảm ơn!
Sinh viên thực hiện
Lê Đức Huy
Trang 3CHƯƠNG I TỔNG QUAN VỀ ĐỀ TÀI
1.1 GIỚI THIỆU BÀI TOÁN
Nghĩ tới xây dựng website sinh viên thường nghĩ đến xây dựng các website bán hàng hay các website tin tức, mua bán…Thế nhưng hiện nay MXH(Mạng xã hội) đang nổi lên như là một dạng website mới thay thế các trang web truyền thống, hầu hết các trang bán hàng thương mại điện tử đều có liên kết với các MXH bởi sự kết nối mạnh
mẽ của nó
Vì thế em quyết định chọn cho mình một đề tài liên quan đến việc xây dựng một website MXH, có đầy đủ các chức năng cơ bản nhất của một MXH như liên lạc người
dùng và tương tác người dùng với nhau
1.2 TÌNH HÌNH NGHIÊN CỨU THỰC TẾ
Tình hình thực tế cho thấy các website mô hình MXH được xây dựng rất nhiều
và rất hoàn thiện, điển hình là các MXH lớn ở Việt Nam như Nhaccuatui, Zing.Me, Go.vn, Tinhte.vn … và các forum lớn nhỏ hiện nay cũng đạt được như vậy Vậy nên website xây dựng sẽ hướng vào việc xây dựng lại các chức năng cần có của một hệ thống MXH
1.3 TỔNG QUAN VỀ SPRING FRAMEWORK
1.4 TỔNG QUAN VỀ NOSQL
1.5 CƠ SỞ DỮ LIỆU MONGODB
1.6 CÔNG CỤ LẬP TRÌNH
1.6.1 IntelliJ IDEA
1.6.2 Studio 3T (Robomongo)
1.7 MỤC ĐÍCH, MỤC TIÊU, ĐỐI TƯỢNG SỬ DỤNG CỦA ĐỀ TÀI ĐỀ TÀI 1.7.1 Mục đích xây dựng
1.7.2 Mục tiêu xây dựng
1.7.3 Đối tượng sử dụng
Trang 4CHƯƠNG II KHẢO SÁT HỆ THỐNG
2.1 YÊU CẦU CHỨC NĂNG HỆ THỐNG
2.2 YÊU CẦU PHI CHỨC NĂNG
2.3 XÁC ĐỊNH CÁC TÁC NHÂN TRONG HỆ THỐNG
Tác nhân thành viên: Tác nhân duy nhất của hệ thống website có thể sử dụng hầu hết các chức năng của website như: đăng nhập tài khoản, tìm kiếm bạn bè và kết bạn, quản lý bài đăng cá nhân, xem và tương tác với các bài đăng, nhắn tin người dùng
Tác nhân khách truy cập: Khách truy cập trang chưa có tài khoản có thể sử dụng chức năng đăng ký tài khoản
2.4 XÁC ĐỊNH CÁC TRƯỜNG HỢP SỬ DỤNG
Đăng ký
Đăng nhập
Đăng bài
Xem dòng thời gian
Upload ảnh
Xem bảng tin
Tương tác bài đăng
Đổi mật khẩu
Tìm kiếm người dùng
Xem ảnh
Nhắn tin
Chỉnh sửa hồ sơ
Quản lý bạn bè
Xóa ảnh
Quản lý bài đăng
Thông tin hồ sơ tài khoản
Lấy lại mật khẩu
Xác thực tài khoản
Trang 5Hình 2.1 Biểu đồ trường hợp sử dụng hệ thống
2.4.1 Biểu đồ trường hợp sử dụng nhắn tin
2.4.2 Biểu đồ trường hợp sử dụng chỉnh hồ sơ
2.4.3 Biểu đồ trường hợp sử dụng quản lý bạn bè
2.4.4 Biểu đồ trường hợp sử dụng tương tác bài đăng:
2.4.5 Biểu đồ trường hợp sử dụng tìm kiếm người dùng
2.4.6 Biểu đồ trường hợp sử dụng quản lý bài đăng
2.5 ĐẶC TẢ CÁC TRƯỜNG HỢP SỬ DỤNG
Trang 6CHƯƠNG III: MÔ HÌNH KHÁI NIỆM
3.1 XÁC ĐỊNH CÁC LỚP ĐỐI TƯỚNG
Tài khoản (TaiKhoan): email, password, password_salt, maXacThucMail
Hồ sơ tài khoản (HoSoTaiKhoan): id, email, ten, ho, gioiTinh, phone, ngaySinh, noiSong anhDaiDien, anhBia, hinhAnh, thoiGianHoatDong, thoiGianTao
Bài đăng (BaiDang): id, nguoiDang, noiDung, thoiGian, luotThich, luotBinhLuan, luotChiaSe, hinhAnh, chiaSe
Hội thoại (HoiThoai): id, thanhVien, thoiGian, soLuongTinNhan,
Tin nhắn (TinNhan): id, maHoiThoai, noiDung, thoiGian, nguoiGui, trangThai
Thích (Thich): id, maBaiDang, nguoiThich
Bình luận (BinhLuan): id, maBaiDang, noiDung, nguoiBinhLuan, thoiGian,
Chia sẻ (ChiaSe): id, maBaiDang, nguoiChiaSe, thoiGian,
Hình ảnh (HinhAnh): thoiGianUpload, duongDan, dungLuong
Tỉnh/ thành phố: (TinhThanh): maThanhPho, tenThanhPho
Quận/huyện: (QuanHuyen): tenQuanHuyen
Bạn bè (BanBe): tenHienThi, anhDaiDien, maHoSoTaiKhoan
Trạng thái (TrangThai): quyen, kichHoat, xacThuc
3.2 CÁC GÓI TRONG HỆ THỐNG
3.2.1 Lớp biên
3.2.2 Lớp điều khiển
3.2.3 Biểu đồ lớp mức phân tích
Trang 7Hình 3.3 Biểu đồ lớp thực thể
3.2.4 Thiết kế cơ sở dữ liệu
Trang 8CHƯƠNG IV MÔ HÌNH HÓA TƯƠNG TÁC ĐỐI TƯỢNG
4.1 BIỂU ĐỒ TRÌNH TỰ ĐĂNG NHẬP
4.2 BIỂU ĐỒ TRÌNH TỰ ĐĂNG KÝ
4.3 BIỂU ĐỒ TRÌNH TỰ ĐỔI MẬT KHẨU
4.4 BIỂU ĐỒ TRÌNH TỰ ĐĂNG BÀI
Hình 4.4 Biểu đồ trình tự đăng bài
4.5 BIỂU ĐỒ TRÌNH TỰ CHỈNH SỬA BÀI ĐĂNG
4.6 BIỂU ĐỒ TRÌNH TỰ XÓA BÀI ĐĂNG
4.7 BIỂU ĐỒ TRÌNH TỰ BÌNH LUẬN BÀI ĐĂNG
Hình 4.7 Biểu đồ trình tự bình luận bài đăng
Trang 94.8 BIỂU ĐỒ TRÌNH TỰ XEM HỒ SƠ TÀI KHOẢN
4.9 BIỂU ĐỒ TRÌNH TỰ CHỈNH SỬA HỒ SƠ TÀI KHOẢN
4.10 BIỂU ĐỒ TRÌNH TỰ CHỈNH SỬA ẢNH ĐẠI DIỆN
Hình 4.10 Biểu đồ trình tự chỉnh sửa ảnh đại diện
4.11 BIỂU ĐỒ TRÌNH TỰ CHỈNH SỬA ẢNH BÌA
4.12 BIỂU ĐỒ TRÌNH TỰ UPLOAD HÌNH ẢNH
Hình 4.12 Biểu đồ trình tự upload ảnh
4.13 BIỂU ĐỒ TRÌNH TỰ XÓA HÌNH ẢNH
4.14 BIỂU ĐỒ TRÌNH TỰ XEM HÌNH ẢNH
4.15 BIỂU ĐỒ TRÌNH TỰ XEM DANH SÁCH BẠN BÈ
Trang 104.18 BIỂU ĐỒ TRÌNH TỰ HỦY KẾT BẠN
Trang 11CHƯƠNG V MÔ HÌNH HÓA HÀNH VI
5.1 BIỂU ĐỒ TRẠNG THÁI
5.1.1 Biểu đồ trạng thái bình luận
5.1.2 Biểu đồ trạng thái chia sẻ bài đăng
5.1.3 Biểu đồ trạng thái đăng bài
5.1.4 Biểu đồ trạng thái đăng ký
5.1.5 Biểu đồ trạng thái đăng nhập
5.1.6 Biểu đồ trạng thái nhận tin nhắn
5.1.7 Biểu đồ trạng thái thích bài đăng
5.1.8 Biểu đồ trạng thái tìm kiếm người dùng
5.1.9 Biểu đồ trạng thái upload hình ảnh
5.1.10 Biểu đồ trạng thái nhắn tin
5.2 BIỂU ĐỒ HOẠT ĐỘNG
5.2.1 Biểu đồ hoạt động chỉnh sửa hồ sơ tài khoản
5.2.2 Biểu đồ hoạt động nhắn tin
5.2.3 Biểu đồ hoạt động xóa tin nhắn
5.2.4 Biểu đồ hoạt động tìm kiếm người dùng
5.2.5 Biểu đồ hoạt động xem bảng tin
5.2.6 Biểu đồ hoạt động xem dòng thời gian
5.2.7 Biểu đồ hoạt động xem thông tin hồ sơ tài khoản
5.2.8 Biểu đồ hoạt động đăng bài
5.2.9 Biểu đồ hoạt độngchỉnh sửa bài đăng
5.2.10 Biểu đồ hoạt động xóa bài đăng
5.2.11 Biểu đồ hoạt động thích bài viết
5.2.12 Biểu đồ hoạt động bình luận bài viết
5.2.13 Biểu đồ hoạt động đăng nhập
5.2.14 Biểu đồ hoạt động đăng ký
5.2.15 Biểu đồ hoạt động đổi mật khẩu
Trang 12CHƯƠNG VI CÀI ĐẶT VÀ MÔ TẢ GIAO DIỆN HỆ THỐNG
6.1 GIAO DIỆN TRANG ĐĂNG NHẬP
6.2 GIAO DIỆN TRANG ĐĂNG KÝ
6.3 GIAO DIỆN HỘP THƯ XÁC THỰC TÀI KHOẢN
Hình 6.3 Giao diện xác thực tài khoản
Sau khi đăng ký thành công, bạn phải kích hoạt tài khoản theo đường link mà hệ thống gửi về cho email của bạn
6.4 GIAO DIỆN TRANG CÁ NHÂN NGƯỜI DÙNG
Trang 13Hình 6.4 Giao diện cá nhân người dùng
6.5 GIAO DIỆN TRANG CÁ NHÂN BẠN BÈ
6.6 GIAO DIỆN CHỈNH SỬA HỒ SƠ TÀI KHOẢN CÁ NHÂN
Hình 6.6 Giao diện hồ sơ tài khoản cá nhân
Trang 146.7 GIAO DIỆN TRANG ĐỔI MẬT KHẨU
Hình 6.7 Giao diện trang đổi mật khẩu
6.8 GIAO DIỆN TRANG XEM ẢNH
6.9 GIAO DIỆN TRANG CHỦ
6.10 GIAO DIỆN TÌM KIẾM NGƯỜI DÙNG
Trang 15KẾT LUẬN
Với kiến thức mà mình có, em đã cố gắng xây dựng một website cho riêng mình, website hoàn thành với những tính năng thiết yếu cần có của một MXH và có thể sử dụng được ngay Hy vọng trong tương lai có thể mở rộng phát triển và đưa vào sử dụng
Thông qua đồ án tốt nghiệp, em đã tích lũy cho mình rất nhiều kiến thức bổ ích
và có thể giúp ích cho mình trong những dự án sắp tới hoặc phát triển khả năng của bản thân
Website được xây dựng trong khoảng thời gian ngắn và còn nhiều thiếu xót, do vậy trong tương lai em có thể sẽ cải tiến để mở rộng thêm các chức năng khác cho website của mình
Một lần nữa em xin được gửi lời của ơn rất nhiều đến GVHD là TS Nguyễn Quang Vũ đã hỗ trợ em trong quá trình thực hiện đồ án
Trang 16TÀI LIỆU THAM KHẢO
[1] Giáo trình phân tích thiết kế hướng đối tượng trường CĐ CNTT Hữu Nghị Việt Hàn
[2] https://stackjava.com/
[3] https://spring.io/docs/
[4] https://docs.mongodb.com/manual/