Xây dựng và phát triển website C2C

33 678 2
Xây dựng và phát triển website C2C

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Xây dựng và phát triển website C2C

ĐẠI HỌC QUỐC GIA TP.HCMTRƯỜNG ĐẠI HỌC BÁCH KHOAKHOA KHOA HỌC KỸ THUẬT MÁY TÍNHBÁO CÁO ĐỒ ÁN MÔN HỌC 2XÂY DỰNG & PHÁT TRIỂN WEBSITE C2CGVHD: ThS. ĐẶNG TRẦN TRÍ---o0o---SV1: HOÀNG THANH NGỌC BẢO - 50600117SV2: BÙI ĐĂNG KHÁNH - 50601060SV3: LÝ THĂNG LONG - 50601311TP. HỒ CHÍ MINH, THÁNG 6 NĂM 2010MỤC LỤC Báo cáo ĐAMH 2 GVHD: ThS. Đặng Trần TríDANH MỤC HÌNH DANH MỤC BẢNGHoàng T.N Bảo - Bùi Đăng Khánh – Lý Thăng Long Trang 2 CHƯƠNG 1. TỔNG QUAN VỀ ĐỀ TÀI.1.1 Giới Thiệu Đề Tài.Trong bối cảnh thương mại điện tử (TMĐT) phát triển mạnh mẽ như hiện nay, những trang tin kinh doanh trực tuyến ngày càng xuất hiện nhiều trên Internet. Người ta khai thác sức mạnh của thương mại điện tử vì một số lý do như: • TMĐT giúp cho các doanh nghiệp nắm được thông tin phong phú về thị trường đối tác.• TMĐT giúp giảm chi phí sản xuất.• TMĐT giúp giảm chi phí bán hàng tiếp thị.• TMĐT qua INTERNET giúp người tiêu dùng các doanh nghiệp giảm đáng kể thời gian chí phí giao dịch.• TMĐT tạo điều kiện cho việc thiết lập củng cố mối quan hệ giữa các thành phần tham gia vào quá trình thương mại.• Tạo điều kiện sớm tiếp cận nền kinh tế số hoá.Tiêu biểu nhất là các trang web bán hàng qua mạng theo hình thức C2C (Consumer to Consumer), là hình thức thương mại điện tử giữa những người tiêu dùng với nhau.Loại hình thương mại điện tử này được phân loại bởi sự tăng trưởng của thị trường điện tử đấu giá trên mạng, đặc biệt với các ngành theo trục dọc nơi các công ty/ doanh nghiệp có thể đấu thầu cho những cái họ muốn từ các nhà cung cấp khác nhau. Đây có lẽ là tiềm năng lớn nhất cho việc phát triển các thị trường mới.Loại hình thương mại điện tử này tới theo ba dạng:• Đấu giá trên một cổng, chẳng hạn như eBay, cho phép đấu giá trên mạng cho những mặt hàng được bán trên web.• Hệ thống hai đầu như Napster (một giao thức chia sẻ dữ liệu giữa người dùng sử dụng diễn đàn nói chuyện IRC) các hình thức trao đổi file tiền.• Quảng cáo phân loại tại một cổng như Excite Classifieds eWanted (một thị trường mạng trao đổi qua lại nơi người mua người bán có thể thương thuyết với đặc thù “người mua hướng tới & muốn quảng cáo”).Giao dịch khách hàng tới doanh nghiệp C2B bao gồm đấu giá ngược, trong đó khách hàng là người điều khiển giao dịch. Một ví dụ cụ thể của nó là khi hãng hàng không cạnh tranh đưa ra cho người mua giá vé tốt nhất để đáp lại quảng cáo của người mua rằng anh ta muốn bay từ New York tới San Francisco.Có rất ít thông tin về quy mô của thương mại điện tử C2C. Tuy nhiên, con số C2C về các trang web thông dụng C2C như là eBay Napster chỉ ra rằng thị trường này thì rất lớn. Những trang web này tạo ra hàng triệu đô la bán hàng mỗi ngày.Ở Việt Nam, hiện có một số website thương mại điện tử C2C lớn như Chợ Mua Bán, Ahamai.com, Chợ điện tử, 5s, Mua rẻ, Fixgia. Đặc biệt là eBay đã mở riêng 1 trang bằng tiếng Việt, điều đó cho thấy tiềm năng từ thị trường Việt Nam là rất lớn.1.2 Nội Dung Đề Tài.A CHƯƠNG 2. TỔNG QUAN VỀ ASP.NET MVC FRAMEWORK.2.1 Khái niệm ASP.NET MVC.2.1.1 Mô hình MVC cơ bảnMVC viết tắt của các chữ cái đầu của Models, Views, Controllers.MVC chia giao diện UI thành 3 phần tương ứng: đầu vào của controller là các điều khiển thông qua HTTP request, model chứa các miền logic, view là những thứ được sinh ra trả về cho trình duyệt.Hình 2.1 Mô hình MVC cơ bảnLợi ích của việc dùng phương pháp MVC là sự phân đoạn rõ ràng giữa models, views, controllers bên trong ứng dụng. Cấu trúc sạch sẽ giúp cho việc kiểm tra lỗi ứng dụng trở nên dễ dàng hơn.Models trong các ứng dụng dựa trên MVC là những thành phần có nhiệm vụ lưu trữ thông tin, trạng thái của các đối tượng, thông thường nó là một lớp được ánh xạ từ một bảng trong CSDL. Lấy ví dụ, chúng ta có lớp Product được sử dụng để mô tả dữ liệu từ bảng Products trong SQL, bao gồm ProductID, OrderDate…Còn đối với Views, nó chính là các thành phần chịu trách nhiệm hiển thị các thông tin lên cho người dùng thông qua giao diện. Thông thường, các thông tin cần hiển thị được lấy từ thành phần Models. Ví dụ, đối tượng Product có một “Edit” view bao gồm các textboxes, các dropdowns checkboxes để chỉnh sửa các thuộc tính của sản phẩm; có một “Display” view gồm 2 dòng, cột dòng là ProductID, dòng sau là OrderDate… để xem thông tin về sản phẩm.Cuối cùng, Controllers trong các ứng dụng kiểu MVC chịu trách nhiệm xử lý các tác động về mặt giao diện, các thao tác đối với models, cuối cùng là chọn một view thích hợp để hiển thị ra màn hình. Trong kiến trúc MVC, view chỉ có tác dụng hiển thị giao diện mà thôi, còn điều kiển dòng nhập xuất của người dùng vẫn do Controllers đảm trách. 2.1.2 Một vài đặc trưng trong ASP.NET MVCTách rõ ràng các mối liên quan, mở khả năng test TDD (test driven developer). Có thể test unit trong ứng dụng mà không cần phải chạy Controllers cùng với tiến trình của ASP.NET có thể dùng bất kỳ một unit testing framework nào như NUnit, MBUnit, MS Test, v.v… Có khả năng mở rộng, mọi thứ trong MVC được thiết kế cho phép dễ dàng thay thế/tùy biến ( ví dụ: có thể lựa chọn sử dụng engine view riêng, routing policy, parameter serialization, v.v…). Bao gồm một ánh xạ URL mạnh mẽ cho phép xây dựng ứng dụng với những URL sạch, các URL không cần cs phần mở rộng (ví dụ: có thể ánh xạ địa chỉ /Products/Edit/4 để thực hiện hành động “Edit” của lớp điều khiển ProductControllers hoặc ánh xạ địa chỉ /Blog/SomeTopic để thực hiện hành động “Display Topic” của lớp điều khiển BlogEngineController).ASP.NET MVC Framework cũng hỗ trợ những file ASP.NET như .ASPX .ASCX .Master, đánh dấu các tập tin này như một “view template” ( có thể dễ dàng dùng các tính năng của ASP.NET như lồng các trang Master, <%= %> snippets, mô tả server controls, template, data-binding, localization, v.v… ). Tuy nhiên sẽ không còn postback interactive back server thay vào đó là interactive end-user tới một Controller class ( không còn viewstate, page lifecycle ).ASP.NET MVC Framework hỗ trợ đầy đủ các tính năng bảo mật của ASP.NET như forms/windows authenticate, URL authorization, membership/roles, output data caching, session/profile state, configuration system, provider architecture v.v…2.2 Sự khác biệt với WebfromASP.NET WebForm sử dụng ViewState để quản lý, các trang ASP.NET đều có lifecycle, postback dùng các web controls, các events để thực hiện các hành động cho UI khi có sự tương tác với người dùng nên hầu hết ASP.NET WebForm xử lý chậm.ASP.NET MVC Framework chia ra thành 3 phần: Models, Views, Controllers. Mọi tương tác của người dùng với Views sẽ được thực hiện hành động trong Controllers, không còn postback, không còn lifecycle không còn events.Việc kiểm tra ( test ), gỡ lỗi ( debug ) với ASP.NET đều phải chạy tất cả các tiến trình của ASP.NET mọi sự thay đổi ID của bất kỳ controls nào cũng ảnh hưởng đến ứng dụng. Đối với ASP.NET MVC Framework thì việc có thể sử dụng các unit test có thể thẩm định rất dễ dàng các Controller thực hiện như thế nào.Tính năng ASP.NET 2.0 ASP.NET MVCKiến trúc chương trình Kiến trúc mô hình WebForm -> Business -> DatabaseKiến trúc sử dụng việc phân chia chương trình thành Controllers, Models, ViewsCú pháp chương trình Sử dụng cú pháp của webform, tất các sự kiện controls do server quản lýKiến trúc sử dụng việc phân chia chương trình thành Controllers, Models, ViewsTruy cập dữ liệu Sử dụng hầu hết các công nghệ truy cập dữ liệu trong ứng dụngPhần lớn dùng LINQ to SQL class để tạo mô hình truy cập đối tượngDebug Debug chương trình phải thực hiện tất cả bao gồm các lớp truy cập dữ liệu, sự hiển thị, điều khiển các controlsDebug có thể sử dụng các unit test kiểm tra các phương thức trong controllerTốc độ phân tải Tốc độ phân tải chậm khi trong trang có quá nhiều các controls vì ViewState quá lớnPhân tải nhanh hơn do không phải quản lý ViewState để quản lý các control trong trang Tương tác với javascript Tương tác với javascript khó khăn vì các controls được điều khiển bởi serverTương tác với javascript dễ dàng vì các đối tượng không do server quản lý điều khiển không khóURL Address Cấu trúc địa chỉ URL có dạng <filename>.aspx?&<các tham số>Cấu trúc địa chỉ rành mạch theo dạng Controllers/Action/IdBảng 2.1 So sánh ASP.NET 2.0 ASP.NET MVC2.3 Định tuyến URL điều phối hiển thị2.3.1 Công dụng của hệ thống định tuyến trong ASP.NET MVCASP.NET MVC Framework có một hệ thống định tuyến URL ( URL Routing System ) linh hoạt cho phép xác định các quy tắc ánh xạ địa chỉ URL bên trong ứng dụng. Một hệ thống định tuyến có 2 mục đích:• Xây dựng một tập hợp các URL đi vào ứng dụng định tuyến chúng tới các Controller thực thi các phương thức Action để xử lý.• Xây dựng các URL gửi đi mà có thể gọi ngược trở lại Controllers/Actions ( ví dụ: form posts, liên kết <a href=“”> các lời gọi AJAX).Sử dụng các quy tắc ánh xạ URL để điều khiển URL đi vào đi ra để tăng tính mềm dẻo cho việc lập trình ứng dụng, nghĩa là nếu muốn thay đổi cấu trúc URL ( ví dụ /Catalog thành /Products ) có thể thay đổi một tập hợp quy tắc ánh xạ mức ứng dụng mà không cần phải viết lại mã lập trình bên trong Controllers Views 2.3.2 Các quy tắc định tuyến URL mặc định trong ASP.NET Web ApplicationMặc định khi tạo ứng dụng với ASP.NET MVC Web Application trong Visual Studio sẽ tạo ra một ASP.NET Application class gọi là Global.asax chứa cấu hình các quy tắc định tuyến URL. Xây dựng các định tuyến thông qua phương thức RegisterRoutes(ReouteCollection routes) khi ứng dụng bắt đầu, phương thức Application_Start() trong Global.asax.cs sẽ gọi RegisterRoutes để tạo ra bảng định tuyến.Mặc định định tuyến URL trong ASP.NET MVC Framework có cấu trúc dạng: Controllers/ControllerAction/Id .Với ASP.NET MVC Web Application thì mặc định Controllers là HomeController, mặc định ControllerAction là Index, mặc định Id là rỗng. Nghĩa là khi gọi trang web được xây dựng thông qua template ASP.NET Web Application thì mặc định http://localhost/ tương đương với http://localhost/Home/Index/Khi ứng dụng ASP.NET MVC Web Application nhận được một Url, MVC Framework sẽ định giá các quy tắc định tuyến trong tập hợp RouteTable.Routes để quyết định Controller nào sẽ điều khiển request. MVC framework chọn Controller bằng cách định giá các quy tắc trong bảng định tuyến theo trật tự đã có sẵn.CHƯƠNG 3. PHÂN TÍCH THIẾT KẾ HỆ THỐNG.3.1 Phân Tích Nghiệp Vụ Phía Người Dùng (Khách Hàng).3.1.1 Đăng ký tài khoản.Để thực hiện giao dịch trên trang web người dùng cần đăng ký một tài khoản.Các bước đăng ký tài khoản:1. Nhập thông tin cá nhân của bạn Thông tin liên lạc của bạn bao gồm tên, địa chỉ số điện thoại. Thông tin cá nhân bao gồm cả ngày sinh để xác minh rằng bạn từ 18 tuổi trở lên.2. Nhập địa chỉ email.Người dùng cần nhập địa chỉ email để có thể kiểm tra cập nhật thong tin ngay lập tức, bởi vì trang web sẽ gửi cho người dùng một email với các hướng dẫn để hoàn tất việc đăng ký. Trang web cũng sẽ sử dụng địa chỉ email này để thông báo tới người dùng khi đã thắng 1 sản phẩm đấu giá, chia sẻ thông tin về vận chuyển thanh toán với người mua người bán khác.3. Đọc chấp nhận qui định người dùng chính sách bảo mật của Website.Người dùng phải chấp nhận chính sách của website để có thể tiếp tục đăng ký.4. Đăng ký tên đăng nhập, mật khẩu câu hỏi bí mật.Người dùng sẽ sử dụng ID mật khẩu của mình mỗi khi đăng nhập trang web. Tìm hiểu thêm về cách chọn một người sử dụng ID nhận được lời khuyên về việc tạo ra một mật khẩu an toàn. Câu hỏi bí mật sẽ giúp chúng người dùng lấy lại password trong trường hợp người dùng quên mật khẩu.5. Kiểm tra email.Sau khi điền đầy đủ thông tin đăng ký trên website, người dùng sẽ nhận được 1 email xác nhận. Thực hiện theo hướng dẫn của email để xác nhận chắc chắn thông tin đăng ký hoàn tất quá trình đăng ký. Hình 3.1 Đăng kí tài khoảnTrường hợp quên mật khẩu hoặc username:1. User nhấn vào link forget my password.2. Trang web yêu cầu người dùng nhập:• Địa chỉ email• Điền lại hình ảnh xác nhận (capcha) 3. Trang web sẽ kiểm tra sự tồn tại của emal trong hệ thống csdl gửi tới email tên user name tương ứng với email đó, kèm theo đường link (link này tồn tại trong vòng 24h).4. Người dùng theo đường link đó, sẽ được chuyển tới trang yêu cầu nhập• Password mới• Hình ảnh xác nhận (capcha)5. Nhấn OK hoàn tất.3.1.2 Mua hàng.Sau khi đăng ký tạo tài khoản, người dùng đăng nhập để có thể thực hiện chức năng mua hàng.Người mua có thể tìm đến món hàng theo 2 cách:• Tìm món hàng theo danh mục cụ thể• Sử dụng chức năng search hay advance search.Kết quả sẽ là một danh sách các món hàng, đầu danh sách các món hàng là 3 tab với 3 tùy chọn:• All item: tất cả món hàng có tùy chọn đấu giá hoặc tùy chọn mua ngay.• Auction only: chỉ những món hàng đấu giá.• Buy it now only: chỉ những món hàng có tùy chọn mua ngay.Hình 3.2 Danh sách món hàngMỗi món hàng trong danh sách gồm các thông tin sau:• Hình ảnh: hình ảnh thu nhỏ của món hàng, liên kết đến trang thông tin chi tiết của món hàng• Tiêu đề: liên kết đến trang thông tin chi tiết của món hàng.• Link enlarge: tooltip hiện hình ảnh kích thước thật của món hàng. • Tùy chọn “buy it now” (nếu có): mua ngay món hàng mà không phải tham gia đấu giá.• Giá hiện tại của món hang.• Time left: khoản thời gian còn hiệu lực cho việc mua ngay hoặc đấu giá.Khi người dùng click vào một món hàng sẽ liên kết đến trang chi tiết của món hàng:Hình 3.3 Thông tin chi tiết một món hàngThông tin trên trang chi tiết gồm có:• Link “Watch this item”: người dùng nhấp vào link này nếu muốn theo dõi thông tin về món hàng từ trang cá nhân “my page”.• Image: hình ảnh cỡ lớn của món hàng.• Title: tiêu đề món hàng.• Item condition: tình trạng món hàng (mới, cũ, hư).• Time left:khoản thời gian còn hiệu lực cho việc mua ngay hoặc đấu giá.• Bid history: số lần món hàng đã được tăng giá tính từ giá khởi điểm.• Starting bid: giá khởi điểm (nếu chưa có người đấu giá) hoặc current bid: giá đấu hiện tại (nếu quá trình đấu giá đang diễn ra).• Your max bid: Giá đấu cao nhất người mua muốn đặt.• Price: Giá cho tùy chọn mua ngay.• Button “Buy it now”.• Shipping: thông tin về việc giao hàng (giá).• Return accept: tùy chọn trả hàng.• Seller ifformation:o ID seller: liên kết đến trang chứa thông tin chi tiết về người bán.o Số lượng feedback: liên kết đến trang chứa khác feedback của các thành viên khác về người bán.o Feedback star: icon kế số lượng feedback, cho biết số lượng sao do các thành viên khác bình chọn cho người bán.o Tỷ lệ positive feedback. o Ask a question: đặt câu hỏi với người bán.o Save this seller: lưu người bán vào trang cá nhân “my page”.o See others item: xem những món hàng khác của seller này.• Other item info (các thông tin khác của item) gồm có: [...]... New hoặc Used 3.1.3.2.2 Hình ảnh bài viết mô tả sản phẩm Upload ít nhất 1 tấm ảnh đại diện cho sản phẩm tối đa là 4 (bắt buộc) Bài viết mô tả sản phẩm: website phải cung cấp 1 text box 1 bộ chỉnh sửa văn bản đầy đủ để người bán tùy ý mô tả Có hỗ trợ viết dạng HTML 3.1.3.2.3 Thêm sản phẩm vào kho Cuối trang này có 1 button có chức năng lưu đưa sản phẩm này vào kho Khi lưu xong, sẽ hiển thị... KIẾN TRÚC HIỆN THỰC HỆ THỐNG 4.1 Kiến Trúc Tổng Quan 4.1.1 Kiến trúc tổng quan về chức năng 4.1.2 Các thành phần chính chức năng từng thành phần 4.2 Hiện thực hệ thống 4.2.1 Các chứng năng chính của hệ thống 4.2.2 Core đấu giá T CHƯƠNG 5 5.1 TỔNG KẾT HƯỚNG PHÁT TRIỂN LÊN LUẬN VĂN Tổng kết Nhóm đã hoàn thành một số chức năng cơ bản của một trang web bán hàng qua mạng theo mô hình C2C: • Đăng... bán thông qua chức năng advance search – find contact information – member – điền ID người bán ID của item 3.1.3 Bán hàng Gồm 2 bước: • Thêm sản phẩm vào khó: user tạo mới 1 món hàng, mô tả chi tiết lưu vào kho • Public sản phẩm 3.1.3.1 Bắt đầu quá trình bán Ở phía góc phải trên bất kỳ trang nào, bấm vào tab Sell Trên trang Sell, nhấn nút “Start selling” Chọn tab “Kho sản phẩm” Trang web sẽ show... cấp độ doanh nghiệp giúp nhà quản trị có cái nhìn rõ hơn về lưu lượng truy cập trang web tính hiệu quả của tiếp thị) • Xây dựng trang dành riêng cho nhà quản trị (Back end Features) với các chức năng như: thêm vào, chỉnh sửa tên các category, quản lý phí, quản lý user … • Thiết kế giao diện người dùng thân thiện chuyên nghiệp hơn Tăng cường tính bảo mật của trang web PHỤ LỤC Trường Đại học Bách... Xậy dựng Web C2C GVHD: ThS Đặng Trần Trí SV thực hiện: Hoàng Thanh Ngọc Bảo 50600117 Bùi Đăng Khánh 50601060 Lý Thăng Long 50601311 Thời gian gặp gỡ Nội dung trao đổi 15h 04/03/2010 Tìm hiểu các đặc điểm & nghiệp vụ của mô hình Web C2C, xác định hướng đi của đề tài 15h 18/03/2010 Báo cáo lần 1 requirement: các đặc điểm nghiệp vụ thu thập được 15h 08/04/2010 Báo cáo lần 2 requirement Báo cáo nhận... dùng click vào thì các thông tin có thể được chỉnh sửa, khi đó, nút Edit được thay bằng nút Save Cancel • Notifications Preferences link: dùng thay đổi các tùy chọn nhận thông báo từ hệ thống Nội dung trang gồm các tùy chọn để nhận thông báo Dưới cùng có nút Edit, khi người dùng click vào thì các tùy chọn sẽ hiện thêm ckeck box cho người dùng chọn, khi đó, nút Edit được thay bằng nút Save Cancel... click vào liên kết này sẽ yêu cầu cung cấp userID của thành viên mà bạn muốn liên lạc hoặc địa chỉ email của người đó Hoặc bạn có thể click vào liên kết userID ở bất cứ trang nào để dẫn đến trang user profile, sau dó click vào liên kết “Contact Member” • • Trash: chứa danh sách các tin nhắn mà bạn xóa Change setting: Để tạo hoặc thay đổi chữ ký Chọn tùy chọn “Show signature”, điền thông tin cần thiết vào... nhất” mà họ đặt tăng giá đấu của bạn lên sao cho bằng “giá đấu cao nhất” của người kia cộng thêm một khoản tăng được qui định như bảng trên Người kia sẽ được hệ thống tự động gửi một email thông báo rằng họ không còn là người đặt giá cao nhất • • Ví dụ: A là người đặt giá trước, B là người đặt giá sau Giá đấu hiện tại cho 1 món hàng đang là $10.00 A đang là người trả giá cao, đã đặt mức giá... Mức giá này dược giữ bí mật • • cho những thành viên khác B xem đặt mức giá là $20 B trở thành người trả giá cao Giá đấu của A sẽ không tăng 1 khoảng theo như theo bảng trên là $10.50 mà được tự động tăng lên đến mức cao nhất là $15.00 giá đấu của B ngay lập tức sẽ là $15.50 Khi người mua khác đặt giá đấu cao hơn giá đấu hiện tại trở thành người đặt giá đấu cao nhất Hệ thống tự động tăng giá... Giá đấu hiện tại cho 1 món hàng đang là $10.00 A đang là người trả giá cao, đã đặt mức giá cao nhất mà anh muốn mua cho mặt hàng này là $12.00 Mức giá này dược giữ bí mật • • cho những thành viên khác B xem đặt mức giá là $12.5 B trở thành người trả giá cao Giá đấu của A sẽ được tự động tăng lên đến mức cao nhất là $12.00 giá đấu của Laura theo bảng tự động tăng giả sử sẽ là $13.00 lớn hơn maxbid . TP.HCMTRƯỜNG ĐẠI HỌC BÁCH KHOAKHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNHBÁO CÁO ĐỒ ÁN MÔN HỌC 2XÂY DỰNG & PHÁT TRIỂN WEBSITE C2CGVHD: ThS. ĐẶNG TRẦN TRÍ---o0o---SV1:. mục đích:• Xây dựng một tập hợp các URL đi vào ứng dụng và định tuyến chúng tới các Controller và thực thi các phương thức Action để xử lý.• Xây dựng các

Ngày đăng: 19/01/2013, 11:09

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan