4. Về thái độ làm việc của sinh viên:
3.3.2. Yêu cầu phi chức năng
- Yêu cầu về giao diện:
Giao diện hệ thống gần gũi. Đơn dạng với đại đa số người dùng, mang lại cảm giác thân thiện không rối mắt, hướng người dùng, tính tương tác cao.
- Yêu cầu chất lượng: • Tính tiến hóa:
▪ Dễ dàng nâng cấp khi muốn nâng cao tính năng sẵn có nhờ vào tính tối ưu hoá của code.
▪ Dễ dàng mở rộng khi ứng dụng được đón nhận rộng rãi và nhu cầu người dùng
• Tính tiện dụng:
▪ Hệ thống có giao diện trực quan, thân thiện và dễ sử dụng. ▪ Các nút ấn và dòng chữ hiển thị rõ ràng, dễ nhận thấy.
▪ Hệ thống có tính responsive cho các dòng điện thoại và máy tính bảng. ▪ Các nút ấn và dòng chữ hiển thị trực quan nội dung muốn truyền đạt. • Tính hiệu quả:
▪ Hệ thống thể hiện trực quan và chi tiết thông tin về loại hình bất động sản. ▪ Qua việc tìm kiếm thông tin loại hình bất động sản, hệ thống hiển thị đầy đủ các thông tin của tin tức bất động sản như tiêu đề của bài viết, nội dung bài viết và các hình ảnh về bất động sản mà người dùng đăng lên.
▪ Qua việc có thể đăng tin, xoá tin, sửa tin, thích, bình luận như trang mạng xã hội hiện nay.
▪ Sắp xếp tin tức. • Tính tương thích:
Chương 4. PHÂN TÍCH THIẾT KẾ HỆ THỐNG 4.1. Sơ đồ phân rã cức năng:
4.2. Sơ đồ Use-case:
4.2.1. Danh sách các Actor:
STT Tên Actor Ý nghĩa
1 Người dùng Là người sử dụng trực tiếp của hệ thống có chức năng xem bài viết, đăng thông tin bài viết, sắp xếp thông tin bài viết, thêm bài viết vào danh sách ưa thích, like comment thông tin bài viết…
Bảng 4.1 Bảng danh sách người dùng
4.2.2. Danh sách các Use-case:
STT Tên Usecase Mô tả Usecase
1 Đăng kí Cho phép người dùng tạo tài khoản mới bằng email, username và mật khẩu.
2 Đăng nhập Cho phép người dùng đăng nhập vào hệ thống để sử dụng các chức năng
3 Xem tin tức Người dùng xem các tin tức có trên hệ thống
4 Tìm kiếm Cho phép người dùng tìm kiếm các thông tin về bất động sản theo loại hình, khu vực, giá tiền,…
4.1 Tìm kiếm theo loại Cho phép người dùng tìm kiếm loại bất động sản: Cần Bán, Cần Mua, Cho Thuê, Cần Thuê.
4.2 Tìm kiếm theo diện tích
Cho phép người dùng tìm kiếm tất cả diện tích: 30- 50m2, 50-70m2, 70-100m2, 100-150m2…
4.3 Tìm kiếm theo giá tiền
Cho phép người dùng tìm kiếm giá nhà trong khung giá từ: 0-1 tỷ, 1-2 tỷ, 2-3 tỷ, 3-4 tỷ và trên 4 tỷ
4.4 Tìm kiếm theo khu vực
Cho phép người dùng tìm kiếm khu vực trên 62 tỉnh thành và quận/ huyện dựa theo tỉnh.
được theo loại khác nhau
6 Thiết lập biểu đồ Người dùng có thể xem thông tin một cách trực quan bằng hệ thống biểu đồ.
6.1 Biểu đồ theo loại Người dùng có thể lựa chọn loại nhà đất để thể hiện trên biểu đồ
6.2 Biểu đồ theo khu vực
Người dùng có thể lựa chọn khu vực để thể hiện trên biểu đồ về diện tích hoặc giá
6.3 Biểu đồ theo diện tích
Người dùng có thể xem số bất động sản trong khung về diện tích
6.4 Biểu đồ theo giá tiền
Người dùng có thể xem số bất động sản trong khung về giá
7 Dự đoán giá nhà đất
Cho phép người dùng xem dự đoán giá nhà đất theo khu vực và diện tích
7.1 Dự đoán giá nhà đất theo khu vực
Cho phép người dùng xem dự đoán giá nhà đất theo khu vực đã lựa chọn
7.2 Dự đoán giá nhà đất theo diện tích
Cho phép người dùng xem dự đoán giá nhà đất theo diện tích đã lựa chọn
8 Đề xuất thông tin bất động sản
Đưa ra đề xuất thông tin bất động sản.
8.1 Đề xuất theo thông tin người dùng
Đưa ra đề xuất thông tin bất động sản cho từng người dùng cụ thể.
8.2 Đề xuất theo lịch sử tìm kiếm
Đựa trên lịch sử tìm kiếm đưa ra gợi ý phù hợp với người dùng.
4.2.3. Đặc tả một số use-case chính: 4.2.3.1. Đặc tả use-case đăng kí: 4.2.3.1. Đặc tả use-case đăng kí:
Tên Usecase Đăng kí
Tóm tắt Người dùng muốn xem thông tin đề xuất bất động sản thì phải đăng kí để đăng nhập vào hệ thống
Actor User
Dòng sự kiện chính Nhập thông tin
Dòng sự kiện thay thế Không thể đăng kí: Nguyên nhân:
• Trùng tên đăng ký người dùng. • Trùng email đã đăng ký.
Trạng thái hệ thống trước
khi thực hiện usecase. - Actor: Tất cả các actor
- Điều kiện: Không có
Trạng thái hệ thống sau khi thực hiện use case.
Đăng kí thành công, tự động trở về trang đăng nhập
Các yêu cầu đặc biệt Không có
Ngoại lệ Không có
Bảng 4.3. Bảng đặc tả use case đăng kí
4.2.3.2. Đặc tả use case đăng nhập:
Tên Usecase Đăng nhập
Tóm tắt Người dùng muốn xem thông tin đề xuất bất động sản thì phải đăng nhập vào hệ thống
Actor User
Dòng sự kiện chính Người dùng truy cập vào hệ thống
Người dùng nhấn đăng nhập để tiến hành đăng nhập vào hệ thống.
Nếu người dùng chưa đăng ký vẫn có thể vào trang web hệ thống để xem như người dùng khách hàng bình thường nhưng không sử dụng được một vài chức năng
Dòng sự kiện thay thế Không thể đăng nhập: Nguyên nhân:
• Lỗi kết nối server. • Sai thông tin đăng nhập.
• Người dùng chưa có tài khoản.
Trạng thái hệ thống trước
khi thực hiện usecase. - Actor: Tất cả các actor
- Điều kiện: Không có
Trạng thái hệ thống sau khi thực hiện use case.
Đăng nhập thành công, hệ thống chuyển đến trang chủ
Đăng nhập không thành công, hiển thị thông báo ở trang đăng nhập. Người dùng có thể bỏ qua bước đăng nhập để vào trang chủ hệ thống
Các yêu cầu đặc biệt Không có
Ngoại lệ Không có
4.2.3.3. Đặc tả use case xem tin tức Tên Usecase Xem tin tức
Tóm tắt Người dùng xem những tin tức có trên hệ thống
Actor User
Dòng sự kiện chính Người dùng truy cập vào hệ thống
Người dùng xem những tin tức có trên trang chủ
Người dùng truy cập vào dẫn tới những bài viết bất động sạn về tin tức đó
Dòng sự kiện thay thế Không có
Trạng thái hệ thống trước
khi thực hiện usecase. - Actor: Tất cả các actor
- Điều kiện: Không có
Trạng thái hệ thống sau khi thực hiện use case.
Sau khi xem tin tức, màn hình sẽ chuyển đến những trang thông tin bất động sản
Các yêu cầu đặc biệt Không có
Ngoại lệ Không có
Bảng 4.5. Bảng đặc tả use case xem tin tức
4.2.3.4. Đặc tả use case tìm kiếm:
Tên Usecase Tìm kiếm
Tóm tắt Người dùng tìm kiếm thông tin bất động sản theo nhu cầu
Dòng sự kiện chính Người dùng truy cập vào hệ thống Người dùng tìm kiếm trên trang chủ
Người dùng có thể vào những loại bất động sản hệ thống đã phân loại trước để tìm kiếm
Sau khi tìm kiếm hệ thống sẽ trả về danh sách các bài đăng theo thông tin người dùng đã nhập
Dòng sự kiện thay thế Không có bài đăng phù hợp với thông tin người dùng
Trạng thái hệ thống trước
khi thực hiện usecase. - Actor: Tất cả các actor
- Điều kiện: Không có
Trạng thái hệ thống sau khi thực hiện use case.
Hệ thống trả về danh sách các bài đăng bất động sản
Nếu không thành công hệ thống trả về danh sách trống
Các yêu cầu đặc biệt Không có
Ngoại lệ Không có
4.2.3.5. Đặc tả use case sắp xếp
Tên Usecase Sắp xếp tin tức
Tóm tắt Người dùng sắp xếp thông tin bất động sản đã tìm kiếm
Actor User
Dòng sự kiện chính Người dùng truy cập vào hệ thống
Người dùng xem tin tức hoặc thực hiện tìm kiếm thông tin bất động sản
Hệ thống trả về danh sách các bài đăng, người dùng sắp xếp các bài đăng theo giá tiền, diện tích, địa chỉ, …
Dòng sự kiện thay thế Không có
Trạng thái hệ thống trước
khi thực hiện usecase. - Actor: Tất cả các actor
- Điều kiện: Không có
Trạng thái hệ thống sau khi thực hiện use case.
Hiển thị thông tin bài viết cho người dùng.
Các yêu cầu đặc biệt Không có
Ngoại lệ Không có
4.2.3.6. Đặc tả use case thiết lập biểu đồ: Tên Usecase Thiết lập biểu đồ
Tóm tắt Người dùng xem thông tin bất động sản dưới dạng trực quan thông qua các biểu đồ theo khu vực, theo diện tích, theo giá tiền, …
Actor User
Dòng sự kiện chính Người dùng truy cập vào hệ thống
Người dùng chuyển qua chức năng xem thông tin bằng biểu đồ
Người dùng chọn các thông tin theo nhu cầu như loại bất động sản, khu vực, diện tích, giá tiền,
Hệ thống sẽ trả về biểu đồ phù hợp với thông tin người dùng nhập vào
Dòng sự kiện thay thế Biểu đồ không hiển thị dữ liệu:
- Người dùng nhập thông tin không đúng
- Khu vực người dùng nhập không có đủ dữ liệu phù hợp để xây dựng biểu đồ
Trạng thái hệ thống trước
khi thực hiện usecase. - Actor: Tất cả các actor
- Điều kiện: Không có
Trạng thái hệ thống sau khi thực hiện use case.
Hệ thống trả về những biểu đồ phù hợp cho người dùng.
Các yêu cầu đặc biệt Không có
Ngoại lệ Không có
4.2.3.7. Đặc tả use case dự đoán giá nhà đất Tên Usecase Dự đoán giá nhà đất
Tóm tắt Hệ thống sẽ dự đoán giá nhà đất theo diện tích trên khu vực người dùng mong muốn
Actor User
Dòng sự kiện chính Người dùng truy cập vào hệ thống
Người dùng chuyển sang trang dự đoán giá nhà đất
Người dùng nhập thông tin khu vực mong muốn Hệ thống sẽ trả cho người dùng biểu đồ giá tiền ở khu vực đó
Người dùng nhập diện tích nhà đất mong muốn Hệ thống sẽ trả về giá tiền theo diện tích và độ chuẩn xác của thông tin
Dòng sự kiện thay thế Không thể dự đoán giá nhà đất hoặc dư đoán sai. Nguyên nhân:
• Dữ liệu bị nhiễu
• Người dùng nhập thông tin không phù hợp.
Trạng thái hệ thống trước
khi thực hiện usecase. - Actor: Tất cả các actor
- Điều kiện: Không có
Trạng thái hệ thống sau khi thực hiện use case.
Hệ thống trả về giá tiền và độ chuẩn xác của thông tin.
đồ trống, người dùng phải nhập lại thông tin
Các yêu cầu đặc biệt Không có
Ngoại lệ Không có
Bảng 4.9 Bảng đặc tả use case dự đoán giá nhà đất
4.2.3.8. Đặc tả use case đề xuất thông tin bất động sản Tên Usecase Đề xuất thông tin bất động sản
Tóm tắt Hệ thống đề xuất thông tin bất động sản phù hợp với người dùng
Actor User
Dòng sự kiện chính Người dùng truy cập vào hệ thống
Người dùng đăng nhập để thực hiện chức năng Người dùng dùng thực hiện chức năng xem bài viết đề xuất
Hệ thống sẽ trả về bài viết đề xuất phù hợp với người dùng
Dòng sự kiện thay thế Không thể thực hiện chức năng Nguyên nhân:
• Người dùng chưa đăng nhập.
• Người dùng chưa cập nhật thông tin cá nhân.
Trạng thái hệ thống trước
khi thực hiện usecase. - Actor: Tất cả các actor
Trạng thái hệ thống sau khi thực hiện use case.
Hệ thống trả về danh sách các bài đăng phù hợp nhu cầu người dùng
Các yêu cầu đặc biệt Không có
Ngoại lệ Không có
4.3. Các sơ đồ và luồng hoạt động 4.3.1. Đăng kí 4.3.1. Đăng kí
4.3.1.1. Mô tả:
Là chức năng cho phép người dùng tạo tài khoản mới trong hệ thống.
Người dùng nhập tên user, email và mật khẩu, đây là những thông tin bắt buộc khi tạo một tài khoản mới.
Hệ thống tạo tài khoản mới cho người dùng và người dùng sử dụng tài khoản này để đăng nhập vào hệ thống.
Sau khi tạo tài khoản thành công, người dùng sẽ sử dụng tên user và mật khẩu để vào ứng dụng.
4.3.1.2. Sơ đồ hoạt động
4.3.1.3. Sơ đồ tuần tự
4.3.2. Đăng nhập: 4.3.2.1. Mô tả
Là chức năng cho phép người dùng sử dụng tài khoản đã tạo để đăng nhập vào ứng dụng.
Người dùng sử dụng user name và mật khẩu để đăng nhập.
Hệ thống kiểm tra tài khoản đã tồn tại và xác thực hay chưa, nếu đã có thì nhảy tới trang chủ ứng dụng.
4.3.2.2. Sơ đồ hoạt động
4.3.2.3. Sơ đồ tuần tự
4.3.3. Tìm kiếm: 4.3.3.1. Mô tả:
Là chức năng cho phép người dùng tìm kiếm bài viết, những thông tin của bài viết về nhu cầu tìm kiếm của người dùng, hệ thống sẽ trả về thông tin bài viết khớp với thông tin mà người dùng cần tìm.
Hệ thống tìm kiếm cung cấp cho người dùng về tên lại hình bất động sản, địa chỉ, diện tích, giá bán, hình ảnh chi tiết và một số thông tin khác về loại hình bất động sản.
4.3.3.2. Sơ đồ hoạt động:
4.3.3.3. Sơ đồ tuần tự:
4.3.4. Sắp xếp: 4.3.4.1. Mô tả:
Là chức năng cho phép người dùng sắp xếp thông tin bài viết theo diện tích, theo giá tiền hoặc mới nhất để tiện theo dõi.
Người dùng truy cập vào hệ thống sắp xếp theo nhu cầu cần tìm, thông tin bài viết sẽ được cung cấp cho người dùng theo lựa chọn sắp xếp.
4.3.4.2. Sơ đồ hoạt động:
4.3.4.3. Sơ đồ tuần tự:
4.3.5. Thiết lập biểu đồ: 4.3.5.1. Mô tả:
Đây là chức năng cho phép người dùng tìm kiếm thông tin theo biểu đồ, giúp người dùng có một cái nhìn trực quan về thông tin nhà đất
Người dùng truy cập vào hệ thống, tìm kiếm thông tin, hệ thống sẽ cung cấp các biểu đồ theo yêu cầu của người dùng.
4.3.5.2. Sơ đồ hoạt động:
4.3.5.3. Sơ đồ tuần tự:
4.3.6. Dự đoán giá nhà đất: 4.3.6.1. Mô tả:
Đây là chức năng dự đoán giá nhà đất trong tương lai theo khu vực cho người dùng, giúp người dùng có thêm thông tin để tìm hiểu mua bán bất động sản
4.3.6.2. Sơ đồ hoạt động
4.3.6.3. Sơ đồ tuần tự
4.3.7. Đề xuất bài viết cho người dùng 4.3.7.1. Mô tả 4.3.7.1. Mô tả
Đây là chức năng khi người dùng thực hiện, hệ thống sẽ đề xuất những bài viết phù hợp với thông tin và nhu cầu tìm kiếm của người dùng
Người dùng đăng nhập vào hệ thống, cập nhật thông tin cá nhân, hệ thống sẽ dựa trên thông tin cá nhân và lịch sử tìm kiếm, lịch sử xem bài viết để tính toán, đứa ra những bài đăng phù hợp nhất cho người dùng
4.3.7.2. Sơ đồ hoạt động
4.3.7.3. Sơ đồ tuần tự
4.4. Thiết kế kiến trúc:
4.4.1. Mô hình kiến trúc
Hiện tại nhóm em xây dựng đề tài trên web. Project của nhóm được kế theo mô hình: mô hình MVC (Model-View-Controller).
4.4.2. Mô tả
MVC: là mô hình giúp tương tác giữa người dùng và giao diện đồ họa. Mô hình