Xem mẫu

  1. ĐAI HOC THUY L ̣ ̣ ̉ ỢI KHOA CÔNG NGHÊ THÔNG TIN ̣ MÔN HỆ QUẢN TRỊ CƠ SỞ DƯ LIÊU ̃ ̣ BÁO CÁO BÀI TẬP LỚN Đề tài : XÂY DỰNG PHẦN MỀM QUẢN LÝ  TRUNG TÂM TIẾNG ANH Giảng Viên Hướng Dẫn : TH.S Nguyễn Ngọc Quỳnh Châu Lớp : 61PM1 Nhóm : 19 SV thực hiên ̣  :          Mã sinh viên : Hoàng Quốc Hiệp         1951060695 Phạm Thị Thúy Hằng      1951060690 Trang 1/ 37
  2. Hà Nội, ngày 30 tháng 10 năm 2021 Trang 2/ 37
  3. Trang 3/ 37
  4. MỤC LỤC Trang 4/ 37
  5. Trang 5/ 37
  6. Lơi noi đâu ̀ ́ ̀ Hiện nay, công nghệ thông tin được xem là một ngành mũi nhọn của quốc  gia, đặc biệt là các quốc gia đang phát triển, tiên hành công nghi ́ ệp hóa hiện đại  hóa như nước ta. Sự bùng nổ thông tin và sự phát triển mạnh mẽ của công nghệ  kỹ thuật số, yêu câu mu ̀ ốn phát triển thì phai tin h ̉ ọc hóa tất cả các ngành, các  lĩnh vực. Cùng với sự phát triển nhanh chóng về phần cứng máy tính, các phần  mềm ngày càng trở nên đa dạng, phong phú, hoàn thiện hơn và hỗ trợ hiệu quả  cho con người. Các phần mềm hiện nay ngày càng mô phỏng được rất nhiều  nghiệp vụ khó khăn, hỗ trợ cho người dùng thuận tiện sử dụng, thời gian xử lí  nhanh chóng, và một số nghiệp vụ được tự động hóa cao. Ví dụ như việc quản lí môt trung tâm Tiêng Anh. N ̣ ́ ếu không có sự hỗ trợ  của tin học, việc quản lí này phải cần rất nhiều người, chia thành nhiều khâu,  mới có thể quản lí được toàn bộ hoc viên( thông tin, điêm s ̣ ̉ ố, lô trinh hoc,...), l ̣ ̀ ̣ ớp  học( sĩ số, giáo viên giang day...), giang viên,... cũng nh ̉ ̣ ̉ ư các quy trinh quan ly  ̀ ̉ ́ trung tâm. Các công việc này đòi hỏi nhiều thời gian và công sức, mà sự chính  xác và hiệu quả không cao, vì đa số đều làm bằng thủ công rất ít tự động. Một  số nghiệp vụ như tra cứu, thống kê, và hiệu chỉnh thông tin khá vất vả. Ngoài ra  còn một số khó khăn về vấn đề lưu trữ khá đồ sộ, dễ bị thất lạc, tốn kém,...  Trong khi đó, các nghiệp vụ này hoàn toàn có thể tin học hóa một cách dễ dàng.  Với sự giúp đỡ của tin học, việc quản lí học vụ sẽ trở nên đơn giản, thuận tiện,  nhanh chóng và hiệu quả hơn rất nhiều.  Mục tiêu của bài báo cáo là nêu rõ các đặc tả yêu cầu của hệ thống, phân  tích, thiết kế để xây dựng được phần mềm quản lý trung tâm Tiếng Anh trên  phục vụ cho việc quản lý hoàn toàn tự động trên máy tính. Trang 6/ 37
  7. I.  BÀI TOÁN ĐẶT RA VÀ YÊU CẦU CỦA HỆ THỐNG  1.1. Giới thiệu về đề tài: Như chúng ta đã biết, hiện nay rất nhiều trung tâm Tiếng Anh được mở  lên nhằm đào tạo, cải thiện kỹ năng Tiếng Anh của mọi người. Trong một trung  tâm Tiếng Anh chúng ta cần giải quyết rất nhiều vấn đề đồng thời để giải  quyết những vấn đề đó chúng ta cần rất nhiều bộ phận quản lý như nhân viên,  giảng viên, …Đặc biệt vào những mùa hè lượng học viên tăng rất cao, số lượng  học viên rất đông. Vì vậy yêu cầu đặt ra là : Phải làm sao để tiết kiệm được  thời gian, nguồn nhân lực, bảo mật được hệ thống quản lý, đáp ứng đủ  nhu cầu của học viên, giảng viên,…? 1.2. Yêu cầu chung của bài toán: Đặc tả yêu cầu, chức năng: Quản lý điểm của học viên, quản lý học phí  của học viên trong các khóa học, quản lý khen thưởng giảng viên, quản lý tài  liệu, cấp độ, khóa học. 1.3. Cách thức giải quyết bài toán: Tìm hiểu quy tắc nghiệp vụ, các yêu cầu đặt ra của đề tài. Các ngôn ngữ  lập trình và cơ sở dữ liệu. Xây dựng phần mềm. Tiến hành kiểm tra và chạy thử. 1.4. Phát biểu nghiệp vụ của bài toán: Quản lý học viên: Nhân viên quản lý trung tâm có quyền tìm kiếm học  viên, in danh sách học viên, thêm những học viên mới, sửa thông tin của học viên,  xóa những học viên nghỉ học. Quản lý khen thưởng: Mỗi giảng viên sẽ có mức khen thưởng khác  nhau, nhân viên quản lý trung tâm có quyền bổ sung thêm những giảng viên được  khen thưởng. Quản lý lớp: Nhập mới thông tin lớp, sửa chữa thông tin, xóa bỏ những  lớp đã học xong. Quản lý điểm thi: Giảng viên có quyền cập nhật điểm thi của các học  viên, tìm kiếm điểm thi theo học viên. Quản lý học phí: Nhập mới các mức học phí tùy theo các cấp độ mà  trung tâm có, sửa chữa thông tin. Quản lý cấp độ: Các cấp độ mà trung tâm có dành cho các khóa học sẽ  được lưu lại tại hệ thống. Đồng thời hệ thống sẽ quản lý dữ liệu của các cấp  độ. Quản lý khóa học: Bổ sung các khóa học thường xuyên. Các khóa học mà  trung tâm có sẽ được lưu lại tại hệ thống. Đồng thời hệ thống sẽ quản lý dữ  Trang 7/ 37
  8. liệu. Quản lý tài liệu: Cập nhật số lượng tài liệu thường xuyên và điều chỉnh  nội dung phù hợp với cấp độ. II.  PHÂN TÍCH HỆ THỐNG  2.1. Phân tích chức năng của hệ thống Hình 1: Mô hình chức năng hệ thống 2.2. Người sử dụng hệ thống ⮚       Nhân viên: Nhân viên quản lý học viên, quản lý khen thưởng và quản lý  lớp. Nhân viên có quyền truy cập vào tất cả các chức năng của hệ thống đối  với học viên, khen thưởng và lớp. Cập nhật, sửa đổi, bổ sung khi cần thiết. ⮚       Giảng viên: Giảng viên có quyền truy cấp các chức năng đối với điểm   của học viên. Cập nhật điểm thi, sửa đổi và thống kê điểm của học viên. ⮚     Học viên: Học viên tương tác với phần mềm qua mã học viên, xem trực   tiếp điểm của mình. III.  XÂY DỰNG MÔ HÌNH THỰC THỂ LIÊN KẾT ER  3.1. Xác định các quy tắc và ràng buộc a) Trung tâm có nhiều giảng viên (GIANGVIEN). Mỗi giảng viên có mã  (MaGV) duy nhất và tên giảng viên (tenGV), số điện thoại giảng viên  (SdtGV) và số buổi giảng dạy của giảng viên đó (SobuoiGD).  b) Mỗi giảng viên giảng dạy nhiều lớp (LOP). Mỗi lớp được dạy bởi nhiều  giảng viên. Thuộc tính (NgayGD) là thuộc tính của kiểu liên kết được dùng  Trang 8/ 37
  9. để ghi lại ngày giảng dạy của mỗi giảng viên khi giảng dạy một lớp nào đó.  Mỗi lớp có mã lớp (MaLop) duy nhất, thời gian mở (TgianMo), thời gian kết  thúc (TgianKetthuc), mức học viên dự kiến (HVDK). c) Một lớp có nhiều học viên (HOCVIEN). Mỗi học viên có mã học viên  (MaHV) duy nhất, tên học viên (TenHV), ngày sinh(Ngaysinh), giới  tính(Gioitinh) và có số điện thoại riêng dành cho mỗi học viên (SDTHocvien). d) Mỗi học viên học tập tại trung tâm đăng ký một khóa học (KHOAHOC). Mỗi  khóa học có mã khóa học(MaKH), tên khóa học (TenKH) và mô tả khóa học  (MotaKH). e) Trong mỗi khóa học sẽ có nhiều cấp độ (CAPDOKH) để phù hợp với  nguyện vọng đăng ký của học viên, nhưng mỗi cấp độ sẽ được phụ trách  bởi nhiều giảng viên và mỗi lớp dạy một cấp độ. Mỗi cấp độ bao gồm có  mã cấp độ (MaCD), tên cấp độ (TenCD). f) Mỗi nhân viên (NHANVIEN) quản lý một lớp. Trong nhân viên lưu lại thông  tin của nhân viên là có mã nhân viên (MaNV) duy nhất, tên nhân viên  (TenNV) và số buổi đi làm (số buổi quản lý lớp) của mỗi nhân viên  (SobuoiQL). g) Lưu lại thông tin về nhân viên quản lý trực tiếp của nhân viên. Người quản  lý trực tiếp cũng là một nhân viên được gọi là NVQL. h) Mỗi cấp độ có mức học phí (HOCPHI) khác nhau. Mỗi mức học phí ta lưu  lại thông tin về tổng tiền (Tongtien) của mỗi cấp độ. i) Mỗi giảng viên được một mức khen thưởng (KHENTHUONG) sau khi kết  thúc khóa học. Trong khen thưởng có mã khen thưởng (MaKT) duy nhất và  mức độ khen thưởng phù hợp với từng giảng viên (MucdoKT). j) Với mỗi cấp độ sẽ ứng với nhiều tài liệu (TAILIEU). Mỗi tài liệu có mã tài  liệu (MaTL) duy nhất và tên tài liệu (TenTL). k) Mỗi học viên sẽ tham gia nhiều bài thi phù hợp với cấp độ mà học viên đó  đăng ký. Bảng thi (THI) sẽ lưu lại điểm của các học viên (DiemCD) sau khi  thi. l) Bảng đăng nhập (ACCOUNT) để lưu lại tài khoản. 3.2. Xác định thực thể, thuộc tính và liên kết a) Trung tâm có nhiều giảng viên (GIANGVIEN). Mỗi giảng viên có mã  (MaGV) duy nhất và tên giảng viên (tenGV), số điện thoại giảng viên  (SdtGV) và số buổi giảng dạy của giảng viên đó (SobuoiGD).  ► GIANGVIEN (MaGV, TenGV, SdtGV, SobuoiGD). Trang 9/ 37
  10.      b) Mỗi giảng viên giảng dạy nhiều lớp (LOP). Mỗi lớp được dạy bởi nhiều  giảng viên. Thuộc tính (NgayGD) là thuộc tính của kiểu liên kết được dùng  để ghi lại ngày giảng dạy của mỗi giảng viên khi giảng dạy một lớp nào đó.  Mỗi lớp có mã lớp (MaLop) duy nhất, thời gian mở (TgianMo), thời gian kết  thúc (TgianKetthuc), mức học viên dự kiến (HVDK). ► LOP (MaLop, TgianMo, TgianKetthuc, HVDK). c) Một lớp có nhiều học viên (HOCVIEN). Mỗi học viên có mã học viên  (MaHV) duy nhất, tên học viên (TenHV), ngày sinh(Ngaysinh), giới  tính(Gioitinh) và có số điện thoại riêng dành cho mỗi học viên (SDTHocvien). ► HOCVIEN (MaHV, TenHV, NgaySinh, Gioitinh, SDTHocvien). d) Mỗi học viên học tập tại trung tâm đăng ký một khóa học (KHOAHOC). Mỗi  khóa học có mã khóa học(MaKH), tên khóa học (TenKH) và mô tả khóa học  Trang 10/ 37
  11. (MotaKH). ► KHOAHOC (MaKH, TenKH, MotaKH).    e) Trong mỗi khóa học sẽ có nhiều cấp độ (CAPDOKH) để phù hợp với  nguyện vọng đăng ký của học viên, nhưng mỗi cấp độ sẽ được phụ trách  bởi nhiều giảng viên và mỗi lớp dạy một cấp độ. Mỗi cấp độ bao gồm có  mã cấp độ (MaCD), tên cấp độ (TenCD). ► CAPDOKH (MaCD, TenCD). f) Mỗi nhân viên (NHANVIEN) quản lý một lớp. Trong nhân viên lưu lại thông  tin của nhân viên là có mã nhân viên (MaNV) duy nhất, tên nhân viên  (TenNV) và số buổi đi làm (số buổi quản lý lớp) của mỗi nhân viên  (SobuoiQL). g) Lưu lại thông tin về nhân viên quản lý trực tiếp của nhân viên. Người quản  lý trực tiếp cũng là một nhân viên được gọi là NVQL. ► NHANVIEN (MaNV, TenNV, SobuoiQL, NVQL). Trang 11/ 37
  12. ́ ược goi la nhân viên quan ly (NVQL). Nhân viên đo đ ̣ ̀ ̉ ́ h) Mỗi cấp độ có mức học phí (HOCPHI) khác nhau. Mỗi mức học phí ta lưu  lại thông tin về tổng tiền (Tongtien) của mỗi cấp độ. ► HOCPHI (Tongtien). i) Mỗi giảng viên được một mức khen thưởng (KHENTHUONG) sau khi kết  thúc khóa học. Trong khen thưởng có mã khen thưởng (MaKT) duy nhất và  mức độ khen thưởng phù hợp với từng giảng viên (MucdoKT). ► KHENTHUONG (MaKT, MucdoKT). j) Với mỗi cấp độ sẽ ứng với nhiều tài liệu (TAILIEU). Mỗi tài liệu có mã tài  Trang 12/ 37
  13. liệu (MaTL) duy nhất và tên tài liệu (TenTL). ► TAILIEU (MaTL, TenTL). k) Mỗi học viên sẽ tham gia nhiều bài thi phù hợp với cấp độ mà học viên đó  đăng ký. Bảng thi (THI) sẽ lưu lại điểm của các học viên (DiemCD) sau khi  thi. ► THI (DiemCD). l) Bảng đăng nhập (ACCOUNT) để lưu lại tài khoản. ► ACCOUNT (Tendangnhap, Matkhau, Vaitro).       3.3. Xây dựng mô hình thực thể liên kết ER Trang 13/ 37
  14. Hình 2: Mô hình liên kết thực thể ER IV.  CHUYỂN TỪ MÔ HÌNH THỰC THỂ LIÊN KẾT SANG MÔ HÌNH    QUAN HỆ        Bước 1: Các thực thể (trừ thực thể yếu) → các bảng /quan hệ. GIANGVIEN (MaGV, TenGV, SdtGV, SobuoiGD). LOP (MaLop, TgianMo, TgianKetthuc, HVDK). HOCVIEN (MaHV, TenHV, NgaySinh, Gioitinh, SDTHocvien). KHOAHOC (MaKH, TenKH, MotaKH). CAPDOKH (MaCD, TenCD). NHANVIEN (MaNV, TenNV, SobuoiQL, NVQL). HOCPHI (Tongtien). KHENTHUONG (MaKT, MucdoKT). TAILIEU (MaTL, TenTL). THI (DiemCD). Bước 2: Không có thực thể yếu. Bước 3: Liên kết 1­1 → khóa của 1 bên sang làm khóa ngoại bên kia. KHENTHUONG   ­   GIANGVIEN   có   liên   kết   1­1:   Đưa   khóa   chính   của   GIANGVIEN sang làm khóa ngoại của KHENTHUONG. → KHENTHUONG (MaKT, MucdoKT, MaGV). Trang 14/ 37
  15. NHANVIEN ­ LOP có liên kết 1­1 : Đưa khóa chính của NHANVIEN  sang làm khóa ngoại của LOP. → LOP (MaLop, TgianMo, TgianKetthuc, HVDK, MaNV). LOP ­ CAPDOKH có liên kết 1­1 : Đưa khóa chính của LOP sang làm  khóa ngoại của CAPDOKH. → CAPDOKH (MaCD, TenCD, MaLop). KHOAHOC   ­   HOCVIEN   có   liên   kết   1­1   :   Đưa   khóa   chính   của  KHOAHOC sang làm khóa ngoại của HOCVIEN → HOCVIEN (MaHV, TenHV, NgaySinh, Gioitinh, SDTHocvien,  MaKH). CAPDOKH ­ HOCPHI có liên kết 1­1 : Đưa khóa chính của CAPDOKH   sang làm khóa ngoại của HOCPHI → HOCPHI (MaCD, TongTien) Bước 4: Liên kết 1­N → khóa của bảng bên 1 trở thành khóa ngoại ở bảng bên  nhiều. CAPDOKH ­ GIANGVIEN có liên kết 1­N: Đưa khóa chính của  CAPDOKH sang thành khóa ngoại của GIANGVIEN. → GIANGVIEN (MaGV, TenGV, SdtGV, SobuoiGD, MaCD). CAPDOKH ­ TAILIEU có liên kết 1­N: Đưa khóa chính của CAPDOKH  sang thành khóa ngoại của TAILIEU. → TAILIEU (MaTL, TenTL, MaCD). KHOAHOC ­ CAPDOKH có liên kết 1­N: Đưa khóa chính của  KHOAHOC sang làm khóa ngoại của CAPDOKH. → CAPDOKH (MaCD, TenCD, MaLop, MaKH). LOP ­ HOCVIEN có liên kết 1­N: Đưa khóa chính của LOP sang làm  khóa ngoại của HOCVIEN. → HOCVIEN (MaHV, TenHV, NgaySinh, Gioitinh, SDTHocvien, MaKH,  MaLop). ** Thuộc tính NVQL để chỉ ra người quản lý. NVQL là khóa ngoài của  nhân viên tham chiếu đến NHANVIEN. → NHANVIEN (MaNV, TenNV, SobuoiQL, NVQL).  HOCVIEN ­ THI có liên kết 1 ­ N : Đưa khóa chính của HOCVIEN sang  làm khóa ngoại của THI. → THI (DiemCD, MaHV). CAPDOKH ­ THI có liên kết 1 ­ N : Đưa khóa chính của CAPDOKH sang  làm khóa ngoại của THI. Trang 15/ 37
  16. → THI (DiemCD, MaHV, MaCD). Bước 5: Liên kết M­N → Thêm 1 bảng/ quan hệ mới R, chuyển khóa chính của  hai quan hệ phía M và N thành khóa ngoại của quan hệ R. Khóa chính của R là  sự kết hợp của 2 khóa ngoại. GIANGVIEN ­ LOP có liên kết M­N: Thêm quan hệ mới tên  GIANGDAY với khóa chính của GIANGVIEN và LOP là khóa ngoại của R.  Khóa chính của R là sự kết hợp của hai khóa ngoại. Và thuộc tính của liên  kết. → GIANGDAY (MaGV, MaLop, NgayGD). Bước 6: Không có thuộc tính đa trị. Bước 7: Không có liên kết bậc >2. Bước 8: GIANGVIEN (MaGV, TenGV, SdtGV, SobuoiGD, MaCD). LOP (MaLop, TgianMo, TgianKetthuc, HVDK, MaNV). HOCVIEN (MaHV, TenHV, NgaySinh, Gioitinh, SDTHocvien, MaKH, MaLop). KHOAHOC (MaKH, TenKH, MotaKH). CAPDOKH (MaCD, TenCD, MaLop, MaKH). NHANVIEN (MaNV, TenNV, SobuoiQL, NVQL). HOCPHI (MaCD, TongTien). KHENTHUONG (MaKT, MucdoKT, MaGV). TAILIEU (MaTL, TenTL, MaCD). THI (DiemCD, MaHV, MaCD). GIANGDAY (MaGV, MaLop, NgayGD). Trang 16/ 37
  17. Hình 3: Mô hình quan hệ V.  MÔ HÌNH HỆ THỐNG  Hình 4.1: Mô hình hệ thống quản lý TTTA Trang 17/ 37
  18. Hình 4.2: Mô hình hệ thống quản lý TTTA Hình 4.3: Mô hình hệ thống quản lý TTTA Trang 18/ 37
  19. Hình 4.4: Mô hình hệ thống quản lý TTTA VI.  CÂU LỆNH TRUY VẤN SQL.  5.1. Tạo và thêm dữ liệu vào bảng. Create database QLTTTA Use QLTTTA ̣ ̉ ­­Tao bang KHOAHOC Create table KHOAHOC( MaKH char (15) not null primary key, TenKH Nvarchar (40), MotaKH Nvarchar (100)); ̣ ̉ ­­Tao bang HOCVIEN Create table HOCVIEN( MaHV char(15) not null primary key, TenHV Nvarchar(40), Ngaysinh date, Gioitinh Nvarchar(10), SDTHocVien varchar(20), MaKH char(15), MaLop char(15), Trang 19/ 37
  20. foreign key (MaKH) references KHOAHOC(MaKH), foreign key (MaLop) references LOP(MaLop)); ̣ ̉ ­­Tao bang LOP Create table LOP( MaLop char (15) not null primary key, TgianMo date, TgianKetthuc date, HVDK float, MaNV char(15), foreign key (MaNV) references NHANVIEN(MaNV)); ̣ ̉ ­­Tao bang NHANVIEN Create table NHANVIEN( MaNV char(15) not null primary key, TenNV Nvarchar(40), SobuoiQL float, NVQL char(15)); ̣ ̉ ­­Tao bang HOCPHI Create table HOCPHI( MaCD char(15), Tongtien float, foreign key (MaCD) references CAPDOKH(MaCD)); ̣ ̉ ­­Tao bang CAPDOKH Create table CAPDOKH( MaCD char(15) not null primary key, TenCD Nvarchar(40), MaLop char(15), MaKH char(15), foreign key (MaLop) references LOP(MaLop), foreign key (MaKH) references KHOAHOC(MaKH)); ̣ ̉ ­­Tao bang KHENTHUONG Create table KHENTHUONG( MaKT char(15) not null primary key, MucdoKT float, Trang 20/ 37
nguon tai.lieu . vn