Xây dựng website giới thiệu và đăng bán ô tô
BÁO CÁO ĐỒ ÁN Xây dựng website giới thiệu đăng bán ô tô TỔNG QUAN Tổng quan CNTT ứng dụng Về website bán hàng 2.1 Website thời đại CNTT Với việc bùng nổ công nghệ thông tin ngày nay, trang web bán hàng ngày có tầm ảnh hưởng với doanh nghiệp Các website giúp doanh nghiệp quảng bá sản phẩm thương hiệu mình, với lĩnh vực khác website lại mạng lại lợi ích khác 2.2 Ý nghĩa việc xây dựng website Giúp doanh nghiệp nâng cao suất kinh doanh, tiếp cận nhiều khách hàng mới, đồng thời đề chiến lược marketing phù hợp giai đoạn Giúp khách hàng mua hàng nhanh chóng, tiết kiệm thời gian, tiếp cận tới nhiều sản phẩm 2.3 Tính khả thi website Về kinh tế: - Giảm thiểu chi phí nhân cơng, website thực xác yêu cầu hoàn toàn tự động - Giảm thiểu chi phí quảng bá sản phẩm, việc xây dựng website tích hợp đầy đủ khâu Về tổ chức: - Giúp mở rộng thị trường kinh doanh - Giảm thiểu thời gian quản lý - Website bán hàng hoạt động liên tục, giúp mở rộng quản lý không giới hạn thời gian Về kỹ thuật: - Thiết kế website bán hàng sử dụng ngôn ngữ PHP – hệ quản trị CSDL MySQL ngôn ngữ dễ sử dụng - Thư viện framwork phong phú, dễ cài đặt giúp người dễ dàng nghiên cứu triển khai hệ thống Công nghệ liên quan Ý nghĩa đồ án Phương pháp nghiên cứu Phương pháp quan sát: quan sát quy trình nghiệp vụ trình khảo sát số sở để phân tích quy tắc để thiết kế xây dựng hệ thống Phương pháp phân tích, thiết kế hệ thống: phân tích theo hướng đối tượng, thiết kế sở liệu dựa mơ hình hóa Phương pháp thu thập tài liệu: nghiên cứu lý thuyết dựa tài liệu Trường nguồn tài liệu liên quan khác Internet Phương pháp so sánh: so sánh tảng khác để tìm ưu, nhược điểm đề tài để khắc phục hồn thiện đề tài PHẦN CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ Chương Lý thuyết ứng dụng 1.1 Phân tích thiết kế hướng đối tượng Giới thiệu OOAD: Phân tích thiết kế hướng đối tượng(OOAD) giai đoạn phát triển mơ hình xác súc tính cảu vấn đề, có thành phần đối tượng khái niệm đời thực, dễ hiểu người sử dụng Nguyên tắc OOAD: - Một lớp nên có lý để thay đổi, tức lớp nên xử lý chức đơn lẻ Nếu đặt nhiều chức vào lớp, dẫn đến phụ thuộc chức với - Các lớp, module, chức nên dễ dàng cho việc thêm chức cho việc thay đổi - Lớp dẫn xuất phải có khả thay lớp cha - Chương trình khơng nên buộc phải cài đặt Interface mà không sử dụng đến - Các module cấp cao không nên phụ thuộc vào module cấp thấp Cả hai nên phụ thuộc thông qua lớp trừu tượng Lớp trừa tượng không nên phụ thuộc vào chi tiết Chi tiết nên phụ thuộc vào trừu tượng 1.2 Ngôn ngữ HTML CSS Hình 1.1 Minh họa trang web sử dụng HTML CSS HTML: Giới thiệu HTML: HTML(Hypertext Markup Language) mã dùng để xây dựng nên cấu trúc nội dung trang web Ví dụ, nội dung cấu thành loạt đoạn văn, danh sách liệt kê, sử dụng hình ảnh bảng biểu Tính HTML5: - Phần tử dùng để hiển thị cỡ nhỏ, ký hiệu trình bao bọc xác cho thơng tin - Việc sử dụng dấu ngoặc kép phụ thuộc vào người dùng - Cho phép người dùng chỉnh sửa văn có phần tử, bao gồm phần tử - HTML5 loại bỏ hồn tồn thuộc tích - Cung cấp đầu vào email cho phép hướng dẫn trình duyệt cho phép chuỗi xác nhận địa email - Dễ dàng tạo trượt với phạm vi đầu vào CSS: 1.3 Giới thiệu CSS: CSS (viết tắt Cascading Style Sheets) dùng để miêu tả cách trình bày tài liệu viết ngôn ngữ HTML XHTML CSS hiểu cách mà chúng thêm kiểu hiển thị (font chữ, kích thước, màu sắc,…) cho tài liệu Web Tính CSS3: - Bo trịn góc ảnh - Xây dựng phần tử động, tạo đối tườn động animation - Biến đổi phần tử cách quay, dịch chuyển… - Đổ bóng cho phần tử với box-shadow - Tạo gradient với hai kiểu linear radial - Bo đường viền góc phần tử box Ngơn ngữ JavaScript Giới thiệu JavaScript: JavaScript ngơn ngữ lập trình HTML ứng dụng Web Nó sử dụng phổ biến phần trang web, chúng cho phép Client-Side script tương tác với người sử dụng tạo trang web động Nó ngơn ngữ chương trình thơng dịch với khả hướng đối tượng JavaScript kết hợp với HTML CSS: 1.4 1.5 Hình 1.2 Minh họa JavaScript kết hợp với HTML CSS Một website thường có phần gồm HTML, CSS Javascript Trong đó, HTML định nội dung cấu trúc trang web; CSS định màu sắc, hình dáng, kiểu chữ,… Hầu hết thay đổi HTML CSS thể dạng tĩnh, thực hành động với chuyển động bắt mắt xoay hình, kiểm tra thông tin hợp lệ, hiển thị thông báo người dùng Tất hành động chuyển thể từ trạng thái tĩnh sang trạng thái động nhờ vào thành phần thứ Javascript Ba thành phần kết hợp với tạo nên website hoàn chỉnh với giao diện (UI) trải nghiệm người dùng (UX) chất lượng Ngôn ngữ PHP Giới thiệu PHP: Hypertext Preprocessor, thường viết tắt thành PHP ngôn ngữ lập trình kịch hay loại mã lệnh chủ yếu dùng để phát triển ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng qt Nó thích hợp với web dễ dàng nhúng vào trang HTML PHP trở thành ngơn ngữ lập trình web phổ biến giới Lý nên sử dụng ngơn ngữ lập trình PHP: - Cộng đồng lớn: Nếu gặp phải khó khăn đó, khơng phải điều lo lắng có nhiều blog PHP Internet - Dễ học: Có thể học dễ dàng có tài liệu tuyệt vời chức ví dụ - Chi phí thấp: Nó nguồn mở để sử dụng miễn phí - Được sử dụng rộng rãi, phổ biến: Nó sử dụng để tạo loại tảng thương mại điện tử, blogs, phương tiện truyền thơng - Tích hợp với sở liệu: Ví dụ MySQL, Oracle Hệ quản trị sở liệu Giới thiệu Cơ sở liệu: Cơ sở liệu (Database) tập hợp liệu có tổ chức, thường lưu trữ truy cập điện tử từ hệ thống máy tính Khi sở liệu phức tạp hơn, chúng thường phát triển cách sử dụng kỹ thuật thiết kế mơ hình hóa thức Giới thiệu Hệ quản trị sở liệu: Hệ quản trị sở liệu (viết tắt Database Management System) hệ thống thiết kế để quản lý khối lượng liệu định cách tự động có trật tự Các hành động quản lý bao gồm chỉnh sửa, xóa, lưu tìm kiếm thơng tin nhóm liệu định Chương Công cụ sử dụng 1.1 Phần mềm trực tuyến Draw.io Hình 1.3 Giao diện phần mềm trực tuyết Draw.io Draw.io công cụ vẽ sơ đồ mạnh mẽ, hỗ trợ nhiều hình khối, chạy online khơng cần cài đặt mà lại miễn phí khơng bị giới hạn số biểu đồ nhiều tool vẽ web khác Draw.io cho phép vẽ hàng nghìn sơ đồ thiết kế phần mềm, phần cứng hệ thống Nó có thư viện template phong phú để bạn bắt đầu nhanh hơn, khơng phải tự vẽ từ đầu 1.2 Thư viện Jquery Giới thiệu thư viện Jquery: JQuery thư viện kiểu JavaScript, hệ thống lại hàm JavaScript cách ngắn gọn, dễ dùng, tạo vào năm 2006 JQuery làm đơn giản hóa việc truyền tải HTML, xử lý kiện tương tác với Ajax, tích hợp nhiều module khác từ module hiệu ứng module truy vấn selector Ưu điểm Jquery: - Là thư viện lớn javascript: Thực nhiều chức so với thư viện JavaScript khác - Dễ sử dụng: Đây lợi sử dụng Jquery, dễ dàng sử dụng so với nhiều thư viện JavaScript chuẩn khác cú pháp đơn giản bạn phải viết dịng lệnh để tạo chức tương tự Chỉ với 10 dịng lệnh JQuery bạn thay 20 chục dòng lệnh DOM JavaScript, tiết kiệm thời gian lập trình viên - Cộng đồng mã nguồn mở lớn mạnh: Jquery tương đối mới, có cộng đồng dành thời gian họ để phát triển plugin Jquery Như vậy, có hàng trăm plugin viết trước có sẵn để tải để đẩy nhanh trình viết code người lập trình Một lợi khác đằng sau hiệu an toàn script - Có nhiều tài liệu hướng dẫn: Các trang web JQuery có tồn tài liệu hướng dẫn để người bắt đầu lập trình làm việc dễ dàng với thư viện Jquery - Hỗ trợ AJAX: JQuery cho phép bạn phát triển template AJAX cách dễ dàng AJAX cho phép giao diện kiểu dáng đẹp website, chức thực trang mà khơng địi hỏi tồn trang reload lại 1.3 Framework Laravel Giới thiệu framework Laravel: Framework thư viện với tài nguyên có sẵn cho lĩnh vực để lập trình viên sử dụng thay phải tự thiết kế Với Framework, lập trình viên cần tìm hiểu khai thác tài ngun đó, gắn kết chúng lại với hồn chỉnh sản phẩm Laravel PHP Framework mã nguồn mở miễn phí Được phát triển nhằm mục đích hỗ trợ phát triển ứng dụng web theo mơ hình MVC Mơ hình MVC Laravel: MVC (Model-View-Controller) mẫu kiến trúc phần mềm máy tính nhằm mục đích tạo lập giao diện cho người dùng Hệ thống MVC chia thành ba phần có khả tương tác với tách biệt nguyên tắc nghiệp vụ với giao diện người dùng Ba thành phần bao gồm: - View: View phần ứng dụng chịu trách nhiệm cho việc trình bày liệu Thành phần tạo liệu thu thập từ liệu mơ hình, giúp người dùng có nhìn trực quan trang web, ứng dụng View đại diện cho liệu từ trị chuyện, sơ đồ bảng Ví dụ: View có bao gồm tất thành phần giao diện người dùng nút bấm, menu, khung nhập - Model: Model kiến trúc MVC thành phần đảm nhiệm chức lưu trữ liệu phận logic liên quan toàn ứng dụng Model chịu trách nhiệm cho thao tác liệu Controller logic nghiệp vụ liên quan khác cho phép xem, truy xuất liệu - Controller: Controller xử lý tương tác người dùng ứng dụng Nó xử lý liệu đầu vào từ bàn phím chuột người dùng, sau thơng báo tới View Model Controller gửi lệnh tới Model để thay đổi trạng thái Model Controller gửi lệnh tương tự tới View để thực thay đổi giao diện Hình 1.4 Mơ hình MVC Laravel PHẦN PHÁT TRIỂN HỆ THỐNG Chương Khảo sát hệ thống Chương Phân tích thiết kế sơ 4.1 Phân tích hệ thống 4.1.1 UseCase hệ thống Các tác nhân hệ thống: Hình 4.1 Các tác nhân hệ thống Các tác nhân hệ thống: - CUSTOMER: Là khách hàng truy cập hệ thống, đăng ký hệ thống, xem sản phẩm xe tơ, tìm kiếm sản phẩm xe mong muốn - MEMBER: Là thành viên đăng ký tài khoản website, có chức khách hàng, số chức khác đặt xe, đánh giá sản phẩm xe, xem thông tin tài khoản… - ADMIN: Là quản trị viên website, có quyền quản lý cao quản lý danh mục, quản lý xe, quản lý đánh giá, quản lý thành viên, nhà cung cấp, quản lý đơn hàng… UseCase tổng quát: Hình 4.2 UseCase tổng quát UseCase tác nhân CUSTOMER: Hình 4.3 UseCase tác nhân CUSTOMER Ca sử dụng Đăng ký: - Mô tả: Dành cho khách hàng vãng lai đăng ký làm thành viên để mua hàng, nhận nhiều ưu đãi vào lần mua hàng sau - Đầu vào: Người dùng chọn chức đăng ký, nhập đầy đủ thông tin bắt buộc - Thực hiện: Kiểm tra trường thông tin nhập vào, đầy đủ kiểu liệu, lưu thông tin vào sở liệu thêm thông tin thành viên vào sở liệu - Đầu ra: Đưa thông báo đăng ký thành công, thất bại Ca sử dụng Tìm kiếm sản phẩm: - Mơ tả: Dành cho khách hàng tìm kiếm sản phẩm - Đầu vào: Nhập từ khóa sản phẩm muốn tìm kiếm, nhấn chọn tìm kiếm - Thực hiện: Tìm kiếm CSDL theo từ khóa người dùng nhập vào - Đầu ra: Hiển thị tất sản phẩm với từ khóa tìm kiếm, khơng có sản phẩm trường hợp khơng có sản phẩm có liên quan đến từ khóa Ca sử dụng Xem chi tiết sản phẩm: - Mô tả: Dành cho khách hàng muốn xem chi tiết sản phẩm - Đầu vào: Khi người dùng chọn sản phẩm cần xem - Thực hiện: Tìm kiếm CSDL theo từ khóa người dùng nhập vào - Đầu ra: Hiển thị tất sản phẩm với từ khóa tìm kiếm, khơng có sản phẩm trường hợp khơng có sản phẩm có liên quan đến từ khóa UseCase tác nhân MEMBER: Hình 4.4 UseCase tác nhân MEMBER Ca sử dụng Đặt xe: - Mô tả: Giúp thành viên đặt sản phẩm xe yêu thích - Đầu vào: Chọn mẫu xe lựa chọn, click đặt hàng Bổ sung thơng tin xác vào trường với chức đặt hàng - Thực hiện: Kiểm tra thông tin nhập vào thành viên Lưu thông tin đơn hàng vào CSDL - Đầu ra: Hiển thị thông tin đặt hàng khách hàng Ca sử dụng Đăng xuất: - Mô tả: Cho phép người dùng khỏi hệ thống khơng sử dụng - Đầu vào: Người dùng chọn đăng xuất - Thực hiện: Hủy lưu thông tin đăng nhập - Đầu ra: Hiển thị trang chủ Ca sử dụng Đăng nhập: - Mô tả: Cho phép khách hàng thành viên quản trị viên đăng nhập vào hệ thống - Đầu vào: Người dùng nhập vào thông tin tên tài khoản mật khẩu, sau chọn đăng nhập - Thực hiện: Kiểm tra tên đăng nhập mật có trùng khớp với thơng tin CSDL Kiểm tra quyền người dùng - Đầu ra: Nếu không thơng tin thơng báo tài khoản khơng hợp lệ Ngược lại, tùy theo quyền người dùng, hiển thị hình quản trị hình thành viên trang web Ca sử dụng Đánh giá xe: - Mô tả: Cho phép thành viên hệ thống, sau mua hàng đánh giá cho sản phẩm dùng - Đầu vào: Người dùng thành viên hệ thống, viết đánh giá chất lượng sản phẩm, chọn đăng - Thực hiện: Lưu đánh giá thành viên vào CSDL - Đầu ra: Hiển thị đánh giá giao diện sản phẩm Ca sử dụng Quản lý tài khoản cá nhân: - Mô tả: Cho phép thành viên sửa thông tin cá nhân, hủy đơn hàng, xuất đơn hàng xóa bình luận - Đầu vào: Chọn chức cần thiết Điền thơng tin xác vào trường với chức sửa Chọn đơn hàng hay bình luận muốn xóa xuất hóa đơn - Thực hiện: Kiểm tra thông tin nhập vào thành viên Cập nhật thông tin CSDL Xuất file đơn hàng yêu cầu - Đầu ra: Hiển thị thông báo thực yêu cầu UseCase Quản lý danh mục: Hình 4.5 UseCase Quản lý danh mục Ca sử dụng Quản lý danh mục: - Mơ tả: Giúp thêm, sửa hay xóa danh mục sản phẩm Thuộc quyền quản trị viên - Đầu vào: Chọn thêm, sửa hay xóa danh mục Điền thơng tin xác vào trường với chức thêm sửa - Thực hiện: Kiểm tra thông tin nhập vào quản tri viên Lưu cập nhật xóa danh mục CSDL - Đầu ra: Hiển thị danh sách quản lý danh mục UseCase Quản lý xe: Hình 4.6 UseCase Quản lý xe Ca sử dụng Quản lý xe: - Mô tả: Giúp thêm, sửa, xóa tìm kiếm xe Thuộc quyền quản trị viên - Đầu vào: Chọn thêm, sửa, xóa hay tìm kiếm xe Điền thơng tin xác vào trường với chức thêm sửa - Thực hiện: Kiểm tra thông tin nhập vào quản tri viên Lưu cập nhật xóa sản phẩm CSDL Tìm kiếm sản phẩm theo từ khóa admin nhập - Đầu ra: Hiển thị danh sách quản lý xe theo yêu cầu UseCase Quản lý menu: Hình 4.7 UseCase menu Ca sử dụng Quản lý menu: - Mô tả: Giúp quản trị viên quản lý menu - Đầu vào: Admin chọn chức cần thực trang quản lý menu, nhập đầy đủ thông tin với chức thêm, sửa - Thực hiện: Kiểm tra trường thông tin đầy đủ Nếu lưu cập nhật thơng tin CSDL Với chức xóa, thực xóa menu theo mã CSDL - Đầu ra: Hiển thị trang danh sách menu UseCase Quản lý viết: Hình 4.8 UseCase quản lý viết Ca sử dụng Quản lý viết: - Mô tả: Giúp quản trị viên quản lý viết - Đầu vào: Admin chọn chức cần thực trang quản lý viết, nhập đầy đủ thông tin với chức thêm, sửa - Thực hiện: Kiểm tra trường thơng tin đầy đủ Nếu lưu cập nhật thơng tin CSDL Với chức xóa, thực xóa viết theo mã CSDL - Đầu ra: Hiển thị trang danh sách viết UseCase Quản lý đánh giá: Hình 4.9 UseCase quản lý đánh giá Ca sử dụng Xóa đánh giá sản phẩm: - Mô tả: Quản trị viên theo dõi đánh giá, xóa đánh giá spam, hay không lành mạnh - Đầu vào: Quản trị viên chọn xóa đánh giá Nhập từ khóa chọn tìm kiếm Nhập nội dung phản hồi đánh giá chọn phản hồi - Thực hiện: Xóa đánh giá khỏi CSDL Tìm kiếm đánh giá theo từ khóa admin nhập Với chức phản hồi, kiểm tra trường liệu trống, khơng thực lưu phản hồi admin vào CSDL - Đầu ra: Hiển thị danh sách đánh giá sau xóa Hiển thị danh sách đánh giá theo yêu cầu tìm kiếm UseCase Quản lý thành viên: Hình 4.10 UseCase quản lý thành viên Ca sử dụng Quản lý thành viên: - Mô tả: Giúp quản trị viên quản lý thành viên - Đầu vào: Admin chọn chức cần thực trang quản lý thành viên Nhập từ khóa với chức tìm kiếm Chọn thành viên với chức xóa - Thực hiện: Lấy thông tin thành viên theo từ khóa admin nhập vào Với chức xóa, thực ẩn thông tin thành viên theo mã CSDL - Đầu ra: Hiển thị trang danh sách thành viên theo u cầu UseCase Quản lý hóa đơn: Hình 4.11 UseCase quản lý hóa đơn Ca sử dụng Quản lý hóa đơn: - Mơ tả: Giúp quản trị viên cập nhật trạng thái quản lý đơn hàng Thuộc quyền quản trị viên - Đầu vào: Chọn sửa, xem chi tiết, tìm kiếm hay xuất hóa đơn - Thực hiện: Kiểm tra thông tin nhập vào quản tri viên Cập nhật chi tiết đơn hàng CSDL Tìm kiếm hóa đơn theo từ khóa admin nhập Xuất file hóa đơn có yêu cầu - Đầu ra: Hiển thị danh sách quản lý hóa đơn theo yêu cầu Tải file có yêu cầu xuất UseCase Quản lý nhà cung cấp: - Hình 4.12 UseCase quản lý nhà cung cấp Ca sử dụng Quản lý nhà cung cấp: Mô tả: Giúp quản trị viên quản lý nhà cung cấp Đầu vào: Admin chọn chức cần thực trang quản lý nhà cung cấp, nhập đầy đủ thông tin với chức thêm, sửa Thực hiện: Kiểm tra trường thông tin đầy đủ Nếu lưu cập nhật thơng tin CSDL Với chức xóa, thực xóa nhà cung cấp theo mã CSDL Đầu ra: Hiển thị trang danh sách nhà cung cấp 4.1.2 Biểu đồ hoạt động hệ thống 4.1.3 Biểu đồ hệ thống 4.2 Thiết kế sở liệu Chương Thiết kế chi tiết Chương Xây dựng hệ thống kiểm định Kết luận Kết đạt Hướng phát triển Tài liệu tham khảo ... Thực hiện: Kiểm tra trường thông tin nhập vào, đầy đủ kiểu liệu, lưu thông tin vào sở liệu thêm thông tin thành viên vào sở liệu - Đầu ra: Đưa thông báo đăng ký thành công, thất bại Ca sử dụng... lưu thông tin đăng nhập - Đầu ra: Hiển thị trang chủ Ca sử dụng Đăng nhập: - Mô tả: Cho phép khách hàng thành viên quản trị viên đăng nhập vào hệ thống - Đầu vào: Người dùng nhập vào thông tin... quản lý - Website bán hàng hoạt động liên tục, giúp mở rộng quản lý không giới hạn thời gian Về kỹ thuật: - Thiết kế website bán hàng sử dụng ngôn ngữ PHP – hệ quản trị CSDL MySQL ngôn ngữ dễ