CHƯƠNG 4: KIẾN TRÚC VÀ THIẾT KẾ4.1 Kiến trúc hệ thống 4.1 Kiến trúc hệ thống
Mô hình MVC (Model – View – Controller) là một trong những mô hình thiết kế được sử dụng trong kỹ thuật phát triển phần mềm, giúp cho các nhà phát triển chia ứng dụng thành 3 phần là Model – View – Controller. Mỗi thành phần có một nhiệm vụ, chức năng riêng biệt, giúp phát triển ứng dụng nhanh, dễ bảo trì, nâng cấp hệ thớng.
Trong đó:
Model: là thành phần chứa tất cả các nghiệp vụ logic, phương thức xử lý, truy xuất database, đối tượng mô tả dữ liệu, các rang buộc quan hệ...
View: đảm bảo việc hiển thi thông tin, tương tác với người dùng, nơi chứa tất cả các đối tượng GUI như textbox, images... View là tập hợp các form hoặc các file HTML.
Controller: là phần quan trọng nhất trong mơ hình MVC. Đóng vai trị nhận các yêu cầu từ phía client, tiến hành xử lý thơng tin rồi trả thông tin về cho client.
Cách thức hoạt động của mơ hình MVC: Khi một máy client tương tác với view
(bằng các trình duyệt trên PC hay Mobile). Gửi một yêu cầu đến phía server. Controller sẽ tiếp nhận yêu cầu, tiến hành xử lý u cầu đó, nếu thơng tin liên quan đến CSDL thì Controller gọi đến Model để lấy dữ liệu. Sau đó trả kết quả sau khi xử lý cho View. View sẽ hiển thi thông tin dưới dạng các thẻ HTML cho người dùng.
Hình 4. 1 Mô hình MVC
Ưu điểm và nhược điểm của mơ hình MVC:
Ưu điểm: Thể hiện tính chuyên nghiệp trong lập trình, phân tích thiết kế. Có thể
chia cho nhiều nhóm được đào tạo nhiều kỹ năng khác nhau, từ thiết kế giao diện cho đến lập trình đến tổ chức database. Do được chia thành các thành phần độc lập nên giúp phát triển ứng dụng nhanh, đơn giản, dễ nâng cấp, bảo trì… Bảo trì với các lớp được phân chia theo như đã nói, thì các thành phần của một hệ thớng dễ được thay đổi, nhưng sự thay đởi có thể được cơ lập trong từng lớp, hoặc chỉ ảnh hưởng đến lớp ngay gần kề của nó, chứ khơng phát ảnh hưởng tới trong cả chương trình.
Nhược điểm: Đối với dự án nhỏ việc áp dụng mô hình MVC gây cồng kềnh, tốn
thời gian trong quá trình phát triển. Tốn thời gian trung chuyển dữ liệu của các tầng.
Kiến trúc Client/Server: là kiến trúc nổi tiếng trong mạng máy tính, hầu hết các
website hoạt động dựa trên kiến trúc này. Trong đó Client là máy khách gửi yêu cầu đến máy Server. Tại đây thì Server lắng nghe các yêu cầu từ máy Client, nhận thông tin từ Client sau đó xử lý, trả kết quả về cho máy Client.
4.2 Mơ hình ER
Hình 4. 2 Mơ hình quan hệ thực thể
4.3 Thiết kế bảng (Table Diagram)
4.4. Mô tả cơ sở dữ liệu
4.4.1 Bảng Category (Danh mục)
Thuộc tính Kiểu dữ liệu Mơ tả
CategoryGuid Nvarchar Khóa chính.
sCategoryNam e
Nvarchar Tên danh mục.
ParentId Nvarchar Lưu lại theo cấp bậc cha con, cấp cao nhất có giá tri là null, các cấp dưới sẽ có giá tri là ID của cấp trên chứa nó.
Description Nvarchar Mơ tả danh mục
Bảng 4. 1 Bảng mô tả danh mục
4.4.2 Bảng News (Bảng tin tức – bài viết) Thuộc tính Kiểu dữ liệu Mơ tả
NewGuid Nvarchar Khóa chính
TitleNew Nvarchar Tiêu đề của tin tức Descriptions Nvarchar Mơ tả tiêu đề tin tức
ImageFile Nvarchar Hình ảnh đính kèm của tin tức, bài viết
Summary Nvarchar Tóm tắt nội dung tin tức
Contents Nvarchar Nội dung tin tức
Bảng 4. 2 Bảng mô tả tin tức – bài viết
4.4.3 Bảng Member (Bảng Thành viên) Thuộc tính Kiểu dữ liệu Mơ tả
MemberGuiId Nvarchar Khóa chính
MemberLogin Nvarchar Tài khoản đăng nhập
Password Nvarchar Mật khẩu đăng nhập
ImageFile Nvarchar Đường dẫn ảnh đại diện
Address Nvarchar Đia chỉ
Sex Int Giới tính
Email Nvarchar Đia chỉ Email
Tel Nvarchar Sớ điện thoại liên hệ
BirthDay DateTime Ngày sinh
Notes Nvarchar Ghi chú
Bảng 4. 3 Bảng mô tả Thành viên
4.4.4 Bảng Products (Bảng sản phẩm) Thuộc tính Kiểu dữ liệu Mơ tả
ProductGuid Nvarchar Khóa chính
CategoryGuid Nvarchar Khóa ngoại, lấy từ khóa chính bảng Category
ProductName Nvarchar Tên sản phẩm
Description Nvarchar Mô tả sản phẩm
Details Nvarchar Chi tiết sản phẩm
Image Nvarchar Ảnh đại diện sản phẩm
UserManual Nvarchar Bài viết giới thiệu sản phẩm Bảng 4. 4 Bảng mơ tả sản phẩm
4.4.5 Bảng Comments (Bình luận sản phẩm) Thuộc tính Kiểu dữ liệu Mơ tả
CommentGuid Nvarchar Khóa chính
ProductGuid Nvarchar Khóa ngoại, lấy từ khóa chính bảng Products
Email Nvarchar Email của người dùng.
Rating Int Số sao đánh giá của khách hàng cho sản
phẩm
Contents Nvarchar Nội dung đánh giá sản phẩm
Bảng 4. 5 Bảng mô tả bình luận sản phẩm
4.4.6 Bảng Order (Bảng đơn hàng) Thuộc tính Kiểu dữ liệu Mơ tả
OrderGuid Nvarchả Khóa chính
OrderName Nvarchar Tên đơn hàng
MemberGuid Nvarchar Khóa ngoại, lấy từ khóa chính bảng Member FullName Nvarchar Tên đầy đủ người nhận đơn hàng
Email Nvarchar Email người nhận
Phone Nvarchar Số điện thoại liên lạc khi nhận hàng
Address Nvarchar Đia chỉ nhận hàng
Total Nvarchar Tổng số tiền của đơn hàng
Bảng 4. 6 Bảng mô tả đơn hàng
4.4.7 Bảng Sale (Chương trình khuyến mại) Thuộc tính Kiểu dữ liệu Mơ tả
SaleGuid Nvarchar Khóa chính
Description Nvarchar Mơ tả khún mại
StartTime DateTime Thời gian bắt đầu
EndTime DateTime Thời gian bắt đầu
Bảng 4. 7 Bảng mô tả khuyến mại
4.4.8 Bảng SaleDetail (Bảng chi tiết khuyến mại) Thuộc tính Kiểu dữ liệu Mơ tả
SaleDetailGuid Nvarchar Khóa chính
ProductGuid Nvarchar Khóa ngoại, lấy từ khóa chính bảng Products
SaleGuid Nvarchar Khóa ngoại, lấy từ khóa chính bảng Sale Description Nvarchar Mô tả chi tiết khuyến mại
Notes Nvarchar Chú thích khuyến mại
Percents Int Phần trăm khuyến mại sản phẩm
PriceAfterPercent s
Money Giá sản phẩm sau khi hưởng khuyến mại SaleAttach Nvarchar Khuyến mại phụ kèm theo chương trình
khuyến mại chính
StartDate DateTime Thời gian bắt đầu chương trình khuyến mại
EndDate DateTime Thời gian kết thúc chương trình khuyến mại
Bảng 4. 8 Bảng mô tả chi tiết khuyến mại
4.4.9 Bảng ProductSet (Bảng sản phẩm con) Thuộc tính Kiểu dữ liệu Mơ tả
SectionGuid Nvarchar Khóa chính
ProductGuid Nvarchar Khóa ngoại, lấy từ khóa chính bảng Products
SectionName Nvarchar Tên sản phẩm con
ParentId Nvarchar Lưu lại theo cấp bậc cha con, cấp cao nhất có giá tri là null, các cấp dưới sẽ có giá tri là ID của cấp trên chứa nó.
Bảng 4. 9 Bảng mơ tả sản phẩm theo set
4.4.10 Bảng SetSize (Bảng Kích thước sản phẩm con) Thuộc tính Kiểu dữ liệu Mơ tả
SizeGuid Nvarchar Khóa chính
ProductGuid Nvarchar Khóa ngoại, lấy từ khóa chính bảng Products
SectionGuid Nvarchar Khóa ngoại, lấy từ khóa chính bảng ProductSet
SizeName Nvarchar Kích thước
PriceCurrent Money Giá sản phẩm hiện tại
Stuff Nvarchar Chất liệu sản phẩm hiện tại
ParentId Nvarchar Lưu lại theo cấp bậc cha con, cấp cao nhất có giá tri là null, các cấp dưới sẽ có giá tri là ID của cấp trên chứa nó.
Description Nvarchar Mơ tả kích thước
PercentCurrent Int Số khuyến mại giảm theo (theo %, theo số tiền)
PriceAfterPercent
s Money Giá khuyến mại sau khi trừ
Number Int Tổng số lượng sản phẩm
Inventory int Số lượng tồn kho
SizeStatus int Trạng thái kích thước sản phẩm
Bảng 4. 10 Bảng mơ tả set sản phẩm theo kích thước
4.4.11 Bảng OrderDetail (Bảng chi tiết đơn hàng) Thuộc tính Kiểu dữ liệu Mơ tả
OrderDetailGuid Nvarchar Khóa chính
OrderGuid Nvarchar Khóa ngoại, lấy từ khóa chính bảng Order MemberGuiId Nvarchar Khóa ngoại, lấy từ khóa chính bảng
Member
ProductGuid Nvarchar Khóa ngoại, lấy từ khóa chính bảng Products
SectionGuid Nvarchar Khóa ngoại, lấy từ khóa chính bảng ProductSet
SizeGuid Nvarchar Khóa ngoại, lấy từ khóa chính bảng SetSize
Number Int Sớ lượng sản phẩm đã mua
Prices Money Giá sản phẩm hiện tại lúc đặt hàng
Total Money Tổng tiền mặt hàng
CHƯƠNG 5: GIAO DIỆN 5.1 Giao diện Người dùng
Hình 5.1 Giao diện trang chủ
o Trang chủ hệ thống hiển thi danh sách sản phẩm, danh mục nởi bật trong hệ thớng Có thể xem các bài viết gần đây trên hệ thống