Cuộc cách mạng công nghiệp lần thứ tư đã và đang mang đến cho doanh nghiệp công nghệ những động cơ tăng trưởng mới. Đi kèm với đó là thị trường công nghệ phần mềm thế giới và Việt Nam ngày càng tăng trưởng, trở lên hấp dẫn hơn. Với sự phát triển mạnh mẽ của Công nghệ thông tin và Điện tử viễn thông, các doanh nghiệp đang tiến tới việc số hóa để giải quyết các nghiệp vụ cũng như tăng năng suất, minh bạch trong việc tổ chức sản xuất, quản lý hàng hóa. Nhằm tiến tới sự chuyên nghiệp trong kinh doanh, tạo ra sự tiện lợi tối đa cho nhà cung cấp và doanh nghiệp, cải thiện chất lượng sản phẩm của doanh nghiệp, bên cạnh đó, áp dụng kiến thức đã học vào thực tế, nên trong đồ án tốt nghiệp, nhóm em xin thực hiện đề tài “Xây dựng ứng dụng bán đồ thể thao bằng ngôn ngữ Android” với mục đích nghiên cứu và xây dựng ứng dụng quản lý việc bán hàng của một cửa hàng để tạo ra một hệ thống quản lý dữ liệu các sản phẩm thời trang một cách nhanh chóng và tiện lợi tránh thất thoát trong quá trình hoạt động cũng như nâng cao vị thế cạnh tranh, tiếp cận và tìm kiếm nhiều khách hàng tiềm năng. Nắm bắt được phương pháp làm việc quản lý bán hàng. Xây dựng thành công phần mềm có đầy đủ các chức năng cần thiết và hoạt động hiệu quả, áp dụng công nghệ thông tin vào quản lý các mặt hàng. Trình bày được các vấn đề liên quan đến Android, Java thao tác với MySQL SERVER trong lập trình ứng dụng di động. Phân tích hệ thống chương trình bao gồm giao diện, các user control nhằm đáp ứng nhu cầu người dùng. Triển khai và cài đặt chương trình trong môi trường Android.
GIỚI THIỆU TỔNG QUAN
Lý do chọn đề tài
Cuộc cách mạng công nghiệp lần thứ tư đã và đang mang đến cho doanh nghiệp công nghệ những động cơ tăng trưởng mới Đi kèm với đó là thị trường công nghệ phần mềm thế giới và Việt Nam ngày càng tăng trưởng, trở lên hấp dẫn hơn
Với sự phát triển mạnh mẽ của Công nghệ thông tin và Điện tử viễn thông, các doanh nghiệp đang tiến tới việc số hóa để giải quyết các nghiệp vụ cũng như tăng năng suất, minh bạch trong việc tổ chức sản xuất, quản lý hàng hóa
Nhằm tiến tới sự chuyên nghiệp trong kinh doanh, tạo ra sự tiện lợi tối đa cho nhà cung cấp và doanh nghiệp, cải thiện chất lượng sản phẩm của doanh nghiệp, bên cạnh đó, áp dụng kiến thức đã học vào thực tế, nên trong đồ án tốt nghiệp, nhóm em xin thực hiện đề tài “Xây dựng ứng dụng bán đồ thể thao bằng ngôn ngữ Android” với mục đích nghiên cứu và xây dựng ứng dụng quản lý việc bán hàng của một cửa hàng để tạo ra một hệ thống quản lý dữ liệu các sản phẩm thời trang một cách nhanh chóng và tiện lợi tránh thất thoát trong quá trình hoạt động cũng như nâng cao vị thế cạnh tranh, tiếp cận và tìm kiếm nhiều khách hàng tiềm năng.
Mục tiêu của đề tài
- Nắm bắt được phương pháp làm việc quản lý bán hàng.
- Xây dựng thành công phần mềm có đầy đủ các chức năng cần thiết và hoạt động hiệu quả, áp dụng công nghệ thông tin vào quản lý các mặt hàng.
- Trình bày được các vấn đề liên quan đến Android, Java thao tác với MySQL SERVER trong lập trình ứng dụng di động.
- Phân tích hệ thống chương trình bao gồm giao diện, các user control nhằm đáp ứng nhu cầu người dùng.
- Triển khai và cài đặt chương trình trong môi trường Android.
Giới hạn và phạm vi của đề tài
- Xây dựng được phần mềm sử dụng mô hình MVVM, ứng dụng các thư viện Reactive Extension như RxJava, thao tác với MySQL SERVER trong lập trình phần mềm di động.
- Chương trình tập trung xử lý dữ liệu giải quyết bài toán quản lý bán đồ thể thao.
1.4 Kết quả dự kiến đạt được
- Bản báo cáo đặc tả về phân tích, thiết kế hệ thống.
- Website quản lý bán hàng gồm các phần sau: o Quản lý danh mục. o Quản lý sản phẩm. o Quản lý hóa đơn. o Quản lý khách hàng. o Quản lý khuyến mãi.
- Ứng dụng bán hàng gồm các phần sau: o Trang đăng nhập. o Trang bày bán sản phẩm o Trang danh mục sản phẩm o Trang sản phẩm yêu thích. o Trang chi tiết sản phẩm o Trang giỏ hàng. o Trang tìm kiếm sản phẩm. o Quản lý tài khoản o Trang mua hàng. o Trang thanh toán sản phẩm.
- Xây dựng ứng dụng di động triển khai trên hệ điều hành Android.
KIẾN THỨC NỀN TẢNG
Trình bày về lập trình Android
Hình 2.1: Ngôn ngữ lập trình Android
Lập trình Android là nghề sử dụng các ngôn ngữ lập trình để viết và phát triển các phần mềm Nhằm gia tăng tiện ích cho thiết bị di động, đặc biệt là di động sử dụng hệ điều hành.
Với sự phát triển của di động thông mình như hiện nay thì lập trình Android quả là một ngành rất hot Theo thống kê, hiện nay Android chính là hệ điều hành được sử dụng nhiều nhất Và nếu như bạn đang lo lắng về đối thủ lớn nhất của Android là iOS thì bạn đừng lo lắng Bởi mỗi nền tảng đem lại cho người dung những trải nghiệm riêng Nếu như iOS đem lại cho người quá nhiều khó khăn với độ bảo mật cao Thì Android lại đặc biệt được người dùng yêu thích sử dụng vì tính năng dễ tùy biến và đa dạng hơn Chính vì vậy mà hiện nay nhu cầu tuyển dụng lập trình viên mảng Android tăng cao.
Nền tảng Android là gì?
Android là một hệ điều hành dựa trên nền tảng Linux Nó được thiết kế ra để dành cho các thiết bị di động có màn hình cảm ứng như điện thoại thông minh hay máy tính bảng.
Android có mã nguồn mở và Google phát hành mã nguồn theo Giấy phép Apache Chính mã nguồn mở và những giấy phép không có quá nhiều ràng buộc Đã tạo điều kiện thuận lợi để Android phát triển Các nhà phát triển thiết bị, mạng di động và các lập trình viên nhiệt huyết được điều chỉnh và phân phối Android một cách tự do Thêm vào đó Android còn có một cộng đồng đông đảo các lập trình viên và các chuyên gia có thể chuyên viết các ứng dụng để mở rộng chức năng của thiết bị.
Sự phát triển của Android
Theo thống kế vào năm 2012, sau bốn năm kể từ khi ra mắt có khoảng 700.000 ứng dụng trên Android và số lượt tải ứng dụng từ Google Play Cửa hàng ứng dụng chính của Android, ước tính khoảng 25 tỷ lượt Chỉ trong vòng hơn 10 năm android đã trở thành một hệ điều hành phổ biến trên thế giới Nó đã phát triển bất chấp sự bùng nổ mạnh mẽ của hệ điều iOS của Apple.
Trong khi các thiết bị của Apple phát triển theo chiều hướng mức giá ngày càng tăng Thì các thiết bị Android lại tăng cường mở rộng thị trường toàn cầu Chính điều này đã tạo nên sự khác biệt về các con số Vào thời điểm quý 2 năm 2017, Android chiếm 87,7% thị phần điện thoại thông minh trên toàn thế giới Với tổng cộng 2 tỷ thiết bị đã được kích hoạt và 1,3 triệu lượt kích hoạt mỗi ngày.
Tìm Hiểu cơ chế Data Binding và View Binding
Ràng buộc dạng xem là một tính năng cho phép bạn viết mã tương tác với dạng xem dễ dàng hơn Khi tính năng liên kết dạng xem được kích hoạt trong một mô-đun, nó sẽ tạo ra một lớp liên kết cho mỗi tệp bố cục XML có trong mô-đun đó Một thể hiện của lớp liên kết chứa các tham chiếu trực tiếp đến tất cả các dạng xem có ID trong bố cục tương ứng.
Trong hầu hết các trường hợp, ràng buộc chế độ xem sẽ thay thế findViewById.
Thư viện liên kết dữ liệu là một thư viện hỗ trợ cho phép bạn liên kết các thành phần giao diện người dùng trong bố cục của mình với các nguồn dữ liệu trong ứng dụng của bạn bằng cách sử dụng định dạng khai báo thay vì theo chương trình.
Bố cục thường được định nghĩa trong các hoạt động với mã gọi các phương thức khung giao diện người dùng
Các thành phần ràng buộc trong tệp bố cục cho phép bạn loại bỏ nhiều lệnh gọi khung giao diện người dùng trong các hoạt động của mình, làm cho chúng đơn giản hơn và dễ bảo trì hơn Điều này cũng có thể cải thiện hiệu suất ứng dụng của bạn và giúp ngăn rò rỉ bộ nhớ và các ngoại lệ con trỏ null.
Cách xây dựng chương trình mô hình MVVM
Giới thiệu mô hình Model – View – ViewModel (MVVM)
Kể từ khi Microsoft cho ra mắt hai nền tảng phát triển ứng dụng mới đó là WPF và Silverlight Trên nên tảng đó đã có nhiều thay đổi trong việc xử lý sự kiện và binding dữ liệu, giữa các tầng của ứng dụng với nhau Vì vậy, nảy sinh ra nhu cầu phải có một mô hình phát triển ứng dụng mới phù hợp hơn Do vậy Model – View – ViewModel (MVVM) pattern ra đời và ngày càng trở nên phổ biến, phát triển hơn.
- Mô hình MVVM là gì?
MVVM không phải là framework hay thư viện, api… nó chỉ đơn thuần là hướng dẫn bạn định nghĩa cấu trúc ứng dụng của bạn MVVM được phát triển dựa trên kiến trúc MVP.
Mô hình mvvm cho phép tách biệt dữ liệu (Model), mã thực thi (logic hay ViewModel) và giao diện người dùng (View).
Trong các mô hình truyền thống, chúng ta thường xử lý sự kiện Click và viết mã thực thi trực tiếp ở trên một Button nhưng với mô hình MVVM không cho phép làm điều này.
Trong mô hình MVVM, các điều khiển(control) như Button, ListView, SearchBar, v.v không thể kết buộc trực tiếp đến dữ liệu mà phải thông qua thuộc tính Command – là một thuộc tính kiểu Icommand.
Thành phần giao diện của ứng dụng Tương tự như ở trong mô hình MVC, View là thành phần duy nhất mà người dùng có thể tương tác được trong chương trình, nó chính là thành phần mô tả dữ liệu.
Một điểm khác biệt so với các mô hình khác là View trong mô hình này tích cực hơn.
Nó có khả năng thực hiện các hành vi và phản hồi lại người dùng thông qua tính năng là: binding, command.
Cũng tương tự như trong mô hình MVC Model là các đối tượng giúp truy xuất và thao tác trên dữ liệu thực sự.
Lớp trung gian giữa View và Model ViewModel có thể được xem là thành phần thay thế cho Controller trong mô hình MVC Nó chứa các mã lệnh cần thiết để thực hiện data binding, command.
- Một định nghĩa khác về ViewModel trong MVVM:
ViewModel: Sẽ đảm nhận công việc đồng bộ dữ liệu từ model lên View Mối quan hệ giữa View và View-Model là View sẽ được ánh xạ tới View-Model nhưng View- Model lại không biết thông tin gì về View Nó được ẩn dấu qua cách sử dụng Data- binding và cơ chế của mô hình Observer Một View-Model có thể được ánh xạ từ nhiều View.
Một điểm cần lưu ý: Là trong mô hình MVVM, các tầng bên dưới sẽ không biết được các thông tin gì về tầng bên trên nó ViewModel không hề biết gì về View, một ViewModel có thể được sử dụng cho nhiều View (one-to-many) ViewModel sử dụng Observer design pattern để liên lạc với View (thường được gọi là binding data, có thể là 1 chiều hoặc 2 chiều tùy nhu cầu của ứng dụng).
Cách xây dựng Rest-Api
Hình 2.3: Cách xây dựng Rest-Api
- Cách thức hoạt động của RESTful API:
RESTful API chia nhỏ một transaction ra thành nhiều module nhỏ khác nhau Mỗi một module sẽ giải quyết một phần công việc trong transaction đó Việc chia nhỏ thành các module này giúp các nhà phát triển có thể linh hoạt xử lý hơn Tuy nhiên, việc chia nhỏ này cũng tạo ra không ít thách thức trong quá trình thiết kế RESTful API từ đầu.
RESTful API sử dụng các lệnh để thực hiện tương tác với Resource và RESTful API sử dụng các HTTP method như:
PUT để thay đổi trạng thái hoặc cập nhật trạng thái của Resource Resource có thể là một vật một file hoặc một khối nào đó.
POST được dùng để tạo Resource
DELETE dùng để xóa Resource đó đi.
Nếu là một sinh viên ngành kỹ thuật phần mềm, thế nào, bạn cũng đã từng nghe qua các thầy nói các thao tác cơ bản như: tạo/thêm, đọc, sửa, xóa được viết tắt là CRUD – Create, Read, Update, Delete. Ở thời điểm hiện tại, JSON được rất nhiều lập trình viên sử dụng làm format (định dạng) để viết RESTful API Bạn có thể sử dụng XML cũng được, miễn sao việc này tiện lợi và nhanh nhất đối với bạn.
Thiết kế giao diện với Adobe XD
Hình 2.5: Ứng dụng Adobe XD
Adobe XD (còn được gọi là Adobe Experience Design) là một công cụ chuyên hỗ trợ về thiết kế website và ứng dụng được phát triển bởi Adobe Inc Adobe XD một phần mềm rất hữu ích và hỗ trợ cho những người dùng trong việc thiết kế cũng như tạo nguyên mẫu cho nhiều ứng dụng khác nhau Nói một cách đơn giản thì đây là một phần mềm hỗ trợ rất quan trọng người dùng trong việc thiết kế UX/UI.
Lợi ích khi sử dụng Adobe XD:
- Có thể hiểu thêm được quy trình về xây dựng Wireframe.
- Tạo và thiết kế giao diện cho người dùng về App Mobile/Web/Landing Page nhanh chóng.
- Giao diện Adobe XD ít công cụ, giúp người dùng dễ dàng tìm thấy các công cụ khác trong lúc thao tác hơn những phần mềm khác nên bạn có thể sử dụng cả khi bạn là một người không chuyên.
- Cùng lúc mở nhiều artboard (bản vẽ) cho nhiều giao diện màn hình đáp ứng nhu cầu của bạn việc thiết kế.
- Có giao diện khá tương tự và điều hướng với phần mềm X-Code (công cụ lập trình iOS).
- Sau khi đã hoàn thành thiết kế, bạn có thể chia sẻ trực tuyến với mọi người tiện lợi. Những tính năng nổi bật của phần mềm Adobe XD:
- Published prototype for feedback: Với tính năng này, bạn có thể tạo hoặc chia sẻ liên kết đến cho khách hàng của bạn để họ có thể xem và nhận xét, thêm ý kiến về sản phẩm nhanh chóng, lúc này nếu cần chỉnh sửa cũng vô cùng tiện lợi hơn.
- Bộ dụng cụ UX: Với bộ dụng cụ UX, bạn có thể dễ dàng tạo ra các ứng dụng gốc cho các nền tảng khác Từ đó, bạn có thể truy cập vào các phần tử giao diện người dùng chuẩn, được tìm thấy với từng nền tảng và hình dung ra được ứng dụng của bạn trông như thế nào trong môi trường gốc của nó.
- Repeat Grid: Repeat Grid rất được nhiều người sử dụng Adobe XD ưa thích, bởi bạn có thể tạo một hoặc nhiều đối tượng trong một lần, sau đó click chuột chọn các đối tượng đồng thời kích hoạt Repeat Grid Và lúc này, bạn có thể lặp lại những đối tượng ngay trên cả 2 trục x và y Hơn nữa, bạn còn có thể điều chỉnh giao diện của các đối tượng hoặc khoảng cách giữa các đối tượng dưới dạng nhóm hoặc riêng lẻ.
- Các biểu tượng: Trong Adobe XD, khi các biểu tượng đều hoạt động trên nhiều artboard trong lúc bạn đang sử dụng nhiều đối tượng thì bạn có thể biến đối tượng đó thành một biểu tượng Mọi thay đổi được áp dụng cho đối tượng sẽ được phản ánh ở bất kỳ nơi nào mà nó được sử dụng nằm trong thiết kế của bạn.
- Thư viện Creative Cloud: Với tính năng này, bạn có thể chia sẻ các nội dung như ký tự, hình ảnh, màu sắc và những nội dung khác theo mong muốn của bạn để tạo nội dung cho các dự án Adobe XD của mình tiết kiệm được nhiều thời gian hơn.
- Prototype: Đây là một tính năng xem trước bản vẽ thiết kế web của bạn vô cùng tiện lợi, lúc này bạn sẽ có thể xem được sự hoạt động của các ứng dụng hoặc tạo liên kết giữa các artboard và những đối tượng đại diện cho màn hình trong ứng dụng.
- Sao chép các yếu tố thiết kế từ những bề mặt đã vẽ: Với Adobe XD, ngoài việc bạn có thể tạo thiết kế cho tất cả các màn hình và thiết bị đang có trên thị trường thì phần mềm còn cho phép bạn sao chép các yếu tố thiết kế từ những bề mặt đã vẽ nhanh chóng, phục vụ theo mong muốn của bạn nhanh chóng hơn.
- Xuất nội dung: Sau khi hoàn thành bản thiết kế trên Adobe XD, phần mềm sẽ tự động cung cấp các phiên bản 2x và 3x mà các thiết bị iOS và Android yêu cầu, tùy thuộc vào tùy chọn xuất của bạn và miễn là bạn sử dụng các đối tượng vector, bạn có thể thiết kế theo tỷ lệ 1:1.
Trình bày về ngôn ngữ mô hình hóa UML và công cụ StarUML
- Ngôn ngữ mô hình hóa UML:
Hình 2.6: Ngôn ngữ mô hình hóa UML
UML là viết tắt của “Unified Modeling Language” – là ngôn ngữ mô hình hóa thống nhất, dùng để đặc tả, trực quan hóa và tư liệu hóa phần mềm hướng đối tượng.
UML là một ngôn ngữ mô hình hóa thống nhất có phần chính bao gồm những ký hiệu hình học, được các phương pháp hướng đối tượng sử dụng để thể hiện và miêu tả các thiết kế của một hệ thống Nó là một ngôn ngữ để đặc tả, trực quan hoá, xây dựng và làm sưu liệu cho nhiều khía cạnh khác nhau của một hệ thống có nồng độ phần mềm cao.
UML có thể được sử dụng làm công cụ giao tiếp giữa người dùng, nhà phân tích, nhà thiết kế và nhà phát triển phần mềm Các phần tử của UML:
View (Quan sát): Theo các phương diện khác nhau của hệ thống cần phân tích, thiết kế Dựa vào các quan sát để thiết lập kiến trúc cho hệ thống cần phát triển.
- Use case Case View (Quan sát các ca sử dụng): Mô tả các chức năng, nhiệm vụ của hệ thống Quan sát này thể hiện mọi yêu cầu của hệ thống.
- Logical View (Quan sát logic): Biểu diễn cách tổ chức logic của các lớp và các quan hệ của chúng với nhau.
- Process View (Quan sát tiến trình): Biểu diễn sự phân chia các luồng thực hiện công việc, các lớp đối tượng cho tiến trình và sự đồng bộ giữa các luồng trong hệ thống.
- Component View (Quan sát thành phần): Xác định các mô đun vật lý hay tệp mã chương trình và sự liên hệ giữa chúng để tổ chức thành hệ thống phần mềm.
- Deployment View (Quan sát triển khai): Mô tả sự phân bổ tài nguyên và nhiệm vụ trong hệ thống Nó liên quan đến các tầng kiến trúc của phần mềm.
Diagram (Biểu đồ): Đồ thị biểu diễn đồ họa về tập các phần tử trong mô hình và mối quan hệ của chúng Biểu đồ chứa đựng các nội dung của các quan sát dưới các góc độ khác nhau, một thành phần của hệ thống có thể xuất hiện trong một hay nhiều biểu đồ, có 9 loại biểu đồ khác nhau và được sử dụng kết hợp với nhau trong các trường hợp để cung cấp tất cả các hướng nhìn của một hệ thống.
- Use case Case Diagram (Biểu đồ ca sử dụng): Mô tả sự tương tác giữa các tác nhân ngoài và hệ thống thông qua các ca sử dụng.
- Class Diagram (Biểu đồ lớp): Mô tả cấu trúc tĩnh, mô hình khái niệm bao gồm các lớp đối tượng và các mối quan hệ của chúng trong hệ thống hướng đối tượng.
- Object Diagram (Biểu đồ đối tượng): Là một phiên bản của biểu đồ lớp và thường cũng sử dụng các ký hiệu như biểu đồ lớp.
- Sequence diagram (Biểu đồ trình tự): Thể hiện sự tương tác của các đối tượng với nhau.
- Collaboration Diagram (Biểu đồ cộng tác): Tương tự như biểu đồ trình tự nhưng nhấn mạnh vào sự tương tác của các đối tượng trên cơ sở cộng tác với nhau.
- State Diagram (Biểu đồ trạng thái): Thể hiện chu kỳ hoạt động của các đối tượng, của các hệ thống con và của cả hệ thống.
- Activity Diagram (Biểu đồ hành động): Chỉ ra dòng hoạt động của hệ thống.
- Component diagram (Biểu đồ thành phần): Chỉ ra cấu trúc vật lý của các thành phần trong hệ thống.
- Deployment Diagram (Biểu đồ triển khai): Chỉ ra cách bố trí vật lý các thành phần theo kiến trúc được thiết kế của hệ thống.
- Realization (Hiện thực hoá): Là quan hệ ngữ nghĩa giữa giao diện và lớp;
- Dependency (Phụ thuộc): Là quan hệ ngữ nghĩa giữa hai phần tử, trong đó sự thay đổi của một tử sẽ tác động đến ngữ nghĩa của phần tử phụ thuộc;
- Generalization (Kế thừa): Là quan hệ mô tả sự khái quát hoá mà trong đó một số đối tượng cụ thể (của lớp con) sẽ được kế thừa các thuộc tính, các phương thức của các đối tượng tổng quát (lớp cơ sở);
- Association (Kết hợp): Là quan hệ cấu trúc xác định mối liên kết giữa các lớp đối tượng.
Model element (Các phần tử mô hình): Các khái niệm được sử dụng trong các biểu đồ được gọi là các phần tử mô hình, thể hiện các khái niệm hướng đối tượng quen thuộc Một phần tử mô hình thường được sử dụng trong nhiều biểu đồ khác nhau, nhưng nó luôn luôn có chỉ một ý nghĩa và một kí hiệu.
Phần mềm StarUML là phần mềm mã nguồn mở, có kích thước nhỏ gọn, hỗ trợ thiết kế với hầu hết các ngôn ngữ lập trình phổ biến hiện nay như C++, Java, C#, giao diện thân thiện và là công cụ tuyệt vời hỗ trợ phân tích thiết kế theo hướng UML, hỗ trợ vẽ sơ đồ Use Case, Activity diagrams, Sequence diagrams tốt nhất hiện nay.
NodeJs
NodeJs là một nền tảng (Platform) phát triển độc lập được xây dựng dựng ở trên
Javascript Runtime của Chrome mà chúng ta có thể xây dựng được các ứng dụng mạng một cách nhanh chóng và dễ dàng mở rộng Phần Core bên dưới của Nodejs được viết hầu hết bằng C++ nên cho tốc độ xử lý và hiệu năng khá cao.
Nodejs tạo ra được các ứng dụng có tốc độ xử lý nhanh, real time thời gian thực, áp dụng cho các sản phẩm có lượng truy cập lớn, cần mở rộng nhanh, cần đổi mới công nghệ, hoặc tạo ra các dự án Startup nhanh nhất có thể.
Nodejs chủ yếu được sử dụng để làm Back-end Những ứng dụng nên viết bằng Nodejs:
- Websocket server: Các máy chủ web socket như là Online Chat, Game Server, v.v.
- Fast File Upload Client: là các chương trình upload file tốc độ cao.
- Ad Server: Các máy chủ quảng cáo.
- Cloud Services: các dịch vụ đám mây.
- REStful API: đây là những ứng dụng mà được sử dụng cho các ứng dụng khác thông qua API.
- Any Real-time Data Application: bất kỳ một ứng dụng nào có yêu cầu về tốc độ thời gian thực Micro Services: ý tưởng của micro services là chia nhỏ một ứng dụng lớn thành các dịch vụ nhỏ và kết nối chúng lại với nhau Nodejs làm tốt điều này.
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Khảo sát
Cửa hàng Đại Việt Sport:
- Địa chỉ: 125 Vũ Tông Phan – Thanh Xuân – Hà Nội.
- Website: http://thethaodaiviet.com - http://daivietsport.com.
Công ty CP xuất nhập khẩu Thể Thao Đại Việt được thành lập vào ngày 08/12/2014 tại số 125 Vũ Tông Phan – Thanh Xuân – Hà Nội.Lấy tên của hàng là Daiviet Sport, chuyên cung cấp đa dạng các thiết bị thể thao, bao gồm: thiết bị thể thao tại nhà, thiết bị phòng tập, thiết bị phục hồi chức năng, thiết bị ngoài trời (trường học, sân vườn) … Tập trung vào các dòng sản phẩm chính như: máy chạy bộ, xe đạp tập, xà đơn – xà kép, giàn tạ, bàn bóng bàn Đây đều là những thiết bị chính hãng, giá cả phải chăng và điều quan trọng nhất là phù hợp với đối tượng sử dụng là người Việt Nam.
- Cửa hàng Daiviet Sport có tất cả 10 cơ sở kinh doanh ở TP Hồ Chí Minh và TP Đà Nẵng là hai cơ sở và Hà Nội, Quảng Bình, Hải Phỏng, Quảng Ninh, Nghệ An và Thái Bình có một cơ sở mỗi nơi
- Trụ sở chính và đầu tiên là cơ sở ở Hà Nội, bán các loại sản phẩm đa dạng như thiết bị thể thao tại nhà, thiết bị phòng tập, thiết bị phục hồi chức năng, thiết bị ngoài trời (trường học, sân vườn) … Tập trung vào các dòng sản phẩm chính như: máy chạy bộ, xe đạp tập, xà đơn – xà kép, giàn tạ, bàn bóng bàn.
Lĩnh vực: Kinh doanh – dịch vụ.
Cơ cấu tổ chức: Gồm có 1 quản lý và 2 nhân viên ca sáng, 2 nhân viên ca chiều và tối.
- Nhân viên bán hàng: (Anh) Nguyễn Văn Thế
- Quản lý cửa hàng: (Anh) Nguyễn Xuân Bách
Phỏng vấn nhân viên bán hàng:
- Nhân viên bán hàng: (Anh) Nguyễn Văn Thế
- Nội dung phỏng vấn: Nghiệp vụ và công việc của nhân viên bán hàng
Các câu hỏi như sau:
Câu trả lời của nhân viên
- Cửa hàng mở cửa nhận khách vào 7h30 sáng tất cả các ngày trừ ngày Chủ nhật và các ngày lễ
- Khách đến mua nhiều nhất thường là vào mùa hè đến vì họ bắt đầu có nhiều thời gian hơn và vào mùa đông vì khách á n h à n g c ủ a c ử a h à n g
T h e o a n h t h ì t h ờ i đ cần mua đồ thể thao và đồ dụng tập tại nhà nhiều. i ể m n ả o t r o n g n ă m k h á c h đ ế n m u a n h i ề u n h ấ t
Cửa hàng cung cấp đa dạng các thiết bị thể thao, bao gồm: thiết bị thể thao tại nhà, thiết bị phòng tập, thiết bị phục hồi chức năng, thiết bị ngoài trời Tập trung vào các dòng sản phẩm chính như: máy chạy bộ, xe đạp tập, xà đơn – xà kép, giàn tạ, bàn bóng bàn các đồ hay dụng cụ thể thao trong nhà được tiêu dùng nhiều hơn. n h d o a n h l à g ì
Khách hàng đến cửa hàng sẽ được giới thiệu các sản phẩm hiện đang giảm giá và mới về Khi khách hàng đăng ký thẻ thành viên cần một số thông tin như họ tên, sđt, địa á c h h à n g đ ế n m u a h à n g c ó đ ư ợ c p h ổ b i ế n n h chỉ và khi mua đến sản phẩm thứ năm thì được tặng thêm một phần quà ữ n g ư u đ ã i h o ặ c c á c h đ ă n g k ý t h ẻ t h à n h v i ê n k h ô n g
Các sản phẩm được đổi trả nếu gặp lỗi từ nhà sản xuất và trong vòng 3-7 ngày sau khi mua. p h ẩ m c ủ a n h à s á c h
Khách hàng có thể thanh toán COD, thanh toán trước khi đặt hàng bằng ví điện tử hoặc thẻ tín dụng. h t h ứ c t h a n h t o á n n à o k h i k h á c h đ ặ t h à n g o n l i n e
Khảo sát người tiêu dùng:
- Hình thức phỏng vấn: Khảo sát qua Google form
- Đối tượng phỏng vấn: Người tiêu dùng
- Câu hỏi 1: Khi bạn mua đồ dùng thể thao bạn thường tìm kiếm sản phẩm đó như nào?
- Câu hỏi 2: Nếu bạn có ý định tập thể dục hoặc bạn đang tập thì bạn tập loại thể thao gì?
- Câu hỏi 3: Bạn thích bên nào hơn giữa tập ở phòng tập (hoặc các khu vui chơi) và tập tại nhà?
- Câu hỏi 4: Khi bạn mua một món hàng, bạn có quan tâm nhiều đến bảo hành của sản phẩm không?
- Câu hỏi 5: Khi bạn chơi một môn thể thao thì bao lâu bạn cần thay đổi dụng cụ hoặc cần một dụng cụ mới?
- Câu hỏi 6: Thời điểm nào trong năm bạn chơi thể thao thường xuyên nhất?
- Câu hỏi 7: Khi bạn mua đồ thể thao bạn thường lựa chọn những thương hiệu nào?
3.1.3 Đánh giá ưu, nhược điểm
- Đem lại cho khách hàng nhiều sự lựa chọn khi mua hàng và thanh toán.
- Hiện tại cửa hàng mới bán qua website
- Dịch vụ đặt qua website thì chưa có hình thức thanh toán khi đặt hàng qua web.
3.1.4 Phát biểu bài toán và đề xuất
Quy trình và nghiệp vụ của hệ thống:
- Nghiệp vụ bán hàng thu tiền ngay:
Khi phát sinh nghiệp vụ bán hàng thu tiền ngay, thông thường sẽ phát sinh các hoạt động sau:
+ Khách hàng đến mua hàng, nhân viên bán hàng căn cứ vào như cầu của khách hàng và hỗ trợ tư vấn khách hàng mua sản phẩm.
+ Sau khi khách hàng chọn được sản phẩm theo đúng mong muốn, nhân viên bán hàng lập hóa đơn và thực hiện bàn giao cho khách theo hai cách là giao trực tiếp hoặc ship về nhà theo địa chỉ khách hàng cung cấp.
+ Quản lý cửa hàng ghi nhận đơn hàng và doanh số bán hàng.
+ Nếu khách hàng thanh toán bằng tiền mặt thì nhân viên bán hàng phải ghi hai loại hóa đơn là hóa đơn đỏ và hóa đơn trắng, nếu khách hàng thanh toán bằng thẻ hoặc tài khoản ngân hàng thì sẽ chuyển khoản vào tài khoản công ty và nhân viên xác nhận tại lúc chuyển.
- Hạch toán nghiệp vụ giảm giá:
+ Nếu khách hàng phát hiện sản phẩm lỗi thì sẽ được đổi trả trong 3 -7 ngày, sau 3-7 ngày sẽ tính theo giá đã ghi trong bảo hành.
+ Quản lý cửa hàng duyệt đơn.
+ Nhân viên bán hàng lập hóa đơn giảm giá hàng bán để giao cho khách.
+ Quản lý cửa hàng hạch toán khoản giảm giá hàng bán và ghi vào sổ kế toán.
- Nghiệp vụ hàng bán trả lại:
+ Nếu khách hàng phát hiện sản phẩm mua về không đúng quy cách, chất lượng thị khách hàng trả lại sản phẩm đã mua theo quy định đổi trả của cửa hàng.
+ Khách hàng xuất hàng và hóa đơn trả lại hàng.
+ Nhân viên bán hàng nhận hóa đơn và hàng hóa.
+ Nhân viên bán hàng ghi chú vào hàng hóa.
+ Nhân viên bán hàng căn cứ vào hóa đơn bán hàng do khách vừa trả lại và hoàn tiền cho khách hàng.
+ Mục đích: Cho phép người sử dụng cập nhật thông tin các sản phẩm của cửa hàng. + Các chức năng chính: o Thêm/ xóa sản phẩm. o Cập nhật thông tin sản phẩm.
+ Mục đích: cho phép nhân viên thực hiện được các nghiệp vụ bán hàng như phục vụ khách hàng mua một cách dễ dàng.
+ Các chức năng chính: o Cập nhật thông tin khách hàng. o Đặt sách, thêm sách vào menu. o Tạo hóa đơn. o In hóa đơn. o Tìm kiếm hóa đơn.
- Quản lý báo cáo thống kê
+ Mục đích: cho phép người quản lý tra cứu, báo cáo thống kê doanh thu, nhân viên, khách hàng và số lượng các loại sản phẩm.
+ Các chức năng chính: o Xem các bảng báo cáo, thống kê đã lập. o Tạo báo cáo, thống kê mới. o In báo cáo, thống kê. o Xóa báo cáo, thống kê. o Tìm kiếm các báo cáo, thống kê.
+ Mục đích: cho phép người quản lý và nhân viên quản lý những đơn hàng đã và đang bán, tra cứu, đối soát hóa đơn.
+ Các chức năng chính: o Thống kê được số lượng đơn hàng đã bán ra. o Tạo hóa đơn mới, in hóa đơn. o Cập nhật được số lượng bán ra, nguồn tiền thu về. o Thêm số lượng những sản phẩm được lựa chọn nhiều. o Nắm bắt được thông tin của những khách hàng trước đây.
+ Cho phép người dùng xem và mua hàng tên ứng dụng điện thoại thông minh.
+ Quản lý được tiến độ đơn hàng.
+ Cho phép cập nhật thông tin mua hàng nếu cần thiết.
+ Cho phép lựa chọn nhiều hình thức thanh toán.
- Yêu cầu phi chức năng:
+ Hệ thống hoạt động ổn định.
+ Tốc độ truy cập, truy xuất dữ liệu nhanh và chính xác.
- Dự kiến hệ thống mới
Dựa vào quy trình nghiệp vụ đã tìm hiểu, dự kiến các chức năng sẽ có bao gồm:
- Website quản lý bán hàng (dành cho quản lý) gồm các phần sau: o Quản lý danh mục. o Quản lý sản phẩm. o Quản lý hóa đơn. o Quản lý khách hàng. o Quản lý khuyến mãi.
- Ứng dụng bán hàng (dành cho người dùng) gồm các phần sau: o Trang đăng nhập. o Trang bày bán sản phẩm o Trang danh mục sản phẩm o Trang sản phẩm yêu thích. o Trang chi tiết sản phẩm o Trang giỏ hàng. o Trang tìm kiếm sản phẩm. o Quản lý tài khoản o Trang mua hàng. o Trang thanh toán sản phẩm.
Biểu đồ UC
3.2.1 Biểu đồ UC tổng quát
3.2.2 Biểu đồ UC chi tiết
3.2.2.1 Biểu đồ Usecase quản lý danh mục
Hình 3.1 Biểu đồ UC quản lý danh mục
Bảng 3.1: Đặc tả UC “Thêm danh mục”
Tác nhân sử dụng UC này khi thêm thông tin danh mục sản phẩm mới nhập về vào hệ thống.
Tác nhân chọn chức năng “Thêm danh mục”.
Hệ thống hiển thị form nhập thông tin (id, tên danh mục).
Tác nhân nhập thông tin và chọn lưu.
Hệ thống kiểm tra tính hợp lệ thông tin vừa nhập.
Hệ thống xác nhận và lưu vào cơ sở dữ liệu.
1 Thông tin đưa vào không hợp lệ.
2 Hệ thống hiển thị thông báo lỗi.
Bảng 3.2: Đặc tả UC “Cập nhật danh mục”
Tác nhân sử dụng UC này để sửa các thông tin danh mục
Tác nhân chọn chức năng “Quản lý danh mục”.
Hệ thống hiển thị form chứa danh sách dữ liệu
Tác nhân chọn danh mục sản phẩm cần sửa.
Hệ thống hiển thị chi tiết thông tin về danh mục sản phẩm để tác nhận sửa.
Tác nhân nhập các thông tin cần sửa.
Tác nhân chọn lưu thông tin.
Hệ thống kiểm tra sự hợp lệ, xác nhận của thông tin đưa vào.
Hệ thống lưu thông tin và cơ sở dữ liệu. í n h
1 Thông tin tác nhân nhập không hợp lệ.
2 Hệ thống hiển thị thông báo lỗi.
Bảng 3.3: Đặc tả UC “Xóa danh mục”
Tác nhân sử dụng UC này để thực hiện chức năng xóa danh mục sản phẩm khỏi hệ thống khi nó không được sử dụng.
Tác nhân chọn chức năng “Quản lý danh mục”.
Hệ thống hiển thị form chứa danh n g s ự k i ệ n c h í n h sách dữ liệu.
Tác nhân chọn danh mục cần xóa và click vào nút “Xóa”.
Hệ thống xác nhận thực hiện xóa của tác nhân.
1 Tác nhân hủy bỏ việc xóa danh mục.
2 Hệ thống bỏ qua form xóa và trở về form chính.
3.2.2.2 Biểu đồ Usecase quản lý sản phẩm
Hình 3.2 Biểu đồ UC quản lý sản phẩm Bảng 3.4: Đặc tả UC “Thêm sản phẩm”
Tác nhân sử dụng UC này khi thêm thông tin sản phẩm mới nhập về vào hệ thống.
Tác nhân chọn chức năng “Thêm sản phẩm”.
Hệ thống hiển thị form nhập thông tin (id, tên sản phẩm).
Tác nhân nhập thông tin và chọn lưu.
Hệ thống kiểm tra tính hợp lệ thông tin vừa nhập.
Hệ thống xác nhận và lưu vào cơ sở dữ liệu. i ệ n c h í n h
4 Thông tin đưa vào không hợp lệ.
5 Hệ thống hiển thị thông báo lỗi.
Bảng 3.5: Đặc tả UC “Cập nhật sản phẩm”
Tác nhân sử dụng UC này để sửa các thông tin sản phẩm
Tác nhân chọn chức năng “Quản lý sản phẩm”.
Hệ thống hiển thị form chứa danh sách dữ liệu
Tác nhân chọn sản phẩm cần sửa.
Hệ thống hiển thị chi tiết thông tin về sản phẩm để tác nhận sửa Tác nhân nhập các thông tin cần sửa.
Tác nhân chọn lưu thông tin.
Hệ thống kiểm tra sự hợp lệ, xác nhận của thông tin đưa vào.
Hệ thống lưu thông tin và cơ sở dữ liệu.
4 Thông tin tác nhân nhập không hợp lệ.
5 Hệ thống hiển thị thông báo lỗi.
Bảng 3.6: Đặc tả UC “Xóa sản phẩm”
Tác nhân sử dụng UC này để thực hiện chức năng xóa sản phẩm khỏi hệ thống khi nó không được sử dụng.
Tác nhân chọn chức năng “Quản lý sản phẩm”.
Hệ thống hiển thị form chứa danh sách dữ liệu.
Tác nhân chọn sản phẩm cần xóa và click vào nút “Xóa”.
Hệ thống xác nhận thực hiện xóa của tác nhân.
4 Tác nhân hủy bỏ việc xóa sản phẩm. ồ n g s ự k i ệ n p h ụ
5 Hệ thống bỏ qua form xóa và trở về form chính.
3.2.2.3 Biểu đồ Usecase quản lý khuyến mãi
Hình 3.3 Biểu đồ UC quản lý khuyến mãi
Bảng 3.7: Đặc tả UC “Thêm khuyến mại”
Tác nhân sử dụng UC này khi thêm khuyến mại của sản phẩm mới vào hệ thống.
Tác nhân chọn chức năng “Thêm khuyến mại”.
Hệ thống hiển thị form nhập thông tin
Tác nhân nhập thông tin và chọn lưu.
Hệ thống kiểm tra tính hợp lệ thông tin vừa nhập.
Hệ thống xác nhận và lưu vào cơ sở dữ liệu.
7 Thông tin đưa vào không hợp lệ.
8 Hệ thống hiển thị thông báo lỗi.
Bảng 3.8: Đặc tả UC “Sửa khuyến mại”
Tác nhân sử dụng UC này để sửa các thông tin khuyến mại
Tác nhân chọn chức năng “Quản lý khuyến mại”.
Hệ thống hiển thị form chứa danh sách dữ liệu
Tác nhân chọn khuyến mại cần sửa.
Hệ thống hiển thị chi tiết thông tin về khuyến mại để tác nhân sửa Tác nhân nhập các thông tin cần sửa.
Tác nhân chọn lưu thông tin.
Hệ thống kiểm tra sự hợp lệ, xác nhận của thông tin đưa vào.
Hệ thống lưu thông tin và cơ sở dữ liệu.
7 Thông tin tác nhân nhập không hợp lệ.
8 Hệ thống hiển thị thông báo lỗi.
Bảng 3.9: Đặc tả UC “Xóa khuyến mại”
Tác nhân sử dụng UC này để thực hiện chức năng xóa khuyến mại khỏi hệ thống.
Tác nhân chọn chức năng “Quản lý khuyến mại”.
Hệ thống hiển thị form chứa danh sách dữ liệu.
Tác nhân chọn khuyến mại cần xóa và click vào nút “Xóa”.
Hệ thống xác nhận thực hiện xóa của tác nhân. k i ệ n c h í n h
7 Tác nhân hủy bỏ việc xóa tài khoản.
8 Hệ thống bỏ qua form xóa và trở về form chính.
Bảng 3.10: Đặc tả UC “Xem thông tin chi tiết khuyến mại”
Xem thông tin chi tiết khuyến mại
Tác nhân sử dụng UC này để thực hiện xem chi tiết của khuyến mại của hệ thống.
Tác nhân chọn chức năng “Quản lý khuyến mại”.
Hệ thống hiển thị form chứa danh sách dữ liệu.
Tác nhân chọn vào 1 khuyến mại bất kì để có thể xem thông tin chi tiết của khuyến mại.
3.2.2.4 Biểu đồ Usecase quản lý hóa đơn
Hình 3.4 Biểu đồ UC quản lý hóa đơn. Bảng 3.11: Đặc tả UC “Xem thông tin hoá đơn”
Xem thông tin hoá đơn
Tác nhân sử dụng UC này để thực hiện xem thông tin hoá đơn mà khách hàng đã đặt.
Tác nhân chọn chức năng “Xem thông tin hoá đơn” Hệ thống hiển thị form chứa danh sách dữ liệu.
Bảng 3.12: Đặc tả UC “Thay đổi trạng thái hoá đơn”
Thay đổi trạng thái hoá đơn Tác nhân Quản lý
UC này để thực hiện thay đổi trạng thái hoá đơn.
Tiền điều kiện Đã đăng nhập
Tác nhân chọn chức năng “Thay đổi trạng thái hoá đơn”.
Hệ thống hiển thị form chứa danh sách hoá đơn mà khách hàng đã đặt và có trạng thái là chưa xác nhận.
Tác nhân sẽ đổi trạng thái thành các trạng thái (đã xác nhận hoặc đã đóng gói hoặc đang vận chuyển hoặc huỷ đơn hàng).
Hình 3.5 Biểu đồ UC quản lý hóa đơn.
Bảng 3.13: Đặc tả UC “Xem chi tiết hoá đơn”
Xem chi tiết hoá đơn
Tác nhân sử dụng UC này để thực hiện xem chi tiết hoá đơn mà mình đã đặt.
Tác nhân chọn chức năng “Xem chi tiết hoá đơn” Hệ thống hiển thị form chứa danh sách dữ liệu.
3.2.2.5 Biểu đồ Usecase quản lý tài khoản
Hình 3.6 Biểu đồ UC quản lý tài khoản. Bảng 3.14: Đặc tả UC “Tạo tài khoản”
Tác nhân sử dụng UC này khi thêm thông tin tài khoản về vào hệ thống.
Tác nhân chọn chức năng “Tạo tài khoản”.
Hệ thống hiển thị form nhập thông tin
Tác nhân nhập thông tin và chọn lưu. s ự k i ệ n c h í n h
Hệ thống kiểm tra tính hợp lệ thông tin vừa nhập.
Hệ thống xác nhận và lưu vào cơ sở dữ liệu.
Thông tin đưa vào không hợp lệ.
Hệ thống hiển thị thông báo lỗi.Kết thúc UC.
Bảng 3.15: Đặc tả UC “Sửa tài khoản”
Tác nhân sử dụng UC này để sửa các thông tin tài khoản
Tác nhân chọn chức năng “Quản lý tài khoản”.
Hệ thống hiển thị form chứa danh sách dữ liệu
Tác nhân chọn tài khoản cần sửa.
Hệ thống hiển thị chi tiết thông tin về tài khoản để tác nhân sửa Tác nhân nhập các thông tin cần sửa.
Tác nhân chọn lưu thông tin.
Hệ thống kiểm tra sự hợp lệ, xác nhận của thông tin đưa vào.
Hệ thống lưu thông tin và cơ sở dữ liệu.
Thông tin tác nhân nhập không hợp lệ.
Hệ thống hiển thị thông báo lỗi.Kết thúc UC. k i ệ n p h ụ
Bảng 3.16: Đặc tả UC “Xóa tài khoản”
Tác nhân sử dụng UC này để thực hiện chức năng xóa tài khoản khỏi hệ thống.
Tác nhân chọn chức năng “Quản lý tài khoản”.
Hệ thống hiển thị form chứa danh sách dữ liệu.
Tác nhân chọn tài khoản cần xóa và click vào nút “Xóa”.
Hệ thống xác nhận thực hiện xóa của tác nhân.
11.Tác nhân hủy bỏ việc xóa tài khoản.
12.Hệ thống bỏ qua form xóa và trở về form chính.
Bảng 3.17: Đặc tả UC “Xem thông tin tài khoản”
Xem thôn tin tài khoản
Tác nhân sử dụng UC này để thực hiện xem thông tin của tài khoản của hệ thống.
Tác nhân chọn chức năng “Quản lý tài khoản”.
Hệ thống hiển thị form chứa danh sách dữ liệu.
3.2.2.6 Biểu đồ Usecase quản lý sản phẩm yêu thích
Hình 3.7 Biểu đồ UC quản lý sản phẩm yêu thích.
Bảng 3.11: Đặc tả UC “Thêm sản phẩm yêu thích”
Thêm sản phẩm yêu thích
Người dùng app điện thoại
M ôTác nhân truy cập xem chi tiết sản phẩm, sau đó lựa chọn thao tác thêm sản phẩm yêu thích t ả
Tác nhân truy cập vào ứng dụng Ứng dụng mở, tác nhân ấn vào xem chi tiết sản phẩm, thực hiện các thao tác có thể có
Tác nhân thoát ứng dụng.
Bảng 3.12: Đặc tả UC “Xóa sản phẩm yêu thích”
Xóa sản phẩm yêu thích
Người dùng app điện thoại
Tác nhân truy cập danh sách yêu thích mà mình đã thêm, bấm vào xem chi tiết sản phẩm, sau đó bấm bỏ thích sản phẩm đó
Tác nhân truy cập vào ứng dụng Ứng dụng mở, tác nhân ấn vào xem chi tiết sản phẩm, thực hiện n g s ự k i ệ n c h í n h các thao tác có thể có
Tác nhân thoát ứng dụng.Kết thúc UC. p h ụ
Bảng 3.13: Đặc tả UC “Xem sản phẩm yêu thích”
Xem sản phẩm yêu thích
Người dùng app điện thoại
Tác nhân truy cập danh sách yêu thích mà mình đã thêm, bấm vào xem chi tiết sản phẩm
Tác nhân truy cập vào ứng dụng Ứng dụng mở, tác nhân ấn vào xem chi tiết sản phẩm, thực hiện các thao tác có thể có
Tác nhân thoát ứng dụng.
3.2.2.7 Biểu đồ Usecase quản lý giỏ hàng
Hình 3.8 Biểu đồ UC quản lý giỏ hàng Bảng 3.14: Đặc tả UC “Xem giỏ hàng”
Người dùng app điện thoại
Tác nhân truy cập xem giỏ hàng mà mình đã thêm, bấm vào sản phẩm để xem chi tiết sản phẩm
Tác nhân truy cập vào ứng dụng Ứng dụng mở, tác nhân ấn vào xem giỏ hàng, thực hiện các thao tác có thể có
Tác nhân thoát ứng dụng.
Bảng 3.15: Đặc tả UC “Xóa sản phẩm”
Người dùng app điện thoại
Tác nhân truy cập danh sách sản phẩm trong giỏ hàng đã thêm, thao tác loại sản phẩm ra khỏi giỏ hàng
Tác nhân truy cập vào ứng dụng Ứng dụng mở, tác nhân ấn vào xem giỏ hàng, thực hiện các thao tác xóa sản phẩm
Tác nhân thoát ứng dụng.
Bảng 3.16: Đặc tả UC “Thêm sản phẩm”
Người dùng app điện thoại n
Tác nhân truy cập vào xem cho tiết sản phẩm, thực hiện bấm thêm sản phẩm vào giỏ hàng
Tác nhân truy cập vào ứng dụng Ứng dụng mở, tác nhân bấm vào xem chi tiết sản phẩm, bấm thêm sản phẩm vào trong giỏ hàng nếu muốn
Tác nhân thoát ứng dụng Kết thúc UC.
Bảng 3.17: Đặc tả UC “Mua sản phẩm”
Người dùng app điện thoại
Tác nhân truy cập vào xem giỏ hàng, chọn các sản phẩm muốn mua, bấm mua hàng để chuyển sang trang quản lý hóa đơn
Tác nhân truy cập vào ứng dụng Ứng dụng mở, tác nhân bấm chọn ồ n g s ự k i ệ n c h í n h xem giỏ hàng, chọn các sản phẩm muốn mua, sau đó bấm mua hàng để hệ thống chuyển sang mục đơn hàng
Tác nhân thoát ứng dụng.
Biểu đồ trình tự
3.3.1 Biểu đồ trình tự quản danh mục.
Hình 3.9: Biểu đồ trình tự thêm danh mục
Hình 3.10: Biểu đồ trình tự sửa thông tin danh mục
Hình 3.11: Biểu đồ trình tự xóa danh mục
3.3.2 Biểu đồ trình tự quản lý sản phẩm.
Hình 3.12 Biểu đồ trình tự thêm sản phẩm.
Hình 3.13 Biểu đồ trình tự sửa thông tin sản phẩm.
Hình 3.14 Biểu đồ trình tự xóa sản phẩm 3.3.3 Biểu đồ trình tự quản lý khuyến mãi.
Hình 3.15 Biểu đồ trình tự thêm khuyến mãi.
Hình 3.16 Biểu đồ trình tự sửa khuyến mãi.
Hình 3.17 Biểu đồ trình tự xóa khuyến mãi.
3.3.4 Biểu đồ trình tự quản lý hóa đơn.
Hình 3.18 Biểu đồ trình tự thay đổi trạng thái hóa đơn.
Hình 3.19 Biểu đồ trình tự xem thông tin hóa đơn.
3.3.5 Biểu đồ trình tự quản lý tài khoản.
Hình 3.20 Biểu đồ trình tự thêm tài khoản.
Hình 3.21 Biểu đồ trình tự sửa tài khoản.
Hình 3.22 Biểu đồ trình tự xóa tài khoản.
Hình 3.23 Biểu đồ trình tự đăng ký.
Hình 3.24 Biểu đồ trình tự đăng nhập.
3.3.6 Biểu đồ trình tự quản lý sản phẩm yêu thích.
Hình 3.25 Biểu đồ trình tự thêm sản phẩm yêu thích.
Hình 3.26 Biểu đồ trình tự xóa sản phẩm yêu thích 3.3.7 Biểu đồ trình tự quản lý giỏ hàng.
Hình 3.27 Biểu đồ trình tự thêm sản phẩm vào giỏ hàng.
Hình 3.28 Biểu đồ trình tự xóa sản phẩm vào giỏ hàng.
Hình 3.29 Biểu đồ trình tự mua sản phẩm.
Biểu đồ hoạt động
3.4.1 Biểu đồ hoạt động quản lý danh mục
Hình 3.30: Biểu đồ thêm danh mục
Hình 3.31: Biểu đồ sửa thông tin danh mục
Hình 3.32: Biểu đồ hoạt động xóa danh mục
3.4.2 Biểu đồ hoạt động quản lý sản phẩm
Hình 3.33: Biểu đồ hoạt động thêm sản phẩm
Hình 3.34: Biểu đồ hoạt động sửa sản phẩm
Hình 3.35: Biểu đồ hoạt động xóa sản phẩm 3.4.3 Biểu đồ hoạt động quản lý khuyến mãi
Hình 3.36: Biểu đồ hoạt động thêm khuyến mãi
Hình 3.37: Biểu đồ hoạt động sửa khuyến mãi
Hình 3.38: Biểu đồ hoạt động xóa khuyến mãi
3.4.4 Biểu đồ hoạt động quản lý hóa đơn
Hình 3.39: Biểu đồ hoạt động thay đổi trạng thái hóa đơn
Hình 3.40: Biểu đồ hoạt động xem hóa đơn
Hình 3.41: Biểu đồ hoạt động xem hóa đơn cho người dùng app 3.4.5 Biểu đồ hoạt động quản lý tài khoản
Hình 3.42: Biểu đồ hoạt động thêm tài khoản
Hình 3.43: Biểu đồ hoạt động sửa tài khoản
Hình 3.44: Biểu đồ hoạt động xóa tài khoản
Hình 3.45: Biểu đồ hoạt động đăng nhập
Hình 3.46: Biểu đồ hoạt động đăng ký
3.4.6 Biểu đồ hoạt động quản lý sản phẩm yêu thích
Hình 3.47: Biểu đồ hoạt động thêm sản phẩm yêu thích
Hình 3.48: Biểu đồ hoạt động xóa sản phẩm yêu thích
3.4.7 Biểu đồ hoạt động quản lý giỏ hàng
Hình 3.49: Biểu đồ hoạt động thêm sản phẩm vào giỏ hàng
Hình 3.50: Biểu đồ hoạt động xóa sản phẩm vào giỏ hàng
Biểu đồ trạng thái
Hình 3.52: Biểu đồ trạng thái lớp hóa đơn
Biểu đồ thành phần
Hình 3.53: Biểu đồ thành phần
Biểu đồ triển khai
Hình 3.54: Biểu đồ triển khai
Biểu đồ lớp
Hình 3.55: Biểu đồ lớp 3.8.1 Danh Mục
Bảng 3.18: Mô hình cơ sở dữ liệu “Danh mục”
Tên thuộc tính Kiểu dữ liệu Kích thước Giải thích maDanhMuc int 20 Khóa chính, mã danh mục tenDanhMuc nvarchar 255 Tên danh mục anh nvarchar 255 Hình ảnh
Bảng 3.19: Mô hình cơ sở dữ liệu “Hóa Đơn”
Tên thuộc tính Kiểu dữ liệu Kích thước Giải thích maHoaDon int 20 Khóa chính, mã hóa đơn maGioHang int 20 Khóa phụ, mã giỏ hàng soLuong int 20 Số lượng mua gia int 50 Giá trangThai nvarchar 255 Trạng thái hóa đơn phuongthucTT nvarchar 255 Hình thức thanh toán
Bảng 3.20: Mô hình cơ sở dữ liệu “Tài Khoản”
Tên thuôc tính Kiểu dữ liệu Kích thước Giải thích maTaiKhoan int 20 Khóa chính, mã khách hàng tenKhachHang nvarchar 255 Họ tên sdt nvarchar 255 Số điện thoại diaChi nvarchar 255 Địa chỉ email nvarchar 255 Email anh nvarchar 255 Ảnh matKhau nvarchar 255 Mật khẩu
Bảng 3.21: Mô hình cơ sở dữ liệu “Sản phẩm”
Tên thuôc tính Kiểu dữ liệu Kích thước Giải thích maSanPham int 20 Khóa chính, mã sản phẩm maDanhMuc int 20 Khóa phụ, mã danh mục tenSP Nv archar 255 Tên sản phẩm soLuong int 11 Số lượng giaBan int 50 Giá sản phẩm moTa text Vd: giới thiệu về sách anh nvarchar 255 Ảnh
Bảng 3.23: Mô hình cơ sở dữ liệu “Khuyến mãi”
Tên thuôc tính Kiểu dữ liệu Kích thước Giải thích maKhuyenMai int 20 Khóa chính, mã khuyến mãi maSP int 20 Khóa phụ, mã sản phẩm phanTramKM int 20 Phần trăm khuyến mãi giaSauKM int 50 Giá bán sau khuyến mãi
Mô hình thực thể liên kết
Hình 3.56 Mô hình thực thể liên kết
XÂY DỰNG CHƯƠNG TRÌNH
Xây dựng hệ thống
Hình: Màn hình đăng nhập
Hình: Màn hình trang chủ
Hình: Màn hình sản phẩm yêu thích
Hình: màn hình danh mục sản phẩm
Hình: Màn hình giỏ hàng
Hình: Màn hình cài đặt
Hình: Màn hình chi tiết sản phẩm
Hình: Màn hình xem toàn bộ sản phẩm
Hình: Màn thay đổi thông tin tài khoản
Kiểm thử chương trình
4.2.1 Kiểm thử chức năng đăng nhập
Bảng 4.1 Kịch bản kiểm thử chức năng đăng nhập
Mục đích Các bước thực hiện Dự tính kết quả
Kiểm tra các trường bắt buộc nhập
1 Không nhập trường username(email)
2 Các trường khác nhập hợp lệ.
1 Hiển thị thông báo lỗi.
1 Không nhập trường mật khẩu.
2 Các trường khác nhập hợp lệ.
1 Hiển thị thông báo lỗi.
1 Để trống cả username và mật khẩu
1 Hiển thị thông báo lỗi.
Kiểm tra trường hợp đăng nhập thành công
1 Nhập username/mật khẩu tồn tại trong hệ thống.
Kiểm tra trường hợp đăng nhập không thành công
1 Hiển thị thông báo lỗi: "Tài khoản hoặc mật khẩu của bạn đã bị sai".
ID6 1 Nhập vào username 1 Hiển thị thông Passed đúng
3 Nhấn nút Đăng nhập báo lỗi: "Tài khoản hoặc mật khẩu của bạn đã bị sai".
1 Hiển thị thông báo lỗi: "Tài khoản hoặc mật khẩu của bạn đã bị sai".
1 Nhập trường username toàn ký tự trắng
2 Nhập trường mật khẩu đúng
1 Hiển thị thông báo lỗi: "Tài khoản hoặc mật khẩu của bạn đã bị sai".
2 Nhập ký tự trắng vào mật khẩu
1 Hiển thị thông báo lỗi: "Tài khoản hoặc mật khẩu của bạn đã bị sai".
1 Nhập trường username toàn ký tự trắng
2 Nhập trường mật khẩu toàn các ký tự trắng
1 Hiển thị thông báo lỗi: "Tài khoản hoặc mật khẩu của bạn đã bị sai".
4.2.2 Kịch bản kiểm thử chức năng quản lý tài khoản
Bảng 4.2 Kịch bản kiểm thử chức năng chỉnh sửa thông tin tài khoản
Mục đích Các bước thực hiện Dự tính kết hoạch
Kiểm tra trường nhập email
1 Nhập email chưa tồn tại và đúng cú pháp abc@gmail.com
2 Các trường khác nhập hợp lệ.
1 Nhập email tồn tại trong cơ sở dữ liệu
2 Các trường khác nhập hợp lệ.
1 Hiển thị thông báo lỗi"
2 Các trường khác nhập hợp lệ
1 Hiển thị thông báo lỗi"
1 Nhập kí tự trắng vào trường email
2 Các trường khác nhập hợp lệ
1 Hiển thị thông báo lỗi"
ID5 1 Nhập sai định dạng trường email trong các trường hợp sau:
- Nhập email không có dấu chấm tên miền
1 Hiển thị thông báo lỗi"
- Nhập email thiếu đôi ‘.com’
2 Các trường khác nhập hợp lệ
1 Nhập dữ liệu có chứa các ký tự đặc biệt #$% hoặc nhập email có sử dụng dấu hoà@gmail.com
2 Các trường khác được nhập hợp lệ
1 Hiển thị thông báo lỗi"
1 Nhập email quá 32 ký tự
2 Các trường khác được nhập hợp lệ
1 Hiển thị thông báo lỗi"
Kiểm tra trường nhập số điện thoại
1 Không nhập gì vào trường số điện thoại
2 Các trường khác nhập hợp lệ
1 Hiển thị thông báo lỗi"
1 Nhập kí tự trắng vào trường số điện thoại
2 Các trường khác nhập hợp lệ
1 Hiển thị thông báo lỗi"
ID10 1 Nhập vào trường số điện thoại dữ liệu nhỏ hơn 9 ký tự và lớn hơn 11 ký tự
2 Các trường khác nhập hợp lệ
1 Hiển thị thông báo lỗi"
1 Nhập vào trường số điện thoại các ký tự đặc biệt @, #, $, %, v.v.
2 Các trường khác nhập hợp lệ
1 Hiển thị thông báo lỗi"
1 Nhập vào trường số điện thoại chữ abcde, v.v.
2 Các trường khác nhập hợp lệ
1 Hiển thị thông báo lỗi"
1 Nhập vào trường số điện thoại:
- Dữ liệu toàn kí tự số
- Số ký tự từ 9 - 11 ký tự
2 Các trường khác nhập hợp lệ
Kiểm tra trường nhập địa chỉ
1 Không nhập gì vào trường địa chỉ
2 Các trường khác nhập hợp lệ
1 Hiển thị thông báo lỗi"
1 Nhập kí tự trắng vào trường địa chỉ
2 Các trường khác nhập hợp lệ
1 Hiển thị thông báo lỗi"
ID16 1 Nhập vào trường địa chỉ đúng địa chỉ của mình
1 Hiển thị thông báo lỗi"
2 Các trường khác nhập hợp lệ
1 Nhập các ký tự đặc biệt vào trường địa chỉ như: @, #, v.v.
2 Các trường khác nhập hợp lệ
1 Hiển thị thông báo lỗi"
1 Nhập nội dung quá 32 ký tự
2 Các trường khác nhập hợp lệ
1 Hiển thị thông báo lỗi"
4.2.3 Kịch bản kiểm thử chức năng quản lý sản phẩm
Bảng 4.4 Kịch bản kiểm thử chức năng quản lý sản phẩm
Mục đích Các bước thực hiện Kết quả dự kiến
Kiểm tra thêm sản phẩm 1 Điền thông tin đầy đủ trong các trường
1 Click Add khi chưa nhập thông tin hoặc nhập thiếu thông tin vào các trường
1 Hiển thị thông báo lỗi.
ID3 1 Nhập sai định dạng vào các trường:
- Nhập các ký tự đặc biệt
1 Hiển thị thông báo lỗi.
- Nhập thông tin các trường quá 32 ký tự
1 Nhập các ký tự trắng vào các trường
1 Hiển thị thông báo lỗi.
Kiểm tra chức năng xóa sản phẩm
Kiểm tra chức năng xem sản phẩm
1 Chọn sản phẩm muốn xem
Hiển thị “các sản phẩm trong danh sách”
Kiểm tra chức năng chỉnh sửa thông tin sản phẩm
1 Điền đầy đủ các thông tin cập nhật
1 Để trống nội dung của sản phẩm hoặc không nhập thông tin
1 Hiển thị thông báo lỗi.
ID8 1 Nhập sai định dạng vào các trường:
- Nhập các ký tự đặc biệt
1 Hiển thị thông báo lỗi.
Passed trường quá 32 ký tự
1 Nhập các ký tự trắng vào các trường
1 Hiển thị thông báo lỗi.
4.2.4 Kịch bản kiểm thử chức năng đăng ký
Bảng 4.7 Kịch bản kiểm thử chức năng đăng ký
Mục đích Các bước thực hiện Dự tính kết quả Kết quả đạt được
Kiểm tra trường nhập username
1 Nhập username chưa tồn tại
2 Các trường khác nhập hợp lệ.
Tạo tài khoản thành công Passed
1 Nhập username đã tồn tại
2 Các trường khác nhập hợp lệ.
1 Hiển thị thông báo lỗi: "Đăng ký thất bại".
ID3 1 Không nhập gì vào trường username
2 Các trường khác nhập hợp lệ
1 Hiển thị thông báo lỗi: "Đăng ký thất bại".