Báo cáo bài tập lớn xây dựng Ứng dụng hỗ trợ học tập - Cơ sở an toàn thông tin - Học Viện Kỹ Thuật Mật Mã

Giáo dục là một lĩnh vực quan trọng cần phải phát triển trong thời đại công nghệ, Ứng dụng hỗ trợ học tập ra đời sẽ giúp ích rất nhiều cho cả giáo viên và học sinh trong việc dạy và học. Nhóm chúng em quyết định xây dựng Ứng dụng hỗ trợ học tập với giao diện đơn giản, gần gũi, dễ tiếp cận giúp cho việc dạy và học trở nên dễ dàng và hứng thú hơn với mọi người. Tài liệu giúp bạn tham khảo và đạt kết quả tốt. Mời bạn đọc đón xem!

lOMoARcPSD|1 6072870
     
KHOA CÔNG NGHỆ THÔNG TIN
   
AN TOÀN BẢO MẬT ỨNG DỤNG DI ĐỘNG
Đề tài:
XÂY DỰNG APP HỖ TRỢ HỌC TẬP
  
lOMoARcPSD|1 6072870
Mục Lục
   
   
  
     
     
        
      
        
         
    
     
   
    
   
     
       
    
        
    
     
   
    
      
 
    
lOMoARcPSD|1 6072870
lOMoARcPSD|1 6072870
Danh mục bảng biểu
       
       
       
        
        
        
         
          
          
          
           
        
        
         
         
          
           
             
        
         
          
     
     
      
      
     
      
     
lOMoARcPSD|1 6072870
Danh mục hình ảnh
       
     
    
    
      
      
      
       
       
          
              
              
             
        
        
       
      
        
          
       
      
     
        
        
      
       
lOMoARcPSD|1 6072870
LỜI MỞ ĐẦU
                
                
               
                
                 
                  
                 
                   
                 
                
                
                
               
               
 Ứng dụng hỗ trợ học tập            
              ng dụng
hỗ trợ học                
           
              
                 
                
lOMoARcPSD|1 6072870
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI
1. Tổng quan về đề tài
1.1 Khái niện về E-learning
              
               
                 
                  
               
                 
 
                
            
           
           
      
             
              
 
             
              
    
1.2 Lợi ích các thách thức của E-learning
              
                
 
Đối với người học
              
                
               
                
lOMoARcPSD|1 6072870
                  
               
                
Đối với giảng viên
             
              
              
               
                 
                
     
Đối với các tổ chức giáo dục
             
                
               
               
               
   
Đối với hội
              
                
                   
                
                  
               
                
                
     
lOMoARcPSD|1 6072870
2. Tổng quan về app hỗ trợ học tập
2.2 Mục tiêu
                  
                 
           
                
                
              
                
                  
                  
               
           
             
               
              
              
                
                 
         
2.3 Vai t trải nghiệm của người dùng
                
          
               
                 
 
               
            
lOMoARcPSD|1 6072870
3. Yêu cầu chức năng hệ thống
3.2 Tuyên bố về chức năng
              
                 
               
                
              
                   
    
3.3 Khả năng sử dụng
        
               
                

               
      
                
  
                
4. Các ngôn ngữ công cụ hỗ trợ
4.1 Java
               
           
               
               
              
        
               
  
lOMoARcPSD|1 6072870
            
               
      
            
              
              
               
          
              
             
           
             
4.2 Android Studio
            
              
             
     
            
            
  
     
           
        
          
               
           
     
lOMoARcPSD|1 6072870
5. An toàn và bảo mật thông tin người dùng
5.2Thuật toán băm(hash)
              
                
                 
                  
           
5.3Salt
                
                
                
            
                  
 
              
               
                  
                 
      
                
                 
         

lOMoARcPSD|1 6072870
CHƯƠNG 2 : PHÂN TÍCH HỆ THỐNG
1. Phân tích hệ thống
1.1Biểu đồ UseCase tổng quát
               
            
             
           
          
           
              
              
           
            
            
      
            
     
lOMoARcPSD|1 6072870
Hình 2.1 Biểu đồ Use Case tổng quát
2. Đặc tả UseCase
2.1 Đặc tả UC “Đăng nhập”
Use Case
 
Actor

Brief Description
          
  
Pre-conditions
       
Basic Flows
     
      
           
  
        
    
           
       
           


lOMoARcPSD|1 6072870
Alternative
Flows
 
Exception Flows
           
    
Post-conditions
    
Bng2.1ĐặctUseCaseĐăngnhp
2.2Đặc tả UC “Đăng kí”
Use Case

Actor

Brief Description
        
Pre-conditions
     
Basic Flows
      
          
         
          
          
Alternative
Flows
 
Exception Flows
            

    
Post-conditions
           
  
Bảng2.2ĐặctảUseCaseĐăng
2.3 Đặc tả UC “Đăng xuất”
Use Case
 
Actor
 
Brief Description
       
Pre-conditions
      
Basic Flows
     
           
lOMoARcPSD|1 6072870
Alternative
Flows
 
Exception Flows
 
Post-conditions
     
Bng2.3ĐặctUseCaseĐăngxut
2.4Đặc tả UC “Xem khóa học”
Use Case
  
Actor
  
Brief Description
       
Pre-conditions
     
Basic Flows
       
           
Alternative
Flows
 
Exception Flows
 
Post-conditions
 
Bng2.4ĐặctảUseCaseXemkhóahc
2.5 Đặc tả UC “Làm bài thi”
Use Case
  
Actor
 
Brief Description
       
Pre-conditions
           
 
Basic Flows
       
          
      
         
       
          
         
          
Alternative
Flows
 

lOMoARcPSD|1 6072870
Exception Flows
 
Post-conditions
           

Bảng2.5ĐặctảUseCaseLàmithi
2.6 Đặc tả UC “Đăng học”
Use Case
  
Actor
 
Brief Description
      
Pre-conditions
           
Basic Flows
         
          
       
           

Alternative
Flows
 
Exception Flows
 
Post-conditions
           
 
Bng2.6ĐặctảUseCaseĐăng kýhọc
2.7 Đặc tả UC “Làm bài kiểm tra”
Use Case
   
Actor
 
Brief Description
        
Pre-conditions
           
 
Basic Flows
       
           
     
            
        
         
           
lOMoARcPSD|1 6072870
Alternative
Flows
 
Exception Flows
 
Post-conditions
           

Bng2.7ĐặctảUseCaseLàmi kimtra
2.8 Đặc tả UC “Phản hồi khóa học”
Use Case
   
Actor
 
Brief Description
      
Pre-conditions
           
 
Basic Flows
          

        
          
 
           
    
Alternative
Flows
 
Exception Flows
 
Post-conditions
           
 
Bng2.8ĐặctảUseCasePhnhồikhóa hc
2.9Đặc tả UC “Xem kết quả học tập”
Use Case
    
Actor
 
Brief Description
         
Pre-conditions
      

lOMoARcPSD|1 6072870
Basic Flows
            
     
            
            
         

Alternative
Flows
 
Exception Flows
 
Post-conditions
 
Bng2.9ĐặctUseCaseXemkếtquhọctp
2.10 Đặc tả UC “Xem thông tin nhân”
Use Case
    
Actor
 
Brief Description
         
Pre-conditions
      
Basic Flows
            
    
          
Alternative
Flows
 
Exception Flows
 
Post-conditions
 
Bng2.10ĐặctảUseCaseXemthôngtincánhân
2.11 Đặc tả UC “Cập nhật thông tin nhân”
Use Case
     
Actor
 
Brief Description
          
Pre-conditions
      
Basic Flows
            
    
          
lOMoARcPSD|1 6072870
           
  
            
   
Alternative
Flows
 
Exception Flows
          
Post-conditions
           

Bng2.11Đặct UseCaseCậpnhtthôngtincánhân
2.12 Đặc tả UC Đăng nhập Admin”
Use Case
  
Actor
   
Brief Description
           
   
Pre-conditions
         
Basic Flows
         
         
          
  
          
        
         
Alternative
Flows
 
Exception Flows
         
       
Post-conditions
       
Bng2.12Đặct UseCaseĐăngnhp Admin
2.13 Đặc tả UC “Xem phản hồi”
Use Case
  
Actor
   
Brief Description
          

| 1/52

Preview text:

lOMoARcPSD|16072870
HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO MÔN HỌC
AN TOÀN VÀ BẢO MẬT ỨNG DỤNG DI ĐỘNG Đề tài:
XÂY DỰNG APP HỖ TRỢ HỌC TẬP Hà Nội, 2024 lOMoARcPSD|16072870 Mục Lục
Danh mục bảng biểu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Danh mục hình ảnh. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
LỜI MỞ ĐẦU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1. Tổng quan về đề tài. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2. Tổng quan về app hỗ trợ học tập. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3. Yêu cầu chức năng hệ thống. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4. Các ngôn ngữ và công cụ hỗ trợ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
5. An toàn và bảo mật thông tin người dùng. . . . . . . . . . . . . . . . . . . . . . . . 11
CHƯƠNG 2 : PHÂN TÍCH HỆ THỐNG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1. Phân tích hệ thống. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2. Đặc tả UseCase. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
3. Biểu đồ tuần tự. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4. Biểu đồ lớp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5. Thiết kế hệ thống. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
CHƯƠNG 3: PHƯƠNG PHÁP AN TOÀN BẢO MẬT. . . . . . . . . . . . . . . . . . . 38
1. Json Web Token (JWT). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2. Mã hóa password với SHA256 và AES. . . . . . . . . . . . . . . . . . . . . . . . . . 41
3. Xác thực OTP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4. Cơ chế lấy lại password. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
KẾT QUẢ THỰC NGHIỆM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
1. Giao diện trên app. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
2. Giao diện web quản trị. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
KẾT LUẬN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50
TÀI LIỆU THAM KHẢO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 lOMoARcPSD|16072870 lOMoARcPSD|16072870
Danh mục bảng biểu
Bảng 2.1 Đặc tả Use Case Đăng nhập. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Bảng 2.2 Đặc tả Use Case Đăng ký. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Bảng 2.3 Đặc tả Use Case Đăng xuất. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
Bảng 2.4 Đặc tả Use Case Xem khóa học. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Bảng 2.5 Đặc tả Use Case Làm bài thi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
Bảng 2.6 Đặc tả Use Case Đăng ký học. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
Bảng 2.7 Đặc tả Use Case Làm bài kiểm tra. . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Bảng 2.8 Đặc tả Use Case Phản hồi khóa học. . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Bảng 2.9 Đặc tả Use Case Xem kết quả học tập. . . . . . . . . . . . . . . . . . . . . . . . . 18
Bảng 2.10 Đặc tả Use Case Xem thông tin cá nhân. . . . . . . . . . . . . . . . . . . . . . .18
Bảng 2.11 Đặc tả Use Case Cập nhật thông tin cá nhân. . . . . . . . . . . . . . . . . . . 19
Bảng 2.12 Đặc tả Use Case Đăng nhập Admin. . . . . . . . . . . . . . . . . . . . . . . . . . 19
Bảng 2.13 Đặc tả Use Case Xem phản hồi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
Bảng 2.14 Đặc tả Use Case CRUD danh mục. . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Bảng 2.15 Đặc tả Use Case CRUD khóa học. . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Bảng 2.16 Đặc tả Use Case CRUD chương trình học. . . . . . . . . . . . . . . . . . . . . 23
Bảng 2.17 Đặc tả Use Case CRUD bài thi đề kiểm tra. . . . . . . . . . . . . . . . . . . . 25
Bảng 2.18 Đặc tả Use Case Thống kê lượt truy cập theo tháng. . . . . . . . . . . . . 25
Bảng 2.19 Đặc tả Use Case Đăng xuất Admin. . . . . . . . . . . . . . . . . . . . . . . . . . .26
Bảng 2.20 Đặc tả Use Case Tìm kiếm khóa học. . . . . . . . . . . . . . . . . . . . . . . . . 26
Bảng 2.21 Đặc tả Use Case Xem chi tiết khóa học. . . . . . . . . . . . . . . . . . . . . . .26
Bảng 2.22 Biểu đồ Lớp User. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Bảng 2.23 Biểu đồ Lớp Category. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
Bảng 2.24 Biểu đồ Lớp Course. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Bảng 2.25 Biểu đồ Lớp Lesson. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Bảng 2.26 Biểu đồ Lớp Tag. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Bảng 2.27 Biểu đồ Lớp Question. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Bảng 2.28 Biểu đồ Lớp Topic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37 3 lOMoARcPSD|16072870 Danh mục hình ảnh
Hình 2.1 Biểu đồ Use Case tổng quát. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Hình 2.2 Biểu đồ Đăng nhập. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Hình 2.3 Biểu đồ Đăng xuất. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Hình 2.4 Biểu đồ Đăng ký. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Hình 2.5 Biểu đồ Xem khóa học. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Hình 2.6 Biểu đồ Làm bài thi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Hình 2.7 Biểu đồ Phản hồi câu hỏi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
Hình 2.8 Biểu đồ Xem kết quả học tập. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Hình 2.9 Biểu đồ Xem thông tin cá nhân. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30
Hình 2.10 Biểu đồ Cập nhật thông tin cá nhân. . . . . . . . . . . . . . . . . . . . . . . . . . 31
Hình 2.11 Biểu đồ Tạo danh mục (khóa học, chương trình học, bài thi). . . . . . 31
Hình 2.12 Biểu đồ Cập nhật danh mục (khóa học, chương trình học, bài thi). . 32
Hình 2.13 Biểu đồ Xóa danh mục (khóa học, chương trình học, bài thi). . . . . . 32
Hình 2.14 Biểu đồ Tìm kiếm khóa học. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Hình 2.15 Biểu đồ Xem chi tiết khóa học. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Hình 3.1 Giao diện Đăng ký & Đăng nhập. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Hình 3.2 Giao diện trang chủ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Hình 3.3 Giao diện thông tin người dùng. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Hình 3.4 Giao diện Danh sách khóa học theo Lớp. . . . . . . . . . . . . . . . . . . . . . . 45
Hình 3.5 Giao diện Chi tiết khóa học. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46
Hình 3.6 Giao diện Chương trình học. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Hình 3.7 Giao diện Bài tập. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47
Hình 3.8 Giao diện Trang chủ web quản trị. . . . . . . . . . . . . . . . . . . . . . . . . . . . .47
Hình 3.9 Giao diện Chỉnh sửa danh mục. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Hình 3.10 Giao diện Thống kê. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Hình 3.11 Giao diện Tạo bài tập. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 lOMoARcPSD|16072870 LỜI MỞ ĐẦU
Lý thuyết và thực tiễn đã cho thấy vai trò quan trọng của giáo dục đối với
sự phát triển của quốc gia. Giáo dục thực hiện sứ mạng đào tạo nguồn nhân lực
thông qua 2 phương thức chủ yếu: đào tạo truyền thống (mặt đối mặt) và đào tạo
từ xa. Cuộc cách mạng công nghiệp 4.0 với vai trò trung tâm của công nghệ thông
tin trong việc kết hợp các công nghệ với nhau, làm mờ ranh giới giữa vật lý, kỹ
thuật số và sinh học, đã tạo ra những thay đổi đột phá về tư duy và phương thức
giáo dục, đặc biệt là giáo dục đại học. Giáo dục 4.0 hướng tới khai thác tiềm năng
công nghệ số và nguồn dữ liệu lớn để tạo ra xu hướng mới, đó là xã hội học tập
và thực hiện sứ mạng học tập suốt đời nhằm đào tạo nguồn nhân lực đáp ứng nhu
cầu cho công nghiệp 4.0, nơi mà con người và máy móc cùng kiến tạo nên một
thế giới mới, người học sẽ học tập theo đam mê chứ không không cố nhồi nhét
kiến thức vào đầu và phải quyết định những gì cần học để dễ dàng chuyển đổi
nghề nghiệp, thích ứng với nền công nghiệp hiện đại theo hướng tư duy sáng tạo.
Giáo dục là một lĩnh vực quan trọng cần phải phát triển trong thời đại công
nghệ, Ứng dụng hỗ trợ học tập ra đời sẽ giúp ích rất nhiều cho cả giáo viên và
học sinh trong việc dạy và học. Nhóm chúng em quyết định xây dựng Ứng dụng
hỗ trợ học
tập với giao diện đơn giản, gần gũi, dễ tiếp cận giúp cho việc dạy và
học trở nên dễ dàng và hứng thú hơn với mọi người.
Chúng em đặt chú trọng vào việc đảm bảo trải nghiệm trực tuyến tốt nhất
cho người dùng, đồng thời đảm bảo kỹ thuật về an toàn và bảo mật thông tin cho
người dùng để có trải nghiệm và tiện ích của ứng dụng một cách tiện lợi nhất. 5 lOMoARcPSD|16072870
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI
1. Tổng quan về đề tài
1.1 Khái niện về E-learning
E-learning là viết tăt của Electronic Learning, dùng để mô tả việc hoc t ̣ ập, đào
tạo dựa trên công nghệ thông tin và truyền thông. Trong những năm cuối thế kỷ
20 và đầu thế kỷ 21, E-learning đã tiến hóa nhanh chóng găn với sự phát triển của
công nghệ và giáo dục dựa trên những nền tảng kinh tế và tổ chức phù hợp, tạo ra
một khái niệm rộng và đa chiều. Để xác định phạm vi của khái niệm E-learning
cần xuất phát từ việc tìm hiểu lịch sử tiến hóa cho phương thức giảng dạy và học tập này.
Với quá trình tiến hóa với sự đa chiều như trên, E-learning là một khái niệm có
nhiều ý kiến khác biệt và chưa thống nhất (Oblinger and Hawkins, 2005). Zemsky
và Massy (2004) cho rằng có ba cách hiểu khác nhau về E-learning:
 E-learning là phương thức giáo dục từ xa (distance education), hiểu theo
nghĩa người học không cần đến lớp.
 E-learning là phần mềm hỗ trợ hoạt động giao tiếp trên mạng, cách hiểu
này nhấn mạnh đến vai trò của các hệ thống quản lý học tập LMS(learning management system).
 E-learning là việc học thông qua phương tiện điện tử. Cách hiểu này quan
tâm đến nội dung của E-learning hơn là chỉ quan tâm đến cách phân phối như các cách hiểu trên.
1.2 Lợi ích và các thách thức của E-learning
Với mức độ ứng dụng công nghệ cao như hiện nay, E-learning hiểu theo nghĩa
rộng nhất, mang lại những lợi ích to lớn cho người học, giảng viên, nhà trường và xã hội: Đối với người học
E-learning tạo môi trường học tập chủ động; nghĩa là với các nội dung được
triển khai hoàn toàn trực tuyến, sinh viên có thể làm chủ được việc học của mình.
Người học có thể học theo tốc độ của riêng mình, được lựa chọn phương pháp
học tập phù hợp nhất và nhận được những phản hồi nhanh chóng từ giảng viên về lOMoARcPSD|16072870
các hoạt động học tập. Bên cạnh đó, người học còn có thể học ở bất kì nơi đâu chỉ
cần có kết nối Internet, điều này giúp giảm thiểu được thời gian của người học,
giúp cho họ có nhiều thời gian tập trung cho việc học và tăng kết quả học tập. Đối với giảng viên
Việc áp dụng E-learning cho phép giảng viên tích hợp được nhiều công cụ
truyền đạt thông tin như video bài giảng, các cuộc thảo luận trực tuyến… giúp
giảng viên nâng cao khả năng ứng dụng công nghệ thông tin trong giảng dạy.
Đồng thời, E-learning giúp giảng viên có thể theo dõi học viên một cách dễ dàng.
Giảng viên có thể đánh giá người học thông qua cách trả lời các bài kiểm tra hoặc
các chủ đề thảo luận trên diễn đàn. Điều này cũng giúp đánh giá một cách công
bằng học lực của người học.
Đối với các tổ chức giáo dục
E-learning giúp giảm được các chi phí như chi phí đầu tư cho phòng học.
Bên cạnh đó, giảng viên đại học ngoài yêu cầu đứng lớp, họ còn phải dành thời
gian cho nghiên cứu khoa học, tham gia hội thảo, tư vấn nghề nghiệp… Do đó,
đào tạo trực tuyến giúp Nhà trường giải quyết những khó khăn về thời gian cho
giảng viên. Đào tạo trực tuyến cho phép giảng viên mang bài giảng của mình đến hàng trăm người học. Đối với xã hội
E-learning giúp thực hiện nhiệm vụ xây dựng xã hội học tập và học tập suốt
đời. Vì những hạn chế của mô hình học tập truyền thống, nên chỉ những ai vượt
qua các kỳ thi, học có đủ điều kiện về thời gian và tài chính thì mới có thể vào
được giảng đường đại học. Nhưng với đào tạo trực tuyến, cơ hội học tập có thể
mở ra với hầu hết mọi người khi mà họ không cần đến lớp, với kết nối Internet là
đã có thể nghe được những bài giảng của giảng viên. Các khóa học miễn phí của
các trường đại 10 học qua hình thức MOOC giúp sinh viên đang học hoặc đã ra
trường có thể dễ dàng bổ sung các kiến thức và kỹ năng mới cần thiết cho công
việc hiện tại và sau này. 7 lOMoARcPSD|16072870
2. Tổng quan về app hỗ trợ học tập 2.2 Mục tiêu
Mục tiêu của nhóm là tạo ra app hỗ trợ học tập với các chức năng cần thiết để
đáp ứng nhu cầu học và thực hành của học sinh từ lớp 1 đến lớp 12. Thuận tiện
cho việc dạy và học của cả giảng viên và học sinh.
- Đối với học sinh, giúp các bạn có thể làm chủ được việc học của mình. Người
học có thể học theo tốc độ của riêng mình, được lựa chọn phương pháp học tập
phù hợp nhất và nhận được những phản hồi nhanh chóng từ giảng viên về các hoạt
động học tập. Tạo khóa học, bài giải, bài thi, các đề kiểm tra, feedback trao đổi
kinh nghiệm học tập . . hỗ trợ các bạn học tập một cách hiệu quả mọi lúc, mọi nơi.
Bên cạnh đó, người học còn có thể học ở bất kì nơi đâu chỉ cần có kết nối Internet,
điều này giúp giảm thiểu được thời gian của người học, giúp cho họ có nhiều thời
gian tập trung cho việc học và tăng kết quả học tập.
- Đối với giảng viên, việc áp dụng E-learning cho phép giảng viên tích hợp
được nhiều công cụ truyền đạt thông tin như video bài giảng, các cuộc thảo luận
trực tuyến… giúp giảng viên nâng cao khả năng ứng dụng công nghệ thông tin
trong giảng dạy. Đồng thời, E-learning giúp giảng viên có thể theo dõi học viên
một cách dễ dàng. Giảng viên có thể đánh giá người học thông qua cách trả lời
các bài kiểm tra hoặc các chủ đề thảo luận trên diễn đàn. Điều này cũng giúp đánh
giá một cách công bằng học lực của người học.
2.3 Vai trò và trải nghiệm của người dùng
Vai trò của khách: Xem danh sách khóa học, xem mô tả về khóa học. Có thể
đăng kí, đăng nhập trở thành User để thêm những tính năng.
Vai trò của người dùng: Xem danh sách chi tiết khóa học, đăng kí khóa học,
học, làm bài thì, đề kiểm tra, xem, cập nhật thông tin cá nhân, xem được kết quả học tập. .
Vai trò của quản trị viên: Thêm, sửa, xóa danh mục, khóa học, bài thi-đề kiểm,
câu hỏi; xem phản hồi; theo dõi lượng truy cập theo tháng . . lOMoARcPSD|16072870
3. Yêu cầu chức năng hệ thống
3.2 Tuyên bố về chức năng
Hệ thống sẽ linh hoạt, bền vững, thân thiện với giao diện người dùng. Người
dùng có thể thấy toàn bộ khóa học, có thể tìm kiếm nhanh bằng các từ khóa tìm
kiếm. Người dùng cân đăng nhập để có thể sử dụng nhiều chức năng hơn như làm
bài thi, đăng kí khóa học, xem thông tin cá nhân cũng như kết quả học tập.
Chức năng làm bài thi-đề kiểm tra, người dùng chọn chức năng làm bài, thực
hiện làm bài thi và nộp. Hệ thống tính toán câu trả lới đúng và sai. Sau đó hiển thị
kết quả cho người dùng. .
3.3 Khả năng sử dụng
 Hệ thống thân thiện và dễ dàng sử dụng.
 Cung cấp các khoá học đa dạng về nhiều chủ đề khác nhau cho học viên.
 Hỗ trợ học viên truy cập và học tập mọi lúc, mọi nơi thông qua kết nối internet.
 Sử dụng các tài nguyên học tập đồng bộ với nhau, bao gồm video, bài tập,
tài liệu và các bài kiểm tra.
 Hỗ trợ việc tương tác và trao đổi giữa học viên với giảng viên và cộng đồng học viên khác.
 Cung cấp các chức năng theo dõi và đánh giá kết quả học tập của học viên.
4. Các ngôn ngữ và công cụ hỗ trợ 4.1 Java
Java là một ngôn ngữ lập trình hướng đối tượng (OOP) và dựa trên các lớp
(class), ban đầu được phát triển bởi Sun Microsystems do James Gosling khởi
xướng và phát hành vào năm 1995. Khác với phần lớn ngôn ngữ lập trình thông
thường, thay vì biên dịch mã nguồn thành mã máy hoặc thông dịch mã nguồn khi
chạy, Java được thiết kế để biên dịch mã nguồn thành bytecode, bytecode sau đó
sẽ được môi trường thực thi (runtime environment) chạy.
Là một ngôn ngữ lập trình hướng đối tượng vì vậy Java cũng có 4 đặc điểm chung sau đây: 9 lOMoARcPSD|16072870
 Tính trừu tượng (Abstraction): là tiến trình xác định và nhóm các thuộc
tính, các hành động liên quan đến một thực thể đặc thù, xét trong mối tương
quan với ứng dụng đang phát triển.
 Tính đa hình (Polymorphism): cho phép một phương thức có các tác động
khác nhau trên nhiều loại đối tượng khác nhau. Với tính đa hình, nếu cùng
một phương thức ứng dụng cho các đối tượng thuộc các lớp khác nhau thì
nó đưa đến những kết quả khác nhau. Bản chất của sự việc chính là phương
thức này bao gồm cùng một số lượng các tham số.
 Tính kế thừa (Inheritance): điều này cho phép các đối tượng chia sẻ hay mở
rộng các đặc tính sẵn có mà không phải tiến hành định nghĩa lại.
 Tính đóng gói (Encapsulation): là tiến trình che giấu việc thực thi những
chi tiết của một đối tượng đối với người sử dụng đối tượng ấy.
4.2 Android Studio
Tháng 5 năm 2013, Google công bố Android Studio, một môi trường phát triển
ứng dụng tích hợp (IDE) dành riêng cho Android, mã nguồn mở, dựa trên IDE
Java IntelliJ của hãng JetBrains (đối thủ với Eclipse và Netbeans, vốn khá quen
thuộc với dân lập trình Java).
Android Studio chạy trên Windows, Mac và Linux, nhằm thay thế cho Eclipse
Android Development Tool (ADT) vốn được sử dụng làm IDE chính trong các năm trước đó.
Một số tính năng nổi bật:
 Bộ công cụ build ứng dụng dựa trên Gradle (thay vì Maven).
 Chức năng dò và sửa lỗi nhanh, hướng Android.
 Công cụ chỉnh sửa màn hình dạng kéo thả tiện lợi.
 Các wizard tích hợp nhằm giúp lập trình viên tạo ứng dụng từ mẫu có sẵn.
 Tích hợp Google Cloud Platform, dễ dàng tích hợp với Google Cloud
Messaging và App Engine của Google. lOMoARcPSD|16072870
5. An toàn và bảo mật thông tin người dùng
5.2Thuật toán băm(hash)
Thuật toán băm là một quy trình toán học mà thông thường không thể bị
đảo ngược. Nó chuyển đổi một dữ liệu đầu vào thành một giá trị băm cố định
thường có độ dài cố định. Các thuật toán băm được thiết kế để tạo ra giá trị băm
duy nhất cho mỗi dữ liệu đầu vào khác nhau và ngược lại, việc tái tạo dữ liệu đầu
vào từ giá trị băm là khó khăn hoặc không khả thi. 5.3Salt
Tuy nhiên, có một vấn đề với việc sử dụng chỉ thuật toán băm khi lưu trữ
mật khẩu. Nếu hai người dùng có cùng một mật khẩu, giá trị băm của mật khẩu
đó sẽ giống nhau. Điều này có thể dẫn đến các tấn công dựa trên từ điển
(dictionary attacks) hoặc tấn công bằng bảng giá trị băm (rainbow table attacks),
nơi attacker có thể sử dụng các giá trị băm được tính toán trước đó để tìm ra mật khẩu gốc.
Để ngăn chặn những loại tấn công này, người ta sử dụng "salt". Salt là một
chuỗi ngẫu nhiên được thêm vào mật khẩu trước khi thực hiện băm. Khi salt được
thêm vào, dù là cùng một mật khẩu, giá trị băm cuối cùng sẽ khác nhau do sự thay
đổi của salt. Việc này làm tăng độ khó cho việc tìm kiếm các giá trị băm tương
ứng với các mật khẩu thông thường.
Kết hợp giữa thuật toán băm mạnh mẽ và sử dụng salt giúp tăng cường an toàn
cho quá trình lưu trữ mật khẩu, giảm rủi ro của tấn công từ điển, tấn công bằng
bảng giá trị băm và các kỹ thuật tấn công khác. 11 lOMoARcPSD|16072870
CHƯƠNG 2 : PHÂN TÍCH HỆ THỐNG
1. Phân tích hệ thống
1.1Biểu đồ UseCase tổng quát
- Khách có thể đăng kí để tạo ra tài khoản của mình để có thể đăng
nhập vào hệ thống (trở thành Người dùng), thực hiện thêm 1 số chức
năng (bổ sung …). Khách sẽ đăng kí bằng gmail của mình, khách sẽ
được xem, tìm kiếm thông tin về khóa học trên trang web.
- Người dùng sẽ sử dụng account của mình sau khi đăng kí
thànhcông để đăng nhập vào hệ thống; người dùng có thể xem, cập
nhật thông tin cá nhân của mình; xem kết quả học tập; xem, học khóa
học;có thể làm bài thi và đề kiểm tra; đăng xuất khỏi tài khoản; tìm
kiếm các hóa học; phản hồi về khóa học hay câu hỏi.
- Quản trị viên kế có chức năng quản lí, phân quyền sử dụng hệ
thống, CRUD khóa học, danh mục, đề thi-bài kiểm tra, xem phản hồi
và thông kế số lượng truy cập.
- Biểu đồ Usecase này là biểu đồ Usecase tổng quan các tương tác
của các Actor với hệ thống. lOMoARcPSD|16072870
Hình 2.1 Biểu đồ Use Case tổng quát 2. Đặc tả UseCase
2.1 Đặc tả UC “Đăng nhập” Use Case Đăng nhập Actor Khách
Brief Description Actor thực hiện đăng nhập vào hệ thống, chuyển sang chế độ người dùng(User) Pre-conditions
Actor phải đăng kí tài khoản trước đó Basic Flows
1. Actor truy cập vào website.
2. Actor chọn giao diện đăng nhập.
3. Hệ thống hiện thị form đăng nhập gồm: Tên tài khoản và mật khẩu.
4. Actor điền thông tin tài khoản, mật khẩu.
5. Nhấn nút “Đăng nhập”.
6. Hệ thống xác thực thông tin đăng nhập thành công và
cho phép Actor truy cập vào hệ thống.
7. Hệ thống trả về giao diện Home với tư cách Người dùng. 13 lOMoARcPSD|16072870 Alternative Không có Flows
Exception Flows
6.1. Hệ thống xác thực thông tin đăng nhập “thất bại” và thông báo về giao diện Post-conditions
Actor đăng nhập thành công
Bảng2.1ĐặctảUseCaseĐăngnhập
2.2Đặc tả UC “Đăng kí” Use Case Đăng kí Actor Khách
Brief Description Actor thực hiện đăng kí thông tin tài khoản Pre-conditions
Actor chưa có tài khoản User Basic Flows
1. Actor nhấn vào nút “Đăng kí”.
2. Hệ thống sẽ trả về giao diện Form đăng kí.
3. Actor thực hiện điền thông tin user và submit.
4. Hệ thống thông báo đăng kí tài khoản thành công
và trả về giao diện Home với tư cách Người dùng. Alternative Không có Flows
Exception Flows
3.1. Hệ thống kiểm tra User đã tồn tại hoặc thông tin nhập thiếu.
3.2. Hệ thống gửi cảnh báo. Post-conditions
Actor đăng kí thành công và Hệ thống lưu thông tin người dùng vào Database.
Bảng2.2ĐặctảUseCaseĐăngký
2.3 Đặc tả UC “Đăng xuất” Use Case Đăng xuất Actor Người dùng
Brief Description Actor thực hiện đăng xuất khỏi hệ thống. Pre-conditions
Actor phải đăng nhập vào hệ thống. Basic Flows
1. Actor nhấn nút “Đăng xuất”.
2. Hệ thống trả về giao diện Home với tư cách Khách. lOMoARcPSD|16072870 Alternative Không có Flows Exception Flows Không có Post-conditions
Người dùng đăng xuất thành công
Bảng2.3ĐặctảUseCaseĐăngxuất
2.4Đặc tả UC “Xem khóa học” Use Case Xem khóa học Actor Người dùng và Khách
Brief Description Actor thực hiện chức năng xem khóa học Pre-conditions
Actor phải truy cập vào website Basic Flows
1. Actor lựa chọn danh mục mong muốn.
2. Hệ thống trả về giao diện danh sách các khóa học. Alternative Không có Flows Exception Flows Không có Post-conditions Không có
Bảng2.4ĐặctảUseCaseXemkhóahọc
2.5 Đặc tả UC “Làm bài thi” Use Case Làm bài thi Actor Người dùng
Brief Description Actor thực hiện chức năng làm bài thi Pre-conditions
Actor phải đăng nhập vào hệ thống và đăng kí khóa học thành công. Basic Flows
1. Actor chọn khóa học đã đăng kí.
2. Hệ thống trả về giao diện khóa học được chọn.
3. Actor ấn nút “Làm Bài Thi”.
4. Hệ thống trả về giao diện các bài thi.
5. Actor lựa chọn bài thi mong muốn.
6. Hệ thống trả về giao diện danh sách câu hỏi.
7. Actor thực hiện làm bài và ấn nộp bài
8. Hệ thống trả về giao diện kết quả bài thi. Alternative Không có Flows 15 lOMoARcPSD|16072870
Exception Flows Không có Post-conditions
Actor làm xong bài thi, dữ liệu kết quả được lưu vào database
Bảng2.5ĐặctảUseCaseLàmbàithi
2.6 Đặc tả UC “Đăng ký học” Use Case Đăng kí học Actor Người dùng
Brief Description Actor thực hiện đăng kí khóa học Pre-conditions
Actor thực hiện đăng nhập và khóa học chưa được đăng kí. Basic Flows
1. Actor lựa chọn danh mục khóa học mong muốn.
2. Hệ thống trả về giao diện chi tiết khóa học.
3. Actor ấn nút “Đăng kí khóa học”
4. Hệ thống giao diện bài giảng, bài thi và bài kiểm tra. Alternative Không có Flows Exception Flows Không có Post-conditions
Actor đăng kí khóa học thành công, hệ thống lưu dữ liệu vào database.
Bảng2.6Đặctả UseCaseĐăngkýhọc
2.7 Đặc tả UC “Làm bài kiểm tra” Use Case Làm bài kiểm tra Actor Người dùng
Brief Description Actor thực hiện chức năng làm bài kiểm tra Pre-conditions
Actor phải đăng nhập vào hệ thống và đăng kí khóa học thành công. Basic Flows
1. Actor chọn khóa học đã đăng kí.
2. Hệ thống trả về giao diện danh sách các bài học.
3. Actor ấn nút “Làm bài”.
4. Hệ thống trả về giao diện chuẩn bị làm bài kiểm tra.
5. Actor ấn nút “Làm bài” để làm bài.
6. Actor thực hiện làm bài và ấn nộp bài
7. Hệ thống trả về giao diện kết quả bài kiểm tra. lOMoARcPSD|16072870 Alternative Không có Flows Exception Flows Không có Post-conditions
Actor làm xong bài thi, dữ liệu kết quả được lưu vào database
Bảng2.7ĐặctảUseCaseLàmbài kiểmtra
2.8 Đặc tả UC “Phản hồi khóa học” Use Case Phản hồi khóa học Actor Người dùng
Brief Description Actor thực hiện phản hồi khóa học Pre-conditions
Actor phải đăng nhập vào hệ thống và đang học khóa học đăng kí Basic Flows
1. Actor lựa chọn khóa học đang học và muốn phản hồi
2. Hệ thống trả về giao diện phản hồi.
3. Actor nhập description và chủ đề phản hồi và nhấn nút “gửi”
4. Hệ thống trả về thông báo thành công và giao diện khóa học đang phản hồi Alternative Không có Flows Exception Flows Không có Post-conditions
Actor phản hồi thành công, hệ thống lưu dữ liệu phản hồi vào database.
Bảng2.8ĐặctảUseCasePhảnhồikhóahọc
2.9Đặc tả UC “Xem kết quả học tập” Use Case Xem kết quả học tập Actor Người dùng
Brief Description Actor thực hiện chức năng xem kết quả học tập Pre-conditions
Actor phải đăng nhập vào hệ thống 17 lOMoARcPSD|16072870 Basic Flows
1. Actor ấn vào biểu tượng “hồ sơ cá nhân”, rồi ấn vào
nút “xem kết quả học tập”
2. Hệ thống trả về giao diện Thống kê kết quả học tập
qua các bài kiểm tra và các bài thi, tiến độ học tập
của các khóa học đăng kí, thời gian online trong 1 tháng. Alternative Không có Flows Exception Flows Không có Post-conditions Không có
Bảng2.9ĐặctảUseCaseXemkếtquảhọctập
2.10 Đặc tả UC “Xem thông tin cá nhân” Use Case Xem thông tin cá nhân Actor Người dùng
Brief Description Actor thực hiện chức năng xem thông tin cá nhân Pre-conditions
Actor phải đăng nhập vào hệ thống Basic Flows
1. Actor ấn vào biểu tượng “hồ sơ cá nhân”, rồi ấn vào
nút “thông tin cá nhân”
2. Hệ thống trả về giao diện Thông tin cá nhân. Alternative Không có Flows Exception Flows Không có Post-conditions Không có
Bảng2.10ĐặctảUseCaseXemthôngtincánhân
2.11 Đặc tả UC “Cập nhật thông tin cá nhân” Use Case
Cập nhật thông tin cá nhân Actor Người dùng
Brief Description Actor thực hiện chức năng thay đổi thông tin cá nhân Pre-conditions
Actor phải đăng nhập vào hệ thống Basic Flows
1. Actor ấn vào biểu tượng “hồ sơ cá nhân”, rồi ấn vào
nút “thông tin cá nhân”
2. Hệ thống trả về giao diện Thông tin cá nhân. lOMoARcPSD|16072870
3. Actor thực hiện cập nhật thông tin cá nhân và ấn nút “Cập nhật”.
4. Hệ thống kiểm tra hợp lệ, sau đó update dữ liệu và thông báo thành công Alternative Không có Flows Exception Flows
4.1. Hệ thống kiểm tra không hợp lệ, thông báo lỗi Post-conditions
Actor cập nhật thông tin và hệ thống updata dữ liệu vào database
Bảng2.11ĐặctảUseCaseCậpnhật thôngtincánhân
2.12 Đặc tả UC “Đăng nhập Admin” Use Case Đăng nhập Admin Actor Quản trị viên (Admin)
Brief Description Actor thực hiện chức năng đăng nhập vào hệ thống với tư cách quản trị viên Pre-conditions
Actor phải truy cập vào trang web dành cho admin Basic Flows
1. Actor truy cập vào trang web dành cho admin.
2. Hệ thống trả về giao diện form đăng nhập.
3. Actor thực hiện điền tài khoản, mật khẩu và nhấn nút “Đăng nhập”.
4. Hệ thống xác thực thông tin đăng nhập thành công
và cho phép Actor truy cập vào hệ thống.
5. Hệ thống trả về giao diện Quản trị viên. Alternative Không có Flows Exception Flows
4.1. Hệ thống kiểm tra thông tin đăng nhập không
thành công và thông báo về giao diện. Post-conditions
Actor đăng nhập vào hệ thống thành công
Bảng2.12ĐặctảUseCaseĐăngnhậpAdmin
2.13 Đặc tả UC “Xem phản hồi” Use Case Xem phản hồi Actor Quản trị viên (Admin)
Brief Description Actor thực hiện chức năng xem phản hồi của người dùng. 19