Tải bản đầy đủ (.doc) (76 trang)

Xây dựng website bán máy tính cho cửa hàng văn hùng với công nghệ ASP NET và SQL SERVER

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.65 MB, 76 trang )

LỜI CẢM ƠN
Trong suốt quá trình thực hiện đề tài thực tập tốt nghiệp: “Xây dựng
website bán máy tính cho cửa hàng Văn Hùng với công nghệ ASP.NET và
SQL SERVER” ngoài sự cố gắng hết mình của bản thân, em đã nhận được sự
giúp đỡ tận tình từ phía nhà trường, thầy cô, gia đình và bạn bè.
Em xin gửi lời cảm ơn sâu sắc đến cô Phạm Thị Thương mặc dù bận nhiều
công việc nhưng đã dành thời gian hướng dẫn và giúp đỡ em tận tình trong quá
trình làm đồ án tốt nghiệp.
Em xin chân thành cảm ơn các thầy, cô trường Đại học Công nghệ thông
tin và Truyền thông đã truyền đạt những kiến thức quý báu cho em trong suốt
quá trình học tập.
Em cũng xin cảm ơn tới gia đình và bạn bè đã luôn quan tâm, động viên,
giúp đỡ và tạo điều kiện cho em để em có điều kiện tốt nhất để hoàn thành đồ
án này.
Trong quá trình thực hiện đồ án, mặc dù em đã có nhiều cố gắng nhưng do
hạn chế về thời gian cũng như kinh nghiệm nên đồ án này chắc chắn còn mắc phải
những thiếu sót, rất mong được sự góp ý kiến của các thầy cô và các bạn để đồ án
của em được hoàn thiện hơn.
Em xin chân thành cảm ơn!

Thái nguyên, tháng 06 năm 2012
Sinh viên thực hiện
Phạm Thế Dũng

1


LỜI CAM ĐOAN
Em xin cam đoan về nội dung đồ án tốt nghiệp với tên đề tài “ Xây
dựng website bán máy tính cho cửa hàng Văn Hùng với công nghệ
ASP.NET và SQL SERVER ” không sao chép nội dung cơ bản từ các đồ án


khác, hay các sản phẩm tương tự mà không phải do em làm ra. Sản phẩm của đồ
án là do chính bản thân em nghiên cứu và xây dựng nên.
Nếu có gì sai em xin chịu mọi hình thức kỉ luật của Trường Đại học Công
Nghệ Thông Tin và Truyền Thông – Đại học Thái Nguyên.
Thái Nguyên, tháng 06 năm 2012
Sinh viên thực hiện
Phạm Thế Dũng

2


MỤC LỤC
LỜI CẢM ƠN..........................................................................................................1
LỜI CAM ĐOAN....................................................................................................2
MỤC LỤC................................................................................................................3
LỜI NÓI ĐẦU.........................................................................................................5
CHƯƠNG 1: TỔNG QUAN VỀ THƯƠNG MẠI ĐIỆN TỬ................................7
1.1. Thương mại điện tử(TMĐT) là gì?..............................................................7
1.2.Lợi ích của thương mại điện tử.....................................................................7
1.2.1. Phương tiện của thương mại điện tử.....................................................7
1.2.2. Hình thức giao dịch...............................................................................8
1.2.3. Cách giao tiếp........................................................................................8
1.2.4. Phân loại thương mại điện tử................................................................8
1.3: Tình hình phát triển thương mại điện tử ở Việt Nam..................................9
CHƯƠNG 2: TÌM HIỂU ASP.NET VÀ SQL SERVER.....................................11
2.1.Tìm hiều về ASP.NET.................................................................................11
2.1.1. Khái niệm ASP.NET...........................................................................11
2.1.2. Ưu và nhược điểm của asp.net............................................................11
2.1.3. Các đặc điểm nổi bật của ASP.NET...................................................11
2.1.4. Cấu trúc ứng dụng của ASP.NET.......................................................14

2.1.5. Cơ chế sử lý của một trang ASP.NET................................................15
2.2. Giới thiệu về Visual Studio .NET..............................................................15
2.2.1. Net Framework là gì?..........................................................................16
2.2.2.NET Application là gì?.........................................................................17
2.2.3. Xây dựng một trang ASP.NET............................................................20
2.3. Ngôn ngữ C#...............................................................................................24
2.3.1. Giới thiệu ngôn ngữ C#.......................................................................24
2.3.2. Môi trường lập trình............................................................................26
2.3.3. Lớp đối tượng và kiểu trong C#..........................................................27
2.4. Tổng quan về SQL Server..........................................................................30
2.4.1 Giới thiệu về SQL Server.....................................................................30
2.4.2 Các thành phần của SQL Server..........................................................31
CHƯƠNG 3: PHÂN TÍCH HỆ THỐNG WEBSITE BÁN HÀNG.....................35
3.1 Khảo sát.......................................................................................................35
3.1.1 Hiện trạng cửa hàng..............................................................................35
3


3.1.2 Nhu cầu của chủ cửa hàng....................................................................36
3.1.3 Tư vấn giải pháp...................................................................................36
3.1.4 Yêu cầu đặt ra với website...................................................................37
3.1.5 Yêu cầu hệ thống..................................................................................38
3.2 Xác định chức năng cơ bản của Website....................................................39
3.2.1. Các chức năng cơ bản cần có của một website bán hàng...................39
3.2.2. Phân tích các chức năng......................................................................39
3.3. Đặc tả các chức năng bằng ngôn ngữ UML...............................................42
3.3.1. Xây dựng biểu đồ Use - Case..............................................................42
3.3.2. Đặc tả các Use-Case............................................................................45
3.4. Xây dựng biểu đồ lớp.................................................................................57
CHƯƠNG 4: CÀI ĐẶT CHƯƠNG TRÌNH.........................................................65

4.1: Giao diện trang chủ.....................................................................................65
4.2: Giao diện trang sản phẩm...........................................................................66
4.3. Giao diện trang giỏ hàng............................................................................67
4.4. Giao diện trang tin tức................................................................................68
4.5. Giao diện đăng nhập dành cho Admin.......................................................69
4.6. Giao diện quản lý hóa đơn..........................................................................70
4.7. Giao diện danh sách sản phẩm...................................................................71
4.8. Giao diện danh sách tin..............................................................................72
4.9. Giao diện trang sản phẩm bán chạy và sản phẩm mới...............................73
................................................................................................................................73
KẾT LUẬN............................................................................................................74
HƯỚNG PHÁT TRIỂN........................................................................................75
TÀI LIỆU THAM KHẢO.....................................................................................76

4


LỜI NÓI ĐẦU
Công nghệ thông tin đã và đang thay đổi thế giới (người ta nói nhiều đến
thế giới “phẳng” hơn) cũng như tạo nên một cuộc cách mạng thực sự
trong mọi lĩnh vực của khoa học và đời sống.
Việc ứng dụng CNTT trong hoạt động SXKD cũng không nằm ngoài xu
hướng đó. Khái niệm ứng dụng CNTT trong hoạt động thương mại hay
còn gọi là thương mại điện tử ra đời và đang trở thành xu thế mới thay
thế dần phương thức kinh doanh cũ với rất nhiều ưu thế nổi bật như
nhanh hơn, rẻ hơn, tiện dụng hơn, hiệu quả hơn và không bị giới hạn
bởi không gian và thời gian…vv.
Hiện nay, một số nước đang phát triển nói chung và Việt Nam nói riêng
TMDT lại là một điều khá mới mẻ dẫu rằng việc nắm bắt xu thế và phát
triển đã và đang ở cả chiều rộng lẫn chiều sâu. Trong công tác QLNN

cũng chưa thực sự hoàn thiện cho lĩnh vực này. Trong công tác ứng
dụng ở cả doanh nghiệp cũng như các cơ quan, tổ chức cũng đang ở
mức độ thăm dò và hỗ trợ cho hình thức kinh doanh truyền thống hoặc
kết hợp giữa hai hình thức này.
Đã có rất nhiều doanh nghiệp biết ứng dụng và phát triển TMDT và trở
thành điển hình trong lĩnh vực này như công ty Vietgo, công ty cổ phần vật
giá với sàn giao dịch TMDT : vatgia.com; công ty peaceoft solution với
trang web: chodientu.vn, ….
Cũng như các doanh nghiệp khác. Cửa hàng máy tính Văn Hùng đang
trên đà phát triển, mở rộng quy mô. Để thương hiệu đến được với người tiêu
dùng của hàng cần một trang website để giới thiệu. Vì vậy, em đã “Xây dựng
website bán máy tính cho cửa hàng Văn Hùng với công nghệ ASP.NET và SQL
SERVER”
Nội dung đề tài gồm 4 chương:

 Chương 1: Tổng quan về thương mại điện tử
 Chương 2: Tìm hiểu về ngôn ngữ C# và SQL SERVER
5


 Chương 3: Phân tích thiết kế website bán hàng
 Chương 3: Cài đặt chương trình

6


CHƯƠNG 1: TỔNG QUAN VỀ THƯƠNG MẠI ĐIỆN TỬ
1.1. Thương mại điện tử(TMĐT) là gì?
Thương mại điện tử(còn gọi là E-commerce hay E-Business) là quy trình
mua bán hàng hóa và dịch vụ thông qua các phương tiện điện tử và mạng viễn

thông,đặc biệt là qua máy tính và mạng internet. Thương mại điện tử một yếu tố
hợp thành của nền “kinh tế số hóa”, là hình thái hoạt động thương mại bằng các
phương pháp điện tử; là việc trao đổi thông tin thương mại thông qua các
phương tiện công nghệ điện tử mà nói chung là không phải in ra giấy trong bất kì
công đoạn nào của quá trình giao dịch.
Thương mại điện tử là một lĩnh vực tương đối mới ở Việt Nam, xuất hiện
cùng với sự phổ cập mạng internet và máy tính điện từ cuối năm 1990 đầu những
năm 2000.
1.2.Lợi ích của thương mại điện tử
 TMĐT giúp cho các doanh nghiệp nắm được thông tin phong phú về thị
trường và đối tác.
 TMĐT giúp giảm chi phí bán hàng và tiếp thị.
 TMĐT qua Internet giúp người tiêu dùng và các doanh nghiệp giảm đáng
kể thời gian và chi phí giao dịch.
 TMĐT tạo điều kiện cho việc thiết lập và củng cố mối quan hệ giữa các
thành phần tham gia vào quá trình thương mại.
 Tạo điều kiện sớm tiếp cận nền kinh tế số hóa.
1.2.1. Phương tiện của thương mại điện tử
Các phương tiện của điện tử được sử dụng trong TMĐT:
• Máy điện thoại(bao gồm cả mạng giá trị gia tăng).
• Máy fax.
• Truyền hình.

7


• Các hệ thống thiết bị công nghệ thanh toán điện tử.
• Các mạng nội bộ(intranet) và mạng ngoại bộ(Extranet).
• Mạng toàn cầu Internet.
1.2.2. Hình thức giao dịch

Các hình thức giao dịch chủ yếu của TMĐT:
• Thư điện tử(email).
• Thanh toán điện tử(electronic payment).
• Trao đổi dữ liệu điện tử(electronic data interchange-EDI).
• Giao gửi số hóa các dữ liệu(digital delivery of content).
• Bán lẻ hàng hóa hữu hình(retail of tangible goods).
Trong các hình thức trên trao đổi dữ liệu(dưới dạng các dữ liệu có cấu trúc)
là hình thức chủ yếu.
1.2.3. Cách giao tiếp
TMĐT bao gồm 4 loại giao tiếp:
• Người với người: qua điện thoại, thư điện tử, fax.
• Người với máy tính điện tử: qua các mẫu biểu điện tử, qua website.
• Máy tính điện tử với người: qua fax, thư điện tử.
• Máy tính điện tử với máy tính điện tử: qua trao đổi dữ liệu có cấu trúc, thẻ
thông minh, mã vạch.
1.2.4. Phân loại thương mại điện tử
TMĐT có thể được phân loại theo tính cách của người tham gia:
 Người tiêu dùng
• C2C(Consumer-To-Consumer): tiêu dùng với người tiêu dùng.
• C2B(Consumer –To-Business): người tiêu dùng với doanh
nghiệp.
• C2G(Consumer-To-Government): người tiêu dùng với chính
phủ.
8


 Doanh nghiệp
• B2C(Business-To-Consumer): doanh nghiệp với người tiêu
dùng.
• B2B(Business-To-Business): doanh nghiệp với doanh nghiệp.

• B2G(Business-To-Government): doanh nghiệp với chính phủ.
• B2E(Busines-To-Employee): doanh nghiệp với nhân viên.
 Chính phủ
• G2C(Government-To-Consumer): chính phủ với người tiêu
dùng.
• G2B(Government-To-Business): chính phủ với doanh nghiệp.
• G2G(Government-To-Government): chính phủ với chính phủ.
1.3: Tình hình phát triển thương mại điện tử ở Việt Nam
Nhìn vào cơ cấu hàng hóa, dịch vụ được giới thiệu trên các website doanh
nghiệp, có thể thấy nhóm hàng hóa phổ biến nhất hiện nay vẫn là thiết bị điện tử
- viễn thông và hàng tiêu dùng. Do đặc thù của mặt hàng điện tử - viễn thông và
đồ điện gia dụng là mức độ tiêu chuẩn hóa cao, với những thông số kỹ thuật cho
phép người mua đánh giá và so sánh các sản phẩm mà không cần phải giám định
trực quan, nhóm hàng này sẽ tiếp tục chiếm ưu thế khi thâm nhập các kênh tiếp
thị trực tuyến trong vòng vài năm tới. Về lĩnh vực dịch vụ, dẫn đầu về mức độ
ứng dụng thương mại điện tử hiện nay là các công ty du lịch, điều này cũng phù
hợp với tính chất hội nhập cao và phạm vi thị trường mang tính quốc tế của dịch
vụ này. So với năm 2008, năm 2009 có một loại hình dịch vụ mới nổi lên như
lĩnh vực ứng dụng mạnh thương mại điện tử là dịch vụ vận tải giao nhận, với rất
nhiều website công phu và có nhiều tính năng tương tác với khách hàng.
Có tới 87,6% số doanh nghiệp có website cho biết đối tượng họ hướng tới
khi thiết lập website là các tổ chức và doanh nghiệp khác, trong khi 65,7% doanh
nghiệp chú trọng tới đối tượng người tiêu dùng. Như vậy, phương thức giao dịch
B2B sẽ là lựa chọn chiếm ưu thế đối với doanh nghiệp khi triển khai ứng dụng
thương mại điện tử một cách chuyên nghiệp hơn trong tương lai.
9


Tóm lại, thương mại điện tử được biết đến như một phương thức kinh
doanh có hiệu quả và phát triển đặc biệt nhanh từ khi Internet hình thành và phát

triển. Thương mại điện tử tạo ra một phong cách kinh doanh, làm việc mới phù
hợp với cuộc sống công nghiệp, là một công cụ giúp doanh nghiệp vừa và nhỏ
khắc phục những điểm kém lợi thế để cạnh tranh ngang bằng với các doanh
nghiệp lớn. Đồng thời, thương mại điện tử cũng tạo ra động lực cải cách mạnh
mẽ cho các cơ quan quản lý Nhà nước, đáp ứng nhu cầu của doanh nghiệp và của
xã hội.

10


CHƯƠNG 2: TÌM HIỂU ASP.NET VÀ SQL SERVER
2.1.Tìm hiều về ASP.NET
2.1.1. Khái niệm ASP.NET
ASP.NET: Là một nền tảng ứng dụng web (web application framework)
được phát triển và cung cấp bởi Microsoft, 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's 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.
2.1.2. Ưu và nhược điểm của asp.net
Ưu điểm
Phát triển phần mềm: Có tính chuyên nghiệp hóa, có thể chia cho nhiều
nhóm được đào tạo nhiều kỹ năng khác nhau, từ thiết kế mỹ thuật cho đến lập
trình đến tổ chức database.
Bảo trì: Với các lớp được phân chia, 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ó, không phát tán trong cả chương trình.
Mở rộng: Với các lớp được chia theo ba lớp như đã nói, việc thêm chức

năng vào cho từng lớp sẽ dễ dàng hơn là phân chia theo cách khác.
Tiện về bug lỗi, kiểm soát code, workflow dễ dàng hơn và nhiều người có
thể tham gia phát triển cùng trên 1 module
khuyết điểm
Đối với dự án nhỏ: Cồng kềnh, tốn thời gian phát triển. Tốn kém nhiều tài
nguyên cho sự cân bằng, do tốn thời gian trung chuyển DTO (Data Transfer
Object) giữa các layers.
2.1.3. Các đặc điểm nổi bật của ASP.NET
Easy Programming Model:
ASP.NET giúp ta phát triển và triển khai các ứng dụng về mạng trong một
thời gian kỷ lục vì nó cung cấp cho ta một kiểu mẫu lập trình dễ dàng và gọn
gàng nhất. Ngoài ra còn mạnh hơn nữa, các trang ASP.NET làm việc với mọi
browsers hiện nay như Internet Explorer (IE), Netscape, Opera, AOL…
Flexible Language Options:
Không như ASP kiểu cổ điển chỉ giới hạn với VBScripts and JScripts,
ASP.NET yểm trợ trên 25 .NET ngôn ngữ lập trình.

11


Great Tool Support:
Phát triển các thành phần của ASP.NET bằng hình ảnh với ASP.NET Web
Forms hay Services theo phương pháp 'drag-drop-doubleclick' quen thuộc của
nền Windows. Thêm nữa, lại còn yểm trợ ta trong việc phát hiện và loại bỏ
những lỗi sai một cách rất thuận lợi trong khi phát triển các ứng dụng về mạng
(support for debugging and deploying ASP.NET Web applications).
Rich Class Framework:
Nhờ nền tảng vững vàng và tài nguyên phong phú của .NET Framework với
hơn 5000 classes bao gồm XML, data access, file upload, regular expressions,
transactions, message queuing, SMTP mail....

Compile execution:
ASP.NET không những chạy nhanh hơn ASP cổ điển gấp 5 lần mà còn có
thể duy trì kiểu mẫu cập nhật gọi là kiểu mẫu 'just hit save', nghĩa là ASP.NET tự
động dò tìm mọi sự thay đổi và compile files khi cần thiết cũng như lưu trữ kết
quả compile đó để cung ứng dịch vụ cho những yêu cầu tiếp theo sau.
Rich output caching:
ASP.NET có khả năng lưu trữ một kết quả chung trong phân bộ memory
của trang để gởi giải đáp cho cùng một yêu cầu từ nhiều khách hàng khác nhau
và nhờ đó không những tiết kiệm được sự lập đi lập lại công tác thi hành của một
trang web mà còn gia tăng hiệu xuất một cách ngoạn mục do giới hạn tối đa việc
chất vấn các cơ sở dữ liệu (eliminating the need to query the database on every
request) rất tốn nhiều thời gian.
NET Outperforms J2EE:
Trong việc đối đầu với nhau về hiệu xuất (performance) và scalability với
cùng một ứng dụng phát triển giữa Sun's Java Pet Store J2EE và ASP.NET thì
ASP.NET không những nhanh vượt trội hơn J2EE đến 28 lần (khoãng 2700%),
nguồn mã lại ít hơn nhiều (khoãng 1/4 nguồn mã của J2EE) mà còn dùng bộ xử
lý (processor) chỉ khoãng 1/6 lần so với việc sử dụng processor của J2EE.
Memory Leak, DeadLock và Crash protection:
ASP.NET cũng có khả năng tự động dò tìm và phục hồi (detects and
recovers) những trở ngại nghiêm trọng như deadlocks hay bộ nhớ (memory) bị rỉ
để bảo đảm ứng dụng của bạn luôn luôn sẵn sàng khi dùng mà không làm cản trở
việc cung ứng dịch vụ cần thiết thường lệ.
Simple application deployment:
ASP.NET đơn giản hóa việc triển khai ứng dụng mạng, do đó biến việc
triển khai toàn bộ ứng dụng trở nên dễ dàng và thuận lợi hơn hẳn trước kia vì bây
giờ ta chỉ cần sao (với XCOPY) và lưu trữ ở Server chứ không cần phải chạy
chương trình 'regsrv32' để đăng ký bất cứ thành phần nào cả, và thêm nữa, khi
cần lưu trữ những yếu tố phụ cần thiết cho việc thiết lập hay bố trí các ứng dụng,
ta chỉ cần lưu giữ nó vào trong một hồ sơ dưới dạng XML là đủ.

12


Dynamic update of running application:
ASP.NET cho phép ta tự động cập nhật hóa (update) các thành phần đã
compiled (compiled components) mà không cần phải khởi động lại (re-start) các
Web Server.
Easy Migration Path:
Ta không cần phải du nhập những ứng dụng được phát triển và triển khai
bằng ASP cổ điển hiện có của bạn vào ASP.NET vì ASP.NET có thể chạy song
song với ASP ở cùng một Internet Information Server (IIS) trong nền Windows
2000 hay nền Windows XP. Các ứng dụng cũ vẫn tiếp tục chạy hết sức thoải mái
với ASP.DLL trong khi ASP.NET engine sẽ xử lý các ứng dụng mới. Ngoài ra,
ASP.NET còn cho phép bạn dùng lại những thành phần thương mại hiện nay
kiểu COM cổ điển trong các ứng dụng của nó.
Mobile Web Service Support:
Thêm nữa, ASP.NET Mobile Controls còn giúp ta phát triển và triển khai
mạng nhắm vào thị trường những cell phone hay PDA với gần hơn 80 Mobile
Web Services đuợc cung cấp trong .NET framework. Bạn chỉ cần lập trình cho
ứng dụng của bạn như thường lệ rồi phó mặc cho Mobile Controls đó tự động
phát sinh ra những nguồn mã như WAP/WML, HTML hay iMode thích hợp với
từng loại thiết bị (device) riêng biệt.

13


2.1.4. Cấu trúc ứng dụng của ASP.NET

Web Client


ASP.NET
Applications

IIS

.NET
Framework

Operating System
Trong một ứng dụng Web hoàn chỉnh, các phần thực thi của Web Form
được lưu trong các file .dll và chạy trên server thông qua điều khiển của IIS

14


2.1.5. Cơ chế sử lý của một trang ASP.NET

Các bước xử lý:
-Client gởi yêu cầu một trang aspx từ browser.
-Một HTTP request được gởi tới IIS.
-Các đoạn code xử lý được load lên bộ nhớ và thực thi tại Web Server.
-Kết quả sinh ra (là một trang web) tại Web Server sẽ được gởi về browser.
-Người dùng thực hiện các thao tác trên trang web được trả về. Nếu các thao tác
này đòi hỏi các xử lý tại server, thì trang này sẽ được gởi lại về server với các
control ẩn chứa các thông tin về thao tác thực hiện của người dùng.
-Tại server, trang aspx được load lại, nhưng chỉ các trường ẩn mới được đọc và
các sự kiện tương ứng mới được xử lý.
-Kết quả lại được gởi lại về browser.
2.2. Giới thiệu về Visual Studio .NET
Visual Studio .Net là môi trường tích hợp phát triển phần mềm

(Integrated Development Environment (IDE) ) của Microsoft, là công cụ cho
phép bạn viết mã, gỡ rối và biên dịch chương trình trong nhiều ngôn ngữ
lập trình .NET Framework khác nhau.

15


2.2.1. Net Framework là gì?
.NET Framework được phát triển từ đầu năm 1998, lúc đầu có tên là
Next Generation Windows Services (NGWS). Nó được thiết kế hoàn toàn từ
con số không để dùng cho Internet.
.NET Framework là một thư viện, bộ khung để phát triển các phần
mềm ứng dụng. Tức là nó tạo ra các “Vật liệu” ở từng lĩnh vực cho người
lập trình viên, thay vì họ phải mất nhiều thời gian để tự thiết kế trước khi
dùng. Do vậy, người lập trình viên chỉ cần tìm hiểu và khai thác các vật liệu
này rồi thực hiện ( tức lập trình ) để gắn kết chúng lại với nhau, tạo ra sản
phẩm.
.NET Framework gồm 2 thành phần chính Common Language
Runtime (CLR) và NET Framework Class Library.
Common Language Runtime (CLR) là trung tâm điểm của .NET
Framework. Đây là một “hầm máy” để chạy các tính nǎng của .NET. Trong
.NET tất cả mọi ngôn ngữ lập trình đều được biên dịch ra Microsoft
Intermediate Language (IL). Do bắt buộc mọi ngôn ngữ đều phải dùng cùng
các loại kiểu dữ liệu (gọi là Common Type System ) nên CLR có thể kiểm
soát mọi giao diện, gọi giữa các thành phần và cho phép các ngôn ngữ có thể
tích hợp với nhau một cách thông suốt.
Khi chạy một ứng dụng .NET, nó sẽ được biên dịch bằng một bộ biên
dịch JIT (Just-In-Time ) rất hiệu nǎng ra mã máy để chạy. Điểm này giúp
ứng dụng .NET chạy nhanh hơn mã thông dịch của Java trong Java Virtual
Machine. Just-In-Time cũng có nghĩa là chỉ phần mã nào cần xử lý trong lúc

ấy mới được biên dịch.

16


Ngoài việc cung cấp và quản lý bộ nhớ, CLR còn xử lý công việc “gom
rác”. Trước đây mỗi khi một DLL được nạp vào bộ nhớ, hệ thống sẽ ghi
nhận có bao nhiêu tác vụ dùng nó để khi tác vụ cuối cùng chấm dứt thì hệ
thống giải phóng DLL này và trả lại phần bộ nhớ nó dùng trước đây cho hệ
thống để dùng vào việc khác. Nếu chương trình cung cấp bộ nhớ để sử dụng
mà không nhớ giải phóng thì đến một lúc nào đó bộ nhớ sẽ bị “cạn” và
chúng ta sẽ phải khởi động lại hệ điều hành. Và bây giờ, .NET sử dụng một
quá trình độc lập để xử lý việc “gom rác”. Tác động phụ ở đây là khi ta đã
“dispose” một đối tượng rồi, ta vẫn không biết chắc chắn chừng nào nó mới
thực sự biến mất. Vì bộ phận “gom rác” là một quá trình ưu tiên mức thấp,
chỉ khi nào bộ nhớ hệ thống gần “cạn”" nó mới nâng cao độ ưu tiên lên.
Ngoài “gom rác”, CLR còn thực hiện các chức nǎng khác như bảo mật. Các
dịch vụ chung này đều được quản lý một cách tự động.
Như vậy là bộ thực thi ngôn ngữ chung CLR cho phép việc phát triển
các ứng dụng một cách dễ dàng hơn, cung cấp một môi trường thực thi an
toàn và hiệu nǎng, hỗ trợ đa ngôn ngữ và đơn giản hoá việc triển khai và
quản lý các ứng dụng.
NET Framework Class Library là các lớp cơ sở cho cho chúng ta
những đặc tính của runtime và cung cấp những dịch vụ cấp cao khác mà
những người lập trình đòi hỏi thông qua namespace. Namespace là một cách
đặt tên để giúp sắp đặt các lớp ta dùng trong chương trình một cách thứ tự
để dễ tìm kiếm chúng. Tất cả các mã trong .NET, được viết bằng VB.NET,
C# hay một ngôn ngữ nào khác đều được chứa trong một namespace.
2.2.2.NET Application là gì?
.NET application được chia ra làm hai loại: cho Internet gọi là ASP.NET,

gồm có Web Forms và Web Services và cho Desktop gọi là Windows Forms.
Windows Forms giống như Forms của VB6. Nó hổ trợ Unicode hoàn toàn, rất
tiện cho chữ việt và thật sự Object Oriented.
Web Forms có những Server Controls làm việc giống như các Controls
trong Windows Forms, nhất là có thể dùng codes để xử lý Events giống như của
Windows Forms.
a, Sự khác biệt giữa ASP.NET và ASP

17


ASP.NET là một nền tảng ứng dụng web (web application framework)
được phát triển và cung cấp bởi Microsoft, 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's 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.
Điểm khác biệt chính giữa ASP (Active Server Pages) và ASP.NET là
trong ASP.NET, phần đại diện visual components và code nằm riêng nhau,
không lộn xộn như trong ASP. Ngoài ra ASP.NET code hoàn toàn Object
Oriented, ASP được thiết kế riêng biệt nằm ở phía trên hệ điều hành
windows và Internet Information Server do đó các công dụng của nó hết sức
rời rạc và giới hạn. Trong khi đó ASP.NET là một cơ cấu trong các cơ cấu
của hệ điều hành windows dưới dạng nền hay khung .NET Framework. Do
đó nó không những có thế sử dụng các object của các ứng dụng cũ mà nó
còn có thể sử dụng mọi tài nguyên của hệ điều hành windows.

 ASP.NET được xây dựng lại từ số không, được thay đổi tận gốc

rễ và phát triển phù hợp với yêu cầu hiện nay.

 ASP được thiết kế riêng biệt và nằm ở tầng phía trên hệ điều
hành Windows và Internet Information Server, do đó các công
dụng của nó hết sức rời rạc và giới hạn; trong khi đó ASP.NET là
một cơ cấu trong các cơ cấu của hệ điều hành Windows dưới
dạng nền hay khung .NET (.NET Framework), do vậy, ASP.NET
không những có thể dùng các object của các ứng dụng cũ mà còn
có thể sử dụng tất cả mọi tài nguyên mà Windows có.

 Tập tin của ASP.NET có phần mở rộng là .aspx, còn tập tin của
ASP có phần mở rộng là .asp

 Tập tin của ASP.NET được phân tích cú pháp (parsed) bởi
XSPISAPI.DLL, còn tập tin của ASP được phân tích bởi
ASP.DLL

18


 ASP.NET là kiểu mẫu lập trình phát động bằng sự kiện (Event
Driven), còn ASP được thi hành theo thứ tự tuần tự từ trên xuống
dưới.

 ASP.NET sử dụng trình biên dịch (compiled code) nên rất nhanh,
còn ASP dùng trình thông dịch (interpreted code) do đó hiệu suất
và tốc độ phát triển chậm hơn.

 ASP.NET hỗ trợ gần 25 ngôn ngữ lập trình mới với .NET và chạy
trong môi trường biên dịch (Compiled Enviroment), còn ASP chỉ

chấp nhận VBScript và JavaScript nên ASP chỉ là một scripted
language trong môi trường thông dịch (in the interpreter
environment). Không những vậy, ASP.NET còn kết hợp nhuần
nhuyễn với XML để chuyển vận các thông tin qua mạng.

 ASP.NET hỗ trợ tất cả các browser và quan trọng hơn nữa là hỗ
trợ các thiết bị lưu động (mobiles devices). Chính các thiết bị lưu
động, mà mỗi ngày càng phổ biến, đã khiến việc dùng ASP trong
việc phát triển mạng nhằm vươn tới thị trường mới đó trở nên vô
cùng khó khăn.
b, Phương pháp làm việc trong mạng

• Kiểu mẫu Request/Response
Kiểu mẫu này chính là toàn bộ phương pháp làm việc theo kiểu
Client/Server hiện dùng với ASP. Gồm 4 bước:
- Client (thông qua Internet Browser) xác định vị trí của Web
Server qua 1 URL, ví dụ như:
- Client sẽ yêu cầu được tham khảo 1 trang trong mạng đó và
thường là trang chủ (home page), ví dụ như: index.html hay default.htm.
- Server đáp ứng bằng cách hoàn trả hồ sơ mà Client đã yêu cầu
trước đây.
- Client nhận được hồ sơ gửi về và hiển thị trong browser của
mình.
Lưu ý: một khi Client đã nhận được hồ sơ rồi thì quá trình trao đổi qua
lại kết thúc ngay. Sau đó Server và Client không còn liên hệ.
19


• Kiểu mẫu Event/Driven
- Trong kiểu mẫu này, Server sẽ không chờ Client yêu cầu tham khảo

1 trang nào đó trong mạng mà Server đã bố trí và kế hoạch sẵn trước tất cả
mọi tình huống để có thể hàng động kịp thời mỗi khi Client quyết định làm
1 điều gì đó. Ta gọi đó là “response to your action”, còn trong kiểu mẫu
trước là “response to your request”. Như vậy, ASP.NET có thể phát hiện
ra các hành động của Client để phản ứng cho thích hợp.
- Server có thể làm được điều này là dựa vào tiến trình xử lý linh
động ở Client (còn gọi là clever client-side processing) để thực hiện kiểu
mẫu Event-Driven này. Tiến trình xử lý ở Client xảy ra khi ta bố trí mã
nguồn thích hợp mà Client có thể hiểu được trong các trang ta gửi về cho
Client.
Lưu ý: mặc dù các Web Page đều nằm ở Server nhưng mã nguồn lại
có thể được thực hiện và xử lý hoặc ở Server hoặc ở Client (Server-Side
processing và Client-Side processing) tuỳ theo cách bố trí. Các mã nguồn ở
Client và Server là hoàn toàn khác biệt và không có tác động hỗ trợ với
nhau. Có nghĩa là máy Client sẽ chịu trách nhiệm thi hành các mã nguồn
dành cho mình cũng như máy Server chỉ chạy các mã nguồn dành cho
Server.
- Thông tin hay nội dung cần thiết ở Server sẽ được chuyển đi dưới
dạng “plain text command” để thực hiện các hiệu ứng động (dynamic
effect) ở máy Client, ví dụ như: thay đổi hình ảnh (image rollover) hay
hiển thị một thông điệp (message box). ASP.NET sẽ dùng các ngôn ngữ
mới có trình biên dịch (compiled languages) như C# hay VB.NET để soạn
các mã nguồn trong các trang Web ở Server.
2.2.3. Xây dựng một trang ASP.NET
a, Ví dụ đơn giản

20


Ta nhận thấy code của trang này được chia làm 2 phần riêng biệt.


• Phần 1: Page Directives

Phần này cung cấp cho ASP.NET những thông tin đặc biệt để ASP.NET
biết cách xử lý cũng như những thông tin dùng trong quá trình biên dịch,
trong đó bạn muốn ASP.NET dùng C# làm ngôn ngữ lập trình mặc định cho
trang web.

• Phần 2: Code HTML

21


Đây là nơi bắt đầu code HTML, phần này trình bày nội dung của trang
được xử lý bởi code ASP.NET trước khi gửi về và trong browser của Client.
Ngoài ra, ASP.NET cũng cho phép kèm theo những chỉ thị (instructions)
trong Code Render Block bắt đầu bằng <% và chấm dứt bằng %>. Để đưa ra
những gì bạn muốn làm vào bên trong phần mã nguồn của phần HTML.
Ví dụ:
b, Phần định code và nội dung trang web
Hiện này có 2 cách viết code và nội dung trang web.

• Code Inline Model:
Trong kiểu mẫu này, code được viết và giữ (code section) trong các
trang ASP.NET nhưng không trộn lẫn với HTML dành cho phần nội
dung (Content section).

• Code Behind Model
Được áp dụng để phân định code và nội dung là phần code được
sắp xếp trong một tập tin khác riêng biệt ở một chỗ lưu trữ khác hẳn chỗ

chứa các trang ASP.NET, dĩ nhiên bạn phân chia như vậy thì phải sắp
xếp để 2 tập tin riêng biệt đó có thể làm việc với nhau và được biên dịch
cũng giống như kiểu mẫu Code Inline.
c, Tiến trình xử lý trong visual studio .net
Quá trình xử lý sẽ gồm quá trình biên dịch và xử lý các sự kiện.
22


• Quá trình biên dịch: Trước hết ASP.NET sẽ tiến hành biên dịch phần
code ở phần Code Behind. Code được biên dịch thành MSIL, CLR
quản lý và sau đó biên dịch thành mã máy trước khi trang được gửi
về Browser của Client. Code được lưu trữ ở một nơi riêng biệt. CLR
luôn luôn quản lý phòng trường hợp có sự thay đổi mà nguồn thì lập
tức CLR sẽ biên dịch lại trang web đó.

• Sau khi trang web được biên dịch, ASP.NET bắt đầu tiến trình xử lý tất
cả nguồn mã kể cả các sự kiện (Events). Ví dụ như bạn gõ vài chữ
trong hộp Text box hoặc click vào một nút nào đó thì ASP.NET
Engine sẽ nghiên cứu, khảo sát sự kiện đó để quyết định cách phản
ứng và thi hành để đáp ứng lại biến cố theo kế hoạch lập trình đã quy
định trước. Tiếp theo, ASP.NET sẽ biến đổi tất cả các Server Control
trong trang web ra thành những yếu tố HTML tương đương.

• Cuối cùng, ASP.NET sẽ gửi kết quả dưới dạng HTML đến Client
Browser, Client Browser chỉ nhận được trang web dưới dạng HTML
thuần túy. Như vậy có thể dùng bất cứ một Web Browser nào (không
nhất thiết MSIL) cũng có thể hiển thị các trang ASP.NET.

23



2.3. Ngôn ngữ C#
2.3.1. Giới thiệu ngôn ngữ C#
Ngôn ngữ C# khá đơn giản, chỉ khoảng hơn 80 từ khóa và hơn mười
mấy kiểu dữ liệu được dựng sẵn. Tuy nhiên, ngôn ngữ C# có ý nghĩa to lớn
khi nó thực thi những khái niệm lập trình hiện đại. C# bao gồm tất cả
những hỗ trợ cho cấu trúc, thành phần component, lập trình hướng đối
tượng. Những tính chất đó hiện diện trong một ngôn ngữ lập trình hiện đại.
Hơn nữa ngôn ngữ C# được xây dựng trên nền tảng hai ngôn ngữ mạnh
nhất là C++ và Java.
Tóm lại, C# có các đặc trưng sau đây:

• C# là ngôn ngữ đơn giản
• C# là ngôn ngữ hiện đại
• C# là ngôn ngữ hướng đối tượng
• C# là ngôn ngữ mạnh mẽ và mềm dẻo
• C# là ngôn ngữ hướng module
• C# sẽ trở nên phổ biến
a. C# là ngôn ngữ đơn giản
- C# loại bỏ được một vài sự phức tạp và rối rắm của các ngôn ngữ C++
và Java.

- C# khá giống C/C++ về diện mạo, cú pháp, biểu thức, toán tử.
- Các chức năng của C# được lấy trực tiếp từ ngôn ngữ C/C++ nhưng
được cải tiến hơn rất nhiều.

b. C# là ngôn ngữ hiện đại
C# có được những đặc tính của ngôn ngữ hiện đại như:

- Xử lý ngoại lệ.

- Thu gom bộ nhớ tự động.
- Có những kiểu dữ liệu mở rộng.
24


- Bảo mật mã nguồn.

25


×