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

Cung cấp các sản phẩm tin học và các giải pháp tích hợp (bao gồm phần cứng, phần mềm và nền tảng mạng) luôn là một trong những mục tiêu phát triển hàng đầu của Công ty giải pháp công nghệ và truyền thông W.G. Kết hợp với thế mạnh là đội ngũ kỹ sư, nhân viên kỹ thuật được đào tạo cơ bản, sự chuyển giao và áp dụng các công nghệ tiên tiến nhất từ các nhà cung cấp hàng đầu trên thế giới, các giải pháp của Công ty giải pháp công nghệ và truyền thông W.G đã và đang nhận được sự tín nhiệm của khách hàng.

doc70 trang | Chia sẻ: Dung Lona | Lượt xem: 1186 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu 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
Nam đã coi internet là một công cụ không thể thiếu trong giao lưu và tìm kiếm thông tin. Nhu cầu thông tin là rất lớn. Nhưng làm thế nào để cung cấp thông tin đầy đủ và nhanh chóng? Các Website bán hàng trực tuyến đã phần nào đáp ứng được mong mỏi đó. Do đó em chọn đề tài của mình là : "Website bán hàng nội thất gia đình”. Website bán hàng trực tuyến hàng nội thất gia đình không chỉ là kênh thông tin, mà còn là công cụ hỗ trợ cho người tiêu dùng có thể tìm hiểu về sản phẩm, đặt mua sản phầm, được tư vấn về mặt hàng đó và được chúng tôi thiết kế demo các không gian nội thất phù hợp với từng ngôi nhà, luôn mang đến cho Quý khách hàng sự tin cậy và an tâm. Với mục đích gắn quá trình thực tập tại công ty, nghiên cứu và tìm hiểu thêm một số ngôn ngữ mới trên cơ sở những kiến thức đã và đang được học. Nội dung của đề tài bao gồm các phần sau: Chương 1 : Tổng quan về công ty thực tập. Chương 2 : Tổng quan cơ sở lý thuyết. Chương 3 : Phân tích thiết kế hệ thống. Chương 4 : Thiết kế giao diện. Dù còn nhiều hạn chế về trình độ cũng như thời gian nên đề tài này sẽ không tránh được nhiều sai sót. Em rất mong nhận được sự chỉ bảo góp ý của thầy cô và các bạn. Em xin chân thành cảm ơn các thầy cô giáo trong Bộ môn Công nghệ Thông tin đã giảng dạy em trong suốt quá trình học tập tại trường, đặc biệt cảm ơn sự hướng dẫn nhiệt tình của thầy Đào Phan Vũ. Hà Nội, ngày 05 tháng 05 năm 2009. Sinh viên: Nguyễn Anh Toàn. CHƯƠNG 1: TỔNG QUAN VỀ CÔNG TY TNHH GIẢI PHÁP VÀ TRUYỀN THÔNG W.G. 1.1. Giới thiệu về công ty TNHH W.G: Công ty TNHH giải pháp và truyền thông W.G được thành lập từ năm 2007. Tên giao dịch bằng tiếng Việt: CÔNG TY TNHH GIẢI PHÁP CÔNG NGHỆ VÀ TRUYỀN THÔNG W.G. Tên giao dịch bằng tiếng Anh: W.G COMMUNICATIONS AND TECHNOLOGY SOLUTIONS COMPANY LIMITED. Hoạt động theo luật doanh nghiệp của nước Cộng hoà Xã hội chủ nghĩa Việt Nam. * Trụ sở chính: Phòng 401, Tòa nhà A, Nguyễn Tuân - Hà Nội. Tel: 04.2.2490488 - Fax: 04.6.2852660 Hotline: 0984.466.909 - 0936.293.789 Website: 1.2. Các chỉ số tài sản chủ yếu: - Vốn đăng ký kinh doanh: 700.000.000 VNĐ. - Vốn lưu động: 150.000.000 VNĐ. Công ty W.G là một trong những công ty tiên phong trong lĩnh vực thương mại giải pháp công nghệ và truyền thông. Sản phẩm của Công ty và các dịch vụ của công ty được giới chuyên môn, khách hàng và các công ty hoạt động trong nghành công nghệ thông tin đánh giá là một trong những công ty chuyên nghiệp uy tín cao. Thành tựu đạt được: - Là thành viên của hội Doanh nghiệp trẻ, hội Doanh nghiệp vừa và nhỏ tại thành phố Hà Nội. Lấy phương châm hoạt động “Chất lượng + Hiệu quả”, công ty giải pháp công nghệ và truyền thông W.G đã khẳng định được uy tín và đạt được sự tín nhiệm cao, W.G đang và sẽ trở thành doanh nghiệp có tên tuổi hàng đầu, uy tín lâu dài trên thị trường cung cấp các giải pháp/dịch vụ trên nền tảng công nghệ Internet/Web, các giải pháp Truyền thông hoàn hảo dựa trên: Cung cấp các dịch vụ, quy trình phục vụ khách hàng khai thác các giá trị gia tăng của Internet cho hoạt động marketing, bán hàng, giao lưu cộng đồng, quảng bá thương hiệu và quản trị tác nghiệp trong doanh nghiệp, tổ chức. Nghiên cứu, xây dựng và cung cấp các giải pháp công nghệ trên nền tảng công nghệ cổng thông tin tích hợp (portal). Đó là kết quả của sự nỗ lực không ngừng của toàn thể ban lãnh đạo, nhân viên trong công ty cùng với sự hỗ trợ đặc biệt từ các nhà cung cấp. 1.3. Dịch vụ chính: W.G đã và đang đạt được những thành công đáng kể trong lĩnh vực phát triển các ứng dụng trên nền internet như: Website, cổng thông tin cho doanh nghiệp, phần mềm quản lý từ xa, W.G tự hào đã được phục vụ một số khách hàng là các Công ty hàng đầu trong các lĩnh vực: Tư vấn luật, tư vấn tài chính, đầu tư chứng khoán, truyền thông, 1.4. Cơ cấu tổ chức. Sơ đồ tổ chức công ty. Phân phối, Thiết kế Chuyển giao công nghệ Dự án Phát triển thị trường Kiểm soát thực hiện hợp đồng Bảo hành và dịch vụ kỹ thuật BAN GIÁM ĐỐC Bộ phận Kinh doanh, Dự án Bộ phận Hỗ trợ khách hàng Bộ phận Quản Trị Bộ phận hành chính, Quản trị Kế toán 1.5. Nhân sự. Công ty giải pháp công nghệ và truyền thông W.G là một tổ chức chuyên ngành trong lĩnh vực phát triển các ứng dụng trên nền internet bao gồm các kỹ sư, cử nhân, các công nhân kỹ thuật tay nghề cao. Công ty có tổng số gần 25 nhân viên hoạt động trong các ban và các dự án. Hiện tại công ty đang mở rộng phạm vi hoạt động nên có nhu cầu rất lớn về nguồn nhân lực. Do đó công ty đang tuyển kỹ thuật viên lập trình với số lượng lớn. Công ty giải pháp công nghệ và truyền thông W.G hiểu rõ con người là nhân tố quyết định đến sự thành công hay thất bại của doanh nghiệp nên ngoài các chương trình đạo tạo cơ bản, hàng năm các cán bộ kỹ thuật của Công ty còn được đào tạo nâng cao nghiệp vụ do các hãng tổ chức. Qua các chương trình này, cán bộ của Công ty đã được các hãng sản xuất chứng nhận về trình độ và khả năng chuyển giao công nghệ, hướng dẫn sử dụng và bảo hành thiết bị công nghệ tại Việt Nam. Bên cạnh đó Công ty còn có nhiều cộng tác viên chuyên môn trong nhiều ngành và các hiệp hội kỹ thuật khác nhau. Các hoạt động dịch vụ kỹ thuật của công ty được hỗ trợ bởi các cộng tác viên trong nước cũng như chuyên gia nước ngoài. Mục tiêu của Công ty trong việc đào tạo cán bộ, hợp tác với các chuyên gia kỹ thuật là tạo ra một đội ngũ cán bộ và nhân viên kỹ thuật đủ khả năng cung cấp cho khách hàng các công nghệ tiên tiến nhất trong hệ thống thiết bị công nghệ cao. 1.6. Các giải pháp tích hợp: Cung cấp các sản phẩm tin học và các giải pháp tích hợp (bao gồm phần cứng, phần mềm và nền tảng mạng) luôn là một trong những mục tiêu phát triển hàng đầu của Công ty giải pháp công nghệ và truyền thông W.G. Kết hợp với thế mạnh là đội ngũ kỹ sư, nhân viên kỹ thuật được đào tạo cơ bản, sự chuyển giao và áp dụng các công nghệ tiên tiến nhất từ các nhà cung cấp hàng đầu trên thế giới, các giải pháp của Công ty giải pháp công nghệ và truyền thông W.G đã và đang nhận được sự tín nhiệm của khách hàng. 1.7. Chiến lược kinh doanh: - Luôn giữ vững phát triển mối quan hệ với khách hàng, đối tác và bạn hàng. Phát triển và mở rộng hệ thống hỗ trợ sau bán hàng, các hoạt động chăm sóc khách hàng được thực hiện trên tất cả các phương tiện như điện thoại, fax, email, ... - Không ngừng phát triển đa dạng hoá các dịch vụ cung cấp, tăng cường cung cấp các giải pháp tích hợp trọn gói cho khách hàng, đáp ứng mọi yêu cầu, khả năng chi phí khách nhau, đa dạng và thiết thực. - Xây dựng đội ngũ nhân viên có trình độ, làm việc hiệu quả. Với chiến lược hoạt động lâu dài, công ty còn tập trung vào vấn đề xây dựng hệ thống tổ chức công ty chặt chẽ, hoạt động có hiệu suất cao. - Mở rộng phạm vi cung cấp dịch vụ. Đa dạng hoá, mở rộng quan hệ với các đối tác trong và ngoài nước. Mục tiêu của doanh nghiệp: “W.G đang nỗ lực để trở thành tập đoàn CNTT và Truyền thông góp phần cùng các doanh nghiệp xây dựng một Việt Nam phát triển hưng thịnh”. CHƯƠNG 2: TỔNG QUAN CƠ SỞ LÝ THUYẾT. 2.1. Tìm hiểu về PHP. 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. 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ô xí nghiệp. 2.1.1. Sơ lược lịch sử phát triển của PHP. PHP/FI. PHP đã được nghĩ đến trong khoảng cuối năm 1994 bởi Rasmus Lerdorf. Các phiên bản không phát hành trước đó đã được dùng trên chính trang chủ của anh ta để theo dõi ai đang tìm bản lý lịch trực tuyến của anh ta. Phiên bản đầu tiên được dùng bởi những người khác đã có sẵn trong khoảng thời gian trước năm 1995 và đã được biết đến như là các công cụ trang chủ cá nhân. Nó bao gồm một bộ máy phân tích từ loại một cách đơn giản mà chỉ được hiểu là một số ít các macro đặc biệt và một số các tiện ích mà được dùng một cách thông dụng trên các trang chủ trước đó. Bộ phân tích từ loại đã được viết lại vào giữa năm 1995 và có tên là PHP/FI phiên bản 2. FI có được lạ do từ một gói khác của Rasmus đã được viết lại được biên dịch định dạng dữ liệu HTML. Anh ta đã kết hợp các script các công cụ trang chủ cá nhân với trình biên dịch form và thêm vào hỗ trợ mSQL và PHP/FI đã ra đời. PHP/FI đã phát triển lên một cách đáng kinh ngạc và mọi người đã bắt đầu đóng góp mã cho nó. - PHP 3. PHP 3.0 đã chính thức được công bố vào tháng 6 năm 1998. PHP 3.0 là phiên bản đầu tiên cho chúng ta thấy một hình ảnh gần gũi với các phiên bản PHP mà chúng ta được biết ngày nay. Nó đã được Andi Gutmans và Zeev Suraski tạo ra năm 1997 sau khi viết lại hoàn toàn bộ mã nguồn trước đó. Lý do chính mà họ đã tạo ra phiên bản này là do nhận họ thấy PHP/FI 2.0 hết sức yếu kém trong việc phát triển các ứng dụng thương mại điện tử mà họ đang xúc tiến trong một dự án của trường đại học. Trong một nỗ lực hợp tác và bắt đầu xây dựng dựa trên cơ sở người dùng đã có của PHP/FI, Andi, Rasmus và Zeev đã quyết định hợp tác và công bố PHP 3.0 như là phiên bản thế hệ kế tiếp của PHP/FI 2.0. - PHP4. Vào tháng 5 năm 2000 - gần 2 năm sau khi bản PHP 3.0 ra đời, PHP 4 ra đời với hàng loạt các tính năng mới bổ sung,. 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ự 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. Phiên bản PHP4 dùng bộ máy scripting Zend để phân phối sự thực hiện cao cấp hơn, hỗ trợ một mảng các thư viện và các mở rộng của các hãng thứ 3 rộng rãi hơn và chạy như là một module server địa phương với toàn bộ các web server được ưa chuộng. PHP 5. Cộng đồng đã nhanh chóng 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. Do đó việc phát triển PHP 5.0 đã bắt đầu vào thời điểm tháng 12 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. 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. 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. 2.1.2. Tại sao ta sử dụng ngôn ngữ lập trình PHP (PHP5). PHP là một ngôn ngữ lập trình. Ngôn ngữ này hoạt động cận kề với Webserver để thông dịch các yêu cầu từ trên World Wide Web, sau đó nhận các trả lời từ Webserver chuyển tải đến trình duyệt Web nhằm đáp ứng các nhu cầu đó. Các đặc điểm nổi bật giúp cho PHP là ngôn ngữ được các nhà lập trình lựa chọn. Với các tính năng sau đã làm cho PHP nổi bật: PHP là mã nguồn mở, chạy trên nhiều hệ điều hành. Truy cập bất kỳ loại CSDL nào. Luôn được cải tiến và cập nhật. Tương thích với hầu hết các server đang sử dụng hiện nay như Apache, IIS, Tuy nhiên, đây vẫn chưa phải là tất cả những gì tốt đẹp nhất mà PHP 5 mang đến. Một số đặc điểm nổi bật của PHP 5 cho phép phát triển mã lệnh ngắn hơn, đẹp hơn và cơ động hơn: Hỗ trợ mạnh 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. 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. Hình 3.10: Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng “quản lý sản phẩm”. 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. Hình 3.11: Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng “quản lý thành viên” Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng bán hàng. Hình 3.12: Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng “bán hàng". 3.2.3.6. Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng mua hàng. Hình 3.13: Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng “mua hàng". 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. Hình 3.14: Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng ”tìm kiếm sản phẩm”. Phân tích hệ thống về dữ liệu : 3.3.1. Các thực thể: Phân tích theo chức năng của website và dựa trên các kho dữ liệu hiện có. Các thực thể gồm có: STT Tên thực thể Chú giải 1 At_catagory Thông tin về nhóm sản phẩm 2 At_product Thông tin về sản phẩm 3 Cms_account Lưu giữ tài khoản admin 4 Tblcustomers Lưu giữ thông tin khách hàng 5 Tblorder Lưu giữ đơn đặt hàng 6 upload Lưu trữ sản phẩm 3.3.2. Mối quan hệ giữa các thực thể. Quan hệ giữ hai thực thể at_catagory và at_product. Một nhóm sản phẩm có nhiều sản phẩm. Một sản phẩm chỉ thuộc một nhóm sản phẩm. Quan hệ giữ hai thực thể Tblcustomers và Tblorder. Một khách hàng có thể làm nhiều hoá đơn hàng. Một hoá đơn hàng chỉ thuộc một khách hàng. Quan hệ giữa hai thực thể at_product và upload. Một sản phẩm có một thông tin, hình ảnh duy nhất. Mỗi một thông tin, hình ảnh chỉ thuộc một sản phẩm. Mô hình thực thể liên kết ER. Hình 3.15 : Mô hình thực thể liên kết ER. Thiết kế cơ sở dữ liệu: Table at_product : Bảng thông tin về sản phẩm. Tên trường Kiểu dữ liệu Mô tả Product_id Int(5) ID sản phẩm Product_masp Varchar(100) Mã sản phẩm Product_tensp Varchar(100) Tên sản phẩm Product_price Varchar(100) Giá sản phẩm Product_image Int(4) Hình ảnh Product_imageview Int(4) Hình ảnh sp đang xem Product_size Varchar(100) Kích thước sản phẩm Product_phongcach Text Mô tả, phong cách sp Product_cat Int(4) Nhóm sản phẩm Active Int(1) Mã kiểm tra Table tblcustomers : Bảng thông tin khách hàng. Tên trường Kiểu dữ liệu Mô tả cusID Int(3) Mã đăng nhập Username Varchar(50) Tên đăng nhập Password Varchar(10) Mã đăng nhập Custname Varchar(50) Tên khách hàng Address Varchar(100) Địa chỉ Tel Varchar(20) Số điện thoại City Varchar(50) Thành phố 3.4.3. Table at_catagory: Bảng thông tin nhóm sản phẩm. Tên trường Kiểu dữ liệu Mô tả Catid Smallint(3) Mã nhóm sản phẩm Catname Varchar(60) Tên nhóm sản phẩm Catimage Varchar(60) Ảnh nhóm sản phẩm 3.4.4. Table cms_account : Bảng thông tin quản trị viên. Tên trường Kiểu dữ liệu Mô tả Account_id Int(8) Mã tài khoản Username Varchar(32) Tên tài khoản Password Varchar(32) Mã đăng nhập Email Varchar(32) Địa chỉ thư điện tử Firstname Varchar(10) Họ đệm Lastname Varchar(10) Tên Residence Varchar(100) Nơi cư trú Company Varchar(50) Công ty Job Varchar(100) Nghề nghiệp Age Int(2) Tuổi Phone_number Int(20) Số điện thoại Account_admin Int(1) Số tài khoản admin Sex Int(1) Giới tính Account_forgot_password Varchar(32) Quên mã đăng nhập Table upload : Bảng cập nhật thêm sản phẩm. Tên trường Kiểu dữ liệu Mô tả ID Int(11) Mã sản phẩm upload Name Varchar(30) Tên sản phẩm Type Varchar(30) Kiểu Size Int(11) Kích thước Content Longblob 3.4.6. Table tblorder : Bảng lưu trữ thông tin đơn đặt hàng. Tên trường Kiểu dữ liệu Mô tả OrderID Int(3) Mã hoá đơn Orderdate Date Ngày làm hoá đơn Custid Int(11) Mã khách hàng Description Varchar(100) Mô tả Amount Float Số lượng Shipcost Float Thanh toán Totalamount Float Tổng số lượng Approval Int(4) Chấp thuận 3.4.7. Table orderdetail : Bảng lưu trữ thông tin đơn hàng. Tên trường Kiểu dữ liệu Mô tả OrderdetailID Int(3) Mã hoá đơn chi tiết OrderID Int(3) Mã hoá đơn Product_id Int(5) Mã sản phẩm TotalAmount Float Tổng số luợng Shipcost float Thanh toán CHƯƠNG 4: THIẾT KẾ GIAO DIỆN. 4.1. Trang thông tin dành cho khách hàng. 4.1.1. Giao diện trang Index. Hình 4.1 : Trang index. 4.1.2. Giao diện trang chủ: Hình 4.2 : Trang chủ website. 4.1.3. Trang sản phẩm: Hình 4.3 : Trang sản phẩm. 4.1.4. Trang giới thiệu: Hình 4.4 : Trang giới thiệu về công ty. 4.1.5. Trang liên hệ: Khách hàng có thể gửi những yêu cầu tới website qua trang liên hệ. Hình 4.5 : Trang liên hệ. Trang tìm kiếm. Khi bạn tìm kiếm sản phẩm. Bạn chỉ cần gõ tên gần đúng của sản phẩm đó. Bạn có thể gõ tiếng việt có dấu hoặc không dấu. Chương trình sẽ hiển thị ra kết quả bạn cần tìm. Hình 4.6 : Trang tìm kiếm. Trang xem thông tin chi tiết về sản phẩm. Trang hiển thị thông tin chi tiết về sản phẩm cho khách hàng biết đầy đủ về mã, tên sản phẩm, kích thước, đơn giá của sản phẩm và các tính năng đặc trưng của sản phẩm đó. Hình 4.7 : Trang thông tin chi tiết sản phẩm. 4.1.8. Shopping Cart: Khi khách hàng xem thông tin sản phẩm và quyết định mua hàng. Nếu khách hàng tiếp tục thực hiện giao dịch thì khách hàng sẽ chọn “GIỎ HÀNG” để sản phẩm được xác nhận và đưa vào giỏ hàng của khách hàng. Hình 4.8 : Trang Shopping Cart. 4.1.9. Danh mục sản phẩm chọn (View Shopping): Sản phẩm có trong giỏ hàng của khách hàng sau khi đã chọn mua. Khách hàng có thể huỷ bỏ lựa chọn sản phẩm (bỏ tích v) hoặc có thể mua sản phẩm đó với số lượng mà khách hàng muốn. Hình 4.9 : Trang danh mục sản phẩm chọn. 4.1.10. Đơn hàng: Sau khi khách hàng đã xác nhận những sản phẩm đã chọn khách hàng sẽ nhận được đơn hàng với những sản phẩm và số lượng khách hàng cần. Và khách hàng có thể thấy được tổng số tiền khách hàng cần thanh toán. Hình 4.10 : Trang Order (đơn hàng). 4.1.11. Đặt hàng: Khi mua hàng, khách hàng cần xác nhận mình đặt hàng. Khi đó khách hàng cần để lại email của khách hàng để website có thể gửi phản hồi. Hình 4.11 : Trang đặt hàng (xác nhận mua hàng). 4.1.12. Nhập thông tin khách hàng: Sau khi đã “sign in” khách hàng cần nhập thông tin cần thiết của khách hàng để website có thể gửi hoá đơn và sản phẩm tới cho khách hàng. Hình 4.12 : Trang nhập thông tin khách hàng. 4.1.13. Hoá đơn thanh toán: Cuối cùng là hoá đơn chi tiết việc mua hàng của khách hàng với thông tin về thờigian làm hoá đơn, thông tin về khách hàng, sản phẩm, số lượng khách hàng cần mua và tổng số tiền khách hàng phải trả. Hình 4.13 : Trang hoá đơn chi tiết. 4.1.14. Trang xác nhận giao dịch thành công. Sau khi mua hàng khách hàng sẽ nhận được thông báo của website về giao dịch đặt hàng đã thành công. Hình 4.14 : Trang xác nhận mua hàng thành công. 4.2. Trang dành cho Admin. 4.2.1. Trang đăng nhập vào hệ thống. Để đăng nhập vào được hệ thống trang chủ Admin, bạn phải là một quản trị viên của hệ thống, bạn phải có account và password. Và quyền của bạn phải là quyền quản trị. Nếu quyền của bạn là quyền nhân viên thì bạn không đăng nhập vào hệ thống được. Hình 4.15 : Trang đăng nhập hệ thống. Trang chủ của quản trị hệ thống. Khi bạn đã đăng nhập thành công với quyền Admin thì hệ thống sẽ đưa bạn đến trang chủ của quản trị hệ thống với các mục quản lý: Quản lý người dùng, quản lý loại (nhóm) sản phẩm, quản lý sản phẩm, quản lý lời giới thiệu công ty. Hình 4.16 : Trang chủ của quản trị hệ thống. Trang quản lý thành viên. Khi bạn chọn mục quản lý người dùng ( thành viên). Hệ thống có 3 lựa chọn cho bạn: “Quản trị” là những thành viên có quyền Admin, “nhân viên” là thành viên như một nhân viên bán hàng, không có quyền đăng nhập vào hệ thống quản lý. “Tạo mới NV” bạn sẽ tạo đc một thành viên mới. Khi mới khởi tạo thành viên này sẽ mặc định là thành viên có quyền nhân viên. Nếu bạn muốn thành viên mới đó có quyền Admin bạn kích vào “change” sẽ chuyển quyền. “Change” là lựa chọn cho phép bạn thay đổi quyền trong quản trị giữa quyền quản trị và nhân viên. Hình 4.17 : Trang quản lý thành viên. Thành viên là quản trị viên (Admin). Thống kê những thành viên có quyền quản trị là Admin. Hình 4.18 : Trang thành viên có quyền Admin. Trang thêm thành viên mới. Hình 4.19 : Trang tạo thêm thành viên mới. Trang sửa thông tin thành viên. Hình 4.20 : Trang sửa thông tin của thành viên. Trang quản lý nhóm (loại) sản phẩm. Hiển thị ra tất cả các nhóm sản phẩm hiện có của website. Bạn có quyền sửa và xoá nhóm sản phẩm. Hình 4.21 : Trang quản lý nhóm sản phẩm. Trang thêm nhóm (loại) sản phẩm mới. Bạn có thể tạo thêm một hay nhiều nhóm sản phẩm mới. Hình 4.22 : Trang thêm nhóm sản phẩm mới. Trang quản lý sản phẩm. Trang quản lý sản phẩm sẽ liệt kê toàn bộ sản phẩm có của hệ thống website hiện tại đang có. Bạn có thể sửa, xoá và thay đổi sản phẩm đó vào nhóm sản phẩm khác. Hình 4.23 : Trang quản lý sản phẩm. Trang thêm sản phẩm mới. Hình 4.24 : Trang quản lý thêm sản phẩm. Trang sửa thông tin về sản phẩm. Hình 4.25 : Trang sửa thông tin sản phẩm. Trang cập nhật thông tin giới thiệu về công ty. Hình 4.26 : Trang quản lý giới thiệu về công ty. KẾT LUẬN Cùng với Internet phát triển, website ngày càng tỏ ra tiện ích hơn với cuộc sống. Tuy nhiên để có được một website thực sự được người dùng chấp nhận về mặt hình thức và nội dung đòi hỏi sự đầu tư thời gian và công sức nhiều. Trong quá trình làm việc, bản thân em đã cố gắng nắm bắt những công nghệ web mới để phục vụ việc xây dựng đề tài. Hệ thống đã được tìm hiểu, phân tích kĩ lưỡng, xây dựng khoa học. Tuy nhiên do hạn chế về thời gian cũng như bản thân còn thiếu kinh nghiệm thực tế nên trong quá trình xây dựng em không tránh khỏi những thiếu xót. Ngoài ra cần đánh giá hệ thống khi đã sử dụng rộng rãi nên chưa thể lường hết được những khuyết điểm tiềm ẩn. Sau khi đưa lên triển khai thực tế, em sẽ cố gắng hoàn thiện website ngày càng tốt hơn. Em rất mong được sự góp ý của quý thầy cô và các bạn. Em xin chân thành cảm ơn thầy cố giáo trong bộ môn Công nghệ Thông tin trưòng Đại học Kinh tế quốc dân đã tận tình giúp đỡ chỉ bảo em trong thời gian em học tập và nghiên cứu tại trường. Em chân thành cảm ơn sự giúp đỡ tận tình của thầy giáo hướng dẫn Đào Phan Vũ. Xin gửi lời cảm ơn chân thành tới những đóng gớp của các bạn sinh viên lớp CNT47 trong quá trình em thực hiện đề tài./. Em xin chân thành cảm ơn! TÀI LIỆU THAM KHẢO Bài giảng phân tích và thiết kế hệ thống thông tin, tác giả: PGS – TS Đặng Minh Ất (2007). Professional PHP Programming, tác giả: Jesus Castagnetto, Harish Rawat, Sascha Schumann, Chris Scollo, Deepak Veliath, Nhà xuất bản: Wrox. PHP Manual ( MySQL 5.0 Reference Manual. Giáo trình Phân tích và thiết kế hệ thống. Tác giả: Nguyễn Văn Ba. Nhà xuất bản Đại học Quốc gia Hà Nội. Năm xuất bản: 2003 Tài liệu liên quan về thiết kế web. Tài liệu liên quan về Smarty. NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Hà Nội, ngày ......tháng.....năm MỤC LỤC Trang: MỤC LỤC. DANH MỤC SƠ ĐỒ, HÌNH VẼ. DANH MỤC SƠ ĐỒ, HÌNH VẼ: Trang: Hình 3.1 : Sơ đồ phân cấp chức năng. 27 Hình 3.2: Chức năng quản lý sản phẩm. 28 Hình 3.3: Chức năng quản lý thành viên. 28 Hình 3.4 : Chức năng bán hàng. 29 Hình 3.5 :Chức năng thông tin website. 29 Hình 3.6 :Chức năng mua hàng và thanh toán. 30 Hình 3.7 :Chức năng tìm kiếm. 30 Hình 3.8 : Biểu đồ luồng dữ liệu mức đỉnh. 31 Hình 3.9 : Biểu đồ luông dữ liệu mức ngữ cảnh. 32 Hình 3.10: Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng 32 Hình 3.11: Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng 33 “quản lý thành viên” 33 Hình 3.12: Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng 33 “bán hàng". 33 Hình 3.13: Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng 34 Hình 3.14: Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng 34 Hình 3.15 : Mô hình thực thể liên kết ER. 36 Hình 4.1 : Trang index. 40 Hình 4.2 : Trang chủ website. 41 Hình 4.3 : Trang sản phẩm. 42 Hình 4.4 : Trang giới thiệu về công ty. 43 Hình 4.5 : Trang liên hệ. 44 Hình 4.6 : Trang tìm kiếm. 45 Hình 4.7 : Trang thông tin chi tiết sản phẩm. 46 Hình 4.8 : Trang Shopping Cart. 47 Hình 4.9 : Trang danh mục sản phẩm chọn. 48 Hình 4.10 : Trang Order (đơn hàng). 49 Hình 4.11 : Trang đặt hàng (xác nhận mua hàng). 50 Hình 4.12 : Trang nhập thông tin khách hàng. 51 Hình 4.13 : Trang hoá đơn chi tiết. 52 Hình 4.14 : Trang xác nhận mua hàng thành công. 53 Hình 4.15 : Trang đăng nhập hệ thống. 54 Hình 4.16 : Trang chủ của quản trị hệ thống. 55 Hình 4.17 : Trang quản lý thành viên. 56 Hình 4.18 : Trang thành viên có quyền Admin. 56 Hình 4.19 : Trang tạo thêm thành viên mới. 57 Hình 4.20 : Trang sửa thông tin của thành viên. 58 Hình 4.21 : Trang quản lý nhóm sản phẩm. 59 Hình 4.22 : Trang thêm nhóm sản phẩm mới. 60 Hình 4.23 : Trang quản lý sản phẩm. 61 Hình 4.24 : Trang quản lý thêm sản phẩm. 62 Hình 4.25 : Trang sửa thông tin sản phẩm. 63 Hình 4.26 : Trang quản lý giới thiệu về công ty. 64

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

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