ITPlus Academy
Lớp PYA0418E - HĐT
ĐỒ ÁN
KẾT THÚC CUỐI KHÓA NGÀNH LẬP TRÌNH
TÊN ĐỀ TÀI QUẢN LÝ KHÓA HỌC
Tên Lớp
: PYA0418E - HĐT
Học Viên
: Lê Tùng Linh
GV Hướng dẫn
: Lê Trung Thực
HÀ NỘI 09/2018 Quản lý khóa học
trang 1/ 20
ITPlus Academy
Lớp PYA0418E - HĐT
Contents Lời nói đầu.........................................................................................................3 PHẦN 1: ĐẶT VẤN ĐỀ VÀ XÁC ĐỊNH YÊU CẦU....................................4 Đặt vấn đề hoạt động nghiệp vụ của hệ thống...............................................................4
PHẦN 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG...................................5 1.
Phân tích hệ thống.................................................................................................5
1.1.
Xây dựng Use Case...............................................................................................5
1.1.1. Xây dựng Use Case tổng quát...............................................................................5 1.1.2. Phân rã các Use Case.............................................................................................5 1.2.
Biểu diễn các Use Case theo các kịch bản............................................................7
1.3.
Xác định mô hình lớp............................................................................................8
1.3.1. Xác định các lớp thực thể......................................................................................8 1.3.2. Xác định các quan hệ lớp thực thể.........................................................................9 2.
Thiết kế hệ thống.................................................................................................10
2.1.
Xây dựng các biểu đồ tương tác..........................................................................10
Biểu đồ tuần tự (sequence diagarm)..............................................................................10 2.2.
Xây dựng biểu đồ lớp chi tiết..............................................................................14
PHẦN 3: THIẾT KẾ GIAO DIỆN...............................................................15 1.
Giao diện trang chủ.............................................................................................15
2. Giao diện các chức năng chính..................................................................................15 2.1. Giao diện chức năng quản lý khóa học...................................................................15 2.2. Giao diện chức năng quản lý buổi học....................................................................16 2.3. Giao diện chức năng quản lý học viên....................................................................18 2.4. Giao diện chức năng quản lý phòng.......................................................................19 Kết luật và hướng phát triển..........................................................................................20
Quản lý khóa học
trang 2/ 20
ITPlus Academy
Lớp PYA0418E - HĐT
Lời nói đầu Với sự phát triển mạnh mẽ của công nghệ thông tin nói chung và công nghệ phần mềm trong những năm gần đây, việc công nghệ thông tin hóa trong quản lý là một xu thể phổ biến, mang đến nhiều lợi ích lớn cho các đơn vị. Những phần mềm hỗ trợ nghiệp vụ quản lý giúp cho việc quản lý, hoạch định, tổng hợp báo cáo, quản lý khách hàng, chuẩn hóa quy trình… trở nên dễ dàng hơn rất nhiều. Trong khóa luận này, thông qua việc khảo sát nhu cầu thực tế ở một số trung tâm dạy thêm, cũng như bộ phận giáo vụ của các trường THPT, THCS trên địa bàn tôi đề xuất một ứng dụng quản lý khóa học. Ứng dụng được xây dựng trên nền tảng Odoo Famword sử dụng hệ quản trị cơ sở dữ liệu Postgre SQL, ngôn ngữ lập trình Python. Đề tài gồm 3 chương: Chương 1: Đặt vấn đề và xác định yêu cầu Chương 2: Phân tích và thiết kế hệ thống cơ sở dữ liệu Chương 3: Thiết kế giao diện Để hoàn thành khóa luận này tôi xin trân thành cảm ơn thầy giáo hướng dẫn Lê Trung Thực và tập thể các bạn trong lớp PYA0418 – HĐT đã hướng dẫn và giúp đỡ tôi trong quá trình tôi làm đề tài này. Do về mặt kiến thức và thời gian còn hạn chế, nên ứng dụng còn nhiều khiếm khuyết, chưa được hoàn thiện. Rất mong được sự đóng góp ý kiến của các thầy cô và mọi người. Tôi xin chân thành cám ơn! Hà nội, ngày … tháng 9 năm 2018 Tác giả
Lê Tùng Linh
Quản lý khóa học
trang 3/ 20
ITPlus Academy
Lớp PYA0418E - HĐT
PHẦN 1: ĐẶT VẤN ĐỀ VÀ XÁC ĐỊNH YÊU CẦU Đặt vấn đề hoạt động nghiệp vụ của hệ thống Với sự phát triển của xã hội, nhu cầu học tập tiếp thu kiến thức cũng như phát triển kỹ năng của học sinh tăng. Đáp ứng nhu cầu đó ngoài các buổi học chính khóa nhà trường thường xuyên tổ chức những khóa học theo các nội dung chuyên đề. Mỗi khóa học được tổ chức có nội dung chủ đề khác nhau phù hợp nhu cầu của học sinh. Nhà trường liên hệ với các giáo viên giảng dạy uy tín xây dựng nội dung khóa học và lên lịch trình cho từng buổi học cụ thể. Sau đó, tổ chức thông báo tới các học sinh thông tin các khóa học này: về nội dung của khóa, thời gian bắt đầu và kết thúc khóa học, lịch học cụ thể của từng buổi học… Tiếp theo tiếp nhận danh sách các học sinh đăng ký tham gia. Tổ chức các khóa học này diễn ra đúng như lịch trình. Các giáo viên giảng dậy có thể thông qua ứng dụng này cập nhật số lượng học sinh tham gia ở từng buổi học. Để giảm thiểu khối lượng công việc phải làm thủ công cho bộ phận phụ trách ở phòng đào tạo, nâng cao hiệu quả trong việc quản lý thông tin các khóa học, thông tin của học viên tham gia. Đòi hỏi phải có một ứng dụng đáp ứng được một số yêu cầu cơ bản như sau: Giúp nhân viên quản lý theo dõi được thông tin khóa học đang diễn ra hoặc khởi tạo các khóa học mới. Giúp nhân viên quản lý kiểm tra tình trạng các phòng học để xếp lịch học phù hợp Giúp cho giảng viên theo dõi số lượng học viên tham gia các buổi học
Quản lý khóa học
trang 4/ 20
ITPlus Academy
Lớp PYA0418E - HĐT
PHẦN 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 1. Phân tích hệ thống 1.1. Xây dựng Use Case 1.1.1. Xây dựng Use Case tổng quát Ứng dụng phục vụ các nhóm ( Actor): Nhân viên quản lý, Giảng viên Chức năng của hệ thống được thể hiện thông qua Use Case tổng quát sau:
1.1.2. Phân rã các Use Case Phân rã Use Case Quản lý khóa học
Quản lý khóa học
trang 5/ 20
ITPlus Academy
Lớp PYA0418E - HĐT
Phân rã Use Case Quản lý buổi học
Phân rã Use Case Quản lý phòng học
Quản lý khóa học
trang 6/ 20
ITPlus Academy
Lớp PYA0418E - HĐT
Phân rã Use Case Quản lý học viên
1.2.
Biểu diễn các Use Case theo các kịch bản Bảng 1: Kịch bản cho use case Tạo khóa học
Tên Use Case Tác nhân chính Mức Tiền điều kiện Đảm bảo tối thiểu Đảm bảo thành công Kích hoạt
Tạo khóa học Nhân viên quản lý 3 Đã đăng nhập được vào hệ thống Hệ thống loại bỏ các thông tin đã tạo và quay lui lại bước trước đó Hệ thống tạo thông tin khóa học mới lưu vào CSDL Nhân viên quản lý click vào nút khởi tạo trên màn hình
Chuỗi sự kiện chính: Quản lý khóa học
trang 7/ 20
ITPlus Academy
Lớp PYA0418E - HĐT
1. Hệ thống hiển thị form yêu cầu nhân viên quản lý nhập thông tin của khóa học 2. Nhân viên quản lý nhập thông tin của khóa học mới sau đó nhấn nút Save 3. Hệ thống kiểm tra thông tin, xác nhận thông tin hợp lệ lưu vào CSDL 4. Nhân viên quản lý nhấn Discard thoát khỏi chức năng Ngoại lệ: 3.a. Hệ thống hiển thị thông tin chưa hợp lệ yêu cầu nhập lại
Bảng 3: Kịch bản cho use case Tìm kiếm học viên Tên Use Case Tác nhân chính Mức Tiền điều kiện Đảm bảo tối thiểu Đảm bảo thành công Kích hoạt
Tìm kiếm học viên Nhân viên quản lý 3 Đang ở chức năng Quản lý học viên Hệ thống loại bỏ các điều kiện không hợp lý và quay lui lại bước trước đó Hệ thống hiển thị danh sách các học viên cần tìm kiếm Nhân viên chọn chức năng quản lý trên form
Chuỗi sự kiện chính: 1. Nhân viên quản lý nhập điều kiện tìm kiếm học viên trên form giao diện và nhấn Enter 2. Hệ thống kiểm tra thông tin, xác nhận thông tin hợp lệ sẽ hiển thị danh sách các học viên thõa mãn điều kiện Ngoại lệ: 2.a. Hệ thống hiển thị thông tin chưa hợp lệ yêu cầu nhập lại
1.3. Xác định mô hình lớp 1.3.1. Xác định các lớp thực thể Trên cơ sở các Use Case và Kịch bản cho các Use case trên ta xác định được các lớp thực thể: Lớp Khóa học: Cho biết thông tin của một khóa học sẽ diễn ra, nó có thể có các thuộc tính: Tên khóa học, Nội dung cơ bản khóa học, thời gian bắt đầu, thời gian kết thúc Lớp Buổi học: Cho biết thông tin của một buổi học cụ thể nào của khóa học : Tên buổi học, Nội dung cơ bản buổi học, thời gian bắt đầu, thời gian kết thúc. Quản lý khóa học
trang 8/ 20
ITPlus Academy
Lớp PYA0418E - HĐT
Lớp Phòng Học: Cho biết thông tin về phòng phục vụ cho buổi học, nó có thể có các thuộc tính: Tên phòng học, Diện tích phòng (số chỗ ngồi). Lớp Học viên: Cho biết thông tin của các học viên tham gia khóa học, có thể có các thuộc tính: Tên học viên, địa chỉ, số điện thoại, mã học viên Lớp Giảng viên: Cho biết thông tin của giảng viên thực hiện giảng dạy trong khóa học, có thể gồm các thuộc tính: Tên giảng viên, địa chỉ, số điện thoại. Giữa lớp Học viên và lớp Giảng viên có các thuộc tính giống nhau có thể đưa về cùng một lớp. Tuy nhiên do vai trò của 2 nhóm đối tượng này trong hệ thống hoàn toàn khác nhau nên để thuận lợi cho thiết kế và phát triển mở rộng ứng dụng sau này thì ta tách ra thành 2 lớp riêng biệt. Có thể tạo 1 lớp mới Đối tác có các thuộc tính như vậy để 2 lớp kế thừa. Lớp Đối tác: Với các thuộc tính: Tên đối tác, địa chỉ, số điện thoại 1.3.2. Xác định các quan hệ lớp thực thể
2. Thiết kế hệ thống
Quản lý khóa học
trang 9/ 20
ITPlus Academy
Lớp PYA0418E - HĐT
Các nhóm đối tượng có thực có cùng thuộc tính và phương thức đó là lớp thực thể. Ta đã xác định ở phần phân tích, hệ thống còn có những nhóm đối tượng khác để trình bày đủ các khía cạnh của hệ thống ta bổ sung vào một số loại lớp là lớp biên (Lớp Form), lớp điều khiển (Lớp DK), lớp Trung gian, Lớp Trừu tượng. Lớp biên: Là lớp liên quan đến giao diện người dùng, nhận thông tin từ người dùng và gửi thông tin đến các đối tượng bên trong hệ thống, mỗi form nhân thông tin sẽ trở thành 1 lớp (hoặc những form giống nhau cũng có thể trở thành 1 lớp). Lớp DK: Làm nhiệm vụ điều khiển hoạt động của hệ thống ứng với những chức năng nhất định. Nhận thông tin từ lớp biên để gửi đến lớp thực thể thực thi. Lớp Trung gian: Lớp được sử dụng để thay thế cho 1 quan hệ nhiều – nhiều giữa 2 lớp thực thể. Lớp trừu tượng: Là những lớp không có đối tượng, không đại diện cho 1 thực thể tham gia trong hệ thống. 2.1. Xây dựng các biểu đồ tương tác Biểu đồ tuần tự (sequence diagarm)
Biểu đồ tuần tự cho chức năng Tạo khóa học
Quản lý khóa học
trang 10/ 20
ITPlus Academy
Lớp PYA0418E - HĐT
Biểu đồ tuần tự cho chức năng Tìm kiếm buổi học
Quản lý khóa học
trang 11/ 20
ITPlus Academy
Lớp PYA0418E - HĐT
Biểu đồ tuần tự cho chức năng Chỉnh sửa thông tin buổi học
Quản lý khóa học
trang 12/ 20
ITPlus Academy
2.2.
Lớp PYA0418E - HĐT
Xây dựng biểu đồ lớp chi tiết
Quản lý khóa học
trang 13/ 20
ITPlus Academy
Lớp PYA0418E - HĐT
PHẦN 3: THIẾT KẾ GIAO DIỆN 1. Giao diện trang chủ Quản lý khóa học
trang 14/ 20
ITPlus Academy
Lớp PYA0418E - HĐT
Giao diện trang chủ hệ thống người dùng đăng nhập vào
Giao diện hiển thị sau khi người dùng đăng nhập thành công
2. Giao diện các chức năng chính 2.1. Giao diện chức năng quản lý khóa học Giao diện form khởi tạo và tìm kiếm khóa học
Giao diện Form nhập thông tin khóa học
Quản lý khóa học
trang 15/ 20
ITPlus Academy
Lớp PYA0418E - HĐT
Giao diện báo lỗi khi lưu giữ liệu mà chưa nhập Tên khóa học
2.2. Giao diện chức năng quản lý buổi học Giao diện form khởi tạo và tìm kiếm thông tin buổi học
Quản lý khóa học
trang 16/ 20
ITPlus Academy
Lớp PYA0418E - HĐT
Giao diện form nhập thông tin buổi học
Giao diện form báo lỗi khi chưa nhập đúng thông tin bắt buộc trong form buổi học
Quản lý khóa học
trang 17/ 20
ITPlus Academy
Lớp PYA0418E - HĐT
2.3. Giao diện chức năng quản lý học viên Giao diện form khởi tạo và tìm kiếm học viên
Giao diện form chỉnh sửa thông tin buổi học
Giao diện form báo lỗi khi nhập thông tin Mã học viên không đúng quy định
Quản lý khóa học
trang 18/ 20
ITPlus Academy
Lớp PYA0418E - HĐT
Giao diện form báo lỗi khi nhập thông tin Mã học viên trùng nhau
2.4. Giao diện chức năng quản lý phòng Giao diện form khởi tạo phòng và tìm kiếm thông tin phòng học
Giao diện form nhập thông tin phòng học
Quản lý khóa học
trang 19/ 20
ITPlus Academy
Lớp PYA0418E - HĐT
Giao diện form báo lỗi khi lưu thông tin phòng học mà chưa nhập thông tin bắt buộc
Kết luật và hướng phát triển
Do kiến thức còn hạn chế, thời gian ngắn nên ứng dụng vẫn còn nhiều thiếu sót, chưa tối ưu chủ yếu mới chỉ đáp ứng cơ bản nghiệp vụ lưu trữ và quản lý thông tin của khóa học. Bản thân nhận thấy ứng dụng chưa có tính tương tác giữa các người dùng, cần mở rộng phát triển thêm nhiều chức năng, giao diện cần phải cải thiện thêm bằng cách sử dụng các tính năng HTML, CSS.
Quản lý khóa học
trang 20/ 20