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

Xây dựng website đặt món ăn trực tuyến cho cửa hàng BBQ 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.14 MB, 94 trang )

LỜI CẢM ƠN
Được sự phân công của Khoa Công nghệ thông tin - Trường Đại học Công
nghệ thông tin và Truyền thông Thái Nguyên và sự đồng ý của thầy giáo hướng
dẫn Ths.Phùng Thế Huân em đã thực hiện đề tài "Xây dựng website đặt món ăn
trực tuyến cho cửa hàng BBQ Thái Nguyên" .
Em xin chân thành cảm ơn thầy giáo Ths.Phùng Thế Huân đã tận tình
hướng dẫn, giảng dạy và giúp đỡ trong suốt quá trình em học tập và làm đồ án tốt
nghiệp.
Em xin cảm ơn toàn thể các thầy cô giáo – Trường Đại học Công nghệ
thông tin và Truyền thông đã truyền dạy cho em những kiến thức quý báu trong
suốt quá trình học tập tại trường để em có thể hoàn thành tốt đồ án tốt nghiệp.
Nhân dịp này em xin gửi lời cảm ơn chân thành tới gia đình, bạn bè, những
người thân đã cổ vũ động viên em trong quá trình em hoàn thành đồ án tốt nghiệp.
Mặc dù đã rất nhiều cố gắng, nhưng do thời gian và kiến thức có hạn nên
không thể tránh khỏi những sai lầm và thiếu sót. Em rất mong được sự đóng góp
của quý thầy cô và các bạn để đồ án của em được hoàn thiện hơn.
Em xin chân thành cảm ơn!
Thái Nguyên, tháng 6 năm 2016
Sinh viên thực hiện

Phùng Thị Sao

1


LỜI CAM ĐOAN
Sau quá trình học tập tại trường Đại học Công Nghệ Thông Tin và Truyền
Thông, có sự kết hợp, vận dụng giữa lý thuyết và thực tế, em đã nghiên cứu và tập
hợp các tài liệu để hoàn thành đồ án tốt nghiệp của mình. Em xin cam đoan đồ án
tốt nghiệp của em là công trình do chính bản thân em tự tìm hiểu, nghiên cứu và
hoàn thành dưới sự hướng dẫn của thầy giáo Ths.Phùng Thế Huân.


Em xin chịu trách nhiệm về đồ án của mình.
Thái Nguyên, tháng 6 năm 2016
Sinh viên thực hiện

Phùng Thị Sao

2


MỤC LỤC
LỜI CẢM ƠN

1

LỜI CAM ĐOAN 2
MỤC LỤC

3

LỜI NÓI ĐẦU

7

CHƯƠNG I: CƠ SỞ LÝ THUYẾT

8

1.1. Tổng quan về phân tích thiết kế hướng đối tượng

8


1.1.1. Khái niệm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.2. Ưu điểm của phân tích thiết kế hướng đối tượng . . . . . . . . . . . . . . . . . . . 8
1.1.3. Các giai đoạn của chu trình phát triển phần mềm hướng đối tượng . 9
1.1.4. Những vấn đề đặt ra trong phân tích thiết kế hướng đối tượng . . . . . 9
1.1.5. Phân tích thiết kế hướng đối tượng với UML . . . . . . . . . . . . . . . . . . . . . 10
1.1.6. Biểu đồ Use case (Usecase Diagrams): . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.1.7. Biểu đồ lớp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.1.8. Biểu đồ trình tự . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.1.9. Biểu đồ hoạt động . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.2. Ngôn ngữ lập trình 16
1.2.1. Hệ quản trị MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.2.2. PHP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.2.3. Kết nối PHP và MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.2.4. Thiết kế giao diện . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
CHƯƠNG II: KHẢO SÁT VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.1. Hiện trạng thực tế

29

29

2.1.1. Giới thiệu về cửa hàng BBQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.1.2. Mô hình bán hàng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.2. Phân tích yêu cầu đề tài

31

2.2.1. Tóm tắt hoạt động của hệ thống . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3



2.2.2. Phạm vi đề tài được ứng dụng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.2.3. Đối tượng sử dụng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.2.4. Mục đích của đề tài . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.3. Xác định yêu cầu của khách hàng 32
2.3.1. Hệ thống hiện hành của trung tâm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.3.2. Hệ thống đề nghị. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.4. Yêu cầu giao diện của website

35

2.4.1. Giao diện người dùng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.4.2. Giao diện người quản trị . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.5. Phân tích các chức năng của hệ thống

35

2.5.1. Các chức năng của đối tượng Khách hàng . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.5.2. Chức năng của Admin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.6. Biểu đồ phân tích thiết kế hệ thống

40

2.6.1. Biểu đồ Use case tổng quát. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.6.2. Biểu đồ hoạt động. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.6.3. Biểu đồ trình tự . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.6.4. Biểu đồ lớp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
CHƯƠNG III: XÂY DỰNG WEBSITE 57
3.1. Một số yêu cầu thiết kế giao diện ứng dụng


57

3.1.1. Các tính chất của hình giao diện. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.1.2. Các kỹ thuật. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.2. Thiết kế giao diện trang khách hàng

57

3.2.1. Thiết kế giao diện trang chủ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.2.2 Thiết kế giao diện trang quản trị admin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
KẾT QUẢ ĐẠT ĐƯỢC

62

TÀI LIỆU THAM KHẢO 63

4


DANH MỤC HÌNH ẢNH
Hình 2.1. Biểu đồ use case tổng quát . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Hình 2.2. Biểu đồ use case Quản lý sản phẩm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Hình 2.3. Biểu đồ use case Quản lý khách hàng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Hình 2.4.Biểu đồ use case Quản lý đơn hàng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Hình 2.5. Biểu đồ hoạt động chức năng Đăng nhập vào hệ thống . . . . . . . . . . . . . . 42
Hình 2.6. Biểu đồ hoạt động chức năng Đăng xuất. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Hình 2.7. Biểu đồ hoạt động chức năng Tìm kiếm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Hình 2.8. Biểu đồ hoạt động chức năng Đăng kí thành viên. . . . . . . . . . . . . . . . . . . . 44
Hình 2.9. Biểu đồ hoạt động chức năng Xem thông tin về sản phẩm . . . . . . . . . . . 44

Hình 2.10. Biểu đồ hoạt động chức năng Đặt hàng. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Hình 2.11. Biểu đồ hoạt động chức năng Xoá đơn hàng . . . . . . . . . . . . . . . . . . . . . . . 45
Hình 2.12. Biểu đồ hoạt động chức năng Thêm sản phẩm. . . . . . . . . . . . . . . . . . . . . . 46
Hình 2.13. Biểu đồ hoạt động chức năng Sửa thông tin sản phẩm . . . . . . . . . . . . . . 46
Hình 2.14. Biểu đồ hoạt động chức năng Xoá sản phẩm . . . . . . . . . . . . . . . . . . . . . . . 47
Hình 2.15. Biểu đồ hoạt động chức năng Xoá thông tin khách hang. . . . . . . . . . . . 47
Hình 2.16. Biểu đồ trình tự chức năng Đăng nhập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Hình 2.17. Biểu đồ trình tự chức năng Đăng xuất . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Hình 2.18. Biểu đồ trình tự chức năng Đăng ký thành viên . . . . . . . . . . . . . . . . . . . . 50
Hình 2.19. Biểu đồ trình tự chức năng Tìm kiếm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Hình 2.20. Biểu đồ trình tự chức năng Thêm mới sản phẩm. . . . . . . . . . . . . . . . . . . . 52
Hình 2.21. Biểu đồ trình tự chức năng Sửa thông tin sản phẩm. . . . . . . . . . . . . . . . . 53
5


Hình 2.22. Biểu đồ trình tự chức năng Xóa sản phẩm . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Hình 2.23. Biểu đồ trình tự chức năng Đặt hàng. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Hình 2.24: Biểu đồ lớp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Hình. 3.1 Giao diện trang chủ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Hình. 3.2 Giao diện giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Hình. 3.3 Giao diện thực đơn người dùng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Hình. 3.4 Giao diện hướng dẫn thanh toán. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Hình. 3.5 Giao diện liên hệ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Hình. 3.6 Giao diện đăng nhập của admin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Hình. 3.7 Giao diện trang chủ của admin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Hình. 3.8 Giao diện thực đơn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Hình. 3.9 Giao diện người dùng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Hình. 3.10 Giao diện liên hệ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

6



LỜI NÓI ĐẦU
Trong những năm gần đây với sự phát triển vượt trội của khoa học kỹ
thuật đặc biệt là công nghệ thông tin, với những ứng dụng của công nghệ
thông tin vào các lĩnh vực đã đóng góp phần to lớn cho sự nghiệp phát triển
của con người.
Việc xây dựng các trang web để phục vụ cho các nhu cầu riêng của
các tổ chức, công ty thậm chí các cá nhân ngày càng phổ biến và không
còn là vấn đề xa lạ. Và một người bất kì có thể trở thành chủ của một
website giới thiệu về bất cứ gì mà họ quan tâm: một website giới thiệu về
bản thân và gia đình họ, hay là một website trình bày các bộ sưu tập hình
ảnh, các sở thích mà họ yêu thích,...
Đối với các nhà hàng thì việc xây dựng các website riêng càng ngày
càng trở nên cấp thiết. Thông qua những website này, thông tin về họ cũng
như các món ăn, dịch vụ mới của nhà hàng sẽ đến với những người quan
tâm, đến với khách hàng của họ một cách nhanh chóng kịp thời, tránh
những phiền hà mà phương thức giao tiếp truyền thống thường gặp phải.
Từ vốn kiến thức có được trong quá trình học tập và thông qua tham
khảo một số trang Web giới thiệu sản phẩm, quảng bá sản phẩm. Em đã
thực hiện đề tài: “Xây dựng website đặt món ăn trực tuyến cho cửa
hàng BBQ Thái Nguyên”.
Đề tài gồm 3 chương:
Chương I: Cơ sở lý thuyết
Chương II: Khảo sát và phân tích thiết kế hệ thống

7


Chương III: Xây dựng website


8


CHƯƠNG I: CƠ SỞ LÝ THUYẾT
1.1. Tổng quan về phân tích thiết kế hướng đối tượng

 Khái niệm
Trong kỹ nghệ phần mềm để sản xuất được một sản phẩm phần mềm người
ta chia quá trình phát triển sản phẩm ra nhiều giai đoạn như thu thập và phân tích
yêu cầu, phân tích và thiết kế hệ thống, phát triển (coding), kiểm thử, triển khai và
bảo trì. Trong đó, giai đoạn phân tích, thiết kế bao giờ cũng là giai đoạn khó khăn
và phức tạp nhất. Giai đoạn này giúp chúng ta hiểu rõ yêu cầu đặt ra, xác định giải
pháp, mô tả chi tiết giải pháp. Nó trả lời 2 câu hỏi What (phần mềm này làm cái
gì?) và How (làm nó như thế nào?).
Để phân tích và thiết kế một phần mềm thì có nhiều cách làm, một trong
những cách làm đó là xem hệ thống gồm những đối tượng sống trong đó và tương
tác với nhau. Việc mô tả được tất cả các đối tượng và sự tương tác của chúng sẽ
giúp chúng ta hiểu rõ hệ thống và cài đặt được nó. Phương thức này gọi là Phân
tích thiết kế hướng đối tượng (OOAD)

 Ưu điểm của phân tích thiết kế hướng đối tượng
Đối tượng độc lập tương đối: che giấu thông tin, việc sửa đổi một đối tượng
không ảnh hưởng lan sang đối tượng khác. Những đối tượng trao đổi thông tin
được với nhau bằng cách truyền thông điệp làm cho liên kết giữa các đối tượng
lỏng lẻo, có thể ghép nối tùy ý, bảo trì và nâng cấp dễ dàng.
Việc phân tích và thiết kế theo cách phân bài toán thành các đối tượng là
hướng tới lời giải của thế giới thực. Các đối tượng có thể sử dụng lại được là do
tính kế thừa của đối tượng. Hệ thống hướng đối tượng dễ dàng được mở rộng
thành các hệ thống lớn hơn nhờ tương tác thông qua việc nhận và gửi thông báo.

Xây dựng hệ thống thành các thành phần khác nhau. Mỗi thành phần được xây
dựng độc lập và sau đó ghép chúng lại với nhau đảm bảo được có đầy đủ các thông
tin giao dịch. Việc phát triển và bảo trì hệ thống đơn giản hơn rất nhiều do có sự
phân hoạch rõ ràng, đó là kết quả của việc đóng gói thông tin và kết nối các đối
9


tượng thông qua giao diện, việc sử dụng lại các thành phần đảm bảo độ tin cậy.
Quá trình phát triển phần mềm đồng thời là quá trình cộng tác của khách hàng
/người dùng, nhà phân tích, nhà thiết kế, nhà phát triển, chuyên gia lĩnh vực, chuên
gia kỹ thuật nên lối tiếp cận này khiến cho việc giao tiếp giữa họ với nhau dễ dàng
hơn. Một trong những ưu điểm quan trọng nhất của phương pháp phân tích thiết kế
hướng đối tượng là tính tái sử dụng: bạn có thể tạo các đối tượng một lần và dùng
chúng nhiều lần sau đó. Vì các đối tượng đã được thử nghiệm kỹ càng trong những
lần dùng trước đó, nên khả năng tái sử dụng giúp hạn chế lỗi và các khó khăn
trong việc bảo trì, giúp tăng tốc độ thiết kế và phát triển phần mềm. Phương pháp
hướng đối tượng giúp chúng ta tạo ra các thế hệ phần mềm có quy mô lớn, có khả
năng thích ứng và bền chắc.

 Các giai đoạn của chu trình phát triển phần mềm hướng đối tượng
 Phân tích hướng đối tượng (Object Oriented Analynis - OOA)
Là giai đoạn phát triển một mô hình chính xác và súc tích của vấn đề, có
thành phần là các đối tượng khái niệm đời thực, dễ hiểu đối với người sử dụng.
 Thiết kế hướng đối tượng (Object Oriented Design - OOD)
Là giai đoạn tổ chức chương trình thành các tập hợp đối tượng cộng tác với
nhau, mỗi đối tượng trong đó là một lớp. Các lớp là thành viên tạo thành một cây
cấu trúc với mối quan hệ thừa kế hay tương tác bằng thông báo.
 Lập trình hướng đối tượng (Object Oriented Programming - OOP)
Giai đoạn xây dựng phần mềm có thể được thực hiện sử dụng kỹ thuật lập
trình hướng đối tượng. Đó là phương thức thực hiện việc chuyển các thiết kế

hướng đối tượng thành chương trình bằng việc sử dụng một ngôn ngữ lập trình có
hỗ trợ các tính năng có thể chạy được, nó chỉ được đưa vào sử dụng sau khi đã trải
qua nhều bước thử nghiệm khác nhau.

 Những vấn đề đặt ra trong phân tích thiết kế hướng đối tượng
Đặc điểm của phân tích và thiết kế hướng đối tượng: là nhìn nhận hệ thống
như một tập các đối tượng tương tác với nhau để tạo ra một hành động cho một kết
10


quả ở mức cao hơn. Để thực hiện được điều này người ta phải sử dụng hệ thống
mô hình các đối tượng với các đặc trưng cơ bản sau:
 Tính trừu tượng hóa cao.
 Tính bao gói thông tin.
 Tính module hóa.
 Tính kế thừa.

 Phân tích thiết kế hướng đối tượng với UML
 Khái niệm về UML
UML là ngôn ngữ mô hình hóa hợp nhất dùng để biểu diễn hệ thống. Nói
một cách đơn giản là nó dùng để tạo ra các bản vẽ nhằm mô tả thiết kế hệ thống.
Các bản vẽ này được sử dụng để các nhóm thiết kế trao đổi với nhau cũng như
dùng để thi công hệ thống (phát triển), thuyết phục khách hàng, các nhà đầu tư
 Các loại biểu đồ trong UML
 Biểu đồ lớp (Class Diagrams).
Là một mô hình tĩnh để biểu diến các lớp đối tượng và mối quan hệ giữa
chúng, nó không thay đổi trong hệ thống theo thời gian. Miêu tả các lớp bao gồm
cả hành vi và trạng thái, cùng với quan hệ giữa các lớp.
 Biểu đồ đối tượng (Object Diagrams):
Chỉ chứa các đối tượng và giá trị dữ liệu. Đối tượng là một thể hiện cụ thể

của một thành phần hoặc toàn bộ sơ đồ lớp, thường dùng khi muốn xem xét chi tiết
của một lớp. Thông qua đó có thể phát hiện sai lầm khi liên kết sơ đồ lớp.
 Biểu đồ Use Case (Use Case Dagrams):
 Khái niệm actor: là những người dùng (tác nhân) hay hệ thống khác mà
có tương tác với hệ thống, có thể là một người, một thiết bị hoặc một hệ thống
khác, có thể trao đổi thông tin với hệ thống với vai trò của người cung cấp lẫn
người nhận thông tin.
 Biểu đồ Use case bao gồm một tập hợp các Use case, các actor và thể
11


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 Diagrams):
Biểu diễn sự tương tác giữa các đối tượng tham gia vào một use case và
thông điệp được truyền giữa các đối tượng trong use case đó. Biểu đồ trình tự đặc
biết thích hợp để định nghĩa các tương tác phức tạp theo thời gian. Biểu đồ trình tự
thường thích hợp hơn biểu đồ cộng tác trong các trường hợp: có rất nhiều tương
tác trong một hành vi cụ thể, trình tự của tương tác khá phức tạp.
 Biểu đồ cộng tác (Colloboration Diagrams):
Gần giống như biểu đồ trình tự, biểu đồ cộng tác là một cách khác để thể
hiện một tình huống có thể sảy ra trong hệ thống. Nhưng nó chỉ mô tả sự tương tác
giữa các đối tượng mà không quan tâm đến trình tự thời gian sảy ra tương tác.
 Biểu đồ trạng thái (Statechart Diagrams):
Là đồ thị có hướng với các nút là các trạng thái nối với nhau bởi các cung
mô tả việc chuyển đổi trạng thái. Mô tả chu trình sống của các đối tượng chính từ
khi sinh ra, hoạt động và mất đi. Mỗi đối tượng có thể có nhiều sơ đồ trạng thái
theo các góc nhìn khác nhau.
 Biểu đồ hoạt động (Activity Diagrams):
Được dùng để mô hình hóa các quá trình nghiệp vụ ở mức cao. Nó chỉ ra:

các bước trong luồng công việc, các điểm quyết định, ai có trách nhiềm thực hiện
từng bước, các đối tượng ảnh hưởng đến luồng công việc.
 Biểu đồ thành phần (Component Diagrams):
Chỉ ra cách tổ chức và 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, cộng tác.
 Biểu đồ triển khai (Deployment Diagrams): Phân bố vật lý của hệ thống.

 Biểu đồ Use case (Usecase Diagrams):

12


 Một số lưu ý khi thiết kế usecase:
 Nên đơn giản và cô đọng.
 Không viết ngay mọi usecase mà phát triển chúng dần dần.
 Xem xét lại các usecase một cách thường xuyên.
 Gán độ ưu tiên cho các usecase.
 Bảo đảm chúng có duy nhất một mục tiêu hữu hình và có thể triển khai
được.
 Viết ra theo quan điểm của người dùng và dùng ngôn ngữ kinh doanh.
 Thiết lập khung hệ thống rõ ràng và không đưa vào các chi tiết.
 Sử dụng hiệu ứng để minh họa dòng usecase.
 Không được chấp nhận usecase nếu chỉ mới đọc qua một lần.
 Xem kỹ các dòng thay thế và các dòng ngoại lệ.
 Vai trò của biểu đồ usecase:
 Mô hình hóa hệ thống sắp được xây dựng:
 Các thực thể có liên quan: Ai sẽ tương tác với hệ thống.
 Cung cấp một chuỗi hoạt động thống nhất trong quá trình phát triển hệ
thống.

 Mục tiêu: làm cho hệ thống đáp ứng được yêu cầu của khách hàng.
 Biểu đồ usecase là cầu nối giữa các chức năng và hành vi của hệ thống
với khách hàng / người dùng cuối.
 Lợi ích của biểu đồ usecase:
 Dễ hiểu:
 Sử dụng các thuật ngữ mà khách hàng/ người tiêu dùng hiểu được.
 Kiểm tra lại hiểu biết về hệ thống của người phát triển.
 Cho biết ngữ cảnh của các yêu cầu:
 Nhận diện người dùng.
13


 Nhận diện giao diện hệ thống.
 Sắp xếp lại yêu cầu hệ thống một cách trình tự logic.
 Giúp kiểm tra lại sự thiếu sót (nếu có) của các yêu cầu.
 Giúp người dùng dễ dàng chấp nhận các yêu cầu hệ thống.
 Các ký hiệu cơ bản
 Actor:

Actor
Actor không phải là một phần của hệ thống, đó là thực thể có tương tác với
hệ thống. Một actor có thể là một người/nhóm người, một thiết bị hoặc một hệ
thống khác có trao đổi thông tin với hệ thống với vai trò của người cung cấp lẫn
nhận thông tin.
- Usecase:

Use-case
Là một chuỗi các hành động mà hệ thống thực hiện mang lại một kết quả
quan sát được đối với actor.
 Quan hệ giữa tác nhân và uscase:


14


Quan hệ giữa tác nhân và use case
 Quan hệ giữa các use case:
 Quan hệ khái quát hóa: chỉ ra một vài usecase có một số cái chung, giống nhau.
 Quan hệ mở rộng <<extend>> : được dùng khi chúng ta có một usecase
tương tự nhưng cần thêm một vài xử lý đặc biệt (có thể có hoặc không).

Quan hệ <<extend>>
 Quan hệ bao hàm <<include>> giữa các usecase: quan hệ giữa những
usecase với usecase được tách ra có quan hệ <<include>>.

Quan hệ <<include>>

 Biểu đồ lớp
 Biểu đồ lớp (Class Diagrams):
 Cung cấp một bức tranh mô tả một số hoặc tất cả các lớp trong mô hình.
 Thể hiện cấu trúc và ứng xử của một hay nhiều lớp.
 Thể hiện mối quan hệ kế thừa giữa các lớp.
 Các ký hiệu cơ bản:
 Lớp (Class): một lớp được mô tả gồm ba thành phần:tên lớp, các thuộc
15


tính, các thao tác.
Các ký hiệu cơ bản của biểu đồ lớp
Ví dụ: lớp Hóa _đơn


 Quan hệ giữa các lớp:
 Quan hệ kết hợp (Asocciation):

Mối kết hợp giữa các lớp
Tên mối kết hợp: giải thích rõ bản chất của kết hợp.
Cơ số: Cho biết số lượng các đối tượng ở bên kia so với 1 đối tượng của
đầu bên này của kết hợp.
 Quan hệ kết nhập (Aggregation):
Đối tượng của lớp này chứa hay bao gồm nhiều đối tượng của lớp khác.
Quan hệ toàn thể - bộ phận (whole-part).
Ví dụ:

Quan hệ kết nhập

16


 Quan hệ hợp thành (Composition):

Quan hệ hợp thành
 Các kiểu lớp
 Boundary class (lớp biên):
 Giao tiếp người dùng.
 Form trong C#, Frame trong Java….

 Nắm giữ sự tương tác giữa phần bên ngoài với phần bên trong của hệ
thống (giao diện chương trình).
Ký hiệu:

 Control class (lớp điều khiển):

 Phối hợp sự tương tác giữa các lớp.

 Thể hiện trình tự xử lý của hệ thống trong một hay nhiều use-case.
Ký hiệu:

 Entity class (lớp thực thể):
 Các thực thể chứa thông tin trong hệ thống.

 Mô hình hóa các thông tin lưu trữ lâu dài trong hệ thống, nó thường độc
lập với các đối tượng khác ở xung quanh.
17


Ký hiệu:

18


 Biểu đồ trình tự
 Các bước tạo một biểu đồ tuần tự:
 Xác định ngữ cảnh.
 Xác định các đối tượng tham gia.
 Thiết lập chu kỳ sống (lifeline) cho mỗi đối tượng.
 Thêm các thông điệp vào.
 Đặt các tiêu điểm trên các lifeline.
 Xem xét lại hồ sơ.
 Các thành phần của biểu đồ trình tự
Actor
Object
Linelife

Tiêu trình điều khiển
Message

 Biểu đồ hoạt động
 Biểu đồ hoạt động (Activity diagram) do Odell đề xuất cho UML để :
 Mô tả luồng công việc trong tiến trình nghiệp vụ trong mô hình hóa nghiệp
vụ.
 Mô tả luồng sự kiện trong mô hình hóa hệ thống.
 Sử dụng text như trước đây sẽ khó đọc khi logíc phức tạp, có nhiều rẽ nhánh.
 Biểu đồ hoạt động sử dụng để mô hình hóa khía cạnh động của hệ thống
các bước trình tự hay tương tranh trong quá trình tính toán.
19


 Ngôn ngữ lập trình

 Hệ quản trị MySQL
 Giới thiệu về MySQL
MySQL được sử dụng để lưu trữ dữ liệu trong hệ thống gồm có các bảng để
lưu trữ cơ sơ dữ liệu như bang dm_khachhang, dm_hang v.v. các bang này có khóa
chính, và khóa ngoài dùng để liên kết các bảng lại với nhau.
MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới
và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì
MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển,
hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất
mạnh.Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có
truy cập CSDL trên internet. MySQL miễn phí hoàn toàn cho nên bạn có thể tải về
MySQL từ trang chủ. Nó có nhiều phiên bản cho các hệ điều hành khác nhau:
phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix,
FreeBSD, NetBSD, Novell NetWare, Solaris, SunOS, ...

Mặc dù hệ quản trị cơ sở dữ liệu MySQL đang được phổ biến nhưng nó vẫn
có nhiều đối thủ đang cạnh tranh quyết liệt. Những đối thủ đó có thể hơn MySQL
về phương diện nào đó. Nhưng MySQL vẫn được nhiều người lập trình Web lựa
chọn. MySQL có một số các đặc điểm nổi bật khiến cho người lập trình Web ưa
thích và không thể không chọn nó. Tuy nhiên MySQL cũng có một số nhược điểm
như không được một số môi trường hỗ trợ.... Nếu một hệ thống lớn ví dụ như ngân
hàng thì MySQL không phải là một lựa chọn thích hợp. Nhưng trong lập trình
Web thì MySQL là hệ quản trị cơ sở dữ liệu thích hợp nhất.
Đặc điểm nhanh và mạnh cũng làm cho hệ quản trị cơ sở dữ liệu MySQL
được chú ý hơn. MySQL không có đầy đủ cơ sở vật chất cho một hệ cơ sở quản trị
cơ sở dữ liệu hoàn hảo, nhưng đối với công việc thường nhật của mọi người nhất
là đối với những người làm Web nếu chỉ cần để lưu trữ dữ liệu, hay dữ liệu của
một trang thương mại điện tử tầm cỡ vừa và nhỏ thì MySQL cung cấp đủ mọi thứ
20


mà lập trình viên cần. Đối với nhưng cơ sở dữ liệu trung bình thì MySQL hỗ trợ
tuyệt vời về tốc độ. Các nhà phát triển và xây dựng MySQL tự hào về tốc độ của
MySQL.
MySQL được cải tiến liên tục. Các nhà phát triển thường xuyên cải tiến nó
nhằm cung cấp các chức năng, bổ xung những tính chính. Hiện nay MySQL đã hỗ
trợ thêm transacsion và điều đó đã khiến MySQL trở thành một hệ quản trị cơ sở
dữ liệu chuyên nghiệp.
Để làm việc với MySQL cần đăng ký kết nối, tạo cở sở dữ liệu, quản lý
người dùng, phân quyền sử dụng, thiết kế đối tượng Table của cơ sở dữ liệu và xử
lý dữ liệu. Để quản lý và thao tác trên cơ sở dữ liệu ta có thể sử dụng giao diện đồ
họa hoặc dạng Command line.
 Đặc điểm của MySQL
MySQL cũng giống như các hệ quản trị CSDL: Access, SQL Server,
PostgreSQL, Oracle,phần mềm mã nguồn mở do đó có thể tải miễn phí từ trang

chủ. Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho
các hệ điều hành dòng Windows, Linux, Mac OS X, Unix, Solaris…
MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả
chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện
ích rất mạnh.Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng
dụng có truy cập CSDL trên internet. MySQL server hoạt động trong các hệ thống
nhúng hoặc client/server.
 Tại sao phải sử dụng MySQL?
 Tính linh hoạt: linh hoạt về platform là một đặc tính lớn của MySQL với
tất cả các phiên bản của Linux, Unix, và Windows được hỗ trợ. Tính chất mã
nguồn mở của MySQL cho phép sự tùy biến các yêu cầu thích hợp cho database
server.
 MySQL là một hệ quản trị nhỏ, bảo mật, và rất dễ sử dụng, thường được
sử dụng cho các ứng dụng nhỏ và trung bình. Nó được sử dụng cho các ứng dụng
21


client/server với máy chủ mạnh như: UNIX, Windows 95/98, và đặc biệt trên máy
chủ UNIX.
 MySQL hỗ trợ các điểm vào là ANSI SQL và ODBC mức 0-2 SQL
chuẩn.
 MySQL hỗ trợ nhiều ngôn ngữ cho việc thông báo lỗi như: Czec, Dutc,
English, Estonian, French, German, Hungarian, Italian, Norwegian Nynorsk,
Polish, Portuguese, Spanish and Swebish. Ngôn ngữ được hỗ trợ mặc định cho dữ
liệu là ISO-8859-1 (Latin 1), muốn thay đổi phải sửa trong mã nguồn.
 Ngôn ngữ lập trình sử dụng viết các hàm API để thâm nhập cơ sở dữ
liệu MySQL có thể là C, Perl, PHP…
 Các bảng (table) trong cơ sở dữ liệu MySQL có kích thước rất lớn và
được lưu ở thư mục Data. Kích thước lớn nhất của một bảng tối thiểu là 4GB và nó
còn phụ thuộc vào kích thước lớn nhất của một file do hệ điều hành quy định.

 MySQL là một hệ quản trị cơ sở dữ liệu mô hình quan hệ, nó có mã
nguồn mở. Nó được cung cấp miễn phí trên các máy chủ UNIX, OS/2 và cả trên
Windows.
 Cơ sở dữ liệu MySQL rất dễ quản lý và có tốc độ xử lý cao hơn tới ba
bốn lần so với các hệ quản trị cơ sở dữ liệu khác.
 Tổng chi phí thấp nhất: MySQL miễn phí hoàn toàn cho nên bạn có thể
tảivề MySQL từ trang chủ
 Các câu lệnh cơ bản trong mysql
 Lệnh tạo cơ sở dữ liệu : Create database <ten_csdl>
 Lệnh tạo bảng: dùng để tạo ra các bang để lưu trữ dữ liệu trong hệ
thống. lệnh tạo bảng có cấu trúc như sau:
Create table <ten_bang>
<ten_thuoc_tinh> <kieu_du_lieu>
Để tạo liên kết với bảng khác ta dùng thêm lệnh:
22


Constraint

ten_thuoc_tinh

foreign

key

(ten_thuoc_tinh)

references

ten_bang_lien_ket (ten_thuoc_tinh).

 Lệnh truy vấn: trong hệ thống thì lệnh truy vấn này được sử dụng để truy
xuất thông tin từ cơ sở dữ liệu như là đưa ra danh mục khách hàng, danh mục mặt
hàng v.v.v lệnh truy vấn có cấu trúc như sau:
Select <ten_thuoc_tinh> from <ten_bang> where <dieu_kien_loc>
Having /* nếu điều kiện có sử dụng hàm */
Group by <ten_thuoc_tinh> /* nếu có sử dụng các hàm như sum, max v.v.v */
Order by <ten_thuoc_tinh> ASC| DESC /*sắp sếp theo một thuộc tính nào đó */
LIMIT <so_dong_bat_dau>,<so_dong_ket_th uc> /*lay tu dòng .. đến dòng .. */
 Lệnh thêm dữ liệu: Trong hệ thống lệnh thêm dữ liệu này dùng để thêm
các thông tin mới vào hệ thống như thêm mới khách hàng, thêm mới hàng v.v. lệnh
thêm dữ liệu có cấu trúc như sau:
Insert into <ten_bang> value(danh sách thuộc tính).
 Lệnh cập nhật dữ liệu: dùng để cập nhật lại dữ liệu nếu có sai sót. lệnh
cập nhật dữ liệu có cấu trúc như sau:
Update <ten_bang> set ten_thuoc_tinh = ‘du_lieu’ where <dieu_kien>
 Lệnh xóa dữ liệu: dùng để xóa dữ liệu khi cần thiết, lệnh xóa dữ liệu có
cấu trúc như sau:
delete from <ten_bang> where <dieu_kien>

 Giới thiệu về Transact (T-SQL)
Transact-SQL là ngôn ngữ SQL mở rộng dựa trên SQL chuẩn của ISO
(International Organization for Standardization) và ANSI (American National
Standards Institute) được sử dụng trong SQL Server khác với P-SQL (ProceduralSQL) dùng trong Oracle.
SQL chuẩn bao gồm khoảng 40 câu lệnh. Trong các hệ quản trị cơ sở dữ
liệu khác nhau, mặc dù các câu lệnh đều có cùng dạng và cùng mục đích sử dụng
song mỗi một hệ quản trị cơ sở dữ liệu có thể có một số thay đổi nào đó. Điều này
23


đôi khi dẫn đến cú pháp chi tiết của các câu lệnh có thể sẽ khác nhau trong các hệ

quản trị cơ sở dữ liệu khác nhau.
T-SQL được chia làm 3 nhóm:
 Ngôn ngữ định nghĩa dữ liệu (Data Definition Language)
 Ngôn ngữ điều khiển dữ liệu (Data control language)
 Ngôn ngữ thao tác dữ liệu (Data manipulation language)

 PHP
 Khái niệm:
PHP (Hypertext Preprocessor) được giới thiệu năm 1994 bởi R.Lerdoft, như
một bộ sưu tập của ngôn ngữ chưa chặt chẽ dựa vào Perl và các công cụ của trang
chủ. Vì quá trình xử lý dựa trên máy chủ nên các trang web được viết bằng PHP là
một ngôn ngữ lập trình kiểu script, chạy trên server và trả về mã HTML cho trình
duyệt. Xu hướng sử dụng PHP trong việc thiết kế website đang ngày càng phát
triển trong giai đoạn hiện nay và trong tương lai.
PHP là một ngôn ngữ lập trình được kết nối chặt chẽ với máy chủ. Nói một
cách đơn giản không theo thuật ngữ khoa học thì một quá trình xử lý PHP được
thực hiện trên máy chủ (windown hoặc unix). Khi một trang web muốn dùng PHP
thì phải đáp ứng được tất cả các quá trình xử lý này diễn ra trên máy chủ nên trang
web được viết bằng PHP sẽ dễ nhìn hơn bất kì hệ điều hành nào.
Cũng giống như hấu hết các ngôn ngữ lập trình khác, PHP có thể nối trực
tiếp với HTML bằng các thực thể đầu và cuối. Khi một tài liệu được đưa ra để
phân tích, quá trình xử lý PHP chỉ được thực hiện ở những điểm quan trọng, rồi
sau đó đưa ra kết quả.
Mã PHP được đặt trong một kiểu tag đặc biệt cho phép ta có thể vào hoặc ra
khỏi chế độ PHP, cú pháp của PHP cơ bản cũng giống như một số ngôn ngữ lập
trình khác, đặc biệt là C và Perl.
 Lịch sử ra đời và phát triển
PHP ra đời vào khoảng năm 1994 do một người phát minh mang tên
24



Rasmus Lerdoft, dần dần nó được phát triển bởi nhiều người cho đến nay.
Tới năm 1998 việc công bố phiên bản 3 thì PHP mới chính thức phát triển
theo hướng tách riêng của mình. Giống như C và Perl, PHP là một ngôn ngữ lập
trình có cấu trúc và tính năng đa dạng. chính vì những điểm giống nhau này đã
khuyến khích các nhà thiết kế web chuyên nghiệp chuyển qua sử dụng PHP. Với
phiên bản 3 này PHP cũng cung cấp một số lượng cơ sở dữ liệu khá đồ sộ gồm cả
Mysql, msql, OPBC và Oracle. Nó cũng có thể làm việc với các hình ảnh dữ liệu
các file dữ liệu, FTP, XML và host của các ký thuật ứng dụng khác.
Cho đến nay thì PHP đã được công bố tới phiên bản 5 và càng ngày càng
hoàn hảo và dễ sử dụng, và là một dịch vụ hang đầu miễn phí.
Một số nhà phát triển ứng dụng web, thường sử dụng PHP để xây dựng các
ứng dụng thương mại điện tử cho đến thời điểm tháng 1 năm 2001 có 5 triệu tên
miền trên thế giới sử dụNg PHP.
PHP là một mã nguồn mở, bởi vì mã nguồn của PHP 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 chương trình này. PHP rất ổn định trên các hệ điều hành gồm cả Unix,
Window… đồng thời nó cũng nối với một số máy chủ như IIS hay Apache.
 Các thành phần cơ bản
 Biến: biến trong php là một ô nhớ tạm thời dùng để chứa dữ liệu tạm thời.
trong php biến không cần khai báo kiểu dữ liệu. khi khai báo biến ta dùng kí hiệu $
trước tên biến Ví dụ: $ma_hang; trong php biến phân biệt chữ hoa và chữ thường.
 Session: là phương thức truyền dữ liệu từ trang này sang trang khác,
session tồn tại trong suốt quá trình hoạt động của hệ thống chỉ mất đi khi người
dùng thoát khỏi hệ thống. Trong hệ thống này session được dùng để nhận biết xem
người đang truy cập hệ thống là ai và hệ thống sẽ sẽ cho người đó truy cập vào
những quyền mà họ được phép.
 Những điểm mạnh
PHP thực hiện với tốc độ rất nhanh và hiệu quả. Một server bình thường có
25



×