- Một khía cạnh khác giúp để lại kinh nghiệm mua hàng thú vị cho khách hàng trực tuyến chính là giao diện: được hiểu là từ ngữ và hình ảnh mà người mua hàng sẽ tiếp xúc, thay vì người bán hàng thực sự. Trang chủ là trang thể hiện bộ mặt chính của ứng dụng, do vậy các chức năng phải được bố trí hợp lý, tiện lợi cho người dùng khi lựa chọn các chức năng đó
- Từ trang chủ người xem có thể liên kết đến các trang nội dung phải nhanh chóng dễ dàng và tiện lợi.
62 trang |
Chia sẻ: aloso | Lượt xem: 1620 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Đề tài Xây dựng website bán điện thoại di động – Minhphu mobile, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ùng, thiết bị y tế chuyên dụng) và thương mại dịch vụ (như dịch vụ cung cấp thông tin, dịch vụ pháp lý, tài chính); các hoạt động truyền thống (như chăm sóc sức khoẻ, giáo dục) và các hoạt động mới (như siêu thị ảo)
2.1.2. Mục đích khi áp dụng thương mại điện tử
Mục đích khi doanh nghiệp áp dụng thương mại điện tử vào sản xuất và kinh doanh chính là mục đích căn bản của bài toán chúng ta đang xử lý.
Mục đích của một doanh nghiệp khi áp dụng thương mại điện tử là giảm thiểu chi phí trong doanh nghiệp. Các biện pháp nhằm để giảm thiểu chi phí trước tiên là bao gồm việc tối ưu hóa các quy trình kinh doanh đang tồn tại và thành lập các quy trình mới dựa trên nền tảng của các công nghệ Internet.
Thông qua việc tích hợp này của các tính năng doanh nghiệp dọc theo chuỗi giá trị, việc tiến hành kinh doanh có hiệu quả cao hơn. Các lợi thế cho doanh nghiệp có thể là:
Tiết kiệm chi phí đầu tư: Phí đầu tư tích hợp cổng tiết kiệm hơn so với việc thuê cửa hàng giới thiệu sản phẩm, văn phòng đại diện
Linh hoạt trong kinh doanh: Công nghệ cổng thanh toán cung cấp khả năng giải quyết các tình huống kinh doanh phức tạp, quản lý hiệu quả sản phẩm và thông tin khách hàng
Giúp cho các Doanh nghiệp nắm được thông tin phong phú về thị trường và đối tác
Giúp giảm chi phí sản xuất. Giúp giảm chi phí bán hàng và quảng cáo tiếp thị sản phẩm
Khả năng giao tiếp mới với khách hàng
Khách hàng hài lòng hơn
Nâng cao hình ảnh của doanh nghiệp
Khai thác các kênh bán hàng mới
Có thêm khách hàng mới
Tăng doanh thu, hiệu quả
2.1.3. Khái niệm về Website thương mại điện tử
Cửa hàng trực tuyến đưa hàng vào trong Internet để giới thiệu và bán. Đây là một chương trình phần mềm có tính năng giỏ hàng. Người mua chọn lựa các sản phẩm và đặt chúng vào giỏ hàng. Đằng sau một cửa hàng trực tuyến như thế là một việc kinh doanh thật sự, tiến hành các đơn đặt hàng.
Có nhiều chương trình phần mềm cho kênh bán hàng này. Một cửa hàng trực tuyến hiện đại không chỉ tạo khả năng cho người dùng xem món hàng hai chiều và đọc một ít thông số kỹ thuật của món hàng đó. Trong lãnh vực hàng tiêu dùng cao cấp người ta cũng đã tạo ảnh ba chiều của sản phẩm để cảm giác của khách hàng càng gần hiện thực càng tốt. Ngoài ra còn có các chương trình cấu hình mà qua đó màu sắc, trang bị và thiết kế của sản phẩm có thể thay đổi để phù hợp với tưởng tượng cá nhân của từng khách hàng. Bằng cách này người sản xuất hay người chào bán còn có thêm thông tin rất có giá trị về ý thích của khách hàng. Các hình thức được biết nhiều của thương mại điện tử là mua bán sách và nhạc cũng như mua bán đấu giá trong Internet.
Thông qua việc Internet bùng nổ vào cuối thập niên 1990, cửa hàng trực tuyến ngày càng có tầm quan trọng nhiều hơn. Những người bán hàng trong Internet có lợi thế là họ không cần đến một diện tích bán hàng thật sự mà thông qua các trang Web sử dụng một không gian bán hàng ảo. Các cửa hàng trực tuyến cũng thường hay không cần đến nhà kho hay chỉ cần đến rất ít, vì thường có thể cung cấp cho khách hàng trực tiếp từ người sản xuất hay có thể đặt hàng theo nhu cầu. Lợi thế do tiết kiệm được những phí tổn cố định này có thể được tiếp tục chuyển tiếp cho khách hàng. Ngay cả những người bán sách trong Internet tại Đức, bắt buộc phải bán sách theo giá cố định, cũng vẫn có lợi thế là - thông qua việc không thu tiền cước phí gửi - tiết kiệm được cho khách hàng một chuyến đi đến nhà bán sách mà vẫn có cùng một giá.
Các ngành hưởng lợi của xu hướng này, bên cạnh các cửa hàng trực tuyến, đặc biệt là các doanh nghiệp tiếp vận và các dịch vụ phân phối, trong khi các doanh nghiệp bán hàng nhỏ lẻ thường là những người thua cuộc trong biến đổi này. Ngành công nghệ thông tin cũng hưởng lợi gián tiếp từ tăng trưởng của thương mại Internet thông qua các đơn đặt hàng nhiều hơn cho việc cung ứng kỹ thuật cũng như bảo trì các cửa hàng trực tuyến.
2.2. Cơ sở lý thuyết để giải quyết bài toán
Ngày nay trên toàn thế giới có rất nhiều các công cụ lập trình giúp các lập trình viên xây dựng ứng dụng nhanh chóng và tiện lợi. Tuy nhiên xu thế hiện đang phân chia làm loại công cụ chính đó là:
Nhóm công cụ phát triển trên môi trường .NET của Microsoft như: Visual Studio 6.0, Visual Studio.NET, hệ quản trị CSDL SQL server, Microsoft Access
Nhóm công cụ mã nguồn mở phát triển trên môi trường Java như: Java, Jdeveloper , Jbuilder, JSP, Struts, Oracle…
Mỗi nhóm công cụ đểu có những ưu điểm và nhược điểm khác nhau, tùy theo mức độ, phạm vi và thói quen của người lập trình mà lựa chọn công cụ phù hợp để xây dựng ứng dụng.
Trong đề tài này tôi sử dụng công cụ lập trình Web ASP và hệ quản trị cơ sở dữ liệu Access để xây dựng trang web bán hàng di động.
2.2.1. Công cụ để tiến hành giải quyết bài toán
2.2.1.1. Công cụ quản lý cơ sở dữ liệu Access
a. Một số khái niệm
Một trong những tài sản lớn nhất mà ASP có được là khả năng thâm nhập vào các cơ sở dữ liệu. ASP thường làm việc với hai người bạn đồng nghiệp là Access và hệ cơ sở dữ liệu SQL.Component rất hữu ích giúp chúng ta có thể kết nối vào một cơ sở dữ liệu bằng cách sử dụng ActiveX Data Object để viết nội dung lên màn hình trình duyệt và tạo lập hoặc cập nhật các file cơ sở dữ liệu. Cơ sở dữ liệu là một phần không thể thiếu của một bài toán quản lý áp dụng công nghệ thông tin. Cơ sở dữ liệu được định nghĩa là kho thông tin về một chủ đề, được tổ chức hợp lý để dễ dàng quản lý và truy tìm. Bất kỳ kho thông tin nào đáp ứng được yêu cầu này đều có thể coi là một cơ sở dữ liệu.
b. Quản trị cơ sở dữ liệu
Chương trình quản trị cơ sở dữ liệu là một chương trình ứng dụng trên máy tính có các công cụ để truy tìm, sửa chữa, xoá và chèn thêm dữ liệu. Các chương trình này cũng có thể dùng để tạo lập một cơ sở dữ liệu và tạo ra các báo cáo, thống kê. Các chương trình quản trị cơ sở dữ liệu liên quan khá thông dụng hiện nay tại Việt Nam là Foxpro, Access cho ứng dụng nhỏ, DBL, MSSQL và Oracle cho ứng dụng vừa và lớn.
Cơ sở dữ liệu (database): kho thông tin về một chủ đề, được tổ chức hợp lý để dễ dàng quản lý và truy tìm. Bất kỳ kho thông tin nào đáp ứng được yêu cầu này đều có thể coi là một cơ sở dữ liệu (CSDL). Như trên đây, bạn có hai cơ sở dữ liệu: CSDL người quen ghi trong sổ và CSDL trên máy tính. Thông thường, những thông tin trong CSDL được chia thành nhiều mẫu tin có cấu trúc tương đối giống nhau
Bảng (table): Là một thành phần cơ bản trong chương trình quản trị cơ sở dữ liệu quan hệ. Bảng được hình thành khi sắp xếp các thông tin có liên quan với nhau theo hàng và cột. Các hàng tương ứng với các bản ghi (record) dữ liệu và các cột tương ứng với trường dữ liệu. Các bạn hãy xem bảng Người quen. Các hàng là người, mỗi hàng tương ứng với một người. Các cột là trường (hay lĩnh vực) của thông tin. Ta có các cột Họ tên, Ngày sinh, Điện thoại, Địa chỉ, Tên cơ quan.
Bản ghi (record): trong chương trình quản trị cơ sở dữ liệu, đây là một đơn vị hoàn chỉnh nhỏ nhất của dữ liệu, được lưu trữ trong những trường hợp dữ liệu đã được đặt tên. Trong một cơ sở dữ liệu dạng bảng, bản ghi dữ liệu đồng nghĩa với hàng (row). Bản ghi chứa tất cả các thông tin có liên quan với mẫu tin mà cơ sở dữ liệu đang theo dõi. Ví dụ, trong cơ sở dữ liệu về Người quen, bản ghi sẽ liệt kê tên người quen, số điện thoại, ngày sinh, địa chỉ và tên cơ quan. Hầu hết các chương trình đều hiển thị các bản ghi dữ liệu theo hai cách: theo các mẫu nhập dữ liệu và theo các bảng dữ liệu. Các bản ghi dữ liệu được hiển thị dưới dạng các hàng ngang và mỗi trường dữ liệu là một cột.
Trường dữ liệu (field): trong chương trình quản trị cơ sở dữ liệu, đây là không gian dành cho một mẫu thông tin trong bản ghi dữ liệu. Trong chương trình quản trị CSDL dạng bảng với dữ liệu được tổ chức theo hàng và cột, thì trường dữ liệu tương ứng với các cột. Như ở bảng Cơ quan, ta có các trường Tên cơ quan, Địa chỉ, Thành phố, Số điện thoại, Lĩnh vực hoạt động.
Quản lý cơ sở dữ liệu quan hệ: là một cách quản lý cơ sở dữ liệu, trong đó dữ liệu được lưu trữ trong các bảng dữ liệu hai chiều gồm các cột và các hàng, có thể liên quan với nhau nếu các bảng đó có một cột hoặc một trường chung nhau.Chương trình quản trị cơ sở dữ liệu: một chương trình ứng dụng trên máy tính cung cấp các công cụ để truy tìm, sửa chữa, xóa và chèn thêm dữ liệu. Các chương trình này cũng có thể dùng để thành lập một cơ sở dữ liệu và tạo ra các báo cáo, thống kê. Các chương trình quản trị cơ sở dữ liệu liên quan khá thông dụng hiện nay tại Việt Nam là Foxpro, Access cho ứng dụng nhỏ, DB 2, MS SQL và Oracle cho ứng dụng vừa và lớn.
Quản trị cơ sở dữ liệu Microsoft Access quan hệ là một cách quản lý cơ sở dữ liệu trong đó dữ liệu được lưu trữ trong các bảng dữ liệu hai chiều gồm các cột và các hàng, có thể liên quan với nhau nếu các bảng đó có một cột hoặc một trường chung nhau.
Hệ quản trị cơ sở dữ liệu Microsoft Access là một quá trình xử lý xoay quanh các vấn đề sau đây:
Lưu trữ dữ liệu
Truy nhập dữ liệu
Bảo đảm tính toàn vẹn của dữ liệu
Ba vấn đề chính ở trên có mối quan hệ mật thiết, phụ thuộc lẫn nhau và chúng được liệt kê theo thứ tự thực hiện mỗi ứng dụng.
Mô hình cơ sở dữ liệu quan hệ (Relationship Database Management System - RDMS) được xây dựng làm đơn giản hoá quá trình lưu và đọc dữ liệu RDMS cung cấp khả năng giao tiếp tốt với dữ liệu và giúp người lập trình tự do trong lĩnh vực quản lý truy cập cơ sở dữ liệu.
Sau đây là các bước xây dựng một cơ sở dữ liệu theo mô hình cơ sở dữ liệu quan hệ:
Tổ chức dữ liệu theo nhóm logic (table)
Xác định các mối quan hệ giữa các table
Tạo tập tin cơ sở dữ liệu và định nghĩa cấu trúc của các table trong cơ sở dữ liệu.
Lưu dữ liệu
Hai bước đầu là hai bước thiết kế cơ sở dữ liệu và đây là hai bước cực kỳ quan trọng. Nếu được thiết kế tốt, các khía cạnh khác sẽ được giải quyết dễ dàng hơn; ngược lại việc khai thác cơ sở dữ liệu sẽ không hiệu quả và chương trình sẽ có những lỗi rất khó phát hiện.
Các bước chính khi tiến hành thiết kế một cơ sở dữ liệu:
Xác định dữ liệu cần trong ứng dụng
Xác định nguồn gốc dữ liệu
Tổ chức dữ liệu thành các nhóm logic
Tiêu chuẩn hoá dữ liệu và các mối quan hệ giữa chúng
Xác định cách sử dụng các bảng
2.2.1.2. Công cụ lập trình Website
a. Ngôn ngữ HTML
Sơ lược về HTML
HTML là ngôn ngữ định dạng, hay đánh dấu. HTML là viết tắt của HyperText Markup Language (ngôn ngữ đánh dấu siêu văn bản). Một Một tập tin .html (file) được đánh dấu bằng các thẻ (tag). Các thẻ HTML sẽ quy định cách hiển thị trên trình duyệt. HTML cho phép người ta đọc được chúng trên máy của mình qua mạng bằng trình duyệt Web.Thẻ là một đoạn mà được giới hạn bởi dấu ngoặc nhọn ''. HTML thực hiện định dạng tập tin HTML trên màn hình. HTML không đưa ra bất cứ mô tả nào về font, hình ảnh đồ hoạ và chỗ để đặt chúng. HTML chỉ gán thẻ cho nội dung tập tin với những thuộc tính nào đó mà sau đó chúng được xác định bởi trình duyệt để xem tập tin này. File định dạng HTML phải được ghi lại với phần mở rộng là .html hoặc .htm
HTML gán thẻ cho kiểu chữ, chèn file ảnh đồ hoạ, âm thanh, video vào văn bản, tạo ra mối liên kết bằng hình thức gọi là siêu văn bản. Siêu văn bản là đặc tính quan trọng nhất của ngôn ngữ HTML, điều này có nghĩa là một đoạn văn bản hay đồ hoạ bất kỳ nào cũng có thể liên kết với một tài liêụ HTML khác.
Ngôn ngữ HTML chính thức là một bộ đặc biệt bao gồm các thẻ, mà tất cả các trình duyệt đều có thể hiểu được. Một số trình duyệt còn có thể biên dịch được những thẻ bổ sung ngoài phần tiêu chuẩn. Theo thời gian, bộ chuẩn được cập nhật những thẻ mới. Để soạn thảo một file HTML chúng ta có thể dùng bất kỳ một trình soạn thảo đơn giản nào (notepad, pspad, word,...).
Các thẻ cơ bản của HTML
Có hai loại thẻ cơ bản: thẻ mang thông tin (container tag) và thẻ rỗng (empty tag).
Thẻ rỗng là một thẻ không tác động lên cái gì cả. Chúng thường một mình thùc hiện một nhiệm vụ rất đặc biệt, không ảnh hưởng đoạn chữ nào. Ví dụ, tạo một đường kẻ ngang.
Đối với thẻ mang thông tin, khi có một thẻ mở thì phải có một thẻ đóng tương ứng, thẻ đóng giống như thẻ mở nhưng trước nó có gạch chéo (/). Ví dụ, thẻ mở cho kiểu chữ in nghiêng là , và thẻ đóng tương ứng là .
Cấu trúc cơ bản của một trang HTML
…………..
b. Ngôn ngữ ASP (Active Server Page)
Khái niệm ASP (Active Server Page)
Microsoft Active Server Pages (ASP) không hẳn là một ngôn ngữ lập trình , Microsoft gọi ASP là môi trường kịch bản trên máy chủ (Server-Side Scripting Enviroment), môi trường này cho phép tạo và chạy các các ứng dụng Web server động , tương tác và có hiệu quả cao. Các đoạn chương trình nhỏ được gọi là Script sẽ được nhúng vào các trang của ASP phục vụ cho việc đóng mở và thao tác với dữ liệu cũng như điều khiển, có tính bảo mật cao và làm tăng khả năng giao tiếp của chương trình ứng dụng. Ðể làm việc trong môi trường này , các ASP coder thường sử dụng VBScript hoặc JavaScript, cả hai loại này đều tự động hỗ trợ ASP
Các đoạn ASP script có thể xuất hiện ở mọi nơi trong trang HTML, ASP & HTML có sự gắn bó chặt chẽ với nhau. Với ASP ta có thể chen các script thực thi được vào trực tiếp các file HTML . Khi đó việc tạo ra trang HTML và xử lý script trở nên đồng thời, điều này cho phép tạo ra các tương tác của Web site một cách linh hoạt uyển chuyển , có thể chen các thành phần HTML động vào trang Web tùy vào từng trường hợp cụ thể. ASP cung cấp một môi trường cho các công cụ đặc tả và phân tích các script trong một file .ASP để các công cụ này xử lý. ASP còn cho phép viết hoàn chỉnh các thủ tục để phát triển Web bằng nhiều ngôn ngữ Script mà trình duyệt có thể hiểu được tất cả. Trên thực tế, vài ngôn ngữ Script được sử dụng trong một file và nó được thực hiện bằng cách định nghĩa ngôn ngữ Script trong một trang của HTML tại nơi bắt đầu thủ tục Script.
ASP xây dựng các file ở khắp nơi với phần đuôi mở rộng là *.asp. File .asp là một file text và có thể bao gồm các sự kết hợp sau:
Text
Các trang của HTML
Các câu lệnh của Script
Mô tả của ASP
Cách hoạt động của mô hình ASP được mô tả tóm tắt qua 3 bước sau:
Một ASP bắt đầu chạy khi trình duyệt yêu cầu một file. asp cho Web Server.
File. asp đó được nạp vào bộ nhớ và thực hiện (tại máy chủ). Các đoạn chương trình Script trong file. asp đó có thể là mở dữ liệu, thao tác với dữ liệu để lấy những thông tin mà người dùng cần đến. Trong giai đoạn này, file. asp đó cũng xác định xem là đoạn script nào chạy trên máy người sử dụng.
Sau khi thực hiện xong thì kết quả thực hiện của file. asp đó sẽ được trả về cho Web Server Browser của người sử dụng dưới dạng trang Web tĩnh.
Cú pháp của ASP: ASP không phải là ngôn ngữ Scripting mà thực ra nó cung cấp một môi trường để xử lý các Script có trong trang HTML. Sau đây là một số quy tắc và cú pháp của ASP.
Phân định ranh giới (Delimiter): Các trang của HTML được phân định với text dựa vào các phân định ranh giới. Một phân định ranh giới là một ký tự hay các thứ tự đánh dấu điểm bắt đầu và kết thúc của một đơn vị. Trong trường hợp của HTML, các ký hiệu ranh giới (). Tương tự, các lệnh của Script ASP và các biểu thức đầu ra được phân biệt giữa text và các trang HTML bằng các phân định ranh giới ASP sử dụng phân định ranh giới là để chứa các lệnh Script. VD: tức là gán giá trị football cho biến sport. ASP sử dụng phân định ranh giới là để chứa các biểu thức đầu ra. Như VD trên, biểu thức đầu ra sẽ gửi giá trị football (giá trị hiện thời của biến) cho trình duyệt.
Các tính chất và ưu điểm của ASP
Các ASP script thông thường chạy trên các server cài IIS ( Microsoft Internet Information Server). Nhưng ASPvẫn có thể làm việc với đa số các Web server trên NT (Netscape, Oreilly ) sử dụng ChiliSoft ASP, có thể trên một số hệ điều hành khác nh Linux, SunSolaris.
Quy trình thực hiện một của ASP như sau : khi một user thông qua trình duyệt web gửi yêu cầu tới một file .asp ở server thì script chứa trong file đó sẽ được chạy trên server và trả kết quả về cho browser đó. Khi Web server nhận được yêu cầu tới một file .asp thì nó sẽ đọc từ đầu tới cuối file .asp đó, thực hiện các lệnh script trong đó và trả kết quả về cho Web brower là một trang HTML.
Thực ra thì quá trình tạo trang HTML và thực thi script là hai quá trình riêng biệt, script sẽ được ASP engine dịch và thực thi trước khi chuyển kết quả cho Web server, tới giai đoạn này các mã HTML và kết quả sẽ kết hợp để tạo nên một trang Web. Việc nhúng HTML và script chỉ để làm đẩy nhanh tốc độ phát triển ứng dụng mà thôi. Do môi trường hoạt động là mạng nên một script ASP khi được viết ra có thể sử dụng được ở mọi nơi, không cần trình biên dịch hay kết nối.
Các ASP script được viết dựa trên các ngôn ngữ hướng đối tượng nên rất tiện lợi, sẵn có các object đi kèm như: Request, Response, Application, Server, Session. Tận dụng được các ActiveX components như : Database access , Content linking, Collaboration Data Object, Browser capabilities,File Access, ... Hơn nữa nó cũng có thể tận dụng được components từ các nhà phân phối khác, cung cấp dưới dạng các file .dll
Những tính chất trên đem đến cho ta những lợi ích xác thực, cho phép tạo ra các ứng dụng Web thương mại có tương tác chứ không chỉ đơn thuần là phổ biến các nội dung tĩnh. Ví dụ như để lưu giữ lại thông tin về các khách hàng đã ghé thăm qua web site của mình, các web builder có thế dùng asp để tạo ra các file cơ sở dữ liệu khách hàng lưu trên máy chủ, khi cần có thể tiện tra cứu.
• Các Objects & Components cơ bản
Object là những đoạn chương trình có khả năng thực hiện những công việc cơ bản nào đó. Mỗi object là một kết hợp giữa lập trình và dữ liệu mà có thể xử lý như một đơn vị thống nhất. Các ASP object cho phép chúng ta giao tiếp tương tác với cả máy chủ lẫn trình duyệt, thông thường chúng ta dùng vài object trong các scripts. Các object này đã sẵn có nên ta chỉ cần nhớ cách sử dụng chúng.
Request Object:
Request object cho phép lấy thông tin thông qua một HTTP request. Chúng ta có thể dùng Request object để đọc URL, truy cập thông tin từ một form, đọc cookies và các HTTP header.
Response Object:
Ressponse object là chìa khóa để gửi thông tin tới user, là đại diện cho phần thông tin do server trả về cho Web browser. Chúng ta có thể viết lên màn hình, tái định hướng các trang, tạo các cookies sử dụng Response object.
Application Object:
Sử dụng Application object chúng ta có thể điều khiển các đặc tính liên quan đến đến việc khởi động và dừng ứng dụng, cũng như việc lưu trữ các thông tin có thể được truy nhập bỏi các ứng dụng nói chung.
Server Object:
Server object cho phép thực thi một chuỗi các tác vụ chẳng hạn như ánh xạ một đường dẫn ảo tới một đường dẫn vật lý và tạo một instance của một componnet.
Session Object:
Sử dụng object này chúng ta có thể lưu thông tin liên quan tới từng user đã truy nhập vào site của bạn.
Khác với các object, các ASP components là các điều khiển ActiveX ghép nối với ASP để đơn giản hoá các thủ tục thông thường. Chúng ta sẽ lướt qua số components thường được sử dụng.
Browser Capabilities:
Component này cho phép xác định trình duyệt của user là gì và những tính năng nào được hỗ trợ bởi trình duyệt đó.
Collaboration Data Objects (CDO):
CDO được liên kết chặt chẽ vói IIS SMTP server, CDO hỗ trợ chúng ta gửi và nhận email. Ví dụ với CDO chúng ta có thể xử lý một form mà không cần nhận biết đó là Perl script hay CGI. CHƯƠNG III: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
A: Phân tích sơ đồ phân cấp chức năng của hệ thống
3.1.1 Yêu cầu cần thiết của bài toán
Trang Web thương mại điện tử bán điện thoại di động – MINH PHÚ mobile phải đáp ứng những yêu cầu cần thiết sau:
Đối với các khách hàng khi truy cập vào trang Web:
- Trang web phải có mục riêng để giới thiệu về công ty, địa chỉ liên hệ…để
Khi họ truy cập vào trang Web họ có thể xem thông tin về công ty như: Quá trình hình thành, hoạt động kinh doanh, đối tác của công ty cũng như năng lực làm việc của công ty qua những hợp đồng đã ký kết. Thông tin về sản phẩm - dịch vụ, thông tin chi tiết từng sản phẩm cũng như tham khảo giá cả của các mặt hàng
- Trang web có phần tin tức về thị trường, thông tin khuyễn mãi… giúp khách hàng có đầy đủ thông tin, có thêm kiến thức nhằm giúp người mua chọn được sản phẩm ưng ý nhất.
- Yêu cầu được xem các thông tin về các sản phẩm, thông tin chi tiết về sản phẩm như tính năng, mẫu mã, kích thước của sản phẩm điện thoại …
- Chức năng tìm kiếm: Chức năng này giúp khách hàng nhanh chóng tìm được sản phẩm và các tin tức đã đăng.
- Chức năng đặt hàng qua trang Web: Điều quan trọng nhất là khách hàng còn đặt hàng hoá mà họ muốn. Đó là những thông tin cần thiết cho việc mua bán qua Website. Đây là phần quan trọng nhất của website thương mại điên tử, do vậy cần phải thiết kế sao cho khách hàng có thể chọn hàng và đặt được hàng theo yêu cầu của mình một cách dễ dàng thuận tiện và nhanh chóng. Phần này phải kết hợp với phần giới thiệu sản phẩm một cách linh hoạt giúp khách hàng có đầy đủ thông tin về sản phẩm trước khi chọn
- Ngoài ra họ có thể hỏi ý kiến của công ty về kỹ thuật mà họ muốn biết, đó là các vấn đề liên quan sử dụng, bảo quản, sửa chữa, chế độ bảo hành.
Đối với người quản trị, ban lãnh đạo công ty:
- Từ những đơn đặt hàng của công ty họ có thể theo dõi tình hình đặt mua sản phẩm của khách hàng, họ có thể kiểm tra các đối tượng khách hàng để từ đó có những hướng đi tốt cho công ty. Ngoài ra họ có thể cung cấp các thông tin về kỹ thuật khi khách hàng yêu cầu…
- Yêu cầu của website là người quản trị dễ dàng thêm, sửa, xoá thông tin, danh mục gồm: danh mục thông tin về sản phẩm và dịch vụ, danh mục tin tức và câu hỏi hỗ trợ, danh mục người quản trị, danh mục để quản lý các thông tin của thành viên….
- Chức năng xử lý đơn đặt hàng: Hiện thi được danh sách khách hàng đã đặt hàng, xoá đơn đặt hàng sai quy cách của khách hàng. Hiện thị đầy đủ thông tin giỏ hàng mà khách đã đăng ký mua.
Đối với bộ phận kinh doanh:
- Cần phải cập nhật và thay đổi các thông tin về sản phẩm - dịch vụ, thông tin thị trường, bảo hành…, Ngoài ra cần phải tập hợp các đơn đặt hàng của khách để xử lý.
3.1.2. Sơ đồ phân cấp chức năng
Sơ đồ phân cấp chức năng cho ta cái nhìn tổng quát về các chức năng chính của hệ thống, nó giúp xác định phạm vi của hệ thống cần phân tích và tăng cường cách tiếp cận logic tới phân tích hệ thống
Hệ thống bao gồm các chức năng chính:
- Quản lý bán hàng: giới thiệu các tính năng giá cả của sản phẩm
Với việc phân tích yêu cầu của bài toán theo các mục trên ta cần phải thiết kế Website gồm các chức năng chính sau: (Hình 3.1) Quản lý Website phu mobile
Quản lý bán hàng
Xem thông tin và chọn hàng
Tìm kiếm sản phẩm
Quản lý
thông tin
Giới thiệu công ty, liên hệ
Quản lý tin tức, giải trí,
Hỗ trợ giải đáp
khuyễn mãi, bảo hành
Đặt hàng
Quản lý đơn đặt hàng
Quản lý thành viên quản trị, members
Quản trị hệ thống
Cập nhật danh mục sản phẩm dich vụ
Quản lý liên kết quảng cáo
Quản lý đơn đặt hàng từ các khách hàng gửi đến
Hình 3.1: Sơ đồ chức năng của hệ thống website
Trong 1 số chức năng ta lại có thể có biểu đồ phân cấp thành những chức năng nhỏ hơn. Ví dụ như Biểu đồ phân cấp chức năng Tìm kiếm
Tìm Kiếm Sản Phẩm
Nhận thông tin cần tìm kiếm
Kiểm tra thông tin nhận được
Cung cấp thông tin tìm được
3.2. Thiết kế cơ sở dữ liệu
3.2.1. Sơ đồ luồng thông tin
Sơ đồ luồng thông tin được dùng để mô tả hệ thống thông tin theo cách thức động. Tức là mô tả sự di chuyển của dữ liệu, việc xử lý, việc lưu trữ trong thế giới vật lý bằng sơ đồ
Các ký pháp của sơ đồ luồng thông tin như sau:
- Xử lý
Thủ công Giao tác người - máy Tin học hoá hoàn toàn
- Kho lưu trữ dữ liệu
Thủ công Tin học hoá
- Dòng thông tin
Tài liệu
- Điều khiển
Từ những ký pháp trên, sau đây sẽ là sơ đồ luồng thông tin thể hiện hoạt động đặt hàng trên mạng (Hình 3.2):
Thời điểm
Khách hàng truy cập vào website
Hệ thống website
Phòng bán hàng
Bắt đầu vào trang web
Đặt hàng
Sau khi đặt mua hàng
Đơn đặt hàng
Giới thiệu hàng
Tổng hợp đơn đặt hàng
In đơn đặt hàng
Hoá đơn
Kiểm tra đơn đặt hàng
Đặt hàng
Giỏ hàng
Mua hàng
Sản phẩm
Tổng hợp đơn đặt hàng
Thông tin hàng
Cập nhật thông tin hàng
Hình 3.2: sơ đồ luồng thông tin thể hiện hoạt động đặt hàng trên mạng
3.2.2. Sơ đồ luồng dữ liệu
Sơ đồ luồng dữ liệu dùng để mô tả cũng chính hệ thống thông tin như sơ đồ luồng thông tin nhưng trên góc độ trừu tượng. Trên sơ đồ chỉ ra bao gồm Các luồng dữ liệu, các xử lý, các lưu trữ dữ liệu, nguồn và đích nhưng không hề quan tâm tới nơi, địa điểm và đối tượng chịu trách nhiệm xử lý. Sơ đồ luồng dữ liệu chỉ mô tả đơn thuần hệ thống thông tin làm gì và để làm gì.
Vai trò của luồng thông tin
Mô hình luồng dữ liệu cho ta một cái nhìn tổng thể về hệ thống có quan điểm cân xứng cho cả dữ liệu và quá trình. Nó chỉ ra các thông tin chuyển tiếp từ một quá trình hoặc chức năng nào trong hệ thống sang quá trình hoặc chức năng khác. Điều quan trọng nhất là nó chỉ ra cần có những thông tin vào trước khi cho nó thực hiện một chức năng hay quá trình.
Giải thích các ký hiệu
- Ký hiệu : Biểu thị luồng thông tin. Tên là một danh từ.
- Ký hiệu : Biểu thị chức năng xử lý thông tin.
Trong sơ đồ này được chỉ ra một chức năng hoặc một quá trình chức năng quan trọng trong mô hình luồng dữ liệu là biến đổi thông tin, nghĩa là thay đổi thông tin từ đầu vào theo một cách tạo nào đó như tổ chức lại thông tin mới. Tên chức năng trong biểu đồ luồng dữ liệu phải trùng tên với tên của chức năng trong biểu đồ phân cấp chức năng. Tên là động từ + bổ ngữ.
- Ký hiệu : Biểu thị cho các tác nhân ngoài.
Tác nhân ngoài là các tổ chức hoặc cá nhân nằm ngoài hệ thống nhưng có trao đổi trực tiếp với hệ thống, sự có mặt của các nhân tố này trên sơ đồ chỉ ra giới hạn của hệ thống, định rõ mối quan hệ của hệ thống với thế giới bên ngoài. Tên gọi là một danh từ
- Ký hiệu : Biểu thị kho dữ liệu.
Biểu diễn cho thông tin cần cất giữ sau đó để một hay nhiều chức năng sử dụng chúng trong một khoảng thời gian khai thác để lấy thông tin ra xử lý hoặc cập nhật chúng. Chúng có thể là một tệp dữ liệu được lưu trữ trong văn phòng hoặc được lưu trữ trong máy vi tính. Luồng dữ liệu ra vào kho có thể ghi hoặc không ghi. Không có những thông tin nối giữa hai kho. Tên kho là một danh từ + tính từ (có thể).
- Ký hiệu : Biểu thị tác nhân trong.
Tác nhân trong là một chức năng xử lý nào đó hoặc một hệ thống con của hệ thống đang xét có trao đổi thông tin và các chức năng trong mô hình được mô tả ở trang khác của quá trình. Mọi mô hình luồng dữ liệu đều có thể bao gồm nhiều trang thông tin được truyền giữa các trang khác nhau được chỉ ra nhờ ký hiệu này. Tên gồm động từ + bổ ngữ.
Các mức của DFD
- Sơ đồ ngữ cảnh (Context Diagram) thể hiện rất khái quát nội dung chính của hệ thống thông tin. Sơ đồ này không đi vào chi tiết, mà mô tả sao cho chỉ cần một lần nhìn là nhận ra nội dung chính của hệ thống. Để sao cho sơ đồ ngữ cảnh sáng sủa, dễ nhìn có thể bỏ phần các kho dữ liệu; bỏ qua các xử lý cập nhật. Sơ đồ khung cảnh còn được gọi là sơ đồ mức 0 (Hình 3.2)
Khách hàng
Đặt hàng
Thông tin
Công ty Minh Phu
Thông tin
Báo cáo
Hệ thống website TMĐT Minh Phu mobile
Hình 3.3: Sơ đồ mức 0
- Phân rã sơ đồ: Để mô tả hệ thống chi tiết hơn người ta dùng kỹ thuật phân rã (Explosion) sơ đồ. Bắt đầu từ sơ đồ khung cảnh, người ta phân rã ra thành sơ đồ mức 0, tiếp sau mức 0 là mức 1...
Thông tin của khách hàng
Đặt hàng
Thông tin sản phẩm, dich vụ
Công ty Minh Phu
Cập nhật thông tin sản phẩm, dich vụ
Báo cáo
Quản lý thông tin
Khách hàng
Liên hệ, hỏi đáp
Thông tin thị trường, tin phản hồi
Cập nhật thông tin
Kho dữ liệu
Quản quản trị hệ thống
Câp nhật
Quản lý bán hàng
Hình 3.4: Sơ đồ mức 1
3.2.3. Xác định danh sách các loại thực thể
3.2.3.1. Khái niệm về thực thể
Thực thể là khái niệm để biểu diễn các đối tượng trong ƯDTH. Thực thể không chỉ bao gồm những sự vật tồn tại một cách khách quan trong thực tế, mà thật ra thực thể còn được dùng cho cả những trường hợp trừu tượng ( Thời khoá biểu, công nợ, tồn kho…). Mỗi thực thể sẽ có những thuộc tính đặc trưng cho thực thể đó. Thuộc tính của một thực thể bao gồm có tên (name), kiểu dữ liệu (type) và bản số (cardinality).
3.2.3.2. Phương pháp xác định loại thực thể
Việc xác định các loại thực thể có thể được tiếp cận theo hai cách sau:
Tiếp cận theo kết xuất: dựa vào dữ liệu liên quan đến các báo cáo, hoá đơn, phiếu…Từ đó có thể xác định được các thuộc tính
Tiếp cận theo quy trình quản lý: dựa vào những mô tả về quy trình quản lý trong Hồ sơ khảo sát để xác định các thực thể.
3.2.3.3. Danh sách các loại thực thể trong ứng dụng
Dựa vào các kết xuất và sơ đồ nghiệp vụ trong phân khảo sát chúng ta có thể đưa ra được các thực thể cơ bản sau:
Thực thể Sản phẩm (SANPHAM)
SANPHAM
MASP
Mabac
Maloai
kieudang
Kichthuoc
baohanh
Tensp
Giasp
Gioithieu
Hinh
LUOTXEM
Ngayramat
tonkho
spnoibat
trongluong
phanloai
Hình 3.5: thực thể sản phẩm
Thực thể tin tức giải trí (tintuc)
Tintuc
matt
ndm
Tentt
Noidung
Ngaydt
Tacgia
chuthichnhanh
Nguoigui
Hinh
luotxem
Hình 3.6: thực thể tin tức giải trí
Thực thể danh mục nhóm (loaisp)
loaisp
Maloai
Tenloaisp
manhom
sott
logo
Hình 3.7: thực thể danh mục nhóm
Thực thể thông báo dịch vụ (thongbao)
thongbao
mathongbao
thongbao
Hình 3.8: thực thể thông báo dịch vụ
Thực thể Người sử dụng và quản trị (Members)
Members
Ten_dang_nhap
Mathanhvien
gioitinh
dienthoai
Dia_chi
email
Ho_ten
ngaythamgia
Mat_khau
Hình 3.9: thực thể người sử dụng và quản trị
Thực thể Hoá đơn đặt hàng (DONDH)
DONDH
ID
Hoten
Email
Diachi
dienthoai
NGAYDATHANG
Hình 3.10: thực thể hoá đơn đặt hàng
Thực thể Hoá quảng cáo (quangcao)
quangcao
Malogo
Hinh
link
Thực thể Hoá quảng cáo
3.2.4. Mối quan hệ giữa các thực thể
DONDH
Sanpham
Loaisp
Users
Đặt hàng
Thuộc
Hình 3.11: Sơ đồ mối quan hệ giứa các loại thực thể
Ta nhân thấy giữa các loại thực thể Hoa_don và Products xuất hiện mối quan hệ nhiều - nhiều, do vậy ta có thể tách thành các loại thực thể sau: (Hình 3.10)
DONDH
Dat_hang
sanpham
Đặt hàng
Bao gồm
Hình 3.12: Phân tích quan hệ nhiều-nhiều
3.2.5. Mô tả dữ liệu
3.2.5.1. Các loại thực thể
Loại thực thể
Diễn giải
DONDH
Hoá đơn đặt hàng
CHITIETDONHANG
Nội dung phiếu đặt hàng
sanpham
Sản phẩm
LOAISP
Danh mục nhóm
TINTUC
Tin tức, giải trí
Các thực thể phụ và thực thể hệ thống
quangcao
Danh mục các quảng cáo của trang
Thongke
Đếm số lần truy cập trang
TINTUC
Tin vắn quảng cáo, giải trí
Thongbao
Các thông báo của trang
Members
Người quản trị hệ thống và khách
3.2.5.2. Mô tả các loại thực thể
Thực thể DONDH
Thuộc tính
Diễn giải
Kiểu
Kích thước
P P: Primary key (khóa chính)
M: Mandatory (không được rỗng)
M
SODDH
Số hoá đơn
AutoNumber
8
x
x
MATHANHVIEN
Number
x
Hoten
Họ tên người đặt hàng
Text
50
x
Gioitinh
Giới tính
Text
10
x
Diachi
Địa chỉ
Text
50
x
PHONE
Điện thoại
Text
12
x
Email
Email
Text
50
x
FAX
Text
20
THANHTOAN
Thanh toán
Text
50
x
DIACHINHAN
Địa chỉ nhận hàng
Text
50
x
TGIANNHAN
Thời gian nhận
Text
x
GHICHU
Memo
NGAYDATHANG
Ngày đặt
Date/time
x
TRANGTHAI
Xác nhận đơn hàng
Yes/No
x
Thực thể CHITIETDONHANG
Thuộc tính
Diễn giải
Kiểu
Kích thước
P
M
ID
Mã phiếu đặt
AutoNumber
8
x
x
SODDH
Mã hàng đã đặt
Number
8
x
MASP
Mã các sản phẩm
Number
8
x
SLDAT
Số lượng đặt
Number
4
x
Thực thể sanpham (Sản phẩm)
Thuộc tính
Diễn giải
Kiểu
Kích thước
P
M
MASP
Mã sản phẩm
Number
8
x
x
TENSP
Tên sản phẩm
Text
250
x
GIOITHIEU
Giới thiệu
Memo
x
TINHNANGKHAC
Chi tiết về sản phẩm
Memo
x
GIASP
Giá cũ trước khuyến mãi
Number
x
MALOAI
Giá bán của sản phẩm
Number
x
Baohanh
Thời gian bảo hành
Text
20
x
KHUYENMAI
Khuyến mại sản phẩm
Text
10
Phukien
Phụ kiện kèm theo
Text
255
x
Ghichu
Ghi chú
Memo
Kichthuoc
Kích thước
Text
50
x
Trongluong
Trọng lượng
Text
50
SPNOIBAT
Sản phẩm nổi bật
Yes/No
x
TONKHO
Trạng thái
Number
2
x
NGAYRAMAT
Ngày ra mắt
Date/Time
x
SOLUONGNHAP
Ngôn ngữ
Number
8
x
LUOTXEM
Số lần xem sản phẩm
Number
8
x
Thực thể Tin tức (tintuc)
Thuộc tính
Diễn giải
Kiểu
Kích thước
P
M
MATT
Mã tin tức
Number
8
x
x
MALT
Mã loại tin
Text
250
x
TENTT
Tên bài tin tức
Memo
x
NOIDUNG
Nội dung tin bài
Memo
x
NDM
Tin chú ý
Yes/No
x
HINH
Hình ảnh tin đăng
Text
20
x
NGAYDT
Ngày gửi
Date/Time
x
NGUOIGUI
Người gửi
Text
50
x
TACGIA
Tác giả
Text
50
LUOTXEM
Lượt xem tin bài
Number
4
Thực thể quảng cáo
Thuộc tính
Diễn giải
Kiểu
Kích thước
P
M
MALOGO
Mã logo
Number
8
x
x
HINH
Hình logo
Text
255
x
LINK
Link quảng cáo
Text
255
x
Thực thể LOAISP
Thuộc tính
Diễn giải
Kiểu
Kích thước
P
M
MALOAI
Mã loại
Number
8
x
x
TENLOAISP
Tên loại sản phẩm
Text
100
x
MANHOM
Mã nhóm
Number
4
x
LOGO
Logo của loại sản phẩm
Text
100
x
STT
Số thứ tự
Number
2
x
Thực thể Members
Thuộc tính
Diễn giải
Kiểu
Kích thước
P
M
MATHANHVIEN
Mã người quản trị
Number
8
x
x
TEN_DANG_NHAP
Tên đăng nhập
Text
50
x
MAT_KHAU
Mật khẩu
Text
20
x
HO_TEN
Tên thật
Text
50
x
DIEN_THOAI
Điện thoại
Text
20
x
GIOITINH
Giới tính
Text
10
x
Email
Email đăng ký
Text
50
x
NGAYTHAMGIA
Date/Time
x
DIA_CHI
Địa chỉ
Text
50
NDM
Thuộc nhóm quyền hạn
Text
10
x
Thực thể nhóm sản phẩm (NHOMSP)
Thuộc tính
Diễn giải
Kiểu
Kích thước
P
M
MANHOM
Mã nhóm
Number
2
x
x
TENNHOM
Tên Nhóm
Text
255
x
STT
Số thứ tự
Number
2
x
Thực thể quangcao
Thuộc tính
Diễn giải
Kiểu
Kích thước
P
M
MALOGO
Mã Logo
Number
8
x
x
HINH
Text
50
x
LINK
Đường dẫn đến ảnh
Text
255
x
Thực thể thông báo (thongbao)
Thuộc tính
Diễn giải
Kiểu
Kích thước
P
M
MATHONGBAO
Mã thông báo
Number
4
x
x
THONGBAO
Nội dung thông báo
Memo
x
Thực thể loại tin tức (loaitintuc)
Thuộc tính
Diễn giải
Kiểu
Kích thước
P
M
MALT
Mã loại tin tức
Number
8
x
x
TENLT
Tên loại tin tức
Text
50
x
Thực thể liện hệ (LIENHE)
Thuộc tính
Diễn giải
Kiểu
Kích thước
P
M
MAEMAIL
Mã e mail
AutoNumber
8
x
x
HOTEN
Họ tên khách
Text
50
x
DIACHI
Địa chỉ
Text
50
x
EMAIL
Text
50
x
DIENTHOAI
Điện thoại
Text
50
NOIDUNG
Ý kiến của khách
Memo
x
3.2.6. Mô hình thực thể liên kết
Từ những phân tích trên ta xây dựng được mô hình thực thể liên kết dữ liệu của bài toán “Xây dựng website bán điện thoại di động – MINH PHÚ mobile”
Hình 3.6: Mô hình thực thể liên kết
CHƯƠNG IV: PHÂN TÍCH VÀ THIẾT KẾ CÁC THUẬT TOÁN
4.1. Phân tích thành các phần xử lý
4.1.1. Cơ sở phân tích và xác định các thành phần xử lý
4.1.1.1. Xác định danh sách các xử lý
Để xác định danh sách các xử lý của ứng dụng tin học, chúng ta có thể dựa trên hai cách tiếp cận theo kết xuất và theo quy trình nghiệp vụ.
Tiếp cận theo kết xuất
Trong cách tiếp cận này chúng ta xem xét từng kết xuất và tìm hiểu những xử lý nào cần được thực hiện để tạo ra những kết xuất của ứng dụng tin học.
Tiếp cận theo kết xuất có ưu điểm là trực quan, dễ thực hiện nhưng có khuyết điểm là kém linh hoạt, khó mở rộng.
Tiếp cận theo quy trình nghiệp vụ
Khi tiếp cận theo quy trình nghiệp vụ, chúng ta vận dụng phương pháp phân tích top – down. Xuất phát từ một công tác nghiệp vụ trong thực tế, chứng ta phân rã thành những xử lý con theo nhiều cấp bậc để tạo thành một cây xử lý.
4.1.1.2. Mô tả các xử lý trong chương trình
Mỗi xử lý trong danh sach cần phải được mô tả một cách rõ ràng. Nội dung mô tả một xử lý bao gồm: tên, chức năng, dữ liệu đầu vào, dữ liệu đầu ra.
4.1.2. Danh sách các xử lý của ứng dụng
Dựa và các sơ đồ phần rã chức năng, sô đồ nghiệp vụ, các kết xuất trong quá trình khảo sát, ta có thể đưa ra các chức năng xử lý của hệ thống như sau
Tên xử lý
Diễn giải
XL1
Đăng nhập hệ thống
XL2
Tạo Acount hệ thống
XL3
Cập nhật danh mục hàng hoá
XL4
Cập nhật danh mục tin tức, giải trí
XL5
Cập nhật danh mục download
XL6
Cập nhật danh mục menu (danh mục nhóm)
XL7
Cập nhật liên kết quảng cáo
XL8
Cập nhật banner trang chủ
XL9
Cập nhật tin nhanh quảng cáo
XL10
Xử lý đặt hàng
XL11
Thống kê danh sách đặt hàng
XL12
Thuật toán tìm kiếm
4.2. Các thuật toán chính của đề tài
4.2.1. Thuật toán đăng nhập vào hệ thống (login)
Dữ liệu đầu vào
Sơ đồ xử lý
TEN_DANG_NHAP,
MAT_KHAU
Kiểm tra hợp lệ
Đăng nhập
Thông báo lỗi
Lưu phiên làm việc
Members table
Sai
Đúng
Sử dụng hệ thống
Yêu cầu xử lý chức năng
Dữ liệu không được để trống.
Tên không xuất hiện các ký tự lạ.
Mật khẩu phải có ít nhất 4 ký tự và không có ký tự đặc biệt, tên không có dấu cách.
Nếu sai xuất thông báo lỗi yêu cầu đăng nhập lại.
Nếu đăng nhập thành công thì lưu lại thông tin đăng nhập cho phiên làm việc hiện tại.
4.2.2. Tạo Acount trong hệ thống
Dữ liệu đầu vào
Sơ đồ xử lý
TEN_DANG_NHAP,
MAT_KHAU,
HO_TEN,
MATHANHVIEN,
NGAYTHAMGIA,
EMAIL
Kiểm tra quyền
Đăng nhập
Thông báo lỗi
Nhập thông tin account
Members table
Sai
Đúng
Kiểm tra hợp lệ
Thông báo lỗi
Sai
Đúng
Yêu cầu xử lý chức năng:
Người sử dụng phải có quyền quản trị
Dữ liệu không được để trống.
Tên đăng nhập không xuất hiện các ký tự lạ, không có dấu cách.
Mật khẩu phải có ít nhất 4 ký tự và không có ký tự đặc biệt.
Nếu sai xuất thông báo lỗi yêu cầu đăng nhập lại.
Nếu thành công thì lưu lại thông tin vào bảng tài khoản
Khi sửa lại thông tin không được phép sửa tên tài khoản
4.2.3. Cập nhật danh mục hàng hoá
Dữ liệu đầu vào
Sơ đồ xử lý
TEN_DANG_NHAP,
MAT_KHAU,
Thông tin sản phẩm
Kiểm tra quyền
Đăng nhập
Thông báo lỗi
Nhập thông tin hàng hoá
Member
table
Sai
Đúng
Kiểm tra hợp lệ
Thông báo lỗi
Sai
Đúng
sanpham
table
Yêu cầu xử lý chức năng:
Người sử dụng phải có quyền quản trị
Dữ liệu không được để trống.
Tên đăng nhập không xuất hiện các ký tự lạ, không có dấu cách.
Nếu sai xuất thông báo lỗi yêu cầu đăng nhập lại.
Nếu thành công thì nhập thông tin sản phẩm
Kiểm tra tính hợp lệ nếu được thì lưu vào bảng sanpham
4.2.4. Cập nhật danh mục tin tức sản phẩm
Dữ liệu đầu vào
Sơ đồ xử lý
TEN_DANG_NHAP,
MAT_KHAU,
Nội dung tin tức hoặc tin giải trí hoặc giới thiệu công ty …
Kiểm tra quyền
Đăng nhập
Thông báo lỗi
Nhập nội dung thông tin
Member
table
Sai
Đúng
Kiểm tra hợp lệ
Thông báo lỗi
Sai
Đúng
tintuc
table
Yêu cầu xử lý chức năng:
Người sử dụng phải có quyền quản trị
Dữ liệu không được để trống.
Tên đăng nhập không xuất hiện các ký tự lạ, không có dấu cách.
Nếu đăng nhập sai xuất thông báo lỗi yêu cầu đăng nhập lại.
Nếu thành công thì nhập nôi dung thông tin cần đăng
4.2.5. Thuật toán tìm kiếm dữ liệu trong hệ thống
Dữ liệu đầu vào
Sơ đồ xử lý
Nội dung tin cần tìm,
loại tin cần tìm
Khách hàng
Nhập nội dung tin cần tìm và loại tin cần tìm
Tìm kiếm
Hiển thị kết quả
sanpham
table
Loại SP
Sai
Tìm Thấy
Không thấy
Báo không thấy
Yêu cầu xử lý chức năng:
Để mặc định mục cần tìm là tìm sản phẩm
Nếu không tìm thấy thì hiện thông báo không tìm thấy
Nếu tìm thành công thì hiển thị danh sách mục tìm thấy
4.2.6. Thuật toán đặt hàng
Dữ liệu đầu vào
Sơ đồ xử lý
Thông tin khách đặt hàng,
Mã hàng,
số lượng
Khách hàng
Chọn hàng
Đúng
sanpham
table
chọn tiếp
Sai
Hiển thị giỏ hàng
Nhập thông tin người đặt
DONDH ,Hoa_don
table
Yêu cầu xử lý chức năng:
Dữ liệu không được để trống.
Khách có thể chọn hàng ngay hoặc xem thông tin cụ thể của hàng trước khi chọn hàng
Khi khách hàng chon hàng hiện chi tiết thông tin giỏ hàng
Khách có thể quay lại chọn hàng tiếp những mặt hàng khác
Khi khách đặt mua phải yêu cầu nhập thông tin của khách
Sau khi đặt hàng xong phải hiện thông báo cho khách biết
CHƯƠNG V: THIẾT KẾ CHƯƠNG TRÌNH
5.1. Thiết kế các giao diện chính cho chương trình
5.1.1. Một số yêu cầu khi thiết kế giao diện ứng dụng
5.1.1.1. Các tính chất của hình giao diện
Tính đồng nhất
Tính thân thuộc, bắt mắt
Tính phong phú đa dạng của nội dung trình bày
Tính phong phú của thao tác xử lý
Tính cá nhân hóa
5.1.1.2. Các kỹ thuật
Cập nhật nội dung
Bổ sung thao tác
Tăng tốc độ nhập liệu
Xử lý các lỗi trong quá trình hoạt động
Thân thuộc hóa giao diện
Cá nhân hóa giao diện
5.1.2. Thiết kế các màn hình giao diện
5.1.2.1. Thiết kế trang chủ
Một khía cạnh khác giúp để lại kinh nghiệm mua hàng thú vị cho khách hàng trực tuyến chính là giao diện: được hiểu là từ ngữ và hình ảnh mà người mua hàng sẽ tiếp xúc, thay vì người bán hàng thực sự. Trang chủ là trang thể hiện bộ mặt chính của ứng dụng, do vậy các chức năng phải được bố trí hợp lý, tiện lợi cho người dùng khi lựa chọn các chức năng đó
Từ trang chủ người xem có thể liên kết đến các trang nội dung phải nhanh chóng dễ dàng và tiện lợi.
Hình 5.1: Màn hình trang chủ
5.1.2.2 Màn hình đăng nhập
Căn cứ theo các yêu cầu trong phần xử lý ta có thể xây dựng mục login vào tài khỏan của khách hàng và admin cùng nhau, và hệ thống sẽ tự check xem tài khỏan đó login với quyền hạn là khách hàng member hay là admin quản lý trang giao diện đăng nhập như sau:
Hình 5.2: Màn hình đăng nhập
5.1.2.3. Màn hình sản phẩm điện thoai
Hình 5.3: Màn hình sản phẩm điện thoại
5.1.2.4. Màn hình khi tài khoản login với quyền admin
Hình 5.4: Màn hình khi tài khoản login với quyền admin
5.1.2.5. Màn hình cập nhật sản phẩm mới
Hình 5.5: Màn hình cập nhật sản phẩm mới
5.1.2.6. Màn hình quản lý đơn đặt hàng
Hình 5.6: Màn hình quản lý đơn đặt hàng
5.1.2.7. Màn hình tin bài đã đăng
Hình 5.7: Màn hình tin bài đã đăng
5.1.2.8. Màn hình cập nhật, đăng tin tức
Hình 5.8 : Màn hình cập nhật, đăng tin tức
5.1.2.9. Màn hình xem danh sách khách hàng là thành viên đăng ký:
Hình 5.9: Màn hình danh sách khách hàng là thành viên
5.2. Một số đoạn mã chính của chương trình:
5.2.1. Kết nối cơ sở dữ liệu:
<%
filenameDB="..\Images\minhphumobile\minhphu.mdb"
%>
sub ketnoi(filename,cn)
set cn=server.CreateObject("adodb.connection")
cn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source = " & server.MapPath(filename)
cn.CursorLocation=3 'adUseClient
cn.Open
end sub
5.2.2. Mở cơ sở dữ liệu và hiển thị dữ liệu
<%
‘ Mở cơ sở dữ liệu
call ketnoi(filenameDB,cn) 'open ket noi
sql="SELECT * FROM LOAISP"
call MoRec(sql,cn,rs_LDT)
while not rs_LDT.EOF
sql="select top 1 * from SANPHAM where MALOAI=" & rs_LDT("MALOAI") & " order by NGAYRAMAT desc"
sql_UC="select top 1 * from SANPHAM where MALOAI=" & rs_LDT("MALOAI") & " order by TONKHO asc"
call MoRec(sql,cn,rs_DT)
call MoRec(sql_UC,cn,rs_DTUC)
if not rs_DT.BOF then
%>
‘ Phân trang và phân loại hiển thị nội dung
"" THEN Response.Write ("" & rs_LDT("LOGO") & "") ELSE Response.Write ("../images/Noimages.gif") %>" align="center" vspace="2" hspace="8">Hàng mới
nhập
Hàng bán chạy
. Giá bán : . Ngày ra mắt : ';return true" onmouseout="window.status='Chao mung ban den voi MINH PHÚ Mobile !';return true" href="dienthoaichitiet.asp?IDdienthoaichitiet=">
"" THEN Response.Write ("" & rs_DT("HINH") & "") ELSE Response.Write ("../images/Noimages.gif") %>" align="left" vspace="2" hspace="6" class="Images">
Giá: "0" THEN Response.Write ("" & rs_DT("GIASP") & " VND") ELSE Response.Write ("Chưa báo giá") %>
B.Hành: "" THEN Response.Write ("" & rs_DT("BAOHANH") & "") ELSE Response.Write ("Không") %>
Hiện tại:
. Giá bán : . Ngày ra mắt : ';return true" onmouseout="window.status='Chao mung ban den voi MINH PHÚ Mobile !';return true" href="dienthoaichitiet.asp?IDdienthoaichitiet=">
. Giá bán : . Ngày ra mắt : ';return true" onmouseout="window.status='Chao mung ban den voi MINH PHÚ Mobile !';return true" href="dienthoaichitiet.asp?IDdienthoaichitiet=">
"" THEN Response.Write ("" & rs_DTUC("HINH") & "") ELSE Response.Write ("../images/Noimages.gif") %>" align="left" vspace="2" hspace="6" class="Images">
Giá: "0" THEN Response.Write ("" & rs_DTUC("GIASP") & " VND") ELSE Response.Write ("Chưa báo giá") %>
B.Hành: "" THEN Response.Write ("" & rs_DTUC("BAOHANH") & "") ELSE Response.Write ("Không") %>
Hiện tại:
. Giá bán : . Ngày ra mắt : ';return true" onmouseout="window.status='Chao mung ban den voi MINH PHÚ Mobile !';return true" href="dienthoaichitiet.asp?IDdienthoaichitiet=">
<% end if
end if
end if
rs_LDT.movenext
wend
rs_LDT.close
set rs_LDT=nothing
rs_DT.close
set rs_DT=nothing
rs_DTUC.close
set rs_DTUC=nothing
%>
‘ quản lý chỉnh sửa sản phẩm
<%
call ketnoi(filenameDB,cn)
MASP=Request.QueryString("NDM")
NGUOIGUI=Session("HO_TEN")
MALOAI=Request.Form("cmbChungloai")
MABAC=Request.Form("cmbMABAC")
TENSP=Trim(Request.Form("txtTENSP"))
GIOITHIEU=Request.Form("txtGIOITHIEU")
HINH=Trim(Request.Form("txtHINH"))
NGAYRAMAT=Trim(Request.Form("txtNGAYRAMAT"))
GIASP=Trim(Request.Form("txtGIASP"))
KICHTHUOC=Trim(Request.Form("txtKICHTHUOC"))
TRONGLUONG=Trim(Request.Form("txtTRONGLUONG"))
KIEUDANG=Trim(Request.Form("txtKIEUDANG"))
BAOHANH=Trim(Request.Form("txtBAOHANH"))
DONGGOI=Trim(Request.Form("txtDONGGOI"))
MANG=Trim(Request.Form("txtMANG"))
MANHINHTRONG=Trim(Request.Form("txtMANHINHTRONG"))
MANHINHNGOAI=Trim(Request.Form("txtMANHINHNGOAI"))
GOINHANNHO=Trim(Request.Form("txtGOINHANNHO"))
TGIANGOI=Trim(Request.Form("txtTGIANGOI"))
TGIANCHO=Trim(Request.Form("txtTGIANCHO"))
TINNHAN=Trim(Request.Form("txtTINNHAN"))
DONGBOPC=Trim(Request.Form("txtDONGBOPC"))
BONHONGOAI=Trim(Request.Form("txtBONHONGOAI"))
BONHOTRONG=Trim(Request.Form("txtBONHOTRONG"))
PIN=Trim(Request.Form("txtPIN"))
KIEUCHUONG=Trim(Request.Form("txtKIEUCHUONG"))
GAME=Trim(Request.Form("txtGAME"))
TINHNANGKHAC=Request.Form("txtTINHNANGKHAC")
SOLUONGNHAP=Trim(Request.Form("txtSOLUONGNHAP"))
KHUYENMAI=Trim(Request.Form("txtKHUYENMAI"))
GPRS=Request.Form("txtGPRS")
if GPRS="" THEN GPRS=FALSE
WAP=Request.Form("txtWAP")
if WAP="" THEN WAP=FALSE
HONGNGOAI=Request.Form("txtHONGNGOAI")
if HONGNGOAI="" THEN HONGNGOAI=FALSE
FM=Request.Form("txtFM")
if FM="" THEN FM=FALSE
QUAYSOGIONGNOI=Request.Form("txtQUAYSOGIONGNOI")
if QUAYSOGIONGNOI="" THEN QUAYSOGIONGNOI=FALSE
GHIAM=Request.Form("txtGHIAM")
if GHIAM="" THEN GHIAM=FALSE
CAMERA=Request.Form("txtCAMERA")
if CAMERA="" THEN CAMERA=FALSE
NGHENHAC=Request.Form("txtNGHENHAC")
if NGHENHAC="" THEN NGHENHAC=FALSE
JAVA=Request.Form("txtJAVA")
if JAVA="" THEN JAVA=FALSE
PHANLOAI=Request.Form("txtPHANLOAI")
if PHANLOAI="" THEN PHANLOAI=FALSE
SPNOIBAT=Request.Form("txtSPNOIBAT")
if SPNOIBAT="" THEN SPNOIBAT=FALSE
sql="update SANPHAM set MABAC = " & MABAC & ","
sql=sql & " MALOAI ='" & MALOAI & "',"
sql=sql & " TENSP ='" & TENSP & "',"
sql=sql & " GIOITHIEU ='" & GIOITHIEU & "',"
sql=sql & " HINH ='" & HINH & "',"
sql=sql & " NGAYRAMAT ='" & NGAYRAMAT & "',"
sql=sql & " GIASP ='" & GIASP & "',"
sql=sql & " KICHTHUOC ='" & KICHTHUOC & "',"
sql=sql & " TRONGLUONG ='" & TRONGLUONG & "',"
sql=sql & " KIEUDANG ='" & KIEUDANG & "',"
sql=sql & " BAOHANH ='" & BAOHANH & "',"
sql=sql & " DONGGOI ='" & DONGGOI & "',"
sql=sql & " MANG ='" & MANG & "',"
sql=sql & " MANHINHTRONG ='" & MANHINHTRONG & "',"
sql=sql & " MANHINHNGOAI ='" & MANHINHNGOAI & "',"
sql=sql & " GOINHANNHO ='" & GOINHANNHO & "',"
sql=sql & " TGIANGOI ='" & TGIANGOI & "',"
sql=sql & " TGIANCHO ='" & TGIANCHO & "',"
sql=sql & " TINNHAN ='" & TINNHAN & "',"
sql=sql & " DONGBOPC ='" & DONGBOPC & "',"
sql=sql & " GPRS =" & GPRS & ","
sql=sql & " HONGNGOAI =" & HONGNGOAI & ","
sql=sql & " WAP =" & WAP & ","
sql=sql & " FM =" & FM & ","
sql=sql & " QUAYSOGIONGNOI =" & QUAYSOGIONGNOI & ","
sql=sql & " GHIAM =" & GHIAM & ","
sql=sql & " CAMERA =" & CAMERA & ","
sql=sql & " NGHENHAC =" & NGHENHAC & ","
sql=sql & " JAVA =" & JAVA & ","
sql=sql & " BONHONGOAI ='" & BONHONGOAI & "',"
sql=sql & " BONHOTRONG ='" & BONHOTRONG & "',"
sql=sql & " PIN ='" & PIN & "',"
sql=sql & " KIEUCHUONG ='" & KIEUCHUONG & "',"
sql=sql & " GAME ='" & GAME & "',"
sql=sql & " TINHNANGKHAC ='" & TINHNANGKHAC & "',"
sql=sql & " SOLUONGNHAP ='" & SOLUONGNHAP & "',"
sql=sql & " SPNOIBAT =" & SPNOIBAT & ","
sql=sql & " KHUYENMAI ='" & KHUYENMAI & "',"
sql=sql & " PHANLOAI =" & PHANLOAI & ","
sql=sql & " NGUOIGUI ='" & NGUOIGUI & "'"
sql=sql & " where MASP =" & MASP
cn.execute(sql)
cn.close
set cn=nothing
Response.Redirect("../MINHPHU/Hi.asp?NDM=15")
%>
‘ quản lý chỉnh sửa Tin tức
<%if Session("user")= 0 then
Response.Redirect("../MINHPHU/Trangchu.asp")
End if
%>
<%
call ketnoi(filenameDB,cn) 'open ket noi
dim MALT,TENTT,NOIDUNG,NGAYDT,TACGIA,HINH
MALT=Request.Form("cmbMALT")
TENTT=Request.Form("txtTENTT")
NOIDUNG=Request.Form("txtNOIDUNG")
NGAYDT=Request.Form("txtNGAYDT")
TACGIA=Request.Form("txtTACGIA")
HINH=Request.Form("txtHINH")
NGUOIGUI=Session("HO_TEN")
CHUTHICHANH=Request.Form("txtChuThich")
NDM=Request.Form("CmbQuyen")
sql="insert into TINTUC(MALT,TENTT,NGUOIGUI,NOIDUNG,NGAYDT,CHUTHICHANH,NDM,TACGIA,HINH) values("
sql=sql & MALT & ","
sql=sql & "'" & TENTT & "',"
sql=sql & "'" & NGUOIGUI & "',"
sql=sql & "'" & NOIDUNG & "',"
sql=sql & "'" & NGAYDT & "',"
sql=sql & "'" & CHUTHICHANH & "',"
sql=sql & "'" & NDM & "',"
sql=sql & "'" & TACGIA & "',"
sql=sql & "'" & HINH & "')"
' Response.Write(sql)
cn.execute(sql)
cn.close
set cn=nothing
if Session("user")= 8 then
Response.Redirect("../Administrator/TinTucXem.asp?ID=" & MALT)
End if
if Session("user")= 3 then
Response.Redirect("../MINHPHU/Hi.asp?NDM=12")
else
Response.Redirect("../MINHPHU/Trangchu.asp")
End if
%>
‘ quản lý kiểm tra thành viên khi đăng nhập
<%
call ketnoi(filenameDB,cn)
dim tendangnhap,matkhau
tendangnhap=Replace(Request.Form("txttendangnhap"),"'","''")
matkhau=sha256(sha256(Replace(Request.Form("txtmatkhau"),"'","''")))
sql="select * from MEMBERS where Ten_dang_nhap ='" & tendangnhap & "' and Mat_khau='" & matkhau & "'"
call MoRec(sql,cn,rs)
if not rs.BOF then
Session("HO_TEN")=rs("HO_TEN")
Session("MATHANHVIEN")=rs("MATHANHVIEN")
Session("User")=rs("NDM")
session.Timeout = 200
call ketthuc(rs,cn)
Response.Redirect("../MINHPHU/trangchu.asp")
else
Session("User")=0
Response.Redirect("../MINHPHU/Hi.asp?NDM=1")
end if
%>
Các file đính kèm theo tài liệu này:
- 26935.doc