Đề tài Xây dựng website giới thiệu sản phẩm thời trang D&G Hòa Bình

Trong quá trình thực hiện, em đã cố gắng hết sức để tìm hiểu và cài đặt chương trình nhưng vì thời gian có hạn nên chưa giải quyết được tất cả các vấn đề đặt ra. Em rất mong nhận được sự thông cảm của quý thầy cô. Em xin chân thành cảm ơn. Những kết quả đạt được: + Về công nghệ: - Tìm hiểu và nắm bắt được các công cụ thiết kế Web. - Biết được cách thiết kế web động cũng như cách tổ chức CSDL. - Các dịch vụ trên internet, đặc biệt là web. + Về cài đặt chương trình: - Giới thiệu các mặt hàng thời trang của cửa hàng đến với khách hàng - Cho phép tra cứu mặt hàng khi khách có nhu cầu tìm kiếm. - Cho phép khách hàng thực hiện việc đặt hàng qua mạng. - Tiếp nhận đơn đặt hàng của khách hàng. - Lập đơn hàng. - Cập nhật: mặt hàng, khách hàng, nhà cung cấp, sản phẩm. + Tính năng của chương trình: - Thông tin về khách hàng, mặt hàng được cập nhật kịp thời, chính xác. - Giao diện thân thiện với người dùng.

doc55 trang | Chia sẻ: tienthan23 | Lượt xem: 5476 | Lượt tải: 6download
Bạn đang xem trước 20 trang tài liệu Đề tài Xây dựng website giới thiệu sản phẩm thời trang D&G Hòa Bình, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
MỤC LỤC LỜI CẢM ƠN Lời đầu tiên, Em xin chân thành cảm ơn trường Đại học Công nghệ thông tin và truyền thông Đại học Thái Nguyên đã tạo điều kiện cho em được thực hiện đề tài này. Em xin chân thành cảm ơn các thầy cô giáo Khoa công nghệ thông tin trường Đại học Công nghệ thông tin & Truyền thông đã trang bị cho em kiến thức về công nghệ thông tin trong suốt thời gian em học tập tại trường. Với sự hướng dẫn tận tình của Thầy giáo Th.S Trịnh Văn Hà em đã hoàn thành cuốn báo cáo đồ án tốt nghiệp này. Tuy đã cố gắng hết sức tìm hiểu, phân tích thiết kế và cài đặt hệ thống nhưng do thời gian và khả năng có hạn nên bài đồ án của em không tránh khỏi những thiếu sót. Kính mong nhận được sự góp ý, phê bình của quý thầy cô và các bạn để em có thể hoàn thiện tốt hơn đề tài của mình. Em xin chân thành cảm ơn ! SV thực hiện: Quách Thị Thao Lớp: ĐHLT-CN-K12A Hòa Bình, tháng 10 năm 2014 LỜI GIỚI THIỆU Ngày nay, ứng dụng công nghệ thông tin và việc tin học hóa được xem là một trong những yếu tố mang tính quyết định trong hoạt động của các chính phủ, tổ chức, cũng như của các công ty, nó đóng vai trò hết sức quan trọng, có thể tạo ra những bước đột phá mạnh mẽ. Cùng với sự phát triển không ngừng về kỹ thuật máy tính và mạng điện tử, công nghệ thông tin cũng được những công nghệ có đẳng cấp cao và lần lượt chinh phục hết đỉnh cao này đến đỉnh cao khác. Mạng Internet là một trong những sản phẩm có giá trị hết sức lớn lao và ngày càng trở nên một công cụ không thể thiếu, là nền tảng chính cho sự truyền tải, trao đổi thông tin trên toàn cầu. Giờ đây, mọi việc liên quan đến thông tin trở nên thật dễ dàng cho người sử dụng: chỉ cần có một máy tính kết nối internet và một dòng dữ liệu truy tìm thì gần như lập tức cả thế giới về vấn đề mà bạn đang quan tâm sẽ hiện ra, có đầy đủ thông tin, hình ảnh và thậm chí đôi lúc có cả những âm thanh nếu bạn cần. Bằng internet, chúng ta đã thực hiện được nhiều công việc với tốc độ nhanh hơn và chi phí thấp hơn nhiều so với cách thức truyền thống. Chính điều này, đã thúc đẩy sự khai sinh và phát riển của thương mại điện tử và chính phủ điện tử trên khắp thế giới, làm biến đổi đáng kể bộ mặt văn hóa, nâng cao chất lượng cuộc sống con người. Trong hoạt động sản xuất, kinh doanh, giờ đây, thương mại điện tử đã khẳng định được vai trò xúc tiến và thúc đẩy sự phát triển của doanh nghiệp. Đối với một cửa hàng hay shop, việc quảng bá và giới thiệu đến khách hàng các sản phẩm mới đáp ứng được nhu cầu của khách hàng sẽ là cần thiết. Nắm bắt được thực tế đó, em đã tìm hiểu và thực hiện đề tài “Xây dựng website giới thiệu sản phẩm thời trang D&G Hòa Bình”. Báo cáo được chia làm 3 phần chính bao gồm: Chương 1: Tổng quan về ngôn ngữ lập trình PHP và MySQL. Chương 2: Phân tích thiết kế hệ thống. Chương 3: Demo website giới thiệu sản phẩm thời trang D&G – Hòa Bình DANH MỤC HÌNH VẼ Hình 2.1: Sơ đồ quy trình nghiệp vụ của đề tài.........................................................19 Hình 2.2: Biểu đồ luồng dữ liệu mức ngữ cảnh24 Hình 2.3: Biểu đồ phân cấp chức năng..26 Hình 2.4: Biểu đồ luồng dữ liệu mức đỉnh27 Hình 2.5: Biểu đồ chức năng Quản lý hệ thống28 Hình 2.6: Biểu đồ chức năng Mua hàng29 Hình 2.7: Biểu đồ chức năng Thống kê.........30 Hình 2.8: Biểu đồ chức năng Tìm kiếm........31 Hình 2.9: Sơ đồ thực thể liên kết E – R.....41 Hình 3.1: Giao diện chính của website......42 Hình 3.2: Giao diện trang đăng ký khách hàng.42 Hình 3.3: Giao diện trang bộ sưu tập43 Hình 3.4: Giao diện trang tin tức...43 Hình 3.5: Giao diện trang liên hệ......44 Hình 3.6: Giao diện trang giỏ hàng khách hàng44 Hình 3.7: Giao diện trang thông tin khách hàng...45 Hình 3.8: Giao diện trang đổi mật khẩu cá nhân khách hàng45 Hình 3.9: Giao diện trang cập nhật thông tin khách hàng.46 Hình 3.10: Giao diện trang đặt hàng.46 Hình 3.11: Giao diện trang đăng nhập admin....47 Hình 3.12: Giao diện trang quản lý danh sách loại sản phẩm...48 Hình 3.13: Giao diện trang quản lý danh sách nhà sản xuất48 Hình 3.14: Giao diện trang quản lý danh sách đơn hàng.49 Hình 3.15: Giao diện trang quản lý danh sách khách hàng..49 Hình 3.16: Giao diện trang quản lý chi tiết thông tin khách hàng50 Hình 3.17: Giao diện trang quản lý danh sách bộ sưu tập50 Hình 3.18: Giao diện trang quản lý danh sách liên hệ..51 Hình 3.19: Giao diện trang thêm sản phẩm..51 Hình 3.20: Giao diện trang quản lý chi tiết đơn hàng...52 Hình 3.21: Giao diện trang sửa thông tin bộ sưu tập..52 Hình 3.22: Giao diện trang quản lý chi tiết bộ sưu tập...53 CHƯƠNG 1. TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH PHP VÀ MYSQL 1.1 Đặt vấn đề Như chúng ta đã thấy trong thị trường hiện nay thì việc cạnh tranh về kinh doanh ngày càng trở nên quyết liệt và hầu hết những nhà kinh doanh, những công ty lớn đều rất chú tâm đến việc làm thỏa mãn khách hàng một cách tốt nhất. Hiện nay càng nhiều doanh nghiệp phát triển hệ thống bán hàng theo loại hình thương mại điện tử. Theo kết quả khảo sát của Công ty nghiên cứu thị trường Việt, khoảng 90% các công ty kinh doanh, dịch vụ ở Việt Nam có hệ thống bán hàng qua Internet và điện thoại. So với kinh doanh truyền thống thì thương mại điện tử chi phí thấp hơn, hiệu quả đạt cao hơn. Hơn thế nữa, với lợi ích của công nghệ Internet nên việc truyền tải thông tin về sản phẩm nhanh chóng, thuận tiện. Kết hợp với bộ phận giao hàng tận nơi, là thông qua bưu điện và ngân hàng để thanh toán tiền, càng tăng thêm thuận lợi để loại hình này phát triển. 1.2. Mục đích của đề tài Đây là một website nhằm bán và giới thiệu rộng rãi các mặt hàng của công ty đến người tiêu dùng với các chi tiết mặt hàng cũng như giá cả một cách chính xác nhất. Website sau khi xây dựng xong sẽ đáp ứng được các yêu cầu cơ bản sau: Giúp cho khách hàng: Khách hàng là những người có nhu cầu mua sắm hàng hóa. Họ sẽ tìm kiếm các mặt hàng cần thiết từ hệ thống và đặt mua các mặt hàng này. Vậy nên website phải giúp cho khách hàng: Tìm kiếm và lựa chọn từ xa các sản phẩm mình cần: Khách hàng khi truy cập vào website thương mại điện tử thường tìm kiếm các mặt hàng hay các sản phẩm mà họ cần và muốn mua. Nhưng đôi khi cũng có nhiều khách hàng vào website mà không có ý định mua hay không biết mua gì, thì yêu cầu đặt ra cho hệ thống là làm thế nào để khách hàng dễ bị bắt mắt và hấp dẫn bởi các sản phẩm đó, đồng thời có thể tìm kiếm nhanh và hiệu quả các sản phẩm mà họ cần tìm. Đặt mua hàng: Sau khi khách hàng lựa chọn xong các mặt hàng cần mua thì đơn đặt hàng sẽ được hiển thị để khách hàng nhập vào những thông tin cần thiết, tránh những đòi hỏi hay những thông tin yêu cầu quá nhiều từ phía khách hàng, tạo cảm giác thoải mái, riêng tư cho khách hàng. Theo dõi đơn hàng của mình. Gửi ý kiến đóng góp. Giúp nhà quản lý: Là người có quyền đăng nhập, quản lý và làm chủ mọi hoạt động của hệ thống website. Người quản lý có một username và password để truy cập vào hệ thống nhằm thực hiện các chức năng sau: Quản lý sản phẩm một cách dễ dàng. Thêm, xóa, sửa thông tin sản phẩm vào cơ sở dữ liệu. Kiểm tra và xử lý đơn đặt hàng. Báo cáo doanh thu. Bên cạnh các chức năng nêu trên thì website phải trông thật đẹp mắt và dễ truy cập. Giao diện đẹp là yếu tố quan trọng góp phần tăng lượng khách hàng, và website phải làm sao cho khách hàng thấy được những thông tin cần tìm, cung cấp những thông tin quảng cáo thật hấp dẫn, nhằm thu hút sự quan tâm về công ty mình và có cơ hội sẽ có nhiều người tham khảo hơn. Điều quan trọng trong website mua bán hàng trên mạng là phải đảm bảo an toàn tuyệt đối những thông tin liên quan đến người dùng trong quá trình đặt mua hay thanh toán. Đồng thời website còn phải có tính dễ nâng cấp, bảo trì, sửa chữa khi cần bổ sung cập nhật những tính năng mới. 1.3. Đối tượng ứng dụng và phạm vi nghiên cứu đề tài Đối tượng ứng dụng của đề tài: Mọi người tiêu dùng trên toàn quốc có nhu cầu đặt mua hàng qua mạng. Các công ty, các doanh nghiệp có nhu cầu đặt hàng. Phạm vi nghiên cứu của đề tài: Tìm hiểu kỹ thuật lập trình, các thức hoạt động và các đối tượng trong PHP. Hiểu được cách thức hoạt động của Client – Server Hiểu được cách lưu trữ dữ liệu của hệ quản trị cơ sở dữ liệu MySQL. Sử dụng ngôn ngữ PHP và hệ quản trị CSDL MySQL để xây dựng website. 1.4. Ý nghĩa khoa học thực tiễn của đề tài Trong thời đại thương mại điện tử đang ngày càng phát triển, việc ứng dụng vào hoạt động “Xây dựng Website giới thiệu sản phẩm và bán hàng thời trang D&G” đã mang lại nhiều ý nghĩa sau: - Đỡ tốn thời gian cho người tiêu dùng cũng như nhà quản lý trong việc tham gia vào hoạt động mua bán hàng. - Giúp người tiêu dùng có được giá cả và hình ảnh mặt hàng một cách chính xác. - Giúp nhà quản lý dễ dàng hơn trong việc quản lý sản phẩm. 1.5. Ngôn ngữ lập trình PHP là gì? PHP (viết tắt quy hồi: “PHP: Hypertext Preprocesssor”) 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 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 viết web và có thể dễ dàng nhúng vào 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 Zen 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. Tại sao chọn sử dụng PHP? Mã nguồn mở: Có lẽ nhiều người cũng biết PHP là một sản phẩm mã nguồn mở (Open-source) nên việc cài đặt và tùy biến PHP là miễn phí và tự do. Vì có ưu thế nguồn mở nên PHP có thể được cài đặt trên hầu hết các Web Server thông dụng hiện nay như Apache, IIS Tính Cộng đồng của PHP: Là một ngôn ngữ mã nguồn mở cùng với sự phổ biến của PHP thì cộng đồng PHP được coi là khá lớn và có chất lượng. Với cộng đồng phát triển lớn, việc cập nhật các bản vá lỗi phiên bản hiện tại cũng như thử nghiệm các phiên bản mới khiến PHP rất linh hoạt trong việc hoàn thiện mình. Cộng đồng hỗ trợ, chia sẽ kinh nghiệm của PHP cũng rất dồi dào. Với rất nhiều diễn đàn, blog trong và ngoài nước nói về PHP đã khiến cho quá trình tiếp cận của người tìm hiểu PHP được rút ngắn nhanh chóng. Thư viện phong phú: Ngoài sự hỗ trợ của cộng đồng, thư viện script PHP cũng rất phong phú và đa dạng. Từ những cái rất nhỏ như chỉ là 1 đoạn code, 1 hàm (PHP.net) cho tới những cái lớn hơn như Framework (Zend, CakePHP, CogeIgniter, Symfony) ,ứng dụng hoàn chỉnh (Joomla, Wordpress, PhpBB). Với thư viện code phong phú, việc học tập và ứng dụng PHP trở nên rất dễ dàng và nhanh chóng. Đây cũng chính là đặc điểm khiến PHP trở nên khá nổi bật và cũng là nguyên nhân vì sao ngày càng có nhiều người sử dụng PHP để phát triển web. Hỗ trợ kết nối nhiều hệ cơ sở dữ liệu: Nhu cầu xây dựng web có sử dụng cơ sở dữ liệu là một nhu cầu tất yếu và PHP cũng đáp ứng rất tốt nhu cầu này. Với việc tích hợp sẵn nhiều Database Client trong PHP đã làm cho ứng dụng PHP dễ dàng kết nối tới các hệ cơ sở dữ liệu thông dụng. 1.6. Một số khái niệm liên quan đến PHP Script: là một dãy các lệnh đặc tả (Script). Một script có thể: Gán một giá trị cho một biến. Một biến là một tên xác định để lưu giữ dữ liệu, như một giá trị. Chỉ thị cho Web Server gửi trả lại cho trình duyệt web một giá trị nào đó, như giá trị cho một biến. Một chỉ thị trả cho trình duyệt một giá trị là một biểu thức đầu ra (output expression). Tổ hợp của các lệnh được đặt trong các thủ tục. Một số thủ tục là tên gọi tuần tự của các lệnh và khai báo cho phép hoạt động như một ngôn ngữ (unit). Ngôn ngữ script: Là ngôn ngữ trung gian giữa HTML và ngôn ngữ lập trình C++, Javanói chung được sử dụng để tạo và kết nối các trang text. Ngôn ngữ Scripting nằm giữa chúng mặc dù chức năng của nó giống ngôn ngữ lập trình hơn là các trang HTML đơn giản. Sự khác nhau cơ bản của ngôn ngữ Scripting và ngôn ngữ lập trình là các nguyên tắc của nó ít cứng nhắc và ít rắc rối khó hiểu hơn. Do vậy, các đoạn chương trình script gọn nhẹ hơn có thể lồng ngay vào trang Web. Công cụ đặc tả (Scripting engine): Để chạy được các loại chương trình Script thì phải có máy script engine. Máy này có nhiệm vụ đọc mã nguồn của chương trình và thực hiện các câu lệnh đó. Mỗi ngôn ngữ script có một loại máy script engine riêng. Ngôn ngữ được PHP hỗ trợ mặc định là JavaScript 1.7. Hệ quản trị cơ sở dữ liệu MySQL MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các tiện ích rất mạnh. Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet. MySQL có nhiều phiên bản cho các hệ điều hành khác nhau. Điểm mạnh của MySQL là chạy trên mọi ngôn ngữ như ASP, PHP, .Net, JSP khi chạy nó không đòi hỏi tài nguyên máy quá lớn. Nhược điểm là độ bảo mật chưa cao bằng MSSQL hay Oracle và quá trình Restore có phần chậm chạp. Tuy nhiên những nhược điểm đó không đáng kể cho các lập trình cỡ trung bình khá, vì chỉ có những hệ thống lớn đến rất lớn mới có những yêu cầu phức tạp hơn. 10 lý do nên chọn MySQL cho ứng dụng của mình: Tính linh hoạt: Máy chủ CSDL 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 Window đ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 CSDL cấu hình máy chủ CSDL 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. Có thể sử dụng ngay: Sự đáng tin cậy cao và tính “mì ăn liền” là những tiêu chuẩn đảm bảo của MySQL. MySQL đưa ra nhiều tùy chọn có thể dùng ngay từ cấu hình tái tạo chủ/tớ tốc độ cao, để các nhà phân phối thứ 3 đưa ra những giải pháp có thể dùng ngay duy nhất cho server cơ sở dữ liệu MySQL. 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 tinh 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 trình diễn khả năng cài đặt nhanh đặc biệt với thời gian ở mức trung bình từ lúc download phần mềm đến khi cài đặt hoàn thành chỉ mất chưa đầy 15 phút. Điều này đúng cho dù flatform là Microsoft Windows,Linux, Macintosh hay Unix . 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. Mã nguồn mở tự do và hỗ trợ 24/7: Nhiều công ty lưỡng lự trong việc giao phó toàn bộ cho phần mềm mã nguồn mở vì họ tin họ không thể tìm được một cách hỗ trợ hay mạng lưới an toàn phục vụ chuyên nghiệp, hiện tại, họ tin vào phần mềm có bản quyền để chắc chắn về sự thành công toàn diện cho các ứng dụng chủ chốt của họ. Những lo lắng của họ có thể được dẹp bỏ với MySQL, sự bồi thường là có trong mạng lưới MySQL. Tổng chi phí rất thấp: 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. 1.8. Các hàm cơ bản làm việc với MySQL Các hàm kết nối đến MySQL SERVER PHP cung cấp 2 hàm để kết nối với cơ sở dữ liệu MySQL: mysql_connect và mysql_pconnect. mysql_connect(): hàm này sẽ tạo một kết nối tới máy chủ MySQL. Cú pháp: Int mysql_connect(string[hostname[:post] [:/path_to_socket]], string[username], string[password]); Trong đó: hostname: tên máy chủ cơ sở dữ liệu, nơi trang web sẽ chứa cơ sở dữ liệu. giá trị ngầm định là “localhost” post : dịa chỉ cổng, nơi bộ máy cơ sở dữ liệu lắng nghe yêu cầu. giá trị ngầm định là “:3306”. path_to_socket : cũng giống như :post nhưng chỉ cho hệ điều hành UNIX. Giá trị ngầm định là “:/tmp/mysql.sock”. Username: tên của người sử dụng được phép kết nối vào bộ máy cơ sở dữ liệu. Password: mật khẩu của người sử dụng để kết nối vào cơ sở dữ liệu. Hàm này trả về mã số nhận dạng nếu kết nối thành công, giá trị 0 nếu việc kết nối có lỗi. mã số nhận dạng này sẽ được sử dụng cho tất cả các yêu cầu tới bộ máy cơ sở dữ liệu này. Sự kết nối này sẽ đóng lại khi gọi hàm mysql_close() hoặc kết thúc đoạn PHP Script. mysql_pconnect(): hàm này tạo ra một liên kết bền vững với máy chủ MySQL. Cú pháp: Int mysql_pconnect (string [hostname [:post] [:/path_to_socket]], string[username], string [password]); Tham số và giá trị trả về của hàm này cũng giống hàm mysql_connect(). Sự khác biệt giữa 2 hàm này là liên kết tới máy chủ MySQL không bị đóng lại kể cả khi kết thúc kịch bản PHP hay gọi hàm mysql_close(). Mục đích của hàm này là luôn luôn duy trì liên kết tới máy chủ MySQL do luôn có sự yêu cầu tới máy chủ, tránh cho máy chủ phải tìm kiếm mã số nhận dạng mới từ đó giảm thời gian truy cập. Chú ý: hàm này chỉ thực hiện được khi PHP được định cấu hình như là một module của web server. mysql_close(): hàm này hủy bỏ sự kết nối tới máy chủ MySQL. Cú pháp: Int mysql_close(int [link_identifier]); Tham số link_ identifier là mã số nhận dạng tạo ra bởi hàm mysql_connect(). Hàm trả về là true nếu thành công, ngược lại là false. Các hàm thao tác trên CSDL mysql_create_db(): hàm tạo cơ sở dữ liệu Cú pháp: Int mysql_create_db(string name, int [link_identifier]); Trong đó: string name: tên của cơ sở dữ liệu cần tạo. link_identifier: mã số nhận dạng được cấp bởi hàm mysql_connect(). Ta hoàn toàn có thể gửi câu lệnh SQL để tạo cơ sở dữ liệu thông qua hàm mysql_query(). mysql_drop_db():hàm xóa cơ sở dữ liệu Cú pháp: Int mysql_drop_db(string name, int [link_identifier]); Trong đó: string name: tên cơ sở dữ liệu cần xóa. link_identifier: mã số nhận dạng được cấp bởi hàm mysql_connect(). Ta hoàn toàn có thể gửi câu lệnh SQL để xóa cơ sở dữ liệu thông qua hàm mysql_query(). mysql_select_db():hàm cho cơ sở dữ liệu hoạt động. Cú pháp: Int mysql_select_db(string database_name, int [link_identifier]); Trong đó: database_name: tên của cơ sở dữ liệu mà sau này các hàm API khác của PHP sẽ thực hiện trên đó. link_identifier: mã nhận dạng được cấp bởi mysql_connect(). Câu lệnh này sẽ gắn tên cơ sở dữ liệu với mã nhận dạng, sau này khi làm việc với link_identifier sẽ bao gồm cả cơ sở dữ liệu được chọn. Link_identifier: mã số nhận dạng được cấp bởi hàm mysql_connect() Hàm này chỉ rõ câu lệnh được thực hiện trên cơ sở dữ liệu nào nên trước đó không cần thực hiện hàm mysql_select_db(); mysql_insert_id(): Hàm lấy giá trị được sinh ra từ câu truy vấn INSERT trước. Cú pháp: Int mysql_insert_id([link_identifier]); Trong đó: - link_identifier: mã số nhận dạng được cấp bởi hàm mysql_connect(). - Hàm này trả về giá trị id được sinh ra trong cột AUTO_INCREMENT bởi câu truy vấn trước đó. Điều này chỉ có tác dụng trên link_identifier được chỉ ra trong hàm, nếu gọi hàm trên mà không chỉ định tham số link_identifier thì lien kết được mở cuối cùng sẽ được chỉ định. Hàm mysql_insert_id() trả về giá trị 0 nếu câu truy vấn trước đó không sinh ra một giá trị AUTO_INCREMENT. Nếu ta muốn giữ lại giá trị cho lần sau, thì phải gọi hàm này ngay sau câu truy vấn sinh ra giá trị. mysql_fetch_row(): Hàm trả về một mảng là giá trị của một bản ghi hiện tại với chỉ số là thứ tự của các trường (chỉ số bắt đầu từ 0). Sau đó hàm sẽ trỏ tới bản ghi tiếp theo cho tới khi gặp bản ghi cuối cùng hàm trả về giá trị false. Để truy xuất tới các giá trị của cột ta viết : tên_mảng[số thứ t] Cú pháp: Array mysql_fetch_row(int result_identifier); Trong đó : result_identifier là mã số trả về của hàm mysql_query() hoặc mysql_db_query(). mysql_fetch_array(): Hàm trả về một mảng là giá trị của một bản ghi hiện tại, sau đó hàm sẽ trỏ tới bản ghi tiếp theo cho tới khi gặp bản ghi cuối cùng hàm trả về giá trị false. Cú pháp: Array mysql_fetch_array(int result_identifier,[int result_type]); Trong đó: result_identifier là mã số trả về của hàm mysql_query() hoặc mysql_db_query(). Để truy xuất đến các thành phần của cột: Tên_biến_mảng[“tên trường”]; Result_type là một hằng số có thể nhận các giá trị sau: - MYSQL_NUM: chỉ trả lại một mảng chứa các chỉ số là số (giống như hàm mysql_fetch_row()) - MYSQL_ASSOC: chỉ trả lại một mảng liên kết. - MYSQL_BOTH : trả lại mảng chứa đựng các chỉ số gồm cả các con số và chỉ số liên kết. Hàm này là sự mở rộng của hàm mysql_fetch_row(). Nó cho phép truy cập trường dữ liệu của mảng kết quả không chỉ thông qua các chỉ số là các số mà chúng có thể là tên của các trường dữ liệu. mysql_fetch_object(): hàm trả về nột đối tượng là giá trị của một bản ghi hiện thời. sau đó hàm sẽ trỏ tới bản ghi tiếp theo cho tới khi gặp bản ghi cuối cùng hàm trả về giá trị false. Để truy xuất tới các giá trị của cột ta viết tên_object->tên_cột. Cú pháp: Object mysql_fetch_object(int result_identifier); Trong đó: result_identifier là mã số trả về của hàm mysql_query() hoặc mysql_db_query(). mysql_fetch_assoc(int result_identifier): lấy về một dòng kết quả như là một mảng liên kết. Cú pháp: array mysql_fetch_row(int result_identifier) Trong đó: result_identifier là mã số trả về của hàm mysql_query() hoặc mysql_db_query(). Hàm trả về một mảng tương ứng với một bản ghi được lấy về và trả lại FALSE, nếu không có bản ghi nào. Hàm này tương đương với hàm Array mysql_fetch_array() với tham số result_type là : MYSQL_ASSOC mysql_data_seek() Di chuyển con trỏ bên trong “tập kết quả” (có được sau khi câu truy vấn SELECT được thực hiện) Cú pháp: bool mysql_data_seek(int result_identifier, int row_number); Trong đó: result_identifier là mã số trả về của hàm mysql_query(), mysql_db_query(), mysql_list_tables(), mysql_list_dbs(). Row_number là chỉ số của bản ghi mà cần đặt con trỏ vào. Hàm trả về true nếu thành công, false nếu lỗi. Hàm này sẽ di chuyển con trỏ bên trong “tập kết quả” (được chỉ rõ bởi tham số result_identifier) đến dòng có mã bằng tham đối row_number. Các dòng trong tập kết quả được bắt đầu bằng 0 mysql_num_rows(): trả lại số dòng trong result_identifier (nơi chứa kết quả của câu lệnh SQL đã được thực hiện) Cú pháp: mysql_num_rows(result_identifier); Trong đó: result_identifier là mã số trả về của hàm mysql_query(), mysql_db_query(), mysql_list_tables(), mysql_list_dbs(). mysql_affected_row() Cú pháp: int link_ affected_row(int [link_identifier]); Trong đó: int link_identifier là mã số nhận dạng, nó phải được thực hiện trong hàm mysql_select_db() trước đó. Hàm trả về số dòng đã bị tác động bởi một câu truy vấn SQL : INSERT, UPDATE, DELETE trước đó theo tham số link_ identifier. Nếu link_ identifier không được chỉ định thì mã kết nối trước đó sẽ được chỉ định. mysql_result() : lấy dữ liệu từ result_identifier Cú pháp: mixed mysql_result(int result_identifier, int row, mixed [field]); Trong đó: result_identifier la mã số trả về của hàm mysql_query(), mysql_db_query(), mysql_list_tables(), mysql_list_dbs(). Row là bản ghi mà ta sẽ lấy dữ liệu Field là trường trong dòng row mà ta sẽ lấy dữ liệu. Các tham số result_identifier và row phải có, còn tham số field là tùy chọn. hàm sẽ trả lại các nội dung của dòng row và cột field rừ tập kết quả được chỉ định bởi biến result_identifier. Nếu đối số field không được chỉ định rõ thì trường tiếp theo sẽ được trả về. mysql_free_result() : hàm giải phóng bộ nhớ được lien kết với result_identifier. Cú pháp: mysql_free_result(int result_identifier); Trong đó: result_identifier là mã số trả về của hàm mysql_query(), mysql_db_query(), mysql_list_tables(), mysql_list_dbs(). Hàm này chỉ được dùng nếu như ta đánh giá thấy kịch bản sử dụng quá nhiều bộ nhớ khi đang chạy. gọi hàm này trên một trình xử lý kết quả sẽ giải phóng toàn bộ dữ liệu liên kết trong bộ nhớ. CHƯƠNG 2. PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2.1 Khảo sát hệ thống của đề tài 2.1.1 Sơ đồ quy trình nghiệp vụ Xây dựng và thiết kế chương trình Hướng dẫn sử dụng và quản trị website Cài đặt và kiểm thử chương trình Phân tích và thiết kế hệ thống Hình 2.1: Sơ đồ quy trình nghiệp vụ của đề tài 2.1.2 Khảo sát hiện trạng - Địa chỉ: Thị Trấn Vụ Bản – Huyện Lạc Sơn – Tỉnh Hòa Bình - Di động: 01649751536. D&G Hòa Bình Thời trang của mọi nhà. Dòng sản phẩm D&G Hòa Bình được thiết kế dựa trên sự kết hợp giữa ý tưởng chủ đạo là phong cách hiện đại, sang trọng, trẻ trung, năng động, với những điểm nhấn, họa tiết tinh tế phù hợp với bản sắc, văn hóa Việt. Trên nền chất liệu ngoại nhập cao cấp, các sản phẩm được thiết kế với mẫu mã đa dạng, kiểu dáng phong phú, sang trọng có tính ứng dụng cao luôn đáp ứng được sự mong mỏi của những người yêu thích thời trang khó tính nhất. Nhờ sự hoàn hảo của sản phẩm cũng như chất lượng trong dịch vụ D&G Hòa Bình nhanh chóng khẳng định chỗ đứng vững chắc trong làng thời trang. Trên con đường khẳng định thương hiệu, D&G Hòa Bình luôn lấy sự hài lòng của khách hàng làm kim chỉ nam cho mọi hoạt động, lấy việc tôn vinh vẻ đẹp nữ giới công sở Việt Nam là sứ mệnh hoạt động. Với kế hoạch phát triển mang tính chiến lược, D&G sẽ là thương thiệu thời trang lớn mạnh được yêu thích trên toàn quốc Các mặt hàng sản phẩm D&G Hòa Bình Áo sơ mi Nữ Áo Khoác Nữ Váy Đầm Giày dép Nữ Phụ Kiện Nữ Juyp Áo sơ mi Nam Áo khoác Nam Quần Nam Giày dép Nam Sau khi khảo sát hiện trạng, em nắm bắt được các thông tin sau: Quản lý mặt hàng: mỗi mặt hàng được quản lý những thông tin sau: Tên mặt hàng, đơn giá, số lượng, hình ảnh và chi tiết mặt hàng. Quá trình đặt hàng của khách hàng: khách hàng xem và lựa chọn mặt hàng cần mua. Trong quá trình lựa chọn, bộ phận bán hàng sẽ trực tiếp trao đổi thông tin cùng khách hàng qua tư vấn trực tuyến bằng yahoo và skype. Sau khi lựa chọn xong, khách hàng sẽ tiến hành cho vào giỏ hàng. Trong trường hợp nhiều công ty, trường học, các doanh nghiệp có yêu cầu đặt hàng với số lượng lớn, thì cửa hàng sẽ nhanh chóng làm phiếu đặt hàng, phiếu thu có ghi thuế cho từng sản phẩm và giao hàng theo yêu cầu. Khách hàng: là những người có nhu cầu mua sắm hàng hóa. Trên mạng, các mặt hàng được sắp xếp và phân theo từng loại mặt hàng giúp cho khách hàng dễ dàng tìm kiếm. Trong hoạt động này, khách hàng chỉ cần chọn một mặt hàng nào đó từ danh mục các mặt hàng thì những thông tin về mặt hàng đó sẽ hiển thị lên màn hình như: hình ảnh, đơn giá, mô tả và bên cạnh là liên kết thêm hàng hóa vào giỏ hàng. Đây là giỏ hàng điện tử mà trong đó chứa các thông tin về hàng hóa lẫn số lượng hàng hóa còn lại trong kho và hoàn toàn cập nhật được giỏ hàng. Khi khách hàng muốn đặt hàng thì cho sản phẩm cần mua vào giỏ hàng khi khách hàng thanh toán thì sẽ cần phải nhập các thông tin cần thiết vào đơn hàng. Cuối cùng khách hàng xác nhận đơn hàng. Nhà quản lý: là người làm chủ hệ thống, có quyền kiểm soát mọi hoạt động của hệ thống. Nhà quản lý được cấp một username và password để đăng nhập vào hệ thống thực hiện những chức năng của mình. Nếu như quá trình đăng nhập thành công thì nhà quản lý có thể thực hiện những công việc: quản lý cập nhật thông tin các mặt hàng, tiếp nhận đơn hàng, kiểm tra đơn hàng và xử lý đơn hàng. Thống kê các mặt hàng bán trong tháng, năm, thống kê khách hàng, nhà cung cấp, thống kê tồn kho, thống kê doanh thu. Khi có nhu cầu nhập hàng hóa từ nhà cung cấp thì tiến hành liên lạc với nhà cung cấp để đặt hàng và cập nhật các mặt hàng này vào cơ sở dữ liệu. 2.2 Phân tích hệ thống về mặt chức năng 2.2.1 Mô tả chức năng Hệ thống quản lý website bán hàng và giới thiệu sản phẩm thời trang D&G Hòa Bình gồm các chức năng sau: Đăng nhập. Tìm kiếm. Kiểm tra. Đặt hàng. Chức năng đặt hàng được phân thành các chức năng nhỏ như: Kiểm tra khách hàng, ghi nhận khách hàng, tra cứu mặt hàng, xử lý mặt hàng, kiểm tra đặt hàng. Chức năng cập nhật bao gồm: cập nhật mặt hàng, cập nhật nhà cung cấp và cập nhật đơn hàng. 2.2.2 Biểu đồ luồng dữ liệu Trong một hệ thống thông tin bao gồm hai thành phần chính: dữ liệu và xử lý dữ liệu. Dữ liệu mang sắc thái tĩnh còn xử lý dữ liệu mang sắc thái động của hệ thống. Một biểu đồ dữ liệu gồm có 5 thành phần: - Các chức năng xử lý. - Luồng dữ liệu. - Kho dữ liệu. - Tác nhân bên ngoài. - Tác nhân bên trong. Các chức năng xử lý: Diễn đạt các thao tác, các nhiệm vụ hay tiến trình xử lý. Có tính chất là biến đổi thông tin đầu vào để sản xuất ra thông tin đầu ra. Chức năng này được biểu diễn bằng hình tròn hoặc hình ôvan có ghi tên của chức năng đó. Trong biểu đồ luồng dữ liệu của một đề tài bao gồm 1 chức năng xử lý có tên: Hệ thống website bán hàng và giới thiệu sản phẩm thời trang D&G Hòa Bình. Tác nhân ngoài: Hay còn gọi là đối tác: một người, một nhóm người hay một tổ chức ở bên ngoài các lĩnh vực nghiên cứu của hệ thống. Sự có mặt của các tác nhân bên ngoài trên biểu đồ luồng dữ liệu chỉ ra mối quan hệ của hệ thống, chỉ ra giới hạn của hệ thống, và chỉ rõ quan hệ của hệ thống với bên ngoài. Tác nhân bên ngoài được biểu diễn bằng hình chữ nhật, bên trong ghi tác nhân bên ngoài. Trong biểu đồ luồng dữ liệu này có 2 tác nhân bên ngoài: Khách hàng và Nhà quản lý. Hai tác nhân bên ngoài này không trao đổi thông tin với nhau mà trao đổi, cung cấp thông tin với chức năng xử lý website bán hàng và giới thiêu sản phẩm thời trang qua mạng thông tin các luồng dữ liệu. Luồng dữ liệu: Là luồng thông tin vào/ra của một chức năng xử lý với các tác nhân bên ngoài, giữa các thành phần khách của biểu đồ luồng dữ liệu. Luồng dữ liệu được biểu diễn bằng mũi tên có hướng, có ghi tên nhãn, tên luồng dữ liệu. Kho dữ liệu: Các thông tin cần lưu giữ lại trong một khoảng thời gian cần sử dụng sau này để thực hiện vài chức năng xử lý. Người sử dụng là tác nhân bên trong của hệ thống. Kho dữ liệu được biểu hiện dưới nhiều dạng khác nhau: tài liệu lưu trữ, các file thông tin. Kho dữ liệu được biểu diễn là 2 đường thẳng song song và có mũi tên đi vào và đi ra. Tác nhân bên trong: Tác nhân bên trong là một chức năng hay hệ thống con của hệ thống. Tác nhân trong được biểu diễn là hình chữ nhật hở một phía, bên trong ghi tên tác nhân trong. Để xây dựng một biểu đồ luồng dữ liệu ta cần đưa ra được các bước cụ thể, khoa học để từ đó có thể tiến hành lập biểu đồ luồng dữ liệu một cách tốt nhất. Sau đây là 10 bước chính để xây dựng 1 biểu đồ luồng dữ liệu. Bước 1: Xác định tư liệu và cách trình bày hệ thống Bước 2: Xác định miền biên, miền giới hạn của hệ thống. Bước 3: Sử dụng và trình bày nguồn thông tin vào và nguồn thông tin ra. Bước 4: Sử dụng nguồn cung cấp thông tin vào ra, nguồn cung cấp thông tin vào và nguồn sử dụng thông tin ra. Bước 5: Xác định các kho dữ liệu. Bước 6: Vẽ biểu đồ mức đỉnh của hệ thống. Bước 7: Phân rã và làm mịn luồng dữ liệu mức đỉnh thành mức 2 và 3. Bước 8: Xây dựng từ điển phụ trợ để xây dựng biểu đồ luồng dữ liệu. Bước 9: Đánh giá kiểm tra biểu đồ luồng dữ liệu, dựa vào đánh giá này để tiến hành làm mịn hơn nữa biểu đồ Bước 10: Duyệt lại toàn bộ sơ đồ và biểu đồ phát hiện sai sót. Biểu đồ luồng dữ liệu mức ngữ cảnh Hình 2.2: Biểu đồ luồng dữ liệu mức ngữ cảnh Trong biểu đồ dữ liệu mức ngữ cảnh, các thành phần của biểu đồ dữ liệu được tổ chức như sau: + Chức năng xử lý: có chức năng xử lý hệ thống website bán bàng và giới thiệu sản phẩn thời trang D&G. + Tác nhân ngoài: có 2 tác nhân ngoài: Khách hàng và Nhà quản lý Hai tác nhân ngoài này không trao đổi thông tin với nhau mà trao đổi, cung cấp thông tin với chức năng xử lý của hệ thống qua các luồng dữ liệu. + Có nhiều luồng dữ liệu như: - Trao đổi giữa các chức năng xử lý và tác nhân bên ngoài KHÁCH HÀNG: yêu cầu thống kê các loại sản phẩm, bảng thống kê các loại sản phẩm, ý kiến đóng góp, trả lời ý kiến đóng góp, yêu cầu tìm kiếm sản phẩm, hiển thị sản phẩm tìm kiếm, yêu cầu đặt hàng, đơn hàng. Trao đổi giữa các chức năng xử lý và tác nhân bên ngoài NHÀ QUẢN LÝ: xem các đơn hàng, danh sách các đơn hàng, yêu cầu tra cứu sản phẩm, hiển thị sản phẩm tra cứu, yêu cầu sản phẩm, bảng thống kê sản phẩm, yêu cầu thống kê các đơn hàng, bảng thống kê các đơn hàng, yêu cầu tra cứu thành viên, bảng các thành viên , yêu cầu cật nhật sản phẩm, kết quả cập nhật sản phẩm. Biểu đồ phân cấp chức năng Quản lý hệ thống Mua hàng Tìm kiếm QL sản phẩm QL danh mục sản phẩm QL hóa đơn Xác nhận đơn hàng Gửi đơn hàng Tìm kiếm theo sản phẩm Tìm kiếm loại sản phẩm Tìm kiếm theo từ khóa Website bán hàng và giới thiệu sản phẩm thời trang Thống kê Thống kê khách hàng Thống kê admin Thống kê đơn hàng QL nhập thông tin sản phẩm Hình 2.3: Biểu đồ phân cấp chức năng Biểu đồ luồng dữ liệu mức đỉnh Hình 2.4: Biểu đồ luồng dữ liệu mức đỉnh Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng Quản lý hệ thống Hình 2.5: Biểu đồ chức năng Quản lý hệ thống Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng Mua hàng Hình 2.6: Biểu đồ chức năng Mua hàng Trong biểu đồ luồng dữ liệu mức dưới đỉnh chức năng Mua hàng, khi tác nhân ngoài KHÁCH HÀNG có Yêu cầu đặt hàng thì chức năng Kiểm tra KH sẽ đối chiếu thông tin của khách hàng thông qua Đăng nhập, nếu sai thì gửi đến khách hàng thông báo đăng nhập sai, nhập lại, nếu đúng thì chức năng Xác nhân đơn hàng sẽ đưa danh sách Sản phẩm, Loại sản phẩm, Hãng sản xuất tới chức năng gửi đơn hàng và hệ thống sẽ trả về kết quả Hóa đơn cho Khách hàng. Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng Thống kê Hình 2.7: Biểu đồ chức năng Thống kê Biểu đồ luồng dữ liệu mức dưới đỉnh chức năng Tìm kiếm Hình 2.8: Biểu đồ chức năng Tìm kiếm 2.3 Phân tích hệ thống về mặt dữ liệu. 2.3.1 Xác định thực thể Dựa vào các phân tích và khảo sát ở trên, ta có thể xác định các thực thể của hệ thống như sau : SANPHAM (pro_id, pro_name, pro_img, pro_des, pro_price, pro_status, pro_num) chứa thông tin về tên sản phẩm, giá sản phẩm,... LOAISANPHAM (cat_id, cat_name, cat_des)chứa danh mục loại sản phẩm. NHASANXUAT (man_id, man_name) chứa thông tin tên nơi xuất xứ. HOADON (ord_id, ord_name, ord_add, ord_phone, ord_date,) chi tiết về hóa đơn. ADMIN (adm_id, adm_user, adm_pass, adm_phone, adm_name) chứa tài khoản của admin để đăng nhập vào hệ thống. TINTUC (new_id, new_title, new_date, new_sho_con, new_content, new_img) chứa các tin tức được đăng tải trên website. BOSUUTAP (col_id, col_title, col_date, col_img, col_sho_con, col_conten) thông tin về các bộ sưu tập. LIENHE (con_id, con_name, con_email, con_add, con_phone, con_content, con_date) lưu nội dung về các phản hồi của khách hàng về website, thông tin người phản hồi HINHANH (img_id, col_id, img_name) chứa thông tin về các hình ảnh của sản phẩm. 2.3.2 Ý nghĩa bảng dữ liệu các trường sanpham.tbl Tên trường Nội dung pro_id Mã sản phẩm pro_name Tên sản phẩm pro_img Hình ảnh sản phẩm pro_des Giới thiệu sản phẩm pro_price Giá sản phẩm pro_status Trạng thái của sản phẩm pro_num Số lượng của sản phẩm loaisanpham.tbl Tên trường Nội dung cat_id Mã loại sản phẩm cat_name Tên loại sản phẩm cat_des Giới thiệu loại sản phẩm hangsanxuat.tbl Tên trường Nội dung man_id Mã hãng sản xuất man_name Tên hãng sản xuất hoadon.tbl Tên trường Nội dung ord_id Mã đơn đặt hàng cus_id Mã khách hàng đặt hàng ord_rename Tên khách hàng đặt hàng ord_readd Địa chỉ khách hàng nhận hàng ord_recphone Số điện thoại khách hàng đặt hàng ord_date Ngày mua hàng ord_redate Ngày nhận hàng ord_status Trạng thái của sản phẩm ord_totalpro Tổng sản phẩm đặt hàng ord_totalmoney Tổng giá tiền đặt hàng admin.tbl Tên trường Nội dung amd_id Mã admin amd_user Tên tài khoản admin amd_pass Mật khẩu admin amd_email Email admin amd_phone Số điện thoại admin amd_name Tên admin tintuc.tbl Tên trường Nội dung new_id Mã tin tức pro_id Mã sản phẩm new_title Tiêu đề tin tức new_date Ngày đăng tin tức new_sho_con Phần hiển thị tin tức new_content Nội dung tin tức new_img Hình ảnh minh họa của tin tức bosuutap.tbl Tên trường Nội dung col_id Mã bộ sưu tập col_title Tiêu đề bộ sưu tập col_date Ngày đăng bộ sưu tập col_img Hình ảnh bộ sưu tập col_sho_con Phần hiển thị bộ sưu tập col_content Nội dung bộ sưu tập lienhe.tbl Tên trường Nội dung con_id Mã liên hệ con_name Tên người liên hệ con_email Email người liên hệ con_add Địa chỉ người liên hệ con_phone Số điện thoại người liên hệ con_content Nội dung liên hệ con_date Ngày gửi liên hệ hinhanh.tbl Tên trường Nội dung img_id Mã hình ảnh col_id Mã bộ sưu tập img_name Tên hình ảnh 2.3.3 Các bảng dữ liệu Bảng KHACHHANG: lưu thông tin về tài khoản khách hàng Khóa chính: cus_id Bảng SANPHAM: lưu thông tin về từng loại sản phẩm Khóa chính: pro_id Khóa ngoại: cat_id, man_id Bảng LOAISANPHAM: lưu thông tin về các loại sản phẩm Khóa chính: cat_id Bảng NHASANXUAT: lưu thông tin về các nhà sản xuất Khóa chính: man_id Bảng HOADON: lưu thông tin về các đơn hàng của khách hàng Khóa chính: ord_id Khóa ngoại: cus_id Bảng ADMIN: lưu thông tin về tài khoản admin Khóa chính: adm_id Bảng TINTUC: lưu thông tin về các tin tức Khóa chính: new_id Bảng BOSUUTAP: lưu thông tin về các bộ sưu tập Khóa chính: col_id Bảng LIENHE: lưu thông tin về các phản hồi của khách hàng Khóa chính: con_id Bảng HINHANH: lưu hình ảnh của các sản phẩm, bộ sưu tập, Khóa chính: img_id Khóa ngoại: col_id 2.3.4 Sơ đồ thực thể - liên kết (E - R) Xác định các thực thể và các liên kết: Giữa thực thể KHACHHANG và thực thể HOADON có mối liên kết (1-n). Vì một khách hàng có thể sẽ có nhiều đơn hàng, còn một đơn hàng chỉ ứng với 1 khách hàng. Giữa thực thể KHACHHANG và thực thể LIENHE có mối liên kết (1 - n). Vì một khách hàng có thể sẽ có nhiều phản hồi liên hệ, còn một phản hồi liên hệ chỉ ứng với 1 khách hàng. Giữa thực thể SANPHAM và thực thể LOAISANPHAM có mối liên hệ (1 - n). Vì một sản phẩm sẽ có nhiều loại sản phẩm, còn một loại sản phẩm thì chỉ thuộc một sản phẩm. Giữa thực thể NHASANXUAT và thực thể SANPHAM có mối liên hệ (1 - n). Vì một nhà sản xuất sẽ có nhiều sản phẩm, còn một sản phẩm thì chỉ thuộc một nhà sản xuất. Giữa thực thể BOSUUTAP và thực thể HINHANH có mối liên hệ (1 - n). Vì một bộ sưu tập có nhiều hình ảnh, còn một hình ảnh thì chỉ thuộc một bộ sưu tập Từ những phân tích ở trên, ta xây dựng sơ đồ thực thể - liên hết như sau : Hình 2.9: Sơ đồ thực thể liên kết E - R CHƯƠNG 3: DEMO WEBSITE GIỚI THIỆU SẢN PHẨM THỜI TRANG D&G 3.1. Giao diện người dùng Hình 3.1: Giao diện chính của website Hình 3.2: Giao diện trang đăng ký khách hàng Hình 3.3: Giao diện trang bộ sưu tập Hình 3.4: Giao diện trang tin tức Hình 3.5: Giao diện trang liên hệ Hình 3.6: Giao diện trang giỏ hàng khách hàng Hình 3.7: Giao diện trang thông tin khách hàng Hình 3.8: Giao diện trang đổi mật khẩu cá nhân khách hàng Hình 3.9: Giao diện trang cập nhật thông tin khách hàng Hình 3.10: Giao diện trang đặt hàng 3.2. Giao diện admin Hình 3.11: Giao diện trang đăng nhập admin Hình 3.12: Giao diện trang quản lý danh sách loại sản phẩm Hình 3.13: Giao diện trang quản lý danh sách nhà sản xuất Hình 3.14: Giao diện trang quản lý danh sách đơn hàng Hình 3.15: Giao diện trang quản lý danh sách khách hàng Hình 3.16: Giao diện trang quản lý chi tiết thông tin khách hàng Hình 3.17: Giao diện trang quản lý danh sách bộ sưu tập Hình 3.18: Giao diện trang quản lý danh sách liên hệ Hình 3.19: Giao diện trang thêm sản phẩm Hình 3.20: Giao diện trang quản lý chi tiết đơn hàng Hình 3.21: Giao diện trang sửa thông tin bộ sưu tập Hình 3.21: Giao diện trang quản lý chi tiết bộ sưu tập KẾT LUẬN 1. Đánh giá kết quả Trong quá trình thực hiện, em đã cố gắng hết sức để tìm hiểu và cài đặt chương trình nhưng vì thời gian có hạn nên chưa giải quyết được tất cả các vấn đề đặt ra. Em rất mong nhận được sự thông cảm của quý thầy cô. Em xin chân thành cảm ơn. Những kết quả đạt được: + Về công nghệ: Tìm hiểu và nắm bắt được các công cụ thiết kế Web. Biết được cách thiết kế web động cũng như cách tổ chức CSDL. Các dịch vụ trên internet, đặc biệt là web. + Về cài đặt chương trình: Giới thiệu các mặt hàng thời trang của cửa hàng đến với khách hàng Cho phép tra cứu mặt hàng khi khách có nhu cầu tìm kiếm. Cho phép khách hàng thực hiện việc đặt hàng qua mạng. Tiếp nhận đơn đặt hàng của khách hàng. Lập đơn hàng. Cập nhật: mặt hàng, khách hàng, nhà cung cấp, sản phẩm. + Tính năng của chương trình: Thông tin về khách hàng, mặt hàng được cập nhật kịp thời, chính xác. Giao diện thân thiện với người dùng. 2. Những hạn chế của hệ thống - Chưa kiểm tra hết các trường hợp sảy ra dẫn đến phát sinh nhiều lỗi - Chức năng tìm kiếm còn đơn giản - Chưa thực hiện được chức năng thống kê báo cáo - Giao diện hệ thống còn đơn giản. - Sản phẩm cửa hàng chưa nhiều. - Do điều kiện, chương trình mới chỉ chạy thử trên máy cá nhân. 3. Hướng phát triển trong tương lai - Thực hiện kiểm tra hết các trường hợp có thể có để hạn chế tối đa các lỗi phát sinh từ hệ thống. - Phát triển và hoàn thiện chức năng tìm kiếm. - Thực hiện chức năng thống kê báo cáo. - Chỉnh sửa giao diện để thân thiện và bắt mắt hơn. - Cho phép khách hàng mua và thanh toán trực tuyến qua mạng. - Hỗ trợ nhiều hình thức thanh toán. - Bảo mật hệ thống tốt hơn. TÀI LIỆU THAM KHẢO [1]ĐH KHTN. Giáo trình PHP & MySQL tiếng việt [2]. Lê Minh Hoàng, "Thiết kế Web với CSS", NXB Lao động xã hội 2007 [3]. Nguyễn Văn Ba, "Phân tích và thiết kế hệ thống thông tin", NXB Đại học quốc gia Hà Nội. [4]. Phạm Hữu Khang – Hoàng Đức Hải, "Xây dựng ứng dụng Web bằng PHP và My SQL", NXB Phương Đông 2007. [5] WallPearl , Simple CSS, 2008

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

  • docdo_an_tot_nghiep_sv_quach_thi_thao_2268.doc
Luận văn liên quan