ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THÔNG TIN
Tel. (84-511) 736 949, Fax. (84-511) 842 771
Website: itf.ud.edu.vn, E-mail: [email protected]
LUẬN VĂN TỐT NGHIỆP KỸ SƯ
NGÀNH CÔNG NGHỆ THÔNG TIN
MÃ NGÀNH : 05115
ĐỀ TÀI :
XÂY DỰNG HỆ CHƯƠNG TRÌNH QUẢN LÝ KÝ TÚC XÁ
TRƯỜNG ĐẠI HỌC BÁCH KHOA-ĐẠI HỌC ĐÀ NẴNG
Mã số : 06T4-21
Ngày bảo vệ : 15-16/06/2011
SINH VIÊN : NGUYỄN MINH KHOA
LỚP :
06T4
CBHD :
ThS. PHAN CHÍ TÙNG
ĐÀ NẴNG, 06/2011
LỜI CẢM ƠN
Tôi xin chân thành cảm ơn các thầy cô trong khoa Công Nghệ Thông
Tin, Trường đại học Bách khoa, Đại học Đà Nẵng đã tận tình dạy dỗ tôi
trong suốt thời gian học tập.
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
MỤC LỤC
MỞ ĐẦU..................................................................................................................1
CƠ SỞ LÝ THUYẾT...............................................................................................1
.I Công cụ hỗ trợ lập trình:................................................................................................1
.I.1. Microsoft Visual Studio 2008:............................................................................1
.I.1.1. Lược sử phát triển:..........................................................................................1
.I.1.2. Một số tính năng nổi bật:................................................................................2
.I.2. Những ưu điểm và các phiên bản:......................................................................4
.I.2.1. Những ưu điểm:...............................................................................................4
.I.2.2. Các phiên bản:................................................................................................4
.II Ngôn ngữ lập trình C#:.................................................................................................5
.II.1. Microsoft .NET:.................................................................................................5
.II.1.1. Thư viện lớp .NET Framework:.....................................................................5
.II.2. Ngôn ngữ C#:.....................................................................................................5
.III Cơ sở dữ liệu SQL Server 2005:.................................................................................6
.III.1. Khái niệm SQL:................................................................................................6
.III.2. Đặc điểm, đối tượng làm việc của SQL Server:..............................................6
.III.2.1. Đặc điểm của SQL Server:...........................................................................6
.III.2.2. Các kiểu dữ liệu cơ bản của SQL Server:....................................................7
.III.3. Đối tượng làm việc của SQL:..........................................................................7
.III.4. Giới thiệu các tập lệnh cơ bản của SQL :........................................................7
.III.5. Những đặc điểm khiến SQL Server 2005 nổi trội hơn SQL Server 2000.......7
.III.7. Chức năng tìm kiếm:......................................................................................20
.IV Phân tích các nghiệp vụ và sơ đồ mô tả:..................................................................20
.IV.1. Những nghiệp vụ chính:.................................................................................20
.IV.1.1. Mô tả chức năng:........................................................................................20
.IV.1.2. Xác định các đối tượng liên quan và nhu cầu của hệ thống:......................21
.IV.2. Sơ đồ thuật toán đặc tả các nghiệp vụ:..........................................................23
.IV.2.1. Nhận hồ sơ Sinh viên:..................................................................................23
.IV.2.2. Thêm hồ sơ Sinh Viên:.................................................................................24
.IV.2.3. Xét chọn Sinh viên:......................................................................................25
.IV.2.4. Xếp Phòng cho Sinh viên:...........................................................................26
.IV.2.5. Cập nhật thông tin thu chi:.........................................................................27
.V Phân tích dữ liệu:.......................................................................................................29
.V.1. Từ điển dữ liệu:................................................................................................29
.V.1.1. Bảng danh mục từ điển dữ liệu thô:.............................................................29
.V.1.2. Xây dựng từ điển dữ liệu:.............................................................................30
.V.2. Xây dựng mô hình thực thể kết hợp:...............................................................31
.V.2.1. Xây dựng các thực thể:.................................................................................31
.V.3. Mô hình dữ liệu quan hệ:.................................................................................39
XÂY DỰNG CHƯƠNG TRÌNH...........................................................................41
.I Các công cụ và yêu cầu hệ thống:...............................................................................41
.I.1. Các công cụ:......................................................................................................41
.I.1.1. Công cụ viết chương trình:............................................................................41
.I.1.2. Công cụ hỗ trợ giao diện:.............................................................................41
.I.1.3. Công cụ viết báo cáo:....................................................................................41
.I.2. Yêu cầu hệ thống:.............................................................................................41
.II Một số hình ảnh Demo chương trình:........................................................................42
.II.1. Chức năng đăng nhập và các danh mục quản lý:...........................................42
.II.1.1. Đăng nhập:..................................................................................................42
.II.1.2. Menu chính:.................................................................................................42
bản Giao thông vận tải......................................................................................................1
[3] Erik Brown Manning. Windows Forms Programming with C#.................................1
[4] Phan Huy Khánh. Giáo trình Phân tích thiết kế hệ thống. Đà Nẵng, 2000................1
[5] Trần Nguyên Phong.Giáo trình thực hành SQL.Đại học Huế....................................1
[6] Trang web : http://forums.congdongcviet.com/forumdisplay.php?f=9.......................1
[7] Trang web: http://www.csharpvn.com/Default.aspx..................................................1
DANH MỤC HÌNH
Hình 1: Microsoft Visual Studio 2008....................................................................1
Hình 2:Hai phiên bản Professional và Standard...................................................2
Hình 3: Sơ đồ tổ chức ban quản lý ký túc xá ĐHBK-ĐH Đà Nẵng.....................9
Hình 4:Sơ đồ phân cấp chức năng của hệ thống.................................................11
Hình 5:Sơ đồ ngữ cảnh..........................................................................................12
Hình 6:Mô tả sơ đồ dòng dữ liệu mức 0...............................................................13
Hình 7:Mô tả sơ đồ dòng dữ liệu mức 1...............................................................14
Hình 8: Use case quản lý hệ thống........................................................................15
Hình 9: Use case quản lý thông tin sử dụng phòng.............................................15
Hình 10: Use case quản lý thông tin sử dụng tài sản..........................................16
Hình 11: Use case quản lý thông tin sử dụng dịch vụ.........................................16
Hình 12: Use case quản lý nhà..............................................................................17
Hình 13: Use case quản lý phòng..........................................................................17
Hình 14: Use case quản lý dịch vụ........................................................................18
Hình 15: Use case quản lý tài sản.........................................................................18
Hình 16: Use case quản lý sinh viên.....................................................................19
Hình 17: Use case quản lý cán bộ.........................................................................19
Hình 18: Use case thống kê báo cáo.....................................................................20
Hình 19: Use case chức năng tìm kiếm.................................................................20
Hình 20:Sơ đồ mô tả chức năng tiếp nhận hồ sơ.................................................23
Hình 21:Mô hình mô tả chức năng thêm hồ sơ Sinh viên...................................24
Hình 50:Tìm kiếm nhân viên................................................................................48
Hình 51:Tìm kiếm Sinh viên.................................................................................49
Hình 52:Phòng sử dụng.........................................................................................49
Hình 53:Danh sách tất cả sinh viên......................................................................50
Hình 54:Danh sách sinh viên theo nhà.................................................................50
Hình 55:Thông tin phòng sử dụng........................................................................51
Hình 56:In hóa đơn dịch vụ sử dụng....................................................................51
DANH MỤC BẢNG
Bảng 1:Các biển cố vào ra.....................................................................................11
Bảng 2:Mô tả nghiệp vụ........................................................................................21
Bảng 3:Đối tượng và nhu cầu...............................................................................21
Bảng 4:Bảng dữ liệu..............................................................................................30
Bảng 5:Từ điển dữ liệu..........................................................................................31
Bảng 6:Bảng dữ liệu Cán bộ.................................................................................32
Bảng 7: Bảng dữ liệu Chức vụ..............................................................................32
Bảng 8: Bảng dữ liệu Dịch vụ...............................................................................33
Bảng 9: Bảng dữ liệu Hóa đơn..............................................................................33
Bảng 10: Bảng dữ liệu Nhà...................................................................................34
Bảng 11: Bảng dữ liệu Phòng................................................................................35
Bảng 12: Bảng dữ liệu Sinh viên...........................................................................36
Bảng 13: Bảng dữ liệu Sử dụng dịch vụ...............................................................36
Bảng 14: Bảng dữ liệu Sử dụng tài sản................................................................37
Bảng 15: Bảng dữ liệu Tài sản..............................................................................38
Bảng 16: Bảng dữ liệu Users.................................................................................38
Quản lý Ký túc xá
Quản lý việc thu tiền điện nước, các loại phí.
Kết quả dự kiến:
-
Nắm vững ngôn ngữ lập trình C#, hệ quản trị cơ sở dữ liệu SQL Server
2005 và công cụ hỗ trợ lập trình Microsoft Visual Studio 2008
Chương trình có giao diện đơn giản, dễ sử dụng và nâng cấp.
Chương trình chạy ổn định, hiệu quả cao, đáp ứng các yêu cầu đặt ra của
hệ thống.
IV.Tóm tắt phương pháp triển khai:
Tóm tắt phương pháp triển khai:
-
Khảo sát Ký túc xá Đại học Bách Khoa, Đại học Đà Nẵng, tìm hiểu về số
khu, số phòng, cách thức quản lý nhân viên và sinh viên, đăng ký phòng ở,
các khoản phí.
Tìm hiểu ngôn ngữ lập trình C#, cơ sở dữ liệu SQL Server 2005.
Công cụ hỗ trợ lập trình Visual Studio 2008.
Phân tích các chức năng của bài toán.
Thiết kế cơ sở dữ liệu.
Nguyễn Minh Khoa, LỚP 06T4
Quản lý Ký túc xá
.I.1.1.
Lược sử phát triển:
Ngược dòng thời gian, trở về với năm 1997, thời điểm phiên bản đầu tiên, Visual
Studio được chia ra các bản IDE (Integrated Development Environment – môi trường
phát triển tích hợp) nhỏ bao gồm Visual C++, Visual Basic, Visual J++ và một công
cụ có tên InterDev.
Năm 2002 và 2003, Microsoft trình làng cặp sản phẩm mang tính đột phá Visual
Studio .NET 2002 và Visual Studio .NET 2003 cùng với .Net Framework. Đây là một
IDE đa năng, bạn có thể viết ứng dụng bằng nhiều ngôn ngữ, từ C++, Visual Basic
cho dến C#; chỉ cần duy nhất một IDE là bạn sẽ làm chủ tất cả, từ thiết kế giao diện
cho tới soạn thảo mã lệnh, tất cả đều thật dễ dàng.
Ba năm sau, Visual Studio 2005 ra đời, nó giúp cho nhà phát triển làm việc nhóm
dễ dàng và hiệu quả, cũng như giúp họ giảm bớt công sức và thời gian trong quá trình
phát triển.
Hình 1: Microsoft Visual Studio 2008
Phiên bản Visual Studio 2008 tăng cường sức mạnh cho các cá nhân và các nhóm
phát triển phần mềm nhỏ chuyển giao các ứng dụng nối mạng tận dụng được công
nghệ mới nhất mà vẫn đáp ứng hiệu quả hơn các mục tiêu kinh doanh.
Microsoft® Visual Studio® 2008 thể hiện tầm nhìn rộng của Microsoft về các
ứng dụng máy khách bằng cách cho phép các chuyên gia phát triển phần mềm có thể
nhanh chóng tạo ứng dụng kết nối với chất lượng cao và những kinh nghiệm người
dùng phong phú.
Nguyễn Minh Khoa, LỚP 06T4
1
Với Visual Studio 2008, các tổ chức sẽ thấy dễ dàng hơn so với các phiên bản
Truy xuất dữ liệu:
Có thể nói những thay đổi về truy xuất dữ liệu trong Visual Studio 2008 là một
cuộc cách mạng. Ở phiên bản này Microsoft giới thiệu LINQ (Language Integrated
Query – Ngôn ngữ truy vấn tích hợp) giúp nhà phát triển có thể tương tác với dữ liệu
dựa trên một mô hình hoàn toàn mới với rất nhiều hỗ trợ cho hai ngôn ngữ C# và
Visual Basic. Xử lý dữ liệu luôn là trở ngại chính mà các nhà phát triển thường phải
đối mặt, đặc biệt là quá trình làm việc với những dữ liệu mang tính trao đổi cao như
XML (eXtensible Markup Language - Ngôn ngữ đánh dấu mở rộng). Nhưng với
Nguyễn Minh Khoa, LỚP 06T4
2
Quản lý Ký túc xá
LINQ, mọi thứ dường như được giải tỏa, bởi như tên gọi của nó, LINQ được tích hợp
vào ngay bản thân ngôn ngữ lập trình.
.I.1.2.3.
Thiết kế giao diện nhanh, hiệu quả:
Với Visual Studio 2008, chỉ với một IDE duy nhất, chúng ta có thể làm việc được
với tất cả các phiên bản của .Net Framework từ phiên bản mới nhất 3.5 đến phiên cũ
hơn 3.0 hay thậm chí là 2.0. Đặc biệt Windows Form designer của Visual Studio 2008
được tích hợp chặt chẽ với WPF (Windows Presentation Foundation), giúp nhà phát
triển có được một giao diện thật bắt mắt nhưng lại chẳng tốn nhiều thời gian, công
sức.
Không chỉ có vậy, chúng ta có thể sử dụng bộ công cụ thiết kế giao diện hàng đầu
thể không cần viết một dòng mã nào.
.I.1.2.7.
Cộng tác:
Với Visual Studio Team System 2008, nhóm phát triển có được những hỗ trợ đặc
biệt từ các tính năng mới, có thể quản lý được chất lượng của sản phẩm ở mọi khâu
trong quá trình phát triển.
.I.1.2.8.
Mở rộng nhóm:
Như đã nói, về khả năng cộng tác, Visual Studio Team System 2008 tốt hơn bao
giờ hết. Toàn bộ nhóm phát triển có thể làm việc “cùng nhau” một cách thực thụ.
Chuyên viên phân tích cơ sở dữ liệu có thể tạo riêng ra các project CSDL rồi tích
hợp chúng vào hệ thống quản lý phiên bản của Team Foundation Server (Team
Foundation Server’s version control), kiểm tra thử các Stored procedure, sinh ra dữ
liệu thử nghiệm.
Nguyễn Minh Khoa, LỚP 06T4
3
Quản lý Ký túc xá
Trong khi đó nhà thiết kế giao diện có thể tung hoành với bộ công cụ Microsoft
Expression Studio để tạo ra những giao diện bắt mắt nhất với hiệu năng cao nhất. Và
nhà phát triển có thể sử dụng ngay Visual Studio để soạn thảo code.
.I.1.2.9.
Nhắm tới chất lượng:
450 MB.
- Visual Studio 2008 Standard Edition (722 MB).
- Visual Studio 2008 Professional Edition (3,1 GB).
- Visual Studio Team System 2008 Team Suite (3,2 GB).
- Visual Studio Team System 2008 Team Foundation Server (1,4 GB).
- Visual Studio Team System 2008 Test Load Agent (232 MB).
- MSDN Library for Visual Studio 2008 (1,9 GB).
Chúng được đóng gói dưới dạng file ảnh “.img”, bạn cần ghi ra đĩa CD/DVD để
cài đặt hoặc mount trực tiếp file ảnh để cài.Tải bản dùng thử 90 ngày tại địa chỉ sau:
http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx .
Ngoài ra bạn cũng có thể sử dụng Virtual PC để thử nghiệm Visual Studio 2008,
Microsoft có cung cấp Virtual PC cài sẵn Visual Studio 2008 (có thể tải ở địa chỉ trên)
gồm 2 file ảnh:
- Visual Studio Team System 2008 Team Suite (4,6 GB)
Nguyễn Minh Khoa, LỚP 06T4
4
Quản lý Ký túc xá
-
Visual Studio Team System 2008 Team Suite & Team Foundation Server
(5.6 GB).
.II Ngôn ngữ lập trình C#:
.II.1.
Microsoft .NET:
Visuabasic, Dephi và Java.
C# hỗ trợ giao diện interface, nó được xem như một cam kết với một lớp cho
những dịch vụ mà giao diện quy định. Trong ngôn ngữ C#, một lớp chỉ có thể kế thừa
từ duy nhất một lớp cha, tức là không cho đa kế thừa như trong ngôn ngữ C++, tuy
nhiên một lớp có thể thực thi nhiều giao diện.Khi một lớp thực thi một giao diện thì
nó sẽ cung cấp chức năng thực thi giao diện.
Ngôn ngữ C# cung cấp những đặc tính hướng thành phần (component-oriented),
như là những thuộc tính, những sự kiện.Lập trình hướng thành phần được hỗ trợ bởi
CLR cho phép lưu trữ metadata với mã nguồn cho một lớp.Metadata mô tả cho một
Nguyễn Minh Khoa, LỚP 06T4
5
Quản lý Ký túc xá
lớp, bao gồm những phương thức và những thuộc tính của nó, cũng như những sự bảo
mật cần thiết và những thuộc tính khác.
Mã nguồn chứa đựng những logic cần thiết để thực hiện những chức năng của
nó.Do vậy, một lớp được biên dịch như là một khối self-contained, nên môi trường
hosting biết được cách đọc metadata của một lớp và mã nguồn cần thiết mà không cần
những thông tin khác để sử dụng nó.
C# là một ngôn ngữ đơn giản:
- Loại bỏ những phức tạp có trong Java hay C++ như macro, template, đa
kế thừa, virtual base class.
- Giống về diện mạo cú pháp C và C++ nhưng được cải tiến đơn giản hơn
C# là một ngôn ngữ hiện đại:
Có đầy đủ tính năng : Xử lý ngoại lệ, thu gom bộ nhớ tự động, kiểu dữ liệu an
toàn, bảo mật mã nguồn.
C# là ngôn ngữ hướng đối tượng:
- Đóng gói (Encapsulation).
Quản lý Ký túc xá
Yêu cầu duy nhất để sử dụng cho các hỏi đáp là phải nắm vững các cấu trúc
ngữ pháp của mình.
.III.2.2. Các kiểu dữ liệu cơ bản của SQL Server:
Integer: số nguyên từ -2147483648 đến 2147483648.
Smallinteger : -32768 đến 32767
Number: Số thập phân độ dài tối đa là n kể cả p chữ số thập phân (không tính
dấu chấm).
Char: Xâu có độ dài cố định là n, n
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
.I
Phân tích hệ thống:
.I.1.
.I.1.1.
Yêu cầu đặt ra của bài toán:
Yêu cầu chức năng:
- Quản lý lưu trữ tất cả những thông tin hồ sơ đăng ký ở Ký túc xá.
- Quản lý danh sách các sinh viên, và tài sản trong Ký túc xá.
- Cho phép tìm kiếm thông tin một sinh viên hay một hồ sơ đăng ký.
- Tự động sắp xếp phòng cho sinh viên như yêu cầu trong bảng mô tả.
- Tự động cập nhật các khoản phí và lệ phí khi phát sinh của sinh viên.
- Thông báo và in danh sách sinh viên theo yêu cầu.
- Tự động tính toán và tổng hợp các khoản phí.
.I.1.2.
-
.I.2.
Yêu cầu phi chức năng:
Trợ giúp ban quản lý Ký túc xá lập và in danh sách các phòng còn chỗ.
Tính toán các khoản phải thu khác nếu phòng dùng thêm các dịch vụ.
Thông tin tổ chức:
Quản lý tập trung sinh viên.
Quản lý các trưởng nhà. Nắm được tình hình vào, ra, sinh sống của
các sinh viên trong Ký túc xá.
Phòng Vệ sinh môi trường: Quản lý và chịu trách nhiệm công tác vệ sinh
môi trường trong Ký túc xá.
Phòng Bảo vệ:
- Gồm 1 trưởng phòng và các nhân viên.
- Chịu trách nhiệm công tác an ninh, trật tự trong Ký túc xá.
- Quản lý việc vào ra của các sinh viên và khách.
Phòng Tài vụ:
- Gồm 1 trưởng phòng, 2 Phó phòng và các nhân viên.
- Quản lý tài chính trong Ký túc xá. Ghi nhận các khoản thu chi.
- Thực hiện các báo cáo thống kê tài chính.
.I.2.2.
Phương thức quản lý của Ký túc xá, các biến cố vào ra:
Quá trình sắp xếp cho Sinh viên vào phòng được thực hiện theo một số nguyên tắc
sau:
Vào mỗi dịp đầu năm học, ban quản lý nhận danh sách Sinh viên trúng tuyển
muốn đăng ký vào ở Ký túc xá. Sau đó, dựa vào điều kiện và hồ sơ có đầy đủ hay
không để xét xem Sinh viên đó có thể vào ở Ký Túc Xá hay không.
Sau khi duyệt qua danh sách, những Sinh viên được vào ở sẽ được sắp xếp theo
quy định hoặc nguyện vọng của Sinh viên theo điều kiện cho phép như sau:
Sinh viên nam, nữ bắt buộc ở riêng.
Mỗi phòng có số lượng Sinh viên cố định.
Sau đó xếp đầy cho từng phòng.
Sau khi thu thập được một số thông tin, xuất phát từ nhu cầu thực tế của Ký túc
xá trường Đại học Bách khoa-Đại học Đà Nẵng có thể miêu tả các biến cố vào ra theo
bảng như sau:
STT
Danh sách phòng
6
Sắp xếp phòng theo điều kiện
Danh sách đủ điều kiện Phòng sinh viên
+ danh sách phòng trống được vào ở
Nguyễn Minh Khoa, LỚP 06T4
10
Quản lý Ký túc xá
7
Xử lý thu phí và các loại phí
khác
Biên lai các khoản phí
đã đóng
Ghi nhận các
khoản phí đã
đóng
8
trước đó (trường hợp này vẫn còn hợp lệ như nhà đó còn chỗ trống )….
Dữ liệu cần cho việc xây dựng phần mềm cũng dựa trên những yếu tố có sẵn và
những thuộc tính được thêm vào để làm cho dữ liệu được tối ưu hóa, và giảm đi
những những sai sót và tăng thêm tính chính xác. Dữ liệu được biểu diễn theo các sơ
đồ dưới đây.
.II.1.2.
Sơ đồ ngữ cảnh:
Sơ đồ ngữ cảnh (Context Diagrams) bao gồm ba nhóm thành phần:
- Thành phần chính là một hình tròn nằm giữa vị trí trung tâm của sơ đồ,
biểu thị cho toàn bộ hệ thống đang được nghiên cứu.
- Xung quanh hình tròn trung tâm này là tất cả các phần tử bên ngoài, có
quan hệ với hệ thống (tác nhân ngoài).
- Tất cả các đường truyền thông tin vào và ra khỏi hệ thống (nối hệ thống
với các tác nhân ngoài của nó lại với nhau).
Việc sử dụng sơ đồ ngữ cảnh nhằm làm rõ biên giới của hệ thống và hỗ trợ việc
nghiên cứu các mối quan hệ của hệ thống với thế giới bên ngoài.
Nguyễn Minh Khoa, LỚP 06T4
11
Quản lý Ký túc xá
Sơ đồ ngữ cảnh giúp cho ta có cái nhìn rõ và tổng quát một hệ thống cùng với các
thông tin vào ra của hệ thống.
Hình 5:Sơ đồ ngữ cảnh
.II.1.3.
Biểu đồ luồng dữ liệu DFD: