Tải bản đầy đủ

Xây dựng ứng dụng quản lý shipping cho công ty vận chuyển khánh thịnh thái nguyên

LỜ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áo
trong trường Đại học Công Nghệ Thông Tin Và 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 Truyền thông & Mạng
máy tính 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ô giáo ThS. Dương Thúy Hường đã
tận tình hướng dẫn, trực tiếp chỉ bảo em trong suốt thời gian làm đề tài.Trong thời
gian làm việc với cô, em không những tiếp thu thêm nhiều kiến thức bổ ích mà còn
học đượ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.
Do thời gian hạn hẹp, mặc dù đã nỗ lực hết sức mình nhưng đề tài của em
khó tránh khỏi những thiếu sót. Em rất mong nhận được những ý kiến đóng góp
của quý thầy Cô và các bạn để đề tài của em được hoàn thiện hơn. Một lần nữa em
xin chân thành cảm ơn!
Thái nguyên, tháng 6 năm 2016
Sinh viên

Hoàng Bích Thuận

1



LỜI CAM ĐOAN
Tôi xin cam đoan kết quả đạt được trong luận văn là sản phẩm của riêng cá
nhân tôi, không sao chép lại của người khác. Trong toàn bộ nội dung của luận văn,
những điều được trình bày hoặc là của cá nhân hoặc là được tổng hợp từ nhiều
nguồn tài liệu. Tất cả các tài liệu tham khảo đều có xuất xứ rõ ràng và được trích
dẫn hợp pháp. Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật
theo quy định cho lời cam đoan của mình.
Thái nguyên, tháng 6 năm 2016
Sinh viên thực hiện

Hoàng Bích Thuận

2


MỤC LỤC

DANH MỤC HÌNH ẢNH
Hình 2.1: Usecase tổng quát

27

Hình 2.2: Biểu đồ UC của gói UC Đăng ký, đăng nhập.27
Hình 2.3: Biểu đồ UC của gói UC Quản lý thông tin cá nhân 28
Hình 2.4: Biểu đồ UC của gói quản lý danh sách thành viên
3

28


Hình 2.5: Biểu đồ UC của gói quản lý danh mục các tuyến đường

29

Hình 2.6: Biểu đồ UC của gói đặt đơn dịch vụ 29
Hình 2.7: Biểu đồ UC của gói tiếp nhận và xử lý đơn dịch vụ 30
Hình 2.8:Các lớp biên


42

Hình 2.9: Biểu đồ hoạt động của UC Đăng ký thành viên
Hình 2.10: Biểu đồ hoạt động của UC Đăng nhập

42

42

Hình 2.11: Biểu đồ hoạt động của UC Sửa thông tin cá nhân 43
Hình 2.12: Biểu đồ hoạt động của UC Quản lý danh sách thành viên 43
Hình 2.13: Biểu đồ hoạt động của UC Ship hàng, tiếp nhận và xử lý đơn dịch vụ
44
Hình 2.14: Biểu đồ tuần tự của UC Đăng ký thành viên 45
Hình 2.15: Biểu đồ giao tiếp của UC Đăng ký thành viên

45

Hình 2.16: Biểu đồ tuần tự của UC Đăng nhập 46
Hình 2.17: Biểu đồ giao tiếp của UC Đăng nhập 46
Hình 2.18: Biểu đồ tuần tự của UC Sửa thông tin cá nhân

47

Hình 2.19: Biểu đồ giao tiếp của UC Sửa thông tin cá nhân

47

Hình 2.20: Biểu đồ tuần tự của UC quản lý danh sách thành viên

48

Hình 2.21: Biểu đồ giao tiếp của UC quản lý danh sách thành viên

48

Hình 2.22: Biểu đồ tuần tự của UC tiếp nhận và xử lý đơn dịch vụ

49

Hình 2.23: Biểu đồ giao tiếp của UC Ship hàng 50
Hình 2.24: Biểu đồ lớp

50

Hình 3.1:Giao diện trang chủ

55

Hình 3.2: Bảng thông tin hóa đơn 56
Hình 3.3: Giao diện đăng nhậpkhách hàng

56

Hình 3.4: Giao diện chỉnh sửa thông tin cá nhân của khách hàng
HÌnh 3.5:Giao diện chi tiết hóa đơn

57

Hình 3.6:Giao diện đăng nhập admin

58

Hình 3.7: Giao diện quản lý khách hàng 59
4

57


Hình 3.8: Giao diện hiển thị danh sách khách hàng
Hình 3.9: Giao diện quản lý shipper

60

Hình 3.10: Giao diện quản lý địa điểm

60

59

Hình 3.11: Giao diện quản lý các tuyến đường 61
Hình 3.12 Giao diện quản lý danh sách hóa đơn 61
Hình 3.13a: Giao diện chi tiết hóa đơn

62

Hình 3.13b: Giao diện chi tiết hóa đơn đã được phân công

62

Hình 3.13c: Giao diện chi tiết hóa đơn báo bận 63
Hình 3.14:Giao diện hiển thị danh sách hóa đơn cho shipper 64
Hình 3.15: Giao diện đăng nhập shipper 65

5


LỜI NÓI ĐẦU
Hiện nay, công nghệ thông tin nói chung, công nghệ website nói riêng đã và
đang có những bước phát triển nhanh chóng. Giúp cho con người giải phóng được
sức lao động, giảm bớt thời gian cũng như công sức, tiền của mà vẫn quản lý cũng
như hoàn thành tốt các công việc của mình. Không tách khỏi xu hướng chung đó,
công việc vận chuyển hàng hóa cũng đã chịu ảnh hưởng lớn của công nghệ thông
tin, từ quảng bá thương hiệu đến giúp tìm đường đi cộng với lịch trình đi sao cho
phù hợp nhất, nhanh nhất mà không tốn tiền bạc nhất đều có sự trợ giúp của công
nghệ thông tin. Nhưng vẫn còn đó những công ty vì tính đặc thù công việc nên vẫn
chưa có được những ứng dụng hữu ích để phục vụ cho công việc của mình.Và
công ty vận chuyển Khánh Thịnh –Thái Nguyên là một trong những công ty như
vậy. Nhận thấy yêu cầu cấp thiết của công ty là cần phải có một ứng dụng shipper
để quảng bá dịch vụ và quản lý đơn dịch vụ cũng như các nhân viên vận chuyển
của công ty là rất lớn. Nên em quyết định chọn đề tài” Xây Dựng ứng dụng quản lý
shipping cho công ty vận chuyển Khánh Thịnh-Thái Nguyên”. Bằng ngôn ngữ
php và mysql

6


CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1.1. Ngôn ngữ PHP
1.1.1. Giới thiệu và sử dụng ngôn ngữ PHP
1.1.1.1 Giới thiệu ngôn ngữ PHP
a. Lịch sử ra đời
Năm 1995, Rasmus Lerdorf tạo ra PHP nhằm giải quyết việc viết lặp đi lặp
lại cùng đoạn mã khi tạo các trang. Ban đầu tác giả chỉ có ý định tạo bộ phân giải
đơn giản để thay thế các thẻ lệnh trong file HTML bằng các đoạn mã lệnh viết bằng
C.
b. PHP là gì ?
PHP là một công nghệ phía máy chủ (server – side) và không phụ thuộc môi
trường (cross-platfom). Cả hai yếu tố này đều rất quan trọng. Khái niệm công nghệ
phía máy chủ nói đến việc mọi thứ trong PHP đều xảy ra trên máy chủ (ngược với
máy khách là máy của người dùng). 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 các hệ điều hành như windows, Unix (và nhiều biến
thể của nó), Macintosh…Một điều cũng rất quan trọng là 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 các máy chủ khác mà không
cần chỉnh sửa hoặc chỉnh sửa rất ít.
Mã PHP được thực thi ở phía Server, khi trình duyệt của người dùng truy
cập một trang web có chứa một đoạn mã PHP thì trình duyệt nhận được trang kết
quả đã xử lý từ Web server, người dùng sẽ không thể biết được đoạn mã viết gì.
Mã PHP được bao trong cặp dấu hoặc . Tập tin PHP có phần mở
rộng là .php hoặc .php3
PHP tương tự JSP và ASP với tập thẻ lệnh dùng cho trang HTML. Điểm
đặc biệt là PHP được phát triển hoàn toàn cho nền tảng web,chính vì vậy, mà các
ứng dụng viết bằng PHP rất ngắn gọn so với VBScript hay JSP. Đây cũng chính là
7


điểm mạnh của PHP so với Perl.
Cú pháp PHP mượn từ nhiều ngôn ngữ khác như C, Java, Perl... PHP có thể
giao tiếp với nhiều hệ CSDL như MySQL, MS Access, Sybase, Oracle và cả
Microsoft SQL. Không chỉ có khả năng thao tác CSDL,PHP còn có nhiều khả năng
khác như IMAP, SNMP, LDAP, XML... PHP chạy trên hầu hết các nền tảng hệ
thống.Trình máy chủ phân giải mã lệnh PHP có thể tải về miễn phí từ trang web chính
thức của PHP.
Có lẽ yếu tố hấp dẫn nhất của PHP là nó hoàn toàn miễn phí. Với máy tính
cấu hình vừa phải chạy Linux, cài đặt Apache, PHP và MySQL,bạn sẽ có máy chủ
có thể phục vụ được nhiều ứng dụng web tương đối.Toàn bộ chi phí hầu như chỉ là
thời gian bạn bỏ ra để cài đặt các phần mềm.
PHP được xem là một thay thế cho Perl.PHP không thể làm được nhiều
như Perl, thế nhưng chính sự hạn chế này làm cho PHP dễ học và dễ
dùng.
c. Tại sao cần dùng PHP?
PHP được sử dụng để phát triển website động vì nó tốt, nhanh và dễ dàng
nghiên cứu hơn 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 năng bền vững linh động và khả năng
phát triển không giới hạn. Tất cả các đặc tính trên đều miễn phí vì PHP là mã
nguồn mở. PHP vừa dễ với người mới sử dụng và vừa có khả năng làm được mọi
thứ, đáp ứng yêu cầu của lập trình viên chuyên nghiệp.
PHP được sử dụng càng ngày càng nhiều và mới đây đã bắt kịp ASP
(vốn được xem là ngôn ngữ kịch bản phổ biến nhất hiện nay). PHP là modun
thông dụng cho Apache (máy chủ Web phổ biến nhất) và nó đã có mặt trên 12
triệu website
1.1.1.2. Sử dụng PHP
a) Thẻ PHP
Có 4 loại khác nhau của thẻ PHP:
8


- Kiểu Short: là thẻ mặc định mà các nhà lập trình PHP thường sử dụng.

- Kiểu định dạng XML: thẻ này có thể sử dụng với văn bản dạng XML.

- Kiểu Script: trong trường hợp muốn sử dụng PHP như một script tương
tự như khai báo Javascript hay VBScript

-

Kiểu ASP:

<%
echo “Đây là kiểu ASP”;
%>
b) Gọi hàm trong PHP
Để gọi hàm trong PHP, khai báo tương tự như gọi hàm trong các ngôn ngữ lập
trình khác,hầu hết các hàm khi gọi cần truyền tham số và giá trị trả về.
VD: Gọi hàm date()
echo “Hôm nay là: ”.date(“d/m/Y”);
9


?>
c) Truy cập biến Form
Thông thường khi cần lấy dữ liệu của người dùng nhập, chúng ta sẽ dùng thẻ form
trong trang web nhằm ràng buộc tất cả các thẻ input, selec, textarea...
Dữ liệu đến từ script đều là biến PHP, chúng ta có thể nhận biết chúng bằng cách
sử dụng dấu $ trước tên biến. Có hai cách để truy cập dữ liệu trên form thông qua
biến.
- Để lấy giá trị của các thẻ trong form theo

dạng POST:

$_POST[‘tên_thẻ’]
- Để lấy giá trị của các thẻ trong form theo dạng GET: $_GET[‘tên_thẻ’]
d) Khai báo biến
PHP Engine không cần yêu cầu khai báo biến trước khi sử dụng, tuy nhiên nên
tập thói quen khai báo và khởi tạo giá trị ban đầu cho biến trước khi sử dụng chúng.
e) Gán giá trị cho biến
Để gán giá trị cho biến, nếu biến đó chưa khai báo trước đó, biến này được coi như
vừa khai báo và khởi tạo. Trong trường hợp biến đã khai báo, biến này chỉ thay đổi
giá trị.
VD: $qtty=20;
$price=10;
10


$total=$qtty*$price;
echo “Total: $total”;
?>
f) Kiểu dữ liệu của biến trong PHP
PHP hỗ trợ 5 kiểu dữ liệu
- Interger: Sử dụng hầu hết cho giá trị có kiểu dữ liệu là số.
- Double: Sử dụng hầu hết cho giá trị có kiểu dữ liệu là số thực.
- String: Sử dụng hầu hết cho giá trị có kiểu dữ liệu là chuỗi, ký tự.
- Array: Sử dụng hầu hết cho giá trị có kiểu dữ liệu là mảng có các phần tử cùng
kiểu dữ liệu.
- Object: Sử dụng hầu hết cho giá trị có kiểu dữ liệu là đối tượng của lớp.
g) Phát biểu có điều khiển
- Phát biểu If: Phát biểu if với một điều kiện, nếu điều kiện là true thì khối lệnh
trong phát biểu If sẽ được thực hiện, điều kiện được khai báo trong dấu ()
VD: $a = 10;
$b=6;
if($a>$b)
echo $a+$b;
Khối lệnh trong bất kỳ phát biểu điều khiển nào cũng có thể sử dụng dấu { và }. Có
11


nghĩa là nếu khối lệnh trong phát biểu lớn hơn 1 thì phải sử dụng hai dấu trên.
- Phát biểu Else: phát biểu else luôn là trường hợp ngược lại của phát biểu if với
một điều kiện, nếu điều kiện là true thì khối lệnh trong
phát biểu if sẽ được thực hiện, ngược lại khối lệnh trong phát biểu
else sẽ được thực hiện.
VD: $a = 10;
$b=6;
if($a>$b) echo $a+$b;
else
$b=$a+1;
Tương tự như trong trường hợp phát biểu if, nếu khối lệnh trong phát biểu điều
khiển else có hơn 1 dòng lệnh thì sẽ phải khai báo sử dụng dấu { và }.
- Phát biểu Switch: tương tự như phát biểu if, nhưng trong trường hợp có
nhiều hơn hai tùy chọn cụ thể cho phép quyết định. VD: switch($diem)
{
case “5”: echo “Điểm trung bình”;
break;
case “7”: echo “Điểm khá”;
break;

12


case “10”: echo “Điểm giỏi”;
break;
deafault: echo “Nhập lại”;
}
Nếu đúng điều kiện case, cần khai báo phát biểu break nhằm thoát ra khỏi phát
biểu switch. Trong trường hợp không khai báo break trong mỗi phát biểu case, nếu
thỏa mãn điều kiện trong case nhưng PHP vẫn tiếp tục thực hiện tiếp các phát biểu
case sau đó.
- Phát biểu While: phát biểu vòng lặp đơn giản nhất trong PHP là vòng lặp while
cho phép bạn thực thi khối lệnh trong while cho đến khi điều kiện của while là
true như cú pháp
While (điều kiện)
{
câu lệnh thực hiện;
}
- Phát biểu do ... while: tương tự như while nhưng kiểm tra điều kiện sau khi thực
hiện khối lệnh.
do
{
câu lệnh thực hiện;

13


}
while (điều kiện)
- Phát biểu vòng lặp for: tương tự như trong phát biểu while, có thể sử dụng vòng
lặp for với 1 giới hạn chỉ định.
for (giá trị khởi đầu; điều kiện giới hạn; giá trị lặp của vòng lặp for)
{
khối lệnh thực hiện;
}
h) Lưu trữ và truy vấn dữ liệu bằng PHP
- Mở file bằng PHP:
+ fopen(tên file, chế độ mở): mở file
+ puts(), fwrite(): ghi file
+ close(): Đóng file
+ feof(): Nhận giá trị true nếu con trỏ ở cuối file
+ file_exists(): Kiểm tra file có tồn tại
+ filesize(): kiểm tra dung lượng của file
- Thiết lập kết nối cơ sở dữ liệu
Để kết nối cơ sở dữ liệu MySQL, cần cung cấp tên Server hay IP (có thể là
localhost) của máy chứa cơ sở dữ liệu MySQL, Username và Password để đăng
14


nhập làm việc trên cơ sở dữ liệu được mở.
-

Thiết lập kết nối:

Int mysql_pcconnect(“serverbname”, “username”, “password”);
if(!$db)
{
echo “Không kết nối được với CSDL”);
}
hoặc
$link = mysql_connect(“servername”, “username”, “password”)
or die(“Không kết nối được với CSDL”);
- Mở một CSDL: mysql_select_db(“database name”); hoặc
mysql_select_db(“database name”, $link);
-

Đóng kết nối cơ sở dữ liệu: mysql_close(database_connection);

-

Truy vấn cơ sở dữ liệu:

Int mysql_query(string sql);
Int mysql_query(string sql, [int db_connect]);
Int mysql_query(string database, string sql, [int db_connect]);
Số lượng mẩu tin: mysql_num_rows(); Cho biết số lượng mẩu tin câu truy
vấn trả về
15


-

Truy vấn dữ liệu:

Int mysql_fetch_array($result); Mysql_fetch_object($result);
- Dung lượng của tập mẩu tin: int mysql_free_result(int $result);
1.1.1.3. Ưu và ngôn ngữ nhược điểm của PHP
a. Ưu điểm
- Dùng mã nguồn mở
- Phổ biến hơn ASP (có thể thấy dựa vào số website dùng PHP)
- Tốc độ nhanh, dễ sử dụng
- Dựa vào XAMPP nên dễ cấu hình
- Nhiều hệ thống CMS miễn phí dùng
- Hỗ trợ kết nối nhiều hệ cơ sở dữ liệu: MySQL, MS SQL, Oracle…
- Chạy trên nhiều hệ diều hành
- Cộng đồng của PHP được coi là khá lớn và có chất lượng
- Thư viện phong phú
- Tính bảo mật khá an toàn
- Khả năng mở rộng cho PHP là không có giới hạn
- Luôn được cải tiến và cập nhật
b. Nhược điểm

16


- Mã nguồn không đẹp
- Chỉ chạy trên ứng dụng web
1.2. MYSQL
1.2.1. MySLQ là gì?
MySQL được phát triển và hỗ trợ bởi công ty MySQL AB của Thụy
Điển. Nó là hệ thống quản trị cơ sở dữ liệu (DBMS) cho các cơ sở dữ liệu quan
hệ (vì vậy, MySQL là một RDBMS). Cơ sở dữ liệu là một tập hợp các dữ liệu
có liên quan với nhau, có thể là văn bản, số hoặc các tập tin nhị phân được lưu
trữ có tổ chức bởi DBMS.
1.2.2. Đặc điểm của MySQL
MySQL là một phần mềm quản trị cơ sở dữ liệu dạng server-based (gần
tương đương với SQL server của Microsoft).
MySQL quản lý dữ liệu thông qua các cơ sở dữ liệu, mỗi cơ sở dữ liệu có thể có
nhiều bảng quan hệ chứa dữ liệu.
MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người dùng có
thể được quản lý một hoặc nhiều cơ sở dữ liệu khác nhau, mỗi người dùng có
một tên truy cập (user name) và mật khẩu tương ứng để truy xuất đến cơ sở dữ
liệu.
Khi ta truy vấn tới cơ sở dữ liệu MySQL, ta phải cung cấp tên truy cập và
mật khẩu của tài khoản có quyền sử dụng cơ sở dữ liệu đó. Nếu không, chúng ta sẽ
không làm được gì cả.
1.2.3. Các kiểu dữ liệu trong cơ sở dữ liệu MySQL
a) Loại dữ liệu numeric

17


Loại

Range

Bytes

Diễn giải

Tinyint

-127 ->128 hay 0..255

1

Số nguyên rất nhỏ

Smallint

-32768 -> 32767 hay 0..65535

2

Số nguyên nhỏ

Mediumint

-8388608

838860

hay3

Số nguyên vừa

Int

-231 -> 231 hay 0..232-1

4

Số nguyên

Bigint

-263 -> 263 hay 0..264-1

8

Số nguyên lớn

Float

Phụ thuộc số thập phân

->

0..16777215

Số thập phân dạng
Single hay Double

Float(M,D)

±1.175494351E-38

4

±3.40282346638
Double(M,D)

Số thập phân dạng
Single

±1.7976931348623157308
±2.2250738585072014E-308

Float(M[,D])

8

Số thập phân dạng
Double
Số chấm động lưu
dưới dạng char

b) Loại dữ liệu Date and Time
Loại

Range

Diễn giải

Date

1000-01-01

Date trình bày dưới dạng YYYY-mmdd

Time

00:00:00

Time trình bày dưới dạng hh:mm:ss

23:59:59

18


DateTime

1000-01-01

Date và Time trình bày dưới dạng

00:00:00

YYY-mm-dd hh:mm:ss

9999-12-31
23:59:59
TimeStamp[(M)]

Year[(2|4)]

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 số

1901-2155

Trình bày đại diện của TimeStamp
Loại

Hiển thị

TimeStamp

YYYYMMDDHHMMSS

TimeStamp(14)

YYYYMMDDHHMMSS

TimeStamp(12)

YYMMDDHHMMSS

TimeStamp(10)

YYMMDDHHMM

TimeStamp(8)

YYYYMMDD

TimeStamp(6)

YYMMDD

TimeStamp(4)

YYMM

(y = năm, m = tháng, d = ngày)
c) Loại dữ liệu String
Loại

Range

Diễn giải

Char

1-255 ký tự

Chiều dài của chuỗ

Varchar

1-255 ký tự

Chiều dài của chuỗ

19


Tinyblob

28-1

Khai báo cho Fie
tự

Tinytext

28-1

Khai báo cho Field

Blob

216-1

Khai báo cho Fie

Text

216-1

Khai báo cho Field
tự.

Text

216-1

Khai báo cho Field chứa kiểu chu
ký tự.

Mediumblob

224-1

Khai báo cho Field chứa kiểu b
Vừa khoảng 16777215 ký tự.

Mediumtext

224-1

Khai báo cho Field chứa kiểu chuỗ
16777215 ký tự.

Longblob

232-1

Khai báo cho Field chứa kiểu b
lớn khoảng 4294967295 ký tự.

Longtext

232-1

Khai

báo

cho

4294967295 ký tự.

1.2.4. Phát biểu SQL
Tạo cơ sở dữ liệu:
Create Database Create

Phát biểu SQL thao tác dữ liệu
- SELECT (truy vấn mẩu tin)
- INSERT (Thêm mẩu tin)
- UPDATE (Cập nhật dữ liệu)
- DELETE (Xóa mẩu tin)
a) Phát biểu Select
20

Field

chứa


Select From
Where
[Group by ]
[Having <điều kiện bắt buộc của Group by>]
[Order by ]
[Limit fromNumber | To Number]
b) Phát biểu Insert
Insert into [] Values (data_values)
c) Phát biểu Update
Update
Set =, [=]
[where ]
d) Phát biểu Delete
Delete from Where
Một số hàm thông dụng trong MySQL
+ 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.
VD: select AVG(Amount) From tblOrder
+ 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.
VD: select MIN(Amount) From tblOrder
+ 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.
VD: select MAX(Amount) From tblOrder
+ Hàm Count: Hàm trả về số lượng mẩu tin trong câu truy vấn.
VD: select Count(*) From tblOrder
+ 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.
VD: select SUM(Amount) From tblOrder
+ Hàm CurDate(): hàm trả về ngày, tháng, năm hiện hành của hệ thống.
VD: select curdate() as ‘Ngay hien tai’
Hàm CurTime(): Hàm trả về giờ phút giây hiện hành của hệ thống.
VD: select curtime() as ‘Thoi gian
1.2.5. Ưu và nhược điểm của MySQL
a. Ưu điểm
 MySQL là hệ quản trị cơ sở dữ liệu có tốc độ nhanh đáng tin cậy có thể hoạt
động trên nhiều hệ thống.
 MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở miễn phí, kích thước nhỏ.
 Nhờ đội ngũ phát triển năng động, tích cực, các phiên bản Mysql ngày càng
hoàn thiện bổ sung nhiều chức năng mới.
b. Nhược điểm
21


 MySQL hoạt động tốt đối với những cơ sở dữ liệu vừa và nhỏ nhưng chưa hỗ
trợ tốt cho các cơ sở dữ liệu có kích thước lớn.
Trong các phiên bản trước phiên bản 5.0 MySQL không hỗ trợ role commit và
stored procedure.
1.3. Tổng quan về Xampp
Xampp là chương trình tạo máy chủ Web (Web Server) được tích hợp sẵn
Apache, PHP, MySQL, FTP Server, Mail Server và các công cụ như
phpMyAdmin. Không như Appserv, Xampp có chương trình quản lý khá tiện lợi,
cho phép chủ động bật tắt hoặc khởi động lại các dịch vụ máy chủ bất kỳ lúc nào.
1. Apache. Là một chương trình máy chủ, dùng để giao tiếp với các giao thức
HTTP. Apache chạy tốt trên mọi hệ điều hành.
2. Mysql. Là hệ quản trị cơ sở dữ liệu, được dùng để lưu trữ thông tin của một
website. Mỗi website có thể sử dụng một hoặc nhiều cơ sở dữ liệu
3. PHP. Là ngôn ngữ kịch bản trên phía Server, dùng để xử lý các thao tác của
người dùng. Và làm việc trực tiếp với cơ sở dữ liệu (Database)
4. Perl.

Là một tầng cao hơn, một ngôn ngữ lập trình năng động hơn. Sử dụng

rộng rãi trong lập trình mạng và quản trị hệ thống. Ít phổ biến cho mục đích phát
triển web, Perl thích hợp với rất nhiều ứng dụng.

22


CHƯƠNG II:KHẢO SÁT HIỆN TRẠNG VÀ PHÂN TÍCH THIẾT KÊ HỆ
THỐNG
2.1. Khảo sát hiện trạng
2.1.1. Đôi nét về công ty vận tải Khánh Thịnh Thái Nguyên
Công ty cổ phần thương mại vận tải Khánh Thịnh Thái Nguyên có trụ sở
ở tổ 6 phường Quang Vinh Thành phố Thái Nguyên với các ngành nghề kinh
doanh
 Vận chuyển hàng hóa với lượng nhân viên vận chuyển đông đảo và
chuyên nghiệp
 Vận tải hành khách theo tuyến cố định: Số lượng trên 60 xe chất lượng
cao từ 29 - 45 chỗ, xe giường nằm đời mới.
 Cho thuê xe ôtô du lịch từ 5 – 45 chỗ với các dòng xe chất lượng cao như:
Hyundai Aero Space & High Class, Hyundai Aero Town, Hyundai Cauty, Mecedes
Sprinte, Toyota….
 Tổ chức các chương trình du lịch Nội địa và Quốc tế.
 Tổ chức các chương trình Hội nghị, hội thảo, học tập và khảo sát theo
chuyên đề riêng của khách hàng
 Dịch vụ đặt phòng khách sạn, cho thuê hướng dẫn viên……
2.1.2. Cách thức vận hành công việc vận chuyển hàng hóa hiện tại
Khách hàng gọi điện cho công ty và đưa ra yêu cầu vận chuyển hàng hóa
gồm khối lượng, địa điểm bắt đầu và địa điểm kết thúc. Nhân viên trực tổng đài sẽ
23


căn cứ vào thông tin mà khách hàng cung cấp sẽ tính tổng chi phí cho đơn vận
chuyển đó. Sau khi khách hàng đồng ý các điều khoản của nhân viên thì nhân viên
trực tổng đài sẽ đài sẽ liên hệ với nhân viên vận chuyển giao đơn dịch vụ, nhân
viên vận chuyển sẽ đến địa điểm bắt đầu mà khách hàng cung cấp, thực hiện các
điều khoản mà nhân viên trực tổng đài đã thương lượng với khách hàng và báo về
công ty, công ty sẽ xác minh lại đơn dịch vụ với khách hàng và nhân viên vận
chuyển.Kết thúc đơn dịch vụ
Cách thức vận hành trên gây ra sự lãng phí thời gian cũng như tiền bạc của
khách hàng và của các nhân viên do phải liên lạc qua điện thoại, khó quản lý các
nhân viên vận chuyển dẫn đến thất thoát đơn dịch vụ và khách hàng cũng không
có nhiều cơ hội để biết đến dịch vụ của công ty. Nhu cầu tất yếu là cần phải có một
cổng liên lạc mới thực hiện các quá trình tư vấn một cách tự động từ khâu yêu cầu
các thông tin đến khâu trả lời cho khách hàng cũng như các điều khoản cần thiết.
Và “ứng dụng shipper cho công ty vận tải Khánh Thịnh – Thái Nguyên ” chạy trên
nền website và với các công nghê php và mysql tiên tiến nhất sẽ đáp ứng được các
yêu cầu trên
2.2. Phân tích và thiết kế hệ thống
2.2.1. Xác định các tác nhân
Với thông tin khảo sát như trên ta có 3 tác nhân chủ yếu
Nhân viên quản lý có toàn bộ quyền hạn đối với websites như đăng tin bài,
địa điểm, quản lý đơn dịch vụ, quản lý nhân viên vận chuyển.
Nhân viên vận chuyển quản lý các hóa đơn mà mình đảm nhận vận chuyển
báo lại kết quả vận chuyển cho hệ thống
Khách hàng quản lý các hóa đơn mà mình yêu cầu vận chuyển và báo lại kết
24


quả thực hiện các điều khoản của hợp đồng
2.2.2. Xác định các Use case
Tác nhân Khách hàng có các UC sau:
 Đăng ký thành viên
 Đăng nhập thành viên
 Xem chi tiết các dịch vụ
 Đặt các dịch vụ
 Gủi thông tin phản hồi
Tác nhân admin có các UC sau:
 Đăng nhập hệ thống
 Quản lý thành viên
 Quản lý danh mục các dịch vụ
 Quản lý hóa đơn đặt dịch vụ
 Quản lý thông tin phản hồi
Tác nhân Nhân viên vận chuyển có các UC sau:
 Thực hiện việc giao hàng
 Xem chi tiết hóa đơn

25