Chương 1 giới thiệu về cơ sở lý thuyết cho việc xây dựng website bán hàng trực tuyến. Trước tiên, chương này trình bày một số nghiên cứu về các vấn đề xây dựng website thương mại điện tử, bao gồm các nghiên cứu về các cách thiết kế website, trải nghiệm người dùng, và quản lý dữ liệu. Sau đó, chương này giới thiệu tổng quan về thương mại điện tử, đặc điểm và lợi ích của thương mại điện tử. Cuối cùng, chương này giới thiệu một số phần mềm hỗ trợ được sử dụng để đáp ứng được yêu cầu của đề tài dựng website với ngôn ngữ lập trình Python và phương pháp hướng đối tượng.
CHƯƠN G 2: KHẢO SÁT, MÔ TẢ BÀI TOÁN , PHÂN TÍCH, THIẾT KẾ HỆ THỐN G TẠI SHOP GIÀY MITY Chương 2 trình bày chi tiết về quá trình phân tích, thiết kế, xây dựng và triển khai website bán hàng trực tuyến cho Shop giày MiTy – thành phố Huế. Cấu trúc chương này gồm các bước phân tích yêu cầu, phân tích nghiệp vụ, hệ thống, luợc đồ use-case SVTH: guyễn Văn Vũ 3 Khóa luận tốt nghiệp GVHD: TS. Hà gọc Long CHƯƠN G 3: XÂY DỰN G WEBSITE BÁN HÀN G CHO SHOP GIÀY MITY Chương 3 trình bày chi tiết về quá trình,xây dựng và triển khai website bán hàng trực tuyến cho Shop giày MiTy – thành phố Huế. Cấu trúc chương này gồm các bước phân tích yêu cầu, thiết kế giao diện, quản lý cơ sở dữ liệu, lập trình và triển khai.
N goài ra, chương này cũng trình bày về các tính năng và chức năng của website. Cuối cùng tổng kết và hướng phát triển của shop trong tương lai. SVTH: guyễn Văn Vũ 4 Khóa luận tốt nghiệp GVHD: TS. Hà gọc Long CHƯƠ G 1: CƠ SỞ LÝ LUẬ CHO VIỆC XÂY DỰ G WEBSITE BÁ HÀ G TRỰC TUYẾ 1.
Tổng quan về thương mại điện tử 1. Khái niệm Thương mại điện tử [1], còn được gọi là e-commerce (electronic commerce), được hiểu là quy trình mua bán hàng hóa và dịch vụ qua internet hoặc các mạng máy tính khác. N ó bao gồm các hoạt động như mua sắm trực tuyến, trao đổi thông tin tài chính, quảng cáo sản phNm và dịch vụ trực tuyến, cũng như các hoạt động khác liên quan đến giao dịch thương mại. Đặc điểm của Thương mại điện tử Với vai trò chủ đạo là các sàn giao dịch thương mại điện tử, TMĐT mang những đặc điểm như sau [2]: - Không gian, thời gian TMĐT cho phép người tiêu dùng mua sắm và thực hiện giao diện mọi lúc mọi nơi chỉ cần có kết nối internet.
N gười dùng có thể truy cập vào các cửa hàng trực tuyến để tìm kiếm sản phNm, so sánh giá cả cũng như thực hiện thanh toán một cách nhanh chóng và thuận tiện. Kể cả việc giao hàng cũng được cải thiện, chỉ cần đặt hàng người dùng có thể nhận hàng ngay trong ngày hoặc là có thể sớm hơn. - Tiết kiệm chi phí TMĐT giúp doanh nghiệp cải thiện đáng kể về chi phí nhân lực, mặt bằng, nâng cao hiệu quả sản xuất - Khả năng liên kết và chia sẻ thông tin Do sự phát triển của công nghệ thông tin giúp doanh nghiệp gần hơn với khách hàng. Doanh nghiệp sẽ tiếp nhận được ý kiến của khách hàng về các sản phNm của chính công ty mình.
- Giá cả linh hoạt N gười mua hàng có nhiều sự lựa chọn thông qua các trang mạng điện tử. Họ có thể so sánh sản phNm của các doanh nghiệp với nhau rồi từ đó đưa ra được những quyết định phù hợp với mình. SVTH: guyễn Văn Vũ 5 Khóa luận tốt nghiệp GVHD: TS. Hà gọc Long 1.
Lợi ích của thương mại điện tử Với sự ra đời của TMĐT, đã tạo nên nhiều lợi thế cho cả doanh nghiệp và người dùng [3]: - Thị trường rộng lớn hơn Thương mại điện tử cho phép người sử dụng chỉ cần có thiết bị kết nối mạng có thể mua bất kỳ sản phNm của doanh nghiệp ở trong và ngoài nước. TMĐT giúp người dùng và doanh nghiệp tiếp cận nhau hơn. Khách hàng có thể thực hiện giao dịch ở bất kỳ nơi đâu không giới hạn về thời gian và không gian. tiếp cận khách hàng trên khắp đất nước và trên toàn thế giới.
- Thông tin chi tiết về khách hàng thông qua theo dõi và phân tích Các doanh nghiệp có thể theo dõi số lượng truy cập, lịch sử hành trình của người dùng, trải nghiệm,…. - Phản ứng nhanh với xu hướng tiêu dùng và nhu cầu của thị trường TMĐT cho phép các doanh nghiệp đáp ứng với nhu cầu thị trường một cách nhanh chóng nếu được sắp xếp hợp lý. - Chi phí thấp hơn TMĐT giúp giảm thiểu chi phí liên quan đến bất động sản, thuê mặt bằng, nhân viên,… Giúp doanh nghiệp tiết kiệm chi phí và tăng hiệu quả kinh doanh - N hiều cơ hội hơn để “Bán hàng.” Các trang web Thương mại điện tử tạo ra nhiều không gian để khách có thể có nhiều thông tin hơn như đánh giá, giới thiệu giúp tăng chuyển đổi. - Doanh số bán hàng tăng cùng với sự hài lòng của khách hàng TMĐT giúp sản phNm được bán ra chỉ trong vài giây, nó vừa giúp đáp ứng nhu cầu của khách hàng vừa tăng doanh số bán hàng tạo nên sự hài lòng của khách hàng đối với doanh nghiệp.
- Khả năng mở rộng quy mô (hoặc giảm) nhanh chóng cũng như không giới hạn “Không gian kệ” Các doanh nghiệp khi sử dụng TMĐT có thể tăng hoặc giảm quy mô hoạt động của mình một cách nhanh chóng theo nhu cầu của thị trường. SVTH: guyễn Văn Vũ 6 Khóa luận tốt nghiệp GVHD: TS. Hà gọc Long 1. Tổng quan về Django 1.
Giới thiệu Django Django [4] [5] là một web framework nguồn mở nổi tiếng được viết dựa trên ngôn ngữ Python. Django được ra đời với chức năng đơn giản hóa quá trình làm một website hướng cơ sở dữ liệu hoặc có mức độ phức tạp, giảm thiểu DRY. Django ra mắt vào năm 2005 và đến nay đã phổ biến rộng rãi trên toàn thế giới vì tính thực dụng và tối ưu hoá thời gian phát triển.1: Sơ đồ kỹ thuật O/R Mapping ( guồn: https://viblo.asia/p/object-relational-mapping-djeZ1PQ3KWz) Đối với cơ sở dữ liệu, Django framework sử dụng ORM(Object-relational mapping), là một kỹ thuật chuyển đổi dữ liệu từ các hệ thống không phải là mô hình hướng đối tượng sang các đối tượng trong mô hình hướng đối tượng. Django hỗ trợ chính thức các ngôn ngữ: PostgreSQL, MaridaDB, MySQL, Oracle, SQLite.
Ưu, nhược điểm của Django: N hững ưu điểm của Django [6]: - Batteries included: Hỗ trợ giảm thiểu thời gian phát triển. Hỗ trợ sẵn lớp ORM riêng cho việc xử lý phiên (sessions), truy cập CSDL, đinh tuyến hay cả nền tảng đa ngôn ngữ. N goài ra, còn có hỗ trợ trang quản trị admin giúp trong việc xử lý dữ liệu models. - Bảo mật: Django hỗ trợ ngăn chặn các tấn công thông thường như CSRF, SQL Injection, … SVTH: guyễn Văn Vũ 7 Khóa luận tốt nghiệp GVHD: TS.
Hà gọc Long - Python-inside: Django thừa kế tất cả những lợi thế có trên Python, như nguồn thư viện hỗ trợ rộng lớn hay khả năng tốc độ phát triển cho người phát triển. N hững nhược điểm của Django: - Tốc độ: Với việc dựa trên ngôn ngữ python, không có tốc độ xử lý quá cao; việc định hình kiến trúc thiếu khoa học sẽ dẫn tới việc tốc độ ứng dụng website không được cao. Việc thiết kế kiến trúc tối ưu hoá và có tính mở rộng ngay từ đầu sẽ giảm thiểu rất nhiều vấn đề trong tốc độ. - Thiếu quy ước quy chuNn (Lack of convention): So sánh với các framework khác, mọi thứ trên Django cần phải được xác định rõ ràng, điều này cũng dẫn tới việc làm chậm quá trình phát triển ứng dụng.
Mặt khác, python lại là một hệ ngôn ngữ dựa yêu cầu quy chuNn khá cao. Phương thức hoạt động Django hoạt động [7] [8] dựa trên hướng kiến trúc: Model-Template-View. Một cấu trúc khá tương tự với hướng kiến trúc Model-View-Controller phổ biến.2: Mô hình phương thức hoạt động Django ( guồn: https://ironhackvietnam.vn/django-la-gi/) - Với một website hướng CSDL, trang web sẽ đợi HTTP request (yêu cầu) từ client. Dựa trên request và thông tin nhận được từ dữ liệu POST hoặc GET đưa ra các bước xử lý thông tin phù hợp và trả về dữ liệu hoặc thông báo cho client.
- Một ứng dụng web django sẽ nhóm các bước xử lý trên thành các tập tin khác nhau với mỗi tập tin đảm nhận những xử lý khác nhau những vẫn giữ tính chất liên kết: SVTH: guyễn Văn Vũ 8 Khóa luận tốt nghiệp GVHD: TS. Hà gọc Long - URLs: Dùng để chuyến hướng HTTP request đến các view phù hợp dựa trên URLrequest. URLs có thể tồn tại chuỗi hoặc số quy định trên URL và trả tới các view trên dạng dữ liệu. - View: Gồm các hàm nhận request, xử lý request và trả về HTTP response.
Sau khi nhận yêu cầu, view sẽ truy cập các dữ liệu CSDL cần thiết qua models và trả về resposne cho template với định dạng quy định trên hàm. - Models: Là các đối tượng xác định cấu trúc dữ liệu của ứng dụng và cung cấp các các truy vấn và tương tác xử lý (CRUD) với CSDL đó. - Templates: Là tệp văn bản với các cấu trúc tuỳ chọn (như HTML) dùng để thể hiện nội dung hoặc nhận dữ liệu với client thông qua urls, view và models. Trong việc thiết kế template, Django sử dụng Django-template, gần như tương tự với Jinja- template, một template engine cho python; là một khung thiết kế template với các công cụ có sẵn giúp dễ dàng thiết kế template.
Giới thiệu Python Python [9] là một ngôn ngữ lập trình thông dịch cấp cao với mục đích lập trình đa năng, do Guido van Rossum chế tạo và ra mắt vào 1991. Triết lý thiết kế của python nhắm vào việc dễ dàng đọc hiểu và sử dụng khoảng trắng hợp lý. Python hỗ trợ nhiều mô hình, bao gồm mô hình cấu trúc (đặc biệt là mô hình hướng đối tượng và mô hình hướng chức năng. Python được coi là một ngôn ngữ ‘cốt lõi’ do thư viện tiêu chuNn ở mức toàn diện của nó [10].
Là một ngôn ngữ lập trình đa năng, phạm vi ứng dụng của nó bao phủ rất lớn: Back-end (hoặc server-side) web, phát triển ứng dụng điện thoại, ứng dụng máy tính/phần mềm, xử lý big-data, xử lý trí tuệ nhân tạo, xử lý ảnh, viết scripts cho hệ thống,… Hình 1.3: Biểu tượng ngôn ngữ Python ( guồn: https://businessyield.com/vi/brand-stories/python-logo/) SVTH: guyễn Văn Vũ 9 Khóa luận tốt nghiệp GVHD: TS. Hà gọc Long 1. Mô hình MVC 1. Khái niệm MVC [11] là viết tắt của cụm từ “Model – View – Controller”, là một mô hình kiến trúc phần mềm cung cấp các thành phần để tạo lập và phát triển giao diện ứng dụng web, phần mềm cho người và trên máy tính.