LỜI CẢM ƠN
Để hoàn thành tốt đồ án này, lời đầu tiên em xin cám ơn Ban Giám Hiệu
trường Đại Học Công Nghệ Thông Tin & Truyền Thông đã tạo điều kiện cho
em được học tập tại trường, và đặc biệt em xin gửi lời cám ơn chân thành nhất
đến Thầy TS. Đoàn Thị Bích Ngọc giảng viên Trường Công Nghệ Thông
Tin & truyền thông đã trang bị cho em những kiến thức chuyên môn, quan
tâm và tận tình hướng dẫn, giúp đỡ em hoàn thành một cách tốt nhất trong đợt
làm đồ án này.
Bên cạnh đó để hoàn thành tốt đồ án này em cũng đã nhận được nhiều sự
giúp đỡ những lời động viên quý báu của bạn bè, các anh chị em xin chân
thành cảm ơn.
Tuy nhiên do thời gian hạn hẹp, cũng như lượng kiến thức còn hạn chế
nên bài báo cáo của em sẽ khó tránh khỏi những thiếu sót. Em rất mong nhận
được sự thông cảm và sự chỉ bảo tận tình của quý Thầy Cô và các bạn để thực
hiện tốt đồ án này. Một lần nữa em xin chân thành cảm ơn.
Thái Nguyên, tháng 5 năm 2017
Sinh Viên
Nguyễn Văn Mạnh
1
MỤC LỤC
LỜI CẢM ƠN ................................................................................................... 1
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT VÀ CÔNG CỤ THỰC HIỆN .................. 5
1.1. Tổng quan về PHP ................................................................................ 5
1.1.1. Khái niệm PHP ............................................................................... 5
1.1.2. Tại sao nên dùng PHP ..................................................................... 5
1.1.3 Hoạt động của PHP ............................................................................ 6
1.1.4. Các loại thẻ PHP ............................................................................. 7
1.2. Ngôn ngữ mô hình hóa hướng đối tượng UML ...................................... 8
1.2.1. UML là ngôn ngữ dùng để trực quan hóa .......................................... 8
1.2.2. UML là ngôn ngữ dùng để chi tiết hóa .............................................. 9
1.2.3. UML là ngôn ngữ dùng để sinh ra mã ở dạng nguyên mẫu ................ 9
1.2.4. UML là ngôn ngữ dùng để lập và cung cấp tài liệu.......................... 10
1.2.5. Ứng dụng của UML ........................................................................ 10
1.2.6. Các thành phần của UML ................................................................ 10
1.2.7. Các quy tắc của UML ...................................................................... 16
1.3 MySQL .................................................................................................. 17
1.3.1. Giới thiệu cơ sở dữ liệu: .................................................................. 17
1.3.2. Mục đích sử dụng cơ sở dữ liệu: ................................................... 17
1.3.3. Các kiểu dữ liệu trong cơ sở dữ liệu MySQL................................... 18
CHƯƠNG 2 KHẢO SÁT, PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
WEBSITE ....................................................................................................... 23
2.1. Khảo sát thực tế và phân tích hệ thống .................................................. 23
2.1.1. Khảo sát một số website thương mại điện tử hiện nay ..................... 23
2.1.2 Thực trạng hoạt động của công ty máy tính Lê Quang...................... 24
2.2.1 Khảo sát thực tế hệ thống kinh doanh sản phẩm công nghệ của công
ty máy tính Lê Quang ................................................................................ 25
2.1.3 Nhu cầu cấp thiết xây dựng website cho công ty .............................. 25
2.2. Phân tích yêu cầu của đề tài ................................................................... 26
2
2.2.1 Tóm tắt hoạt động của hệ thống sẽ được ứng dụng ........................... 26
2.2.2. Phạm vi website được ứng dụng ...................................................... 27
2.2.3. Đối tượng sử dụng ........................................................................... 27
2.2.4. Mục đích của website ...................................................................... 27
2.3. Xác định yêu cầu của khách hàng .......................................................... 27
2.3.1. Hệ thống hiện hành của cửa hàng .................................................... 27
2.3.2. Hệ thống đề nghị ............................................................................. 28
2.4. Sơ đồ tổ chức của công ty...................................................................... 31
2.4.1. Mục tiêu của hệ thống thương mại điện tử ....................................... 32
2.4.2. Lợi ích của việc xây dựng website ................................................... 32
2.4.3. Mô tả yêu cầu của hệ thống ............................................................. 32
2.4.4. Phân tích yêu cầu của hệ thống ....................................................... 33
2.4.5. Mô tả hoạt động của hệ thống .......................................................... 34
2.5 Các tác nhân và các Use Case (UC) của hệ thống ................................... 35
2.6 Đặc tả các Use Case, sơ đồ trình tự và sơ đồ cộng tác ........................... 36
2.6.1. Use Case đăng ký thành viên ........................................................... 36
2.6.2. Use Case đăng nhập hệ thống .......................................................... 38
2.6.3. Use Case mua hàng ......................................................................... 40
2.6.4. Use Case thanh toán ........................................................................ 42
2.6.5. Use Case quản lý sản phẩm ............................................................. 44
2.6.6. Use Case tìm kiếm........................................................................... 46
2.7. Xây dựng sơ đồ hoạt động ..................................................................... 48
2.8. Biểu đồ lớp ............................................................................................ 54
CHƯƠNG 3 THIẾT KẾ, XÂY DỰNG WEBSITE BÁN HÀNG CHO CÔNG
TY CỔ PHẦN DỊCH VỤ KĨ THUẬT TIN HỌC LÊ QUANG - LẠNG SƠN 55
3.1. Giới thiệu chung .................................................................................... 55
3.2. Giới thiệu một số trang giao diện của Website ...................................... 55
KẾT LUẬN..................................................................................................... 58
TÀI LIỆU THAM KHẢO ............................................................................... 61
3
LỜI MỞ ĐẦU
Công nghệ thông tin phát triển ngày càng hiện đại và đổi mới không
ngừng, bằng việc chinh phục hết đỉnh cao này thành đỉnh cao khác. Mạng
internet đang trở thành mạng truyền thông có sức ảnh hưởng rất lớn nhất,
không thể thiếu trong tất cả các hoạt động của con người trong việc truyền tải
và trao đổi dữ liêu. Không như ngày xưa và ngày nay mọi việc liên quan đến
thông tin ngày càng dễ dàng hơn cho người sử dụng bằng việc kết nối với
internet và một dòng dữ liệu truy tìm thì ngay lập tức cả kho tài nguyên không
chỉ trong nước mà ngoài nước hiện ra không chỉ bằng ngôn ngữ mà cả bằng
hình ảnh, âm thanh.
Chính vì lợi ích internet đã thúc đẩy sự ra đời và phát triển thương mại
điện tử làm biến đổi bộ mặt văn hóa cũng như nâng cao chất lượng cuộc sống
của con người các hoạt động thông thường như sản xuất, kinh doanh và các
doanh nghiệp cũng phát triển.
Cuộc sống con người ngày càng phát triển thì nhu cầu cuộc sống của con
người cũng được nâng cao và những nhu cầu đơn giản nhưng cũng rất thiết
thực. Đó là nhu cầu ăn, ở và mặc đây là một vẫn đề cũng đang là một bài toán
của các nhà kinh doanh, làm sao để đáp ứng nhu cầu của con người để cải
thiện đời sống ngày càng cao. Chính lẽ đó đáp ứng những nhu cầu đó của con
người trên cơ sở kế thừa những trang web bán hàng khác, em xây dựng nên
một website bán hàng online để đáp ứng nhu cầu của người tiêu dùng, giúp họ
tiết kiệm được thời gian, chi phí trong việc phải đi mua thiết bị điện tử nào đó,
tại các cửa hàng hay các chợ truyền thống để mua và tìm kiếm sản phẩm.
Thay vào đó chỉ việc nghồi ở nhà với chiếc máy tính đã kết nối internet mọi
người có thể thỏa sức tìm kiếm lựa chọn sản phẩm mà mình yêu thích mọi lúc
mọi nơi. Giúp cho người quản trị dễ dàng trong việc phân quyền quản lý,
quản lý khách hàng và các đơn đặt hàng của họ. Đó là lý do em chon đề tài “
Xây dựng website hỗ trợ bán hàng cho “công ty cổ phần dịch vụ kĩ thuật tin
học Lê Quang – Lạng Sơn”
4
CHƯƠNG 1
CƠ SỞ LÝ THUYẾT VÀ CÔNG CỤ THỰC HIỆN
1.1. Tổng quan về PHP
1.1.1. Khái niệm PHP
PHP (Personal Home Page) do Rasmus Lerdorf tạo ra năm 1994. Vì tính
hữu dụng của nó và khả năng phát triển, PHP bắt đầu được sử dụng trong môi
trường chuyên nghiệp và nó trở thành “PHP: Hypertext Preprocessor”.
Thực chất PHP là ngôn ngữ kịch bản nhúng trong HTML, nói một cách
đơn giản đó là một trang HTML có nhúng mã PHP, PHP có thể được đặt rải
rác trong HTML.
PHP là một ngôn ngữ lập trình được kết nối chặt chẽ với máy chủ, là một
công nghệ phía máy chủ (Server-Side) và không phụ thuộc vào môi trường
(cross- platiorm). Đây là hai yếu tố rất quan trọng, thứ nhất khi nói công nghệ
phía máy chủ tức là nói đến mọi thứ trong PHP đều xảy ra trên máy chủ, thứ
hai, chính vì tính chất không phụ thuộc môi trường cho phép PHP chạy trên
hầu hết trên các hệ điều hành như Windows, Unixvà nhiều biến thể của nó...
Đặc biệt các mã kịch bản PHP viết trên máy chủ này sẽ làm việc bình thường
trên máy chủ khác mà không cần phải chỉnh sửa hoặc chỉnh sửa rất ít.
Khi một trang Web muốn được dùng ngôn ngữ PHP thì phải đáp ứng
được tất cả các quá trình xử lý thông tin trong trang Web đó, sau đó đưa ra kết
quả ngôn ngữ HTML.
Khác với ngôn ngữ lập trình, PHP được thiết kế để chỉ thực hiện điều gì
đó sau khi một sự kiện xảy ra (ví dụ, khi người dùng gửi một biểu mẫu hoặc
chuyển tới một URL).
1.1.2. Tại sao nên dùng PHP
Để thiết kế Web động có rất nhiều ngôn ngữ lập trình khác nhau để lựa
chọn, mặc dù cấu hình và tính năng khác nhau nhưng chúng vẫn đưa ra những
kết quả giống nhau. Chúng ta có thể lựa chọn cho mình một ngôn ngữ : ASP,
PHP,Java, Perl... và một số loại khác nữa. Vậy tại sao chúng ta lại nên chọn
5
PHP. Rất đơn giản, có những lí do sau mà khi lập trình Web chúng ta không
nên bỏ qua sự lựa chọn tuyệt vời này.
PHP được sử dụng làm Web động vì nó nhanh, dễ dàng, tốt hơn so với
các giải pháp khác.
PHP có khả năng thực hiện và tích hợp chặt chẽ với hầu hết các cơ sở dữ
liệu có sẵn, tính linh động, bền vững và khả năng phát triển không giới hạn.
Đặc biệt PHP là mã nguồn mở do đó tất cả các đặc tính trên đều miễn phí,
và chính vì mã nguồn mở sẵn có nên cộng đồng các nhà phát triển Web luôn
có ý thức cải tiến nó, nâng cao để khắc phục các lỗi trong các chương trình này.
PHP vừa dễ với người mới sử dụng vừa có thể đáp ứng mọi yêu cầu của
các lập trình viên chuyên nghiệp, mọi ý tưởng của các bạn PHP có thể đáp
ứng một cách xuất sắc.
Cách đây không lâu ASP vốn được xem là ngôn ngữ kịch bản phổ biến
nhất, vậy mà bây giờ PHP đã bắt kịp ASP, bằng chứng là nó đã có mặt trên 12
triệu Website.
1.1.3 Hoạt động của PHP
Vì PHP là ngôn ngữ của máy chủ nên mã lệnh của PHP sẽ tập trung trên
máy chủ để phục vụ các trang Web theo yêu cầu của người dùng thông qua
trình duyệt.
Sơ đồ hoạt động:
Yêu cầu URL
Máy chủ
Máy khác hàng
HTML
HTML
PHP
web
Gọi mã kịch
bản
Hình 1.1: Sơ đồ hoạt động của PHP
Khi người dùng truy cập Website viết bằng PHP, máy chủ đọc mã lệnh
6
PHP và xử lý chúng theo các hướng dẫn được mã hóa. Mã lệnh PHP yêu cầu
máy chủ gửi một dữ liệu thích hợp (mã lệnh HTML) đến trình duyệt Web.
Trình duyệt xem nó như là một trang HTML tiêu chuẩn. Như ta đã nói, PHP
cũng chính là một trang HTML nhưng có nhúng mã PHP và có phần mở rộng
là HTML. Phần mở của PHP được đặt trong thẻ mở<?php và thẻ đóng ?>
.Khi trình duyệt truy cập vào một trang PHP, Server sẽ đọc nội dung file PHP
lên và lọc ra các đoạn mã PHP và thực thi các đoạn mã đó, lấy kết quả nhận
được của đoạn mã PHP thay thế vào chỗ ban đầu của chúng trong file PHP,
cuối cùng Server trả về kết quả cuối cùng là một trang nội duns HTML về cho
trình duyệt.
1.1.4. Các loại thẻ PHP
Có 4 loại thẻ khác nhau mà bạn có thể sử dụng khi thiết kế trang PHP:
Kiểu Short:Thẻ mặc định mà các nhà lập trình PHP thường sử dụng.
Ví dụ:
<? Echo “Well come to PHP. ” ;?>
Kiều đinh dạng XML: Thẻ này có thể sử dụng với văn bản đinh dạng XML
Ví dụ:
<? Php echo “Well come to PHP withXML”;>?
Kiểu Script: Trong trường hợp bạn sử dụng PHP như một script tương tự khai
báo JavaScipt hay VBScript:
Ví dụ:<script language= “php”>
echo “PhpScript”;
</script>
Kiểu ASP: Trong trường hợp bạn khai báo thẻ PHP như một phần trong trang
ASP.
Ví dụ:
<% echo “P H P - A S P ” ; % >
PHP và HTML là các ngôn ngữ không “nhạy cảm” với khoảng trắng,
khoảng trắng có thể được đặt xung quanh để các mã lệnh để rõ ràng hơn. Chỉ
có khoảng trắng đơn có ảnh hưởng đến sự thể hiện của trang Web (nhiều
khoảng trắng liên tiếp sẽ chỉ thể hiện dưới dạng một khoảng trắng đơn).
7
1.2. Ngôn ngữ mô hình hóa hướng đối tượng UML
UML là một ngôn ngữ dùng để:
-Trực quan hóa
-Cụ thể hóa
-Sinh mã ở dạng nguyên mẫu
-Lập và cung cấp tài liệu
UML là một ngôn ngữ bao gồm một bảng từ vựng và các quy tắc để kết
hợp các từ vựng đó phục vụ cho mục đích giao tiếp. Một ngôn ngữ dùng cho
việc lập mô hình là ngôn ngữ mà bảng từ vựng( các ký hiệu) và các quy tắc
của nó tập trung vào việc thể hiện về mặt khái niệm cũng như vật lý của một
hệ thống.
Mô hình hóa mang lại sự hiểu biết về một hệ thống. Một mô hình
không thể giúp chúng ta hiểu rõ một hệ thống, thường là phải xây dựng một
số mô hình xét từ những góc độ khác nhau. Các mô hình này có quan hệ với nhau.
UML sẽ cho ta biết cách tạo ra và đọc hiểu được một mô hình đươc cấu
trúc tốt, nhưng nó không cho ta biết những mô hình nào nên tạo ra và khi nào
tạo ra chúng. Đó là nhiệm vụ của quy trình phát triển phần mềm.
1.2.1. UML là ngôn ngữ dùng để trực quan hóa
Đối với nhiều lập trình viên, không có khoảng cách nào giữa ý tưởng
để giải quyết một vấn đề và việc thể hiện điều đó thông qua các đoạn mã. Họ
nghĩ ra và họ viết mã. Trên thực tế, điều này gặp một số vấn đề. Thứ nhất,
việc trao đổi về các ý tưởng giữa những người lập trình sẽ gặp khó khăn, trừ
khi tất cả đều nói cùng một ngôn ngữ. Thậm chí ngay cả khi không gặp trở
ngại về ngôn ngữ thì đối với từng công ty, từng nhóm cũng có những “ngôn
ngữ” riêng của họ. Điều này gây trở ngại cho một người mới vào để có thể
hiểu được những việc đang được tiến hành. Hơn nữa, trong lĩnh vực phần
mềm, nhiều khi khó có thể hiểu được nếu chỉ xem xét các đoạn mã lệnh. Ví
dụ như sự phân cấp của các lớp, ta có thể phải duyệt rất nhiều đoạn lệnh để
hiểu được sự phân cấp của các lớp. Và nếu như người lập trình không mô tả
8
các ý tưởng mà anh ta đã xây dựng thành mã lệnh thì nhiều khi cách tốt nhất
là xây dựng lại trong trường hợp một người khác đảm nhận tiếp nhiệm vụ khi
anh ta rời khỏi nhóm.
Xây dựng mô hình sử dụng ngôn ngữ UML đã giải quyết được các khó
khăn trên.Khi trở thành một chuẩn trong việc lập mô hình, mỗi kí hiệu mang
một ý nghĩa rõ ràng và duy nhất, một nhà phát triển có thể đọc được mô hình
xây dựng bằng UML do một người khác viết.
Những cấu trúc mà việc nắm bắt thông qua đọc mã lệnh là khó khăn
nay đã được thể hiện trực quan. Một mô hình rõ ràng, sáng sủa làm tăng khả
năng giao tiếp, trao đổi giữa các nhà phát triển.
1.2.2. UML là ngôn ngữ dùng để chi tiết hóa
Có nghĩa là xây dựng các mô hình một các tỉ mỉ, rõ ràng, đầy đủ ở các
mức độ chi tiết khác nhau. Đặc biệt là UML thực hiện việc chi tiết hoá tất cả
các quyết định quan trọng trong phân tích, thiết kế và thực thi một hệ thống
phần mềm.
1.2.3. UML là ngôn ngữ dùng để sinh ra mã ở dạng nguyên mẫu
Các mô hình xây dựng bởi UML có thể ánh xạ tới một ngôn ngữ lập
trình cụ thể như : Java, C++... thậm chí cả các bảng trong một CSDL quan hệ
hay CSDL hướng đối tượng.
Việc các yêu cầu có khả năng thường xuyên thay đổi trong quá trình
phát triển hệ thống dẫn đến việc các cấu trúc và hành vi của hệ thống được
xây dựng có thể khác mô hình mà ta đã xây dựng. Điều này có thể làm cho
một mô hình tốt trở nên vô nghĩa vì nó không còn phản ánh đúng hệ thống
nữa. Cho nên phải có một cơ chế để đồng bộ hóa giữa mô hình và mã lệnh.
UML cho phép cập nhật một mô hình từ các mã thực thi.( ánh xạ
ngược). Điều này tạo ra sự nhất quán giữa mô hình của hệ thống và các đoạn
mã thực thi mà ta xây dựng cho hệ thống đó.
9
1.2.4. UML là ngôn ngữ dùng để lập và cung cấp tài liệu
Một tổ chức phần mềm ngoài việc tạo ra các đoạn mã lệnh( thực thi) thì
còn tạo ra các tài liệu sau:
Ghi chép về các yêu cầu của hệ thống
Kiến trúc của hệ thống
Thiết kế
Mã nguồn
Kế hoạch dự án
Tests
Các nguyên mẫu
1.2.5. Ứng dụng của UML
Mục đích chính của UML là để xây dựng mô hình cho các hệ thống
phần mềm, nó có thể được sử dụng một cách hiệu quả trong nhiều lĩnh vực
như:
Hệ thống thông tin doanh nghiệp (enterprise)
Ngân hàng và dịch vụ tài chính
Viễn thông
Giao thông
Hàng không và quốc phòng
Máy móc điện tử dùng trong y tế
Khoa học
Các ứng dụng phân tán dựa trên Web
UML không chỉ giới hạn trong lĩnh vực phần mềm. Nó còn có thể dùng
để lập mô hình cho các hệ thống không phải là phần mềm như hệ thống pháp
luật (luồng công việc - workflow), thiết kế phần cứng, ...
1.2.6. Các thành phần của UML
a.Các phần tử mang tính cấu trúc
+Lớp (Class)
10
Là một tập hợp các đối tượng có cùng một tập thuộc tính, các hành vi,
các mối quan hệ với những đối tượng khác.
+Hợp tác (Collaboration)
Thể hiện một giải pháp thi hành bên trong hệ thống, bao gồm các lớp/
đối tượng mối quan hệ và sự tương tác giữa chúng để đạt được một chức năng
mong đợi của Use case.
+Giao diện (Interface)
Là một tập hợp các phương thức (operation) tạo nên dịch vụ của một
lớp hoặc một thành phần (component). Nó chỉ ra một tập các operation ở mức
khai báo chứ không phải ở mức thực thi (implementation).
+Use case
là mô tả một tập hợp của nhiều hành động tuần tự mà hệ thống thực
hiện để đạt được một kết quả có thể quan sát được đối với một actor cụ thể
nào đó. Actor là những gì ở bên ngoài mà tương tác với hệ thống. Use case
mô tả sự tương tác giữa actor và hệ thống. Nó thể hiện chức năng mà hệ thống
sẽ cung cấp cho actor. Tập hợp các Use case của hệ thống sẽ tạo nên tất cả các
trường hợp mà hệ thống có thể được sử dụng.
11
+Lớp tích cực (Acitive class)
là một lớp mà các đối tượng của nó thực hiện các hoạt động điều khiển.
Lớp tích cực cũng giống như lớp bình thường ngoại trừ việc các đối tượng
của nó thể hiện các phần tử mà ứng xử của chúng có thể thực hiện đồng thời
với các phần từ khác. Lớp này thường dùng để biểu diễn tiến trình(process) và
luồng(thread)
+Thành phần (Component)
là biểu diễn vật lý của mã nguồn. Trong hệ thống ta sẽ thấy các kiểu
khác nhau của component như các thành phần COM+ hay JavaBeans cũng
như là các thành phần như các file mã nguồn, các file nhị phân tạo ra trong
quá trình phát triển hệ thống.
Nodes
là thể hiện một thành phần vật lý như là một máy tính hay một thiết bị
phần cứng.
12
b.Các phần tử thể hiện hành vi
+Tương tác (Interaction)
bao gồm một tập các thông báo(message) trao đổi giữa các đối tượng
trong một ngữ cảnh cụ thể nào đó để thực hiện một chức năng nào đó.
+Máy chuyển trạng (States machine)
thể hiện các trạng thái của một đối tượng trong thời gian sống của nó
nhằm đáp ứng các sự kiện, các tác động từ bên ngoài.
c.Phần tử mang tính nhóm (Group)
+Gói (Package)
Dùng để nhóm các phần tử có một ý nghĩa chung nào đó vào thành
nhóm. Không giống như các thành phần (component - tồn tại trong lúc thực
thi), một package chỉ mang tính trừu tượng. Package dùng để nhìn hệ thống ở
một mức độ tổng quát hơn so với việc xem xét từng phần tử trong package.
+Annotational (mang tính chất giải thích):
là các chú thích dùng để mô tả, làm sáng tỏ và ghi chú về bất cứ phần
tử nào trong mô hình. Thường dùng nhất là Note gồm các ràng buộc hoặc ghi
chú, được gắn với một phần tử hoặc một tập hợp các phần tử.
13
1. Các mối quan hệ (Relationships)
+Quan hệ Phụ thuộc (Dependency)
Thể hiện mối quan hệ mà : nếu có một sự thay đổi ở đối tượng độc lập
sẽ ảnh hưởng tới đối tượng phụ thuộc. Kí hiệu:
+Quan hệ Kết hợp ( Association)
Là mối quan hệ liên kết giữa 2 lớp. Nói một cách đơn giản, khi một đối
tượng của lớp này gửi thông điệp tới hoặc nhận thông điệp từ một đối tượng
của lớp kia thì ta nói giữa 2 lớp có mối quan hệ association.
+Quan hệ Tập hợp (Aggreagation)
là một dạng đặc biệt của quan hệ liên kết. Nó thể hiện sự liên kết “chặt”
hơn, đó là mối quan hệ toàn thể-bộ phận.
+Quan hệ Gộp (Composition)
là một dạng đặc biệt của quan hệ aggregation. Trong đó nếu như đối
tượng toàn thể bị hủy thì các đối tượng bộ phận của nó cũng bị hủy theo.
14
+Quan hệ Thừa kế (Generalization)
là mối quan hệ tổng quát hóa/ cụ thể hóa trong đó đối tượng cụ thể sẽ
kế thừa các thuộc tính và phương thức( behavior) của đối tượng tổng quát.
+Quan hệ Hiện thực hóa (Realization)
Mối quan hệ giữa interface và class hay component hiện thực hoá nó
hoặc mối quan hệ giữa Use case và Collaboration hiện thực hóa Use case đó.
2. Các biểu đồ (Diagrams)
+Biểu đồ lớp (Class Diagram)
Bao gồm một tập hợp các lớp, các giao diện, các collaboration và mối
quan hệ giữa chúng. Nó thể hiện mặt tĩnh của hệ thống.
+Biểu đồ đối tượng (Object Diagram)
Bao gồm một tập hợp các đối tượng và mối quan hệ giữa chúng. Đối
tượng là một thể hiện của lớp, biểu đồ đối tượng là một thể hiện của biều đồ lớp.
+Biểu đồ Use case (Use Case Diagram)
Khái niệm actor: là những người, hệ thống khác ở bên ngoài phạm vi
của hệ thống mà có tương tác với hệ thống.
Biểu đồ Use case bao gồm một tập hợp các Use case, các actor và thể
hiện mối quan hệ tương tác giữa actor và Use case. Nó rất quan trọng trong
việc tổ chức và mô hình hóa hành vi của hệ thống
+Biểu đồ trình tự (Sequence Diagram) là một dạng biểu đồ tương tác
(interaction), biểu diễn sự tương tác giữa các đối tượng theo thứ tự thời gian.
Nó mô tả các đối tượng liên quan trong một tình huống cụ thể và các bước
tuần tự trong việc trao đổi các thông báo(message) giữa các đối tượng đó để
thực hiện một chức năng nào đó của hệ thống.
+Biểu đồ hợp tác (Collaboration)
15
Gần giống như biểu đồ Sequence, biểu đồ Collaboration là một cách
khác để thể hiện một tình huống có thể xảy ra trong hệ thống. Nhưng nó tập
trung vào việc thể hiện việc trao đổi qua lại các thông báo giữa các đối tượng
chứ không quan tâm đến thứ tự của các thông báo đó. Có nghĩa là qua đó
chúng ta sẽ biết được nhanh chóng giữa 2 đối tượng cụ thể nào đó có trao đổi
những thông báo gì cho nhau.
+Biểu đồ chuyển trạng thái (Statechart)
Chỉ ra một máy chuyển trạng, bao gồm các trạng thái, các bước chuyển
trạng và các hoạt động. Nó đặc biệt quan trọng trong việc mô hình hóa hành
vi của một lớp giao diện(interface class) hay collaboration và nó nhấn mạnh
vào các đáp ứng theo sự kiện của một đối tượng, điều này rất hữu ích khi mô
hình hóa một hệ thống phản ứng(reactive).
+Biểu đồ hoạt động (Activity)
Là một dạng đặc biệt của biểu đồ chuyển trạng. Nó chỉ ra luồng đi từ
hoạt động này sang hoạt động khác trong một hệ thống. Nó đặc biệt quan
trọng trong việc xây dựng mô hình chức năng của hệ thống và nhấn mạnh tới
việc chuyển đổi quyền kiểm soát giữa các đối tượng
+Biểu đồ thành phần (Component)
chỉ ra cách tổ chức và sự phụ thuộc của các thành phần(component).
Nó liên quan tới biểu đồ lớp, trong đó một thành phần thường ánh xạ tới một
hay nhiều lớp, giao diện , collaboration.
+Quan hệ Thừa kế (Generalization)
chỉ ra cấu hình của hệ thống khi thực thi.
1.2.7. Các quy tắc của UML
Các thành phần của UML (“Unified Modeling language”) không thể
ngẫu nhiên đặt cạnh nhau. Như bất cứ một ngôn ngữ nào, UML có những quy
tắc chỉ ra rằng một mô hình tốt sẽ như thế nào. Một mô hình tốt là mô hình
mang tính nhất quán và có sự kết hợp hài hòa giữa các mô hình có liên quan
của nó.
16
UML có một số quy tắc dành cho việc:
Đặt tên: để có thể truy xuất các phần tử của mô hình thì phải đặt tên cho
chúng như tên của các quan hệ, biểu đồ...
Xác định phạm vi: ngữ cảnh mang lại một ý nghĩa cụ thể cho một cái tên
Tính nhìn thấy được: để có được sự đơn giản và dễ kiểm soát thì ở những
ngữ cảnh khác nhau cần chỉ ra rằng một cái tên là hiện hữu và được sử dụng
bởi những đối tượng khác như thế nào.
Tính toàn vẹn: mọi thứ quan hệ một cách đúng đắn và nhất quán với nhau
như thế nào.
1.3 MySQL
1.3.1. Giới thiệu cơ sở dữ liệu:
MySQL là ứng dụng cơ sở dữ liệu mã nguồn mở phổ biến nhất hiện nay
(theo www. mysql. com) và được sử dụng phối hợp với PHP. Trước khi làm
việc với MySQL cần xác định các nhu cầu cho ứng dụng.
MySQL là cơ sở dữ liệu có trình giao diện trên Windows hay Linux, cho
phép người sử dụng có thể thao tác các hành động liên quan đến nó. Việc tìm
hiểu từng công nghệ trước khi bắt tay vào việc viết mã kịch bản PHP, việc tích
hợp hai công nghệ PHP và MySQL là một công việc cần thiết và rất quan trọng.
1.3.2. Mục đích sử dụng cơ sở dữ liệu:
Mục đích sử dụng cơ sở dữ liệu bao gồm các chức năng như: lưu trữ
(storage), truy cập (accessibility), tổ chức (organization) và xử lí
(manipulation).
Lưu trữ: Lưu trữ trên đĩa và có thể chuyển đổi dữ liệu từ cơ sở dữ
liệu này sang cơ sở dữ liệu khác, nếu bạn sử dụng cho quy mô nhỏ, bạn có thể
chọn cơ sở dữ liệu nhỏ như:Microsoft Exel, Microsoít Access, MySQL,
Microsoft Visual FoxPro,... Nếu ứng dụng có quy mô lớn, bạn có thể chọn cơ
sở dữ liệu có quy mô lớn như: Oracle, SQL Server,...
Truy cập:Truy cập dữ liệu phụ thuộc vào mục đích và yêu cầu của
người sử dụng, ở mức độ mang tính cục bộ, truy cập cơ sỏ dữ liệu ngay trong
17
cơ sở dữ liệu với nhau, nhằm trao đổi hay xử lí dữ liệu ngay bên trong chính
nó, nhưng do mục đích và yêu cầu người dùng vượt ra ngoài cơ sở dữ liệu,
nên bạn cần có các phương thức truy cập dữ liệu giữa các cơ sở dử liệu với
nhau như:Microsoft Access với SQL Server, hay SQL Server và cơ sở dữ liệu
Oracle....
Tổ chức:Tổ chức cơ sở dữ liệu phụ thuộc vào mô hình cơ sở dữ liệu,
phân tích và thiết kế cơ sở dữ liệu tức là tổ chức cơ sở dữ liệu phụ thuộc vào
đặc điểm riêng của từng ứng dụng. Tuy nhiên khi tổ chứ cơ sở dữ liệu cần
phải tuân theo một số tiêu chuẩn của hệ thống cơ sở dữ liệu nhằm tăng tính tối
ưu khi truy cập và xử lí.
Xử lí:Tùy vào nhu cầu tính toán và truy vấn cơ sở dữ liệu với các
mục đích khác nhau, cần phải sử dụng các phát biểu truy vấn cùng các phép
toán, phát biểu của cơ sở dữ liệu để xuất ra kết quả như yêu cầu. Để thao tác
hay xử lí dữ liệu bên trong chính cơ sở dữ liệu ta sử dụng các ngôn ngữ lập
trình như:PHP, C++, Java, Visual, Basic,...
1.3.3. Các kiểu dữ liệu trong cơ sở dữ liệu MySQL
a .Loại dữ liệu numeric:
Bao gồm kiểu số nguyên và kiểu số chấm động.
- Kiểu dữ liệu số nguyên:
18
- Kiểu dữ liệu số chấm động:
b.Loại dữ liệu kiểu Date and Time
Kiểu dữ liệu Date and Time cho phép bạn nhập dữ liệu dưới dạng chuỗi
ngày tháng hay dạng số. định) và varchar (chiều dài biến thiên); loại thứ hai
là Text hay Blob, Text cho phép lưu chuỗi rất lớn, Blob cho phép lưu đối
tượng nhị phân; loại thứ ba là Enum và Set.
Loại
Range
Date
1000-01-01
Date trình bày dưới dạng yyyy-mm-
Time
00:00:00-23:59:59
dd.
Time trình bày dưới dạng hh:mm:ss.
1000-01-01
Date và Time trình bày dưới dạng
00:00:00
yyyy-mm-dd hh:mm:ss.
DateTime
9999-12-31
TimeStainp[(M)]
Year[(2l4)]
23:59:59
1970-01-01
TimeStamp trình bày dưới dạng
00:00:00
yyyy-mm-dd hh:mm:ss.
1970-2069 -
Year trình bày dưới dạng 2 số hay 4
1901-2155
số
19
c.Loại dữ liệu String
Kiểu dữ liệu String chia làm 3 loại:loại thứ nhất như char (chiều dài cố
Kiểu dữ liệu String
d.Các thao tác cập nhật dữ liệu:
SELECT (Truy vấn mẫu tin):Select dùng để truy vấn từ một hay
nhiều bảng khác nhau, kết quả trả về là một tập mẫu tin thỏa mãn các điều
kiện cho trước nếu có, cú pháp của phát biểu SQL dạng SELECT như sau:
SELECT<danh sách các cột>
[FROM<danh sách bảng>]
[WHERE<các điều kiện ràng buộc>]
[GROUP BY<tên cột/biểu thức trong SELECT>] [HAVING điều kiện bắt
20
buộc của GROUP BY>]
[ORDER BY<danh sách các cột>]
[LIMIT FromNumber |ToNumber]
INSERT(Thêm mẫu tin):
Cú pháp:INSERT INTO Tên_bảng VALUES(Bộ_giá_trị)
UPDATE(Cập nhật dữ liệu):
Cú pháp:UPDATE TABLE Tên_bảng
SET Tên_cột=Biểu_thức,...
WHERE Điều_kiện]
DELETE(Xóa mẫu tin):
Cú pháp:DELETE FROM Tên_bảng
[WHERE Điều_kiện]
e.Các hàm thông dụng trong MySQL
* Các hàm trong phát biểu GROUP BY
Hàm AVG:Hàm trả về giá trị bình quân của cột hay trường trong câu
truy vấn.
Hàm MIN:Hàm trả về giá trị nhỏ nhất của cột hay trường trong câu truy vấn.
Hàm MAX:Hàm trả về giá trị lớn nhất của cột hay trường trong câu
truy vấn.
Hàm Count: Hàm trả về số lượng mẩu tin trong câu truy vấn
Hàm Sum:Hàm trả về tổng các giá trị của trường, cột trong câu truy vấn.
* Các hàm xử lý chuỗi:
Hàm ASCII: Hàm trả về giá trị mã ASCII của kí tự bên trái của chuỗi.
Hàm Char: Hàm này chuyển đổi kiểu mã ASCII từ số nguyên sang
dạng chuỗi.
Hàm UPPER:Hàm này chuyển đổi chuỗi sang kiểu chữ hoa
Hàm LOWER:Hàm này chuyển đổi chuỗi sang kiểu chữ thường.
Hàm Len:Hàm này trả về chiều dài của chuỗi.
Thủ tục LTRIM:Thủ tục loại bỏ khoảng trắng bên trái của chuỗi.
21
Thủ tục RTRIM:Thủ tục loại bỏ khoảng trắng bên phải của chuỗi.
Hàm Left(str, n):Hàm trả về chuỗi bên trái tĩnh từ đầu cho đến vị trí n
Hàm Right(str, n):Hàm trả về chuỗi bên phải tính từ đầu cho đến vị trí n
Hàm Instrt:Hàm trả về chuỗi vị trí bắt đầu của chuỗi con trong chuỗi xét.
*Các hàm xử lí về thời gian
Hàm CurDate():Hàm trả về ngày, tháng và năm hiện hành của hệ thống.
Hàm CurTime():Hàm trả về giờ, phút và giây hiện hành của hệ thống.
Hàm Period_Diff:Hàm trả về số ngày trong khoảng thời gian giữa 2 ngày.
Hàm dayofmonth:Hàm trả về ngày thứ mấy trong tháng.
*Các hàm về toán học
Hàm sqrt:Hàm trả về là căn bậc hai của một biểu thức.
Hàm CurDate():Hàm trả về ngày, tháng và năm hiện hành của hệ thống.
22
CHƯƠNG 2
KHẢO SÁT, PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
WEBSITE
2.1. Khảo sát thực tế và phân tích hệ thống
2.1.1. Khảo sát một số website thương mại điện tử hiện nay
+ Trang web mua bán các thiết bị điện tử
Các chức năng chính của website:
Giới thiệu chung
- Giới thiệu thông tin về website.
- Các thông tin cơ bản về nội dung website và các điều lệ.
Thông tin mua bán các thiết bị.
- Giới thiệu thông tin về các mặt hàng trao đổi.
- Giá bán của các thiết bị và cách liên hệ giao dịch.
Trợ giúp thành viên.
- Thông tin về cách sử dụng các sản phẩm tốt nhất.
- Cách mua và kiểm tra sản phẩm.
- Tìm kiếm sản phẩm.
Hình thức thanh toán: Có 2 hình thức thanh toán chính:
- Thanh toán trực tiếp: thông qua giao dịch trực tiếp giữa khách hàng và
đối tác bán hàng.
- Thanh toán thông qua trung gian: các hình thức thanh toán có thể thông
qua các hệ thống ngân hàng trung gian có sử dụng hệ thống chứng thực mà
website hỗ trợ. Thanh toán thông qua thẻ tín dụng, thẻ ATM và thẻ card do
công ty phát hành.
+ Trang web mua bán văn phòng phẩm, sách giáo khoa
www.vinabook.com
Giới thiệu chung về website.
- Thông tin về sách các loại sản phẩm.
23
- Thông tin về các loại sản phẩm.
- Thông tin về thiết bị văn phòng phẩm.
- Hình thức thanh toán: Khi bạn muốn mua hàng của vinabook.com thì
bạn cần đăng ký để trở thành thành viên trên website của công ty. Sau khi
đăng ký bạn có thể chọn sản phẩm mà bạn cần mua vào giỏ hàng và lựa chọn
các hình thức thanh toán cho phù hợp.
+ Trang web mua bán thiết bị máy tính
Giới thiệu chung
- Giới thiệu về website.
- Giới thiệu về công ty
- Thông tin về sản phẩm
- Thông tin về giá cả chủng loại.
- Thông tin về các thông số kỹ thuật.
- Thông tin về chương trình khuyến mại.
- Các chương trình khuyến mại trong thời gian tới.
- Điều kiện đượng hưởng khuyến mại.
- Thông tin về các chương trình bảo hành.
- Các thông tin về chế độ bảo hành của sản phẩm.
- Các quy định bảo hành sản phẩm.
Đối với website này hệ thống chưa thực hiện được chức năng thanh toán
trực tiếp trên mạng mà hệ thống mới chỉ thực hiện được các chức năng quảng
bá về sản phẩm và hình ảnh của công ty trên internet.
2.1.2 Thực trạng hoạt động của công ty máy tính
- Tên Giao Dịch: LÊ QUANG-COMPUTER
- Công ty máy tính Lê Quang là một doanh nghiệp trong lĩnh vực kinh
doanh máy tính.
- Công ty máy tính Lê Quang chuyên mua bán, kinh doanh các sản
phẩm máy tính, thiết bị văn phòng, sửa chữa, bảo trì, bảo dưỡng thiết bị máy
tính.
24
- Quy mô hoạt động: Cung cấp các mặt hàng, thiết bị máy tính trong
phạm vi tỉnh Lạng Sơn và một số tỉnh lân cận.
- Quá trình hình thành và phát triển, cửa hàng đã gặt hái không ít thành
công và khẳng định được uy tín vững chắc trong lòng khách hàng.
2.2.1 Khảo sát thực tế hệ thống kinh doanh sản phẩm công nghệ của công
ty máy tính Lê Quang
Công ty máy tính Lê Quang là đơn vị chuyên cung cấp các sản phẩm
máy tính, thiết bị văn phòng…
Qua việc khảo sát thực tế hệ thống kinh doanh các sản phẩm công nghệ
của công ty, hàng tháng công ty luôn nhập và xuất các sản phẩm và thiết bị
mới với giá cả và mẫu mã luôn thay đổi. Trong khi đó việc quảng cáo, quảng
bá về thông tin giá cả của các sản phẩm chưa thực sự tiếp cận được với khách
hàng, khi khách hàng muốn mua một sản phẩm để biết được thông tin về sản
phẩm phải đến tân công ty để tìm hiểu. Mà công ty chỉ quản bá sản phẩm của
mình qua việc phát tờ rơi, tiếp thị và ký kết hợp đồng của nhân viên maketing,
qua mối quan hệ của giám đốc và nhân viên, nhưng thị trường hàng hóa và
sản phẩm lại luôn thay đổi. Do đó tốn kém về thời gian, công sức và tiền của
của công ty và khách hàng mà lại không đem lại hiệu quả thực sự cho việc
kinh doanh của công ty và nhu cầu cập nhật của khách hàng.
2.1.3 Nhu cầu cấp thiết xây dựng website cho công ty
Xuất phát từ tình hình thực tế thì việc thiết kế xây dựng một website
quảng bá, buôn bán các sản phẩm qua mạng cho công ty máy tính Bigben là
việc làm hết sức cần thiết. Thiết kế xây dựng một website quảng bá, buôn bán
các sản phẩm qua mạng giúp công ty giảm được chi phí về tiền của và thời
gian cho việc tiếp thị, buôn bán hàng nhằm thúc đẩy việc kinh doanh của công
ty diễn ra một cách nhanh chóng hiệu quả và chuyên nghiệp, đạt hiệu quả
kinh doanh cao, khắc phục được nhược điểm của việc quảng bá và kinh doanh
của hệ thống cũ. Về phía khách hàng giúp khách hàng cập nhật được mẫu mã,
giá cả mỗi khi muốn mua sản phẩm của công ty.
25