LỜI MỞ ĐẦU Thời kỳ CMCN 4.0, sự bùng nổ của CNTT là rất mạnh mẽ, nó được áp dụng vào hầu hết các lĩnh vực. Tuy nhiên ở Việt Nam, nguồn nhân lực khá ít so với lượng cầu đang ngày một tăng của các doanh nghiệp. Nắm được xu thế này, công ty TNHH Tester Việt đã và đang mở nhiều khóa đào tạo về mảng này. Nhưng công ty lại đang không có phần mềm chuyên nghiệp để phục vụ cho việc quản lý các khóa đào tạo này, công ty thường dùng các phần mềm văn phòng chung như Word, Excel.
Nên việc quản lý, theo dõi thường chậm, hay có sai sót. Để khắc phục những khó khăn đó, tôi đã chọn đề tài “Xây dựng phần mềm quản lý khóa học tại công ty TNHH Tester Việt” làm chuyên đề thực tập tốt nghiệp 2 DANH MỤC HÌNH ẢNH VÀ BẢNG BIỂU 3 4 1. Giới thiệu chung về công ty TNHH Tester Việt và bài toán Quản lý khóa học 1.1 Quá trình phát triển 1.1 Tổng quan về công ty Tên cty: CTY TNHH Tester Việt Thành lập : tháng 11/2011 Giám đốc : CEO Hà Thu Trang Trụ sở chính : Số 14/28, đường Ngụy Như Kon Tum , thành phố Hà Nội Sdt : 0986618893 Website : http://testerviet.vn/ Tester Việt ra đời với mong muốn truyền tải nghề tester đến sinh viên CNTT trong cả nước, đồng thời cung cấp được lượng chuyên viên kiểm thử 1.2 Kinh doanh Luôn lấy sự hài lòng từ học viên là mấu chốt cho việc phát triển, đó là lý do vì sao, gần đây Teser Việt luôn giữ được mức tăng trưởng 40%/năm Hình 1. Biểu đồ doanh thu từ 2014 - 2018 (nguồn: Tài liệu nội bộ công ty Tester Việt) 1.3 Nhân sự Số lượng nhân lực của Tester Việt tính đến nay, gồm HN và HCM là 137 người, bao gồm có 110 nhân viên kiểm thử 5 Hình 2.
Số lượng nhân viên công ty từ 2014 - 2018 (nguồn: Tài liệu nội bộ công ty Tester Việt) 1.4 Phát triển Chiến lược chung Trở thành nơi cung cấp nguồn chuyên viên Test nằm trong top đầu của Việt Nam Là nguồn cung cấp chuyên viên kiểm thử phần mềm lớn Mục tiêu chính ( tính đến 2020 ) Trở thành 1 trong những nguồn cung cấp chuyên viên kiểm thử phần mềm chủ yếu ở lĩnh vực “giáo dục” và “tài chính ngân hàng” 6 1.2 Cơ cấu tổ chức Hình 3. Sơ đồ tổ chức công ty TNHH Tester Việt (nguồn: Tài liệu nội bộ công ty Tester Việt) 1.1 Ban lãnh đạo công ty CEO Hà Thu Trang là người điều hành chính 1.2 Phòng tài chính kế toán Tổ chức thực hiện quy định của doanh nghiệp, đề xuất khen thưởng Thực hiện tính tiền lương, thưởng, chế độ khác… cùng với phòng kế toán 1.3 Phòng hành chính – nhân sự Là bộ phận phụ trách các hoạt động lương, thưởng, chi phí phát sinh, và có nhiệm vụ tạo các giấy tờ các loại tài sản trong công ty, thực hiện các chính sách, chế độ đúng quy định của nhà nước. Lập báo cáo hàng tháng,hàng quý, hàng năm 1.4 Phòng kinh doanh Quảng bá doanh nghiệp Đưa ra các kế hoạch cho việc phát triển kinh doanh trong tương lai, và phân bố để thực hiện 7 1.3 Vấn đề ứng dụng CNTT trong quản lý khóa học 1.1 Thực trạng ứng dụng CNTT trong Quản lý khóa học tại công ty TNHH Tester Việt Công ty TNHH Tester Việt thành lập từ năm 2011, là 1 công ty về lĩnh CNTT Các phần mềm công ty sử dụng là những phần mềm khá quen thuộc Ngoài ra còn dùng thường xuyên bộ office 365,. các mạng xã hội để contact với khách hàng như facebook, skype,.
Để quản lý các khóa học, các học viên, công ty đang dùng các phần mềm văn phòng chung như word, excel… chứ không có phần mềm chuyên dụng để quản lý Dẫn đến việc khó khăn trong công tác quản lý, khó làm được các tổng kết, báo cáo 1.2 Đề xuất giải pháp phần mềm cho bài toán Quản lý khóa học tại công ty TNHH Tester Việt Xây dựng một phần mềm quản lý khóa học tại công ty TNHH Tester Việt Phần mềm sẽ có tính năng chính là Insert, delete, update khóa học, lớp học, giáo viên, học viên, nhân viên, tài khoản Tìm kiếm ra thông tin NV, GV, HV theo mã, tên Tìm kiếm hóa đơn đăng ký theo các trường mã Tìm kiếm thông tin khóa học, lớp học theo Mã khóa học, Mã lớp học, Tên lớp học, Tên khóa học In hóa đơn đăng ký theo mã hóa đơn Thống kê trạng thái các KH Thống kê ra lớp học sắp tới và lớp học dự kiến diễn ra có nhiều người đăng ký nhất Thống kê được DS HV trong lớp Phân lịch dạy Phần mềm sẽ giải quyết được các vấn đề Tiết kiệm công sức trong việc quản lý thông tin về các danh mục, tiết kiệm cả về thời gian nữa In được hóa đơn đăng ký, lưu giữ, quản lý các thông tin hóa đơn Xuất ra được thống kê, báo cáo cần thiết, kịp thời, chính xác 8 2. CHƯƠNG II. Cơ sở phương pháp luận xây dựng phần mềm 2.1 Phần mềm và một số khái niệm liên quan 2.1 Khái niệm phần mềm Phần mềm máy tính, thường được gọi là phần mềm, là một bộ hướng dẫn cộng với các tài liệu của nó cho máy tính biết cách để thực hiện một tác vụ. Phần mềm bao gồm tất cả các chương trình phần mềm khác nhau trên máy tính, chẳng hạn như các ứng dụng và hệ điều hành.
Ứng dụng là các chương trình được thiết kế để thực hiện một thao tác cụ thể, chẳng hạn như trò chơi hoặc trình xử lý văn bản 2.2 Vòng đời phát triển của phần mềm Hình 4. Vòng đời phát triển phần mềm( nguồn: http://hocvien.vn/threads/vong-doi-phat-trien-phan-mem- sdlc. Các bước trong vòng đời phát triển của phần mềm(nguồn: http://hocvien.vn/threads/vong-doi-phat-trien-phan-mem-sdlc.2 Các phương pháp phát triển phần mềm 2.1 Tổng quan về các phương phát triển phần mềm Mô hình thác nước Hình 6. Mô hình thác nước(nguồn: https://viblo.asia/p/cac-mo-hinh-phat-trien-phan-mem-GrLZDwbgKk0) Hình 7.
Ưu nhược điểm mô hình thác nước( nguồn: Vẽ tổng hợp từ 2 nguồn https://viblo.asia/p/cac-mo-hinh-phat-trien-phan- mem-GrLZDwbgKk0 và https://voer.vn/c/mot-so-mo-hinh-phat-trien-phan-mem/fb584480/243ca3cb) 11 Mô hình xoắn ốc Hình 8. Mô hình xoắn ốc(nguồn: https://voer.vn/c/mot-so-mo-hinh-phat-trien-phan-mem/fb584480/243ca3cb) Hình 9. Ưu nhược điểm mô hình xoắn ốc (nguồn: Vẽ tổng hợp từ 2 nguồn https://viblo.asia/p/cac-mo-hinh-phat-trien-phan- mem-GrLZDwbgKk0 và https://voer.vn/c/mot-so-mo-hinh-phat-trien-phan-mem/fb584480/243ca3cb) 12 Mô hình Agile Hình 10. Mô hình Agile(nguồn: https://viblo.asia/p/cac-mo-hinh-phat-trien-phan-mem-GrLZDwbgKk0) Hình 11.
Ưu nhược điểm mô hình Agile(nguồn: Vẽ từ https://viblo.asia/p/cac-mo-hinh-phat-trien-phan-mem-GrLZDwbgKk0) 13 Mô hình tiếp cận lặp Hình 12. Mô hình tiếp cận lặp( nguồn: https://viblo.asia/p/cac-mo-hinh-phat-trien-phan-mem-GrLZDwbgKk0 ) Hình 13. Ưu nhược điểm mô hình tiếp cận lặp( nguồn: Vẽ từ nguồn https://viblo.asia/p/cac-mo-hinh-phat-trien-phan- mem-GrLZDwbgKk0 ) 14 Mô hình chữ V Hình 14. Mô hình chữ V(nguồn: https://viblo.asia/p/cac-mo-hinh-phat-trien-phan-mem-GrLZDwbgKk0) Hình 15.
Ưu nhược điểm mô hình chữ V(nguồn: https://viblo.asia/p/cac-mo-hinh-phat-trien-phan-mem- GrLZDwbgKk0) 15 Mô hình RAD Hình 16. Mô hình RAD(nguồn: https://viblo.asia/p/cac-mo-hinh-phat-trien-phan-mem-GrLZDwbgKk0) Hình 17. Ưu nhược điểm mô hình RAD(nguồn: https://viblo.asia/p/cac-mo-hinh-phat-trien-phan-mem-GrLZDwbgKk0) 16 2.2 Phương pháp sử dụng cho phát triển phần mềm bài toán Quản lý khóa học Từ ưu nhược điểm của các mô hình trên, tác giả thấy Mô hình thác nước là Mô hình thích hợp dùng cho việc phát triển phần mềm bài toán Quản lý khóa học vì những lý do sau: Đơn giản, dễ hiểu, dễ sử dụng, phù hợp với trình độ hiện tại của tác giả Thích hợp với những dự án có quy mô nhỏ Thích hợp với các dự án có yêu cầu rõ ràng Thích hợp với các dự án có ít thay đổi thường xuyên Chi tiết về các pha trong mô hình thác nước Hình 18. Các pha trong mô hình thác nước(nguồn: https://viblo.asia/p/tim-hieu-ve-mo-hinh-thac-nuoc-trong-phat-trien-phan- mem-stlc-Ljy5Ve7ylra) 17 2.3 Các ngôn ngữ mô hình hóa IFD, DFD, BFD 2.1 Sơ đồ luồng thông tin IFD Khái niệm: Sơ đồ luồng thông tin (IFD) là sơ đồ cho biết cách thông tin được truyền từ nguồn đến người nhận hoặc mục tiêu (ví dụ: A → C), thông qua một số phương tiện.
Phương tiện đóng vai trò là cầu nối, phương tiện truyền tải thông tin. Ví dụ về phương tiện truyền thông bao gồm truyền miệng, radio, email, v. Khái niệm IFD ban đầu được sử dụng trong truyền dẫn vô tuyến. Hệ thống được sơ đồ hóa cũng có thể bao gồm phản hồi, phản hồi hoặc phản hồi cho tín hiệu được đưa ra.
Đường dẫn trở lại có thể là hai chiều hoặc hai chiều: thông tin có thể chảy qua lại. Ký hiệu - Xử lý Hình 19. Ký hiệu xử lý trong mô hình IFD(nguồn: https://123doc.org/document/2416710-so-do-luong-du-lieu-dfd-va- so-do-luong-thong-tin-ifd.htm) - Kho dữ liệu Hình 20. Ký hiệu kho dữ liệu trong mô hình IFD(nguồn: https://123doc.org/document/2416710-so-do-luong-du-lieu- dfd-va-so-do-luong-thong-tin-ifd.htm) - Dòng thông tin 18 Hình 21.
Ký hiệu dòng thông tin trong mô hình IFD(nguồn: https://123doc.org/document/2416710-so-do-luong-du- lieu-dfd-va-so-do-luong-thong-tin-ifd.htm) - Điều khiển Hình 22. Ký hiệu điều khiển trong mô hình IFD(nguồn: https://123doc.org/document/2416710-so-do-luong-du-lieu- dfd-va-so-do-luong-thong-tin-ifd.2 Sơ đồ luồng dữ liệu DFD Khái niệm Sơ đồ luồng dữ liệu (DFD) vạch ra luồng thông tin cho bất kỳ quy trình hoặc hệ thống nào. Nó sử dụng các ký hiệu được xác định như hình chữ nhật, hình tròn và mũi tên, cộng với nhãn văn bản ngắn, để hiển thị dữ liệu đầu vào, đầu ra, điểm lưu trữ và các tuyến đường giữa mỗi điểm đến. Ký hiệu: - Tiến trình xử lý chức năng: Là quá trình biến đổi thông tin 19 Hình 23.
Ký hiệu tên chức năng trong mô hình DFD(nguồn: https://123doc.org/document/2416710-so-do-luong-du-lieu-dfd-va- so-do-luong-thong-tin-ifd.htm) - Luồng dữ liệu: Ký hiệu luồng dữ liệu là một đường thẳng có hướng, bên trên đó dùng để viết tên của luồng dữ liệu. Ký hiệu luồng DL trong MH DFD (nguồn: https://123doc.org/document/2416710-so-do-luong-du-lieu-dfd-va- so-do-luong-thong-tin-ifd.htm) - Tác nhân ngoài: là một thực thể ( nhưng phải là bên ngoài của hệ thống), đồng thời phải có sự trao đổi thông tin hệ thống Ký hiệu: Hình 25. Ký hiệu tác nhân trong mô hình DFD (nguồn: https://123doc.org/document/2416710-so-do-luong-du-lieu- dfd-va-so-do-luong-thong-tin-ifd. - Kho dữ liệu: là một tập hợp các dữ liệu được lưu lại để có thể truy nhập nhiều lần về sau Tên kho là một danh từ ,Ví dụ: Hồ sơ cán bộ, điểm môn học….
Ký hiệu kho dữ liệu trong mô hình DFD(nguồn: https://123doc.org/document/2416710-so-do-luong-du-lieu- dfd-va-so-do-luong-thong-tin-ifd.3 Sơ đồ chức năng nghiệp vụ BFD Khái niệm: “Sơ đồ khối khối (BFD, Sơ đồ khối) là một sơ đồ đơn giản để hiển thị các yếu tố cần thiết của một bản cài đặt trong phác thảo khối đủ để chỉ ra các tính năng thiết kế chính.” (trích nguồn: https://www.com/bfd-block- flow-diagram/) 2.4 Các công cụ phát triển phần mềm 2.1 Thiết kế cơ sở dữ liệu Công cụ thiết kế cơ sở dữ liệu Microsoft SQL Server 2012 (MSSQLS) Giới thiệu về MSSQLS “Microsoft SQL Server là một hệ thống quản lý cơ sở dữ liệu quan hệ, hỗ trợ nhiều ứng dụng xử lý giao dịch, kinh doanh thông minh và phân tích trong môi trường CNTT của công ty.