Đề tài Website bán hàng nội thất gia đình

MỤC LỤC

Trang:

MỤC LỤC.

DANH MỤC SƠ ĐỒ, HÌNH VẼ.

LỜI NÓI ĐẦU 1

CHƯƠNG 1: TỔNG QUAN VỀ CÔNG TY TNHH GIẢI PHÁP VÀ TRUYỀN THÔNG W.G. 3

1.1. Giới thiệu về công ty TNHH W.G: 3

1.2. Các chỉ số tài sản chủ yếu: 3

1.3. Dịch vụ chính: 4

1.4. Cơ cấu tổ chức. 5

1.5. Nhân sự. 5

1.6. Các giải pháp tích hợp: 6

1.7. Chiến lược kinh doanh: 6

CHƯƠNG 2: TỔNG QUAN CƠ SỞ LÝ THUYẾT. 8

2.1. Tìm hiểu về PHP. 8

2.1.1. Sơ lược lịch sử phát triển của PHP. 8

2.1.2. Tại sao ta sử dụng ngôn ngữ lập trình PHP (PHP5). 10

2.1.3. Các tuỳ chọn trong PHP. 13

2.2. Tìm hiểu về MySQL. 14

2.3. Tìm hiểu về Apache HTTP Server. 18

2.4 Tìm hiểu về HTML. 19

2.5. Tìm hiểu về Smarty. 20

2.6. Tìm hiểu về CSS. 22

2.7. Tìm hiểu về JavaScript. 23

CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG. 25

3.1. Các mục tiêu cần đạt được của đề tài: 25

3.2. Phân tích thiết kế hệ thống: 26

3.2.1. Mô tả sơ bộ chức năng: 26

3.2.2. Sơ đồ phân cấp chức năng. 27

3.2.3. Biểu đồ luồng dữ liệu. 31

3.2.3.1. Biểu đồ luồng dữ liệu mức đỉnh. 31

3.2.3.2. Biểu đồ luồng dữ liệu mức ngữ cảnh. 32

3.2.3.3. Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng quản lý sản phẩm. 32

3.2.3.4. Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng quản lý thành viên. 33

3.2.3.5. Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng bán hàng. 33

3.2.3.6. Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng mua hàng. 34

3.2.3.7. Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng tìm kiếm sản phẩm. 34

3.3. Phân tích hệ thống về dữ liệu : 35

3.3.1. Các thực thể: 35

3.3.2. Mối quan hệ giữa các thực thể. 35

3.3.3. Mô hình thực thể liên kết ER. 36

3.4. Thiết kế cơ sở dữ liệu: 37

3.4.1. Table at_product : Bảng thông tin về sản phẩm. 37

3.4.2. Table tblcustomers : Bảng thông tin khách hàng. 37

3.4.3. Table at_catagory: Bảng thông tin nhóm sản phẩm. 38

3.4.4. Table cms_account : Bảng thông tin quản trị viên. 38

3.4.5. Table upload : Bảng cập nhật thêm sản phẩm. 39

3.4.6. Table tblorder : Bảng lưu trữ thông tin đơn đặt hàng. 39

3.4.7. Table orderdetail : Bảng lưu trữ thông tin đơn hàng. 39

CHƯƠNG 4: THIẾT KẾ GIAO DIỆN. 40

4.1. Trang thông tin dành cho khách hàng. 40

4.2. Trang dành cho Admin. 54

KẾT LUẬN 65

TÀI LIỆU THAM KHẢO 66

 

 

 

doc70 trang | Chia sẻ: lynhelie | Lượt xem: 2917 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Website bán hàng nội thất gia đình, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
lập trình hướng đối tượng. - Mô hình đối tượng hoàn toàn mới dựa trên nguyên mẫu là mô hình của Java. - Hàm tạo dựng thống nhất _construct(): tạo điều kiện để di chuyển các lớp từ cây phân cấp lớp này sang cây phân cấp lớp khác. - Hàm hủy _destruct(): tạo điều kiện để ghi lại các thông tin phục vụ cho việc tìm lỗi, đóng kết nối dữ liệu và thực hiện các công việc giải phóng tài nguyên khác. - Các thuộc tính và các phương thức public, protected, và private: cho phép định nghĩa tính hữu hình của các thuộc tính lớp. Điều này rất quan trọng để hỗ trợ tính kế thừa và tính bao gói trong lập trình hướng đối tượng. - Giao diện (Interface): tính năng này lấy từ mô hình của Java nhằm hỗ trợ đa kế thừa. - Các lớp trừu tượng. - Cấu trúc gợi nhắc kiểu lớp (class hints). - Các thuộc tính và phương thức static. - Các thuộc tính và phương thức Final. - Một loạt các phương thức hỗ trợ mạnh khác như auto loading, reflection, xử lý lỗi ngoại lệ (exceptions), nhân bản đối tượng (object cloning), toán tử instanceof,... Thư viện mở rộng MySQL được viết lại hoàn toàn. Nhóm phát triển PHP 5 đã viết một thư viện mở rộng hoàn toàn mới, rất mạnh để hỗ trợ MySQL 4.1 và 5.x, mang tên MySQLi (MySQL Improved). Các tính năng bao gồm: - Câu lệnh biên dịch trước. - Tham số xuất và nhập có giới hạn. - Kết nối SSL. - Hàm đa truy vấn. MySQLi còn tận dụng được hỗ trợ lập trình hướng đối tượng mới của PHP 5 để cung cấp một giao diện hướng đối tượng với MySQL. Bộ công cụ XML có thể tương tác. - Làm việc được với nhau như một thể thống nhất. - Được chuẩn hóa trên một thư viện XML duy nhất: libxml2. - Tuân thủ hoàn toàn các đặc tả của W3. - Xử lý dữ liệu hiệu quả. - Cung cấp công cụ xử lý XML mạnh. Hệ CSDL nhúng SQLITE. SQLite đủ mạnh để xử lý phần lớn các nhu cầu lưu trữ và thao tác dữ liệu thông thường. Nó hỗ trợ: - Chuyển tác (transactions): - Truy vấn con (Subqueries) - Kiểm soát toàn vẹn tham chiếu (triggers) - Nhiều tính năng cao cấp liên quan đến CSDL như hỗ trợ View... Cơ chế xử lý lỗi sáng sủa hơn với Exceptions. Bản thực thi SOAP cao cấp. 2.1.3. Các tuỳ chọn trong PHP. Giao thức HTTP (Hypertext Transfer Protocol) là một công nghệ không lưu giữ trạng thái, có nghĩa các trang web là độc lập với nhau. HTTP không có cách nào để theo dõi người dùng hoặc giữ lại các biến khi họ truy xuất site. Bằng cách dùng ngôn ngữ kịch bản Web PHP chúng ta có thể khắc phục được việc không lưu giữ trạng thái này của Web. Có một số tùy chọn để áp dụng và hai tùy chọn phổ biến nhất là cookie và session (phiên truy cập). - Cookie. Cookie là những file nhỏ chứa một số các thông tin truy cập Web. Các cookie do Webserver phát sinh, lưu giữ lại, sau đó sẽ được đọc ở những lần truy cập về sau. Cookie đơn thuần chỉ là thông tin ghi nhận lại những động tác truy cập web của khách. Khi tồn tại trên đĩa cứng, cookie trở thành các thỉnh cầu của giao thức HTTP, được gởi đến Webserver. Để có thể phát sinh một cookie bạn cần sử dụng hàm setcookie(). Một khi cookie được xác lập, các biến phát sinh từ cookie các tác dụng giống như biến phát sinh từ form. Chúng sẽ hiện diện với chức năng là biến global. Sau khi script PHP xác lập cookie, các script khác trong domain có thể truy cập cookie một cách tự động. - Session. Session là gì? Đơn giản nó chỉ là một cách thức để duy trì và truyền biến trong khi chuyển tiếp giữa các trang web. Chương trình để khai báo một biến session được bắt đầu với hàm sesion_start(). PHP đăng ký một SessionID duy nhất và thường thì ID này được gửi tới user thông qua một cookie. PHP sau đó tạo một tập tin server để theo dõi sự thay đổi của biến. Tập tin này có tên giống như tên của SessionID. Một khi session được tạo, bạn có thể đăng ký bất kỳ số lượng biến. Các giá trị của những biến này được lưu giữ trong tập tin trên server. Cũng như sự tồn tại của cookie, các biến trong session sẽ hiện diện trên bất kỳ trang nào được truy cập đến trong phạm vi một domain. Việc xác lập này thuận tiện hơn là chuyển tiếp các biến từ trang này sang trang khác thông qua các phần tử ẩn trong form hay cookie. 2.2. Tìm hiểu về MySQL. MySQL là một hệ quản trị cơ sở dữ liệu đa luồng, đa người dùng. Không như những dự án như Apache, phần mềm được phát triển bởi cộng đồng công cộng, và bản quyền về mã nguồn thuộc sở hữu bởi nhiều tác giả riêng lẻ. MySQL được sở hữu và bảo trợ bởi một công ty, công ty MySQL AB – một công ty Thụy Điển, nơi giữ bản quyền cho toàn bộ mã nguồn. Công ty phát triển và duy trì hệ thống, hỗ trợ bán hàng và dịch vụ. MySQL AB được sáng lập bởi David Axmark, Allan Larsson, và Michael “Monty” Widenius. MySQL là hệ quản trị cơ sở dữ liệu phổ biến nhất hiện nay và được các nhà phát triển rất ưa chuộng trong việc phát triển các ứng dụng. Không chỉ dừng lại các ứng dụng có tầm vừa và nhỏ. Mà ngay cả những ứng dụng có tầm cỡ lớn cũng đã lựa chọn MySQL, ví dụ như: Yahoo, NASA, Wikipedia, Các lý do bạn chọn MySQL. Cơ sở dữ liệu MySQL đã trở thành cơ sở dữ liệu mã nguồn mở phổ biến nhất trên thế giới vì cơ chế xử lý nhanh và ổn định của nó, sự đáng tin cậy cao và dễ sử dụng. Nó được sử dụng mọi nơi bởi các nhà phát triển Web riêng lẻ cũng như rất nhiều các tổ chức lớn nhất trên thế giới để tiết kiệm thời gian và tiền bạc cho những Web sites có dung lượng lớn, phần mềm đóng gói – bao gồm cả những nhà đi đầu trong lĩnh vực công nghiệp như Yahoo!, Google, Nokia, YouTube và Zappos.com.  MySQL không chỉ là cơ sở dữ liệu mã nguồn mở phổ biến nhất trên thế giới, nó còn trở thành cơ sở dữ liệu được chọn cho thế hệ mới của các ứng dụng xây dựng trên nền Linux, Apache, MySQL, PHP/Perl/Python. MySQL chạy trên hơn 20 flatform bao gồm: Linux, Windows, OS/X, HP-UX, AIX, Netware, mang đến cho bạn tính linh hoạt trong việc sử dụng.  Dù bạn mới làm quen với công nghệ cơ sở dữ liệu hay là một nhà phát triển giàu kinh nghiệm hoặc là DBA, MySQL sẽ giúp bạn thành công. Đây là các lý do bạn nên chọn MySQL cho ứng dụng:  Tính linh hoạt. Máy chủ cơ sở dữ liệu MySQL cung cấp đặc tính linh hoạt, có sức chứa để xử lý các ứng dụng được nhúng sâu với dung lượng chỉ 1MB để chạy các kho dữ liệu đồ sộ lên đến hàng terabytes thông tin. Sự linh hoạt về flatform 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 đang được hỗ trợ. Và dĩ nhiên, tính chất mã nguồn mở của MySQL cho phép sự tùy biến hoàn toàn theo ý muốn để thêm vào các yêu cầu thích hợp cho database server.  Tính thực thi cao. Kiến trúc storage-engine cho phép các chuyên gia cơ sở dữ liệu cấu hình máy chủ cơ sở dữ liệu MySQL đặc trưng cho các ứng dụng đặc thù. Dù ứng dụng là một hệ thống xử lý giao dịch tốc độ cao hay web site dung lượng lớn phục vụ hàng triệu yêu cầu mỗi ngày, MySQL có thể đáp ứng khả năng xử lý những đòi hỏi khắt khe nhất của bất kì hệ thống nào. Với các tiện ích tải tốc độ cao, đặc biệt bộ nhớ caches, và các cơ chế xử lý nâng cao khác, MySQL đưa ra tất cả các vũ khí cần phải có cho các hệ thống doanh nghiệp khó tính ngày nay.  Hỗ trợ giao dịch mạnh. MySQL đưa ra một trong số những engine giao dịch cơ sở dữ liệu mạnh nhất trên thị trường. Các đặc trưng bao gồm hỗ trợ giao dịch ACID hoàn thiện ( Atomic – tự động, Consistent – thống nhất, Isolated – độc lập, Durable – bền vững), khóa mức dòng không hạn chế, khả năng giao dịch được phân loại, và hỗ trợ giao dịch đa dạng (multi-version) mà người đọc không bao giờ gây trở ngại cho người viết và ngược lại. Tính toàn vẹn của dữ liệu cũng phải được bảo đảm trong suốt quá trình server có hiệu lực, các mức giao dịch độc lập được chuyên môn hóa, và phát hiện khóa chết ngay lập tức.  Nơi lưu trữ Web và Data đáng tin cậy. MySQL là  nhà máy chuẩn cho các web sites phải trao đổi thường xuyên vì nó có engine xử lý tốc độ cao, khả năng chèn dữ liệu nhanh ghê gớm, và hỗ trợ mạnh cho các chức năng chuyên dụng của web như tìm  kiếm văn bản nhanh. Những tính năng này cũng được áp dụng cho môi trường lưu trữ dữ liệu mà MySQL tăng cường đến hàng terabyte cho các server đơn. Các tính năng khác như bảng nhớ chính, cây B và chỉ số băm, và bảng lưu trữ đã được cô lại để giảm các yêu cầu lưu trữ đến 80% làm cho MySQL trở thành lựa chọn tốt nhất cho cả ứng dụng web và các ứng dụng doanh nghiệp.  Chế độ bảo mật dữ liệu mạnh. Vì bảo mật dữ liệu cho một công ty là công việc số một của các chuyên gia về cơ sở dữ liệu, MySQL đưa ra tính năng bảo mật đặc biệt chắc chắn dữ liệu sẽ được bảo mật tuyệt đối. Trong việc xác nhận truy cập cơ sở dữ liệu, MySQL cung cấp  các kĩ thuật mạnh mà chắc chắn chỉ có người sử dụng đã được xác nhận mới có thể truy nhập được vào server cơ sở dữ liệu, với khả năng này để chặn người dùng ngay từ mức máy khách là điều có thể làm được. SSH và SSL cũng được hỗ trợ để chắc chắn các kết nối được an toàn và bảo mật. Một đối tượng framework đặc quyền được đưa ra mà người sử dụng chỉ có thể nhìn thấy dữ liệu, các hàm mã hóa và giải mã dữ liệu mạnh chắc chắn rằng dữ liệu sẽ được bảo mật. Cuối cùng, tiện ích backup và recovery cung cấp bởi MySQL và các hãng phần mềm thứ 3 cho phép backup logic và vật lý hoàn thiện cũng như recovery toàn bộ hoặc tại một thời điểm nào đó.  Sự phát triển ứng dụng hỗn hợp. Một trong số các lý do khiến cho MySQL là cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới là nó cung cấp hỗ trợ hỗn hợp cho bất kì sự phát triển ứng dụng nào cần. Trong cơ sở dữ liệu, hỗ trợ có thể được tìm thấy trong các stored procedure, trigger, function, view, cursor, ANSI-standard SQL, và nhiều nữa. Với các ứng dụng nhúng, thư viện plug-in có sẵn để nhúng vào cơ sở dữ liệu MySQL hỗ trợ  trong bất kì ứng dụng  nào. MySQL cũng cung cấp các bộ kết nối như: ODBC, JDBC, để cho phép tất cả các form của ứng dụng sử dụng MySQL như một server quản lí dữ liệu được ưu tiên.  Dễ dàng quản lý. MySQL khi đã được cài đặt, tính năng tự quản lý như tự động mở rộng không gian, tự khởi động lại, và cấu hình động sẵn sàng cho người quản trị cơ sở dữ liệu làm việc. MySQL cũng cung cấp một bộ hoàn thiện các công cụ quản lý đồ họa cho phép một DBA quản lý, sửa chữa, và điều khiển hoạt động của nhiều server MySQL từ một máy trạm đơn. Nhiều công cụ của các hãng phần mềm thứ 3 cũng có sẵn trong MySQL để điều khiển các tác vụ từ thiết kế dữ liệu và ETL, đến việc quản trị cơ sở dữ liệu hoàn thiện, quản lý công việc, và thực hiện kiểm tra.  Tổng chi phí thấp nhất. Bằng cách sử dụng MySQL cho các dự án phát triển mới, các công ty đang thấy rõ việc tiết kiệm chi phí. Được hoàn thành thông qua sử dụng server cơ sở dữ liệu MySQL và kiến trúc scale-out, các doanh nghiệp đã tìm ra cái mà họ có thể đạt được ở mức ngạc nhiên về khả năng xử lý. Thêm vào đó, tính tin cậy và dễ duy trì của MySQL ở mức trung bình mà người quản trị cơ sở dữ liệu không phải mất nhiều thời gian sửa chữa hay vấn đề thời gian chết. 2.3. Tìm hiểu về Apache HTTP Server. Apache HTTP Server là chương trình máy chủ HTTP là một chương trình dành cho máy chủ đối thoại qua giao thức HTTP. Apache chạy trên các hệ điều hành tương tự như Unix, Microsoft Windows, Novell Netware và các hệ điều hành khác. Apache đóng một vai trò quan trọng trong quá trình phát triển của mạng web thế giới. Dự án Apache là một sự cố gắng phát triển phần mềm cộng tác nhắm đến việc tạo ra một HTTP server mạnh mẽ, có hạng thương mại, được đề cao,và mã nguồn thực hiện miễn phí. Dự án được tham gia quản lý bởi một nhóm người tình nguyện trên toàn thế giới sử dụng internet và Web để truyền thông , dựng kế hoạch và phát triển server . Những người tình nguyện này được biết đến như là nhóm Apache. Thêm nữa, hàng trăm người sử dụng đã đóng góp các ý tưởng, mã và các tài liệu cho dự án. Tuy nhiên, sự phát triển httpd đó đã bị ngưng trệ sau khi Rob rời NCSA vào khoảng giữa năm 1994, và rất nhiều nhà phát triển web đã phát triển phần mở rộng của chính họ và khắc phục lỗi trong sự cần thiết của một sự phân phát chung. Một nhóm nhỏ của các nhà phát triển web này, đã kết hợp với nhau thông qua e-mail là chính, kết hợp cùng với nhau cho mục đích phối hợp những thay đổi của họ ( trong hình thức các miếng vá). Bằng cách dùng httpd 1.3 làm nền, họ đã thêm vào toàn bộ các miếng vá đã được công bố và các tính năng cao cấp khác, thử nghiệm trên chính các server của họ, và cho ra đời phiên bản công khai chính thức đầu tiên (0.6.2) của server Apache trong tháng 4 năm 1995. Server Apache ban đầu đã là một sự thành công lớn, nhưng họ cho rằng mã ban đầu cần phải được kiểm tra kỹ lưỡng và thiết kế lại. Trong suốt tháng 5 năm và tháng 6 năm 1995, Robert Thau đã thiết kế một kiến trúc server mới( mã được đặt tên là Shambhala) nó bao gồm một cấu trúc module và API cho việc mở rộng được tốt hơn. Nhóm làm việc đã chuyển sang nền server mới này từ tháng sáu và đã thêm các đặc điểm từ phiên bản 0.7.x, đưa đến kết quả trong Apache 0.8.8 ( và các anh em của nó) trong tháng tám. Sau khi phát hành rộng rãi bản thử nghiệm beta, rất nhiều lỗ hổng trong các nền khác nhau đã được tìm thấy, một tập tài liệu mới ( của David Robinson), và quá trình thêm rất nhiều các chức năng trong dạng của các module chuẩn của họ, Apache 1.0 đã được phát hành vào ngày1 tháng 12 năm 1995. Theo đánh giá của Netcraft ( chỉ ra rằng ngày nay Apache được sử dụng một cách rộng rãi hơn so với tất cả các web server đã được tổng hợp. 2.4 Tìm hiểu về HTML. HTML ( viết tắt của từ HyperText Markup Language, tức là "Ngôn ngữ Đánh dấu Siêu văn bản") là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên các trang web, nghĩa là các mẩu thông tin được trình bày trên World Wide Web. Được định nghĩa như là một ứng dụng đơn giản của SGML (Standard Generalized Markup Language -Ngôn ngữ đánh dấu tiêu chuẩn tổng quát ), vốn được sử dụng trong các tổ chức cần đến các yêu cầu xuất bản phức tạp, HTML giờ đây đã trở thành một chuẩn Internet do tổ chức World Wide Web Consortium (W3C) duy trì. Phiên bản mới nhất của nó hiện là HTML 4.01. Tuy nhiên, HTML hiện không còn được phát triển tiếp. Người ta đã thay thế nó bằng XHTML. HTML nói chung tồn tại như là các tập tin văn bản chứa trên các máy tính nối vào mạng Internet. Các file này có chứa thẻ đánh dấu, nghĩa là, các chỉ thị cho chương trình về cách hiển thị hay xử lý văn bản ở dạng văn bản thuần túy. Các file này thường được truyền đi trên mạng internet thông qua giao thức mạng HTTP, và sau đó thì phần HTML của chúng sẽ được hiển thị thông qua một trình duyệt web, một loại phần mềm trực quan đảm nhiệm công việc đọc văn bản của trang cho người sử dụng), phần mềm đọc email , hay một thiết bị không dây như một chiếc điện thoại di động. 2.5. Tìm hiểu về Smarty. Smarty là một hệ thống tạo mẫu web (web template system) được viết trên nền PHP. Smarty được giới thiệu như là một công cụ cho việc chia nhỏ các quá trình thiết kế trang web. Đây là một chiến lược thiết kế cho các ứng dụng web hiện đại. Smarty tạo ra các nội dung web từ các vị trí đặc biệt được gọi là smarty tag . Các tag này được nằm trong các mẫu (template). Các tag này sẽ được xử lý và chèn vào với các code khác nhau. Các tag này là chỉ thị cho Smarty mà có thể được bao đóng bới tag mở và tag khóa. Những hướng dẫn này có thể là biến, và được định nghĩa bởi dấu dollar ($), các chức năng, hàm logic hoặc các luồng điều khiển. Smarty cho phép các lập trình viên có thể tự định nghĩa các chứng năng và truy cập sử dụng các Smarty tags Smarty là kết quả của việc tối ưu hóa và phân luồng công việc, cho phép trình diễn các trang web bằng cách chia nhỏ chúng ở đầu cuối (back-end). Ý tưởng đó đã giúp giảm thiểu rất nhiều giá thành và sự đồ sộ của các phần mềm. Dưới mỗi một ứng dụng thành công thì luôn phân chia thành 2 mảng là người thiết kế chính là lá chắn bảo về mã nguồn sau (back-end coding) và người lập trình php được bảo vệ bới mã trình diễn. Smarty hỗ trợ một vài ngôn ngữ lập trình bậc cao, bao gồm: điều khiển luồng dữ liệu, foreach if, elseif, else biến thay đổi Người dùng tạo hức năng. Bên cạnh đó, thì một trong những chức năng nổi bật của các Template Engine là hệ thống tạo mẫu cho phép thay đổi từ mẫu tới mẫu. Thông thường khi lập trình PHP bạn hay viết lẫn cả phần HTML với mã lệnh PHP trên một trang. Điều này sẽ dẫn đến rất rối nhất là khi bảo trì. Bạn là người viết ra và cũng là người bảo trì thì không sao nhưng nếu bạn viết ra sau đó người khác bảo trì. Chắc họ nhìn vào code của bạn họ sẽ ngất mất vì quá rối. Mặt khác khi làm nhiều trang web có chức năng như nhau. Chỉ khác giao diện nên nếu lập trình theo kiểu như vậy bạn phải viết lại hoàn toàn. Ngoài ra muốn code được bạn phải chờ người thiết kế giao diện cho bạn sau đó cắt ra file HTML... rồi mới code... Tất cả những điều này sẽ làm giảm năng xuất công việc của bạn đi rất nhiều. Smarty ra đời đã giải quyết được các vấn đề nêu trên. Các đặc điểm chính của Smarty bao gồm: - Variable Modifiers: Khi trình diễn nội dung 1 website bạn phải chuyển đổi một vài thứ tại một thời điểm hoặc phụ thuộc vào khách ghé thăm Site . Ví Dụ: Bạn Muốn Show ra Ngày ,Tháng ,Năm với các Format khác biệt , thì bạn không cần lập trình viên phải can thiệp vào nó anh / cô ta có thể truyền biến đến Template và Designer có thể tự chỉnh lại được .(CSS ,JavaScript ) - Template Functions: Có Hàm của riêng hệ thống Template. - Debugging: Có cung cấp công cụ Debug Console. - Plug-ins: Cung cấp để cho việc sử dụng lại Code. - Filters. - Smarty Internals. Dưới đây là một số ưu điểm của Smarty: - Tốc độ load trang rất nhanh (do tạo được cache). - Code ứng dụng của bạn trở lên trong sáng, mạch lạc và dễ bảo trì hơn rất nhiều (do tách biệt phần code và templates). - Hiệu quả công việc đạt tối đa (Người thiết kế và người lập trình làm việc hoàn toàn độc lập. Thay đổi giao diện website nhanh chóng... ). - Được sử dụng phổ biến ( bên Nhật rất ưa chuộng Smarty ). 2.6. Tìm hiểu về CSS. Khi thế giới web mới ra đời người ta thường dùng các thẻ HTML để dàn trang. Việc dàn trang đó bao gồm chia trang web thành các bảng, ô, để add text, add ảnh, kiểu chữ, màu sắc... Khi mà công nghệ web ngày càng phát triển người ta nhận thấy việc dàn trang bằng các bảng ngày càng trở nên bất tiện. Khối lượng mã HTML lớn cùng việc khó khăn trong kiểm soát các vùng nội dung trên trang web là những lý do khiến HTML ngày càng thất thế. Nếu bạn vào các website chuyên nghiệp của nước ngoài bạn sẽ việc dàn trang của họ hoàn toàn bằng các thẻ DIV của CSS mà không dùng các thẻ HTML, nếu có thì cũng rất ít. Công nghệ CSS được đề cập đầu tiên bởi W3C vào năm 1996. Theo định nghĩa của W3C (Wide Web Consortium) CSS (từ viết tắt của Cascading Style Sheet tạm dịch là bảng kiểu xếp chồng) là một ngôn ngữ giúp người thiết kế web có thể add kiểu vào tài liệu web (như kiểu font chữ, màu sắc, khoảng cách vv..), công dụng dùng để trang trí trang web của bạn, và thông thường được gắn với các ngôn ngữ như là HTML, PHP, dùng làm nổi bật trang web và hình ảnh trang web của bạn. Bạn có thể tạo ra kiểu một lần nhưng có thể dùng lại nhiều lần trong các tài liệu web tiếp theo. Việc dàn trang bằng các thẻ DIV trên web là việc bạn phân vùng các khu vực trên trang web và gọi các kiểu xác định mà bạn đã định nghĩa trước. Thay vì việc dùng các bảng HTML bạn có thể dùng các thẻ DIV linh hoạt để phân hoạch các vùng khác nhau trên trang. Một thẻ cũng giống như một phần của miếng ghép để tạo nên trang web hoàn thiện. Ưu điểm của các thẻ DIV là rất linh hoạt, các lớp có thể chồng lên nhau một phần hoặt nhiều phần. Đây là một điểm thú vị mà việc dàn trang bằng HTML không có được. Nhưng nhược điểm của CSS là việc kiểm soát chúng trên các trình duyệt web khác nhau khá khó khăn vì chính tính linh hoạt trên. Các trình duyệt hỗ trợ CSS đôi khi là khác nhau vì vậy nếu dàn trang không tốt thì việc hiển thị cực tệ. Tìm hiểu về JavaScript. Với HTML and Microsoft FrontPage bạn đã biết cách tạo ra trang Web, tuy nhiên chỉ mới ở mức biểu diễn thông tin chứ chưa phải là các trang Web động có khả năng đáp ứng các sự kiện từ phía người dùng. Hãng Netscape đã đưa ra ngôn ngữ script có tên là LiveScript để thực hiện chức năng này. Sau đó ngôn ngữ này được đổi tên thành JavaScript để tận dụng tính đại chúng của ngôn ngữ lập trình Java. Mặc dù có những điểm tương đồng giữa Java và JavaScript, nhưng chúng vẫn là hai ngôn ngữ riêng biệt. JavaScript là ngôn ngữ dưới dạng script có thể gắn với các file HTML. Nó không được biên dịch mà được trình duyệt diễn dịch. Không giống Java phải chuyển thành các mã dễ biên dịch, trình duyệt đọc JavaScript dưới dạng mã nguồn. JavaScript là ngôn ngữ dựa trên đối tượng, có nghĩa là bao gồm nhiều kiểu đối tượng, ví dụ đối tượng Math với tất cả các chức năng toán học. Tuy vậy JavaScript không là ngôn ngữ hướng đối tượng như C++ hay Java do không hỗ trợ các lớp hay tính thừa kế. JavaScript có thể đáp ứng các sự kiện như tải hay loại bỏ các form. Khả năng này cho phép JavaScript trở thành một ngôn ngữ script động. Giống với HTML và Java, JavaScript được thiết kế độc lập với hệ điều hành. Nó có thể chạy trên bất kỳ hệ điều hành nào có trình duyệt hỗ trợ JavaScript. Ngoài ra JavaScript giống Java ở khía cạnh an ninh: JavaScript không thể đọc và viết vào file của người dùng. Các trình duyệt web như Nescape Navigator 2.0 trở đi có thể hiển thị những câu lệnh JavaScript được nhúng vào trang HTML. Khi trình duyệt yêu cầu một trang, server sẽ gửi đầy đủ nội dung của trang đó, bao gồm cả HTML và các câu lệnh JavaScript qua mạng tới client. Client sẽ đọc trang đó từ đầu đến cuối, hiển thị các kết quả của HTML và xử lý các câu lệnh JavaScript khi nào chúng xuất hiện. Các câu lệnh JavaScript được nhúng trong một trang HTML có thể trả lời cho các sự kiện của người sử dụng như kích chuột, nhập vào một form và điều hướng trang. CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG. 3.1. Các mục tiêu cần đạt được của đề tài: Mục đích là xây dựng một website cho phép người sử dụng có thể xem thông tin sản phẩm, tìm kiếm, đặt hàng trực tuyến trên Internet. Hệ thống sử dụng cơ sở dữ liệu MySQL, ngôn ngữ lập trình PHP và chạy trên nền máy chủ Apache. Xây dựng Website bán hàng nội thất gia đình với nhiều tính năng, xử lý thông tin nhanh chóng và chính xác, thực hiện các giao dịch với khách hàng về thủ tục mua bán hàng hoá qua mạng. Một số chỉ tiêu cần đạt được: - Giao diện: giao diện website cần sáng sủa, ưa nhìn, đơn giản và không gây các hiệu ứng phụ như gây khó chịu cho độc giả hoặc nhanh làm khách hàng mỏi mắt, vì thế cần tạo giao diện có màu sắc, đường nét phối hợp với nhau để tạo được thiện cảm của khách hàng. Có một vấn đề liên quan tới giao diện đó là, cần phải thiết kế giao diện để khi độc giả dừng trình duyệt IE, hoặc Firefox hoặc Opera, phải cho kết quả giao diện như nhau. Tức là, đòi hỏi giao diện của website phải tương thích với nhiều trình duyệt khác nhau. - Chức năng điều hướng: chức năng điều hướng là chức năng quan trọng đối với website. Website thiết kế chức năng điều hướng tốt, tức là dẫn hướng khách hàng tốt, khách hàng cảm thấy được sự thuận tiện trong cách tìm hiểu, xem mẫu mã, đặt mua về sản phẩm dễ dàng. Cũng như đọc tin tức và theo dõi tin tức mới về từng sản phẩm trên thị trường. - Chức năng tìm kiếm: Với một website có một lượng lớn về sản phẩm và tin tức, việc tìm kiếm sản phẩm từ người dùng cần đạt được sự nhanh chóng và chính xác. Ta có thể đặt những tiêu chí cho việc tìm kiếm của khách hàng như tìm kiếm từ khóa của sản phẩm, theo nội dung tìm kiếm phải chứa chính xác từ cần tìm kiếm, hoặc nội dung tìm kiếm chứa từng từ riêng lẻ trong cụm từ tìm kiếm, và với từ tìm kiếm cần phải hiện rõ hơn, gây chú ý hơn so với những từ bình thường trong danh sách kết quả tìm kiếm. - Quản lý và giới thiệu sản phẩm : Quản lý được chủng loại và số lượng các sản phẩm.Nắm được các thông tin về sản phẩm và số lượng của sản phẩm cũng như việc giao dịch với khách hàng khi khách hàng có nhu cầu đăt hàng. - Thực hiện quản lý thông tin của khách hàng và thông tin mua sản phẩm của khách hàng. - Quản lý các yêu cầu được khách hàng gửi về website. 3.2. Phân tích thiết kế hệ thống: 3.2.1. Mô tả sơ bộ chức năng: Chức năng Admin: - Quyền quản trị toàn bộ hệ thống. - Phân quyền cho người sử dụng (admin, mod, user). Chức năng khách thăm quan và mua hàng: Khách thăm quan có thể xem thông tin, tìm kiếm về sản phẩm. Khách hàng có thể đặt mua sản phẩm. - Khách hàng có thể gửi yêu cầu đến hệ thống website. Tìm kiếm: - Tìm kiếm theo tên sản phẩm - Tìm kiếm theo nhóm sản phẩm - . Sơ đồ phân cấp chức năng. Hình 3.1 : Sơ đồ phân cấp chức năng. Hệ thống có 2 chức năng chính: - Hoạt động của người quản trị hệ thống. - Hoạt động của khách hàng thăm WebSite và đặt hàng mua sản phẩm. Chức năng quản lý sản phẩm. Hình 3.2: Chức năng quản lý sản phẩm. Chức năng quản lý thành viên. Hình 3.3: Chức năng quản lý thành viên. Chức năng quản lý bán hàng. Hình 3.4 : Chức năng bán hàng. Chức năng xem thông tin website. Hình 3.5 :Chức năng thông tin website. 3.2.2.5. Chức năng mua hàng. Hình 3.6 :Chức năng mua hàng và thanh toán. 3.2.2.6. Chức năng tìm kiếm. Hình 3.7 :Chức năng tìm kiếm. Biểu đồ luồng dữ liệu. Biểu đồ luồng dữ liệu mức đỉnh. Hình 3.8 : Biểu đồ luồng dữ liệu mức đỉnh. 3.2.3.2. Biểu đồ luồng dữ liệu mức ngữ cảnh. Hình 3.9 : Biểu đồ luông dữ liệu mức ngữ cảnh

Các file đính kèm theo tài liệu này:

  • doc2518.doc
Tài liệu liên quan