TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
NGUYỄN QUỲNH ANH
Phần mềm quản lý bãi đỗ xe của tòa nhà Hapulico
Hà Nội- 2015
TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
NGUYỄN QUỲNH ANH
Phần mềm quản lý bãi đỗ xe của tòa nhà Hapulico
Chuyên ngành: Công nghệ thông tin
Mã ngành:
NGƯỜI HƯỚNG DẪN: Thạc Sĩ Phí Thị Hải Yến
Hà Nội - 2015
LỜI CAM ĐOAN
Tôi tên: NGUYỄN QUỲNH ANH, là sinh viên trường đại học tài nguyên
và môi trường Hà Nội.
Tôi Xin cam đoan: Toàn bộ nội dung đồ án tốt nghiệp “PHẦN MỀM
QUẢN LÝ BÃI ĐỖ XE CỦA TÒA NHÀ HAPULICO”. Do tôi tự học tập từ bài
giảng các môn học của Quý thầy cô, nghiên cứu trên Internet, sách báo, và các tài
liệu trong và ngoài nước có liên quan. Không sao chép hay sử dụng bài làm của bất
kỳ ai khác.
Tôi xin chịu hoàn toàn trách nhiệm về lời cam đoan của mình trước Quý thầy
Cô và nhà trường.
Hà Nội ngày 01 tháng 06 năm 2015
NGƯỜI CAM ĐOAN
MỤC LỤC
DANH MỤC BẢNG
DANH MỤC HÌNH
MỞ ĐẦU
Lý do chọn đề tài
Hiện nay, công nghệ thông tin ở nước ta đang phát triển rất mạnh mẽ tuy
nhiên đa số người dân, các doanh nghiệp, cơ quan, tổ chức cỡ vừa và nhỏ vẫn chưa
tiếp cận được với các ứng dụng mà công nghệ thông tin đem lại.
Quản lý thường là vấn đề khá phức tạp đối với bất kỳ một công việc nào đó
bởi vì công việc dù lớn hay nhỏ đều có mối liên quan chặt chẽ bên trong nó, việc xử
lý số liệu không chặt chẽ cũng là một vấn đề khá nghiêm trọng…
Đặc biệt, Hapulico là tổ hợp các công trình thương mại, văn phòng, nhà ở
cao cấp. Do đó việc sắp xếp xe đỗ hợp lý đã là một vấn đề rất phức tạp nhưng việc
quản lý dữ liệu của bãi đỗ xe sẽ còn phức tạp và khó khăn hơn. Quản lý dữ liệu bãi
đỗ xe đòi hỏi phải có tính chất tổng quát đồng thời phải thiết kế các trường dữ liệu
sao cho phù hợp và có hiệu quả trong tìm kiếm, báo cáo thống kê. Việc xây dựng dữ
liệu phải đồng bộ với việc quản lý tuy nhiên do trình độ khoa học đang trên đà phát
triển công tác quản lý chưa đồng bộ với công tác xây dựng cơ sở dữ liệu cho nên
luôn đi sau khá xa. Hiện tại, việc quản lý vẫn còn phụ thuộc vào thống kê trên giấy
và việc tìm kiếm, tổng hợp thống kê mất rất nhiều thời gian. Hơn nữa trong quản lý
dữ liệu lại đòi hỏi có tính chất tổng hợp mà hiện tại dữ liệu bãi đỗ xe đã thống kê
bao giờ cũng thiếu thông tin, không đồng bộ dữ liệu, thất lạc dữ liệu... Đặc biệt,
nhân viên quản lý không thể tra cứu thông tin một cách nhanh chóng, chính xác khi
có yêu cầu. Để giải quyết bất cập nêu trên và giúp cho công việc quản lý bãi đỗ xe
của tòa nhà Hapulico đơn giản hơn, mang lại hiệu quả, tính liền mạch nhất quán
trong các hoạt động hàng ngày, tránh được những sai sót không đáng có. Bằng
những kiến thức được học, em đã xây dựng lên “Phần mềm quản lý bãi đỗ xe của
tòa nhà Hapulico”.
Cấu trúc đồ án như sau:
Chương 1: Phân tích bài toán
Chương 2: Giới thiệu công nghệ sử dụng
Chương 3: Phân tích hệ thống
1
Chương 1. PHÂN TÍCH BÀI TOÁN
1.1. Mô tả bài toán
Sau khi khảo sát Tòa nhà Hapulico số 1, Nguyễn Huy Tường, Thanh Xuân,
Hà Nội có tổ chức như sau:
Trong bộ phận quản lý có: người quản lý, các nhân viên: nhân viên bảo vệ,
nhân viên kiểm kê.
Tòa nhà Hapulico gồm nhiều tòa nhà khác nhau, nhưng có đặc điểm chung
đều để xe dưới tầng hầm. Tầng hầm mỗi tòa nhà gồm 2 lối: lối cho xe vào và lối
cho xe ra. Tầng hầm được chia thành 4 khu dành cho 3 loại xe: 1 khu để xe máy, 1
khu để xe đạp, 2 khu để xe ôtô. Xe ôtô yêu cầu không được quá 16 chỗ. Khi khách
đến gửi xe, nhân viên bảo vệ trông xe phải nhận dạng xe theo bảng phân loại, kiểm
tra chỗ trống trong tầng hầm. Sau đó, ghi vé đưa cho khách và hướng dẫn xe vào
khu, đồng thời ghi những thông tin trên vé vào sổ xe vào.
Khi khách lấy xe, người coi xe kiểm tra vé xem vé thật hay giả, đối chiếu
với vé xe. Nếu vé giả hay không đúng xe thì nhân viên bảo vệ không cho nhận xe.
Ngược lại, thì viết phiếu thanh toán và thu tiền của khách, đồng thời ghi các thông
tin cần thiết vào sổ xe ra.
Khi khách đến báo cáo có sự cố thì kiểm tra xe trong sổ xe vào và sổ xe ra
để xác minh xem xe có gửi không và đã lấy ra chưa. Nếu không đúng như vậy thì
không giải quyết. Trong trường hợp ngược lại, tiến hành kiểm tra xe ở hiện trường.
Nếu đúng như sự việc xảy ra thì nhân viên kiểm kê tiến hành lập biên bản giải
quyết và trong trường hợp cần thiết thì viết phiếu chi bồi thường cho khách, thống
kê tổng hợp tình hình trong giữ xe, lập báo cáo để báo cáo lên bộ phận quản lý của
tòa nhà.
1.2. Chức năng chính của hệ thống
-
Quản lý nhận xe: Cho phép quản lý thông tin xe, kiểm tra khu để xe còn trống,
ghi vé, ghi lịch sử xe vào.
-
Quản lý bãi đỗ xe: Cho phép kiểm tra và đối chiếu vé xe, thanh toán vé, ghi
lịch sử xe ra.
2
-
Giải quyết sự cố: Cho phép kiểm tra sổ gửi xe, kiểm tra hiện trường, lập biên
bản trường hợp vi phạm và lập phiếu bồi thường.
-
Báo cáo: Tổng hợp, thống kê số vé xe trong ngày và số vé trong tháng, khách
hàng vi phạm và khách hàng được bồi thường.
1.3. Khả thi về kỹ thuật
Đa số các hệ quản trị cơ sở dữ liệu ngày nay cung cấp cho chúng ta các khả
năng lưu trữ và xử lý một khối lượng dữ liệu lớn có liên kết chặt chẽ với nhau, cho
phép thực hiện các tác vụ quản lý mà vẫn đảm bảo tính nhất quán, không dư thừa
dữ liệu, tính bảo mật… Các công cụ lập trình cho phép ánh xạ đến các cơ sở dữ
liệu và thực hiện tương tác qua lại giữa giao diện phần mềm và cơ sở dữ liệu, một
số công cụ lập trình còn cho phép người lập trình có thể thiết kế giao diện trực tiếp
thông qua việc kéo, thả. Về các công nghệ này chúng ta sẽ đề cập chi tiết trong
chương sau.
1.4. Khả thi về kinh tế
Em xây dựng chương trình quản lý bãi đỗ xe của tòa nhà Hapulico với mục
tiêu hoàn thành tốt đồ án, rèn luyện và trau dồi thêm kiến thức phục vụ công việc
sau khi trường. Sau khi hoàn thành sẽ liên hệ với các công ty, tập thể có nhu cầu để
biến đồ án này thành sản phẩm thực.
1.5. Khả thi về vận hành
Hệ thống không đòi hỏi cao về mặt cấu hình (so với các máy tính phổ thông
hiện nay). Ngày nay công nghệ thông tin rất phát triển, các hệ thống máy tính ra
đời với cấu hình tốt được cải thiện rất nhiều so với trước đây. Vì vậy, trong thực tế
hoàn toàn có thể đáp ứng yêu cầu hệ thống với các thông số:
-
Chip set: Intel
Ram: 1Gb
Ổ cứng: 320Gb
Hệ điều hành: Window XP, Win 7
1.6. Phạm vi của đề tài
1.6.1. Chức năng chính
a. Đăng nhập/ Đăng xuất
3
b. Quản lý hệ thống: Cho phép quản lý khách hàng, quản lý nhân viên, quản lý
vé, quản lý khu, quản lý quyền, quản lý xe và loại xe
c. Nhận xe – Trả xe: Cho phép ghi vé nhận xe, phân loại vé, nhận – trả xe vé
ngày: kiểm tra khu trống, thanh toán, nhận xe vé tháng: gia hạn vé tháng, lịch
sử ra vào, xem thông tin khách hàng sử dụng, xem lịch sử vé ngày và xem lịch
sử vé tháng.
d. Báo cáo: Cho phép lập phiếu bồi thường, lập biên bản, báo cáo số vé trong
ngày, báo cáo số vé trong tháng, xem danh sách xe khách hàng vi phạm và
xem danh sách xe khách hàng được bồi thường.
1.6.2. Giao diện
Giao diện tương đối dễ sử dụng. Các thao tác, nghiệp vụ cần thuận tiện,
nhanh chóng. Giao diện hài hòa gần gũi với người sử dụng.
1.6.3. Phạm vi
Hệ thống đáp ứng việc cập nhật dữ liệu thường xuyên liên tục hàng ngày.
Đáp ứng lưu trữ với khối lượng dữ liệu lớn.
Cho phép truy xuất thông tin, dữ liệu một cách nhanh chóng.
4
Chương 2. GIỚI THIỆU CÔNG NGHỆ SỬ DỤNG
2.1. Một số hệ quản trị cơ sở dữ liệu khả thi
Hệ quản trị cơ sở dữ liệu là phần mềm hay hệ thống được thiết kế để quản
trị một cơ sở dữ liệu [6]. Cụ thể, các chương trình thuộc loại này hỗ trợ khả năng
lưu trữ, sửa chữa, xóa và tìm kiếm thông tin trong một cơ sở dữ liệu. Có rất nhiều
loại hệ quản trị Cơ sở dữ liệu khác nhau: từ phần mềm nhỏ chạy trên máy tính cá
nhân cho đến những hệ quản trị phức tạp chạy trên một hoặc nhiều siêu máy tính.
Tuy nhiên, đa số hệ quản trị cơ sở dữ liệu trên thị trường đều có một đặc
điểm chung là sử dụng ngôn ngữ truy vấn theo cấu trúc (Structured Query
Language - SQL).
Các hệ quản trị cơ sở dữ liệu phổ biến được nhiều người biết đến
là MySQL, Oracle, PostgreSQL, SQL Server, DB2, Infomix, v.v.
Phần lớn các hệ quản trị Cơ sở dữ liệu kể trên hoạt động tốt trên nhiều hệ
điều hành khác nhau như Linux, Unix và MacOS ngoại trừ SQL Server
của Microsoft chỉ chạy trên hệ điều hành Windows.
Ưu điểm của hệ quản trị cơ sở dữ liệu:
Quản lý được dữ liệu dư thừa.
Đảm báo tính nhất quán cho dữ liệu.
Tạo khả năng chia sẻ dữ liệu nhiều hơn.
Cải tiến tính toàn vẹn cho dữ liệu.
Nhược điểm:
Hệ quản trị cơ sở dữ liệu tốt thì khá phức tạp.
Hệ quản trị cơ sở dữ liệu tốt thường rất lớn chiếm nhiều dung lượng bộ nhớ.
Giá cả khác nhau tùy theo môi trường và chức năng.
Hệ quản trị cơ sở dữ liệu được viết tổng quát cho nhiều người dùng thì thường
chậm.
2.1.1. Oracle
Oracle bao gồm nhiều sản phẩm xây dựng ứng dụng và người dùng cuối
được trang bị các giải pháp kỹ thuật thông tin hoàn hảo. Oracle dễ dàng sử dụng
trên các hệ điều hành từ các máy tính cá nhân đến các hệ thống xử lý song song
lớn [6].
5
Oracle Server có chức năng lưu giữ và quản lý các thông tin. Phiên bản
Oracle 7 quản lý cơ sở dữ liệu với tất cả các ưu điểm của cấu trúc cơ sở dữ liệu,
khả năng lưu giữ và thực thi các đối tượng cơ sở dữ liệu như các procedure và các
trigger.
Oracle Server là một hệ quản trị cơ sở dữ liệu điều khiển:
Lưu giữ dữ liệu trên các vùng dữ liệu đã thiết kế
Truy xuất dữ liệu cho ứng dụng, dùng các kỹ thuật tương đối tối ưu
Bảo mật dữ liệu, cấp quyền khác nhau cho các user
Liên kết và toàn vẹn dữ liệu khi cơ sở dữ liệu được phân bố trên mạng
Ngoài các chức năng chuẩn cung cấp các tiện ích cơ sở dữ liệu, Oracle Server
có thêm một số chức năng sau: Procedural Option, Distributed Option, Parallel
Server Option, Trusted Oracle
Các sản phẩm của Oracle bao gồm:
SQL: Là ngôn ngữ dùng để truy xuất cơ sở dữ liệu quan hệ, kể cả Oracle.
Có thể được dùng với mỗi công cụ Oracle khi có yêu cầu truy xuất dữ liệu.
PL/SQL: Dùng để viết các ứng dụng luận lý và thao tác dữ liệu bên ngoài
cơ sở dữ liệu.
SQL Plus: Là sản phẩm Oracle, trong đó có thể dùng cả SQL và PL/SQL.
Có các ngôn ngữ lệnh riêng để điều khiển hành vi của sản phẩm và định dạng
output từ các truy vấn SQL.
Đây là hệ Cơ sở dữ liệu mạnh với một số ưu điểm là tính bảo mật cao, độ
an toàn dữ liệu cao, cơ chế quyền hạn rõ ràng, ổn định, dễ cài đặt, dễ triển khai và
dễ nâng cấp lên phiên bản mới. Ngoài ra phần mềm này còn tích hợp thêm
PL/SQL- Structure Language. Tạo thuận lợi cho các lập trình viện viết các
Trigger, StoreProcedure, Package.
2.1.2. SQL Server
SQL (Structured Query Language – ngôn ngữ truy vấn có cấu trúc) là phần
mềm được phát triển bởi hãng Microsoft. SQL server là một ngôn ngữ máy tính
phổ biến để tạo, sửa và lấy dữ liệu từ một hệ quản trị cơ sở dữ liệu. SQL Server là
6
hệ thống quản trị cơ sở dữ liệu quan hệ sử dụng Transaction-SQL để trao đổi dữ
liệu giữa Client Computer và Server Computer [5]. Một hệ quản trị cơ sở dữ liệu
quan hệ gồm database, database engine và các ứng dụng để quản lý dữ liệu và các
bộ phận khác. Khả năng SQL phát triển vượt xa so với việc phục vụ các hệ quản trị
cơ sở dữ liệu đối tượng-quan hệ, mặc dù đây là mục đích ban đầu khi xây dựng
SQL và truy xuất dữ liệu vẫn là chức năng quan trọng của nó.
Một số đặc tính của SQL Server:
Quản trị một hệ Cơ sở dữ liệu lớn, có khả năng xử lý khá tốt, nhanh các cơ sở
dữ liệu tầm trung.
Nhiều người cùng khai thác vào một thời điểm đối với một cơ sở dữ liệu và
toàn bộ quản trị cơ sở dữ liệu.
Có hệ thống phân quyền bảo mật tương thích với hệ thống bảo mật của công
nghệ Net, tích hợp với hệ thống bảo mật của Windows NT hoặc sử dụng hệ
thống bảo vệ độc lập của SQL Server.
SQL hỗ trợ trong việc triển khai cơ sở dữ liệuphân tán và phát triển ứng dụng
trên Internet.
SQL cho phép chúng ta lập trình kết nối với nhiều ngôn ngữ lập trình khác để
xây dựng các ứng dụng(VB, C, C++,...) .
SQL là ngôn ngữ có tính tương thích cao dễ tiếp cận và dễ sử dụng phù hợp
với các doanh nghiệp vừa và nhỏ.
2.1.3. DB2
DB2 hiện nay là hệ thống database hoạt động mạnh và nhanh nhất thế giới.
IBM tuyên bố rằng số dữ liệu cấu trúc được lưu trong DB2 lớn hơn trong bất cứ
cơ chế nào khác.
DB2 có 3 phiên bản chính: DB2 cho z/OS(Mainframe) , DB2 cho iSeries
(AS400) và DB2 cho Linux, UNIX và Windows. Khoảng 90% mã nguồn của các
phiên bản là giống nhau và 10% còn lại được dành riêng cho việc tối ưu hóa nền
tảng. Về mặt kỹ thuật, đây là một tin tốt do hệ thống database có thể hoạt động với
bất cứ nền tảng nào mà khách hàng đang sử dụng. Tuy nhiên, IBM dường như
"quên" việc phải quảng bá rộng những điều này. Có người cho rằng họ quá hài
7
lòng vì nắm trong tay cơ sở dữ liệu mạnh và chờ đợi mọi người tự khám phá. Do
vậy, DB2 được gọi là "secret database"(cơ sở dữ liệu ngầm).
2.2. Đánh giá các công nghệ khác
Để xây dựng hoàn chỉnh phần mềm quản lý, ngoài DBMS( Database
Management System ) ta còn cần công cụ lập trình đủ mạnh, thích hợp để viết
phần mềm. Một số lựa chọn có thể cân nhắc:
C/C++
PasCal
Visual C++
Visual C#
Java
So sánh ưu nhược điểm và đặc điểm từng ngôn ngữ giúp ta có sự lựa chọn
tối ưu.
2.2.1. C/C++
Ngôn ngữ lập trình C là ngôn ngữ cấp trung vì nó cho phép thao tác trên các
bit, byte, và địa chỉ. C kết hợp các yếu tố mềm dẻo của ngôn ngữ bậc cao và khả
năng điều khiển mạnh của ASSEMBLER. Do vậy, ngôn ngữ lập trình C tỏ ra thích
hợp với các lập trình hệ thống.
Chương trình viết bằng C là tập hợp các hàm riêng biệt, giúp cho việc che
giấu mã và giữ liệu trở nên dễ dàng. Hàm được viết bởi những người lập trình khác
nhau không ảnh hưởng đến nhau và có thể được biên dịch riêng biệt trước khi ráp
nối thành chương trình.
Một chương trình được viết bằng ngôn ngữ lập trình C sẽ tối tối ưu, chạy
với tốc độ cao và tiết kiệm bộ nhớ.ngôn ngữ lập trình C có tính mềm dẻo rất cao từ
cach khai báo biến có thể trùng lặp trinh cũng một chương trình do C có con trỏ
nên có thể can thiệp sâu vào các hệ điều hành, các phân vùng dữ liệu quan trọng.
do C có tính mềm dẻo như trên lên C cũng có nhược điểm của nó. Khi chạy những
chương trình lớn cần các thuật toán phức tạp.
Có thể nói C++ là sự mở rộng (đáng kể) của C. Điều đó có nghĩa là mọi khả
năng, mọi khái niệm trong C đều dùng được trong C++.
8
Vì trong C++ sử dụng gần như toàn bộ các khái niệm, định nghĩa, các kiểu
dữ liệu, các cấu trúc lệnh, các hàm và các công cụ khác của C, nên yêu cầu bắt
buộc đối với các đọc giả C++ là phải biết sử dụng tương đối thành thạo ngôn ngữ
C.
Trong C có thể dùng một hàm chuẩn mà bỏ qua câu lệnh #include để khai
báo nguyên mẫu của hàm được dùng. Điều này không báo lỗi khi biên dịch, nhưng
có thể dẫn đến kết quả sai khi chạy chương trình.
2.2.2. Visual C++
Microsoft Visual C++ (còn được gọi là MSVC) là một sản phẩm Môi
trường phát triển tích hợp (IDE) cho các ngôn ngữ lập trình C, C++, và C++/CLI
của Microsoft. Nó có các công cụ cho phát triển và gỡ lỗi mã nguồn C++, đặc biệt
là các mã nguồn viết cho Microsoft Windows API, DirectX API, và Microsoft
.NET Framework.
Visual C++ là môt phần mềm lập trình hướng đối tượng được phát triển trên
cơ sở là ngôn ngữ lập trình C và C++.
Phương pháp thiết kế hướng đối tượng vừa mới phát triển nhằm giúp nhà
phát triển khai thác được sức mạnh của đối tượng và ngôn ngữ lập trình hướng đối
tượng, dùng các lớp và đối tượng như là khối xây dựng cơ sở.
OOP (ngôn ngữ lập trình hướng đối tượng ) là ngôn ngữ hiện thực trong đó
chương trình được tổ chức như tập hợp những đối tượng hợp tác với nhau, mỗi đối
tượng đại diện cho một instance của một vài lớp và những lớp mà chúng là thành
viên của một lớp phân cấp thông qua quan hệ thừa kế.
2.2.3. Visual Basic
Visual Basic (viết tắt VB) là một ngôn ngữ lập trình hướng sự kiện (eventdriven) và môi trường phát triển tích hợp (IDE) kết bó được phát triển đầu tiên bởi
Alan Cooper dưới tên Dự án Ruby (Project Ruby), và sau đó được Microsoft mua
và cải tiến nhiều [2]. Phiên bản cũ của Visual Basic bắt nguồn phần lớn từ BASIC
và để lập trình viên phát triển các giao diện người dùng đồ họa (GUI) theo mô hình
phát triển ứng dụng nhanh (Rapid Application Development, RAD); truy cập các
9
cơ sở dữ liệu dùng DAO (Data Access Objects), RDO (Remote Data Objects), hay
ADO (ActiveX Data Objects); lập các điều khiển và đối tượng ActiveX. Ngày nay,
Visual Basic đã được thay thế bằng Visual Basic .NET
Dùng VB6 là cách nhanh và tốt nhất để lập trình cho Microsoft Windows vì
VB6 sẽ cung cấp cho bạn một bộ công cụ hoàn chỉnh để đơn giản hóa việc triển
khai lập trình ứng dụng cho MS Windows.
Visual Basic còn có hai dạng khác là Visual Basic for Application(VBA) và
VBScrip. VBA là ngôn ngữ nằm phía sau các chương trình Word, Excel,
MSAccess, MSProject, .v.v.. còn gọi là Macros. Dùng VBA trong MS Office, ta
có thể làm tăng chức năng bằng cách tự động hóa các chương trình. Còn VBScript
được dùng cho Internet và trong chính hệ điều hành Window
Visual Basic chứa đến hàng trăm câu lệnh (commands), hàm (functions) và
từ khóa (keywords). Rất nhiều commands, functions liên hệ trực tiếp đến MS
Windows GUI. Những người mới bắt đầu có thể viết chương trình bằng cách học
chỉ một vài command, functions và keywords. Khả năng của ngôn ngữ này cho
phép những người chuyên nghiệp hoàn thành bất kỳ điều gì nhờ sử dụng ngôn ngữ
lập trình MS Windows nào khác.
2.2.4. Visual C#
Visual C# là một ngôn ngữ lập trình hướng đối tượng được phát triển bởi
Microsoft, là phần khởi đầu cho kế hoạch .NET của họ. Tên của ngôn ngữ bao
gồm ký tự thăng theo Microsoft nhưng theo ECMA là C#, chỉ bao gồm dấu số
thường. Microsoft phát triển C# dựa trên C++ và Java. C# được miêu tả là ngôn
ngữ có được sự cân bằng giữa C++, Visual Basic, Delphi và Java.
C# được thiết kế chủ yếu bởi Anders Hejlsberg kiến trúc sư phần mềm nổi
tiếng với các sản phẩm Turbo Pascal, Delphi, J++, WFC.
C#, theo một hướng nào đó, là ngôn ngữ lập trình phản ánh trực tiếp nhất
đến .NET Framework mà tất cả các chương trình .NET chạy, và nó phụ thuộc
mạnh mẽ vào Framework này. Mọi dữ liệu cơ sở đều là đối tượng, được cấp phát
và hủy bỏ bởi trình dọn rác Garbage-Collector (GC), và nhiều kiểu trừu tượng
10
khác chẳng hạn như class, delegate, interface, exception, v.v, phản ánh rõ ràng
những đặc trưng của .NET runtime.
So sánh với C và C++, ngôn ngữ này bị giới hạn và được nâng cao ở một vài đặc
điểm nào đó, nhưng không bao gồm các giới hạn sau đây:
Các con trỏ chỉ có thể được sử dụng trong chế độ không an toàn. Hầu hết các
đối tượng được tham chiếu an toàn, và các phép tính đều được kiểm tra tràn bộ
đệm. Các con trỏ chỉ được sử dụng để gọi các loại kiểu giá trị; còn những đối
tượng thuộc bộ thu rác (garbage-collector) thì chỉ được gọi bằng cách tham
chiếu.
Các đối tượng không thể được giải phóng tường minh.
Chỉ có đơn kế thừa, nhưng có thể cài đặt nhiều interface trừu tượng (abstract
interfaces). Chức năng này làm đơn giản hóa sự thực thi của thời gian thực thi.
C# thì an-toàn-kiểu (typesafe) hơn C++.
Cú pháp khai báo mảng khác nhau("int[] a = new int[5]" thay vì "int a[5]").
Kiểu thứ tự được thay thế bằng tên miền không gian (namespace).
C# không có tiêu bản.
Có thêm Properties, các phương pháp có thể gọi các Properties để truy cập dữ
liệu.
Có reflection.
2.2.5. Java
Là một ngôn ngữ bậc cao như C, C++, Perl, SmallTalk,.. cho nên có thể
được dùng để tạo ra các ứng dụng để giải quyết các vấn đề về số, xử lý văn bản,
tạo ra trò chơi, và nhiều thứ khác.
Có các môi trường lập trình đồ họa như Visual Java, Symantec Cafe...
Có khả năng truy cập dữ liệu từ xa thông qua cầu nối JDBC (Java DataBase
Connectivity)
Hỗ trợ các lớp hữu ích, tiện lợi trong lập trình các ứng dụng mạng (Socket)
cũng như truy xuất Web.
Hỗ trợ lập trình phân tán (Remote Method Invocation ) cho phép một ứng
dụng có thể được xử lý phân tán trên các máy tính khác nhau.
Ngôn ngữ hoàn toàn hướng đối tượng.
Ngôn ngữ đa nền cho phép một chương trình có thể thực thi trên các hệ điều
hành khác nhau (MS Windows, UNIX, Linux) mà không phải biên dịch lại chương
11
trình. Phương châm của java là "Viết một lần , Chạy trên nhiều nền" (Write Once,
Run Anywhere).
Ngôn ngữ đa luồng, cho phép trong một chương trình có thể có nhiều luồng
điều khiển được thực thi song song nhau, rất hữu ích cho các xử lý song song.
Ngôn ngữ phân tán, cho phép các đối tượng của một ứng dụng được phân
bố và thực thi trên các máy tính khác nhau.
Ngôn ngữ động, cho phép mã lệnh của một chương trình được tải từ một
máy tính về máy của người yêu cầu thực thi chương trình.
Ngôn ngữ an toàn, tất cả các thao tác truy xuất vào các thiết bị vào ra đều
thực hiện trên máy ảo nhờ đó hạn chế các thao tác nguy hiểm cho máy tính thật.
Ngôn ngữ đơn giản, dễ học, kiến trúc chương trình đơn giản, trong sáng.
2.3. Kết luận và đánh giá
Với đề này, trong khuôn khổ của mình, em sẽ sử dụng các công cụ chính sau:
SQL Server vì công cụ này có khá nhiều ưu điểm phù hợp với khôn khổ project.
Đa số người dùng máy tính khá quen với các hệ điều hành Windows nên việc sử
dụng SQL Server cũng có ít có trục trặc khi tiến hành ứng dụng.
Visual C# là công cụ cho phép người lập trình nhìn trước được phần giao diện
của chương trình, kết nối đến các hệ quản trị cơ sở dữ liệu linh hoạt.
12
Chương 3. PHÂN TÍCH HỆ THỐNG
3.1. Sơ đồ chức năng
Đặc tả chức năng hệ thống
-
Quản lý nhận xe: Là chức năng phục vụ cho quá trình quản lý thông tin của xe
khi gửi bãi đỗ xe.
-
Quản lý trả xe: Là chức năng phục vụ cho quá trình quản lý thông tin và giao
dịch khi xe được lấy ra khỏi bãi đỗ.
-
Giải quyết sự cố: Là chức năng phục vụ cho quá trình xử lý xe vi phạm và bồi
thường cho xe gặp sự cố.
-
Báo cáo: Là chức năng phục vụ cho quá trình kết xuất thông tin của người
quản lý hệ thống.
13
Hình 3.1: Sơ đồ phân rã chức năng
14
3.2. Biểu đồ chức năng
3.2.1. Chức năng tổng quát hệ thống
Hình 3.2: Biểu đồ chức năng tổng quát hệ thống
3.2.2. Quản lý nhận trả xe
Hình 3.3: Biểu đồ quản lý nhận trả xe
15
3.2.3. Giải quyết sự cố và báo cáo
Hình 3.4: Biểu đồ chức năng báo cáo và giải quyết sự cố
3.3. Sơ đồ hoạt động
3.3.1. Nhận xe vé ngày và vé tháng
16
Hình 3.5: Sơ đồ hoạt động nhận xe vé tháng- ngày
17
3.3.2. Trả xe vé ngày và vé tháng
Hình 3.6: Sơ đồ hoạt động trả xe vé tháng- ngày
3.4. Class diagram tầng Entity
18
19