CHƯƠNG 1 KHẢO SÁT HỆ THỐNG 1.1 Giới thiệu về cửa hàng Cửa hàng 17 Sneaker chuyên cung cấp các loại giày thể thao, giày thời trang và phụ kiện liên quan. Với mục tiêu phục vụ nhu cầu đa dạng của khách hàng, cửa hàng luôn chú trọng đến chất lượng sản phẩm, mẫu mã đa dạng và dịch vụ khách hàng tận tâm. Tuy nhiên, với sự phát triển của thị trường thương mại điện tử, cửa hàng cần mở rộng sang bán hàng trực tuyến để tăng cường khả năng cạnh tranh và đáp ứng nhu cầu của người tiêu dùng.2 Quy trình quản lý bán hàng Quy trình quản lý bán hàng hiện tại của cửa hàng gồm các bước chính sau: Tiếp nhận đơn hàng: Nhân viên nhận đơn hàng từ khách hàng qua điện thoại hoặc trực tiếp tại cửa hàng. Kiểm tra tồn kho: Kiểm tra số lượng sản phẩm trong kho để đảm bảo đủ hàng cung cấp cho khách hàng.
Xử lý đơn hàng: Nhân viên xác nhận đơn hàng, chuẩn bị hàng hóa và thực hiện giao hàng. Thanh toán: Khách hàng thanh toán bằng tiền mặt hoặc chuyển khoản. Báo cáo doanh thu: Nhân viên lập báo cáo doanh thu hàng ngày, hàng tuần và hàng tháng thông qua Excel.3 Đánh giá hiện trạng Quy trình quản lý hiện tại có một số điểm hạn chế: Thủ công và tốn thời gian: Các bước như kiểm tra tồn kho và lập báo cáo doanh thu chủ yếu thực hiện bằng tay, dẫn đến mất nhiều thời gian và dễ xảy ra sai sót. Khó khăn trong quản lý: Không có hệ thống cảnh báo về tình trạng hàng hóa, gây khó khăn trong việc theo dõi và bổ sung hàng hóa.
Trải nghiệm khách hàng kém: Khách hàng không thể chủ động đặt Lê Hoàng Việt 13 DCCTKH65B Đồ án chuyên ngành Khoa học máy tính hàng online, dẫn đến việc không có đủ thông tin và trải nghiệm mua sắm chưa tốt.4 Yêu cầu đối với hệ thống mới 1.1 Yêu cầu về chức năng Quản lý sản phẩm: Cho phép thêm, sửa, xóa sản phẩm và cập nhật thông tin chi tiết. Quản lý doanh số: Cung cấp các báo cáo doanh thu tự động theo ngày, tuần và tháng. Quản lý đơn hàng: Cho phép thêm, sửa, xóa, tìm kiếm đơn hàng Giỏ hàng: Cho phép thêm, sửa, xóa giỏ hàng Đặt hàng: Cho phép đặt hàng trực tuyến nhanh chóng, khách hàng không phải đến trực tiếp cửa hàng 1.2 Yêu cầu phi chức năng Tính khả dụng: Website cần đảm bảo hoạt động ổn định, không bị gián đoạn trong quá trình sử dụng. Tính bảo mật: Bảo vệ thông tin cá nhân của khách hàng và dữ liệu giao dịch.
Tính mở rộng: Hệ thống cần có khả năng mở rộng để có thể bổ sung thêm tính năng trong tương lai. Tính thân thiện với người dùng: Giao diện website cần dễ sử dụng, dễ dàng tìm kiếm và đặt hàng cho khách hàng. Lê Hoàng Việt 14 DCCTKH65B Đồ án chuyên ngành Khoa học máy tính CHƯƠNG 2 CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ 2.1 Các công nghệ lựa chọn để sử dụng 2.1 HTML HTML là viết tắt của cụm từ Hypertext Markup Language (tạm dịch là Ngôn ngữ đánh dấu siêu văn bản). HTML được sử dụng để tạo và cấu trúc các thành phần trong trang web hoặc ứng dụng, phân chia các đoạn văn, heading, titles, blockquotes… Khi click vào các đường link chúng ta sẽ được dẫn tới nhiều trang khác nhau, và các trang này là một tài liệu HTML.
Một trang HTML như vậy được cấu thành bởi nhiều phần tử HTML nhỏ và được quy định bằng các thẻ tag. Chúng ta có thể phân biệt một trang web được viết bằng ngôn ngữ HTML hay PHP thông qua đường link của nó. Ở cuối trang HTML thường có đuôi là .hml HTML là một loại ngôn ngữ đánh dấu siêu văn bản nên các chức năng của nó cũng xoay quanh yếu tố này. Cụ thể, HTML giúp cấu thành các cấu trúc cơ bản trên một website(chia khung sườn, bố cục các thành phần trang web và góp phần hỗ trợ khai báo các tập tin kĩ thuật số như video, nhạc, hình ảnh Ưu điểm nổi trội nhất và cũng là thế mạnh của HTML là khà năng xây dựng cấu trúc và khiến trang web đi vào quy củ một hệ thống hoàn chỉnh.
HTML chứa những yếu tố cần thiết mà dù website thuộc thể loại nào, giao tiếp với ngôn ngữ lập trình nào để xử lý dữ liệu thì vẫn phải cần đến ngôn ngữ HTML để hiện thị nội dung cho người truy cập 2.2 CSS CSS là chữ viết tắt của Cascading Style Sheets, nó là một ngôn ngữ được sử dụng để tìm và định dạng lại các phần tử được tạo ra bởi các ngôn ngữ đánh dấu (HTML). Nói ngắn gọn hơn là ngôn ngữ tạo phong cách cho trang web. Ta có thể hiểu đơn giản rằng, nếu HTML đóng vai trò định dạng các phần tử trên website như việc tạo ra các đoạn văn bản, các tiêu đề, bảng,…thì CSS sẽ giúp chúng ta có Lê Hoàng Việt 15 DCCTKH65B Đồ án chuyên ngành Khoa học máy tính thể thêm style vào các phần tử HTML đó như đổi bố cục, màu sắc trang, đổi màu chữ, font chữ, thay đổi cấu trúc… Những ưu điểm của CSS: Sử dụng CSS sẽ giúp người dùng không cần thực hiện lặp lại các mô tả cho từng thành phần. CSS giúp người dùng nhiều styles trên một trang web HTML nên khả năng điều chỉnh trang của bạn trở lên tốt hơn.
Nhờ CSS mà mã nguồn của trang web sẽ được tổ chức gọn gàng hơn, trật tự hơn, nội dung trang web sẽ được tách bạch hơn trong việc định dạng hiển thị. CSS tạo ra nhiều kiểu dáng nên có thể được áp dụng với nhiều trang web, từ đó tránh việc lặp lại các định dạng hiển thị.3 JavaScript JavaScript là ngôn ngữ lập trình kịch bản, được sử dụng rộng rãi trong các ứng dụng website Ưu điểm của JS: Chương trỉnh rất dễ học. Những lỗi JavaScript rất dễ phát hiện, từ đó giúp người dùng sửa lỗi một cách nhanh chóng hơn. Những trình duyệt web có thể dịch thông qua HTML mà không cần sử dụng đến một compiler.
JS có thể hoạt động trên nhiều nền tảng, các trình duyệt web khác nhau Được các chuyên gia đánh giá là một loại ngôn ngữ lập trình nhẹ và nhanh hơn nhiều so với các ngôn ngữ lập trình khác. JS còn có thể được gắn trên một số các element hoặc những events của các trang web. Những website có sử dụng JS thì chúng sẽ giúp cho trang web đó có sự tương tác cũng như tăng thêm nhiều trải nghiệm mới cho người dùng. Lê Hoàng Việt 16 DCCTKH65B Đồ án chuyên ngành Khoa học máy tính Người dùng cũng có thể tận dụng JS với mục đích là để kiểm tra những input thay vì cách kiểm tra thủ công thông qua hoạt động truy xuất database.
Giao diện của ứng dụng phong phú với nhiều thành phần như Drag and Drop, Slider để cung cấp đến cho người dùng một Rich Interface (giao diện giàu tính năng). Giúp thao tác với người dùng phía Client và tách biệt giữa các Client với nhau.4 Mô hình MVC MVC là viết tắt của cụm từ “Model- View-Controller “. Đây là mô hình thiết kế được sử dụng trong kỹ thuật phần mềm. MVC là một mẫu kiến trúc phần mềm để tạo lập giao diện người dùng trên máy tính.
MVC chia thành ba phần được kết nối với nhau và mỗi thành phần đều có một nhiệm vụ riêng của nó và độc lập với các thành phần khác.1 Mô hình MVC Mô hình MVC gồm 3 loại chính là thành phần bên trong không thể thiếu khi áp dụng mô hình này: Model: Là bộ phận có chức năng lưu trữ toàn bộ dữ liệu của ứng dụng và là cầu nối giữa 2 thành phần bên dưới là View và Controller. Một model là dữ liệu được sử dụng bởi chương trình. Đây có thể là cơ sở dữ liệu, hoặc file XML bình thường hay một đối tượng đơn giản. Chẳng hạn như biểu tượng hay là một nhân vật trong game.
View: Đây là phần giao diện (theme) dành cho người sử dụng. View là phương tiện hiển thị các đối tượng trong một ứng dụng. Chẳng hạn như Lê Hoàng Việt 17 DCCTKH65B Đồ án chuyên ngành Khoa học máy tính hiển thị một cửa sổ, nút hay văn bản trong một cửa sổ khác. Nó bao gồm bất cứ thứ gì mà người dùng có thể nhìn thấy được.
Controller: Là bộ phận có nhiệm vụ xử lý các yêu cầu người dùng đưa đến thông qua View. Một controller bao gồm cả Model lẫn View. Nó nhận input và thực hiện các update tương ứng. Luồng xử lý trong của mô hình MVC, có thể hình dung cụ thể và chi tiết qua từng bước dưới đây: Khi một yêu cầu của từ máy khách (Client) gửi đến Server.
Thì bị Controller trong MVC chặn lại để xem đó là URL request hay sự kiện. Sau đó, Controller xử lý input của user rồi giao tiếp với Model trong MVC. Model chuẩn bị data và gửi lại cho Controller. Cuối cùng, khi xử lý xong yêu cầu thì Controller gửi dữ liệu trở lại View và hiển thị cho người dùng trên trình duyệt.
Ở đây, View không giao tiếp trực tiếp với Model. Sự tương tác giữa View và Model sẽ chỉ được xử lý bởi Controller Hình 2.2 Luồng xử lý mô hình MVC Ưu điểm MVC Đầu tiên, nhắc tới ưu điểm mô hình MVC thì đó là băng thông (Bandwidth) nhẹ vì không sử dụng viewstate nên khá tiết kiệm băng thông. Việc giảm băng thông giúp website hoạt động ổn định hơn. Kiểm tra dễ dàng hơn: kiểm tra, rà soát lỗi phần mềm trước khi đưa tới tay khách hàng, việc này đảm bảo chất lượng và độ uy tín sản phẩm cao hơn Lê Hoàng Việt 18 DCCTKH65B Đồ án chuyên ngành Khoa học máy tính Dễ dàng duy trì ứng dụng vì các phần tách biệt với nhau.
Sử dụng mô hình MVC chức năng Controller có vai trò quan trọng và tối ưu trên các nền tảng ngôn ngữ khác nhau. Có thể chia nhiều developer làm việc cùng một lúc. Công việc của các developer sẽ không ảnh hưởng đến nhau.5 Responsive Responsive là một thuật ngữ hay tính từ chỉ một website có thể hiển thị và tương thích với mọi trình duyệt(co dãn theo kích thước của trình duyệt) Lợi ích của Responsive: Responsive có tính năng cải thiện SEO, khả năng tương thích tốt. Một website, nhiều device.
Tiết kiệm chi phí tối đa. Bởi chỉ cần thiết kế website Responsive tương thích với tất cả các thiết bị.