Tải bản đầy đủ (.docx) (48 trang)

Báo cáo thực tập tốt nghiệp khoa CNTT K10 HAUI

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.17 MB, 48 trang )

1

BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
----------

THỰC TẬP TỐT NGHIỆP
NGÀNH: KHOA HỌC MÁY TÍNH
ĐỀ TÀI
LẬP TRÌNH WEB BẰNG PYTHON
Sinh viên thực hiện

: MA VĂN SÔNG

Lớp

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

Giảng viên hướng dẫn: Ths.NGÔ VĂN BÌNH


2

Mục lục
I. TÓM TẮT ĐỀ TÀI....................................................................................................................................4
1.Tên đề tài..................................................................................................................................................4
2. Lý do chọn đề tài....................................................................................................................................4
3. Mục đích..................................................................................................................................................4
4. Mục tiêu...................................................................................................................................................4
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT..............................................................................................................5


1.1.Tìm hiểu về ngôn ngữ lập trình Python.............................................................................................5
1.2 Tìm hiểu về Framework Django.........................................................................................................8
CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ......................................................................................................15
2.1.Khảo sát, phát biểu và mô tả bài toán.............................................................................................15
2.2. Phân tích.............................................................................................................................................16
2.3. Thiết kế cơ sở dữ liệu.........................................................................................................................39
2.4 Giao diện..............................................................................................................................................49


3

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ũng
ngà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 được
nâ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.0
thế 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ông
nằ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ó nhu
cầ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ổng
quá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ông
nghiệ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ệc
củ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 được
sự 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 5 năm 2018
Sinh viên


4

I. TÓM TẮT ĐỀ TÀI
1.Tên đề tài
Đề tài mang tên: Lập trình web bằng python – website rao vặt bất động sản
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ất
lớ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àn
Việ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ền
thố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ất
cầ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 cho
ngườ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.
4. Mục tiêu
- Tìm hiểu về ngôn ngữ lập trình Python
- Tìm hiểu về Framework Django

- Xây dựng website rao vặt bất động sản


5

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT
1.1. Tìm hiểu về ngôn ngữ lập trình Python
1.1.1. Giớ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 (Objectoriented) 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ạng
mã 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.
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ập
trình.
 Có khả năng tương tác với các module khác viết trên C/C++( hoặc Java cho
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


6


ả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
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
Foundation.

1.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ển
của Python.


7

Cha đẻ Python Guido Van Rossum

“ 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ôi quyế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.


8

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.x
là 2.7.
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
1.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


9

-

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:
1.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.
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ển
trên nền Python.

1.2.1. Giới thiệu về Framework Django
Trang chủ của Framework Django: />

10

Framework Django

 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 hay
Rails.
 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.



11

 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).

1.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)

 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ối
quan 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ệu
trự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.


12

 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ăng
tươ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.
 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ông
thường.
1.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ết
nố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


13

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ác
Developer.


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ì:
mysite/
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 Python 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
package
 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


14

Thử chạy project của chúng ta xem nào!
$ python manage.py runserver
Và kết quả là:
Performing system checks...

System check identified no issues (0 silenced).
You have unapplied migrations; your app may not work
properly until they are applied.
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.


15

CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ
2.1.Khảo sát, phát biểu và mô tả bài toán
2.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ức
tă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ần
như í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âm
hạ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ường
chỗ 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à đầu
tư 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ản

Việt Nam thì năm 2018, 70% lượng khách nước ngoài mua nhà là nhà đầu tư Trung
Quốc, Hàn Quốc và Mỹ với tỷ lệ lần lượt là 41%, 19% và 3%.
2.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 nhu
cầ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 quen
thuộ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ơi
mộ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.
2.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:
- 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...


16

- 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 ở,
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ười
cầ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ể.
2.2. Phân tích
2.2.1. Tác nhân
- Tác nhân trong hệ thống: Người dùng

2.2.2. Chi tiết các usecase
2.2.2.1. Usecase Đăng nhập
a. Mô tả Usecase



17

 Mô tả tóm tắt:
- Tên ca sử dụng: Đă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ý.
 Mô tả chi tiết:
- Ca sử dụng bắt đầu khi người dùng muốn đăng nhập vào hệ thống hoặc đăng
nhâ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ài
khoả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ập
tê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ững
lầ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ập
lỗ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 ca sử dụng, trong trường hợp người dùng không nhập lại tên hoặc mật khẩu
thì ca sử dụng kết thúc.
- Ca sử dụng kết thúc


18

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



19

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


20

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

2.2.2.2. Use Case Đăng ký
a.Mô tả Use Case


21

- Tên ca sử dụng: Đă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 :
-Ca sử dụng 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 2
trườ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ỉ email
khô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ầu

ngườ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ật
khẩu. Nếu điền hợp lệ tất cả các trường đăng ký sẽ thành công và ca sử dụng kết thúc.

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


22


23

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

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


24

2.2.2.3. Usecase Tìm kiếm
a. Mô tả Usecase
 Mô tả tóm tắt:
- Tên ca sử dụng: 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:
- Ca sử dụng bắt đầu khi người dùng vào hệ thống.
- 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
- Người dùng kích chọn nút tìm kiếm
- Hệ thống sẽ trả về thông tin tìm kiếm của người dùng
 Luồng sự kiện phụ:
A1: nếu người dùng nhập sai từ khóa thì hệ thống sẽ đưa ra thông báo là không tìm
thấy từ khóa mà người dùng muốn tìm. Ca sử dụng kết thúc.


25

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


×