Xây Dựng Phần Mềm Quản Lý Nhà Hàng Khánh Linh | Xemtailieu

logo xemtailieu Xemtailieu Tải về Xây dựng phần mềm quản lý nhà hàng khánh linh
  • pdf
  • 62 trang
MỤC LỤC LỜI NÓI ĐẦU ...................................................................................................3 CHƯƠNG 1: CƠ SỞ LÝ THUYẾT..................................................................4 1.1 Phương pháp hướng đối tượng .............................................................4 1.1.1 Khái niệm hướng đối tượng...........................................................4 1.1.2 Các ưu điểm và các giai đoạn của chu trình phát triển phần mềm với mô hình hướng đối tượng........................................................4 1.1.2.1 Ưu điểm .......................................................................................4 1.1.2.2 Giai đoạn của chu trình phát triển phần mềm với mô hình hướng đối tượng......................................................................................5 1.2 Chu trình phát triển phần mềm.............................................................7 1.2.1- Chu Trình Phát Triển Phần Mềm (Software Development Life Cycle): .....................................................................................................7 1.2.2 Các giai đoạn của chu trình phát triển phần mềm. ......................8 1.3 Sơ lược về UML.....................................................................................8 1.3.1. UML là gì?.....................................................................................8 1.3.2 Mô hình khái niệm của UML: .......................................................9 1.3.3 Qui trình phát triển phần mềm hướng đối tượng bằng UML: ..16 1.4 Cơ sở dữ liệu PostgreSql .....................................................................17 CHƯƠNG 2: BÀI TOÁN QUẢN LÝ NHÀ HÀNG .......................................18 2.1. Mô tả bài toán.....................................................................................18 2.1.1 Các loại hóa đơn được sử dụng trong nhà hàng .........................18 2.1.2 Cách tính lương cho nhân viên nhà hàng ..................................20 2.3. Nghiên cứu hiện trạng và giải quyết vấn đề.......................................20 2. 4. Yêu cầu tin học hóa ...........................................................................22 2.5. Xác định các Actor .............................................................................22 2.5.1 Nhân viên quản trị hệ thống ........................................................22 2.5.2 Nhân viên kế toán.........................................................................22 2.5.3 Nhân viên hành chính ..................................................................22 1 2.5.4 Nhân viên bán hàng .....................................................................22 2. 6 Use Case Diagram và các sơ đồ hoạt động.........................................23 2.6.1 Mô hình Use case Diagram của Actor quản trị hệ thống ..........23 2.6.2 Mô hình Use Case Diagram của Actor kế toán...........................27 2.6.3 Mô hình Use case Diagram của Actor quản lý...........................33 2.6.4 Mô hình Use case Diagram actor bán hàng ................................40 2.7 SEQUENCE DIAGRAM....................................................................42 2.7.1 Quản trị hệ thống .........................................................................42 2.7.2 Kế toán..........................................................................................43 2.7.3 Quản lý .........................................................................................46 2.7.4 Bộ phận bán hàng ........................................................................48 2.8 PHÂN TÍCH CLASS DIAGRAM.......................................................50 2.8.1 Xác định các lớp ...........................................................................50 2.8.2 Danh sách các thuộc tính và phương thức ..................................50 2.8.3 Class Diagram ..............................................................................52 CHƯƠNG 3 : THIẾT KẾ CƠ SỞ DỮ LIỆU .................................................53 VÀ CÀI ĐẶT CHƯƠNG TRÌNH ...................................................................53 3.1. Thiết kế cơ sở dữ liệu..........................................................................53 3.2 Sơ đồ quan hệ .....................................................................................54 3.3 Cài đặt phần mềm................................................................................55 TÀI LIỆU THAM KHẢO...............................................................................61 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN .. ERROR! BOOKMARK NOT DEFINED. 2 LỜI NÓI ĐẦU Nhịp độ phát triển của Công Nghệ Thông Tin đang là một vấn đề rất được các ngành Khoa Học, Giáo Dục, Kinh Tế… quan tâm. Nó hiện hữu với một tầm vóc hết sức mạnh mẽ, to lớn và ngày đang một lớn mạnh thêm. Việc ứng dụng Công Nghệ Thông Tin vào các lĩnh vực làm sao để đạt đuợc một cách có hiệu quả. Sự lựa chọn và vận dụng những phần mềm sao cho phù hợp và đạt được kết quả tốt. Để lựa chọn một phần mềm phù hợp bao giờ cũng quan trọng đối với các doanh nghiệp. Ngày nay các phần mềm cơ bản đã được ứng dụng và phát triển rộng rãi trong hầu hết mọi doanh nghiệp. Thế nhưng yêu cầu của người sử dụng phần mềm ngày càng đa dạng và nhiều tính năng hơn. Do đó yêu cầu người làm phần mềm phải đáp ứng được yêu cầu trên. Cũng nhằm mục đích nói trên, mà đề tài “Xây Dựng Phần Mềm Quản Lý Nhà Hàng Khánh Linh” được ra đời. Phần mềm Quản Lý Nhà Hàng là một trong những phần mềm phổ biến hiện nay mà hầu như cơ sở kinh doanh nhà hàng nào cũng cần đến. Em xin chân thành cảm ơn cô giáo Hà Thị Thanh, cùng toàn thể các thầy cô trong bộ môn công nghệ phần mềm và các bạn trong khoa đã giúp đỡ em hoàn thành đề tài này. 3 CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Phương pháp hướng đối tượng 1.1.1 Khái niệm hướng đối tượng Hướng đối tượng là thuật ngữ thông dụng hiện thời của nghành công nghiệp phần mềm. Các công ty đang nhanh chóng tìm cách áp dụng và tích hợp công nghệ mới này vào các ứng dụng của họ. Thật sự là đa phần các ứng dụng hiện thời đều mang tính hướng đối tượng. Nhưng hướng đối tượng có nghĩa là gì? Lối tiếp cận hướng đối tượng là một nối tư duy về vấn đề theo lối ánh xạ các thành phần trong bài toán vào các đối tượng ngoài đời thực. Với lối tiếp cận này, chúng ta chia ứng dụng thành các thành phần nhỏ, gọi là các đối tượng, chúng tương đối độc lập với nhau. Sau đó ta lại có thể xây dựng ứng dụng bằng cách chắp các đối tượng đó lại với nhau. Hãy nghĩ đến trò chơi xây lâu đài bằng các mẩu gỗ. Bước đầu tiên là tạo hay mua một vài loại mẩu gỗ căn bản, từ đó tạo nên các khối xây dựng căn bản của mình. Một khi đã có những khối xây dựng đó bạn có thể chắp ráp chúng lại với nhau để tạo lâu đài. Tương tự như vậy một khi xây dựng một số đối tượng căn bản trong thế giới máy tính, bạn có thể chắp chúng lại với nhau để tạo ứng dụng của mình. 1.1.2 Các ưu điểm và các giai đoạn của chu trình phát triển phần mềm với mô hình hướng đối tượng. 1.1.2.1 Ưu điểm Tính tái sử dụng(Reusable): Phương pháp phân tích và thiết kế hướng đối tượng thực hiện theo các thuật ngữ và khái niệm của phạm vi lĩnh vực ứng dụng(Tức là của doanh nghiệp hay đơn vị mà hệ thống tương lai cần phục vụ), nên nó tạo sự tiếp cận tương ứng giữa hệ thống và vấn đề thực ngoài đời. Vì quá trình phát triển phần mềm đồng thời là quá trình cộng tác của khách hang,/người dung, nhà phân tích nhà thiết kế, nhà phát triển, chuyên gia lĩnh vực, chuyên gia kỹ thuật,… nên lối tiếp cận này khiến cho việc giao tiếp giữa họ với nhau được dễ dàng hơn. 4 Một trong những ưu điểm quan trọng bậc nhất của phương pháp phân tích thiết kế hướng đối tượng là tính tái sử dụng: bạn có thể tạo các thành phần(đối tượng) một lần và dùng chúng nhiều lần sau đó. Giống như việc bạn có thể tái sử dụng các khối xây dựng(hay bản sao của nó) trong một tòa lâu đài, một ngôi nhà ở, một con tàu vũ trụ, bạn cũng có thể tái sử dụng các thành phần (đối tượng) căn bản trong các thiết kế hướng đối tượng cũng như code của một hệ thống kế toán, hệ thống kiểm kê, hoặc một hệ thống đặt hàng. Vì các đối tượng đã được thử nghiệm kỹ càng trong lần dùng trước đó, nên khả năng tái sử dụng đối tượng có tác dụng giảm thiểu lỗi và các khó khăn trong việc bảo trì, giúp tăng tốc độ thiết kế và phát triển phần mềm. Phương pháp hướng đối tượng giúp chúng ta xử lý các vấn đề phức tạp trong phát triển phần mềm và tạo ra các thế hệ phần mềm có khả năng thích ứng và bền chắc. - Quy ước truyền thông điệp giữa các đối tượng đảm bảo cho việc mô tả các giao diện giữa các đối tượng thành phần bên trong với hệ thống bên ngoài dễ dàng hơn. - Nguyên lý bao bọc và che giấu thông tin hỗ trợ cho hệ thống an toàn hơn(public, private, protectec, package). - Nguyên lý kế thừa dựa chính vào dữ liệu phù hợp với ngữ cảnh trong cài đặt. Phương pháp hướng đối tượng được hỗ trợ bởi các công cụ rất hữu hiệu(đủ mạnh, đủ hiệu quả). - Xóa bỏ được hố ngăn cách giữa các pha phân tích thiết kế cài đặt trong quá trình phát triển phần mềm. 1.1.2.2 Giai đoạn của chu trình phát triển phần mềm với mô hình hướng đối tượng Phân tích hướng đối tượng(Object Oriented Analysis - OOA) Là giai đoạn phát triển một mô hình chính xác và súc tích của vấn đề, có thành phần là các đối tượng và khái niệm đời thực, dễ hiểu đối với người sử dụng. 5 Trong giai đoạn OOA, vấn đề được trình bày bằng các thuật ngữ tương ứng với các đối tượng có thực. Thêm vào đó, hệ thống cần phải được định nghĩa sao cho người dùng không chuyên tin học cũng có thể dễ dàng hiểu được. Dựa trên một vấn đề có sẵn, nhà phân tích cần ánh xạ các đối tượng hay thực thể có thực như khách hang, ô tô, người bán hang,… vào thiết kế để tạo ra được bản thiết kế gần cận với tình huống thực. Mô hình thiết kế sẽ chứa các thực thể trong một vấn đề có thực và giữ nguyên các mẫu hình về cấu trúc, quan hệ, cũng như hành vi của chúng. Nói một cách khác, sử dụng phương pháp hướng đối tượng chúng ta có thể mô hình hóa các thực thể thuộc một vấn đề thực mà vẫn giữ được cấu trúc, quan hệ cũng như hành vi của chúng. Thiết kế hướng đối tượng (Object Oriented Design - OOD): Là giai đoạn tổ chức chương trình thành các tập hợp đối tượng cộng tác,mỗi đối tượng trong đó là thực thể của một lớp. Các lớp là thành viên của một cây cấu trúc với mối quan hệ kế thừa. Mục đích của giai đoạn OOD là tạo thiết kế dựa trên kết quả của giai đoạn OOA, dựa trên những quy định phi chức năng, những yêu cầu về môi trường, những yêu cầu về khả năng thực thi,… OOD tập trung vào việc cải thiện kết quả của OOA, tối ưu hóa giải pháp đã được cung cấp trong khi vẫn đảm bảo thỏa mãn tất cả các yêu cầu đã được xác lập. Trong giai đoạn OOD, nhà thiết kế định nghĩa các chức năng, thủ tục(operation), thuộc tính(attributes) cũng như mối quan hệ của một hay nhiều lớp(classs) và quyết định chúng ta cần phải được điều chỉnh sao cho phù hợp với môi trường phát triển. Đây cũng là giai đoạn để thiết kế ngân hang dữ liệu và áp dụng các kỹ thuật tiêu chuẩn hóa. Về cuối giai đoạn OOD, nhà thiết kế đưa ra một loạt các biểu đồ(diagram) khác nhau. Các biểu đồ này có thể được chia thành hai nhóm chính là tĩnh và động. Các biểu đồ này tĩnh biểu thị các lớp và đối tượng, trong khi đó biểu đồ động biểu thị tương tác giữa các lớp và phương thức hoạt động chính xác của chúng. Các lớp đó sau này có thể được nhóm thành các gói (Packages) tức là các đơn vị thành phần nhỏ hơn của ứng dụng. 6 Lập trình hướng đối tượng (Object Oriented Proggamming - OOP) Giai đoạn xây dựng phần mềm có thế được thực hiện sử dụng kỹ thuật lập trình hướng đối tượng. Đó là phương thức thực hiện thiết kế hướng đối tượng qua việc sử dụng một ngôn ngữ lập trình có hỗ trợ các tính năng hướng đối tượng. Một vài ngôn ngữ hướng đối tượng thường được nhắc đến là C++, Java, C#,… Kết quả chung cuộc của giai đoạn này là một loạt các code chạy được, nó chỉ được đưa vào sử dụng sau khi đã trải qua nhiều vòng quay của nhiều bước thử nghiệm khác nhau. 1.2 Chu trình phát triển phần mềm. 1.2.1- Chu Trình Phát Triển Phần Mềm (Software Development Life Cycle): Vì phát triển phần mềm là một bài toán khó, nên có lẽ trước hết ta cần điểm qua một số các công việc căn bản của quá trình này. Thường người ta hay tập hợp chúng theo tiến trình thời gian một cách tương đối, xoay quanh chu trình của một phần mềm, dẫn tới kết qủa khái niệm Chu Trình Phát Triển Phần Mềm (Software Development Life Cycle - SDLC) như sau: Chu Trình Phát Triển Phần Mềm là một chuỗi các hoạt động của nhà phân tích (Analyst), nhà thiết kế (Designer), người phát triển (Developer) và người dùng (User) để phát triển và thực hiện một hệ thống thông tin. Những hoạt động này được thực hiện trong nhiều giai đọan khác nhau. Nhà phân tích (Analyst): là người nghiên cứu yêu cầu của khách hàng/người dùng để định nghĩa một phạm vi bài toán, nhận dạng nhu cầu của một tổ chức, xác định xem nhân lực, phương pháp và công nghệ máy tính có thể làm sao để cải thiện một cách tốt nhất công tác của tổ chức này. Nhà thiết kế (Designer): thiết kế hệ thống theo hướng cấu trúc của database, screens, forms và reports – quyết định các yêu cầu về phần cứng và phần mềm cho hệ thống cần được phát triển. Chuyên gia lĩnh vực (Domain Experts): là những người hiểu thực chất vấn đề cùng tất cả những sự phức tạp của hệ thống cần tin học hoá. Họ không nhất 7 thiết phải là nhà lập trình, nhưng họ có thể giúp nhà lập trình hiểu yêu cầu đặt ra đối với hệ thống cần phát triển. Quá trình phát triển phần mềm sẽ có rất nhiều thuận lợi nếu đội ngũ làm phần mềm có được sự trợ giúp của họ. Lập trình viên (Programmer): là những người dựa trên các phân tích và thiết kế để viết chương trình (coding) cho hệ thống bằng ngôn ngữ lập trình đã được thống nhất. Người dùng (User): là đối tượng phục vụ của hệ thống cần được phát triển. 1.2.2 Các giai đoạn của chu trình phát triển phần mềm. Chu trình của một phần mềm có thể được chia thành các giai đoạn như sau: Nghiên cứu sơ bộ (Preliminary Investigation hay còn gọi là Feasibility Study) Phân tích yêu cầu (Analysis) Thiết kế hệ thống (Design of the System) Xây dựng phần mềm (Software Construction) Thử nghiệm hệ thống (System Testing) Thực hiện, triển khai (System Implementation) Bảo trì, nâng cấp (System Maintenance) 1.3 Sơ lược về UML 1.3.1. UML là gì? UML là ngôn ngữ chuẩn để viết kế hoạch chi tiết phần mềm. Nó phù hợp cho việc mô hình hoá các hệ thống như hệ thống thông tin doanh nghiệp, các ứng dụng phân tán trên nền web, hệ thống thời gian thực… UML là ngôn ngữ mô hình hoá, đặc tả, hiển thị, xây dựng làm tài liệu vật phẩm của phân tích hình thức và thiết kế. * UML là ngôn ngữ: Ngôn ngữ ở đây không giống như ngôn ngữ tự nhiên hay ngôn ngữ lập trình. Tuy nhiên, nó cũng có một tập các qui luật xác định cách sử dụng. UML là ngôn ngữ chuẩn công nghiệp để lập kế hoạch chi tiết phần mềm. 8 Từ vựng và qui tắc ngôn ngữ UML cho ta cách thức xây dựng mô hình và đọc mô hình, nhưng không cho biết mô hình nào cần phải được lập và khi nào lập chúng. * UML là ngôn ngữ hiển thị. * UML là ngôn ngữ đặc tả: Đặc tả là mô tả rõ ràng những điểm mấu chốt của vấn đề. UML cho phép mô tả mô hình chính xác, không nhập nhằng và hoàn thiện. UML hướng tới đặc tả thiết kế, phân tích và quyết định cài đặt trong quá trình phát triển, triển khai hệ thống phần mềm. * UML là ngôn ngữ để xây dựng: UML không phải là ngôn ngữ trực quan, nhưng mô hình của nó có thể kết nối trực tiếp tới các ngôn ngữ lập trình khác nhau. Có nghĩa rằng có thể ánh xạ mô hình trong UML tới các ngôn ngữ lập trình khác nhau như Java, C++ hay các bảng CSDL quan hệ, csdl hướng đối tượng. Ánh xạ này cho khả năng biến đổi ngược lại từ cài đặt về mô hình UML; có nghĩa rằng nó cho khả năng làm việc với văn bản hay đồ hoạ một cách nhất quán. * UML là ngôn ngữ làm tài liệu: UML hướng tới làm tài liệu kiến trúc hẹ thống và các chi tiết của nó. UML cho khả năng biểu diễn yêu cầu, thử nghiệm, mô hình hoá các hoạt động lập kế hoạch và quản lý sản phẩm. 1.3.2 Mô hình khái niệm của UML: Để hiểu được UML ta phải hình dung được mô hình khái niệm của ngôn ngữ. Nó đòi hỏi nắm được ba vấn đề chính, bao gồm các phần tử cơ bản để xây dựng mô hình, quy tắc liên kết các phần tử mô hình và một số cơ chế chung sử dụng cho ngôn ngữ. Khi nắm vững được các vấn đề này thì ta có thể đọc được mô hình UML và tạo ra một vài mô hình cơ bản.  Phần tử mô hình trong UML:  Phần tử cấu trúc: Phần tử cấu trúc là các danh từ trong mô hình UML. Chúng là bộ phận tĩnh của mô hình để biểu diễn các thành phần khái niệm hay vật lý. Có bảy loại phần tử cấu trúc sau: 9  Lớp. Lớp là mô tả tập hợp các đối tượng cùng chung thuộc tính, thao tác, quan hệ và ngữ nghĩa. Biểu diễn đồ hoạ lớp bằng hình chữ nhật, thông thường chúng có tên, thuộc tính và phương thức (Hình 1.2).  Giao diện: Giao diện là tập hợp các thao tác làm dịch vụ của lớp hay thành phần. Giao diện mô tả hành vi thấy được từ ngoài của thành phần. Giao diện biểu diễn toàn bộ hay một phần hành vi của lớp. Giao diện định nghĩa tập đặc tả thao tác chứ không định nghĩa cài đặt của chúng (Hình 1.3).  Phần tử cộng tác: Phần tử cộng tác mô tả ngữ cảnh của tương tác. Ký pháp đồ hoạ của nó là hình elip với đường nét đứt, kèm theo tên như trên hình 1.4.  Trường hợp sử dụng (Use case): Mô tả tập trình tự các hành động mà hệ thống sẽ thực hiện để đạt được một kết quả cho tác nhân nào đó. Tác nhân là những gì bên ngoài tương tác với hệ thống. Tập hợp các UC của hệ thống sẽ hình thành các trường hợp mà hệ thống được sử dụng. Sử dụng UC để cấu trúc các phần tử có tính chất hành vi trong mô hình. Nó được thực hiện hoá bởi phần tử cộng tác như mô tả trên (Hình 1.5).  Lớp tích cực (active class): Lớp tích cực là lớp có đối tượng làm chủ một hay nhiều tiến trình hay luồng. Lớp tích cực được xem như lớp thông thường nhưng đối tượng của nó biểu diễn các thành phần có hành vi đang tương tranh 10 với các phần tử khác. Ký pháp đồ hoạ tương tự như lớp bình thường nhưng biên của nó được tô đậm.  Thành phần: Thành phần biểu diễn vật lý mã nguồn, các tệp nhị phân trong quá trình phát triển hệ thống. Ký pháp đồ hoạ của nó thể hiện trong hình 1.6.  Nút (note): Nút là thể hiện thành phần vật lý, tồn tại khi chương trình chạy và biểu diễn các tài nguyên tính toán. Có thể đặt tập các thành phần (Hình 1.7).  Phần tử hành vi: Phần tử hành vi là bộ phận động của mô hình UML. Chúng là các động từ của mô hình, biểu diễn hành vi theo thời gian và không gian. Có hai loại chính là tương tác và trạng thái.  Tương tác: Tương tác là hành vi bao gồm tập các thông điệp trao đổi trao đổi giữa các đối tượng trong ngữ cảnh cụ thể để thực hiện mục đích cụ thể. Hành vi của nhóm đối tượng hay của mỗi thao tác có thể được chỉ ra bằng tương tác. Biểu diễn đồ hoạ của thông điệp được thể hiện như trên hình 1.8.  Máy trạng thái: Máy trạng thái là hành vi chỉ ra trật tự các trạng thái mà đối tượng hay tương tác sẽ đi qua để đáp ứng sự kiện. Hành vi của lớp hay công tác của lớp có thể được xác định bằng máy trạng thái. Máy trạng thái kích hoạt nhiều phần tử, bao gồm trạng thái, chuyển tiếp (từ máy trạng thái này sang máy trạng thái khác), sự kiện và hoạt động (đáp ứng sự kiện). Ký pháp đồ hoạ của trạng thái được thể hiện trên hình 1.9, nó chứa tên và trạng thái con nếu có. 11  Phần tử nhóm: Phần tử nhóm là bộ phận tổ chức của mô hình UML. Chỉ có một phần tử thuộc nhóm này có tên là gói (package). Gói là cơ chế đa năng để tổ chức các phần tử nhóm. Các phần tử cấu trúc, hành vi và ngay cả phần tử nhóm có thể cho vào gói. Không giống thành phần (component), phần tử nhóm hoàn toàn là khái niệm, có nghĩa rằng chúng chỉ tồn tại vào thời điểm phát triển hệ thống chứ không tồn tại vào thời gian chạy chương trình. Ký pháp đồ hoạ của nhóm được biểu diễn hình 1.10. Gói cho phép ta quan sát hệ thống ở mức tổng quát hơn.  Chú thích: Phần tử chú thích là bộ phận chú giải của mô hình UML. Đó là lời giải thích áp dụng để mô tả các phần tử khác trong mô hình. Phần tử chú thích được gọi là lời ghi chú (note). Ký pháp đồ hoạ của chúng được thể hiện trên hình 1.10.  Các quan hệ trong UML: Có bốn loại quan hệ trong UML, bao gồm quan hệ phụ thuộc, kết hợp, khái quát hoá và hiện thực hoá. Chúng là các khối cơ sở để xây dựng mọi quan hệ trong UML.  Phụ thuộc (dependency): Phụ thuộc là quan hệ ngữ nghĩa giữa hai phần tử trong đó thay đổi phần tử độc lập sẽ tác động đến ngữ nghĩa của phần tử phụ thuộc. Ký pháp đồ hoạ của nó được thể hiện trên hình 1.11. 12  Kết hợp (association): Kết hợp là quan hệ cấu trúc để mô tả tập liên kết (một liên kết là kết nối giữa các đối tượng). Khi đối tượng của lớp này gửi / nhận thông điệp đến từ đối tượng của lớp kia thì ta gọi chúng lầ có quan hệ kết hợp. Ký pháp đồ hoạ của kết hợp được mô tả trên hình 1.12, chúng có thể chứa tên nhiệm vụ và tính nhiều (multiplicity).  Tụ hợp (arggegation): là dạng đặc biệt của nó trên hình 1.13. Một dạng đặc biệt của tập hợp là quan hệ hợp thành (composition), trong đó nếu như đối tượng toàn thể bị huỷ bỏ thì các đối tượng bộ phận của nó cũng bị huỷ bỏ theo. Biểu diễn đồ hoạ của tập hợp như trên hình 1.14.  Khái quát hoá (generalization): Khái quát hoá là quan hệ đặc biệt hoá khái quát hoá trong đó đối tượng cụ thể sẽ kế thừa các thuộc tính và phương pháp của đối tượng tổng quát. Ký pháp đồ hoạ của khái quát hoá được mô tả trên hình 1.15.  Hiện thực hoá (ralization): Hiện thực hoá là quan hệ ngữ nghĩa giữa giao diện và lớp (hay thành phần) hiện thực lớp; giữa UC và hợp tác hiện thực UC. Biểu diễn đồ hoạ của nó được mô tả trên hình 1.16.  Biểu đồ UML: Biểu đồ là biểu diễn đồ hoạ tập các phần tử mô hình. Vẽ biểu đồ để biểu diễn hệ thống đang xây dựng dưới các góc độ quan sát khác nhau. Có thể hiểu biểu 13 đồ là ánh xạ của hệ thống. Một phần tử có thể xuất hiện ở một hay nhiều biểu đồ. Về lý thuyết thì biểu đồ có thể bao gồm tổ hợp vô số phần tử và quan hệ vừa mô tả trên. UML cho khả năng xây dựng một vài biểu đồ trực quan để biểu diễn các khía cạnh khác nhau của hệ thống, bao gồm biểu đồ trường hợp sử dụng (use case diagram), biểu đồ trình tự (sequence diagram), biểu đồ cộng tác (collaboration diagram), biểu đồ lớp (class diagram), biểu đồ trạng thái (state transition diagram), biểu đồ thành phần (component diagram), và biểu đồ triển khai (deployment diagram).  Biều đồ trường hợp sử dụng (Use case): Biểu đồ này chỉ ra tương tác giữa các UC và tác nhân. UC biểu diễn các chức năng của hệ thống. Tác nhân là con người hay hệ thống khác cung cấp hay thu nhận thông tin từ hệ thống. Biểu đồ UC tập trung vào quan sát trạng thái tĩnh của các UC trong hệ thống. Nó đặc biệt quan trọng trong việc tổ chức và mô hình hoá hệ thống. Vì UC biểu diễn yêu cầu hệ thống từ góc nhìn của người dùng, cho nên UC là chức năng mà hệ thống phải có. Biểu đồ chỉ ra tác nhân nào khởi động UC và khi nào tác nhân nhận thông tin từ hệ thống. Biểu đồ hình 2.16 chỉ ra tương tác giữa các UC và tác nhân của hệ thống rút tiền tự động ATM.  Biểu đồ trình tự (sequence): Biểu đồ trình tự chỉ ra luồng chức năng xuyên qua các UC, nó là biểu đồ mô tả tương tác giữa các đối tượng và tập trung vào mô tả trật tự các thông điệp theo thời gian. 14  Biểu đồ cộng tác (collaboration): Biểu đồ cộng tác chỉ ra các thông tin như biểu đồ trình tự nhưng theo cách khác, nó tập trung vào tổ chức cấu trúc của các đối tượng gửi và nhận thông điệp.  Biểu đồ lớp (class diagram): Biểu đồ lớp chỉ ra tương tác giữa các lớp trong hệ thống. Các lớp được xem như kế hoạch chi tiết của các đối tượng. Thí dụ biểu đồ lớp cho UC Rút tiền được mô tả trên hình 1.19.  Biểu đồ chuyển trạng thái (state transition): 15 Biểu đồ chuyển trạng thái mô tả vòng đời của đối tượng, từ khi nó được sinh ra đến khi nó bị phá huỷ. Biểu đồ chuyển trạng thái cung cấp cách thức mô hình hoá các trạng thái khác nhau của đối tượng. Trong khi biểu đồ lớp cung cấp bức tranh tĩnh về các lớp và quan hệ của chúng thì biểu đồ chuyển trạng thái được sử dụng để mô hình hoá các hành vi động của hệ thống. Biểu đồ chuyển trạng thái chỉ ra hành vi động của đối tượng. Thí dụ, đối tượng tài khoản trong ngân hàng có thể ở trong một vài trạng thái như mở, đóng, hay rút quá mức. Tài khoản sẽ ứng xử khác nhau với mỗi trạng thái khác nhau. Hình 1.20 là thí dụ biểu đồ chuyển trạng thái của lớp Tài khoản. Hình 1.20 Biểu đồ chuyển trạng thái của lơp tài khoản  Biểu đồ thành phần (component): Biểu đồ thành phần cho ta cái nhìn vật lý của mô hình. Biểu đồ thành phần cho ta thấy các thành phần phần mềm trong hệ thống và quan hệ giữa chúng. Hai loại thành phần trong biểu đồ, đó là thành phần khả thực và thành phần thư viện.  Biểu đồ triển khai (deployment): Biểu đồ triển khai chỉ ra bố cục vật lý của mạng và các thành phần hệ thống sẽ đặt ở đâu. Trong thí dụ hệ thống ATM thì ATM gồm nhiều hệ thống con chạy tách biệt trên các thiết bị vật lý khác nhau hay còn gọi là nút. 1.3.3 Qui trình phát triển phần mềm hướng đối tượng bằng UML: Quy trình phát triển phần mềm hướng đối tượng bằng UML gồm có các giai đoạn sau: 16  Đặc tả yêu cầu (Requirement Specification): Trong giai đoạn này, mục đích chính là nắm bắt được các yêu cầu của khách hàng đối với hệ thống, tạo ra mô hình Use case và mô hình khái niệm.  Thiết kế (design): Giai đoạn này tập trung vào tạo các biểu đồ tương tác (interaction diagrams) và thiết kế các biểu đồ lớp (class diagrams).  Sự thực thi hay thi hành dự án (Implementation): Đây là một quy trình vạch ra chiến lược đưa ra các bước thiết kế mã trong ngôn ngữ lập trình thực sự. 1.4 Cơ sở dữ liệu PostgreSql PostgreSQL là một hệ quản trị cơ sở dữ liệu quan hệ và đối tượng dựa trên POSTGRES, bản 4.2, được khoa điện toán của đại học California tại Berkeley phát triển . POSTGRES mở đường cho nhiều khái niệm quan trọng mà các hệ quản trị dữ liệu thương mại rất lâu sau mới có. PostgreSQL là một chương trình mã nguồn mở xây dựng trên mã nguồn ban đầu của đại học Berkeley. Nó theo chuẩn SQL99 và có nhiều đặc điểm hiện đại: Câu truy vấn phức hợp (complex query) Khóa ngoại (foreign key) Thủ tục sự kiện (trigger) Các khung nhìn (view) Tính toàn vẹn của các giao dịch (integrity transactions) Việc kiểm tra truy cập đồng thời đa phiên bản (multiversion concurrency control)       Hơn nữa, PostgreSQL có thể dùng trong nhiều trường hợp khác, chẳng hạn như tạo ra các khả năng mới như:       Kiểu dữ liệu Hàm Toán tử Hàm tập hợp Phương pháp liệt kê Ngôn ngữ theo thủ tục PostgreSQL được phổ biến bằng giấy phép BSD cổ điển. Nó không quy định những hạn chế trong việc sử dụng mã nguồn của phần mềm. Bởi vậy PostgreSQL có thể được dùng, sửa đổi và phổ biến bởi bất kỳ ai cho bất kỳ mục đích nào. 17 CHƯƠNG 2: BÀI TOÁN QUẢN LÝ NHÀ HÀNG KHẢO SÁT BÀI TOÁN THỰC TẾ VÀ GIẢI QUYẾT VẤN ĐỀ 2.1. Mô tả bài toán Nhà hàng Khánh Linh là nhà hàng cao cấp, chuyên phục vụ những khách hàng có nhu cầu về ẩm thực. Nhà hàng có một thực đơn phong phú với nhiều món ăn ngon và mới lạ. Nhà hàng có một số lượng nhân viên lớn, với nhiều nhà cung cấp và rất nhiều khách hàng. Công việc quản lý nhà hàng từ trước tới nay chủ yếu là dựa trên sổ sách giấy tờ. Việc cập nhật các thông tin và kết xuất thông tin đều làm bằng tay vì vậy khó tránh khỏi sai sót, thêm vào đó cùng một thông tin nhiều khi phải vào nhiều lần ở nhiều sổ sách khác nhau. Vì vậy công việc thiết kế và xây dựng một phần mềm quản lý nhà hàng để giúp cho việc quản lý nhà hàng có hiệu quả, nhanh chóng, chính xác là nhu cầu thực tế và hoàn toàn cần thiết. 2.1.1 Các loại hóa đơn được sử dụng trong nhà hàng 2.1.1.1 Hóa đơn bán hàng Khi khách hàng thanh toán tiền thì nhân viên nhà hàng phải đưa cho khách hàng hóa đơn thanh toán. Mẫu hóa đơn như sau: 18 2.1.1.2 Phiếu đặt bàn Khi khách hàng có nhu cầu đặt bàn trước thì nhân viên bán hàng sẽ lập một phiếu đặt bàn, việc lập phiếu đặt bàn giúp cho việc quản lý được dễ dàng hơn. Mẫu phiếu đặt bàn: 2.1.1.3 Hóa đơn nhập hàng Khi Nhà cung cấp đến cung cấp hàng cho nhà hàng, nhân viên nhà hàng có nhiệm vụ nhập hàng và lập hóa đơn nhập hàng. 19 2.1.2 Cách tính lương cho nhân viên nhà hàng Do đặc thù của việc kinh doanh nhà hàng lên nhân viên nhà hàng có mức lương là cố định, mỗi nhân viên có một mức lương cụ thể(mức lương này do người quản lý nhà hàng đề xuất), việc tính lương của nhân viên dựa vào số ngày công của nhân viên nhân với mức lương cơ bản tính theo ngày của nhân viên(Mức lương cơ bản hàng ngày = Lương tháng/ 27 ngày) 2.2 Các vấn đề chính của công tác quản lý nhà hàng Công tác quản lý nhà hàng gồm các vấn đề chính: Quản lý hàng hóa(các loại thực phẩm để chế biến món ăn), quản lý món ăn, quản lý đặt bàn, quản lý món ăn, quản lý nhân viên, nhà cung cấp, quản lý tính lương cho nhân viên. 2.3. Nghiên cứu hiện trạng và giải quyết vấn đề. Trong nhà hàng Khánh Linh hệ thống tổ chức có sự hỗ trợ lẫn nhau bao gồm: Bộ phận điều hành, bộ phận hành chính, bộ phận bán hàng(nhân viên), bộ phận đầu bếp, bộ phận kế toán. 2.3.1 Bộ phận điều hành - Quản lý phân phối hoạt động của nhà hàng. - Quản lý và điều hành hoạt động của nhân viên. - Phân loại khách hàng. - Quyết định giá chính thức cho từng món ăn. - Nhận báo cáo từ các bộ phận khác như: kế toán, nhân viên bán hàng, đầu bếp…Để từ đó có cách nhìn cụ thể về nhà hàng và thị hiếu của khách hàng, để từ đó có kế hoạch định hướng phát triển nhằm đáp ứng yêu cầu thị hiếu của khách hàng và tiến triển của cho công ty. 2.3.2 Bộ phận hành chính Ghi chép những chi phí vận chuyển, mua hàng từ nhà cung cấp, chế độ tiền lương công ty. Theo dõi quá trình làm việc để có chế độ khen thưởng đối với những người có đóng góp tích cực vào quá trình phát triển của nhà hàng hoặc kỷ luật đối với những cá nhân không hoàn thành nhiệm vụ hoặc có biểu hiện tiêu cực. 20 Tải về bản full

Từ khóa » Sơ đồ Class Diagram Quản Lý Nhà Hàng