1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài tập nhóm chương trình quản lý ký túc xá môn học lập trình trực quan c#

39 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Bài Tập Nhóm Chương Trình Quản Lý Ký Túc Xá
Tác giả Trương Thành Đạt, Nguyễn Tuấn Dũng, Vương Quân Bảo, Vũ Minh Quyết, Lê Mạnh Dũng
Người hướng dẫn Trần Thị Xuân Hương
Trường học Trường Đại Học Công Nghệ Giao Thông Vận Tải
Chuyên ngành Công Nghệ Thông Tin
Thể loại bài tập nhóm
Định dạng
Số trang 39
Dung lượng 1,48 MB

Cấu trúc

  • Chương 1. Giới thiệu tổng quan bài tập lớn (4)
    • 1.1. Đặt vấn đề (4)
    • 1.2. Giới thiệu đề tài (4)
    • 1.3. Yêu cầu của đề tài (4)
    • 1.4. Các biểu mẫu trong thực tế (5)
    • 1.5. Các công cụ thực hiện (5)
    • 1.6 Sơ đồ cơ sở dữ liệu (6)
    • 2. Xây dựng cơ sở dữ liệu (6)
      • 2.1. Danh sách các bảng (6)
      • 2.2. Phân công nhiệm vụ (13)
  • CHƯƠNG 2: CƠ SỞ NGHIÊN CỨU LÝ THUYẾT (14)
  • CHƯƠNG 3: XÂY DỰNG PHẦN MỀM (30)
    • 3.1. Form đăng nhập (30)
    • 3.2. Form giao diện chính (30)
    • 3.3. Form quản lý sinh viên (31)
    • 3.4. Form danh sách phòng trống (32)
    • 3.5. Form quản lý phòng (32)
    • 3.6. Form hợp đồng thuê phòng (0)
    • 3.7. Form phiếu thu tiền phòng (33)
    • 3.8. Form hóa đơn điện nước hàng tháng (0)
    • 3.9. Form tìm kiếm (0)
    • 3.10. Form quản lý cán bộ (34)
    • 3.11. Form quản lý tài khoản (35)
    • 3.12. Form danh sách sinh viên theo phòng (35)
    • 3.13. Form đăng ký thuê ký túc xá (36)

Nội dung

Trước bài toán đặt ra với nhà trường hiện nay: vấn đề quản lý kí túc xá – một vấn đề đã có từ lâu nhưng vẫn còn khá nhiều bất cập như: việc quản lý ký túc xá vẫn còn theo phương pháp thủ

Giới thiệu tổng quan bài tập lớn

Đặt vấn đề

Hàng năm, các trường đại học tiếp nhận hàng nghìn sinh viên, dẫn đến nhu cầu đăng ký nội trú ngày càng tăng Tuy nhiên, vấn đề quản lý ký túc xá vẫn còn nhiều bất cập, như việc áp dụng phương pháp thủ công và thiếu tính thống nhất trong dữ liệu Nhiều trường đại học hiện nay có số lượng sinh viên đông nhưng chỉ có một hoặc hai nhân viên quản lý, khiến khối lượng công việc trở nên quá tải và hiệu quả quản lý không cao.

Giới thiệu đề tài

Ngày nay, công nghệ thông tin đã trở thành một phần thiết yếu trong cuộc sống, với nhiều ứng dụng trong quản lý nhân sự, nhà hàng và trường học, giúp giảm chi phí lao động và nâng cao hiệu quả quản lý dữ liệu Điều này đặt ra câu hỏi về việc tại sao không áp dụng công nghệ thông tin vào quản lý ký túc xá, nhằm tối ưu hóa quy trình và cải thiện chất lượng dịch vụ cho sinh viên.

Từ câu hỏi đó nhóm chúng tôi đã bắt tay vào tìm hiểu và nghiên cứu đề tài :

“Xây dựng phần mềm quản lý ký túc xá trường học”.

Yêu cầu của đề tài

 Hoàn thành phần mềm ứng dụng quản lý ký túc xá.

 Yêu cầu về giao diện: đáp ứng yêu cần về mặt thẩm mĩ, giao diện thân thiện với người dùng, dễ dàng cho việc sử dụng.

Để quản lý sinh viên trong ký túc xá hiệu quả, hệ thống cần có đầy đủ các chức năng tối thiểu như quản lý thông tin phòng và thông tin người thuê.

Các biểu mẫu trong thực tế

Hình 1 1 Mẫu hợp đồng thuê ký túc xá

Các công cụ thực hiện

Các công cụ thực hiện bài tập lớn:

Sơ đồ cơ sở dữ liệu

Hình 2 1 Cơ sở dữ liệu của bài toán.

Xây dựng cơ sở dữ liệu

2.1.Danh sách các bảng bảng accounts:

Tên trường Kiểu dữ liệu Khóa Mô tả Ghi chú

TaiKhoan Nvarchar (50) Chính Tên tài khoản

MaCB Nvarchar (50) Tên cán bộ

Tên trường Kiểu dữ liệu Khóa Mô tả Ghi chú

Tên trường Kiểu dữ liệu Khóa Mô tả Ghi chú

Tên trường Kiểu dữ liệu Khóa Mô tả Ghi chú

Tên trường Kiểu dữ liệu Khóa Mô tả Ghi chú

Tên trường Kiểu dữ liệu Khóa Mô tả Ghi chú

Tên trường Kiểu dữ liệu Khóa Mô tả Ghi chú

Tên trường Kiểu dữ liệu Khóa Mô tả Ghi chú MaPhong nvarchar(50) Chính MaPhong

Tên trường Kiểu dữ liệu Khóa Mô tả Ghi chú

*Phân công nhiệm vụ Form của các thành viên:

- Trương Thành Đạt(Nhóm trưởng):

 Tìm kiếm (Thông tin sinh viên, Phòng)

 Danh sách sinh viên theo phòng

CƠ SỞ NGHIÊN CỨU LÝ THUYẾT

1.Ngôn ngữ truy vấn SQL

1 INSERT: Thêm dữ liệu vào 1 bảng

INSERT INTO [()]

VALUE (Các giá trị) |

Insert Into SinhVien (maSV, tenSV, ngaySinh, gioiTinh, diaChi, soDT, lop, khoasHoc, khoa)

Values (‘201724222 ’ ,‘Trương đạt’, ‘22/12/2004’, ‘Nam’, Nghệ an,

2 UPDATE: Sửa đổi dữ liệu trong bảng

UPDATE SET = … [WHERE

Update Accounts Set matKhau = 1, MaCB=2

3 DELETE: xóa dữ liệu trong bảng

DELETE FROM | [WHERE ]

4 SELECT: câu lệnh truy vấn

SELECT [all/distinct] | * | FROM | [WHERE ]

Select * from Khoa where MaKhoa=’CNTT’

Stored Procedure là một tập hợp các câu lệnh SQL được sử dụng để thực hiện một nhiệm vụ cụ thể, hoạt động tương tự như một hàm trong các ngôn ngữ lập trình khác.

Body of the stored procedure

SQL statements and logic here

INSERT INTO SinhVien (MaSV, TenSV, NgaySinh, GioiTinh, DiaChi, SoDT, Lop, KhoaHoc, Khoa)

VALUES (@maSV, @tenSV, @ngaySinh, @gioiTinh, @diaChi,

2.Ngôn ngữ lập trình c#

1 Form và thuộc tính của Form. a MDI Form và Child Form

MDI Form là một tính năng quan trọng cho phép người dùng tạo ra một form chính có khả năng mở ra các form con (child form) bên trong nó, giúp tối ưu hóa trải nghiệm làm việc với nhiều cửa sổ trong cùng một giao diện.

 Để thêm một MDI form ta làm như sau:

- Vào Project/ Add windows form / MDI parent Form

Sau khi thêm MDI Parent Form, chúng ta cần tạo một Form con để có thể gọi ra từ Form cha Mặc dù MDI Parent Form đã cho phép gọi Form con, nhưng Form này vẫn chưa có nội dung gì, do đó việc thêm Form con là cần thiết để hoàn thiện chức năng của ứng dụng.

 Code để gọi Form con nằm trong Form cha private void ShowNewForm(object sender, EventArgs e)

Form childform = new Form1(); childform.MdiParent = this; childform.Text = "Window " + childFormNumber++; childform.Show();

 Child Form: Là Form nằm trong MDI Form và phải khhai báo thuộc tính MDIParent ứng với MDI Form.

Ví dụ: Form frm = new Form3();

This là từ khóa chỉ định Form gọi đến Form3 là MDI Form b Thuộc tính của form.

 Thuộc tính của Form

Thuộc tính Chức năng

(Name) Tên Form: nó như 1 biến

AllowDrop Cho phép kéo thả

AutosizeMode + GroupOnly: cho phép thay đổi kích thước form

+ GrowAndSkink: không cho phép thay đổi kích thước form

ContextMenuStrip Menu xuất hiện khi chuột phải lên form

Cursor Con trỏ chuột khi rê trên form

Opacity Độ trong suốt của form

ShowlnTaskbar Hiện thị ở thank taskbar khi chạy form (true/false)

StartPosition Vị trí xuất hiện ở form

+ CenterParent: giữa form gọi ra nó (form cha)

TopMost Hiển thị đè lên các form khác

WindowState Trạng thái của form

Text Chữ hiển thị khi form chạy

 Các sự kiện trên Form:

- Các sự kiện trên form ít khi được sử dụng Một số sự kiện thường được sử dụng đó là:

 DragDrop: kéo thả đối tượng vào Form

 Keyup: xác định phím ấn

 Load: Xuất hiện trước khi form show

- Close: đóng form và free resource

- Show: hiển thị form đang ẩn

 Các bước tạo ứng dụng Windown Form đơn giản

- Tạo lớp kế thừa từ lớp Form cơ sở

- Bổ sung các Control vào Form: Thêm các lable, button, textbox, menu,…

- Thiết kế layout cho form (bố trí control): Hiệu chỉnh kích thước, trình bày, giao diện cho Form và Control chứa trong Form

- Viết các xử lý cho các control trên Form và các xử lý khác

2 Các control (điều khiển cơ bản) a Lable: gồm các thuộc tính như

- Font: Thay đổi font chữ trên Label

- Text: Text hiển thị trên Label

- TextAlign: Căn chỉnh vị trí Text (left, center, right, bottom, midle,

- Name: Tên dùng để viết code b Textbox

 Font: Thay đổi font trên textbox

 Text: Hiển thị text trên control

 Multiline: Nếu là True thì textbox nhập nhiều dòng

 ReadOnly: Nếu là True thì textbox không thể nhập

 Keypress: xảy ra khi bàn phím được ấn

Khi dữ liệu văn bản thay đổi, sự kiện TextChanged sẽ được kích hoạt Combobox là một thành phần giao diện người dùng dùng để hiển thị danh sách các phần tử, có thể là chuỗi hoặc đối tượng, bao gồm giá trị và nhãn Combobox cho phép người dùng thay đổi hoặc thêm mới các phần tử trong danh sách.

Items Tập hợp các giá trị trong Listbox

DataSource Quy định nguồn dữ liệu cho Listbox

DataBinding Gắn các thuộc tính của Listbox với dữ liệu trên DataSource

SelectionMode Quy định chế độ lựa chọn giá trị, một hay nhiều

Sorted Cho phép sắp xếp các giá trị hay không

SelectedItem(*) Đối tượng được chọn

SelectedIndex(*) Chỉ số của phần tử đầu tiên được chọn

SelectValue(*) Giá trị của phần tử đầu tiên được chọn d Listview

- Dùng để trình bày phần tử dạng danh sách với nhiều hình dạng khác nhau:

AllowColumnReorde r Cho phép sắp xếp cột ở chế độ thi hành

CheckBoxes Xuất hiện Checkbox bên cạnh từng phần tử trên điều khiển Listview

Columns Khai báo cột (có header)

Group Khai báo nhóm để phân loại các phần tử trên điều khiển Listview

View Chế độ trình bày: List, Details, large icon, smallicon, title

Sorting Sắp xếp phần tử tăng dần (Asccending)

MultiSelect True nếu chọn nhiều phần tử

SelectedItems Trả về danh sách phần tử được chọn

CheckedItems Trả về danh sách phần tử được Check

Clear() Xóa tất cả các phần tử và cột trên điều khiển

ArrangeIcons Sắp xếp điều khiển trình bày trên ListView theo giá trị

SelectIndexChanged Khi người sử dụng thay đổi lựa chọn trên ListView

ItemActive Khi chọn phần tử trên ListView

ItemChecked Khi Check vào biểu tượng CheckBox của mỗi phần tử trên Listview e Checkbox:

- Hộp kiểm tra dạng ô vuông, trong một nhóm checkbox có thể không chọn, chọn một hay chọn nhiều checkbox

Checked Xác định checkbox có được tính chọn hay không (true hay false)

FlatSyle Kiểu đường viền của checkbox

Checkstate Trạng thái đang chọn, có ba trạng thái

Text Chuỗi trình bày ứng với diễn giải của tùy chọn

Appearance Hình dạng của Checkbox

MouseClick Xảy ra khi người dùng Click trên điều khiển

Xảy ra khi click vào biểu tượng Checkbox

Xảy ra khi thuộc tính CheckState bị thay đổi

Xảy ra khi giá trị diễn giải của điều khiển bị thay đổi

Xảy ra khi thuộc tính Enabled thay đổi từ

True sang False f RadioButton (OptionButton)

- Hộp lựa chọn dạng dấu chấm tròn, trong một nhóm radio, chỉ có thể chọn một radio

Checked Xác định radio có được tích chọn hay không

Text Chuỗi trình bày ứng với diễn giải tùy chọn

Appearance Hình dạng của điều khiển

TextAlign Căn lề chuỗi diễn giải trên điều khiển g Button:

Text: Text được hiển thị trên control

Click: Xảy ra khi người dùng click vào nút h DatagridView

- Bước 1: Tạo datagridview bằng cách thêm các cột

- Bước 2: Đổ dữ liệu vào DatagridView

- Bước 3: Lưu dữ liệu từ DatagridView vào DB

3.Giới Thiệu về ADO.net

ADO.NET là công cụ chứa các lớp đối tượng cho phép truy cập, thao tác với cơ sở dữ liệu.

- ADO.NET: ActiveX Data Object.NET

ADO.NET là công nghệ của Microsoft trên nền tảng NET Framework, được phát triển từ ADO trên VB 6.0 Nó cung cấp các lớp đối tượng và hàm thư viện hỗ trợ kết nối và xử lý dữ liệu hiệu quả.

ADO.NET tương tự như ADO, nhưng điểm khác biệt chính là ADO.NET sử dụng kiến trúc dữ liệu rời rạc và không kết nối Dữ liệu được truy xuất từ cơ sở dữ liệu và lưu trữ trên bộ nhớ cache của máy người dùng.

Kết nối không liên tục đến cơ sở dữ liệu mang lại nhiều lợi ích, đặc biệt là giảm lưu lượng truy cập đồng thời, giúp tiết kiệm tài nguyên bộ nhớ Điều này làm giảm đáng kể vấn đề hàng trăm ngàn kết nối truy cập vào cơ sở dữ liệu cùng một lúc.

Managed Provider Component: bao gồm các đối tượng như DataAdapter, DataReader, … giữ nhiệm vụ làm việc trực tiếp với dữ liệu như database, file, …

- Content Component: bao gồm các đối tượng như DataSet, DataTable,

The DataReader represents the actual data that needs to be processed, providing quick access to data in a forward-only and read-only manner, similar to the ADO RecordSet that utilizes a server cursor.

DataSet là một đối tượng mới, không chỉ đơn thuần là dữ liệu mà còn được xem như một bản sao gọn nhẹ của cơ sở dữ liệu (CSDL) trong bộ nhớ Nó bao gồm nhiều bảng và các mối quan hệ giữa chúng, giúp quản lý và xử lý dữ liệu hiệu quả hơn.

- DataAdapter là đối tượng kết nối giữa DataSet và CSDL, nó bao gồm

2 đối tượng Connection và Command để cung cấp dữ liệu cho DataSet cũng như cập nhật dữ liệu từ DataSet xuống CSDL.

-Dùng để kết nguồn dữ liệu, chuỗi kết nối được thiết lập qua thuộc tính ConnectionString

Đối tượng Command trong SQL được sử dụng để thực hiện các câu truy vấn và có khả năng trả về kết quả Nó cũng có thể được áp dụng cho các stored query và procedure, cho phép chấp nhận các tham số truyền vào.

CommandText Thuộc tính chỉ định câu lệnh SQL hoặc tên Stored procedure

CommandType Thuộc tính xác định điểu câu lệnh

- Có hai cách để tạo đối tượng Command:

 Sử dụng phương thức CreateCommand

- Có 4 cách để thực thi một Command:

 ExecuteXMLReader sqlCommand cmd=new SqlCommand(); cmd.Connection=con; cmd.CommandText=”Select Count(*)from Products”;

MessengeBox.Show(cmd.ExecuteScalar().ToString);

- Đối tượng Command với các Stored Procedure

Connection Thuộc tính cung cấp vào đối tượng Connection

Phương thức để cung cấp các Parameter của câu lệnh SQL

 Tạo một đối tượng Command

 Thết lập CommandType là StoredProcedure

 Dùng thương thức Add để tạo và thiết lập các biến (Parameter)

 Dùng thuộc tính parameterDirection để thiết lập kiểu biến

 Dùng đối tượng DataReader để hiển thị hoặc duyệt qua các bản ghi và đóng khi kết thúc.

 Truy cập đầu ra và trả về các biến.

- Có 2 cách tạo đối tượng DataAdapter

 Sử dụng đối tượng Connection tồn tại

 Mở kết nối Connection nếu cần thiết

- Phương thức Fill để đặt dữ liệu vào DataSet hoặc DataTable, và dùng phương thức Update để đồng bộ dữ liệu thay đổi tới dataSource

Dữ liệu trong DataSet được tổ chức dưới dạng một tập hợp các bảng (Collection of Tables) và cần được xử lý thông qua các lớp như DataTable, DataRow và DataColumn Kiến trúc của DataSet được thể hiện trong bảng dưới đây.

Phương Thức (Method) Giá Trị Trả Về (Return Value)

ExecuteNonQuey() Không trả về gì vì không phải query

ExecuteScalar() Một giá trị duy nhất

ExcuteReader() Không hoặc nhiều bảng

The System.Data.DataTable class is structured like a database table, consisting of rows and columns It includes two key components: DataRow and DataColumn DataRow represents a collection of columns, forming a record set.

Một Dataset có thể chứa một hoặc nhiều Data Table.

XÂY DỰNG PHẦN MỀM

Form đăng nhập

Form giao diện chính

Hình 3 2 Form giao diện chính.

Form danh sách phòng trống

Hình 3 4 Form danh sách phòng trống.

Form quản lý phòng

Hình 3 5 Form quản lý phòng

3.6 Form hợp đồng thuê phòng

Hình 3 6 Form hợp đồng thuê phòng

3.7 Form phiếu thu tiền phòng

Hình 3 7 Form phiếu thu tiền phòng

Hình 3 8 Form hóa đơn điện nước hàng tháng

3.10 Form quản lý cán bộ

Hình 3 10 Form quản lý cán bộ

3.11 Form quản lý tài khoản

Hình 3 11 Form quản lý tài khoản

3.12 Form danh sách sinh viên theo phòng

Hình 3 12 Form danh sách sinh viên theo phòng

3.13 Form đăng ký thuê ký túc xá

Hình 3 13 Form đăng ký thuê ký túc xá

Sau một thời gian làm việc và nghiên cứu dưới sự hướng dẫn của cô Trần Thị Xuân Hương, tôi đã hoàn thành bài báo cáo với chủ đề "Phần mềm quản lý ký túc xá".

Qua quá trình nghiên cứu đề tài, em đã học được cách lập kế hoạch khoa học và nhận thấy đây là cơ hội quý giá để mở rộng kiến thức của bản thân.

Sau quá trình làm bài em đã đạt được kết quả như sau:

 Phân tích thiết kế cho bài toán.

 Xây dựng được cơ sở dữ liệu.

 Xây dựng, phát triển được phần mềm quản lý ký túc xá.

Em xin chân thành cảm ơn cô đã giúp đỡ em trong quá trình làm bài tập lớn.

Form phiếu thu tiền phòng

Hình 3 7 Form phiếu thu tiền phòng

Hình 3 8 Form hóa đơn điện nước hàng tháng

3.10 Form quản lý cán bộ

Hình 3 10 Form quản lý cán bộ

3.11 Form quản lý tài khoản

Hình 3 11 Form quản lý tài khoản

3.12 Form danh sách sinh viên theo phòng

Hình 3 12 Form danh sách sinh viên theo phòng

3.13 Form đăng ký thuê ký túc xá

Hình 3 13 Form đăng ký thuê ký túc xá

Sau một thời gian làm việc và nghiên cứu dưới sự hướng dẫn của cô Trần Thị Xuân Hương, tôi đã hoàn thành bài báo cáo với chủ đề “Phần mềm quản lý ký túc xá”.

Qua quá trình nghiên cứu đề tài, em đã học được cách lập kế hoạch khoa học và nhận thấy đây là cơ hội quý giá để nâng cao kiến thức của bản thân.

Sau quá trình làm bài em đã đạt được kết quả như sau:

 Phân tích thiết kế cho bài toán.

 Xây dựng được cơ sở dữ liệu.

 Xây dựng, phát triển được phần mềm quản lý ký túc xá.

Em xin chân thành cảm ơn cô đã giúp đỡ em trong quá trình làm bài tập lớn.

Form quản lý cán bộ

Hình 3 10 Form quản lý cán bộ.

Form quản lý tài khoản

Hình 3 11 Form quản lý tài khoản.

Form danh sách sinh viên theo phòng

Hình 3 12 Form danh sách sinh viên theo phòng

Form đăng ký thuê ký túc xá

Hình 3 13 Form đăng ký thuê ký túc xá

Sau một thời gian làm việc và nghiên cứu dưới sự hướng dẫn của cô Trần Thị Xuân Hương, tôi đã hoàn thành bài báo cáo với chủ đề "Phần mềm quản lý ký túc xá".

Qua quá trình nghiên cứu đề tài, em đã học được cách lập kế hoạch khoa học, đồng thời đây cũng là cơ hội để nâng cao kiến thức của bản thân.

Sau quá trình làm bài em đã đạt được kết quả như sau:

 Phân tích thiết kế cho bài toán.

 Xây dựng được cơ sở dữ liệu.

 Xây dựng, phát triển được phần mềm quản lý ký túc xá.

Em xin chân thành cảm ơn cô đã giúp đỡ em trong quá trình làm bài tập lớn.

Ngày đăng: 11/12/2024, 10:16

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w