intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Đồ án thực tập tốt nghiệp Công nghệ thông tin: Tìm hiểu Framework ruby on rails, Arduino và xây dựng ứng dụng quản lý thư viện

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:68

25
lượt xem
19
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Đề tài "Tìm hiểu Framework ruby on rails, Arduino và xây dựng ứng dụng quản lý thư viện" có cấu trúc gồm 2 phần bao gồm: Tìm hiểu ngôn ngữ ruby on rails, arduino; phân tích thiết kế ứng dụng quản lý thư viện. Mời các bạn cùng tham khảo nội dung chi tiết.

Chủ đề:
Lưu

Nội dung Text: Đồ án thực tập tốt nghiệp Công nghệ thông tin: Tìm hiểu Framework ruby on rails, Arduino và xây dựng ứng dụng quản lý thư viện

  1. TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI THÀNH PHỐ HỒ CHÍ MINH KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN THỰC TẬP TỐT NGHIỆP ĐỀ TÀI: TÌM HIỂU FRAMEWORK RUBY ON RAILS, ARDUINO VÀ XÂY DỰNG ỨNG DỤNG QUẢN LÝ THƯ VIỆN Giảng viên: Trần Đức Doanh Sinh viên thực hiện: Nguyễn Quang Lĩnh – 1651120032 - CN16A Bùi Đức Lộc – 1651120034 - CN16A 1
  2. NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… TP.HCM, ngày … tháng … năm 2020 Giáo viên hướng dẫn 2
  3. NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… TP.HCM, ngày … tháng … năm 2020 Giáo viên phản biện 3
  4. Mục luc LỜI NÓI ĐẦU .........................................................................................................................................6 PHẦN MỞ ĐẦU ......................................................................................................................................8 PHẦN I: TÌM HIỂU NGÔN NGỮ RUBY ON RAILS, ARDUINO ................................................ 10 I. Ruby on rails. ................................................................................................................................ 10 II. Arduino. ....................................................................................................................................... 16 PHẦN II: PHÂN TÍCH THIẾT KẾ ỨNG DỤNG QUẢN LÝ THƯU VIỆN ................................. 20 CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ THƯ VIỆN ............................................................ 20 1. Tổng quan về thư viện ............................................................................................................. 20 2. Quy trình quản lý sách và độc giả : ........................................................................................ 20 3. Nhiệm vụ của một hệ thống quản lý thư viện ........................................................................ 22 4. Nhược điểm của hệ thống quản lý thư viện trên: .................................................................. 22 5. Hướng thực thi đề tài ............................................................................................................... 23 CHƯƠNG 2: THIẾT KẾ HỆ THỐNG QUẢN LÝ THƯ VIỆN ...................................................... 24 CHƯƠNG 3: THIẾT KẾ CƠ SỞ DỮ LIỆU...................................................................................... 38 1. Bảng borrows............................................................................................................................ 38 2. Bảng amounts ........................................................................................................................... 38 3. Bảng Authors ............................................................................................................................ 39 4. Bảng books ................................................................................................................................ 39 5. Bảng cheditor_assets ................................................................................................................ 40 6. Bảng department ...................................................................................................................... 40 7. Bảng equipment........................................................................................................................ 41 8. Histories .................................................................................................................................... 41 9. Bảng historyalls ........................................................................................................................ 42 10. Bảng publishes .......................................................................................................................... 42 11. Bảng types ................................................................................................................................. 43 12. Bảng users ................................................................................................................................. 43 CHƯƠNG 4: KẾT HỢP ARDUINO VÀ RUBY ON RAILS ........................................................... 45 I. Cách nạp code qua chip Esp8266 ........................................................................................... 45 II. Kết nối Ruby on Rails với Arduino......................................................................................... 45 CHƯƠNG 5: SƠ ĐỒ LẮP MẠCH VÀ KẾT NỐI VỚI CON CHIP ESP8266 ............................... 46 4
  5. I. Cấu trúc con chip Esp8266 ...................................................................................................... 46 II. Lắp rắp sơ đồ mạch điện ......................................................................................................... 48 CHƯƠNG 6: THIẾT KẾ GIAO DIỆN WEBSITE ........................................................................... 49 CHƯƠNG 7: KẾT LUẬN – KIẾN NGHỊ.......................................................................................... 68 5
  6. LỜI NÓI ĐẦU Ngày nay công nghệ thông tin đã có những bước phát triển mạnh mẽ, thiết yếu và có ảnh hưởng sâu rộng tới thói quen, sinh hoạt, giải trí của nhiều người. Đứng trước vai trò của thông tin hoạt động cạnh tranh và gay gắt thì các tổ chức và các doanh nghiệp đều tìm các biện pháp để xây dựng hệ thống thông tin của mình hoàn thiện hơn nhằm tin học hóa các tác vụ của đơn vị với nhiều phần mềm mã nguồn mở. Thuật ngữ “phần mềm mã nguồn mở” có nghĩa tương đương với “mã nguồn mở ” nhưng với độ bao hàm cao hơn. Ngày nay có rất nhiều dạng mở bao gồm: phần cứng, phần mềm nguồn mở, tài liệu thiết kế… Phần mềm nguồn mở đang phát triển với tốc độ khá cao, cho thấy nó có nhiều động lực hơn với mã đóng. Ở Việt Nam mã nguồn mở cũng không còn xa lạ. Việc sử dụng và phát triển mã nguồn mở ở đất nước đang phát triển như đất nước ta đang rất được quan tâm, nó giúp giảm thiểu nguồn tài chính khi chi trả bản quyền và nhiều lợi ích khác. Hiện nay, có rất nhiều sản phầm nguồn mở như: ruby on rails, joomla, wordpress trong đó ruby on rails đang được quan tâm nhất bởi tính đơn giản, dễ sử dụng và đặc biệt là hoàn toàn miễn phí. Do dó nhóm em quyết định chọn đề tài “xây dựng ứng dụng quản lý thư viện bằng ruby on rails”. Với sự hướng dẫn tận tình của thầy Trần Đức Doanh nhóm em đã hoàn thành cuốn báo cáo đồ án này. Tuy đã cố gắn hết sức tìm hiểu, phân tích thiết kế và cài đặt hệ thống nhưng chắc chắn không tránh khỏi được những thiếu sót. Em rất mong được sự thông cảm và góp ý của thầy cô. Em xin chân thành cảm ơn! 6
  7. Khách thể và đối tượng nghiên cứu - Hệ thống thư viện trường Đại Hoc Giao Thông Vận Tải TP HCM - Các công cụ xây dựng nên phần mềm như: hệ điều hành linux(ubuntu), atom editor, sqlite3, ruby on rails, dbever, github, arduino IDE, relay 3v, transistor, bóng đèn , quạt, dây điện, máy hàn, phích cắm. Giới hạn và phạm vi nghiên cứu - Xây dựng ứng dụng quản lý thư viện gồm trang sinh viên, giáo viên, quản trị Mục đích nghiên cứu - Quản lý được việc mượn trả sách online - Quản lý được các thiết bị trong thư viện Nhiệm vụ nguyên cứu - Tìm hiểu được hoạt động quản lý thư viện - Tìm hiểu được các công cụ xây dựng hệ thống như: ruby on rails, dùng terminal, sqlite3, arduino IDE. - Demo hệ thống trên localhost. Phương pháp nghiên cứu - Vào thư viện trường Đại học Giao Thông Vận Tải TP HCM Ý nghĩa lý luận và thực tiễn của đề tài - Giúp nhóm hiểu rõ hơn hoạt động quản lý thư viện 7
  8. - Giúp việc quản lý mượn trả sách dễ dàng và thuận tiện hơn - Giúp cho việc điều chỉnh các thiết bị điện trong phòng một các dể dàng và an toàn. PHẦN MỞ ĐẦU Do vấn đề thời gian nên đồ án chỉ tập trung vào ngôn ngữ lập trình ruby on rails, và áp dụng xây dựng ứng dụng quản lý thư viện cho trường đại học giao thông vận tải. Ứng dụng với mục đích cung cấp cho sinh viên các thông tin sách cần mượn, cách thức để mượn trả sách. Các thông tin cập nhập thường xuyên và nhanh chóng. Vì vậy rút ngắn được khoảng cách giữa sinh viên và thư viện. Đồ án gồm 2 phần: 1. Phần I tìm hiểu ngôn ngữ lập trình ruby on rails, arduino 2. Phần II phân tích thiết kế quản lý thư viện. Phần I: Tìm hiểu ngôn ngữ ruby on rails, arduino Chúng ta cần hiểu bản chất ngôn ngữ của mình để lập trình. Ở đồ án lần này em tập trung giới thiệu về ngôn ngữ ruby on rails, arduino. Cung cấp kiến thức nền tảng để làm ứng dụng. Phần II: Phân tích thiết kế ứng dụng quản lý thư viện Chương 1: Giới thiệu tổng quan về thư viện. Ở chương này chúng ta sẽ giới thiệu sơ qua thư viện, mô tả hoạt động quản lý thư viện, quản lý sách và độc giả … Chương 2: Thiết kế hệ thống thư viện. 8
  9. Chúng ta cần có kế hoạch để hệ thống hệ thống quản lý thư viện hợp lý nhất, phân tích hệ thống từ nhiều phía để mang lại sự hợp lý và thống nhất cho hệ thống. Chương này sẽ phân tích yêu cầu đề bài, thiết kế hệ thống trên cơ sở lý thuyết từ đó giúp chúng ta có cái nhìn tổng quát hơn về hệ thống. Chương 3: Thiết kế cơ sở dữ liệu. Dự trên kết quả phân tích ở chương II, thì hệ cơ sở dữ liệu lập ra để lưu trữ các thông tin cần thiết cho việc thiết kế hệ thống và cho chúng ta thấy rõ mối quan hệ cơ sở dữ liệu được lập ra. Chương 4: Kết hợp ardunio và Ruby on Rails Ardunio và Ruby on Rails có thể kết hợp với nhau được hay không ? Vậy làm sao có thể kết hợp chúng và bằng cách nào ? Chương 5: Sơ đồ lắp mạch điện kết nối với con chip Esp8266 Cách lắp ráp từ các chân con chip với các thiết bị điện tử như thế nào ? Chương 6: Thiết kế giao diện quản lý thư viện. Áp dụng kiến thức cơ bản và các sơ đồ phần tích, chương 6 là công đoạn thiết kế dự án thực tế. Chương 7: Kết luận – Kiến nghị. Đánh giá mô hình sau khi hoàn thành, đưa ra giải pháp tốt hơn cho tương lai. 9
  10. PHẦN I: TÌM HIỂU NGÔN NGỮ RUBY ON RAILS, ARDUINO I. Ruby on rails. 1. Khái niệm ruby on rails. Ruby là một ngôn ngữ lập trình hướng đối tượng được sử dụng để tạo ra các ứng dụng bằng web và di động. Nó được tạo ra bởi nhà khoa học máy tính người Nhật và vẫn tiếp tục phát triển cho đến nay. 2.Tại sao nên dùng Ruby? Ruby on rails, hay viết tắt là rails hay ROR là một web Framework được viết bẳng ngôn ngưc lập trình ruby. Ruby on rails ucngx là phần mềm mở (Open source). Do dó, nó không chỉ miễn phí để sử dụng, bạn cụng có thể tham gia cải thiện nó. Ruby là ngôn ngữ lập trình kịch bản bởi mã lệnh của Ruby có thể chạy trực tiếp bởi máy tính mà không cần phải biên soạn thành một tệp thực thi tệp tin .exe trên Windows hay tệp tin binary trên Linux. Điểm mạnh của ruby a. Sức mạnh Ruby được viết thuần hướng đối tượng, vì thế, mọi thứ trong Ruby đều là đối tượng. Tất cả những mặt mạnh của ngôn ngữ hướng đối tượng, Ruby đều kết thừa hoàn toàn, bao gồm cả sự linh động của chính ngôn ngữ. Ta có thể thêm những function khác vào Ruby mà không hề ảnh hưởng tới những function đã có. b. Đọc hiểu dễ dàng 10
  11. Ngôn ngữ Ruby được gọi là ngôn ngữ mà “The code comments itself”. Có nghĩa là bản thân các dòng lệnh trong Ruby đã nói lên ý nghĩa và công việc của nó. c. Ngắn gon Được viết với sự focus chủ yếu vào tính dễ phát triển, nên ruby cần ít code để thực hiện một công việc hơn so với các ngôn ngữ khác. Chính vì điều này, khi mới tiếp xúc với Ruby, chúng ta sẽ cảm thấy nó rất ấn tượng. Điểu yếu của ruby: tốc độ xử lý chậm Nhắc đến Ruby thì phải nhắc đến framework của nó chính là ruby on rails (RoR) a. Lợi ích khi sử dụng RoR • Công cụ: Rails cung cấp cho ta công cụ tuyệt vời giúp chúng ta triển khải được nhiều tính năng hơn mà lại tốn ít thời gian hơn. Nó cung cấp cho ta một cấu trúc chuẩn cho ứng dụng web. • Thư viện: Rails cung cấp cho ta gem, thứ có thẻ thay thế hầu hết cho mọi thứ mà bạn có thể nghĩ ra được. Hơn nữa, tất cả gem đều có thể sử dụng một cách hoàn toàn miền phí và có thể dễ dàng tra cứu tại https://rubygems.org/. • Chất lượng code: Nhìn chung, mình nhận thấy rằng chất lượng của các phần mềm hỗ trợ Ruby code là cao hơn so với một số ngôn ngữ khác. • Cộng đồng: Cộng đồng ruby rất lớn. Mình tin rằng điều này giúp cải thiện những sản phẩm của ruby rất nhiều và đây cũng là một lý do mà thư viện của ruby lại tuyệt vời như vậy. ruby cũng là một trong số những ngôn ngữ lập trình phổ biến nhất trên github. 11
  12. • Hiệu suất: RoR là một ngôn ngữ gọn gàng, khi mà sử dụng kết hợp cùng các thư viện hỗ trợ, RoR cho phép bạn phất triển một cách khá là nhanh chóng. • Tương lai: RoR có thể được xem là một ngôn ngữ được lựa chọn trong các trang học lập trình trực tuyến phổ biến như: makers academy, codecademy. Điều này có nghĩa là số lượng lập trình viên tài giỏi tham gia vào cộng đồng ruby sẽ tăng lên trong các năm tới. b. Nhược điểm Vì nó cũng là một phần cũng ruby nên nó cũng có hạn chế giống nhau: • Thời gian chạy: Phần lớn những cuộc tranh luận về rail đều có những ý kiến rằng rails chậm. Điều này hoàng toàn đúng, so với NodeJS hay GoLang, rails có tộc độ chạy khá chậm. Mặc dù trong thực tế, hiệu suất của ứng dụng rails rất khó làm chậm lại việc kinh doanh, Vấn đề thường nằm ở việc thiết kế server, thậm chí là cả cơ sỡ dữ liệu. • Tốc độ boof: Vấn đề chính gây khó chịu khi làm việc với rails là tốc độ boot của Rails framework. Phụ thuộc vào số lượng gem và file, chúng ta có thể mất một khoảng thời gian kha khá để khởi động, điều này có thể ảnh hưởng trực tiếp tới hiệu suất làm việc. Với việc spring ra đời, tốc độ boot đã được cải thiện nhưng có vẻ nó vẫn còn có thể nhanh hơn nữa. 3. Cấu trúc thư mục của rails 12
  13. App: Nơi tổ chức các thành phần của ứng dụng, bao gồm thành phần của mô hình mvc, helper, jobs, assets, mails. Bin/: Chứa Rails Script để khỏi động ứng dụng của bạn và có thể chứa các các tập lệnh khác mà bạn sử dụng để setup, update, deploy hoặc chạy ứng dụng của mình. Config/:Chứa các thông tin config cho ứng dụng, như cấu hình database(database.yml), cấu hình môi trường (development,rb,yml,production, rb test,rb) hay điều hướng truy vấn (routes.rb) Db/: Lưu trữ các thông tin về các đối tượng của CSDL, mối quan hệ giữa các đối tượng, các đoạn script để quản lý các đối tượng (table) trong database. Lib/: Chứa các thư viện do bạn định nghĩa 13
  14. Log/: Chứa các file logs của ứng dụng Public/: Chứa static file: file ảnh, css, javascript Test/: Chứa test script của ứng dụng Tmp/: Rails sử dụng thư mục này để lưu các tệp tạm thời để xử lý trung gian Vendor/: Thư viện được cung cấp bởi bên thứ 3 Rakefile: File này giúp xây dựng, đóng gói và kiểm tra code rails. Gemfile, gemfile.lock : Các file này cho phép bạn chỉ định dependency nào cần thiết cho ứng dụng Rails của bạn. Những file này được sử dụng bởi Bundler Ruby. Package.jon: Tệp này cho phép bạn chỉ định npm dependency nào cần thiết cho ứng dụng rails của bạn. File này được sử dụng bởi Yarm 4. Cài đặt ruby • Bật terminal hoặc tôt hợp phím ctrl+alt+T • Cài đặt đầu tiên cần làm là thêm các dependencies cho ruby on rails o curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash – o curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add – o echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list • Cài đặt các package cần thiết của ubuntu o sudo apt-get update o sudo apt-get install git-core curl zlib1g-dev build-essential libssl- dev ibreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev 14
  15. libxslt1-dev libcurl4-openssl-dev software-properties-common libffi-dev nodejs yarn • Cài đặt ryby thông qua rbenv (hoặc rvm) o cd ~/ o git clone https://github.com/rbenv/rbenv.git ~/.rbenv o echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc o echo 'eval "$(rbenv init -)"' >> ~/.bashrc o exec $SHELL o git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby- build o echo 'export PATH="$HOME/.rbenv/plugins/ruby- build/bin:$PATH"' >> o ~/.bashrc o exec $SHELL o rbenv install 2.5.1 o rbenv global 2.5.1 • Sau khi chạy xong kiểm tra xem có cài đặt ruby chưa bằng lệnh: ruby –v • Cuối cùng các bạn cài đặt Bundler o gem install bundler • Cài đặt ruby on rails o gem install rails -v 5.2.0 o rbenv rehash 15
  16. • Kiểm tra rails đã được cài đặt thành công chưa bằng lênh rails -v • Cài dbeaver theo link: https://qiita.com/shaching/items/697e9d42584fe06b4579 • Cài git: o sudo apt update o sudo apt install git o git --version II. Arduino. 1. Khái niệm Là một nền tảng mã nguồn mở phần cứng và phần mềm. Phần cứng Arduino (các board mạch vi xử lý) được sinh ra tại thị trấn Ivrea ở Ý, nhằm xây dựng các ứng dụng tương tác với nhau hoặc với môi trường được thuận lợi hơn. Phần cứng bao gồm một board mạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARM Atmel 32-bit. Những Model hiện tại được trang bị gồm 1 cổng giao tiếp USB, 6 chân đầu vào analog, 14 chân I/O kỹ thuật số tương thích với nhiều board mở rộng khác nhau. Được giới thiệu vào năm 2005, Những nhà thiết kế của Arduino cố gắng mang đến một phương thức dễ dàng, không tốn kém cho những người yêu thích, sinh viên và giới chuyên nghiệp để tạo ra những thiết bị có khả năng tương tác với 16
  17. môi trường thông qua các cảm biến và các cơ cấu chấp hành. Những ví dụ phổ biến cho những người yêu thích mới bắt đầu bao gồm các robot đơn giản, điều khiển nhiệt độ và phát hiện chuyển động. Đi cùng với nó là một môi trường phát triển tích hợp (IDE) chạy trên các máy tính cá nhân thông thường và cho phép người dùng viết các chương trình cho Aduino bằng ngôn ngữ C hoặc C++. 2. Ứng dụng của Arduino vào trong đời sống • Làm Robot. Arduino có khả năng đọc các thiết bị cảm biến, điều khiển động cơ,… nên nó thường được dùng để làm bộ xử lý trung tâm của rất nhiều loại robot. • Game tương tác: Arduino có thể được sử dụng để tương tác với Joystick, màn hình,… khi chơi các game như Tetrix, phá gach, Mario… • Máy bay không người lái. • Điều khiển đèn tín hiệu giao thông, làm hiệu ứng đèn Led nhấp nháy trên các biển quảng cáo… • Điều khiển các thiết bị cảm biến ánh sáng, âm thanh. • Làm máy in 3D • Làm đàn bằng ánh sáng • Làm lò nướng bánh biết tweet để báo cho bạn khi bánh chín. Arduino còn rất nhiều ứng dụng hữu ích khác tùy vào sự sáng tạo của người dùng. 3. Khả năng kết nối • Arduino có thể hoạt động độc lập. • Arduino có thể kết nối với một máy tính. Máy tính của bạn được phép truy cập dữ liệu cảm biến từ thế giới bên ngoài và cung cấp thông tin phản hồi. • Các Arduino có thể kết nối với nhau. 17
  18. • Arduino có thể kết nối với thiết bị điện tử khác. • Arduino có thể kết nối với các chip điều khiển. Xe điều khiển từ x Điều khiển đèn từ xa 18
  19. Mở-khóa cửa 19
  20. PHẦN II: PHÂN TÍCH THIẾT KẾ ỨNG DỤNG QUẢN LÝ THƯ VIỆN CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ THƯ VIỆN 1. Tổng quan về thư viện a. Cơ cấu tổ chức - Ban quản lý thư viện: Chịu trách nhiệm điều hành chung cho toàn bộ các công tác trong thư viện. - Thủ thư: Tiếp nhận sách đã đánh mã số, phân loại sách, kiểm tra độc giả có thể đọc sách, tra cứu sách - Phòng nghiệp vụ: Lập kế hoạch mua sách mới, thanh lý sách cũ 2. Quy trình quản lý sách và độc giả : a. Đối với công việc nhập sách: Mỗi khi có bổ sung tài liệu thủ thư sẽ lập kế hoạch bổ sung tài liệu dựa trên catalog nhà xuất bản và tên loại sách. Phân loại sách theo môn loại: Sách về tin học: cơ sở dữ liệu, mạng máy tính… Sách về toán: toán cao cấp, hình giải tích… Đánh mã số cho sách 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
7=>1