TÓM TẮT ĐỒ ÁN Tóm tắt Bất động sản ngày nay là một trong những ngành “hot” trên thị trường Các doanh nghiệp bất động sản xuất hiện ngày càng nhiều, các nhà đầu tư cũng tăng nhanh Đây là một ngành đặc.
Trang 1TÓM TẮT ĐỒ ÁN Tóm tắt: Bất động sản ngày nay là một trong những ngành “hot”trên thị trường Các doanh nghiệp bất động sản xuất hiện ngày càngnhiều, các nhà đầu tư cũng tăng nhanh Đây là một ngành đặc thù,
có giá trị tài sản lớn mang lại nguồn lợi nhuận và doanh thu cao nênviệc tiếp cận khách hàng cần phải đồng bộ, chỉn chu trên cả phươngdiện là online và offline
Bằng Internet, chúng đã đã thực hiện được nhiều công việcnhanh hơn và chi phí thấp hơn nhiều so với cách thức truyền thống.Việc cung cấp thông tin qua website sẽ giúp họ có thể xem xét cácthông tin mọi lúc mọi nơi thay vì phải đến tận văn phòng như trướcđây Những doanh nghiệp kinh doanh bất động sản cũng dễ dàng tìmđến khách hàng hơn so với những phương thức tiếp thị thông thường.Nhân viên kinh doanh không cần phải đi đến từng địa điểm dân cư
để phát tờ rơi, căng biển quảng cáo hay tìm đến những văn phòng để
tư vấn cho khách hàng nữa
Chính vì vậy, ý tưởng xây dựng website sàn giao dịch bất độngsản ra đời với mong muốn trở thành sàn giao dịch trực tuyến phongphú thông tin, thuận tiện cho người sử dụng và đem lại những giá trịthiết thực cho cả đơn vị chủ quản và khách hàng
Đồ án trình bày các lý thuyết cơ bản về PHP sử dụngframework Laravel kết hợp với VueJS , ứng dụng Xampp, biểu diễncác chức năng bằng biểu đồ usecase Đồ án giải thích cách hoànthành chức năng trong ứng dụng theo các bước, hiện thực hóa cácchức năng được mô tả bằng hình ảnh giao diện các trang chức năng
và sản phẩm thực tế
Cuối cùng đồ án sẽ trình bày kết quả đạt được và những hạn chếtrong đồ án Qua những hạn chế đó đồ án sẽ đề xuất hướng pháttriển trong tương lai để hoàn thành ứng dụng với các chức năng hoànthiện và đầy đủ
Từ khóa: Website bất động sản.
Hà Nội, ngày tháng năm
2022
Trang 2Xác nhận của giảng viên hướng dẫn
ThS Lê Trung Kiên
Trang 3LỜI CẢM ƠN
Không có sự thành công nào mà không gắn liền với những sự
hỗ trợ, giúp đỡ dù ít hay nhiều, dù trực tiếp hay gián tiếp của ngườikhác Trong suốt thời gian từ khi bắt đầu học tập ở giảng đường đạihọc đến nay, em đã nhận được rất nhiều sự quan tâm, giúp đỡ củaquý thầy cô, gia đình và bạn bè Với lòng biết ơn sâu sắc nhất, emxin gửi đến các thầy cô ở Khoa Công nghệ thông tin – Trường Đại HọcCông nghệ GTVT với tri thức và tâm huyết của mình để truyền đạtvốn kiến thức quý báu cho chúng em trong suốt thời gian học tập tại
trường Đặc biệt em xin gửi lời cảm ơn đến thầy Lê Trung Kiên đã
tận tâm hướng dẫn và giúp đỡ cho em trong suốt quá trình thực hiện
đồ án
Đồng thời em cũng xin chân thành cảm ơn Ban giám hiệu, cácphòng ban Nhà trường đã tạo điều kiện tốt nhất cho em trong suốtthời gian học tập và làm đồ án tốt nghiệp
Em xin gửi lời cảm ơn đến các thành viên lớp 69DCTT23, nhữngngười đã luôn ở bên cạnh động viên, tạo điều kiện thuận lợi và cùng
em tìm hiểu hoàn thành tốt đồ án
Vì kiến thức bản thân em còn nhiều hạn chế nên trong quátrình hoàn thành đồ án không thể tránh khỏi nhiều sai sót, em mongnhận được sự giúp đỡ nhiệt tình của thầy cô cũng như các bạn đểhoàn thành một cách tốt nhất
Em xin chân thành cảm ơn!
Hà Nội, ngày 15 tháng 05 năm 2022
Sinh viên thực hiện
Nguyễn Thu Trang
Trang 4LỜI CAM ĐOAN
Em xin cam đoan đồ án này là công trình của riêng em, các kếtquả có tính độc lập riêng, không sao chép bất kỳ tài liệu nào và chưacông bố nội dung này ở đâu Các tài liệu trong đồ án được sử dụngtrung thực, nguồn trích dẫn có chú thích rõ ràng, minh bạch, có tính
kế thừa, phát triển từ các tài liệu, các website
Em xin hoàn toàn chịu trách nhiệm về lời cam đoan danh dự củaem
Hà Nội, ngày 15 tháng 05 năm
2022 Sinh viên thực hiện
Nguyễn Thu Trang
Trang 5LỜI NÓI ĐẦU
Sự phát triển nhanh chóng của công nghệ thông tin nói chúng
và mạng Internet nói riêng đã đem lại rất nhiều thay đổi trongphương thức kinh doanh cũng như thói quen của người tiêu dùng.Bằng Internet, chúng đã đã thực hiện được nhiều công việc nhanhhơn và chi phí thấp hơn nhiều so với cách thức truyền thống Vớinhững thao tác đơn giản trên máy có nối mạng Internet ta có thểlàm những gì mình cần mà không phải mất nhiều thời gian
Trong bối cảnh kinh tế mở cửa, hiện nay hoạt động giao dịchmua bán nhà đất tại Việt Nam đang có xu hướng phát triển mạnhnên việc xây dựng một sàn giao dịch thông tin bất động sản trựctuyến là rất thiết thực đối với thị trường bất động sản Sàn giao dịchthông tin bất động sản có thể trở thành nơi giao lưu hiệu quả mà ở
đó cung cấp những thông tin chính xác về hướng phát triển những
dự án mới, giá cả cũng như diện tích mỗi khách hàng muốn giaodịch Sàn giao dịch có thể quảng bá giúp cho người bán và ngườimua dễ dàng tiếp cận thông tin cũng như thỏa mãn nhu cầu giaodịch trong thời gian sớm nhất Đồng thời khách hàng cũng có thểphản hồi về chất lượng dịch vụ, qua đó giúp cho khách hàng có đượcthông tin tham khảo để ra quyết định lựa chọn cho riêng mình
Từ đó ý tưởng “Xây dựng website sàn bất động sản” ra đời
với hy vọng sẽ đem lại một trong những sự lựa chọn tốt nhất để xâydựng một sàn giao dịch bất động sản trực tuyến phong phú về thôngtin, thuận tiện cho người sử dụng và đem lại những giá trị thiết thựccho các đơn vị chủ quản và khách hàng Với sự hướng dẫn tận tìnhcủa cô Lê Trung Kiên em đã hoàn thành báo cáo đồ án thực tập này
Thời gian có hạn và kinh nghiệm còn khiêm tốn tuy đã cố gắnghết sức tìm hiểu, phân tích thiết kế và cài đặt hệ thống những vẫnkhông tránh khỏi những thiếu sót Em rất mong nhận được sự chỉ bảo
và đóng góp ý kiến để sản phẩm của em có thể hoàn thiện hơn và cóthêm những hướng phát triển mới
Trang 6MỤC LỤC
Trang 7DANH MỤC HÌNH ẢNH
Trang 8DANH MỤC BẢNG BIỂU
Trang 9CSS Cascading Style Sheet
Được dùng để miêu tả cáchtrình bày các tài liệu viếtbằng ngôn ngữ HTML
HTML Hyper Text Markup
Language
Là ngôn ngữ được thiết kế ra
để tạo nên các trang web
PHP Person Home Page
Là một ngôn ngữ lập trìnhkịch bản hay một loại mãlệnh chủ yếu được dùng đểphát triển các ứng dụng viếtcho máy chủ, mã nguồn mở,dùng cho mục đích tổngquát
SQL Structured Query
Language
Là hệ quản trị cơ sở dữ liệu tự
do nguồn mở phổ biến nhấtthế giới
UML Unified Modeling
Language
Là ngôn ngữ mô hình hóathống nhất, dùng để đặc tả,trực quan hóa và tư liệu hóaphần mềm hướng đối tượng
Trang 10CHƯƠNG 1 GIỚI THIỆU TỔNG QUAN1.1 Lý do chọn đề tài
Bất động sản ngày nay là một trong những ngành “hot” trên thịtrường Các doanh nghiệp bất động hiện ngày càng nhiều, các nhàđầu tư cũng tăng nhanh Đây là một ngành đặc thù, có giá trị tài sảnlớn mang lại nguồn lợi nhuận và doanh thu cao nên việc tiếp cậnkhách hàng cần phải đồng bộ, chỉn chu trên cả phương diện là online
và offline
Sự phát triển mạnh mẽ của internet nói chung và thiết bị diđộng nói riêng, khách hàng có thể tự tìm kiếm những dự án bất độngsản phù hợp với bản thân và gia đình một cách dễ dàng Với đốitượng khách hàng quan tâm tới bất động sản, việc cung cấp thôngtin qua website sẽ giúp họ có thể xem xét các thông tin mọi lúc mọinơi thay vì phải đến tận văn phòng như trước đây Những doanhnghiệp kinh doanh bất động sản cũng dễ dàng tìm đến khách hànghơn so với những phương thức tiếp thị thông thường Nhân viên kinhdoanh không cần phải đi đến từng địa điểm dân cư để phát tờ rơi,căng biển quảng cáo hay tìm đến những văn phòng để tư vấn dùkhông thực sự nắm rõ khách hàng có nhu cầu hay không Điều nàykhiến hoạt động tiếp thị không hiệu quả mà ít nhiều đem lại tâm lýbực bội, cảm giác bị làm phiền với khách hàng
Việc thiết kế website bất động sản sẽ giúp họ xem thông tinmọi lúc mọi nơi, phá bỏ mọi khoảng cách địa lý, không gian, thờigian Khách có nhu cầu giao dịch có thể liên hệ trực tiếp với ngườibán, không phải qua trung gian Như vậy, người mua sẽ tránh đượcphải mất phí cho người môi giới
Từ những lí lẽ trên, ý tưởng xây dựng website sàn giao dịch bấtđộng sản ra đời với mong muốn trở thành sàn giao dịch trực tuyếnphong phú thông tin, thuận tiện cho người sử dụng và đem lại nhữnggiá trị thiết thực cho cả đơn vị chủ quản và khách hàng
1.2 Mục tiêu và nhiệm vụ của đề tài
1.2.1 Mục tiêu
- Nắm được phương pháp hoạt động, quy trình nghiệp vụ của hệthống
Trang 11- Phân tích, thiết kế hệ thống giới thiệu và bán các dự án bấtđộng sản
- Cài đặt chương trình và triển khai hệ thống website có đầy đủcác chức năng
1.2.2 Nhiệm vụ
- Khảo sát phân tích thiết kế hệ thống
- Tìm hiểu và áp dụng ngôn ngữ PHP để xây dựng hệ thống
- Ứng dụng các kiến thức tìm hiểu và xây dựng các chức năngcần thiết của trang web bất động sản
1.3 Phạm vi nghiên cứu
Trong phạm vi đề tài này em sẽ nghiên cứu các vấn đề sau:
- Nghiên cứu về quy trình nghiệp vụ, cách thức hoạt động củamột trang web giới thiệu và bán các dự án bất động sản
- Đi sâu vào phân tích và thiết kế hệ thống thông tin để xây dựngwebsite
- Trang web được xây dựng bằng ngôn ngữ lập trình PHP, sửdụng Framework Laravel kết hợp VueJS và cơ sở dữ liệu xây dựngbằng MySQL
+ Đăng nhập, đăng xuất
+ Đăng ký làm thành viên của hệ thống
+ Quản lý thành viên (Tạo tài khoản, sửa, xóa, phân quyền).+ Quản lý tin tức (Thêm, sửa, xóa các tin tức mới nhất về bấtđộng sản)
+ Quản lý khu vực (Quản lý tỉnh/thành phố, quận/huyện,phường/xã)
+ Quản lý bất động sản (Loại bất động sản, loại hình giao dịch,pháp lý,v.v.)
Trang 12+ Quản lý khách hàng (Xem danh sách khách hàng đăng kýnhận thông tin).
+ Tìm kiếm thông tin về các dự án bất động sản ( tìm kiếm theo
từ khóa, khu vực, theo giá, theo loại hình giao dịch,v.v.)
+ Thống kê
- Hoàn thành báo cáo chi tiết đồ án tốt nghiệp
Trang 13CHƯƠNG 2 KIẾN THỨC NỀN TẢNG
Để có thể hoàn thành đồ án một cách tốt nhất, thì phân tích thiết kế, cơ sở dữ liệu và ngôn ngữ lập trình là 3 phần không thể thiếu, vì vậy em đã nghiên cứu và tóm tắt những tài liệu và trọng điểm chính sau đây.
2.1 Cơ sở lý thuyết
2.1.1 Trình bày về UML
UML là viết tắt của “Unified Modeling Language” – là ngôn ngữ
mô hình hóa thống nhất, dùng để đặc tả, trực quan hóa và tư liệuhóa phần mềm hướng đối tượng
UML là một ngôn ngữ mô hình hóa thống nhất có phần chính baogồm những ký hiệu hình học, được các phương pháp hướng đối tượng
sử dụng để thể hiện và miêu tả các thiết kế của một hệ thống Nó làmột ngôn ngữ để đặc tả, trực quan hoá, xây dựng và làm sưu liệucho nhiều khía cạnh khác nhau của một hệ thống có nồng độ phầnmềm cao
UML có thể được sử dụng làm công cụ giao tiếp giữa người dùng,nhà phân tích, nhà thiết kế và nhà phát triển phần mềm Các phần
tử của UML:
View (Quan sát): Theo các phương diện khác nhau của hệ
thống cần phân tích, thiết kế Dựa vào các quan sát để thiết lập kiếntrúc cho hệ thống cần phát triển
Có 5 loại quan sát:
- Use case Case View (Quan sát các ca sử dụng): Mô tả các chức
năng, nhiệm vụ của hệ thống Quan sát này thể hiện mọi yêu cầu
của hệ thống
- Logical View (Quan sát logic): Biểu diễn cách tổ chức logic của
các lớp và các quan hệ của chúng với nhau
- Process View (Quan sát tiến trình): Biểu diễn sự phân chia các
luồng thực hiện công việc, các lớp đối tượng cho tiến trình và sựđồng bộ giữa các luồng trong hệ thống
- Component View (Quan sát thành phần): Xác định các mô đun
vật lý hay tệp mã chương trình và sự liên hệ giữa chúng để tổ chứcthành hệ thống phần mềm
Trang 14- Deployment View (Quan sát triển khai): Mô tả sự phân bổ tài
nguyên và nhiệm vụ trong hệ thống Nó liên quan đến các tầng kiếntrúc của phần mềm
Diagram (Biểu đồ): Đồ thị biểu diễn đồ họa về tập các phần
tử trong mô hình và mối quan hệ của chúng Biểu đồ chứa đựng cácnội dung của các quan sát dưới các góc độ khác nhau, một thànhphần của hệ thống có thể xuất hiện trong một hay nhiều biểu đồ, có
9 loại biểu đồ khác nhau và được sử dụng kết hợp với nhau trong cáctrường hợp để cung cấp tất cả các hướng nhìn của một hệ thống
- Use case Case Diagram (Biểu đồ ca sử dụng): Mô tả sự tương
tác giữa các tác nhân ngoài và hệ thống thông qua các ca sử dụng
- Class Diagram (Biểu đồ lớp): Mô tả cấu trúc tĩnh, mô hình khái
niệm bao gồm các lớp đối tượng và các mối quan hệ của chúng trong
hệ thống hướng đối tượng
- Object Diagram (Biểu đồ đối tượng): Là một phiên bản của biểu
đồ lớp và thường cũng sử dụng các ký hiệu như biểu đồ lớp
- Sequence diagram (Biểu đồ trình tự): Thể hiện sự tương tác của
các đối tượng với nhau
- Collaboration Diagram (Biểu đồ cộng tác): Tương tự như biểu
đồ trình tự nhưng nhấn mạnh vào sự tương tác của các đối tượngtrên cơ sở cộng tác với nhau
- State Diagram (Biểu đồ trạng thái): Thể hiện chu kỳ hoạt động
của các đối tượng, của các hệ thống con và của cả hệ thống
- Activity Diagram (Biểu đồ hành động): Chỉ ra dòng hoạt động
của hệ thống
- Component diagram (Biểu đồ thành phần): Chỉ ra cấu trúc vật
lý của các thành phần trong hệ thống
- Deployment Diagram (Biểu đồ triển khai): Chỉ ra cách bố trí vật
lý các thành phần theo kiến trúc được thiết kế của hệ thống
Relationship (Quan hệ)
- Realization (Hiện thực hoá): Là quan hệ ngữ nghĩa giữa giao
diện và lớp;
- Dependency (Phụ thuộc): Là quan hệ ngữ nghĩa giữa hai phần
tử, trong đó sự thay đổi của một tử sẽ tác động đến ngữ nghĩa củaphần tử phụ thuộc;
Trang 15- Generalization (Kế thừa): Là quan hệ mô tả sự khái quát hoá
mà trong đó một số đối tượng cụ thể (của lớp con) sẽ được kế thừacác thuộc tính, các phương thức của các đối tượng tổng quát (lớp cơsở);
- Association (Kết hợp): Là quan hệ cấu trúc xác định mối liên kết
giữa các lớp đối tượng
Model element (Các phần tử mô hình): Các khái niệm được
sử dụng trong các biểu đồ được gọi là các phần tử mô hình, thể hiệncác khái niệm hướng đối tượng quen thuộc Một phần tử mô hìnhthường được sử dụng trong nhiều biểu đồ khác nhau, nhưng nó luônluôn có chỉ một ý nghĩa và một kí hiệu
2.1.2 Ngôn ngữ HTML
HyperText Markup Language – ngôn ngữ siêu văn bản là mộttrong các loại ngôn ngữ được sử dụng trong lập trình web Khi truycập một trang web cụ thể là click vào các đường link, bạn sẽ đượcdẫn tới nhiều trang các nhau, và các trang này được gọi là một tàiliệu HTML (tập tin HTML)
HTML là ngôn ngữ lập trình web được đánh giá là đơn giản Mọitrang web, mọi trình duyệt web đều có thể hiển thị tốt ngôn ngữHTML Hiện nay, phiên bản mới nhất của HTML là HTML5 với nhiềutính năng tốt và chất lượng hơn so với các phiên bản HTML cũ
HTML giúp cấu thành các cấu trúc cơ bản trên một website (chiakhung sườn, bố cục các thành phần trang web) và góp phần hỗ trợkhai báo các tập tin kĩ thuật số như video, nhạc, hình ảnh
Các trang HTML được quy định bằng các thẻ tag Những thẻ nàyđược chứa trong các dấu ngoặc đơn dạng: <tên thẻ> Trừ một vàithẻ đặc biệt, hầu hết các thẻ cơ bản đều có các thẻ đóng tương ứngvới nó Ví dụ, thẻ <html> có thẻ đóng tương ứng
là </html>, thẻ <body> có thẻ đóng tương ứng là </body>
2.1.3 Ngôn ngữ CSS
CSS là viết tắt của cụm từ “Cascading Style Sheets” - ngôn
ngữ tạo phong cách cho trang web Ngôn ngữ lập trình này quy định
cách các thành phần HTML của trang web thực sự sẽ xuất hiện trênfrontend như thế nào
Trang 16CSS sẽ giúp webmaster xác định styles và định nghĩa nhiều loạinội dung của website CSS được tạo ra để kết hợp với ngôn ngữmarkup HTML để tạo phong cách cho trang web Có 3 loại style CSSchính:
- Style CSS Internal: là style được tải lên mỗi khi trang web
được refresh
- Style CSS Inline: bạn có thể chỉnh sửa một yếu tố nào đó mà
không cần truy cập trực tiếp vào file CSS
- External style: bạn có thể tạo phong cách ở file khác áp dụng
CSS vào trang bạn muốn External style sẽ cải thiện thời gian tảitrang rất nhiều
2.1.4 Ngôn ngữ Javascript
Javascript là một ngôn ngữ lập trình kịch bản dựa vào đối tượngphát triển có sẵn hoặc tự định nghĩa ra, javascript được sử dụng rộngrãi trong các ứng dụng Website Javascript được hỗ trợ hầu như trêntất cả các trình duyệt như Firefox, Chrome, thậm chí các trìnhduyệt trên thiết bị di động cũng có hỗ trợ
Javascript dùng để tạo ra các trang web có tính tương tác Cácslideshow, pop-up quảng cáo và tính năng autocomplete của Google
là những thứ được viết bằng JS
Lý do Javascript được sử dụng rộng rãi:
- JavaScript là ngôn ngữ kịch bản phía máy khách (client-side)duy nhất Do đó, nó được sử dụng trên hầu hết các trang web;
- Javascript được sử dụng trong công việc phát triển trên web;
- JavaScript chạy trong một trình duyệt, mà không cần phải tảimột phần mềm nào đó về để sử dụng nó Tất cả bạn cần chỉ là mộttrình soạn thảo văn bản (như TextWrangler hay TextEdit) và mộttrình duyệt web
Javascript có thể làm được những gì?
- Được dùng để xây dựng toàn bộ một trang web nếu sử dụng vớiNode.js và MongoDB (một cơ sở dữ liệu);
- Chịu trách nhiệm về các hiệu ứng động như các cửa sổ pop-up
và với AJAX, những trang web có thể hiển thị dữ liệu mới mà khôngcần phải refresh lại trang
Trang 172.1.5 Trình bày về mô hình MVC
MVC là viết tắt của “Model View Controller” là một kiến trúcphần mềm, được tạo ra với mục đích quản lý và xây dựng dự ánphần mềm có hệ thống hơn
có nhiệm vụ thao tác với các cơ sở dữ liệu
View: hay còn được gọi là thành phần giao diện, là phần cóđảm nhiệm nhiệm vụ tiếp nhận dữ liệu từ Controller, tương tác vớingười dùng và hiển thị nội dung sang các đoạn mã HTML
Controller: là thành phần giữ vai trò trung gian giữa phần Model
và phần View Controller có nhiệm vụ nhận các yêu cầu từ kháchhàng, sau đó có phương pháp xử lý các yêu cầu đó, load model thíchhợp và gửi dữ liệu qua view tương ứng rồi gửi lại kết quả cho kháchhàng
2.1.6 Trình bày về PHP và Framework Laravel
2.1.3.1 Trình bày về PHP
PHP là viết tắt của “Personal Home Page”, đây là một ngôn ngữlập trình sử dụng để viết ở máy chủ (Lập trình web) Hiện nay có rấtnhiều ngôn ngữ có thể viết ở máy chủ như: C#, Java, Python và PHPchính là một trong những ngôn ngữ của nhóm này
Trang 18PHP có cú pháp đơn giản, tốc độ nhanh và nhỏ gọn, dễ học vàthời gian để tiếp cận PHP ngắn hơn so với các ngôn ngữ lập trìnhkhác nên hiện nay PHP có rất nhiều các CMS mã nguồn mở như:WordPress, OpenCart, NukeViet cùng với đó là các framework như:Laravel, Symfony, CodeIgniter, …nên nó rất đa dạng và đáp ứngđược hầu hết các website thông thường như blog cá nhân cho đếnwebsite giới thiệu công ty và bán hàng.
2.1.3.2 Trình bày về Framework Laravel
Laravel là một PHP framework mã nguồn mở và miễn phí, đượcphát triển bởi Taylor Otwell và nhắm vào mục tiêu hỗ trợ phát triểncác ứng dụng web theo kiến trúc model-view-controller (MVC)
Những tính năng nổi bật của Laravel bao gồm cú pháp dễ hiểu –
rõ ràng , một hệ thống đóng gói modular và quản lý gói phụ thuộc,nhiều cách khác nhau để truy cập vào các cơ sở dữ liệu quan hệ,nhiều tiện ích khác nhau hỗ trợ việc triển khai vào bảo trì ứng dụng
Những tính năng của Laravel là:
- Composer: sử dụng để nâng cấp, cài đặt…
- Eloquent ORM: thao tác với cú pháp đẹp mắt và đơn giản.
- Restful API: hỗ trợ biến Laravel thành một web service API.
- Artisan: cung cấp các lệnh cần thiết để phát triển ứng dụng.
- View: giúp code sạch sẽ hơn rất nhiều.
- Migrations: hỗ trợ tạo các trường trong cơ sở dữ liệu, thêm
các cột trong bảng, tạo mối quan hệ giữa các bảng, hỗ trợ quản lý cơ
sở dữ liệu
- Authentication: cung cấp sẵn các tính năng đăng nhập, đăng
ký, quên mật khẩu…
- Unit Testing: hỗ trợ test lỗi để sửa chữa.
2.1.7 Trình bày về Framework VueJS
Vue.js là một framework linh động (progressive – tiệm tiến)dùng để xây dựng giao diện người dùng (user interfaces) Khác vớicác framework nguyên khối (monolithic), Vue được thiết kế từ đầutheo hướng cho phép và khuyến khích việc phát triển ứng dụng theotừng bước Khi phát triển lớp giao diện (view layer), người dùng chỉcần dùng thư viện lõi (core library) của Vue, vốn rất dễ học và tích
Trang 19hợp với các thư viện hoặc dự án có sẵn Cùng lúc đó, nếu kết hợp vớinhững kĩ thuật hiện đại như SFC (single file components) và các thưviện hỗ trợ, Vue cũng đáp ứng được dễ dàng nhu cầu xây dựngnhững ứng dụng một trang (SPA - Single-Page Applications) với độphức tạp cao hơn nhiều.
Trước sự tồn tại của hàng loạt các framework, thư việnJavascript vô cùng mạnh mẽ như React, Angular, VueJS nổi bật và trởthành lựa chọn lý tưởng hàng đầu của các lập trình viên khi pháttriển ứng dụng bởi những lý do sau:
- Hiệu suất vô cùng cao: Là một framework linh động với
nhiều tính năng được kế thừa từ đối thủ và khả năng mở rộng cao,VueJS mang lại hiệu suất vô cùng cao trong các dự án phát triển Lậptrình viên chỉ cần dùng một framework duy nhất để tạo ra app
- Tốc độ đáng gờm: Một trong những đặc điểm nổi bật của
VueJS là chỉ giữ core Điều này khiến cho dung lượng tải củaframework tương đối thấp, giúp tốc độ tải trang nhanh hơn hẳn
- Đơn giản và dễ học: VueJS rất đơn giản, dễ học và dễ áp
dụng vào trong các dự án, dù là một newbie thì bận cũng không cần
lo lắng quá nhiều khi sử dụng.
❖ Ưu điểm của Vuejs
- Trang web nhẹ, tốc độ xử lý cực nhanh bởi được Render, xử lýbằng Javascript
- Đơn giản, dễ học và dễ áp dụng trong các dự án, đặc biệt là vớinewbie
- Có khả năng xử lý các render thuộc server thành file Js tĩnh
- Kho thư viện lớn, hỗ trợ xây dựng giao diện một cách nhanhchóng
- Dung lượng tải thấp, giúp tốc độ tải trang nhanh hơn
- Sàng lọc, tích hợp các tính năng ưu việt của nhiều frameworkđối thủ, giúp tối ưu hóa hiệu suất làm việc
❖ Nhược điểm của Vuejs
Tuy nhiên, VueJS lại có nhược điểm liên quan đến SEO Khi tiếnhành công việc SEO trên các website, ứng dụng được tạo lập bởiframework này sẽ khó khăn hơn Bạn nên cân nhắc điều này trước
Trang 20khi quyết định sử dụng nó bởi hiện Google đã có khả năng hỗ trợ Seocho VueJS, miễn sao tốc độ API của bạn đủ nhanh.
2.1.8 Cơ sở dữ liệu MySQL
Cơ sở dữ liệu là một hệ thống các thông tin có cấu trúc, đượclưu trữ trên các thiết bị lưu trữ nhằm thỏa mãn yêu cầu khai thácthông tin đồng thời của nhiều người sử dụng hay nhiều chương trìnhứng dụng chạy cùng một lúc với những mục đích khác nhau
Việc sử dụng hệ thống CSDL này sẽ khắc phục được nhữngkhuyết điểm của cách lưu trữ dưới dạng hệ thống tập tin đó là: giảmtrùng lặp thông tin ở mức thấp nhất, đảm bảo tính nhất quán và toànvẹn dữ liệu, đảm bảo dữ liệu được truy xuất theo nhiều cách khácnhau, từ nhiều người khác nhau và nhiều ứng dụng khác nhau, tăngkhả năng chia sẻ thông tin
MySQL là một trong những hệ thống quản lý cơ sở dữ liệu
(CSDL) mã nguồn mở quan hệ SQL sử dụng trên web phổ biến nhất hiện nay MySQL được sử dụng cho việc bổ trợ PHP và nhiều ngôn ngữ khác, là nơi lưu trữ những thông tin trên các website viết bằng
Rational Rose hỗ trợ cho việc làm mô hình doanh nghiệp, giúphiểu được hệ thống của mô hình doanh nghiệp, phân tích hệ thống
và thiết kế mô hình
Rational Rose là bức tranh của hệ thống từ những phối cảnhkhác nhau, nó bao gồm tất cả các mô hình UML, Actor, Use caseCase, Object, v.v trong hệ thống Người lập trình có thể dùng môhình như một bản thiết kế cho công việc xây dựng hệ thống
❖ Ưu điểm:
- Cung cấp nhiều tính năng
- Mô hình hướng đối tượng
- Kiểm tra ngữ nghĩa
- Hỗ trợ phát sinh mã cho một số ngôn ngữ
Trang 21❖ Nhược điểm:
- Phải cân chỉnh nhiều cho mô hình được đẹp
- Trong bản miễn phí không hỗ trợ phát sinh mã cho một số ngônngữ
- Không lùi về những bước trước đã làm
Xampp là một công cụ tích hợp đầy đủ các thành bao gồm:
Apache: Là một chương trình máy chủ, dùng để giao tiếp với
các giao thức HTTP Apache chạy tốt trên mọi hệ điều hành
MySql: Là hệ quản trị cơ sở dữ liệu, được dùng để lưu trữ
thông tin của một website Mỗi website có thể sử dụng một hoặcnhiều cơ sở dữ liệu
PHP: Là ngôn ngữ kịch bản trên phía Server, dùng để xử lý các
thao tác của người dùng Và làm việc trực tiếp với cơ sở dữ liệu(Database)
2.2.3 PhpMyAdmin
PhpMyAdmin là một công cụ nguồn mở được viết bằng ngônngữ PHP để giúp người dùng quản lý cơ sở dữ liệu của MySQL thôngqua một trình duyệt web Đây là công cụ quản trị MySQL phổ biếnnhất được sử dụng bởi hàng triệu người dùng trên toàn thế giới, đặcbiệt là các nhà quản trị cơ sở dữ liệu hay database administrator
Thay vì sử dụng giao diện cửa sổ dòng lệnh (command lineinterface), với trình duyệt web của mình, thông qua giao diện ngườidùng (user interface), PhpMyAdmin có thể thực hiện nhiều tác vụnhư tạo, cập nhật, sửa đổi hoặc xóa bỏ cơ sở dữ liệu, bảng hoặc bảnghi; thực hiện báo cáo SQL; phân quyền và quản lý người dùng, v.v
❖ Ưu điểm
Trang 22- Tăng hiệu quả công tác quản lý cơ sở dữ liệu:
PhpMyAdmin là một công cụ hoàn hảo để duyệt cơ sở dữ liệu, thựchiện truy vấn SQL, quản lý các đặc quyền người dung
- Cộng đồng hỗ trợ rộng lớn: Với tính chất là một mã nguồn
mở, PhpMyAdmin được phát triển bởi cộng đồng các lập trình viêntrên toàn cầu
- Đa ngôn ngữ: Phần mềm hiện có sẵn trong 64 ngôn ngữ khác
nhau, được duy trì bởi The PhpMyAdmin Project
2.2.4 Visual Studio Code
Visual Studio Code (VS Code hay VSC) là một trong những
trình soạn thảo mã nguồn phổ biến nhất được sử dụng bởi các lậptrình viên Nhanh, nhẹ, hỗ trợ đa nền tảng, nhiều tính năng và là mãnguồn mở chính là những ưu điểm vượt trội khiến VS Code ngày càngđược ứng dụng rộng rãi
Hỗ trợ chức năng debug, đi kèm với Git, có syntax highlighting,
tự hoàn thành mã thông minh, snippets, và cải tiến mã nguồn Nhờtính năng tùy chỉnh, Visual Studio Code cũng cho phép người dùngthay đổi theme, phím tắt, và các tùy chọn khác
Trang 23CHƯƠNG 3 PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Sau khi khảo sát hệ thống để từ đó biết được quy trình nghiệp
vụ của một website bất động sản, em đã tiến hành xây dựng và phát triển các chức năng cần có, vẽ được biểu đồ usecase tổng quát, use case chi tiết, các bảng đặc tả yêu cầu chi tiết, biểu đồ trình tự, hoạt động, trạng thái và biểu đồ lớp của hệ thống sau đó thiết kế hệ thống.
3.1 Khảo sát
3.1.1 Khảo sát hiện trạng thực tế
3.1.1.1 Đơn vị khảo sát
- Đơn vị khảo sát: Công ty Cổ phần PropertyGuru Việt Nam.
- Địa chỉ: Tầng 31, Keangnam Hanoi Landmark Tower, Khu E6,Khu đô thị Cầu Giấy, Phường Mễ Trì, Quận Nam Từ Liêm, HàNội
- Điện thoại: (024) 3562 5939 - (024) 3562 5940
- Website: https://www.propertygurugroup.com/
Công ty Cổ phần PropertyGuru Việt Nam - thuộc tập đoànPropertyGuru Singapore, thành lập vào năm 2007, PropertyGuru làcông ty công nghệ bất động sản tin cậy và tiên phong tại châu Á
PropertyGuru là điểm đến ưa thích của hơn 52 triệu người tìmkiếm bất động sản hàng tháng để tìm kiếm ngôi nhà mơ ước của họ,tạo nên sức mạnh cho người tìm kiếm bất động sản khi cung cấpnhiều lựa chọn và thông tin tin cậy với hơn 3,3 triệu bất động sản, sựthấu hiểu thị trường và giải pháp hiệu quả cho phép họ tự tin đưa raquyết định khi mua/bán bất động sản trên khắp các nước Singapore,Malaysia, Thái Lan, Indonesia và Việt Nam Công ty đã khẳng địnhvững chắc chỗ đứng của mình và được biết đến là một trong số ít cáccông ty truyền thông trẻ tuổi có tốc độ phát triển nhanh chóng, năngđộng và sáng tạo nhất hiện nay
Công ty hiện đang sở hữu website Batdongsan.com.vn có lịch
sử phát triển gần 15 năm tại Việt Nam, được sử dụng bởi 5 triệungười dùng có nhu cầu tìm kiếm bất động sản với 70 triệu lượt xem
Trang 24trang mỗi tháng và được các công cụ đánh giá phổ biến nhất thế giớinhư Google, SimilarWeb xếp hạng là Kênh thông tin số 1 về bất độngsản tại Việt Nam.
Với tầm nhìn trở thành cố vấn tin cậy cho những người tìm kiếm
bất động sản, Batdongsan.com.vn đang và sẽ đầu tư mạnh mẽ
vào công nghệ để thân thiện hơn với người dùng và mang đến cácgiải pháp công nghệ vượt trội Người tìm kiếm bất động sản có thểtìm thấy hầu hết các thông tin, dữ liệu về bất động sản và các tin tứcthị trường, phong thủy, kiến trúc cũng như các tư vấn có ích từBatdongsan.com.vn
Đến nay, bên cạnh trụ sở chính tại Hà Nội,
Batdongsan.com.vn đã xây dựng thêm 8 chi nhánh tại các tỉnh/
thành phố trên khắp cả nước là Hải Phòng, Đà Nẵng, Nha Trang,TP.HCM, Bình Dương, Đồng Nai, Bà Rịa - Vũng Tàu và Cần Thơ đểphục vụ được khách hàng một cách tốt nhất
+ Danh bạ doanh nghiệp
+ Danh bạ nhà môi giới
- FastKey - Giải pháp công nghệ dành riêng cho doanh nghiệp bấtđộng sản (chủ đầu tư, sàn giao dịch)
- Các chương trình đào tạo và sự kiện trong ngành bất động sản:Expert Talk, Expert Coaching
- Hội nghị bất động sản Việt Nam - VRES
- Nghiên cứu thị trường và cung cấp dữ liệu trực tuyến về thịtrường bất động sản Việt Nam
- Sản xuất nội dung: Giới thiệu/Đánh giá dự án, 3D scanning, nộidung tương tác (Interaktive Story),
- Tư vấn và thực hiện các kế hoạch truyền thông, marketing tronglĩnh vực bất động sản
Trang 253.1.1.2 Nội dung khảo sát
- Người được phỏng vấn: Anh Nguyễn Nhật Minh
- Nội dung phỏng vấn: Nghiệp vụ và mong muốn của quản lý
và người định giá thông qua công nghệ
- Bài viết PR: đăng bài với nội dung đadạng ở vị trí tin nóng
- Quảng cáo hiển thị: thiết kế banner nổibật hỗ trợ thông tin đăng tải
4 Quy định về kiểm - Tin đăng của Khách hàng sẽ được kiểm
Trang 26duyệt khi đăng tin về
dự án bất động sản
duyệt trong vòng 24h, tính từ thời điểmđăng tin Đối với Khách hàng có tài khoảnVIP, tin đăng của Khách hàng sẽ đượchiển thị ngay
- Mọi tin rao khi đăng lênBatdongsan.com.vn yêu cầu Khách hàngtuân thủ đúng Quy định củaBatdongsan.com.vn Các trường hợp viphạm quy định đăng tin, tin rao sẽ bị xóahoặc biên tập lại theo đúng quy địnhđăng tin đã công bố của website màkhông cần thông báo trước
5 Hiện nay trên thị
trường có rất nhiều
thông tin về mua bán,
môi giới nhà đất, môi
giới BĐS trên nhiều
website Vậy anh có thể
cho em biết về các loại
website bất động sản
nào không?
Không phải website nào cũng giốngnhau, bạn có thể tìm hiểu theo 3 loại cơbản sau:
- Website BĐS dành cho doanh nghiệp: Đây là loại website tin tức cơ
bản, để doanh nghiệp và chủ đầu tư cậpnhật thông tin, giới thiệu dự án, kết nốivới khách hàng tiềm năng và quảng báthương hiệu đến khách hàng mục tiêu
- Cổng thông tin BĐS: Loại website
này ở Việt Nam rất phổ biến, có vai tròtổng hợp nhiều thông tin về mua bán,cho thuê với nhiều loại hình như nhà đất,chung cư, căn hộ từ nhiều nguồn vànhiều chủ đầu tư khác nhau Ở đâykhách hàng và các chủ đầu tư có thểcung cấp, trao đổi thông tin dễ dàng
- Website giới thiệu dự án: website
tập trung vào một dự án cụ thể thường
sẽ thiết kế theo kiểu Landing page vớimục đích quảng cáo online Đặc điểmchính của các website này là chỉ tập
Trang 27trung giới thiệu vào một dự án cụ thể vớiđầy đủ tất cả thông tin cần có như hìnhảnh, vị trí, tiện ích, giá tiền.
❖ Phỏng vấn nhân viên
- Ngày phỏng vấn: 07/03/2022
- Nhân viên bán hàng: Chị Lê Lan Anh
- Nội dung phỏng vấn: Nghiệp vụ và công việc của nhân viên kinh doanh bất động sản.
1 Khi lên danh sách
ứng nhu cầu của khách
Tôi thường thực hiện các chiến dịchtiếp thị để quảng cáo cho mỗi sự kiện.Tôi phối hợp chặt chẽ với chủ đầu tư đểtăng cường độ tin cậy đối với kháchhàng Đồng thời, trang bị thêm một số
Trang 28hàng hay không?
thiết bị cần thiết cho căn nhà mẫu đểgiúp khách hàng cảm thấy thoải máihơn với sản phẩm bất động sản màmình đang giới thiệu
❖ Phỏng vấn khách hàng
Trang 31Với kết quả 320 người tham gia khảo sát với tỷ lệ 40,6% nam, 53,1% nữ trong độ tuổi chiếm lớn nhất là các bạn trẻ từ dưới 24 tuổi thì đa phần đều đang ở nhà thuê và dự định sẽ dành
ra 1-2 tỷ để sở hữu một ngôi nhà Kết quả khá khả quan với việc
sẽ chấp nhận sử dụng website để tìm kiếm nghiên cứu mua hoặc thuê nhà.
Trang 333.1.2 Mô tả bài toán
Tại đây, sàn giao dịch bất động sản tạo ra sự kết nối giữa nhữngngười có nhu cầu mua và bán bất động sản, giữa người dùng và cácchuyên gia nhằm giúp mọi người tìm kiếm, chia sẻ và xây dựng mộtkhông gian sống hoàn hảo
Khách hàng biết được các loại bất động sản, các dự án, chủ đầu
tư, nguồn gốc của dự án bất động sản
Sau khi tìm thấy dự án bất động sản phù hợp, khách hàng có thểxem thông tin chi tiết của dự án (Tên, địa chỉ, giá, diện tích, số lượngphòng, v.v.) và có thể liên hệ với chủ đầu tư qua email, gọi trực tiếpqua số điện thoại hoặc thông qua các trang mạng xã hội nhưfacebook, zalo, …
Có thể để lại thông tin để được tư vấn chi tiết hơn, khách hàngcần tuân thủ các hướng dẫn
Đối với người quản trị hay thành viên
Nếu quản trị viên hay thành viên đăng nhập thành công sẽchuyển đến trang chủ dành cho quản trị viên Quản trị chọn quản lýtài khoản trên thanh điều hướng Trong quản lý tài khoản, có cácchức năng như thêm, sửa, xóa thông tin tài khoản Chức năng thêmtài khoản tương đương với đăng ký tài khoản và để đảm bảo tính bảomật thì chỉ quản trị viên mới có thể thêm tài khoản và phân quyền.Sau khi được thêm (đăng ký), thành viên có thể vào trang quản trị để
có thể thực hiện các chức năng chuyên trách của mình
Chức năng quan trọng không kém đó là quản lý dự án bất độngsản Thành viên có thể thêm, sửa, xóa và xem danh sách dự án.Ngoài ra còn có chức năng quản lý loại bất động sản (biệt thự, căn
hộ, chung cư, nhà vườn, v.v.) và chức năng quản lý loại hình giaodịch (bán, thuê) Quản trị có thể xem danh sách, thêm, sửa, xóa loại
dự án, loại hình giao dịch nếu không tồn tại bất động sản
Trang 34Nhằm giúp cho khách hàng có thể nắm bắt được những thôngtin bất động sản, một chức năng cũng không kém phần quan trọng
đó là quản lý tin tức Quản trị viên cũng có thể thêm, sửa, xóa tin tứcmới nhất một cách dễ dàng và tiện lợi
Tư vấn tận tình cho khách hàng, giới thiệu những dự án tốt nhất,phù hợp nhất với những yêu cầu mà khách hàng đề ra Hướng dẫnkhách hàng chu đáo
❖ Các usecase cần thiết
⮚ Quản lý: Là người quản lý hệ thống Thực hiện các chức năng
như một thành viên Ngoài ra có quyền cấp phát mới một tài khoản,phân quyền sử dụng cho tài khoản, cập nhật hay xóa một tài khoản
- Quản lý tài khoản cá nhân
- Quản lý tất cả các danh mục của hệ thống
Trang 35- Khách hàng có thể xem thông tin chi tiết của dự án (Tên, địa
chỉ, giá, diện tích, số lượng phòng, v.v.) và có thể liên hệ với chủ đầu
tư qua email, gọi trực tiếp qua số điện thoại hoặc thông qua cáctrang mạng xã hội như facebook, zalo, …
❖ Xây dựng các chức năng dự kiến
- Tổng hợp các nộidung chính củawebsite, bố cục hàihòa, dễ nhìn
2 Giới thiệu -Về chúng tôi
- Giới thiệu tổng quan
- Đội ngũ nhân viên
- Sứ mệnh và tầmnhìn
- Giới thiệu khác
- Quản trị tổ chứcphân cấp dữ liệu chomodule
- Quản trị soạn nộidung cho các bài viết
3 Banner slide
- Hiển thị ảnh về đơn
vị theo dạng trìnhchiếu cho web thêmsinh động, hấp dẫn
- Không hạn chế sốlượng hình ảnh
- Quản trị tổ chứcphân cấp dữ liệu chomodule
- Quản trị có thể thayđổi hình ảnh, chọnhiệu ứng trình chiếucủa slide
4 Tin tức - Hiển thị tin tức cho
người dùng xem Nội
- Quản trị tổ chứcphân cấp dữ liệu cho
Trang 36dung tin tức do quảntrị soạn thảo.
module
- Quản trị nhập dữ liệutin tức
5 Mạng xã hội
- Hiển thị icon cácmạng xã hội của đơnvị/tổ chức lên trangweb
- Quản trị tổ chứcphân cấp dữ liệu chomodule
- Quản trị cấu hìnhliên kết đến mạng xãhội của đơn vị/tổ chức
6 Liên hệ
- Cung cấp biểu mẫucho phép người dùngnhập thông tin, nộidung liên hệ đến đơnvị/tổ chức
- Quản trị tổ chứcphân cấp dữ liệu chomodule
- Quản trị cấu hìnhemail nhận mail củangười dùng
7 Tìm kiếm bấtđộng sản
- Tìm kiếm theo từkhóa
- Tìm kiếm theo khuvực
- Tìm kiếm theo giá
- Tìm kiếm theo loạihình giao dịch
8 Dự án bấtđộng sản
- Hiển thị các dự ánbất động sản theophân mục
+ Dự án đã thựchiện
+ Dự án đang thựchiện
+ Dự án sắp thựchiện
- Quản trị tổ chứcphân cấp dữ liệu chomodule
- Quản trị nhập dữ liệuthông tin về các dự ánbất động sản
3.2 Phân tích
3.2.1 Xác định tác nhân và chức năng
Bảng 3 2 Xác định tác nhân và chức năng
Trang 37- Tạo tài khoản
- Sửa thông tin thành viên
- Xóa thông tin thành viên
- Xem danh sách thành viên
▪ Quản lý loại tin đăng:
- Thêm loại tin đăng
- Cập nhật loại tin đăng
- Xóa loại tin đăng
- Tìm kiếm loại tin đăng
▪ Thống kê:
- Thống kê thành viên
- Thống kê dự án
▪ Quản lý tài khoản cá nhân:
- Sửa thông tin cá nhân
- Đổi mật khẩu
2 Thành viên ▪ Đăng nhập, đăng xuất
▪ Quản lý tài khoản cá nhân:
- Sửa thông tin cá nhân
Trang 38- Xem theo loại bds
- Xem theo quyện huyện
- Xem theo khoảng giá
Trang 393.2.2 Biểu đồ UseCase tổng quát
Hình 3 1 Usecase tổng quát
3.2.3 Biểu đồ UseCase chi tiết
3.2.3.1 Usecase Đăng nhập – Đăng xuất
Hình 3 2 Usecase đăng nhập.
Bảng 3 3 Đặc tả usecase đăng nhập
Trang 40Tác nhân Quản trị, thành viên
Luồng sự kiện
phụ
4.1 Nhập sai định dạng “Email” hoặc
“Password”, yêu cầu nhập lại4.2 Nhập thiếu thông tin Email hoặc Password,yêu cầu nhập đầy đủ
4.3 Bỏ trống thông tin Email, Password, yêu cầunhập đầy đủ
4.4 Nhập sai Email, Password, đăng nhập thấtbại
Bảng 3 4 Đặc tả usecase đăng xuất
Tác nhân Quản trị, thành viên
Mục đích Đăng xuất hệ thống
Mô tả Người sử dụng thoát khỏi hệ thống
Tiền điều kiện Đã đăng nhập