Xây dựng Website giới thiệu và kinh doanh thủy sản cho công ty CPXD và XNK Á Châu Mục tiêu của đề tài Xây dựng website hỗ trợ quản lý sản phầm, quản lý tin tức và bán hàng đáp ứng được yêu cầu thực tế. Triển khai thử nghiệm webiste tại công ty CPXD và XNK Á Châu. Hiểu và vận dụng được các kiến thức về LINQ, lập trình trên ASP.NET...
Trang 1DANH SÁCH HÌNH VẼ 3
DANH SÁCH BẢNG BIỂU 5
DANH SÁCH CÁC TỪ VIẾT TẮT 6
CHƯƠNG 1: TỔNG QUAN 7
1.1 Lý do chọn đề tài 7
1.2 Mục tiêu của đề tài 7
1.3 Giới hạn và phạm vi của đề tài 7
1.4 Kết quả dự kiến đạt được 8
CHƯƠNG 2: TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH ASP.NET VÀ HỆ QUẢN TRỊ CSDL 9
2.1 Tổng quan về ngôn ngữ lập trình ASP.NET 9
2.1.1 Tìm hiểu ngôn ngữ lập trình ASP.NET 9
2.1.2 Tìm hiểu về WebForm 10
2.2 Hệ quản trị SQL Server 15
2.2.1 Các thành phần của một cơ sở dữ liệu trong SQL Server 15
2.2.2 Tạo các ràng buộc 16
2.3 Tìm hiểu về Linq và Linq to Sql 17
2.3.1 Khái niệm Linq 17
2.3.2 Tìm hiểu Linq to Sql 17
2.3.3 Các truy vấn với Linq to Sql 17
CHƯƠNG 3 : NỘI DUNG THỰC HIỆN 19
3.1 Khảo sát xác định yêu cầu và phân tích hệ thống 19
3.2 Phân tích thiết kế với UML 19
3.2.1 Biểu đồ use case 19
Trang 23.3 Phân tích thiết kế cơ sở dữ liệu 33
3.3.1 Danh sách bảng cơ sở dữ liệu 33
3.3.2 Mô hình cơ sở dữ liệu 44
3.4 Giao diện chương trình 45
3.4.1 Giao diện trang chi tiết sản phẩm 45
3.4.2 Giao diện trang giỏ hàng 46
3.4.3 Giao diện trang tin tức 47
3.4.4 Giao diện trang chi tiết tin tức 48
3.4.5 Giao diện trang quản lý tin tức 49
3.4.6 Giao diện trang quản lý sản phẩm 49
CHƯƠNG 4: KẾT LUẬN 51
4.1 Kết quả đạt được: 51
4.2 Hạn chế của đề tài 51
4.3 Hướng phát triển 51
TÀI LIỆU THAM KHẢO 52
Trang 3Hình 3-1: Biểu đồ use case tổng quát 19
Hình 3-2: Biểu đồ use case đăng nhập 20
Hình 3-3: Biểu đồ use case quản lý sản phẩm 22
Hình 3-4: Biểu đồ use case quản lý thống kê 24
Hình 3-5: Biểu đồ use case quản lý tin tức 25
Hình 3-6: Biểu đồ use case quản lý khách hàng 25
Hình 3-7: Biểu đồ use case quản lý danh mục sản phẩm 26
Hình 3-8: Biểu đồ use case quản lý nhân viên 26
Hình 3-9: Biểu đồ use case đặt mua hàng 27
Hình 3-10: Biểu đồ use case tìm kiếm sản phẩm 27
Hình 3-11: Biểu đồ tuần tự cho chức năng đăng nhập 28
Hình 3-12: Biểu đồ tuần tự chức năng quản lý sản phẩm 28
Hình 3-13: Biểu đồ tuần tự cho chức năng quản lý đặt hàng 29
Hình 3-14: Biểu đồ tuần tự cho chức năng tìm kiếm 30
Hình 3-15: Biểu đồ tuần tự cho chức năng thống kê 30
Hình 3-16: Biểu đồ tuần tự cho chức năng quản lý khách hàng 31
Hình 3-17: Biểu đồ tuần tự chức năng quản lý ý kiến phản hồi 32
Hình 3-18: Biểu đồ tuần tự chức năng quản lý nhân viên 32
Hình 3-19: Mô hình cơ sở dữ liệu 44
Hình 3-20: Giao diện trang chi tiết sản phẩm 45
Hình 3-21: Giao diện trang giỏ hàng 46
Hình 3-22: Giao diện trang tin tức 47
Hình 3-23: Giao diện trang chi tiết tin tức 48
Trang 4Hình 3-25: Giao diện trang quản lý sản phẩm 49
Trang 5Bảng 3-1: Bảng dòng sự kiện đăng nhập hệ thống 21
Bảng 3-2: Bảng dòng sự kiện quản lý sản phẩm 23
Bảng 3-3: Dòng sự kiện quản lý thống kê 24
Bảng 3-4: AdvertiseItem 33
Bảng 3-5: AdvertisePosition 34
Bảng 3-6: Article 34
Bảng 3-7: BaseInfo 35
Bảng 3-8: Cart 35
Bảng 3-9: Comments 36
Bảng 3-9: Contacts 36
Bảng 3-10: Customer 37
Bảng 3-12: Log 37
Bảng 3-13: Manufacture 38
Bảng 3-14: Menu 38
Bảng 3-15: MenuPosition 39
Bảng 3-16: MenuType 39
Bảng 3-17: Module 40
Bảng 3-18: Nhomthanhvien 40
Bảng 3-19: Product 40
Bảng 3-20: QuyenModule 41
Bảng 3-21: SupportOnline 42
Bảng 3-22: User 43
Trang 6Từ viết tắt Từ đầy đủ Giải thích
CNTT Công nghệ thông tin
CPXD Cổ phần xây dựng
CSDL Cơ sở dữ liệu
Trang 7CHƯƠNG 1: TỔNG QUAN
1.1 Lý do chọn đề tài
Trong thời đại bùng nổ của khoa học và công nghệ, cùng với sự phát triểnmạnh mẽ của xã hội thì chúng ta không thể phủ nhận vai trò to lớn của ngànhCNTT Việc ứng dụng và phát triển CNTT trên nhiều ngành, nhiều lĩnh vực đãđem lại hiệu quả và lợi ích vô cùng to lớn Đặc biệt nếu áp dụng đúng đắn vàthành công công nghệ vào trong các hoạt động kinh tế, sản xuất, tổ chức, quảnlý sẽ thấy sự khác biệt vượt bậc mà hiệu quả của nó mang lại Nắm bắt đượcnhững lợi ích đó đã có rất nhiều doanh nghiệp, tổ chức sớm áp dụng CNTT vàotrong sản xuất, trong hệ thống quản lý nhằm đem lại những hiệu quả kinh tế, rútngắn thời gian làm việc và cho kết quả chính xác
Thương mại điện tử ngày càng phát triển, kéo theo đó là việc kinh doanh mua bán qua mạng cũng được các doanh nghiệp đẩy mạnh Do đó việc xây dựng một trang web là yêu cầu cần thiết Xuất phát từ những yêu cầu thực tế đó,
em quyết định lựa chọn đề tài “Xây dựng Website giới thiệu và kinh doanh thủy sản cho công ty CPXD và XNK Á Châu” nhằm mục đích giúp công ty
quảng bá về hình ảnh và các lĩnh vực kinh doanh cũng như bán các mặt hàng về thủy sản
1.2 Mục tiêu của đề tài
- Xây dựng website hỗ trợ quản lý sản phầm, quản lý tin tức và bán hàngđáp ứng được yêu cầu thực tế
- Triển khai thử nghiệm webiste tại công ty CPXD và XNK Á Châu
Hiểu và vận dụng được các kiến thức về LINQ, lập trình trên ASP.NET
1.3 Giới hạn và phạm vi của đề tài
- Áp dụng vào giới thiệu và kinh doanh thủy sản cho công ty CPXD vàXNK Á Châu Địa chỉ: số 10, tổ 6 Ngách 29/25/38 Thượng Thanh,Q.Long Biên, Tp.Hà Nội
Trang 8- Phạm vi nghiên cứu:
Nghiên cứu quy trình bán hàng của công ty
Nghiên cứu quá trình quản lý thông tin sản phẩm
Nghiên cứu quá trình tìm kiếm thông tin sản phẩm
Nghiên cứu quá trình thanh toán
1.4 Kết quả dự kiến đạt được
- Xây dựng được hệ thống giới thiệu và bán sản phẩm cho công ty
- Thanh toán
Trang 9CHƯƠNG 2: TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH ASP.NET
VÀ HỆ QUẢN TRỊ CSDL
2.1 Tổng quan về ngôn ngữ lập trình ASP.NET
2.1.1 Tìm hiểu ngôn ngữ lập trình ASP.NET
Công nghệ Microsoft Active Server pages (ASP) đi cùng với MicrosoftIntemet Information Server (IIS) ASP hỗ trợ nhiều ngôn ngữ kịch bản nhưPerlScript, JScript và VBScript PerlScript dựa trên ngôn ngữ Perl, JScript dựa trênngôn ngữ JavaScript, nhưng ngôn ngữ mặc định của ASP là VBScript, một ngônngữ kịch bản dễ học, là tập con của ngôn ngữ Visual Basic - một trong những ngônngữ lập trình phổ biến nhất hiện nay Công nghệ ASP cho phép trộn nội dungHTML tĩnh với mã lệnh kịch bản thực thi ở môi trường server để tạo ra kết quả động
Ưu điểm nổi bật nhất của ASP là khả năng dùng thành phần COM và ADO(Activex Data Ob- ject), nhưng cũng chính khả năng này làm cho chương trình ASPphức tạp và khó viết hơn Khi cần phát triển, bạn có thể tạo thành phần COM riêng.Microsoft khuyến cáo xây dựng thành phần COM để xử lý mức luận lý Thành phầnCOM có thể phát triển bằng Visual Basic, Visual C++ hay Java
Tuy nhiên, với môi trường máy chủ dùng chung, thường các công ty cung cấpdịch vụ máy chủ giới hạn chỉ cho phép bạn dùng VBScript
Trở ngại lớn nhất của ASP là chỉ dùng trên IIS chạy trên máy chủ Win32 Cómột số sản phẩm của các hãng thứ ba cho phép ASP chạy trên môi trường và máychủ web khác như các sản phẩm thương mại InstantASP của Halcyon, Chili!Softcủa Chili!Soft và sản phẩm miễn phí OpenASP của ActiveScripting.org Có haiphiên bản Perl cho ASP: phiên bản Unix
(Apache::ASP) dùng với Apache và phiên bản Windows PerlScript của hãngActiveState
Việc cài đặt môi trường máy chủ hỗ trợ ASP rất đơn giản, IIS mặc định hỗtrợ sẵn ASP Per - sonal Web Server cung cấp môi trường chạy ASP cho Windows
95, 98 Công cụ Visual Inter - dev rất mạnh, giúp tạo trang ASP đơn giản và nhanh
Trang 10chóng Có rất nhiều website, sách và mã nguồn miễn phí cho ASP Đây là một lợi thế.
ASP.NET (ASP+) là bước phát triển mới của công nghệ ASP dùng với nềntảng NET Ngôn ngữ chính dùng để phát triển trang ASP.NET (.aspx) là VB.NET,C# Ngoài ra ASP.NET còn hỗ trợ nhiều ngôn ngữ khác như JScript.NET,Smalltalk.NET, Cobol.NET, Perl.NET
Có thể nói là thế hệ sau của ASP nhưng hỗ trợ tối đa mong muốn của lậptrình viên và khắc phục được những điểm còn hạn chết trong ASP, chính vì vậyASP.NET đang dần khẳng định là một trong những lựa chọn số một của người xâydựng website
Mặc dù ra đời muộn cùng với sự ra đời của Net framework nhưng ASP.NET
đã chứng tỏ mình là công cụ mạnh mẽ và hỗ trợ lập trình hết sức linh hoạt và là sựlựa chọn hàng đầu của các lập trình viên Ngoài khả năng thao tác dễ dàng trongthiết kế giao diện ASP.NET còn là công nghệ hỗ trợ nhiều ngôn ngữ lập trình đặcbiệt trong số đó là VB.NET, C#, Là những ngôn ngữ đang rất được ưa chuộng bởicác lập trình viên hiện nay
Việc kết nối CSDL dễ dàng cũng là một trong những ưu điểm nổi bật củaASP.NET với sự hỗ trợ của ADO.NET và mới đây nữa là sự ra đời của LinQ vớikhả năng kết nối CSDL dễ dàng ASP.NET đang dần hoàn thiện để trở thành công nghệthống trị trong thế giới website
2.1.2 Tìm hiểu về WebForm
Web Form là bộ công cụ cho phép thực thi các ứng dụng mà các trang Web
do nó tạo động ra được phân phối đến trình duyệt thông qua mạng Internet
Với Web Forms, ta tạo ra các trang HTML với nội dung tĩnh và dùng mã C# chạytrên Server để xử lý dữ liệu tĩnh này rồi tạo ra trang Web động, gửi trang này vềtrình duyệt dưới mã HTML chuẩn
Web Forms được thiết để chạy trên bất kỳ trình duyệt nào, trang HTML gửi
về sẽ được gọt giũa sao cho thích hợp với phiên bản của trình duyệt Ngoài dùngC#, ta cũng có thể dùng ngôn ngữ VB.NET để tạo ra các ứng dụng Web tương tự
Trang 11Web Forms chia giao diện người dùng thành hai phần : phần thấy trực quan
( hay UI) và phần trang mã phía sau của UI Quan điểm này thì tương tự với
Windows Form, nhưng với Web Forms, hai phần này nằm trên hai tập tin riêng biệt.Phần giao diện UI được lưu trữ trong tập tin có phần mở rộng là aspx, còn mã đượclưu trữ trong tập tin có phần mở rộng là aspx.cs
Với môi trường làm việc được cung cấp bởi bộ Visual Studio NET, tạo cácứng dụng Web đơn giản chỉ là mở Form mới, kéo thả và viết mả quản lý sự kiệnthích hợp Web Forms được tích hợp thêm một loạt các điều khiển thực thi trênServer, có thể tự kiểm tra sự hợp lệ của dữ liệu ngay trên máy khách mà ta khôngphải viết mã mô tả gì cà.
2.1.3 Các sự kiện của Web Form
Một sự kiện (Events) được tạo ra khi người dùng nhấn chọn một Button,chọn một mục trong ListBox hay thực hiện một thao tác nào đó trên UI Các sự kiệncũng có thể được phát sinh hệ thống bắt đầu hay kết thúc
Phương thức đáp ứng sự kiện gọi là trình quản lý sự kiện, các trình quản lý sự kiệnnày được viết bằng mã C# trong trang mã (code-behind) và kết hợp với các thuộctính của các điều khiển thuộc trang
Trình quản lý sự kiện là một “Delegate”, phương thức này sẽ trả về kiểuvoid, và có hai đối số Đối số đầu tiên là thể hiện của đối tượng phát sinh ra sự kiện,đối số thứ hai là đối tượng EventArg hay một đối tượng khác được dẫn xuất từ đốitượng EventArgs Các sự kiện này được quản lý trên Server
a Sự kiện PostBack và Non-PostBack
PostBack là sự kiện sẽ khiến Form được gửi về Server ngay lập tức, chẳnghạn sự kiện đệ trình một Form với phương thức Post Đối lập
với PostBack là Non- PostBack, sự kiện này không gửi Form nên Server mà
nó lưu sự kiện trên vùng nhớ Cache cho tới khi có một sự kiện PostBack nữa
xảy ra Khi một điều khiển có thuộc tính AutoPostBack là true thì sự kiện
PostBack sẽ có tác dụng trên điều khiển đó : mặc nhiên thuộc
Trang 12tính AutoPostBach của điều khiểnDropDownList là false,ta phải đặt lại
là true thì sự kiện chọn một mục khác trong DropDownList này mới có tác
dụng
b Trạng thái của ứng dụng web (State)
Trạng thái của ứng dụng Web là giá trị hiện hành của các điều khiển
và mọi biến trong phiên làm việc hiện hành của người dùng Web là môitrường không trạng thái, nghĩa là mỗi sự kiện Post lên Server đều làm mất đimọi thông tin về phiên làm việc trước đó Tuy nhiên ASP.NET đã cung cấp
cơ chế hỗ trợ việc duy trì trạng thái về phiên của người dùng
Bất kỳ trang nào khi được gửi lên máy chủ Server đều được máy chủtổng hợp thông tin và tái tạo lại sau đó mới gửi xuống trình duyệt cho máykhách ASP.NET cung cấp một cơ chế giúp duy trì trạng thái của các điềukhiển phía máy chủ ( Server Control ) một cách tự động Vì thế nếu ta cungcấp cho người dùng một danh sách dữ liệu ListBox, và người dùng thực hiệnviệc chọn lựa trên ListBox này, sự kiện chọn lựa này sẽ vẫn được duy trì saukhi trang được gửi lên máy chủ và gửi về cho trình duyệt cho máy khách
c Chu trình sống của 1 WebFrom
Khi có yêu cầu một trang Web trên máy chủ Web sẽ tạo ra một chuỗicác sự kiện ở máy chủ đó, từ lúc bắt đầu cho đến lúc kết thúc một yêu cầu sẽhình thành một chu trình sống ( Life-Cycle ) cho trang Web và các thànhphần thuộc nó Khi một trang
Web được yêu cầu, máy chủ sẽ tiến hành mở ( Load ) nó và khi hoàntất yêu cầu máy chủ sẽ đóng trang này lại, kết xuất của yêu cầu này là mộttrang HTML tương ứng sẽ được gửi về cho trình duyệt Dưới đây sẽ liệt kêmột số sự kiện, ta có thể bắt các sự kiện để xử lý thích hợp hay bỏ qua đểASP.NET xử lý mặc định
Khởi tạo (Initialize) Là sự kiện đầu tiên trong chu trình sống của trang, ta có
thể khởi bất kỳ các thông số cho trang hay các điều khiển thuộc trang
Trang 13Mở trạng thái vùng quan sát(LoadViewState): Được gọi khi thuộc
tính ViewStatecủa điều khiển được công bố hay gọi Các giá trị trong
ViewState sẽ được lưu trữ trong một biến ẩn ( Hidden Field ), ta có thể lấygiá trị này thông qua hàm LoadViewState() hay lấy trực tiếp
Kếtthúc(Dispose)Ta có thể dùng sự kiện này để giải phóng bất kỳ tài
nguyên nguyên nào : bộ nhớ hay hủy bỏ các kết nối đến cơ sở dữ liệu
d Điều khiên xác nhận hợp
ASP.NET cung cấp một tập các điều khiển xác nhận hợp lệ dữ liệunhập phía máy chủ cũng như ở dưới trình duyệt của máy khách Tuy nhiênviệc xác nhận hợp lệ dưới máy khách chỉ là một chọn lựa, ta có thể tắt nó đi,nhưng việc xác nhận hợp lệ trên máy chủ thông qua các điều khiển này là bắtbuộc, nhằm phòng ngừa một số trường hợp dữ liệu nhập là giả mạo Việckiểm tra hợp lệ của mã trên máy chủ là đề phòng các trường hợp Một số loạixác nhận hợp lệ : dữ liệu không được rỗng, thỏa một định dạng dữ liệu nào
HtmlTextArea Value
HtmlInputFile Value
Trang 14ListBox SelectedItem.ValueDropDownList SelectedItem.ValueRadioButtonList SelectedItem.ValueỨng với một điều khiển nhập HTML, ta có thể gắn nhiều điều khiển xác nhận hợp
lệ cho nó, bảng dưới đây sẽ liệt kê các điều khiển nhập hiện có :
CustomValidator Gọi một hàm do người dùng định
nghĩa để thi hành việc kiểm tra
RangeValidator Kiểm tra xem một mục có nằm
trong miền đã cho hay không
RegularExpressionValidator
Kiểm tra người dùng có sửa đổimột mục (mà giá trị của nó khácvới một giá trị đã chỉ định banđầu , ngầm định giá trị ban đầu làmột chuỗi trống) hay khôngValidationSummary Thông báo sự hợp lệ trên các
điều khiển
Trang 152.2 Hệ quản trị SQL Server
2.2.1 Các thành phần của một cơ sở dữ liệu trong SQL Server
- Tables : Table là đối tượng chính của CSDL dùng lưu trữ dữ liệu cần quản
lý Mỗi table có 1 hay nhiều Field Mỗi Field ứng với một loại dữ liệu cần lưu trữ.Table còn có các thành phần liên quan như :
Constraint – Ràng buột: Constraint là các chỉ định ràng buột dữ liệu trongbảng hoặc các bảng khác nhau theo một quy tắc nào đó
Triggers – Bẫy Lỗi: Trigger thường chứa các mã lệnh kiểm tra dữ liệu, cótính năng tự động thực hiện khi có hành động nào đó xảy ra đối với dữliệu trong Table như Insert, Update, Delete
Indexs – Chỉ mục : Hổ trợ cho việc sắp xếp và tìm kiếm nhanh thông tintrên table
Diagram – Sơ đồ quan hệ: Thể hiện mối quan hệ dữ liệu giữa các table
- Views – Khung nhìn hay table ảo: Là đối tượng dùng hiển thị dữ liệu đượcrút trích, tính toán từ các Table theo nhu cầu của người dùng
- Stored Procedure – Thủ tục nội: Chứa các lệnh T-SQL dùng thực hiện một sốtác vụ nào đó Stored Proc có thể nhận và truyền tham số Stored Proc được biêndịch trước, do đó thời gian thực hiện nhanh khi được gọi Có nhiều Stored Proc hệthống được định nghĩa với tiền tố “sp_” có nhiệm vụ thu thập thông tin từ các bảng
hệ thống và rất có ích cho việc quản trị
- User Defined Function : Hàm do người dùng định nghĩa
- Users : Chứa danh sách User sử dụng CSDL Người quản trị hệ thống caonhất có User Name là dbo, tên đăng nhập (Login Name) hệ thống mặc định
là sa Tài khoản sa luôn tồn tại và không thể bỏ đi Để thay đổi mật khẩu của
sa, cách nhanh nhất là: Mở trình Query Analyzer Thực hiện thủ tục hệthống : EXEC SP_PASSWORD NULL, <NewPass>
- Roles: Các qui định vai trò và chức năng của User trong hệ thống SQLServer
- Rules : Các qui tắc ràng buộc dữ liệu được lưu trữ trên Table
Trang 16- Defaults : Các khai báo giá trị mặc định
- User Defined Data Type : Kiểu dữ liệu do người dùng tự định nghĩa
- Full Text Catalogs : Tập phân loại dữ liệu Text
2.2.2 Tạo các ràng buộc
a) Ràng buộc khóa chính( Primary key)
- Primary Key: Ràng buộc khóa chính nhằm xác định chính xác bản ghi duynhất trong một bảng Cột khóa chính không thể nhân đôi và không thể chứagiá trị null
- Cú pháp: CONSTRAINT ten_rang_buoc PRIMARY KEY
b) Ràng buộc khóa ngoại (Foreign Key)
- Foreign Key: Ràng buộc khóa ngoại trong bảng cơ sở dữ liệu là trường phùhợp với trường khóa chính trong bảng khác Trường khóa ngoại được sửdụng để tạo ra mối quan hệ với trường khóa chính của bảng chính Điều nàyngăn cản chèn thêm bất kỳ dữ liệu không hợp lệ trong trường khóa ngoại vìtrường khóa ngoại chỉ chấp nhận những giá trị đã có trong trường khóachính
CONSTRAINT (tên ràng buộc) CHECK (bieu_thuc_datgiatri)
2.3 Tìm hiểu về Linq và Linq to Sql
2.3.1 Khái niệm Linq
LINQ là viết tắt của từ “Language Integrated Query” đây là một tập hợp cácphương thức, thành phần cho cách viết truy vấn dữ liệu ngay trong ngôn ngữ lập
Trang 17trình như C#, VB, JS… LINQ chỉ được hỗ trợ ở phiên bản thư viện net framework3.5 trở lên LINQ bao gồm nhiều thành phần như: LINQ to Objects, LINQ enabledADO.Net, LINQ to XML trong đó LINQ enabled ADO.Net chứa LINQ to SQL.
2.3.2 Tìm hiểu Linq to Sql
Linq to Sql là một phiên bản khái quát, hiện thực hóa về quan niệm bản đồquan hệ trong CSDL, Linq to Sql được tích hợp sẳn trong net framework 3.5 trởlên, có thể mô tả được dữ liệu bằng cách dùng các lớp Net, sau đó truy vấn vàotrong CSDL để thực hiện các chức năng
Linq to Sql hỗ trợ tất cả các công cụ để kết nối CSDL transaction, view, storedprocedure …
2.3.3 Các truy vấn với Linq to Sql
a) Tìm hiểu lớp DataContext
Cứ mỗi một file LINQ to SQL thêm vào solution, một lớp DataContext sẽđược tạo ra, nó sẽ được dùng khi cần truy vấn hay cập nhật lại các thay đổi.Lớp DataContext được tạo sẽ có các thuộc tính để biểu diễn mối bảng được
mô hình hóa từ CSDL, cũng như các phương thức đã thêm vào
b) Lấy ra một đối tượng từ cơ sở dữ liệu
csdlDataContext dl=new csdlDataContext();
var lay=from c in dl.Tenbang select c;
Ví dụ: Lấy ra các cận lâm sàng từ cơ sở dữ liệu:
csdlDataContext dl=new csdlDataContext();
var lay=from c in dl.CLs select c;
c) Thêm 1 bản ghi vào 1 bảng trong cơ sở dữ liệu
Ví dụ: Thêm 1 cận lâm sàng vào trong cơ sở dữ liệu
csdlDataContext dl=new csdlDataContext();
CLS cl=new CLS();
cl.Macls=txtmacls.Text;
Trang 18dl.SubmitChanges();
e) Xóa 1 bản ghi của 1 bảng trong cơ sở dữ liệu
Ví dụ xóa cận lâm sàng có mã là “cls1” trong cơ sở dữ liệu:
csdlDataContext dl=new csdlDataContext();
var xoa=dl.CLs.SingleOrDefault(c=>c.MaCLS.ToString()==”cls1”);
dl.CLs.DeleteOnSubmit(xoa);
dl.SubmitChanges();
Trang 19CHƯƠNG 3 : NỘI DUNG THỰC HIỆN
3.1 Khảo sát xác định yêu cầu và phân tích hệ thống
- Khảo sát trực tiếp tại hệ thống bán hàng của công ty: Hiện tại công ty chưa
có website giới thiệu sản phẩm và bán hàng trực tuyến
- Khảo sát một số website bán hàng trên mạng
- Làm rõ yêu cầu lưu trữ và yêu cầu nghiệp vụ của hệ thống Trong đó xácđịnh rõ: người quản trị là người nắm toàn quyền trong hệ thống, có thể thaotác, xử lý toàn hệ thống Còn khách hàng chỉ có thể có một số quyền hạnnhất định như xem, tìm kiếm, đặt mua, góp ý về sản phẩm
3.2 Phân tích thiết kế với UML
3.2.1 Biểu đồ use case
a Biểu đồ use case tổng quát
Hình 3-1: Biểu đồ use case tổng quát
Trang 20Mô tả:
Người quản lý đăng nhập hệ thống để thực hiện các chức năng: Quản lý nhânviên, quản lý khách hàng, quản lý sản phẩm, quản lý loại sản phẩm, quản lý tin tức.Khách hàng có thể thực hiện các chức năng: tìm kiếm sản phẩm, xem thông tinsản phẩm, đặt mua hàng, xem tin tức
b Biểu đồ use case đăng nhập
Hình 3-2: Biểu đồ use case đăng nhập.
Mô tả tóm tắt:
- Tên Ca sử dụng: Đăng nhập
- Mục đích: Đảm bảo xác thực người dùng, người quản trị và các yêu cầu về bảo mật của hệ thống
- Tác nhân: Người quản trị hoặc khách hàng
- Tóm lược: Người quản trị hoặc muốn sử dụng các dịch vụ hệ thống thì phải cung cấp thông tin là tài khoản và mật khẩu đăng nhập vào hệ thống Hệ thống sẽ kiểm tra thông tin xem người dùng có đúng là thành viên của hệ thống không, nếu đúng thì có thể truy cập vào hệ thống và thực hiện các quyền được cung cấp trong hệ thống
Mô tả kịch bản:
Trang 21- Thông tin đầu vào: UserName và Password
- Điều kiện đầu vào:Không có
- Dòng sự kiện chính:
Bảng 3-1: Bảng dòng sự kiện đăng nhập hệ thống
Hành động của tác nhân Phản ứng của hệ thống
1 Người quản trị hoặc nhân viên đăng
nhập vào hệ thống
3 Nhập thông tin tài khoản
4 Gửi thông tin đăng nhập tới hệ thống
2 Hiển thị trang đăng nhập
5 Kiểm tra thông tin đăng nhập, nếu đúng thì cho phép truy cập hệ thống, saithì thông báo lỗi
- Ngoại lệ:
Nếu người dùng nhập tài khoản và mật khẩu không đúng thì hệ thống sẽ đưa rathông báo yêu cầu nhập lại Nếu thông tin đăng nhập chính xác, thông báo đăngnhập thành công và chuyển trang tương ứng
Trang 22c Biểu đồ use case quản lý thông tin sản phẩm
Hình 3-3: Biểu đồ use case quản lý sản phẩm
Mô tả tóm tắt:
- Tên use case sử dụng: Quản lý sản phẩm
- Mục đích: Để giúp cho NQT quản lý các thông tin liên quan đến sản phẩm
- Tác nhân: Người quản trị
- Tóm lược: Khi NQT đã đăng nhập thành công thì Use Case sẽ được gọi
để giúp NQT có thể lựa chọn các chức năng: nhập thông tin cho một sảnphẩm mới, sửa, xóa hay tìm kiếm thông tin về một sản phẩm đã có trong
hệ thống thông qua các Use Case tương ứng Khi NQT thao tác với chứcnăng nhập, hệ thống sẽ kiểm tra thông tin NQT nhập vào, nếu sai hoặckhông hợp lệ thì liệt kê các lỗi không hợp lệ cho NQT biết và cho phépnhập lại Nếu các thông tin NQT cung cấp đầy đủ và chính xác, hệ thốngcho phép thêm thông tin này vào CSDL và thêm mới thành công KhiNQT chọn chức năng tìm kiếm, hệ thống cho phép NQT chọn tiêu chí tìmkiếm và nhập nội dung tìm kiếm Hệ thống hiển thị số kết quả tìm được
và chi tiết các kết quả đó Khi thông tin về sản phẩm đã có trong CSDL,chức năng sửa, xóa cho phép NQT sửa, xóa thông tin sản phẩm đó và cậpnhật lại thông tin trong CSDL Hệ thống sẽ hiển thị các thông báo lỗi kèm
Trang 23theo trong trường hợp sửa, xóa không thành công Mỗi sản phẩm nhậpvào CSDL có một mã riêng để phân biệt với các sản phẩm khác
Mô tả các kịch bản:
- Thông tin đầu vào: Là các thông tin của sản phẩm
- Điều kiện đầu vào: Người quản trị cần phải đăng nhập thành công vào hệ thống
- Dòng sự kiện:
Bảng 3-2: Bảng dòng sự kiện quản lý sản phẩm
Hành động của tác nhân Phản ứng của hệ thống
1.Người quản lý chọn chức năng quản
lý sản phẩm
3 NQT chọn các chức năng quản lý
trong hệ thống
5 NQT thực hiện các thao tác thêm,
sửa, hoặc xóa
6 Gửi thông tin đã nhập tới hệ thống
2 Hiển thị danh sách các chức năng quản lí cho phép NQT lựa chọn
4 Hiển thị trang được yêu cầu
7 Kiểm tra thông tin đã nhập, nếu chính xác thì lưu thông tin này vào cơ
sở dữ liệu và đưa ra thông báo
- Ngoại lệ: Nếu NQT nhập các thông tin sai định dạng thì hệ thống thông báo yêu cầu nhập lại
Trang 24d Biểu đồ use case quản lý thống kê, báo cáo
Hình 3-4: Biểu đồ use case quản lý thống kê
Mô tả tóm tắt:
- Tên Ca sử dụng: Quản lý thống kê
- Mục đích: NQT thực hiện thống kê cho công ty và làm báo cáo định kì
- Tác nhân: Người quản lý
- Tóm lược: Người quản lý sau khi đăng nhập thành công, NQT có thể thực hiện các chức năng thống kê theo các tiêu chí tương ứng
Mô tả kịch bản :
- Thông tin đầu vào:
- Điều kiện đầu vào: NQT đăng nhập thành công vào hệ thống
- Dòng sự kiện chính:
Bảng 3-3: Dòng sự kiện quản lý thống kê
Hành động của tác nhân Phản ứng của hệ thống
1.NQT chọn chức năng Quản lý thống
kê.
3 NQT chọn chức năng
5 NQT thực hiện các thao tác tương
2 Hiển thị menu cho phép NQT chọn thực hiện thống kê theo các tiêu chí
4 Hệ thống hiển thị trang tương ứng các chức năng được chọn
Trang 25ứng các chức năng đã chọn và gửi yêu
cầu đến hệ thống
6 Hệ thống xác nhân yêu cầu và xử lí nếu không có lỗi xảy ra, thông báo thành công, ngược lại hệ thống thông báo lỗi
e Biểu đồ use case quản lý tin tức
Hình 3-5: Biểu đồ use case quản lý tin tức.
g Biểu đồ use case quản lý khách hàng
Hình 3-6: Biểu đồ use case quản lý khách hàng
h Biểu đồ use case quản lý danh mục sản phẩm
Trang 26Hình 3-7: Biểu đồ use case quản lý danh mục sản phẩm.
i Biểu đồ use case quản lý nhân viên
Hình 3-8: Biểu đồ use case quản lý nhân viên
k Biểu đồ use case đặt mua hàng