TỔNG QUAN
Giới thiệu tổng quan
Ngày nay, với sự phát triển mạnh mẽ của công nghệ thông tin, Microsoft đã giới thiệu nền tảng ứng dụng thế hệ mới - WEB APPLICATION (WAPP), được xây dựng trên nền tảng NET Framework WAPP cho phép người dùng truy cập thông qua trình duyệt một cách dễ dàng và tiện lợi trên mọi thiết bị có hỗ trợ internet, giúp hoạt động mọi lúc, mọi nơi Công nghệ này đáp ứng tốt nhu cầu công việc ngày càng cao, đồng thời nâng cao khả năng quản lý và tính tiện dụng trên nhiều nền tảng WAPP có khả năng thay thế hoàn toàn Winform, nền tảng phát triển ứng dụng truyền thống trên hệ điều hành Windows mà nhiều người đã quen thuộc.
Mục đích chọn đề tài
Để đáp ứng nhu cầu thực tế, chúng tôi đã xây dựng một hệ thống quản lý bán hàng hoạt động độc lập, cho phép người dùng vận hành mọi lúc, mọi nơi trên mọi thiết bị chỉ cần có trình duyệt truy cập Internet.
Để đáp ứng nhu cầu phát triển xã hội và nâng cao năng suất công việc, cần tiết kiệm thời gian, nhân công và chi phí đầu tư trang thiết bị Điều này sẽ giúp chuyên nghiệp hóa quá trình xử lý hàng hóa, phục vụ tốt hơn cho khách hàng.
Nhằm tạo điều kiện thực hiện nghiên cứu, phát triển khả năng bản thân, góp phần phát triển xã hội.
Phạm vi nghiên cứu
Quản lý bán hàng tại cửa hàng hay công ty bao gồm việc theo dõi và quản lý thông tin liên quan đến khách hàng, nhân viên, sản phẩm và hóa đơn Điều này giúp tối ưu hóa quy trình kinh doanh và nâng cao hiệu quả hoạt động.
Quy trình khách hàng đặt hàng, mua hàng và nhận hàng cần được thiết kế dựa trên thông tin thực tế để đảm bảo hệ thống phục vụ đúng nhu cầu sử dụng một cách tuần tự và hiệu quả.
Phương pháp nghiên cứu
- Quan sát thực tế quy trình bán hàng tại các cửa hàng, công ty
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 2
- Trực tiếp đặt hàng tại các cửa hàng/công ty sản phẩm theo quy trình của từng cửa hàng/công ty
- Nghiên cứu các website mua bán hàng sản có và quy trình thực hiện đặt hàng, mua bán sản phẩm
- Tham khảo các mô hình, hệ thống trực tiếp sẳn có từ các nước phát triển.
Mục tiêu cần đạt
- Thêm và quản lý người dùng (Nhân viên công ty) vào hệ thống
- Thêm khách hàng và quản lý thông tin khách hàng trong hệ thống
- Thêm và quản lý sản phẩm trong hệ thống với số lượng sản phẩm còn lại trong kho của từng sản phẩm, lượt mua, bán của từng sản phẩm
Quản lý mã khuyến mãi cho từng đợt khuyến mãi bao gồm thông tin quan trọng như số lần sử dụng, thời gian áp dụng, cũng như loại khuyến mãi, có thể là giảm phần trăm hoặc giảm tiền trực tiếp vào hóa đơn.
- Quản lý các lượt nhập hàng với các thông tin giá nhập vào hệ thống theo từng đợt giá
- Quản lý và cập nhật liên tục thông tin vận chuyển của các hóa đơn hàng hóa khách hàng đặt hàng có vận chuyển
- Chấp nhận thanh toán bằng nhiều hình thức khác nhau: thanh toán khi nhận hàng, thanh toán trực tiếp khi mua hàng và thanh toán qua chuyển khoản
Quản lý các đối tác vận chuyển hiệu quả thông qua việc khai thác thông tin chi tiết của từng đối tác Hệ thống tích hợp API của các đối tác giúp tạo ra các đơn vận tự động, nâng cao hiệu suất và tiết kiệm thời gian trong quy trình vận chuyển.
- Quản lý tài khoản ngân hàng của khách hàng, nhân viên công ty, và các nhà cung cấp
- Quản lý thông tin nhà cung cấp các các sản phẩm kinh doanh.
Đặc tả đề tài
Đề tài “Xây dựng hệ thống quản lý bán hàng trên nền tảng công nghệ MVC 5 với ngôn ngữ ASP.NET” nhằm ứng dụng công nghệ thông tin vào quản lý kinh doanh tại các cửa hàng và công ty bán lẻ, từ đó nâng cao hiệu quả quản lý và phục vụ khách hàng.
Sinh viên Trần Lam Anh - mã số 13D480201016 đã nêu rõ những thuận lợi trong việc tiết kiệm thời gian, chi phí và nhân công, từ đó nâng cao hiệu quả và chất lượng công việc.
Kết quả nghiên cứu và thực hiện đã dẫn đến việc ra mắt hệ thống quản lý bán hàng trực tuyến mang tên Seller Manage phiên bản 1.0.
Hệ thống là một tập hợp các công cụ quản lý thông tin thiết yếu cho các cửa hàng hoặc công ty kinh doanh bán lẻ, giúp tối ưu hóa quy trình quản lý và lưu trữ dữ liệu quan trọng.
Khi tham gia vào hệ thống, người dùng sẽ được cấp một tài khoản để đăng nhập và sử dụng các tính năng theo quyền hạn được quản trị viên phân quyền Khi khách hàng thực hiện đơn hàng tại cửa hàng, nhân viên sẽ lấy thông tin điện thoại của khách hàng để tạo đơn đặt hàng hoặc xuất hóa đơn Hệ thống sẽ kiểm tra xem khách hàng đã tồn tại hay chưa; nếu chưa, thông tin sẽ được thêm mới vào hệ thống Đối với những đơn hàng cần giao hàng, nhân viên sẽ hỗ trợ tạo vận đơn cho khách hàng thông qua các đối tác vận chuyển.
Chúng tôi cung cấp nhiều hình thức thanh toán linh hoạt cho khách hàng, bao gồm thanh toán khi nhận hàng, thanh toán trực tiếp tại thời điểm thực hiện hóa đơn, và thanh toán chuyển khoản ngân hàng.
Khi công ty bán lẻ tổ chức chương trình khuyến mãi, họ có thể áp dụng nhiều hình thức giảm giá trên hóa đơn bán hàng, bao gồm giảm giá theo tỷ lệ phần trăm, giảm giá trực tiếp vào tiền hàng, cùng với thời gian và số lần áp dụng cho từng đơn hàng Người tiêu dùng có thể dễ dàng nhận được ưu đãi bằng cách nhập mã khuyến mãi trực tiếp vào hóa đơn khi thanh toán.
Hệ thống cho phép quản lý sản phẩm hiệu quả với các mức độ phân loại và phân nhóm khác nhau Người dùng có thể tạo nhiều đơn vị tính tùy chỉnh cho sản phẩm Khi tạo sản phẩm mới, cần lựa chọn loại sản phẩm, đơn vị tính và nhóm sản phẩm để quản lý các thuộc tính cần thiết.
Sinh viên Trần Lam Anh – 13D480201016 4 đã thực hiện việc tạo đơn hàng, cho phép nhân viên thêm mới thuộc tính tại các mục tương ứng trong cấu hình sản phẩm Hệ thống cũng quản lý thông tin nhà cung cấp sản phẩm, giúp tối ưu hóa quy trình nhập hàng Khi nhập hàng, nhân viên cần chọn nhà cung cấp, sản phẩm và số lượng, sau đó hệ thống sẽ kiểm tra dữ liệu và tiến hành nhập, đồng thời xuất phiếu nhập có thể in cho nhân viên.
Hệ thống được phát triển với mục tiêu tích hợp API đến các trang thương mại điện tử như Sendo, Lazada, Shopee, giúp đồng bộ hóa sản phẩm và tiết kiệm thời gian đăng tải Bên cạnh đó, hệ thống cũng tích hợp với các đơn vị vận chuyển, cho phép tạo vận đơn trực tiếp và đồng bộ hóa với bộ phận vận chuyển, giảm thiểu thời gian tạo vận đơn trên các nền tảng khác.
Hình 1 Logo hệ thống
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 5
CƠ SỞ LÝ THUYẾT
Công nghệ ASP.NET MVC5
- Tất cả bắt đầu vào những năm 70 của thế kỷ 20, tại phòng thí nghiệm Xerox
PARC ở Palo Alto đã đóng góp quan trọng vào sự phát triển của giao diện đồ họa (GUI) và lập trình hướng đối tượng (Object Oriented Programming), cho phép lập trình viên tương tác với các thành phần đồ họa như những đối tượng có thuộc tính và phương thức riêng Hơn nữa, các nhà nghiên cứu tại Xerox PARC đã phát triển kiến trúc MVC (Model – View – Controller), mở ra hướng đi mới cho việc thiết kế ứng dụng.
- MVC được phát minh tại Xerox Parc vào những năm 70, bởi
The Model-View-Controller (MVC) architecture was first publicly introduced in Smalltalk-80 The initial significant documentation on MVC was presented in the paper titled "A Cookbook for Using the Model-View-Controller User Interface Paradigm in Smalltalk-80," authored by Glenn.
Krasner và Stephen Pope, xuất bản trong tháng 8 / tháng 9 năm 1988
- Thế hệ tiếp theo của MVC xuất hiện cùng với hệ điều hành NeXT và các phần mềm của nó
Kiến trúc phần mềm đang ngày càng được cải tiến để giải quyết các vấn đề phát sinh trong quá trình phát triển Những giải pháp mới được áp dụng nhằm nâng cao hiệu quả và chất lượng của phần mềm.
- Vì vậy sau đó, lần lượt các MVC framework ra đời dựa trên mô hình MVC như: CodeIgniter, Zend, ASP.NET MVC …
Thời gian phát hành Phiên bản
Bảng 1 Lịch sử các phiên bản MVC
2.1.2 Sự khác nhau giữa MVC và webform
Thành ASP.net MVC chia ra làm 3 phần: ASP.net WebForm sử dụng
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 6 phần – Models
Mọi tương tác của người dùng với
Views sẽ được xử lý thông qua việc thực hiện các action hành động trong
Controllers, không còn postback, lifecycle và events
ViewState is essential for managing the lifecycle of ASP.NET pages, which utilize postbacks and web controls to execute actions for the user interface (UI) However, due to user interactions, ASP.NET WebForms often experience slower performance.
(debug) Đối với MVC thì việc đó có thể sử dụng các unit test có thể thẩm định rất dễ dàng các Controllers thực hiện như thế nào
Với ASP.net WebForm, mọi tiến trình của ASP.net đều cần được thực thi, và việc thay đổi ID của bất kỳ Control nào sẽ tác động đến toàn bộ ứng dụng.
Bảng 2 Sự khác nhau giữa MVC và Webform
2.1.3 Kiến trúc sử dụng ASP.NET MVC
ASP.NET MVC là một framework nhẹ giúp đơn giản hóa quá trình phát triển ứng dụng web bằng cách chia thành ba tầng: Model, View và Controller Cấu trúc này cho phép lập trình viên dễ dàng quản lý các thành phần, đồng thời mang lại lợi ích lâu dài trong việc kiểm tra, bảo trì và nâng cấp ứng dụng.
Model là thành phần chứa và thể hiện các đặc tính cũng như logic của ứng dụng, đại diện cho dữ liệu và logic cốt lõi Nó bao gồm các lớp (class) lưu trữ thông tin về các đối tượng cần thao tác, chẳng hạn như lớp “Sản phẩm” với các thông tin như “Tên sản phẩm”, “Loại sản phẩm” và “Đơn giá”.
View có nhiệm vụ thể hiện một hoặc nhiều Model một cách trực quan, nhận thông tin từ Model và biểu diễn chúng trên trang web.
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 7
- Controller: Controller nằm giữa tầng View và Model, làm nhiệm vụ tìm kiếm, xử lý một hoặc nhiều Model, sau đó gửi Model tới View để View hiển thị.
Hình 2 Mô hình MVC
2.1.4 Đặc điểm ASP.NET MVC Framework
Tiếp tục hỗ trợ các tính năng trong ASP.NET
- Hỗ trợ sử dụng các các tập tin:.ASPX, ASCX, Master như là thành phần View
ASP.NET offers comprehensive security features, including Form and Windows authentication, URL authorization, and a robust membership and roles system It also supports output and data caching, section and profile state management, a configuration system, and a flexible provider architecture.
Tách rõ ràng các mối liên quan, mở ra khả năng test TDD (Test Driven Developer)
Bạn có thể thực hiện kiểm thử đơn vị trong ứng dụng mà không cần chạy Controllers cùng với tiến trình của ASP.NET Điều này cho phép bạn sử dụng bất kỳ framework kiểm thử đơn vị nào, chẳng hạn như NUnit, MBUnit, hoặc MS Test.
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 8
MVC có khả năng mở rộng với thiết kế dễ thay thế và tùy biến Hệ thống ánh xạ URL mạnh mẽ giúp xây dựng ứng dụng với các URL sạch sẽ.
Không sử dụng mô hình post-back từ giao diện gửi đến server Thay vào đó, chủ động đưa những post-back từ View đến thẳng lớp Controller
Hỗ trợ nhiều công cụ tạo View (Support for Multiple View Engines)
- Cho phép chọn công cụ tạo view Hộp thoại New Project cho phép xác định view engine mặc định cho một project
- Các loại view engine o Web Forms (ASPX) o Razor o Hay một view engine nguồn mở như Spark, NHaml, NDjango
- ASP.NET MVC Framework có một bộ máy ánh xạ URL thật sự mạnh mẽ
- Bộ máy này cung cấp phương pháp rất linh hoạt trong việc ánh xạ URLs sang các Controller Classes
Bạn có thể dễ dàng thiết lập các quy tắc và cấu hình đường dẫn trong ASP.NET, giúp xác định Controller và action cần thực hiện dựa trên các quy tắc đường dẫn đã định.
- ASP.NET còn có khả năng phân tích URL, chuyển các thông số trong URL thành các tham số trong lời gọi hàm của Controller
- Model Binding là tính năng thế mạnh của ASP.NET MVC (và bây giờ nó cũng được áp dụng cho cả Web Forms trong phiên bản ASP.NET 4.5)
- Hỗ trợ bạn viết phương thức nhận một đối tượng tùy biến như là một tham số
Với Model Binding, bạn có thể tập trung vào việc triển khai logic nghiệp vụ mà không cần lo lắng về việc ánh xạ dữ liệu từ người dùng sang các đối tượng NET.
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 9
Tính năng kiểm tra tính hợp lệ trong ASP.NET MVC là một công cụ mạnh mẽ, hỗ trợ việc xác thực dữ liệu trước khi gọi phương thức action hoặc sau khi phương thức action được thực thi.
Từ ASP.net MVC 3 đi kèm với một công cụ View mới có tên là Razor với những lợi ích sau:
- Cú pháp Razor là sạch sẽ và xúc tích, đòi hỏi một số lượng tối thiểu các tổ hợp phím
- Việc tìm hiểu Razor tương đối dễ dàng vì nó dựa trên ngôn ngữ C# và Visual Basic
- Visual Studio bao gồm IntelliSense và mã cú pháp Razor được màu hóa
- Với Razor views có thể kiểm tra từng đơn vị mà không đòi hỏi bạn phải chạy các ứng dụng hoặc phải chạy website.
Mô hình MVC5
2.2.1 Các tính năng của mô hình MVC3 và MVC4
- So với phiên bản ASP.NET MVC2 thì MVC3 được hỗ trợ thêm HTML5 và
- Cải thiện về Model Validation – tính năng kiểm tra tính hợp lệ của dữ liệu do người dùng nhập vào
- Hỗ trợ 2 View Engine: RAZOR, ASPX, kể cả Open source trong khi
ASP.NET MVC2 chỉ có ASPX
- Controller được cải tiến hơn như thuộc tính ViewBag và kiểu ActionResult
- Cải thiện Dependency Injection với IDpendencyResolver (có 2 phần:
The DependencyResolver and the IDependencyResolver interface in ASP.NET MVC3 implement the Service Locator pattern, enabling the framework to invoke the DIContainer when it needs to work with a specific implementation of a type.
- Cách tiếp cận với JavaScript được hạn chế
- Hỗ trợ caching trong Partial page
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 10
- ASP.NET Web API ra đời, nhằm đơn giản hoá việc lập trình với HTML hiện đại và đây là một cải tiến mới thay cho WCF Web API
- Mặc định của dự án được cải thiện hơn về hình thức bố trí, giúp dễ nhìn hơn
- Mẫu Empty Project là project trống, phù hợp cho những developer muốn nâng cao khả năng lập trình với ASP.NET MVC4
- Giới thiệu jQuery Mobile và mẫu Mobile Project cho dự án
- Kiểm soát Bundling và Minification thông qua web.config
- Hỗ trợ cho việc đăng nhập OAuth và OpenID bằng cách sử dụng thư viện DotNetOpenAuth Cho phép Logins từ Facebook và những tài khoản khác
- Phiên bản mới Windows Azure SDK 1.6 được phát hành
2.2.2 Các cải tiến của MVC5
- Với MVC5 thì cải tiến hơn so với ASP.NET MVC4, Bootstrap được thay thế mẫu MVC mặc định
- Chứng thực người dùng Authentication Filter được tuỳ chỉnh hoặc chứng thực từ hãng thứ 3 cung cấp
- Với Filter overrides, chúng ta có thể Filter override trên Method hoặc Controller
- Thuộc tính Routing được tích hợp vào MVC5
Bootstrap là một framework CSS do Twitter phát triển, giúp web designer tiết kiệm thời gian bằng cách cung cấp bộ chọn, thuộc tính và giá trị sẵn có Điều này giúp tránh việc lặp lại các class CSS và đoạn mã HTML trong các dự án web Ngoài CSS, Bootstrap còn hỗ trợ nhiều chức năng tiện ích được viết trên nền tảng jQuery, như Carousel, Tooltip và Popovers.
Những lý do để sử dụng Bootstrap:
Trình duyệt được phát triển bởi những chuyên gia có óc thẩm mỹ và tài năng toàn cầu, đảm bảo tính tương thích với nhiều thiết bị Qua nhiều lần kiểm tra, bạn có thể hoàn toàn tin tưởng vào kết quả mà không cần kiểm tra lại, giúp dự án của bạn tiết kiệm thời gian và chi phí hiệu quả.
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 11
- Chỉ cần biết sơ qua HTML, CSS, Javascript, Jquery là bạn có thể sử dụng
Bootstrap để tạo nên một trang web sang trọng và đầy đủ Nhưng lại không cần code quá nhiều CSS
Giao diện mặc định của nền tảng này có màu xám bạc sang trọng và hỗ trợ các thành phần phổ biến cần thiết cho các website hiện nay Với tính năng mã nguồn mở, bạn có thể dễ dàng truy cập và tùy chỉnh theo sở thích cá nhân của mình.
- Do có sử dụng Grid System nên Bootstrap mặc định hỗ trợ Responsive
Bootstrap được thiết kế theo xu hướng Mobile First, ưu tiên giao diện cho thiết bị di động trước Sử dụng Bootstrap giúp website của bạn tương thích với mọi kích thước màn hình, loại bỏ nhu cầu xây dựng một trang web riêng biệt cho di động.
Đội ngũ phát triển Bootstrap đã giới thiệu tính năng Customizer, cho phép designer lựa chọn các thuộc tính và component phù hợp với dự án của họ, giúp tiết kiệm thời gian và công sức mà không cần tải toàn bộ mã nguồn về máy.
Một trong những vấn đề bảo mật quan trọng nhất là đảm bảo chỉ những người dùng hợp lệ được phép truy cập vào hệ thống ASP.NET cung cấp hai khái niệm chính: Xác thực (Authentication) và Phân quyền (Authorize).
- Authentication là xác thực người dùng, trong MVC5 Authentication Filter được tuỳ chỉnh hoặc chứng thực từ hãng thứ 3 cung cấp
- Khi tạo 1 Project MVC5, người dùng được lựa chọn 4 loại security:
No Authentication Ứng dụng không hỗ trợ security
Individual User Accounts Ứng dụng sử dụng tài khoản được quản lý bởi SQL Server hoặc từ gmail, facebook
Organizational Accounts Ứng dụng sử dụng tài khoản được quản lý bởi Active Directory hoặc Windows Azure Directory
Windown Authentication Ứng dụng chạy trên intranet tức sử dụng tài khoản windows để đăng nhập
Bảng 3 Các loại security trong MVC5
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 12
Mỗi loại bảo mật phù hợp với các ứng dụng khác nhau Khi sử dụng Tài Khoản Người Dùng Cá Nhân, ứng dụng hoạt động trên Internet và lưu trữ thông tin thành viên qua SQL Server, cho phép người dùng đăng ký, đăng nhập, đổi mật khẩu và đăng xuất từ tài khoản cục bộ hoặc từ các hệ thống bên ngoài như Google và Facebook.
Code của AccountController có hai điểm khác biệt chính: Thứ nhất, annotation [Authorize] được sử dụng để ngăn chặn mọi hành động trong controller nếu người dùng chưa đăng nhập, ngoại trừ những hành động được đánh dấu bằng annotation [AllowAnonymous] Thứ hai, thuộc tính UserManager được khởi tạo trong constructor để quản lý các thành viên, hỗ trợ thực hiện các chức năng bảo mật như đăng ký, đăng nhập và đổi mật khẩu.
Giới thiệu Entity Framework
Entity Framework (EF) là một framework ánh xạ quan hệ đối tượng (ORM) cho ADO.NET, thuộc NET Framework, cho phép các nhà phát triển Web tương tác với dữ liệu quan hệ theo phương pháp hướng đối tượng Lợi ích lớn nhất của EF là giảm thiểu mã nguồn cần thiết để truy cập và tương tác với cơ sở dữ liệu Được Microsoft hỗ trợ phát triển lâu dài, EF trở thành một trong những framework mạnh nhất hiện nay cho phát triển ứng dụng Web, với sự ủng hộ đông đảo từ cộng đồng lập trình viên.
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 13
Hình 3 Mô hình kiến trúc Entity Framework
Ứng dụng là lớp chứa giao diện web bao gồm HTML, CSS, Javascript, hình ảnh và mã nguồn như C# hoặc VB, nhằm mục đích tương tác dữ liệu với các tầng khác trong mô hình thông qua dịch vụ đối tượng.
Object Services (các dịch vụ đối tượng) là tầng trung gian giữa ứng dụng và cơ sở dữ liệu, cho phép truy cập và trả về dữ liệu từ database Nó cung cấp tiện ích để theo dõi các thay đổi, quản lý nhận dạng, cũng như các quan hệ và biến đổi trong cơ sở dữ liệu Các class trong Object Services được tự động sinh ra theo mô hình dữ liệu.
ObjectContext là đại diện cho một cơ sở dữ liệu, có nhiệm vụ quản lý kết nối, định nghĩa mô hình dữ liệu cùng với metadata, và thực hiện các thao tác với cơ sở dữ liệu Ngoài ra, lớp này còn cho phép thêm các phương thức để đại diện cho các stored procedure trong cơ sở dữ liệu.
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 14
ObjectSet là một tập hợp các entity, với mỗi đối tượng tương ứng với một bảng (table) Người dùng có thể truy xuất các đối tượng này thông qua các thuộc tính (property) tương ứng của ObjectContext.
- EntityObject, ComplexObject là các lớp tương ứng cho một dòng dữ liệu của table trong database Khác biệt chính giữa hai loại này là ComplexObject không chứa primary key
EntityCollection and EntityReference are objects that represent the relationship between two entity classes Each of these objects can be accessed through the properties of the entity class.
- Sự ánh xạ tương đương được thể hiện bảng sau:
Database Object Entity Framework Object
Bảng 4 Bảng ánh xạ tương đương giữa các đối tượng trong database và EF
EntityClient là một nhà cung cấp dữ liệu mới trong ADO.NET, được thiết kế để truy xuất dữ liệu từ cơ sở dữ liệu Thay vì truy cập trực tiếp vào dữ liệu, EntityClient hoạt động thông qua các nhà cung cấp dữ liệu khác, sử dụng thông tin từ Entity Data Model để thực hiện các thao tác truy xuất.
EntityClient includes classes similar to other ADO.NET data providers, with class names prefixed by "Entity." For instance, you can establish a connection using EntityConnection, formulate queries with EntityCommand, and read results through EntityDataReader.
EntityClient distinguishes itself from other data providers by utilizing Entity SQL for data querying The Entity SQL commands are transformed into a command tree structure, which is then passed on to other data providers.
2.3.5 Tầng ADO.NET Data Providers
Sinh viên Trần Lam Anh – 13D480201016 thực hiện việc dịch các truy vấn L2E (LINQ to Entity) thành câu lệnh SQL và thực thi chúng trong hệ thống quản lý cơ sở dữ liệu (DBMS) Tầng này kết nối với cơ sở dữ liệu thông qua ADO.NET.
EntityClient là một nhà cung cấp dữ liệu mới trong ADO.NET, được thiết kế để truy xuất dữ liệu từ cơ sở dữ liệu Thay vì truy cập trực tiếp vào dữ liệu, EntityClient hoạt động thông qua các nhà cung cấp dữ liệu khác, sử dụng thông tin từ Entity Data Model để thực hiện các thao tác truy xuất.
EntityClient includes classes similar to other ADO.NET data providers, with class names prefixed by "Entity." For instance, you can establish a connection using EntityConnection, formulate queries with EntityCommand, and read results through EntityDataReader.
EntityClient distinguishes itself from other data providers by utilizing Entity SQL for data querying The Entity SQL commands are transformed into a command tree structure, which is then passed down to other data providers.
2.3.6 Tầng EDM (Entity Data Model)
Mô hình dữ liệu Entity Data Model (EDM) được mô tả bằng ngôn ngữ chuẩn XML và bao gồm ba lớp chính: Conceptual, Mapping và Logical Mỗi lớp được định nghĩa bằng một ngôn ngữ riêng biệt theo định dạng XML.
Conceptual Schema Definition Language (CSDL) is a language used to define entities, relationships, and functions within files that have a csdl extension It enables the creation of entity classes, forming the object layer in application development.
- Mapping – Mapping specification language (MSL): định nghĩa các ánh xạ giữa lớp conceptual và logical, nội dung này được lưu trong tập tin msl
- Logical – Store Schema Definition Language (SSDL): định nghĩa mô hình lưu trữ của dữ liệu, lưu trữ trong tập tin ssdl
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 16
Hình 4 Lưu đồ Entity Mapping Model
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 17
2.3.7 Cách sử dụng trong Entity Framework
Tổng quan về SQL Server
SQL Server là hệ quản trị cơ sở dữ liệu quan hệ do Microsoft phát triển, hoạt động theo mô hình khách-chủ Hệ thống này cho phép nhiều người dùng truy cập dữ liệu đồng thời, đồng thời quản lý quyền truy cập và quyền hạn của từng người dùng trên mạng.
Tổng quan về ngôn ngữ giao diện
HTML, viết tắt của HyperText Markup Language, là ngôn ngữ đánh dấu chủ yếu để xây dựng các trang web và trình bày thông tin trên World Wide Web Nó hoạt động cùng với CSS và JavaScript để tạo ra trải nghiệm người dùng phong phú và hấp dẫn.
Sinh viên Trần Lam Anh – 13D480201016 18 đã đóng góp vào sự phát triển của bộ ba nền tảng kỹ thuật cho World Wide Web Hiện tại, HTML đang được nâng cấp với phiên bản HTML5, hứa hẹn mang đến diện mạo mới cho các trang web.
Trong ASP.NET, các thẻ HTML có thể được sử dụng kết hợp với các lệnh C# thông qua việc khai báo @{…} hoặc @, nhằm tạo ra một template view (file cshtml).
Từ phiên bản Asp.net MVC 3, Microsoft đã chọn Razor View Engine làm View Engine mặc định Khi có yêu cầu View từ Http Request, Razor View Engine sẽ tiến hành biên dịch trang View đó.
Khi sử dụng Razor View Engine, lập trình viên không cần học ngôn ngữ lập trình mới, vì Razor kết hợp cú pháp HTML với C# hoặc VB trong các trang View, giúp lập trình viên dễ dàng tạo nội dung.
VB thì học và làm quen với Razor View Engine là rất đơn giản
2.6.2.2 Cú pháp Razor Để thông dịch các đoạn mã được viết bởi các ngôn ngữ như C#, VB trong các trang View, Razor đưa ra những quy tắc nhằm để xác định các đoạn mã đó được biên dịch ở phía Server (server-side code) và các đoạn mã đánh dấu (markup code) được thực hiện biên dịch ở phía client (như javascript, css, html, …), Razor sử dụng ký tự @ nhằm phân biệt giữa server-side code và markup code
Khi tạo ra các Razor view chúng ta cần chú ý như sau :
Sử dụng ký hiệu @{ code } để tạo khối mã lệnh và viết biểu thức inline trong mã markup, cho phép lập trình viên chèn trực tiếp biểu thức Razor bằng cách sử dụng ký tự @.
Sử dụng từ khóa var để khai báo biến
Sử dụng ; để kết thúc một câu lệnh
Razor views in C# are identified by the cshtml file extension, while Razor views in VB use the vbhtml extension.
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 19
Razor là công cụ hỗ trợ lập trình viên trong việc viết mã lệnh tại các View Một khối mã lệnh Razor là thành phần của View, được lập trình bằng các ngôn ngữ C# hoặc VB.
code : là các đoạn mã code được viết bởi ngôn ngữ C# hoặc VB và được biên dịch ở phía Server
Hình 6 Minh họa khối mã lệnh Razor View
CSS, viết tắt của Cascading Style Sheets, là tập hợp các chuỗi lệnh dùng để định dạng các phần tử HTML về màu sắc, kích thước và font chữ Nhờ có CSS, giao diện và nội dung của website trở nên rõ ràng và hấp dẫn hơn với người đọc.
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 20
Hình 7 Vai trò CSS với Website
Bootstrap là framework phổ biến nhất hỗ trợ phát triển giao diện website cho cả thiết bị di động và máy tính, bao gồm HTML, CSS và JavaScript Phiên bản mới nhất hiện tại là 3.3.2, được sử dụng trong các hướng dẫn.
Bootstrap là một framework phổ biến nhờ vào những lợi ích lớn mà nó mang lại, bao gồm khả năng tạo giao diện website tương thích với các thiết bị như smartphone, tablet và máy tính để bàn thông qua tính năng tự động co giãn kích thước Với các module hỗ trợ sẵn có, Bootstrap giúp người dùng dễ dàng tìm hiểu và xây dựng giao diện nhanh chóng.
JavaScript (.js) là ngôn ngữ lập trình kịch bản dựa trên đối tượng, phát triển từ ý niệm nguyên mẫu, và được sử dụng rộng rãi trên các trang web cũng như để viết script cho các ứng dụng Mặc dù có cú pháp tương tự C như Java, nhưng JavaScript gần giống với Self hơn Hiện nay, nhiều framework và thư viện nổi bật được phát triển bằng JavaScript, bao gồm jQuery - thư viện mạnh mẽ và phổ biến, AngularJS - thư viện cho ứng dụng Single Page, NodeJS - thư viện phía Server cho ứng dụng realtime, và Firebase - nền tảng di động lưu trữ dữ liệu theo thời gian thực.
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 21
- jQuery là một thư viện kiểu mới của JavaScript, được tạo bởi John Resig vào năm 2006 với một phương châm tuyệt vời: Write less, do more
jQuery giúp đơn giản hóa việc truyền tải HTML, xử lý sự kiện, tạo hiệu ứng động và tương tác Ajax, từ đó thúc đẩy khái niệm Phát triển Web Nhanh (Rapid Web Development) trở nên quen thuộc hơn.
jQuery là một thư viện JavaScript mạnh mẽ giúp đơn giản hóa các tác vụ lập trình với lượng mã code tối thiểu Một số tính năng nổi bật của jQuery bao gồm: thao tác DOM dễ dàng thông qua việc lựa chọn và chỉnh sửa các phần tử giống như CSS nhờ vào Sizzle, xử lý sự kiện hiệu quả để nâng cao trải nghiệm người dùng mà không làm phức tạp HTML, hỗ trợ AJAX để phát triển các trang web tương tác và phản hồi nhanh, cùng với nhiều hiệu ứng đẹp mắt để làm phong phú thêm giao diện website Đặc biệt, jQuery có kích thước gọn nhẹ, chỉ khoảng 19KB, giúp tối ưu hóa hiệu suất trang web.
Vài nét về thương mại điện tử B2C
Mô hình B2C (Business to Consumer) hay còn gọi là bán lẻ trực tuyến, là hình thức thương mại điện tử diễn ra giữa doanh nghiệp và người tiêu dùng Trong mô hình này, các công ty, doanh nghiệp, bao gồm nhà sản xuất, nhà phân phối và đại lý, sẽ cung cấp hàng hóa và dịch vụ trực tiếp cho người tiêu dùng.
- Đây là loại giao dịch quen thuộc và phổ biến nhất trong thương mại điện tử xuất phát từ những nhu cầu mua bán hàng hóa qua mạng
Mô hình B2C được chia thành 2 loại là cửa hàng điện tử và siêu thị điện tử
Cửa hàng điện tử (e-store) là một trang web chuyên cung cấp hàng hóa và dịch vụ, thường do cá nhân, nhà sản xuất hoặc nhà bán lẻ sở hữu Trang web này thường bao gồm danh mục sản phẩm, công cụ tìm kiếm, giỏ hàng, cổng thanh toán và dịch vụ khách hàng, giúp người tiêu dùng dễ dàng mua sắm trực tuyến.
Siêu thị điện tử (e-mall) là một nền tảng trực tuyến tích hợp nhiều cửa hàng điện tử, nổi bật với danh bạ hàng hóa phong phú và danh mục các cửa hàng đa dạng.
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 23
2.7.3 Hoạt động của mô hình B2C
Mô hình B2C được sử dụng phổ biến trong siêu thị điện tử và các trang web bán lẻ, cho phép khách hàng truy cập, lựa chọn sản phẩm, cung cấp thông tin cần thiết, chọn phương thức thanh toán và hoàn tất đơn hàng.
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 24
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Xác định Actor
3.1.1 Quản trị viên hệ thống
- Là thành viên có cấp độ cao nhất khi giao tiếp với hệ thống với toàn quyền thao tác với hệ thống
Thêm thành viên vào hệ thống cho phép người dùng thực hiện các thao tác cần thiết, đồng thời cấp quyền truy cập phù hợp với vai trò và nhiệm vụ của từng nhân viên.
3.1.2 Giám đốc, kế toán, thư ký
Người dùng có quyền thao tác toàn diện với hệ thống tương tự như quản trị viên, nhưng không bao gồm các quyền đặc thù như điều chỉnh giao diện và quản lý hệ thống.
- Và dưới đây Giám đốc, Kế toán và Thư ký được gọi chung là Nhân sự công ty
3.1.3 Nhân viên kinh doanh (người dùng hệ thống)
- Tạo và quản lý sản phẩm, đơn hàng, đơn vận trên hệ thống
- Thêm mới, cập nhật thông tin khách hàng trên hệ thống
- Thêm mới, cập nhật thông tin nhà cung cấp, nhập hàng vào hệ thống
Xác định UseCase
3.2.1 Quản trị viên hệ thống
- Thay đổi cấu trúc giao diện hệ thống
- Cấu hình xử lý các thông tin hệ thống
- Quản trị tài khoản quản trị viên hệ thống
- Quản trị tài khoản giám đốc, thư ký, kế toán
- Quản trị tài khoản nhân viên kinh doanh
3.2.2 Nhân sự công ty (Giám đốc, thư ký và kế toán)
- Quản trị tài khoản nhân viên kinh doanh
- Quản trị thông tin thống kê, báo cáo
- Quản trị sản phẩm và cấu hình sản phẩm
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 25
- Quản trị đối tác vận chuyển và vận đơn
- Quản trị tài khoản ngân hàng của nhân viên
- Quản trị thông tin khách hàng
- Quản trị thông tin khuyến mãi
- Quản trị sản phẩm và cấu hình sản phẩm
- Quản trị thông tin khách hàng, tài khoản ngân hàng khách hàng
- Quản trị đối tác vận chuyển và vận đơn
Mô hình tương tác người dùng và hệ thống
Hình 8 Sơ đồ UseCase tổng thể
3.3.2 Sơ đồ phân rã Actor
- Quản trị cấu hình hiển thị hệ thống
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 26
Hình 9 UseCase quản trị cấu hình hệ thống
- Quản trị tài khoản nhân sự công ty
Hình 10 UseCase quản trị nhân sự
3.3.2.2 Actor Nhân sự công ty
- Quản trị tài khoản người dùng (nhân viên kinh doanh)
Hình 11 UseCase quản trị tài khoản người dùng
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 27
- Quản trị báo cáo thống kê
Hình 12 UseCase quản trị báo cáo thống kê
- Quản trị nhà cung cấp
Hình 13 UseCase quản trị nhà cung cấp
Hình 14 UseCase quản trị nhập hàng
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 28
Hình 15 UseCase quản trị khuyến mãi
- Quản trị sản phẩm và cấu hình
Hình 16 UseCase quản trị sản phẩm và cấu hình
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 29
Hình 17 UseCase quản trị hóa đơn
- Quản trị tài khoản ngân hàng
Hình 18 UseCase quản trị tài khoản ngân hàng
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 30
- Quản trị đối tác vận chuyển
Hình 19 UseCase quản trị đối tác vận chuyển
Hình 20 UseCase quản trị vận đơn
3.3.2.3 Actor Nhân viên công ty
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 31
Hình 21 UseCase quản trị nhập hàng của nhân viên
- Quản trị sản phẩm và cấu hình
Hình 22 UseCase quản trị sản phẩm và cấu hình của nhân viên
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 32
Hình 23 UseCase quản trị hóa đơn của nhân viên
Hình 24 UseCase quản trị vận đơn của nhân viên
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 33
- Quản trị tài khoản ngân hàng
Hình 25 UseCase quản trị tài khoản ngân hàng của nhân viên
3.3.3 Đặc tả các UseCase tổng quát
3.3.3.1 Đặc tả UseCase đăng nhập
Tên Use case Đăng nhập
Chức năng này thực hiện kiểm tra Mã Nhân viên và Mật khẩu đăng nhập của người dùng trong hệ thống
Tác nhân chính Quản trị viên, Nhân sự công ty, nhân viên kinh doanh
Người chịu trách nhiệm Quản trị viên
Không yêu cầu tiền điều kiện, hệ thống đảm bảo tối thiểu tự động thoát khi không sử dụng và hiển thị màn hình đăng nhập lại Đảm bảo thành công khi truy cập vào trang chính của hệ thống.
Kích hoạt Truy cập vào hệ thống (https://seller.mrtrananh.com)
- Nhập mật khẩu đăng nhập
- Gõ Enter hoặc Click Đăng nhập
- Hệ thống kiểm tra Mã nhân viên, mật khẩu đăng nhập
Ngoại lệ Không có Điểm mở rộng Không có
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 34
Bảng 5 Đặc tả UseCase đăng nhập
3.3.3.2 Đặc tả UseCase Cấu hình giao diện
Tên Use case Cấu hình giao diện
Giao diện người dùng thường ngày có thể trở nên nhàm chán và không còn tiện dụng Để cải thiện trải nghiệm người dùng, quản trị viên cần thay đổi các khối hiển thị trên giao diện cho phù hợp hơn.
Tác nhân chính Quản trị viên
Người chịu trách nhiệm Quản trị viên
Để đăng nhập vào hệ thống, cần đảm bảo các điều kiện tối thiểu Giao diện hiện hành phải trở về trạng thái ban đầu và đảm bảo thành công trong việc điều chỉnh giao diện với các khối hiển thị đúng theo nhu cầu.
Kích hoạt Từ Menu của hệ thống lựa chọn mục Quản trị > Cấu hình giao diện
- Vào chuyên mục Cấu hình giao diện
- Cấu hình khối giao diện
- Lựa chọn hiển thị các khối cần thiết
- Thay đổi vị trí hiển thị của khối hiển thị theo nhu cầu sử dụng
Ngoại lệ Không có Điểm mở rộng Không có
Bảng 6 Đặc tả UseCase Cấu hình giao diện
3.3.3.3 Đặc tả UseCase Quản trị tài khoản nhân sự
Tên Use case Quản trị tài khoản nhân sự
Việc thay đổi nhân sự và vị trí công việc là điều không thể tránh khỏi trong một công ty, do đó, chức năng quản trị nhân sự với thông tin chi tiết về nhân viên là rất quan trọng.
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 35
Tác nhân chính Quản trị viên, Nhân sự công ty
Người chịu trách nhiệm Quản trị viên, Nhân sự công ty
Để đảm bảo việc đăng nhập vào hệ thống thành công, cần thực hiện các điều kiện tối thiểu, bao gồm việc xóa nhân sự không còn làm việc ra khỏi hệ thống Đồng thời, cần lưu trữ thông tin của nhân sự mới cũng như thông tin đã được cập nhật vào hệ thống.
Từ Menu chức năng hệ thống lựa chọn chuyên mục
Người dùng > Thêm mới hoặc lựa chọn người dùng trong bảng Người dùng > Cập nhật
- Lựa chọn thêm người dùng
- Nhập thông tin người dùng
- Lựa chọn chức vụ người dùng là các chức vụ thuộc nhân sự công ty tương ứng
- Chọn người dùng cần cập nhật
- Điền thông tin thay đổi
- Chọn người dùng cần xóa
Nhân sự từng tạo các đơn hàng tại công ty thì không thể xóa mà thay vào đó là vô hiệu hóa người dùng Điểm mở rộng Không có
Bảng 7 UseCase Quản trị tài khoản nhân sự
3.3.3.4 Đặc tả UseCase Quản trị tài khoản nhân viên kinh doanh
Tên Use case Quản trị tài khoản nhân viên kinh donah
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 36
Việc thay đổi hoặc bổ sung nhân viên kinh doanh là điều không thể tránh khỏi đối với một công ty Do đó, chức năng quản trị nhân viên kinh doanh với thông tin chi tiết về từng nhân viên là vô cùng cần thiết.
Tác nhân chính Quản trị viên, Nhân sự công ty
Người chịu trách nhiệm Quản trị viên, Nhân sự công ty
Tiền điều kiện Đăng nhập vào hệ thống Đảm bảo tối thiểu Xóa nhân viên kinh doanh ra khỏi hệ thống Đảm bảo thành công
Lưu trữ thông tin nhân viên kinh doanh mới mới, nhân viên kinh doanh sau khi cập nhật thông tin vào hệ thống
Từ Menu chức năng hệ thống lựa chọn chuyên mục Người dùng > Thêm mới hoặc lựa chọn người dùng trong bảng Người dùng > Cập nhật
1 Thêm mới nhân viên kinh doanh:
- Lựa chọn thêm người dùng
- Nhập thông tin người dùng
- Lựa chọn chức vụ người dùng là các chức vụ thuộc nhân viên kinh doanh công ty tương ứng
- Chọn người dùng cần cập nhật
- Điền thông tin thay đổi
- Chọn người dùng cần xóa
Nhân viên kinh doanh từng tạo các đơn hàng tại công ty thì không thể xóa mà thay vào đó là vô hiệu hóa người dùng
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 37 Điểm mở rộng Không có
Bảng 8 Đặc tả UseCase Quản trị tài khoản nhân viên kinh doanh
3.3.3.5 Đặc tả UseCase Quản trị nhà cung cấp
Tên Use case Quản trị nhà cung cấp
Thông tin về nhà cung cấp sản phẩm đóng vai trò quan trọng trong việc sử dụng dữ liệu lâu dài, hỗ trợ hiệu quả cho quá trình nhập hàng vào hệ thống Điều này cũng giúp công ty thực hiện công tác thống kê và kiểm toán một cách dễ dàng hơn.
Tác nhân chính Nhân sự công ty
Người chịu trách nhiệm Quản trị viên, Nhân sự công ty
Để đăng nhập vào hệ thống, cần đảm bảo các điều kiện tối thiểu Quy trình bao gồm việc xóa nhà cung cấp không còn phù hợp ra khỏi hệ thống và lưu trữ thông tin của nhà cung cấp mới sau khi đã cập nhật thành công.
Từ Menu chức năng hệ thống lựa chọn chuyên mục Nhà cung cấp > Thêm mới hoặc lựa chọn Nhà cung cấp trong bảng Nhà cung cấp > Cập nhật
1 Thêm mới nhà cung cấp:
- Lựa chọn thêm nhà cung cấp
- Nhập thông tin nhà cung cấp
- Chọn nhà cung cấp cần cập nhật
- Điền thông tin thay đổi
- Chọn nhà cung cấp cần xóa
Ngoại lệ Nhà cung cấp đã từng cung cấp hàng thông qua nhập
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 38 hàng thì không thể xóa khỏi hệ thống Điểm mở rộng Không có
Bảng 9 Đặc tả UseCase Quản trị nhà cung cấp
3.3.3.6 Đặc tả UseCase Quản trị nhập hàng
Tên Use case Quản trị nhập hàng
Thông qua việc nhập thông tin hàng hóa vào hệ thống với số lượng và đơn giá theo từng đợt, nhân sự công ty có thể dễ dàng thống kê hàng hóa, kiểm tra số lượng tồn kho và báo cáo doanh thu hiệu quả.
Tác nhân chính Nhân sự công ty, nhân viên kinh doanh
Người chịu trách nhiệm Quản trị viên, Nhân sự công ty, nhân viên kinh doanh
Để đăng nhập vào hệ thống, người dùng cần đáp ứng các điều kiện tối thiểu, bao gồm khả năng tạo đơn nhập hàng với nhiều sản phẩm thuộc phạm vi cung cấp của nhà cung cấp Điều này đảm bảo rằng thông tin nhập hàng được lưu trữ thành công trong hệ thống.
Từ Menu chức năng hệ thống lựa chọn chuyên mục Nhập hàng
- Lựa chọn nhà cung cấp
- Nhập số lượng, đơn giá
- Nhập các thông tin khác: hạn thanh toán, đã thanh toán,…
Nhà cung cấp đã từng cung cấp hàng qua hình thức nhập hàng sẽ không thể bị xóa khỏi hệ thống Điểm mở rộng cho phép người dùng xuất phiếu nhập hoặc lưu trữ thông tin sang file PDF.
Bảng 10 Đặc tả UseCase Quản trị nhập hàng
3.3.3.7 Đặc tả UseCase Quản trị khuyến mãi
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 39
Tên Use case Quản trị khuyến mãi
Chức năng cho phép tạo mới chương trình khuyến mãi và quản lý chương trình khuyến mãi hiện có một cách hiệu quản nhất
Tác nhân chính Nhân sự công ty
Người chịu trách nhiệm Quản trị viên, Nhân sự công ty
Để đăng nhập vào hệ thống, người dùng cần đáp ứng các điều kiện tối thiểu, bao gồm việc tạo mã khuyến mãi với đầy đủ thông tin khuyến mãi Ngoài ra, việc lưu trữ thông tin nhập hàng vào hệ thống cũng phải được đảm bảo thành công.
Kích hoạt Từ Menu chức năng hệ thống lựa chọn chuyên mục
- Kiểm tra tỉnh khả dụng
- Nhập thông tin hạn khuyến mãi
- Nhập thông tin đối tượng áp dụng và các chính sách thụ hưởng khuyến mãi
Ngoại lệ Không có Điểm mở rộng Không có
Bảng 11 Đặc tả UseCase Quản trị khuyến mãi
3.3.3.8 Đặc tả UseCase Quản trị sản phẩm và các cấu hình
Tên Use case Quản trị sản phẩm và các cấu hình
Chức năng quản trị sản phẩm trong hệ thống cung cấp thông tin cơ bản và các thuộc tính của sản phẩm, giúp việc nhập hàng và xuất hóa đơn bán hàng diễn ra nhanh chóng, hiệu quả và chính xác.
Tác nhân chính Nhân sự công ty, nhân viên kinh doanh
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 40
Người chịu trách nhiệm Quản trị viên, Nhân sự công ty, nhân viên kinh doanh
Tiền điều kiện Đăng nhập vào hệ thống Đảm bảo tối thiểu
Cập nhật thông tin sản phẩm khi có thay đổi và thêm mới sản phẩm một cách dễ dàng Quản lý các thuộc tính như kích thước, cân nặng, loại sản phẩm và các đặc điểm khác Đảm bảo lưu trữ thông tin sản phẩm thành công vào hệ thống.
Từ Menu chức năng hệ thống lựa chọn chuyên mục Sản phẩm
- Thêm thuộc tính Loại sản phẩm
- Thêm thuộc tính Nhóm sản phẩm
- Thêm thuộc tính quy cách đóng gói
- Nhập thông tin sản phẩm
- Lựa chọn các thuộc tính cho sản phẩm
- Nhập đơn giá sản phẩm
- Xác nhận thêm sản phẩm
Ngoại lệ Không có Điểm mở rộng Không có
Bảng 12 Đặc tả UseCase Quản trị sản phẩm và các cấu hình
3.3.3.9 Đặc tả UseCase Quản trị hóa đơn
Tên Use case Quản trị hóa đơn
Chức năng tạo mới hóa đơn bán hàng giúp người dùng nhập thông tin khách hàng, hàng hóa, số lượng mua và tổng thanh toán một cách nhanh chóng, tiện lợi và chính xác.
Tác nhân chính Nhân sự công ty, nhân viên kinh doanh
Người chịu trách nhiệm Quản trị viên, Nhân sự công ty, nhân viên kinh doanh
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 41
Tiền điều kiện Đăng nhập vào hệ thống Đảm bảo tối thiểu
Sơ đồ Class
Hình 26 Sơ đồ class tổng thể
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 44
Sơ đồ hoạt động các chức năng
Hình 27 Sơ đồ hoạt động đăng nhập vào hệ thống
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 45
3.5.2 Chức năng thêm người dùng
Hình 28 Sơ đồ hoạt động thêm nhân viên
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 46
3.5.3 Chức năng thêm khách hàng
Hình 29 Sơ đồ tuần tự thêm khách hàng
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 47
3.5.4 Chức năng thêm sản phẩm
Hình 30 Sơ đồ hoạt động thêm sản phẩm
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 48
3.5.5 Chức năng thêm hóa đơn/đơn hàng
Hình 31 Sơ đồ hoạt động thêm hóa đơn/đơn hàng
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 49
Sơ đồ tuần tự các chức năng
Hình 32 Sơ đồ tuần tự chức năng đăng nhập
3.6.2 Chức năng thêm nhân viên
Hình 33 Sơ đồ tuần tự thêm nhân viên
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 50
Hình 34 Sơ đồ hoạt động thêm khách hàng
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 51
3.6.4 Chức năng thêm sản phẩm
Hình 35 Sơ đồ tuần tự thêm sản phẩm
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 52
3.6.5 Chức năng thêm hóa đơn/đơn hàng
Hình 36 Sơ đồ tuần tự thêm hóa đơn/ đơn hàng
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 53
Mô hình cơ sở dữ liệu
Hình 37 Mô hình dữ liệu hệ thống
MABC TENBC SODIENTHOAIBC WEBSITEBC FAXBC EMAILBC DIACHIBC TINHTHANHBC QUANHUYENBC XAPHUONGBC GHICHUBC
MAHD MASP DONGIASP SOLUONG TONGTIEN GHICHU
MAPN MASP DONGIASP SOLUONGNHAP DONGIANHAP THANHTIENNHAP
MAHD MAVD MAKM MANV MAKH THOIGIANXUATHD HINHTHUCTHANHTOANHD TONGTIENHANGHD THUEHD TONGTHANHTOANHD SHIPHANGHD PHISHIPHD DATHANHTOANHD GHICHU DAGIAOHANGHD
MAKM TENKM NGAYBATDAUKM NGAYKETTHUCKM LOAIKM GIATRIKM GIATRIDONHANGKM SOLANSUDUNGKM PHAMVIAPDUNGKM
MANCC TENNCC DIACHINCC TINHTHANHNCC QUANHUYENNCC XAPHUONGNCC QUOCGIANCC MABUUCHINHNCC DIENTHOAINCC FAXNCC EMAILNCC WEBSITENCC NGUOILIENHENCC SDTNGUOILIENHENCC
MANV TENNV NGAYSINHNV DIACHINV TINHTHANHNV QUANHUYENNV XAPHUONGNV SODIENTHOAINV BANGCAPNV SOCMTNV NGAYCAPCMTNV NOICAPCMTNV MatkhauNV FACEBOOKNV ZALONV EMAILNV HINHANHNV MACV
MAPN MANCC MANV NGAYNHAPPN TONGSOLUONGPN TONGTIENPN TONGMATHANGPN DATHANHTOANPN HENTHANHTOANPN GHICHUPN
MAQC DIENGIAIQC SOLUONGQC GIATRIQC LOAIGITRIQC
MASP MADVT MALSP MAKM TENSP KHOILUONGSP DAISP RONGSP CAOSP NHASXSP NGUONGOCSP DONGIASP TONKHO GIOITHIEUNGANSP THONGTINCHITIETSP ANHSP1 ANHSP2 ANHSP3
MATKNH TENNH CHINHANHNH TENCHUTAIKHOANNH SOTAIKHOANNH MANV MANCC MAKH
MAVD MAHD MABC MADIEUCHINHVD MAVACHVD TENNGUOINHANVD SDTNGUOINHANVD DIACHINGUOINHANVD TINHTHANHNGUOINHANVD QUANHUYENNGUOINHANVD XAPHUONGNGUOINHANVD THOIGIANGUIVD THOIGIANNHANDUKIENVD DAIVD RONGVD CAOVD KHOILUONGVD PHIVANCHUYENVD NGUOITHANHTOANPHIVANCH
MAQH TENQH LOAIQH TOADOQH MATTP
MAXP TENXP LOAIXP TOADOXP MAQH
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 54
Tổ chức bảng dữ liệu
3.8.1 Bảng dữ liệu BƯU CỤC
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
1 MABC char(13) Not Null Mã bưu cục
2 TENBC nvarchar(256) Tên bưu cục
Bảng 15 Bảng dữ liệu Bưu cục
3.8.2 Bảng dữ liệu CHI TIẾT HÓA ĐƠN
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
1 MAHD char(12) Not Null Mã hóa đơn
2 MASP int Not Null Mã sản phẩm
4 SOLUONG int Not Null Số lượng
5 TONGTIEN money Not Null Tổng tiền
Bảng 16 Bảng dữ liệu Chi tiết hóa đơn
3.8.3 Bảng dữ liệu CHI TIẾT NHẬP
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
1 MAPN int Not Null Mã phiếu nhập
2 MASP int Not Null Mã sản phẩm
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 55
4 SOLUONGNHAP int Not Null Số lượng
5 DONGIANHAP money Not Null Đơn giá nhập
Bảng 17 Bảng dữ liệu chi tiết nhập hàng
3.8.4 Bảng dữ liệu CHỨC VỤ VỊ TRÍ
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
1 MACV int Not Null Mã chức vụ
2 TENCV nvarchar(128) Tên chức vụ
Bảng 18 Bảng dữ liệu Chức vụ vị trí
3.8.5 Bảng dữ liệu ĐƠN VỊ TÍNH
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
1 MACV int Not Null Mã chức vụ
2 TENCV nvarchar(128) Tên chức vụ
Bảng 19 Bảng dữ liệu Đơn vị tính
3.8.6 Bảng dữ liệu HÓA ĐƠN
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
1 MAHD char(12) Not Null Mã hóa đơn
2 MAVD char(18) Mã vận đơn
3 MAKM char(8) Mã khuyến mãi
4 MANV char(8) Not Null Mã nhân viên
5 MAKH int Not Null Mã khách hàng
6 THOIGIANXUATHD datetime Not Null Thời gian xuất hóa đơn
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 56
7 HINHTHUCTHANHTOANHD int Not Null Hình thức thanh toán
8 TONGTIENHANGHD money Not Null Tổng tiền hàng
9 THUEHD int Thuế giá tị gia tăng
10 TONGTHANHTOANHD money Not Null Tổng thanh toán
11 SHIPHANGHD bit Not Null Có vận chuyển
12 PHISHIPHD money Phí vận chuyển
13 DATHANHTOANHD bit Not Null Đã thanh toán
15 DAGIAOHANGHD bit Not Null Đã giao hàng
Bảng 20 Bảng dữ liệu Hóa đơn
3.8.7 Bảng dữ liệu KHÁCH HÀNG
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
1 MAKH int Not Null Mã khách hàng
3 TENKH nvarchar(256) Tên khách hàng
4 MASOTHUEKH char(10) Mã số thuế
5 DIENTHOAIKH char(13) Not Null Điện thoại
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 57
15 MABUUCHINHKH char(6) Mã bưu chính
Bảng 21 Bảng dữ liệu Khách hàng
3.8.8 Bảng dữ liệu KHUYẾN MÃI
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
1 MAKM char(8) Not Null Mã khuyến mãi
2 TENKM nvarchar(256) Tên khuyến mãi
3 NGAYBATDAUKM datetime Not Null Ngày bắt đầu
4 NGAYKETTHUCKM datetime Not Null Ngày kết thúc
5 LOAIKM bit Not Null Loại khuyến mãi
6 GIATRIKM decimal(18, 0) Not Null Giá trị khuyến mãi
7 GIATRIDONHANGKM money Not Null Giá trị đơn hàng áp dụng
8 SOLANSUDUNGKM int Số lần sử dụng
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 58
9 PHAMVIAPDUNGKM bit Phạm vi áp dụng
Bảng 22 Bảng dữ liệu khuyến mãi
3.8.9 Bảng dữ liệu LOẠI SẢN PHẨM
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
1 MALSP int Not Null Mã loại sản phẩm
2 TENLSP nvarchar(256) Tên loại sản phẩm
4 ANHMINHHOALSP char(1024) Ảnh minh họa
Bảng 23 Bảng dữ liệu Loại sản phẩm
3.8.10 Bảng dữ liệu NHÀ CUNG CẤP
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
1 MANCC int Not Null Mã nhà cung cấp
2 TENNCC nvarchar(512) Tên nhà cung cấp
3 DIACHINCC nvarchar(256) Địa chỉ nhà cung cấp
8 MABUUCHINHNCC nvarchar(12) Mã bưu chính
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 59
9 DIENTHOAINCC char(13) Not Null Điện thoại
13 NGUOILIENHENCC nvarchar(256) Người liên hệ
14 SDTNGUOILIENHENCC char(13) Số điện thoại người liên hệ
Bảng 24 Bảng dữ liệu Nhà cung cấp
3.8.11 Bảng dữ liệu NHÂN VIÊN
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
1 MANV char(8) Not Null Mã nhân viên
2 TENNV nvarchar(256) Tên nhân viên
3 NGAYSINHNV date Not Null Ngày sinh
8 SODIENTHOAINV char(13) Not Null Số điện thoại
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 60 minh
13 MatkhauNV char(32) Not Null Mật khẩu
Bảng 25 Bảng cơ sở dữ liệu Nhân viên
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
1 MANSP int Not Null Mã nhóm sản phẩm
2 TENNSP nvarchar(256) Not Null Tên nhóm sản phẩm
4 ANHMINHHOANSP char(1024) Ảnh minh họa
Bảng 26 Bảng dữ liệu Nhóm sản phẩm
3.8.13 Bảng dữ liệu NHÓM SẢN PHẨM
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
1 MASP int Not Null Mã sản phẩm
2 MANSP int Not Null Mã nhóm sản phẩm
Bảng 27 Bảng dữ liệu Sản phẩm thuộc nhóm
3.8.14 Bảng dữ liệu PHIẾU NHẬP
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
1 MAPN int Not Null Mã phiếu nhập
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 61
2 MANCC int Not Null Mã nhà cung cấp
3 MANV char(8) Not Null Mã nhân viên
4 NGAYNHAPPN datetime Not Null Ngày nhập
5 TONGSOLUONGPN int Not Null Số lượng nhập
6 TONGTIENPN int Not Null Tổng tiền nhập
7 TONGMATHANGPN int Not Null Tổng mặt hàng
8 DATHANHTOANPN bit Đã thanh toán
9 HENTHANHTOANPN datetime Not Null Hẹn thanh toán
Bảng 28 Bảng dữ liệu phiếu nhập
3.8.15 Bảng dữ liệu QUY CÁCH ĐÓNG GÓI SẢN PHẨM
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
1 MASP int Not Null Mã sản phẩm
2 MAQC int Not Null Mã quy cách
Bảng 29 Quy cách đóng gói sản phẩm
3.8.16 Bảng dữ liệu QUY CÁCH
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
1 MAQC int Not Null Mã quy cách
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 62
3 SOLUONGQC int Not Null Số lượng
4 GIATRIQC int Not Null Giá trị
5 LOAIGITRIQC bit Loại giá trị
Bảng 30 Bảng dữ liệu Quy cách
3.8.17 Bảng dữ liệu SẢN PHẨM
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
1 MASP int Not Null Mã sản phẩm
2 MADVT int Not Null Mã đơn vị tính
3 MALSP int Not Null Mã loại sản phẩm
4 MAKM char(8) Mã khuyến mãi
5 TENSP nvarchar(256) Tên sản phẩm
6 KHOILUONGSP float Not Null Khối lượng
10 NHASXSP nvarchar(512) Nhà sản xuất
12 DONGIASP money Not Null Đơn giá
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 63
15 THONGTINCHITIETSP ntext Thông tin chi tiết
16 ANHSP1 char(1024) Ảnh minh họa 1
17 ANHSP2 char(1024) Ảnh minh họa 2
18 ANHSP3 char(1024) Ảnh minh họa 3
Bảng 31 Bảng dữ liệu Sản phẩm
3.8.18 Bảng dữ liệu TÀI KHOẢN NGÂN HÀNG
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
1 MATKNH int Not Null Mã tài khoản
2 TENNH nvarchar(512) Tên tài khoản
4 TENCHUTAIKHOANNH nvarchar(128) Tên chủ tài khoản
5 SOTAIKHOANNH char(15) Not Null Số tài khoản
6 MANV char(8) Mã nhân viên
7 MANCC int Mã nhà cung cấp
8 MAKH int Mã khách hàng
Bảng 32 Bảng dữ liệu Khách hàng
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 64
3.8.19 Bảng dữ liệu VẬN ĐƠN
STT Tên cột Kiểu dữ liệu Not
2 MAHD char(12) Mã hóa đơn
4 MADIEUCHINHVD char(24) Mã điều chỉnh
6 TENNGUOINHANVD nvarchar(512) Tên người nhận
Số điện thoại người nhận
8 DIACHINGUOINHANVD nvarchar(128) Địa chỉ người nhận
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 65
12 THOIGIANGUIVD datetime Thời gian gửi
13 THOIGIANNHANDUKIENVD datetime Thời gian nhận dự kiến
20 PHITHUHOVD money Phí thu hộ
Bảng 33 Bảng dữ liệu Vận đơn
3.8.20 Bảng dữ liệu TỈNH THÀNH PHỐ
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 66
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
1 MATTP char(5) Not Null Mã tỉnh thành phố
2 TENTTP nvarchar(128) Not Null Tên tỉnh thành phố
3 LOAITTP nvarchar(50) Not Null Loại tỉnh thành phố
Bảng 34 Bảng dữ liệu Tỉnh Thành phố
3.8.21 Bảng dữ liệu QUẬN HUYỆN
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
1 MAQH char(5) Not Null Mã quận huyện
2 TENQH nvarchar(128) Not Null Tên
3 LOAIQH nvarchar(50) Not Null Loại
4 TOADOQH char(64) Not Null Tọa độ
5 MATTP char(5) Not Null Mã tỉnh
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 67 thành phố
Bảng 35 Bảng dữ liệu Quận huyện
3.8.22 Bảng dữ liệu XÃ PHƯỜNG
STT Tên cột Kiểu dữ liệu Not Null Diễn giải
1 MAXP char(5) Not Null Mã Xã/
2 TENXP nvarchar(128) Not Null Tên Xã/ phường
3 LOAIXP nvarchar(50) Not Null Loại
4 TOADOXP char(64) Not Null Tọa độ
5 MAQH char(5) Not Null Mã
Bảng 36 Bảng dữ liệu Xã phường
PHÂN TÍCH MỐI QUAN HỆ DỮ LIỆU GIỮA CÁC THỰC THỂ 67 CHƯƠNG IV: DEMO VÀ TRIỂN KHAI HỆ THỐNG
T Tên mối quan hệ Sơ đồ thể hiện mối quan hệ
LOẠI SẢN PHẢM và SẢN PHẨM
- Một Loại sản phẩm có thể không có hoặc có nhiều sản phẩm
- Một Sản phẩm chỉ thuộc một và chỉ một loại sản phẩm
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 68
- Một nhóm sản phẩm có thể không có hoặc có nhiều sản phẩm
- Một sản phẩm có thể không thuộc hoặc thuộc nhiều nhóm
3 ĐƠN VỊ TÍNH và SẢN PHẨM
- Một đơn vị tính có thể không có hoặc có nhiều sản phẩm
- Một sản phẩm chỉ có một và chỉ một đơn vị tính
QUY CÁCH và SẢN PHẨM
- Một quy cách không có hoặc có nhiều sản phẩm
- Một sản phẩm có thể không có hoặc có nhiều quy cách đóng gói
KHUYẾN MÃI và SẢN PHẨM
- Một khuyến mãi có thể không có hoặc có nhiều sản phẩm
- Một sản phẩm chỉ có một và chỉ một khuyến mãi
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 69
PHIẾU NHẬP và SẢN PHẨM
- Một phiếu nhập có một hoặc nhiều chi tiết nhập
- Một chi tiết nhập có chỉ một hoặc nhiều sản phẩm
- Một sản phẩm có thể không có hoặc có nhiều chi tiết nhập
- Một chi tiết nhập có duy nhất một và chỉ một phiếu nhập
HÓA ĐƠN và KHUYẾN MÃI
- Một hóa đơn có thể không có hoặc có duy nhất chỉ một khuyến mãi
- Một khuyến mãi có thể không có hoặc có nhiều hóa đơn
HÓA ĐƠN và SẢN PHẨM
- Một hóa đơn có một hoặc nhiều chi tiết hóa đơn
- Một chi tiết hóa đơn có một hoặc nhiều sẩn phẩm
- Một sản phẩm có thể không có hoặc có nhiều chi tiết hóa đơn
- Một chi tiết hóa đơn chỉ duy nhất một hóa đơn
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 70
HÓA ĐƠN và VẬN ĐƠN
- Một hóa đơn có thể không có hoặc có nhiều vận đơn
- Một vận đơn có thể không có hoặc có nhiều hóa đơn
HÓA ĐƠN và NHÂN VIÊN
- Một hóa đơn chỉ thuộc một và chỉ một nhân viên
- Một nhân viên có thể không có hoặc có nhiều hóa đơn
HÓA ĐƠN và KHÁCH HÀNG
- Một hóa đơn chỉ thuộc một và duy nhất một khách hàng
- Một khách hàng có thể không có hoặc có nhiều hóa đơn
VẬN ĐƠN và BƯU CỤC
- Một vận đơn chỉ thuộc một và duy nhất một bưu cục
- Một bưu cục có thể không có hoặc có nhiều vận đơn
PHIẾU NHẬP và NHÀ CUNG CẤP
- Một phiếu nhập chỉ thuộc một và chỉ một nhà cung cấp
- Một nhà cung cấp có thể không có hoặc có nhiều phiếu nhập
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 71
PHIẾU NHẬP và NHÂN VIÊN
- Một phiếu nhập chỉ thuộc một và chỉ một nhân viên
- Một nhân viên có thể không có hoặc có nhiều phiếu nhập
CHỨC VỤ VỊ TRÍ và NHÂN VIÊN - Một chức vụ có thể không có hoặc có nhiều nhân viên
- Một nhân viên có một hoặc nhiều chức vụ
NGÂN HÀNG và NHÂN VIÊN
- Một nhân viên có thể không có hoặc có nhiều tài khoản ngân hàng
- Một tài khoản ngân hàng chỉ thuộc một và duy nhất một nhân viên
NGÂN HÀNG và KHÁCH HÀNG
- Một khách hàng có thể không có hoặc có nhiều tài khoản ngân hàng
- Một tài khoản ngân hàng chỉ thuộc một và duy nhất một khách hàng
NGÂN HÀNG và NHÀ CUNG CẤP
- Một nhà cung cấp có thể không có hoặc có nhiều tài khoản ngân hàng
- Một tài khoản ngân hàng chỉ thuộc một và duy nhất một nhà cung cấp
Bảng 37 Bảng phân tích mối quan hệ dữ liệu các thực thể
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 72
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 73
Giới thiệu tổng quan về hạ tầng Demo
- Demo được cài đặt và vận hành trực tiếp tại tên miền
Demo được cài đặt và vận hành trên Hosting Server Windows, tích hợp kết nối với Microsoft SQL Server Version 12.0 Ngoài ra, hệ thống cũng đã đăng ký chứng thực an toàn với nội dung mã hóa thông tin qua HTTPS.
Giao diện chính
Hình 38 Giao diện Dashboard
Giao diện chính của hệ thống (Dashboard) sẽ hiển thị đầy đủ các tính năng sau khi người dùng đăng nhập thành công.
Cấu trúc giao diện
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 74
Cấu trúc giao diện trên máy tính được chia ra thành 4 phần
Hình 39 Cấu trúc giao diện trên máy tính
- Menu Site (1): Bao gồm toàn bộ Menu thể hiện các tính năng mà hệ thống đáp ứng
- Header Site (2): Bao gồm tên của xử lý hiện hành, khung tìm kiếm thông trong site tương ứng dữ liệu với xử lý hiện hành
- Body Site (3): Đây là phần thân cốt lõi của hệ thống, thể hiện toàn bộ thông tin dữ kiện, nhập liệu và biểu diễn
- Footer Site (4): Là phần dưới cùng của hệ thống, thông thường được dùng để ghi nhận thông tin site, thông tin bản quyền, tác giả,…
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 75
Cấu trúc giao diện trên điện thoại được thể hiện vẫn đảm bảo đầy đủ như trên máy tính với 4 thành phần:
- Menu Site (1): Bao gồm toàn bộ Menu thể hiện các tính năng mà hệ thống đáp ứng
- Header Site (2): Bao gồm tên của xử lý hiện hành, khung tìm kiếm thông trong site tương ứng dữ liệu với xử lý hiện hành
- Body Site (3): Đây là phần thân cốt lõi của hệ thống, thể hiện toàn bộ thông tin dữ kiện, nhập liệu và biểu diễn
- Footer Site (4): Là phần dưới cùng của hệ thống, thông thường được dùng để ghi nhận thông tin site, thông tin bản quyền, tác giả,…
Giao diện chức năng
Hình 41 Giao diện đăng nhập
Hình 40 Cấu trúc giao diện trên điện thoại
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 76
Khi lần đầu tiên truy cập vào hệ thống, người dùng sẽ thấy giao diện đăng nhập yêu cầu nhập [Mã nhân viên] và [Mật khẩu] để có quyền truy cập.
Nếu thông tin đăng nhập không chính xác, hệ thống sẽ hiển thị thông báo “Đăng nhập thất bại, vui lòng thử đăng nhập lại” Quá trình này sẽ tiếp tục lặp lại cho đến khi người dùng nhập đúng thông tin để truy cập vào hệ thống hoặc tự nguyện thoát ra.
4.4.1 Chức năng quản trị Hóa đơn
Để quản lý hóa đơn, người dùng có thể dễ dàng lựa chọn từ giao diện chính bằng cách nhấn vào tổng đơn hàng hoặc truy cập vào mục Đơn hàng trên Menu Site bên tay phải của hệ thống.
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 77
Hình 43 Quản trị hóa đơn
Chuyên trang quản trị hóa đơn cung cấp thông tin quan trọng bên ngoài hệ thống, cho phép người dùng xem chi tiết hóa đơn đã tạo Để tìm hóa đơn nhanh chóng, người dùng có thể sử dụng thanh công cụ tìm kiếm trên Header, hỗ trợ tìm kiếm theo tên khách hàng, mã khách hàng và mã hóa đơn.
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 78
Hình 44 Chi tiết hóa đơn
Chuyên trang hiển thị chi tiết hóa đơn cung cấp đầy đủ thông tin về hóa đơn mà người dùng đã tạo Tại đây, người dùng có thể in hóa đơn để lưu trữ hoặc lưu file PDF khi cần thiết.
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 79
Hình 45 Thêm mới hóa đơn
Chuyên trang thêm mới hóa đơn giúp người dùng thao tác nhanh chóng bằng cách chọn khách hàng, chọn mặt hàng cần mua, nhập số lượng và xác nhận hóa đơn.
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 80
4.4.2 Chức năng quản trị Sản phẩm
Để quản lý sản phẩm, người dùng có thể chọn sản phẩm từ menu bên phải của hệ thống hoặc nhấn vào "Thêm sản phẩm" trên màn hình chính để nhanh chóng thêm sản phẩm mới.
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 81
Hình 47 Quản trị sản phẩm
Chuyên trang quản trị sản phẩm đươc hiển thị tóm tắt các thông tin chính của sản phẩm đủ đáp ứng cho chu cầu quản lý
Bằng công cụ tìm kiếm trên Header, người dùng có thể tìm nhanh một sản phẩm thông qua tên sản phẩm hoặc mã sản phẩm
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 82
Hình 48 Chi tiết sản phẩm
Chi tiết sản phẩm mà người dùng lựa chọn được trình bày một cách rõ ràng và thẩm mỹ, đảm bảo tính hiển thị tốt trên cả máy tính và thiết bị di động.
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 83
Hình 49 Quản lý loại sản phẩm
Danh sách loại sản phẩm được hiện thị với tên loại, diễn giải, ảnh minh họa và số lượng sản phẩm thuộc loại sản phẩm
Bằng thanh công cụ tìm kiếm trên Header, người dùng dễ dàng tìm nhanh một loại sản phẩm theo tên hoặc theo mã loại sản phẩm
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 84
Hình 50 Quản lý đơn vị tính sản phẩm
Danh sách quản lý đơn vị tính sản phẩm hiển thị trong cài đặt cấu hình sản phẩm bao gồm các thông tin quan trọng như tên đơn vị, số lượng sản phẩm thuộc đơn vị và diễn giải chi tiết.
Bằng thành công cụ tìm kiếm trên Header, người dùng có thể tìm kiếm nhanh đơn vị tính theo tên, mã đơn vị
Hình 51 Quản trị nhóm sản phẩm
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 85
Danh sách nhóm sản phẩm được hiển thị khi lựa chọn cấu hình nhóm sản phẩm tại chức năng Quản trị Sản phẩm
Bằng công cụ tìm kiếm trên Header người dùng hoàn toàn có thể tìm kiếm nhanh một nhóm theo tên nhóm hoặc mã nhóm
4.4.3 Chức năng quản trị Khách hàng
Để quản trị khách hàng, người dùng có thể truy cập vào chuyên mục khách hàng từ Menu bên trái hoặc chọn block Tổng khách hàng trên Dashboard Tại đây, người dùng cũng có thể dễ dàng thêm mới người dùng bằng cách chọn Thêm khách hàng.
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 86
Hình 53 Quản trị Khách hàng
Kết quả từ việc truy cập vào Quản trị khách hàng là một danh sách khách hàng, trong đó hiển thị tóm tắt các thông tin cơ bản.
Bằng thành công cụ tìm kiếm trực tiếp trên Header người dùng có thể tìm nhanh tên của khách hàng với tên khách hàng, số điện thoại,…
Hình 54 Chi tiết thông tin Khách hàng
Chi tiết thông tin khách hàng được tổ thức hiển thị rõ ràng và đầy đủ thông tin đúng như đăng ký
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 87
Hình 55 Quản lý Thêm khách hàng
Người dùng nhập thông tin khách hàng chưa có trong hệ thống và tiến hành xác nhận thêm khách hàng
4.4.4 Chức năng quản trị Nhà cung cấp
Hình 56 Quản trị Nhà cung cấp
Sau khi chọn chuyên mục quản lý nhà cung cấp, hệ thống sẽ hiển thị danh sách các nhà cung cấp kèm theo thông tin cơ bản của từng nhà cung cấp.
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 88
Hình 57 Chi tiết thông tin nhà cung cấp
Chi tiết thông tin nhà cung cấp được thể hiện đầy đủ như thông tin nhân viên đã được nhập vào hệ thống
Hình 58 Thêm nhà cung cấp
Thêm nhà cung cấp thật dễ dàng và nhanh chóng chỉ với một việc duy nhất là điền thông tin và xác nhận gửi đi xử lý
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 89
4.4.5 Chức năng quản trị Bưu cục
Để truy cập hệ thống quản lý bưu cục, người dùng cần chọn chức năng vận chuyển trên thanh Menu bên trái của chương trình.
Hình 60.Quản trị Bưu cục
Sau khi thực hiện lựa chọn tính năng quản lý bưu cục, danh sách bưu cục tồn tại trong hệ thống được hiển thị
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 90
Người dùng có thể nhanh chóng tìm kiếm bưu cục thông qua công cụ tìm kiếm trên Header bằng cách nhập tên, số điện thoại, số fax hoặc địa chỉ của người nhận.
Để thêm một bưu cục, người dùng chỉ cần điền đầy đủ thông tin vào biểu mẫu và thực hiện thao tác thêm bưu cục một cách đơn giản.
Sinh viên thực hiện: Trần Lam Anh – 13D480201016 91
4.4.6 Chức năng quản trị Vận đơn