TỔNG QUAN VỀ ĐỀ TÀI
Khảo sát hiện trạng của công ty
1.1.1 Ưu nhược điểm của hệ thống hiện hành Ưu điểm Giới thiệu hình ảnh của cửa hàng tới mọi người Khách hàng có thể mua bán các sản phẩm trực tiếp trên website
Giao diện thân thiện, dễ sử dụng
Nhược điểm Tốc độ xử lý chậm
Giao diện chưa được hiện đại
1.1.2 Giải pháp đưa ra hệ thống mới
- Giới thiệu hình ảnh của cửa hàng tới mọi người với một giao diện hiện đại hơn
Đẩy nhanh tốc độ xử lý thông tin giúp tìm kiếm sản phẩm và thông tin khách hàng trở nên nhanh chóng và dễ dàng, đồng thời cập nhật sản phẩm và tin tức một cách hiệu quả.
Giới thiệu về đề tài
Hiện nay, các công ty công nghệ hàng đầu đang đầu tư mạnh mẽ vào việc phát triển giải pháp và sản phẩm thương mại điện tử, cho thấy tầm quan trọng của việc mua sắm trực tuyến Với một vài thao tác đơn giản trên Internet, người tiêu dùng có thể dễ dàng tìm thấy và đặt hàng sản phẩm mà không tốn nhiều thời gian Tại Việt Nam, nhiều doanh nghiệp đang áp dụng thương mại điện tử để khẳng định thương hiệu và quảng bá ra thị trường quốc tế với chi phí hợp lý Tuy nhiên, sự phát triển của thương mại điện tử còn gặp khó khăn do cơ sở hạ tầng hạn chế, như viễn thông chưa phát triển và dịch vụ thanh toán điện tử chưa phổ biến, dẫn đến việc chỉ dừng lại ở mức độ giới thiệu sản phẩm và tiếp nhận đơn đặt hàng qua web.
Để nghiên cứu và thúc đẩy thương mại điện tử tại Việt Nam, tôi đã thực hiện đề tài “Xây dựng website bán đồ chơi thông minh Montessori cho Công ty Oreka”, nhằm hỗ trợ cho Công ty cổ phần phát triển giáo cụ Oreka.
- Địa chỉ công ty: Xóm 2, Phú Đô, Mễ Trì, Từ Liêm, Hà Nội
Mục đích và ý nghĩa
Xây dựng website quản lý bán hàng đồ chơi thông minh Montessori là phát triển một ứng dụng trực tuyến giúp người dùng dễ dàng mua sắm Khách hàng chỉ cần đăng ký thông tin cá nhân sau khi tìm hiểu đầy đủ về sản phẩm Khi đơn hàng được xác nhận, hệ thống sẽ thông báo tình trạng mua hàng và công ty sẽ tiến hành giao hàng đến địa chỉ đã cung cấp.
Tạo ra được trang web có đủ chức năng của bán hàng trực tuyến qua mạng, chạy được với độ chính xác cao, xác thực với thực tế
Giúp cho người có nhu cầu mua hàng của công ty đến được với công ty một cách nhanh chóng
Tiết kiệm được nhiều thời gian và tiền bạc cho khách hàng
Quảng bá được hình ảnh của công ty một cách rộng rãi Đồng thời giúp cho việc kinh doanh của công ty đạt kết quả tốt.
Sơ đồ nghiệp vụ
Nhân viên tiếp nhận yêu cầu đặt hàng từ khách hàng và kiểm tra khả năng cung ứng sản phẩm Nếu hàng còn và có thể giao, nhân viên sẽ lập hóa đơn, nhận tiền thanh toán và in hóa đơn Ngược lại, nếu không còn hàng hoặc có vấn đề, nhân viên sẽ từ chối yêu cầu của khách Cuối cùng, công ty tiến hành giao hàng cho khách, hoàn tất quy trình bán hàng như mô tả trong hình 1.1.
Nhận yêu cầu từ khách hàng
Kiểm tra khả năng đáp ứng
Hinh 1.1 Sơ đồ nghiệp vụ
CƠ SỞ LÝ THUYẾT
Ngôn ngữ lập trình PHP
PHP [4; 5] là ngôn ngữ dễ học
Lập trình web thuận lợi hơn do PHP được thiết kế dành riêng cho lập trình web
PHP hoàn toàn miễn phí
Nền tảng PHP khá vững và đang là lựa chọn của nhiều website lơn trên thế giới
Thư viện hỗ trợ PHP rât phong phú và chất lượng
2.1.2 Giới thiệu ngôn ngữ lập trình PHP
PHP (Personal Home Page) là một ngôn ngữ lập trình dạng script, hoạt động trên server và cung cấp mã HTML cho trình duyệt Ngôn ngữ này đã có một lịch sử phát triển đáng chú ý.
PHP, được phát triển từ năm 1994 bởi Rasmus Lerdorf, đã chính thức tách hướng phát triển với phiên bản 3 vào năm 1998 Là một ngôn ngữ lập trình có cấu trúc và chức năng đa dạng, PHP đã thu hút sự quan tâm của nhiều nhà thiết kế web chuyên nghiệp Phiên bản 3 cung cấp hỗ trợ cho nhiều cơ sở dữ liệu như MySQL, mSQL, OPBC và Oracle, cùng với khả năng làm việc với hình ảnh, file dữ liệu, FTP, XML và các kỹ thuật ứng dụng khác.
Tính đến thời điểm hiện tại, PHP đã phát triển đến phiên bản 4, ngày càng hoàn thiện và dễ sử dụng hơn, đồng thời là một dịch vụ miễn phí hàng đầu.
PHP là open source, điều này có nghĩa bạn có thể làm việc trên mã nguồn, them, sửa, sử dụng và phân phối chúng
PHP là một ngôn ngữ lập trình mạnh mẽ, hoạt động chủ yếu trên máy chủ, bao gồm cả Windows và Unix Khi một trang web sử dụng PHP, nó phải hoàn thành tất cả các quy trình xử lý thông tin trước khi xuất kết quả dưới dạng HTML.
Vì quá trình xử lý này diễn ra trên máy chủ nên trang web được viết bằng PHP sẽ dễ nhìn hơn ở bất kì hệ điều hành nào
PHP có khả năng kết nối trực tiếp với HTML, tương tự như nhiều ngôn ngữ lập trình khác Mã PHP được phân tách khỏi HTML bằng các thực thể đầu và cuối Khi tài liệu được phân tích, quá trình xử lý PHP chỉ diễn ra ở những điểm quan trọng và sau đó xuất ra kết quả.
2.1.4 Các thành phần của PHP
PHP(PHP frameworks) là 1 ngôn ngữ script
PHP, viết tắt của "PHP: Hypertext Preprocessor", là một ngôn ngữ lập trình kịch bản mã nguồn mở, chủ yếu được sử dụng để phát triển các ứng dụng cho máy chủ Ngôn ngữ này rất phù hợp cho việc phát triển web và có khả năng nhúng dễ dàng vào trang HTML.
Mã PHP bao gồm các cấu trúc lệnh tương tự như các dòng lệnh trong các ngôn ngữ lập trình như C, C++, Java, và Python PHP yêu cầu server cung cấp thông tin như giờ và số lượng khách truy cập Tóm lại, PHP thực hiện các lệnh cho server, điều mà ngôn ngữ HTML không thể làm được.
Dùng mã nguồn mở (có thể chạy trên Apache hoặc IIS)
Phổ biến hơn ASP (có thể thấy dựa vào số website dùng PHP)
Dễ học khi đã biết HTML, C
Dựa vào XAMP (dễ cấu hình)
Nhiều hệ thống CMS miễn phí dùng Đi cặp với mySQL (cũng dễ)
Hoạt động trên Linux, có thể trên IIS – Windows nhưng hiếm!
Hệ quản trị MySQL
Tốc độ truy xuất nhanh, ổn định, dễ sử dụng
Có tính khả chuyển, hoạt động trên nhiều nền tảng hệ điều hành
Cung cấp hệ thống thư viện hàm lớn
Khả năng bảo mật tốt
Hoạt động như một hệ client/server hoặc trong hệ thống nhúng
Thích hợp cho các hệ thống trên Internet (Yahoo!, Alcatel, Google, Nokia, YouTube…) Được hỗ trợ bởi nhiều ngôn ngữ lập lập trình
MySQL là một hệ quản trị cơ sở dữ liệu phổ biến toàn cầu, đặc biệt trong phát triển ứng dụng web, thường kết hợp với ngôn ngữ lập trình PHP Hệ thống web ưa chuộng MySQL nhờ vào tốc độ xử lý nhanh, dễ sử dụng và khả năng tương thích với các hệ điều hành phổ biến như Linux và Windows MySQL sử dụng ngôn ngữ truy vấn T-SQL để thao tác dữ liệu.
2.2.3 Lịch sử phát triển của MySQL
- 1994 : được phát triển bởi Michael Widenius và David Axmark thuộc công ty TcX
- 23-5-1995 : phát hành phiên bản đầu tiên
- 8-1-1998 : phiên bản trên Windows 95 và NT được phát hành
- 01-2001 : phiên bản 3 được phát hành
- 03-2003 : phiên bản 4 được phát hành
- 26-2-2008 : Sun MicroSystem mua lại MySQL AB
- Ver 5.1 chứa khá nhiều lỗi và hoạt động không hiệu quả
- 27-1-2010 : Oracle mua lại Sun MicroSystem và phát hành Ver 5.4, 5.5 hoạt động tốt hơn
2.2.4 Đối tượng làm việc của MySQL
MySQL là một ứng dụng quan trọng trên web server chuẩn, không phải là ngôn ngữ lập trình nhưng là ngôn ngữ cần thiết để làm việc với cơ sở dữ liệu Mặc dù MySQL chủ yếu hoạt động qua dòng lệnh, nhưng có các chương trình giao diện như PHPMyAdmin giúp người dùng dễ dàng hơn MySQL đóng vai trò quan trọng trong WordPress, nơi tất cả bài viết và nội dung của bạn được lưu trữ trong cơ sở dữ liệu của nó MySQL thường được tích hợp với Apache và PHP để tối ưu hóa hiệu suất.
Mã nguồn mở tự do và hỗ trợ xuyên suốt
MySQL là cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới, cung cấp hỗ trợ linh hoạt cho mọi loại phát triển ứng dụng Thư viện plugin có sẵn giúp tích hợp dễ dàng vào MySQL, hỗ trợ đa dạng ứng dụng Ngoài ra, MySQL còn cung cấp các bộ kết nối, cho phép các ứng dụng ưu tiên sử dụng MySQL như một máy chủ quản lý dữ liệu hiệu quả.
Nơi tin cậy để lưu trữ web và dữ liệu
MySQL cung cấp hỗ trợ giao dịch mạnh mẽ, tự động và bền vững, với khả năng phân loại và hỗ trợ giao dịch đa dạng Điều này đảm bảo rằng dữ liệu luôn được toàn vẹn trong suốt quá trình hoạt động của server, đồng thời các mức giao dịch độc lập được chuyên môn hóa cao.
MySQL cung cấp các tiêu chuẩn đảm bảo chất lượng, giúp người dùng yên tâm khi lựa chọn sử dụng Với nhiều tùy chọn và giải pháp đa dạng, MySQL đáp ứng nhu cầu của người dùng cho việc triển khai server cơ sở dữ liệu hiệu quả.
HTML
HTML (HyperText Markup Language) là ngôn ngữ đánh dấu siêu văn bản, được thiết kế để cấu trúc và trình bày thông tin trên các trang web trong World Wide Web.
Một trang web được bắt đầu bằng thẻ mở và kết thúc bằng thẻ đóng
Trong một tài liệu HTML, có hai phần chính: thông tin header được định nghĩa trong cặp thẻ và nội dung của trang web được khai báo trong cặp thẻ .
Nội dung đặt trong cặp thẻ bao gồm:
Tiêu đề trang web (title)
Phần mô tả trang web (description)
Từ khóa liên quan đến nội dung trang web …
Nội dung đặt trong cặp thẻ được hiển thị trên trang web, bao gồm các cặp thẻ như là:
, , ,CSS
CSS (Cascading Style Sheet) là ngôn ngữ quan trọng trong lập trình web, giúp căn chỉnh và trình bày giao diện của website Mặc dù các thẻ HTML chỉ tạo ra bộ khung cơ bản, nhưng CSS cho phép cải thiện vẻ đẹp và tính thẩm mỹ của trang web, thường được sử dụng song song với HTML.
Chúng ta có ba cách để chèn CSS vào trang HTML:
Chèn nội dung CSS vào cặp thẻ trong phần
của trang web
Chèn trực tiếp vào bên trong thẻ HTML
Liên kết với một file css bên ngoài
Trong thực tế, cách thứ 3 được các lập trình viên sử dụng nhiều nhất do tính tiện dụng và linh hoạt.
Bootstrap
Bootstrap là một trong những CSS Framework phổ biến nhất hiện nay, được phát triển bởi Twitter Framework này hỗ trợ khả năng responsive, cho phép trang web tự động co giãn theo kích thước của cửa sổ trình duyệt, và tương thích tốt với các thiết bị cỡ nhỏ Với sự phổ biến của smartphone và tablet, điều này trở nên vô cùng quan trọng, giúp các nhà thiết kế và phát triển ứng dụng web tiết kiệm chi phí bằng cách chỉ cần thiết kế một lần cho mọi thiết bị.
Hỗ trợ khả năng responsive: tức là trang web sẽ tự động co giãn kích thước của cửa sổ trình duyệt
Bootstrap là công cụ thiết kế web linh hoạt, tương thích tốt với các thiết bị cỡ nhỏ như smartphone, giúp tiết kiệm thời gian vì không cần thiết kế riêng cho mobile Nó cho phép bạn tạo ra một giao diện duy nhất có thể hoạt động trên mọi thiết bị Hơn nữa, Bootstrap được tích hợp với thư viện jQuery và tương tác hiệu quả với chuẩn HTML5 và CSS3.
PHÂN TÍCH HỆ THỐNG
Xác định yêu cầu
Website giúp người dùng tìm kiếm và tra cứu thông tin theo nhiều tiêu chí, bao gồm độ tuổi, với quy trình đăng ký và đăng nhập nhanh chóng, dễ dàng.
Website có khả năng lưu trữ và quản lý thông tin khách hàng, cũng như phản hồi qua dịch vụ Email, từ đó hỗ trợ đánh giá nhu cầu và tâm lý của khách hàng.
• Website có khả năng hỗ trợ nhà quản trị trong việc cập nhật thông tin
• Website có khả năng tổng hợp, thống kê, báo cáo giúp nhà quản trị biết được số lượng khách xem, thông tin phản hồi của khách
3.1.2.Yêu cầu phi chức năng
• Website đáp ứng được khả năng truy cập nhanh, thông tin tin cậy, chính xác
• Giao diện thân thiện, dễ sử dụng, tính thẩm mỹ và tính ổn định cao
• Website đảm bảo được tính bảo mật cao, phân quyền một cách hợp lý
• Website có khả năng lưu trữ, xử lý khối lượng lớn thông tin nhưng chiếm dung lượng nhỏ trong máy tính
Giao diện website cần phải thân thiện và dễ sử dụng, vì người dùng không phải là chuyên gia về công nghệ thông tin Điều này đòi hỏi thiết kế trực quan, hấp dẫn và hạn chế tối đa việc sử dụng thuật ngữ chuyên ngành hay từ ngữ nước ngoài Việc trình bày trang web bằng nhiều ngôn ngữ có thể được xem xét sau này.
An toàn thông tin là yếu tố hàng đầu khi đưa nội dung lên website, nhằm bảo vệ thông tin khỏi những hành vi chỉnh sửa sai lệch Trước khi bài viết được công bố, cần phải trải qua quy trình kiểm duyệt nghiêm ngặt, và chỉ những người có thẩm quyền mới được phép chỉnh sửa Việc ngăn chặn các hành vi chỉnh sửa nhằm mục đích cá nhân là rất quan trọng để đảm bảo tính chính xác và độ tin cậy của thông tin.
• Những bài viết sau một thời gian lưu trữ trong cơ sở dữ liệu cần phải được sao lưu để đề phòng những sự cố xảy ra
Sự an toàn của người dùng đề cập đến việc bảo mật thông tin cá nhân của các thành viên trên website Chỉ những người quản lý có trách nhiệm mới được phép truy cập vào các thông tin cá nhân này.
Tính tiến hóa của website là yếu tố quan trọng, cho phép người quản trị dễ dàng thay đổi các thuộc tính với miền giá trị hữu hạn và rời rạc Điều này bao gồm việc điều chỉnh số lượng tin hiển thị trên mỗi trang, cập nhật danh sách chuyên mục và thay đổi nhóm người dùng, nhằm tối ưu hóa trải nghiệm người dùng và nâng cao hiệu suất của website.
Phân tích yêu cầu
3.2.1.Chức năng tìm kiếm thông tin sản phẩm
Bảng 3 1 Chức năng tìm kiếm thông tin
Mô tả Chức năng tìm kiếm thông tin theo từ khóa được nhập vào Đầu vào Thông tin cần tìm kiếm
Kiểm tra sự tương thích của tên, thông tin được nhập vào Kết nối đến cơ sở dữ liệu
Tìm kiếm thông tin Đầu ra Hiển thị thông tin hoặc thông báo không tìm thấy
Mô tả Chức năng tìm kiếm thông tin theo từ khóa được nhập vào Đầu vào Thông tin cần tìm kiếm
Kiểm tra sự tương thích của tên, thông tin được nhập vào Kết nối đến cơ sở dữ liệu
Tìm kiếm thông tin Đầu ra Hiển thị thông tin hoặc thông báo không tìm thấy
Bảng 3 2 Chức năng đăng nhập
Mô tả Đăng nhập khi đã có tài khoản Đầu vào Thông tin đăng nhập
+ Tên đăng nhập + Mật khẩu
Quá trình xử lý Kết nối cơ sở dữ liệu so sánh thông tin đăng nhập có đúng không?
Tạo phiên truy cập cho người dùng đăng nhập Đầu ra Thông báo kết quả đăng nhập
3.2.3.Chức năng hiển thị thông tin
Bảng 3 3 Chức năng hiển thị danh mục thông tin
Mô tả Hiển thị thông tin theo từng danh mục Đầu vào Đường link danh mục
Quá trình xử lý Lấy tất cả các thông tin có trong cơ sở dữ liệu theo danh mục Đầu ra Hiện thị danh sách thông tin
3.2.4.Chức năng hiển thị chi tiết thông tin
Bảng 3 4 Chức năng chi tiết thông tin
3.2.5.Chức năng thống kê truy cập
Bảng 3 5 Chức năng thống kê truy cập
Hiển thị chi tiết thông tin yêu cầu người dùng nhập đường link liên quan Sau khi nhấp vào thông tin cần tìm, hệ thống sẽ truy xuất dữ liệu từ cơ sở dữ liệu để lấy thông tin chi tiết và hiển thị kết quả cho người dùng.
Mô tả Hiển thị số người truy cập vào website Đầu vào Người dùng truy cập vào website
Quá trình xử lý Đếm số lượt truy cập Đầu ra Hiển thị số thành viên đã truy cập website
3.2.6.Chức năng quản lý thông tin (thêm, xóa, sửa)
Bảng 3 6 Chức năng thêm thông tin
Mô tả Thêm mới một sản phẩm Đầu vào + Tên thông tin
+ Thuộc danh mục thông tin + Chi tiết thông tin
+ Ngày cập nhật + Trạng thái
Quá trình xử lý Kiểm tra dữ liệu form có đúng không? Đầu ra Hiển thị thông tin
Bảng 3 7 Chức năng sửa thông tin
Mô tả Dùng để thay đổi thông tin Đầu vào Chọn sản phẩm cần thay đổi
Quá trình xử lý Kiểm tra dữ liệu form có đúng không, kết nối đến CSDL để cập nhật thông tin Đầu ra Hiển thị thông tin mới
Bảng 3 8 Chức năng xóa thông tin
Mô tả Dùng để xóa thông tin Đầu vào Chọn thông tin cần xóa
Quá trình xử lý Kết nối đến CSDL cho phép xóa dữ liệu Đầu ra Hiển thị thông báo.
Sơ đồ phân rã chức năng
3.3.1.Sơ đồ phân rã chức năng
Sau khi nắm bắt những thông tin từ công ty, em xin đưa ra một hệ thống website bán hàng cho công ty như hình 3.1
HỆ THỐNG WEBSITE BÁN ĐỒ CHƠI THÔNG MINH MONTESSORI CHO CÔNG TY OREKA
2.0 Quản lý thông tin, tin tức 3.0 Quản lý sản phẩm 5.0 Quản lý đơn hàng 6.0 Quản lý liên hệ/góp ý
2.1 Cập nhật tin tức 3.1 Cập nhật sản phẩm
3.2 Cập nhật danh mục sản phẩm
3.3 Tìm kiếm sản phẩm/danh mục sản phẩm
6.1 Cập nhật liên hệ/góp ý
6.3 Gửi kết quả phản hồi
5.4 In đơn hàng 6.4 Báo cáo/thống kê
Hình 3 1 Sơ đồ phân rã chức năng
3.3.2.1 Quản lý tài khoản Đối với khách hàng: Khách hàng mới chưa có tài khoản thì chỉ xem được sản phẩm Khi khách hàng có nhu cầu muốn đặt hàng hay liên hệ, góp ý thì phải thực hiện đăng ký tài khoản Khách hàng đã có tài khoản có thể thực hiện chức năng đăng nhập, đăng xuất và có thể thay đổi mật khẩu theo ý muốn Đối với nhà quản trị: ngoài các chức năng cơ bản như khách hàng, nhà quản trị còn có chức năng phân quyền, báo cáo/thống kê
3.3.2.2 Quản lý thông tin, tin tức
Khách hàng có thể xem danh sách các mặt hàng hiện có, phân loại theo độ tuổi của trẻ Bên cạnh sản phẩm, khách hàng còn được cập nhật những tin tức mới nhất từ công ty, bao gồm thông tin về khuyến mãi và các sự kiện khác.
Nhà quản trị không chỉ thực hiện các chức năng tương tự như khách hàng mà còn cần thường xuyên cập nhật thông tin về hệ thống bán hàng, bao gồm các chương trình khuyến mãi của công ty Họ cũng cần tìm kiếm tin tức cần thiết để kịp thời bổ sung và sửa đổi thông tin.
Khách hàng: Có thể tìm kiếm sản phẩm theo độ tuổi của trẻ
Nhà quản trị cần liên tục cập nhật thông tin về sản phẩm mới, điều chỉnh thông tin sản phẩm hiện có và loại bỏ những sản phẩm đã hết hàng để đáp ứng nhanh chóng nhu cầu của khách hàng.
Quản trị viên cần cập nhật thông tin đơn đặt hàng và trạng thái xử lý để đáp ứng nhanh chóng nhu cầu của khách hàng Họ cũng phải tìm kiếm và báo cáo thống kê các đơn đặt hàng Khách hàng, sau khi tìm thấy sản phẩm mong muốn, sẽ thêm vào giỏ hàng và gửi đơn qua website công ty để chờ được xử lý.
Quản trị viên liên tục cập nhật và tìm kiếm đơn hàng để thống kê thông tin khách hàng, sau đó gửi cho bộ phận chăm sóc khách hàng để xác minh tính chính xác của thông tin Mục tiêu là đáp ứng nhanh chóng nhu cầu của khách hàng.
3.3.2.6 Quản lý liên hệ/góp ý
Khách hàng: Khi có thắc mắc về sản phẩm hay góp ý gì với công ty, khách hàng có thể đăng nhập rồi gửi liên hệ/góp ý qua website
Nhà quản trị phải thường xuyên tìm kiếm, cập nhật và phản hồi lại những liên hệ/góp ý của khách hàng một cách nhanh gọn nhất
Sơ đồ dữ liệu mức khung cảnh
Hình 3 2 Sơ đồ luồng dữ liệu mức khung cảnh
Sơ đồ luồng dữ liệu mức đỉnh
2.0 Quản lý thông tin, tin tức
Kết quả đăng kí Thông tin đăng nhập/đăng xuất
Kết quả đăng nhập/đăng xuất
Tài khoản Thông tin tài khoản cập nhât
Thông tin yêu cầu xem tin tức
Tin tức Thông tin tin tức cập nhât Nội dung tin tức
Kết quả tìm/cập nhật
Kết quả đăng nhập/đăng xuất Thông tin phân quyền Kết quả phân quyền
Báo cáo/thống kê Thông tin yêu cầu báo cáo/thống kê
Tin tức Báo cáo/thống kê Thông tin yêu cầu báo cáo/thống kê Thông tin yêu cầu cập nhật tin tức
Thông tin yêu cầu đăng nhập/đăng xuất
Yêu cầu tìm kiếm sản phẩm Kết quả tìm kiếm
Sản phẩm Thông tin sản phẩm cập nhât
Thông tin danh mục sản phẩm cập nhât
Cập nhật giỏ hàng và kết quả gửi đơn hàng là thông tin quan trọng mà người dùng cần biết Thông tin tài khoản cũng được cập nhật để đảm bảo đơn hàng được xử lý chính xác Hãy theo dõi kết quả cập nhật để nắm bắt tình hình giỏ hàng của bạn.
Thông tin yêu cầu cập nhật sản phẩm/Danh mục sản phẩm Sản phẩm/Danh mục sản phẩm
Thông tin yêu cầu tìm kiếm sản phẩm/Danh mục sản phẩm
Thông tin cập nhật giỏ hàng Giỏ hàng Thông tin yêu cầu tìm kiếm Kết quả tìm kiếm Thông tin yêu cầu báo cáo/thống kê
6.0 Quản lý liên hệ/góp ý
Thông tin tài khoản được lấy ra Đơn hàng
Thông tin tài khoản được lấy ra Liên hệ/góp ý
Thông tin liên hệ/góp ý cập nhât Thông tin liên hệ/góp ý Kết quả liên hệ/góp ý
Thông tin cập nhật đơn hàng Đơn hàng Thông tin yêu cầu tìm kiếm Kết quả tìm kiếm Thông tin yêu cầu báo cáo/thống kê
Cập nhật thông tin yêu cầu và liên hệ để gửi góp ý Tìm kiếm thông tin theo yêu cầu và xem kết quả tìm kiếm Ngoài ra, có thể yêu cầu báo cáo hoặc thống kê và nhận các báo cáo/thống kê tương ứng.
Thông tin yêu cầu báo cáo/thống kê Báo cáo/thống kê
4.0 Quản lý giỏ hàng Khách hàng
Thông tin sản phẩm được lấy ra
5.0 Quản lý đơn hàng Thông tin đơn hàng cập nhât
Hình 3 3 Sơ đồ luồng dữ liệu mức đỉnh
Sơ đồ luồng dữ liệu mức dưới đỉnh
3.6.1 Sơ đồ luồng dữ liệu mức dưới đỉnh đối với chức năng quản lý tài khoản
Thông tin tài khoản cập nhật
Thông tin tài khoản được lấy ra
Thông tin tài khoản cập nhập
Thông tin tài khoản cập nhật Tài khoản
Kết quả đăng nhập/đăng xuất Thông tin đăng nhập/đăng xuất
Thông tin tìm kiếm Kết quả tìm kiếm
Thông tin yêu cầu đăng kí( hoặc sửa đổi)
Kết quả đăng kí(hoặc sửa đổi)
Thông tin cập nhật thông tin khách hàng Kết quả cập nhật
Thông tin cập nhật thông tin đăng nhập/đăng xuất Kết quả cập nhật
Thông tin cập nhật thông tin tìm kiếm Kết quả cập nhật
Thông tin cập nhật thông tin phân quyền Kết quả cập nhật
Thông tin báo cáo/thống kê Kết quả báo cáo/thống kê
Hình 3 4 Sơ đồ luồng dữ liệu mức dưới đỉnh đối với chức năng quản lý tài khoản
3.6.2 Sơ đồ luồng dữ liệu mức dưới đỉnh đối với chức năng quản lý tin tức
Thông tin yêu cầu xem thông tin, tin tức
Thông tin cập nhật tin tức Kết quả cập nhật
Tin tức Thông tin tin tức cập nhật
Thông tin yêu cầu báo cáo/thống kê
Thông tin, tin tức được lấy ra
Thông tin tìm kiếm Kết quả tìm kiếm
Thông tin cập nhật tìm kiếm Kết quả cập nhật
Hình 3 5 Sơ đồ luồng dữ liệu mức dưới đỉnh đối với chức năng quản lý tin tức
3.6.3 Sơ đồ luồng dữ liệu mức dưới đỉnh đối với chức năng quản lý sản phẩm
3.2 Cập nhật danh mục sản phẩm
3.3 Tìm kiếm sản phẩm/danh mục sản phẩm
Quản trị viên Khách hàng
Thông tin yêu cầu cập nhật sản phẩm
Thông tin yêu cầu cập nhật Danh mục sản phẩm Danh mục sản phẩm
Thông tin yêu cầu tìm kiếm sản phẩm/Danh mục sản phẩm Sản phẩm/Danh mục sản phẩm
Thông tin yêu cầu báo cáo/thống kê
Sản phẩm Thông tin sản phẩm cập nhật
Thông tin danh mục sản phẩm cập nhật
Danh mục sản phẩm Thông tin danh mục sản phẩm được lấy ra
Thông tin danh mục sản phẩm được lấy ra Sản phẩm
Thông tin sản phẩm được lấy ra
Thông tin sản phẩm được lấy ra
Thông tin yêu cầu xem sản phẩm Sản phẩm
Thông tin yêu cầu tìm kiếm Sản phẩm/Danh mục sản phẩm
Thông tin yêu cầu xem Danh mục sản phẩm
Hình 3 6 Sơ đồ luồng dữ liệu mức dưới đỉnh đối với chức năng quản lý sản phẩm
3.6.4 Sơ đồ luồng dữ liệu mức dưới đỉnh đối với chức năng quản lý giỏ hàng
Quản trị viên Khách hàng
Thông tin cập nhật giỏ hàng Đơn hàng
Thông tin gửi đơn hàng
Thông tin xác nhận Đơn hàng
Thông tin cập nhật giỏ hàng Đơn hàng
Thông tin yêu cầu báo cáo/thống kê
Thông tin đơn hàng được lấy
Thông tin đơn hàng được lấy
Thông tin tài khoản được lấy ra
Thông tin sản phẩm được lấy ra
Thông tin sản phẩm được lấy ra
Thông tin tài khoản được lấy ra
Thông tin duyệt giỏ hàng Kết quả duyệt
Hình 3 7 Sơ đồ luồng dữ liệu mức dưới đỉnh đối với chức năng quản lý giỏ hàng
3.6.5.Sơ đồ luồng dữ liệu mức dưới đỉnh đối với chức năng quản lý đơn hàng
Quản trị viên Khách hàng
Thông tin yêu cầu xem hóa đơn
Hóa đơn Thông tin hóa đơn cập nhậ t
Thông tin hóa đơn được lấy
Thông tin hóa đơn được lấy ra
Thông tin hóa đơn dược lấy ra
Thông tin yêu cầu in hóa đơn
Thông tin yêu cầu báo cáo/thống kê
Thông tin cập nhật Kết quả cập nhật Đơn hàng Thông tin đơn hàng được lấy
Thông tin đơn hàng được lấy ra
Tài khoản Thông tin tài khoản cập nhật
5.5 Báo cáo/thống kê Đơn hàng Thông tin yêu cầu tìm kiếm
Thông tin yêu cầu duyệt Kết quả duyệt
Thông tin tài khoản được lấy
Hình 3 8 Sơ đồ luồng dữ liệu mức dưới đỉnh đối với chức năng quản lý đơn hàng
3.6.6 Sơ đồ luồng dữ liệu mức dưới đỉnh đối với chức năng quản lý liên hệ/góp ý
6.1 Cập nhật liên hệ/góp ý
6.3 Gửi kết quả phản hồi
Quản trị viên Khách hàng
Thông tin phản hồi được gửi
Thông tin yêu cầu liên hệ/góp ý
Kết quả liên hệ/góp ý Thông tin cập nhật
Thông tin duyệt liên hệ/góp ý Kết quả duyệt
Thông tin yêu cầu báo cáo/thống kê
Thông tin liên hệ/góp ý được lấy ra
Thông tin liên hệ/góp ý cập nhật
Thông tin liên hệ/góp ý được lấy ra
Hình 3 9 Sơ đồ luồng dữ liệu mức dưới đỉnh đối với chức năng quản lý liên hệ/góp ý
THIẾT KẾ HỆ THỐNG
Thiết kế cơ sở dữ liệu
4.1.1 Xác định các thực thể
Tập thực thể KHACHHANG(KH) gồm các thuộc tính: ma khách hàng,
ID khách hàng, mật khẩu, địa chỉ, email, điện thoại
Tập thực thể CHITIETDONHANG(CTDH) gồm các thuộc tính: ma CTDH, maSP, maDH, số lượng
Tập thực thể NHASANXUAT(NSX) gồm các thuộc tính: maNSX, tenNSX, địa chỉ, email, điện thoại
Tập thực thể DANHMUCSANPHAM(DMSP) gồm các thuộc tính: mã DMSP, tên DMSP
Tập thực thể SANPHAM(SP) gồm các thuộc tính: mãSP, tên sản phẩm, hình ảnh, mô tả, đơn vị tính, maDMSP, maNSX
Tập thực thể DONHANG(DH) gồm các thuộc tính: maDH, userID, ngày lập, trạng thái, maKH
Tập thực thể GIABAN(GB) gồm các thuộc tính: maGB, maSP, đơn vị tính, giá, ngày áp dụng
Tập thực thể GOPY gồm các thuộc tính: maGOPY,ma phản hồi, nội dung góp ý, maKH
Tập thực thể PHANHOI(PH) gồm các thuộc tính: maPH,ma góp ý, nội dung phản hồi, userID
Tập thực thể TINTUC(TT) gồm các thuộc tính: maTT, userID, tent, nội dung, ngày đăng
Tập thực thể QUYEN gồm các thuộc tính: quyenID, tên quyền, giá trị
Tập thực thể USER gồm các thuộc tính: userID, loại, tên loại
Tập thực thể PHANQUYEN gồm các thuộc tính: phanquyen, userID, quyenID
4.1.2.Xác định liên kết giữa các thực thể
KHACHHANG - có - DONHANG: 1-N vì một khách hàng có thể có nhiều đơn hàng, một đơn hàng chỉ của một khách hàng
Khách hàng có thể gửi nhiều góp ý cho nhà quản trị, và nhà quản trị cũng có thể phản hồi nhiều lần cho một góp ý.
DMSP – CÓ – SANPHAM: 1-N vì trong một danh mục sản phẩm có nhiều sản phẩm khác nhau, một sản phẩm có trong một danh mục sản phẩm
NHASANXUAT – sản xất – SANPHAM: 1-N mỗi nhà sản xuất sẽ sản xuất ra nhiều sản phẩm khác nhau, một sản phẩm được sản xuất bởi một nhà sản xuất
SANPHAM-có-GIÁ BÁN:1-N một sản phẩm sẽ có nhiều gián bán ở các thời điểm khác nhau, tại một thời điểm một sản phẩm có một giá bán
CHITIETDONHANG-có-SANPHAM: N-N một sản phẩm có nhiều chi tiết đơn hàng, một chi tiết đơn hàng có nhiều sản phẩm
DONHANG-có-CHITIETDONHANG: 1-N một đơn hàng có nhiều chi tiết đơn hàng, một chi tiết đơn hàng của một đơn hàng
USER- xử lý-DONHANG: 1-N một user xử lý nhiều đơn hàng, một đơn hàng được một user xử lý
USER-gửi-PHANHOI: 1-N mỗi user có thể gửi nhiều phản hồi, một phản hội của một user
USER-đăng-TINTUC: 1-N một user có thể đăng nhiều tin tức, mỗi tin tức của một user đăng
USER-được-PHANQUYEN: 1-N một user được nhiều phân quyền, một phân quyền của một user
QUYEN-có-PHANQUYEN: 1-N một quyền có nhiều phân quyền, một phân quyền có một quyền
4.1.3 Các bảng cơ sở dữ liệu
Bảng chứa các thông tin của Nhà sản xuất bao gồm: Mã nhà sản xuất, Tên nhà sản xuất, Địa chỉ, Email, Điện thoại
Kiểu dữ liệu Ràng buộc Null Mô tả
MaNSX Varchar(10) khoá chính Not Mã nhà sản xuất
TenNSX Nvarchar(50) Tên nhà sản xuất
Bảng chứa các thông tin về Danh mục sản phẩm bao gồm: Mã danh mục sản phẩm, Tên danh mục sản phẩm
Thuộc tính Kiểu dữ liệu Ràng buộc Null Mô tả
MaDMSP Varchar(10) khoá chính Not Mã danh mục sản phẩm
TenDMSP Nvarchar(50) Tên danh mục sản phẩm
Bảng sản phẩm cung cấp thông tin chi tiết bao gồm mã sản phẩm, tên sản phẩm, đơn vị tính, hình ảnh, mô tả, mã danh mục sản phẩm và mã nhà sản xuất.
Bảng 4 3 Bảng SANPHAM Thuộc tính Kiểu dữ liệu Ràng buộc Null Mô tả
MaSP Varchar(10) Khoá chính Not Mã sản phẩm
TenSP Nvarchar(50) Tên sản phẩm
DonViTinh Nvarchar(20) Đơn vị tính
MaDMSP Varchar(10) Khoá phụ Mã DMSP
MaNSX Varchar(10) Khoá phụ Mã NSX
Chứa các thông tin về Giá bán bao gồm: Mã giá bán, Mã sản phẩm, Đơn vị tính, Giá, Ngày áp dụng
Thuộc tính Kiểu dữ liệu Ràng buộc Null Mô tả
MaGB Varchar(10) Khoá chính Not Mã giá bán
MaSP Varchar(10) Khoá phụ Mã sản phẩm
DonViTinh Nvarchar(10) Đơn vị tính
NgayApDung datetime Ngày áp dụng
Chứa các thông tin của Khách hàng bao gồm: Mã khách hàng, Tài khoản khách hàng, Mật khẩu, Địa chỉ, Email, Điện thoại
Thuộc tính Kiểu dữ liệu Ràng buộc Null Mô tả
MaKH Varchar(10) Khoá chính Not Mã khách hàng
IDKH varchar(50) Not Tài khoản khách hàng
Chứa các thông tin của Nhà quản trị bao gồm: userid, Loai, TênLoai
Bảng 4 6 Bảng USER Thuộc tính Kiểu dữ liệu Ràng buộc Null Mô tả
Userid Varchar(50) Khoá chính Not Mã người dùng
Loai varchar(20) Not Loại người dùng
Chứa các thông tin của Đơn hàng bao gồm: Mã đơn hàng, userid, Mã khách hàng, Ngày lập, Trạng thái
Thuộc tính Kiểu dữ liệu Ràng buộc Null Mô tả
MaDH Varchar(10) Khoá chính Not Mã đơn hàng userid Varchar(50) Khoá phụ Mã người dùng
MaKH varchar(10) Khoá phụ Mã khách hàng
Chứa các thông tin chi tiết đơn hàng bao gồm: Mã chi tiết đơn hàng, Mã sản phẩm, Mã đơn hàng, Số lượng
Bảng 4 8 Bảng CHITIETDONHANG Thuộc tính Kiểu dữ liệu Ràng buộc Null Mô tả
MaCTDH Varchar(10) Khoá chính Not Mã chi tiết đơn hàng
MaSP Varchar(10) Khoá phụ Mã sản phẩm
MaDH varchar(10) Khoá phụ Mã đơn hàng
4.1.3.9 Bảng GOPY Chứa các thông tin của Góp ý bao gồm: Mã góp ý, Mã khách hàng, Nội dung góp ý
Thuộc tính Kiểu dữ liệu Ràng buộc Null Mô tả
MaGY Varchar(10) Khoá chính Not Mã góp ý
MaKH Varchar(10) Kkhoá phụ Mã khách hàng
NoiDungGY Nvarchar(200) Nội dung góp ý
4.1.3.10 Bảng TINTUC Chứa các thông tin Tin tức bao gồm: mã tin tức, mã nhà quản trị, Tên tin tức, Nội dung, Ngày đăng, Tên tin tức
Bảng 4 10 Bảng TINTUC Thuộc tính Kiểu dữ liệu Ràng buộc Null Mô tả
MaTT Varchar(10) Khoá chính Not Mã tin tức userid Varchar(50) Khoá phụ Mã người dùng
TenTT Nvarchar(50) Tên tin tức
4.1.3.11 Bảng PHANHOI Chứa các thông tin phản hồi bao gồm: Mã góp ý, Mã nhà quản trị, Nội dung phản hồi
Bảng 4 11 Bảng PHANHOI Thuộc tính Kiểu dữ liệu Ràng buộc Null Mô tả
MaPH Varchar(10) Khoá chính Not Mã góp ý userid Varchar(50) Khoá phụ Mã người dùng
NoiDungPH Nvarchar(200) Nội dung phản hồi
4.1.3.12 Bảng PHANQUYEN Chứa các thông tin phân quyền bao gồm: phân quyền, userid, quyenid
Bảng 4 12 Bảng PHANQUYEN Thuộc tính Kiểu dữ liệu Ràng buộc Null Mô tả
Phân quyền Varchar(20) Khoá chính Not userid Varchar(50) Khoá phụ
4.1.3.13 Bả Chưa các thông tin Quy
Hình ảng QUYEN a các thông tin Quyền bao gồm: Quyenid, tên quyền, giá trị.
Bảng 4 13 Bảng QUYỀN ểu dữ liệu Ràng buộc Null Mô t Varchar(20) Khoá chính Not
Hình 4 1 Mô hình liên kết cơ sở dữ liệu n, giá trị
Thiết kế các module chức năng
4.2.1 Module đăng ký tài khoản
Module đăng ký tài khoản giúp khách hàng truy cập thông tin chi tiết về sản phẩm, đồng thời cho phép họ liên hệ và đưa ra góp ý Nếu không đăng ký tài khoản, khách hàng sẽ không thể xem thông tin chi tiết hoặc góp ý về sản phẩm.
Input: thông tin người dùng như họ tên, địa chỉ, số điện thoại, e-mail…; Output: kết quả đăng ký tài khoản.
Kiểm tra thông tin đăng kí Nhập thông tin đăng kí tài khoản
Thông báo đăng kí thành công
Lưu vào cơ sở dữ liệu
Hình 4 2 Sơ đồ khối module đăng ký tài khoản
4.2.2 Module đăng nhập tài khoản
Input: thông tin đăng nhập như username, password;
Output: kết quả đăng nhập
Kiểm tra thông tin đăng nhập
Nhập tên đăng nhập và m ật khẩu
Thông báo đăng nhập thành công
Hình 4 3 Sơ đồ khối module đăng nhập
Input: thông tin sản phẩm như tên sản phẩm, hình ảnh sản phẩm, mô tả về sản phẩm, giá bán…;
Output: kết quả thêm sản phẩm
Nhập thông tin sản phẩm cần thêm
Thông báo thêm sản phẩm thành công
Lưu vào cơ sở dữ liệu
Ki ểm tra thông tin sản phẩm
Hình 4 4 Sơ đồ khối module đăng nhập
Input: thông tin về sản phẩm cần sửa như giá bán, thông tin của sản phẩm,
Output: kết quả sửa thông tin sản phẩm
Thông báo sửa sản phẩm thành công Lưu vào cơ sở dữ liệu
Kiểm tra thông tin sản phẩm
Chọn sản phẩm cần chỉnh sửa
Sửa thông tin sản phẩm
Hình 4 5Sơ đồ module sửa sản phẩm
Input: thông tin về sản phẩm cần xóa khỏi hệ thống;
Output: kết quả xóa sản phẩm
Thông báo xóa sản phẩm thành công Xóa sản phẩm khỏi cơ sở dữ liệu Xác nhận xóa sản phẩm
Sai Chọn sản phẩm cần xóa
Hình 4 6 Sơ đồ module xóa sản phẩm
4.2.6 Module chọn và đặt hàng
Input: thông tin về sản phẩm như số lượng, giá sản phẩm, thông tin về người nhận như họ tên, địa chỉ, số điện thoại, …
Output: kết quả đặt hàng
Thông báo đặt hàng thành công Lưu đơn hàng vào cơ sở dữ liệu Kiểm tra thông tin đăng nhập
Thêm sản phẩm vào giỏ hàng
Cập nhật giỏ hàng Chọn sản phẩm cần mua
Cập nhật thông tin người mua Đặt hàng Đăng kí/Đăng nhập
Hình 4 7 Sơ đồ module chọn và đặt hàng
Input: thông tin người dùng cần tìm kiếm như tìm kiếm sản phẩm, tìm kiếm tin tức…;
Output: kết quả tìm kiếm
Hiển thị thông tin tìm kiếm Kiểm tra thông tin tìm kiếm
Nhập thông tin tìm kiếm
Thông tin tìm kiếm không chính xác
Hình 4 8 Sơ đồ module tìm kiếm
Giao diện chương trình
Trang chủ có các mục như: danh mục sản phẩm, tìm kiếm sản phẩm, thông tin sản phẩm, …
Hình 4 9 Giao diện trang chủ
4.3.2 Giao diện trang chi tiết sản phẩm
Trang chi tiết sản phẩm bao gồm các thông tin về sản phẩm như: tên sản phẩm, mã sản phẩm, giá, mô tả
Hình 4 10 Giao diện chi tiết sản phẩm
4.3.3 Giao diện trang giỏ hàng
Trang giỏ hàng bao gồm các thông tin như: tên sản phẩm, số lượng, thành tiền, cập nhật
Hình 4 11 Giao diện trang giỏ hàng
4.3.4 Giao diện trang quản lý đơn hàng
Trang quản lý đơn hàng cung cấp thông tin quan trọng bao gồm tên khách hàng, tên đăng ký, địa chỉ, email, số điện thoại và ghi chú của khách hàng.
Hình 4 12 Giao diện trang quản lý đơn hàng
4.3.5 Giao diện trang quản lý sản phẩm
Trang quản lý sản phẩm bao gồm các thông tin như: Hình ảnh, Tên sản phẩm, Mô tả sản phẩm
Hình 4 13 Giao diện trang quản lý sản phẩm 4.3.6 Giao diện trang liên hệ
Trang liên hệ cung cấp thông tin quan trọng bao gồm địa chỉ công ty, email, hotline, họ tên và địa chỉ của khách hàng, cùng với email và số điện thoại của khách hàng, cũng như nội dung liên hệ.
Hình 4 14 Giao diện trang liên hệ
4.3.7 Giao diện trang giới thiệu công ty
Trang giới thiệu công ty bao gồm các thông tin cơ bản của công ty
Hình 4 15 Giao diện trang giới thiệu 4.3.8 Giao diện trang tin tức
Trang tin tức bao gồm một số tin mới, tin hot
Hình 4 16 Giao diện trang tin tức 4.3.9 Giao diện trang hướng dẫn mua hàng
Trang hướng dẫn mua hàng cung cấp thông tin chi tiết giúp khách hàng hiểu rõ hơn về quy trình mua sắm tại công ty.
Hình 4 17 Giao diện trang hướng dẫn mua hàng
4.3.10 Giao diện trang sản phẩm
Trang sản phẩm bao gồm các mặt hàng của công ty
Hình 4 18 Giao diện trang sản phẩm 4.3.11 Giao diện trang quản lý tài khoản
Trang quản lý tài khoản bao gồm các thông tin về tài khoản đã đăng kí
Hình 4 19 Giao diện trang quản lý tài khoản