Như chúng ta cũng thấy trong thị trường hiện nay thì việc cạnh tranh về kinh doanh ngày càng trở nên quyết liệt và hầu hết những nhà kinh doanh, những công ty lớn đều chú tâm đến việc làm thỏa mãm khách hàng một cách tốt nhất. So với kinh doanh truyền thống thì thương mại điện tử chi phí thấp hơn, đạt hiệu quả cao hơn. Hơn thế nữa, với lợi thế của công nghệ Internet nên việc truyền tải thông tin về sản phẩm nhanh chóng, thuận tiện. Kết hợp với bộ phận giao hàng tận nơi, là thông qua bưu điện hay ngân hàng để thanh toán tiền, càng tăng thêm thuận lợi để loại Biết được những nhu cầu đó chương trình “ Xây dựng website chốt hàng cho cộng tác viên bán hàng ” được xây dựng trên nền tảng PHP nhằm để đáp ứng cho cộng tác viên có thể thông qua Website này mà chốt đơn hàng cho khách một cách nhanh chóng và thuận tiện đáp ứng được nhu cầu khách hàng . Trước thực tế đó em đã chọn đề tài:” Phân tích thiết kế và xây dựng website chốt hàng cho cộng tác viên bán hàng” cho đề tài khóa luận tốt nghiệp của mình.
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GIAO THÔNG VẬN TẢI
KHOA CNTT
BÁO CÁO
ĐỒ ÁN TỐT NGHIỆP
Đề tài:
PHÂN TÍCH THIẾT KẾ VÀ XÂY DỰNG WEBSITE CHỐT
HÀNG CHO CỘNG TÁC VIÊN BÁN HÀNG
Giảng viên hướng dẫn: Lê Thị Hường Sinh viên thực hiện: Tạ Anh Dũng
Mã sinh viên: 69DCHT10006 Lớp: 69DCHT11
Ngày thực hiện :
Hội đồng phản biện: Thầy /cô
Thầy/cô
Thầy /cô
Chữ ký sinhviên:
Vĩnh Phúc,
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GIAO THÔNG VẬN TẢI
KHOA CNTT
BÁO CÁO
ĐỒ ÁN TỐT NGHIỆP
Đề tài:
PHÂN TÍCH THIẾT KẾ VÀ XÂY DỰNG WEBSITE CHỐT
HÀNG CHO CỘNG TÁC VIÊN BÁN HÀNG
Giảng viên hướng dẫn: Lê Thị Hường Sinh viên thực hiện: Tạ Anh Dũng
Mã sinh viên: 69DCHT10006 Lớp: 69DCHT11
Ngày thực hiện :
Hội đồng phản biện: Thầy /cô
Thầy/cô
Thầy /cô
Chữ ký sinhviên:
Hà Nội,
Trang 3DANH MỤC CÁC TỪ VIẾT TẮT 7
LỜI CÁM ƠN 8
LỜI NÓI ĐẦU 9
CHƯƠNG 1: PHẦN MỞ ĐẦU 10
1 Lý do chọn đề tài 10
2 Mục tiêu đề tài 10
3 Giới hạn và phạm vi của đề tài 10
4 Kết quả đạt được 11
5 Kết cấu của đề tài 11
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 12
1.1 Cơ sở lý thuyết về cơ sở dữ liệu 12
1.2 Ngôn ngữ lập trình 14
1.2.1 Ngôn ngữ HTML 14
1.2.2 Ngôn ngữ CSS 15
1.2.3 Ngôn ngữ PHP 16
1.3 Mô hình MVC 18
1.4 Laravel framework 19
1.5 Kết chương 2 20
CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 21
3.1 Mô tả bài toán 21
3.2 Đối tượng sử dụng hệ thống 22
3.3 Khảo sát 22
3.3.1 Lên kế hoạch khảo sát () 23
3.3.2 Xác định yêu cầu của hệ thống: 25
3.3.3 Yêu cầu chức năng và phi chức năng 28
3.3.4 Phân tích thiết kế hệ thống 29
3.4 Phân tích và thiết kế hệ thống 31
3.5 Biểu đồ use case 33
3.5.1 Biểu đồ Use-case tổng quát 33
3.5.2 Use case đăng nhập 34
Trang 43.5.3 Use case đăng ký 35
3.5.4 Use case quản lý thông tin cá nhân 36
3.5.5 Use case quản lý danh sách thành viên 37
3.5.6 Use case quản lý danh mục, dịch vụ, thông tin, bài viết 38
3.5.7 Use case đăng ký dịch vụ 39
3.5.8 Use case xử lý đơn đăng dịch vụ 40
3.6 Biểu đồ hoạt động 41
3.6.1 Biểu đồ hoạt động chức năng đăng ký 41
3.6.2 Biểu đồ hoạt động chức năng đăng nhập 42
3.6.3 Biểu đồ hoạt động chức năng chỉnh sửa thông tin cá nhân 42
3.6.4 Biểu đồ hoạt động chức năng quản lý danh sách thành viên 43
3.6.5 Biểu đồ hoạt động chức năng quản lý danh mục, dịch vụ, bài viết 43
3.6.6 Biểu đồ hoạt động chức năng xử lý đơn hàng 44
3.6.7 Biểu đồ hoạt động chức năng thêm mới bài viết 44
3.6.8 Biểu đồ hoạt động chức năng sửa bài viết 45
3.6.9 Biểu đồ hoạt động chức năng xóa bài viết 45
3.6.10 Biểu đồ hoạt động chức năng thêm mới sản phẩm dịch vụ 46
3.6.11 Biểu đồ hoạt động chức năng sửa sản phẩm 46
3.6.12 Biểu đồ hoạt động chức năng xóa sản phẩm 47
3.6.13 Biểu đồ hoạt động chức năng xóa người dùng 48
3.6.14 Biểu đồ hoạt động chức năng đặt lịch 49
3.6.15 Biểu đồ hoạt động chức năng sửa dịch vụ 49
3.6.16 Biểu đồ hoạt động chức năng thêm mới dịch vụ 50
3.6.17 Biểu đồ hoạt động chức năng xóa dịch vụ 51
3.7 Biểu đồ tuần tự 51
3.7.1 Biểu đồ tuần tự đăng nhập/đăng ký 51
3.7.2 Biểu đồ tuần tự quản lý sản phẩm 52
3.7.3 Biểu đồ tuần tự quản lý bài viết 52
3.7.4 Biểu đồ tuần tự quản lý slide 53
3.7.5 Biểu đồ tuần tự quản lý sự kiện 54
3.7.6 Biểu đồ tuần tự quản lý đơn hàng 54
Trang 53.8 Biểu đồ lớp 55
3.8.1 Danh sách các đối tượng 55
3.8.2 Mô hình hóa các lớp đối tượng 56
3.9 Thiết kế cơ sở dữ liệu 57
3.9.1 Bảng contacts 57
3.9.2 Bảng exprts 58
3.9.3 Bảng failed_jobs 58
3.9.4 Bảng group_permission 59
3.8.5 Bảng migrations 59
3.9.6 Bảng password_resets 59
3.9.7 Bảng permissions 60
3.9.8 Bảng permission_role 60
3.9.9 Bảng posts 60
3.9.10 Bảng roles 61
3.9.11 Bảng role_user 61
3.9.12 Bảng services 61
3.9.13 Bảng stories 62
3.9.14 Bảng transactions 62
3.9.15 Bảng users 63
3.10 Kiểm thử 63
3.10.1 Chức năng đăng ký 63
3.10.2 Chức năng đăng nhập 63
3.10.3 Chức năng cập nhật thông tin 63
3.10.4 Chức năng quên mật khẩu 64
3.11 Bảo trì 64
3.12 Kết chương 3 64
CHƯƠNG 4: XÂY DỰNG HỆ THỐNG 65
4.1 Giao diện quản trị 65
4.2 Giao diện danh mục dịch vụ 65
4.3 Giao diện quản lý lịch hẹn 66
4.4 Giao diện quản lý bài viết 66
Trang 64.5 Giao diện quản lý tài khoản người dùng 67
4.6 Giao diện quản lý liên hệ 67
4.7 Giao diện quản lý các chuyên gia 68
4.8 Giao diện trang chủ website 68
4.9 Giao diện dịch vụ 69
4.10 Giao diện chi tiết bài viết 69
4.11 Giao diện đăng ký 70
4.12 Giao diện đăng nhập 70
4.13 Giao diện gửi thông tin liên hệ 71
4.14 Giao diện trang danh sách bài viết 71
4.12 Kết chương 4 71
KẾT LUẬN 72
1 Đánh giá kết quả của đề tài 72
2 Hướng phát triển tiếp theo của đề tài 73
TÀI LIỆU THAM KHẢO 74
PHỤ LỤC 75
Trang 7Giao diện lập trình ứng dụng.
Model Các đối tượng thao tác văn bản
Extensible HyperText Markup Language
Ngôn ngữ Đánh dấu Siêu văn bản Mở rộng
4 XML eXtensible Markup
Language
Ngôn ngữ đánh dấu mở rộng do W3C đề nghịvới mục đích tạo ra các ngôn ngữ đánh dấu khác
5 SVG Scalable Vector
Graphics
Ngôn ngữ đánh dấu (markup language) XML
và dùng để miêu tả các hình ảnh đồ họa véc tơhai chiều, tĩnh và hoạt hình, thường dành cho ứng dụng trên các trang mạng
6 UML Unified Modeling
Language
Ngôn ngữ mô hình gồm các ký hiệu đồ họa
mà các phương pháp hướng đối tượng sử dụng để thiết kế các hệ thống thông tin một cách nhanh chóng
7 CSDL Cơ sở dữ liệu
Trang 8LỜI CÁM ƠN
Đồ án tốt nghiệp là kết quả của một khóa học và là một thành quả lao động đáng ghinhận Để có thể thực hiện và hoàn thành đồ án này, em đã nhận được sự giúp đỡ vàhướng dẫn tận tình của các thầy, các cô và các bạn trong khoa Em xin gửi lời cảm ơnchân thành và sâu sắc tới các thầy cô trong khoa, cảm ơn các thầy, các cô những người
đã tận tình giảng dạy và truyền đạt những kiến thức cần thiết, những kinh nghiệm quý
báu cho em trong suốt ba năm học tại trường đại học TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GIAO THÔNG VẬN TẢI để em có thể tự tin khi thực hiện đồ án này.
Đặc biệt em xin chân thành cảm ơn cô giáo người đã tận tình hướng dẫn, chỉ bảo, động
viên và hỗ trợ em trong suốt quá trình thực hiện đề tài này Trong thời gian làm đồ áncùng cô, em không những học hỏi được những kiến thức mà còn học hỏi được khảnăng làm việc nghiêm túc, độc lập và có trách nhiệm với công việc của mình
Cuối cùng, em xin bày tỏ lòng biết ơn vô hạn đối với cha mẹ và gia đình những ngườithân xung quanh đã luôn động viên, khích lệ và tạo điều kiện tốt nhất cho em trongquá trình học tập
Mặc dù em đã có cố gắng hoàn thiện đồ án trong phạm vi và khả năng cho phép nhưngchắc chắn không tránh khỏi những thiếu sót Em kính mong nhận được sự cảm thông
và góp ý của quý thầy cô và các bạn
Vĩnh Phúc, tháng năm 2022 Sinh viên thực hiện
Trang 9
LỜI NÓI ĐẦU
Ngày nay, với sự phát triển mạnh mẽ của khoa học công nghệ, Công nghệ Thôngtin là một trong những ngành có vị thế dẫn đầu và có vai trò rất lớn trong sự phát triểnchung đó Các ứng dụng của công nghệ thông tin được áp dụng trong mọi lĩnh vựcnghiên cứu khoa học cũng như trong mọi lĩnh vực của đời sống Là một phần củaCông nghệ Thông tin, Công nghệ web đang có được sự phát triển mạnh mẽ và phổbiến rất nhanh bởi những lợi ích mà nó mang lại cho cộng đồng là rất lớn
Cùng với sự phát triển vượt bậc của khoa học kỹ thuật thì công nghệ thông tin vàthương mại điện tử là một trong những lĩnh vực nổi trội, có nhiều đóng góp thiết thựcnhất cho nền kinh tế Công nghệ thông tin và thương mại điện tử có mặt trong hầu hếtcác lĩnh vực của cuộc sống và trở thành một công cụ hỗ trợ rất đắc lực trong công tácquản lý, kinh doanh
Ngày nay, “ Thương mại điện tử “ đem lại rất nhiều lợi ích không những cho các
doanh nghiệp mà người tiêu dùng cũng có những lợi ích như tích kiệm thời gian và chiphí trông việc mua sắm và tiêu dùng Việc bán hàng qua mạng không còn là hình thức
xa lạ đối với người tiêu dùng nữa, bán hàng qua mạng là hình thức làm việc rất phổ biến, hình thức này bất kỳ một doanh nghiệp kinh doanh sản phẩm đều lựa chọn
Chính vì vậy em đã chọn đề tài “Phân tích và thiết kế Website để quảng bá và đặt
lịch cho An Thu Spa” với chức năng giới thiệu và quảng bá đặt lịch cho An Thu Spa
Nội dung đề tài gồm các chương:
Chương 1 : Cơ sở lý thuyết.
Chương 2 : Khảo sát nghiệp vụ
Chương 3 : Phân tích thiết kế hệ thống.
Chương 4 : Xây dựng hệ thống.
Trang 10CHƯƠNG 1: PHẦN MỞ ĐẦU
1 Lý do chọn đề tài
Như chúng ta cũng thấy trong thị trường hiện nay thì việc cạnh tranh về kinhdoanh ngày càng trở nên quyết liệt và hầu hết những nhà kinh doanh, những công
ty lớn đều chú tâm đến việc làm thỏa mãm khách hàng một cách tốt nhất
So với kinh doanh truyền thống thì thương mại điện tử chi phí thấp hơn, đạthiệu quả cao hơn Hơn thế nữa, với lợi thế của công nghệ Internet nên việc truyềntải thông tin về sản phẩm nhanh chóng, thuận tiện Kết hợp với bộ phận giao hàngtận nơi, là thông qua bưu điện hay ngân hàng để thanh toán tiền, càng tăng thêmthuận lợi để loại
Biết được những nhu cầu đó chương trình “ Xây dựng website chốt hàng chocộng tác viên bán hàng ” được xây dựng trên nền tảng PHP nhằm để đáp ứng chocộng tác viên có thể thông qua Website này mà chốt đơn hàng cho khách một cáchnhanh chóng và thuận tiện đáp ứng được nhu cầu khách hàng
Trước thực tế đó em đã chọn đề tài:” Phân tích thiết kế và xây dựng websitechốt hàng cho cộng tác viên bán hàng” cho đề tài khóa luận tốt nghiệp của mình
2 Mục tiêu đề tài
− Trình bày được các vấn đề liên quan đến PHP ,MySQL
− Phân tích hệ thống chương trình bao gồm giao diện, các activity nhằm đáp ứng
nhu cầu người dùng
− Triển khai và cài đặt chương trình trong môi trường internet
3 Giới hạn và phạm vi của đề tài
Trong phạm vi đề tài này em sẽ nghiên cứu các vấn đề sau:
- Nghiên cứu về quy trình quản lý cộng tác viên chốt đơn
- Website được xây dựng bằng ngôn ngữ PHP, cơ sở dữ liệu xây dựng bằng phpMyAdmin
4 Kết quả đạt được
Website quản lý chốt đơn sau khi hoàn thành dự kiến đạt được các kết quả sau:
- Giao diện thân thiện, dễ nhìn thích hợp với người dùng
- Cập nhật thông tin dữ liệu cho hệ thống.
- Hoàn thành trang quản lý admin website với các chức năng chính sau:
+ Quản lý người dùng
Trang 11+ Quản lý bảng điều khiển
+ Quản lý danh sách giao dịch
+ Quản lý sản phẩm: danh mục, nhà cung cấp, thuộc tính, giá trị, sản phẩm+ Quản lý vai trò
5 Kết cấu của đề tài
Nội dung đề tài gồm các chương:
Chương 1: Cơ sở lý thuyết
Chương 2: Khảo sát nghiệp vụ
Chương 3: Phân tích thiết kế hệ thống
Chương 4: Xây dựng hệ thống
Trang 12CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
1.1 Cơ sở lý thuyết về cơ sở dữ liệu
Hệ thống sử dụng hệ cơ sở dữ liệu MySQL
MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ nhanh và dễ dàng.MySQL đang được sử dụng cho nhiều công việc kinh doanh từ lớn tới nhỏ, nó đượcphát triển, được công bố, được hỗ trợ bởi MySQL AB, là một công ty của Thụy Điển
Hệ cơ sở dữ liệu này đã trở thành khá phổ biến vì nhiều lý do:
MySQL là mã nguồn mở
MySQL là một chương trình rất mạnh mẽ
MySQL sử dụng một Form chuẩn của ngôn ngữ dữ liệu nổi tiếng là SQL
MySQL làm việc trên nhiều Hệ điều hành và với nhiều ngôn ngữ như PHP,PERL, C, C++, Java, …
MySQL làm việc nhanh và khỏe ngay cả với các tập dữ liệu lớn
MySQL rất thân thiện với PHP, một ngôn ngữ rất đáng giá để tìm hiểu để pháttriển Web
MySQL hỗ trợ các cơ sở dữ liệu lớn, lên tới 50 triệu hàng hoặc nhiều hơn nữatrong một bảng Kích cỡ file mặc định được giới hạn cho một bảng là 4 GB,nhưng chúng ta có thể tăng kích cỡ này (nếu hệ điều hành có thể xử lý nó) để đạttới giới hạn lý thuyết là 8 TB
MySQL là có thể điều chỉnh Giấy phép GPL mã nguồn mở cho phép lập trìnhviên sửa đổi phần mềm MySQL để phù hợp với môi trường cụ thể của họ
MySQL sử dụng nhiều kiểu dữ liệu, được chia thành 3 loại: kiểu số, kiểu date vàtime, và kiểu chuỗi
Kiểu dữ liệu số trong MySQL
MySQL sử dụng tất cả các kiểu dữ liệu số theo chuẩn ANSI SQL Các kiểu dữliệu số phổ biến gồm:
Trang 13 INT: Một số nguyên với kích cỡ thông thường, có thể là signed hoặc unsigned.
Nếu có dấu, thì dãy giá trị có thể là từ -2147483648 tới 2147483647, nếu khôngdấu thì dãy giá trị là từ 0 tới 4294967295 Chúng ta có thể xác định một độ rộnglên tới 11 chữ số
TINYINT: Một số nguyên với kích cỡ rất nhỏ, có thể là signed hoặc unsigned.
Nếu có dấu, thì dãy giá trị có thể là từ -128 tới 127, nếu không dấu thì dãy giá trị
là từ 0 tới 255 Chúng ta có thể xác định một độ rộng lên tới 4 chữ số
SMALLINT: Một số nguyên với kích cỡ nhỏ, có thể là signed hoặc unsigned.
Nếu có dấu, thì dãy giá trị có thể là từ -32768 tới 32767, nếu không dấu thì dãygiá trị là từ 0 tới 65535 Chúng ta có thể xác định một độ rộng lên tới 5 chữ số
MEDIUMINT: Một số nguyên với kích cỡ trung bình, có thể là signed hoặc
unsigned Nếu có dấu, thì dãy giá trị có thể là từ -8388608 tới 8388607, nếukhông dấu thì dãy giá trị là từ 0 tới 16777215 Chúng ta có thể xác định một độrộng lên tới 9 chữ số
BIGINT: Một số nguyên với kích cỡ lớn, có thể là signed hoặc unsigned Nếu
có dấu,thì dãy giá trị có thể là từ -9223372036854775808 tới
9223372036854775807, nếu không dấu thì dãy giá trị là từ 0 tới
18446744073709551615 Chúng ta có thể xác định một độ rộng lên tới 20 chữsố
FLOAT(M,D): Một số thực dấu chấm động không dấu Chúng ta có thể định
nghĩa độ dài hiển thị (M) và số vị trí sau dấy phảy (D) Điều này là không bắtbuộc và sẽ có mặc định là 10,2: với 2 là số vị trí sau dấu phảy và 10 là số chữ số(bao gồm các phần thập phân) Phần thập phân có thể lên tới 24 vị trí sau dấuphảy đối với một số FLOAT
DOUBLE(M,D): Một số thực dấu chấm động không dấu Chúng ta có thể định
nghĩa độ dài hiển thị (M) và số vị trí sau dấy phảy (D) Điều này là không bắtbuộc và sẽ có mặc định là 16,4: với 4 là số vị trí sau dấu phảy và 16 là số chữ số(bao gồm các phần thập phân) Phần thập phân có thể lên tới 53 vị trí sau dấuphảy đối với một số DOUBLE REAL là đồng nghĩa với DOUBLE
Trang 14 DECIMAL(M,D): Một kiểu khác của dấu chấm động không dấu Mỗi chữ số
thập phân chiếm 1 byte Việc định nghĩa độ dài hiển thị (M) và số vị trí sau dấyphảy (D) là bắt buộc NUMERIC là một từ đồng nghĩa cho DECIMAL
1.2 Ngôn ngữ lập trình
1.2.1 Ngôn ngữ HTML
Ngôn ngữ HTML (HyperText Markup Language – ngôn ngữ siêu văn bản) là
một trong các loại ngôn ngữ được sử dụng trong lập trình web Khi truy cập một trangweb cụ thể là click vào các đường link, chúng ta sẽ được dẫn tới nhiều trang các nhau,
và các trang này được gọi là một tài liệu HTML (tập tin HTML)
Một trang HTML như vậy được cấu thành bởi nhiều phần tử HTML nhỏ và đượcquy định bằng các thẻ tag Chúng ta có thể phân biệt một trang web được viếtbằng ngôn ngữ HTML hay PHP thông qua đường link của nó Ở cuối các trang HTMLthường hay có đuôi là HTML hoặc HTM
HTML là ngôn ngữ lập trình web được đánh giá là đơn giản Mọi trang web, mọitrình duyệt web đều có thể hiển thị tốt ngôn ngữ HTML Hiện nay, phiên bản mới nhấtcủa HTML là HTML 5 với nhiều tính năng tốt và chất lượng hơn so với các phiên bản
cũ của HTML
Vai trò của HTML trong lập trình web:
HTML là một loại ngôn ngữ đánh dấu siêu văn bản nên các chức năng của nócũng xoay quanh yếu tố này Cụ thể, HTML giúp cấu thành các cấu trúc cơ bản trênmột website (chia khung sườn, bố cục các thành phần trang web) và góp phần hỗ trợkhai báo các tập tin kĩ thuật số như video, nhạc, hình ảnh
Ưu điểm nổi trội nhất và cũng là thế mạnh của HTML là khả năng xây dựng cấutrúc và khiến trang web đi vào quy củ một hệ thống hoàn chỉnh HTML chứa nhữngyếu tố cần thiết mà dù website có thuộc thể loại nào, giao tiếp với ngôn ngữ lập trình
nào để xử lý dữ liệu thì nó vẫn phải cần đến ngôn ngữ HTML để hiển thị nội dung cho
Trang 15Đối với các lập trình viên hay nhà phát triển web, họ đều phải học HTML nhưmột loại ngôn ngữ cơ bản trước khi bắt tay vào thiết kế trang web nào.
Các thẻ trong HTML:
Các trang HTML được quy định bằng các thẻ tag Những thẻ này được chứa
trong các dấu ngoặc đơn dạng: <tên thẻ> Trừ một vài thẻ đặc biệt, hầu hết các thẻ cơ bản đều có các thẻ đóng tương ứng với nó Ví dụ, thẻ <html> có thẻ đóng tương ứng
là </html>, thẻ <body> có thẻ đóng tương ứng là </body> … Bảng 1.1 là các mẫu thẻ
tag thường gặp trong HTML
Bảng 1.1 Các mẫu thẻ thường gặp trong HTML
<html> Thẻ này chứa đựng các tài liệu HTML đầy đủ Ở đầu trang sẽ xuất
hiện các thẻ <head>, </head> và thân tài liệu là các thẻ <body>,
</body>
<head> Thẻ này đại diện cho đầu trang tài liệu mà có thể giữ các thẻ
HTML như <title>, <link> …
<title> Thẻ <title> được sử dụng trong thẻ <head> chỉ tiêu đề tài liệu.
<body> Thẻ này đại diện cho thân tài liệu và giữ các thẻ như <h1>, <div>,
Trang 16<p> …
<h1> Thẻ tag này đại diện cho các tiêu đề trang
<p> Thẻ tag này đại diện cho định dạng các đoạn văn trong trang web
1.2.2 Ngôn ngữ CSS
Định nghĩa
CSS là viết tắt của Cascading Style Sheets Đây là một ngôn style sheet được sửdụng để mô tả giao diện và định dạng của một tài liệu viết bằng ngôn ngữ đánh dấu(markup) CSS cung cấp một tính năng bổ sung cho HTML CSS thường được sửdụng với HTML để thay đổi phong cách của trang web và giao diện người dùng Ngônngữ này cũng có thể được sử dụng với bất kỳ loại tài liệu XML nào bao gồm cả XMLđơn giản, SVG và XUL
CSS được sử dụng cùng với HTML và JavaScript trong hầu hết các trang web đểtạo giao diện người dùng cho các ứng dụng web và giao diện người dùng cho nhiềuứng dụng di động
Ba lợi ích chính của CSS
Giải quyết một vấn đề lớn:
Trước khi có CSS, các thẻ như phông chữ, màu sắc, kiểu nền, các sắp xếp phần
tử, đường viền và kích thước phải được lặp lại trên mọi trang web Đây là một quátrình rất dài tốn thời gian và công sức
Tiết kiệm rất nhiều thời gian:
Định nghĩa kiểu CSS được lưu trong các tệp CSS bên ngoài vì vậy có thể thayđổi toàn bộ trang web bằng cách thay đổi chỉ một tệp
Cung cấp thêm các thuộc tính:
Trang 17CSS cung cấp các thuộc tính chi tiết hơn HTML để định nghĩa giao diện củatrang web.
1.2.3 Ngôn ngữ PHP
Giới thiệu chung:
PHP khởi đầu như là một dự án mã nguồn mở nhỏ, nhưng theo đà phát triển,ngày càng nhiều người thấy rằng nó càng ngày càng hữu ích PHP được phát triển từmột sản phẩm có tên là PHP/FI PHP/FI do Rasmus Lerdorf tạo ra năm 1994, ban đầuđược xem như là một tập con đơn giản của các mã kịch bản Perl để theo dõi tình hìnhtruy cập đến bản sơ yếu lý lịch của ông trên mạng Ông đã đặt tên cho bộ mã kịch bảnnày là "Personal Home Page Tools" Khi cần đến các chức năng rộng hơn, Rasmus đãviết ra một bộ thực thi bằng C lớn hơn để có thể truy vấn tới Database và giúp chongười sử dụng phát triển các ứng dụng web đơn giản Rasmus đã quyết định công bố
mã nguồn của PHP/FI cho mọi người xem, sử dụng cũng như sửa các lỗi có trong nó,đồng thời cải tiến mã nguồn
PHP viết hồi qui của "PHP: Hypertext Preprocessor"
PHP là ngôn ngữ lập trình kịch bản viết cho máy chủ mà được nhúng trongHTML Nó được sử dụng để quản lý nội dụng động, Database, Session tracking, …
PHP được tích hợp với một số Database thông dụng như MySQL, PostgreSQL,Oracle, Sybase, Informix, và Microsoft SQL Server
PHP thực thi rất tuyệt vời, đặc biệt khi được biên dịch như là một ApacheModule trên Unix side MySQL Server, khi được khởi động, thực thi các truy vấn phứctạp với các tập hợp kết quả khổng lồ trong thời gian Record-setting
PHP hỗ trợ một số lượng rộng rãi các giao thức lớn như POP3, IMAP, và LDAP.PHP4 bổ sung sự hỗ trợ cho Java và các cấu trúc đối tượng phân phối (COM vàCORBA)
Cú pháp PHP là giống C
Sự sử dụng chung của PHP
Trang 18PHP thực hiện các hàm hệ thống, ví dụ: từ các file trên một hệ thống, nó có thểtạo, mở, đọc, ghi và đóng chúng.
PHP có thể xử lý các form, ví dụ: thu thập dữ liệu từ file, lưu dữ liệu vào mộtfile, thông qua email có thể gửi dữ liệu, trả về dữ liệu tới người dùng
Chúng ta có thể thêm, xóa, sửa đổi các phần tử bên trong Database thông qua PHP.Truy cập các biến Cookie và thiết lập Cookie
Sử dụng PHP, có thể hạn chế người dùng truy cập vào một số trang trong Website
Nó có thể mật mã hóa dữ liệu
Đặc trưng của PHP
Các đặc trưng quan trọng làm PHP trở thành ngôn ngữ khá tiện lợi:
Đơn giản hóa
MVC là viết tắt của Model – View – Controller Là một kiến trúc phần mềm hay
mô hình thiết kế được sử dụng trong kỹ thuật phần mềm Đây là mô hình phân bốsource code thành 3 phần, mỗi thành phần có một nhiệm vụ riêng biệt và độc lập vớicác thành phần khác
Các thành phần trong MVC
Controller
Trang 19Giữ nhiệm vụ nhận điều hướng các yêu cầu từ người dùng và gọi đúng nhữngphương thức xử lý chúng… Chẳng hạn thành phần này sẽ nhận request từ url và form
để thao tác trực tiếp với Model
Trang 20Cho tới năm 2015, thì Framework laravel hiện đang đứng top 1 thế giới về mức
độ phổ biến và ưu dùng Được cộng đồng hỗ trợ phát triển mạnh mẽ Tháng 8 năm
2014, Laravel Framework được xem như là một dự án PHP phổ biến nhất trên Github
Sau nhiều lần được cộng đồng Laravel thế giới hỗ trợ phát triển thì phiên bảnmới nhất hiện nay là Laravel 5.2 và sắp tới là phiên bản 5.3
Các tính năng cơ bản của Laravel Framework
Bundles: Ở laravel phiên bản 3.x, cung cấp một hệ thống đóng gói các module,
với rất nhiều tính năng đi kèm
Composer: Ở laravel phiên bản 4.x, được sử dụng như một công cụ quản lý với
tính năng như thêm các gói cài đặt, các chức năng PHP phụ trợ cho Laravel cótrong kho Packagist
Eloquent ORM (object relation mapping): ánh xạ các đối tượng và quan hệ cơ
sở dữ liệu, cung cấp các phương thức nội bộ để thực thi đồng thời cũng bổ sungcác tính năng hạn chế về mối quan hệ giữa các đối tượng cơ sở dữ liệu EloquentORM trình bày các bảng trong cơ sở dữ liệu dưới dạng các lớp, cung cấp thêmlựa chọn truy cập cơ sở dữ liệu trực tiếp mới mẻ hơn, chuyên nghiệp hơn
Application logic: Là một phần của phát triển ứng dụng, được sử dụng bởi bộ
điều khiển controllers
Routes: Định nghĩa mối quan hệ giữa các đường dẫn (url), các liên kết (link)
Khi một liên kết được tạo ra bằng cách sử dụng tên của routes, thì một định danhliên kết thống nhất sẽ được tạo ra bởi laravel
Restful Controller: cung cấp các tùy chọn để tách các logic phía sau các
request HTTP POST, GET
Trang 21 Class auto loading: cung cấp việc tải tự động các class trong PHP, mà không
cần include các class vào Tùy thuộc vào yêu cầu các class cần thiết sẽ được nạpvào, hạn chế các class không cần thiết
View: chứa các mã html, hiển thị dữ liệu được chỉ định bởi controller
Migrations: cung cấp một hệ thống kiểm soát các phiên bản lược đồ cơ sở dữliệu (database cheme), làm cho web ứng dụng có khả năng tương tác phùhợp những thay đổi logic, các đoạn mã code của ứng dụng và những thay đổi cầnthiết trong việc bố trí cơ sở dữ liệu, triển khai nới lỏng và cập nhật các ứng dụng
Unit Testing: đóng một vai trò quan trọng trong Laravel, Unit testting chứa rất
nhiều các hệ thống unit testing, giúp phát hiện và ngăn chặn lỗi trong khuôn khổnhất định Unit Testing có thể đượcchạy thông qua tiện ích command-line
Automatic pagination: Tính năng tự động phân trang được tích hợp
vào Laravel giúp đơn giản hóa các nhiệm vụ thực hiện phân trang so với cácphương pháp thông thường
1.5 Kết chương 2
Từ những phân tích trên về cơ sở lý thuyết các công nghệ trên, em sử dụng Laravel framework để xây dựng các chức năng cho website quản lý chốt đơn và hệ cơ sở dữ liệu MySQL để lưu trữ và quản lý dữ liệu hệ thống Mặc dù các công nghệ này còn tồntại những nhược điểm nhất định, nhưng em sẽ tận dụng các ưu điểm của các công nghệnày để xây dựng website quản lý chốt đơn với các chức năng hoạt động tốt nhất có thể
Trang 22CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Chương 3 của báo cáo sẽ trình bày phân tích thiết kế hệ thống cho website xâychốt đơn Trước tiên là đặc tả yêu cầu của hệ thống, sau đó sẽ đi phân tích thiết kế chitiết hệ thống thông qua các biểu đồ usecase, biểu đồ tuần tự, biểu đồ hoạt động, biểu
đồ lớp và cuối cùng thiết kế cơ sở dữ liệu cho website
3.1 Mô tả bài toán
Website quản lý chốt đơn tới những khách hàng tiềm năng có muốn làm cộng tác viên, cung cấp và giới thiệu các dịch vụ hiện có của cửa hàng một cách đầy đủ thông qua môi trường trực tuyến đến cho khách hàng Vì vậy em đưa ra đặc tả bài toán như sau:
Khách hàng muốn được tư vấn thì vào trang Web để được tư vấn cách chốt đơn, tham khảo các sản phẩm, giá cả của sản phẩm, sản phẩm đã được đưa lên trên trang Web Khi khách hàng cần đến loại sản phẩm nào đó thì kích vào xem chi tiết về sản phẩm
đó, khi xem chi tiết xong, nếu khách hàng hài lòng về dịch vụ, khách hàng chọn vào mục đăng ký cũng như số lượng người sử dụng dịch vụ Thông thường thì phải đăng nhập vào hệ thống mới đăng ký được dịch vụ, nhưng với những khách vãng lai, không cần đăng ký để mua để trở thành thành viên để có thể đặt lịch cũng như đăng ký dịch
vụ sản phẩm, khách hàng phải điền đầy đủ thông tin chi tiết về mình và chọn vào đăng
kí làm cộng tác viên Nếu thông tin hợp lệ thì hệ thống sẽ gửi và thông báo đặt lịch thành công cho khách hàng
Các câu hỏi cần phải đặt ra khi xây dựng bài toán khi xây dựng trang web:
• Trang web có chức năng làm gì?
• Trang web sẽ có những chức năng nào?
• Trang web sẽ giải quyết được bài toán gì?
• Trang web sẽ hoạt động ra sao?
• Hướng tới đối tượng nào?
• Sử dụng ngôn ngữ hay nền tảng nào để phát triển?
• Sử dụng cơ sở dữ liệu và lưu trữ dữ liệu ra sao?
• Làm sao để xây dựng nhanh chóng mà hiệu quả, hiệu năng tốt
Trang 23• Cơ chế nâng cấp, kiểm thử và bảo trì.
-Website cung cấp danh mục sản phẩm, nhà cung cấp, thuộc tính, giá trị sản phẩm cho tất cả mọi người có nhu cầu làm cộng tác viên, đáp ứng đầy đủ các dịch vụ, hỗ trợ chăm sóc khách hàng trực tuyến
+ Xây dựng các chức năng cho khách hàng
+ Xây dựng các chức năng cho nhân viên quản trị
Website được xem như công cụ tiếp thị mạnh mẽ nhất cho các doanh nghiệp Đó
có thể là kênh bán hàng mang lại doanh số cao nhất, kênh thông tin giới thiệu về dịch
vụ doanh nghiệp, hay đăng ký tin tức tuyển dụng… Với các sản phẩm đa dạng thì website là kênh quảng cáo dịch vụ mang lại nguồn doanh thu tốt nhất
Việc xác định rõ ràng mục đích giúp người thiết kế nhanh chóng đưa ra giao diện phù hợp với yêu cầu của doanh nghiệp Các mục đích đó có thể là:
Giới thiệu tổ chức: lịch sử hình thành, đội ngũ, thương hiệu…
Quảng cáo các dịch vụ: chăm sóc da, tư vấn làm đẹ…
Thu hút khách hàng truy cập website tìm hiểu dịch vụ, đăng ký sử dụng
Cung cấp chỉ dẫn, thông tin liên hệ cho các khách hàng tiềm năng
Các yếu tố cần xem xét bao gồm:
Những thông tin mà đối tượng thường quan tâm: những nhà bán hàng tham khảo giá cả, bạn trẻ chưa có vốn muốn đăng kí làm cộng tác viên
Thói quen của đối tượng khi sử dụng trang web: tìm kiếm phương pháp chốt đơn, thông tin sản phẩm,
Màu sắc, hình ảnh nào dễ thu hút đối tượng nhất?
Xây dựng hệ thống điều hướng trang :
Trang 24Điều hướng trong thiết kế website spa cũng được xem là khâu quan trọng để hướng đến khách hàng mục tiêu Bản chất của các thanh điều hướng, menu ngang dọc chính
là internal link giúp người dùng thao tác qua lại giữa các nội dung trên trang
Có một quy tắc cực kỳ đơn giản, được áp dụng ở nhiều website trong việc điều hướng trang là: QUY TẮC 3 CLICK Nghĩa là khi người dùng muốn tìm kiếm bất kỳ thông tin gì trên website, họ chỉ cần thao tác 3 lần click chuột là có thể tìm thấy thông tin đó
Để xây dựng được hệ thống điều hướng website hiệu quả khi thiết kế website cho spa ,
cần tuân theo các nguyên tắc:
Menu rõ ràng
Sự thống nhất: màu sắc, kích thước, font chữ, …
Tập trung vào các yếu tố chính
Sử dụng các biểu tượng thông dụng
Thiết lập các yêu cầu thiết kế website :
Người ta thường sử dụng khái niệm thiết kế chuẩn UI/UX để đánh giá một thiết kếwebsite có đáp ứng yêu cầu tối ưu trải nghiệm người dùng hay không Trải nghiệmngười dùng càng tốt, mức độ hài lòng với dịch vụ càng tăng cao Sự hài lòng củakhách hàng là điều quan trọng với các đơn vị cung cấp dịch vụ như spa, salon bởi càngnhiều đánh giá tốt từ khách hàng, giá trị thương hiệu của doanh nghiệp đó càng thănghạng, doanh số cũng vì vậy mà tăng theo
Một thiết kế website cho spa chuẩn UI/UX giúp mang lại trải nghiệm tốt cho ngườidùng, đặc biệt là những đối tượng khách hàng mục tiêu mà website hướng tới Giaodiện mới lạ, bắt mắt, kích thích người dùng thực hiện nhiều thao tác tìm hiểu về doanhnghiệp, hay đăng ký sử dụng dịch vụ chính là nhiệm vụ mà UI/UX có thể thực hiệnđược
Không chỉ riêng web designer mới cần quan tâm đến thiết kế website chuẩn UI/UX, bản thân người lập kế hoạch thiết kế website cho spa, salon cũng cần nắm các nguyên tắc cốt lõi của thiết kế để có thể làm việc với designer tốt nhất
3.3.1 Xác định yêu cầu của hệ thống:
Domain (tên miền ):
Được ví như là một địa chỉ nhà của một trang web chạy trên Internet Đây là một liên kết ngắn có thể thu hút người dùng đến trang web của bạn Tên miền trang web là địa chỉ thực của trang web của bạn, để bộ định tuyến vệ tinh hướng người dùng đến trang
Trang 25web Nó được sử dụng làm địa chỉ nhà hoặc mã bưu điện và khi đó trình duyệt web cần một tên miền để dẫn bạn đến trang web.
Cấu trúc của tên miền
Tên miền bao gồm các phần tử được sắp xếp cùng nhau và phân tách bằng dấu chấm
“.” Ví dụ: carly.com.vn là tên miền của máy chủ web của công ty chúng tôi, bao gồm:Phần tử đầu tiên “carly” là tên của máy chủ
Thành phần “com” thứ hai thường được gọi là cấp miền thứ hai (cấp miền thứ hai).Phần tử cuối cùng “vn” là miền cấp cao nhất (miền chủ đề)
Hoạt động của tên miền
Khi bạn nhập một tên miền bất kỳ vào trình duyệt web nào đó, thì đầu tiên bạn cần phải truy cập đến mạng lưới chủ toàn cầu để tạo hệ thống DNS Ngay sau khi các máy chủ tìm kiếm được máy chủ đã được liên kết với tên miền và chuyển các yêu cầu đến máy chủ có tên đso
Máy chủ tên miền chính là máy chủ có chứa các cơ sở dữ liệu, nhằm phục vụ cho côngviệc chuyển đổi địa chỉ IP, tên miền và tất cả được quản lý bởi công ty cung cấp tên miền Khi đó, công ty này sẽ chuyển các yêu cầu của bạn đến máy chủ (nơi lưu trữ trang web hay còn gọi là server)
Còn đối với web server là phần cứng thì là nơi lưu trữ mọi thành phần cũng như cấu tạo thành trang website HTML, CSS và file ảnh Khi đó, server sẽ có nhiệm vụ phân phát các thông tin của website tới thiết bị người dùng
Nếu là phần mềm thì web server sẽ điều khiển người dùng truy cập tới file lưu trữ trên máy chủ HTTP Và bất cứ khi nào trình duyệt cần dữ liệu lưu trữ trên web server thì trình duyệt sẽ gửi các yêu cầu tới phần cứng thông qua HTTP Còn ngược lại khi phần mềm gửi tài liệu yêu cầu trở lại thì thông qua HTTP
Cách đăng ký tên miền cho website:
Bước 1: Kiểm tra tên miền mà bạn muốn đăng ký
Trang 26– Tên miền quốc tế như com; edu và net
– Tên miền mã quốc gia như vn; com.vn; edu.vn
Bước 2: Hoàn thành mọi thủ tục đăng ký
Khi đó bạn cần chọn tên miền đăng ký tại menu Sau khi bạn được thông báo là tên miền này chưa có ai đăng ký, có nghĩa là bạn có thể chọn đăng ký tên miền này được
và thời gian sử dụng tối thiểu là 12 tháng trở lên Nếu bạn đăng ký 12 tháng, thì hết 12 tháng thì bạn phải đăng nhập vào để gia hạn tên miền để tiếp tục sử dụng website nhé.Bước 3: Quản lý tên miền
Sau khi mua tên miền thì bạn cần phải có tài khoản Freenom để quản lý tên miền mà mình đăng ký Khi đó bạn sẽ thay đổi Record rồi trỏ tên miền về hosting và server máychủ là được
Bước 4: Thay đổi DNS tên miền trở về Hosting
Hosting( lưu trữ web):
Hosting:
Nếu Website của bạn là một ngôi nhà, tên miền là địa chỉ, thì Hosting chính là mảnh đất của ngôi nhà đó Vì vậy tên miền và Web Hosting là hai yếu tố không thể thiếu khi xây dựng một website
Hosting là dịch vụ lưu trữ dữ liệu và chia sẻ liệu trực tuyến, là không gian trên máy chủ có cài đặt các dịch vụ Internet như world wide web (www), truyền file (FTP), Mail…, bạn có thể chứa nội dung trang web hay dữ liệu trên không gian đó
Web Hosting (hay lưu trữ web)
Web Hosting là nơi lưu trữ tất cả các trang Web, các thông tin, tư liệu, hình ảnh của Website trên một máy chủ Internet Web Hosting đồng thời cũng là nơi diễn ra tất cả
Trang 27các hoạt động giao dịch Trao đổi thông tin giữa Website với người sử dụng Internet và
hỗ trợ các phần mềm Internet hoạt động
Nói một cách đơn giản, Web Hosting tương đương với trụ sở làm việc hay phòng giao dịch của một doanh nghiệp trong đời thường Khi bạn thuê dịch vụ lưu trữ, điều đó cũng giống như bạn thuê một phòng trong chung cư để làm văn phòng hay trụ sở làm việc
FTP
FTP là viết tắt của cụm từ File Transfer Protocol – là một giao thức truyền tệp tin trên mạng Internet Khi máy chủ hỗ trợ FTP, bạn có thể sử dụng các phần mềm FTP (FTP Client) để kết nối với máy chủ Tải lên các tệp tin dữ liệu cũng như cập nhật website của mình một cách dễ dàng
DNS
DNS là viết tắt của cụm từ Domain Name System Là hệ thống phân giải tên miền trênInternet Nếu Web Hosting giống như nhà bạn Domain name (tên miền) giống như địachỉ thì DNS giống như bản đồ Giúp xác định vị trí ngôi nhà của bạn khi có địa chỉ
Web Hosting hỗ trợ DNS là rất cần thiết Bởi nó giúp cho tên miền của bạn liên kết được với Web Hosting Nếu Web Hosting không hỗ trợ DNS, bạn phải cần đến nhà cung cấp dịch vụ thứ ba Điều đó cũng đồng nghĩa với sự thiếu đồng bộ, tiêu phí công sức cũng như tiền bạc
Hosting Controller hay Cpanel
Là phần mềm web đi kèm với các gói hosting hỗ trợ cho khách hàng chủ động quản lý
và cấu hình gói hosting Phần mềm này cung cấp các tính năng quản lý thư mục, database, backup dữ liệu, sub-domain,… Sacomtec đang sử dụng phần mềm HC7C mới nhất của Hosting Controller giúp khách hàng quản lý gói hosting mình một cách hiệu quả và nhanh chóng
Trang 28Nếu không có hosting thì website sẽ chỉ hoạt động trên máy tính bạn mà thôi, chỉ có mình bạn nhìn thấy, dữ liệu sẽ không được chia sẻ trên mạng Vậy nên rất cần thiết.
3.2.2 Yêu cầu chức năng và phi chức năng
- Yêu cầu chức năng
+ Đối với khách hàng:
Xem danh sách các sản phẩm ,
Tạo order
Đăng ký thành viên
Quản lý thông tin profile và chỉnh sửa …
Thay đổi mật khẩu
Kiểm tra trạng thái các order
+ Đối với quản trị:
Quản trị danh sách giao dịch
Quản trị sản phẩm: danh mục, nhà cung cấp, thuộc tính, giá trị, sản phẩm
Quản trị người dùng
Quản trị chốt đơn
Quản trị tin tức, góp ý, liên hệ
- Yêu cầu phi chức năng:
Bảng 3.1: Các yêu cầu phi chức năng
Mục Tên yêu
1 Giao diện Giao diện hệ thống phải dễ sử dụng, trực quan, thân thiện với mọi
Trang 29Để khẳng định giá trị thương hiệu chân thực, website chốt đơn cho cộng tác viên nên
sử dụng những hình ảnh, video thực tế về sản phẩm, các cộng tác viên làm việc Giao diện, hình ảnh trên trang chủ phải được trình bày trang nhã, thân thiện với người dùng.Màu sắc giao diện mang đậm dấu ấn, phong cách của sản phẩm Phải thể hiện được sự hiện đại và chuyên nghiệp
Trang chủ cũng cần có lời kêu gọi hành động ấn tượng cũng như điều hướng tốt để khuyến khích khách truy cập tiếp tục tìm hiểu thêm thông tin về sản phẩm, điều hướngđến các trang nội bộ của website
Trang giới thiệu website:
Kể cho khách hàng tiềm năng và đối tác của bạn câu chuyện hấp dẫn về sản phẩm của bạn Hãy để họ hiểu hơn về lịch sử hình thành và phát triển, Mục tiêu, Sứ mệnh hoạt động cũng như những thành tích mà cộng tác viên đã đạt được Giúp họ hiểu hơn về thương hiệu của bạn và tạo sự gắn kết giữa khách hàng với doanh nghiệp bằng trang Giới thiệu chung
Bạn cũng có thể mô tả cơ sở vật chất, kinh nghiệm và phương pháp làm việc của bạn Nói cho khách truy cập biết những điều thú vị chỉ có thể trải nghiệm ở sản phẩm của bạn mà không phải nơi nào khác
Trang 30Giới thiệu chung một cách cụ thể về sản phẩm
Năng lực và đội ngũ nhân sự có thể làm được những gì?
Cơ sở kỹ thuật, hệ thống máy móc hiện đại
Nội dung bài viết, có thể chèn thêm các hình ảnh về dịch vụ/công ty
Giá dịch vụ: Công khai giá dịch vụ với một bảng giá riêng biệt và cập nhật nó trong trường hợp có thay đổi Điều quan trọng ở đây đó là mọi thông tin cần phải chi tiết, rõ ràng và công khai Đừng bắt người dùng phải tải xuống bất kỳ tài liệu nào hay phải liên hệ để biết thông tin
Đặt lịch trực tuyến: Một điều rất phổ biến hiện nay đó chính là khách hàng không thích nói chuyện qua điện thoại, họ quen với việc đặt lịch trực tuyến hơn Đây là một
lý do đủ quan trọng để bạn thêm vào website spa của mình tính năng chat trực tuyến hay đặt lịch hẹn trực tuyến Điều này cho phép khách hàng xem giờ khả dụng và đặt lịch hẹn từ bất kỳ thiết bị nào Khách hàng cũng có thể nhận được tin nhắn xác nhận, lời nhắc về cuộc hẹn sắp tới Đó là một cách hiệu quả để giữ liên lạc với các khách hàng tiềm năng
Bạn có thể tạo các loại biểu mẫu, liên hệ để khách hàng có thể dễ dàng liên lạc, nhận
tư vấn và sử dụng dịch vụ
Trang 313.4 Phân tích và thiết kế hệ thống
- Các chức năng chính của hệ thống
Chức năng của hệ thống có thể chia làm các nhóm chức năng chính như sau:
Nhóm chức năng đăng ký, đăng nhập thành viên
Nhóm chức năng xem thông tin: bao gồm xem thông tin sản phẩm, xem thông tin chốt đơn, xem bài viết, xem giới thiệu, xem thông tin liên hệ, xem thông tin cá nhân
Nhóm chức năng quản lý thông tin cá nhân: bao gồm quản lý thông tin, quản lý danh sách thành viên, quản lý danh mục sản phẩm, quản lý chốt đơn, quản lý người dùng
Nhóm chức năng tiếp nhận và xử lý dịch vụ: đăng ký dịch vụ, tiếp nhận và xử lý
Khách hàng viếng thăm Xem danh sách sản phẩm
Xem thông tin chi tiết sản phẩm Đăng ký
Xem tin tứcThanh toán, đặt hàng …Phản hồi
Khách hàng thành viên Có các chức năng như Khách hàng viếng thăm và còn có thêm
một số chức năng khác như:
Đăng nhậpCập nhật thông tin cá nhân Nhân viên Đăng nhập, có một số quyền nhất định phải đăng nhập mới sửa
dụng được:
Xem danh sách đơn hàngCập nhật thông tin đơn hàngCập nhật thông tin khách hàng, nhân viên Cập nhật bài viết
Cập nhật thông tin liên hệ Người quản lý Có tất cả các quyền trong hệ thống
Quản lý thành viên một số chức năng khác và yêu cầu Đăng Nhập mới được sử dụng:
Xem danh sách đơn hàng
Trang 32Cập nhật thông tin đơn hàngCập nhật thông tin khách hàng, nhân viên, phân quyềnCập nhật bài viết
Cập nhật thông tin liên hệ
3.5 Biểu đồ use case
Sơ đồ UserCase (uc tổng quát, phân rã UC, mô tả rõ các chức năng)
3.5.1 Biểu đồ Use-case tổng quát
Hình 3.1: Biểu đồ Use case tổng quát
Phân rã các UC và mô tả phân rã các UC => Từ việc phân tích các use case của từng tác nhân, ta xây đựng thành các gói use case như sau
3.5.2 Use case đăng nhập
Hình 2.2: Biểu đồ Use case đăng nhập
Tác nhân: Thành viên
Mô tả: UC cho phép thành viên đăng nhập vào hệ thống
Trang 33 Tiền điều kiện: thành viên chưa đăng nhập vào hệ thống
Luồng sự kiện chính:
Thành viên chọn chức năng đăng nhập
Form đăng nhập hiển thị
Nhập tên tài khoản và mật khẩu vào form đăng nhập
Hệ thống kiểm tra tên, mật khẩu của thành viên
Nếu việc đăng nhập thành công thì thành viên có thể sử dụng một số quyền và chức năng được phân, nếu thành viên đăng nhập sai thông tin tài khoản hoặc mậtkhẩu thì chuyển sang luông nhánh A1
UC kết thúc
Luồng sự kiện rẽ nhánh:
Luồng nhánh A1: Thành viên đăng nhập không thành công
Hệ thống thông báo đăng nhập không thành công
Hệ thống cho thành viên hai lựa chọn đăng ký, nhập lại thông tin.Nếu ch
ọn đăng ký thành viên trở thành khách viếng thăm, và phải đăng ký để tr
ở thành thành viên để có thể đăng nhập hệ thống
Hệ thống yêu cầu nhập lại tên đăng nhập và mật khẩu
Nếu thành viên đồng ý thì quay về bước 2 của luồng sự kiện chính Nếu không đồng ý thì UC kết thúc
Hậu điều kiện: Thành viên đăng nhập thành công và có thể sửa dụng các chức năng mà hệ thống cung cấp
Tác nhân: khách hàng viếng thăm
Mô tả: cho khách xem đăng ký làm thành viên của hệ thống
Tiền điều kiện
3.5.3 Use case đăng ký
Hình 2.3: Biểu đồ Use case đăng ký
Tác nhân : khác hàng viếng thăm
Mô tả: cho khách hàng xem và đăng ký làm thành viên của hệ thống
Trang 34 Tiền điều kiện: truy cập vào trang web
Luồng sự kiện chính:
Khách hàng viếng thăm chọn mục đăng kí thành viên
Form đăng ký thành viên hiển thị
Khách xem nhập thông tin cá nhân cần thiết vào form đăng ký
Nhấn nút đăng ký
Hệ thống thông báo kết quả quá trình nhập thông tin cá nhân Nếu thông tin nhậ
p không chính xác thì thực hiện luồng nhánh A1 Nếu nhập chính xác thì thực hi
ện bước
Hệ thống cập nhật thông tin của khách cho vào danh sách thành viên
Uc kết thúc
Luồng sự kiện rẽ nhánh:
Luồng nhánh A1: Quá trình nhập thông tin không chính xác
Hệ thống thông báo thông tin đăng nhập không chính xác
Hệ thống yêu cầu xem nhập lại thông tin
Nếu khách hàng đồng ý thì quay về bước 2 của luồng sự kiện chính, nếu không đồng ý thì UC kết thúc
Hậu điều kiện: khách hàng trở thành viên của hệ thống
3.5.4 Use case quản lý thông tin cá nhân
Hình 2.4: Biểu đồ use case quản lý thông tin cá nhân
Tác nhân: thành viên của hệ thống
Trang 35 Tiền điều kiện: thành viên phải đăng nhập vào hệ thống
Luồng sự kiện chính:
Thành viên chọn chức năng sửa thông tin cá nhân
Hệ thống hiển thị form sửa thông tin với các thông tin cũ của thành viên hiện tại
Thành viên xem hoặc chỉnh sửa thông tin Nếu xem thì chuyển sang bước 7
Nhấn nút lưu thông tin
Cập nhật thông tin thành thành công thì thực hiện bước 6 Nếu sai thì thực hiện luồng sự kiện rẽ nhánh A1
Lưu thông tin
UC kết thúc
Luồng sự kiện rẽ nhánh:
Luồng nhánh A1: Nhập thông tin không hợp lệ
Hệ thống thông báo việc chỉnh sửa thông tin không hợp lệ
Thành viên nhập lại thông tin
Quay lại bước 4 của luồng sự kiện chính
Hậu sự kiện: Thông tin của thành viên được lưu vào hệ thống
3.5.5 Use case quản lý danh sách thành viên
Hình 2.5: Biểu đồ Use case của gói quản lý thành viên
Tác nhân: người quản lý
Mô tả: UC cho phép người quản lý thêm, xoá, thay đổi thông tin của các thành viên
Tiền điều kiện: người quản lý phải đăng nhập vào hệ thống
Trang 36 Luồng sự kiện chính:
Người quản lý chọn kiểu tác động lên thành viên: Thêm thành viên, loại bỏ thàn
h viên, thay đổi thông tin thành viên
Thêm thành viên:
Hệ thống hiển thị form nhập thông tin thành viên mới
Người quản lý nhập thông tin thành viên mới
Nhấn nút thêm thành viên
Nếu nhập thành công thì thực hiện bước cuối Nếu sai thực hiện luồng sự kiện r
ẽ nhánh A1
Lưu thông tin sản phẩm
Thay đổi thông tin thành viên
Hệ thống hiển thị form sửa thông tin của thành viên
Người quản lý nhập các thông tin cần thay đổi
Nhấn nút lưu thông tin
Nếu việc thay đổi thành công thì thực hiện bước cuối Nếu sai thực hiện luồng s
ự kiện rẽ nhánh A1
Lưu thông tin
Xóa thành viên
1.1 Người quản lý chọn thành viên cần xoá
1.2 Nhấn nút xoá để thực hiện loại bỏ thành viên
1.3 Hệ thống hiển thị thông báo xác nhận loại bỏ Nếu người quản lý đồng ý thì thực hiện bước 1.4 Nếu không đồng ý thì thực hiện bước 1.5
1.4 Thông báo thành viên đã được xoá
1.5 Hệ thống hiển thị lại danh sách thành viên
UC kết thúc
Luồng sự kiện rẽ nhánh
Luồng sự kiện rẽ nhánh A1:
Hệ thống thông báo việc nhập dữ liệu không hợp lệ
Người quản lý nhập lại thông tin
Nhấn nút lưu thông tin
Hậu điều kiện: các thông tin về nhân viên được cập nhật vào cơ sở dữ liệu
Trang 373.5.6 Use case quản lý danh mục, dịch vụ, thông tin, bài viết
Hình 2.6: Biểu đồ UC của gói quản lý danh mục, dịch vụ , thông tin , bài viết
Tác nhân: người quản lý
Mô tả: UC cho phép người quản lý thêm, xoá, thay đổi thông tin của các danh mục, dịch vụ , bài viết
Tiền điều kiện: người quản lý phải đăng nhập vào hệ thống
Luồng sự kiện chính:
Người quản lý chọn kiểu tác động lên danh mục, dịch vụ , bài viết: Thêm danh mục, dịch vụ, bài viết, loại bỏ danh mục, dịch vụ, bài viết, thay đổi thông thông tin danh mục, dịch vụ, bài viết
Thêm thành viên:
Hệ thống hiển thị form nhập thông tin danh mục, dịch vụ , bài viết mới
Người quản lý nhập thông tin danh mục, dịch vụ, bài viết mới
Nhấn nút thêm danh mục, dịch vụ, bài viết
Nếu nhập thành công thì thực hiện bước cuối Nếu sai thực hiện luồng sự kiện r
ẽ nhánh A1
Lưu thông tin danh mục, dịch vụ, bài viết
Thay đổi thông tin danh mục, dịch vụ, bài viết
Hệ thống hiển thị form sửa thông tin của danh mục, dịch vụ, bài viết
Người quản lý nhập các thông tin cần thay đổi
Nhấn nút lưu thông tin
Nếu việc thay đổi thành công thì thực hiện bước cuối Nếu sai thực hiện luồng s
ự kiện rẽ nhánh A1
Lưu thông tin
Xóa thành viên
Trang 381.1 Người quản lý chọn danh mục, dịch vụ, bài viết cần xoá
1.2 Nhấn nút xoá để thực hiện loại bỏ danh mục, dịch vụ, bài viết
1.3 Hệ thống hiển thị thông báo xác nhận loại bỏ Nếu người quản lý đồng ý thì thực hiện bước 1.4 Nếu không đồng ý thì thực hiện bước 1.5
1.4 Thông báo danh mục, dịch vụ, bài viết đã được xoá
1.5 Hệ thống hiển thị lại danh sách danh mục, dịch vụ, bài viết
UC kết thúc
Luồng sự kiện rẽ nhánh
Luồng sự kiện rẽ nhánh A1:
Hệ thống thông báo việc nhập dữ liệu không hợp lệ
Người quản lý nhập lại thông tin
Nhấn nút lưu thông tin
Hậu điều kiện: các thông tin về danh mục, dịch vụ, bài viết được cập nhật vào
cơ sở dữ liệu
3.5.7 Use case đăng ký dịch vụ cộng tác viên
Hình 2.7: Biểu đồ UC của gói đăng ký dịch vụ cộng tác viên
Tác nhân: khách hành viếng thăm, thành viên của hệ thống
Mô tả: UC cho phép khách đăng ký dịch vụ
Tiền điều kiện: thành viên phải đăng nhập vào hệ thống
Luồng sự kiện chính:
Chọn gói dịch vụ cần đăng ký
Xảy ra hai trường hợp là khách viếng thăm, thành viên Nếu là khách hàng viến
g thăm hoặc thành viên chưa đăng nhập thì chuyển sang luồng rẽ nhánh A1
Nhấn nút đặt đăng ký dịch vụ
Luồng sự kiện rẽ nhánh:
Trang 39 Luồng rẽ nhánh A1: Nếu khách viếng thăm hoặc thành chưa đăng thì hệ thống hiển thị yêu cầu cần đăng ký để trở thành viên để có thể đăng ký dịch vụ
Hậu điều kiện: lịch hẹn được lưu vào database, được thêm vào danh sách lịch h
ẹn và chờ người quản trị nhân viên phê duyệt
3.5.8 Use case xử lý đơn đăng dịch vụ
Hình 2.8: Biểu đồ uc xử lý đơn đăng ký
Tác nhân: Người quản lý, nhân viên
Mô tả: UC cho phép thành viên thay đổi các thông tin đăng ký
Tiền điều kiện: Người quản lý, thành viên phải đăng nhập vào hệ thống
Luồng sự kiện chính:
Người quản lý, nhân viên chọn dơn hàng
Nhấn nút thực hiện loại hiện quyết định trạng thái của đơn đăng ký
Hệ thống hiển thị thông báo xác nhận trạng thái đơn đăng ký
Hệ thống hiển thị lại danh sách và trạng thái đơn đăng ký
Hậu điều kiện: danh sách và trạng thái các đơn hàng được cập nhật lại
Trang 403.6 Biểu đồ hoạt động
3.6.1 Biểu đồ hoạt động chức năng đăng ký
Hình 3.1: Biểu đồ hoạt động của chức năng đăng ký 3.6.2 Biểu đồ hoạt động chức năng đăng nhập
Hình 3.2: Biểu đồ hoạt động của chức năng đăng nhập