CHÚ THÍCH TỪ, CỤM TỪ VIẾT TẮT
HTML:
Hypertext Markup Language
ASP:
Active Server Page
ASP.NET:
Active Server Page.NET
PHP:
Hypertext Preprocessor
TMĐT:
Thương mại điện tử
UML:
Unified Modeling Language
IIS:
Internet Information Services
DNS:
Domain name server
JSP:
JavaServer Pages
VB.NET:
Visual Basic.NET
GUI:
Graphical user interface
XML:
Extensible Markup Language
DVTT:
Dịch vụ thanh toán
UC:
Use case
NCC:
Nhà cung cấp
SP:
Sản phẩm
-1-
MỤC LỤC
LỜI CẢM ƠN ...............................................................Error! Bookmark not defined.
CHÚ THÍCH TỪ, CỤM TỪ VIẾT TẮT .......................................................................1
MỤC LỤC ....................................................................................................................2
LỜI NÓI ĐẦU ..............................................................................................................3
Chương 1: WEBSITE VÀ THƯƠNG MẠI ĐIỆN TỬ ..................................................4
1.1. Website .....................................................................................................4
1.1.1. Phân loại Website ........................................................................................4
1.1.2. Khung cảnh hoạt động của một Website.......................................................5
1.1.3. Công cụ thiết kế Website..............................................................................6
1.2. Thương mại điện tử.................................................................................17
1.2.1. Khái niệm ..................................................................................................17
1.2.2. Đặc trưng của Thương mại điện tử .............................................................17
1.2.3. Lợi ích của thương mại điện tử (TMĐT) ....................................................18
1.2.4. Các loại hình giao dịch thương mại điện tử ................................................18
1.2.5. Kiến trúc của website bán hàng trực tuyến .................................................19
1.2.6. Vấn đề thanh toán trong thương mại điện tử...............................................22
Chương 2: NGÔN NGỮ MÔ HÌNH HÓA UML .........................................................27
(UNIFIED MODELING LANGUAGE) ......................................................................27
2.1. Quy trình phân tích thiết kế hệ thống cho Website ..................................27
2.2. Ngôn ngữ mô hình hóa hệ thống UML....................................................27
2.2.1 Giới thiệu về ngôn ngữ mô hình hóa hệ thống UML....................................27
2.2.2. Mục đích của ngôn ngữ mô hình hóa UML ................................................28
2.2.3. UML và các giai đoạn phát triển hệ thống ..................................................28
2.2.4. Cấu trúc của ngôn ngữ mô hình hóa UML..................................................30
2.2.5. Lớp và gói trong ngôn ngữ mô hình hóa UML ...........................................35
Chương 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG .......................................................38
VÀ XÂY DỰNG WEBSITE .......................................................................................38
3.1. Khảo sát thực trạng .................................................................................38
3.2. Phân tích bài toán....................................................................................40
3.3. Mô tả bài toán .........................................................................................41
3.3.1. Mô tả bài toán bán hàng qua mạng .............................................................41
3.3.2. Mục tiêu quản lý ........................................................................................43
3.3.3. Yếu tố thành công ......................................................................................43
3.4. Phân tích và thiết kế hệ thống..................................................................43
3.4.1. Các tác nhân và các UC của hệ thống .........................................................43
3.4.2. Biểu đồ UC ................................................................................................45
3.4.3. Đặc tả các UC ............................................................................................47
3.4.4. Thiết kế lớp................................................................................................61
3.4.5. Mô hình dữ liệu của hệ thống.....................................................................64
3.5. Thiết kế giao diện....................................................................................69
KẾT LUẬN.................................................................................................................76
TÀI LIỆU THAM KHẢO ...........................................................................................78
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN: ......................................................79
-2-
LỜI NÓI ĐẦU
Ngày nay Công nghệ thông tin đóng vai trò rất quan trọng đối với sự phát
triển kinh tế - xã hội của mỗi quốc gia, chiếm một vị trí quan trọng trong mọi lĩnh
vực đời sống, trở thành động lực cơ bản của sự phát triển kinh tế - xã hội, đưa thế
giới chuyển từ kỷ nguyên công nghiệp sang kỷ nguyên thông tin và phát triển
kinh tế tri thức. Đối với bất kỳ tổ chức nào, từ doanh nghiệp đến các tổ chức
chính phủ, giải quyết các bài toán nhằm tối ưu hóa hoạt động nghiệp vụ, kinh
doanh và quản lý của mình dựa trên cơ sở ứng dụng Công nghệ thông tin là yêu
cầu quan trọng được đặt ra hàng đầu. Trong thời đại bùng nổ Công nghệ thông
tin và xu hướng phát triển kinh tế mạnh mẽ như hiện nay, nhu cầu thiết kế và
quản trị Website cho cá nhân hoặc các tổ chức, cơ quan,... đã và đang trở thành
nhu cầu cấp bách. Chính vì vậy thiết kế và quản trị Website ngày càng được rất
nhiều người yêu thích và chọn làm hướng đi riêng cho mình.
Với những kiến thức được học về thiết kế website, trong đồ án tốt nghiệp
em đã phát triển và xây dựng đề tài "Xây dựng website bán sách trực tuyến
bằng công nghệ ASP.NET".
Đề tài được chia thành 3 phần chính:
Phần 1: Website và Thương mại điện tử
Phần 2: Ngôn ngữ mô hình hóa UML
Phần 3: Phân tích thiết kế hệ thống và xây dựng website
Với một quỹ thời gian có hạn và kiến thức chưa sâu nên đồ án tốt nghiệp
của em chưa thực hiện vấn đề một cách hoàn chỉnh, đặc biệt trong phần ứng
dụng. Rất mong các thầy cô và các bạn góp ý phê bình để kết quả nghiên cứu
ngày một hoàn thiện hơn.
-3-
Chương 1: WEBSITE VÀ THƯƠNG MẠI ĐIỆN TỬ
1.1. Website
(Tham khảo tài liệu 3.,4.,7.)
Có thể hiểu website tương tự như quảng cáo, nhưng có điểm khác ở chỗ
nó cho phép người truy cập có thể trực tiếp thực hiện nhiều việc trên website như
giao tiếp, trao đổi thông tin với người chủ website và với những người truy cập
khác, tìm kiếm, mua bán v.v...chứ không phải chỉ xem như quảng cáo thông
thường. Hàng triệu người trên khắp thế giới có thể truy cập website- nhìn thấy nó
chứ không giới hạn trong phạm vi lãnh thổ nào cả. Đối với một doanh nghiệp,
Website là một cửa hàng ảo với hàng hoá và dịch vụ có thể được giới thiệu và rao
bán trên thị trường toàn cầu. Cửa hàng đó mở cửa 24 giờ một ngày, 7 ngày một
tuần, quanh năm, cho phép khách hàng của bạn tìm kiếm thông tin, xem, mua sản
phẩm và dịch vụ của bạn bất cứ lúc nào họ muốn.
Website là một văn phòng ảo của doanh nghiệp trên mạng Internet.
Website bao gồm toàn bộ thông tin, dữ liệu, hình ảnh về các sản phẩm, dịch vụ
và hoạt động sản xuất kinh doanh mà doanh nghiệp muốn truyền đạt tới người
truy cập Internet. Với vai trò quan trọng như vậy, có thể coi Website chính là bộ
mặt của Công ty, Xí nghiệp, Cửa hàng v.v… là nơi để đón tiếp và giao dịch với
các khách hàng trên mạng. Website không chỉ đơn thuần là nơi cung cấp thông
tin cho người xem, cho các khách hàng và đối tác kinh doanh của doanh nghiệp,
nó còn phải phản ánh được những nét đặc trưng của doanh nghiệp, đảm bảo tính
thẩm mỹ cao, tiện lợi, dễ sử dụng và đặc biệt phải có sức lôi cuốn người sử dụng
để thuyết phục họ trở thành khách hàng của doanh nghiệp.
1.1.1. Phân loại Website
Website được chia ra làm 2 loại: website tĩnh và website động. Chúng ta
sẽ tìm hiểu về khái niệm của hai loại website:
1.1.1.1. Website Tĩnh
Website tĩnh có thể hiểu là một trang HTML với các hiệu ứng về âm
thanh, hình ảnh... Với web tĩnh, bạn có thể có một giao diện được thiết kế tự do
-4-
hơn. Vì vậy, nhiều khi website tĩnh có cách trình bày đẹp mắt và cuốn hút hơn.
Với những website chỉ nhằm đăng tải một số ít thông tin và không có nhiều thay
đổi theo thời gian thì việc dùng hình thức website tĩnh là phù hợp hơn cả.
1.1.1.2. Website Động
Website "Động" là thuật ngữ được dùng để chỉ những website được hỗ
trợ bởi một phần mềm cơ sở web, nói đúng hơn là một chương trình chạy được
với giao thức http. Thực chất, website động có nghĩa là một website tĩnh được
"ghép" với một ngôn ngữ lập trình web (các modules ứng dụng cho Web). Với
chương trình phần mềm này, người chủ website thực sự có quyền điều hành nó,
chỉnh sửa và cập nhật thông tin trên website của mình mà không cần phải nhờ
đến những người chuyên nghiệp. Ngày nay, web động đồng nghĩa với : website
mà trên đó có sự trao chuyển (yêu cầu, gửi) dữ liệu giữa người làm việc trên
website và Webserver
1.1.2. Khung cảnh hoạt động của một Website
Nhà quản lý tên miền website: Mỗi tổ chức, cá nhân đăng ký tên miền với
nhà quản lý. Nhà quản lý có trách nhiệm bảo vệ về mặt pháp lý đối với
tên miền này
WebServer (hay dịch vụ hosting): là nơi lưu trữ và vận hành website của
tổ chức, cá nhân bằng các hệ thống webserver như IIS (Internet
Information Services) hay Apache, cũng như xử lý dữ liệu trên các hệ
quản trị cơ sở dữ liệu như Oracle, SQL Server, My SQL,…Hiện nay tại
Việt Nam có các công ty chuyên thực hiện dịch vụ hosting như:
PAVietnam, Mắt Bão, …
Các hệ thống máy chủ DNS (Domain name server): là các máy chủ trên
mạng Internet có nhiệm vụ lưu giữ ánh xạ giữa tên miền với địa chỉ IP
của máy chủ WebServer
-5-
1.1.3. Công cụ thiết kế Website
Công nghệ World Wide Web giúp bạn đưa thông tin của mình lên mạng
Internet cho mọi người cùng xem trên các website. Tuy vậy, bạn không chỉ muốn
thiết kế các website để người dùng tra cứu thông tin, mà còn muốn thu nhận ý
kiến phản hồi từ người dùng và lưu trữ nó vào cơ sở dữ liệu, tức là bạn có thể
tương tác với các đối tượng khác thông qua môi trường web.
Đầu tiên trang web được viết rất đơn giản bằng các thẻ trình bày HTML.
Đến nay đã có rất nhiều ngôn ngữ lập trình để xây dựng website như PHP, JSP,
ASP, ASP.NET v.v…Tùy theo từng yêu cầu mà người sử dụng sẽ chọn lựa một
số những ngôn ngữ, trình soạn thảo phù hợp để thực hiện việc thiết kế website.
1.1.3.1. Công nghệ ASP.NET dựa trên nền tảng công nghệ .NET
(Tham khảo tài liệu 4., 5., 6.)
Microsoft.NET là những dịch vụ của Microsoft nhằm làm thay đổi cách
mọi người sử dụng, giao tiếp với các phần mềm ứng dụng và các thiết bị trên
Web. Microsoft.NET cho phép người dùng tương tác với nhiều thiết bị thông
minh hơn qua Web và kiểm soát các giao dịch đó. Nền tảng Microsoft.NET cơ
bản sẽ thay đổi cách thức giao tiếp giữa máy tính và người sử dụng. Bằng cách
đưa nhân viên, khách hàng, dữ liệu và các ứng dụng kinh doanh vào một hệ
thống giao tiếp đồng nhất và thông minh, .NET sẽ cho phép các doanh nghiệp
tăng hiệu quả và năng suất lao động, đồng thời cho phép các lập trình viên thiết
lập các chương trình khắc phục sự khác biệt của các thiết bị và khai thác triệt để
việc kết nối Internet từ những ứng dụng trên các thiết bị đó.
Hiện nay 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 (Active Server Pages .NET), độc lập với
mọi trình duyệt. Trước đây ASP là một mô hình tối ưu và dễ sử dụng với nhiều
ứng dụng web trên nền windows, cho phép xây dựng web có quy mô lớn. Tuy
nhiên nó vẫn có nhiều thiếu sót như cấu trúc không rõ ràng, do mã ASP được
chèn lẫn lộn với mã HTML… Công nghệ ASP.NET đã giải quyết được những
yếu điểm đó:
-6-
ASP.NET cho phép bạn biên dịch không phụ thuộc vào ngôn ngữ, thực
hiện tối ưu việc kết hợp các ngôn ngữ khác nhau. Bạn có thể dùng
VB.NET, C# hay C++ để xây dựng một trang ASP.NET.
ASP.NET cho phép khai báo và viết mã đơn giản.
ASP.NET tách mã và nội dung thành hai phần khác nhau.
Tính mềm dẻo và khả năng nâng cấp: cho phép quản lý trạng thái của
các Session và tạo form trên một ứng dụng sử dụng hệ thống nhiều
server
Hỗ trợ cho nhiều trình khách: ASP.NET Controls có thể tự động nhận
dạng trình khách để hiển thị cho phù hợp
Các control có thể xuất ra mã HTML ở trình duyệt.
ASP.NET xử lý ngay phía trình chủ, có thể thay đổi trang web như 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 dung trong mã nguồn bằng phát
biểu “runat=server”
ASP.NET là phiên bản kế tiếp của Active Server Page (ASP); nó là một
nền phát triển ứng dụng Web hợp nhất, cung cấp nhiều dịch vụ cần thiết cho lập
trình viên xây dựng các lớp ứng dụng chuyên nghiệp. Cú pháp ASP.NET tương
thích với cú pháp ASP, ngoài ra ASP.NET còn cung cấp một mô hình lập trình
mới, nền tảng an toàn (secure), linh hoạt (scalable), và ổn định (stable).
ASP.NET là biên dịch, dựa trên môi trường .NET và có thể xây dựng bằng
bất cứ ngôn ngữ nào tương thích .NET, bao gồm Visual Basic .NET, C#, và
JScript.NET. Ngoài ra, toàn bộ thư viện .NET Framework có thể sử dụng với ứng
dụng ASP.NET, lập trình viên tận dụng dễ dàng những lợi ích của các kỹ thuật
được cung cấp, bao gồm quản lý môi trường thực thi ngôn ngữ cung (common
language runtime), kiểu an toàn (type safety), kế thừa (inheritance), .v.v.
ASP.NET được thiết kế làm việc với các trình soạn thảo WYSIWYG
HTML đi kèm và các công cụ lập trình khác được đưa vào trong Microsoft
Visual .NET. Tất cả các công cụ này không phải chỉ dùng để phát triển ứng dụng
Web được dễ dàng, tuy nhiên có thể sử dụng một vài chức năng thông thường
-7-
cho ứng dụng Web, bao gồm một GUI cho phép lập trình viên có thể dễ dàng đặt
các server control vào trang web (web page), và một trình debug rất mạnh mẽ.
Khi tạo một ứng dụng Web lập trình viên có thể chọn Web Forms hoặc
Web Services, ngoài ra cũng có thể kết hợp hai loại này với nhau theo bất kỳ
cách nào. Cả hai loại này có một nền cơ bản, cho phép sử dụng authentication
schemes, cache frequently used data, hoặc chỉnh sửa cấu hình ứng dụng
(customize application’s configuration)
Web Forms cho phép xây dựng các form có nội dung phong phú
(powerful forms) trên trang Web (Web Page). Khi xây dựng các form có thể sử
dụng các server control để tạo các thành phần UI thông dụng và lập trình cho
chúng một vài chức năng thông dụng, những control này cho phép xây dựng
nhanh chóng các form chỉ dùng một lần (out of reusable built-in), hoặc custom
component, làm đơn giản mã của trang web (simplifying the code of a page).
Một XML Web Service cung cấp điều kiện (mean) để truy cập các hàm ở
server từ xa. Khi sử dụng Web Service, trong kinh doanh người ta có thể đưa ra
các giao diện lập trình được cùng với dữ liệu, hoặc kết quả kinh doanh, những cái
này có thể được nhận, hiệu chỉnh bởi các ứng dụng client và server. Web Server
cho phép trao đổi dữ liệu theo hai kịch bản (scenarios) client-server và serverclient, sử dụng chuẩn HTTP và thông diệp XML (XML messaging) để di chuyển
dữ liệu qua tường lửa (firewall). XML Web Service có thể được viết bằng mọi
ngôn ngữ lập trình, sử dụng mọi mô hình thành phần (component model), và có
thể chạy trên bất kỳ hệ điều hành nào có thể truy cập XML Web Services.
Mô hình (model) Web Forms và Web Services đều có tất cả các đặt tính
của ASP.NET, đó là sức mạnh của .NET Framework và .NET Framework
Common Lanuage Runtime.
Các ngôn ngữ lập trình ứng dụng web trong ASP.NET là các ngôn ngữ
hướng đối tượng như VB.NET, C#... Những đặc điểm chính của ngôn ngữ
hướng đối tượng (Object-oriented language) là sự đóng gói (encapsulation), sự kế
thừa (inheritance), và đa hình (polymorphism). C# hỗ trợ tất cả những đặc tính
trên.
-8-
Cụ thể, trong ngôn ngữ C# :
-
Một lớp trong C# được xem là những khái niệm cơ sở của ngôn
ngữ. Điều này có nghĩa là mỗi khi viết một chương trình bằng C#
sẽ tạo ra các lớp để cấu thành một chương trình. Chúng ta sử dụng
lớp như là khuôn mẫu để đặt tất cả những thuộc tính và những chức
năng hay hành vi vào trong một khối cho một nhóm đối tượng nào
đó, sau đó sẽ dùng lớp đó để tạo những đối tượng.
-
Có 2 loại lớp: loại dựng sẵn của .NET Framework (Framework
Class Library), và loại do người dùng định nghĩa.
-
Lớp chứa dữ liệu (dưới dạng biến và thuộc tính ) và các hành vi
(dưới dạng phương thức để xử lý dữ liệu đó). Khi khai báo một
biến trong một lớp ta gọi đó là một biến thành viên (member data).
-
Khi tạo một đối tượng, ta sẽ thiết lập các thuộc tính cho đối tượng
đó. Ví dụ đối tượng người sẽ có các thuộc tính như màu mắt , màu
tóc…
Bây giờ chúng ta sẽ tìm hiểu về Thuộc tính (Properties) và Biến (Variable).
Biến được khai báo trong một lớp chứa dữ liệu cho từng đối tượng cụ thể.
Điều này có nghĩa là khi bạn tạo một đối tượng từ một lớp, đối tượng sẽ cấp phát
một vùng nhớ để chứa dữ liệu của biến đó. Ví dụ:
class Nguoi
{
public int tuoi;
public string mautoc;
}
Ta đã có một lớp Nguoi có 2 biến tuoi, mautoc. Ta sẽ tạo một vài đối tượng trên
Class đó
static void Main(string[] args)
{
Nguoi Thanh =new Nguoi();
Nguoi Hien =new Nguoi();
// Thiết lập thuộc tính cho các đối tượng vừa tạo.
Thanh.tuoi=21;
-9-
Thanh.mautoc="Vàng";
Hien.tuoi=22;
Hien.mautoc="Nâu";
// Xuất ra màn hình.
System.Console.WriteLine("Tuổi của Thanh:{0},và của Hiền là:{1}" ,
Thanh.tuoi, Hien.tuoi);
Console.ReadLine();
}
1.1.3.2 Giới thiệu Web server control cùng một số thuộc tính
Label
Dùng để chứa dữ liệu và được lập trình thông qua các control khác trên
server bằng C# để thực hiện một chức năng nào đó hay chứa một dữ liệu khác.
Tạo trong môi trường Designer thì click control và vẽ lên Form và nó tự viết
code theo mặt định ở trong hai môi trường C# và ASP.NET. Chúng ta nên sửa
tên những control theo ý logic của người lập trình cho dễ nhớ và dễ lập trình.
Cú pháp:
+ Trong C# :
Protected System.Web.WebControls.Label Label1;
+ Trong ASP.NET :
code theo mặt định ở trong hai môi trường C# và ASP.NET. Dùng để chứa dữ
liệu và được lập trình trên sever để thay đổi dữ liệu của nó thông qua các control
khác hay chính nó (thuộc tính AutoPosBack=true với sự kiện Onchange). Chúng
ta nên sửa tên những control theo ý logic của người lập trình cho dễ nhớ và dễ lập
trình.