● Spring hỗ trợ sử dụng khá nhiều công nghệ như ORM Framework, các logging framework, JEE, các thư viện tạo lịch trình Quartz và JDK timer… ● Module Web của Spring được thiết kế theo mô
Trang 1ĐỒ ÁN 2
Đề tài: WEBSITE QUẢN LÝ KHÓA HỌC
Giảng viên hướng dẫn: Thái Thụy Hàn Uyển
Sinh viên thực hiện:
18520865 Võ Đinh Ngọc Huyền
18521153 Đỗ Bảo Ngọc
TP Hồ Chí Minh, Ngày 24/12/2021
Trang 2MỤC LỤC
Trang 31.1 Ưu điểm: 20
Trang 4CHƯƠNG 1: SPRING FRAMEWORK
1 Spring là gì?
Spring là một Framework phát triển các ứng dụng Java được sử dụng bởi hàng triệu lập trình viên Nó giúp tạo các ứng dụng có hiệu năng cao, dễ kiểm thử, sử dụng lại code…
Spring nhẹ và trong suốt (nhẹ: kích thước nhỏ, version cơ bản chỉ khoảng 2MB; trong suốt: hoạt động một cách trong suốt với lập trình viên)
Spring là một mã nguồn mở, được phát triển, chia sẻ và có cộng đồng người dùng rất lớn
Spring Framework được xây dựng dựa trên 2 nguyên tắc design chính là:
Dependency Injection và Aspect Oriented Programming
Những tính năng core (cốt lõi) của Spring có thể được sử dụng để phát triển Java Desktop, ứng dụng mobile, Java Web Mục tiêu chính của Spring là giúp phát triển các ứng dụng J2EE một cách dễ dàng hơn dựa trên mô hình sử dụng POJO (Plain Old Java Object)
2 Kiến trúc, các module của Spring Framework
Spring được chia làm nhiều module khác nhau, tùy theo mục đích phát triển ứng dụng mà ta dùng 1 trong các module đó
Dưới đây là kiến trúc tổng thể của Spring Framework
Trang 5Tầng này cung cấp khả năng hỗ trợ kiểm thử với JUnit và TestNG
Spring Core Container
Bao gồm các module spring core, beans, context và expression language (EL)
● Spring core, bean cung cấp tính năng IOC và Dependency Injection
● Spring Context hỗ trợ đa ngôn ngữ (internationalization), các tính năng Java EE như EJB, JMX
● Expression Language được mở rộng từ Expression Language trong JSP Nó cung cấp hỗ trợ việc setting/getting giá trị, các method cải tiến cho phép truy cập collections, index, các toán tử logic…
Trang 6AOP, Aspects and Instrumentation
Những module này hỗ trợ cài đặt lập trình hướng khía cạnh (Aspect
Oriented Programming), hỗ trợ tích hợp với AspectJ
Data Access / Integration
Nhóm này bao gồm JDBC, ORM, OXM, JMS và module Transaction Những module này cung cấp khả năng giao tiếp với database
Web
Hay còn gọi là Spring MVC Nhóm này gồm Web, Web-Servlet… hỗ trợ việc tạo ứng dụng web
Spring là gì? Giới thiệu Spring Framework trong Java
3 Các lợi ích của Spring Framework
● Spring cho phép lập trình viên sử dụng POJOs Việc sử dụng POJOs giúp bạn không phải làm việc với EJB, ứng dụng, các luồng chạy, cấu hình… đơn giản hơn rất nhiều
● Spring được tổ chức theo kiểu mô đun Số lượng các gói và các lớp khá nhiều, nhưng bạn chỉ cần quan tâm đến những gì bạn cần và không cần quan tâm đến phần còn lại
● Spring hỗ trợ sử dụng khá nhiều công nghệ như ORM Framework, các logging framework, JEE, các thư viện tạo lịch trình (Quartz và JDK timer)…
● Module Web của Spring được thiết kế theo mô hình MVC nên nó cung cấp đầy đủ các tính năng giúp thay thế các web framework khác như Struts
Trang 74 Một số dự án khác của Spring
Cũng dựa trên các nguyên tắc thiết kế cơ bản của spring core Spring còn phát triển nhiều project con như:
Spring MVC
Spring MVC được thiết kế dành cho việc xây dựng các ứng dụng nền tảng web
Spring Security
Cung cấp các cơ chế xác thực (authentication) và phân quyền
(authorization) cho ứng dụng của bạn
Spring Boot
Spring Boot là một framework giúp chúng ta phát triển cũng như chạy ứng dụng một cách nhanh chóng
Spring Batch
Dự án này giúp chúng ta dễ dàng tạo các lịch trình (scheduling) và tiến trình (processing) cho các công việc xử lý theo mẻ (batch job)
Spring Social
Dự án này sẽ kết nối ứng dụng của bạn với các API bên thứ ba của
Facebook, Twitter, Linkedin … (ví dụ đăng nhập bằng facebook, google+ …)
Spring IO
Trang 8Spring Cloud
Spring Mobile
Spring for Android
Spring Session
CHƯƠNG 2: GIỚI THIỆU
1 Đặc tả yêu cầu
1.1 Đánh giá khách quan
Tên đồ án Website quản lý khóa học phi chính phủ
Mục tiêu
- 6 tháng: 500 học viên
- 1 năm : 1000 học viên
Yêu cầu Bên trong (kĩ thuật)
- Phát triển website có thể sử dụng cho cả pc và các thiết bị mobile
Bên ngoài (đáp ứng nhu cầu mua các phụ kiện di động)
- Cung cấp nhiều khóa học, hoạt động ngoại khóa cho học viên
- Hỗ trợ học bổng cho học viên xuất sắc
Trang 9Đối tượng
- Những người sử dụng thiết bị di động
1.2 Phiên bản
Phiên bản 1.0.0.0
Ngày ra mắt 01/01/2022
Yêu cầu Đặc tả yêu cầu sản phẩm
Cột mốc 01/01/2021 - Hoàn thành bản mẫu cho sản phẩm
Chức năng
- Danh sách học viên
- Thông tin chi tiết của học viên
- Danh sách các khóa học( bao gồm cả các khóa ngoại khóa)
- Thông tin chi tiết các khóa học
- Danh sách giảng viên
- Thông tin chi tiết của giảng viên
1.3 Chức năng
a Danh sách học viên
Tên chức năng Hiển thị danh sách học viên
Mô tả Hiển thị danh sách các học viên.
Trang 10Mục đích Cung cấp danh sách học viên của tổ chức
Vấn đề của người
dùng
Tổ chức không có học viên
Mong muốn Có danh sách học viên trong hệ thống
Giả định Hiển thị tất cả các học viên.
Kết quả không
mong muốn
Hiển thị sai thông tin học viên
Tiêu chí đầu ra Hiển thị thông tin học viên chính xác.
b Thông tin chi tiết học viên
Tên chức năng Chi Tiết Học Viên
Mô tả Hiển thị thông tin chi tiết của học viên được chọn
Mục đích Cung cấp thông tin chi tiết của học viên.
Vấn đề của người
dùng
Cần tìm hiểu các thông tin chi tiết của học viên
Mong muốn Hiểu rõ hơn thông tin của học viên
Giả định Hiển thị chính xác thông tin học viên
Kết quả không
mong muốn
Không hiển thị thông tin sai lệch
Tiêu chí đầu ra Khi người dùng chọn vào học viên thì hiển thị thông tin chi tiết học viên
Trang 11c Danh sách khóa học
Tên chức năng Hiển thị danh sách khóa học
Mô tả Hiển thị thông tin các khóa học
Mục đích Cung cấp thông tin về các khóa học hiện có hoặc sắp mở
Vấn đề của người
dùng
Quá nhiều khóa học
Mong muốn Người dùng có thể lựa chọn được những khóa học phù hợp hơn
Giả định Cung cấp những khóa học với thông tin chính xác
Kết quả không
mong muốn
Không cung cấp thông tin sai lệch
Tiêu chí đầu ra
Hiển thị chính xác thông tin khóa học
d Thông tin chi tiết khóa học
Tên chức năng Thông Tin Chi Tiết Khóa Học
Mô tả Hiển thị thông tin chi tiết của khóa học được chọn
Mục đích Cung cấp thông tin chi tiết của khóa học.
Vấn đề của người
dùng
Cần tìm hiểu các thông tin chi tiết của khóa học
Trang 12Mong muốn Hiểu rõ hơn thông tin của khóa học, giúp người dùng lựa chọn được
khóa học phù hợp
Giả định Hiển thị chính xác thông tin khóa học
Kết quả không
mong muốn
Không hiển thị thông tin sai lệch
Tiêu chí đầu ra
- Khi người dùng chọn vào một khóa học thì hiển thị thông tin chi tiết của khóa học đó
- Hiển thị một số học viên đã đăng ký
e Hiển thị danh sách giảng viên
Tên chức năng Hiển thị danh sách giảng viên
Mô tả Hiển thị danh sách các giảng viên.
Mục đích Cung cấp danh sách giảng viên của tổ chức
Vấn đề của người
dùng
Tổ chức không có giảng viên
Mong muốn Có danh sách giảng viên trong hệ thống
Giả định Hiển thị tất cả các giảng viên.
Kết quả không
mong muốn
Hiển thị sai thông tin giảng viên
Tiêu chí đầu ra Hiển thị thông tin giảng viên chính xác.
Trang 13f Thông tin chi tiết giảng viên
Tên chức năng Chi Tiết Giảng Viên
Mô tả Hiển thị thông tin chi tiết của giảng viên được chọn
Mục đích Cung cấp thông tin chi tiết của giảng viên.
Vấn đề của người
dùng
Cần tìm hiểu các thông tin chi tiết của giảng viên
Mong muốn Hiểu rõ hơn thông tin của giảng viên
Giả định Hiển thị chính xác thông tin giảng viên
Kết quả không
mong muốn
Không hiển thị thông tin sai lệch
Tiêu chí đầu ra Khi người dùng chọn vào giảng viên thì hiển thị thông tin chi tiết giảng
viên
1.4 Phân tích
Chúng tôi muốn xây dựng một website cung cấp đầy đủ các khóa học cải thiện cả kiến thức lý thuyết lẫn kỹ năng mềm cho học viên Một trang web dễ sử dụng, thân thiện với người dùng với đầy đủ các chức năng
1.5 Ý tưởng phát triển trong tương lai
Tên chức năng Mục đích Độ ưu tiên Thời gian
Trang 14Cung cấp tính năng hỗ trợ trực tuyến(
chat box)
Nâng cao trải nghiệm người dùng
Cao 1 tháng
2 Giả định
Trang web của chúng tôi làm ra để có thêm cung cấp người dùng những khóa học nâng cao kỹ năng lẫn những học bổng cho các học viên xuất sắc Chúng tôi cam kết cung cấp những khóa học đã được kiểm định và chất lượng cao với những giảng viên trong và ngoài nước Với nhu cầu nâng cao khả năng ngoại ngữ, những bài học cải thiện lý thuyết các môn tại thcs-thpt, những khóa học ngoài trời,
chúng tôi cam kết sẽ cố gắng hết sức để liên tục đưa đến học viên những khóa học tốt nhất cũng như tiếp thu những góp ý của học viên và phụ huynh Góp phần nâng cao trải nghiệm qua các khóa học tại tổ chức của chúng tôi
3 Giả thuyết
Bởi vì nhu cầu ngoại ngữ cũng như kiến thức ngày càng khó, đề thi luôn đổi mới hằng năm chúng tôi sẽ liên tục cập nhật các khóa học mới để có thể bắt kịp xu hướng của bộ giáo dục
Chúng tôi sẽ biết được hướng đi của mình là đúng đắn dựa trên các lượt đánh giá tích cực của người dùng về các khóa học qua số lượng đăng ký ngày càng gia tăng
4 Hồ sơ người dùng
Trang 15- Mai
- 17 tuổi
- Học sinh
- Tp Hồ Chí Minh
- Khả năng giao tiếp bằng Anh
văn kém
Nhu cầu
- Muốn giao tiếp tự tin hơn, có
thể phát âm như người bản
xứ
Giải pháp
- Cung cấp những khóa học Anh văn do giảng viên nước ngoài đứng lớp
5 Kết quả
Danh sách kết quả:
-Cung cấp chức năng hỗ trợ trực tuyến
- Hỗ trợ học bổng cũng như khả năng tìm kiếm học bổng học tập tại nước ngoài
Cung cấp chức năng hỗ
trợ trực tuyến
- Cung cấp tính năng trò chuyện trực tiếp cùng học viên
- Hỗ trợ học viên một cách nhanh chóng
- Tăng trải nghiệm học viên-phụ huynh
Hỗ trợ săn học bổng - Học viên có thành tích tốt - Giúp học viên có thể săn
học bổng du học
Trang 16CHƯƠNG 3: GIAO DIỆN Danh sách học viên
Trang 17Tạo học viên mới
Trang 18Chỉnh sửa thông tin học viên
Trang 19CHƯƠNG 4: ĐÁNH GIÁ VÀ KẾT LUẬN
1 Đánh giá
1.1 Ưu điểm:
● Hoàn thành giao diện cho một trang web về các khóa học
● Thiết kế hài hoà, giúp người dùng dễ nắm bắt và sử dụng các chức năng của website
● Giao diện khá bắt mắt, dễ sử dụng, các chức năng chạy khá tốt
1.2 Hạn chế:
● Các chức năng còn khá phổ biến, chưa có điểm đặc sắc
● Một số lỗi có thể xảy ra
● Còn hạn chế một số chức năng
2 Hướng phát triển
● Hoàn thiện giao diện để người dùng có thể sử dụng ứng dụng một cách tốt nhất
● Hoàn thiện các chức năng của website
Trang 20TÀI LIỆU THAM KHẢO:
[1] Tham khảo tài liệu về spring framework
https://viblo.asia/p/tong-quan-ve-spring-framework-YWOZryEyKQ0