Tải bản đầy đủ (.pdf) (82 trang)

Xây dựng website hỗ trợ bán hàng cho công ty TNHH phát triển kỹ thuật tin học BIGBEN thái nguyên

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.43 MB, 82 trang )

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.Vũ Vinh Quang 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.

1


LỜI CAM ĐOAN
Em xin cam đoan rằng số liệu và kết quả nghiên cứu trong đồ án này là
trung thực và không trùng lặp với các đề tài khác. Em cũng xin cam đoan rằng
mọi sự giúp đỡ cho việc thực hiện đồ án này đã được cảm ơn và các thông tin
trích dẫn trong đồ án đã được chỉ rõ nguồn gốc.
Thái Nguyên, ngày 26 tháng 5 năm 2016
Sinh Viên

Hà Thiêm Thượng

2



MỤC LỤC
LỜI CẢM ƠN .....................................................................................................1
LỜI CAM ĐOAN................................................................................................2
MỤC LỤC .........................................................................................................3
DANH MỤC HÌNH ẢNH ...................................................................................5
LỜI MỞ ĐẦU .....................................................................................................8
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT VÀ CÔNG CỤ THỰC HIỆN.......................9
1.1. Tổng quan về PHP.....................................................................................9
1.1.1. Khái niệm PHP ...................................................................................9
1.1.2. Tại sao nên dùng PHP .........................................................................9
1.1.3 Hoạt động của PHP ...........................................................................10
1.1.4. Các loại thẻ PHP ...............................................................................11
1.2. Ngôn ngữ mô hình hóa hướng đối tượng UML........................................11
1.2.1. UML là ngôn ngữ dùng để trực quan hóa ..........................................12
1.2.2. UML là ngôn ngữ dùng để chi tiết hóa ..............................................13
1.2.3. UML là ngôn ngữ dùng để sinh ra mã ở dạng nguyên mẫu ................13
1.2.4. UML là ngôn ngữ dùng để lập và cung cấp tài liệu............................13
1.2.5. Ứng dụng của UML ..........................................................................14
1.2.6. Các thành phần của UML..................................................................14
1.2.7. Các quy tắc của UML........................................................................20
1.3 MySQL ....................................................................................................20
1.3.1. Giới thiệu cơ sở dữ liệu: ....................................................................20
1.3.2. Mục đích sử dụng cơ sở dữ liệu:........................................................20
1.3.3. Các kiểu dữ liệu trong cơ sở dữ liệu MySQL.....................................21
CHƯƠNG 2. KHẢO SÁT VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG ..............27
2.1 Khảo sát hiện trạng...................................................................................27
2.1.1 Giới thiệu về đơn vị khảo sát..............................................................27
2.1.2 Khảo sát thực tế bài toán bán hàng tại công ty....................................28
2.1.3 Các bước cơ bản để mua hàng và thanh toán trực tuyến .....................29
2.1.3. Nhận xét, đánh giá thực trạng............................................................34


3


2.1.4. Xác định các yêu cầu chức năng của website.....................................35
2.2 Phân tích thiết kế hệ thống........................................................................42
2.2.1 Xác định các thông tin vào/ra của hệ thống ........................................42
2.2.2 Phân tích các chức năng của hệ thống. ...............................................43
2.2.3. Biểu đồ Use Case ..............................................................................45
2.2.4. Biểu đồ lớp........................................................................................68
2.2.5: Biểu đồ lớp tổng quát sản phẩm ........................................................73
CHƯƠNG 3: XÂY DỰNG WEBSITE HỖ TRỢ BÁN HÀNG CHO CÔNG TY
TNHH PHÁT TRIỂN KỸ THUẬT TIN HỌC BIGBEN THÁI NGUYÊN........74
3.1. Giới thiệu chung .........................................................................................74
3.2. Giới thiệu một số trang giao diện của Website.........................................74
3.3 Chức năng hỗ trợ bán hàng của website....................................................78
KẾT LUẬN.......................................................................................................79
TÀI LIỆU THAM KHẢO .................................................................................81

4


DANH MỤC HÌNH ẢNH
Hình 1.1: Sơ đồ hoạt động của PHP...................................................................10
Hình 2.1. Mẫu hóa đơn bán hàng ......................................................................31
Hình 2.2. Mẫu hóa đơn thanh toán.....................................................................31
Hình 2.3. Mẫu hóa đơn bán hàng.......................................................................32
Hình 2.4. Mẫu phiếu bảo hành..........................................................................32
Hình 2.5. Sơ đồ Use Case mức tổng thể.............................................................43
Hình 2.6. Biểu đồ Use Case cho Tác nhân Customer .........................................44

Hình 2.7. Biểu đồ Use Case cho Tác nhân Adminitrator ....................................44
Hình 2.8. Biểu đồ Cộng tác cho tác vụ đăng ký làm thành viên của KH ............45
Hình 2.9. Biểu đồ Trình tự cho tác vụ đăng ký thành viên của KH ...................45
Hình 2.10. Biểu đồ Cộng tác cho tác vụ đăng nhập của KH..............................46
Hình 2.11. Biểu đồ Trình tự cho tác vụ đăng nhập của KH ................................46
Hình 2.12. Biểu đồ cộng tác cho tác vụ tìm kiếm..............................................47
Hình 2.13. Biểu đồ trình tự cho tác vụ tìm kiếm ...............................................47
Hình 2.14. Biểu đồ cộng tác cho tác vụ xem chi tiết sản phẩm..........................48
Hình 2.15. Biểu đồ trình tự cho tác vụ xem chi tiết sản phẩm ............................48
Hình 2.16. Biểu đồ Cộng tác cho tác vụ thêm sản phẩm vào giỏ hàng ..............49
Hình 2.17. Biểu đồ Trình tự cho tác vụ thêm sản phẩm vào giỏ hàng ................49
Hình 2.18. Biểu đồ Cộng tác cho tác vụ xóa hàng trong giỏ hàng .....................50
Hình 2.19. Biểu đồ Trình tự cho tác vụ xóa hàng trong giỏ hàng ......................50
Hình 2.20. Biểu đồ Cộng tác cho tác vụ cập nhật số lượng trong giỏ hàng........51
Hình 2.21. Biểu đồ Trình tự cho tác vụ cập nhật số lượng trong giỏ hàng .........51
Hình 2.22. Biểu đồ cộng tác của tác vụ đặt hàng..............................................52
Hình 2.23. Biểu đồ trình tự cho tác vụ đặt hàng ................................................52
Hình 2.24. Biểu đồ cộng tác của tác vụ xem giỏ hàng.......................................53
Hình 2.25. Biểu đồ trình tự của tác vụ xem giỏ hàng ........................................53
Hình 2.26. Biểu đồ cộng tác của tác vụ tạo đơn đặt hàng ..................................54
Hình 2.27. Biểu đồ trình tự của tác vụ tạo đơn đặt hàng....................................54
Hình 2.28. Biểu đồ cộng tác cho tác vụ gửi ý kiến của khách hàng ...................55

5


Hình 2.29. Biểu đồ trình tự cho tác vụ gửi ý kiến của khách hàng.....................55
Hình 2.30. Biểu đồ cộng tác cho tác vụ xem thông tin liên hệ...........................56
Hình 2.31. Biểu đồ trình tự cho tác vụ khách hàng xem thông tin liên hệ..........56
Hình 2.32. Biểu đồ cộng tác cho tác vụ Quản trị viên đăng nhập ......................57

Hình 2.33. Biểu đồ trình tự cho tác vụ Quản trị viên đăng nhập........................58
Hình 2.34. Biểu đồ cộng tác cho tác vụ Thêm loại sản phẩm ............................58
Hình 2.35. Biểu đồ trình tự cho tác vụ thêm loại sản phẩm ...............................59
Hình 2.36. Biểu đồ cộng tác cho tác vụ Xóa loại sản phẩm...............................59
Hình 2.37. Biểu đồ trình tự cho tác vụ Xóa loại sản phẩm ................................60
Hình 2.38. Biểu đồ cộng tác cho tác vụ cập nhập loại sản phẩm .......................60
Hình 2.39. Biểu đồ trình tự cho tác vụ cập nhập loại sản phẩm .........................61
Hình 2.40. Biểu đồ cộng tác cho tác vụ Thêm sản phẩm mới.............................61
Hình 2.41. Biểu đồ trình tự cho tác vụ Thêm sản phẩm mới .............................62
Hình 2.42. Biểu đồ cộng tác cho tác vụ Xóa sản phẩm......................................62
Hình 2.43. Biểu đồ trình tự cho tác vụ Xóa sản phẩm .......................................63
Hình 2.44. Biểu đồ cộng tác cho tác vụ Cập nhật sản phẩm ...............................63
Hình 2.45. Biểu đồ trình tự cho tác vụ Cập nhật sản phẩm................................64
Hình 2.46. Biểu đồ cộng tác quản lý đơn đặt hàng. ............................................64
Hình 2.47. Biểu đồ trình tự quản lý đơn đặt hàng..............................................65
Hình 2.48. Biểu đồ Cộng tác cho tác vụ Xóa người sử dụng .............................66
Hình 2.49. Biểu đồ trình tự use-case xóa thành viên .......................................66
Hình 2.50. Biểu đồ trình tự use-case thêm thông tin tin tức khuyến mại ...........67
Hình 2.51. Sơ đồ liên kết các danh mục............................................................68
Hình 2.52. Biểu đồ quan hệ dữ liệu chi tiết sản phẩm ........................................69
Hình 2.53. Biểu đồ quan hệ dữ liệu quản lý loại sản phẩm................................69
Hình 2.54. Biểu đồ quan hệ dữ liệu quản lý sản phẩm .......................................70
Hình 2.55. Biểu đồ quan hệ dữ liệu giỏ hàng .....................................................71
Hình 2.56. Biểu đồ quan hệ thêm sản phẩm.......................................................72
Hình 2.57. Biểu đồ quan hệ dữ liệu quản lý liên hệ (góp ý) ...............................72
Hình 2.58. Biểu đồ lớp Use case tổng quát sản phẩm........................................73

6



Hình 3.1: Giao diện trang chủ............................................................................74
Hình 3.2. Giao diện danh sách sản phẩm ...........................................................75
Hình 3.3. Giao diện giỏ hàng .............................................................................75
Hình 3.4. Giao diện trang thông tin thành viên ..................................................76
Hình 3.6. Giao diện đơn hàng ............................................................................77
Hình 3.7: Giao diện quản lý loại sản phẩm ........................................................77

7


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 TNHH phát triển kỹ thuật tin học BIGBEN Thái Nguyên”.

8


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 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ỏ

9


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

web

HTML

HTML

Gọi mã kịch bản

PHP
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
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

10


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).
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

11



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ả 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.


12


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 đó.
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

13


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)
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.

14


+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.

+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).

15


+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.

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 đó.

16



+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ử.

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.

17


+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.

+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.

18


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)
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.

19



+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ó.
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

20


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 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:

21


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

22


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ố
đị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.
Kiểu dữ liệu String

Loại

Range

Date

1000-01-01

Time
DateTime

Date trình bày dưới dạng yyyy-mm- dd.

00:00:00-23:59:59 Time trình bày dưới dạng hh:mm:ss.
1000-01-01
00:00:00

Date và Time trình bày dưới dạng yyyymm-dd hh:mm:ss.

9999-12-31
23:59:59
TimeStainp[(

1970-01-01

M)]

00:00:00

TimeStamp trình bày dưới dạng yyyymm-dd hh:mm:ss.


Year[(2l4)] 1970-2069 -1901-2155 Year trình bày dưới dạng 2 số hay 4
số

23


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
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ị)

24


 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.
 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.

25


×