Tiểu luận môn lập trình nâng cao Thiết kế website thương mại điện tử

39 1.3K 4
Tiểu luận môn lập trình nâng cao Thiết kế website thương mại điện tử

Đ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

Tiểu luận môn lập trình nâng cao Thiết kế website thương mại điện tử Ngày nay, thương mại điện tử đã trở nên hết sức phổ biến trong cuộc sống của chúng ta.Mua sắm là một nhu cầu không thể thiếu của con người, nhưng không phải ai cũng có thời gian để mất hàng giờ để đi mua món đồ mình ưa thích.Mua bán online chính là một giải pháp hữu hiệu để khắc phục những vấn đề đó.

LỜI NÓI ĐẦU Ngày nay, thương mại điện tử đã trở nên hết sức phổ biến trong cuộc sống của chúng ta.Mua sắm là một nhu cầu không thể thiếu của con người, nhưng không phải ai cũng có thời gian để mất hàng giờ để đi mua món đồ mình ưa thích.Mua bán online chính là một giải pháp hữu hiệu để khắc phục những vấn đề đó Vấn đề lớn nhất của việc mua bán online đó chính là chất lượng sản phẩm hay nói cách khác là độ tin tưởng vào người bán.Và giờ đây, với sự phát triển vượt bậc về công nghệ, vấn đề đó đã được giải quyết dễ dàng : Các trang web bán hàng online có uy tín lần lượt xuất hiện : raovat.com,rongbay.com , chotot.com… là những trang web cực kì nổi tiếng và bạn có thể mua hay bán bất cứ thứ gì trên đó.Thực sự, đó là một cơ hội cho những người muốn bán hàng nhưng chưa có cửa hàng của riêng mình hay những người muốn mua hàng mà lại thiếu thời gian lựa chọn Trong khuôn khổ bài tập lớn môn lập trình nâng cao, nhóm em đã quyết định thiết kế một website bán hàng online tương tự như các trang web trên nhưng ở một quy mô nhỏ hơn nhất nhiều.Mục đích chính của nhóm là học thêm kiến thức mới cũng như thực hành lại những kĩ năng đã học.do đó, sản phẩm cuối cùng có thể chưa được hoàn thiện DANH MỤC HÌNH VẼ Hình 1: Biểu đồ hoạt động của hệ thống Hình 2 : Biểu đồ hoạt động của hệ thống Hình 3: Biểu đồ lớp DANH MỤC BẢNG BIỂU Bảng 1: Ca sử dụng đặt hàng Bảng 2: Ca sử dụng tìm kiếm Bảng 3: Ca sử dụng duy trì thông tin sản phẩm Bảng 4: Ca sử dụng quảng cáo Bảng 5: Ca sử dụng quản lý User Bảng 6: Ca sử dụng kiểm tra Bảng 7: Mối quan hệ giữa các ca sử dụng Bảng 8: Thẻ CRC lớp Nhân viên Bảng 9: Thẻ CRC lớp Customer Bảng 10: Thẻ CRC lớp Đơn đặt hàng Bảng 11: Thẻ CRC lớp Sản phẩm Bảng 12: Thẻ CRC lớp Nhóm sản phẩm Bảng 13: Thẻ CRC lớp Quảng cáo Bảng 14: Thẻ CRC lớp Đơn đặt hàng I Phân tích hệ thống 1 Khảo sát yêu cầu hệ thống 1.1 Yêu cầu chức năng Hệ thống có 3 chức năng chính : • • • Tìm kiếm Đặt hàng Duy trì thông tin sản phẩm để người dùng có thể tra cứu 1.2 Yêu cầu phi chức năng • Giao diện đơn giản , dễ nhìn , thân thiện với người dùng • Các thao tác sử dụng để đặt hàng hay tra cứu thông tin phải đơn giản • Dễ dàng chỉnh sửa cũng như cập nhật thông tin 1.3 Mô tả hệ thống • Hệ thống chứa thông tin của rất nhiều sản phẩm, được xếp vào các mục khác nhau (category) để người dùng dễ tra cứu • Hệ thống có hỗ trợ chức năng tìm kiếm để người dùng có thể ngay lập tức tìm được thông tin của sản phẩm muốn mua • Hệ thống hỗ trợ chức năng đặt hàng online để người dùng có thể thực hiện giao dịch ngay • Cả 3 chức năng trên sẽ xuất hiện ngay trên giao diện chính của Web 2 Đặc tả yêu cầu hệ thống 2.1 Biểu đồ hoạt động Dựa vào các chức năng cơ bản của hệ thống, ta xây dựng biểu đồ hoạt động của hệ thống như hình 1 Ta Như trên biểu đồ ta đã thấy ,hệ thống thưc hiện 5 hoạt động chính: • • • • • Đặt hàng : khi những khách hàng muốn mua sản phẩm được quảng cáo trên Web thì sẽ sử dụng chức năng này Tìm kiếm : khi người dùng muốn truy vấn tìm kiếm một sản phẩm nào đó thì sẽ sử dụng chức năng này Duy trì thông tin sản phẩm : luôn luôn duy trì thông tin sản phẩm để người dùng có thể tra cứu một cách dễ dàng nhất Quảng cáo : Quản lý người dùng : quản lý những người sử dụng Từ biểu đồ hoạt động trên ta sẽ xây dựng biểu đồ ca sử dụng 2.2 Biểu đồ ca sử dụng 2.2.1 Danh sách ca sử dụng • Đặt hàng • Tìm kiếm • Duy trì thông tin sản phẩm • Quảng cáo • Quản lý thông tin người dùng Ngoài ra còn có các ca sử dụng mở rộng như đăng nhập, đăng kí, kiểm tra Hình 1: Biểu đồ hoạt động của hệ thống 2.2.2 Bảng mô tả ca sử dụng Use case name: Đặt hàng ID: 01 Level: High Primary actor:Khách hàng-Customer Use Case Type: Detail, essential Stakaholders and Interests: Khách hàng : thực hiên thao tác đặt hàng Brief Description: Ca sử dụng này mô tả việc đặt hàng Trigger: Khách hàng nhập thông tin vào menu đặt hàng Relationships: Association: Khách hàng Include: Kiểm tra , Duy trì đơn hàng Extend: + Tìm kiếm Genaralization: Normal Flow of Events: 1 Khách hàng khi muốn mua hàng sẽ truy nhập vào menu đặt hàng 2 Khách hàng tiến hành nhập thông tin vào menu đặt hàng 3 Hệ thống sẽ tiến hành kiểm tra đơn hàng 4 Hệ thống sẽ duy trì đơn hàng đến khi nào mặt hàng đó được gửi đi và thanh toán thì sẽ hủy Subflows: Alternate/Exception Flows: Bảng 1: Ca sử dụng đặt hàng Use case name: Tìm kiếm ID: 02 Level: High Primary actor:Khách hàng-Customer Use Case Type: Detail, essential Stakaholders and Interests: Khách hàng : thực hiên thao tác tìm kiếm Brief Description: Ca sử dụng này mô tả việc tìm kiếm Trigger: Khách hàng nhập thông tin vào menu tìm kiếm Relationships: Association: Khách hàng Include: Extend: + Tìm kiếm Genaralization: Normal Flow of Events: 1 Khách hàng khi muốn tìm thông tin sẽ chọn menu tìm kiếm 2 Khách hàng tiến hành nhập thông tin vào menu tìm kiếm 3 Hệ thống sẽ gửi trả kết quả tìm kiếm là thông tin sản phẩm Subflows: Alternate/Exception Flows: Bảng 2: Ca sử dụng tìm kiếm Use case name: Duy trì thông tin sản ID: 03 Level: High phẩm Primary actor:DistributionSystem Use Case Type: Detail, essential Stakaholders and Interests: DistributionSystem: duy trì thông tin sản phẩm trên Web Brief Description: Ca sử dụng này mô tả việc duy trì thông tin sản phẩm trên Web Trigger: Khách hàng nhập thông tin vào menu đặt hàng Relationships: Association: Sản phẩm Include: Extend: Genaralization: Normal Flow of Events: 1 Hệ thống liên tục duy trì thông tin sản phẩm trên Web : sửa khi thay đổi thêm vào khi có sản phẩm mới Subflows: Alternate/Exception Flows: Bảng 3: Ca sử dụng duy trì thông tin sản phẩm Use case name: Quảng cáo ID: 04 Level: High Primary actor:System Use Case Type: Detail, essential Stakaholders and Interests: AdvSystem : thực hiện việc quảng cáo Brief Description: Ca sử dụng này mô tả việc quảng cáo Trigger: Khách hàng nhập thông tin vào menu tìm kiếm Relationships: Association: Include: Extend: Genaralization: Normal Flow of Events: 4 Khách hàng khi muốn tìm thông tin sẽ chọn menu tìm kiếm 5 Khách hàng tiến hành nhập thông tin vào menu tìm kiếm 6 Hệ thống sẽ gửi trả kết quả tìm kiếm là thông tin sản phẩm Subflows: Alternate/Exception Flows: Bảng 4: Ca sử dụng quảng cáo Use case name: Quản lý user ID: 05 Level: High Primary actor:System Use Case Type: Detail, essential Stakaholders and Interests: System : quản lý thông tin khách hàng Brief Description: Ca sử dụng này mô tả việc quản lý thông tin người dùng và khách hàng Trigger: Relationships: Association: Khách hàng , nhân viên Include: Extend: Genaralization: Normal Flow of Events: 1 Hệ thống quản lý thông tin khách hàng và nhân viên Subflows: Alternate/Exception Flows: đổi 1a.Hệ thống tiến hành cập nhật khi có thay Bảng 5: Ca sử dụng quản lý User Use case name: Kiểm tra ID: 06 Level: High Primary actor:System Use Case Type: Detail, essential Stakaholders and Interests: Hệ thống kiểm tra thông tin Brief Description: Ca sử dụng này mô tả việc hệ thống kiểm tra thông tin sản phẩm và người dùng Trigger: Hệ thống nhận thông tin yêu cầu đặt hàng của khách hàng Relationships: Association: Khách hàng Include: Extend: Genaralization: Normal Flow of Events: 1 Hệ thống tiến hành kiểm tra thông tin người dùng và sản phẩm 2 Hệ thống thông báo kết quả kiểm tra lại cho người dùng Subflows: Alternate/Exception Flows: Bảng 6: Ca sử dụng kiểm tra Service Agents: Là những thành phần trợ giúp việc truy xuất các dịch vụ bên ngoài một cách dễ dàng và đơn giản như truy xuất các dịch vụ nội tại 4 Ba lớp ứng dụng Web bán hàng Ở đây ta sẽ bàn về cách tổ chức ứng dụng Web bán hàng thành 3 lớp Presentation Layers, Business Layers, và Data Layers Phân tích CSDL của ứng dụng Ta sẽ phân tích cách tổ chức các lớp để truy xuất vào bảng User Các bảng khác xử lý hoàn toàn tương tự Các thủ tục truy xuất với bảng User hay bất kỳ bảng nào khác thường bao gồm : Insert, Update, Delete, GetByAll, GetById… SQL Procedure Trước tiên ta tạo các StoredProcedure trong SQL Ví dụ như Procedure Insert cho bảng User các tham số đầu vào và kiểu dữ liệu của nó là @Name nvarchar(500),@UserName varchar(500),@Password varchar(500),@Rule int, @Status int USE [WebBanHang] GO /****** Object: StoredProcedure [dbo].[sp_User_Insert] 4:23:17 AM ******/ Script Date: 1/13/2014 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROC [dbo].[sp_User_Insert] @Name nvarchar(500), @UserName varchar(500), @Password varchar(500), @Rule int, @Status int AS INSERT INTO [Users] ([Name],[UserName], [Password],[Rule], [Status]) VALUES(@Name,@UserName,@Password,@Rule,@Status) Ta có thể tạo thêm các StoredProcedure cho thao tác Update, Delete, Select cho bảng User và các bảng khác 5 Các class cần thiết trong ứng dụng Mô hình 3 lớp phân chia ứng dụng thành 3 lớp với các chức năng riêng biệt, ta sẽ tổ chức mã nguồn thành các lớp tương ứng: Data, Business and Presentation MyWeb.Data Class Là lớp đóng vai trò tương tác với CSDL Nhiệm vụ của lớp này là tạo kết nối, truy xuất trực tiếp lên CSDL thông qua các SQL StoredProcedure Ở đây ta khai báo thêm các class UserInfo, SqlDataProvider và UserController Class UserInfo chứa thông tin về một user dùng làm tham số truyền vào Procedure Class SqlDataProvider tạo kết nối tới CSDL Class UserController khai báo các hàm để chạy các Procedure Ví dụ hàm dùng để Insert, khai báo trong class UserController: public class UserController : SqlDataProvider { #region[User_Insert] public void User_Insert(UserInfo data) { using (SqlCommand cmd = new SqlCommand("sp_User_Insert", GetConnection())) { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter("@Name", data.Name)); cmd.Parameters.Add(new SqlParameter("@UserName", data.UserName)); cmd.Parameters.Add(new SqlParameter("@Password", data.Password)); cmd.Parameters.Add(new SqlParameter("@Rule", data.Rule)); cmd.Parameters.Add(new SqlParameter("@Status", data.Status)); cmd.ExecuteNonQuery();//thuc hien cau lenh khong tra ve } } #endregion Hàm này lấy đối số là một đối tượng kiểu UserInfo, thông qua kết nối nhờ hàm GetConnection() trong class SqlDataProvider MyWeb.Business Lớp này lấy dữ liệu từ lớp Data, xử lý và truyền lên cho lớp Presentation và ngược lại Ví dụ hàm Insert khai báo trong class UserService: class UserService { public static UserController db = new UserController(); #region[User_Insert] public void User_Insert(UserInfo data) { db.User_Insert(data); } #endregion Hàm này khởi tạo một đối tượng db thuộc class UserController, rồi thực hiện hàm User_Insert với tham số vào là một đối tượng kiểu UserInfo MyWeb (Presentation) Là lớp giao diện, có nhiệm vụ nhận dữ liệu từ lớp MyWeb.Business hiển thị lên màn hình và nhận dữ liệu từ giao diện truyền về MyWeb.Business Thiết kế lớp Presentation này khá mềm dẻo, không bắt buộc phải theo một chuẩn cụ thể Ví dụ có thể dùng ASP Server Controller hoặc HTML Server Controller để hiển thị Ta không đi sâu vào phân tích về đặc điểm mà chỉ quan tâm đến cách thức sử dụng chúng III Kết quả 1 Tạo tầng Data Access 1.1 Tạo một Web Project và kết nối với cơ sở dữ liệu Bước 1: tạo mới một ASP.NET Web Site Bước này sẽ tạo ra một website với một trang Default.aspx và thư mục App_Data Bước 2: Kết nối với CSDL 1.2 Tạo tầng Data Access Bước 1: Tạo một DataSet và Table Adapter Bước 2: Tạo bảng trong DataSet 1.3 Thêm các phương thức vào tầng Data Access 1.4 Chèn, cập nhật và xóa dữ liệu 1.5 Hoàn thiện lớp Data Access Layer 2 Tạo tầng Business Logic 3 Các Master Page và định vị site 4 Kết quả SiteMaster ... CRC lớp Đơn đặt hàng Từ thẻ CRC ta lập biểu đồ lớp sau : Hình 3: Biểu đồ lớp II Lập trình theo mơ hình lớp Khi bạn tiếp xúc với Windows Form ADO.NET, việc lập trình bắt đầu trở lên phức tạp dự... sử dụng chúng III Kết Tạo tầng Data Access 1.1 Tạo Web Project kết nối với sở liệu Bước 1: tạo ASP.NET Web Site Bước tạo website với trang Default.aspx thư mục App_Data Bước 2: Kết nối với CSDL... phần tử chịu trách nhiệm thu thập hiển thị thông tin cho người dùng cuối Trong ASP.NET thành phần TextBox, Button, DataGrid… UI Process Components: thành phần chịu trách nhiệm quản lý qui trình

Ngày đăng: 28/10/2014, 23:16

Từ khóa liên quan

Mục lục

  • LỜI NÓI ĐẦU

  • DANH MỤC HÌNH VẼ

  • DANH MỤC BẢNG BIỂU

  • I. Phân tích hệ thống

  • 1. Khảo sát yêu cầu hệ thống

    • 1.1 Yêu cầu chức năng

    • 1.2 Yêu cầu phi chức năng

    • 1.3 Mô tả hệ thống

    • 2. Đặc tả yêu cầu hệ thống

      • 2.1 Biểu đồ hoạt động

      • 2.2 Biểu đồ ca sử dụng

        • 2.2.1 Danh sách ca sử dụng

        • 2.2.2 Bảng mô tả ca sử dụng

        • 2.3 Biểu đồ hoạt động của hệ thống :

        • 2.4 Biểu đồ lớp

        • II. Lập trình theo mô hình 3 lớp

          • 1. Presentation Layers

            • UI Components: 

            • UI Process Components:

            • 2. Business Logic Layer

              • Service Interface: 

              • Business Entities: 

              • Business Components: 

              • 3.  Data Layers

                • Data Access Logic Components (DAL) 

                • Service Agents:

                • 4. Ba lớp ứng dụng Web bán hàng

                  • SQL Procedure

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

Tài liệu liên quan