Chương 1 CƠ SỞ LÝ THUYẾT 1. Ngôn ngữ lập trình Python Django 1. Khái niệm Python là một ngôn ngữ lập trình được sử dụng rộng rãi trong các ứng dụng web, phát triển phần mềm, khoa học dữ liệu và máy học (ML). Các nhà phát triển sử dụng Python vì nó hiệu quả, dễ học và có thể chạy trên nhiều nền tảng khác nhau.
Phần mềm Python được tải xuống miễn phí, tích hợp tốt với tất cả các loại hệ thống và tăng tốc độ phát triển. Giới thiệu về Python Django Framework Django là một framework phát triển web được viết bằng ngôn ngữ Python. Nó được dùng để xây dựng các ứng dụng web có tính năng đầy đủ, linh hoạt và dễ dàng bảo trì. Django có các tính năng như routing, giao diện quản trị, ORM, bảo mật, xác thực người dùng và hỗ trợ tốt cho các tính năng như tìm kiếm, phân trang và các thao tác với đa phương tiện.
Django cũng cung cấp các công cụ để tạo các ứng dụng web theo mô hình Model-View-Controller (MVC) hoặc Model-View-Template (MVT). Nó là một trong những framework phổ biến nhất trong cộng đồng Python và được sử dụng trong nhiều ứng dụng lớn trên toàn thế giới. Ngôn ngữ thuộc Frontend 1. HTML HTML là chữ viết tắt của Hypertext Markup Language.
Nó giúp người 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, links, blockquotes, vâng vâng. HTML không phải là ngôn ngữ lập trình, đồng nghĩa với việc nó không thể tạo ra các chức năng “động” được. Nó chỉ giống như Microsoft Word, dùng để bố cục và định dạng trang web. 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. Bạn có thể SVTH: Lê Văn Bảo Chung GVHD: ThS. Nguyễn Thị Hà Quyên 3 Xây dựng website bán điện thoại 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ó 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… 1. JavaScript JavaScript là ngôn ngữ lập trình dựa trên logic.
Nó có thể được sử dụng để sửa đổi nội dung trang web. Và khiến nó hoạt động theo nhiều cách khác nhau để đáp ứng với hành động của người dùng 1. Tổng quan về hệ quản trị cơ sở dữ liệu MySQL Server 1. Khái niệm Hệ quản trị cơ sở dữ liệu MySQL Server là một phần mềm quản lý cơ sở dữ liệu mã nguồn mở, được phát triển bởi Oracle Corporation.
Nó cung cấp các công cụ và tính năng cho phép người dùng quản lý cơ sở dữ liệu một cách hiệu quả và đáng tin cậy. MySQL Server sử dụng ngôn ngữ truy vấn cấu trúc dữ liệu SQL (Structured Query Language) để tạo, truy vấn, thêm, sửa và xóa dữ liệu trong database. Nó hỗ trợ các hệ điều hành thông dụng, bao gồm Windows, macOS và các distro của Linux và có thể được sử dụng trong các môi trường đám mây. MySQL Server cung cấp các tính năng quản lý cơ bản như định nghĩa bảng dữ liệu, tạo index, sao lưu và khôi phục dữ liệu, và cung cấp các chức năng bảo mật cho phép người dùng quản lý đăng nhập và quyền truy cập vào cơ sở dữ liệu.
Ngoài ra, MySQL Server còn có khả năng mở rộng và tối ưu hóa hiệu suất để đáp ứng nhu cầu phát triển của các ứng dụng web và các ứng dụng khác. MySQL Server cũng hỗ trợ các giao thức kết nối phổ biến như JDBC, ODBC và .NET Connector, cho phép ứng dụng khác truy cập dữ liệu thông qua MySQL Server. Với các tính năng và khả năng mạnh mẽ này, MySQL Server được sử dụng rộng rãi trong các ứng dụng web, công nghiệp và các hệ thống khác. SVTH: Lê Văn Bảo Chung GVHD: ThS.
Nguyễn Thị Hà Quyên 4 Xây dựng website bán điện thoại Chương 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2. Khảo sát yêu cầu 2. Hoạt động nghiệp vụ Hình 2.1 Sơ đồ hoạt động nghiệp vụ 2. Sơ đồ nghiệp vụ thực tế (nếu có) 2.
Liệt kê người dùng và yêu cầu 2. Yêu cầu của khách hàng • Giao diện dễ sử dụng và có tính thẩm mỹ cao • Cho phép khách hàng đăng kí thành viên và bảo mật thông tin cá nhân • Xem và thay đổi thông tin về tài khoản • Hình thức thanh toán phải đảm bảo chính xác • Thông tin sản phẩm phong phú, đa dạng ▪ Giới thiệu, bày bán nhiều loại hàng, mặt hàng để khách hàng có nhiều cơ hội lựa chọn. Thông tin về một sản phẩm phải chi tiết để khách SVTH: Lê Văn Bảo Chung GVHD: ThS. Nguyễn Thị Hà Quyên 5 Xây dựng website bán điện thoại hàng có thể nắm bắt rõ thông tin mà mình lựa chọn.
Đặc biệt là mặt hàng được nhiều khách quan tâm ▪ Luôn cập nhật, giới thiệu những thế hệ điện thoại mới nhất • Cho phép khách hàng tìm kiếm nhanh chóng, chính xác theo nhiều tiêu chí • Cho phép thống kê các đơn hàng đã đặt của mình tại công ty 2. Yêu cầu của quản trị viên Ngoài những yêu cầu giống như khách hàng, thì hệ thống phải đảm bảo những yêu cầu sau của ban quản trị • Quản lý chung: Liên quan đến các thông tin nhân viên, khách hàng……. • Cập nhật thông tin hàng hóa trực tuyến Dễ dàng cập nhật và thường xuyên thay đổi hình ảnh, thông tin chi tiết giá các mặt hàng bạn sẽ kinh doanh ở bất cứ đâu • Quản lý các đơn hàng trực tuyến Quản lý, lưu trữ và báo cáo thông tin về đặt hàng và trạng thái của đơn hàng: đã giao hàng chưa, đã thanh toán chưa…… • Thống kê chi tiết cụ thể, chính xác và nhanh chóng ▪ Thống kê các mặt hàng nào hết, mặt hàng nào bán chạy………. ▪ Tổng hợp thu chi hàng ngày, hàng tuần, hàng tháng, hàng quý ▪ Cho phép in các danh sách, các thông tin cần thiết ▪ Tổng hợp lưu trữ các ý kiến phản ánh của khách hàng để có thể trả lời khách hàng một cách nhanh chóng 2.
Phân tích thiết kế hệ thống 2. Liệt kê Actor và Usecase 2. Khách hàng vãng lai Có các usecase chính như: • Đăng kí thành viên • Tìm kiếm – lọc sản phẩm : ▪ Tìm kiếm theo tên sản phẩm ▪ Tìm kiếm theo mức giá SVTH: Lê Văn Bảo Chung GVHD: ThS. Nguyễn Thị Hà Quyên 6 Xây dựng website bán điện thoại ▪ Tìm kiếm theo loại điện thoại • Xem danh sách sản phẩm • Xem trạng thái đơn hàng • Hủy đơn hàng • Thanh toán • Chat với nhân viên 2.
Khách hàng thành viên Có các usecase chính như : • Đăng nhập • Tìm kiếm – lọc sản phẩm ▪ Tìm kiếm theo tên sản phẩm • Tìm kiếm theo mức giá ▪ Tìm kiếm theo loại điện thoại • Cập nhật đơn hàng ▪ Thêm sản phẩm vào giỏ hàng ▪ Xem thông tin giỏ hàng ▪ Cập nhật số lượng ▪ Hủy giỏ hàng • Xem lịch sử mua hàng • Xem trạng thái đơn hàng • Hủy đơn hàng • Cập nhật thông tin cá nhân • Bình luận – đánh giá • Thanh toán 2. Quản trị viên Có các usecase chính như: • Cập nhật tài khoản • Cập nhật danh mục sản phẩm gồm: ▪ Thêm sản phẩm ▪ Sửa sản phẩm SVTH: Lê Văn Bảo Chung GVHD: ThS. Nguyễn Thị Hà Quyên 7 Xây dựng website bán điện thoại ▪ Xóa sản phẩm • Cập nhật danh mục hãng gồm: ▪ Thêm hãng điện thoại ▪ Sửa hãng điện thoại ▪ Xóa hãng điện thoại • Quản lý các đơn đặt hàng • Xem chi tiết đơn hàng • Quản lý địa chỉ giao hàng 2.2 Hình ảnh sơ đồ Usecase. SVTH: Lê Văn Bảo Chung GVHD: ThS.
Nguyễn Thị Hà Quyên 8 Xây dựng website bán điện thoại 2. Kịch bản và sơ đồ hoạt động 2. Usecase “Đăng kí tài khoản” 2. Kịch bản Usecase Name Đăng ký tài khoản Description Actor đăng ký tài khoản để trở thành thành viên của hệ thống Actors Người dùng chung • username • password • Thông tin người dùng: firstname,lastname, Email Input Output Tài khoản người dùng 1.
Actor khởi chạy ứng dụng – Bắt đầu usecase 2. Actor nhấn “Đăng ký” 3. Ứng dụng hiển thị form đăng ký tài khoản 4. Actor nhập username, password 5.
Actor nhập các thông tin liên quan 6. Actor nhấn “Đăng kí” Basic Flow 7. Ứng dụng thông báo đã đăng ký thành công – Kết thúc usecase Alternative Flow Bảng 2.1 Kịch bản cho usecase "Đăng kí tài khoản" 2. Sơ đồ hoạt động SVTH: Lê Văn Bảo Chung GVHD: ThS.
Nguyễn Thị Hà Quyên 9 Xây dựng website bán điện thoại Hình 2.3 Hình ảnh Usecase đăng kí 2. Kịch bản Usecase Name Đăng nhập Description Actor muốn đăng nhập để sử dụng các chức năng ứng dụng Actors Khách hàng, admin SVTH: Lê Văn Bảo Chung GVHD: ThS. Nguyễn Thị Hà Quyên 10 Xây dựng website bán điện thoại • Tài khoản actor đã được tạo sẵn • Tài khoản actor đã được phân quyền Input Output Actor đăng nhập vào ứng dụng thành công 1. Actor khởi chạy ứng dụng – Bắt đầu use case Basic Flow 2.
Ứng dụng hiển thị form đăng nhập 3. Actor nhập tài khoản, mật khẩu và nhấn nút “Đăng nhập” 4. Ứng dụng xác thực thông tin đăng nhập thành công và cho phép actor truy cập ứng dụng – Use case dừng lại 4a. Ứng dụng thông báo số điện thoại không đúng hoặc chưa Alternative Flow được đăng ký → Quay lại bước 3 4b.
Ứng dụng thông báo mật khẩu không đúng → Quay lại bước 3 Bảng 2.2 Kịch bản cho usecase "Đăng nhập" 2. Sơ đồ hoạt động SVTH: Lê Văn Bảo Chung GVHD: ThS. Nguyễn Thị Hà Quyên 11 Xây dựng website bán điện thoại Hình 2.4 Hình ảnh Usecase đăng nhập 2. Usecase “Tìm kiếm/Lọc” 2.
Kịch bản Usecase Tìm kiếm/ lọc sản phẩm Name Actor muốn tìm kiếm sản phẩm theo yêu cầu Description SVTH: Lê Văn Bảo Chung GVHD: ThS. Nguyễn Thị Hà Quyên 12 Xây dựng website bán điện thoại Actors Khách hàng, khác hàng thành viên, admin • Từ khóa tên sản phẩm Input • Từ khóa giá sản phẩm • Chọn hãng sản phẩm Output • Danh sách sản phẩm theo kết quả tìm kiếm 1. Actor khởi chạy ứng dụng – Bắt đầu use case 2. Actor chọn nút “Tìm kiếm” trên thanh điều hướng 3.
Actor nhập từ khóa tìm kiếm theo tên sản phẩm 4. Ứng dụng hiển thị danh sách sản phẩm theo kết quả tìm kiếm Basic Flow 5. Actor chọn các bộ lọc: theo Iphone, Oppo, Samsung, Vivo 6. Ứng dụng hiển thị danh sách sản phẩm theo bộ lọc 7.