BÁO CÁO BÀI TẬP LỚN ĐỀ TÀI XẾP LỊCH HỌC

46 21 0
BÁO CÁO BÀI TẬP LỚN ĐỀ TÀI XẾP LỊCH HỌC

Đ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

KHOA: CÔNG NGHỆ THÔNG TIN - TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP HỒ CHÍ MINH BÁO CÁO BÀI TẬP LỚN ĐỀ TÀI: XẾP LỊCH HỌC Mơn: Phân Tích Thiết Kế & Giải Thuật Giảng viên: Nguyễn Văn Huy THÀNH VIÊN: Phạm Tuấn Hiệp - 1851120011 Phạn Thành Tín - 1851120046 Nguyễn Tài Phy – 1851120038 Nguyễn Văn Bằng - 1851120003 TP.HCM,2021 MỤC LỤC LỜI NÓI ĐẦU PHẦN 1: PHẦN MỞ ĐẦU Lý chọn đề tài Mục tiêu, đối tượng 2.1 Mục tiêu 2.2 Nền tảng, Framework Database 3.Đối tượng Chức a Account b Room c Course PHẦN 2: NỘI DUNG CHƯƠNG I: CƠ SỞ LÝ THUYẾT HTML, CSS JavaScrip a HTML b CSS c JavaScrip Node JS ReacJS Dart Express JS Flutter 10 Quản Lí Dữ Liệu Mong Db 11 API 12 a Ưu điểm 13 b Nhược điểm 14 CHƯƠNG II: THIẾT KẾ CƠ SỞ DỮ LIỆU 15 Account : 15 Môn học 15 Phòng học 15 CHƯƠNG III: CÁC API TRONG DỰ ÁN 16 API account 16 a API login 16 b API get account 16 c API change password 17 d API forgot password accont 18 e API new password account 18 API Room 19 a API get room 19 b API add room 21 c API change name room 22 d API delete room 22 API Course 23 a API get course 23 b API coursed 24 c API add course 26 d API change nameCourse 26 e API change schedule course 27 f API change amout course 27 g API change ischeck 28 h API Coursesort 28 i API delete course 29 CHƯƠNG IV: C ÁC THUẬT TOÁN ĐƯỢC SỬ DỤNG 30 Bubble Sort 30 a, Giới Thiệu 30 b, Code dự án 30 2.Thuật toán sử dụng để xếp lịch CHƯƠNG V: THIẾT KẾ GIAO DIỆN 34 Website 34 a Tài Khoản 34 b Trang chủ 35 c.Quản lí Phịng 35 d Course 37 e Lịch học 39 2.App 39 a Room 40 PHẦN 3: KẾT LUẬN 44 Mặt đạt 44 Hạn chế 44 TÀI LIỆU THAM KHẢO 45 LỜI NÓI ĐẦU Trong năm gần đây, công nghệ thông tin không ngừng phát triển cách mạnh mẽ đại Sự đời công nghệ thông tin làm phong phú mặt xã hội, đời sống người nâng cao rõ rệt, đóng góp to lớn cho phát triển nhân loại Đã từ lâu, việc lập thời khóa biểu cho lớp vấn đề quan trọng phòng đào tạo phải ln ln hồn thành trước triển khai cho sinh viên đăng ký học Lập th ời khóa biểu phương pháp thủ công công việc nặng nề, tốn nhiều thời gian d ễ vi phạm ràng buộc nghiệp vụ Do vậy, áp dụng phải trải qua điều chỉnh vài lần đạt yêu cầu Các tốn thời khóa biểu phong phú đa dạng ràng buộc yêu cầu đặc trưng hệ đào tạo, chí trường học Bài tốn thời khóa biểu thuộc lớp tốn tối ưu nên giải thuật truyền thống khó giải trọn vẹn yêu cầu nghiệp vụ yêu cầu thời gian thực Xin chân thành cảm ơn! PHẦN 1: PHẦN M Ở ĐẦU Lý chọn đề tài Thời khóa biểu trường học kế hoạch giảng dạy giáo viên học tập sinh viên Một bảng thời khóa biểu hợp lý giúp giáo viên thuận lợi, thoải mái lên lớp giúp sinh viên thoải mái đăng ký học tập Mục tiêu, đối tượng 2.1 Mục tiêu Tạo ứng dụng xếp lịch học dễ sử dụng cho sinh viên Thầy cô 2.2 Nền tảng, Framework Database Ngôn ngữ: HTML,CSS,JAVASTRIPT (web), Dart(app) Platform: Node JS (Web) Thư viện: ReacJS Framework: Express JS(Web), Flutter(App) Database: Mong Db(Web & App) 3.Đối tượng Ứng dụng xếp lịch học Chức a Account Chức đăng nhập Chức đổi mật Chức quên mật b Room Chức thêm phòng học Chức đổi tên phòng c Course Chức thêm khóa học Chức đổi tên khóa học Chức đổi lịch Chức xếp Chức xóa khóa học PHẦN 2: NỘI DUNG CHƯƠNG I: CƠ SỞ LÝ THUYẾT HTML, CSS JavaScrip a HTML Đây viết tắt cụm từ tiếng Anh “HyperText Markup Language”, tạm dịch: Ngôn ngữ đánh dấu siêu văn “Cái tên nói lên tất cả” : HTML ngôn ngữ đánh dấu thiết kế để tạo nên trang web với mẩu thông tin trình bày World Wide Web Cùng với CSS JavaScript, HTML tạo ba tảng kỹ thuật cho website Chức HTML xây dựng cấu trúc siêu văn website, khai báo tập tin kỹ thuật số (media) hình ảnh, video, nhạc HTML thường dùng để phân chia đoạn văn, heading, links, blockquotes,… b CSS CSS viết tắt cụm từ “Cascading Style Sheets” , tạm dịch: ngôn ngữ tạo phong cách cho trang web Ngơn ngữ lập trình quy định cách thành phần HTML trang web thực xuất frontend Nếu HTML cung cấp công cụ thô cần thiết để cấu trúc nội dung trang web CSS giúp định hình kiểu nội dung để trang web xuất trước người dùng theo cách đẹp Có thể nói, CSS g ần tạo nên mặt website Và CSS tất Để có trang web đẹp bạn khơng dựa vào CSS mà phải kết hợp với nhiều ngôn ngữ khác Các ngôn ngữ phải thực dựa thiết kế thống c JavaScrip Thường viết tắt “JS”, JavaScript ngôn ngữ lập trình Brendan Eich (đồng sáng lập dự án Mozilla, quỹ Mozilla, tập đoàn Mozilla) cho mắt vào năm 1995 với tên LiveScript JavaScript biết đến với tên Mocha, sau LiveScript, cơng ty Netscape đổi tên thành JavaScript, phổ biến tượng Java lúc Các slideshow, pop-up quảng cáo tính autocomplete Google viết JavaScript JS có tác dụng giúp chuyển website từ trạng thái tĩnh sang động, tạo tương tác để cải thiện hiệu suất máy chủ nâng cao trải nghiệm người dùng Hiểu đơn giản, JavaScript ngôn ngữ sử dụng rộng rãi kết hợp với HTML/CSS để thiết kế web động Node JS NodeJS tảng (Platform) xây dựng “V8 Javascript engine” viết c++ Javascript Nền tảng phát triển Ryan Lienhart Dahl vào năm 2009 Node.js đời developer đời đầu JavaScript mở rộng từ thứ bạn chạy trình duyệt thành thứ bạn chạy máy dạng ứng dụng độc lập ReacJS React thư viện JavaScript phổ biến để xây dựng giao diện người dùng (UI) Nó cho tốc độ phản hồi tuyệt vời user nhập liệu cách sử dụng phương pháp để render trang web Components công cụ phát triển Facebook Nó mắt cơng cụ JavaScript mã nguồn mở vào năm 2013 Hiện tại, trước đối thủ Angular Bootstrap , hai thư viện JavaScript bán chạy thời Dart Dart ngôn ngữ lập trình web Google phát triển Nó thức công bố Hội thảo GOTO ngày 10-12 tháng 10 năm 2011 Aarhus Mục đích Dart khơng phải để thay JavaScript ngôn ngữ kịch bên trình duyệt web, mà cung cấp lựa chọn đại Mục đích Dart để giải vấn đề JavaScript (mà, theo tài liệu bị rị rỉ, khơng thể giải cách cải tiến ngôn ngữ) cung cấp hiệu tốt hơn, khả "có thể dễ dàng trở thành công cụ dự án lớn" an ninh tốt Các kỹ sư Google phát triển IDE tảng điện tốn đám mây gọi Brightly, mà có lẽ ứng dụng Dart Google cung cấp trình biên dịch Dart thành mã ECMAScript on the fly, dành cho trình duyệt khơng tương thích Dart Cũng chuyển mã typed Closure thành Dart Google tích hợp máy ảo vào Chrome khuyến khích đối thủ cạnh tranh làm điều với trình duyệt họ Máy ảo Dart Dart Cross Compiler mắt vào cuối năm 2011 Express JS Express js Framework nhỏ, linh hoạt xây dựng tảng Nodejs Nó cung cấp tính mạnh mẽ để phát triển web mobile } } - - Thuật toán xếp Bubble sort thực xếp dãy số cách lặp lại công việc đổi chỗ số liên tiếp chúng đứng sai thứ tự(số sau bé số trước với trường hợp xếp tăng dần) dãy số xếp Sử dụng để xếp khóa học ( khóa học xếp vào array theo khóa h ọc 20 học viên, từ 20->30 học viên, từ 30 đến 40 học viên) Thuật toán Bubble Sort chạy + Ưu tiên khóa học có số lượng tu ần học + Nếu khóa học có số lượng học viên thuật tốn Bubble Sort ưu tiên khóa học có số lượng học viên nhiều Thuật toán xếp lịch học B1: Thuật tốn tìm kiếm khóa học schedule = học full tuần ( trừ chủ nhật ), schedule = = học 2-4-6, schedule = học 3-5-7 B2: Nếu tìm thấy khóa học rơi vào 2-4-6 khóa học xếp vào phòng tối ưu ( khóa học lựa chọn phịng có tổng thời lượng học tất khóa học phịng thứ 2-4-6 điều kiện khác) 31 Tương tự lịch 2-4-6, lịch 3-5-7 giống Với khóa học full tuần đẩy vào phịng có tổng thời lượng thứ 2-4-6 3-5-7 nhỏ Nếu phịng có tổng thời lượng học 2-4-6 = 3-5-7 khóa học đẩy vào array lịch 2-4-6 3-5-7 Nếu phịng học có tổng thời lượng lịch 2-4-6 > tổng thời lượng học 3-5-7 Thì khóa học đẩy khóa học vào lịch chẵn Tại lịch lẻ tạo object tạm 32 { during: chan – le } đẩy json vào trước đẩy khóa học vào Và ngược lại tổng thời lượng học 3-5-7 lớn 2-4-6 Demo ảnh – Màu nâu khóa học full tuần, màu xanh biển đậm json tạm Tại đầu vịng lặp khóa lịch 2-4-6 3-5-7 tìm kiếm object tạm Nếu khóa học có during 30 học viên, từ 30 đến 40 học viên) Thuật toán Bubble Sort chạy + Ưu tiên khóa học có số lượng tu ần học + Nếu khóa học có số lượng học viên... dụng xếp lịch học Chức a Account Chức đăng nhập Chức đổi mật Chức quên mật b Room Chức thêm phòng học Chức đổi tên phòng c Course Chức thêm khóa học Chức đổi tên khóa học Chức đổi lịch Chức xếp

Ngày đăng: 27/04/2022, 15:53

Tài liệu cùng người dùng

Tài liệu liên quan