Professional Documents
Culture Documents
MỤC LỤC
Trang
LỜI NÓI ĐẦU 3
PHẦN I GIỚI THIỆU NGỒN NGỮ 4
CHƯƠNG I INTERNET VÀ CÔNG NGHỆ ASP.NET 4
I.GIỚI THIỆU VỀ INTERNET INFORMATION SERVER 4
Giới thiệu về Internet Information Server (IIS) 4
II.GIỚI THIỆU VỀ NGÔN NGỮ ASP.NET 5
1.Mở đầu về ASP.NET 5
2.Những điểm khác biệt của ASP và ASP.NET 7
CHƯƠNG II NGÔN NGỮ LẬP TRÌNH C# 11
I. TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH C# 11
II.TẠI SAO PHẢI SỬ DỤNG NGÔN NGỮ C# 12
CHƯƠNG III NGÔN NGỮ SQL VÀ CƠ SỞ DỮ LIỆU SQL SERVER
I.CÁC ĐỐI TƯỢNG TRONG HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU SQL
SERVER 14
1.Bảng (Table) : 14
2.Khung nhìn dữ liệu (View) : 14
3.Chỉ số của bảng (Index) : 14
4.Thủ tục lưu trữ (Store procedure) : 14
5.Trigger : 14
II.NGÔN NGỮ CƠ SỞ DỮ LIỆU SQL : 15
1.Định nghĩa 15
2.Cách sử dụng ngôn ngữ SQL 15
III.TÍNH TOÀN VẸN VÀ BẢO MẬT : 15
PHẦN II PHÂN TÍCH THIẾT KÊ WEBSITE ALBUM
CHƯƠNG I KHẢO SÁT HỆ THỐNG 17
I.NÊU BÀI TOÁN 17
II. CÁC VẤN ĐỀ CHÍNH VÀ PHẠM VI GIẢI QUYẾT CỦA BÀI
TOÁN 17
CHƯƠNG II PHÂN TÍCH HỆ THỐNG VỀ CHỨC NĂNG
I. SƠ ĐỒ CHỨC NĂNG CỦA HỆ THỐNG 19
1
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
2
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
Với công nghệ thông tin đang phát triển, giúp cho con người có thể
chuyển tải thông tin với khoảng cách rất xa trong thới gian ngắn, đặc biệt
là có thể lưu trữ thông tin trên mạng.
Xuất phát từ ý tưởng xây dựng một website để lưu lại những bức
ảnh đẹp và những gợi ý của thầy Nguyễn Đức Tuấn em đã lựa chọn bài
tập với đề tài “Xây dựng Website Album ”.
Với Website Album, người dùng có thể truy cập, đăng ký tài khoản
và sử dụng website để lưu những tấm ảnh mà mình thích nhất. Ngoài ra,
người dùng có thể lưu ảnh theo thời gian hay sự kiện đáng nhớ (Album),
một Album có thể có nhiều Album khác, có thể viết lời tựa cho bức ảnh
hoặc Album.
Người dùng có thế thay đổi tựa đề của Album hoặc của bức ảnh nếu
thấy không phù hợp và có thể xóa bỏ khi không cần thiết.
Trong quá trình làm bài, em xin chân thành cảm ơn thầy Nguyễn
Đức Tuấn người đã hết lòng giúp đỡ em trong suốt quá trình thực hiện và
hoàn thành bài tập tốt nghiệp này.
Xin chân thành cảm ơn tất cả các ý kiến đóng góp và sự giúp đỡ của
bạn bè đối với bài tập tốt nghiệp này
PHẦN I
GIỚI THIỆU NGỒN NGỮ
CHƯƠNG I
INTERNET VÀ CÔNG NGHỆ ASP.NET
I_ GIỚI THIỆU VỀ INTERNET INFORMATION SERVER(IIS ):
3
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
IIS - Viết tắt của Microsoft Internet Information Services (các dịch vụ cung
cấp thông tin Internet) là các dịch vụ dành cho máy chủ chạy trên nền Hệ điều
hành Window nhằm cung cấp và phân tán các thông tin lên mạng, nó bao gồm
nhiều dịch vụ khác nhau như Web Server, FTP Server,... Nó có thể được sử
dụng để xuất bản nội dung của các trang Web lên Internet/Intranet bằng việc sử
dụng “Phương thức chuyển giao siêu văn bản“ - Hypertext Transport Protocol
(HTTP). Như vậy, sau khi bạn thiết kế xong các trang Web của mình, nếu bạn
muốn đưa chúng lên mạng để mọi người có thể truy cập và xem chúng thì bạn
phải nhờ đến một Web Server, ở đây là IIS. Nếu không thì trang Web của bạn
chỉ có thể được xem trên chính máy của bạn hoặc thông qua việc chia sẻ tệp
(file sharing) như các tệp bất kỳ trong mạng nội bộ mà thôi.
Nhiệm vụ của IIS là tiếp nhận yêu cầu của máy trạm và đáp ứng lại yêu cầu
đó bằng cách gửi về máy trạm những thông tin mà máy trạm yêu cầu. Có thể sử
dụng IIS để:
• Xuất bản một Website của bạn trên Internet
• Tạo các giao dịch thương mại điện tử trên Internet (hiện các catalog và
nhận được các đơn đặt hàng từ nguời tiêu dùng)
• Chia sẻ file dữ liệu thông qua giao thức FTP.
• Cho phép người ở xa có thể truy xuất database của bạn (gọi là Database
remote access). Và rất nhiều khả năng khác ...
IIS sử dụng các giao thức mạng phổ biến là HTTP (Hyper Text Transfer
Protocol) và FPT (File Transfer Protocol) và một số giao thức khác như SMTP,
POP3,... để tiếp nhận yêu cầu và truyền tải thông tin trên mạng với các định
dạng khác nhau. Một trong những dịch vụ phổ biến nhất của IIS mà chúng ta
quan tâm trong giáo trình này là dịch vụ WWW (World Wide Web), nói tắt là
dịch vụ Web. Dịch vụ Web sử dụng giao thức HTTP để tiếp nhận yêu cầu
4
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
(Requests) của trình duyệt Web (Web Browser) dưới dạng một địa chỉ URL
(Uniform Resource Locator) của một trang Web và IIS phản hồi lại các yêu cầu
bằng cách gửi về cho Web Browser nội dung của trang Web tương ứng.
II.GIỚI THIỆU VỀ NGÔN NGỮ ASP.NET
1.Mở đầu về ASP.NET
ASP.NET có rất nhiều tính năng mới cho nhà phát triển ứng dụng Web
kể cả mã phía server được biên dịch, một kỹ thuật được gọi là code bihind để
tách biệt logic phía server với layout (bố cục) phía client, một mô hình điều
khiển phía server mở rộng, một mô hình liên kết dữ liệu tốt và dễ sử dụng, sự
triển khai và và sự hỗ trợ xcopy cho sự hiệu lực hóa form trên các client và
server. Hơn thế nữa, ASP.NET mang đến cho chúng ta sự hợp nhất : sự hợp
nhất giữa các ngôn ngữ, công cụ, thư viện, mô hình triển khai, thiết kế và chuẩn
đoán hệ thống. Các nhà phát triển ứng dụng Web không còn cần phân biệt giữa
các thành phần (component) được sử dụng bởi các trang của họ và các thành
phần được sử dụng ở nơi khac trong cấu trúc của họ. Họ không còn phải làm
việc với một trình gỡ rối script để chuẩn đoán các sự cố trong các trang của họ.
Họ không gặp phải những điều phức tạp thường khó hiểu của những ngôn ngữ
tạo script không được định kiểu và bây giờ có thể sử dụng bất kỳ ngôn ngữ
.NET nào mà họ thích trong việc tạo các trang của mình.Việc tạo các ứng dụng
Web bây giờ cũng giống như bất kỳ sự phát triển phầm mềm khác trên nền
.NET
Về cốt lõi, ASP.NET là một tập hợp các lớp .NET làm việc cùng với
nhau để phục vụ yêu cầu của HTTP. Một số lớp (class) này được định nghĩa
trong các Assembly hệ thống như một phần của các thư viện lớp cơ sở vốn
được cài đặt với runtime.NET, một số lớp này có thể được đặt trong các
assembly được triển khai trong GAC (Global Assembly Cache) và một số lớp
5
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
này được tải từ assembly cục bộ vốn ở trong thư mục ảo được liên kết với ứng
dụng này. Tất cả những lớp này được tải vào một miền (domain) ứng dụng
trong tiến trình làm việc ASP.NET và tương tác để tạo một thông báo phản hồi
cho một yêu cầu đã cho.
Mặc dù ASP.NET về mặt kỹ thuật không được gọi là ASP 4.0 nhưng
theo nhiều cách thì nó là như thế - phiên bản kế tiếp của ASP. Trong ASP.NET,
chúng ta không còn bị giới hạn chỉ trong hai ngôn ngữ tao script có sẵn trong
ASP truyền thống:VBScript và Jscript. Bất kỳ một ngôn ngữ .NET hoàn toàn
tương thích bây giờ có thể được sử dụng với ASP.NET, kể cả C# và VB.NET.
Minh họa một trang .aspx mẫu:
<!-- File : test.aspx-->
<%@ Page Language = ‘C#’ %>
<script runat = ‘server’>
int Add(int x, int y)
{
return x+y ;
}
</script>
<html><body>
<h1> Test ASP.NET Page </h1>
<h2> 2+2 = <%=Add(2,2)%></h2>
<table border = 2>
<%
For (int i=0; i<10; i++){
%>
6
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
7
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
lập trình viên phải làm. ASP.NET cung cấp các thành phần điều khiển hoạt
động phía trình chủ (server side control) hoạt động theo hướng xử lý sự kiện.
Mọi việc kiểm soát trạng thái và tương tác với các thành phần điều khiển đểu
được trình chủ Web Server với kiến trúc ASP.NET lo liệu.
Visual Studio .Net của Microsoft là một công cụ tuyệt vời xây dựng các
ứng dụng Web đặc biệt là ASP.NET.Môi trường lập trình mới của Windows
không phân biệt ngôn ngữ. ASP.NET có thể viết bằng bất kì ngôn ngữ nào có
trong Visual Studio.
Những điểm mới của ASP.NET
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.Đặc điểm này
làm giảm thiểu quá trình viết mã. Lập trình trong môi trường ASP.NET giống
như lập trình thiết kế Form trong VB do đó các ứng dụng trong ASP.NET gọi là
Web Forms.
HTML Server Side Controls : Các thành phần điều khiển HTML 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ách
hoạt động của chúng phía trình khách .Những thành phần điều khiển này cho
phép kết hợp mã xử lý 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 ra trên trình chủ.
Web Service :Trang ASP.NET của bạn có thể không cần hiển thị kiết
xuất cho trình khách .Chúng hoạt động như những chương trình xử lý hậu cảnh.
Tự đông quản lý trạng thái của đối tượng Session và Application: Cho
phép lưu nội dung của Session hay Application của một ứng dụng đặc thù nào
đó xuống các file trên đĩa để sử dụng lại.
Xử lý lỗi , debug và lần vết (tracing): Các công cụ gỡ lỗi, lần vết thông
tin được nâng cấp đáng tin cậy hơn.Mỗi trang tài liệu có thể sử dụng một trang
8
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
xử lý lỗi riêng biệt và kiết xuất nội dung của biến để theo dõi ngay trong quá
trình thực thi trang.
Tùy biến vùng đệm trên trình chủ (Custom Server Caching):Vùng đệm
của ASP.NET được quản lý rất linh động.
Một tập các đối tượng phong phú: ASP.NET hỗ trợ các thư viện lớp và
các đối tượng phục vụ cho hầu hết những gì mà các nhà phát triển cẩn dụng
đến. Vì vậy làm đơn giản hóa công việc viết ứng dụng cho Web.
Các đối tượng nội tại như Request, Response, Form, Cookies, Server
Variables đểu được giữ lại và hoàn toàn tương thích với ASP. Tuy nhiên
ASP.NET cung cấp cho các đối tượng này nhiều thuộc tính và phương thức mới
giúp nâng cao khả năng xử lý lỗi của chúng.
Các thành phần điều khiển trong ASP.NET
Điều khiển nội tại (intrinsic control)
Các điều khiển này tạo ra những phần tử kiểu HTML phía trình khách.
Các phần tử HTML được coi là điểu khiển nội tại : <table> <tr> <th> <td>
<form> <input> <select> <textarea> <button> <a> <img>
Điều khiển danh sách(list control)
Thành phần điều khiển này cho phép hiển thị mọi loại dữ liệu kiểu danh
sách như các bảng dữ liệu (table), khung nhìn(view), liệt kê…Điều khiển danh
sách chuẩn gồm các thành phần sau: Repeater, Datalist và DataGrid.
Điều khiển Repeater là thành phần đơn giản cho phép kết xuất những nội
dung lặp lại với cùng một định dạng, font chữ, màu sắc…
DataList giống như Repeater nhưng cho phép thêm vào các phần tử điều
khiển HTML khác để biểu diễn cho dữ liệu lặp lại.
DataGrid là khung lưới hay bảng dùng để trình bày dữ liệu theo định
dạng hàng và cột, có thể dùng DataGrid để định dạng các dòng hoặc cột dữ liệu
9
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
giống như bảng tính của Excel và kiết xuất cuối cùng hoàn toàn là mã HTML
tương thích với hầu hết các trình duyệt
Ngoài ra còn có 2 điều khiển danh sách khác là RadioButtonList và
CheckBoxList để tạo các nút chọn.
Điểu khiển kiểm tra(validate control)
ASP.NET cung cấp các điều khiển kiểm tra gọi là Validation Control có
thể dùng để sinh mã kiểm tra ở cả hai phía Client và Server .
Có 3 điều khiển :
RequeredFieldValidator: dùng kiểm tra giá trị bắt buộc của trường
ComparedValidator : Kiểm tra giá trị thông qua so sánh với giá trị khác.
RegularExpressionValidator : Kiểm tra tính hợp lệ của dữ liệu.
Ngoài ra còn có các điều khiển CustomValidator để cài đặt bộ kiểm tra
dữ liệu cho riêng mình bằng các hàm JavaScript hoăc Visual Basic…,
ValidationSummary sẽ kiểm tra tất cả các thành phần điều khiển của Validator
và in kết quả nếu một điều khiển nào không thỏa mãn điều kiện kiểm tra.
Mỗi điều khiển Validator được liên kết với một thành phần HTML thông
qua thuộc tính của phần tử.
CHƯƠNG II
NGÔN NGỮ LẬP TRÌNH C#
I. TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH C#
Ngôn ngữ C# khá đơn giản, chỉ khoảng 80 từ khóa và hơn mười mấy kiểu
dữ liệu được xây dựng sẵn. Tuy nhiên, ngôn ngữ C# có ý nghĩa cao 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ìnhhướ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. Và ngôn ngữ C# hội đủ những điều
10
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
kiện như vậy, hơn nữa nó được xây dựng trên nền tảng của hai ngôn ngữ mạnh
nhất là C++ và Java.
Ngôn ngữ C# được phát triển bởi đội ngũ kỹ sư của Microsoft, trong đó
người dẫn đầu là Anders Hejlsberg và Scott Wiltamuth. Cả hai người này điều
là những người nổi tiếng, trong đó Anders Hejlsberg được biết đến là tác giả
của Turbo Pascal, một ngôn ngữ lập trình PC phổ biến. Và ông đứng đầu nhóm
thiết kế Borland Delphi, một trong những thành công đầu tiên của việc xây
dựng môi trường phát triển tích hợp (IDE) cho lập trình client/server.
Trong ngôn ngữ C# mọi thứ liên quan đến khai báo lớp điều được tìm thấy
trong phần khai báo của nó. Định nghĩa một lớp trong ngôn ngữ C# không đoi
hỏi phải chia ra tập tin header và tập tin nguồn giống như trong ngôn ngữ C++.
Hơn thế nữa, ngôn ngữ C# hỗ trợ kiểu XML, cho phép chèn các tag XML để
phát sinh tự động các document cho lớp.
C# cũng hỗ trợ giao diện interface, nó được xem như một cam kết với một
lớp cho những dịch vụ mà giao diện quy định. Trong ngôn ngữ C#, một lớp chỉ
có thể kế thừa từ duy nhất một lớp cha, tức là không cho đa kế thừa như trong
ngôn ngữ C++, tuy nhiên một lớp có thể thi nhiều giao diện. Khi một lớp thực
thi một giao diện thì nó sẽ hứa là nó sẽ cung cấp chức năng thực thi giao diện.
Trong ngôn ngữ C#, những cấu trúc cũng được hỗ trợ, nhưng khái niệm về
ngữ nghĩa của nó thay đổi khác với C++. Trong C#, một cấu trúc được giới hạn,
là kiểu dữ liệu nhỏ gọn, và khi tạo thể hiện thì nó yêu cầu ít hơn về hệ điều
hành và bộ nhớ so với một lớp. Một cấu trúc thì không thể kế thừa từ một lớp
hay được kế thừa nhưng một cấu trúc có thể thực thi một giao diện.
II.TẠI SAO PHẢI SỬ DỤNG NGÔN NGỮ C#
11
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
Nhiều người tin rằng không cần thiết có một ngôn ngữ lập trình mới. Java,
C++, Microsoft Visual Basic, và những ngôn ngữ khác được nghĩ rằng đa cung
cấp tất cả những chức năng cần thiết.
Ngôn ngữ C# là một ngôn ngữ được dẫn xuất từ C và C++, nhưng nó được
tạo từ nền tảng phát triển hơn. Microsoft bắt đầu với công việc trong C và C++
và thêm vào những đặc tính mới để làm cho ngôn ngữ này dễ sử dụng hơn.
Nhiều trong số những đặc tính này khá giống với những đặc tính có trong ngôn
ngữ Java. Không dừng lại ở đó, Microsoft đưa ra một số mục đích khi xây dựng
ngôn ngữ này. Những mục đích này được được tóm tắt như sau:
• 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ữ có ít từ khóa
• C# là ngôn ngữ hướng module
• C# sẽ trở nên phổ biến
CHƯƠNG III
NGÔN NGỮ SQL VÀ CƠ SỞ DỮ LIỆU SQL SERVER
TỔNG QUAN VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU SQL SERVER
SQL là ngôn ngữ truy vấn có cấu trúc, là viết tắt của cụm từ Structure Query
Language. Có nghĩa là SQL chỉ làm việc với những dữ liệu có cấu trúc dạng
bảng (table) như của Foxpro, DBase, Access ...
Trên lĩnh vực đang phát triển hiện nay là Internet, ngôn ngữ SQL được sử
dụng để nhanh chóng tạo ra các trang Web động (Dynamic Web Page). Trang
12
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
Web động thường có nội dung được lấy ra từ Cơ sở dữ liệu SQL có thể được sử
dụng như một chất keo kết dính giữa Cơ sở dữ liệu và trang Web. Khi người
dùng yêu cầu, SQL sẽ thực hiện việc truy cập thông tin trong Cơ sở dữ liệu trên
máy chủ và hiển thị kết quả trên trang Web. Và SQL cũng là công cụ để cập
nhật thông tin cho Cơ sở dữ liệu đó.
SQL Server 2000 là một phần mềm sử dụng ngôn ngữ SQL. Là hệ thống
quản lý cơ sở dữ liệu (Relational Database Management System - RDBMS ) sử
dụng Transact-SQL để trao đổi dữ liệu giữa Client computer và SQL Server
computer. Một RDBMS bao gồm databases, database engine và các ứng dụng
dùng để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS.
SQL Server 2000 được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu
rất lớn (Very Large Database Environment) lên đến Tera-Byte và có thể phục
vụ cùng lúc cho hàng ngàn user. SQL Server 2000 có thể kết hợp "ăn ý" với các
server khác như Microsoft Internet Information Server (IIS), E-Commerce
Server, Proxy Server....
SQL Server là một cơ sở dữ liệu Client/Server. Nó có hai chức năng chính :
• Chứa dữ liệu người dùng nhập vào
• Xử lý các yêu cầu gửi tới thông qua ngôn ngữ truy vấn cơ sở dữ liệu và trả
13
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
14
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
gọi đây là ngôn ngữ phi thủ tục, nghĩa là người sử dụng sử dụng các câu lệnh
của ngôn ngữ để xác định dữ liệu nào họ muốn mà không cần biết dữ liệu này
được tìm như thế nào.
2.Cách sử dụng ngôn ngữ SQL : có 2 cách
Sử dụng tương tác : người sử dụng gửi câu lệnh tới và được hệ quản trị
cơ sở dữ liệu thực thi ngay và kết quả được trả về cho người sử dụng
Nhúng các câu lệnh SQL vào trong chương trình, các chương trình này
có thể viết bằng các ngôn ngữ khác nhau, ưu điểm của phương pháp này là
được thực hiện nhanh và tăng tính mềm dẻo.
15
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
PHẦN II
PHÂN TÍCH THIẾT KÊ WEBSITE ALBUM
CHƯƠNG I
KHẢO SÁT HỆ THỐNG
I.NÊU BÀI TOÁN
16
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
Hiện nay, cùng với sự phát triển không ngừng của kỹ thuật máy tính ,
mạng điện tử , công nghệ thông tin .Mạng Internet là một trong những sản
phẩm có giá trị hết sức to lớn của công nghệ thông tin ,và ngày càng trở thành
công cụ không thể thiếu , là nền tảng cho sự truyền tải và trao đổi thông tin trên
toàn cầu .Ngày nay, các hoạt động giải trí, văn hóa , thể thao , thương mại…
dần được đưa lên trên mạng và ngày càng chứng tỏ hiệu quả của Internet trong
việc chia sẻ thông tin .
Với bài tập này, em xin trình bày đơn giản một website giúp cho người
dùng có thể thao tác lưu, sửa hoặc xóa các file ảnh của mình ….
II. CÁC VẤN ĐỀ CHÍNH VÀ PHẠM VI GIẢI QUYẾT CỦA BÀI TOÁN
Website được xây dựng nhằm cung cấp cho người sử dụng một công cụ
để tạo chọ mình một góc riêng lưu lại những kỷ niệm cùng bạn bè và người
thân bằng cách lưu những tấm hình kỷ niệm vào trong hệ thống cơ sở dữ liệu
của trang web. Khi cần người dùng có thể xem lại hay thay đổi thông tin mà
mình mong muốn.
Do trang web được thiết kế cho người dùng tự quản lý phần dữ liệu ảnh
của mình thông qua tên đăng nhập và mật khẩu của người dùng khi đăng ký sử
dụng nên hệ thống chỉ phục vụ người dùng khi đã truy nhập Website thành
công bằng tên đăng nhập và mật khẩu của mình.
Hệ thống cho phép người dùng có thể lưu lại những bức ảnh theo thời
gian hoặc sự kiện đáng nhớ của mình vào một Album do chình mình tạo ra.
Người dùng có thể sửa các thông tin của ảnh như tựa đề hoặc ngày chụp ảnh
cho phù hợp, và có thể xóa ảnh đi khi nó quá cũ hoặc không muốn nhớ đến nó
nữa.
Hệ thống còn cho người dùng biết dung lượng, kính thước bức ảnh mà họ
lưu trên website.
17
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
CHƯƠNG II
PHÂN TÍCH HỆ THỐNG VỀ CHỨC NĂNG
I. SƠ ĐỒ CHỨC NĂNG CỦA HỆ THỐNG
Sơ đồ phân rã chức năng
18
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
W E B S IT E
A LB U M
T hêm m ớ i
Tạo m ớ i S ử a th ô n g tin S ử a thông
X ó a A lb u m Ả nh v ào X óa Ả nh T ìm k iế m ả n h
A lb u m v ề A lb u m t in c ủ a Ả n h
A lb u m
2) Quản lý Ảnh
+ Kho dữ liệu
tblUsers
19
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
Kho Album
Kiểmtra tài
khoản
3) Quản lý Album người dùng
Người dùng
20
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
Người dùng
Thông tin
cần thêm
Thông báo
Thông báo
Thông báo Albumcần
Thông tin
xóa
cần sửa
Kho Album
Thông báo
Thông báo Thông báo
Thông tin
cần sửa Ảnh cần
xóa
2.1) Thêm ảnh 2.4) Tìm kiếm
mới ảnh
2.2) Sửa thông
tin ảnh 2.3) Xóa ảnh
Ko Ảnh
21
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
• Người sử dụng (Mã người dùng, tên truy cập, mật khẩu, Địa chỉ Email)
• Ảnh (Mã Ảnh, tên ảnh, tiêu đề, ngày chụp, ngày đăng, chiều dài, chiều
rộng, dung lượng ảnh)
• Album (Mã Album, tên Album, lời tựa cho album, ngày tạo)
5. Quan hệ các bảng trong cơ sở dữ liệu
CHƯƠNG III
22
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
THIẾT KẾ HỆ THỐNG
I.CÁC TIẾN TRÌNH QUAN TRỌNG
1.Tiến trình đăng kí tài khoản người sử dụng
Dữ liệu vào
Thông tin cá nhân của người dùng: Email
Thông tin về tài khoản cần đăng kí:Tên truy cập, Mật khẩu
Dữ liệu ra
Thông báo đăng kí thành công nếu dữ liệu hợp lệ
Thông báo không đăng kí được
Mô tả tiến trình
Kiểm tra Email đã tồn tại chưa
Nếu đã tồn tại thì yêu cầu nhập Email khác
Lưu thông tin vào kho nhà quản trị
Kiểm tra tên đăng nhập đã tồn tại chưa
Nếu đã tồn tại thì yêu cầu nhập tên khác
Lưu thông tin vào kho nhà quản trị
Thông báo đăng kí thành công
2.Tiến trình sửa đổi tài khoản người sử dụng
Dữ liệu vào
Thông tin cá nhân của người sử dụng cần sửa: Email
Thông tin mới của tài khoản người sử dụng: Mật khẩu, Tên truy cập
Dữ liệu ra
Thông báo sửa đổi thành công
Thông báo cho người dùng biết nếu không sửa đổi được
Mô tả tiến trình
Kiểm tra tên đăng nhập đã tồn tại chưa
23
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
24
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
Truyền ID của ảnh sang trang sửa ảnh và lưu vào biến ID_Image;
Mở trang sửa
Đóng tất cả các kết nối đang mở;
Tạo truy vấn Select tới bảng tblImage với điều kiện:
iImageID = ID_Image;
Mở kết nối thực hiện truy vấn ;
Lấy ra các thông tin đã lưu của Ảnh để hiện lên trang sửa;
25
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
Else
Thông báo lỗi;
Return Sửa lại các dữ liệu lỗi;
Đóng các kết nối;
c) Xóa Ảnh
• Mở trang Hiển thị Ảnh;
• Repeat:
+ Chọn Ảnh cần xóa;
+ Lấy ID của ảnh đó lưu vào ID_Image;
+ Tạo truy vấn Delete tới tblImage:
+ Mở kết nối thực hiện truy vấn ;
+ Xóa file ảnh trùng tên được lưu trên host.
+ If (thành công) then
Thông báo “Xóa thành công”;
Else
Thông báo “Không thành công”
+ Đóng các kết nối;
Until (Đóng trang duyệt Tour)
4.Tiến trình Tìm kiếm Ảnh
Dữ liệu vào
Thông tin cần tìm kiếm: Những bức ảnh mình có
Thông tin tìm kiếm(từ khóa)
Dữ liệu ra
Thông tin về Ảnh
Thông báo kết quả nếu không tìm thấy
Mô tả tiến trình
26
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
Repeat :
Lựa chọn các thông tin tìm kiếm
Kiểm tra tính hợp lệ của dữ liệu
If(hợp lệ ) then
Tạo truy vấn tới tblImage
Mở kết nối
Nếu(kết quả khác rỗng)
Duyệt danh sách các thông tin trong cơ sở dữ liệu
Đưa ra danh sách các thông tin đã tìm thấy ra ngoài
Nếu (kết quả =rỗng)
Đưa ra thông báo nếu không tìm thấy các thông tin liên quan
Đóng kết nối
Else
Thông báo dữ liệu không hợp lệ
Hiện trang tìm kiếm
Until(Kết thúc tìm kiếm)
II.MÔ TẢ CHI TIẾT CÁC LỚP ĐỐI TƯỢNG CHÍNH VÀ QUAN HỆ
TRONG CƠ SỞ DỮ LIỆU
1. tblUsers
Chứa các thông tin về người đăng ký là thành viên của trang web.
Bảng gồm các trường User, Password, Email là các thông tin mà người
đăng ký thành viên phải nhập đầy đủ khi đăng ký thành viên
2. tblImage
27
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
Chứa các thông tin về bức ảnh mà người dùng up lên trang web
Column name Data Type Description
PK_iImageID int Khóa chính ,tự tăng khi thêm bản ghi mới
FK_iAlbumID int Khóa ngoại liên kết với ID_Album tblAlbum
sImgTitle nvarchar(50) Tựa đề của ảnh
sImgDate Varchar(30) Ngày tạo ảnh
sImgImage varchar(30) Đường dẫn đến ảnh
sCreateImage varchar(30) Ngày chụp ảnh
iHeight Int Chiều cao của ảnh
iWidth Int Độ rộng của ảnh
iSize Int Dung lượng ảnh
3. tblAlbum
Chứa thông tin về Album được tạo.
Column name Data Type Description
PK_iAlbumID int Khóa chính ,tự tăng khi thêm bản ghi mới
sAlbContent ntext Nội dung album
sAlbTitle nvarchar(50) Tiêu đề album
SK_iAlbum Int Khóa xác định album có là album con hay ko và
là album con của album nào.
sCreateAlbum varchar(50) Ngày tạo album
4.tblUser_Album
Chứa thông tin về album, lưu Album nào, của ai….
Column name Data Type Description
PK_iUserAlbumID int Khóa chính ,tự tăng khi thêm bản ghi mới
FK_iUserID Int Khóa ngoại liên kết với ID_User tblUser
FK_iAlbumID Int Khóa ngoại liên kết với ID_Album tblAlbum
28
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
3.Giao diện hiển thị khi người dùng đăng nhập thành công
29
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
30
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
31
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
TRONG HỆ THỐNG
1. Một số hàm hệ thống
32
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
33
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
bool bl=false;
String[] allowedExtensions =
{ "gif", "png", "jpeg", "jpg" };
if (s.IndexOf('.') == -1)
{
bl = false;
}
else
{
String[] split = s.Split(new Char[] { '.' });
for (int i = 0; i < allowedExtensions.Length; i++)
{
if (split[split.Length-1] == allowedExtensions[i])
{
bl = true;
}
}
}
return bl;
}
34
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
using System.Data;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
35
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
args.IsValid = true;
}//??DataAdapter tu mo*
}
}
}
}
protected void btnDangky_Click(object sender, EventArgs e)
{
if (!fun.checkString(txtUserName.Text.ToString().Trim()))
{
lbLoi.Text = "Tên đăng nhập không được có ký tự đặc biệt";
}
else
{
if (txtUserName.Text.Trim().Length < 6)
lbLoi.Text = "Tên đăng nhập phải nhiều hơn 5 ký tự!";
else
{
try
{
if (!Page.IsValid)
return;
using(SqlConnection Cnn=new SqlConnection(n_ConnectionString))
{
int iRet = 0;
using (SqlCommand Cmd = Cnn.CreateCommand())
{
Cmd.CommandType = CommandType.StoredProcedure;
Cmd.CommandText = "spUsers_Insert ";
Cmd.Parameters.AddWithValue("@sUserName", txtUserName.Text);
Cmd.Parameters.AddWithValue("@sPassword", txtPassword.Text);
Cmd.Parameters.AddWithValue("@sEmail", txtEmail.Text);
Cnn.Open();
iRet = Cmd.ExecuteNonQuery();
if (iRet != 0)
lblThongbao.Text = "Bạn đã đăng ký thành công!";
Reset();
Cnn.Close();
}
}
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
}
}
36
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
37
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
38
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
Response.Redirect(".//chitiet.aspx");
}
}
39
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
Cnn.Close();
}
return iLastAlbumId;
}
private bool checkIDAlbum(ref SqlConnection Cnn, int IDAlbum)
{
bool bl;
String sql = "select * from tblAlbum where PK_iAlbumID =" +
this.ID_Alb + "";
using (SqlCommand cmd = Cnn.CreateCommand())
{
cmd.CommandType = CommandType.Text;
cmd.CommandText = sql;
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
bl = true;
else bl = false;
dr.Close();
}
return bl;
}
}
4. Modul cập nhật ảnh
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Drawing;
40
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
{
if (Session["sUserName"] == null)
{
Response.Redirect(".//Default.aspx");
}
else
{
ID_Alb =
Convert.ToInt32(Request.QueryString["AID"].ToString());
}
}
41
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
Cmd.Parameters.AddWithValue("@sImgDate",
DateTime.Now.ToString("dd/MM/yyyy"));
Cmd.Parameters.AddWithValue("@sImgImage",
FileUploadImage.FileName.ToString());
Cmd.Parameters.AddWithValue("@sCreateImage",
txtDateCreate.Text.ToString()+"/"+
txtMonthCreate.Text.ToString()+"/"+
txtYearCreate.Text.ToString());
Cmd.Parameters.AddWithValue("@iHeight",
img.Size.Height.ToString());
Cmd.Parameters.AddWithValue("@iWidth",
img.Size.Width.ToString());
Cmd.Parameters.AddWithValue("@iSize",
FileUploadImage.PostedFile.ContentLength / 1024);
Cmd.ExecuteNonQuery();
lbloi.Text = "Thành công";
Reset();
Cnn.Close();
}
}
}
}
}
V. KẾT LUẬN
42
Báo cáo đồ án tốt nghiệp Khoa Công Nghệ Tin Học
Qua bài tập thi tốt nghiệp này đã giúp em tổng hợp lại tất cả các kiến
thức học trên ghế nhà trường trong suốt 4 năm qua. Bài tập tuy không lớn
nhưng đã cho em một lượng kiến thức không ít về công cụ hỗ trợ lập trình
ASP.NET và sẽ rất có ích cho em sau khi ra trường và đi làm.
Trong quá trình làm bài, em đã được thầy hướng dẫn và các bạn chỉ và
sửa cho những chỗ sai hoặc thiếu sót trong quá trình làm bài.
Một lần nữa em xin cảm ơn thầy Nguyễn Đức Tuấn người đã hết lòng
giúp đỡ em trong suốt quá trình thực hiện và hoàn thành bài tập tốt nghiệp
này.
Xin chân thành cảm ơn tất cả các ý kiến đóng góp và sự giúp đỡ của
bạn bè đối với bài tập tốt nghiệp này
43