LỜI GIỚI THIỆU Trong thời đại công nghệ ngày nay, việc quản lý và truy cập các tài liệu học tập không chỉ là một nhu cầu mà là một yếu tố quyết định đối với sự thành công của người học t
Trang 1Table of Contents
LỜI GIỚI THIỆU 2
CHƯƠNG 1 GIỚI THIỆU 5
1.1 Các công nghệ sử dụng trong website 5
CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ DỮ LIỆU 8
2.6.Mô tả chi tiết các chức năng 13
CHƯƠNG 4 TỔNG KẾT VÀ HƯỚNG PHÁT TRIỂN 22
Trang 2LỜI GIỚI THIỆU
Trong thời đại công nghệ ngày nay, việc quản lý và truy cập các tài liệu học tập không chỉ là một nhu cầu mà là một yếu tố quyết định đối với sự thành công của người học trong quá trình học tập Cùng với sự phát triển không ngừng của công nghệ thông tin, Hệ thống Quản lý Tài liệu Học tập (LMM) được ra đời như một giải pháp toàn diện, nhằm mang lại trải nghiệm học tập tối ưu và hiệu quả cho người học
LMM không chỉ đơn thuần là một ứng dụng, mà nó còn là một hệ thống được thiết kế một cách tỉ mỉ và linh hoạt để đáp ứng mọi nhu cầu của người học trong việc truy cập, quản lý và chia sẻ tài liệu học tập Với giao diện thân thiện và dễ sử dụng, người học có thể dễ dàng tìm kiếm những tài liệu liên quan đến các môn học trong chương trình học của mình, từ sách giáo trình đến bài giảng và tài liệu tham khảo
Không chỉ giúp người học tiết kiệm thời gian trong việc tìm kiếm thông tin, LMM còn mở ra cơ hội cho sự tương tác và hợp tác giữa các thành viên trong cộng đồng học tập Người học có thể dễ dàng chia sẻ những tài liệu hữu ích mà họ đã tìm thấy, đồng thời tham gia vào các nhóm học tập để trao đổi kiến thức và kinh nghiệm học tập
Tóm lại, LMM không chỉ là một công cụ hữu ích mà còn là một người bạn đồng hành đáng tin cậy của người học trong hành trình chinh phục tri thức và vươn tới thành công trong học tập và sự nghiệp của họ
Trang 3LỜI CẢM ƠN
Trên thực tế không có sự thành công nào mà không gắn liền với những sự hỗ trợ, giúp đỡ dù ít hay nhiều, dù trực tiếp hay gián tiếp của người khác Trong suốt thời gian từ khi bắt đầu học tập đến nay, chúng em đã nhận được rất nhiều sự quan tâm, giúp đỡ của quý Thầy Cô và bạn bè Với lòng biết ơn sâu sắc nhất, chúng em xin gửi đến quý thầy cô ở khoa Điện - Điên tử trường đại học Mở Hà Nội đã cùng với tri thức và 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 Và đặc biệt, trong học kỳ này, Khoa đã tổ chức cho chúng em được tiếp cận với môn học mà theo chúng em là rất hữu ích đối với sinh viên ngành tin học cũng như tất cả các sinh viên thuộc các chuyên ngành điện tử khác
Chúng em xin chân thành cảm ơn thầy Từ Viết Hoàng đã tận tâm hướng dẫn chúng em qua từng buổi học trên lớp cũng như những buổi nói chuyện, thảo luận về những công việc chúng em cần làm Nếu không có những lời hướng dẫn, dạy bảo của thầy thì em nghĩ môn học này của chúng em rất khó có thể hoàn thiện được Một lần nữa, chúng em xin chân thành cảm ơn thầy Bài thu hoạch được thực hiện với kiến thức và thời gian có hạn và còn nhiều bỡ ngỡ Do vậy, không tránh khỏi những thiếu sót là điều chắc chắn, chúng em rất mong nhận được những ý kiến đóng góp quý báu của thầy cô và để kiến thức của chúng em trong lĩnh vực này được hoàn thiện hơn
Lời Cảm Ơn GVHD : thầy Từ Viết Hoàng, chúng em xin kính chúc quý Thầy Cô trong khoa Điện - Điên tử 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 là truyền đạt kiến thức cho thế hệ mai sau
Trang 4NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Trang 5CHƯƠNG 1 GIỚI THIỆU
1.1 Các công nghệ sử dụng trong website 1.1.1 JavaScript
JavaScript là một ngôn ngữ lập trình mạnh mẽ và phổ biến có thể thay đổi nội dung, thuộc tính, kiểu dáng HTML và nhiều hơn thế JavaScript được phát minh bởi Brendan Eich vào năm 1995 và trở thành tiêu chuẩn ECMA vào năm 1997 JavaScript có thể chấp nhận cả dấu ngoặc kép và dấu ngoặc đơn JavaScript và Java là hai ngôn ngữ hoàn toàn khác nhau, cả về khái niệm và thiết kế
1.1.2 Node.js
Node.js là một môi trường chạy mã JavaScript phía máy chủ, được xây dựng trên nền tảng V8 JavaScript engine của Google Chrome Node.js đã thay đổi cách chúng ta xây dựng các ứng dụng web bằng cách mang JavaScript từ phía máy khách lên máy chủ, cho phép chúng ta xây dựng các ứng dụng mạnh mẽ và hiệu suất cao với một ngôn ngữ duy nhất trên cả phía máy khách và máy chủ Node.js sử dụng mô hình lập trình bất đồng bộ, không chặn, giúp nó xử lý hiệu quả hàng ngàn kết nối đồng thời mà không cần tạo ra một luồng mới cho mỗi kết nối Điều này giúp Node.js rất phù hợp cho việc xây dựng các ứng dụng web thời gian thực, như các trò chơi trực tuyến, chat, hoặc các ứng dụng IoT
Node.js cũng có một hệ sinh thái mạnh mẽ với hàng ngàn thư viện và công cụ được cung cấp thông qua npm (Node Package Manager), giúp giảm thiểu thời gian và công sức cần thiết để xây dựng các ứng dụng phức tạp
Tóm lại, Node.js là một công nghệ mạnh mẽ và linh hoạt, cho phép các nhà phát triển xây dựng các ứng dụng web hiện đại, hiệu suất cao và dễ mở rộng Nó đã trở thành một công cụ không thể thiếu trong bộ công cụ của nhiều nhà phát triển web hiện đại
1.1.3 Express
Express là một framework ứng dụng web cho Node.js, cho phép bạn tạo ra các API và máy chủ web mạnh mẽ một cách dễ dàng và sạch sẽ Nó là một gói nhẹ nhàng không che khuất các tính năng cốt lõi của Node.js Express giúp tổ chức chức năng của ứng dụng của bạn với middleware và định tuyến; nó thêm các tiện ích hữu ích vào các đối tượng HTTP của Node.js; nó tạo điều kiện cho việc render
Trang 6các đối tượng HTTP động Express là một framework web phổ biến, được viết bằng JavaScript và được lưu trữ trong môi trường runtime Node.js
1.1.4 EJS
EJS, hay Embedded JavaScript Templating, là một thư viện mạnh mẽ
giúp tạo ra các trang HTML động sử dụng JavaScript EJS là một trong những template engine phổ biến nhất được sử dụng trong Node.js và Express
EJS cho phép bạn lấy dữ liệu từ JavaScript và chèn nó vào HTML Điều này rất hữu ích khi bạn muốn tạo ra các trang web động mà nội dung của chúng phụ thuộc vào dữ liệu từ máy chủ
Để sử dụng EJS, bạn cần cài đặt nó thông qua npm, sau đó thiết lập Express để sử dụng EJS như là template engine Khi đã hoàn tất, bạn có thể tạo các file EJS trong thư mục views của ứng dụng Express của bạn Mỗi file EJS sẽ tương ứng với một trang web, và bạn có thể sử dụng JavaScript để chèn dữ liệu vào HTML
EJS cung cấp một số tính năng mạnh mẽ như hỗ trợ partials, giúp bạn tái sử dụng các phần của trang web (như header, footer) trên nhiều trang Ngoài ra, EJS còn cho phép bạn sử dụng các control flow statement như if, else, và for ngay trong HTML
Tóm lại, EJS là một công cụ mạnh mẽ giúp bạn tạo ra các trang web động trong Node.js và Express Với EJS, bạn có thể tận dụng toàn bộ sức mạnh của JavaScript để tạo ra các trang web phong phú và tương tác
1.1.5 Mô hình MVC
MVC, viết tắt của Model-View-Controller, là một mẫu kiến trúc phần mềm được sử dụng trong kỹ thuật phần mềm để tạo lập giao diện người dùng trên máy tính MVC chia ứng dụng thành ba phần (layer) riêng biệt, độc lập và có thể tương tác được với nhau
Model là bộ phận có chức năng lưu trữ toàn bộ dữ liệu của ứng dụng và là cầu nối giữa 2 thành phần bên dưới là View và Controller Nếu trạng thái của dữ liệu này thay đổi thì Model thường sẽ thông báo cho View (để màn hình có thể thay đổi khi cần) và đôi khi là Controller (nếu cần logic khác để cập nhật View) View là phần giao diện (theme) dành cho người sử dụng View là phương tiện hiển thị các đối tượng trong một ứng dụng
Trang 7Controller là bộ phận có nhiệm vụ xử lý các yêu cầu người dùng đưa đến thông qua View Một controller bao gồm cả Model lẫn View Nó nhận input và thực hiện các update tương ứng
Mô hình MVC thường được dùng để phát triển giao diện người dùng Nó cung cấp các thành phần cơ bản để thiết kế một chương trình cho máy tính hoặc điện thoại di động, cũng như là các ứng dụng web
1.1.6 MySQL
MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL) để quản lý và thao tác dữ liệu MySQL là một hệ quản trị cơ sở dữ liệu mã nguồn mở miễn phí, phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng
MySQL được phát triển từ năm 1994 bởi Công ty Thụy Điển MySQL AB, nhưng năm 2008 MySQL đã được Công ty công nghệ Mỹ Sun Microsystem mua lại Chưa dừng lại ở đó, vào năm 2010 MySQL lại tiếp tục bị thâu tóm bởi Oracle mua Sun Microsystems cho đến bây giờ vẫn thuộc quyền sở hữu của gã khổng lồ này
MySQL nổi tiếng với tốc độ, độ tin cậy và tính dễ sử dụng, khiến nó trở thành lựa chọn hàng đầu cho các nhà phát triển và doanh nghiệp trên toàn thế giới Nó hoạt động trên nhiều hệ điều hành và cung cấp một hệ thống lớn các hàm tiện ích rất mạnh
MySQL có khả năng xử lý nhiều dữ liệu và có thể mở rộng khi cần thiết Nhờ vào MySQL, bạn có thể tăng tốc độ và tiết kiệm chi phí Tuy nhiên, MySQL cũng có nhược điểm là dung lượng bị hạn chế, nhiều trường hợp phải chia việc tải dữ liệu hoặc phải tạo cache MySQL
Trang 8CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ DỮ LIỆU 1 User story
1.1 Đặt vấn đề:
Trong ngành giáo dục ngày nay, việc quản lý và phân phối tài liệu học tập là một nhiệm vụ không nhỏ Các cơ sở giáo dục và học viên cần một nền tảng đơn giản để phân phối tài liệu học tập và kết hợp sự cộng tác và phát triển trong cộng đồng học tập
1.2 Giải pháp đề xuất
LMM được xây dựng như một ứng dụng web, tận dụng công nghệ hiện đại để cung cấp một nền tảng mạnh mẽ, linh hoạt và dễ sử dụng Đối với người học (Student), LMM sẽ cung cấp khả năng tìm kiếm và truy cập vào các giáo trình, tài liệu học tập một cách nhanh chóng và dễ dàng
Đối với giáo viên (Teacher), LMM sẽ cung cấp khả năng tìm kiếm và truy cập vào các chương trình giảng dạy, giáo trình, tài liệu giảng dạy Đối với nhân viên của Phòng Đào tạo (AD), LMM sẽ cung cấp khả năng thiết kế và cập nhật giáo trình
Đối với quản trị hệ thống, LMM sẽ cung cấp khả năng quản lý tài khoản/người dùng hệ thống
LMM được xây dựng với sự linh hoạt để có thể mở rộng và thích ứng với các yêu cầu thay đổi trong tương lai
Trang 92 Phân tích hệ thống
2.1 Cấu trúc thư mục của hệ thống
2.2 Sơ đồ chức năng
Trang 102.3 Mô tả màn hình
Trang 112.4 Chức năng không có màn hình
2.5 Mô hình quan hệ
Trang 132.6 Mô tả chi tiết các chức năng 2.6.1 Common
Tính năng cho phép những người đã có tài khoản trong hệ thống LMM thực hiện đăng nhập, đăng xuất
Sơ đồ luồng dữ liệu:
Sơ đồ Use Case:
Thiết kế màn hình Login:
Trang 14Khi người dùng nhập email và mật khẩu, hệ thống sẽ xác thực thông tin này trước khi cung cấp quyền truy cập cho người dùng Nếu thông tin không chính xác, hệ thống sẽ yêu cầu người dùng cung cấp thông tin chính xác để tiếp tục đăng nhập
2.6.2 Account Management Sơ đồ luồng dữ liệu:
Sơ đồ Use Case:
Chọn “Add new user” Hiển thị form tạo tài khoản mới Nhập thông tin cho tài khoản mới,
bao gồm mật khẩu, email, và vai trò,… Sau đó, chọn “Lưu”
Xác nhận thông tin và tạo tài khoản mới Hiển thị cập nhật danh sách người dùng
Trang 15Chọn “Edit” để chỉnh sửa thông tin chương trình học hoặc chọn “Xóa” để xóa tài khoản
Xác nhận hành động của người dùng và cập nhật thông tin người dùng hoặc xóa người dùng khỏi hệ thống
a) Xem danh sách người dùng Thiết kế màn hình:
Chi tiết chức năng:
Người dùng chọn liên kết Quản lý tài khoản
Hệ thống truy xuất và hiển thị dữ liệu trong bảng thông tin Nếu người dùng chọn mục cần lọc hoặc nhập thông tin cần tìm kiếm, hệ thống sẽ truy xuất và hiển thị dữ liệu trong bảng thông tin Nếu User click vào link Add new, hệ thống sẽ chuyển sang trang Add new
Nếu Người dùng nhấp vào liên kết Chỉnh sửa, hệ thống sẽ chuyển sang trang Chỉnh sửa
Nếu người dùng nhấp vào liên kết Xóa, hệ thống sẽ yêu cầu xác nhận và xóa thông tin của hàng đã chọn trong cơ sở dữ liệu b) Thêm người dùng
Trang 16c) Chỉnh sửa thông tin người dùng
2.6.3 Curriculum Management
AD quản lý Chương trình giảng dạy của các ngành học và quản lý các môn học hoặc tổ hợp môn học trong Chương trình giảng dạy Cho phép người dùng xem thông tin hoặc sử dụng để phục vụ cho việc học của mình
Sơ đồ Use Case:
Trang 17
Nhập thông tin cho chương trình học mới, bao gồm tên chương Chọn “Edit” để chỉnh sửa thông tin
chương trình học hoặc chọn “Xóa” để xóa chương trình học
Xác nhận hành động của người dùng và cập nhật thông tin chương trình học hoặc xóa chương trình
Trang 18c) Cập nhập thông tin Curriculum
1.1.1 Subject Management Biểu đồ luồng dữ liệu:
Sơ đồ Use Case
Trang 19Chọn “Add Subject” Hiển thị form tạo môn học mới Nhập thông tin cho môn học mới,
bao gồm tên môn, mô tả,… Sau đó, chọn “Lưu”
Xác nhận thông tin và tạo môn học mới Hiển thị cập nhật danh sách môn học
Chọn “Edit” để chỉnh sửa thông tin môn học hoặc chọn “Xóa” để xóa môn học
Xác nhận hành động của người dùng và cập nhật thông tin môn học hoặc xóa môn học khỏi hệ thống
a) Tạo mới môn học
b) Xem danh sách môn học
Trang 20c) Chỉnh sửa thông tin môn học
d) Đăng ký môn học
1.1.2 Material Management Biểu đồ luồng dữ liệu:
Trang 21Sơ đồ Use Case
Chọn “Add Material” Hiển thị form tạo tài liệu mới Nhập thông tin cho tài liệu mới,
bao gồm tên, mô tả,… Sau đó, chọn “Lưu”
Xác nhận thông tin và tạo tài liệu mới Hiển thị cập nhật danh sách tài liệu
Chọn “Delete” để xóa tài liệu Xác nhận hành động của người dùng và xóa tài liệu khỏi hệ thống a) Thêm mới tài liệu
Trang 22b) Xem danh sách tài liệu
CHƯƠNG 4 TỔNG KẾT VÀ HƯỚNG PHÁT TRIỂN
4.1Kết quả đạt được
Hệ thống quản lý quản bán hàng trà sữa sau thời gian xây dựng đến nay về cơ bản đã hoàn thiện các chức năng cần thiết đáp ứng nhu cầu người dùng:
Đối với nhân viên
Có thể thực hiện các chức bán hàng, thanh toán, hủy thanh toán, xuất phiếu hóa đơn
Các chức năng cơ bản như đăng nhập, đăng xuất Đối với người quản lý
Quản lý giao diện
Quản lý nhập liệu, cập nhật các thông tin dữ liệu
Quản lý thống kê, quản lý cơ sở dữ liệu… và các chức năng cơ bản của trang quản lý
Vận dụng hầu hết các kiến thức đã học vào trong đồ án Khả năng kết hợp làm nhóm được phát huy hiệu quả 4.2Phần hạn chế của đề tài
Do thời gian với kiến thức, kinh nghiệm còn giới hạn nên đồ án của nhóm chúng em không tránh khỏi những thiếu sót
Đề tài đã hoàn thành các chức năng căn bản, tuy nhiên bên cạnh đó vẫn
Trang 23Hệ thống quản lý có tính chuyên nghiệp chưa cao
Trong quá trình xây dựng hệ thống quản lý còn nhiều sai sót phải chỉnh sửa nhiều lần
Thiếu các phương thức thanh toán 4.3 Hướng phát triển
Xây dựng một hệ thống xử lý dữ liệu với các chức năng hoàn thiện, đầy đủ hơn và phát triển thêm một số chức năng, dạng thống kê mới
Tối ưu hóa các chức năng Hỗ trợ thao tác nhanh hơn
Hỗ trợ các chức năng thanh toán theo nhiều phương thức hơn
Giao diện sinh động hơn, tích hợp thêm nhiều chức năng tiện ích khác Khả năng kháng lỗi, bảo mật tốt hơn