hợp, nó sẽ được sử dụng để validate các dữ liệu trong form được submit bởi người sử dụng, nó cũng định nghĩa lớp Action nào sẽ được sử dụng để xử lý các yêu cầu từ phía người dùng.. Một
Trang 1TRƯỜNG ĐẠI HỌC VINH
KHOA CÔNG NGHỆ THÔNG TIN
Trang 2TRƯỜNG ĐẠI HỌC VINH
KHOA CÔNG NGHỆ THÔNG TIN
Sinh viên thực hiện: u – Mã sinh viên: 1151073694
Lớp: 52K2 - CNTT
Giáo viên hướng dẫn: ThS Nguyễn Quang Ninh
Nghệ An, tháng 01 năm 2016
Trang 3LỜI CẢM Ơ
Trong suốt quãng thời gian được học tập tại khoa Công nghệ thông tin, trường Đại học Vinh, đó là sự lựa chọn sáng suốt cho con đường tương lai của bản thân Trong những năm tháng học tập trên giảng đường Đại học, em đã nhận được rất nhiều
sự quan tâm, giúp đỡ, chỉ bảo tận tình của quý Thầy, Cô khoa Công nghệ thông tin - những kỹ sư tâm hồn, những người lái đò đưa chúng em đến bến bờ tri thức
Với lòng biết ơn sâu sắc nhất, em xin gửi lời cảm ơn chân thành đến quý Thầy,
Cô khoa Công nghệ thông tin – Trường Đại học Vinh những người đã dành hết tri thức, tâm huyết của mình để truyền đạt vốn kiến thức quý báu cho chúng em trong suốt thời gian học tập tại trường
Em xin được gửi lời cảm ơn đến lãnh đạo Nhà trường - Trường Đại học Vinh, lãnh đạo khoa Công nghệ thông tin, đã tổ chức các buổi giao lưu giữa các doanh nghiệp và sinh viên thực sự bổ ích, giúp chúng em có cơ hội thực tập và sau khi tốt nghiệp chúng em được nhận vào làm việc tại Công ty FPT software Đà Nẵng
Em cũng xin được gửi lời cảm ơn chân thành đến thầy giáo ThS Nguyễn Quang Ninh đã tận tâm hướng dẫn em hoàn thành đề tài đồ án tốt nghiệp này
Đề tài đồ án này được thực hiện trong khoảng thời gian 2 tháng Bước đầu đi vào thức tế, tìm hiểu đề tài, do kiến thức của em còn hạn chế và còn nhiều bỡ ngỡ Do vậy, không tránh khỏi những thiếu sót, em rất mong nhận được những ý kiến đóng góp quý báu của quý Thầy, Cô để đề tài đồ án này của em được hoàn thiện hơn
Sau cùng, em xin kính chúc quý Thầy, Cô, Ban lãnh đạo khoa Công nghệ thông tin, Ban lãnh đạo nhà trường thật dồi dào sức khỏe, niềm tin để tiếp tục thực hiện sứ mệnh cao đẹp của mình, truyền đạt kiến thức, chèo lái con đò cập bến tương lai cho thế hệ mai sau
Một lần nữa em xin chân thành cảm ơn!
Tp Vinh, ngày 8 tháng 1 năm 2015
Sinh viên thực hiện
Lê Thị Thu Na
Trang 4MỤC LỤC
A MỞ ĐẦU 7
1 Lý do chọn đề tài 7
2 Mục đích 7
3 Phần mềm và công cụ sử dụng 7
4 Dự kiến kết quả đạt được 7
B NỘI DUNG: 8
CHƯ NG I T M HI U M H NH MVC 8
1 Khái niệm mô hình MVC 8
2 Mẫu mô hình MVC 8
3 Ưu điểm và nhược điểm 9
CHƯ NG II XÂY DỰNG ỨNG DỤNG SỬ DỤNG MÔ HÌNH MVC 10
1 Giới thiệu Struts - MVC 10
1.1 Khái niệm 10
1.2 Tiến trình hoạt động của framework Struts 10
1.3 Cấu trúc của Struts 11
1.4 Các thành phần chính của một ứng dụng Struts 12
1.5 Các file cấu hình cần thiết để xây dựng một ứng dụng Struts 12
1.6 Ưu điểm của Struts (so với MVC không sử dụng Struts) 13
1.7 Nhược điểm của Struts 13
2 Tổng quan 15
2.1 Chức năng 15
2.2 Tác nhân 15
2.3 Phân tích Database 16
2.3.1 Database Diagram 16
2.3.2 Thông tin chi tiết từng bảng 16
2.3.2.1 Bảng khóa học 16
2.3.2.2 Bảng lớp học 17
2.3.2.3 Bảng người dùng 17
2.3.2.4 Bảng giảng viên 18
2.3.2.5 Bảng môn học 18
2.3.2.6 Bảng giảng dạy 18
2.3.2.7 Bảng phiếu khảo sát 19
2.3.2.8 Bảng loại phiếu 20
Trang 52.3.2.9 Bảng nội dung 20
2.3.2.10 Bảng chi tiết nội dung 21
2.3.2.11 Bảng nội dung con 21
2.3.2.12 Bảng kết quả 22
2.3.2.13 Bảng chi tiết kết quả 22
2.3.2.14 Bảng góp ý 23
2.3.2.15 Bảng đăng ký học phần 23
2.3.2.16 Bảng chi tiết đăng ký học phần 23
2.4 Sơ đồ chức năng hệ thống (Use Case) 24
2.4.1 Sơ đồ tổng thể 24
2.4.2 Sơ đồ từng chức năng 25
2.4.2.1Quản lý Người dùng 25
2.4.2.2 Quản lý Khóa học 25
2.4.2.3 Quản lý Giảng viên 26
2.4.2.4 Quản lý Môn học 26
2.4.2.5 Quản lý Lớp học 27
2.4.2.6 Quản lý Giảng dạy 27
2.4.2.7 Quản lý Loại phiếu 28
2.4.2.8 Quản lý Phiếu 28
2.4.2.9 Quản lý Kết quả 29
2.4.2.10 Quản lý Góp ý 29
2.4.2.11 Thay đổi thông tin cá nhân 29
2.5 Thiết kế Giao diện - Mô tả chức năng 30
2.5.1 Đăng nhập 30
2.5.2 Quản lý Người dùng 31
2.5.2.1 Danh sách 31
2.5.2.2 Thêm Người dùng mới 33
2.5.2.3 Cập nhật thông tin Người dùng 37
2.5.2.4 Xóa Người dùng 40
2.5.2.5 Thay đổi mật khẩu 41
2.5.3Quản lý Khóa học 43
2.5.3.1 Danh sách 43
2.5.3.2 Thêm Khóa học mới 45
2.5.3.3 Cập nhật thông tin Khóa học 46
Trang 62.5.4 Quản lý Giảng viên 48
2.5.4.1 Danh sách 48
2.5.4.2 Thêm Giảng viên mới 50
2.5.4.3 Cập nhật thông tin Giảng viên 52
2.5.4.4 Xóa Giảng viên 53
2.5.5 Quản lý Lớp học 54
2.5.5.1 Danh sách 54
2.5.5.2 Thêm Lớp học mới 56
2.5.5.3 Cập nhật thông tin Lớp học 57
2.5.5.4 Xóa Lớp học 58
2.5.6 Quản lý Môn học 59
2.5.6.1 Danh sách 59
2.5.6.2 Thêm Môn học mới 61
2.5.6.3 Cập nhật thông tin Môn học 63
2.5.6.4 Xóa Môn học 65
2.5.7 Quản lý Giảng dạy 65
2.5.7.1 Danh sách 65
2.5.7.2 Thêm Giảng dạy 67
2.5.7.3 Cập nhật thông tin Giảng dạy 69
2.5.7.4 Xóa Giảng dạy 70
2.5.8 Quản lý Loại phiếu 71
2.5.8.1 Danh sách 71
2.5.8.2 Cập nhật thông tin Loại phiếu 72
2.5.9 Quản lý Phiếu khảo sát 74
2.5.9.1 Danh sách 74
2.5.9.2 Thêm Phiếu mới 76
2.5.9.3 Cập nhật thông tin Phiếu 78
2.5.9.4 Xóa Phiếu 81
2.5.9.5 Quản lý Nội dung 81
2.5.9.5.1 Danh sách 81
2.5.9.5.2 Thêm nội dung mới 82
2.5.9.5.3 Cập nhật thông tin Nội dung 85
2.5.9.5.4 Xóa Nội dung 86
2.5.9.5.5 Thêm Chi tiết Nội dung 86
Trang 72.5.9.5.7 Xóa Chi tiết Nội dung 89
2.5.9.5.8 Thêm Nội dung Con 89
2.5.9.5.9 Cập nhật thông tin Nội dung Con 91
2.5.9.5.10 Xóa Nội dung Con 92
2.5 .6 Thống kê phiếu khảo sát 93
2.5.10 Quản lý Kết quả 94
2.5.10.1 Danh sách 94
2.5.10.2 Chi tiết kết quả 96
2.5.10.3 Xóa Kết quả 97
2.5.11 Quản lý Góp ý 97
2.5.11.1 Danh sách 97
2.5.11.2 Xóa Góp ý 98
2.5.12 Giao diện Trang chủ front-end) 100
2.5.12.1 Trang chủ 100
2.5.12.2 Cá nhân 101
2.5.12.2.1 Thông tin cá nhân 101
2.5.12.2.2 Đăng ký học phần 101
2.5.12.3 Khảo sát 102
2.5.12.3 Xem kết quả 107
2.5.12.4 Góp ý 108
2.5.12.5 Liên hệ 109
III Kết luận 109
IV Tài liệu tham khảo 110
Trang 8A MỞ ĐẦ
1 Lý do chọn đề tài
Hiện nay, vấn đề xây dựng website khảo sát dạy và học cho khoa CNTT cũng là một vấn đề cần thiết vì:
+ Tính tiện lợi: có thể khảo sát từ xa thông qua internet
+ Quản lý thông tin: chuyên nghiệp, quản lý, thống kê dễ dàng, tránh mất mát dữ liệu thay vì lưu trữ thông qua giấy tờ
Website sử dụng mô hình MVC (Model - View - Controller) là một kiến trúc phần mềm hay mô hình thiết kế được sử dụng trong kỹ thuật phần mềm Nó giúp cho các developer tách ứng dụng của họ ra 3 thành phần khác nhau Model, View và Controller Mỗi thành phần có một nhiệm vụ riêng biệt và độc lập với các thành phần khác Do đó việc áp dụng mô hình này vào dự án là hợp lý nhất
2 Mục đíc
Hiểu được mô hình MVC: khái niệm, các thành phần cấu tạo, luồng làm việc và
ưu nhược điểm của mô hình
Xây dựng được ứng dụng Quản lý khảo sát kết quả dạy và học của khoa CNTT dựa trên mô hình MVC
Trang 9B ỘI D G:
C ƢƠ G I M IỂ M MVC
1 Khái niệm mô hình MVC
MVC là Design Pattern mẫu thiết kế) được áp dụng rộng rãi trên hầu hết các ngôn ngữ lập trình hướng đối tượng hiện nay từ Java, C#, PHP, Visual C++…
Model – View – Controller (MVC) là một mẫu thiết kế nhằm mục đích chia tách phần giao diện và Code để dễ quản lý, phát triển và bảo trì MVC chia ứng dụng phần mềm ra làm 3 phần có tương tác với nhau là Model (dữ liệu), View (giao diện), Controller (Code điều khiển tương tác giữa Model và View cũng như nghiệp vụ Business)
2 Mẫu mô hình MVC
Trong đó:
- Model là lớp chứa thông tin đối tượng (Dữ liệu), tương tác với Database Chịu trách nhiệm chính trong mô hình hóa đối tượng
Trang 10- View là giao diện của hệ thống tương tác trực tiếp với người dùng
- Controller nhận yêu cầu từ người dùng và sử dụng Model và View để xử lý và trả kết quả cho người dùng
3 Ƣu điểm và n ƣợc điểm
- Ưu điểm:
+ Hệ thống phân ra từng thành phần nên dễ dàng phát triển
+ Chia thành nhiều modul nhỏ nên nhiều người có thể làm chung dự án
+ Bảo trì, nâng cấp dễ dàng
+ Dễ debug trong quá trình xây dựng
+ Thích hợp với các dự án quy mô lớn
- Nhược điểm:
+ Xây dựng cầu kỳ, mất thời gian để xây dựng thư viện cấu trúc
+ Đối với dự án nhỏ việc áp dụng mô hình MVC gây cồng kềnh, tốn thời gian trong quá trình phát triển Tốn thời gian trung chuyển dữ liệu của các tầng
Trang 11C ƢƠ G II XÂY DỰNG ỨNG DỤNG SỬ DỤNG MÔ HÌNH MVC
1 Giới thiệu Struts - MVC
Struts thực thi mô hình MVC
1.2 Tiến trình hoạt động của framework Struts
Mô hình Struts Framework thực thi mô hình MVC bằng cách sử dụng tập hợp các thẻ JSP, các thẻ tùy chọn JSP, và các java servlet Dưới đây là mô tả ngắn gọn cách mà Struts Framework ánh xạ đến mỗi thành phần trong mô hình MVC
Hình trên mô tả tiến trình mà hầu hết các ứng dụng Struts phải tuân theo
Tiến trình này có thể được chia thành 5 bước căn bản:
1 Request được tạo ra từ một View
Trang 122 Request được tiếp nhận bởi một ActionServlet đóng vai trò là controller), và ActionServlet này sẽ tìm kiếm URL cần thiết trong file xml và xác định tên của lớp Action sẽ thực hiện và các nghiệp vụ logic cần thiết
3 Lớp Action thực hiện các nghiệp vụ logic của nó trong các thành phần Model kết hợp với ứng dụng
4 Khi Action hoàn tất tiến trình xử lý của nó, nó sẽ trả điều khiển cho ActionServlet Là một thành phần của thành phần trả về, lớp Action cung cấp một khóa xác định kết quả của tiến trình xử lý nó ActionServlet sử dụng khóa này để xác định kết quả sẽ được forward đến đâu để trình diễn ra ngoài
5 Yêu cầu được hoàn tất khi ActionServlet đáp ứng nó bằng cách forward yêu cầu
đó đến một View được liên kết đến để trả về khóa đã đề cập ở trên bước 4, và View sẽ trình diễn kết quả của Action
1.3 Cấu trúc của Struts
Cấu trúc của Struts 1.0 Một hoặc nhiều Action, mỗi action trong trang web sẽ ánh xạ chính xác đến một thành phần <action> được định nghĩa trong file struts-config.xml Action được gọi bởi người dùng từ một trang HTML hoặc JSP thông qua một liên kết hay thông qua thuộc tính action trong thẻ <form>
Trang 13hợp, nó sẽ được sử dụng để validate các dữ liệu trong form được submit bởi người sử dụng, nó cũng định nghĩa lớp Action nào sẽ được sử dụng để xử lý các yêu cầu từ phía người dùng
Một lớp ActionForm có thể sử dụng một hoặc nhiều forward được định nghĩa trong thẻ <action> để nói cho một ActionSevlet trả về các response tương ứng và các request của người dùng Chúng ta có thể định nghĩa nhiều forward trong thẻ <action-mapping>
1.4 Các thành phần chính của một ứng dụng Struts
ActionServlet: đóng vai trò như là một controller trong mô hình MVC hay nó là
sự thực thi controller của Struts đối với mô hình MVC ActionServlet lấy về các request từ phía người dùng và ánh xạ chúng đến thành phần <action> trong file struts-config.xml
Action: định nghĩa một tác vụ có thể được gọi bởi người dùng Nó cũng định nghĩa lớp sẽ xử lý các request từ phía người dùng và trang JSP sẽ hiển thị kết quả về cho người sử dụng
Lớp Action: chứa toàn bộ những xử lý cho các yêu cầu của người dùng
ActionForm: đi kèm với thẻ <action> trong file struts-config.xml, nó quản lý toàn
bộ các dữ liệu được submit lên từ phía người dùng và có thể thực hiện validate các dữ liệu đó
Trang JSP: được sử dụng để trả về trang HTML để thể hiện kết quả đã được xử lý cho người dùng
1.5 Các file cấu hình cần thiết để xây dựng một ứng dụng Struts
Web.xml: file này chứa toàn bộ các cấu hình của ActionServlet, các sự ánh xạ của các yêu cầu từ phía người dùng đến ActionSevlet và Struts Tag Library Definitions (TLDs)
Struts-config.xml: file này chứa tất cả các thông tin cấu hình cho một ứng dụng xây dựng dựa trên Struts
ApplicationResources.propreties: file này trung tâm chứa các nội dung tĩnh được
sử dụng trong toàn bộ ứng dụng của Struts Nó cho phép các nhà phát triển dễ dàng thay đổi nội dung các text và các nội dung dùng chung sử dụng trong ứng dụng
Trang 14Các thư viện thẻ Struts để xây dựng các thành phần trình diễn trong một ứng dụng:
+ <template>: cung cấp cho nhà phát triển ứng dụng một tập các thẻ JSP để chia nhỏ giao diện người dùng thành các thành phần có thể dễ dàng tháo lắp
+ <bean>: cung cấp cho nhà phát triển ứng dụng một tập các thẻ JSP để quản lý đầu ra từ một JavaBean
+ <logic>: có thể được sử dụng để ứng dụng các điều kiện logic trong một trang JSP
+ <html>: có thể sử dụng để tạo ra các thành phần form
1.6 Ƣu điểm của Struts (so với MVC không sử dụng Struts)
Struts 2 được xây dựng và phát triển dựa trên nền tảng mô hình MVC nên nó thừa hưởng được đầy đủ các ưu điểm mà mô hình MVC đem lại
Dễ dàng tùy chỉnh (customize) chu kỳ xử lý (request lifecycles ) cho từng action
Tự động chuyển đổi kiểu dữ liệu chuỗi truyền thống trong tham số request parameter thành các đối tượng lớp dữ liệu java => tiết kiệm được thời gian và công sức cho các lập trình viên
Cung cấp các thẻ tag,các themes và templates giúp cho việc làm giao diện GUI trở nên dễ dàng,nhanh lẹ và tăng tính tái sử dụng
Tính mở rộng (Extensibility) cao thông qua việc hỗ trợ các plug-in
Hỗ trợ portal
Hỗ trợ AJAX
Cấu hình được tập trung dựa vào file:
Thay vì viết hàng loạt những thông tin vào chương trình java, hầu hết những giá trị Struts được thể hiện trong file xml và file property Phương pháp này cho phép người lập trình Web và Java chỉ chú tâm vào phần công việc cụ thể của họ cài đặt business logic, hiển thị những giá trị cụ thể cho clients, etc) mà không cần quan tâm về tổng thể hệ thống
1.7 ƣợc điểm của Struts
Để sử dụng MVC với chuẩn RequestDispatcher, ta cần nghiên cứu sâu với chuẩn JSP và Servlet APIs Để sử dụng MVC với Struts, ta còn phải hiểu rõ cả framework
Trang 15rộng lớn và phức tạp, nó tương tự như việc tìm hiểu cả cái cốt lõi của hệ thống Điều bất lợi này đặc biệt đáng kể với những dự án nhỏ, những dự án ít có thời gian để thực hiện, và những lập trình viên có ít kinh nghiệm; ta mất rất nhiều thời gian trong việc nghiên cứu Struts khi thực hiện đề án
Ít có tài liệu hỗ trợ: So sánh với chuẩn servlet và JSP APIs, Struts có ít tài liệu hỗ trợ hơn nhiều
Less transparent: Với những ứng dụng Struts, có nhiều lỗi bên dưới hơn những ứng dụng Web dựa trên ngôn ngữ Java bình thường Vì thế ứng dụng Struts:
+ Khó tìm hiểu
+ Khó chuẩn hóa và đánh giá
Trang 17TenKhoa nvarchar(MAX) Tên khóa
vd: K52, K53, K54,
Trang 18Vd: 52K2, 52K3, …
học nào vd: Khóa K52 có lớp 52K1,52K2, 52K3,
HoTen nvarchar(MAX) Họ tên DiaChi nvarchar(MAX) Địa chỉ
MaDN nvarchar(MAX) Mã đăng nhập (tài khoản):
không được trùng nhau (là mã số sinh viên) MatKhau nvarchar(MAX) Mật khẩu
nào?
Có thể NULL nếu người dùng là admin (xác định bởi trường LoaiND)
0: đăng xuất 1: đang đăng nhập
0: sinh viên 1: admin- quản trị
Trang 192.3.2.4 Bảng giảng viên
GiangVien
dùng để lưu thông
tin các giảng viên
MaDD nvarchar(MAX) Mã giảng viên HoTen nvarchar(MAX) Họ và tên giảng viên
0: tự chọn 1: bắt buộc
0: không mở 1: mở
2.3.2.6 Bảng giảng dạy
0: không mở 1: mở
Trang 202.3.2.7 Bảng phiếu khảo sát
Nhằm để biết được sẽ khảo sát cho giáo viên nào
Nhằm để biết được sẽ khảo sát cho khóa học nào
Nhằm để biết được sẽ khảo sát cho : môn học nào, giáo viên nào, học kỳ và niên khóa nào
ThoiGianDang datetime Thời gian đăng
0: không cho hiển thị 1: cho phép hiển thi
Trang 21HocKy int Học kỳ
Giá trị: 1->3(có thể có học
kỳ hè)
nienKhoa nvarchar(MAX) Năm học
2.3.2.8 Bảng loại phiếu
Ten nvarchar(MAX) Tên loại phiếu khảo sát
(Giảng viên, môn học, khóa học, …)
MaDG nvarchar(MAX) Mã khảo sát để biết nội dung
này thuộc Phiếu khảo sát nào
Trang 222.3.2.10 Bảng chi tiết nội dung
tiết này thuộc nội dung nào MoTa nvarchar(MAX) Tiêu đề - mô tả chi tiết
0: radio 1: checkbox 2: textarea Mục đích là để xác định sẽ lưu những gì vào nội dung kết quả (KetQuaDG của bảng ChiTietKetQua)
2.3.2.11 Bảng nội dung con
Mỗi 1 ô vuông tưng ứng 1 dòng nội dung con trong bảng NoiDungCon
Và thông qua MaCT để biết được nó thuộc dòng ChiTietNoiDung nào
Trang 23Tên bảng rường Kiểu dữ liệu Mô tả
NoiDungCon
Tương ứng các
thành phần (cột,
dòng) của 1 chi
tiết nội dung
xác định xem nội dung con này thuộc nội dung(mục) nào trong phiếu khảo sát TieuDe nvarchar(MAX) Tiêu đề nội dung con
ThoiGian datetime Thời gian gửi phiếu kết quả
2.3.2.13 Bảng chi tiết kết quả
chi tiết nào được khảo sát
Từ mã này ta có thể lấy
được thông tin Nội dung
được khảo sát KetQuaDG nvarchar(MAX) Nội dung khảo sát của người
dùng
Trang 24người nào gửi TieuDe nvarchar(MAX) Tiêu đề NoiDung nvarchar(MAX) Nội dung góp ý ThoiGian datetime Thời gian gửi
của sinh viên
học phần
phiếu của người nào
2.3.2.16 Bảng chi tiết đăng ký ọc phần
môn học được đăng ký
Xác định chi tiết này là của phiếu nào
NgayGio datetime Ngày giờ đăng ký
hay không
Trang 252.4 Sơ đồ chức năng ệ thống (Use Case)
Đây là các sơ đồ use case về việc xây dựng 1 wesite khảo sát chất lượng dạy và học online, nó được dùng để mô tả chức năng của hệ thống và tương tác giữa chúng với người dùng:
2.4.1 Sơ đồ tổng thể
Trang 262.4.2 Sơ đồ từng chức năng
2.4.2.1 Quản lý gười dùng
2.4.2.2 Quản lý Khóa học
Trang 272.4.2.3 Quản lý Giảng viên
2.4.2.4 Quản lý Môn học
Trang 282.4.2.5 Quản lý Lớp học
2.4.2.6 Quản lý Giảng dạy
Trang 292.4.2.7 Quản lý Loại phiếu
2.4.2.8 Quản lý Phiếu
Trang 302.4.2.9 Quản lý Kết quả
2.4.2.10 Quản lý Góp ý
2.4.2.11 y đổi thông tin cá nhân
Trang 312.5 Thiết kế Giao diện - Mô tả chức năng
2.5.1 Đăng n ập
Screen Đăng nhập
Description Đây là chức năng giúp người dùng có quyền truy cập vào hệ thống khi
đã có một tài khoản Sau khi đăng nhập mới có thể sử dụng chức năng
Screen
Access
Người dùng truy cập vào trang web
Screen Content
Tài khoản
TextBox-String(MAX)
Lấy thông tin dữ liệu UserName từ bàn phím Đây là trường bắt buộc Nếu không nhập sẽ xuất lỗi :
“Error! Tài khoản k ông đƣợc để trống”
Mật khẩu
TextBox-String(MAX)
Lấy thông tin dữ liệu password từ bàn phím Đây là trường bắt buộc
Nếu không nhập sẽ xuất lỗi :
“Error! Mật khẩu không hợp lệ”
Screen Actions
Trang 32Quay lại trang đăng nhập
và thông báo lỗi
“Error! Sai tài khoản hoặc mật khẩu”
2.5.2 Quản lý gười dùng
2.5.2.1 Danh sách
Screen Quản lý người dùng – Xem danh sách
Description Hiển thị thông tin của tất cả người dùng trong cơ sở dữ liệu
Trang 33Thông tin Label - String
(MAX)
NguoiDung.HoTen NguoiDung.NgaySinh NguoiDung.Email NguoiDung.DiaChi NguoiDung.MaDN NguoiDung.SDT NguoiDung.LoaiND
+Họ tên +Ngày sinh +Email +Địa chỉ +Mã đăng nhập +Số điện thoại +Loại người dùng Tìm kiếm Texbox
String(MAX)
Dùng để gõ nội dung tìm kiếm
thông tin người dùng tại dòng hiện tại
Nút chuyển
trang
sang trang hiện thị kết quả
Screen Actions
Action
Name
Tìm kiếm Tìm kiếm các người dùng
thỏa mãn một tiêu chí nào
đó
Hiện thị danh sách các kết quả tìm kiếm được
Giữ nguyên danh sách như trước khi chưa tìm kiếm Cập nhật Nếu người dùng nhấn vào
update icon thì hệ thống sẽ chuyển sang trang cập nhật
Chuyển sang màn hình cập nhật thông tin
Xóa Khi nhấn delete icon tại
dòng nào thì hệ thống sẽ hỏi “Bạn có chắc muốn xóa không?”
Hiển thị hộp thoại thông báo xác thực xóa
Trang 34
2.5.2.2 m gười dùng mới
Screen Thêm người dùng mới
Description Cho phép người quản trị thêm mới một người dùng
Screen
Access
Quản lý người dùng -> Thêm người dùng mới
Screen Content
Trang 35Item Type Data Description
Tài khoản TextBox –
String (50)
Dữ liệu được nhập từ bàn phím
Sau khi đăng ký sẽ được lưu xuống NguoiDung.MaND trong cơ sở dữ liệu
Đây là trường bắt buộc
Nếu không nhập sẽ xuất lỗi
“Error! Tài khoản không đƣợc để trống”
Tài khoản đã tồn tại
“Error! Tài khoản đã tồn tại”
Nếu tài khoản ngắn hơn 6 và dài hơn 50
“Error!Tài khoản có độ dài ngắn nhất là 6, tối đ 50 ký tự”
Nếu tài khoản có ký tự đặc biệt
“Error! Tài Khoản không đƣợc chứa ký tự đặc biệt”
Mật khẩu TextBox–
String (50)
Dữ liệu được người dùng nhập từ bàn phím
Sau khi đăng ký sẽ được lưu xuống NguoiDung
Password trong cơ sở
dữ liệu
Đây là trường bắt buộc
Nếu không nhập sẽ xuất lỗi
“Error! Mật khẩu không đƣợc để trống”
Nếu mật khẩu ngắn hơn 6 và dài hơn 50
“Error! Mật khẩu có độ dài ngắn nhất là 6, tối đ 50 ký tự”
Nếu mật khẩu có ký tự đặc biệt
“Error!Mật khẩu k ông đƣợc chứa ký tự đặc biệt”
Nhập lại
mật khẩu
TextBox – String (50)
Dữ liệu được người dùng nhập từ bàn phím
Kiểm tra hợp lệ của mật khẩu
Trang 36phía trên thì sẽ xuất lỗi “Error! Xác nhận Mật khẩu không hợp lệ”
Số điện
thoại
TextBox – String (50)
Dữ liệu được người dùng nhập từ bàn phím
Sau khi đăng ký sẽ được lưu xuống NguoiDung.SDT trong cơ sở dữ liệu
Trường bắt buộc Sẽ bắt các lỗi
Nếu không nhập “Error! Điện thoại k ông đƣợc để trống”
Nếu số điện thoại không đúng định dạng thì sẽ xuất lỗi
“Error! Điện thoại phải là số”
Nếu số điện thoại có độ dài không nằm trong khoảng 10 và
Sau khi đăng ký sẽ được lưu xuống NguoiDung.NgaySinh trong cơ sở dữ liệu
Trường bắt buộc Sẽ bắt các lỗi
Nếu không nhập “Error! Birth
k ông đƣợc để trống”
Nếu ngày sinh không đúng định
dạng thì sẽ xuất lỗi “Error! Birt s i đ nh dạng yyyy-mm- dd”
Email TextBox –
String (50)
Dữ liệu được người dùng nhập từ bàn phím
Sau khi đăng ký sẽ được lưu xuống NguoiDung.Email trong cơ sở dữ liệu
Trường bắt buộc Sẽ bắt các lỗi
Nếu không nhập “Error!
Em il k ông đƣợc để trống”
Nếu Email không đúng định
dạng thì sẽ xuất lỗi “Error!
Em il s i đ nh dạng _@_”
Nếu dài hơn 50 ký tự
“Error! Em il k ông đƣợc dài ơn 50 ký tự”
Họ tên TextBox –
String (50)
Dữ liệu được người dùng nhập từ bàn
Đây là trường bắt buộc
Nếu không nhập sẽ xuất lỗi
Trang 37phím Sau khi đăng ký sẽ được lưu xuống NguoiDung.HoTen trong cơ sở dữ liệu
“Error! Họ tên k ông đƣợc để trống”
Nếu dài hơn 50 ký tự
“Error! ọ tên k ông đƣợc dài ơn 50 ký tự”
Nếu họ tên có ký tự đặc biệt
“Error!Họ tên k ông đƣợc chứa ký tự đặc biệt”
Địa chỉ TextBox –
String (500)
Dữ liệu được người dùng nhập từ bàn phím
Sau khi đăng ký sẽ được lưu xuống NguoiDung.DiaChi trong cơ sở dữ liệu
Đây là trường bắt buộc
Nếu không nhập sẽ xuất lỗi
“Error! Đ a chỉ k ông đƣợc
để trống”
Nếu dài hơn 500 ký tự
“Error! Đ a chỉ k ông đƣợc dài ơn 500 ký tự”
Lớp ComboBox Dữ liệu được lấy từ
danh sách lớp từ bảng Lớp với label là Lop.TenLop
Trường này là không bắt buộc
Admin CheckBox Dữ liệu được người
dùng check Sau khi đăng ký sẽ được lưu xuống NguoiDung.Locked trong cơ sở dữ liệu
Trang 38Action
Name
Description Success Failure
Thêm mới Dữ liệu sẽ được thêm
vào bảng NguoiDung trong cơ sở dữ liệu
Trở về màn hình danh mục người dùng
Hiện thị lỗi dưới mỗi trường nếu người dùng nhập sai thông tin hay định dạng
2.5.2.3 Cập nhật t ông tin gười dùng
Screen Cập nhật thông tin người dùng
Description Cho phép người quản trị cập nhật thông tin người dùng
Trang 39Số điện
thoại
TextBox – String (50)
Dữ liệu được người dùng nhập từ bàn phím
Sau khi đăng ký sẽ được lưu xuống
Nếu số điện thoại không đúng định dạng thì sẽ xuất lỗi
“Error! Điện thoại phải là số”
Nếu số điện thoại có độ dài không nằm trong khoảng 10
Đây là trường bắt buộc
Nếu Email không đúng định
dạng thì sẽ xuất lỗi “Error!
Em il s i đ nh dạng _@_”
Nếu dài hơn 50 ký tự
Trang 40Đây là trường bắt buộc
Nếu không nhập sẽ xuất lỗi
“Error! Họ tên k ông đƣợc
để trống”
Nếu dài hơn 50 ký tự
“Error! ọ tên k ông đƣợc dài ơn 50 ký tự”
Nếu họ tên có ký tự đặc biệt
“Error!Họ tên k ông đƣợc chứa ký tự đặc biệt”
Địa chỉ TextBox –
String (500)
Dữ liệu được người dùng nhập từ bàn phím
Sau khi đăng ký sẽ được lưu xuống
NguoiDung.DiaChi trong
cơ sở dữ liệu
Đây là trường bắt buộc
Nếu không nhập sẽ xuất lỗi
“Error! Đ a chỉ k ông đƣợc
để trống”
Nếu dài hơn 500 ký tự
“Error! Đ a chỉ không đƣợc dài ơn 500 ký tự”
Lớp ComboBox Dữ liệu được lấy từ danh
sách lớp từ bảng Lớp với label là Lop.TenLop
Trường này là không bắt buộc
Admin CheckBox Dữ liệu được người dùng
check Sau khi đăng ký sẽ được lưu xuống
NguoiDung.Locked trong
cơ sở dữ liệu Thay đổi
mật khẩu
thay đổi mật khẩu người