Khóa luận Xây dựng phần mềm quản lý bán hàng quán Cafe

Qua quá trình làm khóa luận tốt nghiệp với đề tài “Xây dựng phần mềm quản lý bán hàng quán Cafe”, bản thân em tự thấy mình đã thu được các kết quả sau: - Nắm bắt được quy trình nghiệp vụ, giao dịch bán hàng, quản lý bàn, quản lý món, quản lý nhân viên, quản lý danh mục ở quán cafe. - Hiểu biết được một số phương pháp phân tích thiết kế hệ thống, từ đó đã áp dụng các hiểu biết của mình để phân tích thiết kế hệ thống bài toán theo mô hình ba lớp. - Có được các kinh nghiệm thực tế khi được tham gia vào một dự án nhỏ, cụ thể để có thể áp dụng được các kiến thức đã được học vào thực tiễn. - Tiến hành phân tích thiết kế hệ thống và hoàn thiện chương trình phần mềm với mô hình ba lớp một cách đầy đủ. - Cài đặt các mô-đun để thử nghiệm bằng ngôn ngữ lập trình Java kết hợp với công cụ lập trình Netbean IDE và sử dụng hệ quản trị cơ sở dữ liệu SQL Server để lưu giữ dữ liệu. Về thực nghiệm, đã thiết kế và cài đặt thành công chương trình, thể hiện phù hợp ới nội dung của đề tài i học Kinh tế Huế

pdf55 trang | Chia sẻ: phamthachthat | Lượt xem: 5117 | Lượt tải: 4download
Bạn đang xem trước 20 trang tài liệu Khóa luận Xây dựng phần mềm quản lý bán hàng quán Cafe, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
. Đây cũng chính là hoạt động chủ đạo trong các đêm nhạc ở Like Café. 1.1.2. Hoạt động của Like Café trong thời gian qua Với khoảng thời gian thành lập chưa lâu (từ ngày 06/10/2012 tới nay) chưa có bề dày về lịch sử thành lập cũng như hoạt động nhưng Like Cafe đã nỗ lực hết mình thực Trư ờng Đạ i họ c K inh ế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 10 GVHD: Th.S Lê Viết Mẫn hiện các hoạt động thiết thực nhằm mang lại giá trị thưởng thức và cảm nhận tốt nhất đối với khách hàng trong suốt thời gian qua. Dưới đây là những hoạt động cụ thể mà Like Cafe đã thực hiện: - Đêm nhạc Acoustic sâu lắng, nhẹ nhàng chất lượng. Chương trình có sự góp mặt của các ca sĩ trẻ đến từ Thành phố Huế: Nguyễn Thiện Thông (Ken Possible), Thế Ân, Thế Anh, Lê Khánh, Nguyễn Hữu Thanh Tùng, Lạc Thư, Khánh Hòa, Tuyết Trinh... - Tiệc Buffet “VUI GIÁNG SINH - ĐÓN CHÀO NĂM MỚI”. GIÁNG SINH là mùa của yêu thương, mùa của ấm áp ngọt ngào. Hòa cùng không khí rộn ràng mừng đón Giáng sinh và thời khắc thiêng liêng đón mừng năm mới 2013. Lúc 19g30 ngày 22/12 /2012, Like Cafe tổ chức chương trình Buffet đặc biệt “VUI GIÁNG SINH - ĐÓN CHÀO NĂM MỚI” với hơn 20 món ngon dành riêng cho đêm tiệc. Chương trình ca nhạc đặc biệt, hoành tráng với sự góp mặt của nhiều ca sĩ trẻ, nhóm nhạc công Like Cafe, cùng sự thể hiện của các vị khách mời yêu ca nhạc. Đặc biệt, mỗi một quý khách sẽ có một Phiếu bốc thăm để nhận được những món quà thú vị và lời chúc an lành từ ông già Noel vui tính - Chương trình gây qũy từ thiện - Đêm nhạc Trịnh Công Sơn. Để tưởng nhớ đến cố nhạc sĩ Trịnh Công Sơn, Like Cafe tổ chức đêm nhạc Trịnh với chủ đề "Dấu chân địa đàng" vào lúc 19g30 ngày 01/04/2013. Toàn bộ kinh phí thu được của đêm nhạc sẽ gây quỹ từ thiện dành cho trẻ em nghèo tỉnh Thừa Thiên Huế. - Đồng hành cùng Giờ trái đất 03/2013. - Hoạt động ca nhạc thường đêm vào các tối thứ 3, thứ 5 và thứ 7 hàng tuần. Trư ờng Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 11 GVHD: Th.S Lê Viết Mẫn 1.2. Cơ cấu tổ chức nhân sự Like Café Hình 1.1: Cơ cấu tổ chức nhân sự. Cách thức hoạt động: Người thu và chi tiền, nhận các báo cáo quản lý là chủ quán. Quản lý mọi hoạt động của quán như nhân viên vắng mặt, nghĩ làm, xuất nhập hàng hóa, quản lý cơ sở vật chất là người quản lý quán. Nhân viên bao gồm nhân viên chạy bàn, nhân viên đứng quầy, nhân viên pha chế, nhân viên giữ xe, nhiệm vụ chi tiết của từng nhân viên được mô tả như dưới đây:  Trong một ca làm việc, các nhân viên được phân bổ như sau: một quản lý, một nhân viên pha chế (có bằng pha chế), một nhân viên đứng quầy kiêm phục vụ khu vực trong quán, một nhân viên giữ xe, các nhân viên còn lại có nhiệm vụ chạy bàn.  Có tất cả ba ca làm việc. Ca 1 từ 6g30 tới 11g, ca 2 từ 11g tới 17g và ca 3 từ 17g tới 22g30, số lượng nhân viên tùy thuộc theo ca, đầu ca sáng và ca tối sẽ đông hơn, lúc ít khách nhất thường là vào buổi trưa lúc đó quán có thể chỉ sử dụng tối đa ba nhân viên bao gồm một nhân viên pha chế, một nhân viên phục vụ bàn và một nhân viên thu ngân. Buổi tối thường là lúc đông khách nhất, quán sẽ sử dụng tối đa số nhân viên làm việc, khoảng sáu nhân viên. Do đặc thù của quán, việc thuê mướn nhân viên thường là sinh viên và làm theo part-time 3 ca nên việc quản lý dựa vào một sổ chấm công đơn giản, sổ này dùng để ghi tên những nhân viên làm ca nào và tên gì. • Là người thu và chi tiền, nhận các báo cáo thông qua quản lý.Chủ • Anh Khánh: quản lý mọi hoạt động của quán, có khi đảm nhiệm chức năng của nhân viên đứng quầy. Quản lý • Nhân viên đứng quầy, nhân viên pha chế, nhân viên chạy bàn và nhân viên giữ xe (nhiệm vụ chi tiết sẽ trình bày ở phía dưới) Nhân viên Trư ờng Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 12 GVHD: Th.S Lê Viết Mẫn Đơn giá công, tại thời điểm khảo sát thì một công có đơn giá là 20.000 đồng, áp dụng cho toàn thể nhân viên, riêng quản lý được trả lương cố định tùy vào chủ quán, lương tính theo công và không xét tới thưởng, phạt hay ứng trước. Ngoài sổ chấm công còn một sổ có tên gọi là sổ quản lý nhân viên dùng để lưu các thông tin cần thiết của nhân viên như: họ tên, địa chỉ, tuổi, giới tính, số điện thoại liên lạc Cuối mỗi ca, nhân viên sẽ tính tiền tất cả các bàn, chuyển giao cho nhân viên khác, thường là thu ngân của ca làm việc tiếp theo nếu là ca tối thì chuyển cho quản lý hoặc chủ quán. Việc quản lý bán cà phê có thể hình dung khái quát thông qua sơ đồ sau: Hình 1.2: Sơ đồ giao dịch bán hàng cafe Mô tả sơ đồ:  Khi khách vào quán và có yêu cầu thức uống hay hàng ngoài danh mục (bài tây, cờ tướng, cờ vua...), nhân viên chạy bàn (nhân viên phục vụ) trực tiếp nhận thông Trư ờng Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 13 GVHD: Th.S Lê Viết Mẫn tin order từ khách và ghi 2 phiếu: một gửi tới bếp để pha chế thức uống và một gửi tới quầy để nhập vào máy bán hàng.  Sau đó, nhân viên phục vụ nhận đồ uống từ bếp và hàng ngoài danh mục từ quầy giao cho khách hàng.  Khi khách yêu cầu thanh toán, nhân viên phục vụ nhận tiền trả từ khách giao cho quầy và nhận tiền thối từ quầy giao cho khách.  Quản lý có thể yêu cầu máy xuất các báo cáo (khi quản lý nghỉ việc nhân viên đứng quầy cũng có quyền này). Cách tính tiền: Hệ thống sẽ quản lý thức uống bán ra trong ngày, trong tháng, trong năm, đầu vào của máy là một danh sách các order của một bàn, khi có lệnh thanh toán, sẽ truy vấn đến bàn đó, trích xuất là một hóa đơn tính tiền, xóa dữ liệu về bàn này. Một điều đáng lưu ý là các item được order không bị xóa khi hủy bàn, việc này tiện cho việc xuất ra report để cho người quản lý tính toán được lượng hàng bán ra trong ngày. Việc trích xuất report của máy đa dạng, với các loại report theo bàn (tính tiền), report theo ngày, report đột xuất, report theo tháng. Hết ca báo cáo chi tiết, trích ra phiếu từ máy tính tiền, so khớp với phiếu pha chế. Quản lý hàng xuất nhập: Hàng nhập xuất đều xuất đều ở khu vực pha chế và quầy. Việc nhập hàng vào được thực hiện liên tục, hàng nhập vào được quy theo sản phẩm (vd: 1kg café đen có thể chia thành 45 ly café đen, 50 ly café sữa). Ngoài ra, việc nhập hàng và cất giữ cũng được thực hiện ở quầy. Hàng ở quầy được ghi sổ lại lượng tồn sau mỗi ca. Doanh thu, chi phí, lợi nhuận: Được tính theo cách sau: doanh thu được xác định chính xác do việc order được lưu trữ trong máy tính tiền, chi phí được tính toán bằng cách ước lượng theo tháng (vì việc nhập hàng liên tục nên việc ghi nhận lượng hàng nhập của quán khó tính toán được với việc ghi sổ thủ công). Từ doanh thu, chi phí có thể xác định được lợi nhuận tháng của quán. Như vậy, việc ghi nhận doanh thu rõ ràng, chi tiết và được tiến hành trong một quy trình khá khép kín. Việc xuất các báo cáo, doanh thu tháng, năm được tiến hành trong một hệ thống có sẵn. Trư ờng Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 14 GVHD: Th.S Lê Viết Mẫn Tuy nhiên, thất thoát là điều khó tránh khỏi và thật khó trong việc quy trách nhiệm. Việc xác định chi phí bao gồm, chi phí nhân công, chi phí nguyên vật liệu, trong đó chi phí nguyên vật liệu chỉ được ước chừng theo kinh nghiệm và theo tiền sử bán hàng. Nên việc xác định chính xác lợi nhuận là điều khó có thể. Vậy, phải làm sao để tính toán được một cách chính xác chi phí bỏ ra ?. Do đó bộ phận quản lý quán Like Café mong muốn có một phần mềm chuyên dụng để thay thế công việc thủ công nhàm chán hàng ngày mà nhân viên cũng như quản lý Like Café đang đối mặt, phần mềm này phải giải quyết được một số đặc điểm tiêu biểu sau:  Có đầy đủ các thao tác nghiệp vụ.  Dễ sử dụng.  Tính chính xác. 1.3. Thực trạng chung về hệ thống quản lý bán hàng cafe hiện nay và yêu cầu đổi mới 1.3.1. Thực trạng quản lý bán hàng ở các quán cafe hiện nay Ở địa bàn thành phố Huế hiện nay có rất nhiều quán cà phê với quy mô đa dạng nhưng quy mô vừa và nhỏ là chiếm đa số, đề tài nghiên cứu xây dựng phần mềm ở quán Like Cafe cũng thuộc quy mô vừa và nhỏ với số lượng bàn có không quá 50. Theo quan sát, đa số quản lý theo phương pháp truyền thống hay khác hơn là bán thủ công: nhập hàng, xuất hàng, tính doanh thu, lợi nhuận, tính tiền bàn, quản lý nhân viên đều thực hiện hoàn toàn trên giấy tờ hoặc là kết hợp với các máy bán hàng chuyên dụng đắt tiền nhưng tính năng lại hạn chế. Những nhược điểm của việc quản lý bán hàng theo phương thức truyền thống:  Rất mất thời gian cho cả nhân viên, chủ quán và khách hàng.  Dễ xảy ra nhầm lẫn khi nhập số liệu và thực hiện thống kê kinh doanh  Dữ liệu không được lưu trữ lâu dài, dẫn đến khó giải quyết khi khách hàng có khiếu nại, việc thực hiện các nghiệp vụ bán hàng của nhân viên và báo cáo các khoản tiền đối với chủ quán. Trư ờng Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 15 GVHD: Th.S Lê Viết Mẫn Vẫn có một số quán có quy mô lớn dùng các phần mềm chuyên dụng nhưng phải đầu tư một khoản tiền khá lớn cho việc mua và bảo trì, hơn nữa các phần mềm này không được thiết kế riêng cho việc quản lý bán cà phê. Ví dụ: quán Valley bỏ ra tầm 5 triệu đồng để mua phần mềm Smile chuyên dùng cho khách sạn để về quản lý công việc bán café. Có những quán sử dụng các phần mềm miễn phí có ở trên mạng nhưng vấp phải một số khó khăn khi sử dụng với lý do:  Phần mềm không được viết theo yêu cầu của khách hàng.  Giới hạn nhiều tính năng, ví như chỉ có chức năng quản lý bán hàng.  Gặp nhiều lỗi, không được nâng cấp, bảo trì... 1.3.2. Yêu cầu đổi mới Từ những quan sát và phân tích ở trên, thiết nghĩ đã đến lúc cần phải có một phần mềm được thiết kế riêng biệt để quản lý hoạt động của một quán cà phê để thay thế việc quản lý thủ công truyền thống trên giấy tờ. Ưu điểm nổi bật của việc ứng dụng công nghệ thông tin vào việc quản lý quán cà phê:  Tiết kiệm được rất nhiều thời gian, khả năng lưu trữ một khối lượng cực lớn các dữ liệu.  Thời gian lưu trữ dữ liệu lâu dài và an toàn, tốc độ truy xuất nhanh.  Nhân viên dễ dàng thực hiện các thao tác nghiệp vụ và có thể hoàn tác (undo) một cách nhanh gọn.  Độ chính xác và tin cậy cao trong việc thống kê kinh doanh. Trư ờng Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 16 GVHD: Th.S Lê Viết Mẫn CHƯƠNG 2 PHƯƠNG PHÁP LUẬN 2.1. Phương pháp luận trong phân tích hệ thống Trong quá trình phân tích hệ thống, người viết đã vận dụng một số vấn đề phương pháp luận cơ bản nhằm đảm bảo cho hệ thống tương lai hoạt động ổn định và mang lại hiệu quả kinh tế thiết thực. 2.1.1. Phương pháp tiếp cận hệ thống Tiếp cận hệ thống là một phương pháp khoa học và biện chứng trong nghiên cứu và giải quyết các vấn đề kinh tế xã hội. Yêu cầu chủ yếu nhất của phương pháp này là phải xem xét hệ thống trong tổng thể vốn có của nó cùng với các mối liên hệ của các phân hệ nội tại cũng như mối liên hệ với các hệ thống bên ngoài. Ứng dụng phương pháp này đòi hỏi khi xây dựng phần mềm quản lý cho một tổ chức, doanh nghiệp thì trước hết người phân tích phải xem xét tổ chức, doanh nghiệp đó như là một hệ thống thống nhất về mặt kinh tế, tổ chức, kỹ thuật; sau đó mới đi vào các vấn đề cụ thể trong từng lĩnh vực. Trong mỗi lĩnh vực lại phân chia thành các vấn đề cụ thể, ngày càng chi tiết hơn. Đây chính là phương pháp tiếp cận đi từ tổng quát đến cụ thể theo sơ đồ cầu trúc hình cây. 2.1.2. Từ phân tích chức năng đến mô hình hóa Nguyên tắc này đòi hỏi trong quá trình phân tích hệ thống khi thiết kế phần mềm người ta phải tiến hành theo một trình tự khoa học. Trước hết phải có một kế hoạch phân tích tỉ mỉ, chu đáo đến từng khâu công việc. Sau đó tiến hành từ bước phân tích chức năng của hệ thống thông tin, phân tích dòng thông tin kinh doanh và sau đó tiến hành mô hình hóa hệ thống thông tin kinh tế bằng các mô hình như: sơ đồ ngữ cảnh, sơ đồ chức năng (BFD), sơ đồ luồng dữ liệu (DFD). Cuối cùng là lập bản báo cáo chi tiết toàn bộ những kết quả của quá trình phân tích hệ thống. Đây là cơ sở quan trọng cho bước thiết kế phần mềm tiếp theo sau. 2.1.3. Phân tích hệ thống có cấu trúc Phương pháp này bắt nguồn vững chắc từ cách tiếp cận hệ thống. Phân tích hệ thống có cấu trúc không chỉ là “một ý tưởng tốt” hay một cái gì đó mà nhà thực hành Trư ờng Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 17 GVHD: Th.S Lê Viết Mẫn tìm ra để làm việc, nó còn là ứng dụng thực tế của một khái niệm lý thuyết đầy hiệu lực. Một khái niệm được sử dụng rất rộng rãi trong xử lý dữ liệu là quá trình phát triển các hệ thống mới có sử dụng máy tính bao gồm một số giai đoạn nhất định. Tất cả những giai đoạn này tạo thành vòng đời phát triển của hệ thống bao gồm 5 công đoạn sau đây: - Xác định vấn đề - Nghiên cứu tính khả thi - Phân tích - Thiết kế - Cài đặt Một số đặc trưng quan trọng của vòng đời phát triển hệ thống:  Tạo điều kiện thuận lợi cho việc kiểm soát và quản lý hệ thống một cách tốt nhất.  Làm giảm bớt các nguy cơ sai lầm về chi phí không dự kiến trước được.  Nhường quyền kiểm soát tối hậu dự án cho người sử dụng.  Mọi chi tiết về hệ thống mới, mọi nhân tố và giả thuyết về những quyết định nào đã được chọn đều được ghi lại một cách có hệ thống trong tài liệu đưa ra ở từng giai đoạn. 2.2. Quy trình thiết kế phần mềm Quy trình thiết kế phần mềm bao gồm 8 bước sau đây: Trư ờng Đạ i h c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 18 GVHD: Th.S Lê Viết Mẫn Hình 2.1: Quy trình thiết kế phần mềm. Bước 1: Khảo sát hiện trạng và đặc tả yêu cầu Giai đoạn này tập trung nghiên cứu hoạt động nghiệp vụ của bộ phận tổ chức có yêu cầu tin học hóa, thu thập tài liệu, thông tin từ những người làm việc trực tiếp, xác định các yêu cầu mà khách hàng đặt ra. Từ đó xác định thông tin nào cần được xử lý, chức năng và tiêu chuẩn hợp lệ nào cần có để xác định ra một hệ thống. Yêu cầu chủ chốt của hệ thống và phần mềm cũng được xác định. Giai đoạn khảo sát thực tế được thực hiện theo sơ đồ dưới đây: Khảo sát hiện trạng vàđặc tả yêu cầu Thiết kế kiến trúc hệ thống Thiết kế dữ liệu Thiết kế giao diện 1 2 3 4 5 6 7 8 Lập trình Kiểm thử Triển khai Đào tạo sử dụng Trư ờ g Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 19 GVHD: Th.S Lê Viết Mẫn Hình 2.2: Khảo sát hiện trạng và đặc tả yêu cầu. Sau khi khảo sát và lập ra được tài liệu đặc tả yêu cầu phần mềm, người thiết kế phần mềm sẽ làm bản mẫu cho phần mềm. Tóm lại ở giai đoạn này chúng ta cần xác địng rõ những gì ta quan tâm về bản thân chúng ta và mọi người. Bước 2: Thiết kế kiến trúc hệ thống Thiết kế kiến trúc hệ thống là một mô hình tổng quát bao gồm những môđun chính của toàn bộ hệ thống và sự bố trí sắp xếp của các môđun này. Mục tiêu chủ yếu của thiết kế kiến trúc là phát triển một cấu trúc chương trình môđun và biểu diễn mối quan hệ điều khiển giữa các môđun. Bên cạnh đó, thiết kế kiến trúc còn trộn lẫn cấu trúc chương trình và cấu trúc dữ liệu, xác định các giao diện làm cho dữ liệu chảy qua toàn bộ chương trình. Khi các chức năng của một hệ thống dựa trên máy tính đã được xác định thì kỹ sư phần mềm có thể tạo ra một mô hình biểu thị cho mối quan hệ giữa các phần tử của hệ thống và đặt ra nền tảng cho các bước phân tích và thiết kế sau này. Kiến trúc hệ thống mô tả hai đặc trưng quan trọng của chương trình máy tính. Chức năng phần mềm Lập kế hoạch dự án phần mềm Xét duyệt Phân tích yêu cầu hay bản mẫu Xét duyệ 1 Kế hoạc h dự án Đặc tả yêu cầu Bản mẫu Trư ờng Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 20 GVHD: Th.S Lê Viết Mẫn Kiến trúc hệ thống được suy dần ra qua quá trình phân hoạch đặt mối quan hệ giữa các phần tử của giải pháp phần mềm với các bộ phận của vấn đề được xác định qua phân tích yêu cầu. Tiến trình này được biểu diễn tượng trưng qua 2 hình vẽ sau đây: Hình 2.3 Chuyển đổi từ vấn đề sang giải pháp phần mềm Hình 2.4: Tiến trình thiết kế kiến trúc hệ thống. P1 P2 P3 P4 P5 S1 S2 S4 S3 S5 “Vấn đề” cần giải quyết “Giải pháp” phần mềm P1 P2 P3 P4 P5 S1 S2 S4 S3 S5 S4 S1 S2 S5 S3 S4 S5S2S1 S3 Cấu trúc 1 Cấu trúc 2 Cấu trúc 3 Trư ờng Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 21 GVHD: Th.S Lê Viết Mẫn Qua sơ đồ trên ta có thể thấy, một vấn đề có thể được thõa mãn bởi nhiều cấu trúc khác nhau. Trong thực tiễn thiết kế phần mềm, tùy từng bài toán cụ thể mà người thiết kế lựa chọn một kiểu cấu trúc thích hợp nhất. Thiết kế phần mềm là một công đoạn trung tâm trong quy trình xây dựng phần mềm, có ý nghĩa đặc biệt quan trọng có tính quyết định đến chất lượng của các sản phẩm phần mềm. Bước 3: Thiết kế dữ liệu Cơ sở dữ liệu là một tập hợp dữ liệu được tổ chức đặc biệt và được lưu trữ trên các thiết bị nhớ của máy tính nhằm cung cấp thông tin cho những người sử dụng khác nhau hay cho những ứng dụng khác nhau. Một cơ sở dữ liệu có các chức năng sau: - Có khả năng lưu trữ và nhập thêm thông tin. - Có thể cập nhật được dữ liệu. - Có khả năng cung cấp thông tin cho người sử dụng. Một cơ sở dữ liệu được thiết kế thì phải đảm bảo được các tiêu chuẩn sau: - Giảm dư thừa thông tin trong lưu trữ. - Có thể dùng chung một CSDL cho nhiều bộ phận trong hệ thống và sử dụng với nhiều mục đích khác nhau. - Đảm bảo tính nhất quán của dữ liệu trong hệ thống. Dễ dàng bảo trì dữ liệu và trao đổi dữ liệu với các HTTT khác. - Đảm bảo an toàn và toàn vẹn dữ liệu. Thiết kế CSDL trải qua các bước sau: i, Phân tích toàn bộ yêu cầu: Bước này khó khăn nhất là việc phân tích trọn vẹn những yêu cầu trong việc hình thành CSDL cho một đơn vị. Trong thời gian này người thiết kế phải tìm hiểu xem việc xử lý dữ liệu ở đơn vị để từ đó có cái nhìn tổng quát trước khi bắt tay vào thiết kế CSDL. ii, Nhận dạng những thực thể: Sau khi đã tìm hiểu kỹ tiến trình xử lý, nhà thiết kế phải nhận diện được các thực thể tham gia để thêm vào bảng dữ liệu trong CSDL. Trư ờ g Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 22 GVHD: Th.S Lê Viết Mẫn iii, Nhận diện các mối tương quan giữa các thực thể: Sau khi đã nhận diện xong các thực thể, công việc tiếp theo là phải tìm ra mối tương quan giữa các thực thể và mối tương quan đó có quan hệ như thế nào: 1-1, 1- n, n-n. iv, Xác định các mục khóa chính: Trên mỗi bảng dữ liệu, cần phải nhận diện một trường hợp cho phép phân biệt không nhập nhằng trong bản ghi. Vì nguyên tắc cơ bản trong thiết kế là không cho phép những bản ghi trùng nhau. Trong trường hợp nếu có nhiều sự lựa chọn thì phải chọn trường hợp có ý nghĩa đối với ứng dụng để làm khóa chính. v, Thêm vào các trường không phải là các mục khóa vào bảng: Sau khi đã khai báo định nghĩa các thực thể, các mục khóa chính và khóa ngoại lai, công việc tiếp theo là phải xác định được các trường còn lại trên bảng dữ liệu thuộc CSDL. Đây là bước khá quan trọng trong việc hình thành cấu trúc của bảng dữ liệu. Trong bước này phải quyết định việc đặt tên các trường sao cho thuận tiện khi xử lý dữ liệu trên bảng. vi, Chuẩn hóa các bảng dữ liệu: Công việc này sẽ loại bỏ những dữ kiện trùng lặp và giữ cho các dữ kiện có quan hệ với nhau nhằm đảm bảo không bị mất thông tin. vii, Khai báo phạm vi của mỗi trường: Đây là bước cuối cùng của quá trình thiết kế CSDL. Trong bước này phải xác định kiểu dữ liệu thích hợp cho mỗi trường và phạm vi dao động của các trường nhằm xác định độ rộng của trường. Bước 4: Thiết kế giao diện Tiến trình thiết kế giao diện bắt đầu với việc tạo ra các mô hình khác nhau về chức năng hệ thống (như được cảm nhận từ bên ngoài). Trước hết phải phát họa ra các nhiệm vụ hướng con người và máy tính cần để đạt tới chức năng của hệ thống, xem xét vấn đề thiết kế áp dụng cho mọi thiết kế giao diện, rồi sử dụng các công cụ làm bảng mẫu và cuối cùng là cài đặt cho mô hình thiết kế và đánh giá kết quả, chất lượng. Các mô hình khi thiết kế giao diện: a, Mô hình thiết kế Trư ờng Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 23 GVHD: Th.S Lê Viết Mẫn Mô hình thiết kế của toàn bộ hệ thống tổ hợp các biểu diễn dữ liệu, kiến trúc và thủ tục của phần mềm. Đặc tả các yêu cầu có thể thiết lập nên một số ràng buộc giúp cho việc định nghĩa người dùng của hệ thống, nhưng thiết kế giao diện thường chỉ ngẫu nhiên là mô hình thiết kế. b, Mô hình người dùng Mô hình người dùng mô tả sơ lược cho người dùng cuối cùng của hệ thống. Để xây dựng một giao diện người dùng có hiệu quả mọi thiết kế nên bắt đầu với một hiểu biết về người dùng được dự định. Nghĩa là nên xác định rằng: phần mềm được thiết cho đối tượng nào sử dụng? (kể các thông tin: tuổi tác, giới tính, khả năng về thể chất, trình độ văn hóa, tôn giáo...). c, Mô hình cảm nhận hệ thống Cảm nhận hệ thống là hình ảnh của hệ thống mà người dùng mang trong đầu. Mô hình này sẽ rất có lợi cho những người đã hiểu biết về hệ thống đó khi sử dụng phần mềm nhưng lại gây sự khó tiếp cận đối với những người mới học. d, Mô hình hình ảnh hệ thống Hình ảnh hệ thổng tổ hợp cách biểu lộ bên ngoài của hệ thống dựa trên máy tính (nhìn và cảm thấy giao diện) với mọi thông tin hỗ trợ (sách, tài liệu, băng đĩa...) mô tả cho cú pháp và ngữ nghĩa của hệ thống. Bước 5: Lập trình. Bước lập trình của quy trình thiết kế một phần mềm ứng dụng là một tiến trình dịch. Thiết kế chi tiết được lập sang một ngôn ngữ lập trình mà cuối cùng được biến đổi thành các lệnh mã máy thực hiện được. Lập trình là cốt lõi của tiến trình xây dựng phần mềm. Chương trình được lập phải dễ hiểu, nhấn mạnh vào các tính toán đơn giản và rõ ràng.Trư ờng Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 24 GVHD: Th.S Lê Viết Mẫn 1 Thiết kế dữ liệu và kiến trúc Xét duy Thiết kế giao diện Xét duyệ 2 Đặc tả thiết kế sơ bộ Đặc tả thiết kế chi tiết Bản mẫu Thiết kế giao diện Xét duyệt Mã gốc chươ Hình 2.5: Quy trình thiết kế phần mềm. Thực hiện các bước lập trình bao gồm các bước sau: - Xác định tài liệu chương trình gốc: tài liệu bên trong của chương trình gốc bắt đầu với việc chọn lựa các tên gọi định danh (biến và nhãn), tiếp tục với vị trí và thành phần của việc chú thích và kết luận với cách tổ chức trực quan của chương trình. Việc lựa chọn các tên gọi định danh có nghĩa chính là điều chủ chốt cho việc hiểu chương trình sang cấu trúc ngữ nghĩa bên trong. Bước 6: Kiểm thử Mục tiêu chính của kiểm thử là nhằm phát hiện ra những khiếm khuyết trong phần mềm. Để thực hiện tốt các mục tiêu đó, người ta sử dụng 2 loại kỹ thuật kiểm thử khác nhau, đó là kiểm thử hộp đen và kiểm thử hộp trắng.  Kiểm thử hộp đen: Kiểm thử hộp đen là việc tiến hành kiểm thử xem từng chức năng có vận hành hoàn toàn không. Việc kiểm thử hộp đen chỉ được tiến hành tại giao diện phần mềm. Kiểm thử hộp đen tập trung vào các yêu cầu chức năng của phần mềm. Tức là, việc kiểm thử hộp đen làm cho người lập trình suy ra được các điều kiện vào sẽ thao diễn Trư ờng Đạ i ọ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 25 GVHD: Th.S Lê Viết Mẫn qua tất cả các yêu cầu chức năng đối với một chương trình. Việc kiểm thử hộp đen dự định tìm lỗi trong các phạm vi sau đây: - Các chức năng không đúng hay bị bỏ sót. - Lỗi giao diện. - Lỗi trong cấu trúc dữ liệu hay thâm nhập CSDL ngoài. - Lỗi hiệu năng. - Lỗi khởi đầu và kết thúc.  Kiểm thử hộp trắng: Kiểm thử hộp trắng là một phương pháp thiết kế kiểm thử có dùng cấu trúc điều khiển của thiết kế thủ tục để suy ra các trường hợp kiểm thử. Kiểm thử hộp trắng tập trung vào cấu trúc điều khiển chương trình. Các trường hợp kiểm thử được thực hiện đều đảm bảo rằng tất cả các câu lệnh trong chương trình đều được thực hiện ít nhất một lần, tất cả các điều kiện logic đều được thử qua. Bước 7: Triển khai Sau khi kết thúc kiểm thử (không còn thấy xuất hiện lỗi), chúng ta bắt tay vào quá trình triển khai phần mềm. Triển khai phần mềm là việc đưa sản phẩm được tạo ra bởi các nhóm người lập trình đến đối tượng sử dụng phần mềm đó là những người thực hiện giá trị của sản phẩm trí tuệ này gọi là người sử dụng cuối cùng. Để đưa hệ thống cùng toàn bộ tính năng ưu việt của nó vào ứng dụng trong thực tế một cách có hiệu quả thì quá trình triển khai phần mềm phải thực hiện tốt. Nói cách khác, các tính năng mà phần mềm có được chỉ là điều kiện cần còn quy trình triển khai hợp lý, khoa học chính là điều kiện đủ để ứng dụng thành công hệ thống. Tỷ lệ thất bại của các phần mềm do quá trình triển khai vẫn đang chiếm một tỉ lệ khá cao mà nguyên nhân chủ yếu là do: - Năng lực của người sử dụng còn hạn chế. - Truyền đạt và thông tin không tốt. - Phương pháp triển khai thiếu tính khoa học và không rõ ràng. Bước 8: Đào tạo sử dụng Phần mềm sau khi tạo ra phải được sử dụng ít nhất bởi một người hay nhóm người nào đó. Nhưng những người sử dụng trực tiếp không phải là những người có chuyên môn sâu về tin học nên không thể đòi hỏi họ phải hiểu được ý tưởng và cách Trư ờng Đạ i họ c K inh ế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 26 GVHD: Th.S Lê Viết Mẫn thiết kế ý tưởng trên phần mềm của người lập trình. Vì vậy, khi triển khai phần mềm để đưa đến người sử dụng cuối cùng phải có quá trình hướng dẫn người sử dụng biết cách sử dụng sản phẩm và làm quen với cách làm việc được phần mềm hỗ trợ. Các lĩnh vực đào tạo bao gồm: - Đào tạo kiến thức về máy tính: giới thiệu các khái niệm cơ sở của máy tính, phần mềm máy tính. - Đào tạo nhận thức về hệ thống: để người dùng biết hệ thống đang làm gì và những gì hệ thống có thể làm được. - Đào tạo người sử dụng biết sử dụng thông tin trong hệ thống; phân định trách nhiệm của mỗi người trong hệ thống. - Đào tạo về sử dụng phần mềm: giúp người dùng nắm rõ điều gì được thực hiện, điều gì không được thực hiện, các thao tác cần được thực hiện như thế nào, cách tra cứu tìm kiếm thông tin. 2.3. Ngôn ngữ lập trình Java 2.3.1. Giới thiệu Java là một ngôn ngữ lập trình được SunMicrosystems giới thiệu vào tháng 6 năm 1995. Từ đó, nó đã trở thành công cụ lâp trình của các lập trình viên chuyên nghiêp. Java được xây dựng trên nền tảng của C và C++, do vậy nó sử dung các cú pháp của C và các đặc trưng hướng đối tượng của C++. 2.3.2. Một số tính chất của ngôn ngữ lập trình Java Java là ngôn ngữ lập trình được phát triển từ ngôn ngữ lập trình C/C++. Nó kế thừa, phát huy các thế mạnh của ngôn ngữ C/C++ và lược bỏ đi các cú pháp phức tạp của C/C++. Ngôn ngữ lập trình Java có một số đặc trưng tiêu biểu: đơn giản, hướng đối tượng, độc lập phần cứng và hệ điều hành, mạnh mẽ và bảo mật. Tính đơn giản: những người thiết kế mong muốn phát triển một ngôn ngữ dễ học và quen thuộc với đa số người lập trình. Do vậy Java loại bỏ các đặc trưng phức tạp của C và C++ như: loại bỏ thao tác con trỏ, thao tác định nghĩa chồng toán tử, không cho phép đa kế thừa mà sử dụng các giao diện, không sử dụng lệnh ”goto” cũng như file header (.h), loại bỏ cấu trúc ”struct” và ”union”... Tính hướng đối tượng: Java là ngôn ngữ lập trình thuần hướng đối tượng, mọi chương trình viết trên Java đều phải được xây dựng trên các đối tượng. Nếu trong Trư ờ g Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 27 GVHD: Th.S Lê Viết Mẫn C/C++ có thể tạo ra các hàm thì trong Java ta chỉ có thể tạo ra các phương thức. Trong Java không cho phép các các đối tượng có tính năng đa kế thừa mà được thay thế bằng các giao diện (interface). Độc lập phần cứng và hệ điều hành: Đối với các ngôn ngữ lập trình truyền thống như C/C++, phương pháp biên dịch được thực hiện như sau : Hình 2.6: Các biên dịch chương trình hệ thống. Với mỗi nền phần cứng khác nhau thì có một trình biên dịch khác nhau, do vậy khi chạy trên một nền phần cứng khác nhau bắt buộc phải biên dịch lại mã nguồn. Đối với các chương trình viết bằng Java, trình biên dịch sẽ biên dịch thành dạng bytecode. Sau đó khi chạy chương trình trên các nền phần cứng khác nhau, máy ảo Java dùng trình thông dịch để chuyển mã bytecode thành dạng chạy được trên các nền phần cứng tương ứng. Do vậy khi thay đổi nền phần cứng, không phải biên dịch lại mã nguồn Java. Trư ờ g Đạ i ọ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 28 GVHD: Th.S Lê Viết Mẫn Hình 2.7: Biên dịch hệ thống Java. Mạnh mẽ: Java là ngôn ngữ yêu cầu chặt chẽ về kiểu dữ liệu: kiểu dữ liệu phải khai báo tường minh, không sử dụng con trỏ và các phép toán con trỏ, kiểm tra tất cả các truy cập đến mảng, chuổi khi thực thi để đảm bảo rằng các truy nhập đó không ra ngoài giới hạn kích thước, cơ chế bẫy lỗi giúp đơn giản hóa quá trình xử lý lỗi và hồi phục sau lỗi... Bảo mật: Java cung cấp một môi trường quản lý thực thi chương trình với nhiều mức để kiểm soát tính an toàn: - Ở mức thứ nhất, dữ liệu và các phương thức được đóng gói bên trong lớp. Chúng chỉ được truy xuất thông qua các giao diện mà lớp cung cấp. - Ở mức thứ hai, trình biên dịch kiếm soát để đảm bảo mã là an toàn và tuân theo các nguyên tắc của Java. - Mức thứ ba được được đảm bảo bởi trình thông dịch. - Mức thứ tư kiểm soát việc nạp các lớp vào bộ nhớ để giám sát việc vi phạm giới hạn truy xuất trước khi nạp vào hệ thống. 2.4. Hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2012 Hệ quản trị cơ sở dữ liệu (Database Management System - DBMS), là phần mềm hay hệ thống được thiết kế để quản trị một CSDL cụ thể, các chương trình thuộc loại này hỗ trợ khả năng lưu trữ, sửa chữa, xóa và tìm kiếm thông tin trong một CSDL. Có rất nhiều loại hệ quản trị CSDL khác nhau: từ phần mềm nhỏ chạy trên máy tính cá nhân cho đến những hệ quản trị phức tạp chạy trên một hoặc nhiều siêu máy tính. Tuy nhiên, đa số hệ quản trị CSDL trên thị trường đều có một đặc Trư ờng Đạ i họ c K i h tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 29 GVHD: Th.S Lê Viết Mẫn điểm chung là sử dụng ngôn ngữ truy vấn theo cấu trúc mà tiếng Anh gọi là Structured Query Language (SQL). Các hệ quản trị CSDL phổ biến được nhiều người biết đến là MySQL, Oracal, SQL Server, DB2... Phần lớn các hệ quản trị CSDL kể trên hoạt động tốt trên nhiều hệ điều hành khác nhau như Linux, Unix ngoại trừ SQL Server của Microsoft chỉ chạy trên hệ điều hành Windows. Cơ sở dữ liệu quản lý quán Like Cafe này cũng được tác giả xây dựng bằng hệ quản trị cơ sở dữ liệu SQL Server 2012 có nhiều tính năng mạnh như: User-Defined Server Roles: Đây là tính năng quản trị được những người quản trị yêu cầu nhiều nhất. Tính năng này cho phép tạo mới cũng như tùy biến các Server Roles. Như vậy, thay vì chỉ có thể sử dụng các Role có sẵn ở cấp server (fixed-server roles) như ở các phiên bản SQL Server trước đây, người quản trị có thể tạo thêm các User-Defined Server Roles mới phù hợp với yêu cầu quản trị hơn. Ví dụ như khi người quản trị cần gán một số quyền cấp cao (thay đổi các Login, thay đổi 1 số setting của instance, ) cho một user nào đó, thay vì phải gán quyền cao nhất là Sysadmin, người quản trị có thể tạo 1 role mới như DatabaseTuner role với 1 số quyền nhất định. Contained Databases: Contained Database cung cấp khả năng lưu trữ thông tin chứng thực (credential information) của các user theo trong database thay vì lưu trong Master database như trước đây. Khả năng này giúp cho database ít phụ thuộc vào các system databases hơn. Điều này đồng nghĩa với việc tính bảo mật trong database được tăng lên và khả năng triển khai các ứng dụng linh hoạt hơn. Sẽ có 2 mức lựa chọn cho 1 Contained Database: Partial và Full. Tuy nhiên, nhiều khả năng tính năng này ở phiên bản SQL Server 2012 sẽ chỉ hỗ trợ ở mức Partial. Crypto enchancement: Nhiều thuật toán mã hóa mới cũng như AES256, SHA2 (256 và 512), được hỗ trợ giúp cho việc mã hóa dữ liệu trong SQL Server 2012 tốt hơn bao hết. Audit Enhancement: Các tính năng về giám sát cũng được cải tiến rất nhiều trong SQL Server 2012, có thể kể ra 1 số tính năng như: User-defined Audit cho phép các ứng dụng có thể ghi lại log với những thông tin mong muốn theo cơ chế giám sát của SQL Server; Filtering Audit giúp lọc những thông tin mong muốn sẽ ghi xuống log theo những điều kiện Trư ờng Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 30 GVHD: Th.S Lê Viết Mẫn được định nghĩa trước; và đặc biệt là các tính năng về Audit sẽ được hỗ trợ trên tất cả các bản (edition) SQL Server 2012 khác nhau. Ưu điểm nỗi bật của HQTCSDL MS SQL Server 2012:  Quản lý được dữ liệu dư thừa.  Đảm báo tính nhất quán cho dữ liệu.  Tạo khả năng chia sẻ dữ liệu nhiều hơn.  Cải tiến tính toàn vẹn cho dữ liệu. 2.5. Netbean IDE NetBean IDE là môi trường phát triển – một công cụ dành cho lập trình viên để viết, biên dịch, gỡ lỗi (debug) và triển khai (deploy) chương trình. Chương trình được viết bằng Java nhưng có thể hổ trợ bất kỳ ngôn ngữ lập trình nào. Có một số lượng rất lớn các module cho phép mở rộng Netbeans IDE với giao diện thân thiện, được coi là phổ biến và hiệu quả nhất. NetBean IDE dễ dàng cài đặt và chạy trên nhiều hệ điều hành, bao gồm Windows, Linux, hệ điều hành Mac OS X và Solaris. Trư ờng Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 31 GVHD: Th.S Lê Viết Mẫn Hình 2.8: Màn hình chính của chương trình. Trư ờng Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 32 GVHD: Th.S Lê Viết Mẫn CHƯƠNG 3 XÂY DỰNG PHẦN MỀM QUẢN LÝ BÁN HÀNG QUÁN LIKE CAFÉ 3.1. Mô tả bài toán Quán Like café hiện tại đang có nhu cầu xây dựng một phần mềm quản lý quán cà phê dựa trên những thông tin, yêu cầu được mô tả như sau:  Quản lý được thông tin lý lịch và tài khoản của nhân viên.  Quản lý được các nghiệp vụ bán hàng cơ bản: chuyển bàn, gộp bàn, tách bàn...  Quản lý được danh mục bàn, danh mục các thức uống, thông tin quán.  Quản lý tài khoản đăng nhập, phân quyền người dùng.  Thông tin nhập:  Thông tin về lý lịch và tài khoản của nhân viên.  Các yêu cầu của khách (thông tin order).  Thông tin về bàn, món, thông tin quán.  Thông tin xuất: Xuất ra màn hình:  Thông tin lý lịch và thông tin tài khoản của nhân viên.  Hóa đơn bán hàng.  Danh mục bàn, món, thông tin quán. Trư ờng Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 33 GVHD: Th.S Lê Viết Mẫn 3.2. Phân tích hệ thống về chức năng 3.2.1. Sơ đồ chức năng nghiệp vụ BFD Hình 3.1: Sơ đồ chức năng BFD. Trư ờng Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 34 GVHD: Th.S Lê Viết Mẫn 3.2.2. Sơ đồ ngữ cảnh hệ thống Hình 3.2: Sơ đồ ngữ cảnh hệ thống. Mô tả sơ đồ: Thông thường khi khách hàng vào quán, khách sẽ có yêu cầu thức uống hay hàng hóa ngoài danh mục của thực đơn (bài tây, cờ tướng, cờ vua), khi đó hệ thống sẽ lấy thông tin nhập vào máy thông qua nhân viên chạy bàn. Sau khi thưởng thức, giải trí khách sẽ gọi thanh toán tức là yêu cầu các khoản phải trả gửi tới hệ thống, sau cùng hệ thống gửi lại hóa đơn cho khách hàng. Chủ quán cuối tháng có các yều cầu về đơn giá công, các quyết định, thông tin tin bàn món, hàng hóa của quán trong tháng được sử dụng quản lý như thế nào, tất cả các yêu cầu này được gửi về hệ thống qua thư điện tử email hoặc văn bản, sau khi hệ thống tiếp nhận yêu cầu sẽ gửi phản hồi chủ quán báo cáo thu chi, lợi nhuận, thông tin kinh doanh Nhân viên khi được nhận vào làm ở quán sẽ phải gửi thông tin lý lịch: tên tuổi, giới tính.(tài khoản sử dụng phần mềm nếu là nhân viên thu ngân) để hệ thống lưu Trư ờng Đại học Kin h tế Hu ế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 35 GVHD: Th.S Lê Viết Mẫn giữ thông tin nhân viên đồng thời hệ thống phân quyền sử dụng cho nhân viên, cuối tháng dựa vào số công mà nhân viên đó làm được trong tháng , hệ thống sẽ gửi phiếu lương thanh toán lương cho nhân viên. 3.2.3. Sơ đồ luồng dữ liệu mức đỉnh Hình 3.3: Sơ đồ luồng dữ liệu mức đỉnh (DFD 0). Trư ờng Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 36 GVHD: Th.S Lê Viết Mẫn 3.2.4. Sơ đồ luồng dữ liệu các mức phân rã Hình 3.4: Sơ đồ phân rã mức 1. Trư ờng Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 37 GVHD: Th.S Lê Viết Mẫn Hình 3.5: Sơ đồ phân rã mức 1.1 Trư ờng Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 38 GVHD: Th.S Lê Viết Mẫn Hình 3.6: Sơ đồ phân rã mức 2.Trư ờng Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 39 GVHD: Th.S Lê Viết Mẫn Hình 3.7: Sơ đồ phần rã mức 3. Hình 3.8: Sơ đồ phân rã mức 3.1Trư ờng Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 40 GVHD: Th.S Lê Viết Mẫn Hình 3.9: Sơ đồ phần rã mức 3.2 3.3. Phân tích hệ thống về dữ liệu 3.3.1. Xác định các thực thể và thuộc tính tương ứng Từ sơ đồ chức năng kinh doanh BFD và sơ đồ dòng dữ liệu DFD có thể tìm ra các tập thực thể và các mối quan hệ giữa các tập thực thể trong hệ thống thông tin Quản lý quán Like Cafe, bao gồm: NHANVIEN(MaNhanVien, Hoten, Ngaysinh, Noisinh, Gioitinh, Dienthoai, Ngayvaolam, Password, QuyenHan, DiaChi).  LUONG(MaNhanVien, SoTien, SoCong, DaTra).  PHIEUCHI(MaPC, MaNhanvien, NgayLap, ChiTietChi, SoTien, MaChungTu).  PHIEUTHU(MaPT, MaNhanVien, NgayLap, ChiTietThu, SoTien, MaChungTu) MON(MaMon, TenMon, SoLuongCon, GiaBan).  BAN(Stt, MaBan, TenBan,TrangThai). HOADON(MaHoaDon, MaNhanVien, SoLuong, DonGia, ThanhTien, ChiTietHoaDon, Ban). 3.3.2. Xác định các liên kết và mối quan hệ (1,1)(0,1) Nhân viên Có Lương Tháng/năm Trư ờng Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 41 GVHD: Th.S Lê Viết Mẫn (1,1)(0,n) Nhân viên Lập Phiếu chi Ngày lập Một nhân viên có 1 bảng lương, một bảng lương tại một thời điểm chỉ duy nhất thuộc về 1 nhân viên. Mối quan hệ giữa nhân viên và lương là mối quan hệ (1,n). Đây là mối quan hệ có mang thuộc tính là tháng năm. Mỗi thuộc tính gộp nhân viên và tài khoản có mối quan hệ với hóa đơn như sau: một nhân viên có tài khoản có thể lập được hóa đơn, một nhân viên có tài khoản có thể lập 0 hoặc nhiều hóa đơn, một hóa đơn chỉ do một nhân viên có tài khoản lập mà thôi. Mối quan hệ giữa Nhân viên và hóa đơn là mối quan hệ (1,n). Đây là mối quan hệ có mang thuộc tính là ngày lập. Mỗi thuộc tính gộp nhân viên và tài khoản có mối quan hệ với phiếu thu như sau: một nhân viên có tài khoản có thể lập được phiếu thu, một nhân viên có tài khoản có thể lập 0 hoặc nhiều phiếu thu, một phiếu thu chỉ do một nhân viên có tài khoản lập mà thôi. Mối quan hệ giữa NV_TK và phiếu thu là mối quan hệ (1,n). Đây là mối quan hệ có mang thuộc tính là ngày lập. (1,1)(0,n) Nhân viên Lập PhiếuThu Ngày lập (1,1)(0,n) Nhân viên Lập Hóađơn Ngày lập Trư ờng Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 42 GVHD: Th.S Lê Viết Mẫn (0,n)(1,n) Hóa đơn Gồm Món Số lượng Đơn giá Tương tự như trên, mối quan hệ giữa nhân viên_TK và phiếu chi là mối quan hệ (1,n). Một phiếu thu bao gồm 1 hoặc nhiều món, một món có thể không nằm trong phiếu thu nào hoặc là nằm trong nhiều phiếu thu. Mối quan hệ giữa phiếu thu và món là mối quan hệ (n,n). đây là mối quan hệ mang 2 thuộc tính là số lượng và đơn giá. Mỗi phiếu thu chỉ sử dụng cho 1 bàn duy nhất, và 1 bàn có thể có 0 hoặc nhiều phiếu thu. Mối quan hệ giữa phiếu thu và bàn là mối quan hệ (n,1). 3.3.3. Mô hình thực thể mối quan hệ (ERD) Từ việc xác định các tập thực thể, thuộc tính tương ứng, các liên kết và mối quan hệ ta xây dựng được Sơ đồ thực thể mối quan hệnhư sau: (0,n)(0,1) Hóa đơn Thuộc Bàn Trư ờng Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 43 GVHD: Th.S Lê Viết Mẫn Hình 3.10: Sơ đồ thực thể mối quan hệ. 3.3.4. Chuẩn hóa các quan hệ Từ các tập thực thể và các mối quan hệ đã phân tích ở phần 3.2 và 3.3 ở trên, ta thực hiện việc chuẩn hóa để thu được các bảng trong cơ sở dữ liệu, từ đó xây dựng mô hình quan hệ của chương trình. Chuyển từ mô hình ER sang mô hình quan hệ (Chuyển các tập thực thể thành các lược đồ quan hệ). Nhân viên (Mã nhân viên, Hoten, Ngaysinh, Noisinh, Gioitinh, Dienthoai, Ngayvaolam,Password, Quyền hạn,DiaChi) Trư ờ g Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 44 GVHD: Th.S Lê Viết Mẫn  Lương (Mã nhân viên, số tiền, số công, đã trả)  Phiếu chi (Mã PC, Mã nhân viên, ngày lập, chi tiết chi, số tiền, mã chứng từ)  Phiếu thu (Mã PT, Mã nhân viên, ngày lập, chi tiết thu, số tiền, mã chứng từ ). Món(Mã món, tên món, số lượng còn, giá bán).  Bàn (Mã bàn, tên bàn). Hóa đơn (Mã hóa đơn, Mã nhân viên, số lượng, đơn giá, thành tiền, chi tiết hóa đơn, bàn). Chuẩn hóa các mối quan hệ có trong sơ đồ thực thể - mối quan hệ. Mối quan hệ giữa NHANVIEN và LUONG là mối quan hệ (1,n), mà khóa chính đồng thời là khóa ngoài MaNV ở bảng LUONG. Đây là mối quan hệ mang thuộc tính là tháng năm, nên sẽ tạo ra 1 bảng mới có khóa là MaNV, Thang, Nam. Bảng này có quan hệ (n,1) với bảng NHANVIEN và quan hệ (1,1) với bảng LUONG. Đồng thời bảng này được gộp chung vào bảng LUONG. (tức là bảng lương thêm 2 thuộc tính khóa là thang, nam). NHANVIEN và HOADON có mối quan hệ (1,n). Trong bảng HOADON có các khóa là MaHD, MaNV là khóa ngoài. Đây là mối quan hệ mang thuộc tính là ngày lập, nên sẽ tạo ra 1 bảng có khóa là MaNV,MaHD với thuộc tính phụ là ngày lập, đồng thời bảng này được gộp chung với bảng HOADON. (vì theo nguyên tắc, rút gọn về phía nhiều trong quan hệ NHANVIEN_HOADON). NHANVIEN và PHIEUTHU có mối quan hệ (1,n). Trong bảng PHIEUTHU có các khóa là MaPT, MaNV là khóa ngoài. Đây là mối quan hệ mang thuộc tính là ngày lập, nên sẽ tạo ra 1 bảng có khóa là MaNV,MaPT với thuộc tính phụ là ngày lập, đồng thời bảng này được gộp chung với bảng PHIEUTHU. (vì theo nguyên tắc, rút gọn về phía nhiều trong quan hệ NHANVIEN_PHIEUTHU). NHANVIEN và PHIEUCHI có mối quan hệ (1,n). Trong bảng PHIEUCHI có các khóa là MaPC, MaNV là khóa ngoài. Đây là mối quan hệ mang thuộc tính là ngày lập, nên sẽ tạo ra 1 bảng có khóa là MaNV,MaPC với thuộc tính phụ là ngày lập, đồng thời bảng này được gộp chung với bảng PHIEUCHI. (vì theo nguyên tắc, rút gọn về phía nhiều trong quan hệ NHANVIEN_PHIEUCHI). Trư ờ g Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 45 GVHD: Th.S Lê Viết Mẫn Mối quan hệ giữa HOADON và MON là mối quan hệ (n,n) vì thế phải tách bảng hóa đơn ra thành CHITIETHOADON với quan hệ HOADON và CHITIETHOADON là (1,n), CHITIETHOADON và MON là mối quan hệ là (n,1). CHITIETHOADON và BAN có mối quan hệ (n,1) với khóa chỉnh của bảng CHITIETHOADON là MaHD, MaMon, MaBan với thuộc tính thêm là SoLuong để chỉ số lượng 1 món (MaMon )đã gọi. MaBan đồng thời là khóa ngoài trong mối quan hệ giữa CHITIETHOADON và BAN. HOADON bỏ trường SoLuong, đồng thời thêm trường SoLuong vào CHITIETHOADON. 3.3.5. Thiết lập mô hình CSDL quan hệ Sau khi chuẩn hóa các lược đồ quan hệ, ta xây dựng được các bảng dữ liệu sau: Bảng 1: LUONG Thuộc tính Kiểu dữ liệu Kích thước Diễn giải Null MaNV Nvarchar 5 Mã nhân viên Thang Int 4 Tháng Nam Int 4 Năm SoCong Int 4 Số lượng công SoTien Real 10 Số tiền  TrangThai Bit 1 Trường đánh dấu Bảng 2: PHIEUCHI Thuộc tính Kiểu dữ liệu Kích thước Diễn giải null MaPC Nvarchar 10 Mã Phiếu chi MaNV Nvarchar 10 Mã nhân viên NgayLap Date/Time MM/DD/YY SoTien Real 4 Số tiền MaHD Nvarchar 10 Mã hóa đơn  ChiTietChi Nvarchar 50 Chi tiết chi  Trư ờng Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 46 GVHD: Th.S Lê Viết Mẫn Bảng 3: MON Thuộc tính Kiểu dữ liệu Kích thước Diễn giải n null MaMon Nvarchar 10 Mã món TenMon Nvarchar 30 Tên món SoLuongCon Int 4 Số lượng còn GiaBan Real 10 Giá món Bảng 4: BAN Thuộc tính Kiểu dữ liệu Kích thước Diễn giải null MaBan Nvarchar 10 Mã bàn MaKV Nvarchar 20 Tên bàn  TrangThai Bit 1 Trống hay không Bảng 5: HOADON Thuộc tính Kiểu dữ liệu Kích thước Diễn giải null MaHD Nvarchar 10 Mã hóa đơn MaNV Nvarchar 10 Mã nhân viên NgayLap Date/Time MM/DD/YY Ngày lập ThongTin Nvarchar 50 Thông tin HĐ  Bảng 6: CHITIETHOADON Thuộc tính Kiểu dữ liệu Kích thước Diễn giải null MaHD Nvarchar 10 Mã hóa đơn MaMon Nvarchar 10 Mã món Trư ờng Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 47 GVHD: Th.S Lê Viết Mẫn MaBan Nvarchar 10 Mã bàn SoLuong Int 4 Số lượng đặt Bảng 7: NHANVIEN Thuộc tính Kiểu dữ liệu Kích thước Diễn giải null MaNV Nvarchar 10 Mã nhân viên Password Nvarchar 25 Mật mã   NgayLap Date/Time MM/DD/YY Ngày lập   QuyenHan Nvarchar 50 Quyền hạn HoTen Nvarchar 50 Họ tên Ngaysinh Date/Time MM/DD/YY Ngày sinh DiaChi Nvarchar 50 Địa chỉ   Noisinh Nvarchar 20 Nơi sinh   Gioitinh Nvarchar 5 Giới tính Dienthoai Nvarchar 25 Số điện thoại Ngayvaolam Date/Time MM/DD/YY Ngày vào làm Bảng 8: DONGIACONG Thuộc tính Kiểu dữ liệu Kích thước Diễn giải null DonGiaCong Real 4 Đơn giá công Bảng 9: THONGTINQUAN Thuộc tính Kiểu dữ liệu Kích thước Diễn giải null Logo Image 16 Lô gô   TenQuan Nvarchar 50 Tên quán   DiaChi Nvarchar 50 Địa chỉ   SoDT Nvarchar 25 Số điện thoại   Trư ờng Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 48 GVHD: Th.S Lê Viết Mẫn Bảng 10: PHIEUTHU Thuộc tính Kiểu dữ liệu Kích thước Diến giải null MaPT Nvachar 10 Mã phiếu thu MaNV Nvarchar 10 Mã nhân viên MaHD Nvarchar 10 Mã hóa đơn NgayLap Date/Time 10 Ngày lập hóa đơn SoTien Real 4 Số tiền  ChiTietThu Nvarchar 50 Chi tiết thu  Trư ờng Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 49 GVHD: Th.S Lê Viết Mẫn 3.3.6. Mô hình thực thể quan hệ Từ các lược đồ quan hệ thu được ở trên, ta thiết lập mô hình quan hệ: Hình 3.11: Mô hình cơ sở dữ liệu quan hệ.Trư ờng Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 50 GVHD: Th.S Lê Viết Mẫn 3.4. Cài đặt giao diện người dùng 3.4.1. Giao diện chính của chương trình Hình 3.12: Giao diện chính của chương trình. 3.4.2. Giao diện đăng nhập Hình 3.13: Giao diện đăng nhập hệ thống. Trư ờng Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 51 GVHD: Th.S Lê Viết Mẫn 3.4.3. Giao diện quản lý tài khoản người dùng Hình 3.14: Giao diện quản lý tài khoản người dùng. 3.4.4. Giao diện quản lý Nhân viên Hình 3.15: Giao diện quản lý Nhân viênTrư ờng Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 52 GVHD: Th.S Lê Viết Mẫn 3.4.5. Giao diện quản lý Bàn – Khu vực Hình 3.16: Giao diện quản lý Bàn – Khu vực 3.4.6. Giao diện quản lý Thực đơn Hình 3.17: Giao diện quản lý Thực đơn Trư ờng Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 53 GVHD: Th.S Lê Viết Mẫn 3.4.7. Giao diện tìm kiếm Hình 3.18: Giao diện tìm kiếm. Trư ờng Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 54 GVHD: Th.S Lê Viết Mẫn KẾT LUẬN Qua quá trình làm khóa luận tốt nghiệp với đề tài “Xây dựng phần mềm quản lý bán hàng quán Cafe”, bản thân em tự thấy mình đã thu được các kết quả sau: - Nắm bắt được quy trình nghiệp vụ, giao dịch bán hàng, quản lý bàn, quản lý món, quản lý nhân viên, quản lý danh mục ở quán cafe. - Hiểu biết được một số phương pháp phân tích thiết kế hệ thống, từ đó đã áp dụng các hiểu biết của mình để phân tích thiết kế hệ thống bài toán theo mô hình ba lớp. - Có được các kinh nghiệm thực tế khi được tham gia vào một dự án nhỏ, cụ thể để có thể áp dụng được các kiến thức đã được học vào thực tiễn. - Tiến hành phân tích thiết kế hệ thống và hoàn thiện chương trình phần mềm với mô hình ba lớp một cách đầy đủ. - Cài đặt các mô-đun để thử nghiệm bằng ngôn ngữ lập trình Java kết hợp với công cụ lập trình Netbean IDE và sử dụng hệ quản trị cơ sở dữ liệu SQL Server để lưu giữ dữ liệu. Về thực nghiệm, đã thiết kế và cài đặt thành công chương trình, thể hiện phù hợp với nội dung của đề tài. Song, do kỹ năng lập trình còn hạn chế nên giao diện của chương trình còn chưa thật sự thân thiện với người sử dụng và mới chỉ đáp ứng được một số chức năng cơ bản của đề tài. Trong thời gian tới em sẽ tiếp tục hoàn thiện các chức năng hiện thời và bổ sung thêm các chức năng mới nhằm mang lại sự tiện dụng nhất cho người dùng. Trong tương lai, em hi vọng sẽ cố gắng hoàn thiện tốt đề tài này và cố gắng đáp ứng đầy đủ các yêu cầu của hệ thống. Vì vậy kính mong các thầy giáo, cô giáo và các bạn hoan hỉ xem xét, chỉ bảo và giúp đỡ em để em có thể hoàn thành đề tài này tốt hơn.Trư ờng Đạ i họ c K inh tế H uế Xây dựng phần mềm quản lý bán hàng quán cafe SVTH: Phan Trọng Phú 55 GVHD: Th.S Lê Viết Mẫn TÀI LIỆU THAM KHẢO 1. Ts. Phan Huy Khánh, “Giáo trình Phân tích và thiết kế hệ thống thông tin”. 2. Trần Tiến Dũng, “Giáo trình lý thuyết và bài tập Java” NXB Lao động xã hội. 3. Th.S Lê Viết Mẫn, “Bài giảng Lập trình hướng đối tượng”. 4. Th.S Trần Thái Hòa, “Bài giảng Phân tích và thiết kế hệ thống thông tin quản lý”. 5. 6. Trư ờng Đạ i họ c K inh tế H ế

Các file đính kèm theo tài liệu này:

  • pdfphu_2136.pdf