Tải bản đầy đủ (.docx) (15 trang)

BÁO CÁO THỰC TẬP CƠ SỞ ĐỀ TÀI XÂY DỰNG WEBSITE BÁN HÀNG QUẦN ÁO

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (146.71 KB, 15 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>HỌC VIỆN KỸ THUẬT MẬT MÃ</b>

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO THỰC TẬP CƠ SỞĐỀ TÀI:

<b>XÂY DỰNG WEBSITE BÁN HÀNG QUẦN ÁO</b>

<i><b>Cán bộ hướng dẫn: </b></i>

<b>ThS. Nguyễn Văn Phác</b>

<i><b>Sinh viên thực hiện: </b></i>

<b>- Lê Văn Trọng AT180046- Bùi Đức Trung AT180447- Phạm Minh Đức AT180401</b>

<i><b>Lớp: L02</b></i>

<b>Hà Nội, 2024</b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>HỌC VIỆN KỸ THUẬT MẬT MÃ </b>

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO THỰC TẬP CƠ SỞĐỀ TÀI:

<b>XÂY DỰNG WEBSITE BÁN HÀNG QUẦN ÁO</b>

<small>Nhận xét của cán bộ hướng dẫn:...</small>

<small>Điểm chuyên cần:...</small>

<small>Điểm báo cáo:...</small>

<b>Xác nhận của cán bộ hướng dẫn</b>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>MỤC LỤCBẢNG KÝ HIỆUDANH MỤC BẢNG BIỂU</b>

<b>DANH MỤC HÌNH VẼLỜI CẢM ƠNLỜI NÓI ĐẦU</b>

Trong thời đại bùng nổ thông tin, mạng Internet đã trở thành một phần củac̣c sống hiện đại và ngày càng đóng vai trị quan trọng đối với con người,chúng ta có thể thấy được Internet đã và đang chi phối hầu như mọi lĩnh vực củac̣c sống từ kinh tế, giải trí đến giáo dục và trong lĩnh vực y tế, v.v.

Cùng với sự phát triển nhanh chóng của xã hợi thì nhu cầu mua sắm trựctuyến ngày càng gia tăng, do sự tiện lợi, nhanh chóng và đa dạng về mẫu mã, giácả. Tuy nhiên, nhiều website bán hàng quần áo hiện nay vẫn cịn gặp nhiều bấtcập, khiến khách hàng khơng hài lịng như: Khó khăn trong việc tìm kiếm sảnphẩm: Việc phân loại sản phẩm chưa khoa học, chức năng tìm kiếm chưa hiệuquả khiến khách hàng tốn nhiều thời gian để tìm kiếm sản phẩm ưng ý. Hình ảnhsản phẩm chưa chân thực: Hình ảnh sản phẩm khơng được đầu tư, thiếu chi tiết,hoặc do chụp qua camera thường nên không thể hiện đầy đủ chất lượng sảnphẩm, khiến khách hàng hoang mang, lo lắng khi mua hàng. Chính sách muahàng, đổi trả phức tạp: Quy trình mua hàng, đổi trả sản phẩm rườm rà, thủ tụcphức tạp khiến khách hàng nản lòng. Hỗ trợ khách hàng chưa chu đáo: Nhânviên tư vấn thiếu chuyên nghiệp, trả lời tin nhắn chậm, không giải đáp được thắcmắc của khách hàng.

Nhằm giải quyết những vấn đề trên, nhóm chúng em đã quyết định lựa

<b>chọn đề tài “xây dựng website bán hàng quần áo” với mục đích: Mang đến</b>

cho khách hàng trải nghiệm mua sắm trực tuyến tiện lợi, nhanh chóng và antoàn. Cung cấp đa dạng các mẫu mã quần áo thời trang, chất lượng cao với giácả cạnh tranh. Đảm bảo hình ảnh sản phẩm chân thực, rõ nét, kèm theo mô tả chitiết để khách hàng dễ dàng lựa chọn. Có chính sách mua hàng, đổi trả rõ ràng,minh bạch, thuận tiện cho khách hàng. Hỗ trợ khách hàng 24/7, giải đáp mọithắc mắc của khách hàng một cách nhanh chóng và hiệu quả.

Ngồi phần mở đầu, kết luận và tài liệu tham khảo, báo cáo được chia làm3 chương, với các nội dung sau:

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<b>Chương 1: Phân tích yêu cầu hệ thống: Giới thiệu tổng quan về hệ thống</b>

ứng dụng quản lý phòng khám nhi trên nền tảng di động. Xác định các yêu cầuchức năng và phi chức năng của hệ thống. Liệt kê các công nghệ được sử dụngđể xây dựng ứng dụng.

<b>Chương 2: Phân tích và thiết kế hệ thống: Trình bày các bước chính</b>

trong quá trình phân tích và thiết kế hệ thống, bao gồm: Biểu đồ use case tổngquát. Phân rã các biểu đồ use case. Các biểu đồ tuần tự tương ứng. Thiết kế cơsở dữ liệu cho hệ thống.

<b>Chương 3: Triển khai hệ thống: Giới thiệu tổng quan về các bước triển</b>

khai hệ thống. Giới thiệu một số giao diện của hệ thống.

Mặc dù đã hoàn thành các mục tiêu cơ bản đề ra, nhưng do thời gian thựchiện ngắn nên không thể tránh khỏi những thiếu sót. Nhóm chúng tơi rất mongnhận được sự góp ý q báu từ thầy cơ để hồn thiện đề tài này mợt cách tốtnhất.

<b>NHĨM THỰC HIỆN ĐỀ TÀI</b>

<b>Lê Văn TrọngBùi Đức TrungPhạm Minh Đức</b>

<b>CHƯƠNG 1. PHÂN TÍCH YÊU CẦU HỆ THỐNG XÂY DỰNG WEBSITE BÁN HÀNG QUẦN ÁO</b>

<b>1.1. Tổng quan hệ thống website bán hàng quần áo1.2. Yêu cầu hệ thống</b>

<b>1.2.1. Yêu cầu chức năng</b>

<b>a. Hệ thống quản lý sản phẩm:</b>

 Cho phép thêm, sửa, xóa sản phẩm.

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

 Quản lý danh mục sản phẩm, phân loại theo loại sản phẩm, thương hiệu, kiểu dáng, giá cả.

 Cập nhật hình ảnh sản phẩm, mơ tả chi tiết, giá cả, kích thước, chất liệu.

 Quản lý kho hàng, theo dõi số lượng sản phẩm còn lại.

<b>b. Hệ thống quản lý đơn hàng:</b>

 Tiếp nhận đơn hàng từ khách hàng.

 Xử lý đơn hàng: xác nhận đơn hàng, đóng gói, giao hàng, cập nhật trạng thái đơn hàng.

 Quản lý thông tin khách hàng: tên, địa chỉ, số điện thoại, email. Theo dõi lịch sử mua sắm của khách hàng.

<b>e. Hệ thống quản lý nội dung:</b>

 Cập nhật tin tức, bài viết, hình ảnh về thương hiệu, sản phẩm, xuhướng thời trang.

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

 Theo dõi doanh thu, lượt truy cập, hiệu quả hoạt động của website.

 Báo cáo doanh thu theo sản phẩm, theo danh mục, theo thời gian.

 Báo cáo số lượng khách hàng, lượt truy cập theo kênh.

<b>h. Tìm kiếm và lọc sản phẩm:</b>

 Cho phép khách hàng tìm kiếm sản phẩm theo tên, theo danh mục, theo thương hiệu, theo giá cả, theo kích thước, theo chất liệu.

 Lọc sản phẩm theo nhiều tiêu chí cùng lúc.

 Sắp xếp sản phẩm theo giá cả, theo độ mới, theo mức độ phổ biến.

<b>i. Giỏ hàng:</b>

 Cho phép khách hàng thêm sản phẩm vào giỏ hàng. Cập nhật số lượng sản phẩm trong giỏ hàng.

 Tính toán tổng giá trị đơn hàng.

 Lưu trữ giỏ hàng để khách hàng có thể mua sắm sau.

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>1.2.1. Yêu cầu phi chức nănga. Hiệu suất:</b>

 <b>Tốc độ tải trang nhanh: Website cần tải trang nhanh chóng để </b>

thu hút và giữ chân khách hàng.

 <b>Khả năng xử lý lượng truy cập cao: Website cần có khả năng </b>

xử lý lượng truy cập lớn, đặc biệt trong các đợt cao điểm. <b>Khả năng mở rộng: Website cần có thể mở rợng dễ dàng khi </b>

lượng truy cập và dữ liệu tăng lên.

<b>b. Khả dụng:</b>

 <b>Hệ thống phải sẵn sàng 24/7: Website cần sẵn sàng phục vụ </b>

khách hàng mọi lúc mọi nơi.

 <b>Thời gian chết tối thiểu: Website cần hạn chế tối đa thời gian </b>

chết để đảm bảo trải nghiệm người dùng tốt nhất.

<b>c. Bảo mật:</b>

 <b>Bảo vệ thông tin khách hàng: Website cần bảo mật thông tin cá</b>

nhân và thanh toán của khách hàng.

 <b>Chống tấn công mạng: Website cần được bảo vệ khỏi các tấn </b>

công mạng như SQL injection, XSS, v.v.

 <b>Sử dụng các biện pháp bảo mật tiên tiến: Website cần sử dụng</b>

các biện pháp bảo mật tiên tiến như mã hóa dữ liệu, tường lửa, v.v.

<b>d. Khả năng sử dụng:</b>

 <b>Giao diện thân thiện, dễ sử dụng: Website cần có giao diện </b>

đơn giản, dễ hiểu để khách hàng dễ dàng tìm kiếm sản phẩm và mua sắm.

 <b>Tương thích với nhiều thiết bị: Website cần tương thích với </b>

nhiều thiết bị khác nhau như máy tính, điện thoại thơng minh, máy tính bảng.

 <b>Hỗ trợ nhiều ngôn ngữ: Website cần hỗ trợ nhiều ngôn ngữ để </b>

phục vụ khách hàng quốc tế.

<b>e. Khả năng mở rộng:</b>

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

 <b>Hệ thống có thể mở rộng dễ dàng: Website cần có thể mở rợng</b>

dễ dàng khi lượng truy cập và dữ liệu tăng lên.

 <b>Có thể thêm chức năng mới: Website cần có thể thêm chức </b>

năng mới dễ dàng để đáp ứng nhu cầu của khách hàng.

 <b>Có thể di chuyển sang nền tảng mới: Website cần có thể di </b>

chuyển sang nền tảng mới dễ dàng nếu cần thiết.

<b>f. Khả năng bảo trì:</b>

 <b>Dễ dàng bảo trì và cập nhật: Website cần dễ dàng bảo trì và </b>

cập nhật để đảm bảo hệ thống hoạt đợng ổn định và an tồn. <b>Có tài liệu hướng dẫn sử dụng đầy đủ: Website cần có tài liệu </b>

hướng dẫn sử dụng đầy đủ để giúp người quản trị website dễ dàng sử dụng và bảo trì.

<b>1.3. Các cơng nghệ được sử dụng</b>

<b>1.3.1. Ngơn ngữ lập trình (Python, Java)1.3.1.1. Java là gì ?</b>

<b>Java là ngơn ngữ lập trình đa nền tảng (cross-platform), được phát</b>

triển bởi James Gosling tại Sun Microsystems (nay là OracleCorporation). Ngơn ngữ lập trình này ra đời vào năm 1995 và được thiếtkế để có thể chạy trên các nền tảng khác nhau, từ máy tính cá nhân đếnthiết bị di đợng, các máy chủ và thiết bị nhúng.

Java sử dụng cấu trúc lập trình hướng đối tượng (object-orientedprogramming - OOP) và được xây dựng trên cơ sở của ngơn ngữ lậptrình C++. Nó cung cấp một môi trường chạy ảo (virtual machine) gọi làJava Virtual Machine (JVM), giúp các chương trình Java có thể chạytrên nhiều nền tảng khác nhau mà không cần phải biên dịch lại.

Hiện tại, Java là một trong những ngôn ngữ lập trình phổ biến nhấthiện nay, được sử dụng rộng rãi trong các ứng dụng di động, phát triểnweb, lập trình trên các thiết bị nhúng, máy tính cá nhân, máy chủ, game

<b>và nhiều lĩnh vực khác.</b>

<b>1.3.1.2. Các tính năng của Java</b>

 <b>Dễ dàng bảo trì và cập nhật: Website cần dễ dàng bảo trì và</b>

cập nhật để đảm bảo hệ thống hoạt đợng ổn định và an tồn.

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

 <b>Đa nền tảng: Java được thiết kế để có thể chạy trên nhiều nền</b>

tảng khác nhau, vì vậy nó rất phù hợp cho việc phát triển cácứng dụng đa nền tảng. Java sử dụng một máy ảo (JVM - JavaVirtual Machine) để chạy mã nguồn, vì vậy mã nguồn được viếtmợt lần và có thể chạy trên nhiều hệ điều hành khác nhau màkhông cần thay đổi.

 <b>Quản lý bộ nhớ tự động: Java có tính năng tự đợng quản lý bợ</b>

nhớ, tức là nó tự động thu dọn các vùng nhớ không sử dụng nữađể giảm thiểu các lỗi bộ nhớ. Điều này giúp cho các ứng dụngđược viết bằng Java có thể chạy ổn định và tránh các lỗi liênquan đến bộ nhớ.

 <b>Hỗ trợ đa luồng: Java có thể xử lý đa luồng, cho phép chương</b>

trình thực hiện nhiều tác vụ cùng mợt lúc. Điều này giúp cho cácứng dụng có thể chạy nhanh và hiệu quả hơn, đặc biệt là khi phảixử lý nhiều tác vụ cùng mợt lúc.

 <b>Tính bảo mật cao: Java có các tính năng bảo mật như kiểm tra</b>

kiểu tĩnh và kiểm tra lỗi trên đường dẫn. Java được thiết kế đểgiảm thiểu các lỗ hổng bảo mật và các vấn đề liên quan đến anninh.

 <b>Hỗ trợ các thư viện và công cụ phát triển mạnh mẽ: Java có</b>

các thư viện tiêu chuẩn và các công cụ phát triển như IDE(Integrated Development Environment) để giúp các nhà pháttriển tạo ra các ứng dụng dễ dàng hơn. Các thư viện và cơng cụnày cung cấp các tính năng như: tạo giao diện người dùng, xử lýdữ liệu, kết nối cơ sở dữ liệu và nhiều hơn nữa,...

 <b>Tính di động: Java được sử dụng rộng rãi trong lĩnh vực di</b>

động bao gồm: các thư viện hỗ trợ việc phát triển ứng dụng diđợng, đóng gói ứng dụng thành các file .jar hoặc .apk, cung cấpcác tính năng như xử lý đa nhiệm, kết nối mạng và tích hợp vớicác thiết bị phần cứng như máy ảnh.

 <b>Tính độc lập với nền tảng: Java có thể chạy trên nhiều nền tảng</b>

khác nhau và không phụ thuộc vào bất kỳ nền tảng cụ thể nào.Điều này giúp cho các ứng dụng Java có thể được triển khai trênnhiều hệ thống khác nhau mà khơng cần sửa đổi mã nguồn. <b>Tính kế thừa và đa hình: Java là ngơn ngữ lập trình hướng đối</b>

tượng (OOP), vì vậy nó có các tính năng như kế thừa, đa hình và

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

đóng gói. Các tính năng này giúp cho mã nguồn được tái sửdụng và giảm thiểu sự trùng lặp trong mã nguồn.

 <b>Tính mở rộng: Java có tính năng mở rợng, cho phép các nhà</b>

phát triển thêm các tính năng mới vào ngôn ngữ bằng cách tạocác thư viện và API riêng. Điều này giúp cho Java có thể đượcsử dụng trong nhiều lĩnh vực khác nhau và được phát triển theocác hướng khác nhau.

<b>1.3.2. Cơ sở dữ liệu (PostgreSQL)1.3.2.1. PostgreSQL là gì ?</b>

<b>PostgreSQL (Postgres Structured Query Language) là một hệ</b>

thống quản lý cơ sở dữ liệu quan hệ - đối tượng (object - relationaldatabase management system) tiên tiến và mã nguồn mở. Nó đã đượcphát triển từ phiên bản POSTGRES 4.2 tại phòng khoa học máy tính củaĐại học California, Berkeley. Hiện nay, PostgreSQL đã trở thành mộtlựa chọn quan trọng và đáng tin cậy để quản lý dữ liệu cho các ứng dụngtừ cá nhân đến doanh nghiệp lớn.

Được thiết kế để hoạt động trên các nền tảng UNIX, PostgreSQLcũng đã được điều chỉnh linh hoạt để tương thích với nhiều hệ điều hànhkhác như Mac OS X, Solaris và Windows. Là một phần mềm mã nguồnmở, PostgreSQL được cung cấp dưới dạng giấy phép tự do, cho phépngười dùng sử dụng, sửa đổi và phân phối mã nguồn một cách tự do.

Độ ổn định cao của PostgreSQL đảm bảo giảm thiểu nhu cầu bảotrì và giúp giảm chi phí sở hữu khi phát triển các ứng dụng dựa trên nềntảng này so với các hệ thống quản trị dữ liệu khác.

<b>1.3.2.2. Những điểm nổi bật của PostgreSQL</b>

PostgreSQL là một hệ quản trị cơ sở dữ liệu có nhiều tính năng đadạng, hỗ trợ nhà phát triển xây dựng ứng dụng, quản trị viên bảo vệ tínhtồn vẹn dữ liệu và cung cấp mợt mơi trường chịu lỗi (fault-tolerant) đểquản lý dữ liệu bất kể kích thước lớn hay nhỏ. PostgreSQL khơng chỉ làmợt hệ thống mã nguồn mở miễn phí mà cịn có khả năng mở rợng tuyệtvời. Dưới đây là mợt số tính năng quan trọng của PostgreSQL:

 <b>Kiểu dữ liệu đa dạng: PostgreSQL hỗ trợ nhiều kiểu dữ liệu</b>

như số nguyên, số thực, chuỗi, Boolean, ngày/giờ, mảng, phạm

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

vi, UUID, JSON/JSONB, XML, key-value (Hstore), hình học vàcác kiểu dữ liệu tùy chỉnh.

 <b>Tính tồn vẹn dữ liệu: PostgreSQL cung cấp các cơ chế để đảm</b>

bảo tính tồn vẹn dữ liệu như ràng buộc UNIQUE, NOT NULL,Primary Keys, Foreign Keys và ràng ḅc loại trừ. Ngồi ra, nócịn hỗ trợ khóa hàm số/explicit locks và khóa khuyếnnghị/advisory locks.

 <b>Đồng quy và hiệu suất: PostgreSQL cung cấp các phương pháp</b>

lập danh mục (indexing) như B-tree, multicolumn, expressions,partial và các phương pháp lập danh mục nâng cao như GiST,SP-Gist, KNN Gist, GIN, BRIN, Bloom filters. Nó cũng có trìnhlập kế hoạch/trình tối ưu hóa truy vấn phức tạp, hỗ trợ quét chỉtrên danh mục (index-only scan) và thống kê đa cột.

 <b>Giao tác và đồng thời: PostgreSQL hỗ trợ giao tác ACID</b>

(Atomicity, Consistency, Isolation, Durability) và giao tác dạngnest thơng qua lưu điểm (savepoints). Nó cũng hỗ trợ điều khiểnđồng thời nhiều phiên bản (MVCC) và truy vấn đọc song song. <b>Phân vùng bảng: PostgreSQL cho phép phân vùng bảng để tăng</b>

hiệu suất truy vấn và quản lý dữ liệu lớn.

 <b>Độ tin cậy và phục hồi: PostgreSQL sử dụng ghi nhật ký ghi</b>

trước (Write-ahead Logging - WAL) để đảm bảo độ tin cậy vàhỗ trợ khôi phục điểm-theo-thời gian (Point-in-time Recovery -PITR) và active standbys.

 <b>Bảo mật: PostgreSQL cung cấp các phương pháp xác thực như</b>

GSSAPI, SSPI, LDAP, SCRAM-SHA-256, Certificate và hệthống kiểm soát truy cập mạnh mẽ. Nó cũng hỗ trợ bảo mật cấpđộ cột và hàng.

 <b>Khả năng mở rộng: PostgreSQL có khả năng mở rợng thơng</b>

qua các phương pháp lưu trữ và hỗ trợ nhiều ngôn ngữ thủ tụcnhư PL/PGSQL, Perl, Python và nhiều ngơn ngữ khác. Ngồi ra,nó hỗ trợ tích hợp với các cơ sở dữ liệu và ứng dụng khác thôngqua giao diện SQL chuẩn và cung cấp nhiều tiện ích mở rợng bổsung như PostGIS.

 <b>Tìm kiếm văn bản: PostgreSQL hỗ trợ các bộ ký tự quốc tế</b>

thông qua ICU collations và cung cấp khả năng tìm kiếm vănbản tồn diện.

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

Như vậy, PostgreSQL đã được chứng minh là có khả năng mởrợng cao với khả năng quản lý cả terabyte và petabyte dữ liệu trong cácmơi trường sản xuất. Nó là mợt hệ quản trị cơ sở dữ liệu mạnh mẽ vàlinh hoạt, hỗ trợ nhiều tính năng và khả năng tùy chỉnh, đã được áp dụngphổ biến trong các ứng dụng có tính phức tạp.

<b>1.3.3. Các thư viện và framework (Node.js)1.3.3.1. Node.js là gì?</b>

<b>Node.js là mợt mã nguồn mở và được sử dụng trên nhiều nền tảng</b>

khác nhau mà không phụ thuộc vào bất kỳ phần mềm hay hệ điều hànhnào. Nó có thể hoạt đợng trên Linux, macOS và cả Windows. Các trìnhduyệt như Chrome và Firefox có mơi trường Runtime. Đó là lý do tại saohọ có thể chạy mã JavaScript. Trước khi Node.js được tạo, JavaScript chỉcó thể chạy trên trình duyệt và nó chỉ được sử dụng để xây dựng các ứngdụng front-end.

Node.js cung cấp môi trường Runtime bên ngồi trình duyệt. Nócũng được xây dựng trên cơng cụ JavaScript Chrome V8. Điều này giúpbạn có thể xây dựng các ứng dụng back-end bằng cách sử dụng cùngngơn ngữ lập trình JavaScript mà bạn quen tḥc.

<b>1.3.3.2. Những ưu điểm nổi bật của Node.js:</b>

 <b>Hiệu suất cao: Một trong những tính năng quan trọng nhất của</b>

node.js là khả năng tạo các ứng dụng nhanh và mang lại kết quảchỉ sau vài giây. Khả năng đa nhiệm mà Node.js cung cấp cựckỳ có lợi cho các ứng dụng web. Thiết kế đơn luồng (single-threaded), kiến trúc hướng sự kiện (event-driven architecture) hỗtrợ xử lý nhanh chóng mợt số u cầu cùng lúc mà khơng làmtắc nghẽn RAM. Ngồi ra, các hoạt đợng I/O vịng lặp sự kiện vàkhơng chặn của nó cho phép mã được thực thi ở tốc độ ảnhhưởng gián tiếp đến hiệu suất tổng thể của ứng dụng.

 <b>Hiệu quả về chi phí: Node.js cho phép các lập trình viên phát</b>

triển mã JavaScript phía máy chủ và mã JavaScript giao diệnngười dùng một cách đơn giản. Mợt trong những lợi thế chínhcủa node.js là nó loại bỏ nhu cầu sử dụng hai nhóm tài nguyên,tiết kiệm thời gian, tiền bạc và năng lượng cho việc phát triển dựán tổng thể.

</div>

×