Báo cáo đồ án quản lí các lớp chứng chỉ

98 334 0
Báo cáo đồ án quản lí các lớp chứng chỉ

Đ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

quản lí các lớp chứng chỉ C Báo cáo đồ án Ngày nay với sự phát triển không ngừng của khoa học máy tính. Một số công việc làm bằng thủ công vừa tốn công, tốn sức lại hao tốn quá nhiều thời gian dần dần được chuyển sang hệ thống tự động hoá, đem lại sự thuận tiện trong công việc cho con người cũng như góp phần làm cho cơ quan hoạt động mang tính chuyên nghiệp và hiệu quả hơn. Từ nhu cầu thực tế đó đã xuất hiện nhiều phần mềm và công cụ để quản lý và xử lý các công việc thay cho con người. Trong quản lý giáo dục, với nhu cầu học tập ngày càng cao của các thế hệ học sinh cũng như số lượng học sinh ngày càng tăng thì việc sắp xếp thời gian và tiến hành đăng ký học là rất quan trọng. Bên cạnh đó việc tiến hành đăng ký học bằng những cách thủ công tốn thời gian, công sức của bộ phận quản lý học sinh hơn nữa lại gặp nhiều khó khăn và sai sót. Do đó, xây dựng phần mềm “ Quản lý các lớp chứng chi” cho một trung tâm nói chung hay trung tâm tin học nói riêng là hết sức cần thiết nhằm tiết kiệm thời gian, công sức của giáo viên đồng thời tăng độ chính xác trong công tác quản lý học tập của học sinh. Đây là một công cụ hỗ trợ cần thiết và hiệu quả, giúp cho công việc dễ dàng hơn, tiết kiệm được thời gian và công sức đáng kể. Xuất phát từ nhu cầu thiết thực trên, nên em chọn đề tài “Quản Lý các lớp chứng chỉ” hỗ trợ trung tâm quản lý tốt các công việc như mở lớp mới, ghi danh của học viên, tình hình đóng học phí của học viên, kết quả học tập,… cho học viên

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT VINH KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN MẠNG VÀ HỆ THỐNG THÔNG TIN -*** - ĐỒ ÁN MÔN HỌC PHÁT TRIỂN ỨNG DỤNG WINDOWS Tên đề tài: QUẢNCÁC LỚP CHỨNG CHỈ Sinh viên: NGUYỄN THỊ HUYỀN BẢO Lớp: ĐHKT-CNTT K8 Giáo viên hướng dẫn: Th.s Lưu Hương Giang Nghệ An – 2016 TRƯỜNG ĐHSPKT VINH KHOA CÔNG NGHỆ THƠNG TIN BỘ MƠN MẠNG VÀ HTTT CỘNG HỒ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc PHIẾU GIAO ĐỒ ÁN MÔN HỌC PHÁT TRIỂN ỨNG DỤNG WINDOWS Họ tên Sinh viên: NGUYỄN THỊ HUYỀN BẢO MSSV: 0905140787 Lớp: ĐHKT-CNTT K8: Đại học Công nghệ Thông tin K8 Ngày giao đề tài: 01/10 /2016 Ngày hoàn thành: 10/11/2016 Tên đề tài: Cài đặt ứng dụng QUẢNCÁC LỚP CHỨNG CHỈ u cầu: - Tìm hiểu tốn xác định phạm vi yêu cầu cho đề tài - Xây dựng mơ hình MCD, MLD MPD - Thiết kế CSDL, ràng buộc toàn vẹn - Thiết kế ứng dụng: chức năng, Forms Reports - Cài đặt chương trình ứng dụng, nhập liệu, chạy thử kiểm tra lỗi - Viết báo cáo công việc thực theo mẫu qui định Nhiệm vụ đồ án: - Thiết kế giao diện cập nhật thơng tin(với thao tác nhập, xóa, sửa, …) - Thiết kế giao diện cho phép xử lý … - Thiết kế giao diện cho phép xem, tìm kiếm thông tin theo … - Thiết kế báo cáo gồm biểu mẫu: … - Thiết kế giao diện chương trình thực cơng việc Báo cáo chương trình: - Báo cáo thuyết minh trình bày theo mẫu - Chương trình: ghi vào đĩa CD để nạp Theo dõi trình thực đồ án Ngày kiểm tra Tiến độ công việc(yêu cầu ghi rõ nội dung hoàn thành) Nhận xét GVHD Chữ kí GVHD Đồng ý cho bảo vệ hay khơng đồng ý: ………………………………………………………….… …………………… TỔ TRƯỞNG BỘ MƠN GIÁO VIÊN HƯỚNG DẪN SINH VIÊN Nhận xét giáo viên hướng dẫn …………………………………………………………………………………… …….……………………………………………………………………………… …………………………………………………………………………………… …….……………………………………………………………………………… …………………………………………………………………………………… …….…………………………………………………………………………… …………………………………………………………………………………… …….…………………………………………………………………………… …………………………………………………………………………………… …….……………………………………………………………………………… Nghệ An, ngày tháng năm 2016 Giáo viên hướng dẫn (ký ghi rõ họ tên) Nhận xét giáo viên chấm …………………………………………………………………………………… …… …………………………………………………………………………………… … …………………………………………………………………………………… …….…………………………………………………………………… …………………………………………………………………………………… …… …………………………………………………………………………………… … …………………………………………………………………………………… …… …………………………………………………………………………………… … .………………………………………………………… …………………………………………………………………………………… Nghệ An, ngày tháng năm 2016 Giáo viên hướng dẫn (ký ghi rõ họ tên) Mục lục LỜI NÓI ĐẦU Ngày với phát triển khơng ngừng khoa học máy tính Một số công việc làm thủ công vừa tốn công, tốn sức lại hao tốn nhiều thời gian chuyển sang hệ thống tự động hoá, đem lại thuận tiện công việc cho người góp phần làm cho quan hoạt động mang tính chuyên nghiệp hiệu Từ nhu cầu thực tế xuất nhiều phần mềm công cụ để quản lý xử lý công việc thay cho người Trong quản lý giáo dục, với nhu cầu học tập ngày cao hệ học sinh số lượng học sinh ngày tăng việc xếp thời gian tiến hành đăng ký học quan trọng Bên cạnh việc tiến hành đăng ký học cách thủ công tốn thời gian, công sức phận quản lý học sinh lại gặp nhiều khó khăn sai sót Do đó, xây dựng phần mềm “ Quảnlớp chứng chi” cho trung tâm nói chung hay trung tâm tin học nói riêng cần thiết nhằm tiết kiệm thời gian, công sức giáo viên đồng thời tăng độ xác cơng tác quản lý học tập học sinh Đây công cụ hỗ trợ cần thiết hiệu quả, giúp cho công việc dễ dàng hơn, tiết kiệm thời gian công sức đáng kể Xuất phát từ nhu cầu thiết thực trên, nên em chọn đề tài “Quản Lý lớp chứng chỉ” hỗ trợ trung tâm quản lý tốt công việc mở lớp mới, ghi danh học viên, tình hình đóng học phí học viên, kết học tập,… cho học viên Chương Khảo sát hệ thống 1.1 Mô tả hệ thống 1.1.1 Nhiệm vụ (chức hệ thống) Hệ thống đáp ứng yêu cầu hệ học tập theo chứng sau: +Chức xử lý liệu: Học viên đăng kí học, tra cứu học phí, tra cứu điểm thi, xem kế hoạch học tập, góp ý kiến thắc mắc,… + Chức cập nhật thông tin: Người quản lý cung cấp thông tin nhân viên học viên, lớp học, + Báo cáo: Hệ thống lưu trữ toàn hồ sơ nhân viên học viên, quản lý điểm in kết học viên , cấp chứng học tập,… 1.1.2 Cơ cấu tổ chức( phận chức phận) - - - - Quản trị hệ thống: + Cập nhật thông tin học viên + Cập nhật thông tin nhân viên + Cấp mật khẩu, quyền truy cập cho tồn người dùng + Cập nhật thơng tin lớp học phần lớp chứng chỉ, kỳ thi + Cập nhật điểm + Tổ chức lớp hủy bỏ lớp học đăng ký nhu cầu đăng ký học viên + Lên lịch biểu kế hoạch học tập + Trả lời thắc mắc học viên + Chức thống kê, làm báo cáo Cập nhật liệu + Cập nhật điểm thi học viên + Cập nhật thông tin nhân viên + Cập nhật thơng tin học viên + Tìm kiếm điểm báo cáo Thao tác học viên + Đăng ký học + Tìm kiếm lớp học phần + Tìm kiếm điểm thân + Xem thông tin kế hoạch học tập + Tra cứu học phí Thao tác Nhân viên( quản trị hệ thống) + Xem danh sách nhân viên + Xem danh sách học viên + Xem danh sách lớp học + Xem điểm Quy trình xử lý( Quy trình cụ thể thực chức nêu) Quản trị hệ thống, người dùng tiến hành đăng nhập hệ thống Nếu thông tin nhập vào với yếu cầu hệ thống cho phép truy cập Ngược lại 1.1.3 - - hệ thống thơng báo lỗi tiến hành đăng nhập lại Đối với người dùng có cho quyền riêng Quản trị hệ thống quản lý đựơc tất thành viên hệ thống Q trình Cập nhật thơng tin: Đây chức nhiệm vụ quản trị hệ thống Ngồi khơng người dùng có quyền truy cập Q trình xử lý thơng tin: Gồm việc đăng ký học tra cứu học phí dành cho học viên Quá trình Báo cáo – In ấn: Dành cho quản trị hệ thống nhân viên Mỗi người có chức quyền hạn khác tương đương với việc truy cập, xem hay có quyền làm nhiệm vụ khác Mẫu biểu( Hệ thống sử dụng hồ sơ giấy tờ giao dịch nào?) 1.1.4 Trung tâm Tin học… DANH SÁCH HỌC VIÊN Mẫu số Lớp: Chứng A Tin học Khóa: 10 Ngày khai giảng: 02/11/2005 STT MaHV Họ tên Nữ Ngày sinh 01 02 HV001 HV002 Nguyễn Thu Thủy Nguyễn Thị Mai X X 02/01/1995 01/05/1996 … Quê quán Vinh – Nghệ An Vinh – Nghệ An Trung tâm Tin học… PHIẾU THU Họ tên: Nguyễn Thu Thủy Lớp: Chứng A Tin học Học phí: 400.000 đồng Phải nộp: 360.000 đồng Bằng chữ: Ba trăm sáu mươi ngàn đồng Người nộp Nguyễn Thu Thủy Số phiếu: BL001 Mã số HV: HV001 Ngày nộp: 02/11/2005 Giảm: 40.000 đồng Người thu Phùng Văn B Mẫu số Trung tâm Tin học… DANH SÁCH HỌC VIÊN ĐÃ ĐĨNG HỌC PHÍ Lớp: Chứng A Tin học Khóa: 10 Ngày khai giảng: 02/11/2005 STT MSHV 01 02 HV001 HV002 Họ tên Nguyễn Thu Thủy Nguyễn Thị Mai … Nữ Ngày nộp Số tiền X X 02/11/2005 03/11/2005 … 360.000 360.000 … Mẫu số Trung tâm Tin học … DANH SÁCH KẾT QUẢ THI LẦN Kỳ thi: Chứng A Tin học Ngày thi: 02/09/2005 STT MSHV Họ tên Na m Ngày sinh 01 02 HV001 HV002 Nguyễn Thu Thủy Nguyễn Thị Mai X X 02/01/1996 01/05/1996 Điểm LT Điểm TH Ghi Cần Thơ, ngày tháng năm 2005 Cán chấm thi 1.2 Mơ hình tiến trình nghệp vụ 1.2.1 Định nghĩa ký hiệu 1.2.2 Vẽ mơ hình Cán chấm thi Chương Cơ sở lý thuyết 2.1 Tổng quan UML 2.1.1 UML gì? UML ngơn ngữ mơ hình hóa, trước hết bao gồm tập ký tự ký pháp thống nhất, thể ngữ ngĩa định nghĩa trực quan tất thành phần mơ hình, UML sử dụng để hiển thị, đặc tả, tố chức, xây dựng làm tài liệu vật phẩm trình phát triển phần mềm hướng đối tượng, đặc biệt phân tích, thiết kế dạng báo cáo, biểu đồ,bàn mẫu hay trang web,… 2.1.2 Các mối quan hệ UML UML cho phép biểu diễn bốn mối quan hệ đối tượng hệ thống Đó quan hệ: phụ thuộc, kết hợp, tổng quát hóa thực hóa  Quan hệ phụ thuộc: Đây quan hệ ngữ nghĩa hai phần tử, thay đổi phần tử tác động đến ngữ nghĩa phần tử phụ thuộc  Quan hệ kết hợp: Kết hợp quan hệ cấu trúc xác định mối liên kết lớp đối tượng Khi có đối tượng lớp gửi nhận thông điệp đến/từ chỗ đối tượng lớp hai lớpquan hệ kết hợp  Quan hệ tổng quát hóa: Đây quan hệ mơ tả khái qt hóa mà số đối tượng cụ thể kế thừa thuộc tính, phương thức đối tượng tổng quát  Hiện thực hóa: Hiện thực hóa quan hệ ngữ nghĩa hai giao diện lớp để thực cài đặt dịch vụ khai báo giao diện 2.1.3 Cácđồ lớp  Sơ đồ lớp (Class Diagram) Bao gồm tập hợp lớp, giao diện, sơ đồ hợp tác mối quan hệ chúng Nó thể mặt tĩnh hệ thống  Sơ đồ đối tượng (Object Diagram) Bao gồm tập hợp đối tượng mối quan hệ chúng Đối tượng thể lớp, sơ đồ đối tượng thể sơ đồ lớp  Sơ đồ Use case (Use Case Diagram) Khái niệm actor: người dùng(tác nhân) hay hệ thống khác bên ngồi phạm vi hệ thống mà có tương tác với hệ thống { lvDSLH.Items.Clear(); DataTable dt = new DataTable(); dt.Clear(); dt = db.Trichrutdulieu(st); string[] tieude = { "Mã lớp","Tên lớp","Khóa" }; int[] Dorongcot = { 100, 200, 100 }; xl.TaoListview(lvDSLH, tieude, Dorongcot, dt); dt.Clear(); } int IndexSelectted(ListView lv) { for (int i = 0; i < lv.Items.Count; i++) if (lv.Items[i].Selected) return i; return -1; } void GanTT() { int i = IndexSelectted(lvDSLH); if (i == -1) { txtMalop.Text = txtKhoa.Text = txtTenlop.Text = ""; btnSua.Enabled = false; return; } txtMalop.Text = lvDSLH.Items[i].SubItems[0].Text; txtTenlop.Text = lvDSLH.Items[i].SubItems[1].Text; txtKhoa.Text = lvDSLH.Items[i].SubItems[2].Text; } void EnableButton(bool b) { txtMalop.Enabled = b; txtTenlop.Enabled = b; txtKhoa.Enabled = b; btnVedau.Enabled = !b; btnSau.Enabled = !b; btnTruoc.Enabled = !b; btnCuoi.Enabled = !b; if (b == false) { lvDSLH.Enabled = !b; btnSua.Enabled = !b; btnXoa.Enabled = !b; btnMoi.Enabled = !b; } } else { lvDSLH.Enabled = !b; btnXoa.Enabled = b; btnMoi.Enabled = b; } private void frmCapnhatlopchungchi_Load(object sender, EventArgs e) { DataTable dt = new DataTable(); Loadlistview(" Select Malop,Tenlop,Khoa from Lop Order By Malop"); if (lvDSLH.Items.Count != 0) lvDSLH.Items[0].Selected = true; GanTT(); dt.Clear(); } private void lvDSNV_SelectedIndexChanged(object sender, EventArgs e) { GanTT(); } private void btnSua_Click(object sender, EventArgs e) { string malopcu = txtMalop.Text; if (btnSua.Text == "Sửa") { EnableButton(true); btnSua.Enabled = true; btnSua.Text = "Ghi lại"; btnMoi.Enabled = false; btnXoa.Text = "Hủy"; } else { db.ThucthiSQL(" update Lop set Malop='" + txtMalop.Text + "',Tenlop=N'" + txtTenlop.Text + "',Khoa='" + txtKhoa.Text + "' where Malop='" + malopcu + "'"); txtTim.Clear(); Loadlistview(" Select Malop,Tenlop,Khoa from Lop Order By Malop"); btnSua.Text = "Sửa"; btnMoi.Enabled = true; EnableButton(false); btnXoa.Text = "Xóa"; } } private void btnMoi_Click(object sender, EventArgs e) { if (btnMoi.Text == "Mới") { btnSua.Enabled = false; txtTim.Enabled = false; lvDSLH.Enabled = false; lvDSLH.Clear(); Loadlistview(" Select Malop,Tenlop,Khoa from Lop Order By Malop"); EnableButton(true); txtTenlop.Clear(); txtKhoa.Clear(); txtMalop.Clear(); txtMalop.Clear(); txtKhoa.Clear(); btnMoi.Text = "Ghi"; txtMalop.Focus(); btnXoa.Enabled = false ; } else { if (txtMalop.Text.Length == || txtTenlop.Text.Length == || txtKhoa.Text.Length == 0) { txtMalop.Focus(); MessageBox.Show("Các trường không đượcc phép rỗng", "Thông báo"); btnMoi.Text = "Ghi"; lvDSLH.Enabled = false; txtTim.Enabled = false; EnableButton(true); } else { btnMoi.Text = "Mới"; btnXoa.Text = "Xóa"; EnableButton(false); lvDSLH.Enabled = true; txtTim.Enabled = true; db.ThucthiSQL("insert Lop Values('" + txtMalop.Text + "',N'" + txtTenlop.Text.Trim() + "',N'" + txtKhoa.Text.Trim()+"')" ); lvDSLH.Clear(); Loadlistview(" Select Malop,Tenlop,Khoa from Lop Order By Malop"); } } } private void btnXoa_Click(object sender, EventArgs e) { int i = IndexSelectted(lvDSLH); if (i < 0) { MessageBox.Show("Bạn cần chọn lớp chứng cần xóa danh sách", "Thơng báo"); return; } if (MessageBox.Show("Bạn đồng ý xóa không?", "thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) db.ThucthiSQL("Delete from Lop where Malop='" + txtMalop.Text + "'"); lvDSLH.Items.RemoveAt(i); if (i == lvDSLH.Items.Count && i != 0) i ; if (lvDSLH.Items.Count > 0) lvDSLH.Items[i].Selected = true; GanTT(); } private void btnVedau_Click(object sender, EventArgs e) { if (lvDSLH.Items.Count != 0) { int i = IndexSelectted(lvDSLH); if (i < 0) i = 0; lvDSLH.Items[i].Selected = false; lvDSLH.Items[0].Selected = true; lvDSLH.Items[0].EnsureVisible(); } } GanTT(); private void btnTruoc_Click(object sender, EventArgs e) { } int i = IndexSelectted(lvDSLH); if (i > 0) { lvDSLH.Items[i].Selected = false; lvDSLH.Items[ i].Selected = true; lvDSLH.Items[i].EnsureVisible(); GanTT(); } else btnCuoi.PerformClick(); private void btnSau_Click(object sender, EventArgs e) { int i = IndexSelectted(lvDSLH); if (i < lvDSLH.Items.Count - 1) { lvDSLH.Items[i].Selected = false; lvDSLH.Items[++i].Selected = true; lvDSLH.Items[i].EnsureVisible(); GanTT(); } } else btnVedau.PerformClick(); private void btnCuoi_Click(object sender, EventArgs e) { if (lvDSLH.Items.Count != 0) { int i = IndexSelectted(lvDSLH); if (i < 0) i = 0; lvDSLH.Items[i].Selected = false; lvDSLH.Items[lvDSLH.Items.Count - 1].Selected = true; lvDSLH.Items[lvDSLH.Items.Count - 1].EnsureVisible(); } GanTT(); } private void btnClose_Click(object sender, EventArgs e) { this.Close(); } private void btnTim_Click(object sender, EventArgs e) { clsDatabase db = new clsDatabase(strconn); DataTable dt; lvDSLH.Items.Clear(); if (txtTim.Text.Length == 0) { dt = db.Trichrutdulieu("Select Malop,Tenlop,Khoa From Lop"); } else dt = db.Trichrutdulieu("Select Malop,Tenlop,Khoa From Lop Where Malop like '%" + txtTim.Text.Trim() + "%' or Tenlop like N'%" + txtTim.Text.Trim() + "%'"); String[] tieude = { "Mã lớp","Tên lớp","Khóa" }; int[] dorongcot = { 100, 200, 100 }; xl.TaoListview(lvDSLH, tieude, dorongcot, dt); if (lvDSLH.Items.Count != 0) { } } } lvDSLH.Items[0].Selected = true; GanTT(); private void lvDSLH_Click(object sender, EventArgs e) { EnableButton(false); GanTT(); } 4.7 Form Nhập điểm public partial class frmNhapdiem : Form { bool ktsua; String strconn; double SBP; double STH; DataTable bangphancong= new DataTable(); bool[] ktnhap; public string dlt, dth, dtb; public static string MANV, MALOP; public frmNhapdiem() { InitializeComponent(); strconn = frmMain.strconn; } #region Hàm t?o d? li?u b?ng di?m public void Bangdiem(String stmalop) { dgvDSD.Columns.Clear(); dgvDSD.Columns.Add("colMaHV", "Mã HV"); dgvDSD.Columns[0].Width = 100; dgvDSD.Columns[0].ReadOnly = true; dgvDSD.Columns.Add("colHoten", "Họ tên"); dgvDSD.Columns[1].Width = 200; dgvDSD.Columns[1].ReadOnly = true; dgvDSD.Columns.Add("coldlt", "Ðiểm LT"); dgvDSD.Columns[2].Width = 100; dgvDSD.Columns[2].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; dgvDSD.Columns[2].ReadOnly = true; dgvDSD.Columns.Add("colDT", "Ðiểm TH"); dgvDSD.Columns[3].Width = 100; dgvDSD.Columns[3].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; dgvDSD.Columns[3].ReadOnly = true; dgvDSD.Columns.Add("coldtb", "Ðiểm TB"); dgvDSD.Columns[4].Width = 100; dgvDSD.Columns[4].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; dgvDSD.Columns[4].ReadOnly = true; MALOP = stmalop; clsXuly xl = new clsXuly(); clsDatabase db = new clsDatabase(strconn); String strsql = "select Dangkyhoc.MaHV,Hocvien.Hoten, Dangkyhoc.DiemLT, Dangkyhoc.DiemTH, Lop.Tenlop " + " Lop.Khoa" + " from Hocvien inner join Dangkyhoc on Hocvien.MaHV=Dangkyhoc.MaHV inner join" + " Lop on Dangkyhoc.Malop=Lop.Malop" + " where Dangkyhoc.Malop='" + "'"; DataTable dt = db.Trichrutdulieu(strsql); SBP = 0.0; STH = 0.0; for (int i = 0; i < dt.Rows.Count; i++) { dlt = dt.Rows[i]["DiemLT"].ToString(); dth = dt.Rows[i]["DiemTH"].ToString(); if (dlt != "" && dth != "") { dtb = ((float.Parse(dlt) + float.Parse(dth)*2 / 3).ToString("#0.00")); } else { dtb = ""; } String[] nd = { dt.Rows[i]["MaHV"].ToString(), dt.Rows[i]["Hoten"].ToString(), dt.Rows[i]["DiemLT"].ToString(), dt.Rows[i]["DiemTH"].ToString(), dtb}; dgvDSD.Rows.Add(nd); if (dtb != "") SBP += float.Parse(dtb); if (dth != "") STH += float.Parse(dth); } lbTongsohocvien.Text = "Tổng số học viên:" + (dgvDSD.Rows.Count 1).ToString(); lbTongdiemLT.Text = "Tổng điểm LT:" + SBP.ToString("0.00"); lbTongdiemTH.Text = "Tổng điểm TH:" + STH.ToString("0.00"); dgvDSD.MultiSelect = false; if (dgvDSD.Rows.Count > 1) { dgvDSD.Rows[dgvDSD.Rows.Count - 1].ReadOnly = true; btnNhapdiemLT.Enabled = true; btnNhapdiemTH.Enabled = true; } else { dgvDSD.Rows[0].ReadOnly = true; btnNhapdiemLT.Enabled = false; btnNhapdiemTH.Enabled = false; } } private void frmNhapdiem_Load(object sender, EventArgs e) { clsDatabase db1 = new clsDatabase(strconn); DataTable dt = db1.Trichrutdulieu("Select Lop.Malop,Lop.Tenlop,Nhanvien.MaNV,Nhanvien.Hoten From Nhanvien,Lop "); string st = "select * from Lop"; clsDatabase db2 = new clsDatabase(strconn); bangphancong = db2.Trichrutdulieu(st); for (int i = 0; i < bangphancong.Rows.Count; i++) { String stLop = dt.Rows[i]["Malop"].ToString() + "-" + dt.Rows[i] ["Tenlop"].ToString() + " ->" + dt.Rows[i]["MaNV"].ToString() + "-" + dt.Rows[i] ["Hoten"].ToString(); cboLophoc.Items.Add(stLop); cboMalop.Items.Add(dt.Rows[i]["Malop"].ToString()); cboMaNV.Items.Add(dt.Rows[i]["MaNV"].ToString()); } if (cboLophoc.Items.Count > 0) { cboLophoc.SelectedIndex = 0; cboMalop.SelectedIndex = 0; cboMaNV.SelectedIndex = 0; } } } } 4.8 Form Đăng ký học public partial class frmDangkyhoc : Form { string strconn; public frmDangkyhoc() { InitializeComponent(); strconn = frmMain.strconn; } void TaoDSMH1() { clsDatabase db1 = new clsDatabase(strconn); clsXuly xl = new clsXuly(); String str = "Select Malop,Tenlop,Khoa from Lop" +" where not (Malop in(SELECT Malop from Dangkyhoc where MaHV='" + txtMaHV.Text + "')) order by Malop"; DataTable dt = db1.Trichrutdulieu(str); string[] tieude1 = { "Mã lớp", "Tên lớp", "Khóa" }; int[] dorongcot1 = { 100,150, 100 }; dgvDanhsahlopchuahoc.Rows.Clear(); xl.TaoDataGridView(dgvDanhsahlopchuahoc, tieude1, dorongcot1, dt); lbTongsomonlopchuadangky.Text = "Tống số lớp học chưa đăng ký" + dgvDanhsahlopchuahoc.Rows.Count.ToString(); str = "select * from Lop where not(Malop in (select Malop from Dangkyhoc where MaHV='" + txtMaHV.Text + "'))"; lbTongsomonlopchuadangky.Text = " Tổng số lớp học chưa đăng ký: " + (dgvDanhsahlopchuahoc.Rows.Count-1).ToString(); } void TaoDSMH2() { clsDatabase db; DataTable dt; clsXuly xl = new clsXuly(); String st = "SELECT Dangkyhoc.Malop,Lop.Tenlop,Lop.Khoa,Dangkyhoc.DiemLT,Dangkyhoc.DiemTH FROM Hocvien INNER JOIN " + " Dangkyhoc ON Hocvien.MaHV=Dangkyhoc.MAHV INNER JOIN " + " Lop ON Dangkyhoc.Malop=Lop.Malop" + " Where Hocvien.MaHV='" + txtMaHV.Text + "'order by Dangkyhoc.Malop "; db = new clsDatabase(strconn); dt = db.Trichrutdulieu(st); string[] tieude2 = { "Mã lớp", "Tên lớp", "Khóa", "Ðiểm lý thuyết", "Ðiểm thực hành" }; int[] dorongcot2 = { 90, 150, 100, 100, 150 }; dgvDanhsachlopdahoc.Rows.Clear(); xl.TaoDataGridView(dgvDanhsachlopdahoc, tieude2, dorongcot2, dt); db = new clsDatabase(strconn); st = "select count (dbo.Dangkyhoc.Malop) from dbo.Hocvien" + " inner join dbo.Dangkyhoc on Hocvien.MaHV=dbo.Dangkyhoc.MaHV" + " inner join dbo.Lop on dbo.Dangkyhoc.Malop=dbo.Lop.Malop" + " where(dbo.Hocvien.MaHV='" + txtMaHV.Text + "' lbTongsolophocdadangky.Text = "Số môn học:" + (dgvDanhsachlopdahoc.Rows.Count-1).ToString(); } private void frmDangkyhoc_Load(object sender, EventArgs e) { txtMaHV.Text= frmMain.Taikhoan; clsDatabase db1 = new clsDatabase(strconn); DataTable dt = db1.Trichrutdulieu("select * from Hocvien Where MaHV='" + txtMaHV.Text+ "'"); if (dt.Rows.Count > 0) { txtHoten.Text = dt.Rows[0]["Hoten"].ToString(); txtNgaysinh.Text = dt.Rows[0]["Ngaysinh"].ToString(); txtGioitinh.Text = dt.Rows[0]["Gioitinh"].ToString(); txtDiachi.Text = dt.Rows[0]["Diachi"].ToString(); txtKhoa.Text = dt.Rows[0]["Khoa"].ToString(); TaoDSMH1(); TaoDSMH2(); } } private void btnAdd_Click(object sender, EventArgs e) { clsDatabase db = new clsDatabase(strconn); string Malop; int i = 0, d = 0; i = 0; while (i < dgvDanhsahlopchuahoc.Rows.Count - 1) { if (dgvDanhsahlopchuahoc.Rows[i].Selected) { Malop = dgvDanhsahlopchuahoc.Rows[i].Cells[0].Value.ToString(); db.ThucthiSQL("Insert into Dangkyhoc (Malop,MaHV) values ('" + Malop + "','" + txtMaHV.Text + "')"); } i++; } TaoDSMH2(); TaoDSMH1(); } private void btnBlack_Click(object sender, EventArgs e) { clsDatabase db = new clsDatabase(strconn); string Malop, dlt, dth; int i = 0; while (i < dgvDanhsachlopdahoc.Rows.Count) { if (dgvDanhsachlopdahoc.Rows[i].Selected) { Malop = dgvDanhsachlopdahoc.Rows[i].Cells[0].Value.ToString(); dlt = dgvDanhsachlopdahoc.Rows[i].Cells[3].Value.ToString(); dth = dgvDanhsachlopdahoc.Rows[i].Cells[4].Value.ToString(); if (!(dlt != "" || dth != "")) { db.ThucthiSQL("Delete from Dangkyhoc where Malop='" + Malop + "'And MaHV='" + txtMaHV.Text + "'"); } else { MessageBox.Show("lớp học" + Malop + "bạn học hủy đăng ký", "Thông báo"); } } i++; } TaoDSMH2(); TaoDSMH1(); } private void btnClose_Click(object sender, EventArgs e) { if (MessageBox.Show("Bạn đồng ý thoát khơng", "Thơng báo thốt", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) Application.Exit(); } } } 4.9 Form Tra cứu học phí public partial class frmTracuuhocphi : Form { string strconn; public frmTracuuhocphi() { strconn = frmMain.strconn; InitializeComponent(); } private void frmTracuuhocphi_Load(object sender, EventArgs e) { txtMaHV.Text = frmMain.Taikhoan; clsDatabase db1 = new clsDatabase(strconn); DataTable dt = db1.Trichrutdulieu("select Hocvien.MaHV,Hocvien.Hoten,Hocvien.Ngaysinh,Hocvien.Gioitinh,Hocvien.Diachi,Hocvie n.Khoa,Hocvien.Malop,Bienlaihocphi.MaBL,Bienlaihocphi.Ngaylap,Bienlaihocphi.Sotien" +" from Hocvien,Bienlaihocphi where Hocvien.MaHV=Bienlaihocphi.MaHV and Hocvien.MaHV='" + frmMain.Taikhoan + "'"); if (dt.Rows.Count > 0) { txtHoten.Text = dt.Rows[0]["Hoten"].ToString(); txtNgaysinh.Text = dt.Rows[0]["Ngaysinh"].ToString(); txtGioitinh.Text = dt.Rows[0]["Gioitinh"].ToString(); txtDiachi.Text = dt.Rows[0]["Diachi"].ToString(); txtKhoa.Text = dt.Rows[0]["Khoa"].ToString(); txtMalop.Text = dt.Rows[0]["Malop"].ToString(); txtMaBL.Text = dt.Rows[0]["MaBL"].ToString(); txtNgaylap.Text = dt.Rows[0]["Ngaylap"].ToString(); txtSotien.Text = dt.Rows[0]["Sotien"].ToString(); } } private void btnClose_Click(object sender, EventArgs e) { if (MessageBox.Show("Bạn đồng ý khơng", "Thơng báo thốt", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) Application.Exit(); } } } 5.0 Form danh sách nhân viên public partial class frmDanhsachNV : Form { clsDatabase db; clsXuly xl; public string strcnn; public frmDanhsachNV() { strcnn = frmMain.strconn; db = new clsDatabase(strcnn); xl = new clsXuly(); InitializeComponent(); } private void frmDanhsachNV_Load(object sender, EventArgs e) { Loadlist(" Select MaNV,Hoten,Gioitinh,Diachi,Ngaysinh from Nhanvien Order By MaNV"); if (lvDSNV.Items.Count != 0) lvDSNV.Items[0].Selected = true; } private void Loadlist(string st) { lvDSNV.Items.Clear(); DataTable dt = new DataTable(); dt.Clear(); dt = db.Trichrutdulieu(st); string[] tieude = { "Mã nhân viên", "Họ tên", "Giới tính", "Ðịa chỉ", "Ngày sinh" }; int[] Dorongcot = { 100, 200, 100, 100, 200 }; xl.TaoListview(lvDSNV, tieude, Dorongcot, dt); } int Indexselected(ListView lv) { for (int i = 0; i < lv.Items.Count; i++) if (lv.Items[i].Selected) return i; return -1; } public DataTable getDataTable(string sql) { DataTable dt = new DataTable(); SqlDataAdapter da = new SqlDataAdapter(sql, frmMain.strconn); da.Fill(dt); return dt; } private void btnTim_Click(object sender, EventArgs e) { clsDatabase db = new clsDatabase(strcnn); DataTable dt; lvDSNV.Items.Clear(); if (txtTim.Text.Length == 0) { dt = db.Trichrutdulieu("Select MaNV,Hoten,Gioitinh,Diachi,Ngaysinh from Nhanvien"); } else dt = db.Trichrutdulieu("Select MaNV,Hoten,Gioitinh,Diachi,Ngaysinh from Nhanvien Where MaNV like '%" + txtTim.Text.Trim() + "%' or Hoten like N'%" + txtTim.Text.Trim() + "%'"); String[] tieude = { "Mã Nhân viên", "Họ tên", "Giới tính", "Ðịa chỉ", "Ngày sinh" }; int[] dorongcot = { 100, 200, 100, 50, 200 }; xl.TaoListview(lvDSNV, tieude, dorongcot, dt); if (lvDSNV.Items.Count != 0) { lvDSNV.Items[0].Selected = true; } } private void btnClose_Click(object sender, EventArgs e) { if (MessageBox.Show("Bạn đồng ý khơng", "Thơng báo thốt", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) Application.Exit(); } private void btnTim_TextChanged(object sender, EventArgs e) { lvDSNV.Enabled = true; lvDSNV.Clear(); Loadlist(" Select MaNV,Hoten,Gioitinh,Diachi,Ngaysinh from Nhanvien Where MaNV like '%" + txtTim.Text.Trim() + "%' or Hoten like N'%" + txtTim.Text.Trim() + "%' Order By MaNV"); if (lvDSNV.Items.Count != && txtTim.Text.Length != 0) { lvDSNV.Items[0].Selected = true; } txtTim.Focus(); } } } 5.1 Form Danh sách học viên using using using using using using using using using using System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Linq; System.Text; System.Windows.Forms; System.Data.SqlClient; System.Threading; namespace DO_AN_WINDOWS { public partial class frmDanhsachHV : Form { clsDatabase db; clsXuly xl; public string strcnn; public frmDanhsachHV() { trcnn = frmMain.strconn; db = new clsDatabase(strcnn); xl = new clsXuly(); InitializeComponent(); } private void Loadlist(string st) { lvDSHV.Items.Clear(); DataTable dt = new DataTable(); dt.Clear(); dt = db.Trichrutdulieu(st); string[] tieude = { "Mã học viên", "Họ tên", "Giới tính", "Ngày sinh", "Ðịa chỉ", "Khóa", "Mã lớp" }; int[] Dorongcot = { 100, 200, 100, 200, 200, 100, 100 }; xl.TaoListview(lvDSHV, tieude, Dorongcot, dt); } private void frmDanhsachHV_Load(object sender, EventArgs e) { Loadlist(" Select MaHV,Hoten,Gioitinh,Ngaysinh,Diachi,Khoa,Malop from Hocvien Order By MaHV"); if (lvDSHV.Items.Count != 0) lvDSHV.Items[0].Selected = true; } private void btnTim_Click(object sender, EventArgs e) { clsDatabase db = new clsDatabase(strcnn); DataTable dt; lvDSHV.Items.Clear(); if (txtTim.Text.Length == 0) { dt = db.Trichrutdulieu("Select MaHV,Hoten,Ngaysinh,Gioitinh,Diachi,Khoa,Malop from Hocvien"); } else dt = db.Trichrutdulieu("Select MaHV,Hoten,Ngaysinh,Gioitinh,Diachi,Khoa,Malop from Hocvien Where MaHV like '%" + txtTim.Text.Trim() + "%' or Hoten like N'%" + txtTim.Text.Trim() + "%'"); String[] tieude = { "MaHV", "Họ tên", "Giới tính", "Ngày sinh", "Ðịa chỉ", "Khóa", "Mã lớp" }; int[] dorongcot = { 100, 200, 50,200, 200, 100, 100 }; xl.TaoListview(lvDSHV, tieude, dorongcot, dt); } if (lvDSHV.Items.Count != 0) { lvDSHV.Items[0].Selected = true; } private void btnClose_Click(object sender, EventArgs e) { if (MessageBox.Show("Bạn đồng ý khơng", "Thơng báo thốt", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) Application.Exit(); } } } 1.1 Các phần thực - Quản lý thông tin học viên - Quản lý thông tin nhân viên - Cập nhật lớp học - Cập nhật học viên - Cập nhật nhân viên - Đăng ký học - Tìm kiếm học sinh - Tìm kiếm giáo viên - Tìm kiếm lớp chứng - Xuất Files excel 1.2 Các phần chưa thực - Chưa nhập điểm cho học viên - Chưa tính điểm thống kê xếp loại cho học sinh - Chưa đưa biên lai hóa đơn học phí học viên - II Hướng phát triển Tiếp tục phát triển chức thiếu Phát triển hệ thống sang giao diện web, xây dựng hệ thống web giúp cho giáo viên nhập điểm lúc nơi( có internet) Tài liệu tham khảo Đồn Văn Ban, Giáo tình thiết kế hệ thống UML, Hà Nội, 2001 Phan Huy Khánh, Giáo trình phân tích thiết kế hệ thống, Đà Nẵng, 2010 ... đồ ruần tự cho Use Case Sửa Học viên 3.1.3.9 Sơ đồ cho Thêm lớp chứng Hình 15: Sơ đồ Tuần tự cho Use Case Thêm lớp chứng 3.1.3.10 Sơ đồ cho Sửa lớp chứng Hinh 16: Sơ đồ cho Use Case Sửa lớp chứng. .. 3.1.1.1 Biểu đồ lớp tổng quát Hình 1: Biểu đồ lớp tổng quát 3.1.1.2 Chi tiết đối tượng lớp Hình 2: Chi tiết biểu đồ lớp 3.1.2 Biểu đồ ca sử dụng 3.1.2.1 Sơ đồ Use Case tổng quát Hình 3: Sơ đồ Use Case... diện lớp để thực cài đặt dịch vụ khai báo giao diện 2.1.3 Các sơ đồ lớp  Sơ đồ lớp (Class Diagram) Bao gồm tập hợp lớp, giao diện, sơ đồ hợp tác mối quan hệ chúng Nó thể mặt tĩnh hệ thống  Sơ đồ

Ngày đăng: 31/12/2017, 11:06

Từ khóa liên quan

Mục lục

  • 1.1.1 Nhiệm vụ cơ bản (chức năng cơ bản của hệ thống)

  • 1.1.2 Cơ cấu tổ chức( bộ phận chức năng từng bộ phận)

  • 1.2.1 Định nghĩa ký hiệu

  • 1.2.2 Vẽ mô hình

  • Chương 2. Cơ sở lý thuyết

    • 2.1 Tổng quan về UML

      • 2.1.1 UML là gì?

      • 2.1.3. Các sơ đồ lớp

      • 2.1.4. Kiến trúc của hệ thống

        • Hình 1: Kiến trúc hệ thống

        • 2.1.5. Sơ đồ Use Case (Use Case diagram)

        • 2.1.5.1 Mục đích của sơ đồ Use Case

        • 2.1.6. Sơ đồ lớp

        • 2.1.6.1 Khái niệm

        • 2.1.7. Sơ đồ tuần tự

        • II. Môi trường phát triển

          • 2.1 Kiến trúc .NET framework

          • 2.2. Ngôn ngữ C#

          • 2.3. Microsoft SQL server 2000

          • Chương 3: Phân tích và thiết kế hệ thống

          • 3.1 Phân tích hệ thống về chức năng

          • 3.1.1 Biểu đồ lớp

          • 3.1.1.1 Biểu đồ lớp tổng quát

            • 3.1.1.2 Chi tiết các đối tượng của lớp

Tài liệu cùng người dùng

Tài liệu liên quan