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ả
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:
- xay_dung_phan_mem_quan_lyban_hang_cho_cong_ty_trach_nhiem_huu_han_san_xuat_thuong_mai_va_dich_vu_ngo.pdf