Đồ án tốt nghiệp xây dựng website tin tức review công nghệ (source + báo cáo) Cung cấp cho bạn đọc các tin tức về công nghệ, thế giới công nghệ luôn được cập nhật liên tục, các bài viết đánh giá về các sản phẩm công nghệ hay các phần mềm mới ra mắt. Ngoài ra thì website còn cung cấp cho bạn đọc các bài viết, các tư vấn hữu ích về thiết bị số, các sản phẩm số, hay các thiết bị công nghệ mà các bạn chưa hiểu rõ về nó, website của em sẽ giải đáp các thắc mắc đó qua các bài viết, đánh giá hay tư vấn để người dùng có thể có những thông tin hữu ích hơn khi sử dụng hoặc khi có sự lựa chọn mua sản phẩm công nghệ nào mới. Khi có sản phẩm mới ra, nhiều bạn đọc phân vân về sản phẩm đó như thế nào không biết có nên mua hay không.Các giải đáp thắc mắc đó sẽ được thể hiện trên website qua các bài viết, các đánh giá cụ thể về sản phẩm đó để bạn đọc có sự lựa chọn sang suốt cho mình trước khi mua sản phẩm nào đó.
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN
Trang 2Xây dụng website đánh giá và tư vấn sản phẩm công nghệ
2
Trang 3TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN
HƯNG YÊN - 2018
Trang 4Xây dụng website đánh giá và tư vấn sản phẩm công nghệ
4
Trang 5MỤC LỤC
MỤC LỤC 3
DANH SÁCH HÌNH VẼ 6
DANH SÁCH BẢNG BIỂU 8
DANH SÁCH TỪ VIẾT TẮT 9
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 10
1.1 Lý do chọn đề tài 10
1.2 Mục tiêu của đề tài 10
1.3 Giới hạn và phạm vi của đề tài 11
1.4 Nội dung thực hiện 11
1.5 Phương pháp tiếp cận 11
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 12
2.1 Tổng quan về hệ quản trị cơ sở dữ liệu 12
2.1.1 Định nghĩa 12
2.1.2 Các khả năng của hệ quản trị cơ sở dữ liệu 12
2.1.3 Đặc điểm của một hệ quản trị cơ sở dữ liệu 13
2.1.4 Kiến trúc của một hệ quản trị CSDL 15
2.2 Ngôn ngữ lập trình ASP.Net 16
2.2.1 Giới thiệu về Asp.Net 16
2.2.2 Các thành phần của Asp.Net 19
2.3 Tổng quan về Linq to SQL 22
2.3.1 Linq là gì? 22
2.3.2 Linq to SQL là gì? 23
2.3.3 Mô hình hóa CSDL dùng Linq to SQL 23
Trang 6Xây dụng website đánh giá và tư vấn sản phẩm công nghệ
2.3.4 Lớp Datacontext 25
2.3.5 Sử dụng Linq to Sql trong ASP.NET 25
CHƯƠNG 3: NỘI DUNG THỰC HIỆN 26
3.1 Khảo sát và đặc tả yêu cầu 26
3.1.1 Khảo sát thực tế 26
3.1.2 Đặc tả yêu cầu 26
3.2 Phân tích chức năng của hệ thống 29
3.2.1 Yêu cầu hệ thống 29
3.2.2 Biểu đồ UseCase 30
3.2.3 Biểu đồ tuần tự 42
3.2.4 Biểu đồ lớp của hệ thống 46
3.3 Thiết kế cơ sở dữ liệu của hệ thống 47
3.3.1 Bảng phân mục 48
3.3.2 Bảng loại tin 48
3.3.3 Bảng tin tức 49
3.3.4 Bảng người dùng 50
3.4 Thiết kế giao diện 51
3.4.1 Giao diện trang chủ 51
3.4.2 Giao diện trang các loại tin tức 52
3.4.3 Giao diện trang chi tiết tin tức 53
3.4.4 Giao diện trang tìm kiếm 54
3.4.5 Giao diện trang quản lý người dùng 55
3.4.6 Giao diện trang quản lý loại tin 56
3.4.7 Giao diện trang quản lý tin tức 58
6
Trang 73.4.8 Giao diên trang quản lý phân mục 60
3.4.9 Giao diện trang đăng nhập 61
CHƯƠNG 4: KẾT LUẬN 62
4.1 Kết quả đạt được của đề tài 62
4.2 Hạn chế của đề tài 62
4.3 Hướng phát triển của đề tài 63
TÀI LIỆU THAM KHẢO 64
Trang 8Xây dụng website đánh giá và tư vấn sản phẩm công nghệ
DANH SÁCH HÌNH
Hình 2 1 Ba mức trừu tượng dữ liệu 13
Hình 2 2 Các thành phần chính của hệ quản trị CSDL 15
Hình 2 3 Quá trình biên dịch của Asp.net 17
Hình 2 4 Tạo cơ sở dữ liệu Linq to Sql 24
Hình 2 5 Linq to Sql Classes 24
YHình 3 1 Use case mức tổng quát 33
Hình 3 2 Biểu đồ use-case quản lý phân mục 34
Hình 3 3 Biểu đồ Use-case quản lý loại tin 36
Hình 3 4 Biểu đồ Use-case quản lý tin tức 38
Hình 3 5 Biểu đồ use case quản lý người dùng 40
Hình 3 6 Biểu đồ tuần tự chức năng quản lý phân mục 42
Hình 3 7 Biểu đồ tuần tự chức năng quản lý loại tin 43
Hình 3 8 Biểu đồ tuần tự chức năng quản lý tin tức 44
Hình 3.9: Biểu đồ tuần tự chức năng quản lý người dùng 45
Hình 3 10 Biểu đồ lớp của hệ thống 46
Hình 3 11 Mô hình dữ liệu quan hệ 47
Hình 3 12 Giao diện trang chủ Website 51
Hình 3 13 Giao diện trang các loại tin tức 52
Hình 3 14 Giao diện trang chi tiết tin tức 53
Hình 3 15 Giao diện trang tìm kiếm tin tức 54
Hình 3 16 Giao diện trang quản lý danh sách người dùng 55
8
Trang 9Hình 3 17 Giao diện trang thêm người dùng 55
Hình 3 18 Giao diện trang sửa người dùng 56
Hình 3 19 Giao diện trang quản lý loại tin 56
Hình 3 20 Giao diện trang thêm loại tin 57
Hình 3 21 Giao diện trang sửa loại tin 57
Hình 3 22 Giao diện trang quản lý tin tức 58
Hình 3 23 Giao diện trang thêm tin tức 59
Hình 3 24 Giao diện trang sửa tin tức 59
Hình 3 25 Giao diện trang quản lý phân mục 60
Hình 3 26 Giao diện trang sửa phân mục 60
Hình 3 27 Giao diện trang đăng nhập 61
DANH SÁCH BẢNG B
Trang 10Xây dụng website đánh giá và tư vấn sản phẩm công nghệ
Y
Bảng 3 1 Các yêu cầu chức năng 29
Bảng 3 2 Các kí hiệu mô tả 30
Bảng 3 3 Bảng danh sách các Actor 31
Bảng 3 4 Danh sách các use case 32
Bảng 3 5 Bảng phân mục 48
Bảng 3 6 Bảng loại tin 48
Bảng 3 7 Bảng tin tức 49
Bảng 3 8 Bảng người dùng 50
10
Trang 11DANH SÁCH TỪ VIẾT TẮT
Từ viết tắt Từ đầy đủ Giải thích
CMS Content Management System Hệ quản trị nội dung
ASP Active Server Page Là một mở rộng ISAPI, cung cấp
một khung làm việc cho các ứng dụng phía Server
CNTT Information Technology Công nghệ thông tin
CSDL Database Cơ sở dữ liệu
DML Data Manipulation Language Ngôn ngữ thao tác dữ liệu
HTML Hyper Text Markup Language Ngôn ngữ đánh dấu siêu văn bảnCSS Cascading Style Sheets Ngôn ngữ quy định cách trình
bày của các thẻ html trên trangweb
Trang 12Xây dụng website đánh giá và tư vấn sản phẩm công nghệ
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
1.1 Lý do chọn đề tài
Hiện nay công nghệ ngày càng phát triển và thay đổi không ngừng trên tất cảcác lĩnh vực Con người ngày có nhu cầu càng cao về các thiết bị công nghệ như đồdùng hàng ngày Các nhà sản xuất, phát triển phần mềm cũng không ngừng phát triển,nâng cao chất lượng phần mềm của mình Các hãng sản xuất các đồ dùng, thiết bị cũngkhông kém cạnh, họ luôn luôn suy nghĩ phát triển ra các sản phẩm mới, có nhiều tiệních cũng như áp dụng nhiều công nghệ với vào sản phẩm của mình để phục vụ nhu cầutốt hơn của con người
Các sản phẩm mới luôn có những sự thay đổi khác biệt so với các sản phẩm cũ
mà nhiều người không hề biết và hiểu cách sử dụng nó cũng như các chức năng của
nó Để đáp ứng yêu cầu đó em nghiên cứu và “Xây dựng website đánh giá và tư vấn
sản phẩm công nghệ” để cung cấp cho người dùng tin tức về công nghệ mới nhất ,
đánh giá các sản phẩm công nghệ như máy tính, laptop, điện thoại, máy ảnh, camera,
âm thanh và các thiết bị số
1.2 Mục tiêu của đề tài
Cung cấp cho bạn đọc các tin tức về công nghệ, thế giới công nghệ luôn đượccập nhật liên tục, các bài viết đánh giá về các sản phẩm công nghệ hay các phần mềmmới ra mắt
Ngoài ra thì website còn cung cấp cho bạn đọc các bài viết, các tư vấn hữu ích
về thiết bị số, các sản phẩm số, hay các thiết bị công nghệ mà các bạn chưa hiểu rõ về
nó, website của em sẽ giải đáp các thắc mắc đó qua các bài viết, đánh giá hay tư vấn đểngười dùng có thể có những thông tin hữu ích hơn khi sử dụng hoặc khi có sự lựa chọnmua sản phẩm công nghệ nào mới
Khi có sản phẩm mới ra, nhiều bạn đọc phân vân về sản phẩm đó như thế nàokhông biết có nên mua hay không.Các giải đáp thắc mắc đó sẽ được thể hiện trên
12
Trang 13website qua các bài viết, các đánh giá cụ thể về sản phẩm đó để bạn đọc có sự lựa chọnsang suốt cho mình trước khi mua sản phẩm nào đó.
1.3 Giới hạn và phạm vi của đề tài
Đề tài được xây dựng và pháp triển nhằm ứng dụng cho tất cả mọi người vàchuyên về các lĩnh vực công nghệ, điện tử và các sản phẩm công nghệ
1.4 Nội dung thực hiện
Hiện một số giải pháp thiết kế web trên nền tảng ASP.NET và SQLServer nhưngcòn có những mặt hạn chế nhất định như: mã nguồn chưa được đẹp, chỉ chạy tên ứngdụng web, đòi hỏi người dùng phải có nhiều kỹ năng về lập trình.Để tránh sự lặp lạitrong công việc thiết kế, tiết kiệm thời gian và giảm chi phí cho đơn vị phát triển phầnmềm, tác giả đề xuất giải pháp xây dựng website tin tức, đánh giá công nghệ
Nội dung thực hiện/nghiên cứu cụ thể như sau:
- Nghiên cứu về ngôn ngữ lập trình ASP.NET và hệ quản trịSQLServer
- Phân tích yêu cầu của website
- Sử dụng các phương pháp nghiên cứu:
Trang 14Xây dụng website đánh giá và tư vấn sản phẩm công nghệ
o Phương pháp đọc tài liệu
o Phương pháp xem hướng dẫn
o Phương pháp làm thực tiễn
14
Trang 15CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Tổng quan về hệ quản trị cơ sở dữ liệu
2.1.1 Định nghĩa
- Hệ quản trị cơ sở dữ liệu (Database Management System - DBMS):
Là một hệ thống phần mềm cho phép tạo lập cơ sở dữ liệu và điềukhiển mọi truy nhập đối với cơ sở dữ liệu đó
- Trên thị trường phần mềm hiện nay ở Việt Nam đã xuất hiện khánhiều phần mềm hệ quản trị cơ sở dữ liệu như: Microsoft Access,Foxpro, DB2, SQL Server, Oracle,…
2.1.2 Các khả năng của hệ quản trị cơ sở dữ liệu
Có hai khả năng chính cho phép phân biệt các hệ quản trị cơ sở dữ liệu(CSDL) với các kiểu hệ thống lập trình khác:
- Khả năng quản lý dữ liệu tồn tại lâu dài: đặc điểm này chỉ ra rằng cómột cơ sở dữ liệu tồn tại trong một thời gian dài, nội dung của cơ sở
dữ liệu này là các dữ liệu mà hệ quản trị CSDL truy nhập và quảnlý
- Khả năng truy nhập các khối lượng dữ liệu lớn một cách hiệu quả.Ngoài hai khả năng cơ bản trên, hệ quản trị CSDL còn có cách khác mà có thểthấy trong hầu hết các hệ quản trị CSDL đó là:
- Hỗ trợ ít nhất một mô hình dữ liệu hay một sự trừu tượng toán học
mà qua đó người sử dụng có thể quan sát dữ liệu
- Ðảm bảo tính độc lập dữ liệu hay sự bất biến của chương trình ứngdụng đối với các thay đổi về cấu trúc trong mô hình dữ liệu
- Hỗ trợ các ngôn ngữ cao cấp nhất định cho phép người sử dụng địnhnghĩa cấu trúc dữ liệu, truy nhập dữ liệu và thao tác dữ liệu
Trang 16Xây dụng website đánh giá và tư vấn sản phẩm công nghệ
- Quản lý giao dịch, có nghĩa là khả năng cung cấp các truy nhậpđồng thời, đúng đắn đối với CSDL từ nhiều người sử dụng tại cùngmột thời điểm
- Ðiều khiển truy nhập, có nghĩa là khả năng hạn chế truy nhập đếncác dữ liệu bởi những người sử dụng không được cấp phép và khảnăng kiểm tra tính đúng đắn của CSDL
- Phục hồi dữ liệu, có nghĩa là có khả năng phục hồi dữ liệu, khônglàm mất mát dữ liệu với các lỗi hệ thống
2.1.3 Đặc điểm của một hệ quản trị cơ sở dữ liệu
2.1.3.1 Sự trừu tượng hoá dữ liệu
Ðể cho hệ thống có thể sử dụng được, hệ quản trị CSDL phải tra cứu hay tìmkiếm dữ liệu một cách có hiệu quả Ðiều này dẫn đến việc thiết kế các cấu trúc dữliệu phức tạp để biểu diễn dữ liệu trong CSDL này Người phát triển che dấu tínhphức tạp này thông qua một số mức trừu tượng để đơn giản hoá các tương tác củangười sử dụng đối với hệ thống
Hình 2 1 Ba mức trừu tượng dữ liệu
- Mức vật lý: Mức thấp nhất của sự trừu tượng mô tả dữ liệu được lưu trữ mộtcách thực sự như thế nào Tại mức vật lý, các cấu trúc dữ liệu mức thấp phức
16
Trang 17tạp được mô tả chi tiết.
Trang 18Xây dụng website đánh giá và tư vấn sản phẩm công nghệ
- Mức logic: Mức cao tiếp theo của sự trừu tượng hoá mô tả những dữ liệu nàođược lưu trữ và các mối quan hệ nào tồn tại giữa các dữ liệu này Mức logiccủa sự trừu tượng được xác định người quản trị CSDL, cụ thể phải quyếtđịnh những thông tin gì được lưu trữ trong CSDL
- Mức khung nhìn: Mức cao nhất của sự trừu tượng mô tả chỉ một phần củatoàn bộ CSDL Mặc dù sử dụng các cấu trúc đơn giản mức logic, một sốphức tập vẫn còn tồn tại do kích thước lớn của CSDL Thực chất nhữngngười sử dụng chỉ cần truy nhập đến một phần CSDL, do vậy sự tương táccủa họ với hệ thống này là đơn giản hoá và mức khung nhìn của sự trừutượng được xác định Hệ thống có thể được cung cấp nhiều khung nhìn đốivới cùng một CSDL
2.1.3.2 Ngôn ngữ cơ sở dữ liệu
Một hệ quản trị cơ sở dữ liệu thường cung cấp hai kiểu ngôn ngữ khácnhau đó là: ngôn ngữ mô tả sơ đồ cơ sở dữ liệu và ngôn ngữ biểu diễn các truyvấn và các cập nhật cơ sở dữ liệu
- Ngôn ngữ định nghĩa dữ liệu (Data Definition Language - DDL)
o Một sơ đồ CSDL đặc tả bởi một tập các định nghĩa được biểu diễn bởi mộtngôn ngữ đặc biệt được gọi là ngôn ngữ định nghĩa dữ liệu Kết quả củaviệc dịch các ngôn ngữ này là một tập các bảng được lưu trữ trong một tệpđặc biệt được gọi là từ điển dữ liệu hay thư mục dữ liệu
o Một từ điển dữ liệu là một tệp chứa các siêu dữ liệu có nghĩa là các dữ liệu
về dữ liệu Tệp này được tra cứu trước khi dữ liệu thực sự được đọc hayđược sửa đổi trong hệ CSDL
o Cấu trúc và các phương pháp truy nhập được sử dụng bởi hệ CSDL đượcđặc tả bởi một tập các định nghĩa trong một kiểu đặc biệt của DDL là ngônngữ định nghĩa và lưu trữ dữ liệu
- Ngôn ngữ thao tác dữ liệu (Data Manipulation Language - DML)
18
Trang 19o Các yêu cầu về thao tác dữ liệu bao gồm: Tìm kiếm thông tin được lưu trữtrong CSDL, Thêm thông tin mới vào CSDL, xoá thông tin từ CSDL, thayđổi thông tin được lưu trữ trong CSDL.
o Một ngôn ngữ thao tác dữ liệu (DML) là một ngôn ngữ cho phép người sửdụng truy nhập hay thao tác dữ liệu được tổ chức bởi mô hình dữ liệu thíchhợp
2.1.4 Kiến trúc của một hệ quản trị CSDL
Hình 2 2 Các thành phần chính của hệ quản trị CSDL
- Dữ liệu, siêu dữ liệu: Ðáy kiến trúc là thiết bị nhớ ngoài lưu trữ dữliệu và siêu dữ liệu Trong phần này không chỉ chứa dữ liệu đượctrữ trong CSDL mà chứa cả các siêu dữ liệu, tức là thông tin cấutrúc của CSDL
- Bộ quản lý lưu trữ: Nhiệm vụ của bộ quản lý lưu trữ là lấy ra cácthông tin được yêu cầu từ những thiết bị lưu trữ dữ liệu và thay đổinhững thông tin này khi được yêu cầu bởi các mức trên nó của hệthống
Trang 20- Bộ xử lý câu hỏi: Bộ xử lý câu hỏi điều khiển không chỉ các câu hỏi
mà cả các yêu cầu thay đổi dữ liệu hay siêu dữ liệu Nhiệm vụ của
nó là tìm ra cách tốt nhất một thao tác được yêu cầu và phát ra lệnhđối với bộ quản lý lưu trữ và thực thi thao tác đó
- Bộ quản trị giao dịch: Bộ quản trị giao dịch có trách nhiệm đảm bảotính toàn vẹn của hệ thống Nó phải đảm bảo rằng một số thao tácthực hiện đồng thời không cản trở mỗi thao tác khác và hệ thốngkhông mất dữ liệu thậm chí cả khi lỗi hệ thống xảy ra
- Các kiểu thao tác đối với hệ quản trị CSDL: Tại đỉnh kiến trúc, tathấy có 3 kiểu thao tác:
o Các truy vấn: Ðây là các thao tác hỏi đáp về dữ liệu được lưu trữ trongCSDL
o Các cập nhật dữ liệu: Ðây là các thao tác thay đổi dữ liệu như xoá, sửa dữliệu trong CSDL Giống như các truy vấn, chúng có thể được phát ra thôngqua giao diện chung hoặc thông qua giao diện của chương trình
o Các thay đổi sơ đồ: Các lệnh này thường được phát bởi một người sử dụngđược cấp phép, thường là những người quản trị CSDL mới được phép thayđổi sơ đồ của CSDL hay tạo lập một CSDL mới
2.2 Ngôn ngữ lập trình ASP.Net
2.2.1 Giới thiệu về Asp.Net
- Từ khoảng cuối thập niên 90, ASP (Active Server Page) đã đượcnhiều lập trình viên lựa chọn để xây dựng và phát triển ứng dụngweb động trên máy chủ sử dụng hệ điều hành Windows ASP đã thểhiện được những ưu điểm của mình với mô hình lập trình thủ tụcđơn giản, sử dụng hiệu quả các đối tượng COM: ADO (ActiveXData Object) - xử lý dữ liệu, FSO (File System Object) làm việc với
hệ thống tập tin…, đồng thời, ASP cũng hỗ trợ nhiều ngôn ngữ:VBScript, JavaScript Chính những ưu điểm đó, ASP đã được yêuthích trong một thời gian dài Tuy nhiên, ASP vẫn còn tồn đọng một
số khó khăn như Code ASP và HTML lẫn lộn, điều này làm cho quátrình viết code khó khăn, thể hiện và trình bày code không trong
Trang 21sáng, hạn chế khả năng sử dụng lại code Bên cạnh đó, khi triển khaicài đặt, do không được biên dịch trước nên dễ bị mất source code.
- Thêm vào đó, ASP không có hỗ trợ cache, không được biên dịchtrước nên phần nào hạn chế về mặt tốc độ thực hiện Quá trình xử lýPostback khó khăn,…Đầu năm 2002, Microsoft giới thiệu một kỹthuật lập trình Web khá mới mẻ với tên gọi ban đầu là ASP+, tênchính thức sau này là ASP.Net Với ASP.Net, không những khôngcần đòi hỏi bạn phải biết các tag HTML, thiết kế web, mà nó còn hỗtrợ mạnh lập trình hướng đối tượng trong quá trình xây dựng vàphát triển ứngdụngWeb.ASP.Net là kỹ thuật lập trình và phát triểnứng dụng web ở phía Server (Server-side) dựa trên nền tảng củaMicrosoft.Net Framework
- Hầu hết, những người mới đến với lập trình web đều bắt đầu tìm hiểu những
kỹ thuật ở phía Client (Client-side) như: HTML, Java Script, CSS (CascadingStyle Sheets) Khi Web browser yêu cầu một trang web (trang web sử dụng kỹthuật client- side), Web server tìm trang web mà Client yêu cầu, sau đó gởi vềcho Client
Hình 2 3 Quá trình biên dịch của Asp.net
Client nhận kết quả trả về từ Server và hiển thị lên màn hình ASP.Net sửdụng kỹ thuật lập trình ở phía server thì hoàn toàn khác, mã lệnh ở phía server sẽđược biên dịch và thi hành tại Web Server Sau khi được Server đọc, biên dịch vàthi hành, kết quả tự dộng được chuyển sang HTML/JvarScript/CSS và trả về choClient Tất cả các xử lý lệnh ASP.Net đều được thực hiện tại Server và do đó, gọi
Trang 22Xây dụng website đánh giá và tư vấn sản phẩm công nghệ
là kỹ thuật lập trình ở phía server
Ưu điểm của ngôn ngữ lập trình Asp.Net
- Trang ASP.Net được biên dịch trước Thay vì phải đọc và thông dịchmỗi khi trang web được yêu cầu, ASP.Net biên dịch những trangweb động thành những tập tin DLL mà Server có thể thi hành nhanhchóng và hiệu quả Yếu tố này là một bước nhảy vọt đáng kế so với
kỹ thuật thông dịch của ASP
- ASP.Net cho phép bạn lựa chọn một trong nhiều ngôn ngữ lập trình:VisualBasic.Net, J#, C#,…
- ASP.Net hỗ trợ mạnh mẽ bộ thư viện phong phú và đadạng của NetFramework, làm việc với XML Web Service, truycập cơ sở dữ liệu qua ADO.Net,…ASPX và ASP có thể cùng hoạtđộng trong một ứng dụng
- ASP.Net sử dụng phong cách lập trình mới: Code behide, tách coderiêng, giao diện riêng giúp cho dễ đọc, dễ quản lý và bảo trì
- Kiến trúc lập trình giống như ứng dụng trên Windows
- Hỗ trợ quản lý trạng thái của các control
- Tự động phát sinh mã HTML cho các Server control tương ứng vớitừng loại Browser
- Hỗ trợ nhiều cơ chế cache
- Triển khai cài đặt không cần lock, không cần đăng ký DLL
- Cho phép nhiều hình thức cấu hình ứng dụng
- Hỗ trợ quản lý ứng dụng mức toàn cục
22
Trang 23- Quản lý session trên nhiều Server, không cần Cookies.
Nhược điểm của ngôn ngữ lập trình Asp.Net.
2.2.2.1 Các nhóm điều khiển trên ASP.Net
Các điều khiển trên ASP.Net là phần quan trọng nhất trong ASP.NetFramework Một control ASP.Net là một lớp mà thực thi trên server và đưa ranội dung trên trình duyệt ASP.Net có hơn 70 control mà bạn có thể sử dụngtrong xây dựng ứng dụng Web của bạn và cơ bản nó được chia ra thành cácnhóm sau:
- Standard control: bao gồm các điều khiển đưa ra các thành phầnchuẩn của form như:
o Lable: thường được sử dụng hiển thị và trình bày nội dung trêntrang web Nội dung hiển thị thông qua thuộc tính Text
o Buttons (Button, LinkButton, ImageButton): mặc định đều là cácnút submit khi nhấn vào sẽ Post Back về Server
o HyperLink: được sử dụng để tạo ra các liên kết siêu văn bản gồmcác thuộc tính như ImageUrl (quy định hiển thị trên control),Text (chuỗi văn bản hiển thị trên control), NavigeUrl (đường dẫnliên kết đến)
o Image: dùng để hiển thị ảnh trên trang web
o Textbox: là control được dùng để nhập và hiển thị dữ liệu
o ListBox và DropDownList: là điều khiển hiển thị danh sách lựachọn mà người dùng có thể chọn một hay nhiều
Trang 24Xây dụng website đánh giá và tư vấn sản phẩm công nghệ
o Checkbox: bật hoặc tắt một lựa chọn
o RadioButton: bật tắt một lựa chọn Chỉ một radio button trongnhóm được lựa chọn
o Ngoài ra vẫn còn các điều khiển khác như: Calender,FileUpLoad…
- Data control: là các điều khiển dùng để thao tác với cơ sở dữ liệu.Bao gồm một số điều khiển như sau:
o Datalist: dùng để trình bày dữ liệu dưới dạng danh sách và đượchiển thị theo các Template được định nghĩa, không hỗ trợ phântrang Đặc biệt dùng để hiển thị dữ liệu chứ ít khi dùng trongviệc cập nhật dữ liệu
o GridView: trình bày dữ liệu dưới dạng bảng theo cột và hànggiống bảng trong cơ sở dữ liệu Gridview hỗ trợ tính năng: chọn,sắp xếp, cập nhật CSDL, phân trang Nhưng không hỗ trợ thêm
dữ liệu vào cơ sở dữ liệu
o ListView: có chức năng cơ bảng giống GridView Nhưng khác ởchỗ là cung cấp tính năng chèn dữ liệu, hiển thị phần tửDatasource theo nhóm, có thể tùy chỉnh định dạng hiển thị
o Repeater: cũng được dùng để hiển thị dữ liệu
o DetailsView: được thiết kế để hiển thị một hàng dữ liệu đơn củamột datasource Và cũng hỗ trợ một số tính năng như: cập nhật,thêm mới, xóa một hàng trong cơ sở dữ liệu
o Ngoài ra còn một số điều khiển khác như: FormView,DataPager…
- Validator control: là các control cho phép kiểm tra tính hợp lệ củacác control cho phép nhập giá trị vào Form Bao gồm các điều khiểnnhư:
o Required Field Validator: không cho phép giá trị rỗng khisubmit, bắt buộc phải có dữ liệu trong điều khiển mới thông quaValidator này
o Compare Validator: cho phép bạn so sánh gia trị của hai control
24
Trang 25hay control với một giá trị nào đó trước khi submit form.
o Range Validator: dùng để kiểm tra giá trị trong điều khiển phảinằm trong đoạn [min-max] khai báo trước đó
o Regular Expression Validator: kiểm tra dữ liệu nhập các điềukhiển và phải theo mẫu quy định sẵn cho trước
- Navigation control: là những điều khiển giúp bạn dễ dàng di chuyểngiữa các trang trong WebSite
o Menu: các menu kiểm soát cho phép bạn thêm chức năng điềuhướng đến các trang web của bạn Các menu kiểm soát hỗ trợmột menu chính và menu con và cho phép bạn xác định trình đơnđộng
o SiteMapPath: kiểm soát hiển thị một đường dẫn chuyển hướngcho người sử dụng thấy vị trí trang hiển tại và hiển thị tên liênkết như là một con đường trở lại trang chủ Điều khiển cung cấpnhiều tùy chọn để tùy chỉnh sự xuất hiện của các liên kết
o TreeView: kiểm soát được sử dụng để hiển thị dữ liệu phân cấp,chẳng hạn như một bảng nội dung hoặc thư mục tập tin trong cấutrúc một cây
- Logon control: là các điều khiển về bảo mật của ứng dụng cho phépbạn đưa ra các form đăng nhập, thay đổi mật khẩu
o Login: cho phép hiển thị Form đăng nhập người sử dụng
o CreateUserWizard: cho phép hiển thị form đăng ký người sửdụng
o LoginStatus: hiển thị trạng thái login hay logout phụ thuộc vàotrạng thái kiểm chứng người sử dụng
o LoginName: hiển thị tên người đăng ký hiện tại
o ChangePassword: hiển thị form cho phép người sử dụng thay đổimật khẩu
o PasswordRecovery: cho phép người sử dụng khôi phụcpassword, password này sẽ được gửi vào mail cho người sửdụng
o LogonView: hiển thị các nội dung khác nhau tới mỗi người sử
Trang 26Xây dụng website đánh giá và tư vấn sản phẩm công nghệ
dụng phụ thuộc vào authentication hoặc role
- HTML control: cho phép bạn chuyển các điều khiển của HTMLthành các điều khiển có thể làm việc trên Server Chúng bao gồm:Button, textbox, checkbox…
2.2.2.2 Các đối tượng trên ASP.Net
- Đối tượng Request: dùng để nhận thông tin yêu cầu được gửi từ Clientđến Server Nó được cài đặt trong lớp HttpRequest thuộc không gian tênSystem.Web
- Đối tượng Respose: dùng để gửi thông tin ngược trở lại client từserver Nó được cài đặt trong lớp HttpRespose thuộc không gian tênSystem.Web
- Đối tượng Application: cung cấp các truy xuất đến các phương thức
và sự kiện mở rộng của ứng dụng cho tất cả các phiên giao dịch.Đồng thời cũng cung cấp truy xuất tới cache mở rộng của ứng dụng
để chứa các thông tin đó Đối tượng này được cài đặt trong lớpHttpApplicationState thuộc không gian tên System.Web
- Đối tượng Session: khi có nhu cầu truyền giá trị từ trang này sangtrang khác trong một phiên làm việc, ta sử dụng đối tượng session.Bằng cách sử dụng phương thức và thuộc tính của đối tượng này ta
có thể khởi tạo, gán giá trị, truy cập, hủy đối tượng này trong mộtphiên làm việc nhằm quản lý người sử dụng khi họ truy cập vàoWebSite WebSite sẽ tự động tạo ra đối tượng Session khi chúngchưa được tạo ra, đối tượng này sẽ có chu trình sống cho đến khimột trong các điều kiện sau xảy ra:
o Người sử dụng đóng trình duyệt
o Khi thời sống của chúng hết hạn
o Chúng ta khai báo hủy bỏ đối tượng Session bằng các phươngthức của chúng
- Đối tượng Cookies: là những phần dữ liệu nhỏ có cấu trúc được chia
26
Trang 27sẻ giữa WebSite và những brower của người dùng Cookies đượclưu trữ dưới những file dữ liệu nhỏ dạng text Chúng được các sitetạo ra để lưu trữ, truy tìm, nhận biết các thông tin về người dùng đãghé thăm qua WebSite và những vùng họ đi quan trong WebSite.
2.3 Tổng quan về Linq to SQL
2.3.1 Linq là gì?
- LINQ (Languege Integrated Query) là một thành phần củaMicrosoft NET Framework để mở rộng khả năng truy vấn dữ liệucho các ngôn ngữ lập trình NET như C# và VB.NET…
- LINQ hỗ trợ hầu hết các dạng nguồn dữ liệu khác nhau, bao gồm cảđối tượng bộ nhớ (LINQ to Object), XML (LINQ to XML), cơ sở
dữ liệu SQL Server (LINQ to SQL)…
- LINQ có từ phiên bản NET Framework 3.5, do đó nếu muốn truyvấn dữ liệu bằng LINQ thì tối thiểu chương trình phải được chạytrên nền tảng 3.5 hoặc mới hơn
- LINQ là phần mở rộng cho phép viết các câu truy vấn ngay trongngôn ngữ lập trình Nó cho phép làm việc với các kiểu tập hợp dữliệu như: XML, collection, array… và cả cơ sở dữ liệu
- ADO.NET là công nghệ cho phép các ứng dụng có thể kết nối vàlàm việc với các loại cơ sở dữ liệu khác nhau (truy vấn, thêm, xóa,cập nhật, gọi thủ tục…)
- Bản thân LINQ không phải là một công nghệ được tạo ra để thaythế ADO.NET, chúng ta có thể làm việc với LINQ mà không dínhtới cơ sở dữ liệu Tuy nhiên, LINQ to SQL, là một phần mở rộngcủa LINQ, cho phép chúng ta có thể làm việc được với cơ sở dữ liệuSQL Server, trong trường hợp này chúng ta có thể bỏ qua các câulệnh ADO.NET mà chỉ quan tâm tới cú pháp mà LINQ cung cấp
Trang 28Xây dụng website đánh giá và tư vấn sản phẩm công nghệ
2.3.2 Linq to SQL là gì?
- LINQ to SQL là một phiên bản hiện thực hóa của O/RM (objectrelational Mapping) có bên trong NET Framework bản “Orcas”(nay là NET 3.5), nó cho phép bạn mô hình hóa một cơ sở dữ liệudùng các lớp .NET Sau đó bạn có thể truy vấn cơ sở dữ liệu(CSDL) dùng LINQ, cũng như cập nhật/thêm/xóa dữ liệu từ đó
- LINQ to SQL hỗ trợ đầy đủ transaction, view và các storedprocedure (SP) Nó cũng cung cấp một cách dễ dàng để thêm khảnăng kiểm tra tính hợp lệ của dữ liệu và các quy tắc vào trong môhình dữ liệu của bạn
2.3.3 Mô hình hóa CSDL dùng Linq to SQL
Có thể thêm một mô hình dữ liệu LINQ to SQL vào một project ASP.NET,Class Library hay Windows bằng cách dùng tùy chọn “Add New Item” trongVisual Studio và chọn “Linq to SQL classes”
Hình 2 4 Tạo cơ sở dữ liệu Linq to Sql
Việc chọn mục “LINQ to SQL Classes” sẽ khởi chạy LINQ to SQL
28
Trang 29designer, và cho phép mô hình hóa các lớp mà nó biểu diễn một CSDL quan hệbằng cách kéo thả các bảng trong Server Explorer vào LINQ to SQL designer.
Hình 2 5 Linq to Sql Classes
Sau đó “SAVE” lại là chúng ta đã mô hình hóa được cơ sở dữ liệu vừachọn vào file LINQ to SQL Nó cũng sẽ tạo ra một lớp kiểu “DataContext”,trong đó có các thuộc tính để biểu diễn mỗi bảng mà chúng ta mô hình hóatrong CSDL, cũng như các phương thức cho mỗi Stored Procedure mà chúng ta
mô hình hóa
2.3.4 Lớp Datacontext
Khi bạn bấm nút “Save” bên trong màn hình thiết kế LINQ to SQL, VisualStudio sẽ lưu các lớp NET biểu diễn các thực thể và quan hệ bên trong CSDL màchúng ta vừa mô hình hóa Cứ mỗi một file LINQ to SQL chúng ta thêm vàosolution, một lớp DataContext sẽ được tạo ra, nó sẽ được dùng khi cần truy vấnhay 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 màchúng ta đã thêm vào
2.3.5 Sử dụng Linq to Sql trong ASP.NET
Linq to sql được Microsoft giới thiệu năm 2007 như là một phần của NET,
Trang 30Xây dụng website đánh giá và tư vấn sản phẩm công nghệ
nó được thiết kế để giúp chúng ta giảm tải một số lượng lớn đoạn code cần viết khithao tác truy xuất cơ sở dữ liệu, và giúp chúng ta thoát khỏi gánh nặng trong việctạo và duy trì stored procedure cho mỗi loại query chúng ta cần thực thi Nó là mộtcông cụ ORM (Objectrelational mapping), nó chưa tốt bằng Nhibernate, nhưng đôikhi nó dễ dàng sử dụng
Cách sử dụng Linq to Sql rất đơn giản, từ trong môi trường Visual Studio,chúng ta kéo và thả các tables và stored procedures vào trong tấm bạc(cửa sổ dovisual tạo ra khi thao tác kéo thả cơ sở dữ liệu), sau đó, chúng ta sử dụng các câulệnh truy vấn Linq bên trong code C#, và nhận lấy các thực thể này từ data context(nó chuyển câu truy vấn từ Linq sang Sql lúc thực thi), thay đổi chúng bên trongC#, sau đó gọi SubmitChanges() để viết những thay đổi này ngược trở lại cơ sở dữliệu
30
Trang 31CHƯƠNG 3: NỘI DUNG THỰC HIỆN
3.1 Khảo sát và đặc tả yêu cầu
3.1.1 Khảo sát thực tế
Quan sát thực tiễn trên các website hay các diễn đàn về các bài viết, các đánh giá
về các sản phẩm công nghệ, hay các tin tức về công nghệ thì nhiều website chưa
có đủ thông tin hay chuyên về cái gì chỉ là một chuyên mục nhỏ của các website.Nhiều lúc bạn đọc không có một web chuyên biệt về vấn đề này để cung cấp chobạn đọc các thông tin mà bạn đọc muốn tìm hiểu khi mua một sản phẩm nào đó,hay tìm hiểu một công nghệ nào đó Do đó một website chuyên biệt về tin tức,đánh giá các công nghệ mới, sản phẩm công nghệ số mới là rất cần thiết trongnhu cầu cập nhật tin tức hiện nay
3.1.2 Đặc tả yêu cầu
- Từ hiện trạng thực tế trên, nhóm đi đến phân tích và thiết lập một
website chuyên biệt để cung cấp các bài viết, các đánh giá về côngnghệ, các sản phẩm công nghệ mới
- Xây dựng website có chức năng chứa các bài viết, đánh giá về tintức công nghệ vàc các sản phẩm công nghệ hiện nay, cập nhật mộtcách liên tục.Vì là website tin tức nên trên hệ thống có các chứcnăng thêm, sửa và xóa các tin tức, các bài viết được cập nhật trênwebsite
- Quản trị thêm các bài viết tin tức, đánh giá theo các loại tin đã địnhvào trong cơ sở dữ liệu và hiển thị chúng theo các mục cố đinh trêngiao diện của website để cho bạn đọc có thể dễ dàng lựa chọn cácbài viết, đánh giá mà bạn đọc muốn xem
- Cơ cấu tổ chức của website theo các phân mục và các loại tin cụ thểnhư sau:
o Đánh giá: cung cấp các bài viết về đánh giá các sản phẩm công nghệ:
Trang 32Xây dụng website đánh giá và tư vấn sản phẩm công nghệ
Di động: Các bài viết đánh giá về di động, các sản phẩm di động mới
Laptop: Các bài viết đánh giá về laptop, các dòng laptop hay dòng laptopmới ra
Máy tính bảng: Các bài viết đánh giá về máy tính bảng, các dòng máy tínhbảng cụ thể
Máy ảnh số: Các bài viết đánh giá về máy ảnh kĩ thuật số
Tivi: Các bài viết đánh giá về tivi, các dòng tivi mới ra mắt công nghệ cao,hiện đại
Đồ gia dụng: Các bài viết đánh giá về các đồ gia dụng điện tử, công nghệmới
Phụ kiện: Các bài viết đánh giá về các phụ kiện công nghệ cho điện thoại,laptop hay tivi…
o Tin tức: Tin tức về các sản phẩm mới, công nghệ hay an ninh bảo mật
An ninh mạng: Cung cấp các thông tin, tin tức về các vấn đề an ninh bảomật trên các lĩnh vực di động, laptop, an ninh toàn cầu hay an ninh xã hội…
Kinh doanh: Cung cấp thông tin về thị trường kinh doanh, chiến lược cũngnhư phương hướng phát triển của các hang sản xuất công nghệ để phát triển,quảng cáo về sản phẩm của mình như Samsung, Sony, LG, Apple…
Sản phẩm mới: Cung cấp thông tin về các sản phẩm công nghệ mới trên cáclĩnh vực di động, laptop, đồng hò hay tivi
Thị trường: Cung cấp tin tức về các thị trường tiêu dùng, mua bán các sảnphẩm công nghệ, đặc biệt các sản phẩm mới ra hiện nay
Khoa học công nghệ: Các tin tức về nền khoa học công nghệ mới trong mọilĩnh vực của cuộc sống như du lịch, khoa học vũ trụ hay chỉ là các côngnghệ áp dụng trong cuộc sống của chúng ta
Di động: Các tư vấn, tin tức về các phần mềm hữu ích trên di động chochúng ta, các tin tức về hệ điều hành hay thay đổi phần mềm, cập nhật trêncác ứng dụng di động
Âm thanh: Các tin tức, tư vấn về các sản phẩm âm thanh tương thích với cácthiết bị công nghệ, các sản phẩm âm thanh mới ra mắt hay các tư vấn để
32
Trang 33người dùng lựa chọn được những sản phẩm âm thanh mang sắc thái choriêng mình.
Máy tính: Các tư vấn về các thủ thuật, phần mềm hữu ích cho laptop, cácthông tin cần thiết để máy tính của bạn hoạt động tốt hơn và hiệu quả hơn
Đồ gia dụng: Các tư vấn về các đồ dùng trong gia đình, cách lựa chọn mua
đồ dùng công nghệ sao cho phù hợp giá tiền mà lại tốt, cách chọn các sảnphẩm tốt để có thể sử dụng
Trang 34Xây dụng website đánh giá và tư vấn sản phẩm công nghệ
3.2 Phân tích chức năng của hệ thống
3.2.1 Yêu cầu hệ thống
3.2.1.1 Yêu cầu chức năng
Bảng 3 1 Các yêu cầu chức năng