Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 13

PHẦN MỞ ĐẦU

Khi xã hội ngày càng phát triển và dân số đông thì nhu cầu nhà ở ngày càng một tăng cao. Đặc
biệt với nhóm đối tượng sinh viên mới nhập học, sinh viên ra trường, vợ chồng mới kết hôn,
người mới đi làm, công nhân,…thì nhu cầu nhà ở của họ là hết sức cần thiết. Nhưng kinh tế là
một trở ngại lớn khi hầu như họ không đủ khả năng để mua mottj căn hộ bởi giá rất đắt đỏ. Thấy
được tiềm năng đó, người ta đã xây dựng các khu nhà cho thuê với mức giá rẻ, phù hợp hơn để
đáp ứng nhu cầu thị trường.

Thế nhưng xây dựng là một chuyện, quản lý lại là một chuyện phải cân nhắc. Khi số lượng
khách thuê nhà quá đông, thì việc quản lý tất cả thông tin về nhà cho thuê, khách thuê nhà, hợp
đồng cho thuê vậy nên việc thống kê cần được thực hiện một cách nhanh chóng, linh hoạt và chặt
chẽ.

Quản lý bằng sổ sách vẫn khả thi, nhưng hiệu suất không cao nếu ta phải xử lý hàng xấp giấy tờ.
Do đó, cần có một phần mềm để giải quyết vấn đề trên. Giúp chúng ta lưu trữ thông tin an toàn,
lâu dài và tự động hóa tối đa các thao tác so với thực tế như tính toán, thống kê.
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

1.1 Tổng quan về C#:

1.1.1 C# là gì?

- C# (hay C sharp) là một ngôn ngữ lập trình đơn giản, được phát triển bởi đội ngũ kỹ sư của
Microsoft vào năm 2000, trong đó người dẫn đầu là Anders Hejlsberg và Scott Wiltamuth.

- C# là ngôn ngữ lập trình hiện đại, hướng đối tượng và nó được xây dựng trên nền tảng của hai
ngôn ngữ mạnh nhất là C++ và Java.

- C# được thiết kế cho Common Language Infrastructure (CLI), mà gồm Executable Code và
Runtime Environment, cho phép chúng ta sử dụng các ngôn ngữ high-level đa dạng trên các nền
tảng và cấu trúc máy tính khác nhau.

- C# với sự hỗ trợ mạnh mẽ của .NET Framework giúp cho việc tạo một ứng dụng Windows
Forms hay WPF (Windows Presentation Foundation), . . . trở nên rất dễ dàng.

1.1.2 Đặc trưng của C#:

- C# là ngôn ngữ đơn giản

Như ta đã biết thì ngôn ngữ C# dựng trên nền tảng C++ và Java nên ngôn ngữ C# khá đơn giản.
Nếu chúng ta thân thiện với C và C++ hoậc thậm chí là Java, chúng ta sẽ thấy C# khá giống về
diện mạo, cú pháp, biểu thức, toán tử và những chức năng khác được lấy trực tiếp từ ngôn ngữ C
và C++, nhưng nó đã được cải tiến để làm cho ngôn ngữ đơn giản hơn. Một vài trong các sự cải
tiến là loại bỏ các dư thừa, hay là thêm vào những cú pháp thay đổi.

- C# là ngôn ngữ hiện đại

Một vài khái niệm khá mới mẻ khá mơ hồ với các bạn vừa mới học lập trình, như xử lý ngoại lệ,
những kiểu dữ liệu mở rộng, bảo mật mã nguồn...v…v… Đây là những đặc tính được cho là của
một ngôn ngữ hiện đại cần có. Và C# chứa tất cả các đặt tính ta vừa nêu trên. Các bạn sẽ dần tìm
hiểu được các đặt tính trên qua các bài học trong series này.

- C# là một ngôn ngữ lập trình thuần hướng đối tượng


Lập trình hướng đối tượng (tiếng Anh: Object-oriented programming, viết tắt: OOP) là một
phương pháp lập trình có 4 tính chất. Đó là tính trừu tượng (abstraction), tính đóng gói
(encapsulation), tính đa hình (polymorphism) và tính kế thừa (inheritance). C# hỗ trợ cho chúng
ta tất cả những đặc tính trên. Và để hiểu rõ hơn thì chúng ta sẽ có một chương trình bày về phần
này.

- C# là một ngôn ngữ ít từ khóa

C được sử dụng để mô tả là ngôn ngữ sử dụng giới hạn những từ khóa (gồm khoảng 80 từ khóa
và mười mấy kiểu dữ liệu xây dựng sẵn). Nếu bạn nghĩ rằng ngôn ngữ có càng nhiều từ khóa thì
sẽ càng mạnh mẽ hơn. Điều này không phải sự thật, lấy ví dụ ngôn ngữ C# làm điển hình nhé.
Nếu bạn học sâu về C# bạn sẽ thấy rằng ngôn ngữ này có thể được sử dụng để làm bất cứ nhiệm
vụ nào.

Ngoài những đặc điểm trên thì còn một số ưu điểm nổi bật của C#:

- C# có cấu trúc khá gần gũi với các ngôn ngữ lập trình truyền thống, nên cũng khá dể dàng tiếp
cận và học nhanh với C#.

- C# có thể biên dịch trên nhiều nền tảng máy tính khác nhau.

- C# được xây dựng trên nền tảng của C++ và Java nên nó được thừa hưởng những ưu điểm của
ngôn ngữ đó.

- C# là một phần của .NET Framework nên được sự chống lưng khá lớn đến từ bộ phận này.

- C# có IDE Visual Studio cùng nhiều plug-in vô cùng mạnh mẽ.

1.1.3 Tạo các ứng dụng .Net bằng C#:

a, Tạo các ứng dụng APS.NET:

- Các đặc tính:

- APS là 1 công nghệ của Microsoft dừng để tạo các trang web có nội dung động

- APS.NET là 1 phiên bản mới của APS đã cải tiến rất nhiều thiếu sót của nó. Nó không chỉ thay
thế APS, hơn nữa các trang APS.NET có thể sống chung với các ứng dụng APS trên cùng 1 máy
chủ. Tất nhiên có thể lập trình APS.NET với C#.

- Web Forms
Để dễ dàng cho việc tạo các trang có cấu trúc, VS.NET cung cấp webforms. Chúng cho phép tạ
các trang APS.NET sinh động như cách mà VB6 hay C# Builder Windows đã làm. Ta có thể
dung C# hay VB.NET để mở rộng hộp công cụ web form. Vieejv tạo 1 server-side control mới
đơn giản là thực thi lớp .NET System Web. UI Webcontrols. WebControl

- Web Servers

Web Services trong .NET là một APS.NET theo định dạng XML thay vì theo định dạng HTML
để yêu cầu các client. Các trang này có 1 code behind DLL chứa các lớp xuất phát từ Web
Services. VS.NET cung cấp một cơ chế để tiện cho việc phát triển Web Services.

b, Tạo các Windowns Form

- Windowns Control

Mặc dù Web Forms và Windowns Forms được phát triển theo cùng một cách, ta dung các loại
khác nhau của controls để định vị chúng. Web Forms dùng Web Controls, Windowns Forms
dùng Windowns Controls

Một Windowns Control là một ActiveX control. Đằng sau sự thực thi của một Windown control
là sự biên dịch sang một DLL để có thể cài đặt trên máy khách. Thật vậy, .NET SDK cung cấp
một tiện ích dùng ddeeer tạo một vỏ bọc cho các ActiveX control, vì thế chúng có thể được cài
đặt trong Windowns 8 Forms. Giống trường hợp này các Web Control, Windowns Control được
tạo thành từ một lớp khác System. Windowns Forms Control

- Windowns Servers

Một Windowns Servers là một chương trình được thiết kế để chạy trên nền Windowns
NT/2000/XP. Các dịch vụ này rất hữu ích khi ta muốn một chương trình có thể chạy liên tục và
sẵn sàng đáp ứng các sự kiện mad không cần người dùng phải khởi động. Ví dụ như một World
Wide Web Service ở trên các Web Server luôn lắng nghe các yêu cầu từ khách.

1.1.4 Cơ bản về C#:

Những kiến thức cơ bản:

- Khai báo biến

- Khởi tạo và phạm vi hoạt động của biến


- Cách sử dụng các câu lặp và câu lệnh

- Gọi và hiển thị lớp và phương thức

- Cách sử dụng mảng

- Toán tử

- An toàn kiểu và cách để chuyến các kiểu dữ liệu

- Enumeration - Namespaces - Phương thức của hàm Main ()

- Cơ bản trình phiên dịch dòng lệnh trong C#

- Using System Console để thực hiện I/O

- Sử dụng chú thích trong C# và Visual Studio .NET

- Các định danh và từ khóa trong C#

1.2 Cơ sở lý thuyết về phân tích thiết kế hệ thống.

Phân tích hệ thống là bước cơ bản quan trọng trong quá trình xây dựng triển khai một hệ thống
quản lý thông tin trên máy tính. Hiệu quả của hệ thống phụ thuộc vào kết quả phân tích ban đầu.
Nếu phân tích thiết kế hệ thống tốt thì sản phẩm là chương trình quản lý sẽ được triển khai đúng
mục đích, đúng đối tượng và có hiệu quả sử dụng cao hơn. Hơn nữa, chương trình sẽ sáng sủa
hơn, dễ hiểu, dễ bảo trì, giúp cho ta nhẹ được các chi phí phần mềm. Với hệ thống này, tiến hành
theo hướng phân tích từ trên xuống (phân tích Top-Down), phân rã hệ thống từ tổng thể đến chi
tiết, từng bước phân hoá các chức năng của hệ thống thành những chức năng nhỏ hơn và tiến tới
xây dựng các modul chương trình nhằm xây dựng chương trình một cách hiệu quả.

Sau khi tiến hành khảo sát hoạt động của chương trình Quản lý nhà cho thuê trong thực tế, mô
hình mới được đưa ra với các chức năng xử lý được phân rã thành các chức năng nhỏ như sau:

- Quản lý nhà cho thuê


- Quản lý khách thuê nhà
- - Quản lý hợp đồng.
- => Giúp nhà trọ quản lý được tình trạng phòng thuê.
- Cập nhật, thêm, xóa, sửa, tra cứu các thông tin về khách hàng.
1.2.1 Khái niệm.
Phân tích hệ thống là một công cụ và kỹ thuật hiện đại cho phép tiếp cận, tổ chức và thiết kế hệ
thống thông tin một cách hiệu quả.

1.2.2 Mục đích.

Phân tích hệ thống nhằm mục đích thực hiện tốt các công việc nhất định.

Trong quá trình phân tích hệ thống, việc tạo ra sơ đồ dòng dữ liệu đầy đủ là một trong những
công việc quan trọng nhất. Nó cung cấp cho ta một phương pháp thiết lập mối quan hệ giữa các
chức năng hệ thống với thông tin mà hệ thống sử dụng.

1.2.3 Phương pháp.

- Giai đoạn 1: Xác định vấn đề cơ bản và tính khả thi của dự án: Cần trả lời các câu hỏi như:
“Có nên thực hiện không?; Mức độ chi phí bao nhiêu?; Quy mô đến đâu?…”Cần đưa ra các lập
luận để làm xuất hiện mục tiêu của đề án cuối cùng nếu chấp nhận dự án thì phải vạch kế hoạch
cho giai đoạn 2.

- Giai đoạn 2: Phân tích hệ thống: Giai đoạn này ta mô tả hệ thống ở mức khái niệm phân tích
sâu sắc hơn các chức năng, dữ liệu của hệ thống cũ (trả lời các câu hỏi là gì?; làm gì?) sau đó đưa
ra mô tả khái niệm cho hệ thống mới.. Khi phân tích dùng các biểu đồ (chức năng nghiệp vụ,
luồng dữ liệu, mô hình dữ liệu)

- Giai đoạn 3: Thiết kế đại thể: Trên cơ sở mô hình khái niệm ở GĐ 2 ta mô tả hệ thống ở mức
vật lý, trả lời các câu hỏi làm thế nào? Xác định các hệ thống con, vai trò của máy tính…

- Giai đoạn 4: Thiết kế chi tiết bao gồm:

 Thiết kế cơ sở dữ liệu

 Thiết kế các thủ tục, các mô đun xử lý

 Thiết kế các chức năng chương trình

 Thiết kế các mẫu thử

 Thiết kế giao diện

 Thiết kế các kiểm soát

- Giai đoạn 5: Cài đặt chương trình.


- Giai đoạn 6: Khai thác và bảo trì.

1.3 Cơ sở lý thuyết về cơ sở dữ liệu:

Khái niệm cơ sở dữ liệu:

Cơ sở dữ liệu là một bộ sưu tập rất lớn về các loại dữ liệu tác nghiệp, bao gồm các loại dữ liệu
âm thanh, tiếng nói, chữ viết, văn bản, đồ hoạ, hình ảnh tĩnh hay hình ảnh 10 động... Được mã
hoá dưới dạng các chuỗi bít và được lưu trữ dưới dạng File dữ liệu trong các bộ nhớ của máy
tính. Cấu trúc dữ liệu tuân theo các quy tắc dựa trên lý thuyết toán học. Cơ sở dữ liệu phản ánh
trung thực thế giới dữ liệu hiện thực khách quan. Cơ sở dữ liệu là tài nguyên thông tin dùng
chung cho nhiều người:

Cơ sở dữ liệu (CSDL) là tài nguyên thông tin chung cho nhiều người cùng sử dụng. Bất kỳ
người sử dụng nào trên mạng máy tính, tại các thiết bị đầu cuối, về nguyên tắc có quyền truy
nhập khai thác toàn bộ hay một phần dữ liệu theo chế độ trực tuyến hay tương tác mà không phụ
thuộc vào vị trí địa lý của người sử dụng với các tài nguyên đó. CSDL được các hệ ứng dụng
khai thác bằng ngôn ngữ con dữ liệu hoặc bằng các chương trình ứng dụng để xử lý, tìm kiếm,
tra cứu, sửa đổi, bổ sung hay loại bỏ dữ liệu. Tìm kiếm và tra cứu thông tin là một trong những
chức năng quan trọng và phổ biến nhất của các dịch vụ CSDL.

Đối tượng nghiên cứu của CSDL là các thực thể và mối quan hệ giữa các thực thể. Thực thể và
mối quan hệ giữa các thực thể là hai đối tượng khác nhau về căn bản. Mối quan hệ giữa các thực
thể cũng là một loại thực thể đặc biệt. Trong cách tiếp cận CSDL quan hệ, người ta dựa trên lý
thuyết đại số quan hệ để xây dựng các hệ chuẩn, khi kết nối không tổn thất thông tin và khi biểu
diễn dữ liệu là duy nhất. Dữ liệu được lưu trữ trong bộ nhớ của máy tính không những phải tính
đến yếu tố về tối ưu không gian lưu trữ, mà phải đảm bảo tính khách quan, trung thực của dữ liệu
hiện thực. Nghĩa là phải đảm bảo tính nhất quán của dữ liệu và giữ được sự toàn vẹn của dữ liệu.

1.3.1 Khái niệm Hệ quản trị cơ sở dữ liệu:

Hệ quản trị CSDL là phần mềm điều khiển các chiến lược truy nhập CSDL. Khi người sử dụng
đưa ra yêu cầu truy nhập bằng ngôn ngữ con dữ liệu nào đó, hệ quản trị cơ sở dữ liệu tiếp nhận
và thực hiện các thao tác trên CSDL lưu trữ. Hệ quản trị cơ sở dữ liệu rất quan trọng nó như 1 bộ
diễn dịch với ngôn ngữ bậc cao nhằm giúp người sử dụng có thể dùng được hệ thống mà ít nhiều
không cần quan tâm đến thuật toán chi tiết hoặc biểu diễn ở trong máy.
1.3.2 Chức năng của hệ quản trị cơ sở dữ liêu:

- Thiết kế CSDL bao gồm:

- Khai báo

- Định nghĩa

- Nạp dữ liệu

- Cập nhật dữ liệu:

- Tìm kiếm thông tin CSDL

- Kiết xuất thông tin theo yêu cầu

CHƯƠNG 2: ĐẶC TẢ PHẦN MỀM

1 Giới thiệu:
1.1 Mục đích của tài liệu đặc tả:
Thiết kế cơ sở dữ liệu quản lý nhà cho thuê đã trở thành công cụ hỗ trợ đắc lực cho các chủ nhà
cho thuê và quản lý nhà cho thuê. Nhờ áp dụng công nghệ tiên tiến, việc quản lý các thông tin về
nhà cho thuê, khách thuê nhà, hợp đồng thuê nhà trở nên dễ dàng và hiệu quả hơn bao giờ hết.
Với sự đồng bộ và tự động hóa quy trình trong quản lý nhà cho thuê giúp tăng hiệu quả kinh
doanh cũng như nâng cao chất lượng dịch vụ cho khách hàng.
1.2 Tổng quan về tài liệu đặc tả:
- Mô tả tổng quan về hệ thống:
- Giới thiệu sơ lược về hệ thống, tên và phạm vi sử dụng của phần mềm, bao quát các chức năng
của sản phẩm cũng như đặc điểm sử dụng của người dùng.
- Các yêu cầu giao tiếp bên ngoài:
- Phân tích giao diện người dùng, yêu cầu kỹ thuật cho người lập trình (phần cứng và phần
mềm).
- Các tính năng của hệ thống:
- Liệt kê khái quát các chức năng chính của hệ thống.
- Các yêu cầu phi chức năng:
Hệ thống đảm bảo tính nhất quán.
2.2 Mô tả chung
2.2.1 Tổng quan về hệ thống:
Mô tả:
- Khách hàng phải cung cấp thông tin cho chủ nhà trọ khi đăng ký thuê phòng như: Họ tên, địa
chỉ, số điện thoại….. và chủ nhà trọ sẽ nhập, lưu trữ các thông tin trên.
- Chủ nhà trọ sẽ cho khách hàng thông tin về phòng và các dịch vụ của nhà trọ.
- Lưu trữ thông tin khách hàng thuê phòng, khách hàng sử dụng dịch vụ.
- Tra cứu, cập nhật tình trạng phòng và khách hàng
2.Các chức năng của sản phẩm.
- Quản lý nhà.
- Quản lý khách
- Quản lý hợp đồng.
=> Giúp nhà trọ quản lý được tình trạng phòng thuê.
● Cập nhật, thêm, xóa, sửa, tra cứu các thông tin về khách hàng.
2.2.3 Đối tượng người dung.
Chủ nhà cho thuê : Quản lý toàn bộ hệ thống hoạt động của những ngôi nhà cho thuê.
2.2.4 Các rang buộc cụ thể.
Ngôn ngữ lập trình: C#
- Cơ sở dữ liệu: CSDL Microsoft SQL Server 2019
- Ràng buộc thực tế :
+ Giao diện đơn giản, thân thiện với người sử dụng.
+ Kích thước của CSDL đủ lớn để lưu trữ thông tin khi sử dụng.
+ Phần mềm chạy trên nền Windown.
2.2.5 Giả thiết và các phụ thuộc.
- Máy tính bắt buộc phải kết nối mạng Lan cục bộ.
- Phần mềm hỗ trợ sao lưu hệ thống theo thời gian định sẵn.
- Có thể tính hợp và sử dụng các nguồn dữ liệu khác.
2.2.6 Đặc tả yêu cầu
2.2.6.1 Yêu cầu chức năng
Xây dựng hệ thống phần mềm giúp đơn giản hóa việc quản lý thông tin khách thuê nhà của chủ
nhà. Cụ thể là giải quyết các vấn đề đó là
- Quản lý nhà.
+ Mã nhà
+ Tên chủ nhà
+ Địa chỉ nhà cho thuê
+ Giá thuê
- Quản lý khách
+ Mã khách
+ Tên khách
+ Địa chỉ
+ Số điện thoại
Quản lý hợp đồng.
+ Mã hợp đồng
+ Mã khách
+ Mã nhà
+ Ngày bắt đầu thuê
+ Ngày kết thúc hợp đồng
=> Giúp nhà trọ quản lý được tình trạng phòng thuê.
● Cập nhật, thêm, xóa, sửa, tra cứu các thông tin về khách hàng
CHƯƠNG 4 : Giao diện DEMO và kết luận
4.1 Giao diện .
4.1.1 Giao diện Quản lý nhà cho thuê:

Hình 1. Giao diện chính


4.1.2 Giao diện Quản lý khách thuê nhà:

Hình 2. Giao diện hiển thi dach sách khách đang thuê nhà
4.2 Kết luận
Thuận lợi :Sau thời gian tìm hiểu và nghiên cứu đề tài “Xây dựng phần mềm quản lý nhà cho thuê bằng
ngôn ngữ lập trình C ” em đã phát triển và hoàn thành về cơ bản theo đúng những yêu cầu về nội dung
và thời gian đã quy định.

Khó khăn :Trong quá trình nghiên cứu và thực hiện đề tài vì hạn chế về kinh nghiệm và kiến thức nên đề
tài của em sẻ không thể tránh khỏi những thiếu sót. Em rất mong nhận được ý kiến đóng góp từ thầy cô
và các bạn để đề tài hoàn thiện hơn.

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

+ Hiểu biết được một số phương pháp phân tích thiết kế hệ thống, từ đó đã áp dụng các hiểu biết của
mình để phân tích thiết kế hệ thống bài toán quản lý hệ thống phòng trọ cho thuê.

+ Tiến hành phân tích thiết kế hệ thống và hoàn thiện hệ thống một cách đầy đủ.

+ Nắm bắt được các quy trình quản lý một phòng trọ.

Về thực nghiệm, đã thiết kế và cài đặt thành công chương trình, thể hiện phù hợp với nội dung của đề
tài.

- Hạn chế: Vì kiến thức và thời gian hạn hẹp nên một số tính năng chưa được nghiên cứu và thực hiện,
nhưng em sẽ cố gắng và phát triển, hoàn thiện hơn nữa.

You might also like