Đồ Án Tốt Nghiệp CNTT Tìm Hiểu Về Ruby On Rails, Viết Chương Trình Demo Quản Lý Trung Tâm Tin Học

28 1.7K 3
Đồ Án Tốt Nghiệp CNTT Tìm Hiểu Về Ruby On Rails, Viết Chương Trình Demo Quản Lý Trung Tâm Tin 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

Đề tài: Tìm hiểu Ruby on Rails, viết chương trình demo quản lý trung tâm tin học ĐÁNH GIÁ, NHẬN XÉT CỦA GIÁO VIÊN Tp.HCM Ngày……tháng……năm……… GV Phản Biện (Ký Tên) SV thực hiện: Hoàng Việt Anh – Nguyễn Phong Trương Đề tài: Tìm hiểu Ruby on Rails, viết chương trình demo quản lý trung tâm tin học NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN Tp.HCM Ngày……tháng……năm……… GV Phản Biện (Ký Tên) SV thực hiện: Hoàng Việt Anh – Nguyễn Phong Trương Đề tài: Tìm hiểu Ruby on Rails, viết chương trình demo quản lý trung tâm tin học LỜI CẢM ƠN Trong suốt trình thực đề tài, chúng em nhận quan tâm giúp đỡ đóng góp nhiệt tình quý thầy cô trường Đại học Công nghiệp Thành phố Hồ Chí Minh, khoa Công nghệ thông tin Trước hết, xin chân thành cám ơn đến quý thầy cô trường Đại học Công nghiệp Tp HCM, khoa CNTT tận tình dạy bảo suốt thời gian học tập trường Tiếp đó, chúng em xin cám ơn đến Nguyễn Minh Nghị, project manger công ty LARION, không quản khó nhọc công sức, truyền đạt số kinh nghiệm cần thiết Chúng xin gửi lời biết ơn sâu sắc đến giáo viên hướng dẫn Từ Thị Xuân Hiền dành nhiều thời gian tâm huyết hướng dẫn nghiên cứu giúp chúng em hoàn thành đồ án tốt nghiệp Mặc dù chúng em có nhiều cố gắng hoàn thiện đồ án với tất tâm huyết đam mê, nhiên tránh khỏi thiếu sót, mong nhận đóng góp quý báu quý thầy cô bạn SV thực hiện: Hoàng Việt Anh – Nguyễn Phong Trương Đề tài: Tìm hiểu Ruby on Rails, viết chương trình demo quản lý trung tâm tin học MỤC LỤC SV thực hiện: Hoàng Việt Anh – Nguyễn Phong Trương Đề tài: Tìm hiểu Ruby on Rails, viết chương trình demo quản lý trung tâm tin học CHƯƠNG I: TỔNG QUAN VỀ RUBY ON RAILS FRAMEWORK I Ngôn ngữ Ruby Lịch sử phát triển Ruby tạo Yukihiro Matsumoto (hay gọi Matz),người Nhật Bản, vào ngày 24 tháng 2, 1993 đưa thức vào năm 1995 Ruby chịu nhiều ảnh hưởng từ Perl, hoàn tất ngôn ngữ này, Matz đùa với người bạn nên đặt tên nghe cho giống thứ đá quý (Perl lúc đầu đặt tên Pearl - ngọc trai) Và bạn anh gợi ý tên Ruby Sau Matz bất ngờ phát Pearl viên đá quý tượng trưng cho người sinh tháng 6, Ruby tượng trưng cho người sinh tháng Anh cho tên Ruby phù hợp Ruby kế thừa phát triển nhiều đặc tính từ Perl Hiện phiên ổn định Ruby 1.9.2 Ruby gì? Hiện nay, có nhiều ngôn ngữ lập trình để lập trình viên chọn lựa Đối với lập trình viên vào nghề, việc chọn ngôn ngữ gặp khó khăn Có nhiều ngôn ngữ phát triển, không phổ biến khó để tự học cách thông thường Trong số đó, Ruby ngôn ngữ hay mà lập trình viên thử Ruby mã nguồn mở, ngôn ngữ lập trình hướng đối tượng túy, nghĩa là, giá trị bao gồm: số, giá trị true false, đối tượng Ruby thiết kế tập trung vào tính đơn giản hiệu suất Ruby lấy cảm hứng từ Lisp, Perl, Smalltalk Mặc dù ngôn ngữ hướng đối tượng Ruby sử dụng kiểu lập trình thủ tục(procedure) chức năng(functional) Ruby làm gì? Ruby tạo nên nét đặc biệt ngôn ngữ lập trình Những nét là: SV thực hiện: Hoàng Việt Anh – Nguyễn Phong Trương Đề tài: Tìm hiểu Ruby on Rails, viết chương trình demo quản lý trung tâm tin học • Sức mạnh: kết hợp hoàn hảo sức mạnh hướng đối tượng túy ngôn ngữ hướng đối tượng với sức diễn đạt tiện lợi ngôn ngữ kịch bản(Script) Perl Chương trình Ruby nhỏ gọn, dễ đọc • Tính đơn giản : Cú pháp nghĩa trực quan dễ đọc (clean) Và “những trường hợp đặc biệt” mà ta cần phải ghi nhớ Như instance, số nguyên (integer), hay lớp (classes), vừa đủ giống vối ngôn ngữ khác Mỗi ta học bản, dễ dàng để đoán trước cách làm • Tính vô hình:Ruby giải phóng người lập trình khỏi cực nhọc việc nhồi nhét trình biên dịch (complier) Ruby nằm ‘vùng kiểm soát’ ,do ta tập trung giải lỗi tay • Sẵn có: Ruby nguồn mở nên sử dụng cách tự người dùng hay người phát triển Không giống nhiều ngôn ngữ khác, Ruby không giới hạn bạn vấn đề HĐH pháp lý Ruby chạy Unix hay Linux , Microsoft Windows,… So sánh số ngôn ngữ lập trình khác 4.1 Ruby với Java  Điểm giống nhau: Giống Java, Ruby có: • • •  Bộ nhớ quản lý thông qua thu dọn rác (garbage collector) Đối tượng chủ đạo Đều có method public, private, protected Điểm khác nhau: Không giống Java, Ruby: • • Không cần biên dịch code, ta chạy trực tiếp Sử dụng từ khóa “end” sau định nghĩa đó, ví dụ class, thay • • đặt dấu ngoặc quanh khối lệnh Sử dụng “require” thay “import” Java Tất biến thành viên private Từ bên ngoài, ta truy xuất thứ • • • qua method Mọi thứ đối tượng, bao gồm số, ví dụ 3.14 Tên biến nhãn, không kiểu kèm với Contructor luôn có tên “initialize” thay có tên class SV thực hiện: Hoàng Việt Anh – Nguyễn Phong Trương Đề tài: Tìm hiểu Ruby on Rails, viết chương trình demo quản lý trung tâm tin học • == equals() xử lý khác Ruby Sử dụng == ta muốn kiểm tra tương đương Ruby (với Java equal()) Sử dụng equal?() ta muốn biết hai đối tượng có hay hông (với Java ==) 4.2 Ruby với C++  Điểm giống nhau: Giống C++, Ruby cũng: • • Đều có method public, private, protected Cú pháp kế thừa (inheritance) có ký tự (nhưng với Ruby “ cd Web_RubyOnRails Sau thực thi ví dụ bạn thấy sau: Web_RubyOnRails> Bây ta bắt đầu tạo ứng dụng đơn giản với rails đặt tên demo Web_RubyOnRails> rails new demo Sau chạy câu lệnh hình bên create Rakefile : : : create tmp/pids create vendor/plugins SV thực hiện: Hoàng Việt Anh – Nguyễn Phong Trương 17 Đề tài: Tìm hiểu Ruby on Rails, viết chương trình demo quản lý trung tâm tin học create vendor/plugins/.gitkeep Web_RubyOnRails> Bước ta trỏ tới thư mục có tên demo vừa tạo Web_RubyOnRails> cd demo demo> ls -p app/config.ru doc/lib/ public/ README test/ vendor/config/ db/Gemfile log/ Rakefile script/ tmp/ Bước tạo kết nối tới sever demo> rails server => Booting WEBrick => Rails 3.0.5 application starting on http://0.0.0.0:3000 => Call with -d to detach => Ctrl-C to shutdown server [2010-11-14 10:53:35] INFO WEBrick 1.3.1 [2010-11-14 10:53:35] INFO ruby 1.8.7 (2010-08-16) [i686-darwin9.8.0] [2010-11-14 10:53:40] INFO WEBrick::HTTPServer#start: pid=6044 port=3000 Sau tạo xong cài đặt kết nối bạn vào thư mục sau: Web_RubyOnRails ->demo bạn thấy cấu trúc sau: SV thực hiện: Hoàng Việt Anh – Nguyễn Phong Trương 18 Đề tài: Tìm hiểu Ruby on Rails, viết chương trình demo quản lý trung tâm tin học Sau ta vào view/say tạo tập tin có tên hello.html.erb viết dòng chào Hello from Rails Để chạy file hello.html.irb bạn mở trình duyệt web gõ địa vào : url: http://localhost:3000/say/hello Bạn thấy sau : Vậy ta dễ dàng tạo ứng dụng web viết Ruby on Rails SV thực hiện: Hoàng Việt Anh – Nguyễn Phong Trương 19 Đề tài: Tìm hiểu Ruby on Rails, viết chương trình demo quản lý trung tâm tin học CHƯƠNG II: CHƯƠNG TRÌNH DEMO I Phân Tích Cơ Sở Dữ Liệu 1.Mô Hình ERD SV thực hiện: Hoàng Việt Anh – Nguyễn Phong Trương 20 Đề tài: Tìm hiểu Ruby on Rails, viết chương trình demo quản lý trung tâm tin học 2.Cơ Sở Dữ Liệu Quan Hệ Từ mô hình lược đồ csdl quan hệ: GIANGVIEN(MAGV, TenGV,Email,DiaChi,SDT,GioiTinh) LOP(MALOP, TENLOP,MoTa) MONHOC(MAMH, TenMH, MoTa) GIANGDAY(MAGV, MALOP, MAMH, NGAYBD) SINHVIEN(MASV, TenSV,Email,DiaChi,GioiTinh,NgaySinh) DANGKY(MASV, MAMH) 3.Mô Hình Vật Lý SV thực hiện: Hoàng Việt Anh – Nguyễn Phong Trương 21 Đề tài: Tìm hiểu Ruby on Rails, viết chương trình demo quản lý trung tâm tin học Diễn Giải Cơ Sở Dữ Liệu Bảng Giảng Viên: Lưu trữ thông tin giảng viên STT Thuộc Tính Kiểu Dữ Liệu MaGV int TenGV Email DiaChi GioiTinh SDT vachar(100) varchar(100) varchar(150) nvachar(10) vachar(13) Diễn Giải MGV (khóa chính) để phân biệt ràng buộc với Giang Viên khác, tạo ràng buộc với bảng khác Tên giảng viên Dùng để liên lạc Thông tin địa giảng viên Thông tin giới tính Số điện thoại giảng viên Bảng Sinh Viên: Lưu trữ thông tin sinh viên STT Thuộc Tính Kiểu Dữ Liệu MaSV int TenSV Email DiaChi GioiTinh SDT vachar(100) varchar(100) varchar(150) nvachar(10) vachar(13) Diễn Giải MaSV (khóa chính) để phân biệt ràng buộc với Sinh Viên khác, tạo ràng buộc với bảng khác Tên giảng viên Dùng để liên lạc Thông tin địa sinh viên Thông tin giới tính Số điện thoại sinh viên Bảng Lớp học: Lưu trữ thông tin lớp học STT Thuộc Tính Kiểu Dữ Liệu MaLH int TenLopHoc MoTa vachar(100) varchar(100) Diễn Giải MLH (khóa chính) để phân biệt ràng buộc với Lớp học khác, tạo ràng buộc với bảng khác Tên lớp học Mô tả chi tiết thông tin lớp học Bảng Môn học: Lưu trữ thông tin môn học STT Thuộc Tính Kiểu Dữ Liệu MaMH int TenMonHoc MoTa vachar(100) varchar(100) Diễn Giải MLH (khóa chính) để phân biệt ràng buộc với môn học khác, tạo ràng buộc với bảng khác Tên lớp học Mô tả chi tiết thông tin môn học SV thực hiện: Hoàng Việt Anh – Nguyễn Phong Trương 22 Đề tài: Tìm hiểu Ruby on Rails, viết chương trình demo quản lý trung tâm tin học Bảng Đăng Ký: Lưu trữ thông tin đăng ký môn học sinh viên STT Thuộc Tính Kiểu Dữ Liệu MaSV int MaMH int NgayDangKy datetime Diễn Giải MaSV(khóa phụ) để ràng buộc với bảng Sinh Viên MaMH (khóa phụ) để ràng buộc với bảng Môn Học Ngày sinh viên đăng ký môn học Bảng Dạy Học: Lưu trữ thông tin phân lớp dạy cho giảng viên STT Thuộc Tính Kiểu Dữ Liệu MaGV int MaLH vachar(100) MaMH varchar(100) NgayBatDau NgayKetThuc varchar(150) nvachar(10) Diễn Giải MaSV(khóa phụ) để ràng buộc với bảng Giảng Viên MaLH(khóa phụ) để ràng buộc với bảng Lớp Học MaMH(khóa phụ) để ràng buộc với bảng Môn Học Ngày bắt đầu giảng dạy Ngày kết thúc giảng dạy SV thực hiện: Hoàng Việt Anh – Nguyễn Phong Trương 23 Đề tài: Tìm hiểu Ruby on Rails, viết chương trình demo quản lý trung tâm tin học II Giao diện demo Ruby On Rails Giao diện chương trình Giao diện quản lý học sinh SV thực hiện: Hoàng Việt Anh – Nguyễn Phong Trương 24 Đề tài: Tìm hiểu Ruby on Rails, viết chương trình demo quản lý trung tâm tin học Giao diện tạo sinh viên Giao diện sửa thông tin sinh viên: SV thực hiện: Hoàng Việt Anh – Nguyễn Phong Trương 25 Đề tài: Tìm hiểu Ruby on Rails, viết chương trình demo quản lý trung tâm tin học Giao diện đăng ký môn học Giao diện xem lớp môn học giáo viên phụ trách SV thực hiện: Hoàng Việt Anh – Nguyễn Phong Trương 26 Đề tài: Tìm hiểu Ruby on Rails, viết chương trình demo quản lý trung tâm tin học CHƯƠNG III : KẾT LUẬN Nội dung chưa làm được: • Phân cấp quyền admin theo chức nhiệm vụ • Thiết kế vụng • Chưa làm số chức sau + Chưa hiển thị danh sách lớp học sinh viên dăng ký + Chức tìm kiếm sinh viên … • Xây dựng phần trợ giúp hướng dẫn sử dụng Kinh nghiệm thu được: • Có hội để vận dụng kiến thức lý thuyết nhà trường áp dụng vào thực tiễn • Củng cố kiến thức môn học: công cụ phần mềm, phân tích thiết kế hệ thống thông tin, ngôn ngữ lập trình… • Hiểu mô hình MVC, ORM, lập trình hướng đối tượng với Ruby On Rails, xây dựng ứng dụng web với Rrails framework Hướng phát triển Đề tài phát triển theo hướng sau tương lai gần:  Bổ sung hoàn thiện thêm giao diện người dùng: Thiết kế lập trình thêm số chức khác phục vụ, thu hút sinh viên đến với website Chẳng hạn, đưa thêm trang, chẳng hạn như: tin tức kiện, để sinh viên dễ dàng đăng ký môn học tới  Bổ sung chức quản lý website: - Quản lý phân quyền Admin: cho phép quản lý phân quyền admin theo nhiệm vụ chức riêng - Báo cáo thống kê: phát triển hoàn thiện thêm chức báo cáo số lượng học sinh đăng ký, thu chi, thống kê doanh số - Bình luận đánh giá môn học: giúp sinh viên bình luận đánh giá môn học DANH MỤC TÀI LIỆU THAM KHẢO SV thực hiện: Hoàng Việt Anh – Nguyễn Phong Trương 27 Đề tài: Tìm hiểu Ruby on Rails, viết chương trình demo quản lý trung tâm tin học [1] Christian Hellsten Jarkko Laine, Apress Beginning Ruby on Rails Ecommerce from novice to professional 2006 [2] Sam Ruby , Dave Thomas David Heinemeier Hansson, Agile Web Development with Rails 4th Edition [3] Robert Feldt,Lyle Johnson Michael Newmann, Ruby Developer ‘s Guide SV thực hiện: Hoàng Việt Anh – Nguyễn Phong Trương 28 [...]... Hoàng Việt Anh – Nguyễn Phong Trương 19 Đề tài: Tìm hiểu về Ruby on Rails, viết chương trình demo quản lý trung tâm tin học CHƯƠNG II: CHƯƠNG TRÌNH DEMO I Phân Tích Cơ Sở Dữ Liệu 1.Mô Hình ERD SV thực hiện: Hoàng Việt Anh – Nguyễn Phong Trương 20 Đề tài: Tìm hiểu về Ruby on Rails, viết chương trình demo quản lý trung tâm tin học 2.Cơ Sở Dữ Liệu Quan Hệ Từ mô hình trên lược đồ csdl quan hệ: GIANGVIEN(MAGV,... Ruby on Rails, viết chương trình demo quản lý trung tâm tin học Giao diện tạo mới sinh viên Giao diện sửa thông tin sinh viên: SV thực hiện: Hoàng Việt Anh – Nguyễn Phong Trương 25 Đề tài: Tìm hiểu về Ruby on Rails, viết chương trình demo quản lý trung tâm tin học Giao diện đăng ký môn học Giao diện xem lớp và môn học giáo viên phụ trách SV thực hiện: Hoàng Việt Anh – Nguyễn Phong Trương 26 Đề tài: Tìm. .. Lớp Học MaMH(khóa phụ) để ràng buộc với bảng Môn Học Ngày bắt đầu giảng dạy Ngày kết thúc giảng dạy SV thực hiện: Hoàng Việt Anh – Nguyễn Phong Trương 23 Đề tài: Tìm hiểu về Ruby on Rails, viết chương trình demo quản lý trung tâm tin học II Giao diện demo Ruby On Rails Giao diện chính chương trình Giao diện quản lý học sinh SV thực hiện: Hoàng Việt Anh – Nguyễn Phong Trương 24 Đề tài: Tìm hiểu về Ruby. .. Anh – Nguyễn Phong Trương 17 Đề tài: Tìm hiểu về Ruby on Rails, viết chương trình demo quản lý trung tâm tin học create vendor/plugins/.gitkeep Web_RubyOnRails> Bước tiếp theo ta sẽ trỏ tới thư mục có tên là demo vừa tạo Web_RubyOnRails> cd demo demo> ls -p app/config.ru doc/lib/ public/ README test/ vendor/config/ db/Gemfile log/ Rakefile script/ tmp/ Bước tiếp theo tạo kết nối tới sever demo> rails... tài: Tìm hiểu về Ruby on Rails, viết chương trình demo quản lý trung tâm tin học 3 Các tính năng chính của Ruby on Rails Ruby on Rails bao gồm các tính năng giúp tăng hiệu suất làm việc Sau đây là một số tính năng chính của nó: − Kiến trúc MVC: Ruby on Rails dựa trên kiến trúc MVC (Model View Controller) cho phép dữ liệu được tách ra − Thư viện truy xuất dữ liệu (Database Access Library): Ruby on Rails... quan tới trình bày dữ liệu Views xử lý công việc cung cấp dữ liệu cho trình duyệt web hoặc công cụ khác được sử dụng để thực hiện để yêu cầu từ ứng dụng SV thực hiện: Hoàng Việt Anh – Nguyễn Phong Trương 12 Đề tài: Tìm hiểu về Ruby on Rails, viết chương trình demo quản lý trung tâm tin học 4.3 Cotroller Cung cấp “chất kết dính” giữ models và views Trong Rails, controllers có trách nhiệm xử lý các yêu... lệnh 6.1.1 Cài Đặt Ruby và Ruby On Rails Trên Windows Sau đây là các bước cài đặt ruby trên Windows : Bước 1: Ta download Ruby Installer theo link : http://rubyinstaller.org SV thực hiện: Hoàng Việt Anh – Nguyễn Phong Trương 14 Đề tài: Tìm hiểu về Ruby on Rails, viết chương trình demo quản lý trung tâm tin học Giao diện trang web tải Ruby (bản Windows) Bước 2: Sau khi download xong bạn mở thư mục chứa... cáo số lượng học sinh đăng ký, thu chi, thống kê doanh số - Bình luận đánh giá một môn học: giúp sinh viên có thể bình luận đánh giá của mình đối với một môn học DANH MỤC TÀI LIỆU THAM KHẢO SV thực hiện: Hoàng Việt Anh – Nguyễn Phong Trương 27 Đề tài: Tìm hiểu về Ruby on Rails, viết chương trình demo quản lý trung tâm tin học [1] Christian Hellsten và Jarkko Laine, Apress Beginning Ruby on Rails Ecommerce... Nguyễn Phong Trương 22 Đề tài: Tìm hiểu về Ruby on Rails, viết chương trình demo quản lý trung tâm tin học Bảng Đăng Ký: Lưu trữ thông tin đăng ký môn học của sinh viên STT Thuộc Tính Kiểu Dữ Liệu 1 MaSV int 2 MaMH int 3 NgayDangKy datetime Diễn Giải MaSV(khóa phụ) để ràng buộc với bảng Sinh Viên MaMH (khóa phụ) để ràng buộc với bảng Môn Học Ngày sinh viên đăng ký môn học Bảng Dạy Học: Lưu trữ thông tin. .. Phong Trương 18 Đề tài: Tìm hiểu về Ruby on Rails, viết chương trình demo quản lý trung tâm tin học Sau đó ta vào view/say tạo tập tin có tên là hello.html.erb và viết 1 dòng chào Hello from Rails Để chạy file hello.html.irb bạn mở trình duyệt web và gõ địa chỉ vào : url: http://localhost:3000/say/hello Bạn sẽ thấy như sau : Vậy là ta đã dễ dàng tạo ra được một ứng dụng web viết bằng Ruby on

Ngày đăng: 09/11/2015, 17:48

Từ khóa liên quan

Mục lục

  • ĐÁNH GIÁ, NHẬN XÉT CỦA GIÁO VIÊN

  • Nhận Xét Của Giáo Viên Phản Biện

  • LỜI CẢM ƠN

  • MỤC LỤC

  • CHƯƠNG I: TỔNG QUAN VỀ RUBY ON RAILS FRAMEWORK

    • I. Ngôn ngữ Ruby

      • 1. Lịch sử phát triển

      • 2. Ruby là gì?

      • 3. Ruby có thể làm được những gì?

      • 4. So sánh một số ngôn ngữ lập trình khác

        • 4.1 Ruby với Java

        • 4.2 Ruby với C++

        • 5. Ruby IDE và editor hỗ trợ

        • II. Rails Framework

          • 1. Lịch sử phát triển

          • 2. Ruby on Rails là gì?

          • 3. Các tính năng chính của Ruby on Rails

          • 4. Kiến trúc MVC

            • 4.1 Models

            • 4.2 Views

            • 4.3 Cotroller

            • 5. Các thành phần của Rails

              • 5.1 Action Pack

                • 5.1.1 Action Controller

                • 5.1.2 Action View

                • 5.1.3 Action Dispatch

                • 5.2. Action Mailer

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

Tài liệu liên quan