CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG 1. Lý do thực hiện đề tài Hiện tại ở Việt Nam việc đào tiền ảo còn khá là mới mẻ so với đại đa số mọi người. Hiểu được điều đó, trang web ra đời như một cửa hàng trung gian liên kết giữa thợ đào tiền ảo và các nhà cung cấp máy đào. Trang web hoạt động như một cửa hàng trung gian cung cấp các sản phẩm mới chính hang hoặc qua tay cho thợ đào tiền ảo có nhu cầu với giá bán hợp lý tích hợp các cổng thanh toán dễ sử dụng cho thợ đào như Paypal.
Mục tiêu thực hiện đề tài ➢ Tìm hiểu được phương pháp làm một đề tài đồ án tốt nghiệp theo đúng quy tắc, đúng chuẩn. ➢ Xây dựng được các module quản lý riêng biệt, tìm hiểu sâu hơn các vấn đề và giải quyết chúng một cách chính xác, logic. Triển khai các công việc theo một quá trình nhất định. ➢ Tìm hiểu được cách triển khai và xây dựng một hệ thống.
➢ Ứng dụng phải bảo mật vì nó được sử dụng như một ứng dụng đa người dùng. ➢ Ứng dụng có thể dễ dàng được phát hiện và sửa lỗi khi gặp sự cố bất ngờ từ hệ thống. Nội dung thực hiện Gồm 6 phần: Phân tích yêu cầu, thiết kế (CSDL, giao diện phần mềm…), lập trình hiện thực các yêu cầu, kiểm thử phần mềm, phát hành phần mềm và bảo trì định kì. Phương pháp thực hiện • Phần 1: Phân tích yêu cầu chi tiết.
• Phần 2: Sử dụng công cụ để thiết kế mô hình CSDL, Thiết kế giao diện,.và ghi ra bản mô hình thiết kế một cách hoàn chỉnh. • Phần 3: Sử dụng công nghệ Visual Studio, Visual Studio Code, SQL Server để lập trình hiện thực ứng dụng theo các yêu cầu đã được phân tích. • Phần 4: Kiểm thử phần mềm bằng tay. 5 • Phần 5: Phát hành phần mềm.
• Phần 6: Bảo trì định kì. Công cụ thực hiện 1. Angular Angular là một javascript framework do google phát triển để xây dựng các Single Page Application (SPA) bằng JavaScript, HTML và TypeScript. Angular cung cấp các tính năng tích hợp cho animation, http service và có các tính năng như auto-complete, navigation, toolbar, menus,… Code được viết bằng TypeScript, biên dịch thành JavaScript và hiển thị tương tự trong trình duyệt.
Đặc tính của Angular: • Đa nền tảng • Tốc độ, hiệu năng và hiệu suất • Hỗ trợ phát triển toàn diện Các thành phần chính trong Angular: • Module • Component • Templates • Metadata • Data binding • Directive • Services • Dependency injection 1.NET Framework là một nền tảng lập trình và cũng là một nền tảng thực thi ứng dụng chủ yếu trên hệ điều hành Microsoft Windows được phát triển bởi Microsoft. Các chương trình được viết trên nền .NET Framework sẽ được triển khai trong môi trường phần mềm (ngược lại với môi trường phần cứng) được biết đến với tên Common Language Runtime (CLR). Môi trường phần mềm này là một máy ảo trong đó cung cấp các dịch vụ như an ninh phần mềm (security), quản lý bộ nhớ (memory management), và các xử lý lỗi ngoại lệ (exception handling).NET framework bao gồm tập các thư viện lập trình lớn, và những thư viện này hỗ trợ việc xây dựng các chương trình phần mềm như lập trình giao diện; truy cập, kết nối cơ sở dữ liệu; ứng dụng web; các giải thuật, cấu trúc dữ liệu; giao tiếp mạng. CLR cùng với bộ thư viện này là 2 thành phần chính của.NET framework đơn giản hóa việc viết ứng dụng bằng cách cung cấp nhiều thành phần được thiết kế sẵn, người lập trình chỉ cần học cách sử dụng và tùy theo sự sáng tạo mà gắn kết các thành phần đó lại với nhau.
Nhiều công cụ được tạo ra để hỗ trợ xây dựng ứng dụng.NET, và IDE (Integrated Developement Environment) được phát triển và hỗ trợ bởi chính Microsoft là Visual Studio. Visual studio code Là một trình biên tập lập trình code miễn phí dành cho Windows, Linux và macOS, Visual Studio Code được phát triển bởi Microsoft. Nó được xem là một sự kết hợp hoàn hảo giữa IDE và Code Editor. Visual Studio Code hỗ trợ chức năng debug, đi kèm với Git, có syntax highlighting, tự hoàn thành mã thông minh, snippets, và cải tiến mã nguồn.
Nhờ tính năng tùy chỉnh, Visual Studio Code cũng cho phép người dùng thay đổi theme, phím tắt, và các tùy chọn khác. Một số tính năng của visual studio code: • Hỗ trợ nhiều ngôn ngữ lập trình • Hỗ trợ đa nền tảng • Cung cấp kho tiện ích mở rộng • Kho lưu trữ an toàn • Hỗ trợ web • Lưu trữ dữ liệu dạng phân cấp • Hỗ trợ viết code • Hỗ trợ thiết bị đầu cuối • Màn hình đa nhiệm • Intellisense • Hỗ trợ git • Bình luận 7 1. Mục tiêu đề ra ➢ Ứng dụng sau khi được hoàn thành sẽ giúp người sử dụng hay nói cách khác là khách hàng cần mua máy đào có thể: • Đặt mua máy đào nhanh chóng và tiện dụng • Biết được thông tin máy đào cần mua một cách chi tiết nhất • Dễ dàng trong việc thanh toán đơn hàng, đơn sửa chữa • Dễ dàng yêu cầu sửa chữa khi máy đào gặp sự cố • Theo dõi chính xác trạng thái đơn hàng, trạng thái sửa chữa máy đào • Dễ dàng liên lạc với đội ngũ hỗ trợ trực tuyến • Dễ dàng sử dụng coupon giảm giá • Dễ dàng tìm kiếm, lọc thông tin và xem chi tiết các loại máy có nhu cầu mua • Dễ dàng theo dõi tình trạng sản phẩm ➢ Ứng dụng sau khi được hoàn thành sẽ giúp người quản lý có thể: • Theo dõi chi tiết tình trạng cửa hàng và xuất báo cáo • Quản lý sản phẩm • Quản lý danh mục sản phẩm • Quản lý thuật toán • Quản lý giao dịch • Quản lý phiếu và đơn sửa chữa • Quản lý người dùng • Quản lý đơn vị vận chuyển • Cài đặt trang web 8 CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG WEBSITE 2. Khảo sát và đặc tả yêu cầu 2.
Phần quản lý trong admin • Admin quản lý toàn bộ hoạt động của cửa hàng. • Dashboard quản lý doanh thu cửa hàng, tổng số máy bán, tổng số máy đào hiện có trong cửa hàng, xuất báo cáo doanh số của cửa hàng, biểu đồ thể hiện lượt đặt hàng hằng ngày, bản đồ thể hiện vị trí đặt mua của khách hàng cùng với bảng chi tiết đơn hàng. • Quản lý sản phẩm: Quản lý các thông tin máy đào của cửa hàng. • Quản lý danh mục sản phẩm: Quản lý các thông tin danh mục sản phẩm của cửa hàng.
• Quản lý danh mục thuật toán: Quản lý các thông tin danh mục thuật toán máy đào của cửa hàng. • Quản lý đơn đặt hàng: Quản lý toàn bộ đơn đặt hàng, đơn chưa thanh toán, đang chờ, chưa giao, đang giao, đã giao, hết hạn. Chứa các thông tin như Mã đơn, ID người dùng, tổng phụ, coupon, discount, chi phí vận chuyển, tổng, trạng thái đơn hàng. Admin có thể chỉnh sửa trạng thái đơn hàng.
• Quản lý giao dịch tự động: Quản lý danh sách giao dịch được thực hiện qua các nhà cung cấp dịch vụ thanh toán. Chứa các thông tin như mã thanh toán, thời gian giao dịch, phương thức thanh toán, tổng số tiền đã thanh toán, ID thanh toán. • Quản lý phiếu sửa chữa: Quản lý toàn bộ số phiếu và đơn sửa chữa của khách hàng. Khi chuyển trạng thái phiếu sang đang chờ, đơn sửa chữa sẽ tự động được tạo với thông tin trạng thái mặc định là “Đang chờ” với chi phí sửa chữa để khách hàng thanh toán.
• Quản lý đại lý sửa chữa: Quản lý thông tin đại lý sửa chữa máy đào của cửa hàng. 9 • Quản lý người dùng: Quản lý tài khoản người dùng của cửa hàng. • Quản lý đơn vị vận chuyển: Quản lý các đơn vị vận chuyển sẽ tham gia vào quá trình vận chuyển máy đào của đơn hàng, đơn sửa chữa giữa bên khách hàng và các đại lý. Các thông tin quản lý bao gồm phí trung bình mỗi kilomet (sẽ được tính toán tự động khi khách hàng mua hàng), tên đơn vị, mã định danh đơn vị trong hệ thống, đơn hàng chuyên vận chuyển (Sửa chữa/Đặt hàng), Freeship, … • Cài đặt trang web: Quản lý slide, thông báo ở trang chủ.
Giao diện người dùng • Website trực quan để người dùng dễ sử dụng. • Có thông tin liên hệ, trang về chúng tôi, trang tham gia cùng chúng tôi, tuyên bố từ chối trách nhiệm, chính sách bảo mật. • Font chữ đơn giản, dễ nhìn, màu sắc hài hòa. • An toàn và bảo mật dữ liệu.
• Kiểm tra website có tương thích với các trình duyệt phổ biến hay không. • Cho phép khách hàng xem thông tin chi tiết, lọc tìm kiếm các sản phẩm mà khách hàng quan tâm. • Cho phép khách hàng đăng ký tài khoản. • Cho phép liên hệ với người quản trị qua chat.
Các yêu cầu phi chức năng Bảng 2.1 - Các yêu cầu phi chức năng của ứng dụng Mục Tên yêu cầu Mô tả yêu cầu Giao diện hệ thống phải dễ sử dụng, trực quan, 1 Giao diện thân thiện với người dùng. 2 Tốc độ xử lý Hệ thống phải xử lý nhanh và chính xác. 3 Bảo mật Tính bảo mật và độ an toàn cao. Tương thích với các trình duyệt web 4 Tương thích hiện có.
Phân tích thiết kế hệ thống 2. Các chức năng của hệ thống ➢ Hệ thống quản trị trang web • Quản lý các đơn hàng các giao dịch. • Quản lý danh mục sản phẩm. • Quản lý sản phẩm: Cập nhật thông tin về các sản phẩm.
• Quản lý người dùng, vai trò. ➢ Hệ thống giới thiệu sản phẩm • Hiển thị danh mục của sản phẩm. • Hiển thị thông tin sản phẩm (thông tin sản phẩm, hình ảnh sản phẩm, sản phẩm liên quan.) • Giới thiệu về cửa hàng. • Hiển thị tin tức, bài viết.
• Cho phép đăng ký, đăng nhập, hiển thị thông tin người dùng. • Đăng ký mua hàng, đặt hàng. • Xem danh sách sản phẩm sau khi mua hàng. Các tác nhân của hệ thống Dựa vào mô tả bài toán, ta có thể xác định được các tác nhân chính của hệ thống như sau: ➢ Tác nhân Admin: là người thực hiện các chức năng quản trị hệ thống, tài khoản, khách hàng.
Để thực hiện các chức năng quản trị trong hệ thống tác nhân này bắt buộc phải thực hiện đăng nhập với vai trò quản trị viên. ➢ Tác nhân thành viên khách hàng: có thể thực hiện các chức năng như đăng ký tài khoản, đăng nhập, quản lý thông tin tài khoản, thay đổi thông tin của tài khoản, thay đổi mật khẩu. Tìm kiếm sản phẩm, đặt hàng, xem giỏ hàng, xem hóa đơn. 11 • Chức năng quản lý Bảng 2.