1. Trang chủ
  2. » Công Nghệ Thông Tin

BÁO CÁO THỰC TẬP CÔNG NHÂN ĐỀ TÀI Phần mềm QUẢN LÝ NHÀ HÀNG

21 536 1

Đ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

Định dạng
Số trang 21
Dung lượng 6,55 MB

Nội dung

TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO THỰC TẬP CÔNG NHÂN ĐỀ TÀI Phần mềm QUẢN NHÀ HÀNG Đà Nẵng, 05/2017 MỤC LỤC MỞ ĐẦU Tổng quan đề tài Phần mềm Quản nhà hàng ứng dụng Ruby dựa tảng framework Rails, Quản nhà hàng phần mềm với chức việc quản lý, phân quyền giám sát, thay đổi nội dung phận cấu tạo nên nhà hàng, công tác quản lý, giới thiệu nhà hàng Mục đích ý nghĩa đề tài 2.1 Mục đích Cho phép khách hàng dễ dàng tương tác với thành phần nhà hàng, giúp tiết kiệm thời gian, công sức, tiền bạc việc quản phát triển nhà hàng Giúp kết nối nhà hàng đến với người người dùng, phát triển nhà hàng theo hướng chuyên nghiệp 2.2 Ý nghĩa Công cụ quản hiệu quả, đơn giản, chuyên nghiệp Đáp ứng yêu cầu cần thiết để xây dựng hệ thống nhà hàng chặt chẽ, đề cao tính sáng tạo, thu hút người yêu ẩm thực khắp nơi Phương pháp thực Gợi ý phương pháp: Phương pháp phân tích tổng hợp từ tài liệu: sử dụng tài liệu Phương pháp phân tích thiết kế hệ thống Bố cục đề tài Báo cáo đề tài bao gồm nội dung sau: Mở đầu Chương 1: trình bày Tổng quan đề tài Chương 2: trình bày Phân tích thiết kế hệ thống Chương 3: trình bày Môi trường cài đặt đánh giá Kết luận hướng phát triển CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 1.1 NỘI DUNG THUYẾT Ruby on Rails (RoR) web framework viết ngôn ngữ Ruby tất ứng dụng Rails viết Ruby Ruby on Rails tạo để hỗ trợ lập trình viên việc phát triển phần mềm web cách nhanh Rails bao gồm web server, hỗ trợ kết nối sở liệu nhiều thứ khác a) Một số nội dung liên quan đến Rails Kiến trúc RoR Kiến trúc RoR có đặc điểm sau: • Kiến trúc MVC • Representational Sate Transfer (REST) cho web services REST viết tắt Representational State Transfer REST thay cho web service, SOAP WSDL RESTful web service thích hợp mà service web có tính chất phi trạng thái, bandwith bị giới hạn (Nó phù hợp cho thiết bị mobile không sử dụng nhiều tài nguyên giao thức khác SOAP) • Hỗ trợ nhiều hệ quản trị sở liệu lớn MySQL, Oracle, MS SQL, PostgreSQL… • Ngôn ngữ script Ruby viết bên phía Server • Sử dụng quy ước thay phải cấu hinh • Có sinh script để tự động thực task • Tương ứng với đặc điểm RoR gồm thành phần sau: • Action Mailer Mô đun chịu trách nhiên cung cấp dịch vụ email Nó xử email đến cho phép tao email Mô đun xử từ email text đơn giản đến email có định dạng phức tạp Action Mailer kế thừa từ Action Controller, cung cấp phương thức để tao email với template giống Action View sử dụng để render trang lên trình duyệt • Action Pack Mô đun Action Pack cung cấp lớp tầng controller view mô hình MVC Những mô đun tiếp nhận request từ client sau ánh xạ chúng đến action tương ứng action định nghĩa tầng controller sau action render view hiển thị lên trình duyệt Action Pack chia thành mô đun con, là: • Action Dispatch: • Action Controller: • Action View: Được gọi Action Controller Nó render view có yêu cầu, xử routing request, parse request xử vài trình liên quan đến giao thức HTTP xử cookies, session… Sau Action Dispatch xử request routing request đến controller tương ứng, Mô đun cung cấp base controller tất để controller khác kế thừa từ Action Controller chứa action để điều khiển model view, thêm vào quản session người dùng , luồng chảy ứng dụng, caching, mô đun helper thực thi lọc trình tiền xử Action View cung cấp master layouts, templates view helpers , thành phần hỗ trợ việc sinh tự động phần khung cho trang HTML hay định dạng khác Có template Rails : rhtml, rxml rjs Định dạng rhtml sinh view HTML cho người dùng có nhúng thêm đoạn code Ruby (ERB), rxml sử dụng để xây dựng tài liệu XML, rjs cho phép tạo đoạn mã động JavaScript để thực thi AJAX functionality • Active Model Định nghĩa interface mô đun Action Pack Active Record Giao diện Action Record dùng bên Rails, cung cấp chức Object – relational mapping (ORM) ORM kỹ thuật lập trình giúp chuyển đổi liệu thệ thống không tương thích viết ngôn ngữ hướng đối tượng • Active Record Được sử dụng để quản liệu sở liệu quan hệ thông qua đối tượng Trong RoR mô đun Active Record cung cấp object – relational mapping đến class Mô đun xây dựng nên tầng model,giúp kết nối bảng database với lớp tương ứng lớp Ruby Rails cung cấp công cụ để thực thi chức CRUD mà cấu hình CRUD cho phép tạo mới, đọc, cập nhật xóa ghi sở liệu thông qua đối tượng Ruby Thêm vào đó, cung cấp khả tìm kiếm thông minh khả tạo mối quan hệ hay liên kết model Active Records có quy ước chặt chẽ bắt developer phải tuân thủ theo : phải đặt tên lớp, bảng, khóa khóa • Mô đun sử dụng để tạo lớp tầng Model, chúng chứa đựng phần logic nghiệp vụ, xử validate mối quan hệ, ánh xạ đến bảng hỗ trợ kết nối đến hệ quản trị sở liệu khác • Active Resource Quản kết nối RESTful web services đối tượng nghiệp vụ, làm giảm số lượng code cần viết để ánh xạ đến tài nguyên Active Resource ánh xạ model class đến tài nguyên REST xa giống cách mà Active Record ánh xạ từ model class đến bảng sở liệu Nó cung cấp chế proxy Active Resource (client) RESTful service Khi có request cần truy cập đến tài nguyên xa, REST XML sinh truyền đi, sau kết parse sang đối tượng Ruby • Active Support Là tiện ích thư viện chuẩn Ruby, hữu ích cho trình phát triển ứng dụng bao gồm nhiều hỗ trợ cho multi-bytes string, internationalization, time zones testing • Railties Đảm nhiệm kết nối tất các mô đun với nhau, thêm vào xử trình mồi cho ứng dụng, giao diện dòng lệnh, cung cấp sinh code Rails Rake lệnh sử dụng để thực task database, triển khai, tài liệu, testing cleanups Mô hình MVC RoR sử dụng mẫu kiến trúc Model – View – Controller(MVC) để tăng cường khả bảo trì phát triển ứng dụng MVC cho phép chia ứng dụng thành tầng sử logic, nghiệp vụ giao diện người dùng cách rõ ràng, điều gúp cho việc kiểm thử tái sử dụng code dễ ràng Model Tầng Model xử nghiệp vụ ứng dụng trực tiếp thao tác với liệu Trong RoR, tầng model thường sử dụng để tương tác với thành phần tương ứng với chúng sở liệu validate liệu View Tầng view hiển thị giao diện người dùng, RoR view file HTML nhúng với đoạn mã Ruby Các đoạn mã Ruby nhúng HTML file đơn giản, thường gồm vòng lặp lệnh điều kiện rẽ nhánh, sử dụng để thị liệu lên form view Controller Controller tương tác với model view Các request đến từ trình duyệt xử controller, sau controller tương tác với model để lấy liệu sau trả cho view để hiển thị thông tin Cấu Trúc Thư Mục Của Ruby on Rails Sau sử dụng lệnh có Ruby on Rails để tạo ứng dụng blog bạn thấy thư mục gốc ứng dụng Rails tạo sẵn danh sách thư mục tập tin cho bạn Ruby on Rails Framework gợi ý cấu trúc thư mục cho lập trình viên phát triển ứng dụng Hầu hết tất ứng dụng viết dựa Ruby on Rails thường tuân theo cấu trúc thư mục thống với thư mục khác sử dụng với mục định khác Thư Mục app Thư mục chứa controllers, models, views, helpers, mailers assets cho ứng dụng Trong đó: • controllers: tập tin controller dùng để điều hướng luồng chạy ứng dụng • models: tập tin models dùng để tương tác với database ứng dụng (hoặc dùng để mô đối tượng mà không cần kết nối tới database) • helpers: tập tin helpers chứa hàm (hoặc lớp) hỗ trợ sử dụng controllers, models hay views • views: tập tin views sử dụng controller dùng để hiển thị nội dung trang • mailers: bao gồm template mẫu dùng để gửi email • assets: bao gồm tập tin ảnh, css, javascripts • Thư Mục components Các components giống ứng dung models, views controllers riêng mini chứa Thư Mục bin Thư mục bao gồm đoạn mã script để khởi động ứng dụng Rails dùng để thiết lập hay deploy ứng dụng Thư Mục config Thư mục dùng để cấu hình ứng dụng cấu hình thông số database, định nghĩa routes Tập Tin config.ru Tập tin dùng để cấu hình cho Rack server bán sử dụng Rack để chạy ứng dụng Thư Mục db Thư mục chứa tập tin dùng để tạo cấu trúc schema cho database tập tin migrations Tập Tin Gemfile Gemfile.lock Tập tin Gemfile dùng để liệt kê gem dùng Gemfile.lock dùng để ghi lại thông tin trình cài đặt gem ứng dụng Thư Mục lib Bao gồm thư viện dùng ứng dụng Thông thường thư viện viết lập trình viên tham gia vào viết ứng dụng Các thư viện bên thứ thường không đặt thư mục mà để thư mục vendor mà đề cập phần Thư Mục log Chứa ghi log thông tin trình cài đặt, khởi động, chạy hay ngừng ứng dụng Thư Mục public Nội dung tập tin đặt thư mục tải trực tiếp trình duyệt Ví dụ ứng dụng bạn truy cập thông qua tên miền hoclaptrinh.org bạn để tập tin có tên logo.png thư mục này, bạn truy cập trực tiếp tập tin qua đường dẫn hoclaptrinh.org/logo.png Thông thường để chứa tập tin css, javascript hay hình ảnh thư mục Tập Tin Rakefile 10 Tập tin Rakefile Rails sử dụng để tìm kiếm tác vụ mà chúng thực thi cửa sổ dòng lệnh thông qua rake Bạn không nên định nghĩa trực tiếp tác vụ Rakefile mà việc định nghĩa tác vụ thực thông qua tập tin thư mục lib/tasks Tập Tin README.rdoc Tập tin chứa thông tin tổng quan ứng dụng mô tả ngắn gọn mục đích ứng dụng, phiên ứng dụng, thông tin tác giả viết ứng dụng hay loại giấy phép phát hành ứng dụng Thư Mục test Thư mục dùng để chứa test case sử dụng ứng dụng bao gồm unit tests, fixture tests loại test khác có Ruby on Rails Thư Mục tmp Lưu tập tin tạm thời thường tập tin cache, pid hay sessions Thư Mục vendor Thư mục chứa thư viện bên thứ sử dụng ứng dụng Trên danh sách thư mục tập tin sử dụng ứng dụng Rubu on Rails mô tả ngắn gọn nội dung chúng Thông qua viết hy vọng bạn có nhìn tổng quan cấu trúc ứng dụng Ruby on Rails 11 1.2 MÔ TẢ YÊU CẦU 1.3.KẾT CHƯƠNG Chương trình bày tổng quan phần mềm quản nhà hàng 12 CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2.1 PHÂN TÍCH YÊU CẦU VÀ THIẾT KẾ HỆ THỐNG: - Điều trước hết hệ thống quản nhà hàng phải có hệ thống quản tài khoản có phân quyền (người dùng admin) Cơ hệ thống tài khoản dựa theo sách Ruby On Rails Tutorial (Rails 5) Trong bao gồm chức năng: User tạo mới, đăng nhập, xem thông tin cá nhân, tiện ích điều hướng; Chỉ có tài khoản Admin cấp lúc khởi động website, có nghĩa tạo xóa tài khoản Admin, admin có tất quyền hành thao tác với User: xem, thay đổi , xóa,… - Các chức website nhà hàng chủ yếu thao tác với menu nên tất nhiên phải làm chức menu Tuy nhiên để thuận lợi cho việc thay đổi liệu tránh gặp lỗi làm chức Categories – category chứa nhiều menu – trước Category dược (thêm-đọc-sửa-xóa) admin Upload ảnh cho category chúng em dùng gem CarrierWave Tiếp theo tạo chức Menu tương tự Category Chức bổ sung với menu search (tìm kiếm), Pagination (phân trang) để tránh đổ hết liệu lúc Sau kết nối model lại với với quan hệ: Category chứa nhiều menu – menu thuộc Category - Hình sơ đồ quan hệ model Category MenuItem Category - Content: string ImageUrl: string has_many MenuItem - Name: string belongs_to - Price: integer - Description: text - Thao tác model giới hạn với User với access control hỗ trợstring rails User - ImageUrl: xem, tìm kiếm - Nói rõ chức tìm kiếm Cách thực sau: tạo search box (html form) để nhập chuỗi tìm kiếm Trong kiện submit form điều hướng đến trang nhiên thêm query param (tham số) chuỗi cần tìm kiếm) Tại controller thêm code xử thay trả MenuItem theo thứ tự có param trả MenuItem có name chứa chuỗi tham số (chuỗi nhập vào form) - Mục đích quản nhà hàng online không để user xem menu mà order trực tuyến Mỗi order phải trả lời câu hỏi như: bàn nào? user đặt? đặt 13 nào? đặt bao nhiêu? tổng giá món? tổng giá order? đặt nào? chấp nhận chưa? thời gian lúc tạo order? Để thuận lợi cho user thoải mái thay đổi order trước xác nhận order, user has_one (có một) đệm order – TempOrder – giống giỏ hàng chứa thông tin Order trừ thông tin chấp nhận admin Sau User xác nhận Order – TempOrder – có Order tạo User Order chép thông tin từ TempOrder xác nhận Sau ta clear lại TempOrder User - Hình quan hệ model liên quan đến chức Order - Với TempOrder (giống giỏ hàng) quan hệ tương tự Order User has_one thay has_many, ta bỏ isAccepted? (đã chấp nhận chưa) 14 - Với Order mà không đặt coi đặt bàn - Chỉ admin toàn quyền thao tác model Order - Ta tạo trang xem Order dựa vào thời gian tạo Order - Ta có quan hệ Table has_many Order – Order belongs_to Table Vì từ table xuất Order mà đặt Table - Mỗi Order ta coi bill Dùng access control rails để Admin xem, chỉnh sửa, xóa bill (Order) - Để quản nhân viên (Staff), ta tạo model Staff chứa thông tin cần thiết nhân viên như: tên, tuổi, địa chỉ, mô tả, hình ảnh Cũng tương tự menu Tuy nhiên Admin thao tác với Staff Staf - name: string - age: integer address: text description: text imageUrl: string 15 2.2 KẾT CHƯƠNG Chương trình bày bước phân tích yêu cầu thiết kế chức hệ thống quản nhà hàng Đây tảng để dễ dàng bổ sung tính sau 16 CHƯƠNG 3: MÔI TRƯỜNG CÀI ĐẶT VÀ ĐÁNH GIÁ 3.1 MÔI TRƯỜNG CÀI ĐẶT Để sử dụng Ruby on Rails cần cài đặt máy tính phần mềm sau: 1/Ruby: Ngôn ngữ lập trình sử dụng Ruby on Rails 2/RubyGems: Chương trình quản thư viện Ruby (còn gọi gem) máy tính (hoặc máy chủ) 3/Ruby on Rails: Khác với số framework khác, Ruby on Rails framework sử dụng phần mềm ta cần cài đặt Rails máy tính (hoặc máy chủ) 4/SQLite3: Phần mềm quản trị sở liệu dùng ứng dụng Rails sử dụng với nhiều chương trình quản trị sở liệu khác Ruby ngôn ngữ đa tảng cài đặt hệ điều hành phổ biến Windows, Mac OS, phiên Linux Ubuntu, Linux Mint, Trong ứng dụng web Quảnnhà hàng , ta cài đặt môi trường Ubuntu Ubuntu 3.2 KẾT QUẢ TRIỂN KHAI Một số hình ảnh kết ứng dụng quảnnhà hàng : Home 1.1 Home 1.2 Home 1.3 Login Menu Foods Jobs Management Staffs Management 17 Review Order Ứng dụng quảnnhà hàng thể rõ tính như: Đối với người dùng: + Có thể xem menu, tìm kiếm đặt ăn + Có thể đặt bàn định đặt ăn lúc không + Có thể đánh giá nhà hàng 18 Đối với người quản trị: + Quản lí menu : thêm , xóa, chỉnh sửa, xếp theo ngày, tháng + Quảnphân loại : thêm, xóa, chỉnh sửa loại đồ ăn, đồ uống + Quảnnhân viên: thêm, xóa, chỉnh sửa thông tin nhân viên + Quảncông việc: thêm, xóa, chỉnh sửa dạng công việc + Quản lí bill: tạo, thêm, xóa, chỉnh sửa hóa đơn (theo bàn, khách hàng, nhan viên) + Quản lí bàn: kiểm tra việc đặt bàn khách hàng 19 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN KẾT QUẢ ĐẠT ĐƯỢC Trong thời gian tìm hiểu, nghiên cứu sở thuyết triển khai ứng dụng công nghệ, đề tài đạt kết sau: Về mặt thuyết, đề tài đạt đầy đủ kiến thức Ruby,web-framework Rails, HTML, CSS, Jquery thiết kế database với yêu cầu đề tài Về mặt thực tiễn ứng dụng, đề tài đáp ứng nhu cầu người dùng người quản trị nhà hàng Cả người dùng quản trị thao tác dễ dàng website Ứng dụng Quảnnhà hàng tiện dụng thích hợp cho việc quảnnhà hàng vừa nhỏ, giúp việc điều hành hoạt động tiện lợi , nhanh chóng có tổ chức Tuy nhiên, đề tài tồn vấn đề sau: − Việc tính toán thu nhập, chi tiêu nhà hàng chưa thực − Việc tương tác với khách hàng thông qua email chưa thực HƯỚNG PHÁT TRIỂN Một số số hướng phát triển đề tài sau: − Sửa chữa thiếu sót vấn đề tồn − 20 TÀI LIỆU THAM KHẢO Tiếng Anh Internet https://www.railstutorial.org/book 21 ... quan đề tài Phần mềm Quản lý nhà hàng ứng dụng Ruby dựa tảng framework Rails, Quản lý nhà hàng phần mềm với chức việc quản lý, phân quyền giám sát, thay đổi nội dung phận cấu tạo nên nhà hàng, công. .. tác quản lý, giới thiệu nhà hàng Mục đích ý nghĩa đề tài 2.1 Mục đích Cho phép khách hàng dễ dàng tương tác với thành phần nhà hàng, giúp tiết kiệm thời gian, công sức, tiền bạc việc quản lý phát... quan phần mềm quản lý nhà hàng 12 CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2.1 PHÂN TÍCH YÊU CẦU VÀ THIẾT KẾ HỆ THỐNG: - Điều trước hết hệ thống quản lý nhà hàng phải có hệ thống quản lý tài

Ngày đăng: 20/06/2017, 23:03

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w