1. Trang chủ
  2. » Thể loại khác

ĐỒ ÁN CƠ SỞ 2 ĐỀ TÀI: XÂY DỰNG WEBSITE TÌM KIẾM PHÒNG TRỌ.Giảng viên hướng dẫn : ThS. TRẦN ĐÌNH SƠN

30 298 0
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 30
Dung lượng 7 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tuy nhiên, việc tìm kiếm một phòng trọ, nhà trọ không hề dễ dàng.Phần lớn thông tin về các phòng trọ chủ yếu được truyền miệng hoặc thôngqua các quảng cáo, rao vặt.. - Vấn đề cần giải qu

Trang 1

ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

ĐỒ ÁN CƠ SỞ 2

TÌM KIẾM PHÒNG TRỌ

Sinh viên thực hiện : NGUYỄN NGỌC ĐỊNH

Giảng viên hướng dẫn : ThS TRẦN ĐÌNH SƠN

Lớp : 18IT5

Đà nẵng, tháng 12 năm 2019

Trang 2

ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

ĐỒ ÁN CƠ SỞ 1

XÂY DỰNG WEBSITE TÌM KIẾM PHÒNG TRỌ

Trang 3

Đà Nẵng, tháng 12 năm 2019

MỞ ĐẦU

Ở các thành phố lớn, nhu cầu về chỗ ở của sinh viên và người lao động

là rất lớn Tuy nhiên, việc tìm kiếm một phòng trọ, nhà trọ không hề dễ dàng.Phần lớn thông tin về các phòng trọ chủ yếu được truyền miệng hoặc thôngqua các quảng cáo, rao vặt Dẫn tới việc thông tin còn nhiều sai lệch, thiếuchính xác, có thể khiến người tìm phòng trọ mất thời gian và tiền bạc Cũngnhư khả năng tiếp cận thông tin về các phòng trọ đang cho thuê còn rất hạnchế Bản thân em là một sinh viên đang ở trọ, em đã trải qua và rất hiểu rõnhững khó khăn này Vì vậy em muốn áp dụng công nghệ thông tin để xâydựng một website nhằm hỗ trợ mọi người trong việc tìm kiếm phòng trọ Mụcđích nghiên cứu của đề tài là dựa trên nền tảng web để hỗ trợ việc tìm kiếm vàđăng tải thông tin phòng trọ trở nên nhanh chóng và dễ dàng nhất trong phạm

vi thành phố Đà Nẵng

Trang 4

LỜI CẢM ƠN

Chúng em xin chân thành cảm ơn Khoa Công nghệ Thông tin và Truyềnthông - Đại học Đà Nẵng đã tạo điều kiện tốt cho chúng em thực hiện đề tài này.Chúng em xin chân thành cảm ơn tới thầy giáo – ThS Trần Đình Sơn đã tận tìnhhướng dẫn, chỉ bảo, giúp đỡ cho chúng em hoàn thành đề tài này Chúng em cũngxin gửi lời cảm ơn sâu sắc đến quý Thầy Cô trong Khoa đã tận tình giảng dạy,trang bị cho chúng em những kiến thức quý báu trong những học kì vừa qua

Chúng em xin gửi lòng biết ơn sâu sắc đến gia đình đã luôn động viên, ủng

hộ, các anh chị và bạn bè đã gắn bó, chia sẻ rất nhiều kinh nghiệm và kiến thức vànhất là trong thời gian thực hiện đề tài

Mặc dù chúng em đã cố gắng hoàn thành báo cáo trong phạm vi và khả năngcho phép, nhưng chắc chắn sẽ không tránh khỏi những sai sót, kính mong sự cảmthông và tận tình chỉ bảo của quý Thầy Cô và các bạn

Chúng em xin chân thành cảm ơn

Đà Nẵng, ngày 28 tháng 12 năm 2019

Sinh viên thực hiện

Nguyễn Ngọc Định

Trang 5

NHẬN XÉT (Của giảng viên hướng dẫn)

………

………

………

………

………

………

………

………

………

………

Trang 6

MỤC LỤC

Trang

MỞ ĐẦU 3

LỜI CẢM ƠN 4

Chương 1 GIỚI THIỆU TỔNG QUAN 10

1.1 Tổng quan 10

1.2 Phương pháp, kết quả 10

1.3 Cấu trúc đồ án 10

Chương 2 CƠ SỞ LÝ THUYẾT 11

2.1 Phân tích và thiết kế hệ thống hướng đối tượng 11

2.1.1 Khái niệm OOAD 11

2.1.2 Khái niệm UML 11

2.1.3 Tại sao lại là OOAD và UML? 11

2.2 Mô hình MVC 11

2.2.1 Khái niệm: 11

2.2.2 Luồng dữ liệu trong mô hình MVC 12

2.2.3 Ưu, nhược điểm 12

2.3 ExpressJS framework 13

2.3.1 Khái niệm NodeJS 13

2.3.2 ExpressJS 13

2.4 Cơ sở dữ liệu MongoDB 13

2.4.1 NoSQL 13

2.4.2 MongoDB 13

Chương 3 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 15

3.1 Mô hình hóa yêu cầu 15

3.1.1 Xác định các tác nhân (actors) 15

3.1.2 Xác định các trường hợp sử dụng (use case) 15

3.1.3 Đặc tả ca sử dụng (use case descriptions) 15

3.1.4 Biểu đồ trường hợp sử dụng (use case diagrams) 19

3.1.5 Biểu đồ hoạt động (activity diagrams) 19

3.2 Mô hình hóa khái niệm 20

3.2.1 Các lớp biên của hệ thống (boundary classes) 20

3.2.2 Các lớp điều khiển của hệ thống (control classes) 20

3.2.3 Biểu đồ lớp mức phân tích 21

3.3 Mô hình hóa hành vi 21

3.3.1 Biểu đồ tuần tự 21

3.4 Thiết kế chi tiết biểu đồ lớp 21

3.5 Biểu đồ thành phần và biểu đồ triển khai 21

3.5.1 Biểu đồ thành phần 21

3.5.2 Biểu đồ triển khai 22

Chương 4 TRIỂN KHAI XÂY DỰNG 23

4.1 Chức năng đăng ký 23

4.2 Chức năng đăng nhập 23

4.3 Chức năng đăng tin 24

4.4 Trang chủ 25

4.5 Chức năng tìm kiếm phòng trọ 26

4.6 Xem thông tin chi tiết bài viết 27

Trang 7

4.7 Chức năng quản lý tài khoản 27

4.8 Phần admin 28

KẾT LUẬN 29

1.Kết quả đạt được 29

2 Hướng phát triển 29

Trang 8

DANH MỤC HÌNH

Trang

Hình 2.1 Luồng dữ liệu trong mô hình MVC 12

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

Hình 4.2 Giao diện đăng nhập 23

Hình 4.3 Giao diện đăng tin mới (1) 24

Hình 4.4 Giao diện đăng tin mới (2) 24

Hình 4.5 Giao diện trang chủ (1) 25

Hình 4.6 Giao diện trang chủ (2) 25

Hình 4.7 Chức năng tìm kiếm phòng trọ 26

Hình 4.8 Kết quả tìm kiếm 26

Hình 4.9 Thông tin chi tiết phòng trọ (1) 27

Hình 4.10 Thông tin chi tiết phòng trọ (2) 27

Hình 4.11 Giao diện quản lý tài khoản 27

Hình 4.12 Cập nhật thông tin tài khoản 28

Hình 4.13 Quản lý cái tin đã đăng 28

Hình 4.14 Giao diện trang admin 28

Trang 9

DANH MỤC CỤM TỪ VIẾT TẮT

1 Công nghệ thông tin CNTT

2 JavaScript JS

3 Model – View- Controller MVC

4 Structure Query Language SQL

5 Cơ sở dữ liệu CSDL, DB

6 Object Oriented Analysis and Design OOAD

7 Unified Modeling Language UML

8 Tiếp theo tt

Trang 10

Chương 1 GIỚI THIỆU TỔNG QUAN

1.1 Tổng quan

- Tên đề tài: Xây dựng website tìm kiếm phòng trọ

- Bối cảnh thực hiện đề tài: Là một sinh viên đã trải qua rất nhiều khó khăntrong việc tìm kiếm phòng trọ bằng các phương pháp truyền thống như raovặt, truyền miệng thiếu chính xác và có thể tốn nhiều thời gian và tiền bạc

Em mong muốn khắc phục điều đó bằng cách áp dụng công nghệ thông tinvào công việc tìm kiếm phòng trọ

- Vấn đề cần giải quyết: Sử dụng các nền tảng CNTT để hỗ trợ việc tìmkiếm phòng trọ để khắc phục các nhược điểm của việc tìm trọ truyềnthống: khả năng tiếp cận các thông tin phòng trọ còn hạn chế, thông tinthiếu chính xác, việc xác thực thông tin (xem trọ, liên hệ với chủ trọ) còntốn nhiều thời gian và một số rủi ro (lừa đảo – gây mất tiền bạc) Cung cấpchức năng đăng tải thông tin phòng trọ cho các chủ phòng trọ

- Đề xuất nội dung thực hiện: nghiên cứu và xây dựng một website có chứcnăng đăng tải, hiển thị danh sách, thông tin phòng trọ chính xác, được cậpnhật liên tục

1.2 Phương pháp, kết quả

- Phương pháp triển khai:

+ Tìm hiểu về nhu cầu và các thông tin cần thiết trong quá trình tìm thuêphòng trọ

+ Tìm hiểu về các công cụ lập trình, các ngôn ngữ thiết kế/lập trình hỗtrợ xây dựng website

+ Tìm hiểu cấu trúc và cách thức xây dựng một website hoàn chỉnh.+ Tìm hiểu và sử dụng các kiến thức đã được học từ môn Phân tích vàThiết kế Hệ thống để phân tích và thiết kế website phù hợp

+ Sử dụng kiến thức đã được học từ môn Công nghệ Web và Công nghệWeb (Nâng cao) để xây dựng website phù hợp

- Kết quả đạt được:

+ Nắm được các nhu cầu cơ bản của mọi người trong việc tìm kiếm vàlựa chọn phòng trọ

+ Phân tích và thiết kế hệ thống website phù hợp

+ Xây dựng được website có chức năng đăng tải, hiện thị và tìm kiếmthông tin phòng trọ

+ Nắm được cách thức hoạt động của một website hoàn chỉnh

1.3 Cấu trúc đồ án

Đồ án gồm có 5 chương:

- Chương 1: GIỚI THIỆU TỔNG QUAN

- Chương 2: CƠ SỞ LÝ THUYẾT

- Chương 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

- Chương 4: TRIỂN KHAI XÂY DỰNG

Trang 11

Chương 2 CƠ SỞ LÝ THUYẾT

2.1 Phân tích và thiết kế hệ thống hướng đối tượng

2.1.1 Khái niệm OOAD

Để phân tích và thiết kế một phần mềm thì có nhiều cách làm, một trongnhững cách làm đó là xem hệ thống gồm những đối tượng sống trong đó vàtương tác với nhau Việc mô tả được tất cả các đối tượng và sự tương táccủa chúng sẽ giúp chúng ta hiểu rõ hệ thống và cài đặt được nó Phươngthức này gọi là Phân tích thiết kế hướng đối tượng (OOAD - Object-Oriented Analysis and Design)

2.1.2 Khái niệm UML

UML (Unified Modeling Language) là ngôn ngữ mô hình hóa hợp nhấtdùng để biểu diễn hệ thống Nói một cách đơn giản là nó dùng để tạo racác biểu đồ nhằm mô tả thiết kế hệ thống Các biểu đồ này được sử dụng

để các nhóm thiết kế trao đổi với nhau cũng như dùng để thi công hệthống (phát triển), thuyết phục khách hàng, các nhà đầu tư,

2.1.3 OOAD và UML

OOAD cần các biểu đồ để mô tả hệ thống được thiết kế, còn UML là ngônngữ mô tả các biểu đồ nên cần nội dung thể hiện Do vậy, chúng ta phântích và thiết kế theo hướng đối tượng và sử dụng UML để biểu diễn cácthiết kế đó nên chúng thường đi đôi với nhau

2.2 Mô hình MVC

2.2.1 Khái niệm:

MVC là viết tắt của Model – View – Controller Là một kiến trúc phầnmềm hay mô hình thiết kế được sử dụng trong kỹ thuật phần mềm Nó là

mô hình phân bố source code thành 3 phần, mỗi thành phần có một nhiệm

vụ riêng biệt và độc lập với các thành phần khác Bao gồm:

- Model : là nơi chứa những nghiệp vụ tương tác với dữ liệu hoặc hệquản trị cơ sở dữ liệu (mysql, mssql… ); nó sẽ bao gồm cácclass/function xử lý nhiều nghiệp vụ như kết nối database, truy vấn

dữ liệu, thêm – xóa – sửa dữ liệu…

- View : là nới chứa những giao diện như một nút bấm, khung nhập,menu, hình ảnh… nó đảm nhiệm nhiệm vụ hiển thị dữ liệu và giúpngười dùng tương tác với hệ thống

- Controller : là nới tiếp nhận những yêu cầu xử lý được gửi từ ngườidùng, nó sẽ gồm những class/ function xử lý nhiều nghiệp vụ logicgiúp lấy đúng dữ liệu thông tin cần thiết nhờ các nghiệp vụ lớpModel cung cấp và hiển thị dữ liệu đó ra cho người dùng nhờ lớpView

Trang 12

2.2.2 Luồng dữ liệu trong mô hình MVC

Khi có một yêu cầu từ phía client gửi đến server, Bộ phận controller cónhiệm vụ nhận yêu cầu, xử lý yêu cầu đó Và nếu cần, nó sẽ gọi đến phầnmodel, vốn là bộ phần làm việc với Database

Sau khi xử lý xong, toàn bộ kết quả được đẩy về phần View Tại View, sẽgen ra mã Html tạo nên giao diện, và trả toàn bộ html về trình duyệt đểhiển thị

Hình 2.1 Luồng dữ liệu trong mô hình MVC

2.2.3 Ưu, nhược điểm

Ưu điểm:

 Trình tự xử lý rất rõ ràng

 Mô hình MVC quy hoạch các class/function vào các thành phầnriêng biêt Controller - Model - View, việc đó làm cho quá trình pháttriển - quản lý - vận hành - bảo trì web diễn ra thuận lợi hơn, tạo rađược các chức năng chuyên biệt hoá đồng thời kiểm soát được luồng

Trang 13

2.3 ExpressJS framework

2.3.1 Khái niệm NodeJS

 Nodejs là một nền tảng (Platform) phát triển độc lập được xây dựng

ở trên Javascript Runtime của Chrome mà chúng ta có thể xây dựngđược các ứng dụng mạng một cách nhanh chóng và dễ dàng mở rộng

 Nodejs tạo ra được các ứng dụng có tốc độ xử lý nhanh, realtime thờigian thực

 Nodejs áp dụng cho các sản phẩm có lượng truy cập lớn, cần mởrộng nhanh, cần đổi mới công nghệ, hoặc tạo ra các dự án Startupnhanh nhất có thể

 Thiết lập các lớp trung gian để trả về các HTTP request

 Define router cho phép sử dụng với các hành động khác nhau dựatrên phương thức HTTP và URL

 Cho phép trả về các trang HTML dựa vào các tham số

2.4 Cơ sở dữ liệu MongoDB

2.4.1 NoSQL

NoSQL là 1 dạng CSDL mã nguồn mở không sử dụng Transact-SQL đểtruy vấn thông tin NoSQL viết tắt bởi: None-Relational SQL, hay có nơithường gọi là Not-Only SQL CSDL này được phát triển trên JavascriptFramework với kiểu dữ liệu JSON (Cú pháp của JSON là “key:value”)NoSQL ra đời như là 1 mảnh vá cho những khuyết điểm và thiếu xót cũngnhư hạn chế của mô hình dữ liệu quan hệ RDBMS về tốc độ, tính năng,khả năng mở rộng, memory cache,

2.4.2 MongoDB

MongoDB là một chương trình cơ sở dữ liệu mã nguồn mở và là một cơ sở

dữ liệu NoSQL được thiết kế theo kiểu hướng đối tượng trong đó các bảngđược cấu trúc một cách linh hoạt cho phép các dữ liệu lưu trên bảng khôngcần phải tuân theo một dạng cấu trúc nhất định nào Chính do cấu trúc linhhoạt này nên MongoDB có thể được dùng để lưu trữ các dữ liệu có cấutrúc phức tạp và đa dạng và không cố định

Lợi thế của MongoDB so với các cơ sở dữ liệu dạng quan hệ (RDBMS):

 Ít Schema hơn: MongoDB là một cơ sở dữ liệu dựa trên Document,trong đó một Collection giữ các Document khác nhau Số trường,nội dung và kích cỡ của Document này có thể khác với Documentkhác

 Cấu trúc của một đối tượng là rõ ràng

 Không có các Join phức tạp

Trang 14

 Khả năng truy vấn sâu hơn MongoDB hỗ trợ các truy vấn độngtrên các Document bởi sử dụng một ngôn ngữ truy vấn dựa trênDocument mà mạnh mẽ như SQL.

Trang 15

Chương 3 PHÂN TÍCH THIẾT KẾ HỆ THỐNG

3.1 Mô hình hóa yêu cầu

3.1.1 Xác định các tác nhân (actors)

 Người tìm trọ

 Chủ trọ

 Người quản trị

3.1.2 Xác định các trường hợp sử dụng (use case)

 Tạo tài khoản

 Cập nhật thông tin tài khoản

 Đăng tin

 Tìm kiếm

 Xem thông tin chi tiết tin

 Quản lý tin đã đăng

 Chỉnh sửa tin

 Xóa tin

 Quản lý toàn bộ tài khoản

 Quản lý toàn bộ tin

3.1.3 Đặc tả ca sử dụng (use case descriptions)

a Ca sử dụng Tạo tài khoản

- Các tác nhân: Chủ trọ

- Điều kiện trước: Chủ trọ đã truy cập vào website

- Điều kiện sau: Tài khoản được tạo thành công

- Mô tả: Sau khi truy cập vào website và nhấn nút đăng ký, chủ trọ cung cấpcác thông tin cần thiết và nhấn đăng ký Nếu thành công thông tin sẽ đượclưu vào database và tài khoản được tạo

Luồng sự kiện chính

Hành động của tác nhân Hành động của hệ thống

1 Chọn chức năng đăng ký

3 Điền thông tin cần thiết vào form

4 Gửi các thông tin đã nhập đến hệ

thống

2 Hiển thị form đăng ký

5 Kiểm tra các thông tin nhập vào

6 Lưu thông tin tài khoản vào database

7 Thông báo trạng thái đăng ký thành công

8 Chuyển tới trang đăng nhập

Luồng sự kiện phụ

Trang 16

Hành động của tác nhân Hành động của hệ thống

3 Nhập các thông tin không chính xác

6 Hiển thị lỗi và yêu cầu thực hiện lại

b Ca sử dụng Cập nhật thông tin tài khoản

- Các tác nhân: Chủ trọ, người quản trị

- Điều kiện trước: Chủ trọ/ Người quản trị đã đăng nhập vào website

- Điều kiện sau: Thông tin tài khoản của tác nhân được cập nhật

- Mô tả: Sau khi đăng nhập vào website, chủ trọ/ người quản trị truy cập vàophần Tài khoản và nhấn nút cập nhật Sau đó thay đổi, bổ sung các thôngtin cần thiết và nhấn lưu thay đổi Thông tin tài khoản đó sẽ được cập nhậtvào database

Luồng sự kiện chính

Hành động của tác nhân Hành động của hệ thống

1 Chọn chức năng cập nhật thông tin

2 Truy cập database lấy các thông tin

đã có và hiển thị vào các input của formthông tin tài khoản

5 Kiểm tra các thông tin nhập vào

6 Lưu thông tin vào database

7 Thông báo trạng thái cập nhật thànhcông

Luồng sự kiện phụ

Hành động của tác nhân Hành động của hệ thống

3 Nhập các thông tin không chính xác

6 Hiển thị lỗi và yêu cầu thực hiện lại

c Ca sử dụng Đăng tin

- Các tác nhân: Chủ trọ

- Điều kiện trước: Chủ trọ đã đăng nhập vào website

- Điều kiện sau: Tin đã được lưu vào database và hiển thị lên website

- Mô tả: Sau khi đăng nhập vào website, chủ trọ nhấn vào phần đăng tin,điền các thông tin về phòng trọ và nhấn nút đăng tin Tin sẽ được lưu vàodatabase và hiển thị lên website

Luồng sự kiện chính

Hành động của tác nhân Hành động của hệ thống

Trang 17

1 Chọn chức năng đăng tin

5 Kiểm tra các thông tin nhập vào

6 Lưu thông tin vào database

7 Hiển thị tin lên website

8 Chuyển tới trang thông tin chi tiết của tin vừa đăng

Luồng sự kiện phụ

Hành động của tác nhân Hành động của hệ thống

3 Nhập các thông tin không chính xác

6 Hiển thị lỗi và yêu cầu thực hiện lại

d Ca sử dụng Tìm kiếm

- Các tác nhân: Người tìm trọ

- Điều kiện trước: Người tìm trọ đã truy cập vào website

- Điều kiện sau: Các tin phòng trọ phù hợp sẽ được hiển thị

- Mô tả: Người tìm trọ truy cập vào website, tại mục tìm kiếm chọn các lựachọn theo nhu cầu Hệ thống sẽ lọc và hiển thị các tin phòng trọ phù hợp

4 Hiển thị các tin đã tìm được

Luồng sự kiện phụ

Hành động của tác nhân Hành động của hệ thống

1 Không chọn các lựa chọn nào

3 Lọc theo lựa chọn mặc định là Tất

cả các tin

4 Hiển thị tất cả các tin trên website

e Ca sử dụng Xem thông tin chi tiết tin

- Các tác nhân: Người tìm trọ

- Điều kiện trước: Người tìm trọ đã truy cập vào website

- Điều kiện sau: Thông tin chi tiết của tin phòng trọ được hiển thị

Ngày đăng: 28/09/2020, 22:04

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w