1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đồ án thiết kế website phục vụ hoạt động giảng dạy và nghiên cứu cho khoa điện tử

72 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết Kế Website Phục Vụ Hoạt Động Giảng Dạy Và Nghiên Cứu Cho Khoa Điện Tử
Tác giả Nguyễn Xuân Hải, Hoàng Văn Sơn, Nguyễn Trọng Bình, Đỗ Đức Anh
Người hướng dẫn ThS. Nguyễn Văn Cường
Trường học Trường Đại Học Công Nghiệp Hà Nội
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 72
Dung lượng 662,08 KB

Cấu trúc

  • 1. LÝ DO LỰA CHỌN ĐỀ TÀI (5)
  • 2. MỤC TIÊU CỦA ĐỀ TÀI (6)
  • 3. ĐỐI TƯỢNG NGHIÊN CỨU (6)
  • 4. PHẠM VI NGHIÊN CỨU (6)
  • 5. PHƯƠNG PHÁP NGHIÊN CỨU (6)
  • 6. Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN CỦA ĐỒ ÁN (7)
  • 7. CẤU TRÚC CỦA BÁO CÁO ĐỒ ÁN TỐT NGHIỆP (7)
  • CHƯƠNG 1. TỔNG QUAN VỀ LẬP TRÌNH WEBSITE (7)
    • 1.1. GIỚI THIỆU CHUNG (7)
    • 1.2. PHƯƠNG PHÁP LẬP TRÌNH WEBSITE ......................................... 17 1.3. WEBSITE THỐNG KÊ KHỐI LƯỢNG GIẢNG DẠY VÀ CUNG (24)
    • 1.4. KẾT LUẬN CHƯƠNG 1 (32)
  • CHƯƠNG 2. THIẾT KẾ WEBSITE THỐNG KÊ GIẢNG DẠY (32)
    • 2.1. PHÂN TÍCH YÊU CẦU BÀI TOÁN (32)
    • 2.2. THIẾT KẾ Ý TƯỞNG (34)
    • 2.3. THIẾT KẾ CHI TIẾT (41)
    • 2.4. KẾT LUẬN CHƯƠNG 2 (53)
  • CHƯƠNG 3. THỬ NGHIỆM VÀ ĐÁNH GIÁ (53)
    • 3.1. VẬN HÀNH SẢN PHẨM (53)
    • 3.2. THỬ NGHIỆM VÀ KIỂM CHỨNG SẢN PHẨM (54)
    • 3.3. ĐÁNH GIÁ SẢN PHẨM (57)
    • 3.4. ỨNG DỤNG CỦA SẢN PHẨM (58)
    • 3.5. TÁC ĐỘNG CỦA SẢN PHẨM THIẾT KẾ TỚI MÔI TRƯỜNG/KINH TẾ/ XÃ HỘI (59)
    • 3.6. KẾT LUẬN CHƯƠNG 3 (59)
  • KẾT LUẬN (60)
  • TÀI LIỆU THAM KHẢO (60)
    • 1.13. Backend (0)

Nội dung

Website danh mục đầu tư Các chuyên gia sáng tạo, nghệ sĩ, nhà thiết kế đồ họa, nhiếp ảnh gia, nhàvăn và các chuyên gia khác thường sử dụng trang Website danh mục đầu tư để8 Trang 15 We

LÝ DO LỰA CHỌN ĐỀ TÀI

Trong những năm gần đây, Đảng và Nhà nước đã chú trọng mở rộng và phát triển giáo dục, đặc biệt là giáo dục đại học Hệ thống giáo dục đại học ở Việt Nam đã có nhiều chuyển biến tích cực, nâng cao chất lượng đào tạo Tuy nhiên, giáo dục vẫn đối mặt với nhiều thách thức trong giảng dạy, quản lý và đảm bảo chất lượng đầu ra cho sinh viên Việc sử dụng website để hỗ trợ giảng dạy và nghiên cứu là giải pháp hiệu quả trong bối cảnh hiện nay.

Trường Đại học Công nghiệp Hà Nội tiên phong trong việc áp dụng chương trình kiểm định chất lượng đào tạo cho ngành phần mềm máy tính, nhằm nâng cao hiệu quả giảng dạy và quản lý sinh viên Khoa Điện tử đang triển khai kiểm định cho ngành Công nghệ Kỹ thuật Máy tính, tuy nhiên, nhiều công đoạn trong quá trình này vẫn thực hiện thủ công và tốn thời gian Để khắc phục hạn chế này, nhóm sinh viên đã chọn đề tài “Thiết kế Website phục vụ hoạt động giảng dạy và nghiên cứu cho Khoa Điện tử” làm đồ án tốt nghiệp chuyên ngành.

Kỹ thuật máy tính giúp triển khai thiết kế Website phục vụ giảng dạy và nghiên cứu, mang lại lợi ích cho giảng viên, nhân viên, giáo vụ, sinh viên và học viện trong việc quản lý và tra cứu thông tin hiệu quả.

MỤC TIÊU CỦA ĐỀ TÀI

• Thiết kế được Website hỗ trợ giảng viên thống kê khối lượng giảng dạy •

Giúp sinh viên tích luỹ được kiến thức về lập trình Website, quản lý cơ sở dữ liệu, quản trị tài khoản

Giúp sinh viên phát triển kỹ năng quan trọng như viết báo cáo, trình bày vấn đề kỹ thuật, làm việc nhóm, cùng với tinh thần phấn đấu và thái độ nghiêm túc trong học tập.

PHƯƠNG PHÁP NGHIÊN CỨU

Phương pháp thu thập thông tin từ giảng viên bao gồm việc tổng hợp và phân tích hoạt động giảng dạy cũng như nghiên cứu trong Khoa Điện tử, dựa trên các ghi chép của giảng viên.

• Phương pháp xử lý thông tin:

• Xây dựng ý tưởng và lập kế hoạch cụ thể để thiết kế Website ứng dụng

• Kiểm tra, chỉnh sửa, triển khai và hoàn thiện Website ứng dụng.

Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN CỦA ĐỒ ÁN

• Tính toán thời gian giảng dạy một cách hợp lý

• Điều chỉnh lịch giảng dạy để đáp ứng các yêu cầu của giảng viên tại trường Giá trị thực tiễn:

• Hỗ trợ giảng viên thống kê vào sổ kê giờ

• Xây dựng Website giúp giảng viên tìm kiếm 1 cách dễ dàng, khoa học và đảm bảo tính bảo mật.

CẤU TRÚC CỦA BÁO CÁO ĐỒ ÁN TỐT NGHIỆP

Báo cáo đồ án tốt nghiệp gồm ba phần chính và được tổ chức như sau: •

Chương 1: Trình bày khái quát chung về lập trình và thiết kế Website chuyên nghiệp

• Chương 2: Trình bày phân tích và thiết kế Website thống kê khối lượng giảng dạy

• Chương 3: Thực thi và đánh giá Website thống kê khối lượng giảng dạy đã thiết kế.

TỔNG QUAN VỀ LẬP TRÌNH WEBSITE

GIỚI THIỆU CHUNG

Lập trình website sử dụng các ngôn ngữ như Java, PHP, Python, Ruby và nhiều công nghệ khác có thể gặp phải nhiều thách thức khác nhau Một trong những thách thức chính là tối ưu hóa và kiểm thử để đảm bảo tất cả chức năng hoạt động hiệu quả trên nhiều nền tảng và trình duyệt khác nhau.

Tạo một website là cách hiệu quả để xây dựng sự hiện diện kỹ thuật số Theo Adobe, 38% người dùng sẽ ngừng tương tác với một trang web nếu nội dung hoặc bố cục không thu hút Hơn nữa, nghiên cứu của Stanford cho thấy đa số người tiêu dùng đánh giá độ tin cậy của một công ty dựa vào trang web của họ Hình 1.1 minh họa một website mang tên thư viện công cộng Westerville.

Trước khi bắt tay vào việc tạo dựng trang web cá nhân, lập trình viên cần xác định loại hình website mà họ muốn phát triển Dưới đây là danh sách những loại website phổ biến nhất hiện nay.

Trang Website thương mại điện tử

Thương mại điện tử là một mô hình kinh doanh hiệu quả cho việc bán sản phẩm trực tuyến, trong đó dropshipping cho phép người bán không cần lưu trữ hàng hóa Thay vào đó, họ đặt hàng từ nhà phân phối bên thứ ba và giao hàng trực tiếp đến tay khách hàng Mô hình này giúp tối ưu hóa quy trình quản lý kho và giảm thiểu rủi ro cho người bán.

Hình 1.2 Website thương mại điện tử

Mẫu trang web cửa hàng trực tuyến tích hợp các tính năng thương mại điện tử tùy chỉnh, bao gồm trang danh mục và thanh menu hiển thị thông tin doanh nghiệp Hơn nữa, hệ thống thanh toán an toàn được thiết lập để bảo vệ thông tin khách hàng khỏi các mối đe dọa từ tin tặc và vi phạm dữ liệu.

Một trang Website doanh nghiệp có thể giúp thiết lập sự hiện diện trực tuyến cho thương hiệu của doanh nghiệp Trang Website này có thể được tạo

Mục đích của việc giới thiệu công ty, sản phẩm và dịch vụ là để nâng cao nhận diện thương hiệu, đồng thời cung cấp thông tin liên lạc cho khách hàng và đối tác kinh doanh Hình 1.3 minh họa trang website kinh doanh bán hàng Tết, thể hiện sự chuyên nghiệp và thu hút khách hàng trong dịp lễ này.

Blog là nền tảng cho mọi người chia sẻ nội dung văn bản và hình ảnh về nhiều chủ đề khác nhau, đồng thời có thể kiếm tiền thông qua liên kết liên kết hoặc hợp tác với nhà quảng cáo Những loại blog phổ biến bao gồm blog du lịch, ẩm thực và lối sống Ngày nay, 86% doanh nghiệp sử dụng viết blog như một phần của chiến lược tiếp thị nội dung, nhằm thu hút khách hàng tiềm năng thông qua lưu lượng truy cập tự nhiên và chia sẻ trên mạng xã hội.

Trang Website danh mục đầu tư

Trang web danh mục đầu tư là một nền tảng cá nhân hoặc doanh nghiệp nhằm giới thiệu sản phẩm, dịch vụ, tác phẩm nghệ thuật, và các dự án đã thực hiện Nó thường bao gồm các phần như trang chủ, giới thiệu bản thân, danh mục sản phẩm hoặc dịch vụ, kỹ năng, hình ảnh, video, đánh giá của khách hàng và thông tin liên hệ Hình 1.5 minh họa trang web quản lý danh mục đầu tư chứng khoán WPRO STOCK.

Hình 1.5 Website danh mục đầu tư

Các chuyên gia sáng tạo như nghệ sĩ, nhà thiết kế đồ họa, nhiếp ảnh gia và nhà văn thường sử dụng trang web danh mục đầu tư để giới thiệu và trưng bày các tác phẩm của họ, thu hút khách hàng tiềm năng và xây dựng thương hiệu cá nhân.

Để thu hút nhà tuyển dụng hoặc khách hàng tiềm năng, việc hiển thị các tác phẩm của bạn và giới thiệu bản thân là rất quan trọng Những người này có thể dễ dàng truy cập trang của bạn để tìm hiểu về kỹ năng và kinh nghiệm của bạn.

Website này là công cụ hiệu quả để thể hiện tài năng, thu hút khách hàng mới và xây dựng thương hiệu cá nhân Bằng cách sử dụng mẫu danh mục đầu tư, cá nhân có thể làm nổi bật bản thân và các thành tích nghề nghiệp.

Trang web sự kiện là công cụ thiết yếu cho quản lý sự kiện, giúp tổ chức mọi khía cạnh như đăng ký, lời mời, quảng cáo, bán vé và theo dõi tham gia Sử dụng trang web này, người tổ chức có thể mở rộng khả năng tiếp cận sự kiện thông qua quảng cáo trên mạng xã hội và email marketing, đồng thời cung cấp thông tin chi tiết cho người tham gia tiềm năng Ngoài ra, trang web sự kiện còn hỗ trợ tổ chức sự kiện ảo, giúp tiếp cận đối tượng khán giả rộng lớn hơn.

Sử dụng mẫu trang Website sự kiện để tạo trang Website của riêng mình

Thêm sự kiện Wix sẽ giúp mở khóa tính năng trả lời trực tuyến và cung cấp trình tạo bản đồ chỗ ngồi cho khách mời của người tổ chức sự kiện.

Một trang web cá nhân là công cụ hiệu quả để xây dựng danh tiếng và quảng bá kỹ năng cho mục đích tìm việc Người dùng có thể chia sẻ thông tin về bản thân, kinh nghiệm làm việc, các dự án đã hoàn thành, cũng như kỹ năng chuyên môn và quá trình đào tạo Bên cạnh đó, trang web cá nhân còn giúp tiếp cận nhiều khách hàng tiềm năng và cơ hội việc làm mới.

Các trang web cá nhân giống như danh mục đầu tư nhưng thường ít yếu tố trực quan hơn, vì mục tiêu không nhất thiết phải trình bày công việc trong quá khứ Ví dụ, Hình 1.7 minh họa một website cá nhân.

Các trang Website cá nhân này tương tự như danh mục đầu tư nhưng

10 thường chứa ít yếu tố trực quan hơn, vì mục tiêu không nhất thiết phải hiển thị công việc trong quá khứ

PHƯƠNG PHÁP LẬP TRÌNH WEBSITE 17 1.3 WEBSITE THỐNG KÊ KHỐI LƯỢNG GIẢNG DẠY VÀ CUNG

Các thành phần để lập trình Website bao gồm [4]:

Ngôn ngữ lập trình là công cụ thiết yếu để viết mã cho website, với các ngôn ngữ phổ biến như HTML, CSS, JavaScript, PHP, Python, Ruby, Java và C#.

Framework là bộ công cụ hỗ trợ lập trình viên trong việc xây dựng Website nhanh chóng và dễ dàng Nó bao gồm các thư viện, tiện ích và mô hình đã được thiết kế sẵn, giúp tối ưu hóa quy trình phát triển.

Cơ sở dữ liệu là nơi lưu trữ thông tin về người dùng, nội dung website và các thông tin liên quan khác Trong lập trình website, các cơ sở dữ liệu phổ biến bao gồm MySQL và PostgreSQL.

MongoDB, Oracle và Microsoft SQL Server

Giao diện người dùng là khu vực mà người dùng tương tác trực tiếp với Website, bao gồm các thành phần thiết yếu như nút, form, menu, hình ảnh, video và các nội dung khác.

Website server là phần mềm hoạt động trên máy chủ, đóng vai trò kết nối giữa trình duyệt và các tài nguyên lưu trữ trên máy chủ Một số website server phổ biến hiện nay bao gồm Apache, Nginx và IIS.

1.2.1 Cơ sở dữ liệu (Database)

Cơ sở dữ liệu là hệ thống tổ chức và lưu trữ dữ liệu theo cấu trúc, giúp truy xuất và quản lý dữ liệu hiệu quả Dữ liệu có thể lưu trữ trên nhiều máy chủ và được truy cập qua phần mềm quản lý cơ sở dữ liệu (DBMS).

Có nhiều loại cơ sở dữ liệu khác nhau, bao gồm [5]:

Cơ sở dữ liệu quan hệ (Relational Database) là loại cơ sở dữ liệu phổ biến nhất, trong đó dữ liệu được tổ chức thành các bảng liên kết với nhau Các bảng này được kết nối thông qua các khóa chính và khóa ngoại, tạo thành một cấu trúc dữ liệu có tổ chức và dễ dàng truy xuất.

Cơ sở dữ liệu phi quan hệ (Non-Relational Database) là loại cơ sở dữ liệu không dựa vào các mối quan hệ giữa các bảng, mà lưu trữ dữ liệu dưới dạng tài liệu, đồ thị hoặc tập hợp.

• Cơ sở dữ liệu cục bộ (Local Database): được lưu trữ trên máy tính của người dùng và chỉ có thể được truy cập từ đó

Cơ sở dữ liệu trực tuyến (Online Database) được lưu trữ trên máy chủ và cho phép người dùng truy cập từ bất kỳ đâu qua Internet Một số hệ quản trị cơ sở dữ liệu phổ biến hiện nay bao gồm MySQL, Oracle, Microsoft SQL Server và MongoDB.

MongoDB là một cơ sở dữ liệu NoSQL hướng tài liệu, ra đời vào giữa những năm 2000, được thiết kế để lưu trữ dữ liệu khối lượng lớn Với lược đồ động, lập trình viên có thể tạo bản ghi mà không cần xác định cấu trúc trước, cho phép linh hoạt trong việc thay đổi cấu trúc của các bản ghi, bao gồm các trường, loại và giá trị của chúng.

20 được gọi là tài liệu bằng cách thêm các trường mới hoặc xóa các trường hiện có [6]

MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) phổ biến, được phát triển và duy trì bởi Tập đoàn Oracle, với mã nguồn mở theo giấy phép GNU GPL Hệ thống này giúp quản trị cơ sở dữ liệu trở nên dễ dàng và linh hoạt, cho phép lập trình viên xác định lược đồ cơ sở dữ liệu dựa trên yêu cầu cụ thể của họ MySQL cung cấp các quy tắc để quản lý mối quan hệ giữa các trường trong bảng, hỗ trợ tối ưu hóa quy trình phát triển ứng dụng.

Backend là phần mã hoạt động trên máy chủ, xử lý yêu cầu từ máy khách và có logic để trả về dữ liệu phù hợp Nó bao gồm cả cơ sở dữ liệu, nơi lưu trữ liên tục tất cả dữ liệu của ứng dụng Bài viết này sẽ tập trung vào phần cứng và phần mềm cần thiết phía máy chủ để thực hiện các chức năng này Hình 1.13 minh họa các thành phần cần thiết để xây dựng backend.

Back-end là tập hợp các công nghệ cần thiết để xử lý yêu cầu từ người dùng, tạo ra và gửi phản hồi cho khách hàng Các thành phần chính của back-end bao gồm cơ sở dữ liệu, máy chủ và ứng dụng.

• Máy chủ: Đây là máy tính nhận yêu cầu

• Ứng dụng: Đây là ứng dụng chạy trên máy chủ lắng nghe các yêu cầu, truy xuất thông tin từ cơ sở dữ liệu và gửi phản hồi

Kho dữ liệu là cơ sở dữ liệu được sử dụng để tổ chức và duy trì dữ liệu, đóng vai trò quan trọng trong việc xây dựng backend Để phát triển backend, một số mã thường được sử dụng, trong đó có PHP và Javascript PHP là ngôn ngữ kịch bản mã nguồn mở phía máy chủ được sử dụng rộng rãi, dễ học và sử dụng mạnh mẽ, giúp tạo mọi thứ từ các trang web đơn giản đến các ứng dụng phức tạp.

Website nhỏ và các ứng dụng cơ bản đến các hệ thống thương mại điện tử và hệ thống quản lý nội dung phức tạp

JavaScript (JS) là một trong những ngôn ngữ kịch bản phổ biến nhất trên thế giới, thường được sử dụng để phát triển các trang web động, ứng dụng web, thiết bị di động và trò chơi Để đơn giản hóa việc xây dựng backend, có nhiều framework hỗ trợ như Express.js và Laravel.

KẾT LUẬN CHƯƠNG 1

Chương 1 của đồ án đã phác họa tổng quan về một Website và cách để xây dựng nó, chương này đã giới thiệu về các công cụ, phương pháp và quy trình cần thiết để xây dựng một Website, đồng thời mô tả chung về chức năng và tính năng của Website Trong chương tiếp theo, đồ án sẽ đi sâu vào phân tích và xây dựng một Website cho “Thiết kế Website phục vụ hoạt động giảng dạy và nghiên cứu cho Khoa Điện tử”.

THIẾT KẾ WEBSITE THỐNG KÊ GIẢNG DẠY

PHÂN TÍCH YÊU CẦU BÀI TOÁN

Thiết kế được Website có các tính năng sau:

• Hỗ trợ giảng viên thống kê khối lượng giảng dạy, xem thông tin nghiên cứu khoa học

• Cho phép nhập, sửa đổi lịch giảng dạy

• Hiển thị thông tin về nghiên cứu của khoa Điện tử

• Tính năng đăng nhập và phân quyền cho người dùng

• Triển khai Website trên Internet

2.1.2 Điều kiện ràng buộc của thiết kế

• Thống kê khối lượng giảng dạy của Giảng viên trong Khoa Điện tử theo tháng

• Hỗ trợ nhập tập tin chứa thông tin thực hành theo tuần

• Yêu cầu thiết kế cho phép nhập, sửa lịch giảng dạy

• Yêu cầu thiết kế cho điền thông tin thực hành

• Yêu cầu thiết kế cho phép xem thông tin nghiên cứu

• Độ chính xác: yêu cầu chính xác tương đối về các dữ liệu được thống kê •

Thư viện để xây dựng backend: convert-excel-to-json, exceljs, express, mongoose

• Thư viện để xây dựng frontend: express-handlebars, bootstrap • Thời gian phản hồi của máy chủ khi người dùng gửi yêu cầu cần tương đối nhanh

• Giao diện cần đơn giản, dễ thao tác và sử dụng

2.1.4 Tiêu chí đánh giá sản phẩm

• Thống kê chính xác khối lượng giảng dạy

• Sản phẩm dễ sử dụng

• Hỗ trợ điền đúng thông tin thực hành

• Các trang Website hiển thị đúng theo các đường link hồ sơ của từng người trong nhóm nghiên cứu

THIẾT KẾ Ý TƯỞNG

2.2.1 Các phương pháp để xây dựng Website thống kê giảng dạy

• Sử dụng Nodejs-expressjs để xây dựng Backend

• Template handlebar, HTML, CSS, Javascript xây dựng giao diện •

Sử dụng Mongodb để lưu trữ dữ liệu

• Sử dụng PHP-Lavarel để xây dựng Backend

• Sử dụng HTML, CSS, Javascript xây dựng giao diện

• Sử dụng MySQL để lưu trữ dữ liệu

2.2.2 Phân tích các phương pháp

Nodejs-express.js [8] Ưu điểm của Expess.js:

• Express có tốc độ xử lí nhanh

• Express làm cho các ứng dụng Website nhanh hơn và trong thời gian ngắn hơn

• Express có sự hỗ trợ cộng đồng đáng kể

• Express cho phép các nhà phát triển sử dụng JavaScript trên cả máy chủ và máy khách

• Express có hỗ trợ Công cụ V8 của Google

• Express bao gồm một hệ thống mô-đun giúp việc chia sẻ mã giữa các chương trình Express trở nên đơn giản

• Vì xây dựng trên Nodejs nên Express có trình quản lý gói Node.js (npm) mở rộng hơn.

Nhược điểm của Express.js:

Không hoạt động hiệu quả hơn trên các tác vụ yêu cầu nhiều CPU Các API thường xuyên thay đổi, dẫn đến tính không ổn định Thiếu hỗ trợ cho các thư viện cũng là một rủi ro đáng kể đối với mã nguồn.

• Làm việc với cơ sở dữ liệu quan hệ có thể phức tạp trong Expressjs

Template Handlebar [11] Ưu điểm của Handlebarjs:

• Handlebars biên dịch mã HTML thay vì thông dịch đẩy nhanh tốc độ xử lí

• Hỗ trợ tách riêng mã HTML giúp mã nguồn rõ ràng hơn

• Xử lí các đoạn mã HTML lặp lại

• Là ngôn ngữ ít logic

• Không phù hợp với single-page application

• Khi sử dụng Handlebarjs sẽ gặp khó khăn khi sử dụng một số framework khác

Để sử dụng Handlebars.js, người dùng cần nắm vững một số cú pháp và quy tắc mới, vì những quy tắc này có thể không tương thích với các công cụ hoặc ngôn ngữ lập trình khác.

Handlebarsjs không hỗ trợ tất cả các tính năng hoặc chức năng cần cho các trang Website như tính tương tác, quản lý trạng thái hoặc định tuyến

MongoDB [6] Ưu điểm của MongoDB:

• MongoDB rất linh hoạt và có thể thích ứng với các tình huống và yêu cầu thực tế

• Các truy vấn có thể được thực hiện để trả về một số trường nhất định trong tài liệu

• MongoDB hỗ trợ trường, truy vấn dựa trên phạm vi, biểu thức chính quy, v.v để tìm kiếm dữ liệu từ dữ liệu được lưu trữ

• MongoDB là một hệ thống DBMS rất dễ sử dụng, có thể dễ dàng tăng hoặc giảm quy mô.

• MongoDB giúp sử dụng bộ nhớ trong để lưu trữ các bộ dữ liệu tạm thời đang hoạt động với tốc độ nhanh hơn nhiều

• MongoDB cung cấp các chỉ mục chính và phụ trên bất kỳ trường nào

• MongoDB hỗ trợ sao chép cơ sở dữ liệu

• Lập trình viên có thể sử dụng MongoDB làm hệ thống lưu trữ tệp được gọi là GridFS

MongoDB cung cấp nhiều phương pháp đa dạng để thực hiện các hoạt động tổng hợp dữ liệu, bao gồm đường dẫn tổng hợp, thu nhỏ bản đồ và các lệnh tổng hợp mục tiêu đơn lẻ.

• MongoDB cho phép lưu trữ bất kỳ loại tệp nào có kích thước bất kỳ mà không ảnh hưởng đến ngăn xếp

• MongoDB về cơ bản sử dụng các đối tượng JavaScript thay cho thủ tục •

MongoDB hỗ trợ loại bộ sưu tập đặc biệt như TTL (Time-To-Live) để lưu trữ dữ liệu sẽ hết hạn vào một thời điểm nhất định

• Lược đồ cơ sở dữ liệu động được sử dụng trong MongoDB được gọi là

MongoDB cho phép tạo chỉ mục để nâng cao hiệu suất tìm kiếm, với khả năng lập chỉ mục cho bất kỳ trường nào trong tài liệu Hệ thống này hỗ trợ tính sẵn sàng cao thông qua các bộ bản sao, cho phép chạy trên nhiều máy chủ để cân bằng tải và sao chép dữ liệu, đảm bảo hoạt động liên tục ngay cả khi có sự cố phần cứng Tuy nhiên, MongoDB cũng tồn tại một số nhược điểm cần lưu ý.

• MongoDB không phải là ACID mạnh (Nguyên tử, Tính nhất quán, Cách ly

& Độ bền) khi so sánh với nhiều hệ thống RDBMS khác

• Các giao dịch sử dụng MongoDB rất phức tạp

Trong MongoDB, không hỗ trợ thủ tục lưu trữ hay chức năng, điều này khiến lập trình viên không thể triển khai logic nghiệp vụ ở cấp cơ sở dữ liệu như trong các hệ thống RDBMS truyền thống.

Laravel – PHP [9] Ưu điểm của Laravel:

Laravel cung cấp nhiều phương pháp xác thực và ủy quyền, giúp ngăn chặn truy cập trái phép, đảm bảo dữ liệu luôn an toàn và bảo mật Hệ thống bảo vệ bằng mật khẩu của Laravel cũng góp phần tăng cường mức độ an ninh cho các ứng dụng.

Laravel mã hóa nó tương tự như WhatsApp Mật khẩu không bao giờ được lưu trữ trực tiếp bên trong cơ sở dữ liệu

• Tài liệu: Tất cả các phiên bản của Laravel framework đều có tài liệu đầy đủ.

Tài liệu này cung cấp thông tin chi tiết về các phương pháp viết mã, kiểu và lớp trong Laravel, giúp framework này trở nên thân thiện hơn với các nhà phát triển.

Laravel hỗ trợ nguyên bản các phiên bản PHP mới nhất, cho phép tích hợp các tính năng và bản cập nhật như không gian tên, chức năng quá tải và ẩn danh Điều này tạo điều kiện thuận lợi cho các nhà phát triển Laravel trong việc sử dụng trực tiếp những tính năng này, khác với các framework khác.

Laravel cho phép lập trình viên sử dụng lại mã hiệu quả thông qua phương pháp chỉnh sửa gói, giúp họ dễ dàng thêm các tính năng bổ sung vào các trang Các gói đã chỉnh sửa này có thể được tái sử dụng nhiều lần trong các ứng dụng, đảm bảo tính tùy chỉnh cao cho các dự án.

Laravel, với mã nguồn mở, đã thu hút một cộng đồng lớn các nhà phát triển, những người không ngừng cải thiện và hỗ trợ lẫn nhau Sự sẵn sàng giúp đỡ này giúp lập trình viên giải quyết các vấn đề khi sử dụng công cụ, thông qua nhiều diễn đàn và trang web chuyên dụng.

• Học tập, tìm hiểu: Mặc dù Laravel đi kèm với một tài liệu toàn diện, nhưng

Laravel có thể gây choáng ngợp cho người dùng mới với lượng tài liệu phong phú Giai đoạn đầu làm quen với framework này có thể gặp khó khăn, vì vậy việc tham gia các khóa đào tạo là cần thiết để thành thạo Hơn nữa, Laravel được xây dựng dựa trên các quy tắc hướng đối tượng, vì vậy người dùng cần nắm vững kiến thức này trước khi bắt đầu sử dụng.

Laravel, lập trình viên phải làm quen với các khái niệm về kiến trúc MVC và hướng đối tượng

Khi nâng cấp phiên bản của Laravel, các nhà phát triển cần lưu ý rằng tương tự như các khung PHP khác, quá trình này có thể gây ra sự cố và làm gián đoạn chức năng của ứng dụng Việc cập nhật không đúng cách có thể dẫn đến gián đoạn trong dự án, do đó, việc chuẩn bị kỹ lưỡng trước khi thực hiện nâng cấp là rất quan trọng.

Laravel là một framework mạnh mẽ với nhiều tính năng tự động giúp tăng cường khả năng sử dụng, nhưng cũng có những tính năng phức tạp mà không phải ai cũng dễ dàng nắm bắt Điều này dẫn đến tình trạng thiếu hụt các nhà phát triển Laravel có tay nghề cao trên thị trường.

Composer là công cụ quản lý gói quan trọng trong Laravel, giúp quản lý và cài đặt các phụ thuộc Mặc dù Laravel hỗ trợ Composer, nhưng hiệu suất của nó chưa đạt yêu cầu so với các framework khác như npm, pip và Ruby gems Nhiều nhà phát triển nghiệp dư thường gặp khó khăn khi làm việc với công cụ này.

Laravel không hỗ trợ tính năng thanh toán mặc định, vì vậy các nhà phát triển cần sử dụng các thư viện khung để tích hợp phương thức thanh toán Việc sử dụng các dịch vụ như PayPal và Stripe có thể giúp giải quyết vấn đề này một cách tạm thời Nếu quá trình tích hợp quá phức tạp, lập trình viên có thể xem xét sử dụng một khung khác có hỗ trợ bộ xử lý thanh toán của bên thứ ba.

MySQL [6] Ưu điểm của MySQL:

• Hỗ trợ các tính năng như Master-Slave Replication, Scale-Out

THIẾT KẾ CHI TIẾT

Hình 2.1 Sơ đồ khối chung

Controller là thành phần trung gian kết nối giữa View và Model, không cần lo lắng về xử lý logic dữ liệu mà chỉ báo cho Model thực hiện các tác vụ cần thiết Nó đảm nhận việc xử lý logic nghiệp vụ, quản lý các yêu cầu và thao tác dữ liệu thông qua Model, đồng thời tương tác với View để hiển thị kết quả cuối cùng.

Mô hình là phần quan trọng trong kiến trúc ứng dụng, tương ứng với tất cả các logic liên quan đến dữ liệu mà người dùng tương tác Nó đại diện cho dữ liệu được truyền giữa các thành phần View và Controller, cũng như các dữ liệu liên quan đến logic nghiệp vụ Mô hình có khả năng thêm hoặc lấy dữ liệu từ cơ sở dữ liệu, đáp ứng yêu cầu của Controller, vì Controller không thể tự mình tương tác với cơ sở dữ liệu.

Mô hình tương tác với cơ sở dữ liệu và trả lại dữ liệu cần thiết cho Controller.

View là thành phần chịu trách nhiệm cho tất cả logic giao diện người dùng trong ứng dụng, tạo ra trải nghiệm người dùng trực quan Chế độ xem được xây dựng dựa trên dữ liệu từ Model, nhưng dữ liệu này không được truy cập trực tiếp mà thông qua Controller, với View chỉ tương tác với Controller.

Client: là các trình duyệt Website có vai trò là máy khách

Database: là cơ sở dữ liệu của Website

Sơ đồ khối cho Controller

Hình 2.2 Sơ đồ khối cho Controller

Khi có yêu cầu từ Client gửi đến 3 khối:

Khối thống kê khối lượng giảng dạy gửi yêu cầu đến Model để truy xuất dữ liệu từ cơ sở dữ liệu Sau khi nhận phản hồi, khối thống kê tiến hành tổng hợp và gửi kết quả đến View View kết hợp dữ liệu với các logic cần thiết và phản hồi lại khối thống kê, sau đó khối thống kê chuyển kết quả đến Client.

Hỗ trợ nhập thông tin thực hành bao gồm việc gửi yêu cầu đến Model để truy xuất dữ liệu từ cơ sở dữ liệu Khi nhận được phản hồi từ cơ sở dữ liệu, dữ liệu sẽ được chuyển đến View Tại đây, View sẽ kết hợp dữ liệu với các logic và phản hồi lại Khối thống kê Cuối cùng, Khối thống kê sẽ gửi kết quả đến Client.

Nhập dữ liệu từ tập tin nhận và gửi thông tin đến Model để lưu trữ vào cơ sở dữ liệu Sau đó, yêu cầu giao diện nhập mới được gửi đến View và kết quả sẽ được chuyển về Client.

2.3.2 Thiết kế từng thành phần cơ bản

Giao diện trang chủ được minh họa như Hình 2.3

Giao diện trang tìm kiếm được minh họa như Hình 2.4

36 Giao diện trang nhập dữ liệu được minh họa như Hình 2.5

Hình 2.5 Trang nhập dữ liệu

Giao diện trang thống kê khối lượng giảng dạy được minh họa như Hình 2.6

Hình 2.6 Trang thống kê khối lượng giảng dạy

37 Giao diện trang hỗ trợ thông tin thực hành được minh họa như Hình 2.7

Hình 2.7 Trang hỗ trợ điền thông tin thực hành

Giao diện trang thông tin nghiên cứu khoa học được minh họa như Hình 2.8

Hình 2.8 Trang thông tin nghiên cứu khoa học

Giao diện trang nhóm nghiên cứu khoa học được minh họa như Hình 2.9

Hình 2.9 Trang nhóm nghiên cứu khoa học

38 Giao diện trang đăng nhập được minh họa như Hình 2.10

Giao diện hướng dẫn sử dụng được minh họa như Hình 2.11

Hình 2.11 Trang hướng dẫn sử dụng

Bảng dữ liệu cho lịch đầy đủ Bảng 2.1

Bomon String Tên bộ môn

SoSV String Số sinh viên

Hinhthuc String LT/ TH/ ĐA/ TTTN

Sotietday String Số tiết dạy trong tuần

Bảng 2.1 Bảng dữ liệu cho lịch đẩy đủ

Bảng dữ liệu cho lịch thực hành Bảng 2.2

Bo_mon String Tên bộ môn

Ma_lop String Mã lớp

Ten_nhom String Tên nhóm thực hành

Tong_so_nhom String Tổng số nhóm thực hành

SL_HS_SV String Số lượng sinh viên

Hocphan_Monhoc String Tên học phần

Ca_thu_2 String Ca dạy vào thứ 2

Phong_thu_2 String Phòng dạy vào thứ 2

Ca_thu_3 String Ca dạy vào thứ 3

Phong_thu_3 String Phòng dạy vào thứ 3

Ca_thu_4 String Ca dạy vào thứ 4

Phong_thu_4 String Phòng dạy vào thứ 4

Ca_thu_5 String Ca dạy vào thứ 5

Phong_thu_5 String Phòng dạy vào thứ 5

Ca_thu_6 String Ca dạy vào thứ 6

Phong_thu_6 String Phòng dạy vào thứ 6

Ca_thu_7 String Ca dạy vào thứ 7

Phong_thu_7 String Phòng dạy vào thứ 7

Ca_chu_nhat String Ca dạy vào chủ nhật

Phong_chu_nhat String Phòng dạy chủ nhật

Giang_vien String Tên giảng viên

Bảng 2.2 Bảng dữ liệu cho lịch thực hành

Để nhập lịch đầy đủ, người dùng cần đăng nhập vào tài khoản có quyền admin; nếu không, quá trình này sẽ không thể tiếp tục Hình 2.12 minh họa lưu đồ thuật toán cho việc nhập lịch.

• Tiếp đó người dùng cần nhập tập tin của lịch đầy đủ

Nếu tập tin được tải lên có định dạng chính xác (.xlsx), trình duyệt sẽ gửi yêu cầu POST đến server kèm theo dữ liệu của tập tin Ngược lại, nếu định dạng không đúng hoặc chưa có tập tin, hệ thống sẽ thông báo lỗi và yêu cầu người dùng nhập lại.

Sau khi server nhận yêu cầu, nó sẽ đọc tập tin được gửi và lưu trữ dữ liệu vào các biến local, bao gồm các trường dữ liệu tương ứng với bảng lịch đầy đủ trong phần Khối Model.

• Tiến hành xóa những dữ liệu có trường dữ liệu “Ngay” giống với dữ liệu của tập tin đã nhập với phương thức deleteMany()

• Sau khi xóa xong, dữ liệu sẽ được lưu vào MongoDB với phương thức create()

Hình 2.12 Lưu đồ thuật toán nhập lịch đầy đủ

Lưu đồ thuật toán nhập lịch thực hành được minh hoạ trong Hình 2.13: •

Trước khi nhập lịch đầy đủ người dùng cần đăng nhập tài khoản được cấp quyền admin, nếu không sẽ không thể thực hiện tiếp

• Khi cần nhập lịch đầy đủ người dùng sẽ nhập tập tin của lịch thực hành và ngày thứ Hai của tuần cần nhập

Nếu tập tin được tải lên có định dạng đúng (.xlsx) và đầy đủ thông tin, trình duyệt sẽ gửi yêu cầu đến server bằng phương thức POST kèm theo dữ liệu của tập tin và ngày thứ Hai của tuần tương ứng Ngược lại, nếu tập tin sai định dạng hoặc thiếu thông tin, hệ thống sẽ thông báo lỗi và yêu cầu người dùng nhập lại.

Sau khi server nhận yêu cầu, nó sẽ đọc tập tin đã nhận và lưu trữ dữ liệu vào các biến local, bao gồm các trường dữ liệu tương ứng với bảng lịch thực hành trong phần Khối Model.

• Tiến hành xóa những dữ liệu có trường dữ liệu “Ngay” giống với dữ liệu của ngày thứ Hai đã nhập với phương thức deleteMany()

• Sau khi xóa xong, dữ liệu sẽ được lưu vào MongoDB với phương thức create()

Hình 2.13 Lưu đồ thuật toán nhập lịch thực hành

Lưu đồ thuật toán thống kê khối lượng giảng dạy được minh hoạ trong Hình 2.14:

• Trước khi nhập lịch đầy đủ người dùng cần đăng nhập tài khoản, nếu không sẽ không thử thực hiện tiếp

Để thống kê khối lượng giảng dạy, người dùng cần nhập tên giảng viên và chọn các tuần trong tháng cần thống kê, cụ thể là các thứ Hai của tuần đó.

Khi người dùng nhập đầy đủ thông tin, trình duyệt sẽ gửi yêu cầu đến server bằng phương thức POST, kèm theo dữ liệu về tên giảng viên và các ngày thứ Hai trong tuần đã nhập Nếu thông tin không chính xác hoặc chưa đầy đủ, hệ thống sẽ thông báo lỗi và yêu cầu người dùng nhập lại.

• Sau khi server nhận được yêu cầu sẽ tiến hành tìm dữ liệu từ MongoDB với phương thức find() có trường dữ liệu “Giangvien” và “Ngay” giống với tên

43 giảng viên và các ngày thứ Hai nhận được, sau khi tìm xong tiến hành thống kê khối lượng giảng dạy

Gửi dữ liệu về khối lượng giảng dạy đã thống kê đến View, nơi sẽ kết hợp các logic để tạo ra giao diện thống kê Sau đó, giao diện vừa tạo sẽ được gửi về trình duyệt của người dùng yêu cầu.

Hình 2.14 Lưu đồ thuật toán thống kê khối lượng giảng dạy

Lưu đồ thuật toán hỗ trợ hiển thị thông tin thực hành được minh hoạ trong Hình 2.15:

• Trước khi nhập lịch đầy đủ người dùng cần đăng nhập tài khoản, nếu không sẽ không thử thực hiện tiếp

Để hỗ trợ việc nhập thông tin thực hành, người dùng cần cung cấp tên giảng viên cần thống kê cùng với các tuần trong tháng mà họ muốn thống kê, cụ thể là các thứ Hai của tuần đó.

KẾT LUẬN CHƯƠNG 2

Chương này trình bày cấu trúc và hoạt động của các thành phần của Website phục vụ giảng dạy và nghiên cứu cho Khoa Điện tử, đồng thời mô tả phương pháp thiết kế và triển khai các thành phần để tạo ra một Website hoàn chỉnh Chương tiếp theo sẽ kiểm chứng khả năng thực thi và độ chính xác của Website đã được triển khai.

THỬ NGHIỆM VÀ ĐÁNH GIÁ

VẬN HÀNH SẢN PHẨM

Nhóm đã phát triển một website đáp ứng đầy đủ các yêu cầu của bài toán tại Mục 2.1 Một ví dụ về thống kê giảng dạy của giảng viên Dương Thị Hằng trong tháng 11/2022 được trình bày dưới đây.

Hình 3.1 Ví dụ thống kê khối lượng giảng dạy của giảng viên Dương Thị Hằng

Thông tin của nhóm Nghiên cứu khoa học :

Hình 3.2 Thông tin nghiên cứu khoa học

THỬ NGHIỆM VÀ KIỂM CHỨNG SẢN PHẨM

Bảng thống kê số giờ giảng dạy và số giờ được thanh toán của một số giảng viên được thể hiện ở Bảng 3.1

Tổng số giờ giảng dạy

Tổng số giờ đề nghị thanh toán

Tổng số giờ giảng dạy

Tổng số giờ đề nghị thanh toán

Tổng số giờ giảng dạy

Tổng số giờ đề nghị thanh toán Đinh Thị

Bảng 3.1 Bảng thống kê số giờ giảng dạy và số giờ được thanh toán của một số giảng viên

Giảng viên Đinh Thị Kim Phượng.

Hình 3.3 Kết quả kiểm chứng của giảng viên Đinh Thị Kim Phượng

Giảng viên Lê Việt Tiến

Hình 3.4 Kết quả kiểm chứng của giảng viên Lê Việt Tiến

Giảng viên Nguyễn Văn Cường

Hình 3.5 Kết quả kiểm chứng của giảng viên Nguyễn Văn Cường

Giảng viên Vũ Thị Hoàng Yến.

Hình 3.6 Kết quả kiểm chứng của giảng viên Vũ Thị Hoàng Yến

Giảng viên Lê Mạnh Long

Hình 3.7 Kết quả kiểm chứng của giảng viên Lê Mạnh Long

ĐÁNH GIÁ SẢN PHẨM

• Hỗ trợ giảng viên thống kê khối lượng giảng dạy, nhập thông tin thực hành

• Cho phép nhập, sửa đổi lịch giảng dạy

• Hiển thị thông tin về nghiên cứu của khoa Điện tử

• Tính năng đăng nhập và phân quyền cho người dùng

• Website hoạt động ổn trên Internet

• Giao diện đơn giản, dễ sử dụng

• Tối ưu hóa với các thiết bị.

• Trang Website cung cấp đầy đủ nội dung

• Nội dung dễ hiểu và dễ đọc

• Vẫn còn tồn tại 1 chút thiếu sót trong việc quản trị thông tin

• Thời gian phản hồi của việc nhập dữ liệu còn chậm

• Giao diện mới dừng lại ở mức độ cơ bản chưa tối ưu được giao diện

• Chưa hỗ trợ thống kê theo nhiều tháng, kì học , năm học

3.3.3 Đánh giá của Thầy/Cô trong khoa Điện tử

• Thời gian trên website hiển thị theo chuẩn Việt Nam

• Đối với giảng viên không thuộc ban chủ nhiệm của Khoa hay giáo vụ Khoa, chỉ được tìm kiếm khối lượng giảng dạy của chính mình

Trong phần chuẩn bị tập tin lịch thực hành theo tuần, cần đảm bảo điền đầy đủ các thông tin quan trọng như mã lớp và tên nhóm theo định dạng số.

• Yêu cầu điền đủ thông tin quan trọng: mã lớp, tên nhóm, ca thực hành, phòng thực hành

• Màu chữ và nền trang chủ chưa phù hợp

• Chưa cho phép xem khối lượng GD trong khoảng thời gian tự chọn

ỨNG DỤNG CỦA SẢN PHẨM

• Quản lý lịch giảng dạy: Giảng viên có thể xem lịch giảng dạy trên trang web với đầy đủ các thông tin

• Quản lý tổng số lượng thực giảng: Giảng viên có thể xem tổng số giờ giảng dạy, hệ số lương và tổng số giờ đề nghị thanh toán

• Đăng tải, chia sẻ các thông tin nghiên cứu khoa học

• Tăng sự tương tác giữa sinh viên và giảng viên khi tham gia nghiên cứu khoa học.

TÁC ĐỘNG CỦA SẢN PHẨM THIẾT KẾ TỚI MÔI TRƯỜNG/KINH TẾ/ XÃ HỘI

TRƯỜNG/KINH TẾ/ XÃ HỘI

3.5.1 Tác động đến kinh tế

Nhóm thiết kế website nhằm phân công khối lượng giảng dạy và nghiên cứu cho giảng viên khoa Điện tử, Trường Đại học Công nghiệp Hà Nội Chúng tôi cam kết phát triển trang web với nội dung, tính năng và chất lượng cao, hướng tới việc mở rộng kinh doanh sang các trường đại học khác Qua đó, chúng tôi góp phần vào sự phát triển của nền kinh tế số.

3.5.2 Tác động đến xã hội

Thiết kế website cho nhà trường không chỉ hỗ trợ giảng viên trong việc giảng dạy mà còn góp phần nâng cao chất lượng giáo dục và thúc đẩy sự phát triển công nghệ trong xã hội.

3.5.3 Tác động đến môi trường

Quá trình thiết kế và vận hành website tiêu tốn nhiều tài nguyên và vật liệu như thiết bị phần cứng, phần mềm, lưu trữ dữ liệu và băng thông Sử dụng không hợp lý các nguồn lực này có thể dẫn đến lãng phí và ô nhiễm môi trường, đặc biệt khi các thiết bị phần cứng không thể tái chế gây ảnh hưởng tiêu cực đến tự nhiên.

KẾT LUẬN CHƯƠNG 3

Việc thiết kế web đòi hỏi kiến thức chuyên sâu về các yếu tố cơ bản và sự chú ý đến tác động của thiết kế, nhằm đảm bảo tạo ra sản phẩm mang lại trải nghiệm tốt nhất cho người dùng.

Ngày đăng: 26/12/2023, 05:04

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w