Trước kia khi mạng Internet còn chưa phổ biến thìcác ứng dụng thường được viết trên máy Desktop, ngày nay Internet không còn xalạ với bất cứ ai do vậy các ứng dụng cũng có xu thế phát tr
Trang 1LỜI CẢM ƠN
Trước tiên em xin gửi lời cám ơn chân thành sâu sắc tới các thầy cô giáotrong trường Đại học Công Nghệ Thông Tin & Truyền Thông nói chung và các thầy cô giáo trong khoa Công Nghệ Thông Tin, bộ môn Kỹ Thuật Phần Mềm nói riêng đã tận tình giảng dạy, truyền đạt cho em những kiến thức, kinh nghiệm quý báu trong suốt thời gian qua
Đặc biệt em xin gửi lời cảm ơn đến cô Dương Thị Quy, cô đã tận tình giúp
đỡ, trực tiếp chỉ bảo, hướng dẫn em trong suốt quá trình làm đồ án tốt nghiệp Trong thời gian làm việc với cô, em không ngừng tiếp thu thêm nhiều kiến thức bổ ích mà còn học tập được tinh thần làm việc, thái độ nghiên cứu khoa học nghiêm túc, hiệu quả, đây là những điều rất cần thiết cho em trong quá trình học tập và công tác sau này
Sau cùng xin gửi lời cảm ơn chân thành tới gia đình, bạn bè đã động viên, đóng góp ý kiến và giúp đỡ trong quá trình học tâp, nghiên cứu và hoàn thành đồ án tốt nghiệp
Thái Nguyên, ngày…tháng…năm 2016
Người viết
Trần Xuân Quý
Trang 3LỜI CAM ĐOAN
Tôi tên: TRẦN XUÂN QUÝ, là sinh viên Đại học Chính Quy- Trường Đại Học Công Nghệ Thông Tin & Truyền Thông
Tôi cam đoan các kết quả nghiên cứu đồ án “Xây dựng website bán hàng cho cửa hàng thời trang Bảo Bình Shop bằng mô hình MVC” này dựa trên các
kết quả thu được trong quá trình nghiên cứu của riêng tôi, không sao chép bất kỳ kết quả nghiên cứu nào của các tác giả khác Nội dung của đồ án có tham khảo và
sử dụng một số thông tin, tài liệu từ bài giảng các môn học của Quý thầy cô, nghiên cứu trên Internet, sách báo và các tài liệu trong và ngoài nước có liên quan, được liệt kê trong danh mục các tài liệu tham khảo
Tôi xin chịu hoàn toàn trách nhiệm về lời cam đoan của mình trước Quý thầy Cô và nhà trường
Thái Nguyên, ngày…tháng…năm 2016
Người cam đoan
Trần Xuân Quý
Trang 5MỤC LỤC
LỜI CAM ĐOAN 2
1.1 HTML (HyperText Markup Language) 6
1.2 CSS (Cascading Style Sheets) 7
1.2.1 Tại sao phải sử dụng CSS 7
1.2.2 Cách chèn CSS vào trang HTML 8
1.2.3 Một số thuộc tính thường dùng trong css 9
1.3 PHP (Hypertext Preprocessor)12
1.3.1 Giới thiệu về PHP 12
1.3.2 Tại sao nên sử dụng PHP 13
1.3.3 Một số thuộc tính thường dùng trong PHP 13
1.4 Tìm hiểu về Mysql 21
1.4.1 Giới thiệu về Mysql 21
1.4.2 Một số câu lệnh truy vấn cơ sở dữ liệu 21
1.5 Tìm hiều về phân tích thiết kế hệ thống hướng đối tượng và mô hình hóa hệ thống
23
1.5.1 Giới thiệu về UML 23
1.5.2 Các thành phần của ngôn ngữ UML23
Trang 62.2 Phân tích thiết kế hệ thống 33
2.2.1 Biểu đồ Use Case 33
2.2.2 Kịch bản cho Use Case 36
Trang 7LỜI NÓI ĐẦU
Với sự phát triển mạnh mẽ của công nghệ thông tin và sự lớn mạnh, rộngkhắp của mạng máy tính toàn cầu Việc ứng dụng tin học vào các lĩnh vực của cuộcsống ngày càng được quan tâm và sử dụng hiệu quả, đem lại lợi ích to lớn về mọimặt Sự lớn mạnh của mạng máy tính đã xóa bỏ mọi gianh giới về không gian
và thờigian để đem con người và tri thức xích lại gần nhau hơn Thông qua mạng máy tính,con người có thể được tiếp xúc với mọi loại tri thức như tri thức văn hóa,
xã hội,khoa học kỹ thuật.Do vậy ngày càng có nhiều ứng dụng được viết để hỗ trợ côngviệc thủ công của con người, đặc biệt là các ứng dụng quản lý như quản lý nhân sự,quản lý hàng hóa, quản lý điểm Trước kia khi mạng Internet còn chưa phổ biến thìcác ứng dụng thường được viết trên máy Desktop, ngày nay Internet không còn xalạ với bất cứ ai do vậy các ứng dụng cũng có xu thế phát triển dần
trên nền Web.Trong đề tài “Xây dựng website bán hàng cho cửa hàng thời trang Bảo Bình Shop bằng mô hình MVC” này tôi xin trình bày về một ngôn ngữlập
trình web hiện đang được sử dụng phổ biến đó là ngôn ngữ PHP Trong quátrình phân tích và cài đặt ứng dụng không thể không tránh khỏi những thiếu sót, rấtmong sự giúp đỡ tận tình của các thầy cô trong Bộ môn và bạn bè đồng nghiệp
Trang 8CHƯƠNG I: CƠ SỞ LÝ THUYẾT 1.1 HTML (HyperText Markup Language)
HyperText Markup Language (HTML) là hàng loạt các đoạn mã chuẩn vớicác quy ước được thiết kế để tạo ra trang web, giúp tạo và chia sẻ các tài liệu điệntử tích hợp đa phương tiện qua Internet và được hiển thị bởi những trình duyệt Web.HTML là nền tảng của World Wide Web, một dịch vụ toàn cầu của Internet Weblà dịch vụ mang tính đồ hoạ cao trong các dịch vụ Internet, cho phép người dùng cóthể tự tạo cho riêng họ những trang Web HTML cho phép áp dụng siêu liên kết chotài liệu và trình bày tài liệu với phông chữ, hình ảnh, kiểu gióng hàng phù hợp vớihệ thống hiển thị văn bản
HTML không phải ngôn ngữ lập trình Thay vào đó, tạo các trang Webthường nói đến như là “authoring” (sáng tác) và đơn giản hơn nhiều so với việc tạo
ra các ứng dụng trên máy tính.Có nhiều trình soạn thảo HTML và Web khác nhau như: NotePad, InternetExplorer, Microsoft FrontPage hay Netscape Navigator có công cụ soạn thảo đơngiản cho phép tạo và hiệu chỉnh tập tin HTML
Cấu trúc của HTML rất đơn giản và logic, với bố cục từ trên xuống dưới, từ trái qua phải, với 2 phần chính là HEAD và BODY Các website viết bằng HTML đều tuân theo cấu trúc cơ bản như sau:
+ Mọi trang HTML đều phải khai báo DOCTYPE (định nghĩa chuẩn văn bản) ngay từ dòng đầu tiên
+ Thẻ <html> cho trình duyệt biết mở đầu và kết thúc của trang HTML.+ Thẻ <head> chứa tiêu đề và các thông tin khai báo, các thông tin ẩn khác.+ Thẻ <body> sẽ hiển thị nội dung của trang web Đây là phần thông tin mà người dùng sẽ nhìn thấy khi trình duyệt đọc các mã HTML
+ Mọi kí tự nằm giữa dấu <!– và –> sẽ được xem là thẻ comment và sẽ bị trình duyệt bỏ qua, không xử lý và không hiển thị
Trang 9Ví dụ:
<html>
<head>
<title>Đây là thẻ đánh dấu tiêu đề trang web</title>
<! Comment: Các thông tin khai báo, các thông tin ẩn >
1.2 CSS (Cascading Style Sheets)
CSS là viết tắt của cụm từ "Cascading Style Sheet", nó là một ngôn ngữ quy định cách trình bày của các thẻ html trên trang web Là ngôn ngữ đang được sử dụng rất nhiều trong lập trình web, có thể nói CSS ra đời đã tạo nên một cuộc cách mạng Đôi khi các bạn sẽ bối rối khi nhận thấy rằng các đoạn code mình viết hiển thị không giống nhau trên các trình duyệt khác nhau, CSS sẽ giúp các bạn giải quyết bài toán này.CSS quy định cách hiển thị nội dung của các thẻ HTML trên các trình duyệt gần như giống nhau,bằng cách quy định các thuộc tính cho thẻ HTML đó
1.2.1 Tại sao phải sử dụng CSS
- Như các bạn biết HTML cũng hỗ trợ một số thuộc tính định dạng cơ bản cho text, picture, table,… nhưng nó không thật sự phong phú và chính xác như nhau trên mọi hệ thống CSS cung cấp cho bạn hàng trăm thuộc tính trình bày dành cho các đối tượng với sự sáng tạo cao trong kết hợp các thuộc tính giúp mang lại hiệu quả Ngoài ra, hiện tại CSS đã được hỗ trợ bởi tất cả các trình duyệt, nên bạn hoàn toàn có thể tự tin trang web của mình có thể hiển thị hầu như (như nhau) dù
Trang 10trên một hệ thống sử dụng Windows, Linux hay trên một máy Mac miễn là bạn đang sử dụng một phiên bản trình duyệt mới nhất.
- Sử dụng các mã định dạng trực tiếp trong HTML tốn hao nhiều thời gian thiết kế cũng như dung lượng lưu trữ trên đĩa cứng Trong khi đó CSS đưa ra phương thức “ngoại tuyến” giúp áp dụng một khuôn mẫu chuẩn từ một file CSS ở ngoài Nó thật sự có hiệu quả đồng bộ khi bạn tạo một website có hàng trăm trang hay cả khi bạn muốn thay đổi một thuộc tính trình bày nào đó
- Hãy thử tưởng tượng bạn có một website với hàng trăm trang và bạn muốn thay đổi font chữ hay màu chữ cho một thành phần nào đó Đó thật sự sẽ là một công việc buồn chán và tốn nhiều thời gian Nhưng với việc sử dụng CSS việc đó
là hoàn toàn đơn giản cũng như là bạn có một trò ma thuật nào đó
- Ngoài ra, CSS còn cho phép bạn áp đặt những kiểu trình bày thích hợp hơn cho các phương tiện khác nhau như màn hình máy tính, máy in, điện thoại,…
1.2.2 Cách chèn CSS vào trang HTML
Cách 1: Chèn nội dung CSS vào trong cặp thẻ <style></style> trong phần
<head></head> của trang web:
Trang 11- Chèn trực tiếp CSS vào bên trong các thẻ mở của HTML.
- Nếu có nhiều thuộc tính cần quy định, ta ngăn cách giữa chúng bằng khoảng trắng
Ví dụ: Ở đây ta chèn CSS vào thẻ mở của cặp thẻ <p></p>
Trang 12Cách 3: Liên kết với một file *.css bên ngoài
- Đây là cách được dùng nhiều nhất trong sử dụng CSS vì tính tiện dụng và linh hoạt của nó Giả sử, bạn có một website gồm hàng trăm trang, khi bạn muốn thay đổi một chút cách trình này của website, thay vì gạch cạch đi gõ từng trang một, bạn chỉ cần sửa file CSS bên ngoài một chút, hàng trăm trang web của bạn đều được thay đổi
- Cú pháp: Thực hiện liên kết bằng thẻ <link>( Không có tag đóng ), theo
cú pháp sau:
<link rel="stylesheet" href="Đường dẫn đên file css" type="text/css" />
Tag này được đặt trong cặp tag <head></head> của trang web, và không cần đặt trong tag <style></style>
- Nếu bạn đặt file *.css cùng thư mục với trang web, thì trong thuộc tính href bạn chỉ cần viết: href="<ten_file_css.css"
- Nếu file *.css không cùng thư mục với trang web: Bạn cần chỉ trong đường dẫn tuyệt đối tới file *.css đó trong thuộc tính href
Trang 13border border: 1px solid
#ff0000; Định dạng đường viền cho thành phần.
bottom; Xác định vị trí một chú thích củatable.
clear clear: both; Xác định 2 bên của phần tử (left, right), nơi
mà phần tử float không được cho phép
(0,0,50px,10px);
Xác định đoạn cho thành phần khi sử dụng thuộc tính position có giá trị "absolute"
color color: #ff0000; Xác định màu sắc cho text
content content: "." Sử dụng kèm với bộ chọn ":before", ":after"
để chèn nội dung được tạo
subsection; Tạo hoặc reset một hoặc nhiều counter.
cursor cursor: pointer; Xác định kiểu con trỏ chuột được hiển thị
direction direction: ltr; Xác định hướng cho văn bản
display display: inline; Xác định loại hiển thị của thành phần
empty-cells empty-cells: hide; Xác định có hay không có đường viền và
nền trong một cột rỗng củatable
float float: left; Xác định có hay không một thành phần
được float
Trang 14font font: 12px
arial,sans-serif;
Thiết lập font cho thành phần, bao gồm font chữ, độ rộng,
height height: 50px; Thiết lập chiều cao của thành phần
left left: 10px; Xác định vị trí bên trái của thành phần định
vị trí (như position)
letter-spacing letter-spacing: 2px; Tăng hoặc giảm khoảng cách giữa các ký tự
trong đoạn text
line-height line-height: 1.5; Thiết lập chiều cao giữa các dòng
list-style list-style: decimal; Thiết lập kiểu cho một danh sách
margin margin: 15px; Canh lề cho thành phần
max-height max-height: 200px; Thiết lập chiều cao tối đa của thành phần
max-width max-width: 900px; Thiết lập chiều rộng tối đa của thành phần
min-height min-height: 100px; Thiết lập chiều cao tối thiểu của thành phần
min-width min-width: 600px; Thiết lập chiều rộng tối thiểu của thành
phần
outline outline: dotted; Định dạng các đường viền bao ngoài
overflow overflow: scroll; Xác định điều gì sẽ xảy ra nếu một thành
phần box tràn nội dung
padding padding: 15px; Thiết lập các thuộc tính padding trong một
Trang 15quotes "‘" "’" Thiết lập các loại dấu ngoặc bao ngoài khi
underline; Xác định các trang trí thêm cho text.
text-indent text-indent: 10px; Ghi rõ thụt đầu dòng của dòng đầu tiên
trong một khối văn bản
text-transform text-transform:
uppercase; Thiết lập các ký tự viết hoa cho văn bản.
top top: 10px; Xác định vị trí bên trên của thành phần định
vị trí (như position)
vertical-align vertical-align:
middle; Sắp xếp các nội dung theo chiều dọc.
visibility visibility: visible; Xác định thành phần có được nhìn thấy hay
width width: 800px; Thiết lập chiều rộng cho thành phần
word-spacing word-spacing: 5px; Tăng hoặc giảm không gian giữa các từ
trong đoạn văn bản
z-index z-index: 100; Thiết lập thứ tự xếp chồng nhau của một
thành phần vị trí
1.3 PHP (Hypertext Preprocessor)
Trang 161.3.1 Giới thiệu về PHP
PHP (Hypertext Preprocessor) là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới
1.3.2 Tại sao nên sử dụng PHP
- PHP được sử dụng rộng rãi, miễn phí, cấu hình nhanh chóng, nhỏ gọn
- PHP có khả năng đạt hiệu suất cao trong làm việc
- PHP có tính khả chuyển, một ứng dụng dù được phát triển trên Windows vẫn có thể chạy bình thường trên UNIX mà không gặp bất kỳ vấn đề nào đáng kể
- PHP dễ sử dụng Như một câu nói nổi tiếng: Simple Is The Best!!
- PHP là một dự án mã nguồn mở Ngôn ngữ này được phát triển bởi một đội ngữ những người tình nguyện trên toàn cầu
1.3.3 Một số thuộc tính thường dùng trong PHP
a.Biến, hằng số, kiểu dữ liệu trong PHP
Kiểu dữ liệu
- Các kiểu dữ liệu khác nhau chiếm các lượng bộ nhớ khác nhau và có thể được xử lý theo cách khác nhau khi chúng được thao tác trong một script
Trong ngôn ngữ lập trình PHP chúng ta có 6 kiểu dữ liệu chính như sau:
String How are you? Một tập hợp các ký tự
Boolean True of False Giá trị true hoặc false
Object Kiểu hướng đối tượng trong PHP
Trang 17Array Kiểu mảng trong PHP
Biến và giá trị logic
PHP không có khái niệm TRUE hoặc FALSE Các giá trị TRUE được hiểu
là những giá trị bằng 1, và giá trị FALSE là những giá trị bằng 0 hoặc xâu rỗng
Khi sử dụng biến chúng ta không cần khai báo kiểu
Nếu như thực hiện phép toán có kiểu số và kiểu string PHP sẽ coi chuỗi là một dãy như sau:
Trang 18Phép nhân * Nhân hai số hạng $a * b
Phép chia / Chia hai số hạng $a / $b
Phép chia lấy dư % Chi lấy dư 5 % 2 = 1
Trang 19So sánh nhỏ hơn < So sánh nhỏ hơn $a < $b
Lớn hơn hoặc bằng >= Lớn hơn hoặc bằng $a >= $b
Nhỏ hơn hoặc bằng <= Nhỏ hơn hoặc bằng $a <= $b
$a > $b && $a >
$c
Phép hoặc || hoặc or Một trong 2 thoả mãn
điều kiện là được $a > $b || $a < $c
Phủ định ! Phủ định 1 điều kiện,
giá trị nào đó $a != b
Các phép toán với biến kiểu string
Ta sử dụng dấu “.” để ghép 2 biến kiểu string với nhau
Để có thể chèn một biến vào trong toán hạng có kiểu string thì tên biến phải
để trong dấu đóng mở ngoặc nhọn
Echo (“${last} ‘bycycles”);
c.Các câu lệnh điều khiển
Lệnh If_else: đây là lệnh rẽ nhánh có điều kiện
Trang 20Câu lệnh switch: là câu lênh rẽ nhánh có điều kiện trong đó thực hiện 1 trong n
cái rẽ nhánh
Switch(biểu thức n){
Lênh DO WHILE: là một lệnh tạo chu trình có điều kiện, trong đó điều kiện
thực hiện chu trình được kiểm tra cở cuối chu trình
Trang 21switch, while, do while, for Lệnh break chỉ cho phép thoát khỏi thân các lệnh bên trong nhất chứa nó.
Continue: là lệnh rẽ nhánh không điều kiện, lệnh thường dùng để bắt đầu lại một
chu trình mới trong các lệnh for, while, do while mà không cần thực hiện toàn
bộ thân của lệnh tạo chu trình
d.Hàm trong PHP
Quy tắc xây dựng hàm
Function tên_ham(danh sách đối số hình thức){
Thân hàm}
Định nghĩa hàm không nhất thiết phải nằm ngoài thân mọi hàm, trong hàm
có thể có hàm khác Nhưng việc sử dụng một hàm không khác nhau giữa xây dựng hàm trong thân một hàm và ngoài một hàm
Tên hàm tùy đặt và khác tên hàm chuẩn
Hàm có thể có giá trị trả về hoặc không
Các câu lệnh được quyền gọi bất kì hàm nào đã được khai báo và đã được định nghĩa
Return:
+ Trả một giá trị về cho nơi gọi hàm
+ Là nơi báo kết thúc hàm
Gọi hàm
+ Hàm phải được xây dựng trước khi gọi
+ Khi gọi hàm, nếu có giá trị trả về thường được đặt trong biểu thức
Biến toàn cục và biến cục bộ
Thông thường PHP coi các biến được sử dụng trong thân của hàm là biến cục
bộ Nghĩa là biến trong thân hàm không làm thay đổi giá trị của biến ở ngoài hàm đó Muốn làm thay đổi giá trị của biến ta cần khai báo global trước biến đó trong thân hàm
Trang 23e.Biến mảng trong PHP
Mảng một chiều
Mảng là một biến bao gồm nhiều phần tử có cùng tên nhưng khác nhau về chỉ số (các chỉ số này tăng dần từ 0 đến n) Các phần tử của mảng không nhất thiết phải cùng kiểu
+ Khai báo mảng 1 chiều:
Ta có thể khai báo mảng bằng cách gán tên mảng với dấu đóng mở ngoặc vuông không có chỉ số
Một phần tử mới được thêm vào với chỉ số lớn nhất của mảng cộng thêm 1 Ngoài
ra cũng có thể khai báo mảng một chiều bằng câu lênh array
$mang = array(“ab”, “ef”);
Mảng hai chiều
Ta có thể khai báo mảng hai chiều như sau:
$mang = array(“europs” => (“de”, “uk”), “north america” =>(“ca”, “cr”, “us”));Echo ($mang[“europs”][1]);
Ta có cấu trúc của mảng trên như sau:
Trang 24$mang[“europs”] $mang[“north america”]
f Lập trình hướng đối tượng
Trang 25Tiếp theo chúng ra sẽ định nghĩa các phương thức cho lớp trên.
Phương thức cần xây dựng đầu tiên là sesion(), sau đó đến các phương thức khác
Trang 26<a href=”nextpage.php?seshid=<? Echo $user; ?>”>next page</a>
<FORM action=”nextpage.php” METHOD=”POST”>
<input type=”hidden” name=”seshid” value=”<? Echo $user;?>”/>
</FORM>
</body>
</html>
1.4 Tìm hiểu về Mysql
1.4.1 Giới thiệu về Mysql
MySQL là một cơ sở dữ liệu quan hệ miễn phí hiện nay đã được hãng Oracle mua lại từ hãng Sun Nó thường được sử dụng kết hợp với PHP để lưu trữ
dữ liệu của ứng dụng website khi người dùng thao tác trên website của chúng ta Nếu các bạn đã từng học SQL Server một hệ cơ sở dữ liệu quan hệ của Microsoft thì khi tiếp cận với MySQL sẽ dễ dàng hơn, vì chúng vẫn được xây dựng giống nhau về tư tưởng, kiến trúc
1.4.2 Một số câu lệnh truy vấn cơ sở dữ liệu
Trang 27Lệnh: Insert
Lệnh Insert là câu lệnh SQL dùng để chèn một bản ghi vào table
Cú pháp:
INSERT INTO table_name (field1, field2) VALUES (‘value1′, ‘value2′);
table_name: là tên của bảng
field: là trường dữ liệu, các field được tách nhau bởi dấu phẩy
value: là giá trị tương ứng với các field cũng được tách nhau bởi dấu phẩy
Ví dụ
INSERT INTO `friday`.`tbl_teachers` (`teacher_id`, `teacher_name`, `teacher_email`,
`teacher_phone`) VALUES (NULL, 'Vũ Văn Khương', 'vukhuong@gmail.com', '01672022521');
Lệnh Update
Lệnh Update là câu lệnh SQL dùng để cập nhật giá trị cho một hoặc nhiều
bản ghi đang có trong bảng (tùy vào điều kiện giới hạn số bản ghi thực hiện của
+ field = ‘value’: các trường và giá trị tương ứng cần cập nhật
+ WHERE điều_kiện: Điều kiện giới hạn số bản ghi cần thực hiện (nếu
không có điều kiện WHERE) MySQL sẽ xử lý toàn bộ các bản ghi trên bảng
Ví dụ:
UPDATE tbl_teachers SET teacher_name = 'Đỗ Chiến' WHERE teacher_id = 1
Câu lệnh này sẽ thực hiện sửa tên của bản ghi có mã giảng viên = 1, chính là bản
ghi mình vừa thực hiện INSERT vào
Lệnh Delete
Trang 28Lệnh Delete là câu lệnh SQL dùng để xóa một hay nhiều bản ghi
Cú pháp:
DELETE FROM table_name WHERE điều_kiện
+ table_name: là tên bảng dữ liệu cần xóa
+ WHERE điều_kiện: là các điều kiện để giới hạn số bản ghi bị tác động
(nếu bỏ trống toàn bộ các bản ghi trong bảng này sẽ bị xóa bỏ)
Ví dụ:
DELETE FROM tbl_teachers WHERE teacher_id = Câu lệnh này sẽ thực hiện xóa bản ghi có mã giảng viên = 1
Lệnh SELECT
Câu lệnh SELECT là câu lệnh SQL dùng để truy vấn các bản ghi trong cơ
sở dữ liệu của bạn Đây là câu lệnh SQL được sử dụng nhiều nhất, tùy biến nhất để
giải quyết mọi yêu cầu khai thác dữ liệu của bài toán
Cú pháp:
SELECT field1, field2, FROM table_name WHERE điều_kiện ORDER BY
field ASC|field DESC|rand() LIMIT Số bản ghi|Giá trị đầu, giá trị cuối
+ Field1, Field2 là các trường dữ liệu cần truy vấn
+ tablename là bảng dữ liệu cần truy suất
+ WHERE điều_kiện là các điều kiện để có được dữ liệu mong muốn
+ ORDER BY field ASC lệnh sắp xếp dữ liệu tăng dần
+ ORDER BY field DESC lệnh sắp xếp dữ liệu giảm dần
+ ORDER BY rand() lệnh lấy ngẫu nhiên
+ LIMIT số_bản_ghi lấy n bản ghi
+ LIMIT 0,n: lấy n bản ghi từ vị trí 0
Trang 29hệ thống
1.5.1 Giới thiệu về UML
- Ngôn ngữ mô hình hóa thống nhất (Unifield Modeling Language - UML)
là một ngôn ngữ để biểu diễn mô hình theo hướng đối tượng được xây dựng bởi JamesRumbaugh, Grady Booch và Ivar Jacobson với chủ đích là:
+ Mô hình hóa các hệ thống sử dụng các khái niệm hướng đối tượng
+ Thiết lập một kết nối từ nhận thức của con người đến các sự kiện cần mô hình hóa
+ Giải quyết vấn đề về mức độ thừa kế trong các hệ thống phức tạp, có nhiều ràng buộc khác nhau
+ Tạo một ngôn ngữ mô h́nh hóa có thể sử dụng được bởi người và máy
- UML là một ngôn ngữ mô hình hóa thống nhất có phần chính bao gồm những kýhiệu hình học, được các phương pháp hướng đối tượng sử dụng để thể hiện và miêu tả các thiêt kế của một hệ thống Nó là một ngôn ngữ để đặc tả, trực quan hóa, xây dựng và làm tư liệu cho nhiều khía cạnh khác nhau của một hệ thống có nồng độ phần mềm cao UML có thể được sử dụng làm công cụ giao tiếp giữa người dùng, nhà phân tích, nhà thiết kế và nhà phát triển phần mềm
1.5.2 Các thành phần của ngôn ngữ UML
Ngôn ngữ UML bao gồm một loạt các phần tử đồ họa (graphic element) có thể được kết hợp với nhau để tạo ra các biểu đồ Bởi đây là một ngôn ngữ, nên UML cũng có các nguyên tắc để kết hợp các phần tử đó
Một số những thành phần chủ yêu của ngôn ngữ UML:
+ Hướng nhìn (view): hướng nhìn chỉ ra các khía cạnh khác nhau của hệ thống cần phải được mô hình hóa Một hướng nhìn không phải là một bản vẽ mà là một sự trừu tượng hóa bao gồm một loạt các biểu đồ khác nhau Chỉ qua việc định nghĩa một loạt các hướng nhìn khác nhau, mỗi hướng nhìn chỉ rao một khía cạnh riêng biệt của hệ thống, người ta mới có thể tạo dựng nên một bức tranh hoàn thiện
về hệ thống Cũng chính các hướng nhìn này nối kết ngôn ngữ mô hình hóa với quy trình được chọn cho giai đoạn phát triển
+ Biểu đồ (diagram): là các hình vẽ miêu tả nội dung trong 1 hướng nhìn UML có tất cả 9 loại biểu đồ kahcs nhau được sử dụng trong những sự kết hợp khác nhau để cung cấp tất cả các hướng nhìn của một hệ thống
+ Phần tử mô hình hóa (model element): các khái niệm được sử dụng trong
Trang 30các biểu đồ được gọi là các phần tử mô hình, thể hiện các khái niệm hướng đối tượng quen thuộc Ví dụ như lớp, đối tượng, thông điệp cũng như các quan hệ giữa các khái niệm này, bao gồm cả liên kết, phụ thuộc, khái quát hóa Một phần tử mô hình thường được sử dụng trong nhiều biểu đồ khác nhau, nhưng nó luôn luônn có chỉ một ý nghĩa và một ký hiệu.
+ Cơ chế chung: cư chế chung cung cấp thêm những lời nhận xét bổ sung, các thông tin cũng như các quy tắc ngữ pháp chung về một phần tử mô hình, chúng còn cung cấp thêm cơ chế để có thể mở rộng ngôn ngữ UML cho phù hợp với một phương pháp xác định (một quy trình, một tổ chức hoặc một người dùng)
1.5.3 Biểu đồ (diagram)
Biểu đồ User case (Use Case Diagram)
Một biểu đồ use case chỉ ra một số lượng các tác nhân ngoại cảnh và mối liên kết của chúng đối với use case mà hệ thống cung cấp Một Use case là một lời miêu tả của một chức năng mà hệ thống cung cấp Lời miêu tả Use case thường là một văn bản tài liệu, nhưng kèm theo đó cũng có thể là một biểu đồ hoạt động Các Use case được miêu tả duy nhất theo hướng nhìn từ ngoài vào của các tác nhân (hành vi của hệ thống theo sự mong đợi của người sử dụng), không miêu tả chức năng được cung cấp sẽ hoạt động nội bộ bên trong hệ thống ra sao Các Use case định nghĩa các yêu cầu về mặt chức năng đối với hệ thống
Trang 31Hình 1.1 Biểu đồ User Case
Biểu đồ lớp (Class Diagram)
Một biểu đồ lớp chỉ ra cấu trúc tĩnh của các lớp trong hệ thống Các lớp là đại diện cho các “vật” được xử lý trong hệ thống Các lớp có thể quan hệ với nhau trong nhiều dạng thức: liên kết (associated – được kết nối với nhau), chuyên biệt hóa (specialized – một lớp này là một kết quả chuyên biệt hóa của một lớp khác), hay đóng gói (packaged - hợp với nhau thành một đơn vị) Tất cả các mối quan hệ
đó đều được thể hiện trong biểu đồ lớp, đi kèm với cấu trúc bên trong của các lớp theo khái niêm thuộc tính (attribute) và thủ tục (operation) Biểu đồ được coi là biểu đồ tĩnh theo phương diện cấu trúc được miêu tả ở đây có hiệu lực tại bất kỳ thời điểm nào trong toàn bộ vòng đời đệ thống Một hệ thống sẽ thường có một loạt các biểu đồ lớp – chẳng phải bao giờ tất cả các biểu đồ lớp này cũng được nhập vào một biều đồ lớp tổng thể duy nhất – và một lớp có thể tham gia vào nhiều biểu đồ lớp
Trang 32Hình 1.2 Biểu đồ lớp
Biều đồ trình tự (Sequence Diagram)
Một biểu đồ trình tự chỉ ra một cộng tác động giữa một loạt các đối tượng Khía cạnh quan trọng của biểu đồ này là chỉ ra trình tự các thông điệp (message) được gửi giữa các đối tượng Nó cũng chỉ ra trình tự tương tác giữa các đối tượng, điều sẽ xảy ra tại một thời điểm cụ thể nào đó trong trình tự thực thi của hệ thống Các biểu đồ trình tự chứa một loạt các đối tượng được biểu diễn bằng các đường thằng đứng Trục thời gian có hướng từ trên xuống dưới trong biểu đồ, và biểu đồ chỉ ra sự trao đổi thông điệp giữa các đối tượng khi thời gian trôi qua Các thông điệp được biểu diễn bằng các đường gạch ngang gắn liền với mũi tên (biểu thị thông điệp) nối liền giữa những đường thẳng đứng thể hiện đối tượng Trục thời gian cùng những lời nhận xét khác thường sẽ được đưa vào phần lề của biểu đồ
Trang 33Hình 1.3 Biểu đồ trình tự
Biểu đồ cộng tác (Collaboration Diagram)
+ Một biều đồ cộng tác chỉ ra một sự cộng tác động, cũng giống như một biểu đồ trình tự, thường người ta sẽ chọn hoặc dùng biểu đồ trình tự hoặc dùng biểu đồ cộng tác Bên cạnh việc thể hiện sự trao đổi thông điệp (được gọi là tương tác), biều đồ cộng tác chỉ ra các đối tượng và quan hệ của chúng (nhiều khi được gọi là ngữ cảnh) Việc nên sử dụng biểu đồ trình tự hay biều đồ cộng tác thường sẽ được quyết định theo nguyên tắc chung sau: nếu thời gian hay trình tự là yếu tố quan trọng nhất cần phải nhần mạnh thì hãy chọn biều đồ trình tự, nếu ngữ cảnh là yếu tố quan trọng hơn, hãy chọn biều đồ cộng tác Trình tự tương tác giữa các đối tượng được thể hiện trong cả hai loại biểu đồ này
+ Biểu đồ cộng tác được vẽ theo dạng một biểu đồ đối tượng, nơi một loạt các đối tượng được chỉ ra cùng với mối quan hệ giữa chúng với nhau (sử dụng những ký hiệu như trong biểu đồ lớp/biểu đồ tượng) Các mũi tên được vẽ giữa các đối tượng để chỉ ra dòng chạy thông điệp giữa các đối tượng Các thông điệp thường được đính kèm theo các nhãn (label), một trong những chức năng của nhãn
là chỉ ra thứ tự mà các thông điệp được gửi đi Nó cũng có thể chỉ ra các điều kiện,
Trang 34chỉ ra những giá trị được trả về Khi đã làm quen với cách viết nhãn, một nhà phát triển có thể đọc biểu đồ cộng tác và tuân thủ theo dòng thực thi cũng như sự trao đổi thông điệp.
Biểu đồ trạng thái
Biểu đồ trạng thái thể hiện chu kỳ hoạt động của các đối tượng, hệ thống con và cả hệ thống Nó là một loại oto mát hữu hạn trạng thái, mô tả các trạng thái hành động mỗi đối tượng có thể có và các sự kiện gắn với trạng thái theo thời gian
Biểu đồ trạng thái có điểm mở đầu và điểm kết thúc như hình vẽ dưới:
Hình 1.4 Biểu đồ trạng thái
Khi một hóa đơn được tạo lập thì nó ở trạng thái chưa thanh toán, sau đó khi có sự kiện khách hàng thanh toán nghĩa là khách trả tiền cho các mặt hàng đã chọn mua thì nó chuyển sang trạng thái thanh toán
Biều đồ hoạt động
Biểu đồ hoạt động chỉ ra dòng hoạt động của hệ thống, bao gồm các trạng thái hoạt động Trong đó, từ một trạng thái hoạt động sẽ chuyển sang một trạng thái khác sau khi một hoạt động tương ứng được thực hiện, nó chỉ ra trình tự các bước, tiến trình thực hiện cũng như các điểm quyết định và sự rẽ nhánh theo luồng
sự kiện
Biểu đồ thành phần
Trang 35Biều đồ thành phần chỉ ra cấu trúc vật lý của các thành phần trong hệ thống bao gồm: các thành phần mã nguồn, mã nhị phân, thư viện và các thành phần thực thi.
Biểu đồ triển khai
Biểu đồ triển khai chỉ ra cách bố trí vật lý các thành phần theo kiến trúc được thiết kế của hệ thống Trong biểu đồ này xác định các máy tính và thiết bị hoạt động, cũng như cách nối các nút lại với nhau Biểu đồ triển khai địa chỉ hóa tới quan sát triển khai tính của công nghệ
1.5.4 Các mối quan hệ
UML cho phép biểu diễn 4 mối quan hệ giữa các đối tượng trong các hệ thống Đó là: quan hệ phụ thuộc, quan hệ kết hợp, quan hệ tổng quát hóa, hiện thực hóa
Quan hệ phụ thuộc
Đây là quan hệ ngữ nghĩa giữa hai phần tử trong đó sự thay đổi của 1 phân
tử sẽ tác động đến ngữ nghĩa của phần tử phụ thuộc
Quan hệ kết hợp
Kết hợp là quan hệ cấu trúc xác định mối liên kết giữa các lớp đối tượng Khi có một đối tượng của lớp này gửi/nhận thông điệp từ chỗ đối tượng của lớp kia thì hai lớp đó có quan hệ kết hợp
Quan hệ tổng quát
Đây là quan hệ mô tả sự khái quát hóa mà trong đó một số đối tượng cụ thể (của lớp con) sẽ được thừa kế các thuộc tính, các phương thức của các đối tượng tổng quát (lớp cơ sở)
Quan hệ hiện thực hóa
Hiện thực hóa là quan hệ ngữ nghĩa giữa giao diện và lớp (hay thành phần)
nó thực hiện cài đặt các dịch vụ có cuộc khai báo trong các giao diện
Trang 36CHƯƠNG II: KHẢO SÁT VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2.1 Khảo sát hệ thống
2.1.1 Khảo sát hiện trạng
a Thông tin cửa hàng
Tên cửa hàng: Bảo Bình Shop
Địa chỉ: 268, Ngã 3 điểm hẹn, đường Z115- tổ 4, phường Tân Thịnh, TP Thái Nguyên, Thái Nguyên (thành phố)
Hiện tại cửa hàng chuyên kinh doanh thời trang sinh viên – công sở Do công nghệ thông tin ngày càng tiên tiến, internet ngày càng phát triển vì vậy Bảo Bình tạo website kết hợp bán hàng Truyền Thống và bán hàng qua Mạng để đáp ứng được nhu cầu của thị trường
b Các hoạt động mua bán kinh doanh của cửa hàng
Hoạt động của khách hàng
Trang 37+ Một khách hàng khi tham quan cửa hàng, họ sẽ đặt vấn đề cửa hàngbán những gì, thông tin gì về những mặt hàng được bán, giá cả và hình thức thanh toán Do đó để đáp ứng những nhu cầu tối thiểu trên, cửa hàngtrên Internet phải đảm bảo cung cấp những thông tin cần thiết, có giá trị và hơn thế nữa là dễ thao tác Mặt hàng khi bán phải có hìnhảnh,giá cả,thông tin liên quan đến mặt hàng đó.
+ Khách hàng có thể vào cửa hàng ảo (Web Site) để tìm kiếm các sản phẩm cần mua và đặt hàng với cửa hàng Khách hàng có thể tìm mặt hàng mà mình cần theo tên mặt hàng
+ Mỗi khách hàng được cung cấp một giỏ mua hàng tương ứng Khi khách hàng thêm những mặt hàng vào giỏ mua hàng của mình thì một trang đăng ký sẽ xuất hiện yêu cầu khách hàng đăng nhập Nếu đây là lần đầu tiên khách hàng tới cửa hàng thì khách hàng được yêu cầu nhập vào thông tin đăng ký trong đó có họ tên, thông tin địa chỉ, username và password của khách hàng Nếu khách hàng đã đăng ký rồi thì họ có thể truy xuất giỏ mua hàng của mình chỉ bằng cách nhập vào username và password của khách hàng Khi khách hàng tiếp tục tham quan cửa hàng, những mặt hàng mới có thể được thêm vào giỏ mua hàng của khách hàng khi khách hàng yêu cầu, khách hàng có thể cập nhật số lượng của mặt hàng mà mình muốn mua, hoặc khách hàng có thể loại bỏ mặt hàng hiện có trong giỏ mua hàng của mình khi khách hàng không muốn mua nó nữa
+ Khi khách hàng đã sẳn sàng hoàn thành đơn đặt hàng của mình thì các mặt hàng mà khách hàng hiện có trong giỏ mua hàng của mình sẽ chuyển vào đơn đặt hàng thực hiện đặt hàng với cửa hàng, giỏ mua hàng của khách hàng sẽ rỗng
+ Sau khi khách hàng đã đặt hàng tại cửa hàng rồi, họ có thể theo dõi đơn đặt hàng của mình để trực tiếp kiểm tra đơn đặt hàng tại trang Web của cửa hàng khi có những băn khoăn
Hoạt động của người quản trị
Người quản trị ngoài việc nhận thông tin từ khách hàng còn phải đưa thông tin về loại mặt hàng mà mình bán trên Internet Hoạt động của người quản trị có thể phân ra những nhiệm vụ sau:
+ Hướng dẫn, giới thiệu mặt hàng: Khách hàng thường đặt câu hỏi "cửa hàngcủa bạn bán những mặt hàng gì, và có những gì tôi cần hay không?" khi họ tham quancửa hàng Phải nhanh chóng đưa khách hàng tới nơi có mặt hàng mà họ cần, đó là nhiệm vụ của nhà quản lý Việc lưu trữ các thông tin về mặt hàng trong một cơ sở dữ liệu trực tuyến, cơ sở dữ liệu này chứa những thông tin về mặt hàng như: tên mặt hàng, loại mặt hàng, thông tin mô tả, tên tập tin chứa hình ảnh của mặt hàng đó
+ Quản lý mặt hàng: người quản trị có thể bổ sung, loại bỏ và cập nhật mặt
Trang 38hàng để phù hợp với tình hình hoạt động của cửa hàng và nhu cầu thị hiếu của khách hàng,…
+ Cung cấp giỏ mua hàng cho khách hàng: khách hàng sẽ cảm thấy thoải mái khi duyệt qua toàn bộ cửa hàng trực tuyến mà không bị gián đoạn ở bất kỳ đâu
vì phải lo quyết định xem có mua một mặt hàng nào đó hay không, cho tới khi kết thúc việc mua hàng, có thể lựa chọn mặt hàng, thêm hoặc loại mặt hàng ra khỏi giỏ cũng như ấn định số lượng cho mỗi mặt hàng
+Theo dõi khách hàng: Hàng của ai mua? Là câu hỏi đặt ra khi cùng một lúc nhiều khách hàng mua hàng trong công ty
+ Nhận đơn đặt hàng: Sau khi khách hàng kết thúc giao dịch, đơn đặt hàng được tổng hợp lại và gởi qua cho các bộ phận khác như thống kê kế toán, kinh doanh, ngoài ra sau một thời gian nhất định, nhà quản lý có thể xử lý đơn đặt hàng mới và cũ nếu cần
+ Bán hàng và xúc tiến khuyến mãi: Có hàng trong kho là một chuyện và bày bán như thế nào mới là vấn đề Ở đây chúng ta chỉ bày bán đơn giản, các mặt hàng sẽ được bày bán thông qua loại mặt hàng trên trang web Việc ưu đãi khách hàng thường xuyên và đặt mua với số lượng nhiều là một việc cần thiết đồng thời các thông tin khuyến mãi cũng kèm theo mặt hàng để cho khách hàng biết
+ Quản lý và xử lý đơn đặt hàng:
- Hiển thị danh sách các đơn đặt hàng đã giao hay chưa giao
- Đánh dấu tình trạng giao hàng ứng với đơn đặt hàng đã giao
- Xóa đơn đặt hàng
- Thành lập hóa đơn cho khách hàng khi giao hàng,…
c Hiện trạng lưu trữ của cửa hàng
Hiện tại cửa hàng đang luu trữ những thông tin sau:
+ Thông tin về hàng hóa
+ Thông tin về nhân viên
+ Thông tin về khách hàng
+ Thông tin về kho hàng
+ Thông tin về đơn hàng
+ Thông tin về hóa đơn bán hàng
2.1.2 Phân tích yêu cầu bài toán
a Phân tích bài toán
Với sự phát triển của công nghệ thông tin và đặc biệt là sự ra đời của Internet
đã làm thay đổi rất nhiều trong việc hoạch định và phát triển kinh tế của từng doanh nghiệp, quốc gia Cùng với những sự quảng bá đó, mỗi doanh nghiệp có thể giới thiệu sản phẩm tới khách hàng thông qua Internet Đó là hình thức trao đổi mua bán
Trang 39thông qua website của doanh nghiệp đó mà không phải in giấy tờ trong các công đoạn giao dịch.
Mỗi hệ thống bán hàng thường gồm 2 thành phần chính:
+ Phần thứ nhất là phần giao dịch với khách hàng trên Internet
+ Phần thứ hai dành cho nhân viên quản trị hệ thống
Mỗi phần có các chức năng con khác nhau phục vụ cho mục địch kinh doanh và quản lý của cửa hàng
Mục tiêu của bài toán là xây dựng một website với mục đích là bán hàng qua mạng thông qua website điện tử của cửa hàng Khi khách hàng có nhu cầu mua hàng họ sẽ truy cập vào website và thực hiện theo các hướng dẫn như trên trang web
Việc quản lý website dự trên một số nhiệm vụ sau:
+ Đảm bảo tính thống nhất, mỗi dữ liệu chỉ cập nhật duy nhất một lần,
không được lặp lại Nếu lặp lại hệ thống sẽ báo lỗi, khách hàng phải nhập lại
+ Khi người dùng muốn tìm hiểu thông tin về sản phẩm thì người quản lý phải luôn luôn cập nhật thông tin để phục vụ khách hàng một cách nhanh chóng nhất
+ Tự điều chính thông tin có trong cơ sở dữ liệu mỗi khi có sự cập nhật mới nhưng vẫn đảm bảo tính toàn diện và tổng thể của chương trình
+ Phải luôn làm mới, cập nhật website về giao diện, về thông tin để website đẹp hơn
Thông qua hệ thống, cửa hàng không mất nhiều thời gian cho việc giới thiệu sản phẩm, dịch vụ vì khách hàng có thể tìm hiểu trên web bất cứ lúc nào Website có dịch vụ chăm sóc khách hàng chu đáo tin cậy, đo là một trong những yếu tố quan trọng trong việc thu hút và giữ khách lâu dài
Khách hàng có thể tìm kiếm thông tin về các mặt hàng, cách thức lựa chọn thanh toán, hình thức vận chuyển theo yêu cầu của mình
Khách hàng có thể xem các thông tin giới thiệu về cửa hàng, thông tin liên
hệ, thông tin khuyến mại Nếu khách hàng mới ghé thăm website lần đầu chưa có kinh nghiệm mua hàng thì cửa hàng sẽ có hướng dẫn mua hàng cho khách hàng
Khách hàng có thể gửi ý kiến góp ý tới cửa hàng để website ngày càng hoàn thiện hơn Ban quản trị sẽ ghi nhận ý kiến của khách hàng và điều chỉnh để đáp ứng tốt nhất nhu cầu của khách hàng
Nếu khách hàng có nhu cầu đổi hàng hay trả lại hàng thì liên hệ với cửa hàng thông qua số điện thoại của cửa hàng Cửa hàng sẽ xem xét và xử lý nếu yêu cầu của khách hàng là hợp lý và đúng với quy định mà cửa hàng đã đưa ra thì cửa
Trang 40hàng sẽ đáp ứng đầy đử theo yêu cầu của khách hàng một cách nhanh nhất và hợp lý.
b Mô tả hệ thống
Các thông tin đầu vào
Người quản trị nhập thông tin về sản phẩm, loại sản phẩm mà cửa hàng đang bán, các tin tức cập nhật thường xuyên Còn khách hàng cung cấp thông tin
cá nhân, gửi bài viết góp ý cho cửa hàng giúp cửa hàng ngày càng hoàn thiện hơn
Cụ thể gồm các thông tin sau:
- Các thông tin về sản phẩm
- Các thông tin về khách hàng
- Thông tin về đơn đặt hàng
- Liên hệ (góp ý)
Các thông tin đầu ra
Đưa ra các thông tin cần thiết cho khách hàng ở mọi khía cạnh mà khách hàng quan tâm đến sản phẩm của cửa hàng, đồng thời kiểm soát được hoạt động của cửa hàng Đưa ra sản phẩm, tin tức khách hàng yêu cầu tìm kiếm, đưa ra sản phẩm mới Cụ thể bao gồm:
- Cho phép tra cứu, xem thông tin về các sản phẩm
- Cho phép khách hàng đóng góp ý kiến, bình luận, đánh giá chất lượng của sản phẩm bằng trang liên hệ
- Cho phép ban quản trị cập nhật các dịch vụ khuyến mại
- Cho phép ban quản trị cập nhật thông tin về sản phẩm
Một số chức năng chính của hệ thống
- Chức năng tìm kiếm: Cho phép khách hàng tra cứu thông tin về mặt hàng, đặc điểm của mặt hàng cần tìm, khách hàng có thể tìm kiếm bằng tên mặt hàng, loại sản phẩm
- Chức năng quản trị hệ thống: Chức năng này chỉ dành cho người quản trị
hệ thống Người quản trị có quyền thay đổi về mặt hệ thống như:
+ Quản lý sản phẩm
+ Cập nhật loại sản phẩm
+ Cập nhật giá cả
Chi tiết quản trị hệ thống
Để truy cập vào chức năng quản trị hệ thống, quản trị viên cần một tài khoản để truy nhâp Sau khi truy nhập quản trị viên có thể thực hiện các chức năng sau:
- Quản trị loại sản phẩm: bao gồm các công việc thêm, xóa, sửa thông tin về các nhóm sản phẩm