Thực tập kỹ thuật IT4991 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ──────── * ─────── BÁO CÁO THỰC TẬP KỸ THUẬT Lập Trình Website Bán Phụ Kiện Điện Thoại Giảng viên hư[.]
Trang 1TRƯỜNG CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
──────── * ───────
BÁO CÁO THỰC TẬP KỸ THUẬT Lập Trình Website Bán Phụ Kiện Điện Thoại
Giảng viên hướng dẫn : Ths Nguyễn Thị Thu Giang
Sinh viên thực hiện : OEUNG CHIVA
Hà Nội, tháng 09 năm 2022
Trang 2MỤC LỤC
LỜI NÓI ĐẦU 1
CHƯƠNG I: TỔNG QUẢN BÀI TOÁN 2
1.1 Mô tả đề tài 2
1.2 Yêu cầu hệ thống 2
1.3 Giới thiệu bài toán thực tế 2
1.4 Thông tin đầu vào, đầu ra của bài toán 3
1.5 Biểu mẫu liên quan của bài toán 4
CHƯƠNG II: CÔNG NGHỆ VÀ THUẬT TOÁN SỬ DỤNG 5
2.1 Giới thiệu Ngôn ngữ 5
2.2 Công Nghệ 7
CHƯỜNG III: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 8
3.1 Biểu đồ use case 8
3.1.1 Biểu đồ use case tổng quan 8
3.1.2 Biểu đồ use case mức 2 9
3.2 Thiết kế Cơ sở dữ liệu 14
3.3 Diagram Cơ sở dữ liệu 16
3.4 Thiết kế chi tiết lớp 16
3.5 Biểu đồ trình tự 18
3.5.1 Đăng nhập 18
3.5.2 Đăng xuất 19
3.5.3 Giỏ hàng 19
3.5.4 Thêm sản phẩm 20
3.5.5 Xóa sản phẩm 21
CHƯƠNG IV: CÀI ĐẶT CHƯƠNG TRÌNH– KIỂM THỬ 22
4.1 Kết quả chương trình minh họa 22
4.2 Kết quả kiểm thử 22
4.2.1 Thiết kế chương trình 22
4.2.2 Kiểm thử chương trình 23
4.2.3 Kết luận 24
4.3 Giao diện chương trình 25
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 32
Trang 3OEUNG CHIVA 20190154 [1]
LỜI NÓI ĐẦU
Ngày nay, công nghệ thông tin ngày càng phát triển thì nhu cầu cuộc sống cũng như
việc ứng dụng Công nghệ thông tin vào công việc của con người được phát triển mạnh mẽ
và ngày càng đa dạng hơn, đặc biệt vấn đề về quảng bá sản phẩm trên internet cũng dành
được sự chú ý của các nhà sản xuất với mục đích thu về doanh thu lớn nhất Nhiều công
nghệ sử dụng mới được áp dụng hàng ngày, cũng như đưa phần mềm vào quản lý ngày
càng trực quan và sinh động hơn với người sử dụng
Sau khi khảo sát yêu cầu bán hàng thị trường em quyết định xây dựng Website bán
phụ kiện điện thoại Để quản lý bán hàng tốt cần phân loại sản phẩm, phân tích sản phẩm,
quản lý đơn hàng, thông kế số tiền thu nhập hàng tháng Đó cũng là lý do mà em chọn đề
tài này
Để hoàn thành được bài tập lớn này, em xin được gửi lời cảm ơn chân thành đến cô
giáo hướng dẫn đề tài Ths Nguyễn Thị Thu Giang, Giảng viên Khoa Công nghệ Thông tin
Trường Đại học Bách Khoa Hà Nội - đã hết lòng giúp đỡ, hướng dẫn, chỉ dạy tận tình để
em hoàn thành được đề tài này
OEUNG CHIVA
Trang 4CHƯƠNG I : TỔNG QUẢN BÀI TOÁN
1.1 Mô tả đề tài
“Website bán Phụ kiện điện thoại” là hệ thống quảng bá hình ảnh của cửa hàng cũng như thể hiện việc chăm sóc khách hàng ở mọi lúc, mọi nơi Với website này khách hàng không cần đến các cửa hàng hay nhà phân phối mà vẫn tham khảo được tác dụng, giá cả
và thông tin về từng sản phẩm và sự đảm bảo từ phía nhà cung cấp Tạo sự thuận tiện, thoải mái cho khách hàng khi mua sản phẩm
1.2 Yêu cầu hệ thống
Mục đích yêu cầu
• Đối tượng sử dụng (Người dùng): người quản lý, người mua hàng
• Xác định các chức năng cho từng đối tượng sử dụng
• Chức năng: Mô tả chi tiết:
+ Người Quản lý: quản lý sản phẩm, đơn hàng, danh mục, thống kê doanh thu
+Người mua hàng: đăng ký, đăng nhập, xem sản phầm, thêm vào giỏ hàng, mua hàng
Dự kiến kết quả
• Admin: thêm sửa xóa sản phầm, danh mục, đơn hàng và thống kê doanh thu
• User: xem chi tiết sản phẩm, thêm vào giỏ hàng, thanh toán
1.3 Giới thiệu bài toán thực tế
Xây dựng website bán phụ kiện điện thoại những điều phải lưu ý:
• Thông tin thu về sản phẩm người quản trị phải thu nhập vào hệ thông: tên sản phẩm, danh mục sản phẩm, mã sản phẩm, giá, số lượng, hình ảnh, tóm tắt, nội dung, trạng thái hàng
• Thông tin thu về phân loại sản phẩm: tên danh mục, thứ tự danh mục
• Hiển thị các sản phẩm theo, sản phẩm mới, tất cả sản phẩm cho khách hàng xem
• Khách hàng có thể xem thông tin chi tiết sản phẩm
• Khách hàng có thể sản phẩm, hỏi đáp các sản phẩm đó với người bán hàng
• Khách hàng có thể chọn bao nhiêu sản phẩm vào giỏ hàng để mua
• Khách hàng có thể thanh toán sản phẩm
Trang 5OEUNG CHIVA 20190154 [3]
Sở đồ thực hiện của khách hàng và quản trị viên:
1.4 Thông tin đầu vào, đầu ra của bài toán
• Thông tin đầu vào
- Thông tin danh mục
- Thông tin sản phẩm
- Thông tin quản trị viên
- Thông tin tên sản phẩm tìm kiếm
- Thông tin giỏ hang
- Thông tin khách hang
- Thông tin đơn hàng
• Thông tin đầu ra
- Thông tin danh sách danh mục
- Danh sách sản phẩm và thông tin chi tiết sản phẩm
- Thông tin quản trị viên bao gồm email password address và số điện thoại
- Hiển thị thông tin những sản phẩm đã chọn để mua tại giỏ hang
- In thông tin sản phẩm theo tên đã tìm kiếm và danh mục sản phẩm
- In ra thông tin khách hàng và thông tin sản phẩm
- Thông tin đơn hàng in ra thông tin khách hàng và số lượng sản phẩm đã mua
Trang 61.5 Biểu mẫu liên quan của bài toán
Bài toán cần phải xử lý
- Sản phẩm (Product): giá sản phẩm có thể thay lúc nào bất ký
- Đơn hang và chi tiết sản phẩm (Order and Product_Order): khi khách hàng đặt hàng cơ sở dữ liệu lưu thông tin đơn hàng với thông tin từng sản phẩm khách hàng mua Lúc quản trị viên thay đổi giá sản phẩm thì đơn hàng không bị thay đổi giá khi hàng hàng lúc mua
Số lượng sản phẩm
Trang 7OEUNG CHIVA 20190154 [5]
2.1 Giới thiệu Ngôn ngữ
a) HTML
- HTML là ngôn ngữ đánh dấu siêu văn bản
- HTML gồm các đoạn mã chuẩn được quy ước để thiết kế Web và được hiển thị
bởi trình duyệt Web
b) Javascript
- Javascript là một ngôn ngữ lập trình kịch bản dựa vào đối tượng phát triển có sẵn hoặc tự định nghĩa ra, javascript được sử dụng rộng rãi trong các ứng dụng Website Javascript được hỗ trợ hầu như trên tất cả các trình duyệt như Firefox,
Chrome, thậm chí các trình duyệt trên thiết bị di động cũng có hỗ trợ
- Javacript tạo nên sự thân thiện cho trang web, tạo ra các hiệu ứng đẹp mắt, tối
ưu hóa trải nghiệm người dung
c) PHP
PHP được viết tắt của chữ Personal Home Page là ngôn ngữ script trên server chạy
trên phía máy chủ (Server side) giống như các server script khác như: asp, jsp, cold fusion,…Nó cho phép dễ dàng xây dựng các trang web động, mà tương tác được với mọi
cơ sở dữ liệu như: Informix, MySQL, PostgreSQL, Oracle, Sybase, SQL Server,…
Php còn là phần mềm mở, dùng cho mục đích tổng quát Thích hợp với Web và có thể dễ dàng nhúng vào trang HTML Mã PHP có thể thực thi trên Webserver để tạo ra mã HTML và xuất ra trình duyệt web theo yêu cầu của người sử dụng
+ Đặc điểm của file php:
Php có thể chạy trên các môi trường (platforms) khác nhau như: Windows, Linux, Unix… Nó còn có khả năng tương thích với hầu hết các servers đang sử dụng hiện nay như: Apache, IIS
Ngoài ra các file PHP trả về kết quả cho trình duyệt là một trang thuần HTML, và các file PHP có thể chứa văn bản (Text), các thẻ HTML (HTML tags) và các đoạn mã kịch bản (Script)
Phần lớn các file PHP có phần mở rộng là: php, php3, Phpml và lưu ý rằng, từ phiên bản 4.0 trở về sau mới hỗ trợ session
+ Ưu điểm của Php:
Có nhiều lý do khiến cho việc sử dụng ngôn ngữ này chiếm ưu thế xin nêu ra đây
một số lý do cơ bản:
- Mã nguồn mở (open source code)
- Miễn phí, download dễ dàng từ Internet
Trang 8FilePro, Informix, InterBase, mSQL, Solid, Sybase, Velocis và nhiều hệ thống CSDL thuộc Hệ Điều Hành Unix (Unix dbm) cùng bất cứ DBMS nào có sự
hổ trợ cơ chế ODBC (Open Database Connectivity) ví dụ như DB2 của IBM
+ Nhược điểm của Php:
- PHP còn hạn chế về cấu trúc ủa ngữ pháp Nó không được thiết kế gọn gàng và không được đẹp mắt như ngôn ngữ lập trình khác
- PHP chỉ có thể hoạt động và sử dụng được trên các ứng dụng trong web Đó chính là lý do khiến cho ngôn ngữ này khó có thể cạnh tranh được với những ngôn ngữ lập trình khác Nếu như muốn phát triển và nhân rộng hơn nữa trong lập trình
Ví dụ: Ta có đoạn mã php hiển thị câu “Hom nay em duoc hoc cu phap mot doan
ma php” lên trình duyệt như sau:
- Các file php phải có phần mở rộng là php Nếu phần mở rộng là html thì đoạn mã php
sẽ không được thực thi
- Có thể viết các câu chú thích cho đoạn mã php Có ba cách viết là: /* chú thích */, # chú thích và // chú thích
- Đoạn mã php cũng có thể đặt trong cặp thẻ: <? Đoạn mã php ?>
Trang 9OEUNG CHIVA 20190154 [7]
2.2 Công Nghệ
Để xây dựng được một website bán phụ kiện điện thoại này, Em đã sử dụng một vài công cụ
để hỗ trợ quá trình làm Project 2 như:
• MySQL: để xây dựng database lưu trữ thông tin về người mua hàng(User), chi tiết sản
phẩm và người quản lý hàng(Admin) …
• PHP: Vì PHP là một ngôn ngữ hướng đối tượng mà lại rất dễ dàng tạo ra một server nên
em đã lựa chọn PHP làm ngôn ngữ server side, giao tiếp với database và phía Client
• HTML, JS, CSS (Bootstrap): Để tạo ra một trang web tương đối dễ nhìn và thân thiên,
em quyết định sử dụng Bootstrap để quá trình thiết kế và lập trình giao diện có thể trở nên thuận tiện hơn
• Môi trường phát triển ứng dụng:
• Công cụ hỗ trợ viết code: Sublime Text
• Máy chủ ảo: Xampp
• Công cụ xây dựng cơ sở dữ liệu: MySQL
Trang 10CHƯỜNG III: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
3.1 Biểu đồ use case
3.1.1 Biểu đồ use case tổng quan
Hệ thống chia làm 2 loại người khách hàng (User) và quản trị viên (Admin) Loại
1 khách hàng có thể xem các sản phẩm, tìm kiếm sản phẩm, xem giỏi hàng, đặt hàng và thành toán Hệ thống loại quản trị viên cho phép quản trị viên quản lý sản phẩm, danh mục, đơn hàng và nhân viên quản trị trang
Hình 1: Use case tổng quan
Trang 11OEUNG CHIVA 20190154 [9]
3.1.2 Biểu đồ use case mức 2
Use case người dung (User) mức 2
Trang 12a Tóm tắt: use case này của khách hàng hoạt động trên hệ thông
2 Cho phép khách hàng xem thông tin chi tiết sản phẩm bao gồm tên, mô tả, trị giá, chọn số lượng sản phẩm
3 Xem thông tin sản phẩm liên quan sản phẩm đang xem
4 Đặt sản phẩm với số lượng sản phẩm
đặt
2 Thêm số lượng sản phẩm
Trang 13OEUNG CHIVA 20190154 [11]
3 Xóa sản phẩm
4 Hiển thị tổng trị giá giỏi hàng
5 Thành toán giỏ hàng Thành toán giỏ hàng 1 Nhập thông tin cá nhân bao gồm tên, địa chỉ, số
điện thoại, email
2 Hệ thông gửi tin nhắn thông tin chi tiết đơn hàng
đã đặt
Use case quản trị viên (Admin) mức 2
Trang 15OEUNG CHIVA 20190154 [13]
a Tóm tắt: use case này của quản trị viên hoạt động trên hệ thông
b Dòng sự kiện:
Dòng sự kiện chính: Use case này bắt đầu khi người dùng chọn nhập vào thông tin tài khoản chính xác trên website
Báo cáo khách hàng 1 Quản trị viên có thể xem các báo cáo từ khách
hàng về hệ thống, sản phẩm hoặc đơn hàng nào
mục, mã, tên, trị giá, đăng ảnh, mô tả sản phẩm
2 Chính sửa thông tin sản phẩm
3 Xóa sản phẩm
2 Hiên thị đơn hàng chưa xác nhận
3 Hiển thị đơn hàng đã xác nhân
4 Thông kế tiền thu được mỗi tháng
Các dòng sự kiện khác: Nếu user nhập các thông tin không đầy đủ hoặc không thỏa các ràng buộc, thì hệ thống sẽ hiển thị một thông báo lỗi yêu cầu nhập lại, lúc này use case kết thúc
Trang 163.2 Thiết kế Cơ sở dữ liệu
Đăng ký Table
Danh mục Table
Sản phẩm Table
Trang 17OEUNG CHIVA 20190154 [15]
Giỏ hàng Table
Cart detail Table
Thongke Table
Trang 18Admin Table
3.3 Diagram Cơ sở dữ liệu
Các lớp cần lưu thông tin vào cơ sở dữ liệu bao gồm những lớp: Đăng ký, Danh
mục, Sản phẩm, Giỏ hàng, Cart detail, Thông kế và Admin
3.4 Thiết kế chi tiết lớp
Để quản lý quản trị viên xây dựng cơ sở dữ liệu gồm các thực thể sau:
tbl_Admin:
- id_admin: int là ID auto increment,
- username: tên quản trị viên
- password: mật khẩu tài khoản
Trang 19OEUNG CHIVA 20190154 [17]
- cart_statu: Trạng thái giỏ hàng
- cart_date: Ngày giỏ hàng
- cart_payment: Thanh toán giỏ hàng
Trang 21OEUNG CHIVA 20190154 [19]
3.5.2 Đăng xuất
3.5.3 Giỏ hàng
Trang 223.5.4 Thêm sản phẩm
Trang 23OEUNG CHIVA 20190154 [21]
3.5.5 Xóa sản phẩm
Trang 24CHƯƠNG IV: CÀI ĐẶT CHƯƠNG TRÌNH– KIỂM THỬ 4.1 Kết quả chương trình minh họa
• Trang website có thể tạo danh mục cho các sản phẩm
• Trang website có giao diện dễ nhìn, thân thiện với người sử dụng
• Xem chi tiết thông tin các sản phẩm
• Cho phép khách hàng đặt hàng nhập các thông tin cá nhân để giao hàng
• Sau khi nghiên cưu, em đã xây dựng được một giao diên website, thay thể cách quản lý thủ công bằng tay mất rất nhiều thời gian và tôn công sức của người quản
4.2.1.3 Thiết kế giao diện
Thiết kế giao diện dễ sử dụng và thần thiện đối với người dùng Thiết kế giao diện web
có những lợi ích:
• Tiết kiệm thời gian
• Tiết kiệm chi phí
• Dễ dàng update
• Độ chính xác cao 2 hạn chế khi sử dụng giao diện
• Chưa tạo được nét riêng: đối với template có sẵn mang lại cho khách rất nhiều tiện ích, song song đó người dùng cũng phải chấp nhận những mặt hạn chế của phương
Trang 25OEUNG CHIVA 20190154 [23]
thức này Một mẫu template có sẵn, chỉ cần mua qua một cú nhấp chuột, không thế nắm bắt dược thương hiệu của bạn
4.2.1.4 Kết luận
Cuối cùng, việc lựa chọn phương thức nào không nên quá xung quanh việc giá cả thế nào Ngân sách chỉ là một yếu tố phản ánh Điều quan trọng nhất là việc chọn lựa phải xung quanh các mục tiêu của doanh nghiệp và phương tiện tốt nhất để thực hiện dược chúng
4.2.2.2 Kiểm thử cho chức năng 1
Chức năng: Thêm danh mục
Bảng 1: Kết quả kiểm thử chức năng thêm danh mục cho sản phẩm
1 danhmuc = null Thông báo tạo danh mục
Đã xử lý thành công
Không thêm vào cơ sở dữ liệu
FAIL
Trang 26Chức năng: Thêm mới sản phẩm
Bảng 2: Kết quả kiểm thử chức năng thêm sản phẩm
Nội dung = null
Thông báo tạo không thành công Không cấp nhất vào cơ sở dữ liệu
Không xử lý FAIL
vào cơ sở dữ liệu mà không có ảnh của sản phẩm
3 Có đầy đủ thông
tin
Tạo sản phảm mới thành công Cấp nhất vào cơ sở
dữ liệu
Chức năng: Đặt hàng và thành toán
Bảng 3: Kết quả kiểm thử chức năng thành toán
4.2.3 Kết luận
Website bán phụ kiện điện thoại cũng đã chạy ổn định không có lỗi nào Em đánh giá nó chạy 9 điểm Nếu mà dữ liệu càng nhiều thì em phải viết thêm các thuật toán bao gồm sort, tìm kiếm sản phẩm cho nhanh để khách hàng trải qua kính nghiệm ổn định
Trang 27OEUNG CHIVA 20190154 [25]
4.3 Giao diện chương trình
Trang chủ
Trang chi tiết sản phẩm
Trang 28Trang đăng ký user
Trang đăng nhập user
Trang 29OEUNG CHIVA 20190154 [27]
Trang thông tin khách hàng
Trang giỏ hang
Trang 30Trang kiểm tra thanh toán
Trang thanh toán
Trang 31OEUNG CHIVA 20190154 [29]
Trang login admin
Trang admin
Trang 32Trang quản lý danh mục
Trang quản lý sản phẩm
Trang 33OEUNG CHIVA 20190154 [31]
Trang quản lý đơn hàng
Trang 34KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Sau thời gian thực hiện đề tài, website bán phụ kiện điện thoại đã hoàn thành và đạt được một số kết quả sau:
• Hiểu rõ quy trình bán phụ kiện điện thoại bán hàng trực tuyến
• Xây dựng thành công website bán phụ kiện điện thoại đáp ứng nhu cầu đặt ra của người tiêu dùng
• Tìm hiểu và nắm khá rõ về các công cụ để xây dựng website như: PHP, MySQL, XAMPP và phát triển trên Sublime Text
• Giao diện của chương trình thân thiện, dễ sử dụng,
• Website đã giúp người dùng tiết kiệm thời gian, công sức để có được một sản phẩm ưng ý Dễ dàng quản lý thông tin chi tiết người dùng, các thông tin về sản phẩm và những đơn hàng của người mua sản phẩm từ đó sẽ thuận tiện cho việc thanh toán và giao hàng
• Thực hiện kiểm thử phần mềm ở mức độ lập trình
Hạn chế của đề tài:
• Chưa thể cập nhật hết được tất cả những sản phẩm hiện đang có mặt trên thị trường
• Website chưa được thử nghiệm trên mạng Internet
• Website chưa làm được về phần giao hàng
• Website chưa responsive
Với nỗ lực của bản thân, em đã cố gắng hoàn thành yêu cầu đề tài Do thời gian và năng lực có hạn nên website của em mới chỉ đi sâu vào chức năng bán sản phẩm Em có hướng phát triển website trở thành một website bán hàng chuyên nghiệp Cung cấp đầy đủ
những mặt hàng hiện đang có trên thị trường với giá cả hợp lý, phải chăng Đi kèm với bán hàng là những dịch vụ uy tín và chất lượng nhất để phục vụ đến khách hàng Sau này
em sẽ phát triển thêm API cho ứng dụng xây dựng phần mêm trên hệ điều hành Android
và IOS