1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đồ án 1 xây dựng chương trình quản lí nhà hàng ăn uống

19 3 0

Đ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

Tiêu đề Xây dựng chương trình quản lí nhà hàng ăn uống
Tác giả Đồng Anh Hiệp
Người hướng dẫn Nguyễn Đình Chiến, Hưng Yên
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Hưng Yên
Chuyên ngành Công nghệ Thông tin
Thể loại Đồ án
Năm xuất bản 2021
Thành phố Hưng Yên
Định dạng
Số trang 19
Dung lượng 310,64 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN ĐỒ ÁN 1 XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÍ NHÀ HÀNG ĂN UỐNG NGÀNH CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH PHÁT TRIỂN ỨNG DỤNG IoT SINH VIÊN Đồng Anh[.]

Trang 1

 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN

 

ĐỒ ÁN 1   XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÍ NHÀ HÀNG ĂN UỐNG  

 NGÀNH: CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: PHÁT TRIỂN ỨNG DỤNG IoT

  SINH VIÊN: Đồng Anh Hiệp

MÃ LỚP: 101223 HƯỚNG DẪN: Nguyễn Đình Chiến

 

HƯNG YÊN – 2021

Trang 2

 Nhận xét của giảng viên 1 đánh giá quá trình:

Ký và ghi họ tên  Nhận xét của giảng viên 2 đánh giá quá trình:

Ký và ghi họ tên  Nhận xét của giảng viên hướng dẫn:

Ký và ghi họ tên

Trang 3

LỜI CAM ĐOAN

  Tôi xin cam đoan đồ án “Xây dựng trương trình quản lý số lượng khách hàng đặt đồ

ăn mang về tại quán Hùng Tàu” là công trình nghiên cứu của bản thân Những nội dung

sử dụng trong đồ án không sao chép của bất cứ tài liệu nào Những nội dung trích dẫn được thực hiện đúng theo quy định về vi phạm bản quyền Các kết quả trình bày trong đồ

án hoàn toàn là kết quả do bản thân tôi và các thành viên trong nhóm thực hiện, nếu sai tôi xin chịu hoàn toàn trách nhiệm trước khoa và nhà trường

Trang 4

LỜI CÁM ƠN   Lời đầu tiên, em xin chân thành cảm ơn bô môn Công nghệ thông tin, trường Đại học Sư phạm Kỹ thuật Hưng Yên đã tạo điều kiện thuận lợi cho em thực hiện đồ án 1   Đặc biệt em xin chân thành cảm ơn thầy Nguyễn Đình Chiến đã rất tận tình hướng dẫn, chỉ bảo em trong suốt thời gian thực hiện đồ án vừa qua

  Em cũng xin chân thành cảm ơn tất cả các Thầy, các Cô trong Trường đã tận tình giảng dạy, trang bị cho em những kiến thức cần thiết, quý báu để giúp em thực hiện được đồ án này

  Mặc dù em đã có cố gắng, nhưng với trình đồ còn hạn chế, trong quá trình thực hiện đề tài không tránh khỏi những thiếu sót Em hi vọng sẽ nhận được những ý kiến nhận xét, góp ý của các Thầy giáo, Cô giáo về vấn đề triển khai trong đồ án

 

Em xin chân trọng cảm ơn!

Trang 5

MỤC LỤC

CHƯƠNG 1: MỞ ĐẦU 10

1.1 Lý do chọn đề tài 10

1.2 Phát biểu bài toán 10

1.3 Phương pháp xây dựng/nghiên cứu 10

1.4 Kết quả dự kiến của đồ án 10

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 11

2.1Ngôn ngữ lập trình C/C++ 11

a) Bảng ký tự của C 11

 b) Từ khoá 11

c) Tên gọi 12

d) Chú thích trong chương trình 12

2.2Các cấu trúc dữ liệu trong C/C++ 13

a) Mảng 13

 b) Struct 14

c) Stack 14

CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 16

3.1 Đặc tả yêu cầu phần mềm 16

3.1.1 Các yêu cầu chức năng 16

3.1.2 Các yêu cầu phi chức năng 16

3.2 Thiết kế dữ liệu cho hệ thống 17

3.3 Thiết kế giao diện cho hệ thống 17

CHƯƠNG 4: XÂY DỰNG ỨNG DỤNG 18

4.1 Cài đặt chức năng chính của hệ thống 18

4.2 Triển khai các chức năng khác 18

4.3 Kiểm tra và gỡ rối các thành phần của hệ thống 18

KẾT LUẬN 19

TÀI LIỆU THAM KHẢO 20

Trang 6

DANH SÁCH HÌNH VẼ

Trang 7

DANH SÁCH BẢNG BIỂU

Trang 8

 DANH SÁCH TỪ VIẾT TẮT 

Từ viết tắt Từ đầy đủ Giải thích CMS Content Management System Hệ quản trị nội dung

Trang 9

CHƯƠNG 1: MỞ ĐẦU

1.1 Lý do chọn đề tài

Đi trên các con đường, các con ngõ, chúng ta dễ dàng thấy được những quán ăn, nhà hàng ở khắp mọi nơi Ở đâu có người ắt có nhu cầu ăn uống Trong những năm gần đây, phần vì bận rộn, phần vì thu nhập của người Việt ngày càng tăng nên nhu cầu về nhà hàng ăn uống ngày càng lớn Song song với đó, hàng loạt các nhà hàng, quán ăn lớn nhỏ cho ra đời Với mục tiêu nêu trên và xuất phát từ những yêu cầu thực tế, trọng tâm của đề tài này sẽ đi sâu nghiên cứu và phát triển” Chương Trình Quản Lí Nhà Hàng Ăn Uống” là một đề tài mang tính thực tế và đáp ứng nhu cầu trong công tác quản lý Để đáp ứng được nhu cầu cho việc quản lý nhà hàng dễ dàng, thuận tiện và hạn chế sai sót Vì vậy mà em

đã chọn đề tài này để phát triển cho đồ án của mình

1.2 Phát biểu bài toán

Chương trình quản lý của hàng giúp người quản lý quản lý một cách thuận tiện Hiện nay, các công việc quản lý của nhà hàng đều là thủ công và thông tin sẽ được lưu trữ trên giấy tờ và excel, điều này gây khó khăn và mất thời gian cho người quản lý Do nhu cầu và sự phát triển của công nghệ người quản lý muốn xây dựng một chương trình giúp quản lý của nhà hàng một cách thuận tiện

1.3 Phương pháp xây dựng/nghiên cứu

Chương trình quản lý cửa hàng sẽ xây dựng và nghiên cứu trên ngôn ngữ lập trình C 1.4 Kết quả dự kiến của đồ án

Ứng dụng làm ra có thể giải quyết nhanh chóng các công việc giúp người quản lý lắm bắt được số lượng khách hàng đặt đồ sau một ngày, nắm bắt được nhu cầu ăn uống của khách hàng

Trang 10

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1Ngôn ngữ lập trình C/C++

* Khái niệm Ngôn ngữ lập trình (NNLT) C/C++ là một trong những ngôn ngữ lập trình hướng đối tượng mạnh và phổ biến hiện nay do tính mềm dẻo và đa năng của nó Không chỉ các ứng dụng được viết trên C/C++ mà cả những chương trình hệ thống lớn đều được viết hầu hết trên C/C+ Đây là kỹ thuật lập trình được sử dụng hầu hết trong các ngôn ngữ mạnh hiện nay, đặc biệt là các ngôn ngữ hoạt động trong môi truờng Windows như Microsoft Access, Visual Basic, Visual Foxpro…

* Các yếu tố cơ bản Một ngôn ngữ lập trình (NNLT) bậc cao cho phép người sử dụng (NSD) biểu hiện ý tưởng của mình để giải quyết một vấn đề, bài toán bằng cách diễn đạt gần với ngôn ngữ thông thường thay vì phải diễn đạt theo ngôn ngữ máy (dãy các kí hiệu 0,1) Hiển nhiên, các ý tưởng NSD muốn trình bày phải được viết theo một cấu trúc chặt chẽ thường được gọi là thuật toán hoặc giải thuật và theo đúng các qui tắc của ngôn ngữ gọi là cú pháp hoặc văn phạm

a) Bảng ký tự của C  Hầu hết các ngôn ngữ lập trình hiện nay đều sử dụng các kí tự tiếng Anh, các kí hiệu thông dụng và các con số để thể hiện chương trình Các kí tự của những ngôn ngữ khác không được sử dụng (ví dụ các chữ cái tiếng Việt) Dưới đây là bảng kí tự được  phép dùng để tạo nên những câu lệnh của ngôn ngữ C − Các chữ cái la tinh (viết thường

và viết hoa): a … Z và A … Z Cùng một chữ cái nhưng viết thường phân biệt với viết hoa Ví dụ chữ cái 'a' là khác với 'A' − Dấu gạch dưới: _ − Các chữ số thập phân: 0, 1, ,

9 − Các ký hiệu toán học: +, -, *, /, % , &, ||, !, >

b) Từ khoá Một từ khoá là một từ được qui định trước trong NNLT với một ý nghĩa cố định, thường dùng để chỉ các loại dữ liệu hoặc kết hợp thành câu lệnh NSD có thể tạo ra những từ mới để chỉ các đối tượng của mình nhưng không được phép trùng với từ khoá

Trang 11

Dưới đây chúng tôi liệt kê một vài từ khoá thường gặp, ý nghĩa của các từ này, sẽ được trình bày dần trong các đề mục liên quan Auto, break, case, char, continue, default, do, double, else, externe, float, for, goto, if, int, long, register, return, short, sizeof, static, struct, switch, typedef, union, unsigned, while

Một đặc trưng của C là các từ khoá luôn luôn được viết bằng chữ thường

c) Tên gọi 

Để phân biệt các đối tượng với nhau chúng cần có một tên gọi Hầu hết một đối tượng được viết ra trong chương trình thuộc 2 dạng, một dạng đã có sẵn trong ngôn ngữ (ví dụ các từ khoá, tên các hàm chuẩn ), một số do NSD tạo ra dùng để đặt tên cho hằng, biển, kiểu, hàm các tên gợi do NSD tự đặt phải tuân theo một số qui tắc sau:

- Là dãy ký tự liên tiếp (không chứa dấu cách) và phải bắt đầu bằng chữ cái hoặc gạch dưới

- Phân biệt kí tự in hoa và thường

- Không được trùng với từ khóa

- Số lượng chữ cái dùng để phân biệt tên gọi có thể được đặt tuỳ ý

- Chú ý các tên gọi có sẵn của C++ cũng tuân thủ theo đúng qui tắc trên

Trong một chương trình nếu NSD đặt tên sai thì trong quá trình xử lý sơ bộ (trước khi chạy chương trình) máy sẽ báo lỗi (gọi là lỗi văn phạm)

Ví dụ 1:

• Các tên gọi sau đây là đúng (được phép): i, i1, j, tinhoc, tin_hoc, luu_luong

• Các tên gọi sau đây là sai (không được phép): 1i, tin hoc, luu-luong-nuoc

• Các tên gọi sau đây là khác nhau: ha_noi, Ha_noi, HA_Noi, HA_NOI,

d) Chú thích trong chương trình Một chương trình thường được viết một cách ngắn gọn, do vậy thông thường bên cạnh các câu lệnh chính thức của chương trình, NSD còn được phép viết vào chương

Trang 12

trình các câu ghi chú, giải thích để làm rõ nghĩa hơn chương trình Một chú thích có thể ghi chú về nhiệm vụ, mục đích, cách thức của thành phần đang được chú thích như biến, hằng, hàm hoặc công dụng của một đoạn lệnh Các chú thích sẽ làm cho chương trình sáng sủa, dễ đọc, dễ hiểu và vì vậy dễ bảo trì, sửa chữa về sau

Có 2 cách báo cho chương trình biết một đoạn chú thích:

− Nếu chú thích là một đoạn kí tự bất kỳ liên tiếp nhau (trong 1 dòng hoặc trên nhiều dòng) ta đặt đoạn chú thích đó giữa cặp dấu đóng mở chú thích /* (mở) và */ (đóng)

− Nếu chú thích bắt đầu từ một vị trí nào đó cho đến hết dòng, thì ta đặt dấu // ở vị trí đó Như vậy // sử dụng cho các chú thích chỉ trên 1 dòng Như đã nhắc ở trên, vai trò của đoạn chú thích là làm cho chương trình dễ hiểu đối với người đọc, vì vậy đối với máy các đoạn chú thích sẽ được bỏ qua Lợi dụng đặc điểm này của chú thích đôi khi để tạm thời bỏ qua một đoạn lệnh nào đó trong chương trình (nhưng không xoá hẳn để khỏi phải

gõ lại khi cần dùng đến) ta có thể đặt các dấu chú thích bao quanh đoạn lệnh này (ví dụ khi chạy thử chương trình, gỡ lỗi ), khi cần sử dụng lại ta có thể bỏ các dấu chú thích Chú ý: Cặp dấu chú thích /* */ không được phép viết lồng nhau, ví dụ dòng chú thích sau là không được phép /* Đây là đoạn chú thích /* chứa đoạn chú thích này */ như đoạn chú thích con */ cần phải sửa lại như sau: • hoặc chỉ giữ lại cặp dấu chú thích ngoài cùng /* Đây là đoạn chú thích chứa đoạn chú thích này như đoạn chú thích con */ • hoặc chia thành các đoạn chú thích liên tiếp nhau /* Đây là đoạn chú thích */ /*chứa đoạn chú thích này*/ /*như đoạn chú thích con */ * Quy trình viết và thực hiện chương trình a Xác định yêu cầu bài toán b Xác định thuật toán c Lập trình d Chạy chương trình và kiểm thử

2.2Các cấu trúc dữ liệu trong C/C++

a) Mảng

Là cấu trúc dữ liệu bao gồm một nhóm các phần tử giá trị hoặc biến, mỗi phần tử được xác định ít nhất bằng một chỉ số (index) hoặc khóa (key) Mảng được lưu theo cách

Trang 13

có thể tính được vị trí của các phần tử từ giá trị của một tuple chỉ số bằng một biểu thức toán học Do khái niệm ma trận trong toán học có thể được biểu diễn bằng mảng hai chiều nên đôi khi mảng hai chiều cũng được gọi là ma trận Mảng là một trong những cấu trúc dữ liệu cũ và quan trọng nhất, và hầu hết các chương trình đều dùng nó Các cấu trúc

dữ liệu khác cũng được hiện thực bằng mảng, thí dụ như danh sách hoặc chuỗi

-Mảng một chiều Var <Tên mảng>: Array [<Chỉ số đầu><Chỉ số cuối>] Of <Kiểu dữ liệu>;

 Nhập dữ liệu:

for <Biến đếm>:=<Chỉ số đầu> to <Chỉ số cuối> do readln(<Tên mảng>[<Biến đếm>]);

Xuất dữ liệu:

for <Biến đếm>:=<Chỉ số đầu> to <Chỉ số cuối> do writeln(<Tên mảng>[<Biến đếm>]);

a) Struct  Structure - cấu trúc là một loại dữ liệu khác trong ngôn ngữ lập trình C, cho phép  bạn kết hợp các dữ liệu khác kiểu nhau

Cấu trúc được sử dụng để biểu diễn một bản ghi Giả sử bạn muốn lưu trữ giá trị của một sản phẩm trong kho của bạn Bạn có thể lưu trữ các thuộc tính của sách sau đây:

· Kệ bán

· Tên sản phẩm

· Giá

· ID (mã sản phẩm) b) Stack 

Stack là một cấu trúc dữ liệu tuyến tính với các hoạt động được thực hiện theo một

Trang 14

thứ tự cụ thể Thứ tự có thể là LIFO (Last In First Out – vào sau lại ra trước) hoặc FILO (First In Last Out – vào đầu tiên nhưng ra lại sau cùng) Hiểu đơn giản hơn, Stack là ngăn xếp, bạn có thể tưởng tượng nó như một chồng sách và sách nào để lên sau cùng sẽ được lấy ra trước…

Chủ yếu Stack có ba hàm cơ bản sau được thực hiện:

· Push: Thêm một mục (phần tử, thành phần) trong stack Nếu stack đầy, thì nó được cho là điều kiện Tràn

· Pop: Loại bỏ một mục khỏi stack Các mục được xuất hiện theo thứ tự đảo ngược

mà chúng được Push Nếu stack trống, thì nó được cho là điều kiện trống

· Peek hoặc Top: Trả về phần tử trên cùng của stack

· isEmpty: Trả về true nếu stack trống, ngược lại là false

Trang 15

CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

3.1 Đặc tả yêu cầu phần mềm

3.1.1 Các yêu cầu chức năng 

Các chức năng:

+ Quản lý thông tin khách hàng và sản phẩm +Hóa đơn bán hàng

3.1.2 Các yêu cầu phi chức năng 

-Quản lý thông tin khách hàng:

● Mã khách hàng

● Họ và tên

● Địa chỉ -Quản lý thông tin sản phẩm:

● Mã sản phẩm

● Tên sản phẩm

● Số lượng

● Đơn giá

● Đơn vị tính -Quản lý thông tin khách hàng thực hiện các công việc

Hỏi người dùng nhập thông tin từ file hay tạo file mới

  Nhập thông tin khách hàng

  In danh sách khách hàng

  Tìm kiếm khách hàng (Qua mã khách hàng)

Trang 16

  Sửa thông tin, thêm, xóa khách hang

  Quản lý sản phẩm thực hiện các công việc Hỏi người dùng nhập thông tin từ file hay tạo file mới

  Nhập tên sản phẩm

  Nhập mã sản phẩm

  In danh sách sản phẩm

  Nhập số lượng sản phẩm

  Nhập giá sản phẩm

  Nhập đơn vị tính sản phẩm

  Cập nhập sản phẩm mới

  Tìm sản phẩm (qua mã sản phẩm)

  Xóa sản phẩm (qua mã sản phẩm) -Quản lý hóa đơn

Hỏi người dùng nhập thông tin từ file hay tạo file mới

  In hóa đơn 3.2 Thiết kế dữ liệu cho hệ thống

<Phần này mô tả sơ bộ các file dữ liệu của hệ thống Khuyến khích sinh viên thiết

kế và phân tích >

3.3 Thiết kế giao diện cho hệ thống

<Phần này, mô tả và giải thích sơ bộ các hệ thống menu trong chương trình>

Trang 17

CHƯƠNG 4: XÂY DỰNG ỨNG DỤNG

4.1 Cài đặt chức năng chính của hệ thống

<Phần này trình bày về các thuật toán chính cho các chức năng chính của hệ thống> 4.2 Triển khai các chức năng khác

<Phần này mô tả các chức năng cơ bản của hệ thống, đồng thời trình bày thuật toán

xử lý của từng chức năng>

4.3 Kiểm tra và gỡ rối các thành phần của hệ thống

<Phần này mô tả quá trình kiểm tra và gỡ rối toàn bộ chức năng của hệ thống>

Trang 18

KẾT LUẬN

Kết quả đạt được của đồ án Hạn chế của đồ án

Hướng phát triển của đồ án

Trang 19

TÀI LIỆU THAM KHẢO

1 Khoa CNTT (2020), Giáo trình Cơ sở kỹ thuật lập trình, Trường đại học Sư phạm Kỹ thuật Hưng Yên.

2 Khoa CNTT (2020), Giáo trình cấu trúc dữ liệu và giải thuật, Trường ĐH SPKT Hưng Yên.

3 Khoa CNTT (2020), Giáo trình Lập trình hướng đối tượng , Đại học SPKT Hưng Yên.

4 Michael T Goodrich, Roberto Tamassia, Michael H Goldwasser (2014), Data Structures and Algorithms in C# ( 6th Edition), RR Donnelley.

Ngày đăng: 16/05/2023, 16:27

🧩 Sản phẩm bạn có thể quan tâm

w