Nếu có điều kiên và thời gian chúng em sẽ bỗ sung nâng cấp giúp đô án phát triển hoàn thiện hơn có thê ứng dụng đạt hiệu quả cao trong việc xây dựng Ứng dụng quản lý căn hộ mini.. Từ mô
Trang 1
BO GIAO DUC VA DAO TAO TRUONG DAI HOC KINH TE - TÀI CHÍNH TP HỎ CHÍ MINH
CR) UEF
ĐẠI HỌC KINH TẾ TÀI CHÍNH
ĐỎ ÁN CƠ SỞ LẬP TRÌNH XÂY DỰNG ỨNG DỤNG QUẢN LÝ CĂN HỘ MINI
e_ Phan Duy Thịnh - 215122057
e Nguyễn Hoàng Liêm - 215051029
Trang 2MUC LUC
"1 a aaaa dẢ 2 HA" 2 lẽ 2
xi 00300.000.706 e 2 'NNHU ca nan 3
C — Lớp Business (BUS) -c ch ki kh EEEt 10
Trang 3b Giao diện chính - Tnhh KH khi 12
II HƯỚNG PHÁT TRIỂN St 12121 182121211111 1111111811 ey 20 BANG BAO CÁO MỨC BO PHAN CÔNG CÔNG VIỆC -¿-7-cccccccce: 21
Trang 4I Lý do chọn đề tài
Ngày nay trong thời đại công nghệ thông tin phát triển một cách vũ bão, thì việc quản
lý và xử lý tốt các thông tin mang một ý nghĩa rất quan trọng Những người hoặc nhóm người năm được, hiểu rõ và biết cách sử dụng thông tin thi sẽ có những thành công nhất định
Trong đó việc ứng dụng tin học vào trong cuộc sống là điều cấp thiết của mỗi người Với việc công nghệ thông tin ngày càng phát triên một cách mạnh mẽ hàng ngày hàng giờ,
nó sẽ có tác dụng không nhỏ giúp con người dễ dàng hơn trong cuộc sống Như công việc được xử lý nhanh chóng, hiệu quả, chính xác, Do đó cùng với sự phát triển của công nghệ thông tin thì thay vì việc sử dụng số sách, giấy ghi chép để lưu trữ thông tin, mọi người đã dần chuyên hướng sang việc sử dụng công nghệ đê lưu trữ
Trong xã hội thực tế, các khu căn hộ mong muốn có thể quan ly, thong ké doanh thu, tra cứu, xử lý yêu cầu, kết nỗi với các dân cư một cách nhanh chóng Với những nhu cầu
ay thì phần mềm quản lý, lưu trữ thông tin chung cư rất cần thiết đã được xây dựng Nhưng
đề làm được các phần mềm này thì điều quan trọng nhất là phân tích rõ hệ thông làm việc, qua đó có thê thiết kế một phần mềm hoàn chỉnh có tác dụng cao nhất có thê
Do vậy nhóm em xin trình bày đồ án “Xây dựng ứng dụng quản lý Căn hộ mini”
Do quy mô và thời gian thực hiện đồ án có hạn nên sẽ có nhiều trục trặc và khuyết điểm chưa được hoàn thiện Nếu có điều kiên và thời gian chúng em sẽ bỗ sung nâng cấp giúp đô án phát triển hoàn thiện hơn có thê ứng dụng đạt hiệu quả cao trong việc xây dựng Ứng dụng quản lý căn hộ mini
Chúng em xin gửi lời cảm ơn đặc biệt đến thầy Nguyễn Hà Giang - với vai trò là giảng viên hướng dẫn, đã tận tâm chỉ bảo cho chúng em qua từng buôi học trên lớp cũng như trả lời mọi thắc mắc khi chúng em cần Nếu không có sự giúp đỡ của thầy, bài thu hoạch này của chúng em sẽ khó mà hoàn thiện được Một lần nữa chúng em xin chan thành cảm ơn thây
Trang 5Il Mục đích và ý nghĩa đề tài:
1 Mục đích:
Hệ thống phần mềm giúp cả cư dân lẫn ban quản lý tòa nhà có thê dễ dàng tra cứu thông tin, quản lý người dùng, xử lý yêu cầu của cư dân và kết nối với cư dân nhanh chóng tiện dụng mọi lúc, mọi nơi chỉ thông qua điện thoại thông mình
2 Ý nghĩa:
"Thời gian là vàng bạc" - Chương trình được tạo ra theo tiêu chí đã nêu, một chương trình giúp người dùng dễ dàng quản lý mọi thứ một cách nhanh chóng, thuận tiện hơn trong công việc quản lý
II Dat van dé
Hiện nay cùng với sự phát triển của xã hội, nhu cầu về nhà ở đang ngày một trở nên quan trọng hơn Qua thời gian, dân sô ngày một càng đông nhưng quỹ đât đề xây dựng nhà ở lại có hạn, vì vậy bên cạnh những ngôi nhà riêng đã có từ xưa thì những tòa nhà cao tâng, tòa nhà chung cư đang hiện diện nhiêu hơn đặc biệt tại các thành phô lớn như TP Hồ Chí Minh, thủ đô Hà Nội, Nơi mà mật độ dân sô cao mà diện tích đât ở lại ít
Đề quản lý các tòa nhà này, ban đầu người ta dựa vào hoàn toàn giấy tờ số sách Cách
quản lý này phù hợp với những tòa nhà có số lượng phòng và người thuê ít Nhưng khi phát triên lên thì cách quán lý này gặp nhiều bát cập như vấn đề tìm kiếm dữ liệu, thông tin mát nhiều thời gian, lưu trên giấy tờ có thẻ xảy ra mát mát và tốn nhiều không gian để lưu trữ, Vấn đề đặt ra là cần có phương pháp, công cụ quản lý hiện đại hơn, hiệu quả hơn phương pháp truyền thông này Hiện nay, với sự phát triển của ngành Công Nghệ
Thông Tin, những vấn đè trên có thẻ được giải quyết một cách dễ dang
IV Phân tích yêu cầu bài toán
Bài toán đặt ra được dựa trên một tòa nhà với các yêu cầu như trong mô tả đề tài Từ mô
tả, chúng ta có thẻ thấy đối với yêu cầu này sẽ cần xây dựng các chức năng như quản lý
căn hộ trong tòa nha, quan ly khách thuê, quản lý nhân viên, hóa đơn dịch vụ và tạo báo cao
Trang 6V Thiết kế cơ sở dữ liệu
1 Bảng NhanVien
Báng NhanVien sẽ là nơi lưu trữ thông tin của nhân viên Bảng này bao gồm
Trong do:
Manv: Đây là mã nhân viên, là khóa chính của bảng có kiều dữ liệu nchar(10)
Manv còn là tên đăng nhập của nhân viên
hoten: Họ tên nhân viên, có kiêu dữ liệu nvarchar(50)
loainv: Truong nay dé phan biét quyén han của nhân viên, có 2 quyèn là admin
và user Có kiêu đữ liệu là bit, quyền admin sẽ là true, nhân viên là false Matkhau: Mật khâu đăng nhập của nhân viên Dữ liệu trong cột này sẽ được mã
hoa MDS dé dam báo tính bảo mật
2 Bang Lau
Bang Lau chứa thông tin các lầu có trong tòa nhà Lầu được cho thành một báng riêng
đề dễ dàng thêm lầu mới vào khi sau này tòa nhà có thêm sự mở rộng
Câu trúc bảng: Lau(id, tenlau, mota)
Id: Đây là mã của từng làu, có kiều int và tự động tăng
Tenlau: Tên hiên thi cua làu trên ứng dụng, có kiêu nvarchar(50)
mota: Mô tả của từng làu, có kiểu nvarchar(MAX) Trường này có thẻ bỏ trống nếu như không có mô tá gì
3 Bảng CanHo
Bang CanHo chứa các thông tin của một căn hộ, vi dụ như mã căn hộ, diện tích, giá thuê, mô tả
Cấu trúc bảng: CanHo(mach, dientich, tang, gia, mota)
Mach: Mã căn hộ, có kiều đữ liệu nchar(10), đây là khóa chính của bảng
Dientich: Diện tích căn hộ, có kiêu dữ liệu float
Gia: Giá cho thuê của căn hộ, có kiêu dữ liệu int
Mota: Mô tả căn hộ, kiêu dữ liệu nvarchar(MAX).
Trang 74 Bang NguoiThue
Thơng tin về người thuê căn hộ Sẽ được lưu trong bảng này
Câu trúc bảng: NguọThue(mant, hoten, cccd, sdt, mach)
Mant: Mã người thuê, đây cũng là khĩa chính của bảng cĩ kiêu dữ liệu nchar(10) Hoten: Họ tên người thuê, cĩ kiêu dữ liệu nvarchar(50)
Cccd: Sĩ căn cước cơng dân hoặc chứng minh nhân dân của người thuê, cĩ kiểu
dữ liệu nchar(12) Trường này cĩ thẻ bỏ trồng
Sdt: Số điện thoại của người thuê, cĩ kiều dữ liệu nchar(11) Trường này cĩ thê
bỏ trơng
Mach: Mã căn hộ mà người thuê đã thuê Đây là khĩa ngoại sẽ liên kết đến bảng
CanHo Mach cĩ kiêu dữ liệu là nchar(10)
5 Bang Lau
Bang Lau chứa thơng tin các lầu cĩ trong tịa nhà Lầu được cho thành một báng riêng
đề dễ dàng thêm lầu mới vào khi sau này tịa nhà cĩ thêm sự mở rộng
Cau tric bang: Lau(id, tenlau, mota)
Id: Đây là mã của từng làu, cĩ kiều int và tự động tăng
Tenlau: Tên hiên thi cua làu trên ứng dụng, cĩ kiêu nvarchar(50)
mota: Mơ tả của từng làu, cĩ kiểu nvarchar(MAX) Trường này cĩ thẻ bỏ trống nếu như khơng cĩ mơ tá gì
6 Bảng CanHo
Bang CanHo chứa các thơng tin của một căn hộ, vi dụ như mã căn hộ, diện tích, giá thuê, mơ tả
Cau truc bang: CanHo(mach, dientich, tang, gia, mota)
Mach: Mã căn hộ, cĩ kiều đữ liệu nchar(10), đây là khĩa chính của bảng
Dientich: Diện tích căn hộ, cĩ kiêu dữ liệu float
Gia: Giá cho thuê của căn hộ, cĩ kiêu dữ liệu int
Mota: Mơ tả căn hộ, kiêu dữ liệu nvarchar(MAX).
Trang 87 Bang NguoiThue
Thơng tin về người thuê căn hộ Sẽ được lưu trong bảng này
Câu trúc bảng: NguọThue(mant, hoten, cccd, sdt, mach)
Mant: Mã người thuê, đây cũng là khĩa chính của bảng cĩ kiêu dữ liệu nchar(10) Hoten: Họ tên người thuê, cĩ kiêu dữ liệu nvarchar(50)
Cccd: Sĩ căn cước cơng dân hoặc chứng minh nhân dân của người thuê, cĩ kiểu
dữ liệu nchar(12) Trường này cĩ thẻ bỏ trồng
Sdt: Số điện thoại của người thuê, cĩ kiều dữ liệu nchar(11) Trường này cĩ thê
bỏ trơng
Mach: Mã căn hộ mà người thuê đã thuê Đây là khĩa ngoại sẽ liên kết đến bảng
CanHo Mach cĩ kiêu dữ liệu là nchar(10)
8 Bang LoaiHoaDon
Bang này chứa thơng tin về các loại hĩa đơn mà người thuê sẽ phái đĩng ví dụ như hĩa đơn tiên điện, nước, wifi,
Cấu trúc của bảng: LoaiHoaDon(maloai, tenloai, dongia)
Maloai: Đây là khĩa chính của bảng, cĩ kiểu dữ liệu int, được thiết lập tự động
tăng
Tenloai: Tên của loại hĩa đơn, cĩ kiểu dữ liệu nvarchar(50)
Dongia: Đơn giá của loại hĩa đơn, cĩ kiêu đữ liệu int
9 Bang HoaDon
Báng HoaDon chứa các thơng tin về hĩa đơn mà người thuê đã trả
Mahd: Mã hĩa đơn, đây cũng là khố chính của bảng Cĩ kiêu dữ liệu
nchar(10)
Mach: Mã căn hộ đĩng tiền, đây là khĩa ngoại liên kết đến bảng KhachThue
Cĩ kiểu dữ liệu nchar(10)
Loaihd: Kiêu dữ liệu int Loaihd là khĩa ngoại liên kết đến bảng LoaiHoaDon, chứa thơng tin về loại hĩa đơn.
Trang 9- _ Thang: Tháng đóng tiền, có kiểu dữ liệu date
- Soluong: Kiéu dữ liệu int, chứa thông tin số lượng phải đóng của hóa đơn
- _ Dongia: kiều dữ liệu int, chứa thông tin về đơn giá của loại hóa đơn
1 Lựa chọn ngôn ngữ lập trình
Hiện nay có rât nhiêu ngôn ngữ lập trình như PHP, Java, JavaScript, Python, C#, VB.Net, Mỗi ngôn ngữ đều có những ưu và nhược điểm riêng của nó Nhưng tựu chung lại các ngôn ngữ trên đều hướng đến 3 hướng: ứng dụng Desktop, ứng dụng Web, ứng dụng Mobile
Với mục đích xây dựng phần mềm quản lý tòa nhà, không thê đơn thuần xây dựng ứng dụng mobile được vì sẽ cần sử dụng đến ứng dụng trên máy vi tính Đối với ứng dụng web cần đòi hỏi sự kĩ lưỡng và kiểm soát chặt chẽ dữ liệu để tránh rò ri dữ liệu Vì vậy, việc xây dựng ứng dụng quản lý là một ứng dụng Desktop là điều phù hợp nhất vì nó có các ưu điểm như:
- _ Tốc độ xử lý dữ liệu nhanh chóng
- Đảm bảo an toàn, bảo mật thông tin
- - Thao tác trên nhiều giao diện
Ứng dụng Desktop có nhiều ngôn ngữ như VB.Net, C#, Chúng ta không thê xây dựng một ứng dụng mới vào thời điểm hiện tại dựa trên ngôn ngữ VR.Net giả nua được Vì vậy, C# là ứng cử viên số I cho việc xây dựng ứng dụng này
Hiện nay có 2 nhóm co sé dir ligu la SQL va noSQL noSQL thuong dugc str dung doi voi các ứng dụng lớn vì có hỗ trợ phân tán Nhưng để sử dụng noSQL cho việc xây dựng một ứng dụng đầy ràng buộc thì noSQL không phù hợp đề sử dụng
Vậy nên, cơ sở dữ liệu SQL sẽ phù hợp hơn noSQL đối với ứng dụng này Và SQL Server
sẽ là hệ quản trị cơ sở đữ liệu được sử dụng Còn điều gì tuyệt vời hơn khi sử dụng combo
do Microsoft phat triển để xây dựng ứng dụng chạy trên Windows nữa
Trang 103 Giới thiệu DevExpress
Khi xây dựng các ứng dụng Windows Form (WinForm), trong bộ công cụ của Visual Studio đã có sẵn các thành phần hỗ trợ xây dựng giao diện Nhưng các thành phần mặc
định này có giao diện không được bắt mắt, đề tinh chỉnh lại thi mat rất nhiều thời gian và
công sức Vì vậy DevExpress được sinh ra đề giải quyết vấn dé này
DevExpress được ra mắt lần đầu tiên vào năm 2011 và được đông đảo lập trình viên NET
sử dụng DevExpress cung câp săn các giao diện hiện đại và được ưa chuộng nhật hiện nay
a DevExpress
Hinh 1: Biéu twong cua DevExpress
Sau khi cài đặt xong, khi mở Visual Studio chúng ta có thể thấy các thành phần của DevExpress đã được thêm vào
4 Yn £ Pre oe
ss gon N2 Bal Wea ie S-tue > daar 2s
Start Page # | Mew Proje , x
Cc sete cent NET Framework 452° Y Deut wt ˆ‹Ì
Trang 11như tiếp nhận thông tin, thông báo lỗi,
tính toán, đánh giá tính hợp lệ của thông tin, Tầng này còn di chuyên, xử lí thông tin giữa 2 tầng trên dưới
- Tang Data: nơi lưu trữ và trích xuất dữ liệu từ các hệ quản trị CSDL hay các file trong hệ thống Cho phép tầng Business logic thực hiện các truy vấn dữ liệu
b Lớp Data Access Object (DAO)
Lớp này có chức năng giao tiếp với hệ quản trị CSDL như thực hiện các công việc liên quan đến lưu trữ và truy vẫn dữ liệu ( tìm kiếm, thêm, xóa, sửa, )
Trong ứng dụng này, lớp DAO sẽ có một lớp kết nỗi cơ sở dữ liệu Trong lớp này sẽ chứa phân code xử lý để thực hiện truy vấn dữ liệu
Trang 12Hình 3: Lớp KetNoiCSDL trong DAO
Trong lớp KetNoiCSDL sẽ chứa chuỗi kết nổi đến cơ sở dữ liệu, hàm mở và đóng kết nối,
hàm ExecuteQ để thực hiện các câu lệnh không cần kết quả trả về như INSERT, UPDATE,
DELETE, Ham LoadData() là hàm sẽ thực hiện câu lệnh SELECT với kết quả trả về
được gắn vào DataTable
CommandType
( ] )
Length; 1++) -Parameters Addw1thValue(
Trang 13c Lớp Business (BUS)
Layer này phân ra 2 thành nhiệm vụ :
chính nguồn dữ liệu từ Presentation Layer trước khi truyền xuống Data Access Layer và lưu xuống hệ quản trị CSDL
thực hiện tính toán và xử lý các yêu cầu nghiệp vụ, trước khi trả kết quả về Presentation Layer Mỗi bảng trong cơ sở dữ liệu sẽ có một lớp BUS riêng đề thực hiện các thao tac với bảng đó
Trang 14d Data Transfer Objects (DTO)
DTO được sử dụng đề truyền dữ liệu giữa các lớp Chúng thường là cấu trúc dữ liệu ( DataSets, XML, ) hay các lớp đối tượng đã được tùy chỉnh
Mỗi table trong cơ sở dữ liệu sẽ có một DTO tương ứng để truyền dữ liệu qua lại giữa các
Hình 7: Các lớp DTO được xây dựng
e Lớp giao diện (GUD
Lớp giao diện là nơi sẽ giao tiếp trực tiếp với người dùng, trực tiếp nhận về các lệnh mà người dùng muốn thực hiện Lớp giao diện này chính là các Form được xây dựng để thực hiện một chức nang nao đó
Quên lý Quên lý Danh sách lEu, Quảnl Quảnlÿ Quản Báo cáo
nhân viên ge - cănhộ E Mhếhtuê g dchwu hoadon ge E
Nhôn viên Toa nhà Thuê căn hô Hóa đơn dch vụ ^
The DocumentManager occupies all available space and may overlap
other controls To limit its size, place an XtraUserControl onto the
form and assign it to the DocumentManager.ContainerControl
property
11