Tải bản đầy đủ (.doc) (75 trang)

Đồ án tốt nghiệp XÂY DỰNG WEBSITE BÁN HÀNG CHO CÔNG TY MÁY TÍNH VẠN TÍ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 (3.52 MB, 75 trang )

LỜI CẢM ƠN
Trong thời gian làm đề tài vừa qua, dưới sự tận tình giúp đỡ của thầy giáo
Quách Xuân Trưởng cùng với sự giúp đỡ của các thầy giáo, cô giáo trong khoa
Công nghệ thông tin em đã hoàn thành công việc được giao. Mong rằng những kinh
nghiệm này sẽ giúp ích cho em rất nhiều trên chặng đường dài sắp tới. Đề tài này là
một sự cố gắng rất nhiều, em đã cố gắng vận dụng các kiến thức đã học được trong
những năm học vừa qua để hoàn thành đề tài.
Tuy nhiên, vì còn nhiều hạn chế cả về mặt kiến thức cũng như kinh nghiệm.
Mặc dù đã có sự hướng dẫn và giúp đỡ nhiệt tình của thầy, cô giáo nhưng chương
trình của em vẫn chưa bao quát hết được những vấn đề nảy sinh, không tránh khỏi
những sai sót. Vì vậy, em cần có được sự bảo ban, đóng góp, giúp đỡ của giáo viên
Quách Xuân Trưởng cũng như các thầy thầy giáo trong khoa và các bạn sinh viên để
báo cáo này của em được hoàn thiện và có cơ hội phát triển.
Em xin chân thành cảm ơn!
Thái Nguyên, tháng 2 năm 2014
Sinh viên thực hiện
Đinh Công Hải
2
MỤC LỤC
LỜI CẢM ƠN 2
MỤC LỤC 3
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 6
1.1.Tổng quan về thiết kế Website 6
1.1.1 Giới thiệu thương mại điện tử 6
Khái niệm thương mại điện tử 6
Những đặc trưng của thương mại điện tử 7
Lợi ích của Thương mại điện tử 8
Các doanh nghiệp Việt Nam và TMĐT 9
Vấn đề thanh toán trong thương mại điện tử 10
1.1.2. Giới thiệu lập trình PHP 12
1.1.3. Giới thiệu về Joomla 15


1.2. Tổng quan về hệ quản trị cơ sở dữ liệu MySQL 17
1.2.1. Khái niệm về MySQL 17
1.2.2. Các kiểu dữ liệu trong MySQL 18
1.2.3. Các phát biểu và các hàm thông dụng trong MySQL 20
1.2.4. Các hàm xử lý chuỗi 20
1.2.5. Các hàm về xử lý thời gian 20
1.2.6. Các hàm về toán học 21
1.3 Giới thiệu UML 21
1.3.1.Sự phát triển của UML 22
1.3.2. Các phần tử của UML 22
CHƯƠNG 2 KHẢO SÁT VÀ PHÂN TÍCH 28
THIẾT KẾ HỆ THỐNG 28
2.1. Giới thiệu về Trung Tâm Máy tính Hà Anh 28
2.1.1. Cơ cấu tổ chức 28
2.1.2. Khảo sát hiện trạng 29
- Thông tin sản phẩm: Bao gồm thông tin tóm tắt và thông tin chi tiết.
Thông tin tóm tắt hiển thị ở trang liệt kê sản phẩm, còn thông tin chi tiết thể
hiện ở trang chi tiết sản phẩm. Trang tóm tắt thường có các thông số: + Tên
sản phẩm, mã sản phẩm + Giá + Ảnh sản phẩm. Trang chi tiết thường có: +
Tên sản phẩm, mã + Giá + Thông số sản phầm + Hình ảnh + Miêu tả +
Đánh giá về sản phẩm (nếu có) + Các sản phẩm liên quan (nếu có) Và có
các nút mua hàng, Quay lại, 31
- Trang tin tức: Tùy vào yêu cầu mà có thể làm tin tức 1 cấp hay nhiều cấp.
Tin nhiều cấp là tin mà ở đó có sự phân loại tin (category) như: Tin thị
trường, Tin Trung tâm , Tin khuyến mại, Sổ tay mua sắm, 31
2.1.3. Khảo sát quy trình nghiệp vụ 31
Quy trình thực hiện quản trị hệ thống của nhân viên quản trị 33
2.2. Các thông tin vào, ra của hệ thống 33
2.2.1. Các thông tin đầu vào 33
2.2.2. Các thông tin đầu ra 34

2.3. Phân tích hệ thống 34
2.3.1.Biểu đồ USE CASE 34
2.3.2. Đặc tả chi tiết từng ca sử dụng 37
- Ca sử dụng đăng ký thành viên 37
3
- Ca sử dụng xem chi tiết sản phẩm 40
- Ca sử dụng thêm sản phẩm vào giỏ 41
- Ca sử dụng xóa sản phẩm khỏi giỏ 43
- Ca sử dụng xem giỏ hàng 44
- Ca sử dụng đăng nhập hệ thống 45
- Ca sử dụng quản lý người dùng 47
- Ca sử dụng quản lý thành viên 50
- Ca sử dụng quản lý nhà cung cấp 52
- Ca sử dụng quản lý sản phẩm 56
2.3.3. Biểu đồ lớp 59
2.3.4. Biểu đồ hoạt động 63
2.4.Thiết kế hệ thống 64
2.4.1.Danh sách các bảng dữ liệu 64
CHƯƠNG 3 XÂY DỰNG WEBSITE 69
3.1. Cấu hình hệ thống 69
3.1.1. Yêu cầu hệ thống 69
3.1.2. Các chương trình phần mềm cần thiết cho thiết kế 69
3.2. Xây dựng Website 69
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 73
TÀI LIỆU THAM KHẢO 75
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 76
4
LỜI NÓI ĐẦU
Ngày nay, khi mà đời sống của con người ngày càng được cải thiện, thì những
yêu cầu mà họ đặt ra đối với ngành Công Nghệ Thông Tin nói chung và ngành phần

mềm nói riêng ngày càng khắt khe hơn trước. Trước đây, ý tưởng việc ngồi ở nhà
lựa chọn những sản phẩm mình ưa thích và sẽ có người đến tận nhà gửi cho họ
những thứ mà họ đã chọn lựa thì gần như là chỉ chuyện hoang tưởng. Ngày nay,
cùng với sự phát triển của công nghệ, mà đặc biệt là Internet, đã giải quyết cho
những yêu cầu trên.
Ở Việt Nam, cụm từ thương mại điện tử (TMĐT) chỉ mới xuất hiện trong
những năm gần đây và cũng có những đóng góp đáng kể cho nền kinh tế. Các
doanh nghiệp cũng bắt đầu tiến hành thương mại điện tử trên Internet, nhưng do còn
nhiều khó khăn về cơ sở hạ tầng, các dịch vụ thanh toán qua ngân hàng chưa phổ
biến, thiếu hành lang pháp lý…nên thương mại điện tử vẫn còn rất mới mẻ.
Từ thực tế công việc và học tập, Em xây dựng một đề tài: Xây dựng Website
bán hàng cho công ty Máy tính Hà Anh với hy vọng trong tương lai sản phẩm của
em sẽ được ứng dụng thực tế. Nó giúp con người mua sắm một cách nhanh chóng,
tiện lợi, tiết kiệm thời gian, đáp ứng được nhu cầu thực tế. Chỉ cần vài cú click
chuột và điền đầy đủ thông tin liên quan do hệ thống yêu cầu là khách hàng đã có
thể đặt mua sản phẩm mình cần một cách nhanh chóng, tiết kiệm thời gian và chi
phí.
Với sự cố gắng của bản thân cùng với sự hướng dẫn tận tình của thầy giáo
Quách Xuân Trưởng em đã hoàn thành đề tài này. Do thời gian ngắn và kiến thức
lập trình còn có hạn, chương trình của em không tránh khỏi những thiếu sót. Em rất
mong nhận được đóng góp ý kiến của thầy cô và các bạn.
Em xin chân thành cảm ơn!
Sinh viên thực hiện
Đinh Công Hải
5
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT
1.1.Tổng quan về thiết kế Website
Website là một tập hợp một hay nhiều web page. Yêu cầu để một website
hoạt động được cần phải có tên miền (domain), lưu trữ (hosting) và nội dung (các
trang web hoặc cơ sở dữ liệu thông tin).

Thông tin dễ dàng cập nhật, thay đổi, khách hàng có thể xem thông tin ngay
tức khắc, ở bất kỳ nơi nào, tiết kiệm chi phí in ấn, gửi bưu điện, fax, thông tin
không giới hạn (đăng tải thông tin không hạn chế, không giới hạn số trang, diện tích
bảng in ) và không giới hạn phạm vi địa lý
Những phần nội dung thiết yếu của một website: Website thường có các
phần nội dung sau: Trang chủ: trang đầu tiên hiện lên khi người ta truy cập website
đó. Trang chủ là nơi liệt kê các liên kết
Trang chủ thường dùng để trưng bày những thông tin mới nhất mà DN muốn
giới thiệu đầu tiên đến người xem.
Trang liên hệ: trưng bày thông tin liên hệ với doanh nghiệp và thường có một
form liên hệ để người xem gõ câu hỏi ngay trên trang web này.
Trang thông tin giới thiệu về doanh nghiệp (About us): người xem khi đã
xem website và muốn tìm hiểu về nhà cung cấp, do đó DN cần có một trang giới
thiệu về mình, nêu ra những thế mạnh của mình so với các nhà cung cấp khác.
Trang giới thiệu về sản phẩm hay dịch vụ: giới thiệu sản phẩm, dịch vụ với
các thông tin và hình ảnh minh hoạTrang hướng dẫn hoặc chính sách: dùng để cung
cấp thông tin cho người xem trong trường hợp họ muốn mua hay đặt hàng, dịch vụ.
Thông tin trên trang này sẽ hướng dẫn họ phải làm gì, chính sách của doanh nghiệp
như thế nào v.v Trang này sẽ giúp doanh nghiệp tiết kiệm nhiều công sức trả lời
các câu hỏi “làm thế nào” của người xem và tạo cho người xem ấn tượng tốt về tính
chuyên nghiệp của doanh nghiệp.
1.1.1 Giới thiệu thương mại điện tử
 Khái niệm thương mại điện tử
Thương mại điện tử (TMĐT) (e-commerce) chỉ việc thực hiện những giao
dịch thương mại dựa trên các công cụ điện tử (electronic) mà cụ thể là mạng
Internet và www (World Wide Web - tức những trang web hay website). Ví dụ:
việc trưng bày hình ảnh hàng hóa, thông tin về doanh nghiệp trên website cũng là
6
một phần của thương mại điện tử, hay liên lạc với khách hàng qua email, tìm kiếm
khách hàng thông qua việc tìm kiếm thông tin trên mạng Internet, thực hiện một số

giao dịch trên mạng như cho khách hàng đặt hàng thẳng từ trên mạng, quản lý thông
tin khách hàng, đơn hàng bằng cơ sở dữ liệu tự động trên mạng, có thể xử lý thanh
toán qua mạng bằng thẻ tín dụng v.v .
Các loại hình giao dịch TMĐT: Business-To-Business (B2B): Mô hình
TMĐT giữa các doanh nghiệp với doanh nghiệp. Business-To-Consumer (B2C):
Mô hình TMĐT giữa doanh nghiệp và người tiêu dùng. Đây là mô hình bán lẻ trực
tiếp đến người tiêu dùng.
Hai loại giao dịch trên là giao dịch cơ bản của TMĐT. Ngoài ra trong TMĐT
người ta còn sử dụng các loại giao dịch: Govement-to-Business (G2B) là mô hình
TMĐT giữa doanh nghiệp với cơ quan chính phủ, Government-to-citizens (G2C) là
mô hình TMĐT giữa các cơ quan chính phủ và công dân còn goi là chính phủ điện
tử, consumer-to-consumer (C2C) là mô hình TMĐT giữa các người tiêu dùng và
mobile commerce (mcommerce) là TMĐT thực hiện qua điện thoại di động.
 Những đặc trưng của thương mại điện tử
So với các hoạt động thương mại truyền thống, Thương mại điện tử có một
số đặc điểm khác biệt cơ bản sau:
- Các bên tiến hành giao dịch trong thương mại điện tử không tiếp xúc trực
tiếp với nhau và không đòi hỏi biết nhau từ trước.
- Các giao dịch thương mại truyền thống được thực hiện với sự tồn tại của
khái niệm biên giới quốc gia, còn thương mại điện tử được thực hiện trong một thị
trường không có biên gƯiới (thị trường thống nhất toàn cầu). Thương mại điện tử
trực tiếp tác động tới môi trường cạnh tranh toàn cầu.
- Trong hoạt động giao dịch thương mại điện tử đều có sự tham ra của ít nhất
ba chủ thể, trong đó có một bên không thể thiếu được là người cung cấp dịch vụ
mạng, các cơ quan chứng thực.
- Đối với thương mại truyền thống, mạng lưới thông tin chỉ là phương tiện để
trao đổi dữ liệu, còn đối với thương mại điện tử, mạng lưới thông tin chính là thị
trường. Các cơ sở để phát triển TMĐT và các loại giao dịch TMĐT. Để phát triển
TMĐT cần phải có hội đủ một số cơ sở:
+ Hạ tầng kỹ thuật Internet phải đủ nhanh, mạnh đảm bảo truyền tải các nội

dung thông tin bao gồm âm thanh, hình ảnh trung thực và sống động. Một hạ tầng
Internet mạnh cho phép cung cấp các dịch vụ như xem phim, xem TV, nghe nhạc
7
v.v. trực tiếp. Chi phí kết nối Internet phải rẻ để đảm bảo số người dùng internet
phải lớn.
+ Hạ tầng pháp lý: phải có luật về TMĐT công nhận tính pháp lý của các
chứng từ điện tử, các hợp đồng điện tử ký qua mạng; phải có luật bảo vệ quyền sở
hữu trí tuệ, bảo vệ sự riêng tư, bảo vệ người tiêu dùng v.v. để điều chỉnh các giao
dịch qua mạng.
+ Phải có cơ sở thanh toán điện tử an toàn bảo mật. Thanh toán điện tử qua
thẻ, qua tiền điện tử, thanh toán qua EDI. Các ngân hàng phải triển khai hệ thống
thanh toán điện tử rộng khắp.
+ Phải có hệ thống cơ sở chuyển phát hàng nhanh chóng, kịp thời và tin cậy.
+ Phải có hệ thống an toàn bảo mật cho các giao dịch, chống xâm nhập trái
phép, chống virus, chống thoái thác.
+ Phải có nhân lực am hiểu kinh doanh, công nghệ thông tin, thương mại
điện tử để triển khai tiếp thị, quảng cáo, xúc tiến, bán hàng và thanh toán qua mạng.
 Lợi ích của Thương mại điện tử
- Thu thập được nhiều thông tin: TMĐT giúp người tham gia thu được
nhiều thông tin về thị trường, đối tác, giảm chi phí tiếp thị và giao dịch, rút ngắn
thời gian sản xuất, tạo dựng và củng cố quan hệ bạn
hàng. Các doanh nghiệp nắm
được thông tin phong phú về kinh tế thị trường, nhờ đó có
thể xây dựng được
chiến lược sản xuất và kinh doanh thích hợp với xu thế phát triển của thị trường
trong nước, khu vực và quốc tế.
- Giảm chi phí sản xuất: TMĐT giúp giảm chi phí sản xuất, trước hết là chi
phí văn phòng. Các văn phòng không giấy tờ (paperless office) chiếm diện tích
nhỏ hơn rất nhiều, chi phí tìm kiếm chuyển giao tài liệu giảm nhiều lần (trong đó
khâu in ấn hầu như được bỏ hẳn); theo số liệu của hãng General Electricity của

Mỹ, tiết kiệm trên hướng này đạt tới 30%. Điều quan trọng hơn, với góc độ chiến
lược, là các nhân viên có năng lực được giải phóng khỏi nhiều công đoạn sự vụ có
thể tập trung vào nghiên cứu phát triển, sẽ đưa đến những lợi ích to lớn lâu dài.
- Giảm chi phí bán hàng, tiếp thị và giao dịch
TMĐT giúp giảm thấp chi bán hàng và chi phí tiếp thị. Bằng phương tiện
Internet/Web, một nhân viên bán hàng có thể giao dịch được với rất nhiều khách
hàng, catalogue điện tử (electronic catalogue) trên Web phong phú hơn nhiều và
thường xuyên cập nhật so với catalogue in ấn chỉ có khuôn khổ giới hạn và luôn
luôn lỗi thời.
8
Tổng hợp tất cả các lợi ích trên, chu trình sản xuất (cycle time) được rút ngắn,
nhờ đó sản phẩm mới xuất hiện nhanh và hoàn thiện hơn.
- Xây dựng quan hệ với đối tác
TMĐT tạo điều kiện cho việc thiết lập và củng cố mối quan hệ giữa các thành
viên tham gia vào quá trình thương mại: thông qua mạng (Internet/ Web) các thành
viên tham gia (người tiêu thụ, doanh nghiệp, các cơ quan Chính phủ ) có thể giao
tiếp trực tiếp (liên lạc “ trực tuyến”) và liên tục với nhau, có cảm giác như không có
khoảng cách về địa lý và thời gian nữa; nhờ đó sự hợp tác và sự quản lý đều được
tiến hành nhanh chóng một cách liên tục: các bạn hàng mới, các cơ hội kinh doanh
mới được phát hiện nhanh chóng trên phạm vi toàn quốc, toàn khu vực, toàn thế giới,
và có nhiều cơ hội để lựa chọn hơn.
- Tạo điều kiện sớm tiếp cận kinh tế trí thức : Trước hết, TMĐT sẽ kích thích
sự phát triển của ngành công nghệ thông tin tạo cơ sở cho phát triển kinh tế tri thức.
Lợi ích này có một ý nghĩa lớn đối với các nước đang phát triển: nếu không nhanh
chóng tiếp cận nền kinh tế tri thức thì sau khoảng một thập kỷ nữa, nước đang phát
triển có thể bị bỏ rơi hoàn toàn. Khía cạnh lợi ích này mang tính chiến lược công
nghệ và tính chính sách phát triển cần cho các nước công nghiệp hóa.
 Các doanh nghiệp Việt Nam và TMĐT
- Thời cơ và thách thức
Doanh nghiệp Việt Nam đa số là doanh nghiệp vừa và nhỏ nên TMĐT sẽ

là cầu nối giúp mở rộng thị trường, tham gia hội nhập tích cực. Với một chi phí
vừa phải, khả thi, bất cứ một doanh nghiệp Việt Nam nào cũng có thể nhanh
chóng tham gia TMĐT để đem lại cơ hội kinh doanh cho doanh nghiệp.
TMĐT ở Việt Nam đang trong quá trình phát triển. Số người tham gia truy
cập Internet còn thấp nên chưa tạo được một thị trường nội địa. Mặt khác các
cơ sở để phát triển TMĐT ở Việt Nam còn chưa hoàn thiện: hạ tầng viễn thông
chưa đủ mạnh và cước phí còn đắt, hạ tầng pháp lý còn đang xây dựng, hệ thống
thanh toán điện tử chưa phát triển. Tất cả điều là những rào cản cho phát triển
TMĐT. Việt Nam đang trong quá trình tích cực hội nhập vào kinh tế khu vực và thế
giới. Doanh nghiệp Việt Nam ngay từ bây giờ có thể tham gia TMĐT để:
+ Giới thiệu hàng hoá và sản phẩm của mình
+ Tìm hiểu thị trường: nghiên cứu thị trường, mở rộng thị trường
9
+ Xây dựng quan hệ trực tuyến với khách hàng
+ Mở kênh tiếp thị trực tuyến
+ Tìm đối tác cung cấp nguyên vật liệu nhập khẩu
+ Tìm cơ hội xuất khẩu
Quá trình tham gia TMĐT là quá trình doanh nghiệp từng bước chuẩn bị
nguồn lực và kinh nghiệm. Nếu không bắt tay vào tham gia TMĐT thì sẽ bỏ lỡ
một hình thức kinh doanh qua mạng, sẽ là hình thức phổ biến trong thế kỷ này.
Vấn đề khó khăn nhất đối với doanh nghiệp khi triển khai TMĐT là nguồn lực. Đó
là cán bộ am hiểu CNTT, kinh doanh trực tuyến. Tuy nhiên nếu không bắt đầu
tư bây giờ thì cũng sẽ không bao giờ tiếp cận được.
- Nhà nước ta đang hỗ trợ các doanh nghiệp tiếp cận TMĐT : Nhà nước ta rất
quan tâm đến việc phát triển Internet và các ứng dụng nhằm tạo điều kiện cho các
doanh nghiệp chấp nhận và tham gia TMĐT. Một số chính sách của nhà nước tập
trung vào các vấn đề sau:
+ Phát triển cơ sở hạ tầng công nghệ thông tin và viễn thông, đẩy mạnh học
tập và ứng dụng internet trong nhà trường, các vùng nông thôn, trong thanh niên.
+ Phát triển nguồn nhân lực về công nghệ thông tin, ứng dụng công nghệ

thông tin ở các mức độ khác nhau.
+ Xây dựng chính phủ điện tử, cải cách hành chính để từng bước ứng
dụng công nghệ thông tin trong quản lý, điều hành và giao tiếp với người dân.
+ Xây dựng hành lang pháp lý cho các giao dịch TMĐT.
+ Phát triển hệ thống thanh toán dùng thẻ.
+ Xây dựng các dự án điểm, các công thông tin để các doanh nghiệp từng
bước tiếp cận đến TMĐT
+ Tăng cường hợp tác quốc tế và khu vực để tạo sự thông thoáng cho
hàng hoá và dịch vụ.
 Vấn đề thanh toán trong thương mại điện tử
Có nhiều cách để tiếp cận khái niệm thanh toán trực tuyến, một trong những
cách tiếp cận dễ hiểu nhất là: “Thanh toán trực tuyến là quá trình trả tiền thông qua
các loại thẻ thanh toán (Visa Card, Master Card…)” (Theo Website phòng thương
mại và công nghiệp Việt Nam).
10
Vấn đề quan trọng của một hệ thống TMĐT là có một cách nào đó để người
mua kích vào phím mua hàng và chấp nhận thanh toán. Thanh toán là phần cốt lõi
trong TMĐT và cần có cơ chế đảm bảo an toàn cao, làm sao cho bên bán nhận được
số tiền khách hàng phải thanh toán, còn khách hàng thì nhận được hàng và không bị
tiết lộ những thông tin về tài khoản của mình.
Trên thực tế có rất nhiều hình thức thanh toán ứng dụng cho kinh doanh trực
tuyến, đi kèm với nó là các giao thức đảm bảo an toàn, bí mật; trong bài báo cáo này
em xin được tìm hiểu và trình bày về thanh toán thương mại điện tử bằng thẻ tín dụng
quốc tế.
Thanh toán trực tuyến bằng thẻ tín dụng gồm 6 công đoạn sau đây:
- Công đoạn 1: Khách hàng, từ một máy tính tại một nơi nào đó, điền thông
tin thanh toán và địa chỉ liên hệ vào đơn đặt hàng (Order Form) của Website bán
hàng (còn gọi là Website Thương mại điện tử). Doanh nghiệp cần nhận được yêu
cầu mua hàng hóa hay dịch vụ của khách hàng và phản hồi xác nhận tóm tắt lại
những thông tin cần thiết như mặt hàng đã chọn, địa chỉ giao nhận và số phiếu đặt

hàng…
- Công đoạn 2: Khách hàng kiểm tra lại các thông tin và kích vào nút đặt
hàng, từ bàn phím hay chuột của máy tính, để gửi thông tin trả về cho doanh
nghiệp.
- Công đoạn 3: Doanh nghiệp nhận lưu trữ thông tin đặt hàng đồng thời
chuyển tiếp thông tin thanh toán (số thẻ tín dụng, ngày hết hạn, chủ thẻ….) đã được
mã hóa đến máy chủ (Server, thiết bị xử lý dữ liệu) của trung tâm cung cấp dịch vụ
xử lý thẻ trên mạng Internet. Với quá trình mã hóa thông tin thanh toán của khách
hàng được bảo mật an toàn nhằm chống gian lận trong các giao dịch (chẳng hạn
Doanh nghiệp sẽ không biết được thông tin về thẻ tín dụng của khách hàng).
- Công đoạn 4: Khi trung tâm xử lý thẻ tín dụng nhận được thông tin thanh
toán, sẽ giải mã thông tin và xử lý giao dịch đằng sau bức tường lửa (FireWall) và
tách rời mạng Internet ( Off the Internet), nhằm mục đích bảo mật tuyệt đối cho các
giao dịch thương mại, định dạng lại giao dịch và chuyển tiếp thông tin thanh toán
đến ngân hàng của Doanh nghiệp (Acquirer) theo một đường giây thuê bao riêng
(một đường truyền số liệu riêng biệt).
- Công đoạn 5: Ngân hàng của Doanh nghiệp gửi thông điệp điện tử yêu cầu
thanh toán đến ngân hàng hoặc công ty cung cấp thẻ tín dụng của khách hàng. Và tổ
11
chức tài chính này sẽ phản hồi là đồng ý hoặc từ chối thanh toán đến trung tâm xử
lý thẻ tín dụng trên mạng Internet
Toàn bộ thời gian thực hiện một giao dịch qua mạng được xử lý trong
khoảng 15 đến 20 giây.
1.1.2. Giới thiệu lập trình PHP
 Khái niệm PHP (Hypertext Preprocessor)
- PHP là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được
dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục
đích tổng quát.
- PHP rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML. Do
được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và

Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn
ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến
nhất thế giới.
 Lịch sử hình thành
- PHP được phát triển từ một sản phẩm có tên là PHP/FI. PHP/FI do Rasmus
Lerdorf tạo ra năm 1995, ban đầu được xem như là một tập con đơn giản của các
mã kịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ông trên
mạng.
- Vào năm 1997, PHP/FI 2.0, lần viết lại thứ hai của phiên bản C, đã thu hút
được hàng ngàn người sử dụng trên toàn thế giới với xấp xỉ 50.000 tên miền đã
được ghi nhận là có cài đặt nó, chiếm khoảng 1% số tên miền có trên mạng Internet.
- PHP/FI 2.0 được chính thức công bố vào tháng 11 năm 1997, sau một thời
gian khá dài chỉ được công bố dưới dạng các bản beta. Nhưng không lâu sau đó, nó
đã được thay thế bởi các bản alpha đầu tiên của PHP 3.0.
- Các phiên bản PHP đã phát triển:
+ PHP 3.0 là phiên bản tương đối gần gũi so với các phiên bản PHP đang
dung hiện nay. Được chính thức công báo vào tháng 6 năm 1998. Vào thời kì đỉnh
cao, PHP 3.0 đã được cài đặt cho xấp xỉ 10% số máy chủ Web có trên mạng
Internet.
+ PHP 4.0 được chính thức công bố vào tháng 5 năm 2000. Ngoài tốc độ xử
lý được cải thiện rất nhiều, PHP 4.0 đem đến các tính năng chủ yếu khác gồm có sự
12
hỗ trợ nhiều máy chủ Web hơn, hỗ trợ phiên làm việc HTTP, tạo bộ đệm thông tin
đầu ra, nhiều cách xử lý thông tin người sử dụng nhập vào bảo mật hơn và cung cấp
một vài các cấu trúc ngôn ngữ mới. Với PHP 4, số nhà phát triển dùng PHP đã lên
đến hàng trăm nghìn và hàng triệu site đã công bố cài đặt PHP, chiếm khoảng 20%
số tên miền trên mạng Internet.
+ PHP 5.0 bắt đầu được phát triển vào tháng 12 năm 2002. PHP 5 tiếp tục có
những cải tiến trong nhân Zend Engine 2, nâng cấp mô đun PCRE lên bản PCRE
5.0 cùng những tính năng và cải tiến mới trong SOAP, streams và SP.

+ PHP 6 hiện đang được phát triển, bản sử dụng dùng thử. Phiên bản PHP 6
được kỳ vọng sẽ lấp đầy những khiếm khuyết của PHP ở phiên bản hiện tại, ví dụ:
hỗ trợ namespace (hiện tại các nhà phát triển vẫn chưa công bố rõ ràng về vấn đề
này); hỗ trợ Unicode; sử dụng PDO làm API chuẩn cho việc truy cập cơ sở dữ liệu,
các API cũ sẽ bị đưa ra thành thư viện PECL
 Cấu trúc PHP cơ bản
PHP cũng có thẻ bắt đầu và kết thúc giống với ngôn ngữ HTML. Tuy nhiên,
PHP có nhiều cách thể hiện.
- Cách 1 : Cú pháp chính:
<?php Mã lệnh PHP ?>
- Cách 2: Cú pháp ngắn gọn
<? Mã lệnh PHP ?>
- Cách 3: Cú pháp giống với ASP.
<% Mã lệnh PHP %>
- Cách 4: Cú pháp bắt đầu bằng script
<script language=php>

</script>
 Các khái niệm về biến, hằng, chuỗi và các kiểu dữ liệu
- Biến: là giá trị có thể thay đổi được sau khi khai báo.
- Hằng: là giá trị không thay đổi sau khi khai báo. Hằng trong PHP được định
nghĩa bởi hàm define theo cú pháp: define (string tên_hằng, giá_trị_hằng ).
Hằng được xem là hợp lệ thì chúng phải đáp ứng 1 số yếu tố:
+ Hằng không có dấu "$" ở trước tên.
13
+ Hằng có thể truy cập bất cứ vị trí nào trong mã lệnh.
+ Hằng chỉ được phép gán giá trị duy nhất 1 lần.
+ Hằng thường viết bằng chữ in để phân biệt với biến.
- Chuỗi: chuỗi là một nhóm các kỹ tự, số, khoảng trắng, dấu ngắt được đặt
trong các dấu nháy.

- Các kiểu dữ liệu trong PHP
+ Boolean: True hay false
+ Integer: giá trị lớn nhất xấp xỉ 2 tỷ
+ Float: 1.8E308 gồm 14 số lẻ
+ String: lưu chuỗi kí tự chiều dài vô hạn
+ Object: kiểu đối tượng
+ Array: mảng với nhiều kiểu dữ liệu
 Các toán tử và phát biểu có điều kiện trong PHP
- Các toán tử thông thường:
+ AND
+ NOT: ~AND!
+ Toán tử * và /, + và –
+ Toán tử Modulus
+ Toán tử && và ||
- Các phát biểu có điều kiện:
+ If (Điều kiện) {Câu lệnh}
+ If (Điều kiện) {Câu lệnh} Else {Câu lệnh}
+ If (Điều kiện) {Câu lệnh} ElseIf {Câu lệnh}
+ switch (Điều kiện)
{
case Value1
câu lệnh 1;
break;
}
+ While (Điều kiện)
+ Do - While (Điều kiện)
+ Break
14
+ Continue
1.1.3. Giới thiệu về Joomla

 Khái niệm về Joomla
Joomla là một hệ quản trị nội dung mã nguồn mở (Tếng Anh: Open Source
Content Management Systems). Joomla được viết bằng ngôn ngữ PHP và kết nối
tới cơ sở dữ liệu MySQL, cho phép người sử dụng có thể dễ dàng xuất bản các nội
dung của họ lên Internet hoặc Intranet.
Joomla có các đặc tính cơ bản là: bộ đệm trang (page caching) để tăng tốc độ
hiển thị, lập chỉ mục, đọc tin RSS (RSS feeds), trang dùng để in, bản tin nhanh,
blog, diễn đàn, bình chọn, lịch biểu, tìm kiếm trong Site và hỗ trợ đa ngôn ngữ.
Joomla được phát âm theo tiếng Swahili như là 'jumla' nghĩa là "đồng tâm hiệp lực".
Joomla được sử dụng ở khắp mọi nơi trên thế giới, từ những website cá nhân
cho tới những hệ thống website doanh nghiệp có tính phức tạp cao, cung cấp nhiều
dịch vụ và ứng dụng. Các phiên bản của joomla được nâng cấp để hoàn thiện trong
công việc bảo mật và giao diện thân thiện người dùng,
 Lịch sử hình thành
Joomla! là "sản phẩm anh em" với Mambo giữa tập đoàn Miro của Úc (hãng
đang nắm giữ Mambo), với phần đông những người phát triển nòng cốt.
Ban đầu công ty Miro của Úc (tiếng Anh: Miro Software Solutions) đã phát
triển Mambo theo dạng ứng dụng mã nguồn đóng. Đến tháng 4 năm 2001, công ty
đã thông qua một chính sách bản quyền kép, nghĩa là phát hành Mambo theo cả
giấy phép GPL.
Mọi thứ vẫn tiến triển bình thường cho đến trước khi xảy ra tranh chấp về
mặt pháp lý vào năm 2003. Vụ việc dẫn tới ý tưởng Mambo cần phải được bảo vệ
bởi một tổ chức phi lợi nhuận. Nhưng những nhà phát triển không hài lòng về cơ
cấu của Quỹ tài trợ Mambo. Andrew Eddie, người lãnh đạo nhóm phát triển, trong
một lá thư gửi cộng đồng, đã chia sẻ những lo lắng của mình về Quỹ tài trợ Mambo
và mối quan hệ của nó tới cộng đồng.
Bởi vậy vào ngày 17 tháng 8 năm 2005, toàn bộ đội phát triển nòng cốt của
Mambo đã rời khỏi dự án trong khi đang làm việc với phiên bản 4.5.3.
Nhờ sự trợ giúp của Trung tâm Luật Tự do Phần mềm (Software Freedom Law
Center - SFLC), 20 thành viên nòng cốt cũ của Mambo đã thành lập một tổ chức

15
phi lợi nhuận khác lấy tên là Open Source Matters, để hỗ trợ về mặt tổ chức, pháp
lý và kinh phí cho dự án mã nguồn mở còn chưa được đặt tên của họ. Cùng lúc đó,
nhóm phát triển cũng lập một website lấy tên OpenSourceMatters để phân phối
thông tin tới những người sử dụng, những người phát triển, những người thiết kế và
cộng đồng Joomla nói chung. Người đứng đầu dự án chính là Andrew Eddie, còn
được biết đến với tên gọi "Sếp trưởng"
Ngay ngày hôm sau, 1000 người đã gia nhập diễn đàn OpenSourceMatters,
hầu hết các bài viết cho diễn đàn đều khuyến khích và đồng tình với hành động của
Nhóm Phát triển. Tin trên đã nhanh chóng được đăng tải trên các tạp chí
newsforge.com, eweek.com và ZDnet.com.
Trong một thông báo của Eddie 2 tuần sau đó, các nhóm đã được tổ chức lại
và cộng đồng Joomla! tiếp tục tăng trưởng. Tới ngày 1 tháng 9 năm 2005 tên mới
của dự án đã được thông báo cho khoảng 3000 người theo dõi đội phát triển và đến
ngày 16 tháng 9 thì họ cho ra đời Joomla! 1.0.
Hiện nay joomla có các dòng chính:
- Phiên bản joomla 1.0.x phát hành vào ngày 15 tháng 09 năm 2005
- Phiên bản joomla 1.5.x phát hành vào ngày 21 tháng 1 năm 2008
- Phiên bản joomla 2.5.x phát hành vào ngày 24 tháng 01 năm 2012
- Phiên bản joomla 3.0.x phát hành vào ngày 12 tháng 07 năm 2012
 Ưu điểm của Joomla
- Ưu điểm đầu tiên cần nói tới là dễ sử dụng. Quả thực với Joomla bạn chỉ cần
vài chục phút là tạo xong một website hoàn chỉnh với rất nhiều tính năng như
gallery, video, music, shopping cart, forum …Vì dễ sử dụng Joomla được dùng rất
nhiều để xây dựng các website từ nhỏ tới lớn vừa .
- Giao diện Joomla rất đẹp được cung cấp bởi rất nhiều công ty cả miễn phí và
thương mại .
- Joomla có một thư viện các ứng dụng (extensions) khổng lồ được lập trình
bởi các lập trình viên khắp nơi, hầu hết là miễn phí, giúp bạn có rất nhiều lựa chọn
mở rộng tính năng cho website của minh .

- Dễ dàng tìm và sửa các lỗi gặp phải.
 Nhược điểm của Joomla
16
- Mã nguồn của Joomla tương đối lớn dẫn tới tốn nhiều tài nguyên hệ thống
trong quá trình sử dụng .
- Việc có nhiều extensions là một lợi thế đồng thời nó cũng là một bất lợi. Các
extensions được viết bởi rất nhiều lập trình viên khác nhau dẫn tới tiềm ần các lỗi
bảo mật trong các extensions đó (tuy nhiên có các giải pháp firewall khắc phục các
nhược điểm này, (có trả phí)). Nếu là người dùng mới có thể bạn sẽ bối rối trong
việc chọn lựa các extensions cho website của mình.
- Không có khả năng Multiple site như Drupal (cần mua extensions để có
được tính năng này) .
- Khả năng SEO của Joomla kém nhất trong 3 loại CMS (Drupal, WordPress,
Joomla) .
- Không chạy tốt trên máy chủ Windows (IIS) .
1.2. Tổng quan về hệ quản trị cơ sở dữ liệu MySQL
MySQL là một phần mềm quản trị CSDL mã nguồn mở, miễn phí nằm trong
nhóm LAMP (Linux - Apache -MySQL - PHP). MySQL là phần mềm miễn phí
hoàn toàn, ổn định, an toàn. MySQL là một phần mềm quản trị CSDL dạng server-
based (gần tương đương với SQL Server của Microsoft).
1.2.1. Khái niệm về MySQL
MySQL là hệ quản trị cơ sở dữ liệu mã 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 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, SGI Irix, Solaris, SunOS,

MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu
quan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL).
MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác, nó
làm nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl,
17
1.2.2. Các kiểu dữ liệu trong MySQL
- Loại dữ liệu Numeric:
+ Kiểu dữ liệu số nguyên
Loại Range Bytes Diễn giải
tinyint 127  128 1 Số nguyên rất nhỏ
Smallint
- 32768  32767
Hay 0 65535
2 Số nguyên rất nhỏ
Mediumint
-8388608  8388600
Hay 0 16777215
3 Số nguyên vừa
Int
-2
31

 2
31

– 1
Hay 0 2
32
– 1
4 Số nguyên

Bigint
-2
63

 26
3

– 1
Hay 0 2
64
– 1
8 Số nguyên lớn
Bảng 1.1: Bảng các tác nhân và Ca sử dụng
+ Kiểu dữ liệu số chấm động
Loại Range Bytes Diễn giải
Float Phụ thuộc số thập phân
Số thập phân dạng Single hay
Double
Float (M,D)
±1.175494351E-38
±3.40282346638
4 Số thập phân dạng Single
Double (M,D)
±1.7976931348623
±2.2250738585072
8 Số thập phân dạng Double
Float (M [, D])
Số chấm động lưu dưới dạng
Char
Bảng 1.2: Bảng các kiểu dữ liệu số chấm động loại Numeric

18
- Loại dữ liệu Date Time
Loại Range Diễn giải
Date 1000-01-01 Date trình bày dưới dạng yyyy-mm-dd
Time
-838:59:89
838:59:59
Time trình bày dưới dạng hh:mm:ss
DateTime
1000-01-01
00:00:00
9999-12-31
23:59:59
Date và Time trình bày dưới dạng yyyy-
mm-dd hh:mm:ss
TimeStamp
[(M)]
1970-01-01
00:00:00
TimeStamp trình bày dưới dạng yyyy-mm-
dd hh:mm:ss
Year [(2|4)]
1970-2069
1901-2155
Year trình bày dưới dạng 2 số hay 4 số
Bảng 1.3: Bảng kiểu dữ liệu số nguyên loại Date Time
- 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ỗi lớn nhất là 255 ký tự
Varchar 1 – 255 ký tự Chiều dài của chuỗi lớn nhất là 255 ký tự

Tinyblob 2
8
- 1
Khai báo cho Field chứa kiểu đối tượng nhị
phân cỡ 255 ký tự
Tinytext 2
8
- 1
Khai báo cho Field chứa kiểu chuỗi cỡ 255
ký tự
Blob 2
16
- 1
Khai báo cho Field chứa kiểu blob cỡ
65.535 ký tự
Text 2
16
- 1
Khai báo cho Field chứa kiểu chuỗi dạng
văn bản cỡ 65.535 ký tự
Mediumblob 2
24
- 1
Khai báo cho Field chứa kiểu blob vừa
khoảng 16.777.215 ký tự
Mediumtext 2
24
- 1
Khai báo cho Field chứa kiểu chuỗi dạng
văn bản vừa khoảng 16.777.215 ký tự

Longblob 2
32
- 1
Khai báo cho Field chứa kiểu blob dạng
văn bản lớn khoản 4.294.967.295 ký tự
Longtext 2
32
- 1
Khai báo cho Field chứa kiểu chuỗi dạng
văn bản lớn khoảng 4.294.967.295 ký tự
Bảng 1.4: Bảng kiểu dữ liệu String
19
1.2.3. Các phát biểu và các hàm thông dụng trong MySQL
- Nhóm phát biểu Select:
+ Phát biểu Select với mệnh đề From.
+ Phát biểu Select với mệnh đề Where.
+ Phát biểu Select với mệnh đề Order By.
+ Phát biểu Select với mệnh đề Group By.
+ Phát biểu Select với dạng As.
+ Phát biểu Select với dạng Insert.
+ Phát biểu Select với dạng Delete.
+ Phát biểu Select với dạng Update.
+ Phát biểu Select với dạng Distinct.
- Các hàm thông dụng
+ AVG: hàm trả về giá trị bình quân của cột hay trường.
+ MIN: hàm trả về giá trị nhỏ nhất của cột hay trường.
+ MAX: hàm trả về giá trị lớn nhất của cột hay trường
+ COUNT: hàm trả về số lượng mẩu tin trong câu truy vấn
+ SUM: hàm trả về tổng các giá trị của trường, cột
1.2.4. 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 chuyển đổi kiểu mã ASCII từ số nguyên sang dạng chuỗi.
- Hàm Upper: chuyển đổi chuỗi sang kiểu chữ hoa.
- Hàm Lower: chuyển đổi chuỗi sang kiểu chữ thường.
- Hàm Len: 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: trả về chuỗi bên trái tính từ đầu cho đến vị trí thứ n.
- Hàm Right: trả về chuỗi bên phải tính từ đầu cho đến vị trí thứ n.
- Hàm Instr: trả về vị trí chuỗi bắt đầu của chuỗi con trong chuỗi xét.
1.2.5. Các hàm về xử lý thời gian
- Hàm CurTime(): trả về giờ, phút và giây hiện hành của hệ thống.
- Hàm Period_Diff: trả về số ngày trong khoảng thời gian giữa 2 ngày.
- Hàm Dayofmonth: trả về ngày thứ mấy trong tháng.
20
1.2.6. Các hàm về toán học
- Hàm Sqrt: căn bậc hai của một biểu thức.
- Hàm Round: trả về số làm tròn của một biểu thức.
1.3 Giới thiệu UML
Ngôn ngữ mô hình hóa thống nhất UML (Unified Modeling Language) là
một ngôn ngữ trực quan cung cấp cho các nhà phân tích thiết kế các hệ thống hướng
đối tượng một cách hình dung ra các hệ thống phần mềm, mô hình hóa các tổ chức
nghiệp vụ và sử dụng hệ thống phần mềm này, cũng như xây dựng và làm tài liệu
về chúng. UML đang tiến triển như là chuẩn và trở thành một chuẩn quốc tế được tổ
chức tiêu chuẩn ISO (International Standard Organization) chấp nhận.
UML được xây dựng dựa chính vào:
- Cách tiếp cận của Booch (Booch Approach),
- Kỹ thuật mô hình đối tượng (OMT – Object Modeling Technique) của
Rumbaugh,
- Công nghệ phần mềm hướng đối tượng (OOSE – Object-Oriented Software

Engineering) của Jacobson,
- Đồng thời thống nhất được nhiều ký pháp, khái niệm của các phương pháp
khác. Quá trình hình thành UML bắt đầu từ ngôn ngữ Ada (Booch) trước năm 1990
(hình 1).
21
1.3.1.Sự phát triển của UML

Để hiểu và sử dụng tốt UML trong phân tích, thiết kế hệ thống, đòi hỏi phải
nắm bắt được ba vấn đề chính:
- Các phần tử cơ bản của UML,
- Những qui định liên kết giữa các phần tử, các qui tắc cú pháp,
- Những cơ chế chung áp dụng cho ngôn ngữ mô hình hoá hệ thống.
1.3.2. Các phần tử của UML
Các thành phần cơ sở của UML
22
 Các quan sát
Các quan sát (góc nhìn) theo các phương diện khác nhau của hệ thống cần
phân tích, thiết kế. Dựa vào các quan sát để thiết lập kiến trúc cho hệ thống cần phát
triển.Có năm loại quan sát: quan sát theo ca sử dụng, quan sát logic, quan sát thành
phần, quan sát tương tranh và quan sát triển khai. Mỗi quan sát tập trung khảo sát và
mô tảmột khía cạnh của hệ thống (hình 3) và thường được thể hiện trong một số
biểu đồ nhất định.
Các quan sát của hệ thống
- Quan sát các ca sử dụng (hay trường hợp sử dụng): mô tả các chức năng,
nhiệm vụ của hệ thống. Quan sát này thể hiện mọi yêu cầu của hệ thống, do vậy nó
phải được xác định ngay từ đầu và nó được sử dụng để điều khiển, thúc đẩy và thẩm
định hay kiểm tra các công việc của tất cả các giai đoạn của cả quá trình phát triển
phần mềm. Nó cũng là cơ sở để trao đổi giữa các thàn viên của dự án phần mềm và
với khách hàng. Quan sát ca sử dụng được thể hiện trong các biểu đồ ca sử và có thể
ở một vài biểu đồ trình tự, cộng tác, v.v.

- Quan sát logic biểu diễn cách tổ chức logic của các lớp và các quan hệ của
chúng với nhau. Nó mô tả cấu trúc tĩnh của các lớp, đối tượng và sự liên hệ của
chúng thể hiện mối liên kết động thông qua sự trao đổi các thông điệp. Quan sát
được thể hiện trong các biểu đồ lớp, biểu đồ đối tượng, biểu đồ tương tác, biểu đồ
biến đổi trạng thái. Quan sát logic tập trung vào cấu trúc của hệ thống. Trong quan
sát này ta nhận ra các bộ phận cơ bản cấu thành hệ thống thể hiện mọi quá trình trao
đổi, xử lý thông tin cơ bản trong hệ thống.
- Quan sát thành phần (quan sát cài đặt) xác định các mô đun vật lý hay tệp
mã chương trình và sự liên hệ giữa chúng để tổ chức thành hệ thống phần mềm.
Trong quan sát này ta cần bổ sung: chiến lược cấp phát tài nguyên cho từng thành
phần, và thông tin quản lý như báo cáo tiến độ thực hiện công việc, v.v. Quan sát
thành phần được thể hiện trong các biểu đồ thành phần và các gói.
23
- Quan sát tương tranh (quan sát tiến trình) biểu diễn sự phân chia các luồng
thực hiện công việc, các lớp đối tượng cho các tiến trình và sự đồng bộ giữa các
luồng trong hệ thống. Quan sát này tập trung vào các nhiệm vụ tương tranh, tương
tác với nhau trong hệ thống đa nhiệm.
- Quan sát triển khai mô tả sự phân bổ tài nguyên và nhiệm vụ trong hệ
thống. Nó liên quan đến các tầng kiến trúc của phần mềm, thường là kiến trúc ba
tầng: tầng giao diện (tầng trình diễn hay tầng sử dụng), tầng logic tác nghiệp và tầng
lưu trữ CSDL được tổ chức trên một hay nhiều máy tính khác nhau. Quan sát triển
khai bao gồm các luồng công việc, bộ xử lý và các thiết bị. Biểu đồ triển khai mô tả
các tiến trình và chỉ ra những tiến trình nào trên máy nào.
 Các sự vật (các phần tử của mô hình)
UML có bốn phần tử mô hình, đó là cấu trúc, hành vi, nhóm và chú thích.
- Phần tử cấu trúc: là các danh từ trong mô hình UML, biểu diễn cho các
thành phần khái niệm hay vật lý của hệ thống. UML có bảy phần tử cấu trúc được
mô tả như sau:
+ Lớp. Lớp là tập các đối tượng cùng chia sẻ với nhau về các thuộc tính, thao
tác, quan hệ và ngữ nghĩa.

+ Giao diện. Giao diện là tập các thao tác làm dịch vụ cho lớp hay thành
phần. Giao diện mô tả hành vi quan sát được từ bên ngoài thành phần. Giao diện chỉ
khai báo các phương thức xử lý nhưng không định nghĩa nội dung thực hiện. Nó
thường không đứng một mình mà thường được gắn với lớp hay một thành phần.
+ Phần tử cộng tác. Phần tử cộng tác mô tả ngữ cảnh của sự tương tác trong
hệ thống. Nó thể hiện một giải pháp thi hành trong hệ thống, bao gồm các lớp, quan
hệ và sự tương tác giưa chúng để thực hiện một ca sử dụng như mong đợi.
+ Ca sử dụng. Ca sử dụng mô tả một tập các hành động mà hệ thống sẽ thực
hiện để phục vụ cho các tác nhân ngoài. Tác nhân ngoài là những gì bên ngoài có
tương tác, trao đổi với hệ thống.
+ Lớp tích cực. Lớp tích cực được xem như là lớp có đối tượng làm chủ một
hay nhiểu tiến trình, luồng hành động.
+ Thành phần. Thành phần biểu diễn vật lý mã nguồn, các tệp nhị phân trong
quá trình phát triển hệ thống.
24
+ Nút. Nút thể hiện thành phần vật lý tồn tại khi chương trình chạy và biểu
diễn cho các tài nguyên được sử dụng trong hệ thống.
- Phần tử mô tả hành vi: là các động từ của mô hình, biểu diễn hành vi trong
sự tương tác của các thành phần và sự biến đổi trạng thái của hệ thống. Có hai loại
chính là sự tương tác và máy biến đổi trạng thái.
+ Sự tương tác. Sự tương tác là hành vi bao gồm một tập các thông điệp trao
đổi giữa các đối tượng trong một ngữ cảnh cụ thể để thực hiện một ca sử dụng.
+ Máy biến đổi trạng thái.Máy biến đổi trạng thái (ôtômát hữu hạn trạng
thái) chỉ ra trật tự thay đổi trạng trái khi các đối tượng hay sự tương tác sẽ phải đi
qua để đáp ứng các sự kiện xảy ra.
- Phần tử nhóm: là bộ phận tổ chức của mô hình UML. Phần tử nhóm có gói,
mô hình và khung công việc.
+ Gói (package). Gói là phần tử đa năng được sử dụng để tổ chức các lớp,
hay một số nhóm khác vào trong một nhóm. Không giống với thành phần
(component), phần tử gói hoàn toàn là khái niệm, có nghĩa là chúng chỉ tồn tại trong

mô hình vào thời điểm phát triển hệ thống chứ không tồn tại vào thời điểm chạy
chương trình. Gói giúp ta quan sát hệ thống ở mức tổng quát.
+ Mô hình. Mô hình là những mô tả về các đặc tính tĩnh và/hoặc động của
các chủ thể trong hệ thống.
+ Khung công việc. Khung công việc là một tập các lớp trừu tượng hay cụ
thể được sử dụng như là các khuôn mẫu để giải quyết một họ các vấn đề tương tự.
là bộ phận chú giải của mô hình, giải thích về các phần tử, khái niệm và cách
sử dụng chúng trong mô hình.
 Các mối quan hệ
UML cho phép biểu diễn cả bốn mối quan hệ giữa các đối tượng trong các hệ
thống. Đó là các quan hệ: phụ thuộc, kết hợp, tổng quát hoá và hiện thực hoá.
+ Quan hệ phụ thuộc. Đây là quan hệ ngữ nghĩa giữa hai phần tử, trong đó
sựu thay đổi của một tử sẽ tác động đến ngữ nghĩa của phần tử phụ thuộc.
+ Quan hệ kết hợp. Kết hợp là quan hệ cấu trúc xác định mối liên kết giữa
các lớp đối tượng. Khi có một đối tượng của lớp này gửi/nhận thông điệp đến/từ
chỗ đối tượng của lớp kia thì hai lớp đó có quan hệ kết hợp. Một dạng đặc biệt của
25
quan hệ kết hợp là quan hệ kết nhập, biểu diễn mối quan hệ giữa toàn thể và bộ
phận.
+ Quan hệ tổng quát hoá. Đây là quan hệ mô tả sự khái quát hoá mà trong đó
một số đối tượng cụ thể (của lớp con) sẽ được kế thừa các thuộc tính, các phương
thức của các đối tượng tổng quát (lớp cơ sở).
+ Hiện thực hoá. Hiện thực hoá là quan hệ ngữ nghĩa giữa giao diện và lớp
(hay thành phần) để thực hiện cài đặt các dịch vụ đã được khai báo trong các giao
diện.
 Các biểu đồ
Biểu đồ là đồ thị biểu diễn đồ họa về tập các phần tử trong mô hình và mối
quan hệ của chúng. Biểu đồ chứa đựng các nội dung của các quan sát dưới các góc
độ khác nhau, một thành phần của hệ thống có thể xuất hiện trong một hay nhiều
biểu đồ. UML cung cấp những biểu đồ trực quan để biểu diễn các khía cạnh khác

nhau của hệ thống, bao gồm:
- Biểu đồ ca sử dụng mô tả sự tương tác giữa các tác nhân ngoài và hệ thống
thông qua các ca sử dụng. Các ca sử dụng là những nhiệm vụ chính, các dịch vụ,
những trường hợp sử dụng cụ thể mà hệ thống cung cấp cho người sử dụng và
ngược lại.
- Biểu đồ lớp mô tả cấu trúc tĩnh, mô tả mô hình khái niệm bao gồm các lớp
đối tượng và các mối quan hệ của chúng trong hệ thống hướng đối tượng.
- Biểu đồ trình tự thể hiện sự tương tác của các đối tượng với nhau, chủ yếu
là trình tự gửi và nhận thông điệp để thực thi các yêu cầu, các công việc theo thời
gian.
+ Biểu đồ cộng tác tương tự như biểu đồ trình tự nhưng nhấn mạnh vào sự
tương tác của các đối tượng trên cơ sở cộng tác với nhau bằng cách trao đổi các
thông điệp để thực hiện các yêu cầu theo ngữ cảnh công việc.
+ Biểu đồ trạng thái thể hiện chu kỳ hoạt động của các đối tượng, của các hệ
thống con và của cả hệ thống. Nó là một loại ôtômát hữu hạn trạng thái, mô tả các
trạng thái, các hành động mà đối tượng có thể có và các sự kiện gắn với các trạng
thái theo thời gian.
+ Biểu đồ hành động chỉ ra dòng hoạt động của hệ thống, bao gồm các trạng
thái hoạt động, trong đó từ một trạng thái hoạt động sẽ chuyển sang trạng thái khác
26

×