Báo cáo PHÂN TÍCH THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM QUẢN LÝ TÍNH TIỀN NHÀ HÀNG CHƯƠNG 1 KIẾN THỨC NỀN TẢNG 1 1 Cơ sở lý thuyết 1 1 1 Phân tích và thiết kế hướng đối tượng Phân tích thiết kế hướng đối tượn.
Báo cáo PHÂN TÍCH THIẾT KẾ VÀ XÂY DỰNG PHẦN MỀM QUẢN LÝ TÍNH TIỀN NHÀ HÀNG CHƯƠNG 1: KIẾN THỨC NỀN TẢNG 1.1 Cơ sở lý thuyết: 1.1.1 Phân tích thiết kế hướng đối tượng: Phân tích thiết kế hướng đối tượng(OOAD) giai đoạn phát triển mơ hình xác súc tính vấn đề, có thành phần đối tượng khái niệm đời thực, dễ hiểu người sử dụng Năm nguyên tắc thiết kế hướng đối tượng: • Một lớp nên có lý để thay đổi, tức lớp nên xử lý chức đơn lẻ Nếu đặt nhiều chức vào lớp dẫn đến phụ thuộc chức với sau thay đổi chức phá vỡ chức cịn lại • Các lớp, module, chức nên dễ dàng Mở cho việc thêm chức Đóng cho việc thay đổi • Lớp dẫn xuất phải có khả thay lớp cha • Chương trình khơng nên buộc phải cài đặt Interface mà khơng sử dụng đến • Các module cấp cao không nên phụ thuộc vào module cấp thấp Cả hai nên phụ thuộc thông qua lớp trừu tượng Lớp trừa tượng không nên phụ thuộc vào chi tiết Chi tiết nên phụ thuộc vào trừu tượng UML ngôn ngữ mơ hình hóa hợp dùng để đặc tả, trực quan hóa tư liệu hóa phần mềm hướng đối tượng, có phần bao gồm ký hiệu hình học, phương pháp hướng đối tượng sử dụng để thể miêu tả thiết kế hệ thống Phân tích thiết kế hướng đối tượng cần vẽ, sơ đồ để mơ tả hệ thống thiết kế, cịn UML ngôn ngữ mô tả vẽ, sơ đồ nên cần nội dung thể OOAD sử dụng UML ngành phần mềm bao gồm: • View (góc nhìn): Mỗi góc nhìn thể khía cạn Trong phần mềm OOAD sử dụng UML có góc nhìn: Về ca sử dụng, cấu trúc, triển khai hệ thống, thành phần hệ thống Hình 1.1 Các view OOAD sử dụng UML • Diagram (sơ đồ): Các sơ đồ dùng để thể view hệ thống Sơ đồ mô tả ca sử dụng, mô tả cấu trúc hệ thống, mô tả tương tác đối tượng hệ thống Hình 1.2 Các sơ đồ OOAD sử dụng UML • Notations (các ký hiệu): Các ký hiệu để vẽ, từ vựng ngơn ngữ tự nhiên • Mechanisms (các quy tắc): Mỗi sơ đồ có quy tắc riêng cần nắm quy tắc riêng cần nắm quy tắc để tạo nên thiết kế quán 1.1.2 Ngôn ngữ thiết kế website HTML CSS: HTML(Hypertext Markup Language) mã dùng để xây dựng nên cấu trúc nội dung trang web Ví dụ, nội dung cấu thành loạt đoạn văn, danh sách liệt kê, sử dụng hình ảnh bảng biểu HTML khơng phải ngơn ngữ lập trình, ngôn ngữ đánh dấu văn (markup language) xác định cấu trúc nội dung trang web HTML bao gồm loạt thuộc tính, dùng để đính kèm, gói phần khác nội dung để làm chúng hoạt động theo cách định Các thẻ kèm theo làm đoạn văn hay hình ảnh siêu liên kết từ nơi khác, in đậm, thay đổi phông chữ Một số đặc điểm HTML: • Là ngơn ngữ đơn giản • Rất dễ dàng để trình bày hiệu với HTML có nhiều thẻ định dạng • Đây ngôn ngữ đánh dấu, vi sử dụng cách linh hoạt để thiết kế web với văn • Có thể thêm hình ảnh, video âm sống động vào trang web, khiến hiệu tương tác cao • Có thể liên kết trực tiếp đến trang web khác • Là tảng độc lập, nên hiển thị tảng khác CSS – dùng để miêu tả cách trình bày tài liệu viết ngôn ngữ HTML XHTML CSS viết tắt Cascading Style Sheets CSS hiểu cách đơn giản cách mà chúng thêm kiểu hiển thị (font chữ, kích thước, màu sắc,…) cho tài liệu Web CSS có tác dụng là: • Hạn chế tối thiểu việc làm rối HTML trang Web thẻ quy định kiểu dáng(chữ đậm, in nghiêng, ), giúp mã nguồn trang Web trở nên gọn gàng • Tách biệt nội dung trang Web định dạng hiển thị, dễ dàng cho việc thay đổi • Tạo kiểu dáng áp dụng cho nhiều trang Web, tránh lặp lại việc định dạng cho trang Web giống Hình 1.3 Minh họa trang web sử dụng HTML CSS 1.1.3 Ngơn ngữ lập trình JAVASCRIPT: JavaScript ngơn ngữ lập trình HTML ứng dụng Web Nó nhẹ sử dụng phổ biến phần trang web, mà thi hành chúng cho phép Client-Side script tương tác với người sử dụng tạo trang web động Nó ngơn ngữ chương trình thơng dịch với khả hướng đối tượng JavaScript có số ưu điểm: • Tiết kiệm băng thơng máy chủ: Javascript sử dụng thiết kế website giúp tiết kiệm băng thông máy máy chủ vô tốt chúng chạy trực tiếp máy người dùng • Linh hoạt vận hành, tương thích tốt: Để thực thi, trình duyệt web cần tải file JavaScript nhúng thẳng vào file HTML chạy, mà khơng cần tải thêm nhiều file khác Javascript chạy hầu hết trình duyệt phổ biến Cốc Cốc, Chrome, Firefox, Safari • Dễ dàng kiểm tra, xử lý vấn đề: Với lợi có nhiều trình duyệt hỗ trợ nên việc kiểm tra xử lý vấn đề dễ dàng Đa số trình duyệt web có cài sẵn công cụ xử lý lỗi Javascript bảng điều khiển trình duyệt • Nâng cao trải nghiệm người dùng: Website sử dụng ngơn ngữ lập trình giúp thu hút người dùng tính hay ho, hình ảnh sinh động hấp dẫn, chức lướt tương tác nhanh nhạy 1.1.4 Ngơn ngữ lập trình PHP: PHP ngôn ngữ script tạo cho giao tiếp phía server Do đó, xử lý giao tiếp phái server thu thập liệu, biểu mẫu, quản lý file server, sửa đổi sở liệu nhiều PHP ngơn ngữ script phía server có sẵn - cịn nhiều ngơn ngữ khác Tuy nhiên, lợi đối thủ cạnh tranh chạy trang web WordPress Một số lý khác khiến PHP ngơn ngữ script tuyệt vời để sử dụng: • Dễ học: Có thể học dễ dàng có tài liệu tuyệt vời chức ví dụ • Được sử dụng rộng rãi, phổ biến: Nó sử dụng để tạo loại tảng thương mại điện tử, blogs, phương tiện truyền thông xã • Chi phí thấp: Nó nguồn mở để sử dụng miễn phí • Cộng đồng lớn: Nếu gặp phải khó khăn đó, khơng phải điều lo lắng có nhiều blog PHP Internet • Tích hợp với sở liệu: Ví dụ MySQL, Oracle 1.1.5 Hệ quản trị sở liệu: Hệ quản trị sở liệu (Database Management System) hệ thống thiết kế để quản lý khối lượng liệu định cách tự động có trật tự Các hành động quản lý bao gồm chỉnh sửa, xóa, lưu tìm kiếm thơng tin nhóm liệu định Hình 1.4 Kiến trúc hệ quản trị sở liệu Hệ quản trị CSDL có chức như: • Cung cấp môi trường tạo lập sở liệu: Hệ quản trị CSDL đóng vai trị cung cấp cho người dùng ngôn ngữ định nghĩa liệu để mô tả, khai báo kiểu liệu, cấu trúc liệu • Cung cấp cách cập nhật khai thác liệu: Hệ quản trị CSDL cung cấp cho người dùng ngôn ngữ thao tác liệu để diễn tả yêu cầu, thao tác cập nhật khai thác sở liệu Thao tác liệu bao gồm: cập nhật (thêm, sửa, xóa) khai thác (tìm kiếm, kết xuất liệu) • Cung cấp cơng cụ kiểm soát, điều khiển truy cập vào cở liệu: Đảm bảo việc thực số yêu cầu hệ quản trị CSDL Bao gồm: Đảm bảo an ninh, phát ngăn chặn truy cập bất hợp pháp; Duy trì tính qn liệu; Tổ chức điều khiển truy cập; Khơi phục liệu có cố 1.2 Công cụ sử dụng: 1.2.1 Thư viện JQUERY: JQuery thư viện kiểu JavaScript, hệ thống lại hàm JavaScript cách ngắn gọn, dễ dùng, tạo vào năm 2006 JQuery làm đơn giản hóa việc truyền tải HTML, xử lý kiện tương tác với Ajax, tích hợp nhiều module khác từ module hiệu ứng module truy vấn selector Nhờ số tính ưu việt Jquery, nên sử dụng hầu hết website giới Thư viện lập trình cho phép người dùng nâng cao khả tương tác hoạt động trang: • Đơn giản hóa việc code, giúp người dùng viết mã chức liên quan đến giao diện cách dễ dàng, nhanh chóng • Cho phép ứng dụng web tương thích với trình duyệt phát triển • JQuery nhanh có khả mở rộng • Sử dụng hầu hết tính đại trình duyệt • Hỗ trợ hầu hết trình duyệt 1.2.2 Mơ hình MVC: MVC(viết tắt Model-View-Controller) đại diện cho nhà phát triển kiến trúc áp dụng xây dựng ứng dụng Với kiến trúc MVC, xem xét cấu trúc ứng dụng liên quan đến cách luồng liệu hoạt động Hình 1.5 Mơ hình MVC Một số ưu điểm mơ hình MVC: • Trình xử lý rõ ràng • Mơ hình MVC quy hoạch class/function vào thành phần riêng biệt, việc làm q trình phát triển - quản lý - vận hành - bảo trì web diễn thuận lợi • Tạo chức chuyên biệt hóa, đồng thời kiểm sốt luồng xử lý • Tạo mơ hình chuẩn cho dự án, người chun mơn ngồi dễ tiếp cận • Xử lý nghiệp đơn giản dễ dàng triển khai với dự án nhỏ 1.2.3 Framework Laravel: Framework thư viện với tài nguyên có sẵn cho lĩnh vực để lập trình viên sử dụng thay phải tự thiết kế Với Framework, 10 Hình 2.24 Biểu đồ đặt bàn 51 Hình 2.25 Biểu đồ xem danh sách sản phẩm Hình 2.26 Biểu đồ tìm kiếm sản phẩm 52 Hình 2.27 Biểu đồ thêm sản phẩm 53 Hình 2.28 Biểu đồ cập nhật sản phẩm 54 Hình 2.29 Biểu đồ xóa sản phẩm 55 2.4 Biểu đồ lớp Hình 2.30 Biểu đồ lớp 56 2.5 Thiết kế sở liệu Bảng units (đơn vị): STT Thuộc tính Kiểu liệu Khóa Mơ tả id bigint PK Mã đơn vị name varchar(50) Tên created_at timestamp Ngày tạo updated_at timestamp Ngày cập nhật Bảng categories (danh mục): STT Thuộc tính Kiểu liệu Khóa Mơ tả id bigint PK Mã danh mục c_name varchar(50) Tên c_status int Trạng thái c_description varchar(200) Mô tả c_avatar varchar(200) Ảnh đại diện c_parent_id bigint 57 FK Mã danh mục cha created_at timestamp Ngày tạo updated_at timestamp Ngày cập nhật Bảng products (sản phẩm): STT Thuộc tính Kiểu liệu Khóa Mơ tả id bigint PK Mã sản phẩm pro_name varchar(200) Tên pro_avatar varchar(200) Ảnh đại diện pro_sale int Giảm giá pro_content varchar(200) Nội dung pro_price int Giá pro_unit_id bigint pro_description varchar(200) pro_category_id bigint 10 created_at timestamp Ngày tạo 11 updated_at timestamp Ngày cập nhật FK Mã đơn vị Mô tả FK Mã danh mục Bảng admin (quản trị viên): STT Thuộc tính Kiểu liệu Khóa Mơ tả id bigint PK Mã quản trị viên name varchar(200) Tên email varchar(200) Email phone varchar(200) Điện thoại address varchar(200) Địa 58 password varchar(200) Mật avatar varchar(200) Ảnh created_at timestamp Ngày tạo updated_at timestamp Ngày cập nhật Bảng users (khách hàng): STT Thuộc tính Kiểu liệu Khóa Mơ tả id bigint PK Mã khách hàng name varchar(200) Tên email varchar(200) Email phone varchar(200) Điện thoại address varchar(200) Địa password varchar(200) Mật status int Trạng thái avatar varchar(200) Hình ảnh created_at timestamp Ngày tạo 10 updated_at timestamp Ngày cập nhật Bảng dinners_table (bàn ăn): STT Thuộc tính Kiểu liệu Khóa Mơ tả id bigint PK Mã bàn ăn name varchar(200) Tên status varchar(200) Trạng thái created_at timestamp Ngày tạo 59 updated_at timestamp Ngày cập nhật Bảng orders (đơn hàng): STT Thuộc tính Kiểu liệu Khóa Mơ tả id bigint PK Mã đơn hàng o_status int Trạng thái o_qty int Số lượng o_price int Giá o_product_id bigint FK Mã sản phẩm o_transaction_id bigint FK Mã giao dịch created_at timestamp Ngày tạo updated_at timestamp Ngày cập nhật Bảng transactions (giao dịch): STT Thuộc tính Kiểu liệu Khóa Mơ tả id bigint PK Mã giao dịch t_admin_id bigint FK Mã quản trị t_name varchar(200) t_user_id bigint FK Mã khách hàng t_table_id bigint FK Mã bàn t_code varchar(200) Code t_money int Tiền t_status int Trạng thái t_process_status int Xử lý 60 Tên 10 created_at timestamp Ngày tạo 11 updated_at timestamp Ngày cập nhật Bảng password_reset (đổi mật khẩu): STT Thuộc tính Kiểu liệu Khóa Mơ tả user_id bigint PK Mã khách hàng email varchar(200) Email token varchar(200) Token created_at timestamp Ngày tạo 61 CHƯƠNG 3: GIAO DIỆN HỆ THỐNG 62 KẾT LUẬN Tổng kết Trong thời gian làm đồ án giúp em tìm hiểu nắm bắt nhiều kiến thức bổ ích, đồng thời rút nhiều kinh nghiệm thực tế Do hạn chế thời gian trình độ nên chương trình khơng tránh khỏi nhiều sai sót Đề tài “Phân tích thiết kế xây dựng phần mềm quản lý tính tiền nhà hàng” giúp khắc phục nhược điểm khó khăn việc quản lý truyền thống, cịn số hạn chế • Kết đạt được: - Lưu trữ thông tin hệ thống dài hạn xác - Các giao dịch tiến hành nhanh chóng - Tìm kiếm thơng tin nhanh chóng, dễ dàng - Tiết kiệm thời gian nhân lực - Có thể quản lý việc đặt bàn toán - Phân quyền thực chức tương ứng với quyền tài khoản • Hạn chế: - Một số trường thông tin chưa kiểm tra chặt chẽ 63 - Thao tác nhanh xảy lỗi Hướng phát triển Phát triển, cải tiến phần mềm có thêm số tính tương lai như: • Tăng tính bảo mật trang web • Bổ sung thêm số chức nghiệp vụ • … TÀI LIỆU THAM KHẢO (1): Thạc Bình Cường, 2002, Phân tích thiết kế hệ thống thông tin, nhà xuất Khoa học Kỹ thuật (2): Phạm Hữu Khang, Hoàng Đức Hải, 2005, Giáo trình nhập mơn PHP MySQL – Xây dựng ứng dụng web (tủ sách dễ học), nhà xuất Phương Đơng (3): Jeremy Osborn & Nhóm AGI Creative, HTML5 Và CSS3: Thiết Kế Trang Web Thích Ứng Giàu Tính Năng, nhà xuất Bách Khoa – Hà Nội (4): https://en.wikipedia.org/wiki/MySQL (Nguồn: Internet) (5): https://en.wikipedia.org/wiki/PHP (Nguồn: Internet) (6): https://en.wikipedia.org/wiki/JavaScript (Nguồn: Internet) 64 (7): https://laravel.com/docs/7.x (Nguồn: Internet) 65 ... quyền quản trị Quản lý đăng nhập hệ thống, chọn quản lý khách hàng Hệ thống kiểm tra tài khoản quyền, truy cập hệ thống, chuyển hướng tới trang quản lý khách hàng Quản lý chọn nút Thêm khách hàng. .. gọn Tiền điều kiện Cập Nhật Khách Hàng Quản trị viên Quản lý thực sửa thông tin khách hàng Người dùng đăng nhập thành công, với quyền quản trị Quản lý đăng nhập hệ thống, chọn quản lý khách hàng. .. Chi Tiết Đơn Hàng Quản trị viên Quản lý xem chi tiết đơn hàng khách hàng Người đăng nhập thành công hệ thống, với quyền quản trị nhân viên Quản lý đăng nhập hệ thống, chọn quản lý đơn hàng Hệ thống