Đất nước ta đang ngày một phát triển, đang cố gắng hòa nhập và rút ngắn khoảng cách với thế giới, việc nước ta trở thành thành viên của WTO đã được các nhà kinh doanh chú ý đến và đầu tư ngày càng nhiều vào Việt Nam. Vì vậy để không bị quá lạc hậu, để rút ngắn khoảng cách với các nước, để đáp ứng yêu cầu tất yếu của các nhà đầu tư vào Việt Nam và để các nhà kinh doanh trong nước có đủ sức cạnh tranh với nước ngoài… thì bắt buộc phải đầu tư cho Công nghệ thông tin mà ở đây chính xác là các phần mềm tin học dùng cho các công ty, bệnh viện v.v… Việc áp dụng các phần mềm tin học vào các lĩnh vực giúp nâng cao tính hiệu quả và chính xác của công việc, ngoài ra còn tiết kiệm thời gian và giảm bớt mệt nhọc cho con người khiến hệ thống công việc hoạt động nhịp nhàng hơn. Nhu cầu thực tế của xã hội đòi hỏi con người phải luôn năng động và sáng tạo để tạo ra ngày càng nhiều sản phẩm cho xã hội. Nhân sự cho lĩnh vực công nghệ thông tin không bao giờ là đủ. Chính vì thế mà các công ty, các trung tâm đào tạo nhân sự công nghệ thông tin ra đời. Để quản lý được các học viên của mình, trung tâm thường dùng các văn bản giấy tờ để quản lý nên mất nhiều thời gian và công sức. Nhận thấy được điều đó, em đã mạnh dạn đề xuất đề tài này để khắc phục những nhược điểm trên. Đó là những nội dung cơ bản đề cập đến trong đề tài này. Hôm nay em chọn đề tài tốt nghiệp là “phần mềm quản lý học viên”. Ai cũng biết công ty nào cũng vậy muốn tồn tại và phát triển thì phải có nhân tố con người. Cùng với tốc độ phát triển mạnh mẽ của Công nghệ thông tin các lập trình viên đã phát minh ra nhiều phần mềm hữu ích nhằm phục vụ cho công việc của con người và phần mềm quản lý học viên cũng là một trong những vấn đề con người quan tâm nhiều nhất, nó giúp cho công tác nghiệp vụ của các công ty giảm thiểu tối đa những vất vả trong công việc giúp cho việc lưu trữ hồ sơ dễ dàng hơn giảm thiểu diện tích các kho và thậm chí là không cần. Đề tài quản lý học viên là một đề tài không phải là mới, hiện tại trên thị trường cũng có rất nhiều các phần mềm của các Công ty phần mềm có chức năng tương tự và chuyên nghiệp, nhưng vì mong muốn có thể tìm hiểu một phần kiến thức nhỏ bé trong một sa mạc Công nghệ thông tin nên em đã đi vào tìm hiểu về cơ cấu tổ chức và phát triển công ty để có thể viết ra một phần mềm quản lý học viên nhằm phục vụ cho lợi ích của công ty. Ứng dụng phần mềm của em có thể chưa hoàn chỉnh và còn nhiều thiếu sót nhưng đó là sự cố gắng của em trong bước đầu hòa nhập vào môi trường làm việc bên ngoài và tiếp xúc chập chững với Công nghệ thông tin. Em mong quý thầy cô trong khoa có thể tạo điều kiện giúp đỡ em hoàn thành đề tài tốt hơn. Chương trình phần mềm quản lý học viên của em được lập trình bằng ngôn ngữ lập trình C#, chạy trên nền NetFramwork và kết nối bằng cơ sở SQL. Phần mềm này giúp công ty quản lý hồ sơ, đào tạo, giảng viên giúp giảm tải bớt việc tìm kiếm mất thời gian mà hiệu quả và tính chính xác vẫn cao. Nội dung đồ án được chia thành ba chương chính với những nội dung cụ thể như sau: Chương 1: Tổng quan đề tài Chương 2: Phân tích thiết kế hệ thống Chương 3: Xây dựng phần mềm
Trang 1-XÂY DỰNG PHẦN MỀM QUẢN LÝ HỌC VIÊN CÔNG TY CỔ PHẦN
DEVPRO VIỆT NAM
HÀ NỘI – 2016
Trang 2XÂY DỰNG PHẦN MỀM QUẢN LÝ HỌC VIÊN CÔNG TY CỔ PHẦN
DEVPRO VIỆT NAM
Chuyên ngành: Công nghệ thông tin
Mã ngành: D480201
HÀ NỘI - 2016
Trang 3DANH MỤC VIẾT TẮT,KÍ HIỆU
DANH MỤC BẢNG BIỂU
DANH MỤC HÌNH VẼ
LỜI MỞ ĐẦU 1
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 3
1.1 Khái niệm hệ thống - hệ thống thông tin – hệ thống thông tin quản lí 3
1.1.1 Khái niệm hệ thống 3
1.1.2 Các yếu tố cơ bản của hệ thống : 3
1.1.3 Hệ thống thông tin 3
1.1.4 Hệ thống thông tin quản lí 3
1.2 Ngôn ngữ lập trình C# 4
1.3 Mô hình 3 lớp và MVP 5
1.3.1 Mô hình 3 lớp 5
1.3.2 Mô hình Model-View-Presenter (MVP) 7
1.4Tổng quan về linq 10
1.4.1 Giới thiệu về linq 10
1.4.2LINQ to Objects 11
1.4.3LINQ to SQL 11
1.4.4LINQ to XML 11
1.4.5LINQ to Datasets 11
1.5 Giới thiệu về công ty 12
1.5.1 Lịch sử hình thành và phát triển 12
1.5.2 Chức năng của công ty 13
1.5.3 Nhiệm vụ của công ty 13
1.5.4 Cơ cấu tổ chức bộ máy của công ty 13
1.5.5 Quy trình tuyển sinh đào tạo của công ty 15
1.5.6 Cơ sở vật chất phục vụ giảng dạy 15
Trang 41.6.2 Tầm nhìn 2020 16
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 17
2.1 Phân tích hệ thống 17
2.1.1 Mô tả bài toán 17
2.1.2 Yêu cầu: 17
2.2 Biểu đồ usecase 18
2.3 Mô tả các chức năng chính của phần mềm 19
2.4 Biểu đồ phân rã chức năng 20
2.4.1 Chức năng quản lý thông tin học viên 20
2.4.2Chức năng quản lý giảng viên 21
2.4.3Chức năng quản lý khóa học 22
2.4.4 Chức năng quản lý người dùng 23
2.5 Kịch bản 24
2.5.1 Đăng nhập 24
2.5.2 Quản lý học viên 25
2.5.3 Quản lý giảng viên 28
2.5.4 Quản lý lớp 31
2.6 Biểu đồ hoạt động 34
2.6.1 Biểu đồ hoạt động chức năng đăng nhập 34
2.6.2 Biểu đồ hoạt động chức năng quản lý học viên 35
2.6.3 Biểu đồ hoạt động chức năng quản lý giảng viên 38
2.6.4 Biểu đồ hoạt động chức năng thanh toán học phí 41
2.7 Biểu đồ trạng thái 44
2.7.1 Biểu đồ trang thại chức năng quản lý học viên 44
2.7.2 Biểu đồ trạng thái chức năng quản lý giảng viên 46
2.7.3 Biểu đồ trạng thái chức năng đăng nhập 47
2.7.4 Biểu đồ trạng thái chức năng quản lý thanh toán học phí 48
2.8 Biểu đồ lớp 49
Trang 52.8.3 Biểu đồ lớp và biểu đồ tuần tự tham gia ca sử dụng thêm học viên 51
2.8.4 Biểu đồ lớp và biểu đồ tuần tự tham gia ca sử dụng sửa học viên 52
2.8.5 Biểu đồ lớp tham gia ca sử dụng xóa học viên 53
2.8.6 Biểu đồ lớp và biểu đồ tuần tự tham gia ca sử dụng thêm giảng viên 53
2.8.7 Biểu đồ lớp và biểu đồ tuần tự tham gia ca sử dụng sửa giảng viên 54
2.8.8 Biểu đồ lớp và biểu đồ tuần tự tham gia ca sử dụng đóng học phí 56
2.9 Thiết kế hệ thống 57
2.9.1 Bảng học viên 57
2.9.2 Bảng giảng viên 57
2.9.3 Bảng lớp học 58
2.9.4 Bảng khóa học 58
2.9.5 Bảng login 58
2.9.7 Bảng thanh toán học phí 59
2.9.8 Bảng chuyên môn 59
2.9.9 Mô hình quan hệ 60
CHƯƠNG 3: XÂY DỰNG PHẦN MỀM 61
3.1 Xây dựng phần mềm 61
3.1.1 Cấu trúc phần mềm 61
3.1.2 Cấu trúc thư mục project 64
3.2 Thiết kế giao diện phần mềm 65
3.2.1 Form login 65
3.2.2 Form Main 65
3.2.3 Form quản lý học viên 66
3.2.4 Form quản lý giảng viên 66
3.2.5 Form quản lý tài khoản 67
3.2.6 Form quản lý lớp học 68
3.2.7 Form quản lý học phí 69
KẾT LUẬN 70
Trang 61 LINQ Language-Integrated Query
Ngôn ngữ truy vấn tích hợp
Model – View – Controller
Mô hình Model –View
-Controller
Model – View – Presenter
Mô hình Model – View –
Presenter
4 XML EXtensible Markup Language
5 GUI Graphical User Interface
Giao diện đồ họa người dùng
6 NetFramwork
The NetFrameworkCung cấp mô hình lập trìnhtoàn diện để xây dựng tất cảcác loại ứng dụng
7 O/RM Object Relational Mapping
Trang 7Bảng 2.2 Kịch bản đăng nhập 24
Bảng 2.3 Kịch bản thêm học viên 25
Bảng 2.4 Kịch bản sửa học viên 26
Bảng 2.5 Kịch bản xóa học viên 27
Bảng 2.6 Kịch bản thêm giảng viên 28
Bảng 2.7 Kịch bản sửa thông tin giảng viên 29
Bảng 2.8 Kịch bản xóa giảng viên 30
Bảng 2.9 Kịch bản mở lớp mới 31
Bảng 2.10 Kịch bản sửa thông tin lớp học 32
Bảng 2.11 Kịch bản xóa thông tin lớp học 33
Bảng 2.12 Học viên 57
Bảng 2.13 Giảng viên 57
Bảng 2.14 Lớp học 58
Bảng 2.15 Khóa học 58
Bảng 2.16 Login 58
Bảng 2.17 Thanh toán học phí 59
Bảng 2.18 Chuyên môn 59
Trang 8Hình 1.2 Kiến trúc của LINQ trong NET Framework 3.5 10
Hình 1.3 Cơ cấu bộ máy tổ chức quản lý 13
Hình 1.4 Quy trình đào tạo học viên tại công ty 15
Hình 2.1 Sơ đồ usecase Tổng quát hệ thống 19
Hình 2.2 Sơ đồ chức năng quản lý học viên 20
Hình 2.3 Biểu đồ phân rã chức năng quản lý giảng viên 21
Hình 2.4 Sơ đồ phân rã chức năng quản lý các khóa học của công ty 22
Hình 2.5 Sơ đồ phân rã chức năng quản lý người dùng 23
Hình 2.6 Biểu đồ hoạt động chức năng đăng nhập 34
Hình 2.7 Biểu đồ hoạt động chức năng thêm học viên 35
Hình 2.8 Biểu đồ hoạt động chức năng sửa học viên 36
Hình 2.9 Biểu đồ hoạt động chức năng xóa học viên 37
Hình 2.10 Biểu đồ hoạt động chức năng thêm giảng viên 38
Hình 2.11 Biểu đồ hoạt động chức năng sửa thông tin giảng viên 39
Hình 2.12 Biểu đồ hoạt động chức năng xóa giảng viên 40
Hình 2.13 Biểu đồ hoạt động chức năng thêm thanh toán học phí 41
Hình 2.14 Biểu đồ hoạt động chức năng sửa thanh toán học phí 42
Hình 2.15 Biểu đồ hoạt động chức năng xóa thanh toán học phí 43
Hình 2.16 Biểu đồ trạng thái Thêm học viên 44
Hình 2.17 Biểu đồ trạng thái chức năng sửa học viên 45
Hình 2.18 Biểu đồ trạng thái chức năng xóa học viên 45
Hình 2.19 Biểu đồ trạng thái chức năng thêm giảng viên 46
Hình 2.20 Biểu đồ trạng thái chức năng sửa thông tin giảng viên 46
Hình 2.21 Biểu đồ trạng thái chức năng xóa giảng viên 47
Hình 2.22 Biểu đồ trạng thái chức năng đăng nhập 47
Hình 2.23 Biểu đồ trạng thái chức năng thêm thanh toán học phí 48
Hình 2.24 Biểu đồ trạng thái chức năng sửa thanh toán học phí 48
Trang 9Hình 2.27 Biểu đồ lớp tham gia ca sử dụng đăng nhập 50
Hình 2.28 Biểu đồ tuần tự tham gia ca sử dụng đăng nhập 50
Hình 2.29 Biểu đồ lớp tham gia ca sử dụng thêm học viên 51
Hình 2.30 Biểu đồ tuần tự tham gia ca sử dụng nhập mới học viên 51
Hình 2.31 Biểu đồ lớp tham gia ca sử dụng sửa học viên 52
Hình 2.32 Biểu đồ tuần tự tham gia ca sử dụng sửa học viên 52
Hình 2.33 Biểu đồ lớp tham gia ca sử dụng xóa học viên 53
Hình 2.34 Biểu đồ tuần tự tham gia ca sử dụng xóa học viên 53
Hình 2.35 Biểu đồ lớp tham gia ca sử dụng thêm giảng viên 54
Hình 2.36 Biểu đồ tuần tự tham gia ca sử dụng thêm giảng viên 54
Hình 2.37 Biểu đồ lớp tham gia ca sử dụng sửa giảng viên 55
Hình 2.38 Biểu đồ tuần tự tham gia ca sử dụng sửa giảng viên 55
Hình 2.39 Biểu đồ lớp tham gia ca sử dụng đóng học phí 56
Hình 2.40 Biểu đồ tuần tự tham gia ca sử dụng đóng học phí 56
Hình 2.41 Mô hình quan hệ trong Sql 60
Hình 3.1 Cấu trúc của Model trong project 61
Hình 3.2 Cấu trúc của GUI trong project 62
Hình 3.3 Cấu trúc của Presenter trong project 63
Hình 3.4 Cấu trúc project 64
Hình 3.5 Form login 65
Hình 3.6 Form chính 65
Hình 3.7 Form quản lý học viên 66
Hình 3.8 Form quản lý giảng viên 66
Hình 3.9 Form quản lý tài khoản 67
Hình 3.10 Form quản lý lớp học 68
Hình 3.11 Form quản lý học phí 69
Trang 10LỜI MỞ ĐẦU
Ngày nay Công nghệ thông tin đã trở thành một phần tất yếu của cuộc sốngcon người, có người đã nói rằng nước Mỹ hùng mạnh một phần là nhờ vào Côngnghệ thông tin Nếu lúc trước Công nghệ thông tin là một điều viễn tưởng thì giờđây nó đã trở thành một phần rất không thể thiếu trong tất cả các lĩnh vực từ y học,kinh doanh đến cả giáo dục…
Đất nước ta đang ngày một phát triển, đang cố gắng hòa nhập và rút ngắnkhoảng cách với thế giới, việc nước ta trở thành thành viên của WTO đã được cácnhà kinh doanh chú ý đến và đầu tư ngày càng nhiều vào Việt Nam Vì vậy đểkhông bị quá lạc hậu, để rút ngắn khoảng cách với các nước, để đáp ứng yêu cầu tấtyếu của các nhà đầu tư vào Việt Nam và để các nhà kinh doanh trong nước có đủsức cạnh tranh với nước ngoài… thì bắt buộc phải đầu tư cho Công nghệ thông tin
mà ở đây chính xác là các phần mềm tin học dùng cho các công ty, bệnh viện v.v…Việc áp dụng các phần mềm tin học vào các lĩnh vực giúp nâng cao tính hiệu quả vàchính xác của công việc, ngoài ra còn tiết kiệm thời gian và giảm bớt mệt nhọc chocon người khiến hệ thống công việc hoạt động nhịp nhàng hơn
Nhu cầu thực tế của xã hội đòi hỏi con người phải luôn năng động và sáng tạo
để tạo ra ngày càng nhiều sản phẩm cho xã hội Nhân sự cho lĩnh vực công nghệthông tin không bao giờ là đủ Chính vì thế mà các công ty, các trung tâm đào tạonhân sự công nghệ thông tin ra đời Để quản lý được các học viên của mình, trungtâm thường dùng các văn bản giấy tờ để quản lý nên mất nhiều thời gian và côngsức Nhận thấy được điều đó, em đã mạnh dạn đề xuất đề tài này để khắc phụcnhững nhược điểm trên Đó là những nội dung cơ bản đề cập đến trong đề tài này
Hôm nay em chọn đề tài tốt nghiệp là “phần mềm quản lý học viên” Ai
cũng biết công ty nào cũng vậy muốn tồn tại và phát triển thì phải có nhân tố conngười Cùng với tốc độ phát triển mạnh mẽ của Công nghệ thông tin các lập trìnhviên đã phát minh ra nhiều phần mềm hữu ích nhằm phục vụ cho công việc của con
người và phần mềm quản lý học viên cũng là một trong những vấn đề con người
quan tâm nhiều nhất, nó giúp cho công tác nghiệp vụ của các công ty giảm thiểu tối
Trang 11đa những vất vả trong công việc giúp cho việc lưu trữ hồ sơ dễ dàng hơn giảm thiểudiện tích các kho và thậm chí là không cần.
Đề tài quản lý học viên là một đề tài không phải là mới, hiện tại trên thị trườngcũng có rất nhiều các phần mềm của các Công ty phần mềm có chức năng tương tự
và chuyên nghiệp, nhưng vì mong muốn có thể tìm hiểu một phần kiến thức nhỏ bétrong một sa mạc Công nghệ thông tin nên em đã đi vào tìm hiểu về cơ cấu tổ chức
và phát triển công ty để có thể viết ra một phần mềm quản lý học viên nhằm phục
vụ cho lợi ích của công ty Ứng dụng phần mềm của em có thể chưa hoàn chỉnh vàcòn nhiều thiếu sót nhưng đó là sự cố gắng của em trong bước đầu hòa nhập vàomôi trường làm việc bên ngoài và tiếp xúc chập chững với Công nghệ thông tin Emmong quý thầy cô trong khoa có thể tạo điều kiện giúp đỡ em hoàn thành đề tài tốthơn
Chương trình phần mềm quản lý học viên của em được lập trình bằng ngôn
ngữ lập trình C#, chạy trên nền NetFramwork và kết nối bằng cơ sở SQL Phầnmềm này giúp công ty quản lý hồ sơ, đào tạo, giảng viên giúp giảm tải bớt việc tìmkiếm mất thời gian mà hiệu quả và tính chính xác vẫn cao
Nội dung đồ án được chia thành ba chương chính với những nội dung cụ thểnhư sau:
Chương 1: Tổng quan đề tài
Chương 2: Phân tích thiết kế hệ thống
Chương 3: Xây dựng phần mềm
Trang 12CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 1.1 Khái niệm hệ thống - hệ thống thông tin – hệ thống thông tin quản lí
1.1.1 Khái niệm hệ thống.
- Hệ thống: là tổng thể gồm các bộ phận hoặc các phần tử khác nhau có mối
quan hệ tác động qua lại với nhau và được sắp xếp theo một trình tự nhằm tạo thànhmột chỉnh thể thống nhất, có những tính chất mới, có khả năng thực hiện một sốchức năng hoặc mục tiêu nhất định
1.1.2 Các yếu tố cơ bản của hệ thống :
-Môi trường: là tất cả các yếu tố, điều kiện nằm bên ngoài hệ thống có ảnhhưởng đến kết quả hoạt động của hệ thống
-Yếu tố đầu vào, ra :
+ Đầu vào : Tập hợp các tác động có thể của môi trường lên hệ thống
+ Đầu ra : Tập hợp các tác động ngược lại của hệ thống lên môi trường
-Cấu trúc hệ thống : Là sự sắp xếp các bộ phận hoặc phần tử bên trong củamột hệ thống và mối quan hệ qua lại giữa chúng
-Mục tiêu của hệ thống : Là trạng thái mong muốn của hệ thống sau một thờigian nhất định
1.1.3 Hệ thống thông tin
Hệ thống thông tin là một tập hợp nhiều thành phần có chức năng thu thập, lưutrữ, xử lý và phân phối thông tin để hỗ trợ cho việc làm quyết định điều hành trongmột tổ chức
Hệ thống thông tin tối thiểu bao gồm con người, quy trình, và dữ liệu Conngười tuân theo quy trình để xử lý dữ liệu tạo ra thông tin
1.1.4 Hệ thống thông tin quản lí
Hệ thống thông tin quản lí là hệ thống có nhiệm vụ cung cấp các thông tin cầnthiết phục vụ cho việc quản lí điều hành một tổ chức Thành phần chiếm vị trí quantrọng trong hệ thống thông tin quản lí là một cơ sở dữ liệu hợp nhất chứa các thôngtin phản ánh cấu trúc nội tạng của hệ thống và các thông tin về các hoạt động diễn
ra trong hệ thống
Trang 13Với hạt nhân là cơ sở dữ liệu hợp nhất, hệ thống thông tin quản lí có thể hỗ trợcho nhiều lĩnh vực chức năng khác nhau và có thể cung cấp cho các nhà quản lícông cụ và khả năng dễ dàng truy cập thông tin, hệ thống thông tin quản lí có cácchức năng chính :
+ Thu nhập, phân tích và lưu trữ các thông tin một cách hệ thống, những thôngtin có ích được cấu trúc hoá để có thể lưu trữ và khai thác trên các phương tiện tinhọc
+ Thay đổi, sửa chữa, tiến hành tính toán trên các nhóm chỉ tiêu, tạo ra thôngtin mới
+ Phân phối và cung cấp thông tin
Hệ thống thông tin thường được cấu thành bởi :
-C# (đọc là "C thăng" hay "C sharp" ("xi-sáp")) là một ngôn ngữ lập
trình hướng đối tượng được phát triển bởi Microsoft, là phần khởi đầu cho kếhoạch .NET của họ Tên của ngôn ngữ bao gồm ký tự thăng theo Microsoft nhưng
theo ECMA là C#, chỉ bao gồm dấu số thường Microsoft phát triển C# dựa trên C+
+ và Java C# được miêu tả là ngôn ngữ có được sự cân bằng giữa C++,VisualBasic, Delphi và Java
-C# được thiết kế chủ yếu bởi Anders Hejlsberg kiến trúc sư phần mềm nổitiếng với các sản phẩm Turbo Pascal, Delphi, J++, WFC
-C#, theo một hướng nào đó, là ngôn ngữ lập trình phản ánh trực tiếp nhất đến.NET Framework mà tất cả các chương trình.NET chạy, và nó phụ thuộc mạnh mẽvào Framework này Mọi dữ liệu cơ sở đều là đối tượng, được cấp phát và hủy bỏbởi trình dọn rác Garbage-Collector (GC), và nhiều kiểu trừu tượng khác chẳng hạn
Trang 14như class, delegate, interface, exception, v.v, phản ánh rõ ràng những đặc trưngcủa NET runtime.
So sánh với C và C++, ngôn ngữ này bị giới hạn và được nâng cao ở một vàiđặc điểm nào đó, nhưng không bao gồm các giới hạn sau đây:
-Các con trỏ chỉ có thể được sử dụng trong chế độ không an toàn Hầu hết cácđối tượng được tham chiếu an toàn, và các phép tính đều được kiểm tra tràn bộ đệm.Các con trỏ chỉ được sử dụng để gọi các loại kiểu giá trị; còn những đối tượng thuộc
bộ thu rác (garbage-collector) thì chỉ được gọi bằng cách tham chiếu.
-Các đối tượng không thể được giải phóng tường minh
-Chỉ có đơn kế thừa, nhưng có thể cài đặt trìu tượng (abstract interfaces).Chức năng này làm đơn giản hóa sự thực thi của thời gian thực thi
-C# thì an-toàn-kiểu (typesafe) hơn C++.
-Cú pháp khai báo mảng khác nhau("int[] a = new int[5]" thay vì "int a[5]")
-Kiểu thứ tự được thay thế bằng tên miền không gian (namespace).
Mô hình 3 lớp được cấu thành từ: Presentation Layers, Business Layers,
và Data Layers Các lớp này sẽ giao tiếp với nhau thông qua các dịch vụ (services)
mà mỗi lớp cung cấp để tạo nên ứng dụng, lớp này cũng không cần biết bên tronglớp kia làm gì mà chỉ cần biết lớp kia cung cấp dịch vụ gì cho mình và sử dụng nó
mà thôi
Trang 15Mô hình layer gồm có 3 layer:
- Layer GUI (Graphics User Interface)
- Layer Business Logic (Đây là layer để xử lý các dữ liệu, thông tin trước khiđưa lên giao diện hoặc đưa xuống dữ liệu.)
- Layer Data Access – Layer này sẽ giao tiếp Data
* Business Logic Layer:
- Đây là layer xử lý chính các dữ liệu trước khi được đưa lên hiển thị trên mànhình hoặc xử lý các dữ liệu trước khi lưu dữ liệu xuống cơ sở dữ liệu.
- Đây là nơi để kiểm tra các yêu cầu nghiệp vụ, tính toán các yêu cầu nghiệp vụ
Trang 16- Tại đây các tính năng tính toán trong chương trình sẽ được thực thi (Như tínhlương theo một công thức).
- Nói chung tại layer này nó sẽ nhào nặn dữ liệu cho phù hợp trước khi lưuxuống hoặc hiển thị lên chương trình
* Data Access Layer:
- Layer này sẽ thực hiện nhiệm vụ là đọc cơ sở dữ liệu lên, cập nhật cơ sở dữliệu, update cơ sở dữ liệu
- Nói chung là layer này làm nhiệm vụ là giao tiếp với database
* Cách các layer giao tiếp với nhau
- Vấn đề đặt ra ở đây là 3 layer này giao tiếp với nhau như thế nào:
Nhìn vào sơ đồ ta cũng sẽ nhận được câu trả lời:
- Quá trình hiển thị dữ liệu:
Data Access layer nói chuyện với Database và lấy dữ liệu lên theo một cáchnào đó (có thể là bằng câu lệnh select hay thông qua proceduce) lúc này sau khi lấyđược dữ liệu lên thì nó sẽ đẩy lên Business layer tại đây Business cần mài dũa rồiđẩy nó lên trên GUI và tại GUI nó sẽ hiển thị lên cho người dùng
- Quá trình đưa dữ liệu xuống
Người dùng thao tác với GUI layer sau đó ra lệnh thực hiện (ví như Insert) sau
đó hệ thống sẽ kiểm tra các thông tin người dùng nhập vào nếu thỏa đi xuống tiếplayer Business để tiếp tục được nhào nặn, tính toán và kiểm tra sau khi xong thì dữliệu được đẩy xuống thông tin phía dưới Data Access Layer sau đó tại DataAccessLayer sẽ thực thi nó xuống database
1.3.2 Mô hình Model-View-Presenter (MVP)
- Nhiều người cho rằng MVP là một design biến đổi của MVC Điểm khácnhau dễ thấy nhất là Presenter và Controller Trong mô hình MVP, các lớp View sẽđược sử dụng thông qua một Interface được định nghĩa trong NET Các lớpPresenter tương ứng sẽ sử dụng Interface này để đọc và ghi dữ liệu lên trên cácView Trong đa số các cách implement, một View sẽ có một Presenter tương ứngcủa nó View sẽ khởi tạo Presenter cho nó và truyền cho Presenter này tham chiếu
Trang 17đến chính nó Khi một event nào trên view được kích hoạt chẳng hạn nhưbutton_clicked, text_changed, bản thân lớp View sẽ không làm gì cả mà sẽ để cholớp Presenter xử lý những sự kiện đó Presenter sẽ đọc dữ liệu từ View (vì nó giữmột instance của View như là một member trong class) thông qua View Interface,thực hiện những xử lý ứng với Event được kích hoạt và set những thay đổi từ dữliệu Model lên trên View thông qua View Interface.
- Trong môi trường NET, cùng một Presenter có thể được sử dụng cho Viewtrên web như các trang ASP.NET hoặc được sử dụng cho các Form trong WindowsForm Application Các Presenter đọc và ghi dữ liệu thông qua một Interfacecủa NET nên nó hoàn toàn độc lập với layer View Chính nhờ cách làm này mà ta
có thể áp dụng Unit Test cho các lớp xử lý Presenter rất dễ dàng và nó cũng chính làmột trong những lợi ích lớn nhất của MVP cho khả năng tái sử dụng.Cập nhật View
- Khi thành phần dữ liệu Model được cập nhật, View cũng sẽ phải được cậpnhật để hiển thị những thay đổi Quá trình cập nhật View có thể được thực hiệnbằng nhiều cách khác nhau Có lẽ cũng từ những cách này mà Model-View-Presenter được chia thành hai loại là Passive View và Supervising Controller
- Trong mô hình Passive View, Presenter sẽ cập nhật view tương ứng bằng cách đọc
dữ liệu trực tiếp từ Model rồi set lên View, do đó các lớp View sẽ không biết gì vềthay đổi dữ liệu bên dưới Hay nói cách khác chúng hoàn toàn bị động theo như trêngọi
- Còn trong mô hình Supervising Controller, các lớp View sẽ tương tác trựctiếp với Model bên dưới để đọc dữ liệu mà không cần thông qua các lớp Presenter.Presenter sẽ cập nhật Model; nó chỉ thay đổi những control trên View trong trườnghợp có những xử lý giao diện phức tạp mà không thể khai báo trước chẳng hạn như
ẩn hiện control, đổi màu text,…
- Quyết định dùng Passive View hay Supervising Controller thường dựa trênnhu cầu test tự động của ứng dụng Nếu bạn muốn làm một ứng dụng có thể test tựđộng dễ dàng và cover hầu hết các xử lý bên trong thì Passive View là một lựa chọn
Trang 18thích hợp, mọi UI logic đều được test bằng cách viết lớp test cho các Presenter Mặtkhác, nếu bạn thích code đơn giản hơn thì Supervising Controller có vẻ là một lựachọn thích hợp hơn Đối với những thay đổi đơn giản trên giao diện, bạn cũngkhông cần đưa những xử lý cho các thay đổi đó vào lớp Presenter Khi chọn lựagiữa Passive View và Supervising Controller, bạn nên cân nhắc các điều sau đây:
Cả hai cách đều cho phép bạn tăng khả năng test tự động cho các xử lý giaodiện (presentation logic)
Passive View thường cung cấp khả năng test cao hơn Supervising Controllerbởi vì tất cả các xử lý giao diện được đặt trong các lớp Presenter
Supervising Controller sẽ đỡ phải code nhiều như Passive View bởi vì PassiveView không cần thực hiện những cập nhật đơn giản cho View
Tương tác với dữ liệu
- Bạn cần phân biệt rõ Model với Domain, hai khái niệm này hoàn toàn khácnhau Chúng ta có thể implement các lớp tương tác với dữ liệu bằng nhiều cáchkhác nhau Trong một số trường hợp, có thể bạn sẽ phải sử dụng ObserverPattern cho các Presenter và Model Nó sẽ giúp cho Presenter nhận những events từModel khi có sự thay đổi và từ đó cập nhật thay đổi đó lên trên View Thôngthường, người ta sẽ làm ra các lớp Service/Manager, các lớp này sẽ đóng vai trò nhưcác lớp Bussiness Logic trong layer Model để giúp Presenter tương tác với databasebên dưới:
Các nhược điểm của MVP
Có nhiều lớp, nhiều layer phải implement; có nghĩa độ phức tạp của ứng dụng
sẽ tăng
Bạn phải nghĩ ra một cách để kết hợp giữa các Views và các Presenters TrongASP.NET thì các lớp Code-Behind sẽ implement một interface IView nào đó và sửdụng một member Presenter
Mô hình Model không biết gì về Presenter Vì thế nếu dữ liệu Model bị thayđổi từ một chương trình khác thay vì bởi Presenter thì phải nghĩ ra một cách để
Trang 19Presenter biết Các bạn có thể implement chức năng này nếu cần bằng cách sửdụng các events, hoặc tham khảo thiết kế Observer Pattern.
1.4 Tổng quan về linq
1.4.1 Giới thiệu về linq
Xử lý thông tin hay dữ liệu là nhiệm vụ quan trọng nhất của bất kỳ phần mềmnào và một trong những trở ngại chính mà các nhà phát triển hiện nay phải đối mặt
là khác biệt giữa ngôn ngữ lập trình hướng đối tượng và ngôn ngữ truy vấn dữ liệu,vấn đề càng phức tạp hơn với sự xuất hiện của XML (eXtensible Markup Language– ngôn ngữ đánh dấu mở rộng)
Để giảm gánh nặng thao tác trên nhiều ngôn ngữ khác nhau và cải thiện năngsuất lập trình cho các lập trình viên, Microsoft đã phát triển giải pháp tích hợp dữliệu NET Framework có tên gọi là LINQ (Language Integrated Query) Đây là thưviện mở rộng cho các ngôn ngữ lập trình C# và Visual Basic.NET (có thể mở rộngcho các ngôn ngữ khác) nhằm cung cấp khả năng truy vấn trực tiếp dữ liệu Object,
cơ sở dữ liệu và XML
Điểm mạnh của LINQ là “viết truy vấn cho rất nhiều các đối tượng dữ liệu”
Từ cơ sở dữ liệu, XML, Data Object … thậm chí là viết truy vấn cho một biếnmảng đã tạo ra trước đó Vì thế ta có các khái niệm như là LinQ to SQL, LinQ toXML,…
Các thành phần của LINQ
Hình 1.2 Kiến trúc của LINQ trong NET Framework 3.5
Trang 201.4.2 LINQ to Objects
“LINQ to Objects” ở đây có nghĩa là nói đến cách sử dụng LINQ đối với cácđối tượng Collection mà đã được thực thi giao diện IEnumerable hoặcIEnumerable<T> tức những Collection có thể “liệt kê” ra được Đây là trườnghợp sử dụng đơn giản nhất của LINQ khi làm việc với dữ liệu
LINQ to SQL hỗ trợ đầy đủ transaction, view và các stored procedure (SP)
Nó cũng cung cấp một cách dễ dàng để thêm khả năng kiểm tra tính hợp lệ của dữliệu và các quy tắc vào trong mô hình dữ liệu của bạn
1.4.4 LINQ to XML
Sử dụng LINQ với mục đích truy vấn file XML và tiện lợi truy vấn hơnnhiều so với việc dùng XmlDocument, Xpath và Xquery như trước kia
1.4.5 LINQ to Datasets
Giới thiệu sơ về DataSet:
DataSet trong ADO.NET là một bước phát triển lớn trong việc phát triển ứngdụng cơ sở dữ liệu đa hệ Khi lấy và chỉnh sửa dữ liệu, duy trì liên tục kết nối tớiData Source trong khi chờ user (người dùng) yêu cầu thì rõ ràng là tốn tài nguyênmáy rất nhiều
DataSet giúp ích ở đây rất lớn Vì DataSet cho phép lưu trữ dữ liệu và chỉnhsửa tại ‘local cache’, hay gọi là offline mode Có thể xem xét và xử lý thông tintrong khi ngắt kết nối Sau khi chỉnh sửa và xem xong thì tạo một kết nối và update
dữ liệu từ local vào Data Source
Dữ liệu trong DataSet được lưu trữ dưới dạng một Collection các Tables vàbạn cần phải xử lý thông qua các lớp DataTable (DataRow và DataColumn)
Trang 21LINQ to DataSet cho phép người lập trình sử dụng DataSets như một nguồn
dữ liệu bình thường bằng các cú pháp truy vấn căn bản của LINQ
1.5 Giới thiệu về công ty
1.5.1 Lịch sử hình thành và phát triển
Công ty CP DevPro Việt Nam – Đào tạo và phát triển công nghệ được thànhlập từ tháng 3/2015 Mục đích đào tạo và phát triển phần mềm trên di động các nềntảng Android, iOS, Windown Phone và Unity Ngoài ra công ty cũng đào tạo vàphát triển các phần mềm trên nền NET, PHP và Java Hoạt động đào tạo chính thứcbắt đầu vào tháng 3/2015 với mục tiêu trở thành một công ty đào tạo làm sản phẩmhàng đầu Việt Nam
- Giá trị cốt lõi
- Tiên phong – Sáng tạo – Trách nhiệm – Phát triển bền vững
- Khẩu hiệu hành động
- Đạt đỉnh cao dựa vào tri thức (Excellence through Knowledge)
- Tên công ty: Công ty cổ phần DevPro Việt Nam
- Tên tiếng anh: DevPro joint stock company
Trang 221.5.2 Chức năng của công ty
- Thực hiện các dự án và công cụ phần mềm, website, android, IOS,Window Phone
- Thực hiện đào tạo và phát triển các phần mềm trên nền NET, PHP vàJava
1.5.3 Nhiệm vụ của công ty
- Hoạt động theo đúng chức năng đã đăng ký trong giấy chứng nhận đăng kýkinh doanh
- Thực hiện nghiêm túc quy định của Đảng và Nhà Nước, chính sách, chế độcủa chính quyền
- Thực hiện đầy đủ các nghĩa vụ đối với Nhà nước
- Thực hiện các chức năng, đổi mới chính sách công ty, không ngừng tăngcường hợp tác và mở rộng hoạt động kinh doanh của công ty
1.5.4 Cơ cấu tổ chức bộ máy của công ty
- Sơ đồ tổ chức quản lý:
Hình 1.3 Cơ cấu bộ máy tổ chức quản lý
Chức năng của các phòng ban
- Giám đốc:
+ Hoạch định các kế hoạch, chiến lược tổng thể, thiết lập các dự án kinh doanh
và đầu tư của công ty
+ Điều hành, chỉ đạo việc thực hiện các dự án, phương án kinh doanh và đầutư
Giám đốc Phòng kinh
Trang 23+ Phê duyệt công văn, chứng từ, ký kết hợp đồng và chịu trách nhiệm trướccông ty và pháp luật những quyết định của mình
+ Ban hành các quy chế quản lý, các quy định, nội quy công ty
+ Thực hiện việc tuyển dụng nhân viên quản lý
+ Trên cơ sở tham mưa của các phòng ban, Giám đốc là người ra quyết địnhcác vẩn đề
- Phòng kinh doanh:
+ Hoạch định các kế hoạch, chiến lược kinh doanh
+ Tìm kiếm khách hàng, liên hệ, tiếp xúc và gặp gỡ khách hàng, nhà cung cấp,
và đối tác kinh doanh của công ty
+ Thu thập thông tin, theo dõi các gói thầu, dự án mới và các loại vật tư
+ Lập kế hoạch nhu cầu vốn cho các gói thầu, dự án và cung cấp thông tin chocác phòng ban để thực hiện
+ Tổ chức, thực hiện các công việc, thủ tục với khách hàng như: yêu cầu báogiá đối với nhà cung cấp, tham gia đấu giá, đấu thầu, đàm phán, thương lượng cácđiều khoản hợp đồng, thực hiện các thủ tục về sở hữu trí tuệ, giao nhận,
+ Thực hiện việc tuyển dụng nhân viên kinh doanh, cộng tác viên, chiêu sinh, + Lập báo cáo tình hình kinh doanh, tiến trình thực hiện dự án theo kỳ trìnhGiám đốc
+ Tham mưu cho ban Giám đốc về hoạt động kinh doanh cũng như các dự ánkinh doanh của công ty
- Phòng kỹ thuật dự án:
+ Thực hiện các công việc liên quan đến kỹ thuật
+ Thực hiện các dự án theo hợp đồng với khách hàng
+ Hợp tác với phòng kinh doanh để thỏa thuận hợp đồng
+ Hỗ trợ công tác đào tạo, chiêu sinh
- Phòng Đào Tạo:
+ Thực hiện chiêu sinh, ghi danh, thu học phí của học viên
+ Sắp xếp giảng viên thực hiện công việc dạy học
Trang 24+ Quản lý học viên trong suốt quá trình học tại trung tâm
+ Sắp xếp thời khóa biểu, cấp chứng chỉ cho học viên theo học
+ Báo cáo ban giám đốc về tình hình đào tạo của công ty
1.5.5 Quy trình tuyển sinh đào tạo của công ty
Hình 1.4 Quy trình đào tạo học viên tại công ty
1.5.6 Cơ sở vật chất phục vụ giảng dạy
Máy móc trang thiết bị:
Phòng học : phòng máy lạnh, không gian đủ rộng, yên tĩnh, mỗi học viênmột máy
Thiết bị: Máy tính cấu hình mạnh (P4 trở lên), có nối mạng LAN vàINTERNET cáp quang
Phần mềm: hệ điều hành XP trở lên, bộ Microsoft Office, các phần mềm hỗtrợ cho việc học như Notepad++, Xampp, Dreamwarever,…
Nộp học phí Nhận lớp
Đào tạo
Bảo vệ
Trang 251.6 Đánh giá hoạt động đào tạo của công ty
ty cũng xây dựng mối quan hệ sâu và rộng với các nhà tuyển dụng để giúp đỡ họcviên ra trường có việc làm và thu nhập ổn định
- Mảng phát triển dự án của công ty hiện nay đang có những bước phát triểnmới Công ty tham gia vào nhiều dự án lớn, chất lượng ngày càng được nâng cao1.6.2 Tầm nhìn 2020
- Tầm nhìn: Luôn đi đầu và tiếp nhận các công nghệ mới nhất đặc biệt là mảngMobile, Internet of Things
Trang 26CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2.1 Phân tích hệ thống
2.1.1 Mô tả bài toán
Công ty mở nhiều khóa trong một năm; một khoá đào tạo trung tâm mởnhiều môn cho học viên lựa chọn Một môn có thể có nhiều lớp được mở Mỗi lớptương ứng với một ca học nhất định
Khi đến ghi danh, mỗi học viên sẽ được ghi nhận thông tin cá nhân (họ tên,ngày tháng năm sinh, địa chỉ, số điện thoại, nghề nghiệp) và có thể chọn ca họcphù hợp với mình Học viên sẽ phải đóng học phí cho khóa mà mình đã đăng kí.Các mức học phí cũng khác nhau tùy vào khóa học và chế độ giảm học phí chohọc viên cũ hay sinh viên các trường mà công ty có hợp tác đào tạo Học viên cóthể đăng kí đóng học phí trong nhiều lần
Sau khi nộp tiền thì cán bộ sẽ in phiếu thu tiền cho học viên để làm căn cứvào lớp học
2.1.2 Yêu cầu:
Chương trình phải đáp ứng được các mục tiêu sau:
- Cập nhật và quản lí thông tin học viên: thông tin cá nhân, lớp, …
- Danh sách lớp học khai giảng, sĩ số dự kiến, sĩ số học viên đăng kí
- Biên lai thu học phí theo khóa học đã đăng ký
- Quản lý thông tin giáo viên
- Cập nhật và quản lý thông tin môn học
- Danh sách học viên cần bổ sung học phí hay nhận lại một phần học phí (đạtloại xuất sắc)
- Cập nhật và tra cứu kết quả thi cuối khoá của học viên
- Danh sách tất cả các lớp do một giáo viên phụ trách
- Tra cứu nhanh thông tin của học viên hay giáo viên theo họ tên, năm sinh,
mã số
- Lưu lại kết quả cuối khoá của học viên sau khi hoàn tất khoá học trong vòng
2 năm
Trang 272.2 Biểu đồ usecase
Xác định actor bài toán:
Bảng 2.1: Các Actor của bài toán
1
Bộ phận đào tạo Là bộ phận trực tiếp trao đổi và ghi
danh khóa học cho học viên Bộphận này thực hiện các công việcđào tạo như quản lý quản lý họcviên, quản lý giảng viên và báo cáothống kê
2
Adminstrator Bộ phận quản lý, duy trì, điều hành
toàn bộ phần mềm Thực hiện cácchức năng phân quyền truy cập choactor khác
3
Giảng viên Là những người thực hiện công
việc giảng dạy cho học viên, giảngviên giao tiếp với phần mềm để tìmkiếm thông tin và tra cứu các thôngtin về học viên
Trang 28Quan ly nguoi dung
Tra cuu thong tin
Giang vien
Admintrator Quan ly hoc vien
Quan ly giang vien
Quan ly lop hoc
Quan ly khóahoc Quan ly hoc phi
Bo phan dao tao
Hình 2.1 Sơ đồ usecase Tổng quát hệ thống
2.3 Mô tả các chức năng chính của phần mềm
Phần mềm quản lý học viên được xây dựng gồm 5 chức năng chính:
- Chức năng quản lý thông tin học viên: Thêm học viên mới, chỉnh sửa thôngtin học viên, Tìm kiếm kiểm tra
- Chức năng quản lý giảng viên: Thêm giảng viên mới, Chỉnh sửa các thôngtin giảng viên, tra cứu thông tin giảng viên
- Quản lý khóa học: Mở mới khóa học, thay đổi nội dung khóa học
- Quản lý lớp học: Mở mới lớp học, chỉnh sửa thông tin, Tìm kiếm lớp học
- Quản lý học phí: Thu tiền học phí, Tạo mã học phí, Thống kê nợ phí, Thutiền các lần thanh toán
Trang 292.4 Biểu đồ phân rã chức năng
2.4.1 Chức năng quản lý thông tin học viên
Quan ly thong tin hoc vien
Chinh sua thong tin hoc vien
Them hoc vien moi
Quan ly hoc vien <<extend>>
Hình 2.2 Sơ đồ chức năng quản lý học viên
Chức năng quản lý học viên có vai trò quản lý các thông tin về một học viên.Khi có một học viên đăng ký một khóa học tại công ty thì bộ phận đào tạo sẽ nhậphọc viên mới này vào hệ thống để quản lý Ngoài ra thì khi học viên thay đổi thôngtin cá nhân như địa chỉ, số điện thoại, email, thì bộ phận đào tạo sẽ chỉnh sửa lạicác thông tin này để tiện liên lạc, trao đổi và quản lý học viên Ngoài ra, thao táctìm kiếm học viên cần phải có để làm giảm thao tác của người dùng lên hệ thông,giảm thời gian tương tác
Trang 302.4.2 Chức năng quản lý giảng viên
Chinh sua thong tin giang vien
(from Use Case View)
Them giang vien giang day
(from Use Case View)
Tra cuu thong tin
(from Use Case View)
Xoa thong tin giang vien
(from Use Case View)
Giang vien
(from Use Case View)
Quan ly giang vien
(from Use Case View)
<<extend>>
<<extend>>
<<extend>>
Bo phan dao tao
(from Use Case View)
<<extend>>
Hình 2.3 Biểu đồ phân rã chức năng quản lý giảng viên
Chức năng quản lý giảng viên: Khi công ty thực hiện ký hợp đồng mời giảngviên về dạy tại công ty thì phần mềm sẽ quản lý các thông tin này Bộ phận đào tạo
có trách nhiệm thêm mới thông tin giảng viên vào phần mềm để liên lạc, trao đổi,quản lý Khi giảng viên thay đổi thông tin thì bộ phận này cũng sẽ chỉnh sửa lạithông tin đang quản lý trên phần mềm Để thực hiện nhanh chóng công việc thìphần mềm sẽ thêm chức năng tìm kiếm giảng viên
Trang 312.4.3 Chức năng quản lý khóa học
Mo moi khoa hoc
Cap nhat khoa hoc Quan ly khóahoc
<<extend>>
<extend>
Bo phan dao tao
Tim kiem khoa hoc
<<extend>>
Hình 2.4 Sơ đồ phân rã chức năng quản lý các khóa học của công ty
Chức năng quản lý khóa học: Công ty thực hiện nhiệm vụ là đào tạo các họcviên với các khóa học khác nhau Các khóa học mà công ty đang đào tạo được lưutại đây Để mở rộng hoạt động thì công ty sẽ thực hiện mở thêm các ngành nghềmới để đào tạo đáp ứng yêu cầu của nhân viên Khi đó thì phòng đào tạo sẽ mở mớikhóa học Khi công việc đào tạo thay đổi ví dụ số tiết học tăng lên,… thì bộ phậnđào tạo sẽ chỉnh sửa cho phù hợp
Trang 322.4.4 Chức năng quản lý người dùng
Them tai khoan nguoi dung(from Use Case View)
Xóa tài khoan(from Use Case View)
Chinh sua phan quyen(from Use Case View)
Quan ly nguoi dung(from Use Case View)
<<extend>>
<<extend>>
<<extend>>
Admintrator
(from Use Case View)
Hình 2.5 Sơ đồ phân rã chức năng quản lý người dùng
Chức năng quản lý người dùng: Để đảm bảo tính bảo mật thì phần quản lýngười dùng sẽ yêu cầu các người dùng đăng nhập trước khi thao tác với phầnmềm Ngoài ra phần này cũng sẽ quản lý phân quyền cho các tài khoản khi đăngnhập vào phần mềm
Trang 332.5 Kịch bản
2.5.1 Đăng nhập
Bảng 2.2 Kịch bản đăng nhập
Chuỗi sự kiện chính
o Người dùng kích hoạt hệ thống
o Hệ thống hiển thị Form Đăng nhập
o Hệ thống hiển thị các tùy chọn: Đăng nhập, Hủy
o Hệ thống hiển thị Form để nhập các thông tin user, mật khẩu
o Người dùng nhập thông tin và chọn button “Đăng nhập”
o Hệ thống kiểm tra thông tin trong cơ sở dữ liệu
o Hệ thống thông báo đăng nhập thành công và hiển thị Form Main
Ngoại lệ
o Hệ thống thông báo đăng nhập không thành công
Hệ thống yêu cầu nhập lại tài khoản và mật khẩu
Người dùng nhập lại và tiếp tục các bước sau
Trang 342.5.2 Quản lý học viên
a Thêm học viên
Bảng 2.3 Kịch bản thêm học viên
Chuỗi sự kiện chính
o Người dùng kích hoạt hệ thống
o Hệ thống hiển thị Form Học viên
o Người dùng chọn thêm học viên mới
o Hệ thống hiển thị Form thêm học viên
o Người dùng nhập vào
o Hệ thống hiển thị các tùy chọn: Save, Hủy
o Người dùng nhập thông tin và chọn button “Save”
o Hệ thống kiểm tra thông tin trong cơ sở dữ liệu
o Hệ thống thông báo nhập thành công và hiển thị
Ngoại lệ
o Hệ thống thông báo không thành công
Hệ thống yêu cầu thao tác lại không để trường rỗng
Người dùng nhập lại và tiếp tục các bước sau
Trang 35b Sửa thông tin học viên
Bảng 2.4 Kịch bản sửa học viên
Chuỗi sự kiện chính
o Người dùng kích hoạt hệ thống
o Hệ thống hiển thị Form Học viên
o Người dùng chọn sinh viên cần chỉnh sửa
o Người dùng chọn chức năng sửa thông tin
o Hệ thống hiển thị các tùy chọn form sửa
o Người dùng nhập thông tin và chọn button “Save”
o Hệ thống kiểm tra thông tin trong cơ sở dữ liệu
o Hệ thống thông báo sửa thành công và hiển thị Form Học viên
Ngoại lệ
o Hệ thống thông báo đăng nhập không thành công
Hệ thống yêu cầu nhập lại các mẫu
Người dùng nhập lại và tiếp tục các bước sau
Trang 36c Xóa học viên
Bảng 2.5 Kịch bản xóa học viên
Chuỗi sự kiện chính
o Người dùng kích hoạt hệ thống
o Hệ thống hiển thị Form Học viên
o Người dùng chọn sinh viên cần chỉnh xóa
o Người dùng chọn chức năng xóa thông tin
o Hệ thống truy vấn người dùng
o Người dùng xác nhận thông tin bằng cách nhấn “OK”
o Hệ thống kiểm tra thông tin trong cơ sở dữ liệu
o Hệ thống thông báo xóa thành công và hiển thị Form Học viên
Ngoại lệ
Hệ thống thông báo xóa không thành công
Hệ thống yêu cầu nhập lại sinh viên cần xóa
Người dùng nhập lại và tiếp tục các bước sau
Trang 372.5.3 Quản lý giảng viên
a Thêm giảng viên
Bảng 2.6 Kịch bản thêm giảng viên
Chuỗi sự kiện chính
o Người dùng kích hoạt hệ thống
o Hệ thống hiển thị Form Giảng viên viên
o Người dùng chọn thêm giảng viên mới
o Hệ thống hiển thị Form add Giảng viên
o Hệ thống hiển thị các tùy chọn form thêm
o Người dùng nhập thông tin và chọn button “Save”
o Hệ thống kiểm tra thông tin trong cơ sở dữ liệu
o Hệ thống thông báo thêm thành công và hiển thị Form Giảng viên
Ngoại lệ
Hệ thống thông báo không thành công
Hệ thống yêu cầu nhập lại các mẫu
Người dùng nhập lại và tiếp tục các bước sau
Trang 38b Sửa thông tin giảng viên
Bảng 2.7 Kịch bản sửa thông tin giảng viên
Chuỗi sự kiện chính
o Người dùng kích hoạt hệ thống
o Hệ thống hiển thị Form Học viên
o Người dùng chọn sinh viên cần chỉnh sửa
o Người dùng chọn chức năng sửa thông tin
o Hệ thống hiển thị các tùy chọn form sửa
o Người dùng nhập thông tin và chọn button “Save”
o Hệ thống kiểm tra thông tin trong cơ sở dữ liệu
o Hệ thống thông báo đăng nhập thành công và hiển thị Form Main
Ngoại lệ
o Hệ thống thông báo đăng nhập không thành công
Hệ thống yêu cầu nhập lại các mẫu
Người dùng nhập lại và tiếp tục các bước sau
Trang 39c Xóa giảng viên
Bảng 2.8 Kịch bản xóa giảng viên
Chuỗi sự kiện chính
o Người dùng kích hoạt hệ thống
o Hệ thống hiển thị Form giảng viên
o Người dùng chọn giảng viên cần xóa trên gridcontrol
o Người dùng chọn chức năng xóa thông tin
o chọn button “Delete”
o Hệ thống kiểm tra thông tin trong cơ sở dữ liệu
o Hệ thống thông báo thành công và hiển thị load lại gridcontrol
Ngoại lệ
o Hệ thống thông báo không thành công
Hệ thống yêu cầu chọn lại giảng viên
Người dùng nhập lại và tiếp tục các bước sau
Trang 402.5.4 Quản lý lớp
a Mở lớp mới
Bảng 2.9 Kịch bản mở lớp mới
Đảm bảo thành công Hiển thị lớp mới trên gridcontrol
Chuỗi sự kiện chính
o Người dùng kích hoạt hệ thống
o Hệ thống hiển thị Form lớp học
o Người dùng chọn chức năng mở lớp
o Hệ thống hiển thị các tùy chọn form mở lớp
o Người dùng nhập thông tin và chọn button “Add”
o Hệ thống kiểm tra thông tin trong cơ sở dữ liệu
o Hệ thống thông báo thành công và hiển thị Form Lớp học
Ngoại lệ
Hệ thống thông báo không thành công
Hệ thống yêu cầu nhập lại các mẫu
Người dùng nhập lại và tiếp tục các bước sau