Đề tài Xây dựng phần mềm quản lý bán hàng cho Công ty Trách nhiệm hữu hạn Sản xuất Thương mại và Dịch vụ Ngọc Thảo

Hiện nay, công nghệ thông tin đang được ứng dụng rộng rãi trong hầu hết các lĩnh vực đời sống và đang ngày càng được mở rộng, đặc biệt nó là công cụ hỗ trợ đắc lực cho công tác quản lý. Đối với công tác quản lý bán hàng hết sức phức tạp, dễ nhầm lẫn và sai sót thì nhu cầu tin học hóa, hiện đại hóa là hết sức cần thiết. Việc sử dụng phần mềm quản lý bán hàng giúp các doanh nghiệp nâng cao hiệu quả trong công tác quản lý, tạo điều kiện cho các doanh nghiệp hoạt động bền vững và ổn định hơn. Với mong muốn xây dựng một phần mềm quản lý bán hàng dành riêng cho công ty Ngọc Thảo nhằm hỗ trợ và đem lại hiệu quả cao nhất cho công tác quản lý bán hàng, nó cho phép giám đốc kiểm soát và điều khiển hoạt động kinh doanh một cách hiệu quả nhất, tác giả đã tiến hành xây dựng phần mềm quản lý bán hàng cho công ty Ngọc Thảo. Khóa luận được thực hiện nhằm giúp cho các cá nhân, tổ chức tiếp cận và hiểu rõ hơn về một hệ thống quản lý thông tin được xây dựng bằng công nghệ .NET trên nền tảng mô hình 3 lớp. Trong quá trình thực hiện đề tài, tác giả đã đạt được những kết quả như sau: - Về mặt lý luận tác giả đã nắm vững các quy trình về quản lý bán hàng, nắm bắt được cơ bản cách thức xây dựng một phần mềm quản lý bán hàng dựa vào bộ công cụ Visual Studio 2013. Vận dụng Visual Studio 2013 và các nền tảng lập trình đã xây dựng được phần mềm Quản lý bán hàng tại công ty Ngọc Thả

pdf61 trang | Chia sẻ: phamthachthat | Lượt xem: 2181 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Xây dựng phần mềm quản lý bán hàng cho Công ty Trách nhiệm hữu hạn Sản xuất Thương mại và Dịch vụ Ngọc Thảo, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
mềm gọi là tìm hiểu và xác định yêu cầu. Để có được điều này thì cần phải trả lời câu hỏi "cái gì? - what?" chứ không phải là "như thế nào? - how?". Tìm hiểu, xác định và phân tích yêu cầu là bước hình thành bài toán, do vậy các yêu cầu của bài toán cần phải được tìm hiểu và phân tích theo chiều rộng (ngang) và theo chiều sâu. Vì vậy ta cần phải tìm hiểu và phân tích đầy đủ các tất cả các yêu cầu một cách tối ưu nhất để dễ dàng tiến hành các bước tiếp theo. Bước 3: Thiết kế phần mềm và hệ thống Xây dựng ứng dụng phần mềm là một dây chuyền các chuyển đổi, mà ở đó phân tích nhằm xác định ứng dụng sẽ thực hiện cái gì (what?) còn thiết kế nhằm để trả lời câu hỏi phần mềm cụ thể sẽ như thế nào (how?). Tức là xác định cách thức thực hiện những gì đã được đặt ra ở phần phân tích. Trong ba giai đoạn: thiết kế, cài đặt và bảo trì thì thiết kế là giai đoạn quan trọng nhất, chịu trách nhiệm đến 80% đối với sự thành công của một sản phẩm. Quá trình thiết kế tốt là cơ sở để quản lý và giảm chi phí cho công việc bảo trì phần mềm sau này. Đại học K n h ế Hu ế 9Bước 4: Cài đặt và thử nghiệm đơn thể phần mềm Cài đặt là việc thực thi những gì đã thiết kế. Nếu trong quá trình cài đặt có xuất hiện vấn đề thì phải quay lại sửa bản thiết kế. Cài đặt là một công đoạn trong việc phát triển phần mềm và nó được xem là một hệ quả tất yếu của thiết kế. Tuy vậy, phong cách lập trình và các đặc trưng của ngôn ngữ lập trình có ảnh hưởng lớn đến chất lượng của phần mềm. Một chương trình được cài đặt tốt đem lại cho ta thuận lợi trong việc bảo trì sau này. Bước 5: Thử nghiệm tổng quát phần mềm Sản phẩm phần mềm được gọi là đúng nếu nó thực hiện được chính xác những tiêu chuẩn mà người thiết kế đã đặt ra. Để có một đánh giá chính xác về cấp độ đúng của phần mềm, ta phải kiểm tra chất lượng phần mềm. Như thế, kiểm tra là quá trình tìm lỗi và nó là một đánh giá cuối cùng về các đặc tả, thiết kế và mã hoá. Mục đích của kiểm tra là đảm bảo rằng tất cả các thành phần của ứng dụng ăn khớp, vận hành như mong đợi và phù hợp các tiêu chuẩn thiết kế. Bước 6: Bảo trì và phát triển phần mềm Bảo trì là giai đoạn cuối cùng của một chu trình phát triển phần mềm. Các chương trình máy tính luôn thay đổi - phải mở rộng, sửa lỗi, tối ưu hoá...và theo thống kê thì bảo trì chiếm đến 70% toàn bộ công sức bỏ ra cho một dự án phần mềm. Do vậy, bảo trì là một hoạt động phức tạp nhưng nó lại là vô cùng cần thiết trong chu trình sống của sản phẩm phần mềm để đảm bảo cho phần mềm phù hợp với người sử dụng. 1.2. Hệ quản trị cơ sở dữ liệu SQL Server 1.2.1. Ngôn ngữ truy vấn dữ liệu có cấu trúc (SQL – Structure Query Language) 1.2.1.1. Khái niệm về SQL SQL (Structure Query Language) là một công cụ quản lý dữ liệu được sử dụng phổ biến ở nhiều lĩnh vực và nó bao gồm tập các câu lệnh sử dụng để tương tác với cơ sở dữ liệu quan hệ. Hầu hết các ngôn ngữ bậc cao đều có trình hỗ trợ SQL như Visual Basic, Oracle, C++, C# Đại học Kin h tế Hu ế 10 SQL được sử dụng để điều khiển tất cả các chức năng mà một hệ quản trị cơ sở dữ liệu cung cấp cho người dùng bao gồm: định nghĩa dữ liệu, truy xuất và thao tác dữ liệu, điều khiển và truy cập. SQL là một ngôn ngữ hoàn thiện được sử dụng trong các hệ thống cơ sở dữ liệu và là một thành phần không thể thiếu trong các hệ quản trị cơ sở dữ liệu. 1.2.1.2. Đặc điểm của SQL SQL là ngôn ngữ tựa tiếng Anh. - SQL là ngôn ngữ phi thủ tục, nó không yêu cầu cách thức truy nhập cơ sở dữ liệu như thế nào, tất cả các thông báo của SQL rất dễ sử dụng và ít khả năng mắc lỗi. - SQL cung cấp tập lệnh phong phú cho các công việc hỏi đáp dữ liệu. - Chèn, cập nhật, xóa các hàm trong một quan hệ. - Điều khiển việc truy nhập tới cơ sở dữ liệu và các đối tượng của cơ sở dữ liệu để đảm bảo tính bảo mật của cơ sở dữ liệu. - Đảm bảo tính nhất quán và sự ràng buộc của cơ sở dữ liệu. - : Integer, number (n,p), varchar(n), char(n), nvarchar(n), data, 1.2.1.3. Vai trò của SQL SQL là một phần của hệ quản trị cơ sở dữ liệu, nó xuất hiện trong các hệ quản trị cơ sở dữ liệu với vai trò ngôn ngữ và là công cụ giao tiếp giữa người sử dụng và hệ quản trị cơ sở dữ liệu. SQL có vai trò như sau: - SQL là ngôn ngữ hỏi có tính tương tác: Người sử dụng có thể dễ dàng thông qua các trình tiện ích để gửi các yêu cầu dưới dạng các câu lệnh SQL đến cơ sở dữ liệu và nhận kết quả trả về từ cơ sở dữ liệu. - SQL là ngôn ngữ lập trình cơ sở dữ liệu: Thông qua SQL, người quản trị cơ sở dữ liệu có thể quản lý được cơ sở dữ liệu, định nghĩa các cấu trúc lưu trữ dữ liệu, điều khiển truy cập cơ sở dữ liệu. - SQL là ngôn ngữ truy cập dữ liệu trên Internet: SQL với vai trò là ngôn ngữ để tương tác với dữ liệu trong các cơ sở dữ liệu trên Internet. Đại học Kin h tế Hu ế 11 - SQL là ngôn ngữ cơ sở dữ liệu phân tán: Đối với các hệ quản trị cơ sở dữ liệu phân tán, mỗi hệ thống sử dụng SQL để giao tiếp với các hệ thống khác trên mạng, gửi và nhận các yêu cầu truy xuất dữ liệu với nhau. - SQL là ngôn ngữ sử dụng cho các cổng giao tiếp cơ sở dữ liệu: SQL thường được dùng như là một chuẩn ngôn ngữ để giao tiếp giữa các hệ quản trị cơ sở dữ liệu khi hệ thống máy tính có nhiều hệ quản trị cơ sở dữ liệu khác nhau. 1.2.2. Microsoft SQL Server 1.2.2.1. Tổng quan về Microsoft SQL Server SQL là một hệ thống quản trị CSDL quan hệ nhiều người dùng kiểu khách/chủ. Đây là hệ thống cơ bản dùng lưu trữ dữ liệu cho hầu hết các ứng dụng lớn hiện nay. SQL server sử dụng ngôn ngữ lập trình và truy vấn CSDL Transact - SQL, một phiên bản của SQL. Với Transact - SQL, có thể truy xuất dữ liệu, cập nhật và quản lý hệ thống CSDL quan hệ. Với mỗi máy chủ chỉ có một hệ thống quản trị CSDL SQL Server. Nếu muốn có nhiều hệ thống quản trị CSDL cần có nhiều máy chủ tương ứng. 1.2.2.2. Thành phần của Microsoft SQL Server - Bảng dữ liệu (Tables): Bảng dữ liệu là đối tượng chính của CSDL dùng lưu trữ dữ liệu cần quản lý. Mỗi bảng dữ liệu có một hay nhiều trường. Mỗi trường ứng với một loại dữ liệu cần lưu trữ. Bảng dữ liệu còn có các thành phần liên quan như: - Ràng buộc - Constraint: Constraint là các chỉ định ràng buộc dữ liệu trong bảng dữ liệu hoặc các bảng dữ liệu khác nhau theo một quy tắc nào đó. - Bẫy lỗi - Triggers: Bẫy lỗi thường chứa các mã lệnh kiểm tra dữ liệu, có tính năng tự động thực hiện khi có hành động nào đó xảy ra đối với dữ liệu trong bảng dữ liệu như thêm, sửa, xóa. - Chỉ mục - Indexs: Hỗ trợ cho việc sắp xếp và tìm kiếm nhanh thông tin trên bảng dữ liệu. Đại học Kin h ế Hu ế 12 - Sơ đồ quan hệ - Diagram: Thể hiện mối quan hệ dữ liệu giữa các bảng dữ liệu. - Khung nhìn hay bảng dữ liệu ảo - Views: Là đối tượng dùng hiển thị dữ liệu được rút trích, tính toán từ các bảng dữ liệu theo nhu cầu của người dùng. - Thủ tục thường trú - Stored Procedure: Chứa các lệnh T - SQL dùng thực hiện một số tác vụ nào đó. Thủ tục thường trú có thể nhận và truyền tham số. Thủ tục thường trú được biên dịch trước, do đó thời gian được thực hiện nhanh khi được gọi. Có nhiều thủ tục thường trú hệ thống được định nghĩa với tiền tố “sp_” có nhiệm vụ thu thập thông tin từ các bảng dữ liệu hệ thống và rất có ích cho việc quản trị. - Hàm do người dùng định nghĩa - User Defined Function. - Người dùng - User: Chứa danh sách người dùng sử dụng CSDL. Người quản trị hệ thống cao nhất có tên người dùng là dbo, tên đăng nhập hệ thống mặc định là sa. Tài khoản sa luôn tồn tại và không thể bỏ đi. Để thay đổi mật khẩu của sa, cách nhanh nhất là: Mở trình Query Analyzer (phân tích truy vấn), thực hiện thủ tục hệ thống: EXEC SP_PASSWORD NULL, . - Các qui định vai trò và chức năng người dùng trong hệ thống tại máy chủ - Roles. - Các qui tắc ràng buộc dữ liệu được lưu trữ trên bảng dữ liệu - Rules. - Các khai báo giá trị mặc định - Defaults. - Kiểu dữ liệu cho người dùng tự định nghĩa - User Defined Data Type. - Tập phân loại dữ liệu văn bản - Full Text Catalogs. 1.3. Tổng quan về nền tảng lập trình .NET Framework 1.3.1. Giới thiệu về .NET Framework .NET Framework là một nền tảng lập trình và cũng là một nền tảng thực thi ứng dụng chủ yếu trên hệ điều hành Microsoft Windows được phát triển bởi Microsoft. Các chương trình được viết trên nền .NET Framework sẽ được triển khai trong môi trường phần mềm (ngược lại với môi trường phần cứng) được biết đến với tên Common Language Runtime (CLR). Môi trường phần mềm này là một máy ảo trong đó cung cấp Đại học Kin h ế Hu ế 13 các dịch vụ như an ninh phần mềm (security), quản lý bộ nhớ (memory management), và các xử lý lỗi ngoại lệ (exception handling). .NET Framework bao gồm tập các thư viện lập trình lớn, và những thư viện này hỗ trợ việc xây dựng các chương trình phần mềm như lập trình giao diện; truy cập, kết nối cơ sở dữ liệu; ứng dụng web; các giải thuật, cấu trúc dữ liệu; giao tiếp mạng... CLR cùng với bộ thư viện này là 2 thành phần chính của .NET Framework. .NET Framework đơn giản hóa việc viết ứng dụng bằng cách cung cấp nhiều thành phần được thiết kế sẵn, người lập trình chỉ cần học cách sử dụng và tùy theo sự sáng tạo mà gắn kết các thành phần đó lại với nhau. Nhiều công cụ được tạo ra để hỗ trợ xây dựng ứng dụng .NET, và IDE (Integrated Developement Environment – Môi trường phát triển tích hợp) được phát triển và hỗ trợ bởi chính Microsoft là Visual Studio. Hình 1.2. Kiến trúc của .NET Framework Nguồn: .Net Framework: 10 năm nhìn lại - 1.3.2. Các tính năng của .NET Framework 4.0 * Quản lý bộ nhớ: Trong ứng dụng .NET Framework, CLR cung cấp các dịch vụ thay mặt cho các ứng dụng. Nó giúp quản lý chặt chẽ bộ nhớ máy tính, kiểm tra và trả về các thông báo Đại học Kin h tế Hu ế 14 như cài đặt ứng dụng mới, xóa ứng dụng cũ, dung lượng của các ổ đĩa có liên quan trong hệ thống. * Thư viện lập trình lớn: Đây là nơi lưu trữ một lượng khá lớn các mã để xử lý các hoạt động ở mức độ thấp thông thường để sử dụng khi cần thiết thay vì phải viết một lượng lớn các mã thông thường. Nó cho phép bạn thiết lập kết nối cơ sở dữ liệu, truy cập Web, thực hiện các giải thuật, cấu trúc dữ liệu, giao tiếp thông qua mạng và nhiều tính năng khác nữa. * Tạo nguồn phát triển công nghệ: .NET Framework bao gồm các thư viện cho các khu vực cụ thể phát triển ứng dụng như: ASP .NET cho ứng dụng web, ADO .NET để truy cập dữ liệu, và Windows Communication Foundation cho các ứng dụng hướng dịch vụ. * Ngôn ngữ có khả năng tương tác lớn: Với tính năng này, thói quen viết bằng một ngôn ngữ có thể truy cập vào các ngôn ngữ khác, và các lập trình viên có thể tập trung vào việc tạo ra các ứng dụng trong ngôn ngữ hoặc ngôn ngữ ưa thích của họ. * Cung cấp môi trường lập trình phù hợp: Chương trình được thiết kế giúp cung cấp môi trường lập trình hướng đối tượng đối với các mã phù hợp, cung cấp môi trường mã nhằm thúc đẩy thực thi an toàn. * Chỉ thực hiện tắt khi lập trình và tự động tắt: .NET Framework 4.0 sẽ tự động hoạt động khi bạn thực hiện những công việc liên quan đến việc thiết kế Web, sử dụng những ngôn ngữ lập trình như Visual Basic, C#.... Chương trình sẽ tự động tắt ngay khi công việc của bạn kết thúc. * Tự động nâng cấp phiên bản mới: Một thông báo sẽ được hiển thị ngay khi nhà sản xuất đưa ra thị trường phiên bản mới nhất, bạn có thể dựa theo những thông tin này để tải về máy phiên bản mới nhất để sử dụng những tính năng mới mà nhà sản xuất cung cấp. Bạn sẽ không phải mất công lên Đại học Kin h tế Hu ế 15 mạng tìm kiếm những phiên bản mới mà có thể download ngay lập tức nhờ việc click chuột vào thông báo này. * Hỗ trợ nhiều loại ngôn ngữ khác nhau: Với việc liên tục cập nhật những phiên bản mới nhất giúp người dùng lựa chọn sử dụng loại ngôn ngữ nào phù hợp nhất với mình. Chương trình cung cấp các loại ngôn ngữ khác nhau như Anh, Pháp, Đức, Ý, Nhật, Tây Ban Nha, Hy Lạp. Ngoài ra, sau khi cài đặt, chương trình cũng được mặc định mở bằng giao diện Tiếng Anh. * Tương thích với hệ điều hành của Windows: Microsoft .NET Framework 4.0 hoàn toàn tương thích với mọi phiên bản của hệ điều hành Windown như Windows 9x/ME, Windows XP, Windows Vista, Windows 7 và cả phiên bản mới nhất Windows 8. 1.4. Ngôn ngữ lập trình C# 1.4.1 Giới thiệt ngôn ngữ lập trình C# Ngôn ngữ C Sharp (C#) được xây dựng và kiến trúc bởi Anders Hejlsberg và đội thiết kế của ông, người đã viết nên trình biên dịch Pascal và có nhiều đóng góp cho Delphi cũng như Java. C# là một trong rất nhiều ngôn ngữ lập trình được hỗ trợ bởi .NET Framework (như C++, Java). Có thể hiểu đơn giản đây là một trung tâm biên dịch, trong đó tất cả các ngôn ngữ được hỗ trợ bởi .NET Framework sẽ được chuyển đổi ra MSIL (một dạng mã trung gian) rồi từ đấy mới được biên dịch tức thời (Just in time Compiler – JIT Compiler) thành các file thực thi như exe. Một thành tố quan trọng nữa trong kiến trúc .NET Framework chính là CLR (.NET Common Language Runtime), khối chức năng cung cấp tất cả các dịch vụ mà chương trình cần giao tiếp với phần cứng, với hệ điều hành. * Các tính năng cơ bản của ngôn ngữ lập trình C#: Ngôn ngữ C# là một ngôn ngữ được dẫn xuất từ Java, VB, C và C++, nhưng nó được tạo nên từ nền tảng phát triển hơn. Microsoft bắt đầu với công việc trong C và C++ Đại học Kin h tế Hu ế 16 và thêm vào những đặc tính mới để làm cho ngôn ngữ này dễ sử dụng hơn. Nhiều trong số những đặc tính này khá giống với những đặc tính có trong ngôn ngữ Java. Không dừng lại ở đó, Microsoft đưa ra một số mục đích khi xây dựng ngôn ngữ này. Những mục đích này được tóm tắt như sau: - C# là ngôn ngữ đơn giản và hiện đại. - C# là ngôn ngữ hướng đối tượng. - C# là ngôn ngữ mạnh mẽ và mềm dẻo. - C# là ngôn ngữ có ít từ khóa. - C# là ngôn ngữ hướng module. - C# loại bỏ một vài sự phức tạp của những ngôn ngữ như Java và C++, bao gồm việc loại bỏ những macro, những template, đa kế thừa, và lớp cơ sở ảo (virtual base class). Chúng là những nguyên nhân gây ra sự nhầm lẫn hay dẫn đến những vấn đề cho các người phát triển C++. - Ngôn ngữ C# đơn giản vì nó dựa trên nền tảng C và C++. Diện mạo, cú pháp, biểu thức, toán tử và những chức năng khác được lấy trực tiếp từ ngôn ngữ C và C++, nhưng nó đã được cải tiến để làm cho ngôn ngữ đơn giản hơn. * Các ứng dụng của C# C# có thể sử dụng để viết các kiểu ứng dụng khác nhau như: - Các ứng dụng game. - Các ứng dụng cho doanh nghiệp. - Các ứng dụng cho thiết bị di động: PC Pocket, PDA, cell phone. - Các ứng dụng quản lý đơn giản. - Các ứng dụng phân tán phức tạp trải rộng qua nhiều thành phố, đất nước. * Các lợi ích của C# - Cross Language Support hỗ trợ khả năng chuyển đổi dễ dàng giữa các ngôn ngữ. - Hỗ trợ các giao thức Internet chung. - Triển khai đơn giản. Đại học Kin h tế Hu ế 17 - Hỗ trợ tài liệu XML: các chú thích XML có thể được thêm vào các đoạn code và sau đó có thể được chiết xuất để làm tài liệu cho các đoạn code để cho phép các lập trình viên khi sử dụng biết được ý nghĩa của các đoạn code đã viết. 1.4.2. Mô hình ba lớp Trong phát triển ứng dụng, để dễ quản lý các thành phần của hệ thống, cũng như không bị ảnh hưởng về các thay đổi, người ta hay nhóm các thành phần có cùng chức năng lại với nhau và phân chia trách nhiệm cho từng nhóm để công việc không bị chồng chéo và ảnh hưởng lẫn nhau. Trong phát triển phần mềm, người ta cũng áp dụng cách phân chia chức năng này. Thuật ngữ kiến trúc đa tầng/nhiều lớp, mỗi lớp sẽ thực hiện một số chức năng nào đó, trong đó mô hình ba lớp là phổ biến nhất. Ba lớp đó là: Presentation Layer (Lớp giao tiếp người dùng), Bussines Logic (Lớp sử lý chính dữ liệu) và Data Accses (Lớp thao tác). Các lớp này sẽ giao tiếp với nhau qua thông qua các dịch vụ mà mỗi lớp cung cấp để tạo nên ứng dụng, lớp này cũng không cần biết lớp kia làm gì mà chỉ cần biết lớp kia cung cấp dịch vụ gì cho mình và sử dụng nó mà thôi. 1.4.2.1. Presentation Layer (Lớp giao tiếp người dùng) Lớp này làm nhiệm vụ giao tiếp với người dùng cuối để thu thập dữ liệu và hiển thị kết quả/dữ liệu thông qua các thành phần trong giao diện người sử dụng. Lớp này sẽ sử dụng các dịch vụ do lớp Bussiness Logic cung cấp. Trong nền tảng .NET thì có thể dùng Windows Forms, ASP.NET để hiện thực lớp này. + Là những phần tử chịu trách nhiệm thu thập và hiển thị thông tin cho người dùng cuối. Trong Windows Forms đó là các TextBox, các Button, DataGridView + Có nhiệm vụ kiểm tra, xử lý các dữ liệu nhập vào (ví dụ như TextBox nhập số điện thoại thì chỉ nhập được số) Đại học Kin h tế Hu ế 18 + Tiếp nhận các Event của người dùng, kiểm tra dữ liệu được nhập vào, gửi yêu cầu xử lý xuống tầng kế tiếp. Với lớp giao tiếp người dùng chúng ta không nên sử dụng trực tiếp dịch vụ của lớp Data Access mà nên sử dụng thông qua các dịch vụ của lớp Bussiness Logic vì khi bạn sử dụng trực tiếp như vậy, bạn có thể bỏ qua các rang buộc, các logic nghiệp vụ mà ứng dụng cần có. 1.4.2.2. Bussiness Logic Layer (Lớp xử lý chính dữ liệu) Lớp này thực hiện các nghiệp vụ chính của hệ thống, sử dụng các dịch vụ do lớp Data Access cung cấp, và cung cấp các dịch vụ cho lớp Presentation. Lớp này cũng có thể sử dụng các dịch vụ của các nhà cung cấp thứ 3 để thực hiện công việc của mình. Đây là lớp chính xử lý các dữ liệu trước khi được đưa lên hiển thị trên màn hình hoặc xử lý các dữ liệu trước khi lưu dữ liệu xuống cơ sở dữ liệu. Đây là nơi kiểm tra các yêu cầu nghiệp vụ, tính toán các yêu cầu nghiệp vụ. 1.4.2.3. Data Access Layer (Lớp thao tác trực tiếp với cơ sở dữ liệu) Lớp này thực hiện các nghiệp vụ liên quan đến lưu trữ và truy suất dữ liệu của ứng dụng. Thường lớp này sử dụng dịch vụ của các hệ quản trị cơ sở dữ liệu như SQL Server, Ocracle để thực hiện các nhiệm vụ của mình. Trong lớp này các thành phần chính là Data Access Logic, Data Soucres. Lớp này có nhiệm vụ chính là đọc cơ sở dữ liệu lên, cập nhật cơ sở dữ liệu, sửa cơ sở dữ liệu 1.4.2.4. Quy trình hoạt động * Quy trình hiển thị dữ liệu Data Access Layer sẽ kết nối với Database và lấy dữ liệu có thể bằng câu lệnh select hoặc từ một thủ tục Proceduce, sau khi lấy được dữ liệu nó sẽ đẩy lên Bussiness layer, tại đây Bussiness điều chỉnh tùy biến phù hợp với yêu cầu rồi đẩy nó lên GUI và tại GUI nó sẽ hiển thị lên cho người dùng. Đại học Kin h tế Hu ế 19 * Quy trình đưa dữ liệu xuống Người dùng thao tác với GUI layer sau đó ra lệnh thực hiện (ví dụ như insert) sau đó hệ thống sẽ kiểm tra các thông tin người dùng nhập vào nếu thảo điều kiện thì đi xuống tiếp Bussiness layer để tiếp tục thực hiện các nghiệp vụ trong đó, sau khi xong thì dữ liệu được đẩy xuống Data Access Layer sau đó Data Access Layer sẽ thực thi nó xuống database. * Những ưu điểm khi sử dụng mô hình ba lớp Trước hết phải nói rằng việc tổ chức dự án phần mềm dưới dạng mô hình 3 lớp sẽ giúp cho dự án có cấu trúc sáng sủa, rõ ràng, dễ dùng lại. Từ đó việc phát triển và bảo trì hệ thống sẽ thuận lợi hơn. Điều này giúp chúng ta tiết kiệm nhiều thời gian hơn khi mở rộng chương trình trong tương lai. Khi dự án thay đổi hệ quản trị cơ sở dữ liệu hoặc chuyển ứng dụng từ dạng webform sang dạng winform thì chúng ta chỉ tốn ít thời gian để thay đổi trên lớp DAL hoặc GUI mà thôi, giữ nguyên hai lớp còn lại mà không cần phải thay đổi toàn bộ dự án. Một điều cũng vô cùng quan trọng đối với người lập trình viên đó là việc xử lý và bẫy các lỗi thời gian chạy. Mô hình ba lớp hỗ trợ cho người lập trình xác định loại lỗi xuất hiện tại lớp nào và dễ dàng đưa ra cách xử lý chúng ở từng lớp cụ thể. Ngoài ra, mô hình này còn tạo ra một không gian làm việc rất tốt để người thiết kế giao diện lẫn người lập trình có thể làm việc chung với nhau một cách dễ dàng. Việc phân ứng dụng ra thành ba lớp cũng thuận lợi cho việc phân chia nhiệm vụ của các lập trình viên theo các lớp khác nhau. * Cách xử lý lỗi trong mô hình ba lớp Mỗi khi gặp lỗi (các trường hợp không đúng dữ liệu) thì đang ở lớp nào thì đưa lên trên lớp cao hơn nó một bậc cho tới GUI thì sẽ đưa ra có người dùng biết. Đại học Ki h tế Hu ế 20 1.4.3. Tổng quan về lập trình hướng chức năng 1.4.3.1. Giới thiệu Lập trình hướng chức năng (Procedure – Oriented Programming, viết tắt là POP). Khi máy tính được phát minh lần đầu tiên, chúng cần được lập trình một cách rõ ràng với những cấu trúc đơn giản và “phần mềm” chỉ đơn thuần là một tập hợp của các lệnh rất đơn giản này kết hợp với nhau mà có thể chạy theo trình tự. Phương pháp lập trình thủ tục chính là cách thực hiện phương pháp hướng chức năng kể trên. Phương pháp thủ tục chia một chương trình (chức năng) lớn thành các khối chức năng hay hàm (thủ tục) đủ nhỏ để dễ lập trình và kiểm tra. Mỗi hàm có một điểm bắt đầu và một điểm kết thúc, có dữ liệu và logic riêng. Trong một hệ thống chương tình, các biến có các phạm vi nhìn thấy nhất định. Trong chương trình, các hàm làm việc độc lập với nhau. Dữ liệu được chuyển đổi qua lại thông qua các tham số gọi hàm. Việc chia chương trình thành các hàm cho phép nhiều người có thể tham gia vào việc xây dựng chương trình. Mỗi người xây dựng một hoặc một số các hàm độc lập với nhau. Phương pháp này dẫn đến một khái niệm mới – sự trừu tượng hóa. Sự trừu tượng hóa có thể xem như khả năng quan sát một sự việc mà không cần xem xét đến các chi tiết bên trong của nó. Trong một chương trình thủ tục, chúng ta chỉ cần biết một hàm nào đó có thể làm được những công việc cụ thể gì là đủ. Còn làm thế nào để thực hiện công việc đó là không quan trọng, chừng nào hàm còn tin cậy được thì còn có thể dùng nó mà không cần phải biết nó thực hiện đúng đắn chức năng của mình như thế nào. Điều này gọi là sự trừu tượng hóa theo chức năng (functional abstraction) (hay còn gọi là sự chuyên môn hóa) và là nền tảng của lập trình thủ tục. 1.4.3.2. Các khái niệm * Trừu tượng Khái niệm trừu tượng là sự cho phép tập trung vào vấn đề ở mức tổng quát nào đó, không xét tới các chi tiết mức thấp hơn không liên quan. Việc trừu tượng hóa cho phép ta Đại học Ki tế H uế 21 làm việc với khái niệm và thuật ngữ quen thuộc trong môi trường vấn đề mà không phải biến đổi chúng thành một cấu trúc không quen thuộc. Khi xét vấn đề cho việc tìm ra giải pháp module, chúng ta có thể đặt ra nhiều mức độ trừu tượng. Tại mức trừu tượng cao nhất: phát biểu bằng ngôn ngữ môi trường của vấn đề. Tại mức trừu tượng thấp hơn, thường lấy khuynh hướng thủ tục. Tại mức thấp nhất, giải pháp được phát biểu theo cách có thể cài đặt trực tiếp. Trong mỗi bước của tiến trình đều là sự làm mịn cho một mức trừu tượng của giải pháp. Khi chuyển qua các mức trừu tượng khác nhau, chúng ta làm việc để tạo ra các trừu tượng thủ tục, trừu tượng dữ liệu và trừu tượng điều khiển. * Chương trình con Một chương trình con (hay được gọi là hàm, thủ tục, hay thủ tục con) là một chuỗi mã để thực thi một thao tác đặc thù nào đó như là một phần của chương trình lớn hơn. Đây là các câu lệnh được nhóm vào một khối và được đặt tên và tên này tùy theo ngôn ngữ có thể được gán cho một kiểu dữ liệu. Những khối mã này có thể được tập trung lại làm thành các thư viện phần mềm. Các chương trình con có thể được gọi ra để thi hành (thường là qua tên của chương trình con đó). Điều này cho phép các chương trình dùng tới những chương trình con nhiều lần mà không cần phải lặp lại các khối mã giống nhau một khi đã hoàn tất việc viết mã cho các chương trình con đó chỉ một lần. * Lập trình cấu trúc Là một tập hợp con của lập trình thủ tục. Trong một chương trình máy tính, các khối chức năng có thể được thực hiện không chỉ theo trình tự mà còn có thể theo các tình huống và lặp lại nhiều lần. Phương pháp lập trình cấu trúc được dựa trên các mô hình toán học của Bohm và Guiseppe. Theo đó, một chương trình máy tính có thể được viết dựa trên ba cấu trúc: trình tự, quyết định và vòng lặp. - Trình tự nghĩa là các câu lệnh được thực hiện theo trình tự nhất định: trên xuống. - Quyết định là sự quy định sẽ thực hiện chương trình như thế nào phụ thuộc vào sự thỏa mãn các điều kiện nhất định. Đại học Kin h tế Hu ế 22 - Vòng lặp thể hiện sự thực hiện có tính lặp lại một số đoạn lệnh của chương trình khi các điều kiện nào đó vẫn được thỏa mãn. Thông qua các cấu trúc trên, mã chương trình trở nên sáng sủa và dễ đọc. Phương pháp lập trình thủ tục hay lập trình cấu trúc đường đi đối với phương pháp phân tích trên xuống (top – down). Theo phương pháp này, người thiết kế hệ thống chia các chức năng (hàm) chính của hệ thống thành các chức năng nhỏ hơn, đến lượt mình, các chức năng nhỏ này lại được chia tiếp thành các chức năng nhỏ hơn nữa cho đến khi được các khối (hàm) chương trình đủ nhỏ. Việc phân tích này được thể hiện trực quan theo sơ đồ khối. Đại học Kin h tế Hu ế 23 CHƯƠNG 2: BÀI TOÁN QUẢN LÝ HOẠT ĐỘNG BÁN HÀNG TẠI CÔNG TY TNHH SX TM & DV NGỌC THẢO 2.1. Tổng quan về Công ty Ngọc Thảo 2.1.1. Thông tin tổng quan về Công ty Tên công ty: Công ty TNHH Sản Xuất Thương Mại và Dịch Vụ Ngọc Thảo. Địa Chỉ: 157 Phan Đăng Lưu, Phường Phú Hòa, Thành Phố Huế, Thừa Thiên Huế. Người đại diện theo pháp luật: Nguyễn Thị Hiếu. Ngày 20/08/2008 Công ty được ra đời và chính thức đi vào hoạt động. Công ty hoạt động theo phương thức tự quản lý, tự bỏ vốn và chịu trách nhiệm với phần vốn của mình, luôn đáp ứng đủ yêu cầu Nhà nước đề ra đối với loại hình Công ty TNHH, Công ty TNHH SX TM & DV Ngọc Thảo đã tiến hành triển khai những chiến lược kinh tế, tuyển dụng lao động, cán bộ nhân viên có nghiệp vụ vững vàng, có ý thức chấp hành ký luật cao, năng động sáng tạo trong công việc, luôn chịu khó học hỏi, tiếp thu khoa học kỹ thuật mới, áp dụng thực tế vào công việc. Vì vậy, công ty đã từng bước hào nhập vào thị trường trong nước, chủ động trong việc kinh doanh, cũng như các mặt hàng phân phối trên thị trường chất lượng tốt, tạo uy tín cho khách hàng. Công ty kinh doanh 4 ngành nghề chính gồm: - Sữa chữa máy móc, thiết bị - mã ngành: 33120. - Bán buôn thiết bị và linh kiện điện tử, viễn thông – mã ngành: 46520. - Bán buôn máy móc, thiết bị và phụ tùng khác – mã ngành: 4659. - Bán lẻ đồ điện gia dụng, giường, tủ, bàn, ghế và đồ nội thất tương tự, đèn và bộ đèn điện, đồ dùng gia đình khác – mã ngành: 4759. Đại học Ki h tế Hu ế 24 2.1.2. Cơ cấu tổ chức của Công ty Ngọc Thảo Hình 2.1. Sơ đồ tổ chức Công ty TNHH SX TM & DV Ngọc Thảo (Nguồn: Công ty TNHH SX TM &DV Ngọc Thảo) 2.1.3. Nhiệm vụ của các bộ phận - Giám đốc: Là người đứng tên giấy phép kinh doanh, trực tiếp điều hành mọi hoạt động của Công ty, khai thác và tìm kiếm thị trường, chủ động trong các phương thức quản lý khoa học để nâng cao hiệu quả kinh doanh và khả năng cạnh tranh. Mục tiêu là phải làm sao để đưa doanh nghiệp mình ngày cảng phát triển, nâng cao uy tín của doanh nghiệp, đáp ứng nhu cầu của khách hàng một cách tốt nhất. - Phòng kế toán + Kế toán thuế: Kiểm tra định kỳ hàng hóa, tài sản, tiền mặt của doanh nghiệp. Hạch toán đầy đủ, chính xác hiệu quả sản xuất kinh doanh để báo cáo cho giám đốc cũng như các cơ quan có thẩm quyền. Lập đầy đủ và đúng các báo cáo kế toán theo quy định, thực hiện kê khai báo cáo thuế, tính toán và trích nộp đủ, kịp thời các khoản nộp ngân sách, các quỹ để lại Công ty. Phải cập nhật thông tin về thuế thật nhanh chóng và chính xác vì luật thuế luôn thay đổi. + Kế toán bán hàng: Ghi chép, phản ánh kịp thời, đầy đủ và chính xác tình hình bán hàng của Công ty trong kỳ. Theo dõi mặt hàng bán trong ngày, hàng tồn trong kho; lập hóa đơn và phiếu xuất hàng khi có yêu cầu mua hàng từ khách hàng, lên kế hoạch Đại học Kin h tế Hu ế 25 nhập hàng khi có yêu cầu nhập hàng từ kho. Kiểm tra, đốc thúc tình hình thu hồi tiền hàng, quản lý khách hàng nợ và tiền nợ. + Thủ quỹ: Là người cân đối thu chi cũng như quản lý các khoản xuất nhập về tiền mặt, tài sản. Theo dõi hàng hóa và định giá sản phẩm bán ra. Hàng ngày thủ quỹ có nhiệm vụ kiểm kê quỹ tiền mặt thực tế phát sinh và đối chiếu sổ sách ký vào sổ quỹ. - Thủ kho: chịu trách nhiệm quản lý nhân viên bốc xếp và tài xế, đảm bảo hàng xuất – nhập đúng số lượng. Thường xuyên cập nhật hàng tồn để thông báo với kế toán bán hàng khi có nhu cầu nhập hàng. + Nhân viên bốc xếp và tài xế: Gồm có 8 người (4 nhân viên bốc xếp và 4 tài xế), chịu trách nhiệm giao hàng theo đúng đơn hàng từ bộ phận bán hàng. - Bộ phận bán hàng: tìm hiểu nhu cầu khách hàng, phục vụ, chăm sóc khách hàng, tìm kiếm khách hàng mới, mở rộng thị trường. 2.1.4. Tình hình hoạt động sản xuất kinh doanh Để biết được tình hình hoạt động sản xuất kinh doanh của Công ty ta dựa vào bảng kết quả hoạt động kinh doanh, bảng kết quả này có ý nghĩa quan trọng phản ánh hiệu quả kinh doanh của Công ty trong một thời gian nhất định, nó cho biết liệu hoạt động kinh doanh của doanh nghiệp có đem lại lợi nhuận hay không, cho biết Công ty chi bao nhiêu tiền để sinh lời. Bảng 2.1. Kết quả hoạt động sản xuất kinh doanh qua 3 năm 2012 – 2014 ĐVT: Đồng Chỉ tiêu Năm 2012 (VNĐ) Năm 2013 (VNĐ) Năm 2014 (VNĐ) 2013/2012 2014/2013 +/- % +/- % Doanh thu bán hàng 650.400.000 711.250.000 850.550.000 60.850.000 9,36 139.300.000 19,59 Doanh thu thuần 641.100.000 701.093.000 770.870.000 59.993.000 9,35 69.777.000 9,95 Giá vốn hàng bán 456.800.000 525.700.000 550.300.000 68.900.000 15,08 24.600.000 4,68 Lợi nhuận gộp 120.700.000 142.735.000 150.267.000 22.035.000 18,26 7.532.000 5,28 Chi phí bán hàng 16.700.000 19.350.000 21.000.000 2.650.000 15,87 1.650.000 8,53 Đại học Kin h tế Hu ế 26 Chi phí quản lý 15.950.000 16.860.000 19.220.000 910.000 5,71 2.360.000 14,00 Lợi nhuận từ SXKD 90.240.000 120.625.000 131.520.000 30.385.000 33,67 10.895.000 9,03 Lợi nhuận khác 5.000.000 7.100.000 7.000.000 2.100.000 42,00 2.000.000 40,00 Lợi nhuận trước thuế 100.560.000 129.030.000 145.270.000 28.470.000 28,31 6.240.000 4,84 Lợi nhuận sau thuế 80.152.000 100.890.000 120.207.000 20.738.000 25,87 19.317.000 19,14 (Nguồn: Phòng Kế toán của công ty) Tình hình tài chính của công ty qua mỗi năm đều tăng nhanh và đạt được những thành công nhất định. Mặc dù trong nền kinh tế còn gặp nhiều khó khăn, nhưng bằng sự nỗ lực của toàn bộ ban lãnh đạo công ty và các nhân viên trong công ty, hay sự đổi mới về máy móc thiết bị, cũng như có nhiều chính sách ưu đãi cho các cán bộ nhân viên thúc đẩy sự hăng say làm việc của họ, làm cho doanh thu mỗi năm tăng lên đáng kể. Cụ thể năm 2013 tăng 60,850,000 VND so với năm 2012, năm 2014 tăng 139,300,000 VND so với năm 2013. Từ đó dẫn đến lợi nhuận của công ty qua các năm cũng tăng. Điều đó chứng tỏ công ty đang ngày càng đạt được nhiều thành công và đang từng bước phát triển vững chắc. Là một công ty với quy mô không lớn nhưng doanh thu hằng năm mà công ty thu về vẫn là những con số không hề nhỏ, điều này chứng tỏ khả năng kinh doanh của công ty so với các đối thủ cạnh tranh không thể xem thường. Công ty đang từng bước phát triển và đang trên đà đưa thương hiệu của mình sánh vai với các thương hiệu khác. 2.1.5. Tình hình ứng dụng công nghệ thông tin của công ty Mặc dù công ty đã thành lập và có 8 năm kinh nghiệm trên thị trường, nhưng khả năng ứng dụng công nghệ thông tin của công ty còn chưa tốt. Tính đến thời điểm hiện tại, công ty vẫn chưa có phần mềm bán hàng hay phần mềm kế toán nào cả, chưa có website để giới thiệu, quảng bá sản phẩm cách bán hàng vẫn theo kiểu truyền thống. Đây là những yếu thế của công ty. Số máy tính hiện có tại công ty chỉ có 5 cái. Trong đó có 3 cái tại 2 quầy bán hàng của công ty và 2 cái là của kế toán. Việc sử dụng phần mềm hay là thương mại điện tử vẫn còn là một điều lạ lẫm với nhân viên cũng như giám đốc công ty. Đại học Kin tế H uế 27 2.2. Quy trình hoạt động quản lý bán hàng của Công ty * Mô tả bài toán Công ty Ngọc Thảo với 2 cơ sở chính đặt tại 107 và 109 Phan Đăng Lưu, là 1 công ty chuyên mua bán các thiết bị điện tử và điện dân dụng. Doanh nghiệp hiện kinh doanh trong lĩnh vực hàng điện máy, điện lạnh (tivi, tủ lạnh, điều hòa, máy giặt..), số lượng chủng loại mặt hàng khá đa dạng, với các mặt hàng phổ biến của các nhãn hiệu uy tín như: TOSHIBA, SAMSUNG, LG, SONY, Cửa hàng có nhu cầu quản lý việc nhập hàng, bán hàng, báo cáo số lượng doanh thu, quản lý các chứng từ liên quan tới việc bán hàng. Hiện tại cửa hàng còn quản lý bằng các phương pháp thủ công. Cửa hàng đang cần tin học hóa việc quản lý này. Với các hoạt động chính là: *Bán hàng: + Bán lẻ: khách hàng đến trực tiếp mua hàng. Sau khi mua sẽ có 1 hóa đơn mua hàng với các thông tin: tên hàng, số lượng, thành tiền chi tiết, tổng tiền hóa đơn, nhân viên lập hóa đơn. + Bán sỉ: Việc bán sỉ ở Công ty Ngọc Thảo khá hạn chế. Khi nhận được đơn đặt hàng từ các đại lý nhỏ hơn, theo yêu cầu của khách hàng. Nhân viên bán hàng sẽ xem xét lại kho và sẽ trả lời lại cho khách hàng * Nhập hàng: Nguồn hàng được lấy từ các nhà đại lý lớn hơn ở các Công ty ở Đà Nẵng, Hồ Chí Minh Mỗi lần công ty có nhu cầu mua hàng tại Công ty hoặc các đại lý lớn hơn thì sẽ lập ra một danh sách hàng cần mua để đưa lên cho nhà cung cấp biết để họ có thể chuẩn bị các mặt hàng. Khi nhận được hàng sẽ có phiếu mua hàng do bên nhà cung cấp đưa xuống và công ty sẽ dùng nó để lưu lại các thông tin cho kì tổng kết cuối Đại ọc Kin h tế Huế 28 tháng cũng như đó là chứng từ dùng để thanh toán cho nhà cung cấp và để dùng cho việc quyết toán thuế sau này. Phiếu nhập hàng gồm các thông tin sau: ngày nhập, số lượng, đơn giá, thành tiền, các thông tin về công ty và thông tin nhà cung cấp hàng đó. Nhân viên: Nhân viên giao hàng: chuyên phụ trách công việc chở hàng tới địa chỉ do khách hàng yêu cầu nếu như họ có nhu cầu hoặc vận chuyển hàng về công ty. Nhân viên bán hàng: phụ trách công việc bán hàng, lập các hóa đơn và lưu lại các thông tin của khách hàng khi tới mua hàng. Nhân viên kế toán: quyết toán sổ sách, kế khai thuế, và các công việc liên quan tới kế toán. Nhân viên kho: chuyên phụ trách công việc nhập - xuất hàng vào kho. Nhân viên của công ty được lưu giữ lại các thông tin như: họ tên, ngày sinh, quê quán, địa chỉ, điên thoại. Ngoài ra nhân viên còn có nhiệm vụ nhận hàng từ các nhà cung cấp thông qua đơn hàng mua có ngày đặt hàng, nhà cung cấp và tổng giá tiền là bao nhiêu. Mỗi đơn hàng sẽ có chi tiết đơn hàng mua riêng cho biết đã mua những mặt hàng nào với số lượng bao nhiêu và thành tiền là bao nhiêu. Đại học Kin h tế Hu ế 29 CHƯƠNG 3 : XÂY DỰNG PHẦN MỀM QUẢN LÝ BÁN HÀNG CHO CÔNG TY TNHH SX TM & DV NGỌC THẢO 3.1. Phân tích hệ thống Quản lý bán hàng Công ty TNHH SX TM & DV Ngọc Thảo 3.1.1. Phân tích yêu cầu Phân tích hệ thống là việc xác định xem chức năng nghiệp vụ của hệ thống là gì. Trong giai đoạn này bao gồm việc nghiên cứu hệ thống hiện thời, tìm ra nguyên lý hoạt động của nó và những vị trí mà nó có thể được nâng cao, cải thiện. Bên cạnh đó là việc nghiên cứu xem xét các chức năng mà hệ thống cần cung cấp và các mối quan hệ của chúng, bên trong cũng như phía bên ngoài hệ thống. Mục đích: Xác định một cách chính xác và cụ thể các chức năng chính của hệ thống thông tin. Trong giai đoạn này cần phải xác định rõ ràng những gì mà hệ thống cần phải thực hiện phân tích phải đề cập đến những mô tả cơ sở, các mô tả này sẽ được trình bày rõ trong một tài liệu gửi cho người sử dụng phê chuẩn trước khi tiến hành những công việc tiếp theo. 3.1.1.1. Quản lý hệ thống Phần mềm có nhiệm vụ quản lý thông tin về các tài khoản sử dụng phần mềm của đơn vị và công việc này chỉ được sử dụng bởi người quản trị. Mỗi nhân viên trong công ty được cấp một tài khoản để sử dụng phần mềm. Mỗi tài khoản được phân quyền theo từng nhiệm vụ của các bộ phận mà nhân viên đó làm việc. Phần mềm sẽ cung cấp một tài khoản cao nhất cho giám đốc công ty cũng là người quản trị phần mềm, tài khoản có thể sử dụng tất cả các chức năng của phần mềm và có thể cấp phát, quản lý các tài khoản khác. Đại học Kin h tế Hu ế 30 3.1.1.2. Quản lý thông tin các đối tượng Phần mềm có nhiệm vụ quản lý thông tin khách hàng, nhà cung cấp, hàng hóa, loại hàng. Chức năng này cho phép người dùng cập nhật thông tin mới hoặc sửa đổi thông tin các đối tượng bởi người quản lý. 3.1.1.3. Quản lý xuất nhập Chức năng này quản lý việc bán hàng cho khách hàng và thu tiền của khách hàng, quản lý việc nhập mua hàng hóa từ nhà cung cấp, cũng như việc xuất kho đối với một hàng hóa nào đó. 3.1.1.4. Tìm kiếm Chức năng này quản lý việc tìm kiếm các thông tin của các đối tượng như: nhà cung cấp, khách hàng, hóa đơn. 3.1.1.5. Báo cáo, thống kê Chức năng này có nhiệm vụ thống kê hàng tồn kho và báo cáo doanh thu cho người được phân quyền xem. 3.1.2. Sơ đồ chức năng (BFD- Business Function Diagram) Xác định chức năng nghiệp vụ là bước đầu tiên của việc phân tích hệ thống. Để phân tích yêu cầu thông tin của tổ chức thì cần phải biết được tổ chức đó thực hiện những chức năng, nhiệm vụ gì. Từ đó, tìm ra các thông tin, các dữ liệu được sử dụng và tạo ra trong các chức năng. Đồng thời cũng phải tìm ra những hạn chế, mối ràng buộc đặt lên các chức năng đó. Qua khảo sát quy trình hoạt động, nghiên cứu các nghiệp vụ của hệ thống hiện tại, tôi đưa ra sơ đồ chức năng của phần mềm với 5 chức năng sau: Đạ học Kin h tế Hu ế 31 Hình 3.1. Sơ đồ chức năng Quản lý bán hàng tại công ty Ngọc Thảo Hình 3.2. Sơ đồ chức năng Quản lý hệ thống Đại học Kin h tế Hu ế 32 Hình 3.3. Sơ đồ chức năng Quản lý danh mục Hình 3.4. Sơ đồ chức năng Quản lý xuất nhập Đại học Kin h tế Hu ế 33 Hình 3.5. Sơ đồ chức năng Tìm kiếm Hình 3.6. Sơ đồ chức năng Báo cáo thống kê 3.1.3. Sơ đồ ngữ cảnh(CD- Context Diagram) Sơ đồ ngữ cảnh thể hiện khái quát nội dung chính của hệ thống thông tin. Sơ đồ chỉ bao gồm một xử lý chung nhất nêu bật chức năng của hệ thống thông tin. Xung quanh là các thực thể ngoài, chỉ nguồn phát và đích nhận thông tin cùng với các dòng thông tin đi vào và đi ra hệ thống thông tin. Sơ đồ ngữ cảnh là sơ đồ hình học được xây dựng theo điểm công tác nào đó dùng để làm rõ mối quan hệ thông tin giữa các điểm công tác của hệ thống. Điểm trung tâm là điểm đang xét, các điểm công tác khác có liên hệ thông tin với điểm trung tâm sẽ được mô tả bằng mũi tên và ghi chú kèm theo. Sơ đồ ngữ cảnh có 2 tác nhân chính là: Đại học Kin h tế Hu ế 34 - Tác nhân bên ngoài (Extenal entity) là một người, một nhóm người hoặc một tổ chức bên ngoài lĩnh vực nghiên cứu của hệ thống nhưng có một số hình thức tiếp xúc với hệ thống. Chúng là nguồn gốc cung cấp thông tin cho hệ thống và là nơi nhận các sản phẩm của hệ thống. Kí hiệu là hình chữ nhật. - Tác nhân bên trong (Intenal entity) là chức năng hoặc xử lý bên trong hệ thống được mô tả ở trang khác của mô hình. Kí hiệu là hình tròn. Dựa vào mô tả bài toán cùng với sơ đồ tổ chức và sơ đồ chức năng có thể phân tích để thu được sơ đồ ngữ cảnh của bài toán như sau: Hình 3.7. Sơ đồ ngữ cảnh hệ thống quản lý bán hàng tại Công ty Ngọc Thảo 3.1.4. Sơ đồ luồng dữ liệu(DFD- Data Flow Diagram) Từ sơ đồ chức năng BFD và sơ đồ ngữ cảnh cùng với các luồng thông tin trong hệ thống, tác giả mô hình hóa thành mô hình DFD như sau: Đại học Kin h tế Hu ế 35 3.1.4.1. Sơ đồ phân rã mức 0 Hình 3.8. Sơ đồ luồng dữ liệu mức 0 Đại học Kin h tế Hu ế 36 3.1.4.2. Sơ đồ phân ra mức 1 cho chức năng 1.0 Hình 3.9. Sơ đồ luồng dữ liệu mức 1 cho chức năng 1.0 3.1.4.3. Sơ đồ luồng dữ liệu mức 1 cho chức năng 2.0 Hình 3.10. Sơ đồ luồng dữ liệu mức 1 cho chức năng 2.0 Đại học Kin h tế Hu ế 37 3.1.4.4. Sơ đồ luồng dữ liệu mức 1 cho chức năng 3.0 Hình 3.11. Sơ đồ luồng dữ liệu mức 1 cho chức năng 3.0 3.1.4.5. Sơ đồ luồng dữ liệu mức 1 cho chức năng 4.0 Hình 3.12. Sơ đồ luồng dữ liệu mức 1 cho chức năng 4.0 Đại học Kin h tế Hu ế 38 3.1.4.6. Sơ đồ luồng dữ liệu mức 1 cho chức năng 4.0 Hình 3.13. Sơ đồ luồng dữ liệu mức 1 cho chức năng 4.0 Đại học Kin h tế Hu ế 39 3.1.5. Sơ đồ luồng thông tin(IFD- Information Flow Diagram) 3.1.5.1. Sơ đồ luồng thông tin nhập kho Hình 3.14. Sơ đồ luồng thông tin nhập kho 3.1.5.2 Sơ đồ luồng thông tin bán hàng Hình 3.15. Sơ đồ luồng thông tin bán hàng Đại học Kin h tế Hu ế 40 3.2. Thiết kế cơ sở dữ liệu Từ sơ đồ chức năng, sơ đồ luồng dữ liệu và các đầu vào đầu ra của hệ thống hiện tại, 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 Quản lý bán hàng của Công ty Ngọc Thảo, bao gồm: * Thực thể: Nhân viên - Quản lý thông tin nhân viên. - Thuộc tính: Mã nhân viên, tên nhân viên, giới tính, ngày sinh, địa chỉ, số điện thoại, email, lương, phụ cấp, mật khẩu đăng nhập. *Thực thể: Nhà cung cấp - Quản lý thông tin nhà cung cấp. - Thuộc tính: Mã nhà cung cấp, tên nhà cung cấp, địa chỉ, số điện thoại, email, số tài khoản, ghi chú. * Thực thể: Khách hàng - Quản lý thông tin khách hàng. - Thuộc tính: Mã khách hàng, tên khách hàng, địa chỉ, số điện thoại, email. * Thực thể: Mặt hàng - Quản lý thông tin các mặt hàng. - Thuộc tính: Mã mặt hàng, tên mặt hàng, đơn giá bán, thời gian bảo hành, ghi chú, hình ảnh. * Thực thể: Loại hàng - Quản lý thông tin các loại hàng để từ đó có thể quản lý các mặt hàng. - Thuộc tính: Mã loại hàng, tên loại hàng, mô tả loại hàng. * Thực thể: Hóa đơn nhập - Quản lý thông tin nhập hàng từ nhà cung cấp. - Thuộc tính: Mã hóa đơn nhập, ngày nhập, ghi chú, tổng tiền nhập. * Thực thể: Chi tiết hóa đơn nhập - Quản lý các chi tiết trong hóa đơn nhập. Đại học Kin h tế Hu ế 41 - Thuộc tính: Giá nhập, số lượng, thành tiền chi tiết. * Thực thể: Hóa đơn bán - Quản lý thông tin bán hàng cho khách hàng. - Thuộc tính: Mã hóa đơn bán, ngày bán, ghi chú, tổng tiền bán. * Thực thể: Chi tiết hóa đơn bán - Quản lý chi tiết trong hóa đơn bán. - Thuộc tính: Giá bán, số lượng bán, mức giảm giá, tổng tiền. 3.2.1. Sơ đồ thực thể mối quan hệ (ERD – Entity Relationship Diagram) Hình 3.16. Sơ đồ thực thể mối quan hệ 3.2.2. Chuyển các mối quan hệ thành lược đồ quan hệ - Mỗi mối quan hệ giữa các tập thực thể sẽ được chuyển thành một lược đồ quan hệ có tên là tên của mối quan hệ và nhận các thuộc tính là khóa của các tập thực thể tham gia vào mối quan hệ và có thể thêm vào thuộc tính riêng (nếu có). + Giữa hai tập thực thể có mối quan hệ n-1 thì khóa chính của tập thực thể bên 1 sẽ làm khóa phụ của tập thực thể bên n. Đại học Kin h tế Hu ế 42 + Giữa hai tập thực thể có mối quan hệ n-n thì tập thực thể mới được xây dựng nên sẽ lấy khóa chính của hai tập thực thể tham gia vào mối quan hệ n-n làm khóa chính. Lược đồ: CHITIETHOADON (MaHoaDon, MaMatHang, GiaBan, SoLuong, ThanhTien) Diễn giải: Chi tiết hóa đơn bán (Mã hóa đơn, mã hàng, giá bán,số lượng, thành tiền) Lược đồ: CHITIETPHIEUNHAP (MaHoaDonNhap, MaMatHang, DonGia, SoLuong, ThanhTien) Diễn giải: Quá trình công tác (Mã phiếu nhập, mã hàng, đơn giá nhập, số lượng, thành tiền) 3.2.3. Chuẩn hóa cơ sở dữ liệu Sau khi tiến hành chuẩn hóa các tập thực thể và các mối quan hệ, ta thu được các bảng dữ liệu sau: Bảng 3.1. Cấu trúc dữ liệu bảng HoaDonBan Thuộc tính Kiểu dữ liệu Diễn giải MaHDB Nchar(10) Mã hóa đơn bán hàng MaKH Nchar(10) Mã khách hàng MaNV Nchar(10) Mã nhân viên NgayBan Datetime Ngày bán hàng GhiChu Nvarchar(200) Ghi chú TongTien Float Tổng tiền hàng khách hàng mua Đại học Kin h tế Hu ế 43 Bảng 3.2. Cấu trúc dữ liệu bảng ChiTietHoaDonBan Thuộc tính Kiểu dữ liệu Diễn giải MaHDB Nchar(10) Mã hóa đơn bán hàng MaMH Nchar(10) Mã mặt hàng GiaBan Decimal(18,0) Giá bán SoLuong Int Số lượng hàng được bán MucGiamGia Decimal(18,0) Mức giảm giá với từng mặt hàng ThanhTien Decimal(18,0) Thành tiền từng mặt hàng có trong chi tiết Bảng 3.3. Cấu trúc dữ liệu bảng HoaDonNhap Thuộc tính Kiểu dữ liệu Diễn giải MaHDN Nchar(10) Mã hóa đơn nhập hàng MaNCC Nchar(10) Mã nhà cung cấp MaNV Nchar(10) Mã nhân viên NgayNhap Datetime Ngày nhập hàng GhiChu Nvarchar(200) Ghi chú TongTien Float Tổng tiền hàng công ty nhập vào Bảng 3.4. Cấu trúc dữ liệu bảng ChiTietHoaDonNhap Thuộc tính Kiểu dữ liệu Diễn giải MaHDN Nchar(10) Mã hóa đơn bán hàng MaMH Nchar(10) Mã khách hàng GiaNhap Float Giá nhà cung cấp đưa ra SoLuong Int Số lượng hàng nhập ThanhTien Float Thành tiền Bảng 3.5. Cấu trúc dữ liệu bảng KhachHang Thuộc tính Kiểu dữ liệu Diễn giải MaKH Nchar(10) Mã khách hàng Đại học Ki h tế Hu ế 44 TenKH Nvarchar(50) Tên khách hàng DiaChi Nvarchar(200) Địa chỉ SDT Nchar(11) Số điện thoại Email Nvarchar(50) Email Bảng 3.6. Cấu trúc dữ liệu bảng LoaiHang Thuộc tính Kiểu dữ liệu Diễn giải MaLH Nchar(10) Mã loại hàng TenLH Nvarchar(200) Tên loại hàng MoTa Nvarchar(200) Mô tả loại hàng Bảng 3.7. Cấu trúc dữ liệu bảng MatHang Thuộc tính Kiểu dữ liệu Diễn giải MaMH Nchar(10) Mã mặt hàng MaLH Nchar(10) Mã loại hàng TenMH Nvarchar(50) Tên mặt hàng DonGia Float Đơn giá hàng TGBH Nvarchar(50) Thời gian bảo hành GhiChu Nvarchar(200) Ghi chú HinhAnh Image Hình ảnh về hàng hóa Bảng 3.8. Cấu trúc dữ liệu bảng NhaCungCap Thuộc tính Kiểu dữ liệu Diễn giải MaNCC Nchar(10) Mã nhà cung cấp TenNCC Nvarchar(50) Tên nhà cung cấp DiaChi Nvarchar(200) Địa chỉ SDT Nchar(11) Số điện thoại Email Nvarchar(50) Email STK Nvarchar(50) Số tài khoản Đại học Kin h tế Hu ế 45 GhiChu Nvarchar(200) Ghi chú Bảng 3.9. Cấu trúc dữ liệu bảng NhanVien Thuộc tính Kiểu dữ liệu Diễn giải MaNV Nchar(10) Mã nhân viên TenNV Nvarchar(50) Tên nhân viên GioiTinh Bit Giới tính NgaySinh Datetime Ngày sinh DiaChi Nvarchar(200) Địa chỉ SDT Nchar(11) Số điện thoại Email Nvarchar(50) Email Luong Float Lương PhuCap Float Phụ cấp MaCV Nchar(10) Mã chức vụ MatKhau Nvarchar(50) Mật khẩu đăng nhập Bảng 3.10. Cấu trúc dữ liệu bảng DangNhap Thuộc tính Kiểu dữ liệu Diễn giải MaCV Nchar(10) Mã chức vụ TenCV Nvarchar(50) Tên chức vụ PhanQuyen Nvarchar(50) Phân quyền NhanVien Nvarchar(50) Nhân viên NhaCungCap Nvarchar(50) Nhà cung cấo BanHang Nvarchar(50) Bán hàng NhapHang Nvarchar(50) Nhập hàng ThongKe Nvarchar(50) Thống kê Đại học Kin h tế Hu ế 46 3.2.4. Lược đồ quan hệ của cơ sở dữ liệu Hình 3.17. Lược đồ cơ sở dữ liệu 3.3. Thiết kế thuật toán 3.3.1. Kí hiệu sử dụng Bảng 3.11. Bảng kí hiệu sơ đồ thuật toán Hình vẽ Ý nghĩa Bắt đầu hoặc kết thúc quy trình Khối xử lý So sánh, rẽ nhánh Hướng đi của luồng xử lý Đại học Kin h tế Hu ế 47 3.3.2. Một số giải thuật trong chương trình 3.3.2.1. Giải thuật đăng nhập Hình 3.18. Giải thuật đăng nhập 3.3.2.2. Giải thuật cập nhật dữ liệu Hình 3.19. Giải thuật cập nhật dữ liệu Đại học Kin h tế Hu ế 48 3.3.2.3. Giải thuật xóa dữ liệu Hình 3.20. Giải thuật xóa dữ liệu 3.3.2.4. Giải thuật nhập kho Hình 3.21. Giải thuật nhập kho Đại học Kin h tế Hu ế 49 3.3.2.5. Giải thuật bán hàng Hình 3.22. Giải thuật bán hàng 3.4. Thiết kế giao diện Hình 3.23. Giao diện trang chủ Đại học Kin h tế Hu ế 50 Hình 3.24. Giao diện thống kê tồn kho Hình 3.25. Giao diện thống kê khách hàng Đại học Kin h tế Hu ế 51 PHẦN KẾT LUẬN Hiện nay, công nghệ thông tin đang được ứng dụng rộng rãi trong hầu hết các lĩnh vực đời sống và đang ngày càng được mở rộng, đặc biệt nó là công cụ hỗ trợ đắc lực cho công tác quản lý. Đối với công tác quản lý bán hàng hết sức phức tạp, dễ nhầm lẫn và sai sót thì nhu cầu tin học hóa, hiện đại hóa là hết sức cần thiết. Việc sử dụng phần mềm quản lý bán hàng giúp các doanh nghiệp nâng cao hiệu quả trong công tác quản lý, tạo điều kiện cho các doanh nghiệp hoạt động bền vững và ổn định hơn. Với mong muốn xây dựng một phần mềm quản lý bán hàng dành riêng cho công ty Ngọc Thảo nhằm hỗ trợ và đem lại hiệu quả cao nhất cho công tác quản lý bán hàng, nó cho phép giám đốc kiểm soát và điều khiển hoạt động kinh doanh một cách hiệu quả nhất, tác giả đã tiến hành xây dựng phần mềm quản lý bán hàng cho công ty Ngọc Thảo. Khóa luận được thực hiện nhằm giúp cho các cá nhân, tổ chức tiếp cận và hiểu rõ hơn về một hệ thống quản lý thông tin được xây dựng bằng công nghệ .NET trên nền tảng mô hình 3 lớp. Trong quá trình thực hiện đề tài, tác giả đã đạt được những kết quả như sau: - Về mặt lý luận tác giả đã nắm vững các quy trình về quản lý bán hàng, nắm bắt được cơ bản cách thức xây dựng một phần mềm quản lý bán hàng dựa vào bộ công cụ Visual Studio 2013. Vận dụng Visual Studio 2013 và các nền tảng lập trình đã xây dựng được phần mềm Quản lý bán hàng tại công ty Ngọc Thảo. - Về mặt thực tiễn phần mềm do tác giả xây dựng đã đạt được những kết quả sau: + Cho phép người quản lý kiểm soát và điều khiển toàn bộ quá trình quản lý, cung cấp các thông tin phản hồi chính xác. Ngoài ra, còn giúp cho chủ doanh nghiệp nắm vững được tình hình sản xuất kinh doanh của doanh nghiệp thông qua các bản báo cáo mà không mất nhiều thời gian và đưa ra các quyết định hợp lý và kịp thời cho việc kinh doanh của doanh nghiệp. Đại học Kin h tế Hu ế 52 + Phần mềm có giao diện thân thiện, thuận tiện cho người sử dụng, dễ dàng sử dụng và quản lý. Hỗ trợ nhiều chức năng phù hợp với thực tế của việc tìm kiếm, trao đổi, cập nhật, và quản lý thông tin. Nhìn chung, phần mềm ứng dụng vào việc quản lý bán hàng hoàn toàn khả thi, đáp ứng được nhiều nhu cầu cho công tác quản lý bán hàng. Tuy nhiên phần mềm vẫn còn tồn tại hạn chế như: thống kê, báo cáo còn đơn giản; lưu trữ dữ liệu chưa tối ưu. Hy vọng trong thời gian sắp tới với sự trau dồi thêm kiến thức sẽ có thể hoàn thiện được những thiếu sót để phần mềm có thể quản lý tốt hơn nữa. Bổ sung và điều chỉnh thêm một số tính năng để phần mềm ngày càng hoạt động có hiệu quả hơn. Ứng dụng công nghệ mới nhất vào việc quản lý cơ sở dữ liệu và phần mềm. Đại học Kin h tế Hu ế 53 TÀI LIỆU THAM KHẢO [1] Trần Nguyên Phong. Giáo trình SQL. Trường đại học Khoa học Huế. Khoa công nghệ thông tin. Huế, 2004. [2] Hàn Viết Thuận. Giáo trình hệ thống thông tin quản lý, Trường đại học Kinh tế quốc dân, Khoa tin học kinh tế. Nhà xuất bản đại học Kinh tế quốc dân Hà Nội, 2008. [3] Dương Quang Thiện, Lập trình căn cứ dữ liệu dùng ADO.NET và C#. Nhà xuất bản tổng hợp TP.HCM, xuất bản 2005. Trang web: Đại học Kin h tế Hu ế

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

  • pdfxay_dung_phan_mem_quan_lyban_hang_cho_cong_ty_trach_nhiem_huu_han_san_xuat_thuong_mai_va_dich_vu_ngo.pdf