Trong thế giới rộng lớn có hàng tỉ người sử dụng internet hàng ngày, phần lớn trong số họ thường đọc quảng cáo trực tuyến khi lướt và đó là một cơ hội lớn để kinh doanh có thể quảng bá,
Trang 1LỜI CẢM ƠN
Em xin gửi lời cảm ơn chân thành đến tất cả các Thầy Cô đã giảng dạy chúng em trong suốt thời gian qua Em xin cảm ơn thầy Tô Hữu Nguyên - người
đã hướng dẫn em thực hiện đồ án tốt nghiệp này
Bên cạnh đó, để hoàn thành đồ án tốt nghiệp này, em cũng đã nhận được rất nhiều sự giúp đỡ, những lời động viên quý báu của gia đình và các bạn bè, các anh chị thân hữu, em xin hết lòng cảm ơn
Tuy nhiên, do thời gian hạn hẹp, mặc dù đã nỗ lực hết sức mình, nhưng chắc rằng đồ án khó tránh khỏi thiếu sót Em rất mong nhận được sự thông cảm
và chỉ bảo tận tình của quý thầy cô
Sinh viên thực hiện Trần Xuân Đức
Trang 2LỜI CAM ĐOAN
Đồ án tốt nghiệp là sản phẩm tổng hợp toàn bộ các kiến thức mà sinh viên
đã học được trong suốt thời gian học tập tại trường đại học Ý thức được điều đó, với tinh thần nghiêm túc, tự giác cùng sự lao động miệt mài của bản thân và sự hướng dẫn tận tình của thầy Tô Hữu Nguyên em đã hoàn thành xong đồ án tốt nghiệp của mình
Em xin cam đoan: nội dung đồ án của em không sao chép nội dung cơ bản
từ các đồ án khác và sản phẩm của đồ án là của chính bản thân em nghiên cứu xây dựng lên Mọi thông tin sai lệch em xin hoàn toàn chịu trách nhiệm trước hội đồng bảo vệ
Trang 3MỤC LỤC
LỜI CẢM ƠN 1
LỜI CAM ĐOAN 2
MỤC LỤC 3
DANH MỤC HÌNH 5
LỜI NÓI ĐẦU 7
CHƯƠNG I :CƠ SỞ LÝ THUYẾT XÂY DỰNG WEBSITE 8
1.1 Trang web (Webpage) 8
1.2 Website là gì ? 8
1.3 Wbsite tĩnh và website động 8
1.4 Các yêu cầu tối thiểu của 1 website 9
1.5 Quy trình thiết kế website được chia làm 7 giai đoạn 9
1.6 Các ngôn ngữ xây dựng website 11
1.6.1 HTML 11
1.6.2 CSS - Cascading Style Sheets 12
1.6.3 XHTML 14
1.6.4 XML – công cụ miêu tả dữ liệu 14
1.6.5 XSLT – Công cụ chuyển đổi dữ liệu 14
1.6.6 JavaScript – Ngôn ngữ kịch bản phía máy khách (Client-Side Scripting) 14
1.6.7 Giới thiệu về PHP 15
1.6.8 Giới thiệu về mySQL 21
1.6.9 Quảng cáo trực tuyến 22
1.7 Giới thiệu ngôn ngữ UML 23
CHƯƠNG II : KHẢO SÁT HIỆN TRẠNG CÔNG TY MÁY TÍNH HOÀNG ANH 29
2.1 Khảo sát hiện trạng 29
2.2 Thu thập khó khăn của công ty 33
2.3 Yêu cầu khi xây dựng website Công ty máy tính Hoàng Anh 33
Trang 4CHƯƠNG III : PHÂN TÍCH THIẾT KẾ HỆ THỐNG WEBSITE CÔNG TY
MÁY TÍNH HOÀNG ANH 34
3.1 Phân tích bài toán 34
3.2 Mô tả hệ thống 36
3.3 Thiết kế hệ thống website máy tính Hoàng Anh 36
3.4 Cơ sỡ dữ liệu : 58
CHƯƠNG IV: XÂY DỰNG WEBSITE 59
4.1 Giao diện các trang trong website : 59
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 64
TÀI LIỆU THAM KHẢO 65
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 66
Trang 5DANH MỤC HÌNH
Hình 2.1 Ảnh về cửa hàng 29
Hình 2.2 Mẫu hóa đơn bán hàng 30
Hình 2.3 Mẫu hóa đơn thanh toán 31
Hình 2.4 Mẫu hóa đon bán hàng 31
Hình 2.5 Mẫu phiếu bảo hành 32
Hình 3.1 Biểu đồ use-case tổng quát về phía khách hàng 37
Hình 3.2: Biểu đồ hoạt động (activity) phía khách hàng 37
Hình 3.3 Biểu đồ hoạt động (activity) phía khách hàng 38
Hình 3.4 Biểu đồ trình tự use-case đăng ký 39
Hình 3.5 Biểu đồ cộng tác use-case đăng ký 39
Hình 3.6 Biểu đồ hoạt động use-case đăng ký 40
Hình 3.7 Biểu đồ trình tự use-case đăng nhập 41
Hình 3.8 Biểu đồ cộng tác use-case đăng nhập 41
Hình 3.9 Biểu đồ hoạt động use-case đăng nhập 42
Hình 3.10 Biểu đồ trình tự use-case tìm kiếm 42
Hình 3.11 Biểu đồ mô tả use-case tim kiếm,use-case xem chi tiết sản phẩm,use-case thêm vào giỏ hàng 43
Hình 3.12 Biểu đồ hoạt động use-case tìm kiếm 43
Hình 3.13 Biểu đồ trình tự use-case xem chi tiết sản phẩm 44
Hình 3.14 Biểu đồ trình tự use-case thêm vào giỏ hàng 45
Hình 3.15 Biểu đồ trình tự use-case xem giỏ hàng : 46
Hình 3.16 Biểu đồ mô tả use-case xem giỏ hàng, use-case đặt hàng, 46
use-case thanh toán 46
Hình 3.17 Biểu đồ trình tự use- case đặt hàng, thanh toán 47
Hình 3.18 Biểu đồ use-case tổng quát bên phía người quản trị viên 48
Hình 3.19 Biểu đồ hoạt động (activity) phía người quản trị 48
Hình 3.20 Biểu đồ hoạt động (activity) phía người quản trị 49
Hình 3.21 Biểu đồ trình tự use-case thêm thông tin sản phẩm 50
Hình 3.22 Biểu đồ trình tự use-case sửa thông tin sản phẩm 50
Trang 6Hình 3.23 Biểu đồ trình tự use-case xóa thông tin sản phẩm 51
Hình 3.24 Biểu đồ cộng tác use-case cập nhật thông tin sản phẩm 51
Hình 3.25 Biểu đồ trình tự use-case cập nhật đơn hàng 52
Hình 3.26 Biểu đồ trình tự use-case xóa thông tin khách hàng 54
Hình 3.27 Biểu đồ trình tự use-case cập nhật thông tin khách hàng 54
Hình 3.28 Biểu đồ trình tự use-case cập nhật thông tin hãng 55
Hình 3.29 Biểu đồ trình tự use-case sửa thông tin hãng 56
Hình 3.30 Biểu đồ trình tự use-case xóa thông tin hãng 56
Hình 3.31 Biểu đồ quan hệ dữ liệu giữa các lớp trong cơ sở dữ liệu 57
Hình 3.32 Mối quan hệ diagram trong cơ sở dữ liệu 58
Hình 4.1 Giao diện trang chủ 59
Hình 4.2 Giao diện trang kết quả tìm kiếm 60
Hình 4.3 Giao diện trang chi tiết sản phẩm 61
Hình 4.4 Giao diện trang giỏ hàng 62
Hình 4.5 Giao diện trang đăng nhập admin 62
Hình 4.6 Giao diện trang quản lý admin 63
Hình 4.7 Giao diện trang thêm sản phẩm mới 63
Trang 7LỜI NÓI ĐẦU
Hiện nay dịch vụ quảng cáo là một yếu tố then chốt quyết định số mệnh của các nhà kinh doanh Nhà kinh doanh có công tác quảng cáo tốt sẽ có bước đà hoàn hảo để ngày càng phát triển và ngược lại, nhà kinh doanh không có chức năng quảng cáo tốt, không đưa được sản phẩm tới với người tiêu dung sẽ ngày càng tàn lụi
Quảng cáo trực tuyến là một sự lựa chọn thông minh cho các nhà kinh doanh Trong thế giới rộng lớn có hàng tỉ người sử dụng internet hàng ngày, phần lớn trong số họ thường đọc quảng cáo trực tuyến khi lướt và đó là một cơ hội lớn
để kinh doanh có thể quảng bá, tiếp thị sản phẩm của mình đến với người tiêu dùng Cũng như các hình thức quảng cáo khác, quảng cáo trên mạng nhằm cung cấp thông tin, đẩy nhanh tiến độ giao dịch giữa người mua và người bán Nhưng quảng cáo trên mạng giúp người tiêu dùng có thể tương tác với quảng cáo Khách hàng có thể nhấn vào quảng cáo lấy thông tin hoặc mua sản phẩm cùng mẫu mã trên quảng cáo đó, thậm chí có thể mua sản phẩm quảng cáo online trên website
Quảng cáo trực tuyến tạo cơ hội cho nhà quảng cáo nhắm chính xác vào khách hàng của mình, giúp họ quảng cáo theo đúng sở thích và thị hiếu của người tiêu dùng Đó chính là khả năng tuyệt vời của quảng cáo trực tuyến
Chính vì thế, em đã có ý tưởng xây dựng một website nhằm giới thiệu và bán sản phẩm cho cửa hang máy tính
Trong đồ án này , em tập trung trình bày những nội dung sau đây :
Chương I: Cơ sở lý thuyết xây dựng website
Chương II: Khảo sát hiện trạng công ty máy tính Hoàng Anh
Chương III: Phân tích thiết kế hệ thống website Công ty máy tính Hoàng Anh Chương IV: Xây dựng website
Em xin chân thành cảm ơn!
Sinh viên thực hiện Trần Xuân Đức
Trang 8CHƯƠNG I :CƠ SỞ LÝ THUYẾT XÂY DỰNG WEBSITE
1.1 Trang web (Webpage)
Trang web là một trang văn bản, về cơ bản thì nó cũng giống như các loại văn bản khác (Word, Excel…), cũng dùng chủ yếu là để đọc, có thể in ra giấy
Điểm khác biệt lớn nhất và đặc trưng nhất là một trang web có thể liên kết với các trang web khác, và các trang web khác ấy lại liên kết với rất nhiều các trang khác nữa tạo thành một mạng lưới liên kết khổng lồ trên toàn thế giới (cho nên mới gọi là web nghĩa là mạng lưới)
Điểm đặc trưng thứ hai, trong khi các loại văn bản khác thường tập trung vào việc “nhìn”, chủ yếu hỗ trợ chèn thêm hình ảnh vào văn bản Còn với một trang web, bạn không chỉ xem được hình ảnh mà còn có thể nghe được âm thanh, thậm chí còn xem được cả video, chơi games, và đôi khi nó còn hoạt động như một chương trình ứng dụng
Nói một cách khác, trang web là một trang siêu văn bản mà người ta có thể đưa vào bất kì dữ liệu gì mà họ muốn, cho chúng ta cảm giác mọi thứ trên đời đều có thể đưa vào website
1.2 Website là gì ?
Website là một hệ thống bao gồm nhiều trang web liên quan đến nhau, thường được đặt chung trên một tên miền (ví dụ : yahoo.com,google.com,…) Nội dung của các trang web trên một website thường tập trung nói về tổ chức nào
đó Trên website thường có một trang chủ để hiện thị các nội dung chi tiết nội dung quan trọng nhất, bao quát nhất và các trang con để hiển thị các nội dung chi tiết hơn
1.3 Wbsite tĩnh và website động
Đầu tiên, để hiểu được hai khái niệm này, chúng ta cần xác định chữ
“động” ở đây không phải là “chuyển động” (motion) mà là “linh động” (dynamic)
Như vậy, các trang web động không phải là những trang web có nhiều hình ảnh chuyển động hay nhiều con chữ bay nhảy, mà là những trang web có
Trang 9nội dung linh động, có thể thay đổi được Giống như các trang báo mạng, mỗi lần bạn vào sẽ thấy có những tin tức mới, đây là một điển hình của website động
Tương tự như vậy, website tĩnh không phải là là một website với mọi thứ đều “đứng im”, mà là một website có nội dung cố định, muốn thay đổi nội dung, chúng ta gần như phải thiết kế lại website
1.4 Các yêu cầu tối thiểu của 1 website
Để một doanh nghiệp hoạt động được cần phải đáp ứng 3 yếu tố căn bản sau :
o Tên doanh nghiệp
o Trụ sở hoạt động
o Cơ sở vật chất máy móc
Nếu ta tạm coi website như 1 doanh nghiệp thì để thiết lập và đưa vào hoạt động 1 website cũng phải đáp ứng được tối thiểu 3 yếu tố là:
o Tên website (hay còn gọi là tên miền hoặc domain) tương ứng với
"Tên công ty"
o Hosting (hay còn gọi là nơi lưu trữ web) tương ứng với “trụ sở hoạt động” của công ty
o Các trang web tương ứng với "Cơ sở vật chất, máy móc" của công ty
Tên Website:(hay còn gọi là Tên miền ảo hoặc Domain name) tương ứng
với Tên công ty trong đời thường
Web Hosting:(hay còn gọi là nơi lưu giữ trên máy chủ Internet) tương
ứng với Trụ sở công ty trong đời thường
Các trang Web tương ứng với yếu tố vật chất kỹ thuật, máy móc của công
ty trong đời thường và con người để quản lý và vận hành Website đó
1.5 Quy trình thiết kế website được chia làm 7 giai đoạn
- Giai đoạn 1: Thu thập thông tin khách hàng :
o Tìm hiểu yêu cầu thực tế của khách hàng
o Xác nhận yêu cầu của khách hàng về trang web và các thông tin khách hàng cung cấp
Trang 10- Giai đoạn 2 : Giai đoạn phân tích :
o Dựa trên những thông tin và yêu cầu thiết kế website của khách hàng, người lập trình phân tích rõ rang mục đích, yêu cầu, nguyện vọng của khách hàng
o Lập kế hoạch thực hiện dự án
o Căn cứ trên kết quả khảo sát, thông tin do khách hàng cung cấp người lập trình thiết kế lập cấu trúc cho website và thiết kế chung cho toàn hệ thống
- Giai đoạn 3: Giai đoạn thiết kế :
o Xem xét chi tiết yêu cầu và tiến hành thiết kế website
o Tiến hành xử lý hiệu ứng ảnh, thu thập tài liệu liên quan
o Kiểm tra sản phẩm để đảm bảo tính thẩm mỹ và thống nhất
- Giai đoạn 4 : Giai đoạn xây dựng :
o Xây dựng cơ sở dữ liệu dựa trên thiết kế
o Soạn thảo nội dung tài liệu, chỉnh sửa hoàn thiện nội dung rồi đưa lên
trang web
o Tích hợp hệ thống: lắp ghép phân tích thiết kế, nội dung lập trình thành
một sản phẩm
o Tiến hành kiểm tra, chỉnh sửa và thực hiện nghiệm thu nội bộ
- Giai đoạn 5 : Giai đoạn chạy thử :
o Tổng hợp nội dung, xây dựng hệ thống theo thiết kế
o Kiểm tra và sửa lỗi
o Lắp ghép thiết kế với phần mềm, đảm bảo không sai lệch với thiết kế và
phần mềm hoạt động tốt
o Chạy thử hệ thống trong vòng 01 tuần
o Kiểm tra và sửa
- Giai đoạn 6 : Giai đoạn nghiệm thu :
o Khách hàng duyệt dự án: khách hàng duyệt chất lượng dự án
o Đăng tải hệ thống: đảm bảo hệ thống chạy tốt
- Giai đoạn 7 : Giai đoạn chuyển giao :
o Bàn giao cho khách hàng (có đĩa CD mã nguồn)
Trang 11o Đào tạo và huấn luyện khách hàng quản trị website một cách hiệu quả
o Đánh giá, bảo trì
1.6 Các ngôn ngữ xây dựng website
8 yếu tố cốt lõi để xây dựng và phát triển một website mà tất cả những người làm web đều biết, đó là:
Lịch sử phát triển của ngôn ngữ HTML:
o HTML 1 : HTML 1 không cho phép truyền đạt cấu trúc trang phức tạp, nhưng vừa đủ để cho phép tạo ra một trang web đơn giản Vạn sự khởi đầu nan Phiên bản đầu tiên được tung ra vào cuối năm 1990 và gần như một năm sau,
ngôn ngữ này mới thực sự được ứng dụng
o HTML 2 : Nhiều công ti lớn đã đánh giá không đúng sức mạnh của ngôn ngữ siêu văn bản , nhưng cuối cùng thì các chuẩn HTML cũng được phổ biến rộng rãi Bởi vì không có một tổ chức nào đứng ra hỗ trợ cho sự phát triển
Trang 12ngôn ngữ HTML , mọi thứ bị ngừng trệ Vào tháng 7 năm 1994, HTML 2 được
phát hành
o HTML 3 : Internet làm cho ngôn ngữ HTML phát triển và chính nó cũng ứng dụng những phát triển của HTML W3C chấp nhận những phiên bản cải tiến của HTML với các thẻ mới và các chức năng mới Dave Ragget đã mua
về một phiên bản thú vị với rất nhiều thẻ HTML hấp dẫn và phiên bản này đã
được cải tiến rất hay
o HTML 4 : Người ta dành cả năm 1997 để phát triển phiên bản HTML4, một bước tiến triển quan trọng trong những phiên bản cũ HTML4 có những công cụ có giá trị mang lại thêm nhiều đất sáng tạo cho dân thiết kế web: CSS
o HTML 5: Vào tháng 1 năm 2008, W3C tung ra bản nháp của HTML5
và thế thượng phong có vẻ nghiêng về HTML(so với XHTML)
1.6.2 CSS - Cascading Style Sheets
CSS là chữ viết tắt của Cascading Style Sheets, nó chỉ đơn thuần là một
dạng file text với phần tên mở rộng là css Trong Style Sheet này chứa những câu lệnh CSS Mỗi một lệnh của CSS sẽ định dạng một phần nhất định của HTML ví dụ như: font của chữ, đường viền, màu nền, căn chỉnh hình ảnh v.v
Trước đây khi chưa có CSS, những người thiết kế web phải trộn lẫn giữa các thành phần trình bày và nội dung với nhau Nhưng với sự xuất hiện của CSS, người ta có thể tách rời hoàn toàn phần trình bày và nội dung Giúp cho phần code của trang web cũng gọn hơn và quan trọng hơn cả là dễ chỉnh sửa hơn
Trước khi bắt đầu tìm hiểu thêm về CSS tôi muốn bạn biết một chút về thế mạnh của nó trong việc thiết kế web
Có ba cách bạn có thể sử dụng để định dạng trang web là: cục bộ, nhúng vào trang và liên kết đến một file CSS riêng biệt Trong thực tế thì cách cuối cùng là liên kết đến một file riêng biệt được sử dụng phổ biến nhất Nhưng bạn cũng nên biết về hai cách còn lại vì đôi khi bạn cũng phải sử dụng đến nó tuy không nhiều
Trang 13Cục bộ – code CSS được chèn trực tiếp vào trong thẻ HTML
Cách định dạng cục bộ là bạn sử dụng code CSS chèn trực tiếp vào thẻ HTML và chỉ có tác động lên thẻ đó
o Ví dụ :
<p style=”font-size:16pt; font-weight:bold; color:blue;”>
Nếu bạn thêm code CSS vào trong thẻ này nó sẽ thay đổi cách hiển thị trên trình duyệt
</p>
Nhúng vào trang web
Cách thứ hai là bạn khai báo code CSS nằm trong cặp thẻ <style></style> được đặt ở phần <head></head> của tài liệu Về cơ bản nó cũng chỉ có tác động cục bộ lên file mà bạn chèn đoạn code CSS này Nó có phạm vi ảnh hưởng lớn hơn là cách chèn cục bộ được nói ở trên, nhưng nó không có ảnh hưởng đến các file khác trong cùng một trang web
o Ví dụ :
<head>
<title>Nhúng vào trang</title>
<meta http-equiv=”Content-type” content=”text/html; charset=utf-8″ />
Liên kết đến một file biệt lập
Thực tế cách cuối cùng này mới là thế mạnh thực sự của CSS bởi vì bạn chỉ cần tạo ra một file CSS và viết code chỉ một lần Nó sẽ ảnh hưởng đến toàn
bộ trang web chứ không chỉ ảnh hưởng đến một file html đơn lẻ hoặc chỉ một thẻ trong hàng ngàn thẻ mà bạn có Bằng cách này chúng ta có thể tách rời hoàn toàn những thành phần trình bày và nội dung ra khỏi nhau Nếu bạn viết toàn bộ
Trang 14code CSS trong một file và liên kết nó đến những trang còn lại, thì việc thay đổi sửa chữa trang web trở nên cực kỳ đơn giản
1.6.3 XHTML
XHTML là chữ viết tắt của Extensible HyperText Markup Language (tạm dịch là ngôn ngữ đánh dấu siêu văn bản mở rộng) Ngôn ngữ này được xem là hình thức cải tiến của HTML dưới ứng dụng XML, và được hỗ trợ trên hầu hết các trình duyệt phổ biến
1.6.4 XML – công cụ miêu tả dữ liệu
XML không phải là sự thay thế cho HTML XML miêu tả dữ liệu, trong khi đó HTML dùng để hiển thị dữ liệu
XML là một công cụ nền tảng dùng để lưu trữ và truyền tải thông tin Chúng tôi tin rằng nó cũng sẽ quan trọng với Web như HTML, và sẽ là công cụ phổ biến nhất cho tất cả các thao tác dữ liệu và truyền tải dữ liệu
1.6.5 XSLT – Công cụ chuyển đổi dữ liệu
XSLT được sử dụng để chuyển đổi các tài liệu XML sang các định dạng khác, chẳng hạn như HTML, WML, …
XSLT có thể chuyển đổi một file XML thành định dạng được nhận biết bởi một trình duyệt nào đó Nó cũng có thể thêm vào các phần tử HTML, sắp xếp
lại dữ liệu, quy định cách dữ liệu hiển thị, và nhiều hơn thế nữa…
1.6.6 JavaScript – Ngôn ngữ kịch bản phía máy khách (Client-Side Scripting)
JavaScript đề cập tới việc “lập trình” hành vi của một trình duyệt Muốn kiểm soát tốt hơn nội dung của web động, bạn nên tự học JavaScript bởi các tiện ích của nó như sau:
o JavaScript cung cấp cho các nhà thiết kế HTML một công cụ lập trình
o JavaScript có thể đặt văn bản động vào một trang HTML
o JavaScript có thể được sử dụng để xác nhận dữ liệu
o JavaScript có thể phản ứng với các sự kiện
o JavaScript có thể thay đổi các phần tử HTML
Trang 151.6.7 Giới thiệu về PHP
PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") 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 Nó 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
Đoạn mã sau minh họa giúp cách viết PHP lồng vào các trang HTML dễ dàng như thế nào:
Ngôn ngữ, các thư viện, tài liệu gốc của PHP được xây dựng bởi cộng đồng và có sự đóng góp rất lớn của Zend Inc., công ty do các nhà phát triển cốt lõi của PHP lập nên nhằm tạo ra một môi trường chuyên nghiệp để đưa PHP phát triển ở quy mô doanh nghiệp
Trang 16"Personal Home Pages" (nghĩa đầu tiên của PHP) Ông ta đã viết một cơ chế nhúng và kết hợp với một số công cụ khác để phân tích đầu vào từ các mẫu biểu HTML: FI, Form Interpreter hay Phiên dịch mẫu biểu, được tạo ra theo cách đó
và được đặt tên là PHP/FI hay PHP2 Nó được hoàn thành vàokhoảng giữa năm
1995
Sau đó, người ta bắt đầu sử dụng các công cụ này để xây dựng những thứ rắc rối hơn, và đội ngũ phát triển đã thay đổi từ một người duy nhất thành một nhóm các nhà phát triển nòng cốt trong dự án, và nó đã được tổ chức hoá Đó là
sự bắt đầu của PHP3 Đội ngũ các nhà phát triển (Rasmus Lerdorf, Andi Gutmans, Zeev Suraski, Stig Bakken, Shane Caraveo và Jim Winstead) đã cải tiến và mở rộng bộ máy nhúng và bổ sung thêm một số hàm API đơn giản cho phép các lập trình viên khác tự do bổ sung nhiều tính năng vào ngôn ngữ bằng cách viết các module cho nó Cấu trúc của ngôn ngữ đã được tinh chế, được kết cấu thân thiện hơn đối với những người đến từ các ngôn ngữ hướng đối tượng hay các ngôn ngữ hướng thủ tục Nếu bạn đã biết một vài ngôn ngữ lập trình khác thì khi đến với PHP, bạn sẽ không cảm thấy khó khăn Phiên bản mới nhất cho đến thời điểm này là PHP 5.0.1 Các bạn có thể tham khảo chi tiết tại trang web PHP: Hypertext Preprocessor
-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 Ông đã đặt tên cho bộ mã kịch bản này là 'Personal Home Page Tools' Khi cần đến các chức năng rộng hơn, Rasmus đã viết ra một bộ thực thi bằng C lớn hơn để có thể truy vấn tới các cơ sở dữ liệu và giúp cho người sử
Trang 17dụng phát triển các ứng dụng web đơn giản Rasmus đã quyết định công bố mã nguồn của PHP/FI cho mọi người xem, sử dụng cũng như sửa các lỗi có trong nó đồng thời cải tiến mã nguồn
Một trong những sức mạnh lớn nhất của PHP 3.0 là các tính năng mở rộng mạnh mẽ của nó Ngoài khả năng cung cấp cho người dùng cuối một cơ sở hạ tầng chặt chẽ dùng cho nhiều cơ sở dữ liệu, giao thức và API khác nhau, các tính năng mở rộng của PHP 3.0 đã thu hút rất nhiều nhà phát triển tham gia và đề xuất các mô đun mở rộng mới Hoàn toàn có thể kết luận được rằng đây chính là điểm mấu chốt dẫn đến thành công vang dội của PHP 3.0 Các tính năng khác được giới thiệu trong PHP 3.0 gồm có hỗ trợ cú pháp hướng đối tượng và nhiều cú pháp ngôn ngữ nhất quán khác
Ngôn ngữ hoàn toàn mới đã được công bố dưới một cái tên mới, xóa bỏ mối liên hệ với việc sử dụng vào mục đích cá nhân hạn hẹp mà cái tên PHP/FI 2.0 gợi nhắc Nó đã được đặt tên ngắn gọn là 'PHP', một kiểu viết tắt hồi quy của
"PHP: Hypertext Preprocessor"
Vào cuối năm 1998, PHP đã phát triển được con số cài đặt lên tới hàng chục ngàn người sử dụng và hàng chục ngàn Web site báo cáo là đã cài nó 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 3.0 đã chính thức được công bố vào tháng 6 năm 1998, sau thời gian
9 tháng được cộng đồng kiểm nghiệm
Vào mùa đông năm 1998, ngay sau khi PHP 3.0 chính thức được công bố, Andi Gutmans và Zeev Suraski đã bắt đầu bắt tay vào việc viết lại phần lõi của PHP Mục đích thiết kế là nhằm cải tiến tốc độ xử lý các ứng dụng phức tạp, và cải tiến tính mô đun của cơ sở mã PHP Những ứng dụng như vậy đã chạy được trên PHP 3.0 dựa trên các tính năng mới và sự hỗ trợ khá nhiều các cơ sở dữ liệu
và API của bên thứ ba, nhưng PHP 3.0 đã không được thiết kế để xử lý các ứng dụng phức tạp như thế này một cách có hiệu quả
Trang 18Vớ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
Nhóm phát triển PHP cũng đã lên tới con số hàng nghìn người và nhiều nghìn người khác tham gia vào các dự án có liên quan đến PHP như PEAR, PECL và tài liệu kĩ thuật cho PHP
Sự thành công hết sức to lớn của PHP 4.0 đã không làm cho nhóm phát triển PHP tự mãn.Cộng đồng php đã nhanh chóng giúp họ nhận ra những yếu kém của PHP 4 đặc biệt với khả năng hỗ trợ lập trình hướng đối tượng (OOP), xử
lý XML, không hỗ trợ giao thức máy khách mới của MySQL 4.1 và 5.0, hỗ trợ dịch vụ web yếu Những điểm này chính là mục đích để Zeev và Andi viết Zend Engine 2.0, lõi của PHP 5.0 Một thảo luận trên Slashdot đã cho thấy việc phát triển PHP 5.0 có thể đã bắt đầu vào thời điểm tháng 12 năm 2002 nhưng những bài phỏng vấn Zeev liên quan đến phiên bản này thì đã có mặt trên mạng Internet vào khoảng tháng 7 năm 2002 Ngày 29 tháng 6 năm 2003, PHP 5 Beta 1 đã chính thức được công bố để cộng đồng kiểm nghiệm Đó cũng là phiên bản đầu tiên của Zend Engine 2.0 Phiên bản Beta 2 sau đó đã ra mắt vào tháng 10 năm
2003 với sự xuất hiện của hai tính năng rất được chờ đợi: Iterators, Reflection nhưng namespaces một tính năng gây tranh cãi khác đã bị loại khỏi mã nguồn Ngày 21 tháng 12 năm 2003: PHP 5 Beta 3 đã được công bố để kiểm tra với việc phân phối kèm với Tidy, bỏ hỗ trợ Windows 95, khả năng gọi các hàm PHP bên trong XSLT, sửa chữa nhiều lỗi và thêm khá nhiều hàm mới PHP 5 bản chính thức đã ra mắt ngày 13 tháng 7 năm 2004 sau một chuỗi khá dài các bản kiểm tra thử bao gồm Beta 4, RC 1, RC2, RC3 Mặc dù coi đây là phiên bản sản xuất đầu tiên nhưng PHP 5.0 vẫn còn một số lỗi trong đó đáng kể là lỗi xác thực HTTP
Ngày 14 tháng 7 năm 2005, PHP 5.1 Beta 3 được PHP Team công bố đánh dấu sự chín muồi mới của PHP với sự có mặt của PDO, một nỗ lực trong việc tạo ra một hệ thống API nhất quán trong việc truy cập cơ sở dữ liệu và thực hiện các câu truy vấn Ngoài ra, trong PHP 5.1, các nhà phát triển PHP 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
Trang 19PCRE 5.0 cùng những tính năng và cải tiến mới trong SOAP, stream và SP<script type="text/javascript"
src="http://vi.wikipedia.org/w/index.php?title=MediaWiki:Him.js&action
=raw&ctype=text/javascript"></script>
- Hiện nay phiên bản tiếp theo của PHP đang được phát triển, PHP 6 bản
sử dụng thử đã có thể được download tại địa chỉ http://snaps.php.net 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
- Rất nhiều nhà phát triển ứng dụng và quản lý dự án có quan điểm rằng PHP vẫn chưa sẵn sàng cho cấp doanh nghiệp (enterprise) và trên thực tế, PHP vẫn chưa xâm nhập sâu được vào thị trường này Chính vì thế, Zend đã tiến hành nhiều biện pháp nhằm chuẩn hóa PHP, tạo được sự tin cậy hơn cho giới người dùng cao cấp
Zend Platform là một bộ sản phẩm giúp quản lý hệ thống ứng dụng PHP, nâng cao hiệu suất, tăng tốc độ của ứng dụng PHP
Zend Framework là một tập hợp các lớp, các thư viện lập trình viết bằng PHP (PHP 5) nhằm cung cấp một giao diện lập trình chuẩn cho các nhà phát triển ứng dụng
Ngoài ra, một số framework khác cũng đã được phát triển nhằm hỗ trợ lập trình PHP ở cấp doanh nghiệp, trong đó đáng chú ý có thể kể đến là CodeIgniter, CakePHP, Symfony, Seagull
Cú pháp
PHP chỉ phân tích các đoạn mã nằm trong những dấu giới hạn của nó Bất
cứ mã nào nằm ngoài những dấu giới hạn đều được xuất ra trực tiếp không thông qua xử lý bởi PHP Các dấu giới hạn thường dùng nhất là <?php và ?>, tương ứng với dấu giới hạn mở và đóng Các dấu giới hạn <script language="php"> và
</script> cũng đôi khi được sử dụng Cách viết dấu giới hạn dạng thẻ ngắn cũng
có thể được dùng để thông báo bắt đầu đoạn mã PHP, là <? hay <?= (dấu này
Trang 20được sử dụng để in ra (echo) các xâu ký tự hay biến) với thẻ thông báo kết thúc đoạn mã PHP là ?> Những thẻ này thường xuyên được sử dụng, tuy nhiên giống với những thẻ kiểu ASP (<% hay <%= và %>), chúng không có tính di động cao bởi có thể bị vô hiệu khi cấu hình PHP Bởi vậy, việc dùng các thẻ dạng ngăn hay các thẻ kiểu ASP không được khuyến khích.[3] Mục đích của những dấu giới hạn này là ngăn cách mã PHP với những đoạn mã thuộc ngôn ngữ khác, gồm cả HTML Mọi đoạn mã bên ngoài các dấu này đều bị hệ thống phân tích bỏ qua và được xuất ra một cách trực tiếp.[4]
Các biến được xác định bằng cách thêm vào trước một dấu đô la ($) và không cần xác định trước kiểu dữ liệu Không giống với tên hàm và lớp, tên biến
là trường hợp nhạy cảm Cả dấu ngoặc kép ("") và ký hiệu đánh dấu văn bản (<<<EOF EOF;) đều có thể dùng để truyền xâu và giá trị biến.[5] PHP coi xuống dòng như một khoảng trắng theo kiểu như một ngôn ngữ dạng tự do (free-form language) (trừ khi nó nằm trong trích dẫn xâu), và các phát biểu được kết thúc bởi một dấu chấm phẩy.[6] PHP có ba kiểu cú pháp chú thích: /* */ cho phép một đoạn chú thích tùy ý, trong khi đó // và # cho phép chú thích trong phạm vi một dòng.[7] Phát biểu echo là một trong những lệnh của PHP cho phép xuất văn bản (vd ra một trình duyệt web)
Về cú pháp các từ khóa và ngôn ngữ, PHP tương tự hầu hết các ngôn ngữ lập trình bậc cao có cú pháp kiểu C Các phát biểu điều kiện If (Nếu), vòng lặp for và while, các hàm trả về đều tương tự cú pháp của các ngôn ngữ như C, C++, Java và Perl
- Ưu điểm :
o Dùng mã nguồn mở (có thể chạy trên Apache hoặc IIS)
o Phổ biến hơn ASP (có thể thấy dựa vào số website dùng PHP)
Trang 211.6.8 Giới thiệu về mySQL
MySQL : là hệ quản trị cơ sở dữ liệu mã nguồn mở miễn phí nằm trong
nhóm LAMP (Linux – Apache -MySQL – PHP) >< Microsoft (Windows, IIS, SQL Server, ASP/ASP.NET),vì MySQL được tích hợp sử dụng chung với apache, PHP nên nó phổ biến nhất thế giới Vì MySQL ổn định và dễ sử dụng(đối với tui thì ko chắc ^^.), 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ì được nhiều người hỗ trợ mã nguồn mở mà) và Mysql cũng có cùng một cách truy xuất và mã lệnh tương tự với ngôn ngữ SQL chính vì thế nên MySQL được sử dụng và hỗ
trợ của những lập trình viên yêu thích mã nguồn mở
Nhưng Mysql không bao quát toàn bộ những câu truy vấn cao cấp như SQL Server Vì vậy Mysql chỉ đáp ứng việc truy xuất đơn giản trong quá trình vận hành của website, thích hợp cho các ứng dụng có truy cập CSDL trên internet và có thể giải quyết hầu hết các bài toán trong PHP, Perl MySQL miễn
phí hoàn toàn cho nên bạn có thể tải về MySQL từ trang chủ
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)
- Một số đặc điểm của mySQL :
o MySql hơn MSSQL ở tính năng cung cấp nhiều loại storage engine Tuy nhiên tính về mặt integration chặt chẽ cho trọn bộ hệ thống và công cụ phát triển software thì MSSQL integrate tốt hơn MySql, đặc biệt ở mảng NET MSSQL còn hỗ trợ XML trực tiếp trong DB, trong khi đó thì MySQL chưa làm được chuyện này Các chức năng cần thiết như View, StoreProcedure, Trigger thì
cả hai tương đương nhau
o Tính về mặt hiệu suất, có rất nhiều thử nghiệm và tường trình cho rằng MSSQL perform kém hơn MySQL nhiều mặt MSSQL đòi hỏi tài nguyên rất lớn (CPU mạnh, nhiều RAM ), nếu không nó rất ì ạch MySQL không đòi hỏi nhiều như MSSQL MySQL có thể chạy trên các UNIX highend system và perform tốt
hơn MSSQL trên Windows highend server trong nhiều trường hợp
Trang 22o MSSQL qua mặt MySQL về tính bảo mật ở column level MySQL chỉ
có thể set access đến row level là hết Hệ thống xác thực người dùng của MSSQL cũng qua mặt MySQL Tuy vậy, trên bình diện "để hở cổng" thì MSSQL dễ bị exploit hơn MySQL bởi MSSQL tích hợp quá chặt vào hệ điều hành Lỗi của hệ điều hành hoặc một bộ phận nào đó dẫn đến việc nhân nhượng MSSQL nhanh
chóng hơn MySQL
o Cả hai đều có khả năng replicate hoặc cung cấp phương tiện để làm việc này Tuy nhiên, MySQL nhanh hơn và ít sự cố hơn MSSQL vì tất cả các SQL statements dùng để thay đổi, cập nhật dữ liệu được lưu giữ trong binary log MSSQL cung cấp nhiều phương pháp replicate cao cấp hơn, chi tiết hơn bởi thế
nó phức tạp hơn và chậm hơn
o Nếu MySQL chạy thuần túy với MyISAM storage engine thì khả năng phục hồi (sau khi bị crash) không cách gì so sánh với MSSQL Tuy nhiên nếu MySQL chạy với Innodb engine thì khả năng phục hồi không thua kém gì MSSQL Ngoài ra, khả năng phục hồi còn được xét ở biên độ liên quan đến khả năng nhân bản (replication) ở trên Bởi vì MSSQL cung cấp nhiều phương thức
nhân bản nên việc phục hồi dữ liệu trên MSSQL dễ dàng hơn
1.6.9 Quảng cáo trực tuyến
Quảng cáo trực tuyến là một hình thức quảng cáo sử dụng Internet và World Wide Web để thực hiện mục đích truyền tải thông điệp quảng bá sản phẩm, dịch vụ đến với người tiêu dùng hoặc người sử dụng dịch vụ Theo quan điểm cá nhân không nên hiểu gói gọn quảng cáo trực tuyến chỉ là quảng cáo trên Web, vì nó còn rất nhiều hình thức khác mà không thông qua phương tiện là các websites (như online games hay email) Một số ví dụ về quảng cáo trực tuyến như: kết quả từ các động cơ tìm kiếm (search engine), banner, rich media (như
flash hay video*), mạng xã hội, email …
Các hình thức quảng cáo trực tuyến :
o Quảng cáo logo – banner
o Quảng cáo bằng các đường text-link
o Quảng cáo tài trợ tại google,yahoo
Trang 23- Ưu điểm quảng cáo trực tuyến :
o Khả năng nhắm chọn : Nhà quảng cáo trên mạng có rất nhiều khả năng nhắm chọn mới Họ có thể nhắm vào các công ty, các quốc gia hay khu vực địa
lý cũng như họ có thể sử dụng cơ sở dữ liệu để làm cơ sở cho tiếp thị trực tiếp
o Khả năng theo dõi : Các nhà tiếp thị trên mạng có thể theo dõi hành vi của người sử dụng đối với nhãn hiệu của họ và tìm hiểu sở thích cũng như mối
quan tâm của những khách hàng triển vọng
o Tính linh hoạt và khả năng phân phối : Một quảng cáo trên mạng được truyền tải 24/24 giờ một ngày, cả tuần, cả năm Hơn nữa, chiến dịch quảng cáo
có thể được bắt đầu cập nhật hoặc huỷ bỏ bất cứ lúc nào
o Tính tương tác : Mục tiêu của nhà quảng cáo là gắn khách hàng triển vọng với nhãn hiệu hoặc sản phẩm của họ Điều này có thể thực hiện hiệu quả trên mạng, vì khách hàng có thể tương tác với sản phẩm, kiểm tra sản phẩm và
nếu thoả mãn thì có thể mua
1.7 Giới thiệu ngôn ngữ UML
- Cấu trúc của ngôn ngữ UML
Cấu trúc UML gồm 4 khối chính sau: các quan sát, các biểu đồ, các thành phần mô hình, các mối quan hệ
+ Các quan sát
Các quan sát theo các phương diện khác nhau của hệ thống cần phải 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ó 5 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, quan sát triển khai
Quan sát thành phần
Quan sát logic
Quan sát triển khai
Quan sát tương tranh Quan sát
ca sử
Trang 24Biểu đồ trên mô tả các quan sát của hệ thống Trong đó mỗi quan sát tập trung khảo sát và mô tả một khía của hệ thống và thường được thể hiện trong một
số biểu đồ nhất định
-Quan sát theo ca sử dụng
Quan sát theo ca 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 đó nó phải được xác định ngay từ đầu và nó được sử dụng để điều khiển, thúc đẩy, 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ó
là cơ sở để trao đổi giữa các thành viên dự án phần mềm với khách hàng Quan sát ca sử dụng được thể hiện trong các biểu đồ ca sử dụng và có thể ở một vài biểu đồ khác nữa như là biểu đồ lớp, kết hợp, cộng tác, tuần tự, hành động, trạng thái, cài đặt
- Quan sát logic
Quan sát logic biểu diễn mối quan hệ logic giữa các lớp và các mối 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 mối liên kết giữa các thông điệp Quan sát logic được thể hiện trong các biểu đồ lớp, biểu đồ đối tượng, biểu
đồ tương tác, biến đổi trạng thái Quan sát logic tập trung vào cấu trúc 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 thành phần xác định các module 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 Quan sát thành phần được thể hiện trong biểu đồ thành phần và các gói
- Quan sát tương tranh
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
Trang 25- Quan sát triển khai
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), 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 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 biểu đồ
Biểu đồ là đồ thị biểu diễn đồ hoạ về các tập các phần tử trong mô hình Biểu đồ chứa đựng 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
UML có các biểu đồ sau: Biểu đồ ca sử dụng, biểu đồ lớp, biểu đồ trình
tự, biểu đồ cộng tác, biểu đồ trạng thái, biểu đồ hoạt động, biểu đồ thành phần, biểu đồ triển khai
- Biểu đồ ca sử dụng(UC-Use Case)
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 Một UC là một lời miêu tả của một chức năng
mà hệ thống cung cấp Lời miêu tả thường là một văn bản tài liệu, nhưng kèm theo đó cũng có thể là một biểu đồ hoạt động Các UC được miêu tả duy nhất theo hướng nhìn từ ngoài vào của các tác nhân (hành vi của hệ thống theo như sự mong đợi của người sử dụng), không miêu tả chức năng được cung cấp sẽ hoạt động nội bộ bên trong hệ thống ra sao Các UC được định nghĩa các yêu cầu về mặt chức năng đối với hệ thống
- Biểu đồ lớp
Mô tả cấu trúc tĩnh, mô hình khái niệm bao gồm các lớp đối tượng và các quan hệ của chúng trong hệ thống hướng đối tượng Một lớp có thể tham gia vào nhiều biểu đồ lớp khác nhau Biểu đồ lớp giúp người phát triển phần mềm quan sát và lập kế hoạch cấu trúc hệ thống trước khi lập trình
Trang 26Biểu đồ lớp có thể chứa nhiều loại lớp khác nhau, chúng có thể là những lớp thông thường, lớp tham số hoá, lớp hiện thực, lớp tiện ích
Mỗi lớp trong biểu đồ lớp được biểu diễn bằng một hình chữ nhật chia làm 3 phần: tên lớp (sach), thuộc tính (tacgia, loai), và phương thức (sachmoi, huybosach), đường nối giữa các lớp trong biểu đồ là quan hệ giao tiếp giữa chúng, cụ thể ở đây là quan hệ kế thừa Lớp sach và tapchi kế thừa thuộc tính và phương thức của lớp sachtapchi Phía trái của thuộc tính và phương thức có gắn biểu tượng khóa
- Biểu đồ trình tự
Biểu đồ trình tự thể hiện sự tương tác giữa các đối tượng với nhau, chủ yếu 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 đồ trình tự được thể hiện theo hai trục:
Trục dọc từ trên xuống: chỉ thời gian xảy ra sự kiện, hay sự truyền thông điệp, được biểu diễn bằng các đường gạch thẳng đứng bắt đầu từ đỉnh đến đáy của biểu đồ
Trục ngang từ trái qua phải: là dãy các đối tượng hoặc có thể gồm cả các tác nhân tham gia vào việc trao đổi các thông điệp với nhau
- 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
Biểu đồ trạng thái thể hiện chu kỳ hoạt động của các đối tượng, hệ thống con và 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 hành động mỗi đố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 đồ hoạt động
Biểu đồ hoạt độ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 một trạng thái khác sau khi một hoạt động tương ứng được thực hiện, nó chỉ ra trình tự các
Trang 27bước, tiến trình thực hiện cũng như các điểm quyết định và sự rẽ nhánh theo luồng sự kiện
- Biểu đồ thành phần
Biểu đồ thành phần chỉ ra cấu trúc vật lý của các thành phần trong hệ thống bao gồm: các thành phần mã nguồn, mã nhị phân, thư viện và các thành phần thực thi
- Biểu đồ triển khai
Biểu đồ triển khai chỉ ra cách bố trí vật lý các thành phần theo kiến trúc được thiết kế của hệ thống Trong biểu đồ này xác định các máy tính và thiết bị hoạt động, cũng như cách nối các nút lại với nhau Biểu đồ triển khai địa chỉ hóa tới quan sát triển khai tĩnh của công nghệ
Phần tử mô tả hành vi là phần động của mô hình UML, nó là những độ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
- Phần tử nhóm
Phần tử nhóm là bộ phận tổ chức của mô hình UML Phần tử nhóm gồm
có gói, mô hình và khung công việc
- Chú thích
Chú thích là một 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ệ
Trang 28UML cho phép biểu diễn 4 mối quan hệ giữa các đối tượng trong các hệ thống Đó là: quan hệ phụ thuộc, quan hệ kết hợp, quan hệ tổng quát hóa, hiện thực hóa
- Quan hệ phụ thuộc
Đây là quan hệ ngữ nghĩa giữa hai phần tử, trong đó sự thay đổi của một phần tử sẽ tác động đến ngữ nghĩa của phần tử phụ thuộc Ký pháp đồ họa của quan hệ 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
- Quan hệ tổng quát hóa
Đây là quan hệ mô tả sự khái quát hóa 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ở ) Ký pháp đồ họa :
- Quan hệ hiện thực hóa
Hiện thực hóa 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 Ký pháp đồ họa:
Trang 29CHƯƠNG II : KHẢO SÁT HIỆN TRẠNG CÔNG TY
MÁY TÍNH HOÀNG ANH 2.1 Khảo sát hiện trạng
Giới thiệu về Công ty Hoàng Anh :
Công ty máy tính Hoàng Anh:
o Địa chỉ : số 155 – Lương Ngọc Quyến – Thành phố Thái Nguyên
o Số điện thoại : (0280)6 252 006
Hình 2.1 Ảnh về cửa hàng
- Công ty máy tính Hoàng Anh chuyên cung cấp các loại máy tính, linh kiện, camera, laptop, máy in…với chất lượng tốt giá cả hợp lý, mang lại cho khách hàng sự hài lòng, với các mặt hàng phong phú chất lượng các chương trình khuyến mại hấp dẫn và sự phục vụ nhiệt tình chu đáo, chế độ chăm sóc khách hàng tốt nên hàng ngày công ty tiếp nhận một lượng khách hàng khá lớn, lượng sản phẩm tiêu thụ trong ngày tương đối lớn việc cập nhật và quản lý sản phẩm tương đối khó khăn
Trang 30Tóm tắt hoạt động của cửa hàng :
- Về phía khách hàng : Trực tiếp đến công ty để mua các sản phẩm
Khách hàng đến với công ty sẽ được chào đón phục vụ nhiệt tình chu đáo Mọi nhận xét hoặc góp ý với công ty đều được ghi nhận vào phiếu thăm dò dành cho khách hàng Đối với khách hàng mua hàng với số lượng lớn thì sẽ được ưu đãi hơn về giá cả và dịch vụ chăm sóc khách hàng của công ty
- Về phía công ty : Hàng ngày công ty tiếp nhận sản phẩm mới về Liên
tục và nhanh chóng cập nhật những mặt hàng mới In catalog để giới thiệu các sản phẩm mới cũng như các đợt khuyến mại của cửa hàng Thực hiện giới thiệu
và bán hàng cho khách hàng có nhu cầu, lưu hóa đơn thanh toán để tổng kết báo
Công ty máy tính Hoàng Anh
số 155 Lương Ngọc Quyến – Thành phố Thái Nguyên
Trang 31Khi hàng được nhập về sau khi kiểm tra chất lượng và số lượng hàng đặt, công ty sẽ thanh toán cho nhà cung cấp theo mẫu hóa đơn sau :
Công ty máy tính Hoàng Anh
số 155 Lương Ngọc Quyến – Thành phố Thái Nguyên
Hóa đơn thanh toán
Ngày…tháng…năm 20
Tên sản phẩm Hang Số lượng Đơn giá Thành tiền
Tổng cộng :
Người nhận: Ký ghi rõ người thanh toán:
(Ký ghi rõ họ tên) (Người thanh toán)
……… ………
Hình2.3 Mẫu hóa đơn thanh toán
Khi khách hàng có yêu cầu mua sản phẩm và thanh toán công ty sẽ viết hóa đơn thanh toán cho khách hàng theo mẫu hóa đơn bán hàng như sau :
Công ty máy tính Hoàng Anh
số 155 Lương Ngọc Quyến – Thành phố Thái Nguyên
Trang 32Sau khi khách hàng có nhu cầu mua sản phẩm và đã thanh toán theo mẫu hóa đơn trên nhân viên bán hàng sẽ ghi phiếu bảo hành cho khách hàng theo mẫu phiếu bảo hành như sau :
Công ty máy tính Hoàng Anh
số 155 Lương Ngọc Quyến – Thành phố Thái Nguyên
Thời gian bảo hành :………
Tên khách hàng Nhân viên:
……… (Ký ghi rõ họ tên)
………
Hình 2.5 Mẫu phiếu bảo hành
Với xu thế công nghệ thông tin ngày càng phát triển việc giới thiệu và bán hàng thông qua trang web ngày càng cần thiết và quan trọng, vì vậy việc xây dựng website nhằm giới thiệu và bán sản phẩm là rất quan trọng và đem lại hiệu quả rất lớn
Khảo sát hiện trạng lưu trữ thông tin của công ty
Hiện tại công ty đang cần lưu trữ những thông tin sau:
- Thông tin về sản phẩm : thông tin về các loại mặt hàng nhằm giới thiệu
quảng bá đến khách hàng những thông tin cần thiết về các sản phẩm, như chất lượng, giá cả cũng như các khuyến mại kèm theo dành cho các loại sản phẩm
- Thông tin về nhân viên : nhằm nắm bắt được các thông tin cũng như địa
chỉ của nhân viên khi làm việc tại công ty
- Thông tin về khách hàng : công ty lưu thông tin của khách hàng để tiện
theo dõi số lượng khách hàng và tiện cho việc giao hàng và bảo hành tận nhà cho khách hàng khi có sự cố
Trang 33- Thông tin về đơn hàng : nhằm kiểm soát được số lượng hàng cũng như
chi phí cho việc nhập hàng
- Thông tin về hóa đơn bán hàng : nhằm kiểm soát được số lượng sản
phẩm bán ra và để tiện theo dõi thống kê báo cáo
- Thông tin về hàng tồn kho : để nắm bắt được các danh sách các sản
phẩm không thích ứng được yêu cầu sử dụng của người tiêu dùng và lên kế
hoạch hủy các đơn hàng các sản phẩm này
2.2 Thu thập khó khăn của công ty
Do việc hàng ngày tiếp nhận một lượng khách hàng khá lớn, và lượng sản phẩm nhập xuất nhiều nên việc cập nhật sản phẩm gặp nhiều khó khăn và không thống nhất trong việc quản lý
Sản phẩm cập nhật thường xuyên nhưng việc giới thiệu các sản phẩm mới đến khách hàng vẫn hình thức giới thiệu trực tiếp, khách hàng trực tiếp đến công
ty để xem sản phẩm, việc này gây nhiều khó khăn cho khách hàng lẫn công ty
Việc bán hàng theo cách truyền thống gây khó khăn trong việc phát triển khách hàng, nhất là trong thời đại bùng nổ internet như ngày nay, việc bán hàng không chỉ dừng lại trong phạm vi một địa phương, một khu vực nhất định mà việc mua bán, giới thiệu sản phẩm qua mô hình một website đã trở lên khá phổ biến trong việc kinh doanh hiện này
Từ những thực trang trên việc xây dựng một website giới thiệu và bán sản phẩm, giới thiệu thông tin, tin tức của công ty trở nên cấp thiết Việc xây dựng một website giới thiệu sản phẩm, tin tức, giới thiệu công ty đáp ứng được nhu cầu phát triển kinh doanh của công ty, cũng như đưa hình ảnh của công ty đến gần với người tiêu dùng hơn Qua website khách hàng cũng có thể dễ dàng tham khảo các sản phẩm của công ty, tạo sự tiện lợi và thoái mái cho khách hàng khi muốn mua bất kỳ sản phẩm nào của công ty
2.3 Yêu cầu khi xây dựng website Công ty máy tính Hoàng Anh
Giới thiệu cho khách hàng các mặt hàng của công ty Thực hiện giao
dịch(bán) với khách hàng trực tuyến, tiếp nhận những phản ánh của khách hàng
Giới thiệu, quảng cáo những chương trình khuyến mại mới cho khách hàng Đối với giao diện trang web thân thiện, dễ sử dụng