Đồ án: Tìm hiểu Docker và xây dựng ứng dụng - Đặng Anh Khoa (UIT)

Tìm hiểu Docker từ cơ bản đến nâng cao. Hướng dẫn chi tiết cách xây dựng ứng dụng hiệu quả với Docker, container hóa và triển khai dễ dàng.

Trường đại học

Đại học Công nghệ Thông tin

Chuyên ngành

Công nghệ Phần mềm

Người đăng

Ẩn danh

Thể loại

Đồ án 2

2019

156
4
0

Phí lưu trữ

45 Point

Mục lục chi tiết

Lời Cảm Ơn

1. Chương I: Giới Thiệu Đề Tài

1.1. Khảo sát hiện trạng

1.2. Yều cầu hệ thống

1.2.1. Sơ đồ tổ chức hệ thống

1.2.2. Chức năng nhiệm vụ của từng bộ phận

1.2.2.1. Chủ cửa hàng
1.2.2.2. Bộ phận kĩ thuật
1.2.2.3. Bộ phận bán hàng
1.2.2.4. Bộ phận kế toán
1.2.2.5. Bộ phận kho

1.2.3. Danh sách các yêu cầu

1.2.4. Danh sách các biểu mẫu

2. Chương II: Mô Hình UseCase

2.1. Mô hình UseCase

2.2. Danh sách các Actor

2.3. Danh sách các Usecase

2.4. Đặc tả usecase “Đăng nhập”

2.5. Đặc tả usecase “Đăng xuất”

2.6. Đặc tả usecase “Thay đổi mật khẩu”

2.7. Đặc tả usecase “Quản lý sản phẩm”

2.8. Đặc tả usecase “Quản lý loại sản phẩm”

3. Chương III: Phân Tích

3.1. Danh sách các lớp đối tượng và quan hệ

3.2. Mô tả chi tiết từng đối tượng

3.3. Thay đổi mật khẩu

3.4. Quản lý sản phẩm

3.5. Quản lý loại sản phẩm

3.6. Quản lý nhân viên

3.7. Quản lý nhà cung cấp

3.8. Lập báo cáo tồn kho

3.9. Lập báo cáo doanh thu bán hàng

3.10. Lập báo cáo doanh thu đặt hàng online

3.11. Lập báo cáo phiếu chi

3.12. Lập báo cáo sản phẩm

3.13. Quản lý nhập kho

3.14. Quản lý xuất kho

3.15. Quản lý kiểm kho

3.16. Quản lý đặt hàng online

3.17. Quản lý phiếu bảo hành

3.18. Quản lý phiếu chi

4. Chương IV: Thiết Kế Dữ Liệu

4.1. Mô tả chi tiết các thành phần trong sơ đồ logic

5. Chương V: Thiết Kế Kiến Trúc

5.1. Kiến trúc hệ thống

5.2. Mô hình kiến trúc hệ thống

5.2.1. Mô tả chi tiết thành phần trong hệ thống

6. Chương VI: Thiết Kế Giao Diện

6.1. Danh sách các màn hình

6.2. Mô tả chi tiết các màn hình

6.2.1. Trang quản trị (Admin)

6.2.2. Danh sách phiếu bán hàng

6.2.3. Lập phiếu bán hàng

6.2.4. Danh sách phiếu bảo hành

6.2.5. Lập phiếu bảo hành

6.2.6. Danh sách phiếu kiểm kho

6.2.7. Lập phiếu kiểm kho

6.2.8. Lập phiếu nhập kho

6.2.9. Danh sách phiếu xuất kho

6.2.10. Lập phiếu xuất kho

6.2.11. Danh sách phiếu chi

6.2.12. Lập phiếu chi

6.2.13. Danh sách phiếu đặt hàng

6.2.14. Danh sách sản phẩm

6.2.15. Thêm/sửa sản phẩm

6.2.16. Danh sách loại sản phẩm

6.2.17. Thêm/sửa loại sản phẩm

6.2.18. Danh sách nhà cung cấp

6.2.19. Thêm/sửa nhà cung cấp

6.2.20. Danh sách nhân viên

6.2.21. Thêm/sửa nhân viên

7. Chương VII: Kết Luận

7.1. Môi trường phát triển và môi trường triển khai

7.2. Kết quả đạt được

7.3. Hướng phát triển

Tóm tắt

I. Docker là gì Tổng quan về Containerization và Microservices

Docker là một nền tảng mã nguồn mở được sử dụng để phát triển, vận chuyển và chạy các ứng dụng containerized. Nó cho phép đóng gói một ứng dụng và tất cả các phụ thuộc của nó vào một container, đảm bảo rằng ứng dụng sẽ chạy một cách đáng tin cậy trong bất kỳ môi trường nào, từ máy tính cá nhân đến máy chủ sản xuất. Containerization là một hình thức ảo hóa ở cấp hệ điều hành, trong đó mỗi container chứa tất cả các thư viện và phụ thuộc cần thiết để chạy một ứng dụng. Điều này giúp giải quyết các vấn đề về tương thích giữa các môi trường khác nhau. Microservices là một kiến trúc phần mềm trong đó một ứng dụng được cấu trúc như một tập hợp các dịch vụ nhỏ, độc lập, được xây dựng xung quanh các khả năng nghiệp vụ. Mỗi dịch vụ có thể được triển khai, nâng cấp và mở rộng một cách độc lập. Docker là một công cụ quan trọng để triển khai microservices, vì nó cho phép đóng gói và quản lý từng dịch vụ một cách dễ dàng. Theo báo cáo từ Datadog, hơn 50% các tổ chức sử dụng Docker để triển khai ứng dụng của họ, cho thấy sự phổ biến và hiệu quả của công nghệ này.

1.1. Lợi ích của Docker Container cho phát triển phần mềm

Sử dụng Docker container mang lại nhiều lợi ích cho quá trình phát triển phần mềm. Thứ nhất, nó giúp đơn giản hóa việc thiết lập môi trường phát triển, đảm bảo rằng tất cả các thành viên trong nhóm đều sử dụng cùng một môi trường. Thứ hai, nó giúp giảm thiểu các lỗi phát sinh do sự khác biệt giữa các môi trường khác nhau. Thứ ba, nó giúp tăng tốc độ triển khai ứng dụng, vì các container có thể được triển khai một cách nhanh chóng và dễ dàng trên bất kỳ nền tảng nào hỗ trợ Docker. Cuối cùng, nó giúp cải thiện khả năng mở rộng và quản lý ứng dụng, đặc biệt là đối với các ứng dụng microservices. Một nghiên cứu của Red Hat cho thấy rằng các tổ chức sử dụng containerization có thể giảm thời gian triển khai ứng dụng lên đến 70%.

1.2. So sánh Docker với Virtual Machines VMs Ưu điểm vượt trội

Docker containerVirtual Machines (VMs) đều là các công nghệ ảo hóa, nhưng có sự khác biệt lớn về cách hoạt động và hiệu suất. VMs ảo hóa toàn bộ hệ điều hành, trong khi Docker container chỉ ảo hóa các thư viện và phụ thuộc cần thiết cho ứng dụng. Do đó, Docker container nhẹ hơn nhiều so với VMs và khởi động nhanh hơn. Docker container cũng tiêu thụ ít tài nguyên hơn so với VMs, cho phép chạy nhiều container hơn trên cùng một máy chủ. Điều này giúp tăng hiệu quả sử dụng tài nguyên và giảm chi phí. Mặc dù VMs cung cấp mức độ cô lập cao hơn so với Docker container, nhưng Docker container thường đủ an toàn cho hầu hết các ứng dụng. Theo Gartner, việc sử dụng containerization có thể giúp giảm chi phí cơ sở hạ tầng lên đến 40%.

II. Vấn đề thường gặp khi xây dựng ứng dụng với Docker Engine

Mặc dù Docker mang lại nhiều lợi ích, việc xây dựng và triển khai ứng dụng với Docker Engine cũng có thể gặp phải một số vấn đề. Một trong những vấn đề phổ biến nhất là quản lý các phụ thuộc của ứng dụng. Việc đảm bảo rằng tất cả các phụ thuộc đều được đóng gói đúng cách vào Docker image có thể tốn thời gian và dễ xảy ra lỗi. Vấn đề khác là Docker security. Các container có thể chứa các lỗ hổng bảo mật nếu không được cấu hình đúng cách. Việc giám sát và bảo trì Docker container cũng là một thách thức, đặc biệt là đối với các ứng dụng lớn và phức tạp. Cuối cùng, việc điều phối các container trên nhiều máy chủ có thể trở nên khó khăn nếu không có các công cụ orchestration phù hợp. Một nghiên cứu của Sysdig cho thấy rằng hơn 60% các tổ chức sử dụng Docker gặp khó khăn trong việc quản lý và bảo mật container của họ.

2.1. Rủi ro bảo mật Docker Security Cách phòng tránh và khắc phục

Docker security là một vấn đề quan trọng cần được xem xét khi xây dựng và triển khai ứng dụng với Docker. Các container có thể chứa các lỗ hổng bảo mật nếu không được cấu hình đúng cách. Để giảm thiểu rủi ro bảo mật, cần tuân thủ các Docker best practices như sử dụng Docker image từ các nguồn đáng tin cậy, giới hạn quyền truy cập của container, và thường xuyên quét các container để tìm các lỗ hổng bảo mật. Ngoài ra, cần sử dụng các công cụ Docker monitoringDocker logging để phát hiện và phản ứng với các sự cố bảo mật. Theo OWASP, một trong những lỗ hổng bảo mật phổ biến nhất trong Docker container là việc sử dụng các Docker image chứa các phần mềm lỗi thời hoặc chưa được vá.

2.2. Quản lý tài nguyên và hiệu suất Docker Monitoring hiệu quả

Quản lý tài nguyên và hiệu suất là một thách thức khác khi sử dụng Docker. Các container có thể tiêu thụ quá nhiều tài nguyên, gây ảnh hưởng đến hiệu suất của các container khác trên cùng một máy chủ. Để giải quyết vấn đề này, cần sử dụng các công cụ Docker monitoring để theo dõi việc sử dụng tài nguyên của các container và điều chỉnh các giới hạn tài nguyên khi cần thiết. Ngoài ra, cần sử dụng các kỹ thuật tối ưu hóa Docker image như Docker multi-stage build để giảm kích thước của Docker image và cải thiện hiệu suất của container. Theo New Relic, việc sử dụng Docker monitoring có thể giúp giảm thời gian chết của ứng dụng lên đến 50%.

2.3. Khó khăn trong việc xây dựng Docker Networking phức tạp

Docker networking phức tạp là một vấn đề thường gặp khi triển khai các ứng dụng microservices sử dụng Docker. Việc cấu hình network docker để đảm bảo rằng các container có thể giao tiếp với nhau một cách an toàn và hiệu quả có thể tốn thời gian và dễ xảy ra lỗi. Để giải quyết vấn đề này, cần hiểu rõ các khái niệm cơ bản về Docker networking và sử dụng các công cụ hỗ trợ như Docker compose để đơn giản hóa việc cấu hình network docker. Ngoài ra, cần sử dụng các kỹ thuật bảo mật như Docker security để bảo vệ các container khỏi các cuộc tấn công mạng. Theo Cisco, việc cấu hình Docker networking không đúng cách là một trong những nguyên nhân hàng đầu gây ra các sự cố bảo mật trong các ứng dụng containerized.

III. Hướng dẫn xây dựng Dockerfile tối ưu và Docker Compose hiệu quả

Để xây dựng ứng dụng Docker hiệu quả, cần nắm vững các khái niệm về DockerfileDocker compose. Dockerfile là một tệp văn bản chứa các hướng dẫn để xây dựng Docker image. Việc viết Dockerfile tối ưu giúp giảm kích thước của Docker image, tăng tốc độ xây dựng và triển khai, và cải thiện Docker security. Docker compose là một công cụ cho phép định nghĩa và quản lý các ứng dụng đa container. Nó giúp đơn giản hóa việc triển khai và quản lý các ứng dụng microservices sử dụng Docker. Việc sử dụng Docker compose hiệu quả giúp giảm thời gian và công sức cần thiết để triển khai và quản lý các ứng dụng Docker. Theo Docker, việc sử dụng DockerfileDocker compose là hai trong số những Docker best practices quan trọng nhất.

3.1. Bí quyết viết Dockerfile tối ưu Multi Stage Builds và Caching

Việc viết Dockerfile tối ưu là rất quan trọng để xây dựng ứng dụng Docker hiệu quả. Một trong những kỹ thuật quan trọng nhất là sử dụng Docker multi-stage build. Docker multi-stage build cho phép chia quá trình xây dựng Docker image thành nhiều giai đoạn, trong đó mỗi giai đoạn sử dụng một Docker image khác nhau. Điều này giúp giảm kích thước của Docker image cuối cùng, vì chỉ các tệp cần thiết mới được sao chép vào Docker image cuối cùng. Một kỹ thuật khác là sử dụng caching. Docker có thể cache các lớp của Docker image, giúp tăng tốc độ xây dựng. Để tận dụng caching, cần sắp xếp các lệnh trong Dockerfile theo thứ tự từ ít thay đổi đến thay đổi thường xuyên. Theo Google, việc sử dụng Docker multi-stage build có thể giúp giảm kích thước của Docker image lên đến 50%.

3.2. Hướng dẫn sử dụng Docker Compose cho ứng dụng đa Container

Docker compose là một công cụ mạnh mẽ cho phép định nghĩa và quản lý các ứng dụng đa container. Để sử dụng Docker compose, cần tạo một tệp docker-compose.yml chứa các định nghĩa cho các dịch vụ, mạng và volume của ứng dụng. Sau đó, có thể sử dụng lệnh docker-compose up để khởi động ứng dụng và lệnh docker-compose down để dừng ứng dụng. Docker compose cũng cung cấp các tính năng như scaling, load balancing và rolling updates, giúp đơn giản hóa việc quản lý các ứng dụng microservices sử dụng Docker. Theo Microsoft, việc sử dụng Docker compose có thể giúp giảm thời gian triển khai ứng dụng lên đến 60%.

IV. Ứng dụng Docker Hub và Docker Registry trong DevOps và CI CD

Docker HubDocker registry là các dịch vụ lưu trữ và chia sẻ Docker image. Docker Hub là một Docker registry công cộng, cung cấp một kho lưu trữ lớn các Docker image được xây dựng bởi cộng đồng. Docker registry là một dịch vụ riêng tư, cho phép lưu trữ và chia sẻ Docker image trong nội bộ tổ chức. Docker HubDocker registry đóng vai trò quan trọng trong DevOpsCI/CD, vì chúng cho phép tự động hóa việc xây dựng, kiểm tra và triển khai ứng dụng. Việc sử dụng Docker HubDocker registry giúp tăng tốc độ phát triển và triển khai ứng dụng, cải thiện chất lượng ứng dụng và giảm chi phí. Theo JFrog, việc sử dụng Docker registry có thể giúp giảm thời gian CI/CD lên đến 40%.

4.1. Sử dụng Docker Hub để chia sẻ và tải Docker Image dễ dàng

Docker Hub là một nền tảng phổ biến để chia sẻ và tải Docker image. Bất kỳ ai cũng có thể tải lên Docker image của mình lên Docker Hub và chia sẻ chúng với cộng đồng. Để sử dụng Docker Hub, cần tạo một tài khoản và sử dụng lệnh docker push để tải lên Docker image và lệnh docker pull để tải xuống Docker image. Docker Hub cũng cung cấp các tính năng như automated builds, webhooks và collaboration, giúp đơn giản hóa việc quản lý Docker image. Theo GitLab, Docker Hub là một công cụ quan trọng để xây dựng và duy trì một quy trình CI/CD hiệu quả.

4.2. Thiết lập Docker Registry riêng tư Bảo mật và kiểm soát Docker Image

Trong nhiều trường hợp, việc sử dụng một Docker registry riêng tư là cần thiết để bảo mật và kiểm soát Docker image. Docker registry riêng tư cho phép lưu trữ Docker image trong nội bộ tổ chức và giới hạn quyền truy cập vào các Docker image. Có nhiều lựa chọn cho việc thiết lập Docker registry riêng tư, bao gồm sử dụng Docker Trusted Registry, Harbor và Quay. Việc lựa chọn Docker registry phù hợp phụ thuộc vào nhu cầu và yêu cầu của tổ chức. Theo VMware, việc sử dụng Docker registry riêng tư là một Docker best practices quan trọng để bảo vệ tài sản trí tuệ và đảm bảo Docker security.

4.3. Tích hợp Docker vào quy trình CI CD Continuous Integration Continuous Delivery

Tích hợp Docker vào quy trình CI/CD (Continuous Integration/Continuous Delivery) giúp tự động hóa việc xây dựng, kiểm tra và triển khai ứng dụng. Trong quy trình CI/CD, mỗi khi có một thay đổi mã nguồn được đẩy lên repository, một Docker image mới sẽ được xây dựng và kiểm tra. Nếu quá trình kiểm tra thành công, Docker image sẽ được triển khai lên môi trường thử nghiệm hoặc sản xuất. Việc sử dụng Docker trong quy trình CI/CD giúp tăng tốc độ phát triển và triển khai ứng dụng, cải thiện chất lượng ứng dụng và giảm chi phí. Theo CircleCI, việc sử dụng Docker trong quy trình CI/CD có thể giúp giảm thời gian triển khai ứng dụng lên đến 80%.

V. Triển khai Docker Container trên AWS ECS Azure và Google Cloud

Sau khi xây dựng và kiểm tra ứng dụng Docker, cần triển khai nó lên một môi trường sản xuất. Có nhiều lựa chọn cho việc triển khai Docker container, bao gồm AWS ECS, Azure Container InstancesGoogle Kubernetes Engine (GKE). AWS ECS là một dịch vụ điều phối container do Amazon Web Services cung cấp. Azure Container Instances là một dịch vụ container do Microsoft Azure cung cấp. Google Kubernetes Engine (GKE) là một dịch vụ điều phối container do Google Cloud Platform cung cấp. Việc lựa chọn dịch vụ triển khai Docker container phù hợp phụ thuộc vào nhu cầu và yêu cầu của tổ chức. Theo RightScale, AWS ECS, Azure Container InstancesGoogle Kubernetes Engine (GKE) là ba trong số những dịch vụ điều phối container phổ biến nhất.

5.1. Hướng dẫn triển khai Docker Container lên AWS ECS Elastic Container Service

AWS ECS (Elastic Container Service) là một dịch vụ điều phối container do Amazon Web Services cung cấp. Để triển khai Docker container lên AWS ECS, cần tạo một Docker image, tải nó lên Amazon ECR (Elastic Container Registry), tạo một task definition, tạo một cluster và tạo một service. AWS ECS cung cấp các tính năng như auto scaling, load balancing và rolling updates, giúp đơn giản hóa việc quản lý các ứng dụng Docker trên AWS. Theo Amazon, AWS ECS là một lựa chọn tốt cho các tổ chức đã sử dụng các dịch vụ khác của AWS.

5.2. Triển khai Docker Container trên Azure Container Instances Giải pháp nhanh chóng

Azure Container Instances là một dịch vụ container do Microsoft Azure cung cấp. Để triển khai Docker container lên Azure Container Instances, cần tạo một Docker image, tải nó lên Azure Container Registry và tạo một container instance. Azure Container Instances là một lựa chọn tốt cho các ứng dụng đơn giản hoặc các ứng dụng cần được triển khai một cách nhanh chóng. Theo Microsoft, Azure Container Instances là một lựa chọn tốt cho các tổ chức đã sử dụng các dịch vụ khác của Azure.

5.3. Sử dụng Google Kubernetes Engine GKE để Orchestration Container

Google Kubernetes Engine (GKE) là một dịch vụ điều phối container do Google Cloud Platform cung cấp. GKE sử dụng Kubernetes, một nền tảng điều phối container mã nguồn mở, để quản lý và điều phối các Docker container. Để triển khai Docker container lên GKE, cần tạo một Docker image, tải nó lên Google Container Registry và tạo một deployment. GKE cung cấp các tính năng như auto scaling, load balancing và rolling updates, giúp đơn giản hóa việc quản lý các ứng dụng Docker trên Google Cloud Platform. Theo Google, GKE là một lựa chọn tốt cho các tổ chức đã sử dụng các dịch vụ khác của Google Cloud Platform.

VI. Docker Best Practices và Xu hướng phát triển trong tương lai

Để sử dụng Docker hiệu quả, cần tuân thủ các Docker best practices như sử dụng Docker multi-stage build, sử dụng caching, sử dụng Docker compose, sử dụng Docker Hub hoặc Docker registry riêng tư, và tích hợp Docker vào quy trình CI/CD. Trong tương lai, Docker dự kiến sẽ tiếp tục phát triển và trở nên phổ biến hơn. Các xu hướng phát triển chính bao gồm sự phát triển của các công cụ orchestration như Kubernetes, sự phát triển của các công cụ Docker monitoringDocker logging, và sự phát triển của các giải pháp Docker security. Theo RedMonk, Docker là một trong những công nghệ phát triển nhanh nhất trong lịch sử phần mềm.

6.1. Tổng hợp Docker Best Practices Nâng cao hiệu quả và bảo mật

Việc tuân thủ các Docker best practices là rất quan trọng để sử dụng Docker hiệu quả và an toàn. Một số Docker best practices quan trọng bao gồm: Sử dụng Docker multi-stage build để giảm kích thước của Docker image. Sử dụng caching để tăng tốc độ xây dựng. Sử dụng Docker compose để quản lý các ứng dụng đa container. Sử dụng Docker Hub hoặc Docker registry riêng tư để lưu trữ và chia sẻ Docker image. Tích hợp Docker vào quy trình CI/CD để tự động hóa việc xây dựng, kiểm tra và triển khai ứng dụng. Thực hiện Docker monitoring để theo dõi hiệu suất và bảo mật của container. Áp dụng các biện pháp Docker security để bảo vệ container khỏi các cuộc tấn công.

6.2. Xu hướng phát triển Docker Serverless Container và WebAssembly

Trong tương lai, Docker dự kiến sẽ tiếp tục phát triển và trở nên phổ biến hơn. Một trong những xu hướng phát triển chính là serverless container. Serverless container cho phép chạy các container mà không cần quản lý máy chủ, giúp giảm chi phí và tăng tính linh hoạt. Một xu hướng khác là WebAssembly. WebAssembly là một định dạng mã binary portable cho phép chạy các ứng dụng web với hiệu suất gần như native. Việc kết hợp DockerWebAssembly có thể mở ra nhiều cơ hội mới cho việc phát triển ứng dụng. Theo CNCF, serverless containerWebAssembly là hai trong số những công nghệ quan trọng nhất trong tương lai của containerization.

22/09/2025

Trích đoạn nội dung tài liệu

Chương I: Giới Thiệu Đề Tài 1.1 Khảo sát hiện trạng Ngày nay smartphone rất phổ biến nên có rất nhiều của hàng điện thoại di động mọc lên với nhiều quy mô khác nhau. Trong mỗi cửa hàng đều có một cách kinh doanh riêng tuy nhiên về các nghiệp vụ tương đối giống nhau (nhập kho, xuất kho, quản lý sản phẩm, báo cáo,. Các thao tác đề làm trên giấy nên việc sai sót, mất mát dữ liệu và không mang tính tập trung là điều hiểu nhiên. Nắm bắt yêu cầu này nhóm đã lên kế hoạch xây dựng một phần mềm quản lý cửa hàng bán điện thoại di động nhằm đáp ứng những nghiệp vụ cơ bản của các cửa hàng này.

Đây là một dự án không quá nhỏ nên việc xác định tính khả thi của nó rất cần thiết: • Tốc độ phổ biến của smartphone nhanh đến chóng mặt nên rất nhiều người đặt chân vào kinh doanh thị trường này. • Nếu trước kia các cửa hàng tốn nhiều thời gian cho các công đoạn thanh toán, quản lý sản phẩm,. thì nay đã có phần mềm hỗ trợ. • Nếu dự án hoàn thành, sản phẩm sẽ được quản lý dễ dàng và chặc chẽ hơn, các công việc sẽ hoàn thanh nhanh chóng hơn.2 Yều cầu hệ thống 1.1 Sơ đồ tổ chức hệ thống Cửa hàng Bách Khoa Shop kinh doanh các loại điện thoại và linh kiện liên quan (tai nghe, sạc điện thoại, thẻ nhớ) gồm có các bộ phận: 1.2 Chức năng nhiệm vụ của từng bộ phận 1.1 Chủ cửa hàng - Điều hành chung mọi hoạt động của cửa hàng.

- Quản lý và điều hành hoạt động của nhân viên. - Quyết định giá chính thức cho từng loại mặt hàng. - Nhận báo cáo từ các bộ phận khác. - Theo dõi biến động giá cả và đưa ra bảng giá thích hợp cho từng loại hàng.2 Bộ phận kĩ thuật - Kiểm tra sản phẩm và thời hạn bảo hành: khi khách hàng mang hàng tới bảo hành.

Bộ phận kỹ thuật sẽ kiểm tra sản phẩm và thời gian bảo hành của sản phẩm đó, nếu còn trong thời hạn bảo hành thì bộ phận kỹ thuật sẽ lập phiếu bảo hành. - Lập phiếu bảo hành: phiếu tiếp nhận bảo hành có các thông tin của khách hàng, thông tin sản phẩm cần bảo hành, mô tả lỗi, hẹn ngày tới lấy sản phẩm. Trang 3 Trong trường hợp có thay thế linh kiện thì nhân viên có nhiệm vụ liên lạc với khách hàng để báo giá nếu máy đã hết hạn bảo hành. - Chuyển sản phẩm cần bảo hành lên hãng: Nhân viên kỹ thuật sẽ đem sản phẩm về kho và chờ đến đợt chuyển các sản phẩm cần bảo hành về hãng phân phối để sửa chữa.

Sau khi hãng bảo hành xong, hãng phân phối sẽ chuyển lại sản phẩm về cho cửa hàng. - Khi khách hàng tới lấy sản phẩm, bộ phận kỹ thuật sẽ kiểm tra phiếu bảo hành của khách hàng, và trả sản phẩm cho khách hàng.3 Bộ phận bán hàng - Nhận đơn đặt hàng online o Sau khi khách hàng đặt hàng online trên web của cửa hàng (kèm theo các thông tin của khách hàng: tên, số điện thoại, email, địa chỉ,.), nhân viên bán hàng sẽ gọi đến khách hàng để xác nhận thông tin. Nếu thông tin khách hàng đúng, nhân viên này liên hệ nhân viên kho kiểm tra số lượng hàng trong kho có đáp ứng đơn hàng không? Nếu sản phẩm tại của hàng đã hết hoặc không đáp ứng đủ số lượng sản phẩm như hóa đơn đặt hàng online thì nhân viên sẽ liên hệ với khách hàng để thông tin cho khách hàng biết và hẹn ngày giao hàng cho khách hàng. Nếu thỏa thuận thành công thì nhân viên bán hàng sẽ cập nhật tình trạng hàng là đã xác nhận thông tin.

Sau đó, nhân viên bán hàng in hóa đơn, gửi cho nhân viên giao hàng. Khi giao hàng, khách hàng ký tên, trả phí và nhận hoá đơn bản sao. Nhân viên giao hàng quay trở lại cửa hàng, trao tiền và hóa đơn cho nhân viên bán hàng. Trong trường hợp bộ phận bán hàng gọi điện cho khách hàng để xác nhận thông tin đặt hàng không thành công, thì sau 1 ngày, nhân viên bán hàng sẽ huỷ đơn đặt hàng của khách hàng đã đặt.

- Lập hóa đơn bán hàng Trang 4 o Nhân viên bán hàng sẽ giới thiệu sản phẩm cho khách hàng, ghi nhận thông tin đơn hàng, lập đơn hàng, khách hàng thanh toán tiền và nhận hàng. - Lập báo cáo doanh thu bán hàng và đặt hàng online o Nhân viên nhận được yêu cầu xuất các báo cáo bán hàng. o Xuất báo cáo từ phần mềm và in ra.4 Bộ phận kế toán - Thanh toán tiền cho nhà cung cấp ngay khi nhận phiếu nhập kho. - Báo cáo tình hình tài chính lên chủ cửa hàng.

- Căn cứ vào phiếu thu, chi trong tháng, kế toán lập báo cáo tình hình thu chi gửi lên chủ cửa hàng.5 Bộ phận kho - Lập phiếu nhập kho o Khi hàng trong kho hết hoặc không đủ đáp ứng cho khách hàng, nhân viên kho sẽ báo cáo cho chủ cửa hàng để liên hệ với nhà cung cấp. Sau đó chủ cửa hàng sẽ gửi đơn đặt hàng. o Khi có hàng về thì nhân viên kho sẽ kiểm tra chất lượng và số lượng của hàng theo phiếu giao hàng của từng mặt hàng trước khi nhập vào kho. o Nếu chất lượng và số lượng đảm bảo, nhân viên kho sẽ lập 1 phiếu nhập kho, trên phiếu ghi rõ tên nhà cung cấp và các thông tin hàng được nhập.

Sau đó sẽ chuyển phiếu nhập kho sang bộ phận kế toán để thanh toán tiền cho nhà cung cấp. o Trong trường hợp số lượng và chất lượng không đảm bảo yêu cầu, thì nhân viên kho sẽ báo cho chủ cửa hàng. Chủ cửa hàng sẽ thông báo cho nhà cung cấp. Trang 5 o Lập phiếu nhập kho để xác định rằng đã nhận đầy đủ sản phẩm.

- Lập phiếu xuất kho o Khi số lượng sản phẩm hiện có ở cửa hàng không đáp ứng được số lượng mua của khách hàng tại thời điểm đó nhân viên bán hàng sẽ báo cho nhân viên kho để xuất ra số lượng sản phẩm theo yêu cầu. o Nhân viên kho sẽ vào kho và kiểm tra xem có còn đủ số lượng sản phẩm trong kho không. o Nếu còn sản phẩm thì lấy đúng theo số lượng sản phẩm đã yêu cầu và lập phiếu xuất kho. o Nếu số lượng sản phẩm yếu cầu không đủ thì tiến hành từ chối xuất và nhân viên kho sẽ thông báo lại cho nhân viên bán hàng.

- Lập phiếu kiểm kho o Kiểm kê định kỳ hoặc bất kỳ theo yêu cầu của chủ cửa hàng nhằm xác định số lượng hàng thực và số lượng trên phần mềm. - Lập báo cáo thống kê o Nhận yêu cầu từ chủ cửa hàng về báo cáo thông kê tồn kho. o Nhân viên sẽ xuất thông tin của các lần xuất nhập kho và tồn hiện tại. - Lập báo cáo sản phẩm o Nhân viên sẽ lập báo cáo tình trạng của sản phẩm trong kho như: Tên sản phẩm, model name, số lượng tồn, giá bán, giảm giá, tình trạng (Đang kinh doanh hoặc ngừng kinh doanh).3 Danh sách các yêu cầu STT Tên yêu cầu Biểu mẫu Quy định Ghi chú Trang 6 1 Lập hóa đơn bán BM 1 QĐ 1 2 Lập báo cáo bán hàng BM 3 3 Lập phiếu chi BM 4 QĐ 4 4 Lập phiếu nhập kho BM 5 QĐ 5 5 Lập phiếu xuất kho BM 2 QĐ 2 6 Lập phiếu kiểm kho BM 6 QĐ 6 7 Lập báo cáo thống kê BM 7 8 Tiếp nhận nhà cung cấp BM 8 9 Lập phiếu bảo hành BM 9 1.4 Danh sách các biểu mẫu 1.1 Biểu mẫu 1 và quy định 1 BM1 BM1 LẬP HÓA ĐƠN BÁN Ngày lập: … Nhân viên lập: ….

Tên khách hàng: … Số điện thoại: … Ghi chú: … Tổng tiền: … STT Sản phẩm Đơn giá Số lượng Thành tiền 1 2 QĐ 1: Số lượng bán phải lớn hơn 0 và nhỏ hơn hoặc bằng số lượng tồn trong kho. Chỉ cho hủy phiếu bán hàng khi ngày lập phiếu bằng với ngày hiện tại.2 Biểu mẫu 2 và quy định 2 BM2 BM2 LẬP PHIẾU XUẤT KHO Ngày lập: … Nhân viên lập: …. Ghi chú: … Tổng tiền: … STT Sản phẩm Số lượng tồn Số lượng xuất Giá bán Thành tiền 1 2 QĐ2: Số lượng xuất phải lơn hơn 0 và nhỏ hơn hoặc bằng số lượng tồn trong kho. Chỉ cho hủy phiếu xuất kho khi ngày lập phiếu bằng với ngày hiện tại.3 Biểu mẫu 3 và quy định 3 BM3 BM3 LẬP BÁO CÁO BÁN HÀNG Từ ngày: … Đến ngày: … STT Ngày bán Số hóa đơn Tổng tiền 1 2 1.4 Biểu mẫu 4 và quy định 4 BM4 Trang 8 QĐ4: Chỉ cho hủy phiếu chi khi ngày lập phiếu bằng với ngày hiện tại.5 Biểu mẫu 5 và quy định 5 BM4 LẬP PHIẾU CHI Ngày lập: … Nhân viên lập: … Phiếu nhập: … Ghi chú: … Tổng tiền: … BM5 BM5 LẬP PHIẾU NHẬP KHO Ngày lập: … Nhân viên lập: ….

Nhà cung cấp: …. Ghi chú: … Tổng tiền: … STT Sản phẩm Đơn vị tính Số lượng nhập Giá nhập Thành tiền 1 2 QĐ 5: Giá bán của 1 sản phẩm phải được tính theo công thức bình quân gia quyền sau mỗi lần nhập. Chỉ cho hủy phiếu nhập kho khi ngày lập phiếu bằng với ngày hiện tại. Số lượng tồn * Giá trị tồn + Số lượng nhập * Giá nhập Đơn giá bình quân = -------------------------------------------------------------- sau mỗi lần nhập Số lượng tồn + Số lượng nhập Trang 9 1.6 Biểu mẫu 6 và quy định 6 BM6 BM6 LẬP PHIẾU KIỂM KHO Ngày lập: … Nhân viên lập: ….

Ghi chú: … STT Sản phẩm Số lượng hiện có Số lượng kiểm tra 1 2 QĐ 6: Chỉ cho hủy phiếu kiểm kho khi ngày lập phiếu bằng với ngày hiện tại.7 Biểu mẫu 7 và quy định 7 BM 7.1 LẬP BÁO CÁO DOANH THU ĐẶT HÀNG ONLINE Từ ngày: … Đến ngày: … STT Ngày đặt Số hóa đơn Tổng tiền 1 2 BM 7.2 LẬP BÁO CÁO HÀNG HÓA Trạng thái: … STT Tên hàng hóa Tên loại hàng hóa Giá bán Giảm giá 1 Trang 10 2 BM 7.3 LẬP BÁO CÁO PHIẾU CHI Từ ngày: … Đến ngày: … STT Ngày chi Ghi chú Tổng tiền chi 1 2 BM 7.4 LẬP BÁO CÁO TỒN KHO Tháng: … Năm: …. STT Tên hàng Số lượng Số lượng Số lượng Số lượng hóa tồn đầu nhập xuất tồn cuối 1 2 1.8 Biểu mẫu 8 và quy định 8 BM 8 BM8 TIẾP NHẬN NHÀ CUNG CẤP Tên nhà cung cấp: … Địa chỉ: … Số điện thoại: ….

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ