Phân tích thiết kế hệ thống thuê nhà trọ cho sinh viên
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘIVIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
ĐỀ TÀI:
PHÂN TÍCH THIẾT KẾ HỆ THỐNG THUÊ NHÀ TRỌ CHO SINH VIÊN
Giảng viên hướng dẫn : TS Vũ Tuyết Trinh
Nhóm sinh viên thực hiện:
o Nguyễn Hoàng Anh SHSV: 20101094
o Nguyễn Đức Nghĩa SHSV: 20101933 Lớp: KSCLC-HTTT&TT-K55
ĐỒ ÁN
PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN
Trang 2MỤC LỤC
Giảng viên hướng dẫn : TS Vũ Tuyết Trinh 1MỤC LỤC 2LỜI NÓI ĐẦU 3
Trang 3LỜI NÓI ĐẦU
Để phát triển đất nước, xây dựng một nền kinh tế hiện đại cần phải thực hiệnthành công quá trình Công Nghiệp Hóa và Hiện Đại Hóa, cùng với nó là quá trình
đô thị hóa nhằm cung cấp nhân công, tập trung tài lực, vật lực, tích lũy tư bản…cho công nghiệp Bên cạnh đó, đô thị hóa cũng kèm theo nhiều vấn đề cần giảiquyết do sự tập trung quá đông ở đô thị như vấn đề ô nhiễm môi trường, kẹt xe, vệsinh an toàn thực phẩm, đời sống vật chất tinh thần, nhà ở cho công nhân…
Đối với những thành phố lớn, đặc biệt với Tp Hà Nội – một thành phố với
trên 7 triệu dân – thì những vấn đề trên càng trở nên phức tạp, nhất là vấn đề nhà trọ cho dân nhập cư, công nhân và sinh viên của các trường đại học - cao đẳng.
Hơn thế nữa, hàng năm có hơn 1,5 triệu học sinh tham gia kỳ thi tuyển sinh ĐạiHọc mà chủ yếu tập trung ở 2 trung tâm lớn là Hà Nội và Tp Hồ Chí Minh, hơnnữa, đa số số thí sinh này và gia đình là ở quê, ngoại thành lên thành phố, tìm đượcnhà trọ vừa ý là rất khó…
Sự thành lập và đi vào hoạt động của thị trường chứng khoán và sự kiện gianhập tổ chức thương mại quốc tế WTO làm cho nền kinh tế Việt Nam có nhữngchuyễn biến sôi động Hàng trăm công ty mới được thành lập, cũng cần thuê mướnmặt bằng làm địa điểm giao dịch, văn phòng đại diện…
Như vậy, hàng ngày nhu cầu tìm kiếm nhà trọ để thuê, cũng như tìm thuê mặtbằng làm văn phòng đại diện, địa điểm giao dịch là rất lớn Nhưng bằng cánh nào
để người cần thuê gặp được chủ nhà một cách cách dễ dàng và thuê được căn nhà
ưng ý nhất ? Hiện nay, nhu cầu tìm kiếm mọi thông tin trên internet đã trở nên khá
phổ biến Chính vì thế, đề tài của chúng tôi là thiết kế một hệ thống tìm kiếm nhà
trọ một cách nhanh chóng và hiệu quả nhất Sau khi đưa ra được ý tưởng chúng
tôi tiến hành phân tích và thiết kế ý tưởng của mình, bởi vì lần đầu bước chân vàolĩnh vực phân tích thiết kế hệ thống thông tin nên không thể tránh khỏi những thiếusót, rất mong thầy và bạn đọc đóng góp ý kiến để hoàn thiện đồ án của chúng tôi
Xin chân thành cám ơn sự hướng dẫn tận tình của cô trong suốt quá trình thực hiện đồ án này!
Trang 4I Giới thiệu đề tài
1 Nội dung đề tài
Xây dựng hệ thống quản lý các nhà trọ đang tìm người thuê và cho phépngười cần tìm nhà trọ tìm kiếm phòng trọ
Đây là một hệ thống chứa một lượng lớn thông tin về các nhà, phòng hiện tạichủ nhà không có nhu cầu sử dụng và muốn cho thuê Người truy cập vàotrang web có thể sử dụng chức năng tìm kiếm theo khu vực như ở thành phố,quân huyện, tìm theo địa chỉ như số nhà của đường nào đó, theo giá tiền thuêcũng như các tiện nghi của nhà, phòng cho thuê… Hệ thống cũng cung cấpcho người truy cập thông tin chi tiết về nhà, phòng có nhu cầu cho thuê, địachỉ, email cũng như điện thoại để liên hệ với chủ nhà
2 Đối tượng và phạm vi
Sinh viên các trường đại học và chủ các nhà trọ trong địa bàn hà nội
3 Mô tả bài toán
Xây dựng một hệ thống cho phép tương tác giữa sinh viên tìm kiếm nhà trọ
và chủ nhà trọ cần cho thuê
- Với chủ nhà trọ :
Hệ thống cho phép chủ nhà trọ đăng lên thông tin tìm kiếm nhà trọ, nội dung đăng bao gồm : địa chỉ, số người, giá tiền, diện tích phòng trọ, mô tả của chủ nhà trọ , số điện thoại, email liên hệ
Trang 5- Với sinh viên :
Hệ thống cho phép sinh viên tìm kiếm các nhà trọ Sinh viên có thể tìm kiếm theo địa chỉ, diện tích, số người mong muốn Hệ thống có thêm chức năng tìm kiếm thông minh cho phép người dùng nhập một số thông tin mong muốn về nhà trọ và tìm kiếm nhà trọ phù hợp nhất
Ngoài tạo sự tương tác giữa chủ nhà trọ và sinh viên hệ thống còn có thêm chức năng cho phép chủ nhà trọ đánh giá sinh viên và theo chiều ngược lại sinh viên đánh giá nhà trọ theo số sao Điều này cho phép ngoài các thông tin mà chủ nhà trọ đăng sinh viên còn có một đánh giá khác về nhà trọ này thông qua số lượng sao trung bình và theo chiều ngược lại chủ nhà trọ ngoài thông tin về sinh viên như tên, tuổi, trường còn có thể đánh giá sinh viên thông qua số sao trung bình
Để thực hiện được điều này hệ thống cần đạt được các yêu cầu :
+ Có hệ thống quản lý thông tin về các chủ nhà trọ, nhà trọ và sinh viên Ởđây ngoài lưu thông tin ra có thể thêm các chức năng như xác nhận thông tinngười dùng đăng ký, xác nhận thông tin về phòng trọ
+ Hệ thống cho phép sinh viên tìm kiếm các nhà trọ theo nhiều tiêu chí, vàcho phép chủ nhà trọ đăng các thông tin về tìm kiếm người thuê
+ Hệ thống cho phép đánh giá giữa chủ nhà trọ và sinh viên
+ Hệ thống có phần quản lý riêng cho toàn bộ hệ thống : sinh viên, nhà trọ,
Để tăng sự tương tác, hệ thống có thêm một phần quản lý forum đơn giản chophép sinh viên đặt câu hỏi để các người dùng khác trả lời
Ngoài ra, hệ thống còn có thể cung cấp các chức năng sâu hơn như : cho phépmột chủ nhà trọ đăng lên bao nhiêu bài đăng trong 1 ngày, quản lý số lần sinhviên gửi yêu cầu muốn thuê nhà trọ trong 1 ngày
Trang 6II Phân tích hệ thống
1 Biểu đồ ca sử dụng
Trang 72 Đặc tả các ca sử dụng
2.1 Sinh viên đăng ký phòng trọ
2.1.1 Mô tả tóm tắt
• Tên ca sử dụng: sinh viên đăng ký phòng trọ
• Mục đích: giúp sinh viên đăng ký vào phòng trọ mà mình muốn thuêtrọ
• Tóm lược: Sinh viên có thể tìm kiếm, đăng ký, bỏ đăng ký, gửi phảnhồi, xem lịch sử đăng ký
• Đối tác: Sinh viên
2.1.2 Mô tả các kịch bản
• Kịch bản chính
Ca sử dụng bắt đầu khi sinh viên vào hệ thống Sinh viên chọn việctrong: Tìm kiếm, đăng ký, bỏ đăng ký, xem lịch sử, phản hồi.(R1) Chỉriêng việc tìm kiếm hệ thống không bắt buôc sinh viên đăng nhập, còncác việc còn lại thì sinh viên phải đăng nhập
Nếu Tìm kiếm được chọn thì kịch bản con
Trang 8C-1: Tìm kiếm phòng trọ được thực hiện.
Nếu đăng ký được thực hiện thì kịch bản con
C-2: Đăng ký phòng trọ được thực hiện
Nếu bỏ đăng ký được chọn thì kịch bản con
C-3: Bỏ đăng ký phòng trọ được thực hiện
Nếu phản hồi được chọn thì kịch bản con
C-4: Phản hồi về bài đăng được thực hiện
Nếu xem lịch sử được chọn thì kịch bản con
C-5: Xem lịch sử đăng ký được thực hiện
• Các kịch bản con (được dùng trong kịch bản chính)
C-1: Tìm kiếm phòng trọ
Sinh viên nhập thông tin tìm kiếm về phòng trọ mình muốn thuê như: giá thuê phòng trên tháng, diện tích, số người ở tối đa, địa chỉ Hệ thống hiện thị các bài đăng về phòng trọ của các chủ cho thuê có thông tin giống như các thông tin sinh viên muốn tìm kiếm.(R2) Ca sử dụng bắt đầu lại
C-2: Đăng kí phòng trọ
Hệ thống cho phép sinh viên thực hiện tìm kiếm, hiện thị các các bảiđăng có thông tin về phòng trọ mà sin viên muốn tìn kiêm Sinh viênđăng kí vào phòng trọ.(R3) Hệ thống kết nối sinh viên với bài đăng vềphòng trọ đã đăng ký Ca sử dụng bắt đầu lại
C-3: Bỏ đăng ký phòng trọ
Hệ thống hiện thị các bài đăng về phòng trọ mà sinh viên đã đăng ký.Sinh viên bỏ đăng ký phòng trọ đã đăng ký Hệ thống dỡ bỏ kết nốicủa bài đăng về phòng trọ với sinh viên Ca sử dụng bắt đầu lại
Trang 9C-4: Phản hồi bài đăng
Hệ thống hiện thị các bài đăng, sinh viên chọn bài đăng cần phản hồi.Sinh viên phản hồi bài đăng bằng cách đánh giá sao Hệ thống lưu kếtquả đánh giá và hiệ thị số sao của bài đăng Ca sử dụng bắt đầu lại.C-5: Xem lịch sử đăng ký
Sinh viên yêu cầu xem các phòng trọ mà mình đã đăng ký, hệ thốnghiện thị thông tin bài đăng về phòng trọ mà sinh viên đã đăng ký Ca
sử dụng bắt đầu lại
• Các kịch bản khả dĩ khác
R-1: Thông tin tìm kiếm đưa ra la không chính xác Sinh viên phải nhập lại thông tin phòng trọ cần tìm kiếm hoặc kết thúc ca sử dụng
R-2: Thông tin tìm kiếm không có trong cơ sở dữ liệu, thông báo không tìm thấy, Sinh viên có thể nhập lại thông tin tìm kiếm hoặc kết thúc ca sử dụng
R-3: Nếu bài đăng đã bị closed, hệ thống thông báo đến sinh viên, yêu cầu xem phòng khác hoặc kết thúc ca sử dụng
Nếu các sinh viên yêu cầu các thực hiện các kịch bản con cần đăngnhập (đăng ký phòng trọ, bỏ đăng ký phòng trọ, phản hồi bài đăng,xem lich sử đăng kí) thì hệ thống yêu cầu sinh viên phải đăng nhậphoặc đăng ký tài khoản
2.2 Quản lý bài đăng
2.2.1 Mô tả tóm tắt
• Tên ca sử dụng: Quản lý bài đăng
• Mục đích: giúp người chủ trọ cho thuê quản lý được các bài đăng của
Trang 10C-1: Tạo bài đăng mới được thực hiện.
Nếu Xóa được thực hiện thì kịch bản conC-2: Xóa bài đăng về phòng trọ được thực hiện
Nếu Sửa được chọn thì kịch bản conC-3: Sửa thông tin bài đăng về phòng trọ được thực hiện
Nếu Xem được chọn thì kịch bản conC-4: Xem danh sách bài đăng được thực hiện
• Các kịch bản con
C-1: Tạo bài đăng mới
Hệ thống hiển thị giao diện đăng bài, yêu cầu nhập thông tin bài đăng.(R2).Chủ trọ nhập bài đăng về thông tin phòng trọ Hệ thống kiểm tra thông tin bài đăng và lưu vào cơ sở dữ liệu Hệ thống đăng bài của chủ trọ, thông báo đến admin về bài đăng Ca sử dụng bắt đầu lại
Trang 11C-2: Xóa bài đăng
Chủ trọ chon bài đăng mà mình muốn xóa (R3)Hệ thống hiện thị bàiđăng Chủ trọ xóa bài đăng Ca sử dụng bắt đầu lại
C-3: Sửa thông tin bài đăng về phòng trọ
Chủ trọ chọn bài đăng cần sửa(R4), sau đó cập nhật thông tin về bàiđăng Hệ thống lưa lại bài đăng của chủ trọ, thông báo sửa đổi thànhcông Ca sử dụng bắt đâu lại
C-4: Xem danh sách bài đăng
Chủ trọ yêu cầu xem bài đăng của mình đã đăng Hệ thống hiện thịcác bài đăng của chủ trọ(R5) Ca sử dụng bắt đâu lại
• Tên ca sử dụng: Quản lý của Admin
• Mục đích: Admin quản lý người dùng hoặc các bài đăng của ngườidùng
• Đối tác: Admin
2.3.2 Mô tả các kịch bản
Trang 12• Kịch bản chính
Ca sử dụng này bắt đâu khi người Admin đăng nhập vào hệ thống vànhập mật khẩu của mình Hệ thống kiểm tra đó là đúng đắn (R1) vàcho phép người Admin thực hiện các công việc: quản lý user, quản lýcác bài đăng
Quản lý người dùng: xem thông tin, chỉnh sửa, xóa, block user
Quản lý bài đăng: xem thông tin, chỉnh sửa, close
• Tên ca sử dụng: Người dùng sử dụng forum
• Mục đích: Giúp sinh viên đăng một vài thông tin như câu hỏi
• Tóm lược: Sinh viên có thể xem các bài đăng, đăng một bài hoặccomment một bài đăng
• Đối tác: Sinh viên và chủ nhà trọ
2.4.1 Mô tả các kịch bản
Người dùng nhấn vào biểu tượng forum, sau đó xem các bài đăng theođược sắp xếp theo thứ tự thời gian Người dùng cũng có thể xem cáccomment trong một bài đăng Người dùng có thể comment một bài đănghoặc tạo một bài đăng mới sau khi đã đăng nhập
Trang 133 Biểu đồ lớp tham gia vào các ca sử dụng
3.1 Biểu đồ lớp tham gia ca sử dụng sinh viên đăng ký phòng trọ
Trang 143.2 Biểu đồ lớp tham gia ca sử dụng quản lý các nhà trọ của chủ trọ
Trang 153.3 Biểu đồ lớp tham gia ca sử dụng quản lý của Admin
3.4 Biểu đồ lớp tham gia ca sử dụng đăng bài trong forum
Trang 164 Biểu đồ trình tự
4.1 Biểu đồ trình tự đăng bài của chủ trọ
Trang 174.2 Biểu đồ trình tự sinh viên đăng ký phòng
Trang 184.3.Biểu đồ trình tự admin quản lý bài đăng
Trang 194.4.Biểu đồ trình tự admin quản lý user
Trang 204.5.Biểu đồ trình tự quản lý bài đăng của chủ trọ
Trang 214.6.Biểu đồ trình tự đang bài trong forum
Trang 224.7 Biểu đồ trình tự xem bài, comment trong forum
Trang 23III Thiết kế cơ sở dữ liệu
Sơ đồ quan hệ giữa các đối tượng:
Mô-đun 1: sinh viên - chủ nhà trọ - bài đăng nhà trọ
Trang 24Mô-đun 2: sinh viên - chủ nhà trọ - bài đăng forum
Thiết kế cơ sở dữ liệu:
Cơ sở dữ liệu gồm 7 bảng, bao gồm:
Trang 25- anh
Sau đây là mô tả chi tiết về các bảng này:
1 Sinh_vien: Bảng lưu thông tin về một sinh viên
ma_sinh_vien string Primary key Mã số của sinh
viên
viên
khoản của sinh viên (đã được mãhóa)
sinh viên
của sinh viên
default = 0
Trạng thái của sinh viên, bị block hay không
Trang 262 Nha_tro: Bảng lưu thông tin về một nhà trọ được đăng lên
Gia_tren_thang Real Not null Số tiên thuê trong vòng
một tháng của nhà trọ
đơn vị m2
Thoi_gian_tao Datetime Not null Thời gian đăng bài
Ma_chu_nha_tro String Not null,
Foreign key
Mã số của chủ nhà trọ này
một bài đăng:
- 1: active (bất kỳ user nào cũng có thể đăng
ký phòng trọ này)
- 2: pending (chủ nhà trọ đã đồng ý với một yêu cầu và đang liên hệ)
- 3: closed (đóng bài đăng)
hoặc nhà trọ
Trang 273 Chu_nha_tro: Bảng lưu thông tin về một chủ nhà trọ
Ma_chu_nha_tro String Primary key Mã số của chủ
Trang 284 Sinh_vien_nha_tro: bảng liên kết giữa sinh viên và nhà trọ khi sinh viên đăng
ký một phòng trọ
phẩn tử được sinh tự độngMa_sinh_vien String Foreign key Mã số của sinh
viên đăng ký phòng trọ
trọ mà sinh viên đăng ký
5, min: 1)Chu_nha_tro_da
nh_gia
Default: 5
Đánh giá của sinh viên (max:
5, min: 1)
5 Hoat_dong: Bảng lưu lại hoạt động của sinh viên và chủ nhà trọ sau khi sinh
Trang 29viên gửi đăng ký
phẩn tử được sinh tự động
với bảng sinh_vien_phong_tro
bao gồm:
- 1: sinh viên đăng ký
- 2: sinh viên từ chối (sau khi đã đăng ký)
- 3: chủ nhà trọ chấp nhận
- 4: chủ nhà trọ từchối
6 Bai_dang: Bảng lưu lại các bài đăng trong forum
Trang 30Trường Kiểu Chú thích Mô tả
Ma_bai_dang String Primary key Mã số của bài đăngChu_bai_dang String Foreign key Mã số của chủ bài đăng
Thời gian tạo Datetime Not null Thời gian tạo bài
Default = -1
Cho biết bài đăng này
là bài đăng gốc hay là comment lại bài đăng khác
7 Anh: Bảng lưu lại các ảnh sẽ được sử dụng, có thể là avatar cho người dùng hoặc ảnh cho một nhà trọ
động
về user hay bài đăng nào
về một user hay là một bài đăng
Thoi_gian_tao Datetime Not null