2.4 .PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.4.2 .Mơ hình hóa dữ liệu
2.4.2.1. Biểu đồ thực thể quan hệ (ERD)
2.4.2.2. Mơ hình dữ liệu (RDM)
Hình 2.11: Biểu đồ dữ liệu quan hệ RDM
2.5. THIẾT KẾ CƠ SỞ DỮ LIỆU
2.5.1. Thiết kế các bảng dữ liệu
- Bảng SanPham: Là bảng lưu trữ tất cả các sản phẩm của website
- Bảng DanhMucSanPham: Bảng này chứa thông tin về danh mục sản phẩm bẳng các quản lý ID của từng sản phẩm.
Bảng 2.22: Bảng DanhMucSanPham
- Bảng DonHang: Bảng này là một trong những phần chính của cơ sở dữ liệu,
chứa tất cả thông tin về các bảng ghi của khách hàng mua hàng. Bảng 2.23: Bảng DonHang
- Bảng ChiTietDonHang: Bảng này cung cấp tất cả thông tin chi tiết của một
đơn hàng cụ thể.
Bảng 2.14: Bảng ChiTietDonHang
- Bảng TinhTrangDonHang: Bảng này cung cấp các tên trạng thái kết hợp với
các đơn hàng được đặt trong hệ thống.
Bảng 2.25: Bảng TinhTrangDonHang
- Bảng NguoiDung: Bảng này có tất cả thông tin liên quan đến người dùng
tương tác với hệ thống. Những người sử dụng bao gồm cả quản trị viên và khách hàng. Tất cả các thông tin này được chứa trong một bảng duy nhất.
Bảng 2.26: Bảng NguoiDung
- Bảng KieuNguoiDung: Là bảng tra cứu ngắn gọn để xác định vai trò khác
nhau của người sử dụng nhằm để cung cấp quyền sử dụng cho hệ thống. Bảng 2.27: Bảng KieuNguoiDung
- Bảng GioHang: Bảng này lưu tất cả các thông tin từ khi khách hàng đang xem
qua các sản phẩm và sau đó chọn một sản phẩm cụ thể trước khi khách hàng quyết định mua hàng.
Bảng 2.28: Bảng GioHang
- Bảng TinTuc: Bảng này dùng để lưu thông tin tin tức về các sản phẩm đồ gia
dụng, nhằm làm cho nội dung Website thêm phong phú hơn. Bảng 2.29: Bảng TinTuc
- Bảng ThongKeTruyCap: Bảng này chứa một trường TongSoTruyCap dùng để
lưu số người truy cập vào Website
Bảng 2.30: Bảng ThongKeTruyCap
2.5.2. Mối quan hệ giữa các bảng dữ liệu
CHƢƠNG III: XÂY DỰNG WEBSITE
3.1. GIỚI THIỆU CÔNG CỤ VÀ KỸ THUẬT XÂY DỰNG WEBSITE
3.1.1. Các công cụ xây dựng Website
3.1.1.1. Visual studio.Net 2010
- Microsoft Visual Studio.Net 2010 là môi trường phát triển tích hợp (Integrated Development Environment, viết tắt là IDE) được phát triển từ Microsoft. Đây là một loại phần mềm máy tính được sử dụng trong việc phát triển phần mềm. Các mơi trường phát triển tích hợp bao gồm:
- Một trình soạn thảo mã (source code editor): dùng để viết mã. - Trình biên dịch (compiler) và/hoặc trình thơng dịch (interpreter).
- Cơng cụ xây dựng tự động: khi sử dụng sẽ biên dịch (hoặc thông dịch) mã nguồn, thực hiện liên kết (linking), và có thể chạy chương trình một cách tự động
- Trình gỡ lỗi (debugger): hỗ trợ dị tìm lỗi.
- Ngồi ra, cịn có thể bao gồm hệ thống quản lí phiên bản và các cơng cụ nhằm đơn giản hóa cơng việc xây dựng giao diện người dùng đồ họa (GUI).
- Nhiều môi trường phát triển hợp nhất hiện đại cịn tích hợp trình duyệt lớp (class browser), trình quản lí đối tượng (object inspector), lược đồ phân cấp lớp (class hierarchy diagram)…để sử dụng trong việc phát triển phần mềm theo hướng đối tượng.
Ƣu điểm:
- Ưu điểm lớn nhất của nó là tốc độ phát triển rất nhanh, với cùng một project nếu bạn phát triển bằng Java sẽ tiêu tốn thời gian gấp rưỡi đến gấp đơi so với bạn phát triển nó trên Visual Studio.
- Ưu điểm thứ hai đáng kể đến chính là sự linh hoạt và thư viện hàm, và đối tượng khổng lồ của nó. Với những lập trình viên đã thân quen với ngơn ngữ C có thể dễ dàng tiếp cận với nó thơng qua visual C++, với những ai đang là tín đồ của Java cũng có thể đến với nó và visual C#. Và những anh em đi trên nghiệp Visual basic thì vẫn có thể đi tiếp con đường mình đang đi nhưng với tầm với ngày càng rộng lớn.
- Ưu điểm kế tiếp của nó chính là cơng cụ lập trình thân thiện dễ sử dụng cùng với hệ thống thư viện online MSDN có thể đáp ứng tối đa nhu cầu học hỏi của lập trình viên. Khi bạn gần như bế tắc, hãy nhấn F1, chắc chắn bạn sẽ tìm thấy điều mình muốn.
Nhƣợc điểm:
- Khuyết điểm lớn nhất của các sản phẩm làm ra từ Visual Studio là phải phụ thuộc vào thư viện nền Framework. Và gần như chỉ có thể chạy trên hệ điều hành windows.
- Khuyết điểm thứ hai: Visual Studio không phải là Open source, do đó rất khó tìm thấy một bộ mã nguồn hồn chỉnh đâu đó trên mạng.
3.1.1.2. Hệ quản trị cơ sở dữ liệu SQl server 2008
Microsoft SQL Server là một hệ quản trị cơ sở dữ liệu (HQTCSDL) quan hệ (Relational Database Management System – RDBMS) hoạt động theo mơ hình khách chủ cho phép đồng thời nhiều người dung cùng truy xuất dữ liệu, quản lý việc truy nhập hợp lệ và các quyền từng người dung trên mạng.
SQL Server 2008 là HQTCSDL được dùng phổ biến trên thế giới nói chung và ở Việt Nam nói riêng. SQL Server 2008 cho phép các tổ chức có thể chạy hầu hết các ứng dụng phức tạp của họ trên một nền tảng an tồn, tin cậy và có khả năng mở rộng, bên cạnh đó cịn giảm được sự phức tạp trong việc quản lý cơ sở hạ tầng dữ liệu. SQL Server 2008 cung cấp một nền tảng tin cậy và an tồn bằng cách bảo đảm những thơng tin có giá trị trong các ứng dụng đang tồn tại và nâng cao khả năng sẵn có của dữ liệu.
SQL Server 2008 giới thiệu một cơ chế quản lý cách tân dựa trên chính sách, cơ chế này cho phép các chính sách có thể được định nghĩa quản trị tự động cho các thực thể máy chủ trên một hoặc nhiều máy chủ. Thêm vào đó, SQL Server 2008 cho phép thi hành truy vấn dự báo với một nền tảng tối ưu.
Chức năng
- Tạo lập và quản lý dữ liệu - Lập báo cáo và tổng hợp dữ liệu - Quản lý quyền hạn sử dụng - Tương tác các hệ quản lý khác
Ưu điểm
- Cung cấp các lệnh cho việc truy vấn dữ liệu - Chèn, cập nhật, xóa các hàng trong một quan hệ. - Đảm bảo tính nhất quán và rang buộc CSDL
- Nâng cao quản lý dữ liệu doanh nghiệp, hiệu xuất người lập trình. - Hỗ trợ tốt hệ thống phân tích, hỗ trợ ra ra quyết định
- Độ bảo mật cao.
- Thích hợp cho những dự án lớn.
Nhược điểm
- Chiếm dung lượng bộ nhớ lớn - Khó cài đặt
3.1.1.3. ASP.Net
ASP.NET là một nền tảng ứng dụng web (web application framework) mới nhất được phát triển và cung cấp bởi Microsoft tên mở rộng là .aspx cho phép những người lập trình tạo ra những trang web động, những ứng dụng web và những dịch vụ web. Lần đầu tiên được đưa ra thị trường vào tháng 2 năm 2002 cùng với phiên bản 1.0 của .NET framework, là công nghệ nối tiếp của Microsoft Active Server Pages(ASP). ASP.NET được biên dịch dưới dạng Common Language Runtime (CLR), cho phép những người lập trình viết mã ASP.NET với bất kỳ ngơn ngữ nào được hỗ trợ bởi .NET language.
Trang ASP.NET được biên dịch trước thay vì phải đọc và phiên dịch mỗi khi trang web nhận được yêu cầu, khác với trang sử dụng ngôn ngữ khác mỗi lần triệu gọi là mỗi lần trang web phải biên dịch lại tốn rất nhiều tài nguyên cho việc xử lý như thế,vấn đề này làm chậm tiến trình xử lý của hệ thống
Ƣu điểm của ASP.NET
- ASP.Net cho phép bạn lựa chọn một trong các ngơn ngữ lập trình mà bạn yêu thích: Visual Basic.Net, J#, C#,…
- Trang ASP.Net được biên dịch trước. Thay vì phải đọc và thơng dịch mỗi khi trang web được yêu cầu, ASP.Net biên dịch những trang web động thành những tập tin DLL mà Server có thể thi hành nhanh chóng và hiệu quả.
- ASP.Net hỗ trợ mạnh mẽ bộ thư viện phong phú và đa dạng của .Net Framework, làm việc với XML, Web Service, truy cập cơ sở dữ liệu qua ADO.Net, …
- ASPX và ASP có thể cùng hoạt động trong 1 ứng dụng.
- ASP.Net sử dụng phong cách lập trình mới: Code behide. Tách code riêng, giao diện riêng Dễ đọc, dễ quản lý và bảo trì.
- Kiến trúc lập trình giống ứng dụng trên Windows. - Hỗ trợ quản lý trạng thái của các control
Browser
- Hỗ trợ nhiều cơ chế cache.
- Không cần lock, không cần đăng ký DLL - Cho phép nhiều hình thức cấu hình ứng dụng - Global.aspx có nhiều sự kiện hơn
- Quản lý session trên nhiều Server, không cần Cookies
3.1.1.4. ADO.NET
Chức năng của ADO.NET
Đó là ActiveX Data Object, là cơng nghệ truy cập cơ sở dữ liệu của Microsoft. Công nghệ này cung cấp cho bạn một giao diện thống nhất dùng để truy cập tất cả loại dữ liệu cho dù nó xuất hiện ở đâu trên ổ đĩa của bạn. Ngoài ra, chúng cung cấp mức độ linh hoạt lớn nhất của bất kỳ công nghệ truy cập dữ liệu của Microsoft.
Ƣu điểm của ADO.NET
Người dung có thể làm việc với các cơ sở dữ liệu thông qua Dataset mà không mà không cần quan tâm đến loại cơ sở dữ liệu cụ thể.
Tiết kiệm công sức xây dựng ứng dụng, khơng cần viết lại chương trình khi đổi cơ sở dữ liệu.
Đây là mơ hình cơ sở dữ liệu rời (disconnected) hay cơ sở dữ liệu offline. Vì Dataset độc lập với cơ sở dữ liệu.
3.1.1.5. Adobe Photosop CS3
Adobe Photoshop (thường được gọi là Photoshop) là một phần mềm đồ họa chuyên dụng của hãng Adobe Systems ra đời vào năm 1988 trên hệ máy Macintosh. Photoshop được đánh giá là phần mềm dẫn đầu thị trường về sửa ảnh bitmap và được coi là chuẩn cho các ngành liên quan tới chỉnh sửa ảnh. Từ phiên bản Photoshop 7.0 ra đời năm 2002, Photoshop đã làm lên một cuộc cách mạng về ảnh bitmap. Phiên bản mới nhất hiện nay là Adobe Photoshop CS5 (Version 11.0): với 2 bản Standard và Extended nằm trong bộ Creative Suite 4, được phát hành ngày 15 tháng 10 năm 2008.
Ngồi khả năng chính là chỉnh sửa ảnh cho các ấn phẩm, Photoshop còn được sử dụng trong các hoạt động như thiết kế trang web, vẽ các loại tranh (matte painting và nhiều thể loại khác), vẽ texture cho các chương trình 3D... gần như là mọi hoạt động liên quan đến ảnh bitmap.
Adobe Photoshop có khả năng tương thích với hầu hết các chương trình đồ họa khác của Adobe như Adobe Illustrator, Adobe Premiere, After After Effects và Adobe Encore.
3.1.1.6. Macromedia Flash 8
Adobe Flash (trước đây là Macromedia Flash và trước đó FutureSplash), hay còn gọi một cách đơn giản là Flash, được dùng để chỉ chương trình sáng tạo đa phương tiện (multimedia) lẫn phần mềm dùng để hiển thị chúng Macromedia Flash Player. Chương trình điện tốn này được viết và phân phối bởi Adobe Systems (công ty đã mua Macromedia).
Flash dùng kỹ thuật đồ họa vectơ và đồ họa điểm (raster graphics). Ngồi ra Flash cịn có một ngơn ngữ văn lệnh riêng gọi là ActionScript và có khả năng truyền và tải luồng âm thanh hoặc hình ảnh. Đúng ra thì từ Macromedia Flash nên được dùng để chỉ chương trình tạo ra các tập tin Flash. Cịn từ Flash Player nên được dành để chỉ ứng dụng có nhiệm vụ thi hành hay hiển thị các tập tin Flash đó. Tuy vậy, chữ Flash được dùng để chỉ cả hai chương trình nói trên.
3.1.1.7. Một số công cụ hổ trợ thiết kế giao diện
- Kỹ thuật sử dụng mã nguồn mở
+ Các Textbox (Ckediter, FreeTextBox) + Phân trang vơi: CollectionPager.dll + Chèn Flash với FlashControl.dll
+ Các công nghệ khác...
- Kỹ thuật mã hóa mật khẩu : SHA1/MD5 - Kỹ thuật tạo : CartGuid, TrackingNumber… - Kỹ thuật lập trình ADO.net
- Kỹ thuật khác...
3.1.2. Kỹ thuật xây dựng website theo mơ hình 3 lớp
3.1.2.1. Khái niệm
Mơ hình 3 lớp là kiến trúc kiếu Client-server trong đó nó sử dụng giao diện người dùng, quá trình diễn biến, cất giữ và truy cập dữ liệu để người dùng bảo vệ, phát triển những module (bộ phận tháo rời được) độc lập hoặc nhiều nền riêng lẽ.
Hình 3.1: Mơ hình Website 3 lớp
3.1.2.2. Chức năng của từng lớp
Tầng Data Access Layer
- Lớp này thực hiện các nghiệp vụ liên quan đến lưu trữ và truy xuất dữ liệu - Sử dụng các dịch vụ của các hệ quản trị CSDL như SQL Server, Oracle… - Thường thực hiện nhiệm vụ: Kết nối đến CSDL và sử dụng các câu truy vấn: Select, Update, Delete, Insert.
- Nội dung được lưu dưới các File *.cs Tầng Business Logic Layer
- Lớp này thực hiện các nghiệp vụ chính của hệ thống.
- Sử dụng các dịch vụ do lớp Data Access cung cấp, và cung cấp các dịch vụ cho lớp Presentation.
- Lớp này cũng có thể sử dụng các dịch vụ của các nhà cung cấp thứ 3 để thực hiện cơng việc của mình (ví dụ như sử dụng dịch vụ của các cổng thanh tóan trực tuyến như VeriSign, Paypal...).
- Nội dung được lưu dưới các File *.cs Presentation Layer
- Lớp này làm nhiệm vụ giao tiếp với người dùng cuối để thu thập dữ liệu và hiển thị kết quả/dữ liệu thông qua các thành phần trong giao diện người sử dụng.
- Nội dung được lưu dưới các File *.aspx và *.aspx.cs
- Lớp này sẽ sử dụng các dịch vụ do lớp Business Logic cung cấp. Thành phần Common
- Chứa các thành phần dùng chung cho cả 3 lớp - Chứa các thành phần truyền thông tin giữa các tầng
Thành phần Operational
- Chứa các thành phần hay sử dụng lặp đi lặp lại - Nội dung được lưu dưới các File *.cs
3.1.3. Ƣu điểm và nhƣợc điểm của mơ hình 3 lớp
3.1.3.1. Ưu điểm
- Phù hợp làm việc theo nhóm
- Code rõ ràng, dễ debug chương trình
- Dễ mở rộng , thay đổi quy mô của hệ thống - Dễ quản lý
- Khả năng bảo mật và an toàn hệ thống tốt hơn
3.1.3.2. Nhược điểm
- Tốn nhiều cơng sức cài đặt (nhiều server) và tăng chi phí - Việc phát triển ứng dụng phức tạp
- Việc truyền dữ liệu giữa các tầng sẽ chậm hơn
3.2. XÂY DỰNG WEBSITE
- TmdtAspNet: Tên dự án
- Class Library: Folder chứa layer của dự án DataAccsess
BusinessLogic Common Operational
- Web: Folder chứa file ở tầng trình diễn
3.2.2. Chức năng của thƣ mục
3.2.2.1. Thư mục App_Code
Hình 3.3: Thư mục App_Code
3.2.2.2. Thư mục Admin
Admin: Chứa tất cả các trang web của phân hệ quản trị, các thành phần này sẽ được mật khẩu bảo vệ. Được thể hiện qua sơ đồ sau:
Hình 3.4: Thư mục Admin
3.2.2.3. Thư mục Images
Thư mục này chứa tất cả các hình ảnh banner, flash, photoshop được sử dụng để thiết kế Web.
Hình 3.5: Thư mục Images
3.2.2.4. Thư mục Tài nguyên điều khiển
Nơi chứa các điều khiển do người lập trình tạo ra (*.ascx và ascx.cs)*.
Hình 3.6: Thư mục tài nguyên điều khiển
3.2.3. Xây dựng các tầng trong hệ thống
3.2.3.1. Giới thiệu các đối tượng dùng chung (Common)
Đây là tầng chứa các lớp dùng chung trong dự án.
Hình 3.7: Tầng Common
3.2.3.2. Xây dựng tầng Data Access
Hình 3.8: Tầng Data Access
3.2.3.3. Xây dựng tầng Business Logic
3.2.3.4. Xây dựng tầng trình bày dữ liệu
Nơi chứa các thành phần hay sử dụng lặp đi lặp lại.
Hình 3.10: Tầng Operational
3.2.4. Xây dựng chức năng của hệ thống
3.2.4.1. Đối với nhà quản trị
- Trang đăng nhập Admin (DangNhapAdmin.aspx)
Trang này chỉ cho phép những ai có quyền chỉnh sửa hoặc thêm mới nội dung trong website. Yêu cầu phải nhập tài khoản và mật khẩu để Admin đăng nhập.
Hình 3.11: Trang đăng nhập Admin
- Trang cập nhật danh mục sản phẩm (DanhMucSanPham.aspx)
- Trang sản phẩm (SanPham.aspx)
Liệt kê tất cả các sản phẩm mà Admin có thể sửa click chuột vào nút thêm, xóa, sửa sản phẩm để thêm mới, sửa hoặc xóa sản phẩm.
Hình 3.13: Trang sản phẩm Admin