Ngày nay, ứng dụng công nghệ thông tin và việc tin học hóa được xem là một trong những yếu tố mang tính quyết định trong hoạt động của các cơ quan chính phủ, tổ chức, cũng như của các công ty, nó đóng vai trò hết sức quan trọng, có thể tạo ra những bước đột phá mạnh mẽ. Cùng với sự phát triển không ngừng về kỹ thuật máy tính và mạng điện tử, công nghệ thông tin cũng đạt được những đẳng cấp cao và lần lượt chinh phục hết đỉnh cao này đến đỉnh cao khác. Mạng Internet là một trong những sản phẩm có giá trị hết sức lớn lao và ngày càng trở thành một công cụ không thể thiếu, là nền tảng chính cho sự truyền tải, trao đổi thông tin trên toàn cầu. Chính vì sự quan trọng của thông tin nên bất động sản là một trong số ít ngành đòi hỏi phải có đội ngũ tư vấn đông đảo. Ở các nước phát triển, những người quan tâm hay có nhu cầu giao dịch về bất động sản luôn được cung cấp thông tin một cách đầy đủ và chính xác. Đơn cử tại Mỹ, một trong những nơi có thị trường bất động sản hoàn thiện nhất trên thế giới, khi mua một căn nhà đã qua sử dụng, người mua nếu có nhu cầu sẽ được cung cấp đầy đủ thông tin chính xác về giá của những lần giao dịch trước đây. Trong khi đó, ở Việt Nam, việc có được thông tin như vậy một cách chính xác gần như là điều “không tưởng”. 11 Hàng nghìn Website nhà đất từng “nở rộ” tại Việt Nam trong một thời gian dài, nhưng một kênh thông tin chính thức, tin cậy và phổ biến vẫn là một vấn đề còn bỏ ngỏ. Điều này khiến người tìm kiếm thông tin gặp rất nhiều khó khăn. Trong khi đó, những người có nhu cầu bán, cho thuê lại chưa có công cụ, phương tiện nào thực sự hiệu quả để quảng bá thông tin. Ngay cả đội ngũ tư vấn bất động sản cũng gặp rất nhiều trở ngại. Thông thường về phía các công tyvăn phòng môi giới đều phải có các nhân viên chuyên trách hoặc thuê cộng tác viên, thậm chí thành lập cả một phòng chuyên phụ trách việc đăng tin để quảng cáo trên hàng chục Website, kênh thông tin khác nhau. Việc này rất tốn kém thời gian và chi phí nhưng hiệu quả vẫn không như mong đợi. Riêng đối với tỉnh Trà Vinh thì việc các doanh nghiệp xây dựng các Website cho mình còn rất ít và đặc biệt đối với lĩnh vực kinh doanh Bất động sản hiện tại chưa có một công ty nào xây dựng một Website Bất động sản tại tỉnh nhà trong khi Trà Vinh đang trên đà phát triển, có tiềm năng rất lớn trong lĩnh vực kinh doanh này và nhu cầu về đất đai và nhà ở rất cao cho con người. 1.2. Bài toán đặt ra Từ hiện trạng và nhu cầu thực tiễn hiện nay, Trà Vinh cần có một Website về lĩnh vực Bất động sản nhằm phục vụ cho việc cung cấp thông tin chính xác, đáp ứng được yêu cầu tìm kiếm nơi ở, làm việc của những người muốn “an cư lạc nghiệp” ở Trà Vinh. Khi một người nào đó có nhu cầu về mua, bán, thuê, cho thuê một căn nhà, khu đất, cửa hàng, nhà trọ….thì họ sẽ cung cấp thông tin của nhà đất đó bao gồm (nhu cầu, phân loại nhà đất, diện tích, địa chỉ, giấy tờ… ). Để được đăng tin thì người dùng cần phải có tài khoản (Tên đăng nhập, mật khẩu và các thông tin cá nhân khác như số điện thoại, địa chỉ, email…). Sau khi có tài khoản thì người dùng có thể đăng nhập Website và đăng tin nhà đất. Và mọi người có thể xem các tin đăng và tìm kiếm tin theo các tiêu chí như nhu cầu, giá cả, khu vực, hướng và phân loại. Bên cạnh đó thì Website cũng hỗ trợ cho người dùng đăng banner quảng cáo cho công ty, doanh nghiệp của mình. Thông tin banner quảng cáo gồm hình banner, Url và tên của banner, các banner sẽ được hiển thị theo vị trí mà người dùng đã chọn. Đến với Website thì mọi người có thể đọc tin tức về phong thủy, thiết kế, dự án…Và mọi người có thể download các biểu mẫu liên quan đến nhà đất ví dụ như giấy phép xây dựng, đơn xin giao đất làm nhà… Người dùng có thể gửi liên hệ tới Admin hoặc giải đáp thắc mắc thông qua mục hỗ trợ trực tuyến của Website. 1.3. Phạm vi của đề tài Xây dựng Website thông tin nhà đất Trà Vinh phục vụ cho người dân Trà Vinh trong việc mua, bán, thuê hay cho thuê chổ ở, nơi mua bán hay đất đai phục vụ cho việc sản xuất của mình. 1.4. Mục tiêu của đề tài Đăng tin rao bán, mua, thuê, cho thuê nhà, biệt thự, nhà trọ, đất nông nghiệp, đất thổ cư, mặt bằng… Cho đặt banner quảng cáo của các doanh nghiệp, công ty… Tìm kiếm thông tin về nhà đất theo nhiều tiêu chí như giá, nhu cầu, phân loại…. Xem tin tức về bất động sản, phong thủy, thiết kế, .. và các tin khác ở các lĩnh vực. Xem tin đăng về nhà đất theo tin mới đăng, tin nổi bật. Cho download các biểu mẫu, giấy tờ về việc sử dụng, mua bán bất động sản. Người dùng có thể liên hệ được với quản trị thông qua mail hay được hỗ trợ trực tuyến qua nick chat yahoo. Admin phải quản lý được người dùng, tin đăng, banner quảng cáo, biểu mẫu… 1.5. Các bước thực hiện Tìm hiểu, quan sát nhu cầu của người dân Trà Vinh về nhu cầu nhà ở, đất đai canh tác… Phân tích và thiết kế hệ thống thông tin. Nghiên cứu việc sử dụng SQL Server 2005 để xây dựng cơ sở dữ liệu. Tìm hiểu, nghiên cứu việc xây dựng Web theo mô hình đa tầng (3 tầng). Nghiên cứu công cụ thiết kế và lập trình web là Visual Studio 2008 và viết bằng ngôn ngữ C.
Trang 1Chương 1: ĐẶT VẤN ĐỀ 1.1 Hiện trạng
Ngày nay, ứng dụng công nghệ thông tin và việc tin học hóa được xem là mộttrong những yếu tố mang tính quyết định trong hoạt động của các cơ quan chínhphủ, tổ chức, cũng như của các công ty, nó đóng vai trò hết sức quan trọng, có thểtạo ra những bước đột phá mạnh mẽ Cùng với sự phát triển không ngừng về kỹthuật máy tính và mạng điện tử, công nghệ thông tin cũng đạt được những đẳng cấpcao và lần lượt chinh phục hết đỉnh cao này đến đỉnh cao khác Mạng Internet làmột trong những sản phẩm có giá trị hết sức lớn lao và ngày càng trở thành mộtcông cụ không thể thiếu, là nền tảng chính cho sự truyền tải, trao đổi thông tin trêntoàn cầu
Chính vì sự quan trọng của thông tin nên bất động sản là một trong số ít ngànhđòi hỏi phải có đội ngũ tư vấn đông đảo Ở các nước phát triển, những người quantâm hay có nhu cầu giao dịch về bất động sản luôn được cung cấp thông tin mộtcách đầy đủ và chính xác Đơn cử tại Mỹ, một trong những nơi có thị trường bấtđộng sản hoàn thiện nhất trên thế giới, khi mua một căn nhà đã qua sử dụng, ngườimua nếu có nhu cầu sẽ được cung cấp đầy đủ thông tin chính xác về giá của nhữnglần giao dịch trước đây Trong khi đó, ở Việt Nam, việc có được thông tin như vậymột cách chính xác gần như là điều “không tưởng” [11]
Hàng nghìn Website nhà đất từng “nở rộ” tại Việt Nam trong một thời gian dài,nhưng một kênh thông tin chính thức, tin cậy và phổ biến vẫn là một vấn đề còn bỏngỏ Điều này khiến người tìm kiếm thông tin gặp rất nhiều khó khăn Trong khi đó,những người có nhu cầu bán, cho thuê lại chưa có công cụ, phương tiện nào thực sựhiệu quả để quảng bá thông tin Ngay cả đội ngũ tư vấn bất động sản cũng gặp rấtnhiều trở ngại Thông thường về phía các công ty/văn phòng môi giới đều phải cócác nhân viên chuyên trách hoặc thuê cộng tác viên, thậm chí thành lập cả mộtphòng chuyên phụ trách việc đăng tin để quảng cáo trên hàng chục Website, kênhthông tin khác nhau Việc này rất tốn kém thời gian và chi phí nhưng hiệu quả vẫnkhông như mong đợi
Trang 2Riêng đối với tỉnh Trà Vinh thì việc các doanh nghiệp xây dựng các Websitecho mình còn rất ít và đặc biệt đối với lĩnh vực kinh doanh Bất động sản hiện tạichưa có một công ty nào xây dựng một Website Bất động sản tại tỉnh nhà trong khiTrà Vinh đang trên đà phát triển, có tiềm năng rất lớn trong lĩnh vực kinh doanh này
và nhu cầu về đất đai và nhà ở rất cao cho con người
1.2 Bài toán đặt ra
Từ hiện trạng và nhu cầu thực tiễn hiện nay, Trà Vinh cần có một Website vềlĩnh vực Bất động sản nhằm phục vụ cho việc cung cấp thông tin chính xác, đáp ứngđược yêu cầu tìm kiếm nơi ở, làm việc của những người muốn “an cư lạc nghiệp” ởTrà Vinh
Khi một người nào đó có nhu cầu về mua, bán, thuê, cho thuê một căn nhà, khuđất, cửa hàng, nhà trọ….thì họ sẽ cung cấp thông tin của nhà đất đó bao gồm (nhucầu, phân loại nhà đất, diện tích, địa chỉ, giấy tờ… ) Để được đăng tin thì ngườidùng cần phải có tài khoản (Tên đăng nhập, mật khẩu và các thông tin cá nhân khácnhư số điện thoại, địa chỉ, email…) Sau khi có tài khoản thì người dùng có thểđăng nhập Website và đăng tin nhà đất Và mọi người có thể xem các tin đăng vàtìm kiếm tin theo các tiêu chí như nhu cầu, giá cả, khu vực, hướng và phân loại
Bên cạnh đó thì Website cũng hỗ trợ cho người dùng đăng banner quảng cáo chocông ty, doanh nghiệp của mình Thông tin banner quảng cáo gồm hình banner, Url
và tên của banner, các banner sẽ được hiển thị theo vị trí mà người dùng đã chọn.Đến với Website thì mọi người có thể đọc tin tức về phong thủy, thiết kế, dựán…Và mọi người có thể download các biểu mẫu liên quan đến nhà đất ví dụ nhưgiấy phép xây dựng, đơn xin giao đất làm nhà…
Người dùng có thể gửi liên hệ tới Admin hoặc giải đáp thắc mắc thông qua mục
hỗ trợ trực tuyến của Website
1.3 Phạm vi của đề tài
Xây dựng Website thông tin nhà đất Trà Vinh phục vụ cho người dân Trà Vinhtrong việc mua, bán, thuê hay cho thuê chổ ở, nơi mua bán hay đất đai phục vụ choviệc sản xuất của mình
Trang 31.4 Mục tiêu của đề tài
- Đăng tin rao bán, mua, thuê, cho thuê nhà, biệt thự, nhà trọ, đất nông nghiệp,
đất thổ cư, mặt bằng…
- Cho đặt banner quảng cáo của các doanh nghiệp, công ty…
- Tìm kiếm thông tin về nhà đất theo nhiều tiêu chí như giá, nhu cầu, phân loại….
- Xem tin tức về bất động sản, phong thủy, thiết kế, và các tin khác ở các lĩnh
vực
- Xem tin đăng về nhà đất theo tin mới đăng, tin nổi bật
- Cho download các biểu mẫu, giấy tờ về việc sử dụng, mua bán bất động sản.
- Người dùng có thể liên hệ được với quản trị thông qua mail hay được hỗ trợ
trực tuyến qua nick chat yahoo
- Admin phải quản lý được người dùng, tin đăng, banner quảng cáo, biểu mẫu… 1.5 Các bước thực hiện
- Tìm hiểu, quan sát nhu cầu của người dân Trà Vinh về nhu cầu nhà ở, đất đai
canh tác…
- Phân tích và thiết kế hệ thống thông tin.
- Nghiên cứu việc sử dụng SQL Server 2005 để xây dựng cơ sở dữ liệu.
- Tìm hiểu, nghiên cứu việc xây dựng Web theo mô hình đa tầng (3 tầng).
- Nghiên cứu công cụ thiết kế và lập trình web là Visual Studio 2008 và viết
bằng ngôn ngữ C#
Trang 4Chương 2: CƠ SỞ LÝ THUYẾT 2.1 Phân tích và thiết kế dữ liệu
Tất cả mọi hệ thống đều phải sử dụng một cơ sở dữ liệu của mình, đó có thể làmột cơ sở dữ liệu đã có hoặc một cơ sở dữ liệu được xây dựng mới Cũng có những
hệ thống sử dụng cả cơ sở dữ liệu cũ và mới, việc phân tích và thiết kế cơ sở dữ liệucho một hệ thống có thể tiến hành đồng thời với việc phân tích và thiết kế hệ thốnghoặc có thể tiến hành riêng Vấn đề đặt ra là cần xây dựng một cơ sở dữ liệu giảmđược tối đa sự dư thừa dữ liệu đồng thời phải dễ khôi phục và bảo trì
2.1.1 Các bước tiến hành phân tích và thiết kế cơ sở dữ liệu
2.1.1.1 Phân tích cơ sở dữ liệu
Bước phân tích CSDL độc lập với các hệ quản trị CSDL, bước này thực hiệncác công việc sau:
+ Xác định các yêu cầu về dữ liệu: Phân tích các yêu cầu dữ liệu của hệthống
+ Mô hình hoá dữ liệu: Xây dựng mô hình thực thể kết hợp [1]
2.1.1.2 Thiết kế cơ sở dữ liệu quan hệ
Thiết kế CSDL bao gồm:
+ Thiết kế logic CSDL: độc lập với một hệ quản trị CSDL
• Xác định các quan hệ: Chuyển từ mô hình thực thể kết hợp sang môhình quan hệ
• Chuẩn hoá các quan hệ: Chuẩn hoá về dạng chuẩn ít nhất là chuẩn 3(3NF)
+ Thiết kế vật lý CSDL: Dựa trên một hệ quản trị CSDL cụ thể
• Xây dựng các bảng trong CSDL quan hệ: Quyết định cấu trúc thực tếcủa các bảng lưu trữ trong mô hình quan hệ
• Hỗ trợ các cài đặt vật lý trong CSDL: Cài đặt chi tiết trongHQTCSDL lựa chọn
Trang 52.1.2 Mô hình thực thể kết hợp
2.1.2.1 Mục đích của việc xây dựng mô hình
Xây dựng mô hình thực thể kết hợp nhằm các mục đích sau:
- Mô tả thế giới thực gần với quan niệm, suy nghĩ của ta
- Việc xây dựng mô hình nhằm thành lập một biểu đồ cấu trúc dữ liệu baogồm dữ liệu cần xử lý và cấu trúc nội tại của nó
- Thuộc tính của thực thể:
Để mô tả thông tin về một thực thể người ta thường dựa vào các đặctrưng riêng của thực thể đó Các đặc trưng đó được gọi là thuộc tính của thực thể
Thuộc tính của thực thể bao gồm các loại sau:
Thuộc tính định danh (còn gọi là định danh thực thể, đôi khi
còn gọi là thuộc tính khóa): Là một hoặc một số thuộc tính mà giá trị của nó chophép phân biệt các thực thể khác nhau Một thực thể bao giờ cũng được xác địnhmột thuộc tính định danh làm cơ sở để phân biệt các thể hiện cụ thể của nó
Thuộc tính mô tả: Là các thuộc tính mà giá trị của chúng chỉ có
tính mô tả cho thực thể hay kết hợp mà thôi Hầu hết các thuộc tính trong một kiểuthực thể đều là mô tả
Trang 6Có ba kiểu kết hợp: (1 – 1 ), ( 1 – n ), (n – n ).
2.1.2.3 Xây dựng mô hình thực thể kết hợp của hệ thống
Bước 1: Xác định và định danh thực thể phải thoả mãn:
- Tên gọi là danh từ
- Có nhiều thể hiện
- Có duy nhất một định danh
- Có ít nhất một thuộc tính mô tả
Bước 2: Xác định các thuộc tính mô tả cho các thực thể cần chú ý rằng:
- Mỗi thuộc tính chỉ xuất hiện một lần trong thực thể tương ứng
- Nếu không chắc chắn là thuộc tính hay thực thể cần tiếp tục
nghiên cứu và phân tích nó
Bước 3: Xác định mối kết hợp giữa các thực thể theo trình tự sau:
- Vẽ đường kết hợp giữa các thực thể
- Xác định loại kiểu kết hợp (1-1, 1-N, N-N)
Bước 4: Áp dụng các quy tắc chuẩn hóa để có một hình hợp lý.
2.1.3 Mô hình quan hệ
2.1.3.1 Khái niệm về mô hình quan hệ
- Các thành phần trong mô hình quan hệ gồm: Các quan hệ - các bộ
- các thuộc tính
- Tương ứng với các thành phần trong mô hình thực thể kết hợp là:
Các thực thể - các thể hiện của thực thể – các thuộc tính
- Mô hình thực thể kết hợp => Mô hình quan hệ => Các bảng trong
hệ quản trị cơ sở dữ liệu
- So sánh tương ứng giữa mô hình thực thể kết hợp, mô hình quan
hệ và hệ quản trị CSDL chúng ta có bảng sau:
Trang 7Bảng 2.1: So sánh sự tương ứng giữa mô hình và các bảng trong HQTCSDL
2.1.3.2 Khái niệm về khóa
Khóa chính:
Khóa chính của một quan hệ (Primary Key-PK) là một hoặc mộtnhóm thuộc tính xác định duy nhất một bộ trong quan hệ Khóa chính của quan hệ
là định danh của thực thể tương ứng
Khi chọn khóa chính cần phải xem xét các tiêu chuẩn sau: Khóachính phải xác định được duy nhất một bộ trong quan hệ, phải có số thuộc tính ítnhất, phải không thay đổi theo thời gian [2]
Khóa ghép:
Khóa ghép là khóa có từ hai thuộc tính trở lên
Khóa ngoại:
Một khóa ngoại được sử dụng để thiết lập một mối quan hệ Đó
là thuộc tính mô tả của quan hệ này nhưng đồng thời lại là thuộc tính khóa trongquan hệ khác
Khóa giả:
Là thuộc tính do con người đặt ra để làm khóa chính Thuộc tínhnày không mô tả đặc điểm của các đối tượng quan tâm mà chỉ có tác dụng để xácđịnh duy nhất đối tượng đó
Các ràng buộc trong mô hình quan hệ là:
- Ràng buộc thực thể: Là một ràng buộc trên khóa chính Nó yêucầu khóa chính phải tối thiểu, xác định duy nhất và không null
Trang 8- Ràng buộc tham chiếu (ràng buộc khóa ngoại): Liên quan đếntính toàn vẹn của mối quan hệ tức là liên quan đến tính toàn vẹn của khóa ngoại.Một ràng buộc tham chiếu yêu cầu một giá trị khóa ngoại trong một quan hệ cầnphải tồn tại là một giá trị khóa chính trong một quan hệ khác hoặc là giá trị null.
- Các ràng buộc được định nghĩa bởi người dùng: Đây là cácràng buộc liên quan đến miền giá trị của dữ liệu thực tế [2]
2.2 Tổng quan về lập trình ứng dụng Web trong ASP.NET
2.2.1 Tìm hiểu các mô hình ứng dụng
2.2.1.1 Mô hình ứng dụng 2 tầng
Đây là một dạng mô hình đơn giản, khá phổ biến của một ứng dụng phântán Trong mô hình này, việc xử lý dữ liệu được thực hiện trên CSDL, việc nhận vàhiển thị dữ liệu được thực hiện ở màn hình
Hình 2.1.: Mô hình 2 tầng
Ưu điểm:
- Dữ liệu tập trung đảm bảo dữ liệu được nhất quán
- Dữ liệu được chia sẻ cho nhiều người dùng
Khuyết điểm:
Cơ sở dữ liệu
Màn hình
Người dùng
Trang 9- Các xử lý tra cứu và cập nhật dữ liệu được thực hiện ở cơ sở dữ liệu,việc nhận kết quả và hiển thị phải được thực hiện ở màn hình khó khăn trong vấn
lý phức tạp, số người dùng tăng, mô hình 2 tầng không thể đáp ứng được
Mô hình 3 tầng sử dụng thêm tầng nghiệp vụ giữ nhiệm vụ tương tác giữagiao diện và cơ sở dữ liệu, giảm bớt các xử lý trên cơ sở dữ liệu, tập trung các xử lýnhận và hiển thị dữ liệu tại tầng nghiệp vụ
- Làm nhiệm vụ trình bày, hiển thị
- Tương tác với người sử dụng
Tầng nghiệp vụ:
- Thực hiện các chức năng nghiệp vụ
- Chứa các xử lý chính
Tầng dữ liệu:
- Làm nhiệm vụ lưu trữ dữ liệu
- Cho phép tầng nghiệp vụ có thể tương tác với cơ sở dữ liệu
Trang 10Người dùng
Tầng giao diện Tầng nghiệp vụ Tầng dữ liệu
Cơ sở dữ liệuHình 2.2: Mô hình 3 tầng
- Phải sử dụng thêm một tầng nghiệp vụ tăng chi phí
- Việc phát triển ứng dụng phức tạp hơn
2.2.2 Tìm hiểu về ASP.NET
2.2.2.1 Những ưu điểm của ASP.Net
Trang 11- ASP.Net cho phép bạn lựa chọn một trong các ngôn ngữ lập trình màbạn yêu thích: Visual Basic.Net, J#, C#,…
- Trang ASP.Net được biên dịch trước Thay vì phải đọc và thông dịchmỗi khi trang web được yêu cầu, ASP.Net biên dịch những trang web động thànhnhững tập tin DLL mà Server có thể thi hành nhanh chóng và hiệu quả Yếu tố này
là một bước nhảy vọt đáng kể so với kỹ thuật thông dịch của ASP
Hình 2.3: Quá trình thông dịch ASP.Net
- ASP.Net hỗ trợ mạnh mẽ bộ thư viện phong phú và đa dạng của NetFramework, làm việc với XML, Web Server, truy cập cơ sở dữ liệu qua ADO.Net,
…
- ASP.Net sử dụng phong cách lập trình mới: Code behide Tách coderiêng, giao diện riêng dễ đọc, dễ quản lý và bảo trì
- Kiến thức lập trình giống ứng dụng trên Windows
- Hỗ trợ quản lý trạng thái của các control
- Tự động phát sinh mã HTML cho các Server Control tương ứng vớitừng loại Browser
- Triển khai cài đặt
+ Không cần lock, không cần đăng ký DLL
+ Cho phép nhiều hình thức cấu hình ứng dụng
- Hỗ trợ quản lý ứng dụng ở mức toàn cục
+ Global.aspx có nhiều sự kiện hơn
+ Quản lý session trên nhiều Server, không cần Cookies
2.2.2.2 Quá trình xử lý tập tin ASPX
Trang 12Khi Web Server nhận được yêu cầu từ phía client, nó sẽ tìm kiếm tậptin được yêu cầu thông qua chuỗi URL được gởi về, sau đó tiến hành xử lý theo
sơ đồ sau:
Hình 2.4: Quá trình xử lý tập tin ASPX
Chương 3: PHÂN TÍCH – THIẾT KẾ HỆ THỐNG 3.1 Yêu cầu chức năng
3.1.1 Yêu cầu lưu trữ
Trang 13- Lưu trữ thông tin người dùng khi đăng ký thành viên, Admin cập nhậtthông tin người dùng.
- Lưu nội dung bài đăng tin nhà đất của thành viên
- Lưu nội dung khi tạo mới, cập nhật một tin tức
- Lưu lại nội dung của một banner quảng cáo khi được thêm hay cập nhật
- Lưu lại nội dung khi Admin tạo mới, cập nhật một danh mục
- Lưu lại nội dung khi Admin tạo mới, cập nhật một huyện
- Lưu lại nội dung khi Admin tạo mới, cập nhật một xã
- Lưu lại nội dung của một biểu mẫu khi admin thêm, cập nhật
3.1.2 Yêu cầu tra cứu
Tra cứu thông tin nhà đất cho người dùng theo các tiêu chí:
- Nhu cầu và xem thông tin của nhà đất tuơng ứng
- Phân loại nhà đất, xem thông tin của nhà đất theo phân loại
- Giá và xem thông tin của nhà đất theo giá cả
- Hướng và xem thông tin nhà đất theo hướng
- Khu vực và xem thông tin nhà đất theo khu vực
3.2 Yêu cầu phi chức năng
3.2.1 Yêu cầu về mô hình và ngôn ngữ xây dựng phần mềm
- Sử dụng mô hình ba tầng, ngôn ngữ lập trình C# trong môi trườngASP.NET
- Sử dụng SQL server 2005 và Visual Studio 2008
3.2.2 Yêu cầu về giao diện người dùng
- Giao diện thân thiện, bố trí hợp lý, phù hợp với các thao tác của người sửdụng Đảm bảo giúp người sử dụng thao tác nhanh và chính xác Giúp Admin dễdàng quản lý Website
Trang 141 Người dùng NGUOIDUNG Chứa thông tin của người dùng
Trang 15khi đăng ký là thành viên củaWebsite.
nhà đất và tin tức
3 Chi tiết bài viết CHITIET_BV Chứa nội dung chi tiết của một
bài viết
5 Nhà đất NHADAT đất khi được người dùng đăng tin.Chứa một thông tin của một nhà
6 Banner Quảng cáo BANNER_QUANGCAO được người dùng đặt quảng cáo.Chứa thông tin của một banner
thuộc tỉnh Trà Vinh
huyện nào đóBảng 3.1: Danh sách các thực thể có mối kết hợp
ST
2 Liên hệ LIENHE dùng đến quản trị.Chứa thông tin liên hệ của người
3 Giới thiệu GIOITHIEU Chứa thông tin giới thiệu của
Website
Bảng 3.2: Danh sách các thực thể độc lập
Danh sách các mối kết hợp
Trang 16BAIVIET danh mục nào.
CHITIET_BV
Chi tiết của bàiviết
bài viết nào
-BAIVIET
Thành viên đăng bài viết
5 Thuộc huyện THUOC_HUYEN HUYEN – NHADAT Nhà đất thì
thuộc huyện nào
xã nào
huyện nào
8 Đặt quảng cáo DAT_BN
_QUANGCAO NGUOIDUNGBANNER_QUANGCAO– Thành viên đặtbanner quảng
cáoBảng 3.3: Danh sách mối kết hợp
3.3.1.3 Bảng mô tả các thực thể, mối kết hợp
Mô tả thực thể
P: primary key
Thực thể: NGUOIDUNG
Bảng 3.4: Mô tả Thực thể NGUOIDUNG
Thực thể: BANNER_QUANGCAO
Trang 17STT Thuộc tính Diễn giải Kiểu dữ liệu Ràng buộc
4 HinhDaiDien Hình của Banner Characters(256) Not null
5 Kieu_BN Kiểu của banner (trái, phải,
7 KichHoat Banner được bật hoặc
Bảng 3.5: Mô tả thực thể BANNER_QUANGCAO
Thực thể: DANHMUC
Kiểu của danh mục (cầnmua, cần bán, cần thuê,cho thuê)
4 HinhDaiDien Hình đại diện của danh
Bảng 3.6: Mô tả thực thể DANHMUC
Thực thể : BAIVIET
Trang 183 NgayCapNhat Ngày cập nhật của bài viết DateTime dd/mm/yyyy
5 Loai_BV Loại của bài viết (Tin thiết
6 HinhDaiDien Hình đại diện ảnh của tin Characters(256) Not null
7 Kieu_BV Bài viết đó là (tin mới hay,
8 KichHoat Bài viết được kích hoạt hoặc
Bảng 3.7: Mô tả thực thể BAIVIET
Thực thể : CHITIET_BV ST
3 TieuDe_BV Tiêu đề của bài viết Characters(256) Not null
4 NoiDung_BV Nội dung mô tả của bài viết Text Not null
Bảng 3.8: Mô tả thực thể CHITIET_BV
Thực thể : NHADAT
5 DienTich_XD Diện tích xây dựng nhà đất Float Not null
Trang 196 Gia Giá của nhà đất Float Not null
10 NhuCau Nhu cầu của chủ nhà đất Characters(256) Not null
Bảng 3.9: Mô tả thực thể NHADAT
Thực thể: HUYEN
3 KichHoat Kích hoạt cho một huyện
Bảng 3.10: Mô tả thực thể HUYEN
Thực thể: XA
3 KichHoat Kích hoạt cho một xã
Bảng 3.11: Mô tả thực thể XA
Thực thể: TAI_BIEUMAU
3 DuongDan Đường dẫn để download tài
4 KichHoat Bài viết được kích hoạt Boolean True/False
Trang 20hoặc khôngBảng 3.12: Mô tả thực thể TAI_BIEUMAU
Thực thể: GIOITHIEU
2 Ten_WebSite Tên của Website Characters(256) Not null
3 DiaChi Địa chỉ của Website Characters(256) Not null
5 SDT Số điện thoại liên lạc đến
quản trị Website Characters(256) Not null
6 Email Email liên hệ đến quản trị
Bảng 3.13: Mô tả thực thể GIOITHIEU
Thực thể: THONGKE
2 Thoigian Thời gian lúc truy cập DateTime
3 SoLan Số lần viếng thăm Website Integer
Bảng 3.14: Mô tả thực thể THONGKE
Thực thể: LIENHE
2 Email Email người gửi liên hệ Characters(256) Not null
3 TenNguoiGui Tên người gửi liên hệ Characters(256) Not null
4 SDT Số điện thoại người gửi Characters(256) Not null
6 NoiDung Nội dung của liên hệ Characters(256) Not null
Trang 21Bảng 3.15: Mô tả thực thể LIENHE
Mô tả chi tiết các mối kết hợp
- Trong mối kết hợp “THUOC” giữa thực thể DANHMUC và thực thểBAIVIET:
+ DANHMUC (1, n): Một danh mục chứa nhiều bài viết
+ BAIVIET (1, 1): Một bài viết chỉ thuộc một danh mục
- Trong mối kết hợp “KET_HOP” giữa thực thể BAIVIET và thực thểCHITIET_BV:
+ BAIVIET (1, 1): Một bài viết thì có một chi tiết của bài đó
+ CHITIET_BV (1, 1): Một chi tiết bài viết chỉ thuộc một bài viết
- Trong mối kết hợp “CUA” giữa thực thể BAIVIET và thực thểNHADAT:
+ BAIVIET (1, 1): Một bài viết là của một nhà đất được đăng
+ NHADAT (1, 1): Một nhà đất là của một bài viết
- Trong mối kết hợp “DANGBAI” giữa thực thể NGUOIDUNG vàthực thể BAIVIET:
+ NGUOIDUNG (1, n): Một người dùng có thể đăng được nhiều bàiviết
+ BAIVIET (1, 1): Một bài viết thì được đăng bởi một người dùng
- Trong mối kết hợp “DAT_BN_QUANGCAO” giữa thực thểNGUOIDUNG và thực thể BANNER_QUANGCAO:
+ NGUOIDUNG (1, n): Một người có thể đặt được nhiều quảng cáo.+ BANNER_QUANGCAO (1, 1): Một quảng cáo thì được đăng bởimột người nào đó
- Trong mối kết hợp “THUOC_HUYEN” giữa thực thể NHADAT vàthực thể HUYỆN:
Trang 22+ NHADAT (1, 1): Một nhà đất thì thuộc một huyện nào đó
+ HUYỆN (1, n): Một huyện thì có nhiều nhà đất
- Trong mối kết hợp “THUOC_XA” giữa thực thể NHADAT và thựcthể XA:
+ NHADAT (1, 1): Một nhà đất thì thuộc một xã nào đó
+ XA (1, n): Một xã thì có nhiều nhà đất
- Trong mối kết hợp “CUA_HUYEN” giữa thực thể HUYEN và thựcthể XA:
+ HUYEN (1, n): Một huyện có nhiều xã
+ XA (1, 1): Một xã thì chỉ của một huyện nào đó
3.3.2 Mô hình vật lý (MLD)
3.3.2.1 Mô hình
Trang 23Hình 3.2: Mô hình MLD
Các bảng có quan hệ với bảng khác
NGUOIDUNG (TenDangNhap, SDT, DiaChi, ThuTu, NgheNghiep)
BANNER_QUANGCAO (Ma_BN, TenDangNhap, Ten_BN,
URL, HinhDaiDien, Kieu_BN, ThuTu, KichHoat)
DANHMUC (Ma_DM, Ten_DM, HinhDaiDien, ThuTu, Kieu_DM)
Trang 24BAIVIET ( Ma_BV, Ma_DM, TenDangNhap, NgayTao,
NgayCapNhat, ThuTu, Loai_BV, Kieu_BV, KichHoat, HinhDaiDien)
CHITIET_BV ( Ma_CTBV, Ma_BV, Ten_BV, TieuDe_BV,
NoiDung_BV)
NHADAT ( Ma_ND, Ma_BV, MaHuyen, MaXa, ChieuRong,
ChieuDai, DienTich, DienTich_XD, Gia, Huong, GiayTo, KieuGia, NhuCau)
HUYEN ( MaHuyen, TenHuyen, KichHoat)
XA ( MaXa, MaHuyen, TenXa, KichHoat).
Các bảng độc lập
TAI_BIEUMAU (STT_BM, Ten_BM, DuongDan)
GIOITHIEU (STT_GT, Ten_WebSite, DiaChi, ThongTin_GT, SDT, Email)
THONGKE (Ma_TK, Thoigian, SoLan)
LIENHE (STT_LH, Email, TenNguoiGui, SDT, TieuDe, NoiDung ).3.3.2.2 Danh sách các bảng
ST
T
dùng khi đăng ký là thành viêncủa Website
về tin nhà đất và tin tức
3 Chi tiết bài viết CHITIET_BV Chứa nội dung chi tiết của
một bài viết
tin đăng nhà đất
6 Banner Quảng
cáo BANNER_QUANGCAO banner được đặt quảng cáo.Chứa thông tin của một
huyện thuộc tỉnh Trà Vinh
Trang 258 Xã XA Chứa thông tin của một xã
thuộc huyện nào đó
Bảng 3.16: Danh sách các bảng có quan hệ
3 Liên hệ LIENHE Chứa thông tin liên hệ của người
dùng đến quản trị
4 Giới thiệu GIOITHIEU Chứa thông tin giới thiệu của một
Website
Bảng 3.17: Danh sách các bảng độc lập3.3.2.3 Mô tả chi tiết các bảng
- P: primary key
- FK: Foreign Key
Bảng: NGUOIDUNG
Bảng 3.18: Mô tả bảng NGUOIDUNG
Bảng: BANNER_QUANGCAO
Trang 263 URL URL của banner Characters(256) Not null
4 HinhDaiDien Hình của Banner Characters(256) Not null
5 Kieu_BN Kiểu của banner (trái, phải,
7 KichHoat Banner được bật hoặc
8 TenDangNhap Tên của người dùng đặt
Bảng 3.19: Mô tả bảng BANNER_QUANGCAO
Bảng: DANHMUC
Kiểu của danh mục (cầnmua, cần bán, cần thuê,cho thuê)
4 HinhDaiDien Hình đại diện của danh
Bảng 3.20: Mô tả bảng DANHMUC
Bảng : BAIVIET
3 NgayCapNhat Ngày cập nhật của bài viết DateTime dd/mm/yyyy
Trang 274 ThuTu Thứ tự sắp xếp của bài viết Integer Not null
5 Loai_BV Loại của bài viết (Tin thiết
6 HinhDaiDien Hình đại diện ảnh của tin Characters(256) Not null
7 Kieu_BV Bài viết đó là (tin mới hay
8 KichHoat Bài viết được kích hoạt
3 TieuDe_BV Tiêu đề của bài viết Characters(256) Not null
4 NoiDung_BV Nội dung mô tả của bài viết Text Not null
5 Ma_BV Chi tiết này là của bài viết
Bảng 3.22: Mô tả bảng CHITIET_BV
Bảng: NHADAT
Trang 282 ChieuRong Chiều rộng của nhà đất Float Not null
5 DienTich_XD Diện tích xây dựng nhà đất Float Not null
10 NhuCau Nhu cầu của chủ nhà đất Characters(256) Not null
11 Ma_BV Nhà đất này trong bài viết
Bảng 3.23: Mô tả bảng NHADAT
Bảng: HUYEN
3 KichHoat Kích hoạt cho một huyện
Bảng 3.24: Mô tả bảng HUYEN
Bảng: XA
3 KichHoat Kích hoạt cho một xã
Trang 294 Mahuyen Mã của huyện mà xã
Bảng 3.25: Mô tả bảng XA
Bảng: TAI_BIEUMAU
3 DuongDan Đường dẫn để download tài
4 KichHoat Bài viết được kích hoạt
Bảng 3.26: Mô tả bảng TAI_BIEUMAU
Bảng: THONGKE
2 Thoigian Thời gian lúc truy cập DateTime
3 SoLan Số lần viếng thăm Website Integer
Bảng 3.27: Mô tả bảng THONGKE
Bảng: GIOITHIEU
2 Ten_WebSite Tên của Website Characters(256) Not null
3 DiaChi Địa chỉ của Website Characters(256) Not null
Trang 305 SDT Số điện thoại liên lạc đến
quản trị Website Characters(256) Not null
6 Email Email liên hệ đến quản trị
Bảng 3.28: Mô tả bảng GIOITHIEU
Bảng: LIENHE
2 Email Email người gửi liên hệ Characters(256) Not null
3 TenNguoiGui Tên người gửi liên hệ Characters(256) Not null
4 SDT Số điện thoại người gửi Characters(256) Not null
6 NoiDung Nội dung của liên hệ Characters(256) Not null
Bảng 3.29: Mô tả bảng LIENHE3.3.3 Ràng buộc toàn vẹn
3.3.3.1 Ràng buộc toàn vẹn có bối cảnh là 1 quan hệ
Quy ước:
- [+]: Có thể vi phạm RBTV
- [-]: Không thể vi phạm RBTV
- [+(A)]: Có thể vi phạm RBTV khi thao tác trên thuộc tính A
Bối cảnh: Người dùng (NGUOIDUNG)
Mô tả: Tên đăng nhập không được trùng
Trang 31Bảng tầm ảnh hưởng
Bảng 3.30: Ràng buộc trên NGUOIDUNG
Bối cảnh: Quảng cáo (BANNER_QUANGCAO)
Mô tả: Vị trí đặt banner thuộc phải thuộc các vị trí (Trên, dưới, trái, phải )
Bảng 3.31: Ràng buộc trên bảng BANNER_QUANGCAO với Kieu_BN
Bối cảnh: Quảng cáo (BANNER_QUANGCAO)
Mô tả: Quảng cáo được kích hoạt True hoặc False
Bảng tầm ảnh hưởng
Bảng 3.32: Ràng buộc trên bảng BANNER_QUANGCAO với KichHoat
Bối cảnh: Danh mục (DANHMUC)
Mô tả: Danh mục nhà đất phải thuộc các loại (Cần mua, cần bán, cần thuê, cần
cho thuê)
Trang 32Bảng tầm ảnh hưởng
Bảng 3.33: Ràng buộc trên bảng DANHMUC với Kieu_DM
Bối cảnh: Bài viết (BAIVIET)
Mô tả: Bài viết phải thuộc các loại (Tin mới, tin nổi bật)
Bảng tầm ảnh hưởng
Bảng 3.34: Ràng buộc trên bảng BAIVIET với Kieu_BV
Bối cảnh: Bài viết (BAIVIET)
Mô tả: Bài viết được kích hoạt True hoặc False
Bảng tầm ảnh hưởng
Bảng 3.35: Ràng buộc trên bảng BAIVIET với KichHoat
Bối cảnh: Huyện (HUYEN)
Mô tả: Huyện được kích hoạt True hoặc False
Trang 33Bối cảnh: Thành viên(NGUOIDUNG), quảng cáo (QUANGCAO)
Mô tả: Một quảng cáo phải được tạo bởi một thành viên
Bảng 3.38: Ràng buộc trên bảng NGUOIDUNG và bảng BANNER_QUANGCAO
Bối cảnh: Thành viên(NGUOIDUNG), bài viết (BAIVIET)
Mô tả: Một bài viết phải được tạo bởi một thành viên
Trang 34Bảng tầm ảnh hưởng
Bảng 3.39: Ràng buộc trên bảng NGUOIDUNG và bảng BAIVIET
Bối cảnh: Danh mục (DANHMUC), bài viết (BAIVIET), chi tiết bài viết
Bối cảnh: Xã (XA), huyện (HUYEN), nhà đất (NHADAT)
Mô tả: Một nhà đất thì phải thuộc một xã của một huyện nào đó
Bảng tầm ảnh hưởng
Trang 353.4.1 Mô hình Use case
Hình 3.3: Mô hình Use case3.4.2 Mô tả Use case
Đăng ký thành viên
- Nhập thông tin người dùng (Tên đăng nhập, mật khẩu, số điện thoại, Email,tên, ) Xem lại thông tin và nhấn đăng ký, hệ thống sẽ kiểm tra thông tin, Nếu tên đăngnhập và email vừa nhập đã có trong hệ thống thì yêu cầu bạn nhập lại tên đăng nhập hayemail mới Nếu thông tin hợp lệ thì bạn đã đăng ký thành viên thành công
Trang 36 Đăng nhập
- Người dùng nhập tên đăng nhập và mật khẩu Nếu tài khoản là Admin thìngười dùng đăng nhập thành công vào trang chủ Admin, nếu là thành viên bình thườngthì đăng nhập thành công vào trang người dùng Ngược lại nếu sai tên đăng nhập haymật khẩu thì yêu cầu nhập lại
Lấy lại mật khẩu
- Người dùng nhập tên đăng nhập, nếu là thành viên của Website thì hệ thống
sẽ gửi mật khẩu đến mail của người dùng đã cấp khi đăng ký Ngược lại thì yêu cầu nhậplại đúng tên đăng nhập
Liên hệ
- Người dùng nhập thông tin theo yêu cầu (tên, email, …) và tiêu đề, nội dungcần gửi Admin sẽ gửi phản hồi đến Email của người dùng khi nhận được Email
Tải biểu mẫu
- Chọn biểu mẫu cần tải sau đó lưu biểu mẫu đó lại
Thay đổi mật khẩu
- Người dùng đăng nhập hệ thống, thành viên nhập lại mật khẩu hiện tại vànhập mật khẩu mới Hệ thống sẽ cập nhập lại mật khẩu mới cho thành viên
Đăng tin nhà đất
- Phải đăng nhập thành công vào trang người dùng, thực hiện đăng tin nhà đất
và tin đăng đó sẽ hiển thị sau khi được Admin kiểm duyệt
Đặt banner quảng cáo
- Phải đăng nhập thành công vào trang người dùng Nhập nội dung bannerquảng cáo muốn đăng Chờ Admin duyệt và hiển thị banner sang trang người dùng
Trang 37 Quản lý tin đăng
- Admin quản lý tin đăng như xem tin, thêm tin, xóa tin, cập nhật thuộc tính (tinmới, tin nổi bật) của tin đăng và cho tin đăng hiển thị sang trang người dùng
Quản lý quảng cáo
- Quản lý thêm mới, sửa, xóa, cập nhật thuộc tính (trái, phải, trên, dưới) củabanner quảng cáo và cho banner hiển thị sang trang người dùng
Quản lý tin tức
- Quản lý thêm, sửa, xóa, cập nhật thuộc tính (tin mới, tin nổi bật) của tin tức vàcho tin tức hiển thị sang trang người dùng
Quản lý biểu mẫu
- Quản lý thêm, sửa, xóa, kích hoạt của biểu mẫu
Quản lý huyện, xã
- Quản lý thêm, sửa, xóa, kích hoạt của huyện, xã
Quản lý liên hệ, giới thiệu
- Quản lý thêm, sửa, xóa thông tin của người gửi liên hệ hay thông tin giớithiệu
3.5 Thiết kế giao diện
3.5.1 Thiết kế hệ thống thực đơn
3.5.1.1 Thực đơn chính trang người dùng
Menu giao diện chính trang người dùng gồm có: Home, Giới thiệu, Nhàđất, Tin tức, Dự án, Phong thủy, Thiết kế, Sản phẩm, Đăng tin, Đặt quảng cáo, Biểumẫu, Đăng ký, Liên hệ
+ Home: Hỗ trợ người dùng quay lại với trang chủ Website
Trang 38+ Giới thiệu: Giúp người dùng gọi đến trang xem thông tin của Website.+ Nhà đất: Giúp người dùng gọi đến trang hiển thị tất cả tin đăng nhà đất.+ Tin tức: Người dùng gọi đến trang tin tức về nhiều lĩnh vực.
+ Phong thủy: Giúp người dùng gọi đến trang tin tức về phong thủy
+ Thiết kế: Giúp người dùng đọc các tin về thiết kế
+ Sản phẩm: Giúp người dùng gọi đến trang tin tức về các dịch vụ sảnphẩm liên quan đến thị trường bất động sản, ví dụ: sắt, thép, xi măng…
+ Đăng tin: Giúp cho người dùng gọi đến trang đăng tin nhà đất khi cần.+ Đặt quảng cáo: Giúp người dùng gọi đến trang đặt banner quảng cáocho công ty, doanh nghiệp của mình
+ Biểu mẫu: Giúp người dùng gọi đến trang download các biễu mẫu, giấy
tờ liên quan đến bất động sản
+ Đăng ký: Mục này giúp người dùng gọi đến trang đăng ký thành viêncủa Website
+ Liên hệ: Giúp người dùng gọi đến trang gửi liên hệ đến Admin
3.5.1.2 Thực đơn chính trang Admin
Menu giao diện chính trang Admin gồm: Quản lý chính, Quản lý phụ
- Quản lý chính gồm có các mục như sau:
+ Thêm User: Gọi đến trang thêm mới người dùng
+ Danh sách User: Gọi đến trang danh sách tất cả thành viên của Website.+ Quản lý tài khoản: gọi đến trang quản lý tài khoản của thành viênWebsite
+ Thêm quảng cáo: Gọi đến trang thêm mới banner quảng cáo
+ Quản lý quảng cáo: Gọi đến trang quản lý các quảng cáo được đặt
+ Thêm danh mục: Gọi đến trang thêm mới danh mục
+ Quản lý danh mục: Gọi đến trang quản lý các danh mục đã được thêm
Trang 39+ Thêm tin tức: Gọi đến trang thêm mới tin tức.
+ Quản lý tin tức: Gọi đến trang quản lý các tin tức được thêm
+ Quản lý tin nhà đất: Gọi đến trang quản lý các tin đăng nhà đất củathành viên
- Quản lý phụ gồm các mục sau:
+ Trang chủ Admin: Quay về màn hình trang chủ Admin
+ Quản lý giới thiệu: Gọi đến trang quản lý thông tin giới thiệu củaWebsite
+ Quản lý liên hệ: Gọi đến trang quản lý các liên hệ của người dùnggửi đến
+ Thêm biểu mẫu: Gọi đến trang thêm mới biểu mẫu
+ Quản lý biểu mẫu: Gọi đến trang quản lý các biễu mẫu được thêm vào.+ Thêm mới huyện: Gọi đến trang thêm mới huyện nào đó khi cần
+ Quản lý huyện: Gọi đến trang quản lý các huyện được thêm
+ Thêm mới xã: Gọi đến trang thêm mới một xã nào đó
+ Quản lý xã: Gọi đến trang quản lý các xã được thêm
Trang 40- Quản lý tài khoản người dùng.
- Danh sách liên hệ
- Danh sách banner quảng cáo
- Thêm mới banner quảng cáo
- Cập nhật banner quảng cáo
- Danh sách bài viết tin tức
- Thêm mới tin tức
- Cập nhật tin tức
- Danh sách tin đăng nhà đất
- Trang xem nội dung tin đăng nhà đất
- Danh sách biểu mẫu
- Thêm mới biểu mẫu
- Trang quản lý nội dung giới thiệu của Website
- Thêm mới giới thiệu