NỘI DUNG
Trong phần này gồm có các chương sau:
CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
CHƯƠNG 3: CÀI ĐẶT VÀ THỬ NGHIỆM CHƯƠNG TRÌNH
PHẦN 3: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
PHẦN 4: TÀI LIỆU THAM KHẢO
CƠ SỞ LÝ THUYẾT
Giới thiệu ngôn ngữ lập trình Java
Java được khởi đầu bởi James Gosling và bạn đồng nghiệp ở Sun
Vào năm 1991, Microsystems đã phát triển một ngôn ngữ lập trình ban đầu mang tên Oak, được đặt theo tên cây sồi trồng bên ngoài văn phòng của James Gosling Mục tiêu của ngôn ngữ này là thay thế C++, nhưng lại tích hợp nhiều tính năng tương tự như Objective-C.
C Không nên lẫn lộn Java với JavaScript, hai ngôn ngữ đó chỉ giống tên và loại cú pháp như C Công ty Sun Microsystems đang giữ bản quyền và phát triển Java thường xuyên Tháng 04/2011, công ty Sun Microsystems tiếp tục cho ra bản JDK 1.6.24
Java được phát triển với tiêu chí "Viết một lần, thực thi khắp nơi" (WORA), cho phép chương trình viết bằng Java có thể chạy trên nhiều nền tảng khác nhau Điều này chỉ khả thi khi có môi trường thực thi phù hợp hỗ trợ nền tảng đó Hiện tại, môi trường thực thi của Sun Microsystems hỗ trợ hệ điều hành Sun Solaris.
Java Platform hỗ trợ nhiều hệ điều hành phổ biến như Windows, Linux, AIX và z/OS Ngoài ra, một số công ty và tổ chức như BEA, IBM, HP cũng phát triển môi trường thực thi Java cho các hệ điều hành khác Đặc biệt, IBM là một trong những đơn vị nổi bật trong việc cung cấp hỗ trợ cho Java trên nhiều nền tảng khác nhau.
Ngôn ngữ, máy ảo và API của Java được duy trì bởi Cộng đồng Java dưới sự quản lý của Sun Java được phát triển vào năm 1991 bởi một nhóm kỹ sư tại Sun, trong đó có James Gosling, trong khuôn khổ Dự án Xanh.
Java được phát hành vào năm 1994 và nhanh chóng nổi tiếng khi Netscape công bố tại hội thảo SunWorld năm 1995 rằng trình duyệt Navigator của họ sẽ hỗ trợ Java Kể từ đó, Java đã được hỗ trợ trên hầu hết các trình duyệt phổ biến như Internet Explorer, Firefox và Safari.
Java chủ yếu được phát triển trên nền tảng NetBeans và Oracle Sau khi Oracle mua lại Sun Microsystems vào năm 2009-2010, họ đã tự nhận mình là "người quản lý công nghệ Java với cam kết bền vững trong việc xây dựng một cộng đồng tham gia và minh bạch."
Applet là các chương trình nhỏ hoạt động trực tiếp trong trình duyệt và tương tác với nó Để đảm bảo khả năng chạy trên nhiều trình duyệt khác nhau, applet cần tuân thủ một số cấu trúc nhất định.
Khuôn mẫu của một applet thể hiện ở bốn phương thức sau:
Trong đó: appletName: tên của applet init: để khởi tạo một applet khi một applet được nạp (loaded) hay được nạp lại (reloaded)
Start: bắt đầu hoạt động của applet khi applet được nạp hay khi người dùng thăm lại trang chứa applet
Stop: chấm dứt hoạt động của applet khi người dùng rời khỏi trang chứa
Destroy: để thực hiện việc dọn dẹp chuẩn bị cho applet thoát ẩn
Không phải tất cả các applet đều sử dụng đủ bốn phương thức, và những phương thức không được triển khai sẽ được trình duyệt tự động thực hiện khi nạp applet.
Vòng đổi đời của một applet:
Khi một applet được nạp có các sự kiện xảy ra như sau:
Một instance của lớp con applet được tạo ra, dẫn đến việc tạo ra một đối tượng applet Đối tượng này tự khởi tạo và nhận các giá trị thông qua phương thức init() Khi bắt đầu chạy, phương thức start() được gọi Khi người dùng rời khỏi trang chứa applet, phương thức stop() sẽ được thực hiện Khi trở lại trang đó, applet kích hoạt lại phương thức start() Quá trình này cũng xảy ra khi người dùng thu nhỏ và mở lại cửa sổ Các trình duyệt cho phép người dùng nạp lại applet, và khi đó, phương thức stop() được gọi để dọn dẹp hệ thống, giải phóng tài nguyên đã sử dụng Cuối cùng, applet sẽ bị xóa khỏi bộ nhớ, và khi nạp lại, quá trình sẽ diễn ra giống như lần đầu tiên.
Khi người dùng đóng trang web chứa applet, ứng dụng sẽ ngay lập tức kích hoạt phương thức stop() và sau đó thực hiện phương thức dọn dẹp destroy() trước khi trình duyệt bị tắt.
JavaBeans là một công nghệ do Sun Microsystems phát triển dựa trên nền tảng Java, cho phép tạo ra các khối mã lập trình có thể tái sử dụng Những thành phần JavaBeans có khả năng được nhúng vào trong các ứng dụng và kết nối với các thành phần khác, giúp tối ưu hóa quá trình phát triển phần mềm.
JavaBeans là công cụ quan trọng trong việc kết nối các ứng dụng, giúp các nhà phát triển giảm thiểu lượng mã cần viết Họ có thể tạo ra các thành phần JavaBeans tùy chỉnh hoặc mua từ các nhà phát triển bên thứ ba.
Môi trường Internet đã trở thành động lực chính cho việc phát triển các thành phần Java, ngày càng phổ biến trong các ứng dụng phân tán Trong mô hình này, một thành phần ứng dụng hoạt động trên máy khách, một phần trên lớp trung gian, và phần còn lại trên máy chủ để xử lý cơ sở dữ liệu hoặc tính toán phức tạp Các ứng dụng Java xây dựng bằng JavaBeans có khả năng phục vụ cả phía client và server.
Không có một bí ẩn nào trong việc tạo ra một lớp đối tượng JavaBeans
Để xây dựng lớp đối tượng JavaBeans, chúng ta cần cài đặt giao diện java.io.Serializable Sau đó, chúng ta thiết lập và xây dựng các phương thức get và set để truy cập các thuộc tính của beans trong trang JSP Cấu trúc của một đối tượng Beans được định nghĩa như sau:
Các thuộc tính (property) của thành phần JavaBeans:
Thuộc tính là một trong những khía cạnh quan trọng nhất trong
JavaBeans, thuộc tính biểu diễn những trạng thái (state) mà một thành phần
JAVA SERVER PAGE- JSP
JSP là công nghệ mạnh mẽ cho việc tạo HTML phía máy chủ, là phần mở rộng trực tiếp của Java Servlet Nó cung cấp mô hình lập trình web dễ dàng và tiện dụng hơn so với Servlet.
2.1 Cú pháp cơ bản của JSP
2.1.1 Sử dụng thẻ bọc mã < %%> Ưu điểm của trang JSP là khả năng nhúng mã Java giữa các thể định dạng HTML Mã Java được đặt trong cặp dấu < %%> Bên trong mã Java nếu muốn kết xuất dữ liệu HTML ta gọi phương thức println() của đối tượng out Đối tượng out là đối tượng mặc dịnhđược trình chủ Web Server cung cấp dùng để ghi kết xuất gửi về máy khách Thẻ HTML và mã Java có thể trộn lẫn lộn với nhau Ví dụ :
2.1.2 Hiển thị kết xuất bằng cú pháp < %=%>
Thay vì sử dụng cú pháp < %%> để diễn đạt nhiều lệnh, bạn có thể sử dụng cú pháp < %=%> chỉ để hiển thị kết quả từ một giá trị biến hoặc hàm.
Search
Trong ví dụ trên, biến "name" chứa chủ đề cần tìm, trong khi hàm "search" trả về tên tìm được Lưu ý rằng không có dấu chấm phẩy (;) ở cuối các biến hoặc biểu thức gọi hàm trong cú pháp Nội dung trong sẽ được chuyển đổi thành lệnh out.println(), tương đương với Out.println("html").
2.1.3 Chèn chú thích vào mã trang JSP
Cũng giống như Java, JSP sử dụng cú pháp // để chú thích một dòng mã, trong khi cú pháp /* */ được dùng cho nhiều dòng Các dòng lệnh chú thích này sẽ bị bỏ qua khi trình chủ diễn dịch trang JSP.
// đây là chú thích một dòng
JPS cung cấp cú pháp chú thích < % %>, cho phép bỏ qua các khối lệnh Java và HTML nằm giữa hai dấu chú thích này Tất cả nội dung trong phạm vi này sẽ không được trình biên dịch trang xử lý.
Out.println( “ đoạn này trình biên dịch sẽ bỏ qua”)
Dấu chú thích trong Java rất hữu ích, cho phép chúng ta tạm thời cô lập hoặc vô hiệu hóa một đoạn mã đang gặp lỗi trong trang JPS mà không cần phải xóa bỏ nó hoàn toàn.
2.1.4 Khai báo phương thức và biến hằng < %!%>
Cú pháp trong JSP cho phép định nghĩa một hoặc nhiều phương thức và biến, giúp chúng có thể được gọi từ bất kỳ vị trí nào trong trang JSP.
2.2 Các đối tượng của JPS
Trong JSP, người dùng có thể truy cập một số đối tượng mà không cần khai báo, vì trình dịch JSP tự động nhận diện và chuyển đổi chúng thành Servlet.
2.2.1 Đối tượng Request Đối tượng Request đại diện cho đối tượng java.servlet.httpservletrequest Giao diện HttpServlet được định nghĩa như một đối tượng truy cập đến thông tin Header của giao thức Http được gởi về trình khách Đối tượng request thường được truyền như đối số cho phương thức service() Ví dụ:
Public void jpsservice ( httpServletRequest request, HttpServiceResponse response) throws IOExeption,
Một trong những ứng dụng phổ biến của đối tượng Request là giữ các tham số thông qua phương thức getParameter() Phương thức này, kế thừa từ lớp javax.ServletRequest, nhận tên tham số và trả về giá trị chuỗi tương ứng Nếu tham số không tồn tại, getParameter() sẽ trả về giá trị null.
Đối tượng Request, đại diện cho javax.servlet.http.HttpServletRequest, cho phép sử dụng các phương thức như getSession(), getCookies(), và getRemoteUser () để quản lý phiên làm việc, cookie và thông tin người dùng từ xa.
Đối tượng response trong JPS cho phép phản hồi thông tin từ trình chủ về trình duyệt Ứng dụng phổ biến của đối tượng này chủ yếu là để xuất dữ liệu.
HTML ra trình duyệt Đối tượng response thường gọi phương thức getWriter() để thực hiện kết xuất
Các phương thức mà đối tượng response thường sử dụng được kiệt kê như sau:
- Response.sendRedirect(java.lang.String location): gởi đối tượng
Response một lần nữa đến một trang JSP được chỉ định trong đối số của phương thức
- Response.setContenTypE(java.lang.String type): định dạng nội dung xuất là kiểu type- đối số của phương thức
2.2.3 Đối tượng Session Đối tượng session tham chiếu đến đối tượng javax.servlet.http.HttpSession Đối tượng Session dùng để lưu các đối tượng khacstuwf những yêu cầu của client Chúng đưa ra hầu hết trạng thái đầy đủ của HTTP Đối tượng session được khởi tạo bằng cách gọi phương thức pageContext.getsession() để taoh rat rang servlet Cú pháp như sau:
Đối tượng session trong JSP cho phép lưu trữ các biến có giá trị toàn cục từ khi mở đến khi kết thúc phiên làm việc của trình duyệt Bằng cách sử dụng session, bạn có thể tạo biến cục bộ để duy trì giá trị giữa các trang JSP khác nhau Để sử dụng session và lưu trữ các biến của chương trình, bạn cần khai báo biến một cách thích hợp.
Session.setAttribute(java.lang.String name, java.lang.Object value
Trong đó name là tên biến, value là giá trị của biến
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Khảo sát hệ thống
Hiện nay, sự phát triển của internet đã tạo điều kiện thuận lợi cho người dùng trong việc học Toeic qua các trang web Số lượng trang web hướng dẫn học Toeic ngày càng tăng, phản ánh nhu cầu ngày càng cao của người học.
Mặc dù việc học Toeic trực tuyến ngày càng phổ biến, nhưng vẫn tồn tại nhiều hạn chế do thiếu các trang web đáp ứng đầy đủ nhu cầu của người học.
Dựa trên khảo sát và nghiên cứu, tôi đã xác định yêu cầu của người dùng và bài toán, đồng thời đề xuất phương pháp giải quyết hiệu quả cho đề tài.
- Xem bài hướng dẫn ngữ pháp, học từ vựng
- Làm bài tập đọc, bài tập nghe
- Làm đề thi Toeic hoàn chỉnh
- Quản lý hướng dẫn ngữ pháp
- Quản lý học từ vựng
1.3 Yêu cầu phi chức năng
- Website phải có dung lượng không quá lớn, tốc độ xử lý nhanh
- Chương trình phải chuẩn xác, không chấp nhận sai sót, đáp ứng được nhu cầu của người dùng
- Đảm bảo an toàn dữ liệu khi chạy trên website trực tuyến.
Phân tích
2.1 Xác định các tác nhân và UseCase
Dựa trên khảo sát hiện trạng thực tế, kết hợp với việc tham khảo tài liệu và phân tích ý kiến người dùng, phần mềm luyện thi TOEIC đã xác định được các yếu tố quan trọng ảnh hưởng đến hiệu quả học tập.
1 Khách vãng lai, Người dùng, admin UseCase tổng quan
2 Khách vãng lai, Người dùng, admin Đăng ký
3 Khách vãng lai, Người dùng, admin Đăng nhập
4 Khách vãng lai, Người dùng Tìm kiếm
5 Khách vãng lai, Người dùng Học hướng dẫn ngữ pháp
6 Khách vãng lai, người dùng Học từ vựng
7 Khách vãng lai, Người dùng Làm bài tập phần đọc
8 Khách vãng lai, Người dùng Làm bài tập phần nghe
9 Người dùng Làm đề thi hoàn chỉnh
10 Người dùng Bình luận ngữ pháp
11 Admin Quản lý hướng dẫn ngữ pháp
12 Admin Quản lý học từ vựng
13 Admin Quản lý bài tập phần đọc
14 Admin Quản lý bài tập phần nghe
12 Admin Quản lý đề thi
2.2 Biểu đồ UseCase tổng quan
Hình 1: Biểu đồ Usecase tổng quan
2.3 Các ca sử dụng Usecase
2.3.1 Biểu đồ UseCase phần đăng ký
2.3.2 Biểu đồ UseCase phần đăng nhập
2.3.3 Biểu đồ UseCase phần tìm kiếm
2.3.4Biểu đồ UseCase phần học hướng dẫn ngữ pháp
Hình 5: Ca học hướng dẫn ngữ pháp
2.3.5 Biểu đồ UseCase phần học từ vựng
Hình 6: Ca học từ vựng
2.3.6 Biểu đồ UseCase phần làm bài tập đọc
Hình 7: Ca làm bài tập đọc
2.3.7 Biểu đồ UseCase phần làm bài tập nghe
Hình 8: Ca làm bài tập nghe
2.3.8 Biểu đồ UseCase phần làm đề thi hoàn chỉnh
Hình 9:Ca làm đề thi hoàn chỉnh
2.3.9 Biểu đồ Usecase phần bình luận ngữ pháp
2.3.10 Biểu đồ UseCase phần quản lý hướng dẫn ngữ pháp
Hình 11: Ca quản lý hướng dẫn ngữ pháp
2.3.11 Biểu đồ UseCase phần quản lý học từ vựng
Hình 12: Ca quản lý học từ vựng
2.3.12 Biểu đồ UseCase phần quản lý bài tập phần đọc
Hình 13: Ca phần quản lý bài tập đọc
2.3.13 Biểu đồ UseCase phần quản lý bài tập phần nghe
Hình 14: Ca quản lý bài tập nghe
2.3.14 Biểu đồ UseCase phần quản lý đề thi
Hình 15: Ca quản lý đề thi
Bảng 1: Đặc tả Usecase chức năng đăng nhập
Lê Trần Vũ Last Updated By
Actors (Tác nhân): Khách vãng lai
Khách vãng lai truy cập vào ứng dụng và có nhu cầu sử dụng các chức năng được phân quyền Để được cấp quyền truy cập, họ cần đăng nhập bằng tài khoản thành viên và yêu cầu hệ thống cung cấp quyền sử dụng tương ứng.
Khách vãng lai đã đăng ký tài khoản thành viên được hệ thống xác nhận
Khách vãng lai trở thành thành viên truy cập vào ứng dụng và được quyền sử dụng các chức năng của phân quyền do hệ thống cung cấp
Normal Flow (Luồng): 1 Khách vãng lai truy cập vào ứng dụng
2 Khách vãng lai nhấn nút “ĐĂNG NHẬP” trên thanh menu
3 Ứng dụng trả lại giao diện đăng nhập và yêu cầu thành viên nhập thông tin đăng nhập
4 Khách vãng lai nhập Tên đăng nhập và password và nhấn
5 Ứng dụng gửi thông tin nhận được về hệ thống kiểm tra
6 Hệ thống phản hồi xác nhận tài khoản và cung cấp phân quyền
7 Ứng dụng nhận phản hồi từ hệ thống và cấp phiên truy cập theo phân quyền
8 Ứng dụng trả lại giao diện trang chủ của thành viên
Extensions (Mở rộng): 4a Trong bước 4 của “Normal Flow”, nếu khách vãng lai nhập thiếu Tên đăng nhập hoặc password:
4a1 Ứng dụng thông báo chưa nhập đủ thông tin đăng nhập 4a2 Khách vãng lai điền thông tin còn thiếu
6a Trong bước 6 của “Normal Flow”, nếu tài khoản không tồn tại:
6a1 Ứng dụng thông báo và yêu cầu nhập lại
6b Trong bước 6 của “Normal Flow”, nếu tài khoản và mật khẩu không trùng khớp:
6b1 Ứng dụng thông báo và yêu cầu nhập lại
Bảng 2: Đặc tả Usecase chức năng đăng ký
Name: Đăng ký thành viên
Created By: Lê Trần Vũ Last Updated By:
Description: Khách vãng lai muốn sử dụng các chức năng cần được phân quyền, khách vãng lai đăng ký tài khoản để làm thành viên của hệ thống
Postconditions: Khách vãng lai trở thành thành viên trong hệ thống và có quyền sử dụng các chức năng theo phân quyền
Normal Flow: 1 Khách vãng lai truy cập trang web
2 Khách vãng lai nhấn nút “ĐĂNG KÝ” trên giao diện
3 Ứng dụng trả về giao diện đăng ký tài khoản
4 Khách vãng lai nhập thông tin đăng ký và nhấn “Đăng ký”
5 Ứng dụng gửi thông tin về cho hệ thống kiểm tra và tạo tài khoản
6 Hệ thống gửi phản hồi xác nhận đăng ký thành công và cấp phiên truy cập cho khách
7 Ứng dụng nhận phản hồi từ hệ thống và trả về trang chủ người dùng cho thành viên mới đăng nhập
Extensions: 5a Trong bước 5 của “Normal Flow”, nếu tài khoản đã tồn tại trong hệ thống:
5a1 Hệ thống gửi phản hồi thông báo cho khách vãng lai 5a2 Quay lại bước 4
Frequency of Use: Vài lần mỗi tuần
Special Requirements: Bảo mật thông tin người dùng
Bảng 3: Đặc tả Usecase chức năng đăng xuất
Created By: Lê Trần Vũ Last Updated By:
Description: Thành viên muốn thoát ra khỏi ứng dụng
Preconditions: Thành viên đã đăng nhập vào ứng dụng
Postconditions: 1 Thành viên thoát khỏi quyền truy cập
2 Trở thành khách vãng lai
Normal Flow: 1 Thành viên nhấn nút “Thoát” trên giao diện
2 Ứng dụng gửi phản hồi đến hệ thống
3 Hệ thống hủy bỏ phiên đăng nhập của thành viên
4 Thành viên ra khỏi quyền truy cập và trở thành khách vãng lai
Frequency of Use: Vài lần mỗi ngày
Bảng 4: Đặc tả Usecase chức năng tìm kiếm
Created By: Lê Trần Vũ Last Updated By:
Description: Thành viên xóa một bài viết
Postconditions: Thành viên xóa bài đăng thành công
Normal Flow: 1 Thành viên truy cập vào trang web
2 Thành viên truy cập vào “TRANG CHỦ” trên thanh menu
3 Thành viên nhập dữ liệu tìm kiếm
4 Ứng dụng gửi thông tin đến hệ thống
5 Hệ thống trả về dữ liệu tìm kiếm phù hợp
Special Requirements: Bảo mật thông tin người dùng
Bảng 5: Đặc tả Usecase chức năng học ngữ pháp
Created By: Lê Trần Vũ Last Updated By:
Description: Khách vãng lai muốn sử dụng chức năng học ngữ pháp
Postconditions: Khách vãng lai học ngữ pháp thành công
Normal Flow: 1 Khách vãng lai truy cập vào trang web
2 Khách vãng lai nhấn nút “Học ngữ pháp” trên giao diện
3 Ứng dụng trả về giao diện học ngữ pháp
Bảng 6: Đặc tả Usecase chức năng học từ vựng
Created By: Lê Trần Vũ Last Updated By:
Description: Khách vãng lai muốn sử dụng chức năng học từ vựng
Postconditions: Khách vãng lai học từ vựng thành công
Normal Flow: 1 Khách vãng lai truy cập vào trang web
2 Khách vãng lai nhấn nút “Học từ vựng” trên giao diện
3 Ứng dụng trả về giao diện học từ vựng
Bảng 7: Đặc tả Usecase chức năng làm bài tập phần đọc
Làm bài tập phần đọc
Created By: Lê Trần Vũ Last Updated By:
Description: Khách vãng lai muốn làm bài tập phần đọc
Postconditions: Khách vãng lai làm bài tập đọc thành công
Normal Flow: 1 Khách vãng lai truy cập vào trang web
2 Khách vãng lai nhấn nút “Làm bài tập phần đọc” trên giao diện Tìm kiếm bài tập đọc muốn làm
3 Ứng dụng trả về giao diện chi tiết bài tập đọc
4 Khách vãng lai chọn 1 trong 4 đáp án A, B, C, D
5 Khách vãng lai chọn nút “Đáp án”
6 Hệ thống hiển thị đáp án đúng
Bảng 8: Đặc tả Usecase chức năng làm bài tập phần nghe
Làm bài tập phần nghe
Created By: Lê Trần Vũ Last Updated By:
Description: Khách vãng lai muốn làm bài tập phần nghe
Postconditions: Khách vãng lai làm bài tập phần nghe thành công
Normal Flow: 1 Khách vãng lai truy cập vào trang web
2 Khách vãng lai truy cập vào “Làm bài tập phần nghe” trên giao diện Tìm kiếm bài tập nghe muốn làm
3 Ứng dụng trả về giao diện chi tiết bài tập nghe
4 Khách vãng lai bấm vào audio để nghe Sau đó chọn một trong 4 đáp án A, B, C, D
5 Khách vãn lai chọn nút “Đáp án”
6 Hệ thống hiển thị đáp án đúng
2.4.9 Làm bài đề thi hoàn chỉnh
Bảng 9: Đặc tả Usecase chức năng làm đề thi hoàn chỉnh
Làm đề thi hoàn chỉnh
Created By: Lê Trần Vũ Last Updated By:
Description: Người dùng muốn làm đề thi hoàn chỉnh
Postconditions: Người dùng làm đề thi hoàn chỉnh thành công
Normal Flow: 1 Người dùng truy cập vào trang web
2 Người dùng truy cập vào “Đề thi thử” trên giao diện Tìm kiếm đề thi muốn làm
3 Ứng dụng trả về giao diện chi tiết đề thi
4 Người dùng chọn một trong 4 đáp án A, B, C, D
5 Người dùng chọn nút “Nộp bài”
6 Hệ thống trả về kết quả thi và đáp án đúng
Extensions: 3a Trong bước 3 của “Normal Flow” nếu thời gian kết thúc
3a1 Hệ thống sẽ tự động nộp bài
Special Requirements: Bảo mật thông tin người dùng
Bảng 10: Đặc tả Usecase chức năng bình luận ngữ pháp
Created By: Lê Trần Vũ Last Updated By:
Description: Người dùng muốn sử dụng chức năng bình luận ngữ pháp
Postconditions: Khách vãng lai học ngữ pháp thành công
Normal Flow: 1 Người dùng truy cập vào trang web
2 Người dùng nhấn nút “Học ngữ pháp” trên giao diện
3 Ứng dụng trả về giao diện học ngữ pháp
4 Người dùng nhập nội dung bình luận vào bảng bình luận
5 Ứng dụng hiển thị nội dung bình luận
2.4.11 Quản lý bài hướng dẫn ngữ pháp
Bảng 11: Đặc tả Usecase chức năng quản lý bài hướng dẫn ngữ pháp
Quản lý bài hướng dẫn ngữ pháp
Created By: Lê Trần Vũ Last Updated By:
Description: Admin muốn thao tác quản lý bài hướng dẫn ngữ pháp
Tất cả thông tin về các bài hướng dẫn ngữ pháp được truy vấn từ cơ sở dữ liệu và hiển thị trên màn hình Người quản trị có khả năng xem danh sách, thêm mới, cập nhật hoặc xóa các bài hướng dẫn ngữ pháp theo nhu cầu.
Normal Flow: 1 Admin truy cập vào trang web
2 Admin truy cập vào “Quản lý phần hướng dẫn” trên thanh menu bên trái và chọn “Ngữ pháp”
3 Ứng dụng trả về giao diện danh sách bài hướng dẫn ngữ pháp và các chức năng thêm, sửa, xóa
4 Admin thao tác yêu cầu thực hiện các chức năng
5 Ứng dụng gửi yêu cầu về cho hệ thống
6 Hệ thống thực hiện truy vấn dữ liệu và trả về kết quả cho người quản trị
Special Requirements: Bảo mật thông tin người dùng
2.4.12 Quản lý học từ vựng
Bảng 12: Đặc tả Usecase chức năng quản lý học từ vựng
Quản lý học từ vựng
Created By: Lê Trần Vũ Last Updated By:
Description: Admin muốn thao tác quản lý bài học từ vựng
Tất cả thông tin về các bài học từ vựng được truy vấn từ cơ sở dữ liệu và hiển thị trên màn hình, cho phép người quản trị dễ dàng xem danh sách, thêm mới, cập nhật thông tin hoặc xóa một bài học từ vựng.
Normal Flow: 1 Admin truy cập vào trang web
2 Admin truy cập vào “Quản lý phần hướng dẫn” trên thanh menu bên trái và chọn “Từ vựng”
3 Ứng dụng trả về giao diện danh sách bài học từ vựng và các chức năng thêm, sửa, xóa
4 Admin thao tác yêu cầu thực hiện các chức năng
5 Ứng dụng gửi yêu cầu về cho hệ thống
6 Hệ thống thực hiện truy vấn dữ liệu và trả về kết quả cho người quản trị
Special Requirements: Bảo mật thông tin người dùng
2.4.13 Quản lý bài tập đọc
Bảng 13: Đặc tả Usecase chức năng quản lý bài tập đọc
Quản lý bài tập đọc
Created By: Lê Trần Vũ Last Updated By:
Description: Admin thao tác quản lý bài tập đọc
Tất cả thông tin về các bài tập đọc được truy vấn từ cơ sở dữ liệu và hiển thị trên màn hình Người quản trị có khả năng xem danh sách, thêm mới, cập nhật thông tin hoặc xóa một bài tập đọc.
Normal Flow: 1 Admin truy cập vào trang web
2 Admin truy cập vào “Quản lý phần bài tập” trên thanh menu bên trái và chọn “Bài tập đọc”
3 Ứng dụng trả về giao diện danh sách bài tập đọc và các chức năng thêm, sửa, xóa
4 Admin thao tác yêu cầu thực hiện các chức năng
5 Ứng dụng gửi yêu cầu về cho hệ thống
6 Hệ thống thực hiện truy vấn dữ liệu và trả về kết quả cho người quản trị
Special Requirements: Bảo mật thông tin người dùng
2.4.14 Quản lý bài tập nghe
Bảng 14: Đặc tả Usecase chức năng quản lý bài tập nghe
Quản lý bài tập nghe
Created By: Lê Trần Vũ Last Updated By:
Description: Admin thao tác quản lý bài tập nghe
Tất cả thông tin về các bài tập nghe được truy xuất từ cơ sở dữ liệu và hiển thị trên màn hình Người quản trị có khả năng xem danh sách, thêm mới, cập nhật thông tin hoặc xóa một bài tập nghe.
Normal Flow: 1 Admin truy cập vào trang web
2 Admin truy cập vào “Quản lý phần bài tập” trên thanh menu bên trái và chọn “Bài tập nghe”
3 Ứng dụng trả về giao diện danh sách bài tập nghe và các chức năng thêm, sửa, xóa
4 Admin thao tác yêu cầu thực hiện các chức năng
5 Ứng dụng gửi yêu cầu về cho hệ thống
6 Hệ thống thực hiện truy vấn dữ liệu và trả về kết quả cho người quản trị
Special Requirements: Bảo mật thông tin người dùng
Bảng 15: Đặc tả Usecase chức năng quản lý đề thi
Created By: Lê Trần Vũ Last Updated By:
Description: Admin thao tác quản lý đề thi
Tất cả thông tin về các đề thi được truy xuất từ cơ sở dữ liệu và hiển thị trên màn hình, cho phép người quản trị dễ dàng xem danh sách, thêm mới, cập nhật thông tin hoặc xóa một đề thi.
Normal Flow: 1 Admin truy cập vào trang web
2 Admin truy cập vào “Quản lý đề thi” trên thanh menu bên trái và chọn “Đề thi”
3 Ứng dụng trả về giao diện danh sách đề thi và các chức năng thêm, sửa, xóa
4 Admin thao tác yêu cầu thực hiện các chức năng
5 Ứng dụng gửi yêu cầu về cho hệ thống
6 Hệ thống thực hiện truy vấn dữ liệu và trả về kết quả cho người quản trị
Special Requirements: Bảo mật thông tin người dùng
2.6 Mô tả các lớp trong sơ đồ lớp
STT Thuộc tính Mô tả
1 Categorymemberid Mã loại thành viên
2 Categorymembername Tên loại thành viên
STT Thuộc tính Mô tả
3 membername Tên đăng nhập của thành viên
4 memberpass Mật khẩu đăng nhập của thành viên
5 categorymemberid Mã loại thành viên
STT Thuộc tính Mô tả
1 grammarguidelineid Mã bài hướng dẫn ngữ pháp
2 grammarname Tên bài hướng dẫn ngữ pháp
3 grammarimage Ảnh bài hướng dẫn ngữ pháp
4 content Nội dung bài hướng dẫn ngữ pháp
STT Thuộc tính Mô tả
2 cmtgrammarcontent Nội dung bình luận
4 grammarguidelineid Mã bài hướng dẫn ngữ pháp
STT Thuộc tính Mô tả
1 readexerciseid Mã bài tập đọc
2 readname Tên bài tập đọc
3 readimage ảnh bài tập đọc
4 checkcauhoi Kiểm tra câu hỏi
STT Thuộc tính Mô tả
1 readquestionid Mã câu hỏi bài tập đọc
2 num Số thứ tự câu hỏi
3 paragraph Đoạn văn câu hỏi
10 readexerciseid Mã bài tập đọc
STT Thuộc tính Mô tả
2 listenexercisename Tên bài tập nghe
3 listenexerciseimage Ảnh bài tập nghe
4 checkcauhoi Kiểm tra câu hỏi
STT Thuộc tính Mô tả
1 listenquestionid Mã câu hỏi bài tập nghe
2 num Số thứ tự câu hỏi
3 imagename Ảnh cẩu hỏi bài tập nghe
4 audiomp3 File mp3 bài tập nghe
5 audiogg File ogg bài tập nghe
6 question Câu hỏi bài tập nghe
12 listenexerciseid Mã bài tập nghe
STT Thuộc tính Mô tả
4 checkcauhoi Kiểm tra câu hỏi
STT Thuộc tính Mô tả
1 examinationquestionid Mã câu hỏi bài thi
2 num Số thứ tự câu hỏi bài thi
3 imagequestion Ảnh câu hỏi bài thi
4 audiomp3 File mp3 câu hỏi bài thi
5 audiogg File ogg câu hỏi bài thi
6 paragraph Đoạn văn câu hỏi bài thi
7 question Câu hỏi bài thi
STT Thuộc tính Mô tả
2 correctanswernum Số câu trả lời đúng
3 incorrectanswernum Số câu trả lời sai
7 correctanswerread Số câu trả lời đúng phần đọc
STT Thuộc tính Mô tả
1 vocabularyguidelineid Mã bài học từ vựng
2 vocabularyname Tên bài học từ vựng
3 vocabularyimage Ảnh bài học từ vựng
4 checknoidung Kiểm tra noi dung
STT Thuộc tính Mô tả
1 vocabularucontentid Mã nội dung bài học từ vựng
2 num Số thứ tự nội dung
3 vocabularycontentname Tên nội dung bài học từ vựng
4 transcribe Phiên âm từ vựng
5 image Hình ảnh từ vựng
6 audiomp3 File mp3 từ vựng
7 audiogg File ogg từ vựng
8 mean Nghĩa của từ vựng
9 vocabularyguidelineid Mã bài học từ vựng
CÀI ĐẶT VÀ THỬ NGHIỆM
Màn hình dành cho khách vãng lai
Hình 32: Màn hình trang chủ
1.2 Màn hình trang đăng nhập
Hình 33: Màn hình trang đăng nhập
1.3 Màn hình trang đăng ký
Hình 34: Màn hình trang đăng ký
1.4 Màn hình xem bài hướng dẫn ngữ pháp
Hình 35: Màn hình trang bài hướng dẫn ngữ pháp
1.5 Màn hình bài tập phần đọc
Hình 36: Màn hình trang bài tập phần đọc
1.6 Màn hình bài tập phần nghe
Hình 37: Màn hình trang bài tập phần nghe
1.7 Màn hình học từ vựng
Hình 38: Màn hình trang học từ vựng
Màn hình dành cho người dùng đã đăng nhập
Hình 39: Màn hình trang chủ
2.2 Màn hình danh sách đề thi
Hình 40: Màn hình trang danh sách đề thi
2.3 Màn hình bình luận ngữ pháp
Hình 41: Màn hình bình luận ngữ phá
2.2 Màn hình làm đề thi hoàn chỉnh
Hình 42: Màn hình trang làm đề thi hoàn chỉnh
Màn hình dành cho người quản lý
3.1 Màn hình quản lý bài ngữ pháp
Hình 43: Màn hình trang quản lý ngữ pháp
3.2 Màn hình quản lý bài tập đọc
3.3 Màn hình quản lý bài tập nghe
Hình 45: Màn hình trang quản lý bài tập nghe
3.4 Màn hình quản lý đề thi
Hình 46:Màn hình trang quản lý đề thi
3.5 Màn hình quản lý học từ vựng
Hình 47: Màn hình quản lý học từ vựng