Tải bản đầy đủ (.pdf) (62 trang)

Báo cáo bài tập lớn học phần phát triển ứng dụng trên nền web đề tài bài tập lớn quản lý cửa hàng bán cà phê

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (13.9 MB, 62 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MƠI TRƯỜNG HÀ NỘIKHOA CƠNG NGHỆ THƠNG TIN</b>

<b>KÌ THI KẾT THÚC HỌC PHẦNNĂM HỌC 2022-2023</b>

<b>BÁO CÁO BÀI TẬP LỚN HỌC PHẦNPHÁT TRIỂN ỨNG DỤNG TRÊN NỀN WEB</b>

<b>Đề tài bài tập lớn: Quản Lý Cửa Hàng Bán Cà Phê</b>

<b>Hà Nội, ngày 24 tháng 4 năm 2023</b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

MỤC LỤC

<b>LỜI NĨI ĐẦU...6</b>

<b>CHƯƠNG I. XÁC ĐỊNH U CẦU, MỤC TIÊU...7</b>

1. Mơ tả bài tốn và đặc tả đề tài:...7

<b>1.1 Mơ tả bài toán:...7</b>

<b>4.1 Yêu cầu chức năng...16</b>

<b>4.2 Yêu cầu phi chức năng...17</b>

<b>*Yêu cầu sản phẩm...17</b>

<b>CHƯƠNG II: PHÂN TÍCH THIẾT KẾ HỆ THỐNG...18</b>

2.1 Biểu đồ phân cấp chức năng...18

2.2 Biểu đồ luồng dữ liệu...19

2.5 Biểu đồ phân rã chức năng...25

2.5.1 Biểu đồ phân rã chức năng quản lý...25

2.5.2 Biểu đồ phân rã chức năng quản lý sản phẩm...25

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

2.5.3 Biểu đồ phân rã chức năng quản lý nhân viên...26

2.6 RelationShip...27

2.7 Chi tiết các bảng dữ liệu...27

2.8 Thiết kế cơ sở dữ liệu...31

2.9 Thiết kế giao diện...33

<b>CHƯƠNG III. XÂY DỰNG ỨNG DỤNG...34</b>

1. Giao diện chương trình...34

1.1 Giao diện đăng nhập...34

1.2 Giao diện đăng kí...35

1.3 Giao diện trang home Admin...35

1.4 Giao diện trang home User...36

1.5 Giao diện booking user...37

1.6 Giao diện AddProduct...38

1.7 Giao diện EditProduct...39

1.8 Code DeleteProduct...39

1.9 Giao diện ListProduct Admin...40

1.10 Giao diện ListContact Admin...41

1.11 Giao diện ListBooking Admin...42

1.12 Giao diện Contact...39

1.13 Giao diện About Us...40

1.14 Giao diện searchProduct...41

1.11 Giao diện ListBooking Admin...42

1.15 Giao diện profile...58

1.16 Giao diện Addemployee...39

1.17 Giao diện EditEmployee...40

1.18 Giao diện Danh sách nhân viên...41

1.19 Giao diện AddCustommer...42

1.20 Giao diện EditCustommer...58

1.21 Giao diện Danh sách nhân viên...41

1.22 Giao diện Danh sách giỏ hàng...42

1.23 Giao diện Chức năng đăng xuất...58

<b>CHƯƠNG IV: KIỂM THỬ PHẦN MỀM...59</b>

4.1.Testcase form Đăng nhập...59

4.2.Testcase form Quản lý nhân viên...61

4.3.Testcase form Quản lý khách hàng...62

4.4.Testcase form Quản lý sản phẩm...62

4.5.Testcase form Quản lý booking (Đặt trước)...63

4.6.Testcase form Giỏ hàng...63

<b>KẾT LUẬN...64</b>

<b>I. KẾT QUẢ ĐẠT ĐƯỢC...64</b>

* Về kiến thức và học tập...64

* Về phần mềm...64

<b>II. HẠN CHẾ CỦA ĐỀ TÀI...64</b>

<b>III. HƯỚNG PHÁT TRIỂN...64</b>

<b>DANH MỤC TÀI LIỆU THAM KHẢO...66</b>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<b>LỜI NĨI ĐẦU</b>

Ngày nay, cơng nghệ thơng tin ngày càng phát triển thì nhu cầu cuộc sống cũng như việc ứng dụng công nghệ thông tin vào công việc của con người được phát triển mạnh mẽ và ngày càng đa dạng hơn, đặc biệt vấn đế quản lý đang được con người quan tâm và phát triển. Nhiều công nghệ sử dụng mới được áp dụng hằng ngày, cũng như đưa phần mềm vào quản lý ngày càng trực quan và sinh động hơn với người sử dụng, nhằm phục vụ nhu cầu truyển thông của con người, hoạt động kinh doanh điện thoại di động ngày càng phát triển mạnh mẽ trong xu hướng bán lẻ của các doanh nghiệp.

Website nhằm giảm thao tác thủ công, mang lại tính chính xác và hiệu quả

cao trong cơng tác quản lý hoạt động kinh doanh. Với mục tiêu trên thì trọng tâm của đề

<b>tài này sẽ đi sâu nghiên cứu và phát triển phần mềm “Xây dựng website quản lý quáncà phê” là một đề tài mang tính thực tế và đáp ứng</b>

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<b>CHƯƠNG I. XÁC ĐỊNH YÊU CẦU, MỤC TIÊU1. Mơ tả bài tốn và đặc tả đề tài: </b>

<b>1.1 Mơ tả bài tốn: </b>

Bài tốn quản lý quán cà phê là việc sử dụng các phần mềm quản lý để giúp quản lý quán cà phê trở nên hiệu quả hơn. Các phần mềm quản lý có thể bao gồm các tính năng như quản lý tài chính, quản lý khách hàng, quản lý sản phẩm, quản lý đặt hàng và quản lý nhân viên.

Để bắt đầu sử dụng phần mềm quản lý quán cà phê, chủ quán cần cài đặt phần mềm trên máy tính hoặc điện thoại thơng minh. Sau đó, họ cần nhập các thơng tin về quán cà phê, bao gồm thông tin về sản phẩm, giá cả, danh sách nhân viên và thông tin khách hàng.

Phần mềm quản lý quán cà phê cung cấp tính năng quản lý tài chính, cho phép chủ quán theo dõi doanh thu, chi phí và lợi nhuận của quán. Chủ quán có thể sử dụng tính năng này để tối ưu hóa chi phí, tăng doanh thu và tăng lợi nhuận.

<b>1.2 Đặc tả đề tài: </b>

Đề tài này sẽ tập trung vào xây dựng hệ thống quản lý toàn diện cho một quán cà phê. Hệ thống sẽ bao gồm các tính năng quản lý tài chính, quản lý sản phẩm, quản lý đặt hàng, quản lý khách hàng và quản lý nhân viên.

Tính năng quản lý tài chính sẽ giúp chủ quán cà phê theo dõi doanh thu, chi phí và lợi nhuận của quán. Hệ thống sẽ cung cấp các báo cáo tài chính và phân tích để giúp chủ qn tối ưu hóa chi phí, tăng doanh thu và tăng lợi nhuận.

Tính năng quản lý sản phẩm sẽ giúp chủ quán theo dõi số lượng sản phẩm còn lại trong kho và giá cả của sản phẩm. Hệ thống sẽ cung cấp tính năng đặt hàng và quản lý nguồn cung để giúp chủ quán đảm bảo rằng sản phẩm ln có sẵn trong kho.

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

Tính năng quản lý đặt hàng sẽ giúp chủ quán theo dõi các đơn đặt hàng từ khách hàng và quản lý quá trình giao hàng. Hệ thống sẽ cung cấp tính năng giao hàng để giúp chủ quán quản lý quá trình giao hàng và đảm bảo rằng các đơn hàng được giao đúng hạn.

Tính năng quản lý khách hàng sẽ giúp chủ quán theo dõi thông tin về khách hàng của quán, bao gồm lịch sử mua hàng và thông tin liên lạc. Hệ thống sẽ cung cấp tính năng tạo chương trình khuyến mãi và giảm giá để thu hút khách hàng quay lại.

Tính năng quản lý nhân viên sẽ giúp chủ quán quản lý thông tin về nhân viên, bao gồm thông tin về lịch làm việc, lương và phúc lợi. Hệ thống sẽ cung cấp tính năng tính tốn lương cho từng nhân viên và quản lý lịch làm việc của nhân viên.

Đối tượng sử dụng: Chủ quán cà phê và nhân viên của quán.

Công nghệ sử dụng: Hệ thống sẽ được xây dựng trên nền tảng web và sử dụng các công nghệ phần mềm như PHP, JavaScript và MySQL.

<b>2. Mục tiêu – hướng giải quyết và kế hoạch thực hiện 2.1 Mục tiêu cần đạt được: </b>

Chúng ta cần phải thiết kế và cài đặt một chương trình quản lý có các chức năng sau: - Quản lý sản phẩm: thêm, sửa, xóa, làm mới thơng tin sản phẩm và các mặt hàng. - Quản lý nhân viên: thêm, sửa, xóa, làm mới thơng tin các nhân viên (chỉ có người quản lý mới có quyền này).

- Quản lý khách hàng: thêm, sửa, xóa, làm mới thơng tin khách hàng. - Quản lý và sắp xếp thông tin hàng hóa, nhân viên, khách hàng

<b>2.2 Hướng giải quyết và kế hoạch thực hiện: Hướng giải quyết: </b>

- Thiết kế CSDL, các ràng buộc toàn vẹn.

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

- Thiết kế ứng dụng: các chức năng, Forms và Reports.

- Cài đặt chương trình ứng dụng, nhập liệu, chạy thử và kiểm tra lỗi. - Viết một bài báo cáo về công việc đã thực hiện theo mẫu quy định.

<b> Môi trường cài đặt: </b>

Để thực hiện được u cầu phải cần có một ngơn ngữ lập trình có thể kết nối đến cơ sở dữ liệu và một hệ quản trị cơ sở dữ liệu.

- Ngơn ngữ lập trình PHP - Hệ quản trị cơ sở dữ liệu: MySQL

- Công cụ vẽ quy trình quản lý cửa hàng Star UML.

<b>Tổng quan về PHP:3. Giới thiệu về PHP:</b>

<b>3.1Khái niệm PHP:</b>

PHP: Hypertext Preprocessor, thường được viết tắt thành PHP là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng qt. Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML. Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngơn ngữ lập trình web phổ biến nhất thế giới.

- Ngôn ngữ, các thư viện, tài liệu gốc của PHP được xây dựng bởi cộng đồng và có sự đóng góp rất lớn của Zend Inc, công ty do các nhà phát triển cốt lõi của PHP lập nên nhằm tạo ra một môi trường chuyên nghiệp để đưa PHP phát triển ở quy mô doanh nghiệp

<b>3.2Tính chất của PHP:a. Ưu điểm:</b>

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

- Đầu tiên đó là PHP được sử dụng miễn phí. Là một lợi thế cực lớn cho ai muốn học lập trình này. Các bạn có thể học và thực hành theo dạng online. Không cần phải lo đến việc chi trả số tiền lớn để học lập trình.

- Cú pháp và cấu trúc của PHP tương đối dễ dàng. Nếu bạn muốn học về ngôn ngữ này, bạn sẽ không phải mất quá nhiều thời gian để hiểu được. Đa số các bạn lập trình viên thường ngại với cấu trúc khó. Là một ưu điểm lớn cho mọi người quan tâm và yêu thích hàng đầu về ngơn ngữ lập trình.

- Sẽ rất dễ kiếm được việc làm với mức lương khủng. Đa số công ty thiết kế web hiện nay đều có bộ phận PHP. Và đó là điều khơng thể thiếu. Ngồi ra cịn có thêm các công ty về phần mềm. Nhiều công việc lớn khác nhau, cũng như nhiều công ty khác nhau sẽ mang lại cho bạn thu nhập đáng kể.

- Không chỉ với hiện tại mà trong tương lai. ngôn ngữ lập trình này sẽ cịn phát triển mạnh me hơn nữa để khẳng định vị trí của mình ln là cao nhất trong các bảng khảo sát ngôn ngữ lập trình.

<b>b. Nhược điểm:</b>

- PHP cịn hạn chế về cấu trúc ủa ngữ pháp. Nó khơng được thiết kế gọn gàng và không được đẹp mắt như những ngôn ngữ lập trình khác.

- PHP chỉ có thể hoạt động và sử dụng được trên các ứng dụng trong web. Đó chính là lý do khiến cho ngơn ngữ này khó có thể cạnh tranh được với những ngơn ngữ lập trình khác. Nếu như muốn phát triển và nhân rộng hơn nữa trong lập trình.

- PHP có cộng đồng người dùng rất lớn trên thế giới, nếu bạn cảm thấy thích ngơn ngữ này thì có thể truy cập vào website all-fusion.com để tìm hiểu thêm nhiều thơng tin hơn về PHP. All-fusion là một trong những cộng đồng các freelancer lập trình PHP lớn nhất hiện nay tại Việt Nam.

<b>3.3Giới thiệu về HTML và CSS:3.3.1 Khái niệm HTML</b>

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

HTML là từ viết tắt của Hypertext Markup Language, là sự kết hợp của Hypertext và Markup, hay cịn được gọi là ngơn ngữ siêu văn bản. HTML có chức năng giúp người dùng xây dựng và cấu trúc các phần trong trang web hoặc ứng dụng, thường được sử dụng trong phân chia các đoạn văn, heading, link, blockquotes,…

Lịch sử của ngôn ngữ HTML

Cha đẻ của HTML là Tim Berners – Lee – nhà vật lý học, là người nghĩ ra ý tưởng dựa trên hệ thống hypertext trên nền internet.

Năm 1991, xuất bản phiên bản đầu tiên của HTML gồm 18 tag HTML. Năm 1998, HTML phiên bản 4.01 ra đời.

Năm 2000, các phiên bản HTML được thay thế bằng XHTML. Năm 2014, HTML được nâng cấp lên HTML5 với sự cải tiến rõ rệt.

<b>HTML hoạt động như nào?</b>

Dấu hiệu nhận biết HTML documents chính là files có kết thúc đi là .html hoặc htm và có thể xem bằng cách sử dụng bất kỳ trình duyệt web nào, chẳng hạn như Safari, Google chrome, Microsoft edge,… Các trình duyệt sẽ đọc được files HTML và xuất bản nội dung lên internet, tại đây người dùng hồn tồn dễ dàng đọc được nó.

Thực tế, một web sẽ chứa nhiều trang web HTML, có thể kể đến như trang chủ, trang about, trang liên hệ,… tất cả các trang đều có HTML riêng. Cụ thể, mỗi trang HTML chứa một bộ các tag, hay còn được gọi là elements, được hiểu là các yếu tố để xây dựng từng khối của một trang web. Các HTML elements tạo thành cấu trúc cây thư mục là section, paragraph, heading và những khối nội dung khác. Các HTML elements đều có tag mở và tag đóng, có cấu trúc <tag></tag>.

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

HTML dùng để làm gì?

Hiểu được khái niệm ngơn ngữ html là gì và hình thức hoạt động của HTML để trả lời cho câu hỏi HTML dùng để làm gì? Cụ thể HTML là một loại ngơn ngữ đánh dấu siêu văn bản, với mục đích cấu trúc thành các cấu trúc cơ bản của một trang web để website trở thành một hệ thống hoàn chỉnh. Cấu trúc của HTML

HTML có nhiều dạng thẻ khác nhau, mỗi thẻ sẽ có những nhiệm vụ khác nhau và ý nghĩa nhất định, có ảnh hưởng và tác động đến nhau. Tìm hiểu về HTML để xác định có cấu trúc như thế nào?

<b>Ưu nhược điểm của HTML</b>

Ưu điểm

<b>HTML được tạo ra với mục đích tạo bố cục và cấu trúc cho trang web. Vậy ưu điểm của HTML là gì?</b>

HTML được ra đời từ rất lâu, do đó HTML có nguồn tài nguyên khổng lồ, hỗ trợ một cộng đồng người dùng lớn. Bên cạnh đó, cộng đồng HTML ngày càng phát triển trên thế giới.

Mã nguồn của HTML là mã nguồn mở, do đó người dùng có thể sử dụng hồn tồn miễn phí. HTML được sử dụng và được sử dụng trên nhiều trình duyệt được nhiều người dùng ưa chuộng hiện nay như Internet Explorer, Chrome, FireFox, Cốc cốc,…

Học và tìm hiểu HTML đơn giản nên người học dễ dàng nắm được kiến thức và vận dụng trong xây dựng trang web căn bạn.

HTML được quy định theo một tiêu chuẩn nhất định nên việc markup sẽ trở nên gọn gàng, đồng nhất bởi HTML được vận hành bởi World Wide Web Consortium (W3C).

HTML được thực hiện dễ dàng bởi HTML được tích hợp nhiều ngơn ngữ khác nhau như PHP, Java, NodeJs, Ruby,…Điều này sẽ giúp tạo thành một website hoàn chỉnh với nhiều tính năng.

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

Nhược điểm

Đi cùng với những ưu điểm, HTML cũng có những nhược điểm nhất định. Vậy HTML có những nhược điểm gì?

Nhược điểm lớn nhất của HTML đó chính là chỉ có thể web tĩnh, web tĩnh có thể hiểu là những trang web chỉ hiện thông tin mà không có sự tương tác cho người dùng. Do đó, khi xây dựng tính năng động hoặc xây dựng hệ thống website có sự tương tác với người dùng, lập trình viên cần phải dùng thêm JavaScript hoặc ngơn ngữ backend của bên thứ ba.

HTML thường chỉ có thể thực thi những thứ logic và cấu trúc nhất định, HTML khơng có khả năng tạo sự khác biệt và mới mẻ.

Một số trình duyệt vẫn cịn chậm trong viết hỗ trợ các phiên bản mới của HTML, đặc biệt là HTML5.

Một số trình duyệt khơng thể render những tag mới trong HTML5.

<b>3.3.2 Khái niệm CSS</b>

<b>CSS là chữ viết tắt của Cascading Style Sheets, nó là một ngơn ngữ được sử dụng để tìm và định dạng lại các phần tử được tạo ra bởi các ngôn ngữ đánh dấu (HTML). Nói ngắn gọn hơn là ngơn </b>

ngữ tạo phong cách cho trang web. Bạn có thể hiểu đơn giản rằng, nếu HTML đóng vai trị định dạng các phần tử trên website như việc tạo ra các đoạn văn bản, các tiêu đề, bảng,…thì CSS sẽ giúp chúng ta có thể thêm style vào các phần tử HTML đó như đổi bố cục, màu sắc trang, đổi màu chữ, font chữ, thay đổi cấu trúc…

CSS được phát triển bởi <b>W3C</b> (World Wide Web Consortium) vào năm 1996, vì HTML khơng được thiết kế để gắn tag để giúp định dạng trang web.

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

Phương thức hoạt động của CSS là nó sẽ tìm dựa vào các vùng chọn, vùng chọn có thể là tên một thẻ HTML, tên một ID, class hay nhiều kiểu khác. Sau đó là nó sẽ áp dụng các thuộc tính cần thay đổi lên vùng chọn đó.

Mối tương quan giữa HTML và CSS rất mật thiết. HTML là ngôn ngữ markup (nền tảng của site) và CSS định hình phong cách (tất cả những gì tạo nên giao diện website), chúng là khơng thể tách rời.

<b>3.3.3 Xampp</b>

<b>XAMPP là một phần mềm cho phép giả lập</b> mơi trường server hosting ngay trên máy tính của bạn, cho phép bạn <b>chạy demo website</b> mà <b>không </b>cần phải mua<b> hosting hay </b>VPS. Chính vì vậy, XAMPP hay được phục vụ cho hoạt động học tập giảng dạy thực hành và phát triển web. <b>XAMPP</b> được viết tắt của <b>X + Apache + MySQL + PHP + Perl</b> vì nó được tích hợp

sẵn Apache MySQL PHP FTP server, , , , Mail Server. Còn X thể hiện cho sự đa nền tảng của XAMPP vì nó có thể dùng được cho 4 hệ điều hành khác

nhau: Windows MacOS Linux, , và Solaris.

<b> Đặc điểm của XAMPP</b>

Ưu điểm

- Có thể chạy được linh hoạt được trên mọi hệ điều hành: Cross-platform, Windows, MacOS, Linux. - Có cấu hình đơn giản nhưng mang đến nhiều chức năng hữu ích như: Lập Server giả định, lập Mail Server giả định và hỗ trợ SSL trên localhost.

- Tích hợp được nhiều tính năng với các thành phần quan trọng như: Apache, PHP, MySql. Vì thế, người dùng không cần cài đặt từng phần trên riêng lẻ mà chỉ cần cài XAMPP là có 1 web server hoàn chỉnh.

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

- Tạo mã nguồn mở: Giao diện quản lý dễ dàng và tiện lợi giúp người dùng luôn chủ động được trong chế độ khởi động lại hay bật/ tắt đối với máy chủ theo thời gian phù hợp nhất.

Nhược điểm

- Do cấu hình khá đơn giản cho nên Xampp hồn tồn khơng nhận được sự hỗ trợ về cấu hình Module, đồng thời cũng khơng có cả MySQL.

- Dung lượng tương đối nặng (141Mb).

- Khơng có nhiều phiên bản cho từng thành phần của server như PHP, Apache mà phải cài đặt riêng.

<b> XAMPP được dùng làm gì?</b>

XAMPP được dùng để<b> xây dựng và phát triển website theo ngơn ngữ PHP</b>. Ngồi ra, XAMPP còn được sử dụng để phát triển, nghiên cứu website thơng qua localhost của máy tính cá nhân, biến máy tính cá nhân thành máy chủ, dùng chính ổ cứng của máy tính để làm nơi lưu trữ cho máy chủ trang web.

Tuy nhiên, đối với các trang web kinh doanh, các trang web cần vận hành liên tục thì việc sử dụng XAMPP để tạo lập không khả thi. Do localhost sử dụng máy tính để làm máy chủ, nên việc duy trì máy chủ sẽ rất khó khăn và khơng đảm bảo tốc độ lâu dài, thay vào đó các chủ trang web sẽ thuê

<b>server hosting. Chung quy lại XAMPP dùng chủ yếu để học tập, nâng cấp và thử nghiệm web.3.3.4 Hệ quản trị Cơ sở dữ liệu MySQL</b>

Mysql là một hệ quản trị CSDL được sử dụng rất rộng rãi trên thế giới, đặc biệt là các ứng dụng website và nó thường đi kết hợp với ngơn ngữ lập trình PHP để xây dựng các ứng dụng website. Các hệ thống web ưa chuộng MYSQL là tại vì tốc độ xử lý của nó cao, tính dễ sử dụng và thương thích với các hệ điều hành thơng dụng hiện nay như Linix, Window, ... Mysql có sử dụng ngôn ngữ truy vấn T-SQL để thao tác dữ liệu.

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

Hiện nay đang đình đám các hệ quản trị CSDL với tên gọi NO-SQL, nghĩa là hệ quản trị khơng sử dụng ngơn ngữ có cấu trúc truy vấn (T-SQL), vì thế trong tương lại khơng biết MYSQL liệu có bị tiêu diệt hay khơng?

Khi học lập trình PHP và MYSQL bạn sẽ có nguồn tài liệu rất phong phú và đa dạng, vì thế nếu bạn chọn hướng đi này thì khơng phải lo đội ngũ support miễn phí (Google) smiley.

<b>3.3.5 StarUML</b>

Là một mơ hình nền tảng, là phần mềm hỗ trợ UML (Unified Modeling Language). Nó hỗ trợ các phương pháp tiếp cận MDA (Model Driven Architecture) bằng cách hỗ trợ các khái niệm hồ sơ UML. Tức là StarUML hỗ trợ phân tích và thiết kế hệ thống một điều mà bất cứ dự án nào đều cần có. Ngồi ra dùng StarUML sẽ đảm bảo tối đa hóa năng suất và chất lượng của các dự án phần mềm của bạn. Vì nó cho phép mơ hình hóa nên sẽ khơng phụ thuộc vào người code, ngôn ngữ code hay nền tảng sử dụng. Do mô hình hóa nên rất dễ đọc và dễ hiểu. Một điều mình thích nhất ở StarUML là khả năng tự sinh code từ những mơ hình class.

<b>4.1 u cầu chức năng</b>

- Cho phép cập nhập, xử lý tất cả các CSDL.

- Người sử dụng có thể tìm kiếm tất cả các CSDL hoặc một tập con của CSDL.

- Hệ thống sẽ cung cấp những giao diện thích hợp để người sử dụng thực hiện chương trình. - Tất cả những đối tượng trong hệ thống như các câu lệnh, tham số, nhân viên, khách hàng ,

bàn ,... để in sao tài liệu có một mã duy nhất.

- Chương trình phải đảm bảo đáp ứng nhu cầu người sử dụng thực hiện nhanh chóng và chính xác.

- Quản lý sản phẩm: cho phép thêm, sửa, xóa các sản phẩm, giá cả, số lượng trong kho, tạo danh mục sản phẩm, quản lý nguồn cung.

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

- Quản lý khách hàng: cho phép quản lý thông tin khách hàng, lịch sử mua hàng và thông tin liên lạc, tạo chương trình khuyến mãi và giảm giá để thu hút khách hàng quay lại. - Quản lý nhân viên: cho phép quản lý thông tin nhân viên, lịch làm việc, lương và phúc lợi,

tính toán lương cho từng nhân viên và quản lý lịch làm việc của nhân viên.

- Quản lý tài chính: cho phép theo dõi doanh thu, chi phí và lợi nhuận của quán, cung cấp các báo cáo tài chính và phân tích để giúp chủ qn tối ưu hóa chi phí, tăng doanh thu và tăng lợi nhuận.

- Đăng nhập và phân quyền: cho phép đăng nhập vào hệ thống và phân quyền truy cập cho các nhân viên, giúp quản lý hệ thống an toàn và bảo mật.

<b>4.2 Yêu cầu phi chức năng *Yêu cầu sản phẩm</b>

- Được sử dụng trong môi trường . Hệ điều hành mạng Windows 2000 Advance server trở lên. Cấu hình tối thiểu : Pretium III, 1.8GHZ,256MB RAM, 40GB HDD.

- Đạt hiệu quả về thời gian : Thời gian cần thiết để thiết kế thực hiện tra cứu thông tin không quá 10 giây. Thời giiam cần thiết để cập nhập dữ liệu không quá 5 giây. Thời gian cần thiết để tổng hợp in báo báo không quá 20 giây.

- Độ tin cậy cao: Các kết quả đưa ra chính xác, đầy đủ, ngắn gọn.

- Linh động : có tính mở , thuận tiện cho việc bảo trì, phát triển hệ thống. Có đầy đủ các tiện ích phục vụ cho người sử dụng . Có khả năng lập các bảng biểu báo cáo theo yêu cầu của người sử dụng . Phải có từng cấp độ ưu tiên cho người sử dụng và đảm bảo việc bảo mật chương trình. Phải có chương trình quản trị hệ thống cho người điều hành, chương trình phải có tiện ích thuận tiện cho việc thêm bớt người dùng, cấp phát quyền, quản trị theo nhóm... Các phân hệ của chương trình phải tn thủ theo trật tự thực hiện yêu cầu của người sử dụng và phần giao diện chung.

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

<b>CHƯƠNG II: PHÂN TÍCH THIẾT KẾ HỆ THỐNG2.1 Biểu đồ phân cấp chức năng</b>

Hình 2.1 Biểu đồ phân cấp chức năng

Quản lý hệ thống : Bao gồm các chức năng: Quản lý danh sách nhân viên. Quản lý thông tin nhân viên trong quán , với chức năng các cập nhập, sửa, xóa ,thêm dữ liệu nhân viên gồm : Tên đăng nhập, mật khẩu, họ và tên, ngày sinh, địa chỉ, điện thoại , Thoát khỏi hệ thống.

: Bao gồm các chức năng : Quản lý khách hàng và Quản lý sản phẩm. Loại Quản lý Danh mục

khách hàng, Mã khách hàng, ghi chú,.. Sản phẩm: Mã sản phẩm, tên sản phẩm, ghi chú, đơn vị tính,... Có thể cập nhập thêm, sửa xóa, thêm các thơng tin đó.

Quản lý nghiệp vụ : Bao gồm các chức năng cập nhập giá bán: cập nhập , thêm , sửa, xóa giá bán của các loại sản phẩm ứng với các loại khách hàng khác nhau. Quản lý hàng bán: Có thể tìm kiếm , thống kế các thông tin đến hàng bán theo ngày và có thể sửa xóa phiếu bán hàng. Bán hàng: Theo loại khách. Khi đã chọn xong thông tin khách chương trình đưua ra phiếu bán hàng để điền các thông tin và xử lý : Ngày bán, Nhân viên bán, Loại khách, Ghi chú, Mã sản phẩm , số lượng sản phẩm bán, giá bán, thành tiền...

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

Thống kê : Bao gồm các chức năng: Thống kê bán hàng: Có thể thống kế các sản phẩm bán được, doanh thu của số sản phẩm đó theo : Mã sản phẩm, tên sản phẩm, ngày, tên nhân viên bán. Thống kê hàng trong kho: Theo mã sản phẩm, tên sản phẩm, số lượng cụ thể, từ các thơng tin đó chương trình sẽ đưa ra danh sách các loại hàng cịn trong kho và có thể in được danh sách đó.

Trong hầu hết các chức năng trên cịn chứa các chức năng con như : Cập nhật: Nhập, sửa, xóa, tìm kiếm ....

<b>2.2 Biểu đồ luồng dữ liệu</b>

- Là sơ đồ nhằm mục đích diễn tả một quá trình xử lý thơng tin

<b>Biểu đồ luồng dữ liệu mức khung cảnh</b>

Hình 2.2 Biểu đồ luồng dữ liệu mức khung cảnh

<b>2.3 Biểu đồ UseCase</b>

Biểu đồ UseCase này cho ta thấy các chức năng của hệ thống quản lý bán hàng quán Cà phê được phân theo người sử dụng ( tác nhân) như thế nào. Với hai tác nhân là : Chủ quán và nhân viên Trong đó chủ quản có quyền tác động đến mọi chức năng của hệ thống. Cịn nhân viên chỉ có quền thao tác với các chức năng bán hàng.

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

Hình 2.3 Biểu đồ UseCase

<b>2.4 Biểu đồ hoạt động các chức năng2.4.1 Đăng nhập vào hệ thống</b>

Quy trình thực hiện : Hệ thống hiển thị giao diện đăng nhập. Người dùng nhập tên đăng nhập và mật khẩu . Hệ thống kiểm tra nếu hợp lệ sẽ chuyển sang giao diện chính. Nếu sai sẽ đưa ra thơng báo. Ứng với tên người đăng nhập và mật khẩu thế nào thì giao diện chính sẽ hiển thị chức năng ứng với người sử dụng đó.

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

Hình 2.4 Mơ hình hoạt động chức năng đăng nhập vào hệ thống

<b>2.4.2 Quản lý nhân viên</b>

Quy trình thực hiện: Hệ thống hiển thị giao diện quản lý nhân viên

Thêm mới : Người dùng nhập thông tin nhân viên, nếu hợp lệ hệ thống sẽ thêm nhân viên mới vào CSDL , nếu sai sẽ đưa ra thông báo

Chỉnh sửa: Chọn nhân viên cần chỉnh sửa, nhập thông tin chỉnh sửa, nếu hợp lý thông tin mới về nhân viên sẽ được thay thế trong CSDL .

Xóa : Chọn nhân viên cần xóa, xác nhận xóa , thơng tin về nhân viên được xóa khỏi CSDL.

Hình 2.5 Mơ hình hoạt động chức năng Quản lý nhân viên

<b>2.4.3 Quản lý khách hàng</b>

Quy trình thực hiện: Hệ thống hiển thị giao diện quản lý khách hàng

Thêm mới : Người dùng nhập thông tin khách hàng, nếu hợp lệ hệ thống sẽ thêm khách hàng mới vào CSDL , nếu sai sẽ đưa ra thông báo

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

Chỉnh sửa: Chọn khách hàng cần chỉnh sửa, nhập thông tin chỉnh sửa, nếu hợp lý thông tin mới về khách hàng sẽ được thay thế trong CSDL .

Xóa : Chọn khách hàng cần xóa, xác nhận xóa , thơng tin về khách hàng được xóa khỏi CSDL.

Hình 2.6 Mơ hình hoạt động chức năng Quản lý khách hàng

<b>2.4.4 Quản lý sản phẩm</b>

Quy trình thực hiện: Hệ thống hiển thị giao diện quản lý sản phẩm

Thêm mới : Người dùng nhập thông tin sản phẩm, nếu hợp lệ hệ thống sẽ thêm vào CSDL , nếu sai sẽ đưa ra thông báo

Chỉnh sửa: Chọn sản phẩm cần chỉnh sửa, nhập thông tin chỉnh sửa, nếu hợp lý thông tin mới về sản phẩm sẽ được thay thế trong CSDL .

Xóa : Chọn sản phẩm cần xóa, xác nhận xóa , thơng tin về sản phẩm được xóa khỏi CSDL.

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

Hình 2.7 Mơ hình hoạt động chức năng Quản lý sản phẩm

<b>2.4.5 Cập nhập giá bán</b>

Quy trình thực hiện: Hệ thống hiển thị giao diện cập nhập giá bán. Người sử dụng chọn loại hàng , nhập giá bán loại hàng đó tương ứng với từng loại khách hàng. Hệ thống sẽ cập nhập vào CSDL.

Hình 2.8 Mơ hình hoạt động chức năng Nhập giá bán

<b>2.4.6 Bán hàng</b>

Quy trình thực hiện: Hệ thống hiển thị giao diện bán hàng. Người sử dụng chọn khách hàng. Người dùng điền đầy đủ thơng tin. Chương trình sẽ tự động tính tốn thành tiền , tổng tiền cho khách hàng.

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

Hình 2.9 Mơ hình hoạt động chức năng Bán hàng

<b>2.4.7 Thống kê bán hàng</b>

Quy trình thực hiện: Hệ thống hiển thị giao diện thống kế bán hàng. Người sử dụng nhập các tthoog tin: Thời gian, loại hàng,nhân viên bán, .. Hệ thống sẽ kết xuất thống kê báo cáo từ CSDL

Hình 2.10 Mơ hình hoạt động chức năng Thống kê bán hàng

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

<b>2.5 Biểu đồ phân rã chức năng</b>

<b>2.5.1 Biểu đồ phân rã chức năng quản lý</b>

Hình 2.11 Biểu đồ phân rã chức năng quản lý

<b>2.5.2 Biểu đồ phân rã chức năng quản lý sản phẩm</b>

Hình 2.12 Biểu đồ phân rã chức năng quản lý

<b>2.5.3 Biểu đồ phân rã chức năng quản lý nhân viên</b>

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

Hình 2.13 Biểu đồ phân rã chức năng quản lý nhân viên

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

<b>2.7.2 Bảng AccountMô tả</b>

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

password Varchar(50) Mật khẩu

<b>2.7.5 Bảng bookingMô tả</b>

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

<b>2.7.6 Bảng ContactMô tả</b>

<b>2.7.7 Bảng categoryMô tả</b>

<b>2.7.8 Bảng RoleMô tả</b>

<b>2.8 Thiết kế cơ sở dữ liệu</b>

1 Account Đăng nhập

CREATE TABLE `account` ( `id` int(11) NOT NULL,

`username` varchar(50) DEFAULT NULL, `password` varchar(50) DEFAULT NULL, `name` varchar(50) DEFAULT NULL, `age` varchar(50) DEFAULT NULL, `address` varchar(50) DEFAULT NULL, `idRole` int(11) DEFAULT NULL, `images` varchar(50) DEFAULT NULL, `idEmployee` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4

COLLATE=utf8mb4_general_ci;

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

CREATE TABLE `employee` ( `idEmployee` int(11) NOT NULL, `name` varchar(50) DEFAULT NULL, `age` varchar(50) DEFAULT NULL, `address` varchar(5000) DEFAULT NULL, `phone` varchar(5000) DEFAULT NULL, `position` varchar(50) DEFAULT NULL ) ENGINE=InnoDB

CREATE TABLE `product` ( `id` int(11) NOT NULL, `name` varchar(50) DEFAULT NULL, `price` varchar(50) DEFAULT NULL, `description` varchar(5000) DEFAULT NULL, `images` varchar(5000) DEFAULT NULL, `idCategory` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4

COLLATE=utf8mb4_general_ci<small>;</small> 4 Custommer Chứa thông tin

của khách hàng

CREATE TABLE `custommer` ( `idCustommer` int(11) NOT NULL, `name` varchar(50) DEFAULT NULL, `age` varchar(50) DEFAULT NULL, `email` varchar(50) DEFAULT NULL, `level` varchar(50) DEFAULT NULL, `idContact` int(11) DEFAULT NULL, `phone` varchar(50) DEFAULT NULL

CREATE TABLE `role` ( `idRole` int(11) NOT NULL, `nameRole` varchar(50) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

6 <b> Booking</b> Chứa thông tin về booking

CREATE TABLE `booking` ( `idBooking` int(11) NOT NULL, `name` varchar(50) DEFAULT NULL, `email` varchar(50) DEFAULT NULL, `date` varchar(50) DEFAULT NULL, `time` varchar(50) DEFAULT NULL, `idCustommer` int(11) DEFAULT NULL

CREATE TABLE `category` ( `idcategory` int(11) NOT NULL, `nameCategory` varchar(50) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4

COLLATE=utf8mb4_general_ci;

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

<b>2.9 Thiết kế giao diện </b>

Danh sách các giao diện

Hiển thị thông tin danh sách nhân viên, các chức năng thêm sửa xóa nhân viên 4 Trang quản lý khách

hàng <sup>Hiển thị thông tin khách hàng , các chức </sup>năng thêm sửa xóa khách hàng 5 Trang quản lý sản

Hiển thị thông tin sản phẩm , các chức năng thêm sửa xóa sản phẩm

6 Trang Booking Hiển thị các thông tin về booking , các chức năng thêm sửa xóa booking

7 Trang thể loại Hiển thị thông tin về thể loại sản phẩm 8 Trang liên hệ Hiển thị form điền thông tin muốn liên hệ

<b>CHƯƠNG III. XÂY DỰNG ỨNG DỤNG1. Giao diện chương trình</b>

<b>1.1 Giao diện đăng nhập</b>

<b>Giao diện đăng nhập</b>

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

<b>Code giao diện đăng nhập</b>

- Ở giao diện đăng nhập ta sẽ cần điền 2 thơng tin để có thể tiến hành vào Trang admin đó là điền thông tin Username và Password.

- Sau khi điền đầy đủ thơng tin chính xác thì ta sẽ click vào nút “Đăng nhập”.

<b>1.2 Giao diện đăng kí</b>

<b>Giao diện đăng kí</b>

</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">

<b>Code giao diện đăng kí</b>

-Ở giao diện đăng kí , chúng ta sẽ nhập 6 trường là username, password ,age,Address,Nane,Avatar để thực hiện đăng kí tài khoản.

- Sau khi đăng kí thành cơng người dùng có thể đăng nhập và tiến hành mua sản phẩm.

<b>1.3 Giao diện trang home Admin</b>

<b>Giao diện home Admin</b>

</div>

×