1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án tốt nghiệp khoa cntt haui 2018 2019

67 950 2
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 67
Dung lượng 4,12 MB
File đính kèm Đồ án tốt nghiệp khoa cntt haui 2018 2019.zip (11 MB)

Nội dung

Đồ án tốt nghiệp khoa cntt trường ĐHCN Hà Nội 2018 2019.Đồ án này do bản thân mình thực hiện trong vòng 2 tháng. Trong tập tin đính kèm gồm có sile thuyết trình bảo vệ đồ án, bản mềm đồ án tốt nghiệp. Đồ án của mình được các giáo viên đánh giá rất cao. Bởi vậy điểm số bài bảo vệ của mình lần lượt là: 10 9 10. (không tệ đúng không ạ). Anh chị em nào cần tham khảo thì ủng hộ mình bằng cách đặt mua và tải xuống nhé giá cũng chỉ bằng 1 bát bún tại phố đi bộ Nguyên Xá thôi ạ :))) Cám ơn các bạn rất nhiều

Trang 1

“ Xây dựng website rao vặt bất động sản với Python”

Giảng viên hướng dẫn: Ths.NGÔ VĂN BÌNHSinh viên thực hiện : MA VĂN SÔNG

Lớp : Khoa học máy tính 4 – khóa 10

Trang 2

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 8

2.1 Tìm hiểu ngôn ngữ lập trình Python 8

2.2 Tìm hiểu về Framework Django 11

CHƯƠNG 3 PHÂN TÍCH THIẾT KẾ 18

3.1.Khảo sát, phát biểu và mô tả bài toán 18

3.1.1 Khảo sát 18

3.1.2 Phát biểu bài toán 18

3.1.3 Mô tả bài toán 18

3.2.4 Usecase Xem tin rao vặt 29

3.2.5 Usecase Lọc Bất Động Sản Theo Địa Điểm 32

3.2.6 Usecase Xem tin tức 34

3.2.7 Usecase Đăng xuất 37

3.2.8 Usecase Tạo tin rao vặt 39

3.2.9 Usecase FAQ ( gửi câu hỏi ) 42

Trang 3

3.2.10 Usecase Gửi yêu cầu 45

Hình 2 Framework Django 12

Hình 3 Mô hình hoạt động của django 14

Hình 4 Biểu đồ hoạt động của toàn hệ thống 20

Hình 5 Hành động của tác nhân User case đăng nhập 21

Hình 6 Biểu đồ hoạt động đăng nhập 22

Hình 7 Biểu đồ lớp tham gia User case đăng nhập 22

Hình 8 Biểu đồ trình tự User case đăng nhập 23

Hình 9 Hoạt động của tác nhân User case đăng ký 24

Hình 10 Biểu đồ hoạt động User case đăng ký 25

Hình 11 Biểu đồ lớp tham gia User case đăng ký 25

Hình 12 Biểu đồ trình tự User case đăng ký 26

Hình 13 Hoạt động của tác nhân User case tìm kiếm 27

Hình 14 Biểu đồ hoạt động User case tìm kiếm 28

Hình 15 Biều đồ lớp User case tìm kiếm 28

Hình 16 Biểu đồ trình tự User case tìm kiếm 29

Hình 17 Hoạt động của tác nhân xem tin rao vặt 30

Trang 4

Hình 18 Biểu đồ hoạt động User case xem tin rao vặt 31

Hình 19 Biểu đồ lớp tham gia User case xem tin rao vặt 31

Hình 20 Biểu đồ trình tự User case xem tin rao vặt 32

Hình 21 Hoạt độn của tác nhân User case lọc bất động sản 33

Hình 22 Biểu đồ hoạt động User case lọc bất động sản 33

Hình 23 Biểu đồ lớp tham gia User case lọc bất động sản 34

Hình 24 Biểu đồ trình tự User case lọc bất động sản 34

Hình 25 Hoạt động của tác nhân User case xem tin tức 35

Hình 26 Biểu đồ hoạt động User case xem tin tức 36

Hình 27 Biểu đồ lớp tham gia User case xem tin tức 36

Hình 28 Biểu đồ trình tự User case xem tin tức 37

Hình 29 Hoạt động của tác nhân User case đăng xuất 38

Hình 30 Biểu đồ hoạt động User case đăng xuất 38

Hình 31 Biểu đồ lớp tham gia User case đăng xuất 39

Hình 32 Biểu đồ trình tự User case đăng xuất 39

Hình 33 Hoạt động tác nhân tạo tin rao vặt 40

Hình 34 Biểu đồ hoạt động User case đăng tin rao vặt 41

Hình 35 Biểu đồ lớp tham gia User case tạo tin rao vặt 41

Hình 36 Biểu đồ trình tự User case tạo tin rao vặt 42

Hình 37 Hoạt động tác nhân User case FAQ 43

Hình 38 Biểu đồ hoạt động User case FAQ 44

Hình 39 Biểu đồ lớp tham gia User case FAQ 44

Hình 40 Biểu đồ trình tự User case FAQ 45

Hình 41 Hoạt động tác nhân User case Gửi yêu cầu 46

Hình 42 Biểu đồ hoạt động User case gửi yêu cầu 47

Hình 43 Biểu đồ lớp tham gia User case Gửi yêu cầu 48

Hình 44 Biểu đồ trình tự User case Gửi yêu cầu 48

Hình 45 Biểu đồ lớp lĩnh vực toàn hệ thống 50

Hình 46 Mô hình quan hệ cơ sở dữ liệu 52

Hình 47 Giao diện trang chủ 63

Hình 48 Giao diện đăng nhập 64

Hình 49 Giao diện đăng ký tài khoản 65

Hình 50 Giao diện người dùng quản lý tin rao vặt 66

Hình 51 Giao diện tạo mới tin rao vặt 67

Hình 52 Giao diện chi tiết tin rao vặt 68

Trang 5

Hình 53 Giao diện quản trị admin 69

Hình 54 Giao diện quản lý tin rao vặt 69

MỤC LỤC BẢNGBảng 1 Các bảng trong cơ sở dữ liệu 54

Trang 6

LỜI MỞ ĐẦU

Ngày nay, với việc dân số ngày một gia tăng kéo theo đó là nhu cầu về nhà ở cũngngày một lớn Cùng với công nghệ đang ngày một phát triển đời sống nhân dân đượcnâng cao lên Sự phát triển của công nghệ tiêu biểu là cuộc cách mạng công nghiệp 4.0thế giới đang dần xoay mình thay đổi, số hóa mọi thứ Lĩnh vực bất động sản cũng khôngnằm ngoài lệ của xu hướng đó Với việc ứng dụng công nghệ thông tin, người dân có nhucầu mua bán bất động sản sẽ dễ dàng tìm được căn hộ ưng ý nhất với bản thân mình.

Với những nguyên nhân trên em quyết định xây dựng lên “website rao vặt bất động

sản” với mục đích giúp cho người dân có nhu cầu mua bán bất động sản có thể tìm mua

hoặc bán căn hộ của mình mọi lúc mọi nơi Không còn phải tốn những chi phí in thuê,phát tờ rơi, banner quảng cáo truyền thống Không chỉ dừng lại ở đó “website rao vặt bấtđộng sản” còn giúp cho những người có nhu cầu mua bán bất động sản có cái nhìn tổngquát về thị trường nhà đất hay chung quy là thị trường bất động sản theo từng ngày.

Qua 4 năm học tập và nghiên cứu tại khoa Công nghệ thông tin Trường Đại học Côngnghiệp Hà Nội, em đã được thầy cô truyền đạt cho những kiến thức cả về lý thuyết vàthực hành để em áp dụng được những kiến thức đó vào thực tế và làm quen với công việccủa một kỹ sư tương lai Trong quá trình làm đề tài bản thân em đã được sự hướng dẫn

của Thạc sĩ Ngô Văn Bình là giảng viên khoa CNTT Em xin được gửi lời cảm ơn chân

thành nhất tới thầy cùng thầy cô trong khoa Công nghệ thông tin.

Việc thực hiện đề tài còn nhiều điểm chưa hoàn thiện.Vì vậy em rất mong nhận đượcsự chỉ bảo của các thầy cô để hoàn thiện đề tài

Em xin chân thành cảm ơn ! Hà Nội ,tháng 3 năm 2019

Trang 7

CHƯƠNG I MỞ ĐẦU1.Tên đề tài

Đề tài : Xây dựng website rao vặt bất động sản với Python - Django

2 Lý do chọn đề tài

Nước ta đang bước vào thời kỳ vàng son của dân số Kéo theo đó là nhu cầu nhà ở rấtlớn tại các thành phố lớn như Hà Nội, Hồ Chí Minh … Cũng như các vùng khác trên toànViệt Nam.

Nhu cầu mua bán bất động sản ngày một tăng lên Cùng với sự phát triển của công nghệ4.0 bắt buộc người mua và bán bất động sản phải thay đổi hình thức marketing truyềnthống sang hình thức marketing mới Giúp cho người mua và bán bất động sản có thể tìmđược đúng đối tượng cần mua, bán bất động sản

Với nhu cầu thiết yếu đó, việc nên có một kênh chuyên về mua bán bất động sản là rấtcần thiết trong thời buổi hiện nay Bất động sản là một ngành có đặc thù riêng biệt và cónhiều lĩnh vực khác nhau

3 Mục đích

Cung cấp một kênh chuyên biệt về mua bán bất động sản tại Việt Nam Giúp chongười mua, bán nhà đất có thể đăng bài bán nhà Người có nhu cầu mua nhà vào xem vàlựa chọn cho mình ngôi nhà phù hợp theo nhu cầu của mình.

Trang 8

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT2.1 Tìm hiểu ngôn ngữ lập trình Python

2.1.1Giới thiệu về Python

Python là một ngôn ngữ lập trình thông dịch (interpreted), hướng đối tượng oriented) và là một ngôn ngữ bậc cao (hight-level), ngữ nghĩa động (dynamic semantics).Python hỗ trợ các module và gói (packeges), khuyến khích chương trình module hóa vàtái sử dụng code Trình thông dịch Python và thư viện chuẩn mở rộng có sẵn dưới dạngmã nguồn hoặc dạng nhị phân miễn phí cho tất cả các nền tảng chính và được phân phốtự do.

(Object-Các đặc điểm của ngôn ngữ lập trình Python: Ngữ pháp đơn giản, dễ đọc.

 Vừa hướng thủ tục (procedural-oriented), vừa hướng đối tượng (object-oriented) Hỗ trợ module và hỗ trợ gói (package)

 Xử lý lỗi bằng ngoại lệ (Exception) Kiểu dữ liệu động ở mức cao.

 Có các bộ thư viện chuẩn và các module ngoài, đáp ứng tất cả các nhu cầu lậptrình.

Python hoặc Net cho IronPython).

 Có thể nhúng vào ứng dụng như một giao tiếp kịch bản (scripting interface).

Python là ngôn ngữ có khả năng chạy trên nhiều nền tảng.

Python có cho mọi hệ điều hành: Windows, Linux/Unix, OS/2, Mac, Amiga, và

những hệ điều hành khác Thậm chí có cả những phiên bản chạy trên NET, máyảo Java, và điện thoại di động (Nokia Series 60) Với cùng một mã nguồn sẽ chạy giống

nhau trên mọi nền tảng.

Python rất đơn giản và dễ học

Trang 9

Python có cộng đồng lập trình rất lớn, hệ thống thư viện chuẩn, và cả các thư viện

mã nguồn mở được chia sẻ trên mạng.

Python là ngôn ngữ mã nguồn mở

Python dùng giấy phép nguồn mở nên được sử dụng và phân phối tự do, ngay cả

trong việc thương mại Giấy phép Python được quản lý bởi Python Software

2.1.2 Lịch sử phát triển

Python đã được hình thành vào cuối những năm 1980, và việc thực hiện nó vào tháng

12 năm 1989 bởi Guido van Rossum tạiCentrum Wiskunde & Informatica

(CWI) ở Hà Lan như là một kế thừa cho ngôn ngữ ABC (tự lấy cảm hứng từ SETL) có

khả năng xử lý ngoại lệ và giao tiếp với Hệ điều hành Amoeba Van Rossum là tác giảchính của Python, và vai trò trung tâm của ông trong việc quyết định hướng phát triểncủa Python.

Trang 10

Hình 1 Cha đẻ Python

“ Về nguồn gốc của Python, Van Rossum đã viết vào năm 1996:

Hơn sáu năm trước, vào tháng 12 năm 1989, tôi đã tìm kiếm một dự án lập trình "sở thích"mà nó đã chiếm đóng tâm trí tôi trong suốt tuần lễ Giáng sinh Văn phòng của tôi sẽđóng cửa, nhưng tôi đã có một máy tính ở nhà, và không có nhiều thứ khác trên tay Tôiquyết định viết một bộ thông dịch (interprester) cho ngôn ngữ kịch bản mới mà tôi đã

từng nghĩ đến: một hậu duệ của ABC có thể hấp dẫn các hacker Unix/C Tôi đãchọn Python như là một tiêu đề làm việc cho dự án “

Python 2.0 đã được phát hành vào ngày 16 tháng 10 năm 2000 và có nhiều tính năng

mới, bao gồm bộ thu gom rác theo chu kỳ (cycle-detecting garbage) và hỗ trợ Unicode.

Với việc phát hành này quá trình phát triển đã được thay đổi và trở nên minh bạch hơn vàcộng đồng hậu thuẫn.

Hiện tại, phiên bản python 2.x đã ngưng phát triển Phiên bản cuối cùng của Python 2.xlà 2.7.

Trang 11

Python 3.0 được phát hành năm 2008, sau một thời gian dài thử nghiệm.

Cho tới năm 2018, Python 3.x đang có phiên bản 3.7

2.1.3 Các kiểu dữ liệu cơ bản trong Python

- Kiểu int: Kiểu số nguyên (không có chứa dấu chấm thập phân), có thể lưu các

số nguyên âm và dương.- Ví dụ: 113, -114

- Kiểu float: Kiểu số thực (có chứa dấu chấm thập phân),

- ví dụ: 5.2, -7.3

- Kiểu complex: Kiểu số phức,

- ví dụ 1: z = 2+3j thì 2 là phần thực, 3 là phần ảo (j là từ khóa để đánh dấu phầnảo)

- ví dụ 2: z=complex(2,3) thì 2 là phần thực, 3 là phần ảo- khi xuất kết quả ta có thể xuất:

- print(“Phần thực= “,z.real) ==>Phần thực= 2- print(“Phần ảo= “,z.imag) ==> Phần ảo= 3

- Kiểu str: Kiểu chuỗi, để trong nháy đôi hoặc nháy đơn

- Ví dụ: “Obama”, ‘Putin’

- Kiểu bool: để lưu giá trị True hoặc False

- Ví dụ 1: t1=True

- Ví dụ 2: t2=False

Ngoài ra Python còn có các kiểu dữ liệu khác như List, Tuple, Dictionary.

Trang chủ ngôn ngữ Python: https://www.python.org

2.2 Tìm hiểu về Framework Django

Python không có sẵn khả năng làm web, chính vì thế cần phải có một số module nhật định để đưa Python lên web Nếu muốn phát triển những ứng dụng cực kỳ đơn giản – nhưng một page check thử server có chạy hay không – chúng ta có thể dùng cgi module.

Trang 12

Với nhu cầu ngày càng đa dạng, lập trình viên nên chuyển sang một số framework Python như Django hay Flask để có thể cho ra các ứng dụng web phức tạp.

Đa phần những framework này cần phải đi kèm với dịch vụ web như Apache khi tiến đến production, và đây cũng là lúc khuyết điểm xuất hiện So với PHP, quá trình deploy của Python trên remote server sẽ khá khó khăn nếu mới thực hiện lần đầu.

Các dịch vụ nổi tiếng như Instagram, Reddit, Quora và Disqus đều được phát triểntrên nền Python.

2.2.1 Giới thiệu về Framework Django

Trang chủ của Framework Django: https://www.djangoproject.com/

Hình 2 Framework Django

Trang 13

Django là một web framework miễn phí mã nguồn mở được viết bằng Python

Django sử dụng mô hình Model-View-Control (MVC) Django được phát triển

bởi Django Software Foundation(DSF) – một tổ chức phi lợi nhuận độc lập.

 Mục tiêu chính của Django là đơn giản hóa việc tạo các website phức tạp có sử dụng cơ sở dữ liệu Django tập trung vào tính năng “có thể tái sử dụng” và “có thể tự chạy” của các component, tính năng phát triển nhanh, không làm lại những gì đã làm Một số website phổ biến được xây dựng từ Django

là Pinterest, Instagram, Mozilla, và Bitbucket.

Một số thế mạnh của Django so với các framework khác:

 Học tập nhanh Tương tự Python, Django cũng rất dễ học, không như Ruby hayRails.

 Tự động tạo SQL tables Django sẽ thay bạn làm công việc này khi bạn đã xác định được cấu trúc.

 Tạo forms Khi bạn đã tạo được Form class trong Django và linked đến model, form generator trong Django sẽ đảm nhận render form, xác minh và lưu trưc tiếp data.

Admin Interface Tương tự SQL table, khi bạn đã xác định được cấu trúc,

Django sẽ tạo một admin interface cho phép bạn quản lý database (không khác gì PhpMyAdmin được build-in trong Django.)

Django Shell Python shell, ngay trong môi trường của Django project, chính

là lợi thế mà Django shell mang lại Tính năng này rất hữu hiệu khi debug (thường khó thực hiện trên PHP hơn).

2.2.2 Sơ lược các tính năng cơ bản của Framework Django

Django làm việc trên mô hình MVC (Model – View –Control)

Trang 14

Hình 3 Mô hình hoạt động của django

Models: ánh xạ các đối tượng và quan hệ cơ sở dữ liệu, cung cấp các phương

thức nội bộ để thực thi đồng thời cũng bổ sung các tính năng hạn chế về mốiquan hệ giữa các đối tượng cơ sở dữ liệu Models trình bày các bảng trong cơsở dữ liệu dưới dạng các lớp, cung cấp thêm lựa chọn truy cập cơ sở dữ liệutrực tiếp mới mẻ hơn, chuyên nghiệp hơn.

View: là một hàm/phương thức làm một công việc cụ thể nào đó, một View

thường đi kèm với một Template

Templates: Chứa các file html nhận dữ liệu từ file View.

Composer: Django cho phép chúng ta cài đặt các thư viện bên ngoài thông qua

pip có trong kho Packagist.

Application: Là một phần của phát triển ứng dụng, chứa các file Models, View,

Urls (Router): Định nghĩa mối quan hệ giữa các đường dẫn (url), các liên kết

(link) Khi một liên kết được tạo ra bằng cách sử dụng tên của routes, thì mộtđịnh danh liên kết thống nhất sẽ được tạo ra bởi laravel.

Makemigrations, migrate: cung cấp một hệ thống kiểm soát các phiên

bản lược đồ cơ sở dữ liệu (database cheme), làm cho web ứng dụng có khả năngtương tác phù hợp những thay đổi logic, các đoạn mã code của ứng dụng vànhững thay đổi cần thiết trong việc bố trí cơ sở dữ liệu, triển khai nới lỏng vàcập nhật các ứng dụng.

Tests: Cho phép lập trình viên viết code để test các chức năng trong mỗi app.

Trang 15

Paginations: Tính năng tự động phân trang được đưa vào django giúp đơn

giản hóa các nhiệm vụ thực hiện phân trang so với các phương pháp thôngthường.

2.2.4 Cách cài đặt

Trước khi cài đặt Django yêu cầu máy của chúng ta đã cài đặt Python, có thể là

Python 2.x hoặc 3.x 1 phần mềm web server như xampp Bản thân django mặc định

sinh ra cho chúng ta một cơ sở dữ liệu mặc định là Sqlite Chúng ta cũng có thể kếtnối với các cơ sử dữ liệu khác như Mysql, MongoDB, PostgreSql …

Chúng ta sẽ dùng Python 3.6 và Django 2.0 để tạo app này Và tất nhiên, chúng ta vẫn

đang ở trong folder myfirstapp và đã activate virtualenv.

Tạo project

Django có sẵn chức năng tạo một project template có cấu trúc hoàn chỉnh và mẫu mực cho một Project mà chúng ta đang muốn code Trên cmd của window chúng ta gõ câu lệnh như hình bên dưới:

$ django-admin startproject mysite

Và một folder tên mysite đã được tạo ra, chứa các thành phần căn bản trong đó cho cácDeveloper.

Chú ý: Không đặt tên project là django hoặc test Và không như PHP đặt code ở /var/www, Django sẽ tránh đặt ở các folder root, để bảo mật code Bạn có thể đặt code ở/home/username

Giờ hãy xem startproject đã tạo những gì:

Trang 16

manage.py mysite/

init .py settings.py urls.py wsgi.py

Folder ngoài cùng mysite không liên quan gì đến code, chúng ta có thể đổi tên tùy

manage.py: một CLI giúp chúng ta tương tác nhanh với Django

Folder mysite bên trong thực chất là một Py0thon package, và tên của nó sẽ là tên

package chúng ta dùng để import trong code VD: import mysite.urls

mysite/ init .py: File rỗng, có mục đích biến folder này thành một Python

mysite/settings.py: Các settings của project ở trong này.

mysite/urls.py: Định nghĩa các URL của trang web.

mysite/wsgi.py: Dùng khi deploy project.Development server

Để chạy project django, gõ câu lệnh sau trong command line (Windows) hoặc Terminal (Linux or MacOS).

$ python manage.py runserver

Kết quả:

Performing system checks

System check identified no issues (0 silenced).

You have unapplied migrations; your app may not work properly until they are applied.

Trang 17

Run 'python manage.py migrate' to apply them.December 16, 2016 - 15:50:53

Django version 1.10, using settings 'mysite.settings'Starting development server at http://127.0.0.1:8000/Quit the server with CONTROL-C.

Trang 18

CHƯƠNG 3 PHÂN TÍCH THIẾT KẾ3.1.Khảo sát, phát biểu và mô tả bài toán

3.1.1 Khảo sát

Nhu cầu mua, bán nhà ở hay bất động sản đang ngày một tăng lên tại Việt Nam Dođang ở thời kỳ vàng của dân số, thu nhập của người dân ngày một tăng lên Vậy nênđại đa số người dân Việt Nam đều có nhu cầu mua bán nhà đất.

Theo nghiên cứu của CBRE Việt Nam, phân khúc cao cấp và hạng sang ghi nhận mứctăng vào khoảng 8 - 9% so với năm ngoái Loại hình nhà ở trung cấp, bình dân gầnnhư ít biến động, chỉ những dự án đẹp mới có mức tăng tầm 1 - 3% Dự kiến giá nhàcao cấp có thể tăng lên đến 6.000 - 7.000 USD/m2 khi nguồn cung trong trung tâmhạn chế Còn phân khúc trung cấp sẽ ổn định và khó tăng giá cao.

Xu hướng mua bất động sản để an cư cũng đang giảm dần trong năm 2018, nhườngchỗ cho hình thức đầu tư Điều này có thể thấy ở phân khúc cao cấp và hạng sang,nhu cầu mua đầu tư chiếm đến 61% thay vì 50% như 2017, khách hàng mua để ở chỉchiếm 26% và đầu tư ngắn hạn tầm 13%, trong khi năm 2017 mua để ở là 35% và đầutư ngắn hạn là 15%.

Năm 2018 cũng là năm ghi nhận sự thay đổi trong nhu cầu mua nhà của khách ngoại.Nếu như năm 2017, Việt kiều là đối tượng người nước ngoài chính mua bất động sảnViệt Nam thì năm 2018, 70% lượng khách nước ngoài mua nhà là nhà đầu tư TrungQuốc, Hàn Quốc và Mỹ với tỷ lệ lần lượt là 41%, 19% và 3%.

3.1.2 Phát biểu bài toán

Trong xã hội ngày nay, nhu cầu mua bán bất động sản ngày một tăng lên Đáp ứng nhucầu này, dịch vụ rao bán bất động sản ngày càng được phát triển và dần trở nên quenthuộc, gần gũi với người dân Để đẩy mạnh dịch vụ mua bán nhà đất mọi lúc, mọi nơimột cách hiệu quả nhất, hình thức rao vặt bất động sản trực tuyến được ra đời.

3.1.3 Mô tả bài toán

Website rao vặt giúp cho người mua, bán bất động sản có cái nhìn toàn diện hơn về thịtrường bất động sản thông qua các tính năng:

Trang 19

- Tin tức: chức năng này cho phép người dùng cập nhật tin tức bất động sản, giá nhàđất, sự kiện sắp diễn ra

- Tìm kiếm: chức năng này cho phép người dùng tìm kiếm các bất động sản theo nơi ở,vị trí hiện tại, tình thành, quận huyện

- Xem Tin Rao vặt: chức năng này cho phép người dùng xem các tin rao vặt mà ngườicần bán đăng, xem thông tin người bán.

-Lọc tin rao vặt: chức năng này cho phép người dùng lọc tìm các bất động sản đangđược rao bán theo từng khu vực địa điểm cụ thể.

- Đăng tin rao vặt: Cho phép người dùng đăng tin rao vặt bất động sản 24/7 trênwebsite.

- Gửi yêu cầu: Chức năng này cho phép người dùng có yêu cầu về bất động sản haythắc mắc muốn được giải đáp có thể liên hệ với quản trị viên của website.

- FAQ: Chức năng này cho phép người dùng gửi câu hỏi để những người dùng khác cóthể chia sẻ giải đáp thắc mắc cho người đăng câu hỏi Ngược lại, người dùng có thể trảlời bất cứ câu hỏi nào xuất hiện trên website.

3.2 Phân tích

3.2.1 Tác nhân

- Tác nhân trong hệ thống: Người dùng, Admin, Khách vãng lai

Trang 20

Hình 4 Biểu đồ hoạt động của toàn hệ thống

3.2 Chi tiết các usecase

3.2.1 Usecase Đăng nhập

a Mô tả Usecase Mô tả tóm tắt: Mô tả tóm tắt:

- Tên User case: Đăng nhập

- Mục đích: Cho phép người dùng đăng nhập vào hệ thống để có thể thực hiệnđầy đủ chức năng của hệ thống.

- Hình thức: Đăng nhập bằng tài khoản đã đăng ký.

Trang 21

Mô tả chi tiết: Mô tả tóm tắt:

- User case bắt đầu khi người dùng muốn đăng nhập vào hệ thống hoặc đăngnhâp để thực hiện các chức năng khác của hệ thống.

- Hệ thống hiển thị màn hình đăng nhập, cho phép người dùng đăng nhâp bằng tàikhoản đã đăng ký tại website.

- Đăng nhập bằng tài khoản đăng ký trực tiếp tại website, người dùng thực hiện nhậptên đăng nhập, mật khẩu và kích chọn đăng nhập.

- Chọn “Lưu mật khẩu đăng nhập” Nếu muốn tự động đăng nhập cho nhữnglần truy suất sau.

- Hệ thống kiểm tra tính xác thực của tài khoản người dùng, xác thực xem tênđăng nhập và mật khẩu mà người dùng nhập vào đã đúng chưa.

Nếu tên đăng nhập hoặc mật khẩu không chính xác thực hiện luồng xử lý đăng nhậplỗi E4: Người dùng nhập sai tên hoặc mật khẩu Hệ thống hiển thị Message “ERROR:Invalid username Bạn quên mật khẩu?” Người dùng phải nhập lại tên và mật khẩu, sauđó tiếp tục User case, trong trường hợp người dùng không nhập lại tên hoặc mật khẩu thìUser case kết thúc.

- User case kết thúc

Trang 22

Hình 5 Hành động của tác nhân User case đăng nhập

b Biểu đồ hoạt động

Hình 6 Biểu đồ hoạt động đăng nhập

c Biểu đồ lớp tham gia sử dụng

Trang 23

Hình 7 Biểu đồ lớp tham gia User case đăng nhập

d.Biểu đồ trình tự

Hình 8 Biểu đồ trình tự User case đăng nhập

3.2.2 Use Case Đăng ký

a.Mô tả Use Case

- Tên User case: Đăng ký

- Mục đích: Cho phép người dùng đăng ký sử dụng hệ thống để có thể thực hiện đầyđủ chức năng của hệ thống ở quyền thành viên đăng ký.

- Hình thức: Đăng ký bằng facebook hoặc đăng ký bằng tài khoản gmail.* Mô tả chi tiết :

Trang 24

-User case bắt đầu khi người dùng click đăng ký tài khoản để sử dụng hệ thống.- Hệ thống hiển thị màn hình đăng ký, cho phép người dùng nhập họ tên, email, số

điện thoại, username, password để đăng ký làm thành viên của website.

- Hệ thống kiểm tra tính chính xác tính hợp lệ của email và sự khớp nhau giữa 2trường “mật khẩu” và “nhập lại mật khẩu”.

- Nếu địa chỉ gmail không hợp lệ thực hiện luồng xử lý đăng ký lỗi E1: Địa chỉ emailkhông hợp lệ và yêu cầu người dùng nhập lại địa chỉ email Nếu địa chỉ email đã đượcđăng ký tài khoản thực hiện luồng xử lý lỗi E2: email đã tồn tại, hệ thống yêu cầungười dùng nhập địa chỉ email khác hoặc thực hiện đăng nhập với tài khoản có địa chỉemail đó Nếu 2 trường hợp mật khẩu không nhập giống nhau thực hiện luồng xử lýđăng ký lỗi E3: Mật khẩu không trùng khớp yêu cầu người dùng nhập lại trường mậtkhẩu Nếu điền hợp lệ tất cả các trường đăng ký sẽ thành công và User case kết thúc

Hình 9 Hoạt động của tác nhân User case đăng ký

Trang 25

b Biểu đồ hoạt động

Hình 10 Biểu đồ hoạt động User case đăng ký

c Biểu đồ lớp tham gia User case

Hình 11 Biểu đồ lớp tham gia User case đăng ký

d Biểu đồ trình tự

Trang 26

Hình 12 Biểu đồ trình tự User case đăng ký

3.2.3 Usecase Tìm kiếm

a Mô tả Usecase Mô tả tóm tắt: Mô tả tóm tắt:

- Tên User case: tìm kiếm thông tin bất động sản, tin rao vặt- Đối tượng: người dùng

- Mục đích: giúp người dùng tìm kiếm nhà đất hoặc tin tức muốn tìm Mô tả chi tiết:

 Mô tả tóm tắt:

- User case bắt đầu khi người dùng vào hệ thống.

Trang 27

- Hệ thống hiển thị chức năng tìm kiếm ngay trên giao diện web

- Người dùng thực hiện nhập vào tên cần tìm Người dùng gõ từ khóa về tên địa điểm,tên bất động sản, tên tin tức mà mình muốn tìm kiếm vào textbook

Trang 28

b Biểu đồ hoạt động

Hình 14 Biểu đồ hoạt động User case tìm kiếm

c Biểu đồ lớp tham gia User case

Hình 15 Biều đồ lớp User case tìm kiếm

Trang 29

d Biểu đồ trình tự

Hình 16 Biểu đồ trình tự User case tìm kiếm

3.2.4 Usecase Xem tin rao vặt

a Mô tả Usecase Mô tả tóm tắt: Mô tả tóm tắt:

- Tên User case: Xem tin rao vặt rao bán bất động sản- Đối tượng: Người dùng

Trang 30

- Mục đích: Cho phép người dùng xem các bất động sản đang được rao bán trênwebsite.

Mô tả chi tiết: Mô tả tóm tắt:

- User case bắt đầu khi người dùng click vào xem danh mục rao vặt bất động sản.- Chọn “Rao vặt” hệ thống hiển thị tin rao vặt bất động sản.

- Người dùng kích chọn loại tin rao vặt muốn xem: nhà mặt phố, nhà riêng, chung cưcao cấp, chung cư mini, biệt thự, nhà tạm, đất thổ cư, đất dự án, kho nhà xưởng.

- Sau khi click chọn loại tin rao vặt muốn xem hệ thống hiển thị các tin rao trong mụcchọn, click tin rao vặt muốn xem chi tiết.

- User case kết thúc

Hình 17 Hoạt động của tác nhân xem tin rao vặt

b Biểu đồ hoạt động

Trang 31

Hình 18 Biểu đồ hoạt động User case xem tin rao vặt

c Biểu đồ lớp tham gia User case

Hình 19 Biểu đồ lớp tham gia User case xem tin rao vặt

d Biểu đồ trình tự

Trang 32

Hình 20 Biểu đồ trình tự User case xem tin rao vặt

3.2.5 Usecase Lọc Bất Động Sản Theo Địa Điểm

a Mô tả Usecase Mô tả tóm tắt: Mô tả tóm tắt:

- Tên User case: Lọc Bất Động Sản Theo Địa Điểm- Đối tượng: Người dùng

- Mục đích: Cho phép người dùng tìm bất động sản theo khu vực,địa điểm Mô tả chi tiết:

Trang 33

Hình 21 Hoạt độn của tác nhân User case lọc bất động sản

b Biểu đồ hoạt động

Hình 22 Biểu đồ hoạt động User case lọc bất động sản

c Biểu đồ lớp tham gia User case

Ngày đăng: 04/12/2019, 16:42

TỪ KHÓA LIÊN QUAN

w