LỜI MỞ ĐẦU4CHƯƠNG I. GIỚI THIỆU ĐỀ TÀI51.1 Xu hướng phát triển thương mại điện tử ở Việt Nam51.2 Mục tiêu và những yêu cầu khi xây dựng hệ thống.61.2.1. Mục tiêu xây dựng hệ thống61.2.2. Những yêu cầu đặt ra cho hệ thống61.3. Hoạt động của hệ thống61.3.1. Hoạt động của khách hàng71.3.2. Hoạt động của nhà quản lý7CHƯƠNG II. JOOMLA – MÃ NGUỒN MỞ VÀ XU HƯỚNG PHÁT TRIỂN82.1. Khái niệm82.1.1 Mã nguồn mở là gì ?.82.1.2 Giới thiệu CMS102.1.3 Vị trí của Joomla trong hệ thông mã nguồn mở CMS.112.2 Các thành phần mở rộng của Joomla .122.2.1 Cách cài đặt122.2.2 Hướng dẫn cài đặt VirtueMart15CHƯƠNG III. PHÂN TÍCH183.1 Biểu đồ khung cảnh của hệ thống.183.1.1. Danh sách các Actor193.1.2. Danh sách các Use Case193.2 Biểu đồ ca sử dụng213.2.1 Liên quan giữa các đối tác.213.2.2Liên quan giữa đối tác và qua sử dụng223.2.3Thành lập biểu đồ ca sử dụng233.3 Phân tích các hoạt động của hệ thống323.3.1 Biểu đồ đăng ký thành viên.323.3.2 Biểu đồ đăng nhập thành viên333.3.3 Biểu đồ hoạt động quản lí sản phẩm343.3.4 Biểu đồ hoạt động đặt hàng353.3.5 Biểu đồ hoạt động thay đổi giỏ hàng363.4 Mô hình hóa tuần tự của hệ thống373.4.1 Đặc tả biểu đồ Tìm kiếm sản phẩm373.4.2 Đặc tả biểu đồ Xem sản phẩm383.4.3 Đặc tả biểu đồ Thêm sản phẩm vào giỏ hàng393.4.4 Đặc tả biểu đồ Thay đổi giỏ hàng403.4.5 Đặc tả biểu đồ Xem giỏ hàng413.4.6 .Đặt hàng423.4.7. Đặc tả Quản lý sản phẩm443.4.8. Đặc tả biểu đồ Quản lý đơn hàng463.4.9. Đặc tả biểu đồ đăng nhập473.4.10 Đặc tả biểu đồ đăng kí483.5 Phân tích hệ thống bằng biểu đồ lớp50CHƯƠNG 4 . THIẾT KẾ CHI TIẾT HỆ THỐNG WEBSITE544.1 Thiết kế Cơ Sở Dữ Liệu544.1.1. Mô hình quan hệ544.1.2. Mô tả chi tiết554.2 Giao diện website594.2.1 Phía người sử dụng59Giao diện Trang chủ:59Giao diện đăng kí:59Giao diện đăng nhập60Giao diện quên mật khẩu60Giao diện giỏ hàng:60Giao diện đặt hàng với khách chưa đăng ký61Giao diện khách hàng đã đăng kí:624.2.2 Giao diện quản trị viên63Đăng nhập Administrator63Giao diện thêm sản phẩm64Giao diện quản lý Hóa đơn65TỔNG KẾT VÀ ĐÁNH GIÁ66KẾT LUẬN67TÀI LIỆU THAM KHẢO68
Trang 1Khoa Công nghệ thông tin
************
BÁO CÁO
ĐỒ ÁN II: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
ThS.DƯ THANH BÌNH
Trang 2MỤC LỤC
CHƯƠNG I GIỚI THIỆU ĐỀ TÀI 4
1.1 Những nét đặc trưng của một cửa hàng trên Internet 4
1.2 Mục tiêu và những yêu cầu khi xây dựng hệ thống 5
1.2.1 Mục tiêu xây dựng hệ thống 5
1.2.2 Những yêu cầu đặt ra cho hệ thống 5
1.3 Hoạt động của hệ thống 6
1.3.1 Hoạt động của khách hàng 6
1.3.2 Hoạt động của nhà quản lý 6
CHƯƠNG II GIỚI THIỆU CÔNG NGHỆ NET 7
2.1 Giới thiệu ASP.NET 7
2.2 Tại sao dùng ASP.NET 8
2.3 Tóm tắt các đặc điểm của ASP.NET 10
2.3.1 Đối tượng Pages 10
2.3.2 HTML Server Side Controls 10
2.3.3 Rich Control 10
2.3.4 Web Services (Các dịch vụ Web) 11
2.3.5 Cấu hình và phân phối 11
2.3.6 Trạng thái Session 11
2.3.7 Xử lý lỗi 11
2.3.8 Quản lý bảo mật 12
2.3.9 Tùy biến vùng đệm trên trình chủ 12
2.3.10 Một tập các đối tương phong phú 12
2.4 Thiết kế mã ASP.NET 13
2.4.1 Lập trình với mã ẩn 13
2.4.2 Quan hệ giữa các tập tin Web Form 14
2.5 Các thành phần điều khiển trong ASP.NET 15
2.5.1 Điều khiển danh sách 15
2.5.2 Điều khiển đa năng 16
2.5.3 Điều khiển kiểm tra 16
2.6 Giới thiệu NET Framework 16
2.7 Giới thiệu ngôn ngữ C# 18
CHƯƠNG III PHÂN TÍCH 19
3.1 Biểu đồ Use Case 19
3.1.1 Danh sách các Actor 20
3.1.2 Danh sách các Use Case 20
3.2 Đặc tả Use case 21
3.2.1 Đặc tả Use Case Tìm kiếm sản phẩm 21
3.2.1.1 Tóm tắt 21
3.2.1.2 Dòng sự kiện 21
3.2.2 Đặc tả Use Case Xem sản phẩm 21
3.2.2.1 Tóm tắt 21
3.2.2.2 Dòng sự kiện 21
3.2.3 Đặc tả Use Case Thêm sản phẩm vào giỏ hàng 22
3.2.3.1 Tóm tắt 22
Trang 33.2.3.2 Dòng sự kiện 22
3.2.4 Đặc tả Use Case Thay đổi giỏ hàng 22
3.2.4.1 Tóm tắt 22
3.2.4.2 Dòng sự kiện 22
3.2.5 Đặc tả Use case Xem giỏ hàng 23
3.2.5.1 Tóm tắt 23
3.2.5.2 Dòng sự kiện 23
3.2.6 Đặc tả Use case Đặt hàng 23
3.2.6.1 Tómt tắt 23
3.2.6.2 Dòng sự kiện 23
3.2.7 Đặc tả Use case Quản lý sản phẩm 24
3.2.7.1 Tóm tắt 24
3.2.7.2 Dòng sự kiện 24
3.2.8 Đặc tả Use case Quản lý đơn hàng 24
3.2.8.1 Tóm tắt 24
3.2.8.2 Dòng sự kiện 24
3.2.9 Đặc tả Use case đăng nhập 25
3.2.9.1 Tóm tắt 25
3.2.9.2 Dòng sự kiện 25
CHƯƠNG IV THIẾT KẾ 26
4.1 Biểu đồ tuần tự cho các Use case 26
4.1.1 Use case tìm kiếm sản phẩm 26
4.1.2 Use case Xem sản phẩm 26
4.1.3 Use case Thêm sản phẩm vào giỏ hàng 27
4.1.4 Use case Thay đổi giỏ hàng 27
4.1.5 Use case Xem giỏ hàng 28
4.1.6.Use case Đặt hàng 28
4.1.7 Use case Quản lý sản phẩm 29
4.1.8.Use case Quản lý đơn hàng 30
4.1.9 Use case Đăng nhập 31
4.2 Thiết kế Cơ sở dữ liệu 32
4.2.1 Mô hình quan hệ 32
4.2.2 Mô tả chi tiết 33
4.3 Thiết kế chương trình và triển khai 37
4.3.1 Mô hình cài đặt 37
4.3.2 Ứng dụng vào hệ thống: 41
4.3.2 Yêu cầu hệ thống 46
4.4 Thiết kế giao diện 46
4.4.1 Giao diện chi tiết sản phẩm 46
4.4.2 Giao diện trang chủ 47
4.4.3 Giao diện trang giới thiệu 48
4.4.4 Giao diện giỏ hàng 49
4.4.5 Giao diện trang đặt hàng 50
CHƯƠNG V KẾT LUẬN 51
TÀI LIỆU THAM KHẢO 52
Trang 4CHƯƠNG I GIỚI THIỆU ĐỀ TÀI
1.1 Những nét đặc trưng của một cửa hàng trên Internet
Nhu cầu sử dụng trong xã hội luôn là động cơ chính thúc đẩy sảnxuất, như chúng ta đã biết việc thiếu thông tin cho công đọan đáp ứngcung cầu làm cho việc đưa sản phẩm đến tay người tiêu dùng trở nên khókhăn và gây nhiều lãng phí cho xã hội Bên cạnh đó, việc phổ biến sửdụng Internet đã tạo ra một bước ngoặt mới trong định hướng phát triểnngành công nghệ thông tin ở nước ta cùng với nhu cầu sử dụng máy tính
để trao đổi để cập nhật thông tin ngày càng tăng Từ thực tế đó việc đưathông tin đáp ứng các nhu cầu của mọi người và hỗ trợ cho việc mua bándiễn ra một cách nhanh chóng, tiết kiệm đã trở nên vô cùng cấp thiết.Song song với việc bán hàng qua điện thoại, ứng dụng với thời đại côngnghệ thông tin phát triển như hiện nay, mua bán qua mạng cũng là mộtgiải pháp tối ưu trong việc phân phối thông tin vào mục đích thương mại,
và đây cũng là một mảnh đất mới cho thị trường hàng tiêu dùng trong giaiđoạn phát triển kinh tế ở nước ta
Việc bạn có thể ung dung ngồi nhà mà du ngoạn từ cửa hàng nàysang cửa hàng khác trong không gian trực tuyến không còn là cảnh trongphim viễn tưởng mà đã trở thành hiện thực Ngày nay, bất kì thứ hànghóa nào bạn đều có thể đặt mua qua Internet: từ một bó hoa tươi, mộtchiếc tivi, một chiếc xe hơi hay một người thích tin học có thể mua chomình một chiếc mày tính với tất cả các sản phẩm của nó được bán ở mộtcửa hàng máy tính nào đó trên mạng Nếu bạn muốn kinh doanh hãynhanh chóng khám phá mảnh đất màu mỡ này, hãy cho cả thế giới biết về
Trang 5bạn, biết về sản phẩm của bạn Và đặc biệt nếu bạn kinh doanh các sảnphẩm máy tính thì đây chính là nơi bạn sẽ thu hút được nhiều khách hàngquen thuộc.
Cửa hàng ảo trên Internet cũng giống như một cửa thực sự kinhdoanh nhiều loại mặt hàng đa dạng trong nhiều lĩnh vực, chẳng hạn nhưcác sản phẩm của máy vi tính thuộc lĩnh vực công nghệ thông tin Do đóviệc thực hiện xây dựng một cửa hàng ảo trên Internet có thể ứng dụngđược và có tiềm năng phát triển trong tương lai
Do đặc điểm nổi bật của cửa hàng ảo trên Internet là người mua vàngười bán không hề gặp nhau và người mua không thể trực tiếp kiểm tramặt hàng do đó cần phải xây dựng cho hệ thống những chức năng sau:quản lý khách hàng, quản lý đơn hàng, quản lý hàng hóa
1.2 Mục tiêu và những yêu cầu khi xây dựng hệ thống
1.2.1 Mục tiêu xây dựng hệ thống
- Nhằm đáp ứng được nhu cầu mở rộng thị trường, tiêu thụ hàng hóa
- Thông tin luôn được cập nhật và luôn đáp ứng được nhu cầu của kháchhàng
- Bên cạnh đó còn tiết kiệm được thời gian và chi phí đi lại cho kháchhàng
1.2.2 Những yêu cầu đặt ra cho hệ thống
- Tạo sự thân thiện, an toàn, dễ sử dụng cho khách hàng khi mua hàng
- Hỗ trợ cho người quản trị có thể quản lý cửa hàng một cách hiệu quả đểđem lại lợi nhuận cao
Trang 6tả, số lượng, hình ảnh Khách hàng có thể thêm, bớt, thay đổi sản phẩmcũng số lượng sản phẩm vào giỏ mua hàng cho tới khi kết thúc việc muahàng.
1.3.2 Hoạt động của nhà quản lý
Ngoài nhiệm vụ quản lý sản phẩm của cửa hàng, người quản lý cònphải theo dõi khách hàng và đơn đặt hàng Người quản lý dựa trên thôngtin mà khách hàng cung cấp để có thể giao hàng và thanh toán với kháchhàng
Trang 7CHƯƠNG II GIỚI THIỆU CÔNG NGHỆ NET
2.1 Giới thiệu ASP.NET
Hiện tại ASP 3.0(.asp) đã và đang trở thành kịch bản được nhiềungười sử dụng để thiết kế ứng dụng Web dưới nhiều hình thức khác nhau.Chúng được sự hỗ trợ mạng của ngôn ngữ lâp trình Visual Basic 6.0 và
cơ sở dữ liệu SQL Server cùng với công nghệ COM và DCOM, ứng dụngtrở nên hoàn hảo và ưu việt hơn trong quá trình trao đổi thông tin trênmạng Internet và intranet
Tuy nhiên, Microsoft đã và đang nỗ lực cho một công nghệ Web
xử lý phía máy chủ hoàn toàn mới đó là ASP.NET, độc lập với mọi trìnhduyệt Điều này có nghĩa là trìh duyệt không cần phải cài đặt bất cứ công
cụ hỗ trợ nào để duyệt trang Web dạng ASP.NET (.aspx)
Với kỹ thuật cho phép mọi thực thi đều nằm trên trình chủ(Server), có nghĩa là trình chủ phải xử lý nhiều vấn đề cùng một lúc chonhiều người dùng, chính vì vậy đòi hỏi máy chủ có cấu hình mạng và đòihỏi băng thông có khả năng truyền dữ liệu với khốI lượng lớn và tốc độtruy cập nhanh
ASP.NET được thiết kế tương ứng với các phiên bản ASP trước
đó Chúng ta có thể triển khai ứng dụng phát triển bằng ASP.NET chungvới ứng dụng phát triển ASP 3.0 trên cùng một máy chủ Windows 2000
mà không cần thay đổi cấu hình của ứng dụng ASP
ASP.NET và ASP hoạt động độc lập với nhau tuy chúng cùng chạytrên cùng một trình chủ Web Những ngôn ngữ được dùng để viếtASP.NET và VBScript (mã Visual Basic.NET), Jscript (mã J++), C#(mãC#).Tùy thuộc vào khai báo chỉ mục trong đối tượng chỉ dẫn đầu trang
Trang 82.2 Tại sao dùng ASP.NET
ASP là mộ mô hình tốI ưu và dễ sử dụng với nhiều ứng dụng Webtrên nền Windows, chúng cho phép xây dựng một ứng dụng Web có quy
mô lớn Tuy nhiên, nó có nhiều thiếu sót như mã không có cấu trúc rõràng, do mã ASP được viết chèn lẫn lộn vớ mã HTML Chẳng hạn khi sử
dụng các phát biểu include để chèn tập tin vào trang ASP dẫn đến vấn để
xáo trộn cấu trúc HTML và mã ASP của trang mà chúng ta khai báochèn
Trang ASP được thông dịch lại toàn bộ khi người sử dụng triẹu gọiđến chúgn Điều này có nghĩa là trang ASP không thay đổi cấu trúcnhưng vẫn phải thông dịch lại mỗi khi sử dụng triệu gọi Ngoài ra, ASP
dử dụng đối tượng ADO để kết nối nhiều loại cơ sở dữ liệu bao gồm các
cơ sở dữ liệu thông dụng như: Microsoft Access, Microsoft SQL Server,
…tính bảo mật của đối tượng ADO này chưa cao Thêm vào đó, đốitượng ADO không thể kết nối cơ sở dữ liệu có định dạng XML, trong khiXML đang trở thành một chuẩn dùng định dạng dữ liệu trong các ứngdụng Internet và mạng
Trong trang ASP, chúng ta sử dụng hai đối tượng Application vàSession, nhưng có quá nhiều vấn đề có thể xảy ra trong quá trình triểnkhai ứng dụng lớn được thiết kế trên nhiều Server Trước tiên các đốitượng này sẽ tạo ra dung lượng lớn tren Server khi có hàng ngàn ngườitruy cập
Xuất phát từ các điểm yếu tương tự như trên, công nghệ ASP.NET
sẽ hướng các lập trình viên Web vào quỹ đạo cảu chúng bằng các lý donhư:
phép chúng ta biên dịch không phụ thuộc ngôn ngữ, thực hiện tối ưu
Trang 9việc kết hợp các ngôn gnữ khac nhau Có thể dung VB.NET, C#.NEThay kể cả C++ để xây dựng trang ASP.NET.
khai báo và viết mã đơn giản
content): Trong mỗi Web form chúng ta có thể khai báo một số thủ tụctrên tập tin với các tên mở rộng.vb, trang này được gọi là “Codebehind the Page” Chứa đựng nội dung mã nguồn trong khi WebForm chứa các đối tượng trực quan mang tính giao diện người dùng
ASP.NET Controls (điều khiển ASP.NET) có thể tự động nhận dang jtrình khách để hiển thị cho phù hợp Chính vì vậy, chúgn ta sẽ khôngquan tâm đến việc phải viết mã như thể nào để nhận dạng loại trìnhduyệt của trình khách (Client) khi người sử dụng triệu gọi trangASP.NET
Webb Form Controls): là những Controls có thể xuất ra mã HTML 3.2trên trình duyệt Tuy nhiên, chúng cho phép xuất ra tất cả các điềukhiển của các Platform khác như: Wire less phone, palm, pilots, pager
và các thiết bị khác
đổi trang Webnhw một đối tượng trên Server Side nhiều thuộc tính,phương thức, đối tượng và biến cố sử dụng để tự động tạo ra nội dungtrong mã nguồn bằng phát biểu (Runat = Server)
đây, với công nghệ ASP.NET chúng ta có thể sử dụng dịch vụ tương
tự nhưng đơn giản hơn đó là Web Serveres
Trang 102.3 Tóm tắt các đặc điểm của ASP.NET
2.3.1 Đối tượng Pages
Page (trang ứng dụng) sử dụng các thành phần điều khiển có khảnăng hoạt động và tương tác với nhau ngay trên trình chủ Web Server.Với đặc điểm này, chúng ta đã giảm hết quá trình viết mã tương tác giữacác trang
Lập trình trong môi trường ASP.NET tương tự như lập trình thiết
kế trong Net Windows Form Do đó, các ứng dụng ASP.NET còn gọi làWeb Forms
2.3.2 HTML Server Side Controls
Các thành phần điều khiển HTML (HtmlControl) có khả năng xử
lý ngay trên trình chủ dựa vào thuộc tính và phương thức tương tự cáchoạt động của chúng phía trình khách (sử dụng thuộc tính runat =
“server”)
Những thành phần điều khiển này còn cho phép kết hợp mã xử lýcủa trang ASP.NET với một sự kiện nào đó phát sinh phía trình kháchđược xem như đang diễn dịch trên trình chủ (mô hình chuyển giaodelegate)
2.3.3 Rich Control
Rich Control là tập các thành phần điều khiển đa năng, chúng chạytrên Server và có thể tạo ra các phần tử cũng như đối tượng HTML phứchợp cho trình khách
Chẳng hạn, Rich Control tạo ra khung lưới (datagrid), lịch(calendar), bảng (table), khung nhìn (list view) Rich Control còn chophép ràng buộc dữ liệu và xử lý dữ liệu tương tự như chúng ta đang viếtmột ứng dụng để bàn
Trang 112.3.4 Web Services (Các dịch vụ Web)
Web Services (các dich vụ Web) có thể cho DLL, COM, DCOMtrước đây, Trang ASP.NET có thẻ khôngcần hiển thị kết xuất cho trìnhkhách Chúng hoạt động như những chương trình xử lý yêu cầu ở hậucảnh
Ví dụ như trong ASP.NET chúng ta có thể là một lớp đối tượngcung cấp phương thức trả về giá trị nào đó khi nhận được yêu cầu từ trìnhkhách Web Services sử dụng giao thức HTTP và XML nơi có khả năngtrao đổi dữ liệu và xuyên suốt trong môi trường mạng Internet, mạngkhông dây
2.3.5 Cấu hình và phân phối
File cấu hình đơn giản và dễ dàng với các tập tin (web Config)theo định dạng văn bản XML Các thành phần đối tượng không còn phảiđăng ký với hệ thống trước khi sử dụng COM, DLL, DCOM
Chúng ta chỉ cần copy các trang ASP.NET hay các đối tượng lênmáy chủ,chỉ ra vị trí của chúng, chương trình cũng như dịch vụ của chúng
ta đã có thể sẵn sàng sử dụng
2.3.6 Trạng thái Session
Tự động quản lý trạng thái của đối tượng Session và Application,chúng ta có thể lưu nội dung của Session và Application của một ứngdụng đặc thù nào đó xuống các file trên đĩa để sử dụng lại.
2.3.7 Xử lý lỗi
Xử lý lỗi (debug) và lần vết (tracing) các công cụ gỡ lỗi lần vếtthông tin được nâng cấp và đáng tin cậy hơn Mỗi trang tài liệu có thẻ sử
Trang 12Các trình gỡ lỗi debug được tích hợp sủ dụng cho môi trường đangôn ngữ Visual Basic.Net, C++.NET, C#.NET Chúng ta có thể tạo racác thành phần đối tượng từ C++.NET, C#.NET và triệu gọi chúng bằngngôn ngữ Visual Basic.Net theo cùng cú pháp.
2.3.8 Quản lý bảo mật
Quản lý bảo mật (Security management), chúng ta có thẻ tận dụngcác dịch vụ đăng nhập (login) tùy biến cho trang tài liệu ASP.NET theophong cách của Web hoặc cơ chế đăng nhập và kiểm tra quyền xuất dựatrên hệ thống bảo mật của hệ điều hành
2.3.9 Tùy biến vùng đệm trên trình chủ
Bằng cách sử dụng tùy biến vùng đệm trên trình chủ (CustomServer Caching) của kiến trúc ASP.NET được quản lý rất linh động.Chúng ta có thể tự tạo các vùng đệm riêng chứa một kiểu giá trị và đốitượng trong quá trình hoạt đồng của trang nhằm tăng tốc cho ứng dụng
2.3.10 Một tập các đối tương phong phú
ASP.NET hỗ trợ một tập phong phú các thư viện, lớp và đối tượng,nhằm phục vụ cho hầu hết những gì mà các nhà phát triển ứng dụng cầnđến khi làm việc với ASP.NET
Bằng các thư viện này, công việc viết ứng dụng cho Web trở nên
dễ dàng và đơn giản hơn bao giờ hết
Ví dụ như chúng ta có thể sử dụng các thành phần đối tượng “SendMail” để gửi nhận thư, đối tượng mã hóa và giải mã thông tin, đối tượngđếm số người truy cập trang Web (Counter), đối tượng truy xuất dữ liệuADO, đối tượng truy cập các dịch vụ mạng, đối tượng đọc ghi trên hệthống NTFS, đối tượng ghi ra logfile của hệ điều hành
Trang 13Lưu ý rằng, các đối tương nội tại khác nhau như: Request,Response, Form, Cookies, Server Variables đều được giữ lại và hoàn toàntương thích với ASP Tuy nhiên ASP.NET đã cung cấp thêm cho nhữngđối tượng này rất nhiều thuộc tính và phương thức mới giúp nâng cao khảnăng xử lý cho ứng dụng.
2.4 Thiết kế mã ASP.NET
Kiến trúc ASP.NET cung cấp một tập hợp các sự kiện và chúng ta
có thể đặt mã điều khiển bên trong các sự kiện này thay vì trộn lẫn mã vớicác thẻ định dạng HTML Trong đó biến cố Page_Load luôn phát sinhđầu tiên mỗi khi trang aspx được triệu goi từ xa bởi trình khách Tiếpđến, các biến cố khác của những thành phần điều khiển bên trong
Sau cùng, khi bộ diễn dịch thực thi xong các yêu cầu của trang,trang sẽ đươc giải phóng, lúc này biến cố Page_Unload sẽ được triệu gọi.Nếu chúng ta đã từng viết ứng dụng Visual Basic thì có thể hình dungtrang tài liệu của chúng ta như cửa sổ form ứng dụng
Các biến cố Page_Load, Page_Unload của trang ASP.NET, tươngđương với Form_Load và Form_Unload trong ngôn ngữ lập trình VisualBasic Chính vì vậy, các trang ứng dụng ASP.NET sau này còn mang tênkhác là Web Form
2.4.1 Lập trình với mã ẩn
Do xuất phát từ khái niệm tách trang ASP thành hai trang riêngbiệt, trang giao diện người sử dụng và trang mã NET hay còn gọi làCode Behind Trong bất kỳ trang ASP.NET dạng Web Form, chúng tacũng tìm thấy phát biểu tương tự sau đây trên phần đầu trang Web
Trang 14Phát biểu này còn gọi là chỉ dẫn với từ khai báo là @ Page, chỉ chochúng ta thấy rằng mỗi Web Form được xây dựng trên ASP.NET Điềunày có nghĩa là Web Form là một đối tượng của lớp ASP.NET Page.
Đối tượng Page, cũng chứa các Control khi người sử dụng yêu cầutrang Web Form từ trình chủ, đối tượng Page sẽ thực thi đối tượng WebForm cùng với các Control trên trang ASP.NET
Sau đó, chúng chuyển đổi kết xuất của đối tượng Page cùng với cácControl thành mã HTML để trả về cho trình duyệt Chúng ta có thể thamkhảo quá trình thực thi của trang ASP.NET
System Web.UI Page trong không gian nên tên System Web.UI
là lớp cơ sở sau các hàm của Web Form Lớp Web Form được kế thừa từlớp System Web UI Page Trang Web Form kế thừa từ lớp mã nguồn(code – behind)
Kết quả cuối cùng trang Web Form dịch ra tập tin DLL và sử dụngcho lần gọi kế tiếp
2.4.2 Quan hệ giữa các tập tin Web Form
Ngoài khai báo tập tin mã ẩn trình bày trong phần trên, chỉ dẫnPage còn định nghĩa các đặc tính của trang Web như khai báo Languagebằng VB (Visual Basic), Auto Event Wire Up quan tâm đến nối tự độnggiữa kiểm soát biến cố Page-Load, giá trị thiết lập false cho biết khi kiểmsoát biến cố chúng ta phải cung cấp đoạn mã chương trình
Phát biểu kế tiếp là code-behind = “newuser Aspx.cs”, tất cả các
mã nguồn của Web Form đều lưu trữ trong trang Code-Behind có tênnewuser Aspx.cs
Ngoài ra, tất cả các thẻ trên trình chủ đều được khai báo thuộc tínhrunat = “server” trong cú pháp của cấu trúc thẻ
Trang 152.5 Các thành phần điều khiển trong ASP.NET
Các điều khiển này sẽ tạo ra những phần tử theo kiểu HTML phíatrình khách Chúng ta có thể dựa vào điều khiển nội tại để tạo ra các phần
tử HTML phía trình khách
Chúng ta có thể dựa vào điểu khiển nội tại để tạo ra các điều khiểnHTML thông minh có khả năng quản lý trạng thái của chính nó hoặcnhững phần tử chỉ thuần HTML không cần quản lý trạng thái Chúng ta
có thể tham khảo danh sách các điều khiển “asp” và HTML tương đươngnhau Sử dụng các điều khiển nội tại theo phong cách HTML hayASP.NET là tùy theo sở thích của chúng ta Tuy nhiên, nếu chúng ta dùng
mã HTML, trang tài liệu của ứng dụng có thể tương thích với các phiênbản ASP trước đây
Tuy nhiên, khi sử dụng mã HTML chúng ta sẽ không tận dụng hếtkhả năng của môi trường và các thành phần điều khiển có trongASP.NET Chính vì vậy, chúng ta nên sử dụng thành phần điều khiển củaASP.NET, khi đó trang tài liệu của ứng dụng sẽ đựơc thi hành trên trìnhchủ có hiệu quả tốt hơn
2.5.1 Điều khiển danh sách
Thành phần điều khiển danh sách (List control) cho phép chúng tahiển thị mọi loại dữ liệu kiểu danh sách Ví dụ như bảng dữ liệu (Table),khung nhìn (View) liệt kê…
Điều khiển danh sách còn cho phép chúng ta ràng buộc các thànhphần dữ liệu Server Sử dụng List control chúng ta có thể hiển thị vá sắpxếp dữ liệu theo cách đơn giản dưới nhiều góc nhìn khác nhau và ít phảiviết mã lệnh nhất
Trang 162.5.2 Điều khiển đa năng
Những điều khiển đa năng (Rich Control) trên Server sẽ sinh ra mã
là tổ hợp của nhiều phần tử HTML đôi khi kèm theo mã điều khiểnJavaScript để chạy phía trình khách
Rich control cung cấp cho chúng ta nhiều giao diện rất bắt mắt vàđộc đáo Tùy theo trình duyệt phía trình khách mà mã HTML vàJavaScript do Rich Control tạo ra sẽ trở nên tương thích
2.5.3 Điều khiển kiểm tra
Các điều khiển kiểm tra (Validate Control) thường không nhìnthấy Chúng hoạt động phía hậu cảnh ở cả 2 phía trình khách (PostBack)
dữ liệu về trình chủ hoặc trình chủ đưa dữ liệu trở về trình khách
Lưu ý rằng, tất cả những thành phần điều khiển này đếu sinh ra mãHTML tương thích với hầu hết các trình duyệt
2.6 Giới thiệu NET Framework
Net Framework là cơ sở hạ tầng cung cấp cho người tiêu dùng cáchthức sử dụng nhiều ngôn ngữ lập trình khác nhau cho phép truy cập thôngtin, file, hoặc các chương trình của họ ở mọi lúc mọi nơi trên mọi cấuhình phần cứng và thiết bị
Net Framework là môi trường CLR (Common Language Runtime)
và tập phân cấp các bộ thư viện hợp nhất cùng với ASP.NET.CLR quản
lý sự thực thi của đoạn mã NET và cung cấp dịch vụ giúp cho quá trìnhphát triển chương trình ứng dụng dễ dàng hơn Các trình biên dịch và cáccông cụ làm cho chữ năng của thư viện thực thi Runtime trở nên phongphú và hiệu quả hơn
Đoạn viết mã trong trang ASP.NET hướng đến một kiến trúc cụ thểgọi là mã được quản lý “managed code” CLR quản lý đoạn mã ở mứcthực thi thấp, kết hợp khả năng sử dụng đồng thời nhiều ngôn ngữ có thể
Trang 17triệu gọi lẫn nhau “cross language”, thích hợp quản lý cả lỗi ngoại lệ khởitạo và chấm dứt các tiến trình ở mức thấp, bảo mật quản lý phiên bản,đóng gói cài đặt.
Dịch vụ NET trong Framework cho phép ứng dụng Internet hayIntranet trong hiện tại hay tương lai bằng bất cứ ngôn ngữ lập trình nàotrên một hệ thống bất kỳ CLR cung cấp cơ chế dễ dang cho các nhà pháttriển C#.NET khi thiết kế và xây dựng ứng dụng trong đó những đốitượng viết bằng Web Services có thể tương tác với các đối tượng đượcviết bằng ngôn ngữ
Thành phần cấu thành trong NET Framework, mức trên cùng làtrình biên dịch C# hoặc các trình biên dịch của các ngôn ngữ khác trong
bộ Visual Studio.NET
NET Framework bao gồm các đặc điểm sau:
- Khả năng biến đổi được
- Hỗ trợ nhiều ngôn ngữ
- Bảo mật tốt hơn
- Kế thừa những dịch vụ của hệ thống điều hành
- Tách biệt giữa mã nguồn (code behind) và phần giao diện
Khi gọi trang ASPX lần đầu tiên IIS triệu gọi trình biên dịch, dịch
trang ASPX (trang Code-behind) thành tin class Kế tiếp, tập tin class này
được biên dịch thành tập tin DLL Sau đó, trang DLL thực thi và trả vềkết quả cho người sử dụng
Trang ASPX triệu gọi lần kế tiếp, thì tập tin DLL sẽ được gọi vàthực thi để trả kết quả về người sử dụng
Trang ASPX sẽ biên dịch lại tập tin DLL khi chúng tìm thấy cấutrúc của nó thay đổi hoặc chúng không tìm thấy tập tin DLL tương ứngtrong thư mục có tên Temporary ASP.NET Files
Trang 182.7 Giới thiệu ngôn ngữ C#
Microsoft Visual.NET là một ngôn ngữ hướng thành phần(conponent) rất mạnh nằm trong bộ Visual Studio NET của Microsoft.C#đóng vai trò quan trọng trong kiến trúc NET Framework của Microsoft,
nó được so sánh ngang bằng với vai trò của C trong việc phát triển UNIX
C#.NET là một ngôn ngữ mạnh nhưng đơn giản, chủ yếu dùng chocác nhà phát triển tạo ra các ứng dụng chạy trên nền Microsoft.NET Nóthừa hưởng nhiều đặc tính hay nhất của ngôn ngữ C++ và MicrosoftVisual Basic, đã loại bỏ đi những đặc tính lỗi thời không còn phù hợpnữa
C# cũng có nhiều đặc tính mới giúp tăng nhanh tốc độ phát riểnứng dụng, đặc biêt là khi kết hợp với Microsoft Visual Studio.NET
Sự kết hợp C#.NET trên trang ASP.NET làm cho trang Web mangnhiều tín chuyên nghiệp, khả năng an toàn, tính bảo mật cao hơn, sựtường minh, rõ ràng, rành mạch trong khâu coding làm cho bước bảo trìnhanh hơn và có tính hệ thống hơn…
Trang 19CHƯƠNG III PHÂN TÍCH
3.1 Biểu đồ Use Case
Từ quá trình tìm hiểu hệ thống cửa hàng trực tuyến ta xây dựngđược các biểu đồ Use case sau:
Đăng nhập Tìm kiếm SP
Trang 203.1.1 Danh sách các Actor
3.1.2 Danh sách các Use Case
Cho sản phẩm vào giỏ hàng
hàng
Loại bỏ sản phẩm trong giỏ hàng
Trang 21- Khách hàng nhập từ khóa thông tin về sản phẩm
- Hệ thống dựa trên từ khóa do khách hàng nhập vào để tìm sảnphẩm phù hợp
- Danh sách sản phẩm được trả về nếu yêu cầu tìm kiếm thỏa mãn
3.2.2 Đặc tả Use Case Xem sản phẩm
3.2.2.1 Tóm tắt
Use Case Xem sản phẩm mô tả quá trình liệt kê sản phẩm hiện có trêncửa hàng theo các danh mục có sẵn của khách hàng
3.2.2.2 Dòng sự kiện
Use Case bắt đầu khi khách hàng có yêu cầu xem sản phẩm
cầu
Trang 223.2.3 Đặc tả Use Case Thêm sản phẩm vào giỏ hàng
nếu sản phẩm đã có trong giỏ hàng, hệ thống sẽ tăng số lượng sảnphẩm lên 1 đơn vị
3.2.4 Đặc tả Use Case Thay đổi giỏ hàng
3.2.4.1 Tóm tắt
Use case mô tả quá trình thay đổi giỏ hàng của khách hàng baogồm các quá trình loại bỏ sản phẩm, thay đổi số lượng các sản phẩmtrong giỏ hàng
3.2.4.2 Dòng sự kiện
Use case bắt đầu khi khách hàng muốn thay đổi giỏ hàng
thống sẽ loại bỏ sản phẩm trong giỏ hàng ở cơ sở dữ liệu
số lượng của sản phẩm trong giỏ hàng ở cơ sở dữ liệu
Trang 233.2.5 Đặc tả Use case Xem giỏ hàng
khách hàng hiện tại bao gồm: tên sản phẩm, số lượng, thành tiền
và lưu lại đơn hàng trên cơ sở dữ liệu
Trang 243.2.7 Đặc tả Use case Quản lý sản phẩm
nhập nội dung thông tin của sản phẩm và cập nhật vào cơ sở dữ liệu
sản phẩm cần sửa đổi, quản trị viên thay đổi nội dung thông tin củasản phẩm và hệ thống sẽ cập nhật vào cở sở dữ liệu sản phẩm tươngứng
cần xóa và loại bỏ sản phẩm khỏi cơ sở dữ liệu
3.2.8 Đặc tả Use case Quản lý đơn hàng
3.2.8.1 Tóm tắt
Use case mô tả quá trình quản trị viên muốn thay đổi đơn hàng baogồm thông tin khách hàng, thông tin đơn hàng với các chức năng sửa,xóa
3.2.8.2 Dòng sự kiện
Use case bắt đầu khi quản trị viên muốn thay đổi thông tin kháchhàng và đơn hàng Hệ thống sẽ yêu cầu quản trị viên chọn chức năng
cầu chọn đơn hàng, quản trị viên thay đổi nội dung đơn hàng gồm
Trang 25thông tin khách hàng, thông tin đơn hàng, hệ thống sẽ cập nhật vào cơ
sở dữ liệu đơn hàng tương ứng
đơn hàng cần xóa và loại bỏ đơn hàng khỏi cơ sở dữ liệu
3.2.9 Đặc tả Use case đăng nhập
- Hệ thống kiểm tra và đối chiếu với cơ sở dữ liệu
- Nếu thành công hiện thị trang quàn lý, nêu không thông báo tớiquản trị viên
Trang 26CHƯƠNG IV THIẾT KẾ
4.1 Biểu đồ tuần tự cho các Use case
4.1.1 Use case tìm kiếm sản phẩm
Khách hàng
:Search.aspx :ProductAccess :GenericAccess :ProductList
6:Trả về() 7:Trả về()
2:Thực hiện()
3:Lấy danh sách()
4:Truy vấn
5:Tạo() 1:Nhập từ khóa
4.1.2 Use case Xem sản phẩm
Khách hàng
:Category.aspx :ProductAccess :GenericAccess :ProductList
6:Trả về() 7:Trả về()
2:Thực hiện()
3:Lấy danh sách()
4:Truy vấn
5:Tạo() 1:http://